# 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 |