[][src]Struct pallet_elections::Module

pub struct Module<T: Trait>(_);

Implementations

impl<T: Trait + 'static> Module<T>[src]

pub fn presentation_duration() -> T::BlockNumber[src]

How long to give each top candidate to present themselves after the vote ends.

pub fn term_duration() -> T::BlockNumber[src]

How long each position is active for.

pub fn desired_seats() -> u32[src]

Number of accounts that should constitute the collective.

pub fn members() -> Vec<(T::AccountId, T::BlockNumber)>[src]

The current membership. When there's a vote going on, this should still be used for executive matters. The block number (second element in the tuple) is the block that their position is active until (calculated by the sum of the block number when the member was elected and their term duration).

pub fn vote_index() -> VoteIndex[src]

The total number of vote rounds that have happened or are in progress.

pub fn approvals_of<K: EncodeLike<(T::AccountId, u32)>>(key: K) -> Vec<u32>[src]

TWOX-NOTE: SAFE as AccountId is a crypto hash and SetIndex is not attacker-controlled.

pub fn candidate_reg_info<K: EncodeLike<T::AccountId>>(
    key: K
) -> Option<(VoteIndex, u32)>
[src]

The vote index and list slot that the candidate who was registered or None if they are not currently registered.

TWOX-NOTE: SAFE as AccountId is a crypto hash.

pub fn voter_info<K: EncodeLike<T::AccountId>>(
    key: K
) -> Option<VoterInfo<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>>
[src]

Basic information about a voter.

TWOX-NOTE: SAFE as AccountId is a crypto hash.

pub fn voters<K: EncodeLike<u32>>(key: K) -> Vec<Option<T::AccountId>>[src]

The present voter list (chunked and capped at VOTER_SET_SIZE).

TWOX-NOTE: OKAY ― SetIndex is not user-controlled data.

pub fn next_nonfull_voter_set() -> u32[src]

the next free set to store a voter in. This will keep growing.

pub fn voter_count() -> u32[src]

Current number of Voters.

pub fn candidates() -> Vec<T::AccountId>[src]

The present candidate list.

pub fn candidate_count() -> u32[src]

Current number of active candidates

pub fn next_finalize() -> Option<(T::BlockNumber, u32, Vec<T::AccountId>)>[src]

The accounts holding the seats that will become free on the next tally.

pub fn leaderboard(
) -> Option<Vec<(<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance, T::AccountId)>>
[src]

Get the leaderboard if we're in the presentation phase. The first element is the weight of each entry; It may be the direct summed approval stakes, or a weighted version of it. Sorted from low to high.

impl<T: Trait> Module<T>[src]

pub fn presentation_active() -> bool[src]

True if we're currently in a presentation period.

pub fn is_a_candidate(who: &T::AccountId) -> bool[src]

If who a candidate at the moment?

pub fn will_still_be_member_at(who: &T::AccountId, n: T::BlockNumber) -> bool[src]

Iff the member who still has a seat at blocknumber n returns true.

pub fn next_vote_from(n: T::BlockNumber) -> T::BlockNumber[src]

Determine the block that a vote can happen on which is no less than n.

pub fn next_tally() -> Option<T::BlockNumber>[src]

The block number on which the tally for the next election will happen. None only if the desired seats of the set is zero.

pub fn bool_to_flag(x: Vec<bool>) -> Vec<u32>[src]

Convert a vec of boolean approval flags to a vec of integers, as denoted by the type ApprovalFlag. see bool_to_flag_should_work test for examples.

pub fn flag_to_bool(chunk: Vec<u32>) -> Vec<bool>[src]

Convert a vec of flags (u32) to boolean.

Trait Implementations

impl<T: Trait> Callable<T> for Module<T>[src]

type Call = Call<T>

impl<T: Clone + Trait> Clone for Module<T>[src]

impl<T: Copy + Trait> Copy for Module<T>[src]

impl<T: Trait> Debug for Module<T> where
    T: Debug
[src]

impl<T: Eq + Trait> Eq for Module<T>[src]

impl<T: Trait> IntegrityTest for Module<T>[src]

impl<T: Trait> ModuleErrorMetadata for Module<T>[src]

impl<T: Trait + Trait> OffchainWorker<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait + Trait> OnFinalize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait + Trait> OnInitialize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnRuntimeUpgrade for Module<T>[src]

impl<T: PartialEq + Trait> PartialEq<Module<T>> for Module<T>[src]

impl<T: Trait> StructuralEq for Module<T>[src]

impl<T: Trait> StructuralPartialEq for Module<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Module<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for Module<T> where
    T: Send
[src]

impl<T> Sync for Module<T> where
    T: Sync
[src]

impl<T> Unpin for Module<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for Module<T> where
    T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,