Skip to main content

PermissionClient

Methods

  • setPermission
  • createSetPermissionSignature
  • setAllPermissions
  • setBatchPermissions
  • createBatchPermissionSignature

setPermission

Sets the permission for a specific function call. Each policy is represented as a mapping from an IP account address to a signer address to a recipient
address to a function selector to a permission level. The permission level can be 0 (ABSTAIN), 1 (ALLOW), or
2 (DENY).
By default, all policies are set to 0 (ABSTAIN), which means that the permission is not set. The owner of IP Account by default has all permission. Parameters:
  • request.ipId: The IP ID that grants the permission for signer.
  • request.signer: The address that can call to on behalf of the ipAccount.
  • request.to: The address that can be called by the signer (currently only modules can be to)
  • request.permission: The new permission level.
  • request.func: [Optional] The function selector string of to that can be called by the signer on behalf of the ipAccount. By default, it allows all functions.
Response Type

createSetPermissionSignature

Specific permission overrides wildcard permission with signature. Parameters:
  • request.ipId: The IP ID that grants the permission for signer.
  • request.signer: The address that can call to on behalf of the ipAccount.
  • request.to: The address that can be called by the signer (currently only modules can be to)
  • request.permission: The new permission level.
  • request.func: [Optional] The function selector string of to that can be called by the signer on behalf of the ipAccount. By default, it allows all functions.
  • request.deadline: [Optional] The deadline for the signature in milliseconds, default is 1000ms.
Response Type

setAllPermissions

Sets permission to a signer for all functions across all modules. Parameters:
  • request.ipId: The IP ID that grants the permission for signer.
  • request.signer: The address of the signer receiving the permissions.
  • request.permission: The new permission.
Response Type

setBatchPermissions

Sets a batch of permissions in a single transaction. Parameters:
  • request.permissions[]: An array of Permission structure, each representing the permission to be set.
    • request.permissions[].ipId: The IP ID that grants the permission for signer.
    • request.permissions[].signer: The address that can call to on behalf of the ipAccount.
    • request.permissions[].to: The address that can be called by the signer (currently only modules can be to)
    • request.permissions[].permission: The new permission level.
    • request.permissions[].func: [Optional] The function selector string of to that can be called by the signer on behalf of the ipAccount. By default, it allows all functions.
  • request.deadline: [Optional] The deadline for the signature in milliseconds, default is 1000ms.
Response Type

createBatchPermissionSignature

Sets a batch of permissions in a single transaction with signature. Parameters:
  • request.ipId: The IP ID that grants the permission for signer
  • request.permissions[] - An array of Permission structure, each representing the permission to be set.
    • request.permissions[].ipId: The IP ID that grants the permission for signer.
    • request.permissions[].signer: The address that can call to on behalf of the ipAccount.
    • request.permissions[].to: The address that can be called by the signer (currently only modules can be to)
    • request.permissions[].permission: The new permission level.
    • request.permissions[].func: [Optional] The function selector string of to that can be called by the signer on behalf of the ipAccount. By default, it allows all functions.
Response Type