권한

메서드

  • set_permission
  • create_set_permission_signature
  • set_all_permissions

set_permission

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

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

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

메서드
set_permission

Parameters:

  • ip_id: 에 대한 권한을 부여하는 IP ID입니다.signer.
  • signer: 를 대신하여 를 호출할 수 있는 주소입니다.to ipAccount.
  • to: 가 호출할 수 있는 주소입니다signer (현재는 모듈만 가능합니다to)
  • permission: 새로운 권한 수준.
  • func: [선택사항] 호출할 수 있는 함수 선택자 문자열to을 대신하여signer가 호출할 수 있는ipAccount. 기본적으로 모든 함수를 허용합니다.
  • tx_options: [선택사항] 트랜잭션 옵션 딕셔너리.
set_permission_response = story_client.Permission.set_permission(
  ip_id="0x01",
  signer="0x1234567890123456789012345678901234567890",
  to="0x2345678901234567890123456789012345678901",
  permission=1,  # ALLOW
  func="0x12345678"  # Optional function selector
)

create_set_permission_signature

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

메서드
create_set_permission_signature

Parameters:

  • ip_id: 에 대한 권한을 부여하는 IP IDsigner.
  • signer: 을 대신하여 호출할 수 있는 주소to를 대신하여ipAccount.
  • to: 가 호출할 수 있는 주소signer (현재는 모듈만 될 수 있음to)
  • permission: 새로운 권한 수준.
  • func: [선택사항] 호출할 수 있는 함수 선택자 문자열to을 대신하여signer가 호출할 수 있는ipAccount. 기본적으로 모든 함수를 허용합니다.
  • deadline: [선택사항] 서명의 기한(밀리초), 기본값은 1000ms입니다.
  • tx_options: [선택사항] 트랜잭션 옵션 딕셔너리.
response = story_client.PermissionClient.create_set_permission_signature(
  ip_id="0x01",
  signer="0x1234567890123456789012345678901234567890",
  to="0x2345678901234567890123456789012345678901",
  permission=1,  # ALLOW
  func="0x12345678",  # Optional function selector
  deadline=1000  # Optional deadline in milliseconds
)

set_all_permissions

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

메서드
set_all_permissions

Parameters:

  • ip_id: 에 대한 권한을 부여하는 IP IDsigner.
  • signer: 권한을 받는 서명자의 주소.
  • permission: 새로운 권한.
  • tx_options: [선택사항] 트랜잭션 옵션 딕셔너리.
response = story_client.PermissionClient.set_all_permissions(
  ip_id="0x01",
  signer="0x1234567890123456789012345678901234567890",
  permission=1  # ALLOW
)