Skip to content

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].

ts
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)
ArgumentTypeDoc
data_author[u8;20]T::AccountId
grantee[u8;20]T::AccountId
data_idsVec&lt;Bytes&gt;BoundedVec<DataId<T::StringLimit>, T::MaxPermissions>
permission{"_enum":["VIEW","MODIFY","DISTRIBUTE"]}DataPermission
expiryOption&lt;u32&gt;Option<BlockNumberFor<T>>
irrevocableboolbool

Call index: 0

SyloDataPermissions.revoke_data_permission ​

See [Pallet::revoke_data_permission].

ts
api.tx.syloDataPermissions.revoke_data_permission(data_author: [u8;20], permission_id: u32, grantee: [u8;20], data_id: Bytes)
ArgumentTypeDoc
data_author[u8;20]T::AccountId
permission_idu32u32
grantee[u8;20]T::AccountId
data_idBytesDataId<T::StringLimit>

Call index: 1

SyloDataPermissions.grant_tagged_permissions ​

See [Pallet::grant_tagged_permissions].

ts
api.tx.syloDataPermissions.grant_tagged_permissions(grantee: [u8;20], permission: {"_enum":["VIEW","MODIFY","DISTRIBUTE"]}, tags: Vec<Bytes>, expiry: Option<u32>, irrevocable: bool)
ArgumentTypeDoc
grantee[u8;20]T::AccountId
permission{"_enum":["VIEW","MODIFY","DISTRIBUTE"]}DataPermission
tagsVec&lt;Bytes&gt;BoundedVec<BoundedVec<u8, T::StringLimit>, T::MaxTags>
expiryOption&lt;u32&gt;Option<BlockNumberFor<T>>
irrevocableboolbool

Call index: 2

SyloDataPermissions.revoke_tagged_permission ​

See [Pallet::revoke_tagged_permission].

ts
api.tx.syloDataPermissions.revoke_tagged_permission(grantee: [u8;20], permission_id: u32)
ArgumentTypeDoc
grantee[u8;20]T::AccountId
permission_idu32u32

Call index: 3

SyloDataPermissions.grant_permission_reference ​

See [Pallet::grant_permission_reference].

ts
api.tx.syloDataPermissions.grant_permission_reference(grantee: [u8;20], permission_record_id: Bytes)
ArgumentTypeDoc
grantee[u8;20]T::AccountId
permission_record_idBytesBoundedVec<u8, T::StringLimit>

Call index: 4

SyloDataPermissions.revoke_permission_reference ​

See [Pallet::revoke_permission_reference].

ts
api.tx.syloDataPermissions.revoke_permission_reference(grantee: [u8;20])
ArgumentTypeDoc
grantee[u8;20]T::AccountId

Call index: 5

Events ​

SyloDataPermissions.DataPermissionGranted ​

An account has been granted permission for a given data record

FieldTypeDoc
data_author[u8;20]
grantor[u8;20]
grantee[u8;20]
data_idBytes
permission{"_enum":["VIEW","MODIFY","DISTRIBUTE"]}
expiryOption&lt;u32&gt;
irrevocablebool

SyloDataPermissions.DataPermissionRevoked ​

An account's permission has been revoked for a given data record

FieldTypeDoc
revoker[u8;20]
grantee[u8;20]
permission{"_enum":["VIEW","MODIFY","DISTRIBUTE"]}
data_idBytes

SyloDataPermissions.TaggedDataPermissionsGranted ​

An account has been granted tagged permissions

FieldTypeDoc
grantor[u8;20]
grantee[u8;20]
permission{"_enum":["VIEW","MODIFY","DISTRIBUTE"]}
tagsVec&lt;Bytes&gt;
expiryOption&lt;u32&gt;
irrevocablebool

SyloDataPermissions.TaggedDataPermissionsRevoked ​

One of the tagged permissions for an account has been revoked

FieldTypeDoc
revoker[u8;20]
grantee[u8;20]
permission{"_enum":["VIEW","MODIFY","DISTRIBUTE"]}
tagsVec&lt;Bytes&gt;

SyloDataPermissions.PermissionReferenceGranted ​

An account has been granted a permission reference

FieldTypeDoc
grantor[u8;20]
grantee[u8;20]
permission_record_idBytes

SyloDataPermissions.PermissionReferenceRevoked ​

An account's permission reference has been revoked

FieldTypeDoc
grantor[u8;20]
grantee[u8;20]
permission_record_idBytes

SyloDataPermissions.ExpiredDataPermissionRemoved ​

An expired permission has been automatically removed

FieldTypeDoc
data_author[u8;20]
grantee[u8;20]
data_idBytes
permission_idu32

SyloDataPermissions.ExpiredTaggedPermissionRemoved ​

An expired tagged permission has been automatically removed

FieldTypeDoc
data_author[u8;20]
grantee[u8;20]
permission_idu32

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 ​

ts
await api.query.syloDataPermissions.nextPermissionRecordId(key1)
  • Key: [u8;20] (hasher: Twox64Concat)
  • Returns: u32

Modifier: Default

SyloDataPermissions.PermissionRecords ​

ts
await api.query.syloDataPermissions.permissionRecords(key1, key2, key3)
  • Key: (SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20,Bytes) (hashers: Twox64Concat, Twox64Concat, Twox64Concat)
  • Returns: Vec<(u32,PalletSyloDataPermissionsPermissionRecord)>

Modifier: Default

SyloDataPermissions.ExpiringPermissionRecords ​

ts
await api.query.syloDataPermissions.expiringPermissionRecords(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Vec<(SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20,Bytes,u32)>

Modifier: Default

SyloDataPermissions.TaggedPermissionRecords ​

ts
await api.query.syloDataPermissions.taggedPermissionRecords(key1, key2)
  • Key: (SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20) (hashers: Twox64Concat, Twox64Concat)
  • Returns: Vec<(u32,PalletSyloDataPermissionsTaggedPermissionRecord)>

Modifier: Default

SyloDataPermissions.ExpiringTaggedPermissionRecords ​

ts
await api.query.syloDataPermissions.expiringTaggedPermissionRecords(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Vec<(SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20,u32)>

Modifier: Default

SyloDataPermissions.PermissionReferences ​

ts
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

Source: live chain metadata from wss://root.rootnet.live/archive/ws · captured 2026-05-02

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.