ERC20Permit
Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. Available since v3.4.
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 |
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 |
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 |
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 |
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 |
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 |
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 |