컨트랙트 정책 설정
SetContractPolicy(MsgSetContractPolicy) → MsgSetContractPolicyResponse 기존 정책 템플릿을 특정 스마트 컨트랙트 주소에 바인딩합니다. 설정되면 PCL은 해당 컨트랙트와 상호 작용하는 모든 트랜잭션에 대해 템플릿의 규칙을 강제합니다.
파라미터
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
admin | string | ✓ | 컨트랙트의 관리자 주소 (현재 정책 관리자와 일치해야 함). |
contract_address | string | ✓ | 대상 스마트 컨트랙트 주소. |
template_id | uint64 | ✓ | 적용할 정책 템플릿의 ID. |
반환값
타입:
MsgSetContractPolicyResponse 성공 시 빈 값.
에러
| 코드 | 이름 | 설명 |
|---|---|---|
ErrTemplateNotFound | Template Not Found | template_id가 존재하지 않는 경우. |
예제
토큰에 정책 바인딩
컨트랙트 0x123...에 템플릿 #42를 강제합니다.
msg := &pclv1.MsgSetContractPolicy{
Admin: "maroo1...",
ContractAddress: "0x123...",
TemplateId: 42,
}
resp, err := client.SetContractPolicy(ctx, msg)