Attestation Structure
The data layout of an EAS attestation in Maroo.
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.
Core Fields
- UID: Unique 32-byte identifier hash.
- Schema: The UID of the schema defining the data format.
- Recipient: The address receiving the attestation.
- Attester: The address issuing the attestation.
- Time: Creation timestamp (Unix).
- ExpirationTime: 0 for no expiration, otherwise Unix timestamp.
- RevocationTime: 0 if valid, timestamp if revoked.
- Data: ABI-encoded payload matching the schema.
Revocability
Attestations contain a
Revocable boolean flag. If true, the attester can revoke the attestation later, setting the RevocationTime. This is crucial for identity credentials that may need to be withdrawn (e.g., expired passport).Data Encoding
The
Data field is returned as a hex string. Developers must know the Schema string (e.g., uint256 score, bool isVerified) to decode this payload correctly using standard ABI decoding libraries (ethers.js, viem, or go-ethereum).