Agent

EAS

IEas.getParams

이 마루 네트워크의 정식 EAS 배포 주소들을 반환합니다. SchemaRegistry, EAS 컨트랙트, Indexer 주소가 포함됩니다. 앱 시작 시 한 번 호출하면 testnet과 mainnet 모두에서 하드코딩 없이 올바른 주소를 해결할 수 있습니다. 반환 struct 이름은 EasParams입니다. 여러 프리컴파일 인터페이스를 함께 import할 때 충돌을 피하기 위해 네임스페이스 없는 Params 이름에서 변경되었습니다.

EAS.getAttestation

주어진 UID에 대한 전체 Attestation 구조체를 반환합니다. UID가 알려지지 않은 값이면 uid == 0x00..인 Attestation이 반환됩니다. EAS 컨트랙트 preinstall의 정식 read 메서드이며, 다른 모든 surface(@ethereum-attestation-service/eas-sdk, Indexer, PCL EAS_POLICY 평가자)도 결국 이 함수를 호출합니다. dApp 코드는 attestation을 유효한 것으로 취급하기 전에 revocationTime == 0과 (expirationTime == 0 || expirationTime > now) 조건을 함께 검증해야 합니다.

Indexer.getReceivedAttestationUIDCount

schemaUidrecipient에게 발급된 attestation 개수를 반환합니다. 저렴한 존재 확인용입니다. getReceivedAttestationUIDs로 페이지네이션하기 전에 먼저 호출합니다. 카운트는 발급만 추적하며 폐기되거나 만료된 attestation도 카운트에 포함되므로, 이 값은 유효성 게이트가 아닌 검색 범위 산정용으로만 사용해야 합니다.

Indexer.getReceivedAttestationUIDs

페이지네이션 역방향 조회입니다. schemaUidrecipient에게 발급된 attestation UID를 최대 length개 반환합니다. reverseOrder = true를 지정하면 가장 최근 항목부터 조회합니다. 반환된 각 UID를 EAS.getAttestation(uid)에 전달하여 실제 구조체를 가져오고 폐기/만료 여부를 확인합니다.

IPcl

IPcl.getParams

PCL 모듈 파라미터를 반환합니다. 체인 전역 정책 관리자 주소와 승인된 규제 경로 엔트리포인트 컨트랙트 목록이 포함됩니다. 반환 struct 이름은 PclParams입니다. 여러 프리컴파일 인터페이스를 함께 import할 때 struct 이름 충돌을 피하기 위해 네임스페이스 없는 Params 이름에서 변경되었습니다.

IPcl.registerPolicyTemplate

내장 정책 템플릿을 templateId로 활성 PCL 템플릿 레지스트리에 등록합니다. 7개의 V1 템플릿(DENYLIST_POLICY, VOLUME_POLICY, PERIODIC_VOLUME_POLICY, EAS_POLICY, OKRW_EAS_TRANSFER_LIMIT_POLICY, OKRW_EAS_PERIODIC_VOLUME_LIMIT_POLICY, AGENT_OKRW_TRANSFER_LIMIT_POLICY)이 체인과 함께 출시되며, 이 호출이 그중 하나를 PolicyConfig에서 사용할 수 있도록 만듭니다. 관리자 전용: 호출자는 컨소시엄 거버넌스로 지정된 PolicyAdmin이어야 합니다. 외부 dApp 빌더가 직접 호출할 일은 없으며, 프로토콜 감사 측면과 PolicySettemplateId가 등록된 템플릿을 참조하는 방식을 명확히 하기 위해 문서에 포함했습니다.

IPcl.contractPolicies

view 호출입니다. 대상 주소에 현재 적용 중인 컨트랙트 범위 ContractPolicyConfig를 반환합니다. admin과 전체 PolicySet[]이 포함됩니다. 컨트랙트 범위 설정이 등록되어 있지 않으면 빈 구조체(빈 policies 배열, zero admin)가 반환되며, 이때도 체인 전역 GlobalPolicyConfig는 그대로 적용됩니다. 정책 인스펙터 UI나 changeContractPolicies의 읽기-수정-쓰기 흐름에서 사용합니다.

IPcl.policyTemplate

view 호출입니다. 7개의 내장 PCL 템플릿 중 하나의 등록 레코드를 templateId로 조회합니다. 알려지지 않은 templateId이면 revert됩니다. 각 템플릿의 파라미터 구조는 IPcl.sol에 고정되어 있으며(예: DenylistPolicy { address[] addresses; }), policyTemplate은 레지스트리 메타데이터만 반환합니다. 파라미터 레이아웃을 알려면 해당 템플릿의 Solidity 구조체를 직접 참조해야 합니다.

IPcl.runOnPcl

PCL의 규제 컨텍스트 안에서 대상 컨트랙트에 대한 호출을 실행합니다. 이 함수는 '규제 트랙'의 진입점입니다. 먼저 발신자, 대상 컨트랙트, 호출 데이터를 기준으로 적용 대상이 되는 전역 및 컨트랙트별 정책 검사를 모두 실행합니다. 모든 검사가 통과하면 저수준 call을 사용하여 대상 컨트랙트에서 제공된 호출 데이터를 실행합니다. 검사 중 하나라도 실패하면 트랜잭션이 해당 오류로 revert됩니다.

IPcl.registerContractPolicies

특정 스마트 컨트랙트에 적용할 새로운 컴플라이언스 정책 세트를 등록합니다. 이 함수는 초기 정책 구성을 설정합니다. 대상 컨트랙트에 이미 정책이 등록된 경우 이 호출은 실패합니다. 기존 구성을 업데이트하려면 changeContractPolicies를 사용합니다. 호출자는 policy 구조체에 지정된 컨트랙트의 관리자이거나 해당 컨트랙트 자체여야 합니다.

IPcl.changeContractPolicies

스마트 컨트랙트의 기존 컴플라이언스 정책 묶음을 업데이트합니다. 이 호출은 이전 정책 구성을 새 구성으로 완전히 대체합니다. 정책을 추가하거나 제거하려면 기존 구성을 읽어와 PolicySet 배열을 수정한 다음 전체 새 구성을 제출합니다. 호출자는 대상 컨트랙트에 현재 등록된 관리자여야 합니다.

OKRW

ESC
검색어를 입력하세요