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.