MigrationStep

Trait MigrationStep 

Source
pub trait MigrationStep:
    Codec
    + MaxEncodedLen
    + Default {
    const VERSION: u16;

    // Required methods
    fn max_step_weight() -> Weight;
    fn step(&mut self, meter: &mut WeightMeter) -> IsFinished;

    // Provided method
    fn integrity_test(max_block_weight: Weight) { ... }
}
Expand description

A trait that allows to migrate storage from one version to another.

The migration is done in steps. The migration is finished when step() returns IsFinished::Yes.

Required Associated Constants§

Source

const VERSION: u16

Returns the version of the migration.

Required Methods§

Source

fn max_step_weight() -> Weight

Returns the maximum weight that can be consumed in a single step.

Source

fn step(&mut self, meter: &mut WeightMeter) -> IsFinished

Process one step of the migration.

Returns whether the migration is finished.

Provided Methods§

Source

fn integrity_test(max_block_weight: Weight)

Verify that the migration step fits into Cursor, and that max_step_weight is not greater than max_block_weight.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, OldCurrency> MigrationStep for pallet_contracts::migration::v14::Migration<T, OldCurrency>
where T: Config, OldCurrency: 'static + ReservableCurrency<<T as Config>::AccountId>, <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance: From<OldCurrency::Balance>,

Source§

const VERSION: u16 = 14u16

Source§

impl<T: Config> MigrationStep for pallet_contracts::migration::v09::Migration<T>

Source§

const VERSION: u16 = 9u16

Source§

impl<T: Config> MigrationStep for pallet_contracts::migration::v11::Migration<T>

Source§

const VERSION: u16 = 11u16

Source§

impl<T: Config> MigrationStep for pallet_contracts::migration::v13::Migration<T>

Source§

const VERSION: u16 = 13u16

Source§

impl<T: Config> MigrationStep for pallet_contracts::migration::v15::Migration<T>

Source§

const VERSION: u16 = 15u16

Source§

impl<T: Config> MigrationStep for pallet_contracts::migration::v16::Migration<T>

Source§

const VERSION: u16 = 16u16

Source§

impl<T: Config, OldCurrency> MigrationStep for pallet_contracts::migration::v10::Migration<T, OldCurrency>
where OldCurrency: ReservableCurrency<<T as Config>::AccountId> + Inspect<<T as Config>::AccountId, Balance = <OldCurrency as Currency<<T as Config>::AccountId>>::Balance> + 'static,

Source§

const VERSION: u16 = 10u16

Source§

impl<T: Config, OldCurrency> MigrationStep for pallet_contracts::migration::v12::Migration<T, OldCurrency>
where OldCurrency: ReservableCurrency<<T as Config>::AccountId> + 'static, OldCurrency::Balance: From<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance>,

Source§

const VERSION: u16 = 12u16