SDK Reference
권한
PermissionClient를 사용하면 Story 내의 IP 계정에 대한 권한을 관리할 수 있습니다.
PermissionClient
메서드
- setPermission
- createSetPermissionSignature
- setAllPermissions
- setBatchPermissions
- createBatchPermissionSignature
setPermission
특정 함수 호출에 대한 권한을 설정합니다.
각 정책은 IP 계정 주소에서 서명자 주소로, 수신자
주소로, 함수 선택자로, 권한 수준으로의 매핑으로 표현됩니다. 권한 수준은 0 (기권), 1 (허용), 또는
2 (거부)일 수 있습니다.
기본적으로 모든 정책은 0 (기권)으로 설정되어 있으며, 이는 권한이 설정되지 않았음을 의미합니다. IP 계정의 소유자는 기본적으로 모든 권한을 가집니다.
메서드 | 타입 |
---|---|
setPermission | (request: SetPermissionsRequest) => Promise<SetPermissionsResponse> |
Parameters:
request.ipId
: 에 대한 권한을 부여하는 IP IDsigner
.request.signer
: 를 대신하여to
를 호출할 수 있는 주소ipAccount
.request.to
: 가 호출할 수 있는 주소signer
(현재는 모듈만to
일 수 있음)request.permission
: 새로운 권한 수준.request.func
: [선택사항] 가to
를 대신하여signer
가 호출할 수 있는ipAccount
의 함수 선택자 문자열. 기본적으로 모든 함수를 허용합니다.request.txOptions
: [선택사항] 트랜잭션 options.
Response Type
createSetPermissionSignature
특정 권한은 서명이 있는 와일드카드 권한을 재정의합니다.
메서드 | 타입 |
---|---|
createSetPermissionSignature | (request: CreateSetPermissionSignatureRequest) => Promise<SetPermissionsResponse> |
Parameters:
request.ipId
: 에 대한 권한을 부여하는 IP IDsigner
.request.signer
: 를 대신하여to
를 호출할 수 있는 주소ipAccount
.request.to
: 가 호출할 수 있는 주소signer
(현재는 모듈만to
일 수 있음)request.permission
: 새로운 권한 수준.request.func
: [선택사항] 가to
를 대신하여signer
가 호출할 수 있는ipAccount
의 함수 선택자 문자열. 기본적으로 모든 함수를 허용합니다.request.deadline
: [선택사항] 서명의 유효 기간(밀리초), 기본값은 1000ms입니다.request.txOptions
: [선택사항] 트랜잭션 options.
Response Type
setAllPermissions
모든 모듈의 모든 함수에 대해 서명자에게 권한을 설정합니다.
메서드 | 타입 |
---|---|
setAllPermissions | (request: SetAllPermissionsRequest) => Promise<SetPermissionsResponse> |
Parameters:
request.ipId
: 다음에 대한 권한을 부여하는 IP IDsigner
.request.signer
: 권한을 받는 서명자의 주소.request.permission
: 새로운 권한.request.txOptions
: [선택사항] 트랜잭션 옵션.
Response Type
setBatchPermissions
단일 트랜잭션에서 일괄 권한을 설정합니다.
메서드 | 타입 |
---|---|
setBatchPermissions | (request: SetBatchPermissionsRequest) => Promise<SetPermissionsResponse> |
Parameters:
request.permissions[]
: 배열Permission
구조, 각각 설정할 권한을 나타냅니다.request.permissions[].ipId
: 다음에 대한 권한을 부여하는 IP IDsigner
.request.permissions[].signer
: 다음을 대신하여 호출할 수 있는 주소to
의ipAccount
.request.permissions[].to
: 다음에 의해 호출될 수 있는 주소signer
(현재는 모듈만to
될 수 있음)request.permissions[].permission
: 새로운 권한 수준.request.permissions[].func
: [선택사항] 다음의 함수 선택자 문자열to
다음에 의해 호출될 수 있는signer
다음을 대신하여ipAccount
. 기본적으로 모든 함수를 허용합니다.
request.deadline
: [선택사항] 서명의 기한(밀리초), 기본값은 1000ms입니다.request.txOptions
: [선택사항] 트랜잭션 옵션.
Response Type
createBatchPermissionSignature
서명이 있는 단일 트랜잭션에서 일괄 권한을 설정합니다.
메서드 | 타입 |
---|---|
createBatchPermissionSignature | (request: CreateBatchPermissionSignatureRequest) => Promise<SetPermissionsResponse> |
Parameters:
request.ipId
: 다음에 대한 권한을 부여하는 IP IDsigner
request.permissions[]
- 배열Permission
구조, 각각 설정할 권한을 나타냅니다.request.permissions[].ipId
: 다음에 대한 권한을 부여하는 IP IDsigner
.request.permissions[].signer
: 다음을 대신하여 호출할 수 있는 주소to
의ipAccount
.request.permissions[].to
: 다음에 의해 호출될 수 있는 주소signer
(현재는 모듈만to
될 수 있음)request.permissions[].permission
: 새로운 권한 수준.request.permissions[].func
: [선택사항] 다음의 함수 선택자 문자열to
다음에 의해 호출될 수 있는signer
다음을 대신하여ipAccount
. 기본적으로 모든 함수를 허용합니다.
request.txOptions
: [선택사항] 트랜잭션 옵션.
Response Type