Struct pallet_recovery::pallet::Pallet [−][src]
pub struct Pallet<T>(_);
Expand description
The pallet implementing the on-chain logic.
Implementations
pub fn as_recovered(
origin: OriginFor<T>,
account: T::AccountId,
call: Box<<T as Config>::Call>
) -> DispatchResult
pub fn as_recovered(
origin: OriginFor<T>,
account: T::AccountId,
call: Box<<T as Config>::Call>
) -> DispatchResult
Send a call through a recovered account.
The dispatch origin for this call must be Signed and registered to be able to make calls on behalf of the recovered account.
Parameters:
account
: The recovered account you want to make a call on-behalf-of.call
: The call you want to make with the recovered account.
- The weight of the
call
+ 10,000. - One storage lookup to check account is recovered by
who
. O(1)
pub fn set_recovered(
origin: OriginFor<T>,
lost: T::AccountId,
rescuer: T::AccountId
) -> DispatchResult
pub fn set_recovered(
origin: OriginFor<T>,
lost: T::AccountId,
rescuer: T::AccountId
) -> DispatchResult
Allow ROOT to bypass the recovery process and set an a rescuer account for a lost account directly.
The dispatch origin for this call must be ROOT.
Parameters:
lost
: The “lost account” to be recovered.rescuer
: The “rescuer account” which can call as the lost account.
- One storage write O(1)
- One event
pub fn create_recovery(
origin: OriginFor<T>,
friends: Vec<T::AccountId>,
threshold: u16,
delay_period: T::BlockNumber
) -> DispatchResult
pub fn create_recovery(
origin: OriginFor<T>,
friends: Vec<T::AccountId>,
threshold: u16,
delay_period: T::BlockNumber
) -> DispatchResult
Create a recovery configuration for your account. This makes your account recoverable.
Payment: ConfigDepositBase
+ FriendDepositFactor
* #_of_friends balance
will be reserved for storing the recovery configuration. This deposit is returned
in full when the user calls remove_recovery
.
The dispatch origin for this call must be Signed.
Parameters:
friends
: A list of friends you trust to vouch for recovery attempts. Should be ordered and contain no duplicate values.threshold
: The number of friends that must vouch for a recovery attempt before the account can be recovered. Should be less than or equal to the length of the list of friends.delay_period
: The number of blocks after a recovery attempt is initialized that needs to pass before the account can be recovered.
- Key: F (len of friends)
- One storage read to check that account is not already recoverable. O(1).
- A check that the friends list is sorted and unique. O(F)
- One currency reserve operation. O(X)
- One storage write. O(1). Codec O(F).
- One event.
Total Complexity: O(F + X)
Initiate the process for recovering a recoverable account.
Payment: RecoveryDeposit
balance will be reserved for initiating the
recovery process. This deposit will always be repatriated to the account
trying to be recovered. See close_recovery
.
The dispatch origin for this call must be Signed.
Parameters:
account
: The lost account that you want to recover. This account needs to be recoverable (i.e. have a recovery configuration).
- One storage read to check that account is recoverable. O(F)
- One storage read to check that this recovery process hasn’t already started. O(1)
- One currency reserve operation. O(X)
- One storage read to get the current block number. O(1)
- One storage write. O(1).
- One event.
Total Complexity: O(F + X)
pub fn vouch_recovery(
origin: OriginFor<T>,
lost: T::AccountId,
rescuer: T::AccountId
) -> DispatchResult
pub fn vouch_recovery(
origin: OriginFor<T>,
lost: T::AccountId,
rescuer: T::AccountId
) -> DispatchResult
Allow a “friend” of a recoverable account to vouch for an active recovery process for that account.
The dispatch origin for this call must be Signed and must be a “friend” for the recoverable account.
Parameters:
lost
: The lost account that you want to recover.rescuer
: The account trying to rescue the lost account that you want to vouch for.
The combination of these two parameters must point to an active recovery process.
Key: F (len of friends in config), V (len of vouching friends)
- One storage read to get the recovery configuration. O(1), Codec O(F)
- One storage read to get the active recovery process. O(1), Codec O(V)
- One binary search to confirm caller is a friend. O(logF)
- One binary search to confirm caller has not already vouched. O(logV)
- One storage write. O(1), Codec O(V).
- One event.
Total Complexity: O(F + logF + V + logV)
Allow a successful rescuer to claim their recovered account.
The dispatch origin for this call must be Signed and must be a “rescuer”
who has successfully completed the account recovery process: collected
threshold
or more vouches, waited delay_period
blocks since initiation.
Parameters:
account
: The lost account that you want to claim has been successfully recovered by you.
Key: F (len of friends in config), V (len of vouching friends)
- One storage read to get the recovery configuration. O(1), Codec O(F)
- One storage read to get the active recovery process. O(1), Codec O(V)
- One storage read to get the current block number. O(1)
- One storage write. O(1), Codec O(V).
- One event.
Total Complexity: O(F + V)
As the controller of a recoverable account, close an active recovery process for your account.
Payment: By calling this function, the recoverable account will receive
the recovery deposit RecoveryDeposit
placed by the rescuer.
The dispatch origin for this call must be Signed and must be a recoverable account with an active recovery process for it.
Parameters:
rescuer
: The account trying to rescue this recoverable account.
Key: V (len of vouching friends)
- One storage read/remove to get the active recovery process. O(1), Codec O(V)
- One balance call to repatriate reserved. O(X)
- One event.
Total Complexity: O(V + X)
Remove the recovery process for your account. Recovered accounts are still accessible.
NOTE: The user must make sure to call close_recovery
on all active
recovery attempts before calling this function else it will fail.
Payment: By calling this function the recoverable account will unreserve
their recovery configuration deposit.
(ConfigDepositBase
+ FriendDepositFactor
* #_of_friends)
The dispatch origin for this call must be Signed and must be a recoverable account (i.e. has a recovery configuration).
Key: F (len of friends)
- One storage read to get the prefix iterator for active recoveries. O(1)
- One storage read/remove to get the recovery configuration. O(1), Codec O(F)
- One balance call to unreserved. O(X)
- One event.
Total Complexity: O(F + X)
Cancel the ability to use as_recovered
for account
.
The dispatch origin for this call must be Signed and registered to be able to make calls on behalf of the recovered account.
Parameters:
account
: The recovered account you are able to call on-behalf-of.
- One storage mutation to check account is recovered by
who
. O(1)
pub fn recovery_config<KArg>(
k: KArg
) -> Option<RecoveryConfig<T::BlockNumber, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::AccountId>> where
KArg: EncodeLike<T::AccountId>,
pub fn recovery_config<KArg>(
k: KArg
) -> Option<RecoveryConfig<T::BlockNumber, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::AccountId>> where
KArg: EncodeLike<T::AccountId>,
The set of recoverable accounts and their recovery configuration.
pub fn active_recovery<KArg1, KArg2>(
k1: KArg1,
k2: KArg2
) -> Option<ActiveRecovery<T::BlockNumber, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::AccountId>> where
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<T::AccountId>,
pub fn active_recovery<KArg1, KArg2>(
k1: KArg1,
k2: KArg2
) -> Option<ActiveRecovery<T::BlockNumber, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::AccountId>> where
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<T::AccountId>,
Active recovery attempts.
First account is the account to be recovered, and the second account is the user trying to recover the account.
Trait Implementations
Returns the current storage version as supported by the pallet.
Returns the on-chain storage version of the pallet as stored in the storage.
The block is being finalized. Implement to have something happen.
This will be run when the block is being finalized (before on_finalize
).
Implement to have something happen using the remaining weight.
Will not fire if the remaining weight is 0.
Return the weight used, the hook will subtract it from current weight used
and pass the result to the next on_idle
hook if it exists. Read more
The block is being initialized. Implement to have something happen. Read more
Perform a module upgrade. Read more
Execute some pre-checks prior to a runtime upgrade. Read more
Execute some post-checks after a runtime upgrade. Read more
Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
Run integrity test. Read more
Run integrity test. Read more
This function is being called after every block import (when fully synced). Read more
The block is being finalized. Implement to have something happen. Read more
Something that should happen at genesis.
The block is being finalized.
Implement to have something happen in case there is leftover weight.
Check the passed remaining_weight
to make sure it is high enough to allow for
your pallet’s extra computation. Read more
The block is being initialized. Implement to have something happen. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for Pallet<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Pallet<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Generate a storage key unique to this runtime upgrade. Read more
Get temporary storage data written by Self::set_temp_storage
. Read more
Write some temporary data to a specific storage that can be read (potentially in
post-upgrade hook) via Self::get_temp_storage
. Read more
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,