231 lines
4.7 KiB
Markdown
231 lines
4.7 KiB
Markdown
# ERC20
|
|
|
|
_Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol)Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)_
|
|
|
|
Modern and gas efficient ERC20 + EIP-2612 implementation.
|
|
|
|
_Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it._
|
|
|
|
## Methods
|
|
|
|
### DOMAIN_SEPARATOR
|
|
|
|
```solidity
|
|
function DOMAIN_SEPARATOR() external view returns (bytes32)
|
|
```
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | bytes32 | undefined |
|
|
|
|
### allowance
|
|
|
|
```solidity
|
|
function allowance(address, address) external view returns (uint256)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | address | undefined |
|
|
| \_1 | address | undefined |
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | uint256 | undefined |
|
|
|
|
### approve
|
|
|
|
```solidity
|
|
function approve(address spender, uint256 amount) external nonpayable returns (bool)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| ------- | ------- | ----------- |
|
|
| spender | address | undefined |
|
|
| amount | uint256 | undefined |
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ---- | ----------- |
|
|
| \_0 | bool | undefined |
|
|
|
|
### balanceOf
|
|
|
|
```solidity
|
|
function balanceOf(address) external view returns (uint256)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | address | undefined |
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | uint256 | undefined |
|
|
|
|
### decimals
|
|
|
|
```solidity
|
|
function decimals() external view returns (uint8)
|
|
```
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ----- | ----------- |
|
|
| \_0 | uint8 | undefined |
|
|
|
|
### name
|
|
|
|
```solidity
|
|
function name() external view returns (string)
|
|
```
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------ | ----------- |
|
|
| \_0 | string | undefined |
|
|
|
|
### nonces
|
|
|
|
```solidity
|
|
function nonces(address) external view returns (uint256)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | address | undefined |
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | uint256 | undefined |
|
|
|
|
### permit
|
|
|
|
```solidity
|
|
function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| -------- | ------- | ----------- |
|
|
| owner | address | undefined |
|
|
| spender | address | undefined |
|
|
| value | uint256 | undefined |
|
|
| deadline | uint256 | undefined |
|
|
| v | uint8 | undefined |
|
|
| r | bytes32 | undefined |
|
|
| s | bytes32 | undefined |
|
|
|
|
### symbol
|
|
|
|
```solidity
|
|
function symbol() external view returns (string)
|
|
```
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------ | ----------- |
|
|
| \_0 | string | undefined |
|
|
|
|
### totalSupply
|
|
|
|
```solidity
|
|
function totalSupply() external view returns (uint256)
|
|
```
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ------- | ----------- |
|
|
| \_0 | uint256 | undefined |
|
|
|
|
### transfer
|
|
|
|
```solidity
|
|
function transfer(address to, uint256 amount) external nonpayable returns (bool)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| ------ | ------- | ----------- |
|
|
| to | address | undefined |
|
|
| amount | uint256 | undefined |
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ---- | ----------- |
|
|
| \_0 | bool | undefined |
|
|
|
|
### transferFrom
|
|
|
|
```solidity
|
|
function transferFrom(address from, address to, uint256 amount) external nonpayable returns (bool)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| ------ | ------- | ----------- |
|
|
| from | address | undefined |
|
|
| to | address | undefined |
|
|
| amount | uint256 | undefined |
|
|
|
|
#### Returns
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ---- | ----------- |
|
|
| \_0 | bool | undefined |
|
|
|
|
## Events
|
|
|
|
### Approval
|
|
|
|
```solidity
|
|
event Approval(address indexed owner, address indexed spender, uint256 amount)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| ----------------- | ------- | ----------- |
|
|
| owner `indexed` | address | undefined |
|
|
| spender `indexed` | address | undefined |
|
|
| amount | uint256 | undefined |
|
|
|
|
### Transfer
|
|
|
|
```solidity
|
|
event Transfer(address indexed from, address indexed to, uint256 amount)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| -------------- | ------- | ----------- |
|
|
| from `indexed` | address | undefined |
|
|
| to `indexed` | address | undefined |
|
|
| amount | uint256 | undefined |
|