From 63980e3770f3a8b7204c2267e1838aef231867a3 Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Mon, 3 Dec 2018 11:49:30 +0100 Subject: [PATCH] make block builder and construct_runtime! generic over inherent-data (#1191) * make block builder generic over inherent-data * construct_runtime has you specify inherent data type * get all tests to compile --- .../core/client/src/block_builder/api.rs | 8 +-- .../client/src/block_builder/block_builder.rs | 13 ++-- substrate/core/client/src/client.rs | 12 ++-- substrate/core/consensus/rhd/src/lib.rs | 4 +- substrate/core/network/src/test/mod.rs | 2 +- substrate/core/service/src/consensus.rs | 22 +++--- substrate/core/service/test/src/lib.rs | 8 +-- substrate/core/sr-primitives/src/lib.rs | 8 +-- .../core/test-client/src/block_builder_ext.rs | 4 +- substrate/core/test-runtime/src/lib.rs | 8 +-- .../substrate_test_runtime.compact.wasm | Bin 46145 -> 225459 bytes substrate/node/cli/src/chain_spec.rs | 2 +- substrate/node/primitives/src/lib.rs | 2 + substrate/node/runtime/src/lib.rs | 13 ++-- .../release/node_runtime.compact.wasm | Bin 635276 -> 858430 bytes substrate/srml/support/src/inherent.rs | 63 ++++-------------- substrate/srml/support/src/runtime.rs | 36 +++++++--- 17 files changed, 96 insertions(+), 109 deletions(-) diff --git a/substrate/core/client/src/block_builder/api.rs b/substrate/core/client/src/block_builder/api.rs index 3b8ceb6305..d122909eaf 100644 --- a/substrate/core/client/src/block_builder/api.rs +++ b/substrate/core/client/src/block_builder/api.rs @@ -16,19 +16,19 @@ //! The runtime api for building blocks. -use runtime_primitives::{traits::Block as BlockT, ApplyResult, InherentData, CheckInherentError}; +use runtime_primitives::{traits::Block as BlockT, ApplyResult, CheckInherentError}; use rstd::vec::Vec; decl_runtime_apis! { /// The `BlockBuilder` api trait that provides required functions for building a block for a runtime. - pub trait BlockBuilder { + pub trait BlockBuilder { /// Apply the given extrinsics. fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyResult; /// Finish the current block. fn finalise_block() -> ::Header; - /// Generate inherent extrinsics. + /// Generate inherent extrinsics. The inherent data will vary from chain to chain. fn inherent_extrinsics(inherent: InherentData) -> Vec<::Extrinsic>; - /// Check that the inherents are valid. + /// Check that the inherents are valid. The inherent data will vary from chain to chain. fn check_inherents(block: Block, data: InherentData) -> Result<(), CheckInherentError>; /// Generate a random seed. fn random_seed() -> ::Hash; diff --git a/substrate/core/client/src/block_builder/block_builder.rs b/substrate/core/client/src/block_builder/block_builder.rs index 7d5b867e3a..8656bfed53 100644 --- a/substrate/core/client/src/block_builder/block_builder.rs +++ b/substrate/core/client/src/block_builder/block_builder.rs @@ -16,6 +16,7 @@ use super::api::BlockBuilder as BlockBuilderApi; use std::vec::Vec; +use std::marker::PhantomData; use codec::Encode; use blockchain::HeaderBackend; use runtime_primitives::traits::{ @@ -28,18 +29,19 @@ use error; use runtime_primitives::ApplyOutcome; /// Utility for building new (valid) blocks from a stream of extrinsics. -pub struct BlockBuilder<'a, Block, A: ProvideRuntimeApi> where Block: BlockT { +pub struct BlockBuilder<'a, Block, InherentData, A: ProvideRuntimeApi> where Block: BlockT { header: ::Header, extrinsics: Vec<::Extrinsic>, api: ApiRef<'a, A::Api>, block_id: BlockId, + _marker: PhantomData, } -impl<'a, Block, A> BlockBuilder<'a, Block, A> +impl<'a, Block, A, InherentData> BlockBuilder<'a, Block, InherentData, A> where Block: BlockT, A: ProvideRuntimeApi + HeaderBackend + 'a, - A::Api: BlockBuilderApi, + A::Api: BlockBuilderApi, { /// Create a new instance of builder from the given client, building on the latest block. pub fn new(api: &'a A) -> error::Result { @@ -72,6 +74,7 @@ where extrinsics: Vec::new(), api, block_id: *block_id, + _marker: PhantomData, }) } @@ -79,12 +82,12 @@ where /// can be validly executed (by executing it); if it is invalid, it'll be returned along with /// the error. Otherwise, it will return a mutable reference to self (in order to chain). pub fn push(&mut self, xt: ::Extrinsic) -> error::Result<()> { - fn impl_push<'a, T, Block: BlockT>( + fn impl_push<'a, T, Block: BlockT, InherentData>( api: &mut ApiRef<'a, T>, block_id: &BlockId, xt: Block::Extrinsic, extrinsics: &mut Vec - ) -> error::Result<()> where T: BlockBuilderApi { + ) -> error::Result<()> where T: BlockBuilderApi { api.map_api_result(|api| { match api.apply_extrinsic(block_id, &xt)? { Ok(ApplyOutcome::Success) | Ok(ApplyOutcome::Fail) => { diff --git a/substrate/core/client/src/client.rs b/substrate/core/client/src/client.rs index 205827b6d4..60a68665ff 100644 --- a/substrate/core/client/src/client.rs +++ b/substrate/core/client/src/client.rs @@ -538,21 +538,21 @@ impl Client where } /// Create a new block, built on the head of the chain. - pub fn new_block( + pub fn new_block( &self - ) -> error::Result> where + ) -> error::Result> where E: Clone + Send + Sync, - RA: BlockBuilderAPI + RA: BlockBuilderAPI { block_builder::BlockBuilder::new(self) } /// Create a new block, built on top of `parent`. - pub fn new_block_at( + pub fn new_block_at( &self, parent: &BlockId - ) -> error::Result> where + ) -> error::Result> where E: Clone + Send + Sync, - RA: BlockBuilderAPI + RA: BlockBuilderAPI { block_builder::BlockBuilder::at_block(parent, &self) } diff --git a/substrate/core/consensus/rhd/src/lib.rs b/substrate/core/consensus/rhd/src/lib.rs index 449f9c3ffa..135fbd03a2 100644 --- a/substrate/core/consensus/rhd/src/lib.rs +++ b/substrate/core/consensus/rhd/src/lib.rs @@ -196,7 +196,7 @@ pub trait BlockBuilder { pub trait AuthoringApi: Send + Sync - + BlockBuilderAPI<::Block, Error=::Error> + + BlockBuilderAPI<::Block, InherentData, Error=::Error> + Core<::Block, AuthorityId, Error=::Error> + OldTxQueue<::Block, Error=::Error> { @@ -1174,7 +1174,7 @@ impl BaseProposer<::Block> for Proposer where let proposed_timestamp = match self.client.check_inherents( &self.parent_id, &unchecked_proposal, - &inherent + &inherent, ) { Ok(Ok(())) => None, Ok(Err(BlockBuilderError::TimestampInFuture(timestamp))) => Some(timestamp), diff --git a/substrate/core/network/src/test/mod.rs b/substrate/core/network/src/test/mod.rs index 603aaa9572..7f490a9459 100644 --- a/substrate/core/network/src/test/mod.rs +++ b/substrate/core/network/src/test/mod.rs @@ -234,7 +234,7 @@ impl, D> Peer { /// Add blocks to the peer -- edit the block before adding pub fn generate_blocks(&self, count: usize, origin: BlockOrigin, mut edit_block: F) - where F: FnMut(BlockBuilder) -> Block + where F: FnMut(BlockBuilder) -> Block { use blocks::BlockData; diff --git a/substrate/core/service/src/consensus.rs b/substrate/core/service/src/consensus.rs index 240ba7dc49..2a7b96f199 100644 --- a/substrate/core/service/src/consensus.rs +++ b/substrate/core/service/src/consensus.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -//! provide consensus service to substrate. +//! A consensus proposer for "basic" chains which use the primitive inherent-data. // FIXME: move this into substrate-consensus-common - https://github.com/paritytech/substrate/issues/1021 @@ -29,7 +29,7 @@ use consensus_common::{self, evaluation, offline_tracker::OfflineTracker}; use primitives::{H256, AuthorityId, ed25519, Blake2Hasher}; use runtime_primitives::traits::{Block as BlockT, Hash as HashT, Header as HeaderT, ProvideRuntimeApi}; use runtime_primitives::generic::BlockId; -use runtime_primitives::InherentData; +use runtime_primitives::BasicInherentData; use transaction_pool::txpool::{self, Pool as TransactionPool}; use parking_lot::RwLock; @@ -60,16 +60,18 @@ pub trait AuthoringApi: Send + Sync + ProvideRuntimeApi where fn build_block) -> ()>( &self, at: &BlockId, - inherent_data: InherentData, + inherent_data: BasicInherentData, build_ctx: F, ) -> Result; } -impl<'a, B, E, Block, RA> BlockBuilder for client::block_builder::BlockBuilder<'a, Block, SubstrateClient> where +impl<'a, B, E, Block, RA> BlockBuilder + for client::block_builder::BlockBuilder<'a, Block, BasicInherentData, SubstrateClient> +where B: client::backend::Backend + 'static, E: CallExecutor + Send + Sync + Clone + 'static, Block: BlockT, - RA: BlockBuilderApi, + RA: BlockBuilderApi, { fn push_extrinsic(&mut self, extrinsic: ::Extrinsic) -> Result<(), error::Error> { client::block_builder::BlockBuilder::push(self, extrinsic).map_err(Into::into) @@ -80,7 +82,7 @@ impl AuthoringApi for SubstrateClient where B: client::backend::Backend + Send + Sync + 'static, E: CallExecutor + Send + Sync + Clone + 'static, Block: BlockT, - RA: BlockBuilderApi, + RA: BlockBuilderApi, { type Block = Block; type Error = client::error::Error; @@ -88,7 +90,7 @@ impl AuthoringApi for SubstrateClient where fn build_block) -> ()>( &self, at: &BlockId, - inherent_data: InherentData, + inherent_data: BasicInherentData, mut build_ctx: F, ) -> Result { let runtime_version = self.runtime_version_at(at)?; @@ -119,7 +121,7 @@ pub struct ProposerFactory where A: txpool::ChainApi { impl consensus_common::Environment<::Block> for ProposerFactory where C: AuthoringApi, - ::Api: BlockBuilderApi<::Block>, + ::Api: BlockBuilderApi<::Block, BasicInherentData>, A: txpool::ChainApi::Block>, client::error::Error: From<::Error> { @@ -174,7 +176,7 @@ pub struct Proposer { impl consensus_common::Proposer<::Block> for Proposer where Block: BlockT, C: AuthoringApi, - ::Api: BlockBuilderApi, + ::Api: BlockBuilderApi, A: txpool::ChainApi, client::error::Error: From<::Error> { @@ -201,7 +203,7 @@ impl consensus_common::Proposer<::Block> for Pro ) } - let inherent_data = InherentData::new(timestamp, offline_indices); + let inherent_data = BasicInherentData::new(timestamp, offline_indices); let block = self.client.build_block( &self.parent_id, diff --git a/substrate/core/service/test/src/lib.rs b/substrate/core/service/test/src/lib.rs index 7ffa783e97..fdb39ed991 100644 --- a/substrate/core/service/test/src/lib.rs +++ b/substrate/core/service/test/src/lib.rs @@ -180,9 +180,9 @@ impl TestNet { } } -pub fn connectivity(spec: FactoryChainSpec) where +pub fn connectivity(spec: FactoryChainSpec) where ::RuntimeApi: - client::block_builder::api::BlockBuilder<::Block> + client::block_builder::api::BlockBuilder<::Block, Inherent> { const NUM_NODES: u32 = 10; { @@ -224,7 +224,7 @@ where B: Fn(&F::FullService) -> ImportBlock, E: Fn(&F::FullService) -> FactoryExtrinsic, ::RuntimeApi: - client::block_builder::api::BlockBuilder<::Block> + + client::block_builder::api::BlockBuilder<::Block, ()> + client::runtime_api::TaggedTransactionQueue<::Block> { const NUM_NODES: u32 = 10; @@ -263,7 +263,7 @@ pub fn consensus(spec: FactoryChainSpec, authorities: Vec) where F: ServiceFactory, ::RuntimeApi: - client::block_builder::api::BlockBuilder<::Block> + client::block_builder::api::BlockBuilder<::Block, ()> { const NUM_NODES: u32 = 20; const NUM_BLOCKS: u64 = 200; diff --git a/substrate/core/sr-primitives/src/lib.rs b/substrate/core/sr-primitives/src/lib.rs index 86c93ab3d7..e07711668c 100644 --- a/substrate/core/sr-primitives/src/lib.rs +++ b/substrate/core/sr-primitives/src/lib.rs @@ -463,17 +463,17 @@ macro_rules! impl_outer_log { } //TODO: https://github.com/paritytech/substrate/issues/1022 -/// Inherent data to include in a block. +/// Basic Inherent data to include in a block; used by simple runtimes. #[derive(Encode, Decode)] -pub struct InherentData { +pub struct BasicInherentData { /// Current timestamp. pub timestamp: u64, /// Indices of offline validators. pub consensus: Vec, } -impl InherentData { - /// Create a new `InherentData` instance. +impl BasicInherentData { + /// Create a new `BasicInherentData` instance. pub fn new(timestamp: u64, consensus: Vec) -> Self { Self { timestamp, diff --git a/substrate/core/test-client/src/block_builder_ext.rs b/substrate/core/test-client/src/block_builder_ext.rs index 3c334b07a1..651559114a 100644 --- a/substrate/core/test-client/src/block_builder_ext.rs +++ b/substrate/core/test-client/src/block_builder_ext.rs @@ -29,9 +29,9 @@ pub trait BlockBuilderExt { fn push_transfer(&mut self, transfer: runtime::Transfer) -> Result<(), client::error::Error>; } -impl<'a, A> BlockBuilderExt for client::block_builder::BlockBuilder<'a, runtime::Block, A> where +impl<'a, A> BlockBuilderExt for client::block_builder::BlockBuilder<'a, runtime::Block, (), A> where A: ProvideRuntimeApi + client::blockchain::HeaderBackend + 'a, - A::Api: BlockBuilder + A::Api: BlockBuilder { fn push_transfer(&mut self, transfer: runtime::Transfer) -> Result<(), client::error::Error> { self.push(sign_tx(transfer)) diff --git a/substrate/core/test-runtime/src/lib.rs b/substrate/core/test-runtime/src/lib.rs index 50a0134e90..e3228cae3c 100644 --- a/substrate/core/test-runtime/src/lib.rs +++ b/substrate/core/test-runtime/src/lib.rs @@ -56,7 +56,7 @@ use runtime_primitives::{ traits::{ BlindCheckable, BlakeTwo256, Block as BlockT, Extrinsic as ExtrinsicT, GetNodeBlockType, GetRuntimeBlockType - }, InherentData, CheckInherentError + }, CheckInherentError }; use runtime_version::RuntimeVersion; pub use primitives::hash::H256; @@ -220,7 +220,7 @@ impl_runtime_apis! { } } - impl block_builder_api::BlockBuilder for Runtime { + impl block_builder_api::BlockBuilder for Runtime { fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyResult { system::execute_transaction(extrinsic) } @@ -229,11 +229,11 @@ impl_runtime_apis! { system::finalise_block() } - fn inherent_extrinsics(_data: InherentData) -> Vec<::Extrinsic> { + fn inherent_extrinsics(_data: ()) -> Vec<::Extrinsic> { unimplemented!() } - fn check_inherents(_block: Block, _data: InherentData) -> Result<(), CheckInherentError> { + fn check_inherents(_block: Block, _data: ()) -> Result<(), CheckInherentError> { unimplemented!() } diff --git a/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index c9643519e97b7a7b59c399d69a27dd5f856bd84f..62fa99174ff864ccc8ebd34f7f1b21a1bb41b74f 100644 GIT binary patch literal 225459 zcmd443xHi!eeb{bKKnf8oH;Wm4tMz`qzqR&0=S&j7 z*89JI!tA}?>$iTd^;^HS_Bz4Hrn@hw55go+ZbofsVr z3X1k9x@Thh?x{`trmkHR#7eBU5_j+06%>^=TWQygPHmc;8lM=sZgdk>#)Hzd;@d`V za82~8_++biP*%wqO5L(^bYvoH#+7bZY2Wa~`1q6qZccmhmTe=uuN$4*WZ4z9)~)QR zmyO@BY1#5ML6?#iD(RY?BRfWyZ(6=;^`=qaADtMP8r`~SYGV7St8AdmRLRk;%U7*h zwszC?qZ8Y&y)md3hF8b6xT~vB=nCUfp*xI&FpR@`7ysh8E3Vb!I)8D!UL%#L{)vcj zG29b&brlO?FrzfLus=)>95@=(_6O;MhuhxegHfZjYjoH6#EnrfcM~|=x_x4F3k2D> zd&|`J@!gxIMy}a88V0pZo3@RP?Adh9$mD1ttZv%0b!2LU(QGY5Wq_TeXwa;U?3>y) zKCyjj`{-n_5TcE4**7)H@W;382o^QA?4M6x(Ww!&6fB*6JvjtN!OO_* z$r0;4xTtqz&z_w(ZUQ&3#N_rZ!SbGKx9@ImWW}uQySI%_jKVN^smWltcgwcXEjt*H z%bN_=)o6F?_%4`WbZhXW>NO)fM|N)+-86n}@Z_$ZFi68%<%|VqKV@|?XKwY!_eHB8 z0@M4W^{szNkj7(!QNX*RcYpM>dXPkEIM!cCqK)-f;i>*ODey1e*w-JY!4*oqtR5x- z6`I8)ZUp^>%j!i+5J@8b#ZT{Rr1O$uBkYc9u3SMOU$j74Qdn)>#$!qBLIyxn<$=Xu zP�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 delta 6528 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 + service_test::connectivity::(integration_test_config()); } } diff --git a/substrate/node/primitives/src/lib.rs b/substrate/node/primitives/src/lib.rs index e9b32db752..e2336acafd 100644 --- a/substrate/node/primitives/src/lib.rs +++ b/substrate/node/primitives/src/lib.rs @@ -38,6 +38,8 @@ use runtime_primitives::generic; use primitives::bytes; use runtime_primitives::traits::{BlakeTwo256, self}; +pub use runtime_primitives::BasicInherentData as InherentData; + /// An index to a block. pub type BlockNumber = u64; diff --git a/substrate/node/runtime/src/lib.rs b/substrate/node/runtime/src/lib.rs index 6abd5c2b05..b8ff92d1dd 100644 --- a/substrate/node/runtime/src/lib.rs +++ b/substrate/node/runtime/src/lib.rs @@ -63,7 +63,7 @@ use grandpa::fg_primitives::{self, ScheduledChange, id::*}; use client::{ block_builder::api as block_builder_api, runtime_api::{self as client_api, id::*} }; -use runtime_primitives::{ApplyResult, CheckInherentError}; +use runtime_primitives::{ApplyResult, CheckInherentError, BasicInherentData}; use runtime_primitives::transaction_validity::TransactionValidity; use runtime_primitives::generic; use runtime_primitives::traits::{ @@ -209,7 +209,8 @@ impl grandpa::Trait for Runtime { construct_runtime!( pub enum Runtime with Log(InternalLog: DigestItem) where Block = Block, - NodeBlock = node_primitives::Block + NodeBlock = node_primitives::Block, + InherentData = BasicInherentData { System: system::{default, Log(ChangesTrieRoot)}, Timestamp: timestamp::{Module, Call, Storage, Config, Inherent}, @@ -274,7 +275,7 @@ impl_runtime_apis! { } } - impl block_builder_api::BlockBuilder for Runtime { + impl block_builder_api::BlockBuilder for Runtime { fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyResult { Executive::apply_extrinsic(extrinsic) } @@ -283,7 +284,7 @@ impl_runtime_apis! { Executive::finalise_block() } - fn inherent_extrinsics(data: runtime_primitives::InherentData) -> Vec<::Extrinsic> { + fn inherent_extrinsics(data: BasicInherentData) -> Vec<::Extrinsic> { let mut inherent = Vec::new(); inherent.extend( @@ -302,8 +303,8 @@ impl_runtime_apis! { inherent.into_iter().map(|v| v.1).collect() } - fn check_inherents(block: Block, data: runtime_primitives::InherentData) -> Result<(), CheckInherentError> { - InherentData::check_inherents(data, block) + fn check_inherents(block: Block, data: BasicInherentData) -> Result<(), CheckInherentError> { + Runtime::check_inherents(block, data) } fn random_seed() -> ::Hash { diff --git a/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm b/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm index fb0d9a9d0403b5eee808701470d6b4e4cfb45428..7c0b3a2619d39db668ae46e4ac13a6af21c97737 100644 GIT binary patch literal 858430 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