Struct pallet_elections_phragmen::migrations::unlock_and_unreserve_all_funds::UnlockAndUnreserveAllFunds
source · pub struct UnlockAndUnreserveAllFunds<T: UnlockConfig>(_);
Expand description
A migration that unreserves all deposit and unlocks all stake held in the context of this pallet.
Useful to prevent funds from being locked up when the pallet is being deprecated.
The pallet should be made inoperable before this migration is run.
(See also RemovePallet
)
Trait Implementations§
source§impl<T: UnlockConfig> OnRuntimeUpgrade for UnlockAndUnreserveAllFunds<T>where
<<T as UnlockConfig>::Currency as Currency<<T as UnlockConfig>::AccountId>>::Balance: Sum,
impl<T: UnlockConfig> OnRuntimeUpgrade for UnlockAndUnreserveAllFunds<T>where <<T as UnlockConfig>::Currency as Currency<<T as UnlockConfig>::AccountId>>::Balance: Sum,
source§fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
Collects pre-migration data useful for validating the migration was successful, and also checks the integrity of deposited and reserved balances.
Steps:
- Gets the deposited and staked balances for each account stored in this pallet.
- Collects actual pre-migration locked and reserved balances for each account.
- Checks the integrity of the deposited and reserved balances.
- Prints summary statistics about the state to be migrated.
- Encodes and returns pre-migration data to be used in post_upgrade.
Fails with a TryRuntimeError
if there’s a discrepancy between the amount
reported as staked by the pallet and the amount actually locked in Balances
.
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executes the migration.
Steps:
- Retrieves the deposit and stake amounts from the pallet.
- Unreserves the deposited funds for each account.
- Unlocks the staked funds for each account.
source§fn post_upgrade(
account_reserved_before_bytes: Vec<u8>
) -> Result<(), TryRuntimeError>
fn post_upgrade( account_reserved_before_bytes: Vec<u8> ) -> Result<(), TryRuntimeError>
Performs post-upgrade sanity checks:
- All expected locks were removed after the migration.
- The reserved balance for each account has been reduced by the expected amount.
source§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
The expected and default behavior of this method is to handle executing
pre_upgrade
->
on_runtime_upgrade
-> post_upgrade
hooks for a migration. Read moreAuto Trait Implementations§
impl<T> RefUnwindSafe for UnlockAndUnreserveAllFunds<T>where T: RefUnwindSafe,
impl<T> Send for UnlockAndUnreserveAllFunds<T>where T: Send,
impl<T> Sync for UnlockAndUnreserveAllFunds<T>where T: Sync,
impl<T> Unpin for UnlockAndUnreserveAllFunds<T>where T: Unpin,
impl<T> UnwindSafe for UnlockAndUnreserveAllFunds<T>where T: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
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>,
Consume self to return an equivalent value of
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>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
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
The counterpart to
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
Consume self to return an equivalent value of
T
.