interface IERC2612 {
    /**
     * @dev Returns the current ERC2612 nonce for `owner`. This value must be
     * included whenever a signature is generated for {permit}.
     *
     * Every successful call to {permit} increases ``owner``'s nonce by one. This
     * prevents a signature from being used multiple times.
     */
    function nonces(address owner) external view returns (uint256);
}
/**
 * @dev Interface of the ERC2612 standard as defined in the EIP.
 *
 * Adds the {permit} method, which can be used to change one's
 * {IERC20-allowance} without having to send a transaction, by signing a
 * message. This allows users to spend tokens without having to hold Ether.
 *
 * See https://eips.ethereum.org/EIPS/eip-2612.
 */
function nonces(address owner) external view returns (uint256);

/**
 * @dev Returns the current ERC2612 nonce for `owner`. This value must be
 * included whenever a signature is generated for {permit}.
 *
 * Every successful call to {permit} increases ``owner``'s nonce by one. This
 * prevents a signature from being used multiple times.
 */