Skip to content
Lattice

HASSignatureVerifier

Git Source

Inherits: IHASSignatureVerifier

Title: HASSignatureVerifier

Authors: David Dada <daveproxy80@gmail.com> (https://github.com/dadadave80), Modified from hiero-ledger/hiero-contracts (https://github.com/hiero-ledger/hiero-contracts)

Diamond facet exposing HIP-632 native Hedera account signature verification (ED25519 + ECDSA, key lists via the protobuf path) as two never-reverting views.

Stateless delegator over HASSignatureVerifierLib. Only meaningful on Hedera.

Notes:

  • lattice-version: 0.1.0
  • lattice-source: Hedera

Functions

isAuthorizedRaw

True if signature (65 bytes ECDSA or 64 bytes ED25519) is valid over messageHash for the simple key of Hedera account (an EVM alias or long-zero 0x000…&lt;accountNum> address).

function isAuthorizedRaw(address account, bytes32 messageHash, bytes calldata signature)
        external
        view
        virtual
        override
        returns (bool authorized);

Parameters

NameTypeDescription
accountaddress
messageHashbytes32
signaturebytes

Returns

NameTypeDescription
authorizedbool

isAuthorized

True if the protobuf signatureMap satisfies account's full key structure (key lists and threshold keys included) over the raw message.

function isAuthorized(address account, bytes calldata message, bytes calldata signatureMap)
        external
        view
        virtual
        override
        returns (bool authorized);

Parameters

NameTypeDescription
accountaddress
messagebytes
signatureMapbytes

Returns

NameTypeDescription
authorizedbool

exportSelectors

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

Excludes exportSelectors() itself (0x0ef22643). Order matches forge inspect HASSignatureVerifier methodIdentifiers (alphabetical by signature); kept in exact parity by ExportSelectorsParityTest. Chunks: isAuthorized(address,bytes,bytes) 0xb2526367 isAuthorizedRaw(address,bytes32,bytes) 0x249024ac

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

Returns

NameTypeDescription
selectorsbytes