x/eas — chain-internal EAS bridge
Internal helper that lets PCL evaluate EAS attestations during AnteHandler. dApp callers do not interact with x/eas directly — they read the EAS contract.
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.
Key Features
AnteHandler-fast attestation reads
Performs view calls into the EAS / Indexer contracts so PCL's EAS_POLICY evaluator can resolve attestation status without leaving the validation pass.
No data duplication
Stores no attestation state of its own — every read goes against the EAS / Indexer contracts, so the chain layer always sees the same data dApps see.
Read-only
Cannot create or revoke attestations — issuance is the EAS contract's job, called via standard EVM transactions.
Architecture
graph TD PCL["PCL AnteHandler<br/>(EAS_POLICY evaluator)"] -->|view call| MOD["x/eas helper"] MOD -->|eth_call| EAS["EAS contract<br/>0x...007"] MOD -->|eth_call| IDX["Indexer contract<br/>0x...008"] EAS -->|attestation data| MOD IDX -->|UID list| MOD MOD -->|admit / reject| PCL
x/eas runs view calls against the EAS / Indexer contracts on PCL's behalf during AnteHandler. dApps don't talk to x/eas — they call the contracts directly.
How dApps interact with EAS on Maroo
- Write (issue, revoke): send EVM transactions to the EAS contract at
0x...007. - Read (single attestation):
eth_callEAS.getAttestation(uid)at0x...007. - Reverse lookup ("what attestations does wallet X have?"): use the Indexer at
0x...008(getReceivedAttestationUIDCount,getReceivedAttestationUIDs).
x/eas is an internal helper for PCL — you do not need to know it exists when building a dApp. See querying-eas-data for the canonical client patterns.