Struct pallet_bags_list::pallet::Pallet
source · pub struct Pallet<T, I = ()>(_);
Expand description
The Pallet
struct, the main type that implements traits and standalone
functions within the pallet.
Implementations§
source§impl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
sourcepub fn rebag(
origin: OriginFor<T>,
dislocated: <<T as Config>::Lookup as StaticLookup>::Source
) -> DispatchResult
pub fn rebag( origin: OriginFor<T>, dislocated: <<T as Config>::Lookup as StaticLookup>::Source ) -> DispatchResult
Declare that some dislocated
account has, through rewards or penalties, sufficiently
changed its score that it should properly fall into a different bag than its current
one.
Anyone can call this function about any potentially dislocated account.
Will always update the stored score of dislocated
to the correct score, based on
ScoreProvider
.
If dislocated
does not exists, it returns an error.
sourcepub fn put_in_front_of(
origin: OriginFor<T>,
lighter: <<T as Config>::Lookup as StaticLookup>::Source
) -> DispatchResult
pub fn put_in_front_of( origin: OriginFor<T>, lighter: <<T as Config>::Lookup as StaticLookup>::Source ) -> DispatchResult
Move the caller’s Id directly in front of lighter
.
The dispatch origin for this call must be Signed and can only be called by the Id of
the account going in front of lighter
. Fee is payed by the origin under all
circumstances.
Only works if:
- both nodes are within the same bag,
- and
origin
has a greaterScore
thanlighter
.
sourcepub fn put_in_front_of_other(
origin: OriginFor<T>,
heavier: <<T as Config>::Lookup as StaticLookup>::Source,
lighter: <<T as Config>::Lookup as StaticLookup>::Source
) -> DispatchResult
pub fn put_in_front_of_other( origin: OriginFor<T>, heavier: <<T as Config>::Lookup as StaticLookup>::Source, lighter: <<T as Config>::Lookup as StaticLookup>::Source ) -> DispatchResult
Same as Pallet::put_in_front_of
, but it can be called by anyone.
Fee is paid by the origin under all circumstances.
source§impl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
pub fn do_try_state() -> Result<(), TryRuntimeError>
source§impl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
sourcepub fn do_rebag(
account: &T::AccountId,
new_score: T::Score
) -> Result<Option<(T::Score, T::Score)>, ListError>
pub fn do_rebag( account: &T::AccountId, new_score: T::Score ) -> Result<Option<(T::Score, T::Score)>, ListError>
Move an account from one bag to another, depositing an event on success.
If the account changed bags, returns Ok(Some((from, to)))
.
sourcepub fn list_bags_get(score: T::Score) -> Option<Bag<T, I>>
pub fn list_bags_get(score: T::Score) -> Option<Bag<T, I>>
Equivalent to ListBags::get
, but public. Useful for tests in outside of this crate.
Trait Implementations§
source§impl<T, I: 'static> Benchmarking for Pallet<T, I>where
T: Config + Config<I>,
impl<T, I: 'static> Benchmarking for Pallet<T, I>where T: Config + Config<I>,
source§fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
source§fn run_benchmark(
extrinsic: &[u8],
c: &[(BenchmarkParameter, u32)],
whitelist: &[TrackedStorageKey],
verify: bool,
internal_repeats: u32
) -> Result<Vec<BenchmarkResult>, BenchmarkError>
fn run_benchmark( extrinsic: &[u8], c: &[(BenchmarkParameter, u32)], whitelist: &[TrackedStorageKey], verify: bool, internal_repeats: u32 ) -> Result<Vec<BenchmarkResult>, BenchmarkError>
source§impl From<<Pallet<Runtime, ()> as Callable<Runtime>>::RuntimeCall> for RuntimeCall
impl From<<Pallet<Runtime, ()> as Callable<Runtime>>::RuntimeCall> for RuntimeCall
source§impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
source§fn current_storage_version() -> Self::CurrentStorageVersion
fn current_storage_version() -> Self::CurrentStorageVersion
source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
source§impl<T: Config<I>, I: 'static> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn integrity_test()
fn integrity_test()
source§fn try_state(_: BlockNumberFor<T>) -> Result<(), TryRuntimeError>
fn try_state(_: BlockNumberFor<T>) -> Result<(), TryRuntimeError>
source§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
source§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
). Read moresource§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§fn pre_upgrade() -> Result<Vec<u8, Global>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8, Global>, DispatchError>
source§fn post_upgrade(_state: Vec<u8, Global>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8, Global>) -> Result<(), DispatchError>
source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
source§impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
source§impl IsSubType<<Pallet<Runtime, ()> as Callable<Runtime>>::RuntimeCall> for RuntimeCall
impl IsSubType<<Pallet<Runtime, ()> as Callable<Runtime>>::RuntimeCall> for RuntimeCall
source§fn is_sub_type(&self) -> Option<&CallableCallFor<BagsList, Runtime>>
fn is_sub_type(&self) -> Option<&CallableCallFor<BagsList, Runtime>>
Some(_)
if self
is an instance of sub type T
.source§impl<T: Config<I>, I: 'static> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
source§impl<T: Config<I>, I: 'static> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize
.source§impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
source§fn on_genesis()
fn on_genesis()
source§impl<T: Config<I>, I: 'static> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
Hooks::on_idle
.source§impl<T: Config<I>, I: 'static> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize
.source§impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
Hooks::pre_upgrade
.source§fn post_upgrade(state: Vec<u8>) -> Result<(), TryRuntimeError>
fn post_upgrade(state: Vec<u8>) -> Result<(), TryRuntimeError>
Hooks::post_upgrade
.source§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
pre_upgrade
->
on_runtime_upgrade
-> post_upgrade
hooks for a migration. Read moresource§impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
source§fn module_name() -> &'static str
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
source§impl<T: Config<I>, I: 'static> PalletsInfoAccess for Pallet<T, I>
impl<T: Config<I>, I: 'static> PalletsInfoAccess for Pallet<T, I>
source§impl<T, I> PartialEq<Pallet<T, I>> for Pallet<T, I>
impl<T, I> PartialEq<Pallet<T, I>> for Pallet<T, I>
source§impl<T: Config<I>, I: 'static> SortedListProvider<<T as Config>::AccountId> for Pallet<T, I>
impl<T: Config<I>, I: 'static> SortedListProvider<<T as Config>::AccountId> for Pallet<T, I>
source§fn iter() -> Box<dyn Iterator<Item = T::AccountId>>
fn iter() -> Box<dyn Iterator<Item = T::AccountId>>
take
called on it.source§fn iter_from(
start: &T::AccountId
) -> Result<Box<dyn Iterator<Item = T::AccountId>>, Self::Error>
fn iter_from( start: &T::AccountId ) -> Result<Box<dyn Iterator<Item = T::AccountId>>, Self::Error>
source§fn on_insert(id: T::AccountId, score: T::Score) -> Result<(), ListError>
fn on_insert(id: T::AccountId, score: T::Score) -> Result<(), ListError>
source§fn on_update(id: &T::AccountId, new_score: T::Score) -> Result<(), ListError>
fn on_update(id: &T::AccountId, new_score: T::Score) -> Result<(), ListError>
source§fn on_remove(id: &T::AccountId) -> Result<(), ListError>
fn on_remove(id: &T::AccountId) -> Result<(), ListError>
source§fn unsafe_regenerate(
all: impl IntoIterator<Item = T::AccountId>,
score_of: Box<dyn Fn(&T::AccountId) -> T::Score>
) -> u32
fn unsafe_regenerate( all: impl IntoIterator<Item = T::AccountId>, score_of: Box<dyn Fn(&T::AccountId) -> T::Score> ) -> u32
source§fn try_state() -> Result<(), TryRuntimeError>
fn try_state() -> Result<(), TryRuntimeError>
source§fn unsafe_clear()
fn unsafe_clear()
source§fn score_update_worst_case(who: &T::AccountId, is_increase: bool) -> Self::Score
fn score_update_worst_case(who: &T::AccountId, is_increase: bool) -> Self::Score
who
changes by the returned amount they are guaranteed to have a worst case change
in their list position.§fn on_increase(
id: &AccountId,
additional: Self::Score
) -> Result<(), Self::Error>
fn on_increase( id: &AccountId, additional: Self::Score ) -> Result<(), Self::Error>
on_update
, but incorporate some increased score.§fn on_decrease(
id: &AccountId,
decreased: Self::Score
) -> Result<(), Self::Error>
fn on_decrease( id: &AccountId, decreased: Self::Score ) -> Result<(), Self::Error>
on_update
, but incorporate some decreased score. Read moresource§impl<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>
source§impl<T: Config<I>, I: 'static> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
source§fn try_state(
n: BlockNumberFor<T>,
_s: TryStateSelect
) -> Result<(), TryRuntimeError>
fn try_state( n: BlockNumberFor<T>, _s: TryStateSelect ) -> Result<(), TryRuntimeError>
source§impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
source§fn 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.impl<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§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§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,
source§fn 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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<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>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.