Skip to content

Doughnut pallet

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

Pallet index
48
Calls
4
Events
4
Errors
12
Storage items
3
Constants
0

Calls (extrinsics)

Doughnut.transact

See [Pallet::transact].

ts
api.tx.doughnut.transact(call: Call, doughnut: Bytes, nonce: u32, genesis_hash: H256, tip: u64, signature: Bytes)
ArgumentTypeDoc
callCallBox<<T as Config>::RuntimeCall>
doughnutBytesVec<u8>
nonceu32u32
genesis_hashH256T::Hash
tipu64u64
signatureBytesVec<u8>

Call index: 0

Doughnut.revoke_doughnut

See [Pallet::revoke_doughnut].

ts
api.tx.doughnut.revoke_doughnut(doughnut: Bytes, revoke: bool)
ArgumentTypeDoc
doughnutBytesVec<u8>
revokeboolbool

Call index: 1

Doughnut.revoke_holder

See [Pallet::revoke_holder].

ts
api.tx.doughnut.revoke_holder(holder: [u8;20], revoke: bool)
ArgumentTypeDoc
holder[u8;20]T::AccountId
revokeboolbool

Call index: 2

Doughnut.update_whitelisted_holders

See [Pallet::update_whitelisted_holders].

ts
api.tx.doughnut.update_whitelisted_holders(holder: [u8;20], add: bool)
ArgumentTypeDoc
holder[u8;20]T::AccountId
addboolbool

Call index: 3

Events

Doughnut.DoughnutCallExecuted

Doughnut transaction executed

FieldTypeDoc
doughnutBytes
callCall
resultResult&lt;Null, SpRuntimeDispatchError&gt;

Doughnut.WhitelistedHoldersUpdated

Whitelisted holders updated

FieldTypeDoc
holder[u8;20]
enabledbool

Doughnut.DoughnutRevokeStateUpdated

Doughnut revoke state updated

FieldTypeDoc
doughnut_hash[u8;32]
revokedbool

Doughnut.HolderRevokeStateUpdated

Holder revocation updated

FieldTypeDoc
issuer[u8;20]
holder[u8;20]
revokedbool

Errors

Doughnut.DoughnutDecodeFailed

Doguhnut decode failed.

Doughnut.UnsupportedDoughnutVersion

Unsupported doughnut version

Doughnut.DoughnutVerifyFailed

Doughnut verify failed

Doughnut.UnauthorizedSender

Sender is not authorized to use the doughnut

Doughnut.CallerNotIssuer

Cannot revoke doughnut that does was issued by another account

Doughnut.DoughnutRevoked

The doughnut has been revoked by the issuer

Doughnut.HolderRevoked

The holder address has been revoked by the issuer

Doughnut.ToppingDecodeFailed

Topping decode failed.

Doughnut.TRNDomainNotfound

Unable to find TRN domain.

Doughnut.ToppingPermissionDenied

Topping permissions denied.

Doughnut.UnsupportedInnerCall

Inner call is not whitelisted

Doughnut.HolderNotWhitelisted

Holder not whitelisted

Storage

Doughnut.BlockedDoughnuts

Storage map for revoked doughnut information

ts
await api.query.doughnut.blockedDoughnuts(key1)
  • Key: [u8;32] (hasher: Twox64Concat)
  • Returns: bool

Modifier: Default

Doughnut.BlockedHolders

Double map from issuer to blocked holder

ts
await api.query.doughnut.blockedHolders(key1, key2)
  • Key: (SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20) (hashers: Twox64Concat, Twox64Concat)
  • Returns: bool

Modifier: Default

Doughnut.WhitelistedHolders

Storage map for whitelisted holder information

ts
await api.query.doughnut.whitelistedHolders(key1)
  • Key: [u8;20] (hasher: Twox64Concat)
  • Returns: bool

Modifier: Default

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.