Enum noble_recovery::Call [−][src]
Dispatchable calls.
Each variant of this enum maps to a dispatchable function from the associated module.
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
impl<T: Config> Clone for Call<T>
[src]
fn clone(&self) -> Self
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Config> Debug for Call<T>
[src]
impl<T: Config> Decode for Call<T> where
T::AccountId: Decode,
T::AccountId: Decode,
Box<<T as Config>::Call>: Decode,
Box<<T as Config>::Call>: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
Vec<T::AccountId>: Decode,
Vec<T::AccountId>: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
[src]
T::AccountId: Decode,
T::AccountId: Decode,
Box<<T as Config>::Call>: Decode,
Box<<T as Config>::Call>: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
Vec<T::AccountId>: Decode,
Vec<T::AccountId>: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
[src]
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
pub fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
[src]
I: Input,
pub fn encoded_fixed_size() -> Option<usize>
[src]
impl<T: Config> Encode for Call<T> where
T::AccountId: Encode,
T::AccountId: Encode,
Box<<T as Config>::Call>: Encode,
Box<<T as Config>::Call>: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
Vec<T::AccountId>: Encode,
Vec<T::AccountId>: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
[src]
T::AccountId: Encode,
T::AccountId: Encode,
Box<<T as Config>::Call>: Encode,
Box<<T as Config>::Call>: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
Vec<T::AccountId>: Encode,
Vec<T::AccountId>: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
[src]
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
pub fn size_hint(&self) -> usize
[src]
pub fn encode(&self) -> Vec<u8, Global>
[src]
pub fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
pub fn encoded_size(&self) -> usize
[src]
impl<T: Config> EncodeLike<Call<T>> for Call<T> where
T::AccountId: Encode,
T::AccountId: Encode,
Box<<T as Config>::Call>: Encode,
Box<<T as Config>::Call>: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
Vec<T::AccountId>: Encode,
Vec<T::AccountId>: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
[src]
T::AccountId: Encode,
T::AccountId: Encode,
Box<<T as Config>::Call>: Encode,
Box<<T as Config>::Call>: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
Vec<T::AccountId>: Encode,
Vec<T::AccountId>: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
impl<T: Config> Eq for Call<T>
[src]
impl<T: Config> GetCallName for Call<T>
[src]
fn get_call_name(&self) -> &'static str
[src]
fn get_call_names() -> &'static [&'static str]
[src]
impl<T: Config> GetDispatchInfo for Call<T>
[src]
fn get_dispatch_info(&self) -> DispatchInfo
[src]
impl<T: Config> PartialEq<Call<T>> for Call<T>
[src]
impl<T: Config> UnfilteredDispatchable for Call<T>
[src]
type Origin = T::Origin
The origin type of the runtime, (i.e. fabric_system::Config::Origin
).
fn dispatch_bypass_filter(
self,
_origin: Self::Origin
) -> DispatchResultWithPostInfo
[src]
self,
_origin: Self::Origin
) -> DispatchResultWithPostInfo
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,
T: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
<T as Config>::BlockNumber: RefUnwindSafe,
<T as Config>::Call: RefUnwindSafe,
impl<T> Send for Call<T> where
T: Send,
<T as Config>::Call: Send,
T: Send,
<T as Config>::Call: Send,
impl<T> Sync for Call<T> where
T: Sync,
<T as Config>::Call: Sync,
T: Sync,
<T as Config>::Call: Sync,
impl<T> Unpin for Call<T> where
T: Unpin,
<T as Config>::AccountId: Unpin,
<T as Config>::BlockNumber: Unpin,
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,
T: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
<T as Config>::BlockNumber: UnwindSafe,
<T as Config>::Call: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
pub fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<S> Codec for S where
S: Decode + Encode,
[src]
S: Decode + Encode,
impl<T> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
[src]
T: Decode,
pub fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
pub fn decode_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Any + Send + Sync,
T: Any + Send + Sync,
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
pub fn __clone_box(&self, Private) -> *mut ()
[src]
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T, Global>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: ToOwned + Encode,
[src]
T: ToOwned + Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> From<T> for T
[src]
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,
impl<T> Hashable for T where
T: Codec,
[src]
T: Codec,
pub fn blake2_128(&self) -> [u8; 16]
[src]
pub fn blake2_256(&self) -> [u8; 32]
[src]
pub fn blake2_128_concat(&self) -> Vec<u8, Global>
[src]
pub fn twox_128(&self) -> [u8; 16]
[src]
pub fn twox_256(&self) -> [u8; 32]
[src]
pub fn twox_64_concat(&self) -> Vec<u8, Global>
[src]
pub fn identity(&self) -> Vec<u8, Global>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
pub fn from_ref(t: &T) -> &T
[src]
pub fn into_ref(&self) -> &T
[src]
pub fn from_mut(t: &mut T) -> &mut T
[src]
pub fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T
Get a reference to the inner from the outer.
pub fn from_mut(outer: &mut Outer) -> &mut T
Get a mutable reference to the inner from the outer.
impl<T> KeyedVec for T where
T: Codec,
[src]
T: Codec,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Member for T where
T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone,
[src]
T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone,
impl<T> Parameter for T where
T: Codec + EncodeLike<T> + Clone + Eq + Debug,
[src]
T: Codec + EncodeLike<T> + Clone + Eq + Debug,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Self: UniqueSaturatedInto<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,