Interest Token
The governance token of Interest Protocol.

Open Zeppelin Contracts

MINTER_ROLE

function MINTER_ROLE() external view returns(bytes32);
Summary
It returns the hash assigned to the MINTER_ROLE. Addresses must have this role to call the mint function.

DEVELOPER_ROLE

function DEVELOPER_ROLE() external view returns(bytes32);
Summary
It returns the hash assigned to the DEVELOPER_ROLE. Addresses must have this role to upgrade the Interest Token contract.

mint

function mint(address account, uint256 amount) external;
Parameters
  1. 1.
    Account - address: The address that will receive the new-minted tokens
  2. 2.
    Amount - uint256: The amount of new tokens.
Restrictions
  • onlyRole modifier: Callers must have the MINTER_ROLE to call this function.
Event
event Transfer(address indexed from, address indexed to, uint256 value);
Summary
This function allows authorized contracts to mint Interest Token to incentivize liquidity providers.

burn

function burn(uint256 amount) external;
Parameters
  1. 1.
    Amount - uint256: The amount of tokens to be burned.
Event
event Transfer(address indexed from, address indexed to, uint256 value);
Summary
This function allows the caller to burn his/her own tokens.

burnFrom

function burnFrom(address account, uint256 amount) external;
Parameters
  1. 1.
    Account - address: The address that will have its tokens burned.
  2. 2.
    Amount - uint256: The amount of tokens to be burned.
Restrictions:
  • allowance: It requires the msg.sender to have an allowance with the Account equal or higher than the Amount.
Events
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
Summary
This function allows a caller to burn his/her allowance from a third account. It reduces the allowance and total supply.
This contract uses the UUPS upgradeable pattern. Therefore, the interfaces and functionalities can change in the future.
Export as PDF
Copy link
On this page
Open Zeppelin Contracts
MINTER_ROLE
DEVELOPER_ROLE
mint
burn
burnFrom