Identity

Attestation Structure standard

An Attestation in Maroo follows the standard EAS structure defined in Solidity. It contains metadata about the issuer, recipient, expiration, and the actual encoded data payload. The x/eas module decodes this structure from the EVM ABI into a consumable JSON/Protobuf format.

EAS Indexer component

The EAS Indexer is a smart contract that maintains a mapping of attestations received by specific addresses. While the core EAS contract stores attestations by UID, the Indexer allows for reverse lookups, enabling developers to find all attestations of a specific schema that have been issued to a particular user.

EAS Integration mechanism

Maroo integrates the Ethereum Attestation Service (EAS) as a core primitive for identity and reputation. EAS lives as standard Solidity contracts at canonical addresses; the chain's x/eas helper lets PCL's AnteHandler read those contracts efficiently during transaction validation. dApp callers see the standard EAS surface — getAttestation, the Indexer's reverse lookups — and don't need to know the chain helper exists.

x/eas — chain-internal EAS bridge

x/eas is a chain-internal helper that lets PCL's AnteHandler evaluate KYC/KYB attestations cheaply during transaction validation. It does NOT add a developer-facing surface — dApps that need to read attestations should call the EAS contract preinstall at 0x...007 (or the Indexer at 0x...008 for reverse lookups) directly via JSON-RPC, exactly as on any other EVM chain.

EAS Precompile component

The EAS precompile at 0x1000000000000000000000000000000000000009 is a thin module-config surface. It exposes a single view method, getParams(), that returns the addresses of the canonical Ethereum Attestation Service deployment on this chain — schemaRegistry, eas, and indexer. Each address slot is independently configurable; an unconfigured slot is returned as the zero address (0x0000…0000), so callers must check before using the value. The actual attestation API (issue, query, revoke) lives on the EAS contract preinstall, not on this precompile.

Unverified vs. Verified Accounts mechanism

Maroo supports both standard anonymous wallets (Unverified) and KYC-linked wallets (Verified). This distinction is managed via the Ethereum Attestation Service (EAS) and dictates which transaction paths an account can use.

ESC
Type to search