Struct sp_npos_elections::StakedAssignment [−][src]
pub struct StakedAssignment<AccountId> {
    pub who: AccountId,
    pub distribution: Vec<(AccountId, ExtendedBalance)>,
}Expand description
A voter’s stake assignment among a set of targets, represented as absolute values in the scale
of ExtendedBalance.
Fields
who: AccountIdVoter’s identifier
distribution: Vec<(AccountId, ExtendedBalance)>The distribution of the voter’s stake.
Implementations
pub fn into_assignment<P: PerThing>(self) -> Assignment<AccountId, P> where
    AccountId: IdentifierT, 
pub fn into_assignment<P: PerThing>(self) -> Assignment<AccountId, P> where
    AccountId: IdentifierT, Converts self into the normal Assignment type.
NOTE: This will always round down, and thus the results might be less than a full 100% P.
Use a normalization post-processing to fix this. The data type returned here will
potentially get used to create a compact type; a compact type requires sum of ratios to be
less than 100% upon un-compacting.
If an edge stake is so small that it cannot be represented in T, it is ignored. This edge
can never be re-created and does not mean anything useful anymore.
Try and normalize this assignment.
If Ok(()) is returned, then the assignment MUST have been successfully normalized to
stake.
NOTE: current implementation of .normalize is almost safe to expect() upon. The only
error case is when the input cannot fit in T, or the sum of input cannot fit in T.
Sadly, both of these are dependent upon the implementation of VoteLimit, i.e. the limit of
edges per voter which is enforced from upstream. Hence, at this crate, we prefer returning a
result and a use the name prefix try_.
Get the total stake of this assignment (aka voter budget).
Trait Implementations
impl<AccountId> Decode for StakedAssignment<AccountId> where
    AccountId: Decode,
    AccountId: Decode,
    Vec<(AccountId, ExtendedBalance)>: Decode,
    Vec<(AccountId, ExtendedBalance)>: Decode, 
impl<AccountId> Decode for StakedAssignment<AccountId> where
    AccountId: Decode,
    AccountId: Decode,
    Vec<(AccountId, ExtendedBalance)>: Decode,
    Vec<(AccountId, ExtendedBalance)>: Decode, Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>Returns the fixed encoded size of the type. Read more
Returns the “default value” for a type. Read more
impl<AccountId> Encode for StakedAssignment<AccountId> where
    AccountId: Encode,
    AccountId: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode, 
impl<AccountId> Encode for StakedAssignment<AccountId> where
    AccountId: Encode,
    AccountId: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode, Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
    F: FnOnce(&[u8]) -> R, 
fn using_encoded<R, F>(&self, f: F) -> R where
    F: FnOnce(&[u8]) -> R, Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usizeCalculates the encoded size. Read more
impl<AccountId: PartialEq> PartialEq<StakedAssignment<AccountId>> for StakedAssignment<AccountId>
impl<AccountId: PartialEq> PartialEq<StakedAssignment<AccountId>> for StakedAssignment<AccountId>This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
impl<AccountId> EncodeLike<StakedAssignment<AccountId>> for StakedAssignment<AccountId> where
    AccountId: Encode,
    AccountId: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode, Auto Trait Implementations
impl<AccountId> RefUnwindSafe for StakedAssignment<AccountId> where
    AccountId: RefUnwindSafe, impl<AccountId> Send for StakedAssignment<AccountId> where
    AccountId: Send, impl<AccountId> Sync for StakedAssignment<AccountId> where
    AccountId: Sync, impl<AccountId> Unpin for StakedAssignment<AccountId> where
    AccountId: Unpin, impl<AccountId> UnwindSafe for StakedAssignment<AccountId> where
    AccountId: UnwindSafe, Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
    T: Any, 
impl<T> Downcast for T where
    T: Any, 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
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>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
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)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
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = TShould always be Self
The counterpart to unchecked_from.
Consume self to return an equivalent value of T.
pub fn vzip(self) -> Vimpl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode, impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode, impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode, impl<T> EncodeLike<Arc<T>> for T where
    T: Encode, impl<T> EncodeLike<Rc<T>> for T where
    T: Encode, impl<T> MaybeDebug for T where
    T: Debug,