Implements pallet versioning (#7208)

* Start

* Make macro work

* Rename `ModuleToIndex` to `PalletRuntimeSetup`

Besides the renaming it also adds support getting the name of a pallet
as configured in the runtime.

* Rename it to `PalletInfo`

* Remove accidentally added files

* Some work

* Make everything compile

* Adds a test and fixes some bugs

* Implement ordering for `PalletVersion`

* Apply suggestions from code review

* Review feedback

* Update frame/support/src/dispatch.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Update frame/support/src/dispatch.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Fix compilation

* Fix test

* Fix doc test

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
This commit is contained in:
Bastian Köcher
2020-10-21 19:05:52 +02:00
committed by GitHub
parent 8cebbd142d
commit ed1d0fa815
30 changed files with 640 additions and 161 deletions
+10 -3
View File
@@ -22,12 +22,19 @@
#![warn(missing_docs)]
#![deny(warnings)]
#[cfg(test)]
mod pallet_version;
/// The configuration trait
pub trait Trait {
pub trait Trait: 'static {
/// The runtime origin type.
type Origin;
type Origin: codec::Codec + codec::EncodeLike + Default;
/// The block number type.
type BlockNumber;
type BlockNumber: codec::Codec + codec::EncodeLike + Default;
/// The information about the pallet setup in the runtime.
type PalletInfo: frame_support::traits::PalletInfo;
/// The db weights.
type DbWeight: frame_support::traits::Get<frame_support::weights::RuntimeDbWeight>;
}
frame_support::decl_module! {