Context
AgentReputation.sol and the SDK reputation extension run against MockEAS.sol. Ratings are not portable and MockEAS emits no Attested event (SDK rateService direct-to-EAS path throws AttestationFailedError against the mock).
Proposed solution
- Use deployed EAS on Base / Base Sepolia (
0x4200000000000000000000000000000000000021)
- Register schema:
ValuePacketServiceRating(address vendor, address requester, uint8 score, bytes32 transactionId)
- SDK: swap mock assumptions for
@ethereum-attestation-service/eas-sdk (MIT); keep MockEAS for anvil-only tests
- Note: SDK
rateService attests directly to EAS, so those ratings are not indexed by AgentReputation.getRatings — decide whether to route all ratings through AgentReputation or index EAS attestations
Acceptance criteria
- Schema registered on Base Sepolia (needs deployer gas — maintainer action)
- One end-to-end rating visible on the EAS explorer
- README documents the schema UID
Effort: 3–5 days. Unblocks: witness escrow (ReviewedEscrow).
Context
AgentReputation.soland the SDK reputation extension run againstMockEAS.sol. Ratings are not portable and MockEAS emits noAttestedevent (SDKrateServicedirect-to-EAS path throwsAttestationFailedErroragainst the mock).Proposed solution
0x4200000000000000000000000000000000000021)ValuePacketServiceRating(address vendor, address requester, uint8 score, bytes32 transactionId)@ethereum-attestation-service/eas-sdk(MIT); keep MockEAS for anvil-only testsrateServiceattests directly to EAS, so those ratings are not indexed byAgentReputation.getRatings— decide whether to route all ratings throughAgentReputationor index EAS attestationsAcceptance criteria
Effort: 3–5 days. Unblocks: witness escrow (ReviewedEscrow).