[−][src]Enum pallet_elections::Call
Dispatchable calls.
Each variant of this enum maps to a dispatchable function from the associated module.
Variants
set_approvals(Vec<bool>, VoteIndex, u32, <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance)
Set candidate approvals. Approval slots stay valid as long as candidates in those slots are registered.
Locks value
from the balance of origin
indefinitely. Only [retract_voter
] or
[reap_inactive_voter
] can unlock the balance.
hint
argument is interpreted differently based on:
- if
origin
is setting approvals for the first time: The index will be checked for being a valid hole in the voter list.- if the hint is correctly pointing to a hole, no fee is deducted from
origin
. - Otherwise, the call will succeed but the index is ignored and simply a push to the
last chunk with free space happens. If the new push causes a new chunk to be
created, a fee indicated by [
VotingFee
] is deducted.
- if the hint is correctly pointing to a hole, no fee is deducted from
- if
origin
is already a voter: the index must be valid and point to the correct position of theorigin
in the current voters list.
Note that any trailing false
votes in votes
is ignored; In approval voting, not
voting for a candidate and voting false, are equal.
- O(1).
- Two extra DB entries, one DB change.
- Argument
votes
is limited in length to number of candidates.
Remove a voter. For it not to be a bond-consuming no-op, all approved candidate indices must now be either unregistered or registered to a candidate that registered the slot after the voter gave their last approval set.
Both indices must be provided as explained in [voter_at
] function.
May be called by anyone. Returns the voter deposit to signed
.
- O(1).
- Two fewer DB entries, one DB change.
retract_voter(u32)
Remove a voter. All votes are cancelled and the voter deposit is returned.
The index must be provided as explained in [voter_at
] function.
Also removes the lock on the balance of the voter. See [do_set_approvals()
].
- O(1).
- Two fewer DB entries, one DB change.
submit_candidacy(u32)
Submit oneself for candidacy.
Account must have enough transferrable funds in it to pay the bond.
NOTE: if origin
has already assigned approvals via [set_approvals
],
it will NOT have any usable funds to pass candidacy bond and must first retract.
Note that setting approvals will lock the entire balance of the voter until
retraction or being reported.
- Independent of input.
- Three DB changes.
present_winner(<T::Lookup as StaticLookup>::Source, <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance, VoteIndex)
Claim that candidate
is one of the top carry_count + desired_seats
candidates. Only
works iff the presentation period is active. candidate
should have at least collected
some non-zero total
votes and origin
must have enough funds to pay for a potential
slash.
- O(voters) compute.
- One DB change.
set_desired_seats(u32)
Set the desired member count; if lower than the current count, then seats will not be up election when they expire. If more, then a new vote will be started if one is not already in progress.
remove_member(<T::Lookup as StaticLookup>::Source)
Remove a particular member from the set. This is effective immediately.
Note: A tally should happen instantly (if not already in a presentation period) to fill the seat if removal means that the desired members are not met.
set_presentation_duration(T::BlockNumber)
Set the presentation duration. If there is currently a vote being presented for, will
invoke finalize_vote
.
set_term_duration(T::BlockNumber)
Set the presentation duration. If there is current a vote being presented for, will
invoke finalize_vote
.
Trait Implementations
impl<T: Trait> Clone for Call<T>
[src]
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Trait> Debug for Call<T>
[src]
impl<T: Trait> Decode for Call<T> where
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
T::BlockNumber: HasCompact,
T::BlockNumber: HasCompact,
[src]
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<T::Lookup as StaticLookup>::Source: Decode,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
T::BlockNumber: HasCompact,
T::BlockNumber: HasCompact,
impl<T: Trait> Encode for Call<T> where
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
T::BlockNumber: HasCompact,
T::BlockNumber: HasCompact,
[src]
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
T::BlockNumber: HasCompact,
T::BlockNumber: HasCompact,
fn encode_to<EncOut: Output>(&self, dest: &mut EncOut)
[src]
fn size_hint(&self) -> usize
[src]
fn encode(&self) -> Vec<u8>
[src]
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
impl<T: Trait> EncodeLike<Call<T>> for Call<T> where
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
T::BlockNumber: HasCompact,
T::BlockNumber: HasCompact,
[src]
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<T::Lookup as StaticLookup>::Source: Encode,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
T::BlockNumber: HasCompact,
T::BlockNumber: HasCompact,
impl<T: Trait> Eq for Call<T>
[src]
impl<T: Trait> GetCallName for Call<T>
[src]
fn get_call_name(&self) -> &'static str
[src]
fn get_call_names() -> &'static [&'static str]
[src]
impl<T: Trait> GetDispatchInfo for Call<T>
[src]
fn get_dispatch_info(&self) -> DispatchInfo
[src]
impl<T: Trait> PartialEq<Call<T>> for Call<T>
[src]
impl<T: Trait> UnfilteredDispatchable for Call<T>
[src]
type Origin = T::Origin
The origin type of the runtime, (i.e. frame_system::Trait::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 Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: RefUnwindSafe,
<T as Trait>::BlockNumber: RefUnwindSafe,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: RefUnwindSafe,
T: RefUnwindSafe,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: RefUnwindSafe,
<T as Trait>::BlockNumber: RefUnwindSafe,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: RefUnwindSafe,
impl<T> Send for Call<T> where
T: Send,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Send,
<T as Trait>::BlockNumber: Send,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: Send,
T: Send,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Send,
<T as Trait>::BlockNumber: Send,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: Send,
impl<T> Sync for Call<T> where
T: Sync,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Sync,
<T as Trait>::BlockNumber: Sync,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: Sync,
T: Sync,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Sync,
<T as Trait>::BlockNumber: Sync,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: Sync,
impl<T> Unpin for Call<T> where
T: Unpin,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Unpin,
<T as Trait>::BlockNumber: Unpin,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: Unpin,
T: Unpin,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Unpin,
<T as Trait>::BlockNumber: Unpin,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: Unpin,
impl<T> UnwindSafe for Call<T> where
T: UnwindSafe,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: UnwindSafe,
<T as Trait>::BlockNumber: UnwindSafe,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: UnwindSafe,
T: UnwindSafe,
<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: UnwindSafe,
<T as Trait>::BlockNumber: UnwindSafe,
<T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
<T as Trait>::Lookup: StaticLookup,
<<T as Trait>::Lookup as StaticLookup>::Source: 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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<S> Codec for S where
S: Encode + Decode,
[src]
S: Encode + Decode,
impl<T, X> Decode for X where
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
[src]
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
impl<T> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
[src]
T: Decode,
fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
fn decode_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
impl<T, X> Encode for X where
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
[src]
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
fn size_hint(&self) -> usize
[src]
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
fn encode(&self) -> Vec<u8>
[src]
fn encode_to<W>(&self, dest: &mut W) where
W: Output,
[src]
W: Output,
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>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: Encode + ToOwned,
[src]
T: Encode + ToOwned,
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,
fn blake2_128(&self) -> [u8; 16]
[src]
fn blake2_256(&self) -> [u8; 32]
[src]
fn blake2_128_concat(&self) -> Vec<u8>
[src]
fn twox_128(&self) -> [u8; 16]
[src]
fn twox_256(&self) -> [u8; 32]
[src]
fn twox_64_concat(&self) -> Vec<u8>
[src]
fn identity(&self) -> Vec<u8>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
fn from_ref(t: &T) -> &T
[src]
fn into_ref(&self) -> &T
[src]
fn from_mut(t: &mut T) -> &mut T
[src]
fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
[src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
fn from_mut(outer: &mut Outer) -> &mut T
[src]
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 + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
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
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Self: UniqueSaturatedFrom<T>,
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.
fn to_owned(&self) -> T
[src]
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.
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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,