Skip to content

Recovery pallet

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

Pallet index
33
Calls
9
Events
6
Errors
16
Storage items
3
Constants
4

Calls (extrinsics)

Recovery.as_recovered

See [Pallet::as_recovered].

ts
api.tx.recovery.as_recovered(account: [u8;20], call: Call)
ArgumentTypeDoc
account[u8;20]AccountIdLookupOf<T>
callCallBox<<T as Config>::RuntimeCall>

Call index: 0

Recovery.set_recovered

See [Pallet::set_recovered].

ts
api.tx.recovery.set_recovered(lost: [u8;20], rescuer: [u8;20])
ArgumentTypeDoc
lost[u8;20]AccountIdLookupOf<T>
rescuer[u8;20]AccountIdLookupOf<T>

Call index: 1

Recovery.create_recovery

See [Pallet::create_recovery].

ts
api.tx.recovery.create_recovery(friends: Vec<SeedPrimitivesSignatureAccountId20>, threshold: u16, delay_period: u32)
ArgumentTypeDoc
friendsVec&lt;SeedPrimitivesSignatureAccountId20&gt;Vec<T::AccountId>
thresholdu16u16
delay_periodu32BlockNumberFor<T>

Call index: 2

Recovery.initiate_recovery

See [Pallet::initiate_recovery].

ts
api.tx.recovery.initiate_recovery(account: [u8;20])
ArgumentTypeDoc
account[u8;20]AccountIdLookupOf<T>

Call index: 3

Recovery.vouch_recovery

See [Pallet::vouch_recovery].

ts
api.tx.recovery.vouch_recovery(lost: [u8;20], rescuer: [u8;20])
ArgumentTypeDoc
lost[u8;20]AccountIdLookupOf<T>
rescuer[u8;20]AccountIdLookupOf<T>

Call index: 4

Recovery.claim_recovery

See [Pallet::claim_recovery].

ts
api.tx.recovery.claim_recovery(account: [u8;20])
ArgumentTypeDoc
account[u8;20]AccountIdLookupOf<T>

Call index: 5

Recovery.close_recovery

See [Pallet::close_recovery].

ts
api.tx.recovery.close_recovery(rescuer: [u8;20])
ArgumentTypeDoc
rescuer[u8;20]AccountIdLookupOf<T>

Call index: 6

Recovery.remove_recovery

See [Pallet::remove_recovery].

ts
api.tx.recovery.remove_recovery()

Call index: 7

Recovery.cancel_recovered

See [Pallet::cancel_recovered].

ts
api.tx.recovery.cancel_recovered(account: [u8;20])
ArgumentTypeDoc
account[u8;20]AccountIdLookupOf<T>

Call index: 8

Events

Recovery.RecoveryCreated

A recovery process has been set up for an account.

FieldTypeDoc
account[u8;20]

Recovery.RecoveryInitiated

A recovery process has been initiated for lost account by rescuer account.

FieldTypeDoc
lost_account[u8;20]
rescuer_account[u8;20]

Recovery.RecoveryVouched

A recovery process for lost account by rescuer account has been vouched for by sender.

FieldTypeDoc
lost_account[u8;20]
rescuer_account[u8;20]
sender[u8;20]

Recovery.RecoveryClosed

A recovery process for lost account by rescuer account has been closed.

FieldTypeDoc
lost_account[u8;20]
rescuer_account[u8;20]

Recovery.AccountRecovered

Lost account has been successfully recovered by rescuer account.

FieldTypeDoc
lost_account[u8;20]
rescuer_account[u8;20]

Recovery.RecoveryRemoved

A recovery process has been removed for an account.

FieldTypeDoc
lost_account[u8;20]

Errors

Recovery.NotAllowed

User is not allowed to make a call on behalf of this account

Recovery.ZeroThreshold

Threshold must be greater than zero

Recovery.NotEnoughFriends

Friends list must be greater than zero and threshold

Recovery.MaxFriends

Friends list must be less than max friends

Recovery.NotSorted

Friends list must be sorted and free of duplicates

Recovery.NotRecoverable

This account is not set up for recovery

Recovery.AlreadyRecoverable

This account is already set up for recovery

Recovery.AlreadyStarted

A recovery process has already started for this account

Recovery.NotStarted

A recovery process has not started for this rescuer

Recovery.NotFriend

This account is not a friend who can vouch

Recovery.DelayPeriod

The friend must wait until the delay period to vouch for this recovery

Recovery.AlreadyVouched

This user has already vouched for this recovery

Recovery.Threshold

The threshold for recovering this account has not been met

Recovery.StillActive

There are still active recovery attempts that need to be closed

Recovery.AlreadyProxy

This account is already set up for recovery

Recovery.BadState

Some internal state is broken.

Storage

Recovery.Recoverable

The set of recoverable accounts and their recovery configuration.

ts
await api.query.recovery.recoverable(key1)
  • Key: [u8;20] (hasher: Twox64Concat)
  • Returns: {"delayPeriod":"u32","deposit":"u128","friends":"Vec<SeedPrimitivesSignatureAccountId20>","threshold":"u16"}

Modifier: Optional

Recovery.ActiveRecoveries

Active recovery attempts. First account is the account to be recovered, and the second account is the user trying to recover the account.

ts
await api.query.recovery.activeRecoveries(key1, key2)
  • Key: (SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20) (hashers: Twox64Concat, Twox64Concat)
  • Returns: {"created":"u32","deposit":"u128","friends":"Vec<SeedPrimitivesSignatureAccountId20>"}

Modifier: Optional

Recovery.Proxy

The list of allowed proxy accounts. Map from the user who can access it to the recovered account.

ts
await api.query.recovery.proxy(key1)
  • Key: [u8;20] (hasher: Blake2_128Concat)
  • Returns: [u8;20]

Modifier: Optional

Constants

Recovery.ConfigDepositBase

The base amount of currency needed to reserve for creating a recovery configuration. This is held for an additional storage item whose value size is 2 + sizeof(BlockNumber, Balance) bytes.

Type: u128
SCALE-encoded value: 0x0a000000000000000000000000000000

Recovery.FriendDepositFactor

The amount of currency needed per additional user when creating a recovery configuration. This is held for adding sizeof(AccountId) bytes more into a pre-existing storage value.

Type: u128
SCALE-encoded value: 0x01000000000000000000000000000000

Recovery.MaxFriends

The maximum amount of friends allowed in a recovery configuration. NOTE: The threshold programmed in this Pallet uses u16, so it does not really make sense to have a limit here greater than u16::MAX. But also, that is a lot more than you should probably set this value to anyway...

Type: u32
SCALE-encoded value: 0x03000000

Recovery.RecoveryDeposit

The base amount of currency needed to reserve for starting a recovery. This is primarily held for deterring malicious recovery attempts, and should have a value large enough that a bad actor would choose not to place this deposit. It also acts to fund additional storage item whose value size is sizeof(BlockNumber, Balance + T * AccountId) bytes. Where T is a configurable threshold.

Type: u128
SCALE-encoded value: 0x0a000000000000000000000000000000

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.