Enum pallet_recovery::pallet::Call [−][src]
pub enum Call<T: Config> {
as_recovered {
account: T::AccountId,
call: Box<<T as Config>::Call>,
},
set_recovered {
lost: T::AccountId,
rescuer: T::AccountId,
},
create_recovery {
friends: Vec<T::AccountId>,
threshold: u16,
delay_period: T::BlockNumber,
},
initiate_recovery {
account: T::AccountId,
},
vouch_recovery {
lost: T::AccountId,
rescuer: T::AccountId,
},
claim_recovery {
account: T::AccountId,
},
close_recovery {
rescuer: T::AccountId,
},
remove_recovery {},
cancel_recovered {
account: 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 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)
Fields of create_recovery
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)
Fields of initiate_recovery
account: T::AccountId
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)
Fields of claim_recovery
account: 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)
Fields of close_recovery
rescuer: T::AccountId
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)
Fields of remove_recovery
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)
Fields of cancel_recovered
account: T::AccountId
Implementations
Create a call with the variant as_recovered
.
Create a call with the variant set_recovered
.
pub fn new_call_variant_create_recovery(
friends: Vec<T::AccountId>,
threshold: u16,
delay_period: T::BlockNumber
) -> Self
pub fn new_call_variant_create_recovery(
friends: Vec<T::AccountId>,
threshold: u16,
delay_period: T::BlockNumber
) -> Self
Create a call with the variant create_recovery
.
Create a call with the variant initiate_recovery
.
Create a call with the variant vouch_recovery
.
Create a call with the variant claim_recovery
.
Create a call with the variant close_recovery
.
Create a call with the variant remove_recovery
.
Create a call with the variant cancel_recovered
.
Trait Implementations
Return the function name of the Call.
Return all function names.
Return a DispatchInfo
, containing relevant information of this dispatch. Read more
impl<T: Config> TypeInfo for Call<T> where
PhantomData<(T,)>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
Box<<T as Config>::Call>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
Vec<T::AccountId>: TypeInfo + 'static,
T::BlockNumber: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T: Config + 'static,
impl<T: Config> TypeInfo for Call<T> where
PhantomData<(T,)>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
Box<<T as Config>::Call>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
Vec<T::AccountId>: TypeInfo + 'static,
T::BlockNumber: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T: Config + 'static,
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
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
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
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
Compare self to key
and return true
if they are equal.
Causes self
to use its Binary
implementation when Debug
-formatted.
Causes self
to use its Display
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerExp
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerHex
implementation when
Debug
-formatted. Read more
Causes self
to use its Octal
implementation when Debug
-formatted.
Causes self
to use its Pointer
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperExp
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperHex
implementation when
Debug
-formatted. Read more
Pipes by value. This is generally the method you want to use. Read more
Borrows self
and passes that borrow into the pipe function. Read more
Mutably borrows self
and passes that borrow into the pipe function. Read more
Borrows self
, then passes self.borrow()
into the pipe function. Read more
Mutably borrows self
, then passes self.borrow_mut()
into the pipe
function. Read more
Borrows self
, then passes self.as_ref()
into the pipe function.
Mutably borrows self
, then passes self.as_mut()
into the pipe
function. Read more
Borrows self
, then passes self.deref()
into the pipe function.
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more
Immutable access to the Borrow<B>
of a value. Read more
Mutable access to the BorrowMut<B>
of a value. Read more
Immutable access to the AsRef<R>
view of a value. Read more
Mutable access to the AsMut<R>
view of a value. Read more
Immutable access to the Deref::Target
of a value. Read more
Mutable access to the Deref::Target
of a value. Read more
Calls .tap()
only in debug builds, and is erased in release builds.
Calls .tap_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_deref()
only in debug builds, and is erased in release
builds. Read more
Provides immutable access to the reference for inspection.
Calls tap_ref
in debug builds, and does nothing in release builds.
Provides mutable access to the reference for modification.
Calls tap_ref_mut
in debug builds, and does nothing in release builds.
Provides immutable access to the borrow for inspection. Read more
Calls tap_borrow
in debug builds, and does nothing in release builds.
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
Immutably dereferences self
for inspection.
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Calls tap_deref
in debug builds, and does nothing in release builds.
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences self
for modification.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more