Companion - Read babe config parameters from runtime (#5842)

* Read babe config parameters from runtime

* Trigger pipeline

* Trigger pipeline (after PR title change)

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>
This commit is contained in:
Davide Galassi
2022-09-06 08:23:13 +02:00
committed by GitHub
parent 7e4bea2578
commit 293ff64fd0
14 changed files with 219 additions and 224 deletions
+6 -10
View File
@@ -992,19 +992,15 @@ sp_api::impl_runtime_apis! {
}
impl babe_primitives::BabeApi<Block> for Runtime {
fn configuration() -> babe_primitives::BabeGenesisConfiguration {
// The choice of `c` parameter (where `1 - c` represents the
// probability of a slot being empty), is done in accordance to the
// slot duration and expected target block time, for safely
// resisting network delays of maximum two seconds.
// <https://research.web3.foundation/en/latest/polkadot/BABE/Babe/#6-practical-results>
babe_primitives::BabeGenesisConfiguration {
fn configuration() -> babe_primitives::BabeConfiguration {
let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
babe_primitives::BabeConfiguration {
slot_duration: Babe::slot_duration(),
epoch_length: EpochDuration::get(),
c: BABE_GENESIS_EPOCH_CONFIG.c,
genesis_authorities: Babe::authorities().to_vec(),
c: epoch_config.c,
authorities: Babe::authorities().to_vec(),
randomness: Babe::randomness(),
allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
allowed_slots: epoch_config.allowed_slots,
}
}