Struct pallet_scored_pool::pallet::Pallet
source · pub struct Pallet<T, I = ()>(_);
Expand description
The pallet implementing the on-chain logic.
Implementations
sourceimpl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
sourcepub fn submit_candidacy(origin: OriginFor<T>) -> DispatchResult
pub fn submit_candidacy(origin: OriginFor<T>) -> DispatchResult
Add origin
to the pool of candidates.
This results in CandidateDeposit
being reserved from
the origin
account. The deposit is returned once
candidacy is withdrawn by the candidate or the entity
is kicked by KickOrigin
.
The dispatch origin of this function must be signed.
The index
parameter of this function must be set to
the index of the transactor in the Pool
.
sourcepub fn withdraw_candidacy(origin: OriginFor<T>, index: u32) -> DispatchResult
pub fn withdraw_candidacy(origin: OriginFor<T>, index: u32) -> DispatchResult
An entity withdraws candidacy and gets its deposit back.
If the entity is part of the Members
, then the highest member
of the Pool
that is not currently in Members
is immediately
placed in the set instead.
The dispatch origin of this function must be signed.
The index
parameter of this function must be set to
the index of the transactor in the Pool
.
sourcepub fn kick(
origin: OriginFor<T>,
dest: <<T as Config>::Lookup as StaticLookup>::Source,
index: u32
) -> DispatchResult
pub fn kick(
origin: OriginFor<T>,
dest: <<T as Config>::Lookup as StaticLookup>::Source,
index: u32
) -> DispatchResult
Kick a member who
from the set.
May only be called from T::KickOrigin
.
The index
parameter of this function must be set to
the index of dest
in the Pool
.
sourcepub fn score(
origin: OriginFor<T>,
dest: <<T as Config>::Lookup as StaticLookup>::Source,
index: u32,
score: T::Score
) -> DispatchResult
pub fn score(
origin: OriginFor<T>,
dest: <<T as Config>::Lookup as StaticLookup>::Source,
index: u32,
score: T::Score
) -> DispatchResult
Score a member who
with score
.
May only be called from T::ScoreOrigin
.
The index
parameter of this function must be set to
the index of the dest
in the Pool
.
sourcepub fn change_member_count(origin: OriginFor<T>, count: u32) -> DispatchResult
pub fn change_member_count(origin: OriginFor<T>, count: u32) -> DispatchResult
Dispatchable call to change MemberCount
.
This will only have an effect the next time a refresh happens
(this happens each Period
).
May only be called from root.
sourceimpl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
sourcepub fn candidate_exists<KArg>(k: KArg) -> boolwhere
KArg: EncodeLike<T::AccountId>,
pub fn candidate_exists<KArg>(k: KArg) -> boolwhere
KArg: EncodeLike<T::AccountId>,
A Map of the candidates. The information in this Map is redundant
to the information in the Pool
. But the Map enables us to easily
check if a candidate is already in the pool, without having to
iterate over the entire pool (the Pool
is not sorted by
T::AccountId
, but by T::Score
instead).
Trait Implementations
sourceimpl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
sourcefn current_storage_version() -> StorageVersion
fn current_storage_version() -> StorageVersion
sourcefn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
sourceimpl<T: Config<I>, I: 'static> Hooks<<T as Config>::BlockNumber> for Pallet<T, I>
impl<T: Config<I>, I: 'static> Hooks<<T as Config>::BlockNumber> for Pallet<T, I>
sourcefn on_initialize(n: T::BlockNumber) -> Weight
fn on_initialize(n: T::BlockNumber) -> Weight
Every Period
blocks the Members
set is refreshed from the
highest scoring members in the pool.
sourcefn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
sourcefn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
on_finalize
).
Implement to have something happen using the remaining weight.
Will not fire if the remaining weight is 0.
Return the weight used, the hook will subtract it from current weight used
and pass the result to the next on_idle
hook if it exists. Read moresourcefn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
sourcefn try_state(_n: BlockNumber) -> Result<(), &'static str>
fn try_state(_n: BlockNumber) -> Result<(), &'static str>
sourcefn pre_upgrade() -> Result<Vec<u8, Global>, &'static str>
fn pre_upgrade() -> Result<Vec<u8, Global>, &'static str>
sourcefn post_upgrade(_state: Vec<u8, Global>) -> Result<(), &'static str>
fn post_upgrade(_state: Vec<u8, Global>) -> Result<(), &'static str>
sourcefn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
sourcefn integrity_test()
fn integrity_test()
sourceimpl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
sourcefn integrity_test()
fn integrity_test()
sourceimpl<T: Config<I>, I: 'static> OffchainWorker<<T as Config>::BlockNumber> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OffchainWorker<<T as Config>::BlockNumber> for Pallet<T, I>
sourcefn offchain_worker(n: <T as Config>::BlockNumber)
fn offchain_worker(n: <T as Config>::BlockNumber)
sourceimpl<T: Config<I>, I: 'static> OnFinalize<<T as Config>::BlockNumber> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnFinalize<<T as Config>::BlockNumber> for Pallet<T, I>
sourcefn on_finalize(n: <T as Config>::BlockNumber)
fn on_finalize(n: <T as Config>::BlockNumber)
sourceimpl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
sourcefn on_genesis()
fn on_genesis()
sourceimpl<T: Config<I>, I: 'static> OnIdle<<T as Config>::BlockNumber> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnIdle<<T as Config>::BlockNumber> for Pallet<T, I>
sourcefn on_idle(n: <T as Config>::BlockNumber, remaining_weight: Weight) -> Weight
fn on_idle(n: <T as Config>::BlockNumber, remaining_weight: Weight) -> Weight
remaining_weight
to make sure it is high enough to allow for
your pallet’s extra computation. Read moresourceimpl<T: Config<I>, I: 'static> OnInitialize<<T as Config>::BlockNumber> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnInitialize<<T as Config>::BlockNumber> for Pallet<T, I>
sourcefn on_initialize(n: <T as Config>::BlockNumber) -> Weight
fn on_initialize(n: <T as Config>::BlockNumber) -> Weight
sourceimpl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
sourcefn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
sourcefn pre_upgrade() -> Result<Vec<u8>, &'static str>
fn pre_upgrade() -> Result<Vec<u8>, &'static str>
sourceimpl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
sourcefn module_name() -> &'static str
fn module_name() -> &'static str
sourcefn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
sourceimpl<T: Config<I>, I: 'static> PalletsInfoAccess for Pallet<T, I>
impl<T: Config<I>, I: 'static> PalletsInfoAccess for Pallet<T, I>
sourceimpl<T: Config<I>, I: 'static> StorageInfoTrait for Pallet<T, I>
impl<T: Config<I>, I: 'static> StorageInfoTrait for Pallet<T, I>
fn storage_info() -> Vec<StorageInfo> ⓘ
sourceimpl<T: Config<I>, I: 'static> TryState<<T as Config>::BlockNumber> for Pallet<T, I>
impl<T: Config<I>, I: 'static> TryState<<T as Config>::BlockNumber> for Pallet<T, I>
sourcefn try_state(
n: <T as Config>::BlockNumber,
_s: TryStateSelect
) -> Result<(), &'static str>
fn try_state(
n: <T as Config>::BlockNumber,
_s: TryStateSelect
) -> Result<(), &'static str>
sourceimpl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
sourcefn whitelisted_storage_keys() -> Vec<TrackedStorageKey> ⓘ
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey> ⓘ
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation. Read moreimpl<T, I> Eq for Pallet<T, I>
Auto Trait Implementations
impl<T, I> RefUnwindSafe for Pallet<T, I>where
I: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, I> Send for Pallet<T, I>where
I: Send,
T: Send,
impl<T, I> Sync for Pallet<T, I>where
I: Sync,
T: Sync,
impl<T, I> Unpin for Pallet<T, I>where
I: Unpin,
T: Unpin,
impl<T, I> UnwindSafe for Pallet<T, I>where
I: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
sourcefn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, 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
. Read morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read morefn 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. Read morefn 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. Read moresourceimpl<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,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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,
fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<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>,
sourceimpl<T> PalletVersionToStorageVersionHelper for Twhere
T: GetStorageVersion + PalletInfoAccess,
impl<T> PalletVersionToStorageVersionHelper for Twhere
T: GetStorageVersion + PalletInfoAccess,
fn migrate(db_weight: &RuntimeDbWeight) -> Weight
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
sourcefn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresourceimpl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
sourcefn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.sourceimpl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
sourcefn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.