ExpandedIERC20
ERC20 interface that includes burn and mint methods.
burn(uint256 value)
external
Burns a specific amount of the caller’s tokens.
Only burns the caller’s tokens, so it is safe to leave this method permissionless.
mint(address to, uint256 value) → bool
external
Mints tokens and adds them to the balance of the to
address.
This method should be permissioned to only allow designated parties to mint tokens.
transfer(address recipient, uint256 amount) → bool
external
Moves amount
tokens from the caller’s account to recipient
.
Returns a boolean value indicating whether the operation succeeded.
Emits a {Transfer} event.
allowance(address owner, address spender) → uint256
external
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.
approve(address spender, uint256 amount) → bool
external
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.
transferFrom(address sender, address recipient, uint256 amount) → bool
external
Moves amount
tokens from sender
to recipient
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.