> For the complete documentation index, see [llms.txt](https://docs.mav.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mav.xyz/technical-reference/maverick-v2/v2-contracts/maverick-v2-supplemental-contracts/paymentbase/iselfpermit.md).

# ISelfPermit

### Functions <a href="#functions" id="functions"></a>

#### selfPermit <a href="#selfpermit" id="selfpermit"></a>

```solidity
function selfPermit(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external payable;
```

#### selfPermitIfNecessary <a href="#selfpermitifnecessary" id="selfpermitifnecessary"></a>

```solidity
function selfPermitIfNecessary(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
    external
    payable;
```

#### selfPermitAllowed <a href="#selfpermitallowed" id="selfpermitallowed"></a>

```solidity
function selfPermitAllowed(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s)
    external
    payable;
```

#### selfPermitAllowedIfNecessary <a href="#selfpermitallowedifnecessary" id="selfpermitallowedifnecessary"></a>

```solidity
function selfPermitAllowedIfNecessary(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s)
    external
    payable;
```

<br>
