Privilege Functions
The contract has an Access Control mechanism. The access control of the contract governs which operations are allowed by who.
In the contract, there are the 3 access group ("priviledged groups") -
Minter Role - all addresses that have this role can mint new tokens.
Admin Role
Pauser Role - Pauser Role can pause the token transfer functions.
Minter Role Capabilities
public mint function - all the addresses with the minter role can mint new tokens.
function mint(address account, uint256 amount)
public
virtual
onlyRole(MINTER_ROLE)
According to the team, the mint function's purposes are:
DreamsQuest is a play-to-earn game, users earn $DREAMS token which will be minted.
Mint function will be used for cross-chain bridge and “mint preferred chain”.
Admin Role Capabilities
function burnFrom(address account, uint256 amount)
public
virtual
onlyRole(DEFAULT_ADMIN_ROLE)
burnFrom allows all the addresses with admin role to burn tokens on behalf of other addresses if the caller (the admin) has allowance to do that.
Pauser Role Capabilities
pause - can pause transfer and allowance functions
unpause - can unpause transfer and allowance functions.
Last updated