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.
}
ESC
검색어를 입력하세요