All pages
Powered by GitBook
1 of 1

Loading...

TokenController

TokenController

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.


minterToCap

A mapping is used to keep track of the maximum amount a minter is permitted to mint.


minterToMintedAmount

A Mapping used to keep track of the amount i.e already minted by minter.


pause

Pauses Token

⛔️ Access Requirements

  • Controlled by AccessControlManager.


unpause

Resumes Token

⛔️ Access Requirements

  • Controlled by AccessControlManager.


updateBlacklist

Function to update blacklist.

Parameters

Name
Type
Description

📅 Events

  • Emits BlacklistUpdated event.

⛔️ Access Requirements

  • Controlled by AccessControlManager.


setMintCap

Sets the minting cap for minter.

Parameters

Name
Type
Description

📅 Events

  • Emits MintCapChanged.

⛔️ Access Requirements

  • Controlled by AccessControlManager.


setAccessControlManager

Sets the address of the access control manager of this contract.

Parameters

Name
Type
Description

📅 Events

  • Emits NewAccessControlManager.

⛔️ Access Requirements

  • Only owner.

❌ Errors

  • ZeroAddressNotAllowed is thrown when newAccessControlAddress_ contract address is zero.


isBlackListed

Returns the blacklist status of the address.

Parameters

Name
Type
Description

Return Values

Name
Type
Description

user_

address

User address to be affected.

value_

bool

Boolean to toggle value.

minter_

address

Minter address.

amount_

uint256

Cap for the minter.

newAccessControlAddress_

address

New address for the access control.

user_

address

Address of user to check blacklist status.

[0]

bool

bool status of blacklist.

address accessControlManager
mapping(address => uint256) minterToCap
mapping(address => uint256) minterToMintedAmount
function pause() external
function unpause() external
function updateBlacklist(address user_, bool value_) external
function setMintCap(address minter_, uint256 amount_) external
function setAccessControlManager(address newAccessControlAddress_) external
function isBlackListed(address user_) external view returns (bool)