IPcl.contractPolicies
contractPolicies(address contractAddress) external view returns (ContractPolicyConfig memory) view 호출입니다. 대상 주소에 현재 적용 중인 컨트랙트 범위 ContractPolicyConfig를 반환합니다. admin과 전체 PolicySet[]이 포함됩니다. 컨트랙트 범위 설정이 등록되어 있지 않으면 빈 구조체(빈 policies 배열, zero admin)가 반환되며, 이때도 체인 전역 GlobalPolicyConfig는 그대로 적용됩니다. 정책 인스펙터 UI나 changeContractPolicies의 읽기-수정-쓰기 흐름에서 사용합니다.
파라미터
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
contractAddress | address | ✓ | 조회할 컨트랙트의 주소입니다. |
반환값
타입:
ContractPolicyConfig 관리자 정보와 적용된 정책을 담는 구성 구조체입니다.
예제
컨트랙트 정책 구성 읽기
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.18;
import { IPcl, ContractPolicyConfig } from "@maroo-chain/contracts/IPcl.sol";
IPcl constant PCL = IPcl(0x1000000000000000000000000000000000000005);
function inspect(address targetContract) external view returns (uint256 policyCount, address admin) {
ContractPolicyConfig memory cfg = PCL.contractPolicies(targetContract);
return (cfg.policies.length, cfg.admin);
// cfg.policies.length == 0 means no contract-scoped config — only the
// chain-wide GlobalPolicyConfig applies to this contract.
}