Skip to content
Lattice

ERC6551AccountLib Constants

Git Source

ERC6551_ACCOUNT_STORAGE_SLOT

keccak256(abi.encode(uint256(keccak256("lattice.storage.ERC6551Account")) - 1)) & ~bytes32(uint256(0xff)).

bytes32 constant ERC6551_ACCOUNT_STORAGE_SLOT = 0x5d509296c8693d1a2071f7702ffb166090e7cdcee4fc11a42df61b6a19026100;

ERC165_MAP_IERC6551ACCOUNT_SLOT

ERC-165 map slots. keccak256(abi.encode(bytes4(id), 0x9ca7f3e2…c1c4200)). IERC6551Account = 0x6faff5f1; IERC6551Executable = 0x51945447.

bytes32 constant ERC165_MAP_IERC6551ACCOUNT_SLOT = 0xe5e50471a231013bea8f6034ec0b978814d697120ebd88e3624ed42959ed0a66;

ERC165_MAP_IERC6551EXECUTABLE_SLOT

bytes32 constant ERC165_MAP_IERC6551EXECUTABLE_SLOT =
    0x7119a8e42d55700f1f34f34e17ffb769e414497fcab2ff2004aa97c610742b4b;

ERC6551_VALID_SIGNER_MAGIC

ERC-6551 isValidSigner success magic value (its own selector).

bytes4 constant ERC6551_VALID_SIGNER_MAGIC = 0x523e3260;