Skip to content

SyloActionPermissions pallet

Derived from live runtime metadata on TRN root (pallet index 56, captured 2026-05-02). For prose-style documentation see SyloActionPermissions on the curated reference side.

Pallet index
56
Calls
5
Events
5
Errors
11
Storage items
2
Constants
4

Calls (extrinsics)

SyloActionPermissions.grant_transact_permission

See [Pallet::grant_transact_permission].

ts
api.tx.syloActionPermissions.grant_transact_permission(grantee: [u8;20], spender: {"_enum":["GRANTOR","GRANTEE"]}, spending_balance: Option<u128>, allowed_calls: BTreeSet<(Bytes,Bytes)>, expiry: Option<u32>)
ArgumentTypeDoc
grantee[u8;20]T::AccountId
spender{"_enum":["GRANTOR","GRANTEE"]}Spender
spending_balanceOption&lt;u128&gt;Option<Balance>
allowed_callsBTreeSet&lt;(Bytes,Bytes)&gt;BoundedBTreeSet<CallId<T::StringLimit>, T::MaxCallIds>
expiryOption&lt;u32&gt;Option<BlockNumberFor<T>>

Call index: 0

SyloActionPermissions.update_transact_permission

See [Pallet::update_transact_permission].

ts
api.tx.syloActionPermissions.update_transact_permission(grantee: [u8;20], spender: Option<PalletSyloActionPermissionsSpender>, spending_balance: Option<Option<u128>>, allowed_calls: Option<BTreeSet<(Bytes,Bytes)>>, expiry: Option<Option<u32>>)
ArgumentTypeDoc
grantee[u8;20]T::AccountId
spenderOption&lt;PalletSyloActionPermissionsSpender&gt;Option<Spender>
spending_balanceOption&lt;Option&lt;u128&gt;&gt;Option<Option<Balance>>
allowed_callsOption&lt;BTreeSet&lt;(Bytes,Bytes)&gt;&gt;Option<BoundedBTreeSet<CallId<T::StringLimit>, T::MaxCallIds>>
expiryOption&lt;Option&lt;u32&gt;&gt;Option<Option<BlockNumberFor<T>>>

Call index: 1

SyloActionPermissions.revoke_transact_permission

See [Pallet::revoke_transact_permission].

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

Call index: 2

SyloActionPermissions.accept_transact_permission

See [Pallet::accept_transact_permission].

ts
api.tx.syloActionPermissions.accept_transact_permission(permission_token: {"grantee":"SeedPrimitivesSignatureAccountId20","useFuturepass":"bool","spender":"PalletSyloActionPermissionsSpender","spendingBalance":"Option<u128>","allowedCalls":"BTreeSet<(Bytes,Bytes)>","expiry":"Option<u32>","nonce":"U256"}, token_signature: {"_enum":{"EIP191":"[u8;65]","XRPL":"PalletSyloActionPermissionsXrplTokenSignature"}})
ArgumentTypeDoc
permission_token{"grantee":"SeedPrimitivesSignatureAccountId20","useFuturepass":"bool","spender":"PalletSyloActionPermissionsSpender","spendingBalance":"Option&lt;u128&gt;","allowedCalls":"BTreeSet&lt;(Bytes,Bytes)&gt;","expiry":"Option&lt;u32&gt;","nonce":"U256"}*TransactPermissionToken<T::AccountId, BlockNumberFor<T>, T::
MaxCallIds, T::StringLimit,>*
token_signature{"_enum":{"EIP191":"[u8;65]","XRPL":"PalletSyloActionPermissionsXrplTokenSignature"}}*TransactPermissionTokenSignature<T::XrplMaxMessageLength, T::
XrplMaxSignatureLength,>*

Call index: 3

SyloActionPermissions.transact

See [Pallet::transact].

ts
api.tx.syloActionPermissions.transact(grantor: [u8;20], call: Call)
ArgumentTypeDoc
grantor[u8;20]T::AccountId
callCallBox<<T as Config>::RuntimeCall>

Call index: 4

Events

SyloActionPermissions.TransactPermissionGranted

A transact permission was granted.

FieldTypeDoc
grantor[u8;20]
grantee[u8;20]
spender{"_enum":["GRANTOR","GRANTEE"]}
spending_balanceOption&lt;u128&gt;
allowed_callsVec&lt;(Bytes,Bytes)&gt;
expiryOption&lt;u32&gt;

SyloActionPermissions.PermissionTransactExecuted

A permissioned transaction was executed.

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

SyloActionPermissions.TransactPermissionUpdated

A transact permission was updated.

FieldTypeDoc
grantor[u8;20]
grantee[u8;20]
spender{"_enum":["GRANTOR","GRANTEE"]}
spending_balanceOption&lt;u128&gt;
allowed_callsVec&lt;(Bytes,Bytes)&gt;
expiryOption&lt;u32&gt;

SyloActionPermissions.TransactPermissionRevoked

A transact permission was revoked.

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

SyloActionPermissions.TransactPermissionAccepted

A transact permission was accepted.

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

Errors

SyloActionPermissions.PermissionNotGranted

The permission does not exist or has not been granted.

SyloActionPermissions.NotAuthorizedCall

The call is not authorized under the granted permission.

SyloActionPermissions.PermissionExpired

The permission has expired and is no longer valid.

SyloActionPermissions.InvalidExpiry

The provided expiry block is in the past.

SyloActionPermissions.PermissionAlreadyExists

A permission already exists and has not yet expired.

SyloActionPermissions.InvalidSpendingBalance

The specified spending balance is not allowed.

SyloActionPermissions.InvalidTokenSignature

The provided token signature is invalid or cannot be verified.

SyloActionPermissions.GranteeDoesNotMatch

The grantee in the token does not match the caller.

SyloActionPermissions.NonceAlreadyUsed

The nonce provided in the token has already been used.

SyloActionPermissions.InvalidFuturepassInToken

The futurepass in the token is not owned by the grantor.

SyloActionPermissions.InsufficientSpendingBalance

The spending balance is insufficient to cover the transaction fee.

Storage

SyloActionPermissions.TransactPermissions

Holds transact permission records.

ts
await api.query.syloActionPermissions.transactPermissions(key1, key2)
  • Key: (SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20) (hashers: Blake2_128Concat, Blake2_128Concat)
  • Returns: {"spender":"PalletSyloActionPermissionsSpender","spendingBalance":"Option<u128>","allowedCalls":"BTreeSet<(Bytes,Bytes)>","block":"u32","expiry":"Option<u32>"}

Modifier: Optional

SyloActionPermissions.TokenSignatureNonces

Nonces that have already been used for token signatures.

ts
await api.query.syloActionPermissions.tokenSignatureNonces(key1)
  • Key: U256 (hasher: Blake2_128Concat)
  • Returns: bool

Modifier: Default

Constants

SyloActionPermissions.MaxCallIds

The maximum number of modules allowed in a transact permission.

Type: u32
SCALE-encoded value: 0xc8000000

SyloActionPermissions.StringLimit

The maximum number of modules allowed in a transact permission.

Type: u32
SCALE-encoded value: 0xf4010000

SyloActionPermissions.XrplMaxMessageLength

The maximum bounded length for the XRPL signed message/transaction.

Type: u32
SCALE-encoded value: 0x00080000

SyloActionPermissions.XrplMaxSignatureLength

The maximum bounded length for the XRPL signature.

Type: u32
SCALE-encoded value: 0x00080000

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.