ERC20SignatureMint
BASE: ERC20 EXTENSION: SignatureMintERC20 The ERC20SignatureMint contract uses the ERC20Base contract, along with the SignatureMintERC20 extension. The 'signature minting' mechanism in the SignatureMintERC20 extension uses EIP 712, and is a way for a contract admin to authorize an external party's request to mint tokens on the admin's contract. At a high level, this means you can authorize some external party to mint tokens on your contract, and specify what exactly will be minted by that external party.
Methods
DOMAIN_SEPARATOR
function DOMAIN_SEPARATOR() external view returns (bytes32)
See {IERC20Permit-DOMAIN_SEPARATOR}.
Returns
| Name | Type | Description |
|---|
| _0 | bytes32 | undefined |
allowance
function allowance(address owner, address spender) external view returns (uint256)
See {IERC20-allowance}.
Parameters
| Name | Type | Description |
|---|
| owner | address | undefined |
| spender | address | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | uint256 | undefined |
approve
function approve(address spender, uint256 amount) external nonpayable returns (bool)
See {IERC20-approve}. NOTE: If amount is the maximum uint256, the allowance is not updated on transferFrom. This is semantically equivalent to an infinite approval. Requirements: - spender cannot be the zero address.
Parameters
| Name | Type | Description |
|---|
| spender | address | undefined |
| amount | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | bool | undefined |
balanceOf
function balanceOf(address account) external view returns (uint256)
See {IERC20-balanceOf}.
Parameters
| Name | Type | Description |
|---|
| account | address | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | uint256 | undefined |
burn
function burn(uint256 _amount) external nonpayable
Lets an owner a given amount of their tokens.
Caller should own the _amount of tokens.
Parameters
| Name | Type | Description |
|---|
| _amount | uint256 | The number of tokens to burn. |
contractURI
function contractURI() external view returns (string)
Returns the contract metadata URI.
Returns
| Name | Type | Description |
|---|
| _0 | string | undefined |
decimals
function decimals() external view returns (uint8)
Returns the number of decimals used to get its user representation. For example, if decimals equals 2, a balance of 505 tokens should be displayed to a user as 5.05 (505 / 10 ** 2). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for display purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.
Returns
| Name | Type | Description |
|---|
| _0 | uint8 | undefined |
decreaseAllowance
function decreaseAllowance(address spender, uint256 subtractedValue) external nonpayable returns (bool)
Atomically decreases the allowance granted to spender by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - spender cannot be the zero address. - spender must have allowance for the caller of at least subtractedValue.
Parameters
| Name | Type | Description |
|---|
| spender | address | undefined |
| subtractedValue | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | bool | undefined |
increaseAllowance
function increaseAllowance(address spender, uint256 addedValue) external nonpayable returns (bool)
Atomically increases the allowance granted to spender by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - spender cannot be the zero address.
Parameters
| Name | Type | Description |
|---|
| spender | address | undefined |
| addedValue | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | bool | undefined |
mintTo
function mintTo(address _to, uint256 _amount) external nonpayable
Lets an authorized address mint tokens to a recipient.
The logic in the _canMint function determines whether the caller is authorized to mint tokens.
Parameters
| Name | Type | Description |
|---|
| _to | address | The recipient of the tokens to mint. |
| _amount | uint256 | Quantity of tokens to mint. |
mintWithSignature
function mintWithSignature(ISignatureMintERC20.MintRequest _req, bytes _signature) external payable returns (address signer)
Parameters
| Name | Type | Description |
|---|
| _req | ISignatureMintERC20.MintRequest | undefined |
| _signature | bytes | undefined |
Returns
| Name | Type | Description |
|---|
| signer | address | undefined |
multicall
function multicall(bytes[] data) external nonpayable returns (bytes[] results)
Receives and executes a batch of function calls on this contract.
Receives and executes a batch of function calls on this contract.
Parameters
| Name | Type | Description |
|---|
| data | bytes[] | The bytes data that makes up the batch of function calls to execute. |
Returns
| Name | Type | Description |
|---|
| results | bytes[] | The bytes data that makes up the result of the batch of function calls executed. |
name
function name() external view returns (string)
Returns the name of the token.
Returns
| Name | Type | Description |
|---|
| _0 | string | undefined |
nonces
function nonces(address owner) external view returns (uint256)
See {IERC20Permit-nonces}.
Parameters
| Name | Type | Description |
|---|
| owner | address | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | uint256 | undefined |
owner
function owner() external view returns (address)
Returns the owner of the contract.
Returns
| Name | Type | Description |
|---|
| _0 | address | undefined |
permit
function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable
See {IERC20Permit-permit}.
Parameters
| Name | Type | Description |
|---|
| owner | address | undefined |
| spender | address | undefined |
| value | uint256 | undefined |
| deadline | uint256 | undefined |
| v | uint8 | undefined |
| r | bytes32 | undefined |
| s | bytes32 | undefined |
primarySaleRecipient
function primarySaleRecipient() external view returns (address)
Returns primary sale recipient address.
Returns
| Name | Type | Description |
|---|
| _0 | address | undefined |
setContractURI
function setContractURI(string _uri) external nonpayable
Lets a contract admin set the URI for contract-level metadata.
Caller should be authorized to setup contractURI, e.g. contract admin. See {_canSetContractURI}. Emits {ContractURIUpdated Event}.
Parameters
| Name | Type | Description |
|---|
| _uri | string | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") |
setOwner
function setOwner(address _newOwner) external nonpayable
Lets an authorized wallet set a new owner for the contract.
Parameters
| Name | Type | Description |
|---|
| _newOwner | address | The address to set as the new owner of the contract. |
setPrimarySaleRecipient
function setPrimarySaleRecipient(address _saleRecipient) external nonpayable
Updates primary sale recipient.
Caller should be authorized to set primary sales info. See {_canSetPrimarySaleRecipient}. Emits {PrimarySaleRecipientUpdated Event}; See {_setupPrimarySaleRecipient}.
Parameters
| Name | Type | Description |
|---|
| _saleRecipient | address | Address to be set as new recipient of primary sales. |
symbol
function symbol() external view returns (string)
Returns the symbol of the token, usually a shorter version of the name.
Returns
| Name | Type | Description |
|---|
| _0 | string | undefined |
totalSupply
function totalSupply() external view returns (uint256)
See {IERC20-totalSupply}.
Returns
| Name | Type | Description |
|---|
| _0 | uint256 | undefined |
transfer
function transfer(address to, uint256 amount) external nonpayable returns (bool)
See {IERC20-transfer}. Requirements: - to cannot be the zero address. - the caller must have a balance of at least amount.
Parameters
| Name | Type | Description |
|---|
| to | address | undefined |
| amount | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | bool | undefined |
transferFrom
function transferFrom(address from, address to, uint256 amount) external nonpayable returns (bool)
See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum uint256. Requirements: - from and to cannot be the zero address. - from must have a balance of at least amount. - the caller must have allowance for from's tokens of at least amount.
Parameters
| Name | Type | Description |
|---|
| from | address | undefined |
| to | address | undefined |
| amount | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | bool | undefined |
verify
function verify(ISignatureMintERC20.MintRequest _req, bytes _signature) external view returns (bool success, address signer)
Parameters
| Name | Type | Description |
|---|
| _req | ISignatureMintERC20.MintRequest | undefined |
| _signature | bytes | undefined |
Returns
| Name | Type | Description |
|---|
| success | bool | undefined |
| signer | address | undefined |
Events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Parameters
| Name | Type | Description |
|---|
owner indexed | address | undefined |
spender indexed | address | undefined |
| value | uint256 | undefined |
ContractURIUpdated
event ContractURIUpdated(string prevURI, string newURI)
Parameters
| Name | Type | Description |
|---|
| prevURI | string | undefined |
| newURI | string | undefined |
OwnerUpdated
event OwnerUpdated(address indexed prevOwner, address indexed newOwner)
Parameters
| Name | Type | Description |
|---|
prevOwner indexed | address | undefined |
newOwner indexed | address | undefined |
PrimarySaleRecipientUpdated
event PrimarySaleRecipientUpdated(address indexed recipient)
Parameters
| Name | Type | Description |
|---|
recipient indexed | address | undefined |
TokensMintedWithSignature
event TokensMintedWithSignature(address indexed signer, address indexed mintedTo, ISignatureMintERC20.MintRequest mintRequest)
Parameters
| Name | Type | Description |
|---|
signer indexed | address | undefined |
mintedTo indexed | address | undefined |
| mintRequest | ISignatureMintERC20.MintRequest | undefined |
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Parameters
| Name | Type | Description |
|---|
from indexed | address | undefined |
to indexed | address | undefined |
| value | uint256 | undefined |