Allow pallet in construct_runtime to have fixed index (#6969)

* implement index for pallet + some tests

* add test and doc

* remove deprecated and document behavior

* update internal doc

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* address review

* use index for all module, break construct_runtime

* fix line length

* implement migration helper funciton in scheduler

* fix start at index 0

* Update frame/scheduler/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update frame/support/procedural/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* bump frame-metadata crate

* factorize

* avoid some unwrap and remove nightly join

* Update frame/support/src/event.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* fix test

* add test and improve error message

* factorize test

* keep iterator, and use slice instead of vec

* refactor to avoid to have expects

* small refactor

* Test something

* Make sure we update the `Cargo.lock`

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* return 2 error

* Apply suggestions from code review

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/scheduler/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* fix typo

* Revert "fix typo"

This reverts commit f2de8f2db34e8ac72bc9c34437c60dca3fa4ac22.

* Revert "Update frame/scheduler/src/lib.rs"

This reverts commit 6feb4605c6f784b64591e229de7a6fec6dbffb4b.

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
This commit is contained in:
Guillaume Thiolliere
2020-09-22 16:54:03 +02:00
committed by GitHub
parent 86594727d9
commit 98951b33a9
21 changed files with 876 additions and 128 deletions
@@ -0,0 +1,14 @@
use frame_support::construct_runtime;
construct_runtime! {
pub enum Runtime where
UncheckedExtrinsic = UncheckedExtrinsic,
Block = Block,
NodeBlock = Block,
{
System: system::{},
Pallet1: pallet1::{} = 0,
}
}
fn main() {}
@@ -0,0 +1,11 @@
error: Module indices are conflicting: Both modules System and Pallet1 are at index 0
--> $DIR/conflicting_index.rs:9:3
|
9 | System: system::{},
| ^^^^^^
error: Module indices are conflicting: Both modules System and Pallet1 are at index 0
--> $DIR/conflicting_index.rs:10:3
|
10 | Pallet1: pallet1::{} = 0,
| ^^^^^^^
@@ -0,0 +1,16 @@
use frame_support::construct_runtime;
construct_runtime! {
pub enum Runtime where
UncheckedExtrinsic = UncheckedExtrinsic,
Block = Block,
NodeBlock = Block,
{
System: system::{} = 5,
Pallet1: pallet1::{} = 3,
Pallet2: pallet2::{},
Pallet3: pallet3::{},
}
}
fn main() {}
@@ -0,0 +1,11 @@
error: Module indices are conflicting: Both modules System and Pallet3 are at index 5
--> $DIR/conflicting_index_2.rs:9:3
|
9 | System: system::{} = 5,
| ^^^^^^
error: Module indices are conflicting: Both modules System and Pallet3 are at index 5
--> $DIR/conflicting_index_2.rs:12:3
|
12 | Pallet3: pallet3::{},
| ^^^^^^^
@@ -0,0 +1,14 @@
use frame_support::construct_runtime;
construct_runtime! {
pub enum Runtime where
UncheckedExtrinsic = UncheckedExtrinsic,
Block = Block,
NodeBlock = Block,
{
System: system::{} = 255,
Pallet256: pallet256::{},
}
}
fn main() {}
@@ -0,0 +1,5 @@
error: Module index doesn't fit into u8, index is 256
--> $DIR/more_than_256_modules.rs:10:3
|
10 | Pallet256: pallet256::{},
| ^^^^^^^^^