Skip to content
Lattice

ERC6900Signature

Git Source

Title: ERC6900Signature

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

ERC-6900 ERC-1271 signature-validation facet: isValidSignature routes to the validation module named by the signature prefix, after binding the digest to this account's domain via ERC-7739. Part of the ERC-6900 account blueprint (an alternative to the ERC-7579 ERC1271Signature facet); the two are never cut into the same account.

Stateless delegator — logic lives in ERC6900SignatureLib; it reads the registries owned by ERC6900ModuleManagerLib and composes ERC7739Lib/EIP712Lib.

Notes:

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

Functions

isValidSignature

ERC-1271 contract-signature validation, ERC-7739-bound to this account's domain.

function isValidSignature(bytes32 hash, bytes calldata signature) external view virtual returns (bytes4);

Parameters

NameTypeDescription
hashbytes32
signaturebytes

Returns

NameTypeDescription
<none>bytes4

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 ERC6900Signature methodIdentifiers (alphabetical by signature); kept in exact parity by ExportSelectorsParityTest. Chunks: isValidSignature(bytes32,bytes) 0x1626ba7e

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

Returns

NameTypeDescription
selectorsbytes