SyloDataPermissions pallet
Derived from live runtime metadata on TRN root (pallet index 55, captured 2026-05-02). For prose-style documentation see SyloDataPermissions on the curated reference side.
- Pallet index
55- Calls
- 6
- Events
- 8
- Errors
- 14
- Storage items
- 6
- Constants
- 9
Calls (extrinsics)
SyloDataPermissions.grant_data_permissions
See [
Pallet::grant_data_permissions].
api.tx.syloDataPermissions.grant_data_permissions(data_author: [u8;20], grantee: [u8;20], data_ids: Vec<Bytes>, permission: {"_enum":["VIEW","MODIFY","DISTRIBUTE"]}, expiry: Option<u32>, irrevocable: bool)| Argument | Type | Doc |
|---|---|---|
data_author | [u8;20] | T::AccountId |
grantee | [u8;20] | T::AccountId |
data_ids | Vec<Bytes> | BoundedVec<DataId<T::StringLimit>, T::MaxPermissions> |
permission | {"_enum":["VIEW","MODIFY","DISTRIBUTE"]} | DataPermission |
expiry | Option<u32> | Option<BlockNumberFor<T>> |
irrevocable | bool | bool |
Call index: 0
SyloDataPermissions.revoke_data_permission
See [
Pallet::revoke_data_permission].
api.tx.syloDataPermissions.revoke_data_permission(data_author: [u8;20], permission_id: u32, grantee: [u8;20], data_id: Bytes)| Argument | Type | Doc |
|---|---|---|
data_author | [u8;20] | T::AccountId |
permission_id | u32 | u32 |
grantee | [u8;20] | T::AccountId |
data_id | Bytes | DataId<T::StringLimit> |
Call index: 1
SyloDataPermissions.grant_tagged_permissions
See [
Pallet::grant_tagged_permissions].
api.tx.syloDataPermissions.grant_tagged_permissions(grantee: [u8;20], permission: {"_enum":["VIEW","MODIFY","DISTRIBUTE"]}, tags: Vec<Bytes>, expiry: Option<u32>, irrevocable: bool)| Argument | Type | Doc |
|---|---|---|
grantee | [u8;20] | T::AccountId |
permission | {"_enum":["VIEW","MODIFY","DISTRIBUTE"]} | DataPermission |
tags | Vec<Bytes> | BoundedVec<BoundedVec<u8, T::StringLimit>, T::MaxTags> |
expiry | Option<u32> | Option<BlockNumberFor<T>> |
irrevocable | bool | bool |
Call index: 2
SyloDataPermissions.revoke_tagged_permission
See [
Pallet::revoke_tagged_permission].
api.tx.syloDataPermissions.revoke_tagged_permission(grantee: [u8;20], permission_id: u32)| Argument | Type | Doc |
|---|---|---|
grantee | [u8;20] | T::AccountId |
permission_id | u32 | u32 |
Call index: 3
SyloDataPermissions.grant_permission_reference
See [
Pallet::grant_permission_reference].
api.tx.syloDataPermissions.grant_permission_reference(grantee: [u8;20], permission_record_id: Bytes)| Argument | Type | Doc |
|---|---|---|
grantee | [u8;20] | T::AccountId |
permission_record_id | Bytes | BoundedVec<u8, T::StringLimit> |
Call index: 4
SyloDataPermissions.revoke_permission_reference
See [
Pallet::revoke_permission_reference].
api.tx.syloDataPermissions.revoke_permission_reference(grantee: [u8;20])| Argument | Type | Doc |
|---|---|---|
grantee | [u8;20] | T::AccountId |
Call index: 5
Events
SyloDataPermissions.DataPermissionGranted
An account has been granted permission for a given data record
| Field | Type | Doc |
|---|---|---|
data_author | [u8;20] | |
grantor | [u8;20] | |
grantee | [u8;20] | |
data_id | Bytes | |
permission | {"_enum":["VIEW","MODIFY","DISTRIBUTE"]} | |
expiry | Option<u32> | |
irrevocable | bool |
SyloDataPermissions.DataPermissionRevoked
An account's permission has been revoked for a given data record
| Field | Type | Doc |
|---|---|---|
revoker | [u8;20] | |
grantee | [u8;20] | |
permission | {"_enum":["VIEW","MODIFY","DISTRIBUTE"]} | |
data_id | Bytes |
SyloDataPermissions.TaggedDataPermissionsGranted
An account has been granted tagged permissions
| Field | Type | Doc |
|---|---|---|
grantor | [u8;20] | |
grantee | [u8;20] | |
permission | {"_enum":["VIEW","MODIFY","DISTRIBUTE"]} | |
tags | Vec<Bytes> | |
expiry | Option<u32> | |
irrevocable | bool |
SyloDataPermissions.TaggedDataPermissionsRevoked
One of the tagged permissions for an account has been revoked
| Field | Type | Doc |
|---|---|---|
revoker | [u8;20] | |
grantee | [u8;20] | |
permission | {"_enum":["VIEW","MODIFY","DISTRIBUTE"]} | |
tags | Vec<Bytes> |
SyloDataPermissions.PermissionReferenceGranted
An account has been granted a permission reference
| Field | Type | Doc |
|---|---|---|
grantor | [u8;20] | |
grantee | [u8;20] | |
permission_record_id | Bytes |
SyloDataPermissions.PermissionReferenceRevoked
An account's permission reference has been revoked
| Field | Type | Doc |
|---|---|---|
grantor | [u8;20] | |
grantee | [u8;20] | |
permission_record_id | Bytes |
SyloDataPermissions.ExpiredDataPermissionRemoved
An expired permission has been automatically removed
| Field | Type | Doc |
|---|---|---|
data_author | [u8;20] | |
grantee | [u8;20] | |
data_id | Bytes | |
permission_id | u32 |
SyloDataPermissions.ExpiredTaggedPermissionRemoved
An expired tagged permission has been automatically removed
| Field | Type | Doc |
|---|---|---|
data_author | [u8;20] | |
grantee | [u8;20] | |
permission_id | u32 |
Errors
SyloDataPermissions.DataRecordDoesNotExist
Attempted to grant permissions for a data record that does not exist
SyloDataPermissions.IrrevocableCannotBeExpirable
A permission that is set to irrevocable cannot also set to have an expiry
SyloDataPermissions.InvalidExpiry
Expiry value for permission record is invalid
SyloDataPermissions.ExceededMaxPermissions
Exceeded the maximum number of record permissions granted to a given account
SyloDataPermissions.MissingDistributePermission
Attempted to grant a permission as a delegate without the required DISTRIBUTE permission
SyloDataPermissions.CannotGrantDistributePermission
Distribute permissions can only be granted by the data author
SyloDataPermissions.CannotGrantIrrevocablePermission
Irrevocable permissions can only be granted by the data author
SyloDataPermissions.PermissionIrrevocable
An irrevocable permission can not be revoked
SyloDataPermissions.NotPermissionGrantor
Only the account that granted a permission or the data author themselves can revoke a permission
SyloDataPermissions.PermissionNotFound
Cannot revoke a permission that does not exist
SyloDataPermissions.MissingValidationRecord
An accompanying verification record for the offchain permission does not exist
SyloDataPermissions.PermissionReferenceAlreadyExists
An existing permission reference has already been granted
SyloDataPermissions.ExceededMaxExpiringPermissions
Exceeded the maximum number of permissions that can expired on the same block
SyloDataPermissions.InvalidString
String values in an RPC call, in either the inputs or outputs are invalid
Storage
SyloDataPermissions.NextPermissionRecordId
await api.query.syloDataPermissions.nextPermissionRecordId(key1)- Key:
[u8;20](hasher: Twox64Concat) - Returns:
u32
Modifier: Default
SyloDataPermissions.PermissionRecords
await api.query.syloDataPermissions.permissionRecords(key1, key2, key3)- Key:
(SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20,Bytes)(hashers: Twox64Concat, Twox64Concat, Twox64Concat) - Returns:
Vec<(u32,PalletSyloDataPermissionsPermissionRecord)>
Modifier: Default
SyloDataPermissions.ExpiringPermissionRecords
await api.query.syloDataPermissions.expiringPermissionRecords(key1)- Key:
u32(hasher: Twox64Concat) - Returns:
Vec<(SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20,Bytes,u32)>
Modifier: Default
SyloDataPermissions.TaggedPermissionRecords
await api.query.syloDataPermissions.taggedPermissionRecords(key1, key2)- Key:
(SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20)(hashers: Twox64Concat, Twox64Concat) - Returns:
Vec<(u32,PalletSyloDataPermissionsTaggedPermissionRecord)>
Modifier: Default
SyloDataPermissions.ExpiringTaggedPermissionRecords
await api.query.syloDataPermissions.expiringTaggedPermissionRecords(key1)- Key:
u32(hasher: Twox64Concat) - Returns:
Vec<(SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20,u32)>
Modifier: Default
SyloDataPermissions.PermissionReferences
await api.query.syloDataPermissions.permissionReferences(key1, key2)- Key:
(SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20)(hashers: Twox64Concat, Twox64Concat) - Returns:
{"permissionRecordId":"Bytes"}
Modifier: Optional
Constants
SyloDataPermissions.MaxPermissions
Limit on the number of permissions that can be granted at once
Type: u32
SCALE-encoded value: 0x64000000
SyloDataPermissions.MaxExpiringPermissions
Limits the number of permissions that can expire on the same block
Type: u32
SCALE-encoded value: 0x0a000000
SyloDataPermissions.MaxTags
The maximum number of tags that can be used in a tagged permission record
Type: u32
SCALE-encoded value: 0x0a000000
SyloDataPermissions.MaxResolvers
The maximim number of resolvers in a validation record.
Type: u32
SCALE-encoded value: 0x0a000000
SyloDataPermissions.MaxEntries
The maximum number of entries in a validation record.
Type: u32
SCALE-encoded value: 0x64000000
SyloDataPermissions.MaxServiceEndpoints
The maximum number of service endpoints for a registered resolver.
Type: u32
SCALE-encoded value: 0x0a000000
SyloDataPermissions.MaxPermissionRecords
The maximum number of tagged permission records that can be granted to an account
Type: u32
SCALE-encoded value: 0x64000000
SyloDataPermissions.StringLimit
The max length used for data ids
Type: u32
SCALE-encoded value: 0xf4010000
SyloDataPermissions.PermissionRemovalDelay
The number of blocks an expired permission will persist on-chain before being automatically removed
Type: u32
SCALE-encoded value: 0x40e30900
wss://root.rootnet.live/archive/ws · captured 2026-05-02