x/eas — 체인 내부 EAS 브릿지
PCL이 AnteHandler에서 EAS attestation을 평가할 수 있도록 돕는 내부 helper입니다. dApp 호출자는 x/eas와 직접 상호작용하지 않으며, EAS 컨트랙트를 직접 읽습니다.
x/eas는 PCL의 AnteHandler가 트랜잭션 검증 중에 KYC/KYB attestation을 저렴하게 평가할 수 있도록 돕는 체인 내부 helper입니다. 개발자용 surface를 추가하지 않습니다 — attestation을 읽어야 하는 dApp은 다른 EVM 체인과 동일하게 0x...007의 EAS 컨트랙트 preinstall (또는 역방향 조회를 위해 0x...008의 Indexer)을 JSON-RPC로 직접 호출합니다.
주요 기능
AnteHandler용 빠른 attestation 읽기
EAS / Indexer 컨트랙트로 view 호출을 수행해 PCL의 EAS_POLICY 평가자가 검증 패스를 벗어나지 않고 attestation 상태를 해결할 수 있게 합니다.
데이터 중복 없음
자체적인 attestation 상태를 저장하지 않습니다. 모든 읽기가 EAS / Indexer 컨트랙트로 가기 때문에, 체인 레이어는 항상 dApp과 동일한 데이터를 봅니다.
읽기 전용
attestation 생성/폐기는 지원하지 않습니다. 발급은 EAS 컨트랙트의 역할이며 표준 EVM 트랜잭션으로 호출합니다.
아키텍처
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는 AnteHandler 동안 PCL을 대신해 EAS / Indexer 컨트랙트에 view 호출을 실행합니다. dApp은 x/eas와 통신하지 않고, 컨트랙트를 직접 호출합니다.
dApp이 마루의 EAS와 상호작용하는 방법
마루의 EAS는 다른 EVM 체인의 EAS와 정확히 동일하게 사용합니다:
- 쓰기 (발급, 폐기):
0x...007의 EAS 컨트랙트로 EVM 트랜잭션을 전송합니다. - 읽기 (단일 attestation):
0x...007의EAS.getAttestation(uid)를eth_call로 호출합니다. - 역방향 조회 ("지갑 X가 가진 attestation은?"):
0x...008의 Indexer(getReceivedAttestationUIDCount,getReceivedAttestationUIDs)를 사용합니다.
x/eas는 PCL용 내부 helper이므로 dApp 구축 시에는 신경 쓰지 않아도 됩니다. 정식 클라이언트 패턴은 querying-eas-data 페이지에서 확인할 수 있습니다. 참고: attestation 생성은 EAS 컨트랙트로 표준 EVM 트랜잭션을 전송하여 수행합니다.