mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-15 18:31:05 +00:00
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:
Generated
+170
-170
File diff suppressed because it is too large
Load Diff
@@ -203,7 +203,7 @@ sp_api::mock_impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl BabeApi<Block> for MockRuntimeApi {
|
impl BabeApi<Block> for MockRuntimeApi {
|
||||||
fn configuration(&self) -> sp_consensus_babe::BabeGenesisConfiguration {
|
fn configuration(&self) -> sp_consensus_babe::BabeConfiguration {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -521,7 +521,7 @@ where
|
|||||||
client.clone(),
|
client.clone(),
|
||||||
);
|
);
|
||||||
|
|
||||||
let babe_config = babe::Config::get(&*client)?;
|
let babe_config = babe::configuration(&*client)?;
|
||||||
let (block_import, babe_link) =
|
let (block_import, babe_link) =
|
||||||
babe::block_import(babe_config.clone(), beefy_block_import, client.clone())?;
|
babe::block_import(babe_config.clone(), beefy_block_import, client.clone())?;
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ use std::sync::Arc;
|
|||||||
use jsonrpsee::RpcModule;
|
use jsonrpsee::RpcModule;
|
||||||
use polkadot_primitives::v2::{AccountId, Balance, Block, BlockNumber, Hash, Nonce};
|
use polkadot_primitives::v2::{AccountId, Balance, Block, BlockNumber, Hash, Nonce};
|
||||||
use sc_client_api::AuxStore;
|
use sc_client_api::AuxStore;
|
||||||
use sc_consensus_babe::Epoch;
|
use sc_consensus_babe::{BabeConfiguration, Epoch};
|
||||||
use sc_finality_grandpa::FinalityProofProvider;
|
use sc_finality_grandpa::FinalityProofProvider;
|
||||||
pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor};
|
pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor};
|
||||||
use sp_api::ProvideRuntimeApi;
|
use sp_api::ProvideRuntimeApi;
|
||||||
@@ -40,7 +40,7 @@ pub type RpcExtension = RpcModule<()>;
|
|||||||
/// Extra dependencies for BABE.
|
/// Extra dependencies for BABE.
|
||||||
pub struct BabeDeps {
|
pub struct BabeDeps {
|
||||||
/// BABE protocol config.
|
/// BABE protocol config.
|
||||||
pub babe_config: sc_consensus_babe::Config,
|
pub babe_config: BabeConfiguration,
|
||||||
/// BABE pending epoch changes.
|
/// BABE pending epoch changes.
|
||||||
pub shared_epoch_changes: sc_consensus_epochs::SharedEpochChanges<Block, Epoch>,
|
pub shared_epoch_changes: sc_consensus_epochs::SharedEpochChanges<Block, Epoch>,
|
||||||
/// The keystore that manages the keys of the node.
|
/// The keystore that manages the keys of the node.
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ pub mod time {
|
|||||||
pub const WEEKS: BlockNumber = DAYS * 7;
|
pub const WEEKS: BlockNumber = DAYS * 7;
|
||||||
|
|
||||||
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
||||||
|
// The choice of 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>
|
||||||
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1766,19 +1766,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl babe_primitives::BabeApi<Block> for Runtime {
|
impl babe_primitives::BabeApi<Block> for Runtime {
|
||||||
fn configuration() -> babe_primitives::BabeGenesisConfiguration {
|
fn configuration() -> babe_primitives::BabeConfiguration {
|
||||||
// The choice of `c` parameter (where `1 - c` represents the
|
let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
|
||||||
// probability of a slot being empty), is done in accordance to the
|
babe_primitives::BabeConfiguration {
|
||||||
// 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 {
|
|
||||||
slot_duration: Babe::slot_duration(),
|
slot_duration: Babe::slot_duration(),
|
||||||
epoch_length: EpochDuration::get(),
|
epoch_length: EpochDuration::get(),
|
||||||
c: BABE_GENESIS_EPOCH_CONFIG.c,
|
c: epoch_config.c,
|
||||||
genesis_authorities: Babe::authorities().to_vec(),
|
authorities: Babe::authorities().to_vec(),
|
||||||
randomness: Babe::randomness(),
|
randomness: Babe::randomness(),
|
||||||
allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
|
allowed_slots: epoch_config.allowed_slots,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ pub mod time {
|
|||||||
pub const WEEKS: BlockNumber = DAYS * 7;
|
pub const WEEKS: BlockNumber = DAYS * 7;
|
||||||
|
|
||||||
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
||||||
|
// The choice of 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>
|
||||||
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1895,19 +1895,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl babe_primitives::BabeApi<Block> for Runtime {
|
impl babe_primitives::BabeApi<Block> for Runtime {
|
||||||
fn configuration() -> babe_primitives::BabeGenesisConfiguration {
|
fn configuration() -> babe_primitives::BabeConfiguration {
|
||||||
// The choice of `c` parameter (where `1 - c` represents the
|
let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
|
||||||
// probability of a slot being empty), is done in accordance to the
|
babe_primitives::BabeConfiguration {
|
||||||
// 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 {
|
|
||||||
slot_duration: Babe::slot_duration(),
|
slot_duration: Babe::slot_duration(),
|
||||||
epoch_length: EpochDuration::get(),
|
epoch_length: EpochDuration::get(),
|
||||||
c: BABE_GENESIS_EPOCH_CONFIG.c,
|
c: epoch_config.c,
|
||||||
genesis_authorities: Babe::authorities().to_vec(),
|
authorities: Babe::authorities().to_vec(),
|
||||||
randomness: Babe::randomness(),
|
randomness: Babe::randomness(),
|
||||||
allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
|
allowed_slots: epoch_config.allowed_slots,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ pub mod time {
|
|||||||
pub const DAYS: BlockNumber = HOURS * 24;
|
pub const DAYS: BlockNumber = HOURS * 24;
|
||||||
|
|
||||||
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
||||||
|
// The choice of 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>
|
||||||
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1141,19 +1141,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl babe_primitives::BabeApi<Block> for Runtime {
|
impl babe_primitives::BabeApi<Block> for Runtime {
|
||||||
fn configuration() -> babe_primitives::BabeGenesisConfiguration {
|
fn configuration() -> babe_primitives::BabeConfiguration {
|
||||||
// The choice of `c` parameter (where `1 - c` represents the
|
let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
|
||||||
// probability of a slot being empty), is done in accordance to the
|
babe_primitives::BabeConfiguration {
|
||||||
// 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 {
|
|
||||||
slot_duration: Babe::slot_duration(),
|
slot_duration: Babe::slot_duration(),
|
||||||
epoch_length: EpochDurationInBlocks::get().into(),
|
epoch_length: EpochDurationInBlocks::get().into(),
|
||||||
c: BABE_GENESIS_EPOCH_CONFIG.c,
|
c: epoch_config.c,
|
||||||
genesis_authorities: Babe::authorities().to_vec(),
|
authorities: Babe::authorities().to_vec(),
|
||||||
randomness: Babe::randomness(),
|
randomness: Babe::randomness(),
|
||||||
allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
|
allowed_slots: epoch_config.allowed_slots,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,9 @@ pub mod time {
|
|||||||
pub const DAYS: BlockNumber = HOURS * 24;
|
pub const DAYS: BlockNumber = HOURS * 24;
|
||||||
|
|
||||||
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
||||||
|
// The choice of 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>
|
||||||
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -992,19 +992,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl babe_primitives::BabeApi<Block> for Runtime {
|
impl babe_primitives::BabeApi<Block> for Runtime {
|
||||||
fn configuration() -> babe_primitives::BabeGenesisConfiguration {
|
fn configuration() -> babe_primitives::BabeConfiguration {
|
||||||
// The choice of `c` parameter (where `1 - c` represents the
|
let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
|
||||||
// probability of a slot being empty), is done in accordance to the
|
babe_primitives::BabeConfiguration {
|
||||||
// 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 {
|
|
||||||
slot_duration: Babe::slot_duration(),
|
slot_duration: Babe::slot_duration(),
|
||||||
epoch_length: EpochDuration::get(),
|
epoch_length: EpochDuration::get(),
|
||||||
c: BABE_GENESIS_EPOCH_CONFIG.c,
|
c: epoch_config.c,
|
||||||
genesis_authorities: Babe::authorities().to_vec(),
|
authorities: Babe::authorities().to_vec(),
|
||||||
randomness: Babe::randomness(),
|
randomness: Babe::randomness(),
|
||||||
allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
|
allowed_slots: epoch_config.allowed_slots,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ pub mod time {
|
|||||||
pub const DAYS: BlockNumber = HOURS * 24;
|
pub const DAYS: BlockNumber = HOURS * 24;
|
||||||
|
|
||||||
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
||||||
|
// The choice of 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>
|
||||||
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1476,19 +1476,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl babe_primitives::BabeApi<Block> for Runtime {
|
impl babe_primitives::BabeApi<Block> for Runtime {
|
||||||
fn configuration() -> babe_primitives::BabeGenesisConfiguration {
|
fn configuration() -> babe_primitives::BabeConfiguration {
|
||||||
// The choice of `c` parameter (where `1 - c` represents the
|
let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG);
|
||||||
// probability of a slot being empty), is done in accordance to the
|
babe_primitives::BabeConfiguration {
|
||||||
// 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 {
|
|
||||||
slot_duration: Babe::slot_duration(),
|
slot_duration: Babe::slot_duration(),
|
||||||
epoch_length: EpochDuration::get(),
|
epoch_length: EpochDuration::get(),
|
||||||
c: BABE_GENESIS_EPOCH_CONFIG.c,
|
c: epoch_config.c,
|
||||||
genesis_authorities: Babe::authorities().to_vec(),
|
authorities: Babe::authorities().to_vec(),
|
||||||
randomness: Babe::randomness(),
|
randomness: Babe::randomness(),
|
||||||
allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
|
allowed_slots: epoch_config.allowed_slots,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user