Companion PR for substrate PR 8072 - Add a config field to babe epochs (#2467)

* Add a config field to babe epochs

* Fix test

* Add BABE_GENESIS_EPOCH_CONFIG consts

* Use PrimaryAndSecondaryVRFSlots and remove newlines

* Make epoch_configs Some

* Fix tests

* Fix test service tests

* Add a BabeEpochConfigMigrations OnRuntimeUpgrade

* Apply suggestions

* Use PrimaryAndSecondaryPlainSlots in kusama

* Remove migration from test runtime and rococo

* Add HasPalletPrefix

* Rename to BabePalletPrefix and change BabeApi -> Babe

* "Update Substrate"

* Update substrate

* Resolve parantheses errors

Co-authored-by: parity-processbot <>
This commit is contained in:
Ashley
2021-03-10 10:39:08 +01:00
committed by GitHub
parent 287604cf7e
commit 956be35dd4
11 changed files with 328 additions and 183 deletions
@@ -711,7 +711,9 @@ mod tests {
use polkadot_node_subsystem::messages::AllMessages;
use sp_core::testing::TaskExecutor;
use sp_runtime::{Digest, DigestItem};
use sp_consensus_babe::Epoch as BabeEpoch;
use sp_consensus_babe::{
Epoch as BabeEpoch, BabeEpochConfiguration, AllowedSlots,
};
use sp_consensus_babe::digests::{CompatibleDigestItem, PreDigest, SecondaryVRFPreDigest};
use sp_keyring::sr25519::Keyring as Sr25519Keyring;
use assert_matches::assert_matches;
@@ -1358,6 +1360,10 @@ mod tests {
duration: 200,
authorities: vec![(Sr25519Keyring::Alice.public().into(), 1)],
randomness: [0u8; 32],
config: BabeEpochConfiguration {
c: (1, 4),
allowed_slots: AllowedSlots::PrimarySlots,
},
}));
}
);
@@ -1463,6 +1469,10 @@ mod tests {
duration: 200,
authorities: vec![(Sr25519Keyring::Alice.public().into(), 1)],
randomness: [0u8; 32],
config: BabeEpochConfiguration {
c: (1, 4),
allowed_slots: AllowedSlots::PrimarySlots,
},
}));
}
);
@@ -1714,6 +1724,10 @@ mod tests {
duration: 200,
authorities: vec![(Sr25519Keyring::Alice.public().into(), 1)],
randomness: [0u8; 32],
config: BabeEpochConfiguration {
c: (1, 4),
allowed_slots: AllowedSlots::PrimarySlots,
},
}));
}
);
+7 -1
View File
@@ -422,7 +422,9 @@ mod tests {
use sp_core::testing::TaskExecutor;
use std::{collections::{HashMap, BTreeMap}, sync::{Arc, Mutex}};
use futures::channel::oneshot;
use polkadot_node_primitives::BabeEpoch;
use polkadot_node_primitives::{
BabeEpoch, BabeEpochConfiguration, BabeAllowedSlots,
};
#[derive(Default, Clone)]
struct MockRuntimeApi {
@@ -1158,6 +1160,10 @@ mod tests {
duration: 10,
authorities: Vec::new(),
randomness: [1u8; 32],
config: BabeEpochConfiguration {
c: (1, 4),
allowed_slots: BabeAllowedSlots::PrimarySlots,
},
};
runtime_api.babe_epoch = Some(epoch.clone());
let runtime_api = Arc::new(runtime_api);
+3 -1
View File
@@ -32,7 +32,9 @@ use polkadot_primitives::v1::{
use std::pin::Pin;
pub use sp_core::traits::SpawnNamed;
pub use sp_consensus_babe::Epoch as BabeEpoch;
pub use sp_consensus_babe::{
Epoch as BabeEpoch, BabeEpochConfiguration, AllowedSlots as BabeAllowedSlots,
};
pub mod approval;
+32 -8
View File
@@ -261,7 +261,10 @@ fn polkadot_staging_testnet_config_genesis(wasm_binary: &[u8]) -> polkadot::Gene
phantom: Default::default(),
},
pallet_membership_Instance1: Default::default(),
pallet_babe: Default::default(),
pallet_babe: polkadot::BabeConfig {
authorities: Default::default(),
epoch_config: Some(polkadot::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: polkadot::AuthorityDiscoveryConfig { keys: vec![] },
@@ -448,7 +451,10 @@ fn westend_staging_testnet_config_genesis(wasm_binary: &[u8]) -> westend::Genesi
slash_reward_fraction: Perbill::from_percent(10),
..Default::default()
},
pallet_babe: Default::default(),
pallet_babe: westend::BabeConfig {
authorities: Default::default(),
epoch_config: Some(westend::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: westend::AuthorityDiscoveryConfig { keys: vec![] },
@@ -644,7 +650,10 @@ fn kusama_staging_testnet_config_genesis(wasm_binary: &[u8]) -> kusama::GenesisC
phantom: Default::default(),
},
pallet_membership_Instance1: Default::default(),
pallet_babe: Default::default(),
pallet_babe: kusama::BabeConfig {
authorities: Default::default(),
epoch_config: Some(kusama::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: kusama::AuthorityDiscoveryConfig { keys: vec![] },
@@ -850,7 +859,10 @@ fn rococo_staging_testnet_config_genesis(wasm_binary: &[u8]) -> rococo_runtime::
),
)).collect::<Vec<_>>(),
},
pallet_babe: Default::default(),
pallet_babe: rococo_runtime::BabeConfig {
authorities: Default::default(),
epoch_config: Some(rococo_runtime::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: rococo_runtime::AuthorityDiscoveryConfig {
@@ -1130,7 +1142,10 @@ pub fn polkadot_testnet_genesis(
phantom: Default::default(),
},
pallet_membership_Instance1: Default::default(),
pallet_babe: Default::default(),
pallet_babe: polkadot::BabeConfig {
authorities: Default::default(),
epoch_config: Some(polkadot::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: polkadot::AuthorityDiscoveryConfig { keys: vec![] },
@@ -1225,7 +1240,10 @@ pub fn kusama_testnet_genesis(
phantom: Default::default(),
},
pallet_membership_Instance1: Default::default(),
pallet_babe: Default::default(),
pallet_babe: kusama::BabeConfig {
authorities: Default::default(),
epoch_config: Some(kusama::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: kusama::AuthorityDiscoveryConfig { keys: vec![] },
@@ -1309,7 +1327,10 @@ pub fn westend_testnet_genesis(
slash_reward_fraction: Perbill::from_percent(10),
..Default::default()
},
pallet_babe: Default::default(),
pallet_babe: westend::BabeConfig {
authorities: Default::default(),
epoch_config: Some(westend::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: westend::AuthorityDiscoveryConfig { keys: vec![] },
@@ -1363,7 +1384,10 @@ pub fn rococo_testnet_genesis(
),
)).collect::<Vec<_>>(),
},
pallet_babe: Default::default(),
pallet_babe: rococo_runtime::BabeConfig {
authorities: Default::default(),
epoch_config: Some(rococo_runtime::BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_im_online: Default::default(),
pallet_authority_discovery: rococo_runtime::AuthorityDiscoveryConfig {
+5 -2
View File
@@ -22,7 +22,7 @@ use grandpa::AuthorityId as GrandpaId;
use pallet_staking::Forcing;
use polkadot_primitives::v1::{ValidatorId, AccountId, AssignmentId};
use polkadot_service::chain_spec::{get_account_id_from_seed, get_from_seed, Extensions};
use polkadot_test_runtime::constants::currency::DOTS;
use polkadot_test_runtime::{constants::currency::DOTS, BABE_GENESIS_EPOCH_CONFIG};
use sc_chain_spec::{ChainSpec, ChainType};
use sp_core::sr25519;
use sp_runtime::Perbill;
@@ -162,7 +162,10 @@ fn polkadot_testnet_genesis(
slash_reward_fraction: Perbill::from_percent(10),
..Default::default()
},
pallet_babe: Default::default(),
pallet_babe: runtime::BabeConfig {
authorities: vec![],
epoch_config: Some(BABE_GENESIS_EPOCH_CONFIG),
},
pallet_grandpa: Default::default(),
pallet_authority_discovery: runtime::AuthorityDiscoveryConfig { keys: vec![] },
claims: runtime::ClaimsConfig {