Replace parachain/parathread boolean by enum (#6198)

* Replace parachain/parathread boolean by enum

* Address PR comments

* Update dependencies

* ParaType -> ParaKind

* Swap enum field order to avoid migration

* Rename paratype field to parakind

* Manual en-/decocing of Parakind

* Manual TypeInfo for ParaKind

* rename field back to parachain

* minor

* Update runtime/parachains/src/paras/mod.rs

Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>

* Manual serde Serialize and Deserialize for ParaKind

* cargo fmt

* Update runtime/parachains/src/paras/mod.rs

Co-authored-by: Andronik <write@reusable.software>

* Add test for serde_json encoding/decoding

* Move serde_json dep to dev-deps

Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: Andronik <write@reusable.software>
This commit is contained in:
alexgparity
2022-11-01 18:34:16 +01:00
committed by GitHub
parent be70e4456c
commit 6d83525b50
13 changed files with 240 additions and 101 deletions
@@ -22,7 +22,7 @@ use crate::{
new_test_ext, Configuration, MockGenesisConfig, ParaInclusion, Paras, ParasShared, System,
Test,
},
paras::ParaGenesisArgs,
paras::{ParaGenesisArgs, ParaKind},
paras_inherent::DisputedBitfield,
scheduler::AssignmentKind,
};
@@ -51,18 +51,18 @@ fn default_config() -> HostConfiguration<BlockNumber> {
config
}
pub(crate) fn genesis_config(paras: Vec<(ParaId, bool)>) -> MockGenesisConfig {
pub(crate) fn genesis_config(paras: Vec<(ParaId, ParaKind)>) -> MockGenesisConfig {
MockGenesisConfig {
paras: paras::GenesisConfig {
paras: paras
.into_iter()
.map(|(id, is_chain)| {
.map(|(id, para_kind)| {
(
id,
ParaGenesisArgs {
genesis_head: Vec::new().into(),
validation_code: dummy_validation_code(),
parachain: is_chain,
para_kind,
},
)
})
@@ -310,7 +310,11 @@ fn collect_pending_cleans_up_pending() {
let chain_b = ParaId::from(2_u32);
let thread_a = ParaId::from(3_u32);
let paras = vec![(chain_a, true), (chain_b, true), (thread_a, false)];
let paras = vec![
(chain_a, ParaKind::Parachain),
(chain_b, ParaKind::Parachain),
(thread_a, ParaKind::Parathread),
];
new_test_ext(genesis_config(paras)).execute_with(|| {
let default_candidate = TestCandidateBuilder::default().build();
<PendingAvailability<Test>>::insert(
@@ -368,7 +372,11 @@ fn bitfield_checks() {
let chain_b = ParaId::from(2_u32);
let thread_a = ParaId::from(3_u32);
let paras = vec![(chain_a, true), (chain_b, true), (thread_a, false)];
let paras = vec![
(chain_a, ParaKind::Parachain),
(chain_b, ParaKind::Parachain),
(thread_a, ParaKind::Parathread),
];
let validators = vec![
Sr25519Keyring::Alice,
Sr25519Keyring::Bob,
@@ -711,7 +719,11 @@ fn supermajority_bitfields_trigger_availability() {
let chain_b = ParaId::from(2_u32);
let thread_a = ParaId::from(3_u32);
let paras = vec![(chain_a, true), (chain_b, true), (thread_a, false)];
let paras = vec![
(chain_a, ParaKind::Parachain),
(chain_b, ParaKind::Parachain),
(thread_a, ParaKind::Parathread),
];
let validators = vec![
Sr25519Keyring::Alice,
Sr25519Keyring::Bob,
@@ -899,7 +911,11 @@ fn candidate_checks() {
// The block number of the relay-parent for testing.
const RELAY_PARENT_NUM: BlockNumber = 4;
let paras = vec![(chain_a, true), (chain_b, true), (thread_a, false)];
let paras = vec![
(chain_a, ParaKind::Parachain),
(chain_b, ParaKind::Parachain),
(thread_a, ParaKind::Parathread),
];
let validators = vec![
Sr25519Keyring::Alice,
Sr25519Keyring::Bob,
@@ -1442,7 +1458,11 @@ fn backing_works() {
// The block number of the relay-parent for testing.
const RELAY_PARENT_NUM: BlockNumber = 4;
let paras = vec![(chain_a, true), (chain_b, true), (thread_a, false)];
let paras = vec![
(chain_a, ParaKind::Parachain),
(chain_b, ParaKind::Parachain),
(thread_a, ParaKind::Parathread),
];
let validators = vec![
Sr25519Keyring::Alice,
Sr25519Keyring::Bob,
@@ -1722,7 +1742,7 @@ fn can_include_candidate_with_ok_code_upgrade() {
// The block number of the relay-parent for testing.
const RELAY_PARENT_NUM: BlockNumber = 4;
let paras = vec![(chain_a, true)];
let paras = vec![(chain_a, ParaKind::Parachain)];
let validators = vec![
Sr25519Keyring::Alice,
Sr25519Keyring::Bob,
@@ -1827,7 +1847,11 @@ fn session_change_wipes() {
let chain_b = ParaId::from(2_u32);
let thread_a = ParaId::from(3_u32);
let paras = vec![(chain_a, true), (chain_b, true), (thread_a, false)];
let paras = vec![
(chain_a, ParaKind::Parachain),
(chain_b, ParaKind::Parachain),
(thread_a, ParaKind::Parathread),
];
let validators = vec![
Sr25519Keyring::Alice,
Sr25519Keyring::Bob,