> For the complete documentation index, see [llms.txt](https://docs.algebra.finance/algebra-integral-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.algebra.finance/algebra-integral-documentation/algebra-v1-technical-reference/contracts/api-reference-v1.0/v1.0-periphery/ierc20permit.md).

# IERC20Permit

## IERC20Permit

*Developer note: Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in <https://eips.ethereum.org/EIPS/eip-2612\\[EIP-2612>]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on \`{IERC20-approve}\`, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.*

### Functions

#### permit

`permit(address,address,uint256,uint256,uint8,bytes32,bytes32)` external

| Name     | Type    | Description |
| -------- | ------- | ----------- |
| owner    | address |             |
| spender  | address |             |
| value    | uint256 |             |
| deadline | uint256 |             |
| v        | uint8   |             |
| r        | bytes32 |             |
| s        | bytes32 |             |

#### nonces

`nonces(address)` view external

| Name  | Type    | Description |
| ----- | ------- | ----------- |
| owner | address |             |

**Returns:**

| Name | Type    | Description |
| ---- | ------- | ----------- |
| \[0] | uint256 |             |

#### DOMAIN\_SEPARATOR

`DOMAIN_SEPARATOR()` view external

**Returns:**

| Name | Type    | Description |
| ---- | ------- | ----------- |
| \[0] | bytes32 |             |

***

## IERC20Permit

*Developer note: Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in <https://eips.ethereum.org/EIPS/eip-2612\\[EIP-2612>]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on \`{IERC20-approve}\`, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.*

### Functions

#### permit

`permit(address,address,uint256,uint256,uint8,bytes32,bytes32)` external

| Name     | Type    | Description |
| -------- | ------- | ----------- |
| owner    | address |             |
| spender  | address |             |
| value    | uint256 |             |
| deadline | uint256 |             |
| v        | uint8   |             |
| r        | bytes32 |             |
| s        | bytes32 |             |

#### nonces

`nonces(address)` view external

| Name  | Type    | Description |
| ----- | ------- | ----------- |
| owner | address |             |

**Returns:**

| Name | Type    | Description |
| ---- | ------- | ----------- |
| \[0] | uint256 |             |

#### DOMAIN\_SEPARATOR

`DOMAIN_SEPARATOR()` view external

**Returns:**

| Name | Type    | Description |
| ---- | ------- | ----------- |
| \[0] | bytes32 |             |

***
