Skip to main content

IERC20

IERC20Core

Addresses

ChainAddress

Functions

totalSupply

function totalSupply() external view returns (uint256)
Dev note

Returns the value of tokens in existence.

balanceOf

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

Returns the value of tokens owned by account.

transfer

function transfer(address to, uint256 value) external returns (bool)
Dev note

Moves a value amount of tokens from the caller's account to to.

Returns a boolean value indicating whether the operation succeeded.

Emits a {Transfer} event.

allowance

function allowance(address owner, address spender) external view returns (uint256)
Dev note

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

function approve(address spender, uint256 value) external returns (bool)
Dev note

Sets a value amount of tokens 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

function transferFrom(address from, address to, uint256 value) external returns (bool)
Dev note

Moves a value amount of tokens from from to to using the allowance mechanism. value is then deducted from the caller's allowance.

Returns a boolean value indicating whether the operation succeeded.

Emits a {Transfer} event.