Skip to main content

ITokenERC20

Methods

allowance

function allowance(address owner, address spender) external view returns (uint256)

Returns the remaining number of tokens that spender will be allowed to spend on behalf of owner through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.

Parameters

NameTypeDescription
owneraddressundefined
spenderaddressundefined

Returns

NameTypeDescription
_0uint256undefined

approve

function approve(address spender, uint256 amount) external nonpayable returns (bool)

Sets amount as the allowance of spender over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.

Parameters

NameTypeDescription
spenderaddressundefined
amountuint256undefined

Returns

NameTypeDescription
_0boolundefined

balanceOf

function balanceOf(address account) external view returns (uint256)

Returns the amount of tokens owned by account.

Parameters

NameTypeDescription
accountaddressundefined

Returns

NameTypeDescription
_0uint256undefined

decimals

function decimals() external view returns (uint8)

Returns the decimals places of the token.

Returns

NameTypeDescription
_0uint8undefined

mintTo

function mintTo(address to, uint256 amount) external nonpayable

Creates amount new tokens for to. See {ERC20-_mint}. Requirements: - the caller must have the MINTER_ROLE.

Parameters

NameTypeDescription
toaddressundefined
amountuint256undefined

mintWithSignature

function mintWithSignature(ITokenERC20.MintRequest req, bytes signature) external payable

Mints an NFT according to the provided mint request.

Parameters

NameTypeDescription
reqITokenERC20.MintRequestThe mint request.
signaturebyteshe signature produced by an account signing the mint request.

name

function name() external view returns (string)

Returns the name of the token.

Returns

NameTypeDescription
_0stringundefined

symbol

function symbol() external view returns (string)

Returns the symbol of the token.

Returns

NameTypeDescription
_0stringundefined

totalSupply

function totalSupply() external view returns (uint256)

Returns the amount of tokens in existence.

Returns

NameTypeDescription
_0uint256undefined

transfer

function transfer(address to, uint256 amount) external nonpayable returns (bool)

Moves amount tokens from the caller's account to to. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

Parameters

NameTypeDescription
toaddressundefined
amountuint256undefined

Returns

NameTypeDescription
_0boolundefined

transferFrom

function transferFrom(address from, address to, uint256 amount) external nonpayable returns (bool)

Moves amount tokens from from to to using the allowance mechanism. amount is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

Parameters

NameTypeDescription
fromaddressundefined
toaddressundefined
amountuint256undefined

Returns

NameTypeDescription
_0boolundefined

verify

function verify(ITokenERC20.MintRequest req, bytes signature) external view returns (bool success, address signer)

Verifies that a mint request is signed by an account holding MINTER_ROLE (at the time of the function call).

Parameters

NameTypeDescription
reqITokenERC20.MintRequestThe mint request.
signaturebytesThe signature produced by an account signing the mint request. returns (success, signer) Result of verification and the recovered address.

Returns

NameTypeDescription
successboolundefined
signeraddressundefined

Events

Approval

event Approval(address indexed owner, address indexed spender, uint256 value)

Parameters

NameTypeDescription
owner indexedaddressundefined
spender indexedaddressundefined
valueuint256undefined

TokensMinted

event TokensMinted(address indexed mintedTo, uint256 quantityMinted)

Emitted when an account with MINTER_ROLE mints an NFT.

Parameters

NameTypeDescription
mintedTo indexedaddressundefined
quantityMinteduint256undefined

TokensMintedWithSignature

event TokensMintedWithSignature(address indexed signer, address indexed mintedTo, ITokenERC20.MintRequest mintRequest)

Emitted when tokens are minted.

Parameters

NameTypeDescription
signer indexedaddressundefined
mintedTo indexedaddressundefined
mintRequestITokenERC20.MintRequestundefined

Transfer

event Transfer(address indexed from, address indexed to, uint256 value)

Parameters

NameTypeDescription
from indexedaddressundefined
to indexedaddressundefined
valueuint256undefined