Enum pallet_elections_phragmen::pallet::Call[][src]

pub enum Call<T: Config> {
    vote {
        votes: Vec<T::AccountId>,
        value: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
    },
    remove_voter {},
    submit_candidacy {
        candidate_count: u32,
    },
    renounce_candidacy {
        renouncing: Renouncing,
    },
    remove_member {
        who: <T::Lookup as StaticLookup>::Source,
        has_replacement: bool,
    },
    clean_defunct_voters {
        num_voters: u32,
        num_defunct: u32,
    },
    // some variants omitted
}
Expand description

Contains one variant per dispatchable that can be called by an extrinsic.

Variants

vote

Fields

votes: Vec<T::AccountId>
value: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance

Vote for a set of candidates for the upcoming round of election. This can be called to set the initial votes, or update already existing votes.

Upon initial voting, value units of who’s balance is locked and a deposit amount is reserved. The deposit is based on the number of votes and can be updated over time.

The votes should:

If value is more than who’s total balance, then the maximum of the two is used.

The dispatch origin of this call must be signed.

Warning

It is the responsibility of the caller to NOT place all of their balance into the lock and keep some for further operations.

We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.

remove_voter

Fields

Remove origin as a voter.

This removes the lock and returns the deposit.

The dispatch origin of this call must be signed and be a voter.

submit_candidacy

Fields

candidate_count: u32

Submit oneself for candidacy. A fixed amount of deposit is recorded.

All candidates are wiped at the end of the term. They either become a member/runner-up, or leave the system while their deposit is slashed.

The dispatch origin of this call must be signed.

Warning

Even if a candidate ends up being a member, they must call Call::renounce_candidacy to get their deposit back. Losing the spot in an election will always lead to a slash.

The number of current candidates must be provided as witness data.

renounce_candidacy

Fields

renouncing: Renouncing

Renounce one’s intention to be a candidate for the next election round. 3 potential outcomes exist:

The dispatch origin of this call must be signed, and have one of the above roles.

The type of renouncing must be provided as witness data.

remove_member

Fields

who: <T::Lookup as StaticLookup>::Source
has_replacement: bool

Remove a particular member from the set. This is effective immediately and the bond of the outgoing member is slashed.

If a runner-up is available, then the best runner-up will be removed and replaces the outgoing member. Otherwise, a new phragmen election is started.

The dispatch origin of this call must be root.

Note that this does not affect the designated block number of the next election.

If we have a replacement, we use a small weight. Else, since this is a root call and will go into phragmen, we assume full block for now.

clean_defunct_voters

Fields

num_voters: u32
num_defunct: u32

Clean all voters who are defunct (i.e. they do not serve any purpose at all). The deposit of the removed voters are returned.

This is an root function to be used only for cleaning the state.

The dispatch origin of this call must be root.

The total number of voters and those that are defunct must be provided as witness data.

Implementations

Create a call with the variant vote.

Create a call with the variant remove_voter.

Create a call with the variant submit_candidacy.

Create a call with the variant renounce_candidacy.

Create a call with the variant remove_member.

Create a call with the variant clean_defunct_voters.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Attempt to deserialise the value from input.

Attempt to skip the encoded value from input. Read more

Returns the fixed encoded size of the type. Read more

Convert self to a slice and append it to the destination.

If possible give a hint of expected size of the encoding. Read more

Convert self to an owned vector.

Convert self to a slice and then invoke the given closure with it.

Calculates 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

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

The type identifying for which type info is provided. Read more

Returns the static type identifier for Self.

The origin type of the runtime, (i.e. frame_system::Config::Origin).

Dispatch this call but do not check the filter in origin.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert from a value of T into an equivalent instance of Option<Self>. Read more

Consume self to return Some equivalent value of Option<T>. Read more

Decode Self and consume all of the given input data. Read more

Decode Self and consume all of the given input data. Read more

Decode Self and advance input by the number of bytes consumed. Read more

Decode Self with the given maximum recursion depth. 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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Compare self to key and return true if they are equal.

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Cast reference.

Cast reference.

Cast mutable reference.

Cast mutable reference.

Get a reference to the inner from the outer.

Get a mutable reference to the inner from the outer.

Return an encoding of Self prepended by given slice.

Should always be Self

Convert from a value of T into an equivalent instance of Self. Read more

Consume self to return an equivalent value of T. Read more

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

Checks if self is actually part of its subset T (and can be converted to it).

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

The inclusion map: converts self to the equivalent element of its superset.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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