Skip to content
Lattice

ERC20PermitLib Constants

Git Source

ERC20PERMIT_ERC165_STORAGE_LOCATION

ERC-165 storage location (same across all Lattice modules). keccak256(abi.encode(uint256(keccak256("diamond.lib.storage.ERC165")) - 1)) & ~bytes32(uint256(0xff)).

bytes32 constant ERC20PERMIT_ERC165_STORAGE_LOCATION =
    0x9ca7f3e2e2bfb15fdf072b85dde92837cddacee6cf2f6b38cd06c9457c1c4200;

ERC165_MAP_IERC20PERMIT_SLOT

0x9d8ff7da is type(IERC20Permit).interfaceId. keccak256(abi.encode(bytes4(0x9d8ff7da), 0x9ca7f3e2e2bfb15fdf072b85dde92837cddacee6cf2f6b38cd06c9457c1c4200)).

bytes32 constant ERC165_MAP_IERC20PERMIT_SLOT = 0x31d570801fe317e940436657728da1f6ff9fa61ca17b4eaff38ae98d162c1920;

PERMIT_TYPEHASH

EIP-712 typehash for the Permit struct.

bytes32 constant PERMIT_TYPEHASH =
    keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");