PermissionClient

메서드

  • setPermission
  • createSetPermissionSignature
  • setAllPermissions
  • setBatchPermissions
  • createBatchPermissionSignature

setPermission

특정 함수 호출에 대한 권한을 설정합니다.

각 정책은 IP 계정 주소에서 서명자 주소로, 수신자
주소로, 함수 선택자로, 권한 수준으로의 매핑으로 표현됩니다. 권한 수준은 0 (기권), 1 (허용), 또는
2 (거부)일 수 있습니다.

기본적으로 모든 정책은 0 (기권)으로 설정되어 있으며, 이는 권한이 설정되지 않았음을 의미합니다. IP 계정의 소유자는 기본적으로 모든 권한을 가집니다.

메서드타입
setPermission(request: SetPermissionsRequest) => Promise<SetPermissionsResponse>

Parameters:

  • request.ipId: 에 대한 권한을 부여하는 IP ID signer.
  • request.signer: 를 대신하여 to를 호출할 수 있는 주소 ipAccount.
  • request.to: 가 호출할 수 있는 주소 signer (현재는 모듈만 to일 수 있음)
  • request.permission: 새로운 권한 수준.
  • request.func: [선택사항] 가 to를 대신하여 signer가 호출할 수 있는 ipAccount의 함수 선택자 문자열. 기본적으로 모든 함수를 허용합니다.
  • request.txOptions: [선택사항] 트랜잭션 options.
Response Type
export type SetPermissionsResponse = {
  txHash?: string;
  encodedTxData?: EncodedTxData;
  success?: boolean;
};

createSetPermissionSignature

특정 권한은 서명이 있는 와일드카드 권한을 재정의합니다.

메서드타입
createSetPermissionSignature(request: CreateSetPermissionSignatureRequest) => Promise<SetPermissionsResponse>

Parameters:

  • request.ipId: 에 대한 권한을 부여하는 IP ID signer.
  • request.signer: 를 대신하여 to를 호출할 수 있는 주소 ipAccount.
  • request.to: 가 호출할 수 있는 주소 signer (현재는 모듈만 to일 수 있음)
  • request.permission: 새로운 권한 수준.
  • request.func: [선택사항] 가 to를 대신하여 signer가 호출할 수 있는 ipAccount의 함수 선택자 문자열. 기본적으로 모든 함수를 허용합니다.
  • request.deadline: [선택사항] 서명의 유효 기간(밀리초), 기본값은 1000ms입니다.
  • request.txOptions: [선택사항] 트랜잭션 options.
Response Type
export type SetPermissionsResponse = {
  txHash?: string;
  encodedTxData?: EncodedTxData;
  success?: boolean;
};

setAllPermissions

모든 모듈의 모든 함수에 대해 서명자에게 권한을 설정합니다.

메서드타입
setAllPermissions(request: SetAllPermissionsRequest) => Promise<SetPermissionsResponse>

Parameters:

  • request.ipId: 다음에 대한 권한을 부여하는 IP ID signer.
  • request.signer: 권한을 받는 서명자의 주소.
  • request.permission: 새로운 권한.
  • request.txOptions: [선택사항] 트랜잭션 옵션.
Response Type
export type SetPermissionsResponse = {
  txHash?: string;
  encodedTxData?: EncodedTxData;
  success?: boolean;
};

setBatchPermissions

단일 트랜잭션에서 일괄 권한을 설정합니다.

메서드타입
setBatchPermissions(request: SetBatchPermissionsRequest) => Promise<SetPermissionsResponse>

Parameters:

  • request.permissions[]: 배열 Permission 구조, 각각 설정할 권한을 나타냅니다.
    • request.permissions[].ipId: 다음에 대한 권한을 부여하는 IP ID signer.
    • request.permissions[].signer: 다음을 대신하여 호출할 수 있는 주소 toipAccount.
    • request.permissions[].to: 다음에 의해 호출될 수 있는 주소 signer (현재는 모듈만 to될 수 있음)
    • request.permissions[].permission: 새로운 권한 수준.
    • request.permissions[].func: [선택사항] 다음의 함수 선택자 문자열 to 다음에 의해 호출될 수 있는 signer 다음을 대신하여 ipAccount. 기본적으로 모든 함수를 허용합니다.
  • request.deadline: [선택사항] 서명의 기한(밀리초), 기본값은 1000ms입니다.
  • request.txOptions: [선택사항] 트랜잭션 옵션.
Response Type
export type SetPermissionsResponse = {
  txHash?: string;
  encodedTxData?: EncodedTxData;
  success?: boolean;
};

createBatchPermissionSignature

서명이 있는 단일 트랜잭션에서 일괄 권한을 설정합니다.

메서드타입
createBatchPermissionSignature(request: CreateBatchPermissionSignatureRequest) => Promise<SetPermissionsResponse>

Parameters:

  • request.ipId: 다음에 대한 권한을 부여하는 IP ID signer
  • request.permissions[] - 배열 Permission 구조, 각각 설정할 권한을 나타냅니다.
    • request.permissions[].ipId: 다음에 대한 권한을 부여하는 IP ID signer.
    • request.permissions[].signer: 다음을 대신하여 호출할 수 있는 주소 toipAccount.
    • request.permissions[].to: 다음에 의해 호출될 수 있는 주소 signer (현재는 모듈만 to될 수 있음)
    • request.permissions[].permission: 새로운 권한 수준.
    • request.permissions[].func: [선택사항] 다음의 함수 선택자 문자열 to 다음에 의해 호출될 수 있는 signer 다음을 대신하여 ipAccount. 기본적으로 모든 함수를 허용합니다.
  • request.txOptions: [선택사항] 트랜잭션 옵션.
Response Type
export type SetPermissionsResponse = {
  txHash?: string;
  encodedTxData?: EncodedTxData;
  success?: boolean;
};