Skip to main content

ERC20BurnableUpgradeable

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​

NameTypeDescription
owneraddressundefined
spenderaddressundefined

Returns​

NameTypeDescription
_0uint256undefined

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​

NameTypeDescription
spenderaddressundefined
amountuint256undefined

Returns​

NameTypeDescription
_0boolundefined

balanceOf​

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

See {IERC20-balanceOf}.

Parameters​

NameTypeDescription
accountaddressundefined

Returns​

NameTypeDescription
_0uint256undefined

burn​

function burn(uint256 amount) external nonpayable

Destroys amount tokens from the caller. See {ERC20-_burn}.

Parameters​

NameTypeDescription
amountuint256undefined

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​

NameTypeDescription
accountaddressundefined
amountuint256undefined

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​

NameTypeDescription
_0uint8undefined

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​

NameTypeDescription
spenderaddressundefined
subtractedValueuint256undefined

Returns​

NameTypeDescription
_0boolundefined

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​

NameTypeDescription
spenderaddressundefined
addedValueuint256undefined

Returns​

NameTypeDescription
_0boolundefined

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, usually a shorter version of the name.

Returns​

NameTypeDescription
_0stringundefined

totalSupply​

function totalSupply() external view returns (uint256)

See {IERC20-totalSupply}.

Returns​

NameTypeDescription
_0uint256undefined

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​

NameTypeDescription
toaddressundefined
amountuint256undefined

Returns​

NameTypeDescription
_0boolundefined

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​

NameTypeDescription
fromaddressundefined
toaddressundefined
amountuint256undefined

Returns​

NameTypeDescription
_0boolundefined

Events​

Approval​

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

Parameters​

NameTypeDescription
owner indexedaddressundefined
spender indexedaddressundefined
valueuint256undefined

Initialized​

event Initialized(uint8 version)

Parameters​

NameTypeDescription
versionuint8undefined

Transfer​

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

Parameters​

NameTypeDescription
from indexedaddressundefined
to indexedaddressundefined
valueuint256undefined