IPcl.registerPolicyTemplate
registerPolicyTemplate(string calldata templateId) external 내장 정책 템플릿을 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 빌더가 직접 호출할 일은 없으며, 프로토콜 감사 측면과 PolicySet의 templateId가 등록된 템플릿을 참조하는 방식을 명확히 하기 위해 문서에 포함했습니다.
파라미터
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
templateId | string | ✓ | 7개 내장 템플릿 중 하나의 정확한 이름입니다. 알려진 템플릿 ID와 일치해야 하며, 임의의 문자열을 전달하면 revert됩니다. |
반환값
타입:
void 반환값이 없습니다. 성공 시 PolicyTemplateRegistered(string templateId) 이벤트가 발행됩니다.
예제
관리자 전용: 내장 템플릿 등록
// Caller must be PolicyAdmin. Reverts otherwise.
IPcl constant PCL = IPcl(0x1000000000000000000000000000000000000005);
PCL.registerPolicyTemplate("DENYLIST_POLICY");
PCL.registerPolicyTemplate("VOLUME_POLICY");
// ... and the other five built-in template IDs