diff --git a/substrate/core/client/src/client.rs b/substrate/core/client/src/client.rs index 9241d8fb0a..67a9140e9e 100644 --- a/substrate/core/client/src/client.rs +++ b/substrate/core/client/src/client.rs @@ -29,7 +29,7 @@ use runtime_primitives::{ generic::{BlockId, SignedBlock}, }; use consensus::{ - Error as ConsensusError, ImportBlock, + Error as ConsensusError, BlockImportParams, ImportResult, BlockOrigin, ForkChoiceStrategy, well_known_cache_keys::Id as CacheKeyId, SelectChain, self, @@ -817,12 +817,12 @@ impl Client where pub fn apply_block( &self, operation: &mut ClientImportOperation, - import_block: ImportBlock, + import_block: BlockImportParams, new_cache: HashMap>, ) -> error::Result where E: CallExecutor + Send + Sync + Clone, { - let ImportBlock { + let BlockImportParams { origin, header, justification, @@ -1460,10 +1460,10 @@ impl<'a, B, E, Block, RA> consensus::BlockImport for &'a Client, + import_block: BlockImportParams, new_cache: HashMap>, ) -> Result { self.lock_import_and_run(|operation| { @@ -1506,7 +1506,7 @@ impl consensus::BlockImport for Client fn import_block( &mut self, - import_block: ImportBlock, + import_block: BlockImportParams, new_cache: HashMap>, ) -> Result { (&*self).import_block(import_block, new_cache) diff --git a/substrate/core/consensus/aura/src/lib.rs b/substrate/core/consensus/aura/src/lib.rs index b4dbd79308..2bfd907646 100644 --- a/substrate/core/consensus/aura/src/lib.rs +++ b/substrate/core/consensus/aura/src/lib.rs @@ -32,7 +32,7 @@ use std::{sync::Arc, time::Duration, thread, marker::PhantomData, hash::Hash, fm use parity_codec::{Encode, Decode, Codec}; use consensus_common::{self, BlockImport, Environment, Proposer, - ForkChoiceStrategy, ImportBlock, BlockOrigin, Error as ConsensusError, + ForkChoiceStrategy, BlockImportParams, BlockOrigin, Error as ConsensusError, SelectChain, well_known_cache_keys::{self, Id as CacheKeyId} }; use consensus_common::import_queue::{ @@ -317,7 +317,7 @@ impl SlotWorker for AuraWorker w let signature = pair.sign(header_hash.as_ref()); let signature_digest_item = as CompatibleDigestItem

>::aura_seal(signature); - let import_block: ImportBlock = ImportBlock { + let import_block: BlockImportParams = BlockImportParams { origin: BlockOrigin::Own, header, justification: None, @@ -515,7 +515,7 @@ impl Verifier for AuraVerifier where header: B::Header, justification: Option, mut body: Option>, - ) -> Result<(ImportBlock, Option)>>), String> { + ) -> Result<(BlockImportParams, Option)>>), String> { let mut inherent_data = self.inherent_data_providers.create_inherent_data().map_err(String::from)?; let (timestamp_now, slot_now, _) = AuraSlotCompatible.extract_timestamp_and_slot(&inherent_data) .map_err(|e| format!("Could not extract timestamp and slot: {:?}", e))?; @@ -578,7 +578,7 @@ impl Verifier for AuraVerifier where _ => None, }); - let import_block = ImportBlock { + let import_block = BlockImportParams { origin, header: pre_header, post_digests: vec![seal], diff --git a/substrate/core/consensus/babe/src/lib.rs b/substrate/core/consensus/babe/src/lib.rs index e1279479d9..055ceca782 100644 --- a/substrate/core/consensus/babe/src/lib.rs +++ b/substrate/core/consensus/babe/src/lib.rs @@ -62,7 +62,7 @@ use schnorrkel::{ }; use consensus_common::{ self, BlockImport, Environment, Proposer, - ForkChoiceStrategy, ImportBlock, BlockOrigin, Error as ConsensusError, + ForkChoiceStrategy, BlockImportParams, BlockOrigin, Error as ConsensusError, }; use srml_babe::{ BabeInherentData, @@ -373,7 +373,7 @@ impl SlotWorker for BabeWorker w let signature = pair.sign(header_hash.as_ref()); let signature_digest_item = DigestItemFor::::babe_seal(signature); - let import_block: ImportBlock = ImportBlock { + let import_block: BlockImportParams = BlockImportParams { origin: BlockOrigin::Own, header, justification: None, @@ -598,7 +598,7 @@ impl Verifier for BabeVerifier where header: B::Header, justification: Option, mut body: Option>, - ) -> Result<(ImportBlock, Option)>>), String> { + ) -> Result<(BlockImportParams, Option)>>), String> { trace!( target: "babe", "Verifying origin: {:?} header: {:?} justification: {:?} body: {:?}", @@ -666,7 +666,7 @@ impl Verifier for BabeVerifier where .log(|l| l.try_as_raw(OpaqueDigestItemId::Consensus(&BABE_ENGINE_ID))) .map(|blob| vec![(well_known_cache_keys::AUTHORITIES, blob.to_vec())]); - let import_block = ImportBlock { + let import_block = BlockImportParams { origin, header: pre_header, post_digests: vec![seal], diff --git a/substrate/core/consensus/common/src/block_import.rs b/substrate/core/consensus/common/src/block_import.rs index 8afdd31b3f..9293eda308 100644 --- a/substrate/core/consensus/common/src/block_import.rs +++ b/substrate/core/consensus/common/src/block_import.rs @@ -97,7 +97,7 @@ pub enum ForkChoiceStrategy { } /// Data required to import a Block -pub struct ImportBlock { +pub struct BlockImportParams { /// Origin of the Block pub origin: BlockOrigin, /// The header, without consensus post-digests applied. This should be in the same @@ -130,7 +130,7 @@ pub struct ImportBlock { pub fork_choice: ForkChoiceStrategy, } -impl ImportBlock { +impl BlockImportParams { /// Deconstruct the justified header into parts. pub fn into_inner(self) -> ( @@ -186,7 +186,7 @@ pub trait BlockImport { /// Cached data can be accessed through the blockchain cache. fn import_block( &mut self, - block: ImportBlock, + block: BlockImportParams, cache: HashMap>, ) -> Result; } @@ -206,7 +206,7 @@ where for<'r> &'r T: BlockImport fn import_block( &mut self, - block: ImportBlock, + block: BlockImportParams, cache: HashMap>, ) -> Result { (&**self).import_block(block, cache) diff --git a/substrate/core/consensus/common/src/import_queue.rs b/substrate/core/consensus/common/src/import_queue.rs index f8041ae99b..5e7969cc02 100644 --- a/substrate/core/consensus/common/src/import_queue.rs +++ b/substrate/core/consensus/common/src/import_queue.rs @@ -29,7 +29,7 @@ use std::{sync::Arc, collections::HashMap}; use runtime_primitives::{Justification, traits::{Block as BlockT, Header as _, NumberFor}}; use crate::{error::Error as ConsensusError, well_known_cache_keys::Id as CacheKeyId}; use crate::block_import::{ - BlockImport, BlockOrigin, ImportBlock, ImportedAux, JustificationImport, ImportResult, + BlockImport, BlockOrigin, BlockImportParams, ImportedAux, JustificationImport, ImportResult, FinalityProofImport, }; @@ -67,7 +67,7 @@ pub struct IncomingBlock { /// Verify a justification of a block pub trait Verifier: Send + Sync { - /// Verify the given data and return the ImportBlock and an optional + /// Verify the given data and return the BlockImportParams and an optional /// new set of validators to import. If not, err with an Error-Message /// presented to the User in the logs. fn verify( @@ -76,7 +76,7 @@ pub trait Verifier: Send + Sync { header: B::Header, justification: Option, body: Option>, - ) -> Result<(ImportBlock, Option)>>), String>; + ) -> Result<(BlockImportParams, Option)>>), String>; } /// Blocks import queue API. diff --git a/substrate/core/consensus/common/src/lib.rs b/substrate/core/consensus/common/src/lib.rs index 1b9f31bbbc..e976adb83c 100644 --- a/substrate/core/consensus/common/src/lib.rs +++ b/substrate/core/consensus/common/src/lib.rs @@ -47,7 +47,7 @@ const MAX_BLOCK_SIZE: usize = 4 * 1024 * 1024 + 512; pub use self::error::Error; pub use block_import::{ - BlockImport, BlockOrigin, ForkChoiceStrategy, ImportedAux, ImportBlock, ImportResult, + BlockImport, BlockOrigin, ForkChoiceStrategy, ImportedAux, BlockImportParams, ImportResult, JustificationImport, FinalityProofImport, }; pub use select_chain::SelectChain; diff --git a/substrate/core/consensus/rhd/src/lib.rs b/substrate/core/consensus/rhd/src/lib.rs index 1f6582d077..4eb118c853 100644 --- a/substrate/core/consensus/rhd/src/lib.rs +++ b/substrate/core/consensus/rhd/src/lib.rs @@ -46,7 +46,7 @@ use consensus::error::{ErrorKind as CommonErrorKind}; use consensus::{Authorities, BlockImport, Environment, Proposer as BaseProposer}; use client::{Client as SubstrateClient, CallExecutor}; use client::runtime_api::{Core, BlockBuilder as BlockBuilderAPI, OldTxQueue, BlockBuilderError}; -use runtime_primitives::generic::{BlockId, Era, ImportResult, ImportBlock, BlockOrigin}; +use runtime_primitives::generic::{BlockId, Era, ImportResult, BlockImportParams, BlockOrigin}; use runtime_primitives::traits::{Block, Header}; use runtime_primitives::traits::{ Block as BlockT, Hash as HashT, Header as HeaderT, @@ -391,7 +391,7 @@ impl Future for BftFuture, + block: BlockImportParams, _new_authorities: Option> ) -> Result { assert!(self.imported_heights.lock().insert(block.header.number)); diff --git a/substrate/core/finality-grandpa/src/import.rs b/substrate/core/finality-grandpa/src/import.rs index ccef682fea..8e1efaed6b 100644 --- a/substrate/core/finality-grandpa/src/import.rs +++ b/substrate/core/finality-grandpa/src/import.rs @@ -27,7 +27,7 @@ use client::backend::Backend; use client::runtime_api::ApiExt; use consensus_common::{ BlockImport, Error as ConsensusError, - ImportBlock, ImportResult, JustificationImport, well_known_cache_keys, + BlockImportParams, ImportResult, JustificationImport, well_known_cache_keys, SelectChain, }; use fg_primitives::GrandpaApi; @@ -244,7 +244,7 @@ where } } - fn make_authorities_changes<'a>(&'a self, block: &mut ImportBlock, hash: Block::Hash) + fn make_authorities_changes<'a>(&'a self, block: &mut BlockImportParams, hash: Block::Hash) -> Result, ConsensusError> { // when we update the authorities, we need to hold the lock @@ -405,7 +405,7 @@ impl, RA, PRA, SC> BlockImport { type Error = ConsensusError; - fn import_block(&mut self, mut block: ImportBlock, new_cache: HashMap>) + fn import_block(&mut self, mut block: BlockImportParams, new_cache: HashMap>) -> Result { let hash = block.post_header().hash(); diff --git a/substrate/core/finality-grandpa/src/light_import.rs b/substrate/core/finality-grandpa/src/light_import.rs index 717054e308..affe2828fa 100644 --- a/substrate/core/finality-grandpa/src/light_import.rs +++ b/substrate/core/finality-grandpa/src/light_import.rs @@ -28,7 +28,7 @@ use client::{ use parity_codec::{Encode, Decode}; use consensus_common::{ import_queue::Verifier, well_known_cache_keys, - BlockOrigin, BlockImport, FinalityProofImport, ImportBlock, ImportResult, ImportedAux, + BlockOrigin, BlockImport, FinalityProofImport, BlockImportParams, ImportResult, ImportedAux, Error as ConsensusError, }; use network::config::{BoxFinalityProofRequestBuilder, FinalityProofRequestBuilder}; @@ -128,7 +128,7 @@ impl, RA> BlockImport fn import_block( &mut self, - block: ImportBlock, + block: BlockImportParams, new_cache: HashMap>, ) -> Result { do_import_block::<_, _, _, _, GrandpaJustification>( @@ -230,7 +230,7 @@ impl> FinalityProofRequestBuilder for GrandpaFinalityPro fn do_import_block, RA, J>( mut client: &Client, data: &mut LightImportData, - mut block: ImportBlock, + mut block: BlockImportParams, new_cache: HashMap>, ) -> Result where @@ -573,7 +573,7 @@ pub mod tests { fn import_block( &mut self, - mut block: ImportBlock, + mut block: BlockImportParams, new_cache: HashMap>, ) -> Result { block.justification.take(); @@ -640,7 +640,7 @@ pub mod tests { authority_set: LightAuthoritySet::genesis(vec![(AuthorityId::from_raw([1; 32]), 1)]), consensus_changes: ConsensusChanges::empty(), }; - let block = ImportBlock { + let block = BlockImportParams { origin: BlockOrigin::Own, header: Header { number: 1, diff --git a/substrate/core/finality-grandpa/src/tests.rs b/substrate/core/finality-grandpa/src/tests.rs index 0a727df9a2..698996995f 100644 --- a/substrate/core/finality-grandpa/src/tests.rs +++ b/substrate/core/finality-grandpa/src/tests.rs @@ -30,7 +30,7 @@ use client::{ LongestChain, }; use test_client::{self, runtime::BlockNumber}; -use consensus_common::{BlockOrigin, ForkChoiceStrategy, ImportedAux, ImportBlock, ImportResult}; +use consensus_common::{BlockOrigin, ForkChoiceStrategy, ImportedAux, BlockImportParams, ImportResult}; use consensus_common::import_queue::{BoxBlockImport, BoxJustificationImport, BoxFinalityProofImport}; use std::collections::{HashMap, HashSet}; use std::result; @@ -969,7 +969,7 @@ fn allows_reimporting_change_blocks() { let block = || { let block = block.clone(); - ImportBlock { + BlockImportParams { origin: BlockOrigin::File, header: block.header, justification: None, @@ -1018,7 +1018,7 @@ fn test_bad_justification() { let block = || { let block = block.clone(); - ImportBlock { + BlockImportParams { origin: BlockOrigin::File, header: block.header, justification: Some(Vec::new()), diff --git a/substrate/core/network/src/test/mod.rs b/substrate/core/network/src/test/mod.rs index 59a3680d40..8f9fe7d097 100644 --- a/substrate/core/network/src/test/mod.rs +++ b/substrate/core/network/src/test/mod.rs @@ -38,7 +38,7 @@ use consensus::import_queue::{ }; use consensus::block_import::{BlockImport, ImportResult}; use consensus::{Error as ConsensusError, well_known_cache_keys::{self, Id as CacheKeyId}}; -use consensus::{BlockOrigin, ForkChoiceStrategy, ImportBlock, JustificationImport}; +use consensus::{BlockOrigin, ForkChoiceStrategy, BlockImportParams, JustificationImport}; use futures::prelude::*; use futures03::{StreamExt as _, TryStreamExt as _}; use crate::{NetworkWorker, NetworkService, config::ProtocolId}; @@ -73,14 +73,14 @@ impl Verifier for PassThroughVerifier { header: B::Header, justification: Option, body: Option> - ) -> Result<(ImportBlock, Option)>>), String> { + ) -> Result<(BlockImportParams, Option)>>), String> { let maybe_keys = header.digest() .log(|l| l.try_as_raw(OpaqueDigestItemId::Consensus(b"aura")) .or_else(|| l.try_as_raw(OpaqueDigestItemId::Consensus(b"babe"))) ) .map(|blob| vec![(well_known_cache_keys::AUTHORITIES, blob.to_vec())]); - Ok((ImportBlock { + Ok((BlockImportParams { origin, header, body, @@ -388,7 +388,7 @@ impl> BlockImport for BlockImportAdapter, + block: BlockImportParams, cache: HashMap>, ) -> Result { self.0.lock().import_block(block, cache) diff --git a/substrate/core/service/src/lib.rs b/substrate/core/service/src/lib.rs index 1ae5a0a58a..05aa082465 100644 --- a/substrate/core/service/src/lib.rs +++ b/substrate/core/service/src/lib.rs @@ -926,7 +926,7 @@ impl offchain::AuthorityKeyProvider for AuthorityKeyProvider { /// # use network::{config::DummyFinalityProofRequestBuilder, construct_simple_protocol}; /// # use client::{self, LongestChain}; /// # use consensus_common::import_queue::{BasicQueue, Verifier}; -/// # use consensus_common::{BlockOrigin, ImportBlock, well_known_cache_keys::Id as CacheKeyId}; +/// # use consensus_common::{BlockOrigin, BlockImportParams, well_known_cache_keys::Id as CacheKeyId}; /// # use node_runtime::{GenesisConfig, RuntimeApi}; /// # use std::sync::Arc; /// # use node_primitives::Block; @@ -944,7 +944,7 @@ impl offchain::AuthorityKeyProvider for AuthorityKeyProvider { /// # header: B::Header, /// # justification: Option, /// # body: Option>, -/// # ) -> Result<(ImportBlock, Option)>>), String> { +/// # ) -> Result<(BlockImportParams, Option)>>), String> { /// # unimplemented!(); /// # } /// # } diff --git a/substrate/core/service/test/src/lib.rs b/substrate/core/service/test/src/lib.rs index adfee10029..353b326a91 100644 --- a/substrate/core/service/test/src/lib.rs +++ b/substrate/core/service/test/src/lib.rs @@ -37,7 +37,7 @@ use service::{ use network::{multiaddr, Multiaddr}; use network::config::{NetworkConfiguration, TransportConfig, NodeKeyConfig, Secret, NonReservedPeerMode}; use sr_primitives::generic::BlockId; -use consensus::{ImportBlock, BlockImport}; +use consensus::{BlockImportParams, BlockImport}; /// Maximum duration of single wait call. const MAX_WAIT_TIME: Duration = Duration::from_secs(60 * 3); @@ -354,7 +354,7 @@ pub fn sync(spec: FactoryChainSpec, mut block_factory: B, mut extrin F: ServiceFactory, F::FullService: Future, F::LightService: Future, - B: FnMut(&SyncService) -> ImportBlock, + B: FnMut(&SyncService) -> BlockImportParams, E: FnMut(&SyncService) -> FactoryExtrinsic, { const NUM_FULL_NODES: usize = 10; diff --git a/substrate/core/test-client/src/client_ext.rs b/substrate/core/test-client/src/client_ext.rs index 5f677108c3..cb0d5c1736 100644 --- a/substrate/core/test-client/src/client_ext.rs +++ b/substrate/core/test-client/src/client_ext.rs @@ -18,7 +18,7 @@ use client::{self, Client}; use consensus::{ - ImportBlock, BlockImport, BlockOrigin, Error as ConsensusError, + BlockImportParams, BlockImport, BlockOrigin, Error as ConsensusError, ForkChoiceStrategy, }; use hash_db::Hasher; @@ -64,7 +64,7 @@ impl ClientExt for Client -> Result<(), ConsensusError> { let (header, extrinsics) = block.deconstruct(); - let import = ImportBlock { + let import = BlockImportParams { origin, header, justification: None, @@ -85,7 +85,7 @@ impl ClientExt for Client justification: Justification, ) -> Result<(), ConsensusError> { let (header, extrinsics) = block.deconstruct(); - let import = ImportBlock { + let import = BlockImportParams { origin, header, justification: Some(justification), diff --git a/substrate/node/cli/src/service.rs b/substrate/node/cli/src/service.rs index 3786d5bdd1..1ce4c74584 100644 --- a/substrate/node/cli/src/service.rs +++ b/substrate/node/cli/src/service.rs @@ -214,7 +214,7 @@ construct_service_factory! { mod tests { use std::sync::Arc; use aura::CompatibleDigestItem; - use consensus_common::{Environment, Proposer, ImportBlock, BlockOrigin, ForkChoiceStrategy}; + use consensus_common::{Environment, Proposer, BlockImportParams, BlockOrigin, ForkChoiceStrategy}; use node_primitives::DigestItem; use node_runtime::{BalancesCall, Call, CENTS, SECS_PER_BLOCK, UncheckedExtrinsic}; use parity_codec::{Compact, Encode, Decode}; @@ -233,7 +233,7 @@ mod tests { #[cfg(feature = "rhd")] fn test_sync() { use {service_test, Factory}; - use client::{ImportBlock, BlockOrigin}; + use client::{BlockImportParams, BlockOrigin}; let alice: Arc = Arc::new(Keyring::Alice.into()); let bob: Arc = Arc::new(Keyring::Bob.into()); @@ -253,7 +253,7 @@ mod tests { }; let (proposer, _, _) = proposer_factory.init(&parent_header, &validators, alice.clone()).unwrap(); let block = proposer.propose().expect("Error making test block"); - ImportBlock { + BlockImportParams { origin: BlockOrigin::File, justification: Vec::new(), internal_justification: Vec::new(), @@ -331,7 +331,7 @@ mod tests { ); slot_num += 1; - ImportBlock { + BlockImportParams { origin: BlockOrigin::File, header: new_header, justification: None, diff --git a/substrate/test-utils/transaction-factory/src/lib.rs b/substrate/test-utils/transaction-factory/src/lib.rs index e90ca412ac..61dbfab658 100644 --- a/substrate/test-utils/transaction-factory/src/lib.rs +++ b/substrate/test-utils/transaction-factory/src/lib.rs @@ -30,7 +30,7 @@ use log::info; use client::block_builder::api::BlockBuilder; use client::runtime_api::ConstructRuntimeApi; use consensus_common::{ - BlockOrigin, ImportBlock, InherentData, ForkChoiceStrategy, + BlockOrigin, BlockImportParams, InherentData, ForkChoiceStrategy, SelectChain }; use consensus_common::block_import::BlockImport; @@ -166,7 +166,7 @@ fn import_block( block: ::Block ) -> () where F: ServiceFactory { - let import = ImportBlock { + let import = BlockImportParams { origin: BlockOrigin::File, header: block.header().clone(), post_digests: Vec::new(),