Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).
Methods
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
Destroys amount tokens from the caller. See {ERC20-_burn}.
Parameters
Name
Type
Description
amount
uint256
undefined
burnFrom
function burnFrom(address account, uint256 amount) external nonpayable
Destroys amount tokens from account, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for accounts's tokens of at least amount.
Parameters
Name
Type
Description
account
address
undefined
amount
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 default value returned by this function, unless it's 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
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.