Skip to content
Lattice

ERC6900AccountView

Git Source

Inherits: IERC6900AccountView

Title: ERC6900AccountView

Authors: David Dada <daveproxy80@gmail.com> (https://github.com/dadadave80), Modified from ERC-6900 reference implementation (https://github.com/erc6900/reference-implementation)

ERC-6900 account-introspection facet (the "loupe"): getExecutionData reports the install state of an execution selector (module + validation flags + execution hooks; a native facet selector reports the account itself as the implementer), and getValidationData reports a validation function's flags, validation/execution hooks, and permitted selectors.

Stateless delegator — logic/storage live in ERC6900ModuleManagerLib. Part of the ERC-6900 account blueprint (an alternative to the ERC-7579 DiamondLoupe).

Notes:

  • lattice-version: 0.1.0
  • lattice-source: ERC-6900

Functions

getExecutionData

For a native function the returned module is the account address.

function getExecutionData(bytes4 selector) external view virtual returns (ExecutionDataView memory);

Parameters

NameTypeDescription
selectorbytes4

Returns

NameTypeDescription
<none>ExecutionDataView

getValidationData

function getValidationData(ModuleEntity validationFunction)
        external
        view
        virtual
        returns (ValidationDataView memory);

Parameters

NameTypeDescription
validationFunctionModuleEntity

Returns

NameTypeDescription
<none>ValidationDataView

exportSelectors

ERC-8153 selector export: this facet's cuttable selectors, tightly packed (4 bytes each).

Excludes exportSelectors() itself (0x0ef22643) - it is never cut into a diamond. Order matches forge inspect ERC6900AccountView methodIdentifiers (alphabetical by signature); kept in exact parity by ExportSelectorsParityTest. Chunks: getExecutionData(bytes4) 0x757c8a26 getValidationData(bytes24) 0xd31b575b

function exportSelectors() external pure virtual returns (bytes memory selectors);

Returns

NameTypeDescription
selectorsbytes