Enum pallet_vesting::pallet::Call
source · pub enum Call<T: Config> {
vest {},
vest_other {
target: <<T as Config>::Lookup as StaticLookup>::Source,
},
vested_transfer {
target: <<T as Config>::Lookup as StaticLookup>::Source,
schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>,
},
force_vested_transfer {
source: <<T as Config>::Lookup as StaticLookup>::Source,
target: <<T as Config>::Lookup as StaticLookup>::Source,
schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>,
},
merge_schedules {
schedule1_index: u32,
schedule2_index: u32,
},
// some variants omitted
}
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants§
vest
Fields
Unlock any vested funds of the sender account.
The dispatch origin for this call must be Signed and the sender must have funds still locked under this pallet.
Emits either VestingCompleted
or VestingUpdated
.
O(1)
.- DbWeight: 2 Reads, 2 Writes
- Reads: Vesting Storage, Balances Locks, [Sender Account]
- Writes: Vesting Storage, Balances Locks, [Sender Account]
vest_other
Fields
target: <<T as Config>::Lookup as StaticLookup>::Source
Unlock any vested funds of a target
account.
The dispatch origin for this call must be Signed.
target
: The account whose vested funds should be unlocked. Must have funds still locked under this pallet.
Emits either VestingCompleted
or VestingUpdated
.
O(1)
.- DbWeight: 3 Reads, 3 Writes
- Reads: Vesting Storage, Balances Locks, Target Account
- Writes: Vesting Storage, Balances Locks, Target Account
vested_transfer
Fields
target: <<T as Config>::Lookup as StaticLookup>::Source
schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>
Create a vested transfer.
The dispatch origin for this call must be Signed.
target
: The account receiving the vested funds.schedule
: The vesting schedule attached to the transfer.
Emits VestingCreated
.
NOTE: This will unlock all schedules through the current block.
O(1)
.- DbWeight: 3 Reads, 3 Writes
- Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]
- Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]
force_vested_transfer
Fields
source: <<T as Config>::Lookup as StaticLookup>::Source
target: <<T as Config>::Lookup as StaticLookup>::Source
schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>
Force a vested transfer.
The dispatch origin for this call must be Root.
source
: The account whose funds should be transferred.target
: The account that should be transferred the vested funds.schedule
: The vesting schedule attached to the transfer.
Emits VestingCreated
.
NOTE: This will unlock all schedules through the current block.
O(1)
.- DbWeight: 4 Reads, 4 Writes
- Reads: Vesting Storage, Balances Locks, Target Account, Source Account
- Writes: Vesting Storage, Balances Locks, Target Account, Source Account
merge_schedules
Merge two vesting schedules together, creating a new vesting schedule that unlocks over the highest possible start and end blocks. If both schedules have already started the current block will be used as the schedule start; with the caveat that if one schedule is finished by the current block, the other will be treated as the new merged schedule, unmodified.
NOTE: If schedule1_index == schedule2_index
this is a no-op.
NOTE: This will unlock all schedules through the current block prior to merging.
NOTE: If both schedules have ended by the current block, no new schedule will be created
and both will be removed.
Merged schedule attributes:
starting_block
:MAX(schedule1.starting_block, scheduled2.starting_block, current_block)
.ending_block
:MAX(schedule1.ending_block, schedule2.ending_block)
.locked
:schedule1.locked_at(current_block) + schedule2.locked_at(current_block)
.
The dispatch origin for this call must be Signed.
schedule1_index
: index of the first schedule to merge.schedule2_index
: index of the second schedule to merge.
Implementations§
source§impl<T: Config> Call<T>
impl<T: Config> Call<T>
sourcepub fn new_call_variant_vest() -> Self
pub fn new_call_variant_vest() -> Self
Create a call with the variant vest
.
sourcepub fn new_call_variant_vest_other(
target: <<T as Config>::Lookup as StaticLookup>::Source
) -> Self
pub fn new_call_variant_vest_other( target: <<T as Config>::Lookup as StaticLookup>::Source ) -> Self
Create a call with the variant vest_other
.
sourcepub fn new_call_variant_vested_transfer(
target: <<T as Config>::Lookup as StaticLookup>::Source,
schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>
) -> Self
pub fn new_call_variant_vested_transfer( target: <<T as Config>::Lookup as StaticLookup>::Source, schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber> ) -> Self
Create a call with the variant vested_transfer
.
sourcepub fn new_call_variant_force_vested_transfer(
source: <<T as Config>::Lookup as StaticLookup>::Source,
target: <<T as Config>::Lookup as StaticLookup>::Source,
schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>
) -> Self
pub fn new_call_variant_force_vested_transfer( source: <<T as Config>::Lookup as StaticLookup>::Source, target: <<T as Config>::Lookup as StaticLookup>::Source, schedule: VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber> ) -> Self
Create a call with the variant force_vested_transfer
.
sourcepub fn new_call_variant_merge_schedules(
schedule1_index: u32,
schedule2_index: u32
) -> Self
pub fn new_call_variant_merge_schedules( schedule1_index: u32, schedule2_index: u32 ) -> Self
Create a call with the variant merge_schedules
.
Trait Implementations§
source§impl<T: Config> Decode for Call<T>
impl<T: Config> Decode for Call<T>
source§impl<T: Config> Encode for Call<T>
impl<T: Config> Encode for Call<T>
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
source§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
source§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
source§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
source§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo
, containing relevant information of this dispatch. Read moresource§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
frame_support::dispatch
source§impl<T: Config> PartialEq<Call<T>> for Call<T>
impl<T: Config> PartialEq<Call<T>> for Call<T>
source§impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
<<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>: TypeInfo + 'static,
T: Config + 'static,
impl<T> TypeInfo for Call<T>where PhantomData<(T,)>: TypeInfo + 'static, <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static, VestingInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber>: TypeInfo + 'static, T: Config + 'static,
source§impl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
§type RuntimeOrigin = <T as Config>::RuntimeOrigin
type RuntimeOrigin = <T as Config>::RuntimeOrigin
frame_system::Config::RuntimeOrigin
).source§fn dispatch_bypass_filter(
self,
origin: Self::RuntimeOrigin
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter( self, origin: Self::RuntimeOrigin ) -> DispatchResultWithPostInfo
impl<T: Config> EncodeLike<Call<T>> for Call<T>
impl<T: Config> Eq for Call<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Call<T>where T: RefUnwindSafe, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe, <T as Config>::BlockNumber: RefUnwindSafe, <<T as Config>::Lookup as StaticLookup>::Source: RefUnwindSafe,
impl<T> Send for Call<T>where T: Send, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Send, <<T as Config>::Lookup as StaticLookup>::Source: Send,
impl<T> Sync for Call<T>where T: Sync, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Sync, <<T as Config>::Lookup as StaticLookup>::Source: Sync,
impl<T> Unpin for Call<T>where T: Unpin, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Unpin, <T as Config>::BlockNumber: Unpin, <<T as Config>::Lookup as StaticLookup>::Source: Unpin,
impl<T> UnwindSafe for Call<T>where T: UnwindSafe, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: UnwindSafe, <T as Config>::BlockNumber: UnwindSafe, <<T as Config>::Lookup as StaticLookup>::Source: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere T: Codec,
fn blake2_128(&self) -> [u8; 16]
fn blake2_256(&self) -> [u8; 32]
fn blake2_128_concat(&self) -> Vec<u8, Global> ⓘ
fn twox_128(&self) -> [u8; 16]
fn twox_256(&self) -> [u8; 32]
fn twox_64_concat(&self) -> Vec<u8, Global> ⓘ
fn identity(&self) -> Vec<u8, Global> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.