TokenController
TokenController
TokenController at token-bridge v2.7.0 is inherited by the destination-chain XVS token; it is not deployed separately. Its mint accounting is per authorized minter. minterToMintedAmount increases when that minter mints and decreases when it burns.
TokenController contract acts as a governance and access control mechanism, allowing the owner to manage minting restrictions and blacklist certain addresses to maintain control and security within the token ecosystem. It provides a flexible framework for token-related operations.
Solidity API
accessControlManager
Access control manager contract address.
address accessControlManagerminterToCap
A mapping is used to keep track of the maximum amount a minter is permitted to mint.
mapping(address => uint256) minterToCapminterToMintedAmount
A Mapping used to keep track of the amount i.e already minted by minter.
mapping(address => uint256) minterToMintedAmountpause
Pauses Token
⛔️ Access Requirements
Controlled by AccessControlManager.
unpause
Resumes Token
⛔️ Access Requirements
Controlled by AccessControlManager.
updateBlacklist
Function to update blacklist.
Parameters
user_
address
User address to be affected.
value_
bool
Boolean to toggle value.
📅 Events
Emits BlacklistUpdated event.
⛔️ Access Requirements
Controlled by AccessControlManager.
setMintCap
Sets the minting cap for minter.
Parameters
minter_
address
Minter address.
amount_
uint256
Cap for the minter.
📅 Events
Emits MintCapChanged.
⛔️ Access Requirements
Controlled by AccessControlManager.
setAccessControlManager
Sets the address of the access control manager of this contract.
Parameters
newAccessControlAddress_
address
New address for the access control.
📅 Events
Emits NewAccessControlManager.
⛔️ Access Requirements
Only owner.
❌ Errors
ZeroAddressNotAllowed is thrown when newAccessControlAddress_ contract address is zero.
migrateMinterTokens
Moves the full recorded minted amount from one minter's accounting bucket to another. The destination minter must already have enough cap, the addresses must differ, and the operation does not move ERC-20 balances.
Parameters
source_
address
Minter whose recorded minted amount is cleared
destination_
address
Minter that receives the recorded minted amount
Access requirements
Controlled by AccessControlManager using
migrateMinterTokens(address,address).
isBlackListed
Returns the blacklist status of the address.
Parameters
user_
address
Address of user to check blacklist status.
Return Values
[0]
bool
bool status of blacklist.
Last updated

