ProtocolToken
Inherits: ERC20, ERC20Permit, ERC20Votes, ERC20Pausable, Authorizable, IProtocolToken
This contract represents the protocol ERC20Votes token to be used for governance purposes
Functions
constructor
constructor(
string memory _name,
string memory _symbol
) ERC20(_name, _symbol) ERC20Permit(_name) Authorizable(msg.sender);
Parameters
Name | Type | Description |
---|---|---|
_name | string | String with the name of the token |
_symbol | string | String with the symbol of the token |
mint
Mint an amount of tokens to an account
Only authorized addresses can mint tokens
function mint(address _dst, uint256 _wad) external isAuthorized;
Parameters
Name | Type | Description |
---|---|---|
_dst | address | |
_wad | uint256 |
burn
Burn an amount of tokens from the sender
function burn(uint256 _wad) external;
Parameters
Name | Type | Description |
---|---|---|
_wad | uint256 |
unpause
Unpause the token transfers, minting and burning
Only authorized addresses can unpause the token
function unpause() external isAuthorized;
_update
function _update(address _from, address _to, uint256 _value) internal override(ERC20, ERC20Votes, ERC20Pausable);
nonces
function nonces(address _owner) public view override(ERC20Permit, IERC20Permit, Nonces) returns (uint256 _nonce);
clock
Set the clock to block timestamp, as opposed to the default block number.
function clock() public view override returns (uint48 _timestamp);
CLOCK_MODE
function CLOCK_MODE() public view virtual override returns (string memory _mode);