ERC20
Functions
constructor
constructor(string name_, string symbol_) public
public
*Developer note: Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18.
To select a different value for {decimals}, use {_setupDecimals}.
All three of these values are immutable: they can only be set once during construction.*
Name | Type | Description |
---|---|---|
name_ | string | |
symbol_ | string |
name
function name() public view virtual returns (string)
view public
Developer note: Returns the name of the token.
Returns:
Name | Type | Description |
---|---|---|
[0] | string |
symbol
function symbol() public view virtual returns (string)
view public
Developer note: Returns the symbol of the token, usually a shorter version of the name.
Returns:
Name | Type | Description |
---|---|---|
[0] | string |
decimals
function decimals() public view virtual returns (uint8)
view public
*Developer note: 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 {_setupDecimals} is called.
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 |
totalSupply
function totalSupply() public view virtual returns (uint256)
view public
Developer note: See {IERC20-totalSupply}.
Returns:
Name | Type | Description |
---|---|---|
[0] | uint256 |
balanceOf
function balanceOf(address account) public view virtual returns (uint256)
view public
Developer note: See {IERC20-balanceOf}.
Name | Type | Description |
---|---|---|
account | address |
Returns:
Name | Type | Description |
---|---|---|
[0] | uint256 |
transfer
function transfer(address recipient, uint256 amount) public virtual returns (bool)
public
*Developer note: See {IERC20-transfer}.
Requirements:
`recipient` cannot be the zero address.
the caller must have a balance of at least `amount`.*
Name | Type | Description |
---|---|---|
recipient | address | |
amount | uint256 |
Returns:
Name | Type | Description |
---|---|---|
[0] | bool |
allowance
function allowance(address owner, address spender) public view virtual returns (uint256)
view public
Developer note: See {IERC20-allowance}.
Name | Type | Description |
---|---|---|
owner | address | |
spender | address |
Returns:
Name | Type | Description |
---|---|---|
[0] | uint256 |
approve
function approve(address spender, uint256 amount) public virtual returns (bool)
public
*Developer note: See {IERC20-approve}.
Requirements:
`spender` cannot be the zero address.*
Name | Type | Description |
---|---|---|
spender | address | |
amount | uint256 |
Returns:
Name | Type | Description |
---|---|---|
[0] | bool |
transferFrom
function transferFrom(address sender, address recipient, uint256 amount) public virtual returns (bool)
public
*Developer note: 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}.
Requirements:
`sender` and `recipient` cannot be the zero address.
`sender` must have a balance of at least `amount`.
the caller must have allowance for ``sender``'s tokens of at least `amount`.*
Name | Type | Description |
---|---|---|
sender | address | |
recipient | address | |
amount | uint256 |
Returns:
Name | Type | Description |
---|---|---|
[0] | bool |
increaseAllowance
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool)
public
*Developer note: 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.*
Name | Type | Description |
---|---|---|
spender | address | |
addedValue | uint256 |
Returns:
Name | Type | Description |
---|---|---|
[0] | bool |
decreaseAllowance
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool)
public
*Developer note: 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`.*
Name | Type | Description |
---|---|---|
spender | address | |
subtractedValue | uint256 |
Returns:
Name | Type | Description |
---|---|---|
[0] | bool |