Enum pallet_recovery::pallet::Call [−][src]
pub enum Call<T: Config> { as_recovered(T::AccountId, Box<<T as Config>::Call>), set_recovered(T::AccountId, T::AccountId), create_recovery(Vec<T::AccountId>, u16, T::BlockNumber), initiate_recovery(T::AccountId), vouch_recovery(T::AccountId, T::AccountId), claim_recovery(T::AccountId), close_recovery(T::AccountId), remove_recovery(), cancel_recovered(T::AccountId), // some variants omitted }
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants
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)
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
create_recovery(Vec<T::AccountId>, u16, T::BlockNumber)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_recovery(T::AccountId)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)
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)
claim_recovery(T::AccountId)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)
close_recovery(T::AccountId)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_recovered(T::AccountId)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)
Trait Implementations
Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>Returns the fixed encoded size of the type. Read more
Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R, Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usizeCalculates the encoded size. Read more
Return the function name of the Call.
Return all function names.
Return a DispatchInfo, containing relevant information of this dispatch. Read more
Dispatch this call but do not check the filter in origin.
Auto Trait Implementations
impl<T> RefUnwindSafe for Call<T> where
T: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
<T as Config>::BlockNumber: RefUnwindSafe,
<T as Config>::Call: RefUnwindSafe, impl<T> Unpin for Call<T> where
T: Unpin,
<T as Config>::AccountId: Unpin,
<T as Config>::BlockNumber: Unpin, impl<T> UnwindSafe for Call<T> where
T: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
<T as Config>::BlockNumber: UnwindSafe,
<T as Config>::Call: 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
type Output = T
type Output = TShould always be Self
The counterpart to unchecked_from.
Consume self to return an equivalent value of T.
pub fn vzip(self) -> Vimpl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode, impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode, impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode, impl<T> EncodeLike<Arc<T>> for T where
T: Encode, impl<T> EncodeLike<Rc<T>> for T where
T: Encode, impl<T> MaybeDebug for T where
T: Debug, impl<T> MaybeDebug for T where
T: Debug,