From e779eeb2ec280714a333d241d57cc3e4a1991ce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Sat, 8 Dec 2018 05:34:59 +0000 Subject: [PATCH] Grandpa validator set handoff justification (#1190) * core: make block justification optional * runtime: update wasm binaries * core: optionally pass justification on finalize_block * finality-grandpa: add channel to trigger authority set changes this will allow the `BlockImport` to trigger an authority set change when importing a change block that provides a justification (when syncing) * finality-grandpa: move finalize_block to free function * finality-grandpa: add GrandpaOracle for auth set liveness checking this will be used by `BlockImport` to check whether the authority set for a given block is still live, if the authority set isn't live then importing a change block requires a justification. * finality-grandpa: store justification on finalized transition blocks * finality-grandpa: check justification on authority set change blocks * finality-grandpa: poll grandpa liveness oracle every 10 seconds * finality-grandpa: spawn grandpa oracle in service setup * core: support multiple subscriptions per consensus gossip topic * finality-grandpa: create and verify justifications * finality-grandpa: update to local branch of grandpa * finality-grandpa: update to finality-grandpa v0.5.0 * finality-grandpa: move grandpa oracle code * finality-grandpa: fix canonality check * finality-grandpa: clean up error handling * finality-grandpa: fix canonical_at_height * finality-grandpa: fix tests * runtime: update wasm binaries * core: add tests for finalizing block with justification * finality-grandpa: improve validation of justifications * core: remove unused IncompleteJustification block import error * core: test multiple subscribers for same consensus gossip topic * Revert "finality-grandpa: improve validation of justifications" This reverts commit 51eb2c58c2219801e876af6d6c9371bdd9ff2477. * finality-grandpa: fix commit validation * finality-grandpa: fix commit ancestry validation * finality-grandpa: use grandpa v0.5.1 * finality-grandpa: add docs * finality-grandpa: fix failing test * finality-grandpa: only allow a pending authority set change per fork * finality-grandpa: fix validator set transition test --- substrate/Cargo.lock | 6 +- substrate/core/client/db/src/lib.rs | 51 +- substrate/core/client/src/backend.rs | 2 +- substrate/core/client/src/client.rs | 111 ++- substrate/core/client/src/in_mem.rs | 23 +- substrate/core/client/src/light/backend.rs | 2 +- substrate/core/client/src/light/fetcher.rs | 2 +- substrate/core/consensus/aura/src/lib.rs | 9 +- .../core/consensus/common/src/block_import.rs | 8 +- substrate/core/consensus/rhd/src/lib.rs | 2 +- substrate/core/finality-grandpa/Cargo.toml | 2 +- .../core/finality-grandpa/src/authorities.rs | 166 +++- .../finality-grandpa/src/communication.rs | 2 +- substrate/core/finality-grandpa/src/lib.rs | 759 ++++++++++++++---- substrate/core/finality-grandpa/src/tests.rs | 136 ++-- .../core/network/src/consensus_gossip.rs | 43 +- substrate/core/network/src/import_queue.rs | 42 +- substrate/core/network/src/test/mod.rs | 2 +- substrate/core/rpc/src/chain/tests.rs | 19 +- substrate/core/rpc/src/state/tests.rs | 6 +- substrate/core/service/src/chain_ops.rs | 2 +- .../core/sr-primitives/src/generic/block.rs | 2 +- substrate/core/test-client/src/client_ext.rs | 35 +- substrate/core/test-client/src/trait_tests.rs | 40 +- substrate/core/test-runtime/wasm/Cargo.lock | 12 +- .../substrate_test_runtime.compact.wasm | Bin 225459 -> 45027 bytes substrate/node/cli/src/service.rs | 7 +- substrate/node/runtime/wasm/Cargo.lock | 13 +- .../release/node_runtime.compact.wasm | Bin 858430 -> 645419 bytes 29 files changed, 1115 insertions(+), 389 deletions(-) diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index 5bfe56b432..d4feb98cab 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -724,7 +724,7 @@ dependencies = [ [[package]] name = "finality-grandpa" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3388,7 +3388,7 @@ name = "substrate-finality-grandpa" version = "0.1.0" dependencies = [ "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", - "finality-grandpa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "finality-grandpa 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4643,7 +4643,7 @@ dependencies = [ "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" -"checksum finality-grandpa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc88b8ddddcf3f998b8196d93c3ce31427c5b241cfe6c5a342e2a3f5d13ecbb" +"checksum finality-grandpa 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a1dffe3c9d4c59d964f25cea31880e56c20414cdae7efe2269411238f850ad39" "checksum fixed-hash 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a557e80084b05c32b455963ff565a9de6f2866da023d6671705c6aff6f65e01c" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" diff --git a/substrate/core/client/db/src/lib.rs b/substrate/core/client/db/src/lib.rs index d1cab2d15d..420c1fca9d 100644 --- a/substrate/core/client/db/src/lib.rs +++ b/substrate/core/client/db/src/lib.rs @@ -797,7 +797,9 @@ impl client::backend::Backend for Backend whe Ok(()) } - fn finalize_block(&self, block: BlockId) -> Result<(), client::error::Error> { + fn finalize_block(&self, block: BlockId, justification: Option) + -> Result<(), client::error::Error> + { use runtime_primitives::traits::Header; if let Some(header) = ::client::blockchain::HeaderBackend::header(&self.blockchain, block)? { @@ -805,6 +807,14 @@ impl client::backend::Backend for Backend whe // TODO: ensure best chain contains this block. let hash = header.hash(); self.note_finalized(&mut transaction, &header, hash.clone())?; + if let Some(justification) = justification { + let number = header.number().clone(); + transaction.put( + columns::JUSTIFICATION, + &::utils::number_and_hash_to_lookup_key(number, hash.clone()), + &justification.encode(), + ); + } self.storage.db.write(transaction).map_err(db_err)?; self.blockchain.update_meta(hash, header.number().clone(), false, true); Ok(()) @@ -1196,8 +1206,8 @@ mod tests { assert!(backend.storage.db.get(::columns::STATE, key.as_bytes()).unwrap().is_none()); } - backend.finalize_block(BlockId::Number(1)).unwrap(); - backend.finalize_block(BlockId::Number(2)).unwrap(); + backend.finalize_block(BlockId::Number(1), None).unwrap(); + backend.finalize_block(BlockId::Number(2), None).unwrap(); assert!(backend.storage.db.get(::columns::STATE, key.as_bytes()).unwrap().is_none()); } @@ -1499,4 +1509,39 @@ mod tests { backend.insert_aux(&[], &[&b"test"[..]]).unwrap(); assert!(backend.get_aux(b"test").unwrap().is_none()); } + + #[test] + fn test_finalize_block_with_justification() { + use client::blockchain::{Backend as BlockChainBackend}; + + let backend = Backend::::new_test(0, 0); + + { + let mut op = backend.begin_operation(BlockId::Hash(Default::default())).unwrap(); + let header = Header { + number: 0, + parent_hash: Default::default(), + state_root: Default::default(), + digest: Default::default(), + extrinsics_root: Default::default(), + }; + + op.set_block_data( + header, + Some(vec![]), + None, + NewBlockState::Best, + ).unwrap(); + + backend.commit_operation(op).unwrap(); + } + + let justification = Some(vec![1, 2, 3]); + backend.finalize_block(BlockId::Number(0), justification.clone()).unwrap(); + + assert_eq!( + backend.blockchain().justification(BlockId::Number(0)).unwrap(), + justification, + ); + } } diff --git a/substrate/core/client/src/backend.rs b/substrate/core/client/src/backend.rs index a4e6852560..5fa5ec8933 100644 --- a/substrate/core/client/src/backend.rs +++ b/substrate/core/client/src/backend.rs @@ -107,7 +107,7 @@ pub trait Backend: Send + Sync where fn commit_operation(&self, transaction: Self::BlockImportOperation) -> error::Result<()>; /// Finalize block with given Id. This should only be called if the parent of the given /// block has been finalized. - fn finalize_block(&self, block: BlockId) -> error::Result<()>; + fn finalize_block(&self, block: BlockId, justification: Option) -> error::Result<()>; /// Returns reference to blockchain backend. fn blockchain(&self) -> &Self::Blockchain; /// Returns reference to changes trie storage. diff --git a/substrate/core/client/src/client.rs b/substrate/core/client/src/client.rs index 60a68665ff..67269d6d17 100644 --- a/substrate/core/client/src/client.rs +++ b/substrate/core/client/src/client.rs @@ -593,7 +593,7 @@ impl Client where origin: BlockOrigin, hash: Block::Hash, import_headers: PrePostHeader, - justification: Justification, + justification: Option, body: Option>, authorities: Option>, finalized: bool, @@ -624,7 +624,7 @@ impl Client where // ensure parent block is finalized to maintain invariant that // finality is called sequentially. if finalized { - self.apply_finality(parent_hash, last_best, make_notifications)?; + self.apply_finality(parent_hash, None, last_best, make_notifications)?; } let tags = self.transaction_tags(parent_hash, &body)?; @@ -678,7 +678,7 @@ impl Client where transaction.set_block_data( import_headers.post().clone(), body, - Some(justification), + justification, leaf_state, )?; @@ -727,8 +727,16 @@ impl Client where Ok(ImportResult::Queued) } - /// Finalizes all blocks up to given. - fn apply_finality(&self, block: Block::Hash, best_block: Block::Hash, notify: bool) -> error::Result<()> { + /// Finalizes all blocks up to given. If a justification is provided it is + /// stored with the given finalized block (any other finalized blocks are + /// left unjustified). + fn apply_finality( + &self, + block: Block::Hash, + justification: Option, + best_block: Block::Hash, + notify: bool, + ) -> error::Result<()> { // find tree route from last finalized to given block. let last_finalized = self.backend.blockchain().last_finalized()?; @@ -759,10 +767,15 @@ impl Client where // `block`. } - for finalize_new in route_from_finalized.enacted() { - self.backend.finalize_block(BlockId::Hash(finalize_new.hash))?; + let enacted = route_from_finalized.enacted(); + assert!(enacted.len() > 0); + for finalize_new in &enacted[..enacted.len() - 1] { + self.backend.finalize_block(BlockId::Hash(finalize_new.hash), None)?; } + assert_eq!(enacted.last().map(|e| e.hash), Some(block)); + self.backend.finalize_block(BlockId::Hash(block), justification)?; + if notify { // sometimes when syncing, tons of blocks can be finalized at once. // we'll send notifications spuriously in that case. @@ -791,7 +804,7 @@ impl Client where /// Pass a flag to indicate whether finality notifications should be propagated. /// This is usually tied to some synchronization state, where we don't send notifications /// while performing major synchronization work. - pub fn finalize_block(&self, id: BlockId, notify: bool) -> error::Result<()> { + pub fn finalize_block(&self, id: BlockId, justification: Option, notify: bool) -> error::Result<()> { let last_best = self.backend.blockchain().info()?.best_hash; let to_finalize_hash = match id { BlockId::Hash(h) => h, @@ -799,7 +812,7 @@ impl Client where .ok_or_else(|| error::ErrorKind::UnknownBlock(format!("No block with number {:?}", n)))?, }; - self.apply_finality(to_finalize_hash, last_best, notify) + self.apply_finality(to_finalize_hash, justification, last_best, notify) } /// Attempts to revert the chain by `n` blocks. Returns the number of blocks that were @@ -858,7 +871,7 @@ impl Client where -> error::Result>> { Ok(match (self.header(id)?, self.body(id)?, self.justification(id)?) { - (Some(header), Some(extrinsics), Some(justification)) => + (Some(header), Some(extrinsics), justification) => Some(SignedBlock { block: Block::new(header, extrinsics), justification }), _ => None, }) @@ -1064,7 +1077,8 @@ impl consensus::BlockImport for Client { type Error = Error; - /// Import a checked and validated block + /// Import a checked and validated block. If a justification is provided in + /// `ImportBlock` then `finalized` *must* be true. fn import_block( &self, import_block: ImportBlock, @@ -1081,6 +1095,9 @@ impl consensus::BlockImport for Client finalized, auxiliary, } = import_block; + + assert!(justification.is_some() && finalized || justification.is_none()); + let parent_hash = header.parent_hash().clone(); match self.backend.blockchain().status(BlockId::Hash(parent_hash))? { @@ -1254,7 +1271,7 @@ pub(crate) mod tests { nonce: *nonces.entry(from).and_modify(|n| { *n = *n + 1 }).or_default(), }).unwrap(); } - remote_client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + remote_client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); let header = remote_client.header(&BlockId::Number(i as u64 + 1)).unwrap().unwrap(); let trie_root = header.digest().log(DigestItem::as_changes_trie_root) @@ -1334,7 +1351,7 @@ pub(crate) mod tests { let builder = client.new_block().unwrap(); - client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); assert_eq!(client.info().unwrap().chain.best_number, 1); } @@ -1352,7 +1369,7 @@ pub(crate) mod tests { nonce: 0, }).unwrap(); - client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); assert_eq!(client.info().unwrap().chain.best_number, 1); assert!(client.state_at(&BlockId::Number(1)).unwrap() != client.state_at(&BlockId::Number(0)).unwrap()); @@ -1404,7 +1421,7 @@ pub(crate) mod tests { nonce: 0, }).is_err()); - client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); assert_eq!(client.info().unwrap().chain.best_number, 1); assert!(client.state_at(&BlockId::Number(1)).unwrap() != client.state_at(&BlockId::Number(0)).unwrap()); @@ -1444,11 +1461,11 @@ pub(crate) mod tests { // G -> A1 let a1 = client.new_block().unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a1.clone()).unwrap(); + client.import(BlockOrigin::Own, a1.clone()).unwrap(); // A1 -> A2 let a2 = client.new_block().unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a2.clone()).unwrap(); + client.import(BlockOrigin::Own, a2.clone()).unwrap(); let genesis_hash = client.info().unwrap().chain.genesis_hash; @@ -1473,23 +1490,23 @@ pub(crate) mod tests { // G -> A1 let a1 = client.new_block().unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a1.clone()).unwrap(); + client.import(BlockOrigin::Own, a1.clone()).unwrap(); // A1 -> A2 let a2 = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a2.clone()).unwrap(); + client.import(BlockOrigin::Own, a2.clone()).unwrap(); // A2 -> A3 let a3 = client.new_block_at(&BlockId::Hash(a2.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a3.clone()).unwrap(); + client.import(BlockOrigin::Own, a3.clone()).unwrap(); // A3 -> A4 let a4 = client.new_block_at(&BlockId::Hash(a3.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a4.clone()).unwrap(); + client.import(BlockOrigin::Own, a4.clone()).unwrap(); // A4 -> A5 let a5 = client.new_block_at(&BlockId::Hash(a4.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a5.clone()).unwrap(); + client.import(BlockOrigin::Own, a5.clone()).unwrap(); // A1 -> B2 let mut builder = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap(); @@ -1501,15 +1518,15 @@ pub(crate) mod tests { nonce: 0, }).unwrap(); let b2 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b2.clone()).unwrap(); + client.import(BlockOrigin::Own, b2.clone()).unwrap(); // B2 -> B3 let b3 = client.new_block_at(&BlockId::Hash(b2.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b3.clone()).unwrap(); + client.import(BlockOrigin::Own, b3.clone()).unwrap(); // B3 -> B4 let b4 = client.new_block_at(&BlockId::Hash(b3.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b4.clone()).unwrap(); + client.import(BlockOrigin::Own, b4.clone()).unwrap(); // // B2 -> C3 let mut builder = client.new_block_at(&BlockId::Hash(b2.hash())).unwrap(); @@ -1521,7 +1538,7 @@ pub(crate) mod tests { nonce: 1, }).unwrap(); let c3 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, c3.clone()).unwrap(); + client.import(BlockOrigin::Own, c3.clone()).unwrap(); // A1 -> D2 let mut builder = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap(); @@ -1533,7 +1550,7 @@ pub(crate) mod tests { nonce: 0, }).unwrap(); let d2 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, d2.clone()).unwrap(); + client.import(BlockOrigin::Own, d2.clone()).unwrap(); assert_eq!(client.info().unwrap().chain.best_hash, a5.hash()); @@ -1686,4 +1703,44 @@ pub(crate) mod tests { } } } + + #[test] + fn import_with_justification() { + use test_client::blockchain::Backend; + + let client = test_client::new(); + + // G -> A1 + let a1 = client.new_block().unwrap().bake().unwrap(); + client.import(BlockOrigin::Own, a1.clone()).unwrap(); + + // A1 -> A2 + let a2 = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap().bake().unwrap(); + client.import(BlockOrigin::Own, a2.clone()).unwrap(); + + // A2 -> A3 + let justification = vec![1, 2, 3]; + let a3 = client.new_block_at(&BlockId::Hash(a2.hash())).unwrap().bake().unwrap(); + client.import_justified(BlockOrigin::Own, a3.clone(), justification.clone()).unwrap(); + + assert_eq!( + client.backend().blockchain().last_finalized().unwrap(), + a3.hash(), + ); + + assert_eq!( + client.backend().blockchain().justification(BlockId::Hash(a3.hash())).unwrap(), + Some(justification), + ); + + assert_eq!( + client.backend().blockchain().justification(BlockId::Hash(a1.hash())).unwrap(), + None, + ); + + assert_eq!( + client.backend().blockchain().justification(BlockId::Hash(a2.hash())).unwrap(), + None, + ); + } } diff --git a/substrate/core/client/src/in_mem.rs b/substrate/core/client/src/in_mem.rs index cce629a9d7..32303fb73f 100644 --- a/substrate/core/client/src/in_mem.rs +++ b/substrate/core/client/src/in_mem.rs @@ -242,13 +242,26 @@ impl Blockchain { self.storage.write().header_cht_roots.insert(block, cht_root); } - fn finalize_header(&self, id: BlockId) -> error::Result<()> { + fn finalize_header(&self, id: BlockId, justification: Option) -> error::Result<()> { let hash = match self.header(id)? { Some(h) => h.hash(), None => return Err(error::ErrorKind::UnknownBlock(format!("{}", id)).into()), }; - self.storage.write().finalized_hash = hash; + let mut storage = self.storage.write(); + storage.finalized_hash = hash; + + if justification.is_some() { + let block = storage.blocks.get_mut(&hash) + .expect("hash was fetched from a block in the db; qed"); + + let block_justification = match block { + StoredBlock::Header(_, ref mut j) | StoredBlock::Full(_, ref mut j) => j + }; + + *block_justification = justification; + } + Ok(()) } @@ -352,7 +365,7 @@ impl light::blockchain::Storage for Blockchain } fn finalize_header(&self, id: BlockId) -> error::Result<()> { - Blockchain::finalize_header(self, id) + Blockchain::finalize_header(self, id, None) } fn header_cht_root(&self, _cht_size: u64, block: NumberFor) -> error::Result { @@ -543,8 +556,8 @@ where Ok(()) } - fn finalize_block(&self, block: BlockId) -> error::Result<()> { - self.blockchain.finalize_header(block) + fn finalize_block(&self, block: BlockId, justification: Option) -> error::Result<()> { + self.blockchain.finalize_header(block, justification) } fn blockchain(&self) -> &Self::Blockchain { diff --git a/substrate/core/client/src/light/backend.rs b/substrate/core/client/src/light/backend.rs index 884d037704..89c247b6af 100644 --- a/substrate/core/client/src/light/backend.rs +++ b/substrate/core/client/src/light/backend.rs @@ -102,7 +102,7 @@ impl ClientBackend for Backend where ) } - fn finalize_block(&self, block: BlockId) -> ClientResult<()> { + fn finalize_block(&self, block: BlockId, _justification: Option) -> ClientResult<()> { self.blockchain.storage().finalize_header(block) } diff --git a/substrate/core/client/src/light/fetcher.rs b/substrate/core/client/src/light/fetcher.rs index 6b7938bab7..1171e15f49 100644 --- a/substrate/core/client/src/light/fetcher.rs +++ b/substrate/core/client/src/light/fetcher.rs @@ -469,7 +469,7 @@ pub mod tests { let mut local_headers_hashes = Vec::new(); for i in 0..4 { let builder = remote_client.new_block().unwrap(); - remote_client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + remote_client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); local_headers_hashes.push(remote_client.block_hash(i + 1) .map_err(|_| ClientErrorKind::Backend("TestError".into()).into())); } diff --git a/substrate/core/consensus/aura/src/lib.rs b/substrate/core/consensus/aura/src/lib.rs index 678cebc42a..74ff9db7ac 100644 --- a/substrate/core/consensus/aura/src/lib.rs +++ b/substrate/core/consensus/aura/src/lib.rs @@ -60,7 +60,7 @@ use codec::Encode; use consensus_common::{Authorities, BlockImport, Environment, Proposer}; use client::ChainHead; use consensus_common::{ImportBlock, BlockOrigin}; -use runtime_primitives::{generic, generic::BlockId}; +use runtime_primitives::{generic, generic::BlockId, Justification}; use runtime_primitives::traits::{Block, Header, Digest, DigestItemFor}; use network::import_queue::{Verifier, BasicQueue}; use primitives::{AuthorityId, ed25519}; @@ -244,7 +244,7 @@ pub fn start_aura( let import_block = ImportBlock { origin: BlockOrigin::Own, header, - justification: Vec::new(), + justification: None, post_digests: vec![item], body: Some(body), finalized: false, @@ -367,7 +367,7 @@ impl Verifier for AuraVerifier where &self, origin: BlockOrigin, header: B::Header, - _justification: Vec, + justification: Option, body: Option> ) -> Result<(ImportBlock, Option>), String> { let slot_now = slot_now(self.config.slot_duration) @@ -390,13 +390,14 @@ impl Verifier for AuraVerifier where debug!(target: "aura", "Checked {:?}; importing.", pre_header); extra_verification.into_future().wait()?; + let import_block = ImportBlock { origin, header: pre_header, - justification: Vec::new(), post_digests: vec![item], body, finalized: false, + justification, auxiliary: Vec::new(), }; diff --git a/substrate/core/consensus/common/src/block_import.rs b/substrate/core/consensus/common/src/block_import.rs index e92a691879..1f7f814a8e 100644 --- a/substrate/core/consensus/common/src/block_import.rs +++ b/substrate/core/consensus/common/src/block_import.rs @@ -22,7 +22,7 @@ use runtime_primitives::Justification; use std::borrow::Cow; /// Block import result. -#[derive(Debug)] +#[derive(Debug, PartialEq, Eq)] pub enum ImportResult { /// Added to the import queue. Queued, @@ -69,8 +69,8 @@ pub struct ImportBlock { /// re-executed in a runtime that checks digest equivalence -- the /// post-runtime digests are pushed back on after. pub header: Block::Header, - /// Justification provided for this block from the outside:. - pub justification: Justification, + /// Justification provided for this block from the outside. + pub justification: Option, /// Digest items that have been added after the runtime for external /// work, like a consensus signature. pub post_digests: Vec>, @@ -91,7 +91,7 @@ impl ImportBlock { -> ( BlockOrigin, ::Header, - Justification, + Option, Vec>, Option::Extrinsic>>, bool, diff --git a/substrate/core/consensus/rhd/src/lib.rs b/substrate/core/consensus/rhd/src/lib.rs index 8f0dfb194e..6441fb4e34 100644 --- a/substrate/core/consensus/rhd/src/lib.rs +++ b/substrate/core/consensus/rhd/src/lib.rs @@ -417,7 +417,7 @@ impl Future for BftFuture u64 { self.inner.read().set_id } + + /// Get the current authorities and their weights (for the current set ID). + pub(crate) fn current_authorities(&self) -> HashMap { + self.inner.read().current_authorities.iter().cloned().collect() + } } impl From> for SharedAuthoritySet { @@ -109,8 +115,22 @@ where N: Add + Ord + Clone + Debug, H: Debug { - /// Note an upcoming pending transition. - pub(crate) fn add_pending_change(&mut self, pending: PendingChange) { + /// Note an upcoming pending transition. This makes sure that there isn't + /// already any pending change for the same chain. Multiple pending changes + /// are allowed but they must be signalled in different forks. The closure + /// should return an error if the pending change block is equal to or a + /// descendent of the given block. + pub(crate) fn add_pending_change( + &mut self, + pending: PendingChange, + is_equal_or_descendent_of: F, + ) -> Result<(), E> where + F: Fn(&H) -> Result<(), E>, + { + for change in self.pending_changes.iter() { + is_equal_or_descendent_of(&change.canon_hash)?; + } + // ordered first by effective number and then by signal-block number. let key = (pending.effective_number(), pending.canon_height.clone()); let idx = self.pending_changes @@ -121,6 +141,8 @@ where .unwrap_or_else(|i| i); self.pending_changes.insert(idx, pending); + + Ok(()) } /// Inspect pending changes. @@ -141,7 +163,7 @@ where /// block where the set last changed. pub(crate) fn apply_changes(&mut self, just_finalized: N, mut canonical: F) -> Result, E> - where F: FnMut(N) -> Result + where F: FnMut(N) -> Result, E> { let mut status = Status { changed: false, @@ -156,30 +178,35 @@ where // check if the block that signalled the change is canonical in // our chain. - let canonical_at_height = canonical(change.canon_height.clone())?; + let canonical_hash = canonical(change.canon_height.clone())?; + let effective_hash = canonical(effective_number.clone())?; + debug!(target: "afg", "Evaluating potential set change at block {:?}. Our canonical hash is {:?}", - (&change.canon_height, &change.canon_hash), canonical_at_height); + (&change.canon_height, &change.canon_hash), canonical_hash); - if canonical_at_height == change.canon_hash { - // apply this change: make the set canonical - info!(target: "finality", "Applying authority set change scheduled at block #{:?}", - change.canon_height); + match (canonical_hash, effective_hash) { + (Some(canonical_hash), Some(effective_hash)) => { + if canonical_hash == change.canon_hash { + // apply this change: make the set canonical + info!(target: "finality", "Applying authority set change scheduled at block #{:?}", + change.canon_height); - self.current_authorities = change.next_authorities.clone(); - self.set_id += 1; + self.current_authorities = change.next_authorities.clone(); + self.set_id += 1; - status.new_set_block = Some(( - canonical(effective_number.clone())?, - effective_number.clone(), - )); + status.new_set_block = Some(( + effective_hash, + effective_number.clone(), + )); - // discard any signalled changes - // that happened before or equal to the effective number of the change. - self.pending_changes.iter() - .take_while(|c| c.canon_height <= effective_number) - .count() - } else { - 1 // prune out this entry; it's no longer relevant. + // discard all signalled changes since they're + // necessarily from other forks + self.pending_changes.len() + } else { + 1 // prune out this entry; it's no longer relevant. + } + }, + _ => 1, // prune out this entry; it's no longer relevant. } } }; @@ -191,6 +218,28 @@ where Ok(status) } + + /// Check whether the given finalized block number enacts any authority set + /// change (without triggering it). Provide a closure that can be used to + /// check for the canonical block with a given number. + pub fn enacts_change(&self, just_finalized: N, mut canonical: F) + -> Result + where F: FnMut(N) -> Result, E> + { + for change in self.pending_changes.iter() { + if change.effective_number() > just_finalized { break }; + + // check if the block that signalled the change is canonical in + // our chain. + match canonical(change.canon_height.clone())? { + Some(ref canonical_hash) if *canonical_hash == change.canon_hash => + return Ok(true), + _ => (), + } + } + + Ok(false) + } } /// A pending change to the authority set. @@ -221,6 +270,10 @@ impl + Clone> PendingChange { mod tests { use super::*; + fn ignore_existing_changes(_a: &A) -> Result<(), ::Error> { + Ok(()) + } + #[test] fn changes_sorted_in_correct_order() { let mut authorities = AuthoritySet { @@ -250,9 +303,9 @@ mod tests { canon_hash: "hash_c", }; - authorities.add_pending_change(change_a.clone()); - authorities.add_pending_change(change_b.clone()); - authorities.add_pending_change(change_c.clone()); + authorities.add_pending_change(change_a.clone(), ignore_existing_changes).unwrap(); + authorities.add_pending_change(change_b.clone(), ignore_existing_changes).unwrap(); + authorities.add_pending_change(change_c.clone(), ignore_existing_changes).unwrap(); assert_eq!(authorities.pending_changes, vec![change_a, change_c, change_b]); } @@ -282,15 +335,15 @@ mod tests { canon_hash: "hash_b", }; - authorities.add_pending_change(change_a.clone()); - authorities.add_pending_change(change_b.clone()); + authorities.add_pending_change(change_a.clone(), ignore_existing_changes).unwrap(); + authorities.add_pending_change(change_b.clone(), ignore_existing_changes).unwrap(); authorities.apply_changes(10, |_| Err(())).unwrap(); assert!(authorities.current_authorities.is_empty()); authorities.apply_changes(15, |n| match n { - 5 => Ok("hash_a"), - 15 => Ok("hash_15_canon"), + 5 => Ok(Some("hash_a")), + 15 => Ok(Some("hash_15_canon")), _ => Err(()), }).unwrap(); @@ -300,7 +353,7 @@ mod tests { } #[test] - fn apply_many_changes_at_once() { + fn disallow_multiple_changes_on_same_fork() { let mut authorities = AuthoritySet { current_authorities: Vec::new(), set_id: 0, @@ -318,11 +371,10 @@ mod tests { canon_hash: "hash_a", }; - // will be ignored because it was signalled when change_a still pending. let change_b = PendingChange { next_authorities: set_b.clone(), finalization_depth: 10, - canon_height: 15, + canon_height: 16, canon_hash: "hash_b", }; @@ -333,20 +385,50 @@ mod tests { canon_hash: "hash_c", }; - authorities.add_pending_change(change_a.clone()); - authorities.add_pending_change(change_b.clone()); - authorities.add_pending_change(change_c.clone()); + let is_equal_or_descendent_of = |base, block| -> Result<(), ()> { + match (base, block) { + ("hash_a", "hash_b") => return Err(()), + ("hash_a", "hash_c") => return Ok(()), + ("hash_c", "hash_b") => return Ok(()), + _ => unreachable!(), + } + }; - authorities.apply_changes(26, |n| match n { - 5 => Ok("hash_a"), - 15 => Ok("hash_b"), - 16 => Ok("hash_c"), - 26 => Ok("hash_26"), + authorities.add_pending_change( + change_a.clone(), + |base| is_equal_or_descendent_of(base, change_a.canon_hash), + ).unwrap(); + + // change b is on the same chain has the unfinalized change a so it should error + assert!( + authorities.add_pending_change( + change_b.clone(), + |base| is_equal_or_descendent_of(base, change_b.canon_hash), + ).is_err() + ); + + // change c is accepted because it's on a different fork + authorities.add_pending_change( + change_c.clone(), + |base| is_equal_or_descendent_of(base, change_c.canon_hash) + ).unwrap(); + + authorities.apply_changes(15, |n| match n { + 5 => Ok(Some("hash_a")), + 15 => Ok(Some("hash_a15")), _ => Err(()), }).unwrap(); - assert_eq!(authorities.current_authorities, set_c); - assert_eq!(authorities.set_id, 2); // has been bumped only twice + assert_eq!(authorities.current_authorities, set_a); + + // pending change c has been removed since it was on a different fork + // and can no longer be enacted assert!(authorities.pending_changes.is_empty()); + + // pending change b can now be added + authorities.add_pending_change( + change_b.clone(), + |base| is_equal_or_descendent_of(base, change_b.canon_hash), + ).unwrap(); } } diff --git a/substrate/core/finality-grandpa/src/communication.rs b/substrate/core/finality-grandpa/src/communication.rs index 8e06a0e7ca..02a079b909 100644 --- a/substrate/core/finality-grandpa/src/communication.rs +++ b/substrate/core/finality-grandpa/src/communication.rs @@ -32,7 +32,7 @@ fn localized_payload(round: u64, set_id: u64, message: &E) -> Vec } // check a message. -fn check_message_sig( +pub(crate) fn check_message_sig( message: &Message, id: &AuthorityId, signature: &ed25519::Signature, diff --git a/substrate/core/finality-grandpa/src/lib.rs b/substrate/core/finality-grandpa/src/lib.rs index cea9653083..1a800cd44d 100644 --- a/substrate/core/finality-grandpa/src/lib.rs +++ b/substrate/core/finality-grandpa/src/lib.rs @@ -84,7 +84,8 @@ extern crate parity_codec_derive; use futures::prelude::*; use futures::sync::mpsc; use client::{ - Client, error::Error as ClientError, backend::Backend, CallExecutor, BlockchainEvents + BlockchainEvents, CallExecutor, Client, backend::Backend, + error::Error as ClientError, error::ErrorKind as ClientErrorKind, }; use client::blockchain::HeaderBackend; use client::runtime_api::TaggedTransactionQueue; @@ -96,14 +97,15 @@ use runtime_primitives::traits::{ use fg_primitives::GrandpaApi; use runtime_primitives::generic::BlockId; use substrate_primitives::{ed25519, H256, AuthorityId, Blake2Hasher}; -use tokio::timer::Delay; +use tokio::timer::{Delay, Interval}; use grandpa::Error as GrandpaError; use grandpa::{voter, round::State as RoundState, Equivocation, BlockNumberOps}; use network::{Service as NetworkService, ExHashT}; use network::consensus_gossip::{ConsensusMessage}; -use std::collections::HashMap; +use parking_lot::Mutex; +use std::collections::{HashMap, HashSet}; use std::fmt; use std::sync::Arc; use std::time::{Instant, Duration}; @@ -197,6 +199,12 @@ impl From for Error { } } +impl From for Error { + fn from(e: ClientError) -> Self { + Error::Client(e) + } +} + /// A handle to the network. This is generally implemented by providing some /// handle to a gossip service or similar. /// @@ -508,78 +516,8 @@ impl, N, RA> voter::Environment, _commit: Commit) -> Result<(), Self::Error> { - // ideally some handle to a synchronization oracle would be used - // to avoid unconditionally notifying. - if let Err(e) = self.inner.finalize_block(BlockId::Hash(hash), true) { - warn!(target: "afg", "Error applying finality to block {:?}: {:?}", (hash, number), e); - - // we return without error because not being able to finalize (temporarily) is - // non-fatal. - return Ok(()); - } - - debug!(target: "afg", "Finalizing blocks up to ({:?}, {})", number, hash); - - // lock must be held through writing to DB to avoid race - let mut authority_set = self.authority_set.inner().write(); - let client = &self.inner; - let status = authority_set.apply_changes(number, |canon_number| { - client.block_hash_from_id(&BlockId::number(canon_number)) - .map(|h| h.expect("given number always less than newly-finalized number; \ - thus there is a block with that number finalized already; qed")) - })?; - - if status.changed { - // write new authority set state to disk. - let encoded_set = authority_set.encode(); - - let write_result = if let Some((ref canon_hash, ref canon_number)) = status.new_set_block { - // we also overwrite the "last completed round" entry with a blank slate - // because from the perspective of the finality gadget, the chain has - // reset. - let round_state = RoundState::genesis((*canon_hash, *canon_number)); - let last_completed: LastCompleted<_, _> = (0, round_state); - let encoded = last_completed.encode(); - - client.backend().insert_aux( - &[ - (AUTHORITY_SET_KEY, &encoded_set[..]), - (LAST_COMPLETED_KEY, &encoded[..]), - ], - &[] - ) - } else { - client.backend().insert_aux(&[(AUTHORITY_SET_KEY, &encoded_set[..])], &[]) - }; - - if let Err(e) = write_result { - warn!(target: "finality", "Failed to write updated authority set to disk. Bailing."); - warn!(target: "finality", "Node is in a potentially inconsistent state."); - - return Err(e.into()); - } - } - - if let Some((canon_hash, canon_number)) = status.new_set_block { - // the authority set has changed. - let (new_id, set_ref) = authority_set.current(); - - if set_ref.len() > 16 { - info!("Applying GRANDPA set change to new set with {} authorities", set_ref.len()); - } else { - info!("Applying GRANDPA set change to new set {:?}", set_ref); - } - - Err(ExitOrError::AuthoritiesChanged(NewAuthoritySet { - canon_hash, - canon_number, - set_id: new_id, - authorities: set_ref.to_vec(), - })) - } else { - Ok(()) - } + fn finalize_block(&self, hash: Block::Hash, number: NumberFor, round: u64, commit: Commit) -> Result<(), Self::Error> { + finalize_block(&*self.inner, &self.authority_set, hash, number, (round, commit).into()) } fn round_commit_timer(&self) -> Self::Timer { @@ -611,19 +549,344 @@ impl, N, RA> voter::Environment { + round: u64, + commit: Commit, + votes_ancestries: Vec, +} + +impl> GrandpaJustification { + /// Create a GRANDPA justification from the given commit. This method + /// assumes the commit is valid and well-formed. + fn from_commit( + client: &Client, + round: u64, + commit: Commit, + ) -> Result, Error> where + B: Backend, + E: CallExecutor + Send + Sync, + RA: Send + Sync, + { + let mut votes_ancestries_hashes = HashSet::new(); + let mut votes_ancestries = Vec::new(); + + let error = || { + let msg = "invalid precommits for target commit".to_string(); + Err(Error::Client(ClientErrorKind::BadJustification(msg).into())) + }; + + for signed in commit.precommits.iter() { + let mut current_hash = signed.precommit.target_hash.clone(); + loop { + if current_hash == commit.target_hash { break; } + + match client.backend().blockchain().header(BlockId::Hash(current_hash))? { + Some(current_header) => { + if *current_header.number() <= commit.target_number { + return error(); + } + + let parent_hash = current_header.parent_hash().clone(); + if votes_ancestries_hashes.insert(current_hash) { + votes_ancestries.push(current_header); + } + current_hash = parent_hash; + }, + _ => return error(), + } + } + } + + Ok(GrandpaJustification { round, commit, votes_ancestries }) + } + + /// Decode a GRANDPA justification and validate the commit and the votes' + /// ancestry proofs. + fn decode_and_verify( + encoded: Vec, + set_id: u64, + voters: &HashMap, + ) -> Result, ClientError> where + NumberFor: grandpa::BlockNumberOps, + { + use grandpa::Chain; + + let justification = match GrandpaJustification::decode(&mut &*encoded) { + Some(justification) => justification, + _ => { + let msg = "failed to decode grandpa justification".to_string(); + return Err(ClientErrorKind::BadJustification(msg).into()); + } + }; + + let ancestry_chain = AncestryChain::::new(&justification.votes_ancestries); + + match grandpa::validate_commit( + &justification.commit, + voters, + None, + &ancestry_chain, + ) { + Ok(Some(_)) => {}, + _ => { + let msg = "invalid commit in grandpa justification".to_string(); + return Err(ClientErrorKind::BadJustification(msg).into()); + } + } + + let mut visited_hashes = HashSet::new(); + for signed in justification.commit.precommits.iter() { + if let Err(_) = communication::check_message_sig::( + &grandpa::Message::Precommit(signed.precommit.clone()), + &signed.id, + &signed.signature, + justification.round, + set_id, + ) { + return Err(ClientErrorKind::BadJustification( + "invalid signature for precommit in grandpa justification".to_string()).into()); + } + + if justification.commit.target_hash == signed.precommit.target_hash { + continue; + } + + match ancestry_chain.ancestry(justification.commit.target_hash, signed.precommit.target_hash) { + Ok(route) => { + // ancestry starts from parent hash but the precommit target hash has been visited + visited_hashes.insert(signed.precommit.target_hash); + for hash in route { + visited_hashes.insert(hash); + } + }, + _ => { + return Err(ClientErrorKind::BadJustification( + "invalid precommit ancestry proof in grandpa justification".to_string()).into()); + }, + } + } + + let ancestry_hashes = justification.votes_ancestries + .iter() + .map(|h: &Block::Header| h.hash()) + .collect(); + + if visited_hashes != ancestry_hashes { + return Err(ClientErrorKind::BadJustification( + "invalid precommit ancestries in grandpa justification with unused headers".to_string()).into()); + } + + Ok(justification) + } +} + +enum JustificationOrCommit { + Justification(GrandpaJustification), + Commit((u64, Commit)), +} + +impl From<(u64, Commit)> for JustificationOrCommit { + fn from(commit: (u64, Commit)) -> JustificationOrCommit { + JustificationOrCommit::Commit(commit) + } +} + +impl From> for JustificationOrCommit { + fn from(justification: GrandpaJustification) -> JustificationOrCommit { + JustificationOrCommit::Justification(justification) + } +} + +/// Finalize the given block and apply any authority set changes. If an +/// authority set change is enacted then a justification is created (if not +/// given) and stored with the block when finalizing it. +fn finalize_block, E, RA>( + client: &Client, + authority_set: &SharedAuthoritySet>, + hash: Block::Hash, + number: NumberFor, + justification_or_commit: JustificationOrCommit, +) -> Result<(), ExitOrError>> where + B: Backend, + E: CallExecutor + Send + Sync, + RA: Send + Sync, +{ + // lock must be held through writing to DB to avoid race + let mut authority_set = authority_set.inner().write(); + let status = authority_set.apply_changes(number, |canon_number| { + canonical_at_height(client, (hash, number), canon_number) + })?; + + if status.changed { + // write new authority set state to disk. + let encoded_set = authority_set.encode(); + + let write_result = if let Some((ref canon_hash, ref canon_number)) = status.new_set_block { + // we also overwrite the "last completed round" entry with a blank slate + // because from the perspective of the finality gadget, the chain has + // reset. + let round_state = RoundState::genesis((*canon_hash, *canon_number)); + let last_completed: LastCompleted<_, _> = (0, round_state); + let encoded = last_completed.encode(); + + client.backend().insert_aux( + &[ + (AUTHORITY_SET_KEY, &encoded_set[..]), + (LAST_COMPLETED_KEY, &encoded[..]), + ], + &[] + ) + } else { + client.backend().insert_aux(&[(AUTHORITY_SET_KEY, &encoded_set[..])], &[]) + }; + + if let Err(e) = write_result { + warn!(target: "finality", "Failed to write updated authority set to disk. Bailing."); + warn!(target: "finality", "Node is in a potentially inconsistent state."); + + return Err(e.into()); + } + } + + // NOTE: this code assumes that honest voters will never vote past a + // transition block, thus we don't have to worry about the case where + // we have a transition with `effective_block = N`, but we finalize + // `N+1`. this assumption is required to make sure we store + // justifications for transition blocks which will be requested by + // syncing clients. + let justification = match justification_or_commit { + JustificationOrCommit::Justification(justification) => Some(justification.encode()), + JustificationOrCommit::Commit((round_number, commit)) => + if status.new_set_block.is_some() { + let justification = GrandpaJustification::from_commit( + client, + round_number, + commit, + )?; + + Some(justification.encode()) + } else { + None + }, + }; + + debug!(target: "afg", "Finalizing blocks up to ({:?}, {})", number, hash); + + // ideally some handle to a synchronization oracle would be used + // to avoid unconditionally notifying. + client.finalize_block(BlockId::Hash(hash), justification, true).map_err(|e| { + warn!(target: "finality", "Error applying finality to block {:?}: {:?}", (hash, number), e); + warn!(target: "finality", "Node is in a potentially inconsistent state."); + e + })?; + + if let Some((canon_hash, canon_number)) = status.new_set_block { + // the authority set has changed. + let (new_id, set_ref) = authority_set.current(); + + if set_ref.len() > 16 { + info!("Applying GRANDPA set change to new set with {} authorities", set_ref.len()); + } else { + info!("Applying GRANDPA set change to new set {:?}", set_ref); + } + + Err(ExitOrError::AuthoritiesChanged(NewAuthoritySet { + canon_hash, + canon_number, + set_id: new_id, + authorities: set_ref.to_vec(), + })) + } else { + Ok(()) + } +} + +/// An oracle for liveness checking of a GRANDPA authority set. This is used +/// when importing blocks, if the block enacts an authority set change then +/// either it must provide a justification or if the GRANDPA authority set is +/// still live then the block can be imported unjustified since the block will +/// still be finalized by GRANDPA in a future round. The current heuristic for +/// deciding whether an authority set is live is to check if there were any +/// recent commit messages on an unfiltered stream). +struct GrandpaOracle { + unfiltered_commits_stream: Box), Error=Error> + Send>, + last_commit_target: Option<(Instant, Block::Hash, NumberFor)>, +} + +impl GrandpaOracle { + fn new(stream: Box), Error=Error> + Send>) -> GrandpaOracle { + GrandpaOracle { + unfiltered_commits_stream: stream, + last_commit_target: None, + } + } + + fn poll(&mut self) { + while let Ok(Async::Ready(Some((_, commit)))) = self.unfiltered_commits_stream.poll() { + self.last_commit_target = Some((Instant::now(), commit.target_hash, commit.target_number)); + } + } + + fn is_live(&self) -> bool { + self.last_commit_target.map(|(instant, _, _)| { + instant.elapsed() < Duration::from_secs(30) + }).unwrap_or(false) + } +} + +#[derive(Clone)] +struct SharedGrandpaOracle { + inner: Arc>>>, +} + +impl SharedGrandpaOracle { + fn empty() -> SharedGrandpaOracle { + SharedGrandpaOracle { inner: Arc::new(Mutex::new(None)) } + } + + fn poll(&self) { + if let Some(inner) = self.inner.lock().as_mut() { + inner.poll(); + } + } + + fn is_live(&self) -> bool { + self.inner.lock() + .as_ref() + .map(|inner| inner.is_live()) + .unwrap_or(false) + } +} + /// A block-import handler for GRANDPA. /// /// This scans each imported block for signals of changing authority set. +/// If the block being imported enacts an authority set change then: +/// - If the current authority set is still live: we import the block +/// - Otherwise, the block must include a valid justification. +/// /// When using GRANDPA, the block import worker should be using this block import /// object. pub struct GrandpaBlockImport, RA, PRA> { inner: Arc>, authority_set: SharedAuthoritySet>, + authority_set_change: mpsc::UnboundedSender>>, + authority_set_oracle: SharedGrandpaOracle, api: Arc, } impl, RA, PRA> BlockImport for GrandpaBlockImport where + NumberFor: grandpa::BlockNumberOps, B: Backend + 'static, E: CallExecutor + 'static + Clone + Send + Sync, DigestFor: Encode, @@ -638,43 +901,160 @@ impl, RA, PRA> BlockImport { use authorities::PendingChange; - let maybe_change = self.api.runtime_api().grandpa_pending_change( - &BlockId::hash(*block.header.parent_hash()), - &block.header.digest().clone(), - )?; + // we don't want to finalize on `inner.import_block` + let justification = block.justification.take(); + let number = block.header.number().clone(); + let hash = block.post_header().hash(); + let parent_hash = *block.header.parent_hash(); + let digest = block.header.digest().clone(); + let is_live = self.authority_set_oracle.is_live(); - // when we update the authorities, we need to hold the lock - // until the block is written to prevent a race if we need to restore - // the old authority set on error. - let just_in_case = maybe_change.map(|change| { - let hash = block.post_header().hash(); - let number = block.header.number().clone(); - - let mut authorities = self.authority_set.inner().write(); - let old_set = authorities.clone(); - authorities.add_pending_change(PendingChange { - next_authorities: change.next_authorities, - finalization_depth: change.delay, - canon_height: number, - canon_hash: hash, - }); - - block.auxiliary.push((AUTHORITY_SET_KEY.to_vec(), Some(authorities.encode()))); - (old_set, authorities) - }); - - let result = self.inner.import_block(block, new_authorities); - if let Err(ref e) = result { - if let Some((old_set, mut authorities)) = just_in_case { - debug!(target: "afg", "Restoring old set after block import error: {:?}", e); - *authorities = old_set; - } + let import_result = self.inner.import_block(block, new_authorities)?; + if import_result != ImportResult::Queued { + return Ok(import_result); } - result + let maybe_change = self.api.runtime_api().grandpa_pending_change( + &BlockId::hash(parent_hash), + &digest, + )?; + + let is_equal_or_descendent_of = |base: &Block::Hash| -> Result<(), ClientError> { + let error = || { + Err(ClientErrorKind::Backend( + "invalid authority set change: multiple pending changes on the same chain".to_string() + ).into()) + }; + + if *base == hash { return error(); } + if *base == parent_hash { return error(); } + + let tree_route = ::client::blockchain::tree_route( + self.inner.backend().blockchain(), + BlockId::Hash(parent_hash), + BlockId::Hash(*base), + )?; + + if tree_route.common_block().hash == *base { + return error(); + } + + Ok(()) + }; + + if let Some(change) = maybe_change { + let mut authorities = self.authority_set.inner().write(); + authorities.add_pending_change( + PendingChange { + next_authorities: change.next_authorities, + finalization_depth: change.delay, + canon_height: number, + canon_hash: hash, + }, + is_equal_or_descendent_of, + )?; + + let encoded = authorities.encode(); + self.inner.backend().insert_aux(&[(AUTHORITY_SET_KEY, &encoded[..])], &[])?; + }; + + let enacts_change = self.authority_set.inner().read().enacts_change(number, |canon_number| { + canonical_at_height(&self.inner, (hash, number), canon_number) + })?; + + // a pending change is enacted by the given block, if the current + // grandpa authority set isn't live anymore the provided `ImportBlock` + // should include a justification for finalizing the block. + match justification { + Some(justification) => { + if enacts_change && !is_live { + let justification = GrandpaJustification::decode_and_verify( + justification, + self.authority_set.set_id(), + &self.authority_set.current_authorities(), + )?; + + let result = finalize_block( + &*self.inner, + &self.authority_set, + hash, + number, + justification.into(), + ); + + match result { + Ok(_) => { + unreachable!("returns Ok when no authority set change should be enacted; \ + verified previously that finalizing the current block enacts a change; \ + qed;"); + }, + Err(ExitOrError::AuthoritiesChanged(new)) => { + debug!(target: "finality", "Imported justified block #{} that enacts authority set change, signalling voter.", number); + if let Err(_) = self.authority_set_change.unbounded_send(new) { + return Err(ClientErrorKind::Backend( + "imported and finalized change block but grandpa voter is no longer running".to_string() + ).into()); + } + }, + Err(ExitOrError::Error(_)) => { + return Err(ClientErrorKind::Backend( + "imported change block but failed to finalize it, node may be in an inconsistent state".to_string() + ).into()); + }, + } + } + }, + None if enacts_change && !is_live => { + return Err(ClientErrorKind::BadJustification( + "missing justification for block that enacts authority set change".to_string() + ).into()); + }, + _ => {} + } + + Ok(import_result) } } +/// Using the given base get the block at the given height on this chain. The +/// target block must be an ancestor of base, therefore `height <= base.height`. +fn canonical_at_height, RA>( + client: &Client, + base: (Block::Hash, NumberFor), + height: NumberFor, +) -> Result, ClientError> where + B: Backend, + E: CallExecutor + Send + Sync, +{ + use runtime_primitives::traits::{One, Zero}; + + if height > base.1 { + return Ok(None); + } + + if height == base.1 { + return Ok(Some(base.0)); + } + + let mut current = match client.header(&BlockId::Hash(base.0))? { + Some(header) => header, + _ => return Ok(None), + }; + + let mut steps = base.1 - height; + + while steps > NumberFor::::zero() { + current = match client.header(&BlockId::Hash(*current.parent_hash()))? { + Some(header) => header, + _ => return Ok(None), + }; + + steps -= NumberFor::::one(); + } + + Ok(Some(current.hash())) +} + impl, RA, PRA> Authorities for GrandpaBlockImport where B: Backend + 'static, @@ -693,18 +1073,49 @@ where pub struct LinkHalf, RA> { client: Arc>, authority_set: SharedAuthoritySet>, + authority_set_change: mpsc::UnboundedReceiver>>, + authority_set_oracle: SharedGrandpaOracle, } -impl, RA> Clone for LinkHalf -where - B: Backend + 'static, - E: CallExecutor + 'static + Clone + Send + Sync, - RA: TaggedTransactionQueue, // necessary for client to import `BlockImport`. + +struct AncestryChain { + ancestry: HashMap, +} + +impl AncestryChain { + fn new(ancestry: &[Block::Header]) -> AncestryChain { + let ancestry: HashMap<_, _> = ancestry + .iter() + .cloned() + .map(|h: Block::Header| (h.hash(), h)) + .collect(); + + AncestryChain { ancestry } + } +} + +impl grandpa::Chain> for AncestryChain where + NumberFor: grandpa::BlockNumberOps { - fn clone(&self) -> Self { - LinkHalf { - client: self.client.clone(), - authority_set: self.authority_set.clone() + fn ancestry(&self, base: Block::Hash, block: Block::Hash) -> Result, GrandpaError> { + let mut route = Vec::new(); + let mut current_hash = block; + loop { + if current_hash == base { break; } + match self.ancestry.get(¤t_hash) { + Some(current_header) => { + current_hash = *current_header.parent_hash(); + route.push(current_hash); + }, + _ => return Err(GrandpaError::NotDescendent), + } } + route.pop(); // remove the base + + Ok(route) + } + + fn best_chain_containing(&self, _block: Block::Hash) -> Option<(Block::Hash, NumberFor)> { + None } } @@ -746,13 +1157,24 @@ pub fn block_import, RA, PRA>( .into(), }; + let (authority_set_change_tx, authority_set_change_rx) = mpsc::unbounded(); + + let authority_set_oracle = SharedGrandpaOracle::empty(); + Ok(( GrandpaBlockImport { inner: client.clone(), authority_set: authority_set.clone(), + authority_set_change: authority_set_change_tx, + authority_set_oracle: authority_set_oracle.clone(), api }, - LinkHalf { client, authority_set }, + LinkHalf { + client, + authority_set, + authority_set_change: authority_set_change_rx, + authority_set_oracle, + }, )) } @@ -808,7 +1230,10 @@ pub fn run_grandpa, N, RA>( config: Config, link: LinkHalf, network: N, -) -> ::client::error::Result + Send + 'static> where +) -> ::client::error::Result<( + impl Future + Send + 'static, + impl Future + Send + 'static, +)> where Block::Hash: Ord, B: Backend + 'static, E: CallExecutor + Send + Sync + 'static, @@ -821,7 +1246,20 @@ pub fn run_grandpa, N, RA>( use futures::future::{self, Loop as FutureLoop}; use runtime_primitives::traits::Zero; - let LinkHalf { client, authority_set } = link; + let LinkHalf { + client, + authority_set, + authority_set_change, + authority_set_oracle + } = link; + + let oracle_work = { + let authority_set_oracle = authority_set_oracle.clone(); + Interval::new(Instant::now(), Duration::from_secs(1)) + .for_each(move |_| Ok(authority_set_oracle.poll())) + .map_err(|_| ()) + }; + let chain_info = client.info()?; let genesis_hash = chain_info.chain.genesis_hash; @@ -833,9 +1271,7 @@ pub fn run_grandpa, N, RA>( ))? }; - let voters = authority_set.inner().read().current().1.iter() - .cloned() - .collect(); + let voters = authority_set.current_authorities(); let initial_environment = Arc::new(Environment { inner: client.clone(), @@ -846,8 +1282,9 @@ pub fn run_grandpa, N, RA>( authority_set: authority_set.clone(), }); - let work = future::loop_fn((initial_environment, last_round_number, last_state), move |params| { - let (env, last_round_number, last_state) = params; + let initial_state = (initial_environment, last_round_number, last_state, authority_set_change.into_future()); + let voter_work = future::loop_fn(initial_state, move |params| { + let (env, last_round_number, last_state, authority_set_change) = params; debug!(target: "afg", "{}: Starting new voter with set ID {}", config.name(), env.set_id); let chain_info = match client.info() { @@ -867,6 +1304,14 @@ pub fn run_grandpa, N, RA>( &network, ); + let unfiltered_commits_stream = Box::new(::communication::checked_commit_stream::( + env.set_id, + network.commit_messages(env.set_id), + env.voters.clone(), + )); + + *authority_set_oracle.inner.lock() = Some(GrandpaOracle::new(unfiltered_commits_stream)); + let voters = (*env.voters).clone(); let voter = voter::Voter::new( @@ -881,30 +1326,54 @@ pub fn run_grandpa, N, RA>( let config = config.clone(); let network = network.clone(); let authority_set = authority_set.clone(); - future::Either::A(voter.then(move |res| match res { - // voters don't conclude naturally; this could reasonably be an error. - Ok(()) => Ok(FutureLoop::Break(())), - Err(ExitOrError::Error(e)) => Err(e), - Err(ExitOrError::AuthoritiesChanged(new)) => { - let env = Arc::new(Environment { - inner: client, - config, - voters: Arc::new(new.authorities.into_iter().collect()), - set_id: new.set_id, - network, - authority_set, - }); - // start the new authority set using the block where the - // set changed (not where the signal happened!) as the base. - Ok(FutureLoop::Continue(( - env, - 0, // always start at round 0 when changing sets. - RoundState::genesis((new.canon_hash, new.canon_number)), - ))) + let trigger_authority_set_change = |new: NewAuthoritySet<_, _>, authority_set_change| { + let env = Arc::new(Environment { + inner: client, + config, + voters: Arc::new(new.authorities.into_iter().collect()), + set_id: new.set_id, + network, + authority_set, + }); + + // start the new authority set using the block where the + // set changed (not where the signal happened!) as the base. + Ok(FutureLoop::Continue(( + env, + 0, // always start at round 0 when changing sets. + RoundState::genesis((new.canon_hash, new.canon_number)), + authority_set_change, + ))) + }; + + future::Either::A(voter.select2(authority_set_change).then(move |res| match res { + Ok(future::Either::A(((), _))) => { + // voters don't conclude naturally; this could reasonably be an error. + Ok(FutureLoop::Break(())) + }, + Err(future::Either::B(_)) => { + // the `authority_set_change` stream should not fail. + Ok(FutureLoop::Break(())) + }, + Ok(future::Either::B(((None, _), _))) => { + // the `authority_set_change` stream should never conclude since it's never closed. + Ok(FutureLoop::Break(())) + }, + Err(future::Either::A((ExitOrError::Error(e), _))) => { + // return inner voter error + Err(e) } + Ok(future::Either::B(((Some(new), authority_set_change), _))) => { + // authority set change triggered externally through the channel + trigger_authority_set_change(new, authority_set_change.into_future()) + } + Err(future::Either::A((ExitOrError::AuthoritiesChanged(new), authority_set_change))) => { + // authority set change triggered internally by finalizing a change block + trigger_authority_set_change(new, authority_set_change) + }, })) - }); + }).map_err(|e| warn!("GRANDPA Voter failed: {:?}", e)); - Ok(work.map_err(|e| warn!("GRANDPA Voter failed: {:?}", e))) + Ok((voter_work, oracle_work)) } diff --git a/substrate/core/finality-grandpa/src/tests.rs b/substrate/core/finality-grandpa/src/tests.rs index 1dfe8d69e8..d35ec84632 100644 --- a/substrate/core/finality-grandpa/src/tests.rs +++ b/substrate/core/finality-grandpa/src/tests.rs @@ -364,7 +364,7 @@ fn finalize_3_voters_no_observers() { ); fn assert_send(_: &T) { } - let voter = run_grandpa( + let (voter, oracle) = run_grandpa( Config { gossip_duration: TEST_GOSSIP_DURATION, local_key: Some(Arc::new(key.clone().into())), @@ -376,6 +376,7 @@ fn finalize_3_voters_no_observers() { assert_send(&voter); + runtime.spawn(oracle); runtime.spawn(voter); } @@ -424,7 +425,7 @@ fn finalize_3_voters_1_observer() { .take_while(|n| Ok(n.header.number() < &20)) .for_each(move |_| Ok(())) ); - let voter = run_grandpa( + let (voter, oracle) = run_grandpa( Config { gossip_duration: TEST_GOSSIP_DURATION, local_key, @@ -434,6 +435,7 @@ fn finalize_3_voters_1_observer() { MessageRouting::new(net.clone(), peer_id), ).expect("all in order with client and network"); + runtime.spawn(oracle); runtime.spawn(voter); } @@ -476,59 +478,96 @@ fn transition_3_voters_twice_1_observer() { let api = TestApi::new(genesis_voters); let transitions = api.scheduled_changes.clone(); - let add_transition = move |parent_hash, change| { - transitions.lock().insert(parent_hash, change); - }; + let net = Arc::new(Mutex::new(GrandpaTestNet::new(api, 8))); - let mut net = GrandpaTestNet::new(api, 9); + let mut runtime = tokio::runtime::Runtime::new().unwrap(); - // first 20 blocks: transition at 15, applied at 20. - { - net.peer(0).push_blocks(14, false); - net.peer(0).generate_blocks(1, BlockOrigin::File, |builder| { - let block = builder.bake().unwrap(); - add_transition(*block.header.parent_hash(), ScheduledChange { - next_authorities: make_ids(peers_b), - delay: 4, - }); + net.lock().peer(0).push_blocks(1, false); + net.lock().sync(); - block - }); - net.peer(0).push_blocks(5, false); - } - - // at block 21 we do another transition, but this time instant. - // add more until we have 30. - { - net.peer(0).generate_blocks(1, BlockOrigin::File, |builder| { - let block = builder.bake().unwrap(); - add_transition(*block.header.parent_hash(), ScheduledChange { - next_authorities: make_ids(peers_c), - delay: 0, - }); - - block - }); - - net.peer(0).push_blocks(9, false); - } - net.sync(); - - for (i, peer) in net.peers().iter().enumerate() { - assert_eq!(peer.client().info().unwrap().chain.best_number, 30, - "Peer #{} failed to sync", i); + for (i, peer) in net.lock().peers().iter().enumerate() { + assert_eq!(peer.client().info().unwrap().chain.best_number, 1, + "Peer #{} failed to sync", i); let set_raw = peer.client().backend().get_aux(::AUTHORITY_SET_KEY).unwrap().unwrap(); let set = AuthoritySet::::decode(&mut &set_raw[..]).unwrap(); assert_eq!(set.current(), (0, make_ids(peers_a).as_slice())); - assert_eq!(set.pending_changes().len(), 2); + assert_eq!(set.pending_changes().len(), 0); } - let net = Arc::new(Mutex::new(net)); - let mut finality_notifications = Vec::new(); + { + let net = net.clone(); + let client = net.lock().peers[0].client().clone(); + let transitions = transitions.clone(); + let add_transition = move |parent_hash, change| { + transitions.lock().insert(parent_hash, change); + }; + let peers_c = peers_c.clone(); + let executor = runtime.executor().clone(); - let mut runtime = current_thread::Runtime::new().unwrap(); + // wait for blocks to be finalized before generating new ones + let block_production = client.finality_notification_stream() + .take_while(|n| Ok(n.header.number() < &30)) + .for_each(move |n| { + match n.header.number() { + 1 => { + // first 14 blocks. + net.lock().peer(0).push_blocks(13, false); + }, + 14 => { + // generate transition at block 15, applied at 20. + net.lock().peer(0).generate_blocks(1, BlockOrigin::File, |builder| { + let block = builder.bake().unwrap(); + add_transition(*block.header.parent_hash(), ScheduledChange { + next_authorities: make_ids(peers_b), + delay: 4, + }); + + block + }); + net.lock().peer(0).push_blocks(5, false); + }, + 20 => { + let net = net.clone(); + let add_transition = add_transition.clone(); + + // at block 21 we do another transition, but this time instant. + // add more until we have 30. + let generate_blocks = move || { + net.lock().peer(0).generate_blocks(1, BlockOrigin::File, |builder| { + let block = builder.bake().unwrap(); + add_transition(*block.header.parent_hash(), ScheduledChange { + next_authorities: make_ids(&peers_c), + delay: 0, + }); + + block + }); + net.lock().peer(0).push_blocks(9, false); + }; + + // delay block generation for a bit for the liveness tracker to be + // able to update due to the authority set change + let delay_generate = Delay::new(Instant::now() + Duration::from_millis(5000)) + .and_then(move |_| { + generate_blocks(); + Ok(()) + }) + .map_err(|_| ()); + + executor.spawn(delay_generate); + }, + _ => {}, + } + + Ok(()) + }); + + runtime.spawn(block_production); + } + + let mut finality_notifications = Vec::new(); let all_peers = peers_a.iter() .chain(peers_b) .chain(peers_c) @@ -560,7 +599,7 @@ fn transition_3_voters_twice_1_observer() { assert!(set.pending_changes().is_empty()); }) ); - let voter = run_grandpa( + let (voter, oracle) = run_grandpa( Config { gossip_duration: TEST_GOSSIP_DURATION, local_key, @@ -570,6 +609,7 @@ fn transition_3_voters_twice_1_observer() { MessageRouting::new(net.clone(), peer_id), ).expect("all in order with client and network"); + runtime.spawn(oracle); runtime.spawn(voter); } @@ -579,7 +619,11 @@ fn transition_3_voters_twice_1_observer() { .map_err(|_| ()); let drive_to_completion = ::tokio::timer::Interval::new_interval(TEST_ROUTING_INTERVAL) - .for_each(move |_| { net.lock().route_until_complete(); Ok(()) }) + .for_each(move |_| { + net.lock().send_import_notifications(); + net.lock().sync(); + Ok(()) + }) .map(|_| ()) .map_err(|_| ()); diff --git a/substrate/core/network/src/consensus_gossip.rs b/substrate/core/network/src/consensus_gossip.rs index 794efc3c98..cf78fa43b2 100644 --- a/substrate/core/network/src/consensus_gossip.rs +++ b/substrate/core/network/src/consensus_gossip.rs @@ -46,7 +46,7 @@ struct MessageEntry { /// Consensus network protocol handler. Manages statements and candidate requests. pub struct ConsensusGossip { peers: HashMap>, - live_message_sinks: HashMap>, + live_message_sinks: HashMap>>, messages: Vec>, known_messages: HashSet<(B::Hash, B::Hash)>, session_start: Option, @@ -150,7 +150,10 @@ impl ConsensusGossip { /// Prune old or no longer relevant consensus messages. Provide a predicate /// for pruning, which returns `false` when the items with a given topic should be pruned. pub fn collect_garbage bool>(&mut self, predicate: P) { - self.live_message_sinks.retain(|_, sink| !sink.is_closed()); + self.live_message_sinks.retain(|_, sinks| { + sinks.retain(|sink| !sink.is_closed()); + !sinks.is_empty() + }); let hashes = &mut self.known_messages; let before = self.messages.len(); @@ -175,7 +178,7 @@ impl ConsensusGossip { for entry in self.messages.iter().filter(|e| e.topic == topic) { tx.unbounded_send(entry.message.clone()).expect("receiver known to be live; qed"); } - self.live_message_sinks.insert(topic, tx); + self.live_message_sinks.entry(topic).or_default().push(tx); rx } @@ -217,12 +220,14 @@ impl ConsensusGossip { use std::collections::hash_map::Entry; peer.known_messages.insert((topic, message_hash)); if let Entry::Occupied(mut entry) = self.live_message_sinks.entry(topic) { - debug!(target: "gossip", "Pushing consensus message to sink for {}.", topic); - if let Err(e) = entry.get().unbounded_send(message.clone()) { - trace!(target:"gossip", "Error broadcasting message notification: {:?}", e); - } - - if entry.get().is_closed() { + debug!(target: "gossip", "Pushing consensus message to sinks for {}.", topic); + entry.get_mut().retain(|sink| { + if let Err(e) = sink.unbounded_send(message.clone()) { + trace!(target:"gossip", "Error broadcasting message notification: {:?}", e); + } + !sink.is_closed() + }); + if entry.get().is_empty() { entry.remove_entry(); } } @@ -345,4 +350,24 @@ mod tests { assert_eq!(consensus.messages.len(), 2); } + + #[test] + fn can_keep_multiple_subscribers_per_topic() { + use futures::Stream; + + let mut consensus = ConsensusGossip::::new(); + + let message = vec![1, 2, 3]; + + let message_hash = HashFor::::hash(&message); + let topic = HashFor::::hash(&[1,2,3]); + + consensus.register_message(message_hash, topic, || message.clone()); + + let stream1 = consensus.messages_for(topic); + let stream2 = consensus.messages_for(topic); + + assert_eq!(stream1.wait().next(), Some(Ok(message.clone()))); + assert_eq!(stream2.wait().next(), Some(Ok(message))); + } } diff --git a/substrate/core/network/src/import_queue.rs b/substrate/core/network/src/import_queue.rs index c6bb0c51bc..9ba863809c 100644 --- a/substrate/core/network/src/import_queue.rs +++ b/substrate/core/network/src/import_queue.rs @@ -31,6 +31,7 @@ use parking_lot::{Condvar, Mutex, RwLock}; use network_libp2p::{NodeIndex, Severity}; use primitives::AuthorityId; +use runtime_primitives::Justification; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, NumberFor, Zero}; pub use blocks::BlockData; @@ -57,7 +58,7 @@ pub trait Verifier: Send + Sync + Sized { &self, origin: BlockOrigin, header: B::Header, - justification: Vec, + justification: Option, body: Option> ) -> Result<(ImportBlock, Option>), String>; } @@ -339,8 +340,6 @@ enum BlockImportResult), - /// Block missed justification, can't be imported - IncompleteJustification(Option), /// Block verification failed, can't be imported VerificationFailed(Option, String), /// Block is known to be Bad @@ -411,7 +410,7 @@ fn import_single_block>( let block = block.block; let (header, justification) = match (block.header, block.justification) { - (Some(header), Some(justification)) => (header, justification), + (Some(header), justification) => (header, justification), (None, _) => { if let Some(peer) = peer { debug!(target: "sync", "Header {} was not provided by {} ", block.hash, peer); @@ -420,14 +419,6 @@ fn import_single_block>( } return Err(BlockImportError::IncompleteHeader(peer)) //TODO: use persistent ID }, - (_, None) => { - if let Some(peer) = peer { - debug!(target: "sync", "Justification set for block {} was not provided by {} ", block.hash, peer); - } else { - debug!(target: "sync", "Justification set for block {} was not provided", block.hash); - } - return Err(BlockImportError::IncompleteJustification(peer)) //TODO: use persistent ID - } }; let number = header.number().clone(); @@ -486,12 +477,6 @@ fn process_import_result( link.block_imported(&hash, number); 1 }, - Err(BlockImportError::IncompleteJustification(who)) => { - if let Some(peer) = who { - link.useless_peer(peer, "Sent block with incomplete justification to import"); - } - 0 - }, Err(BlockImportError::IncompleteHeader(who)) => { if let Some(peer) = who { link.useless_peer(peer, "Sent block with incomplete header to import"); @@ -555,7 +540,7 @@ impl Verifier for PassThroughVerifier { &self, origin: BlockOrigin, header: B::Header, - justification: Vec, + justification: Option, body: Option> ) -> Result<(ImportBlock, Option>), String> { Ok((ImportBlock { @@ -563,7 +548,7 @@ impl Verifier for PassThroughVerifier { header, body, finalized: self.0, - justification: justification, + justification, post_digests: vec![], auxiliary: Vec::new(), }, None)) @@ -702,7 +687,7 @@ pub mod tests { fn prepare_good_block() -> (client::Client, Hash, u64, BlockData) { let client = test_client::new(); let block = client.new_block().unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::File, block).unwrap(); + client.import(BlockOrigin::File, block).unwrap(); let (hash, number) = (client.block_hash(1).unwrap().unwrap(), 1); let block = message::BlockData:: { @@ -745,16 +730,6 @@ pub mod tests { ); } - #[test] - fn import_single_good_block_without_justification_fails() { - let (_, _, _, mut block) = prepare_good_block(); - block.block.justification = None; - assert_eq!( - import_single_block(&test_client::new(), BlockOrigin::File, block, Arc::new(PassThroughVerifier(true))), - Err(BlockImportError::IncompleteJustification(Some(0))) - ); - } - #[test] fn process_import_result_works() { let link = TestLink::new(); @@ -776,11 +751,6 @@ pub mod tests { assert_eq!(link.total(), 1); assert_eq!(link.disconnects.get(), 1); - let link = TestLink::new(); - assert_eq!(process_import_result::(&link, Err(BlockImportError::IncompleteJustification(Some(0)))), 0); - assert_eq!(link.total(), 1); - assert_eq!(link.disconnects.get(), 1); - let link = TestLink::new(); assert_eq!(process_import_result::(&link, Err(BlockImportError::UnknownParent)), 0); assert_eq!(link.total(), 1); diff --git a/substrate/core/network/src/test/mod.rs b/substrate/core/network/src/test/mod.rs index 7f490a9459..daa961f8a2 100644 --- a/substrate/core/network/src/test/mod.rs +++ b/substrate/core/network/src/test/mod.rs @@ -255,7 +255,7 @@ impl, D> Peer { body: Some(block.extrinsics), receipt: None, message_queue: None, - justification: Some(Vec::new()), + justification: None, }, }]); } diff --git a/substrate/core/rpc/src/chain/tests.rs b/substrate/core/rpc/src/chain/tests.rs index 172223b941..a90d210a19 100644 --- a/substrate/core/rpc/src/chain/tests.rs +++ b/substrate/core/rpc/src/chain/tests.rs @@ -70,13 +70,12 @@ fn should_return_a_block() { let block = api.client.new_block().unwrap().bake().unwrap(); let block_hash = block.hash(); - api.client.justify_and_import(BlockOrigin::Own, block).unwrap(); + api.client.import(BlockOrigin::Own, block).unwrap(); - - // Genesis block is not justified, so we can't query it? + // Genesis block is not justified assert_matches!( api.block(Some(api.client.genesis_hash()).into()), - Ok(None) + Ok(Some(SignedBlock { justification: None, .. })) ); assert_matches!( @@ -140,7 +139,7 @@ fn should_return_block_hash() { ); let block = client.client.new_block().unwrap().bake().unwrap(); - client.client.justify_and_import(BlockOrigin::Own, block.clone()).unwrap(); + client.client.import(BlockOrigin::Own, block.clone()).unwrap(); assert_matches!( client.block_hash(Some(0u64).into()), @@ -170,7 +169,7 @@ fn should_return_finalised_hash() { // import new block let builder = client.client.new_block().unwrap(); - client.client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + client.client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); // no finalisation yet assert_matches!( client.finalised_head(), @@ -178,7 +177,7 @@ fn should_return_finalised_hash() { ); // finalise - client.client.finalize_block(BlockId::number(1), true).unwrap(); + client.client.finalize_block(BlockId::number(1), None, true).unwrap(); assert_matches!( client.finalised_head(), Ok(ref x) if x == &client.client.block_hash(1).unwrap().unwrap() @@ -203,7 +202,7 @@ fn should_notify_about_latest_block() { assert_eq!(core.block_on(id), Ok(Ok(SubscriptionId::Number(1)))); let builder = api.client.new_block().unwrap(); - api.client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + api.client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); } // assert initial head sent. @@ -234,8 +233,8 @@ fn should_notify_about_finalised_block() { assert_eq!(core.block_on(id), Ok(Ok(SubscriptionId::Number(1)))); let builder = api.client.new_block().unwrap(); - api.client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); - api.client.finalize_block(BlockId::number(1), true).unwrap(); + api.client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + api.client.finalize_block(BlockId::number(1), None, true).unwrap(); } // assert initial head sent. diff --git a/substrate/core/rpc/src/state/tests.rs b/substrate/core/rpc/src/state/tests.rs index 71978f88ea..1f5b968ff3 100644 --- a/substrate/core/rpc/src/state/tests.rs +++ b/substrate/core/rpc/src/state/tests.rs @@ -69,7 +69,7 @@ fn should_notify_about_storage_changes() { amount: 42, nonce: 0, }).unwrap(); - api.client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + api.client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); } // assert notification sent to transport @@ -102,7 +102,7 @@ fn should_send_initial_storage_changes_and_notifications() { amount: 42, nonce: 0, }).unwrap(); - api.client.justify_and_import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); + api.client.import(BlockOrigin::Own, builder.bake().unwrap()).unwrap(); } // assert initial values sent to transport @@ -131,7 +131,7 @@ fn should_query_storage() { }).unwrap(); let block = builder.bake().unwrap(); let hash = block.header.hash(); - client.justify_and_import(BlockOrigin::Own, block).unwrap(); + client.import(BlockOrigin::Own, block).unwrap(); hash }; let block1_hash = add_block(0); diff --git a/substrate/core/service/src/chain_ops.rs b/substrate/core/service/src/chain_ops.rs index 3d2a6bdea4..6d6dc558f4 100644 --- a/substrate/core/service/src/chain_ops.rs +++ b/substrate/core/service/src/chain_ops.rs @@ -116,7 +116,7 @@ pub fn import_blocks(mut config: FactoryFullConfiguration, exit: E, let hash = header.hash(); let block = message::BlockData:: { hash: hash, - justification: Some(signed.justification), + justification: signed.justification, header: Some(header), body: Some(extrinsics), receipt: None, diff --git a/substrate/core/sr-primitives/src/generic/block.rs b/substrate/core/sr-primitives/src/generic/block.rs index 61452668ad..df9f656513 100644 --- a/substrate/core/sr-primitives/src/generic/block.rs +++ b/substrate/core/sr-primitives/src/generic/block.rs @@ -116,7 +116,7 @@ pub struct SignedBlock { /// Full block. pub block: Block, /// Block justification. - pub justification: Justification, + pub justification: Option, } // TODO: Remove Deserialize for SignedBlock once RPC no longer needs it #1098 diff --git a/substrate/core/test-client/src/client_ext.rs b/substrate/core/test-client/src/client_ext.rs index d0a8765255..d4ca6361ee 100644 --- a/substrate/core/test-client/src/client_ext.rs +++ b/substrate/core/test-client/src/client_ext.rs @@ -18,18 +18,23 @@ use client::{self, Client}; use consensus::{ImportBlock, BlockImport, BlockOrigin}; +use runtime_primitives::Justification; use runtime_primitives::generic::BlockId; use primitives::Blake2Hasher; use runtime; /// Extension trait for a test client. pub trait TestClient: Sized { - /// Justify and import block to the chain. No finality. - fn justify_and_import(&self, origin: BlockOrigin, block: runtime::Block) + /// Import block to the chain. No finality. + fn import(&self, origin: BlockOrigin, block: runtime::Block) + -> client::error::Result<()>; + + /// Import block with justification, finalizes block. + fn import_justified(&self, origin: BlockOrigin, block: runtime::Block, justification: Justification) -> client::error::Result<()>; /// Finalize a block. - fn finalize_block(&self, id: BlockId) -> client::error::Result<()>; + fn finalize_block(&self, id: BlockId, justification: Option) -> client::error::Result<()>; /// Returns hash of the genesis block. fn genesis_hash(&self) -> runtime::Hash; @@ -41,13 +46,13 @@ impl TestClient for Client E: client::CallExecutor, Self: BlockImport, { - fn justify_and_import(&self, origin: BlockOrigin, block: runtime::Block) + fn import(&self, origin: BlockOrigin, block: runtime::Block) -> client::error::Result<()> { let import = ImportBlock { origin, header: block.header, - justification: vec![], + justification: None, post_digests: vec![], body: Some(block.extrinsics), finalized: false, @@ -57,8 +62,24 @@ impl TestClient for Client self.import_block(import, None).map(|_| ()) } - fn finalize_block(&self, id: BlockId) -> client::error::Result<()> { - self.finalize_block(id, true) + fn import_justified(&self, origin: BlockOrigin, block: runtime::Block, justification: Justification) + -> client::error::Result<()> + { + let import = ImportBlock { + origin, + header: block.header, + justification: Some(justification), + post_digests: vec![], + body: Some(block.extrinsics), + finalized: true, + auxiliary: Vec::new(), + }; + + self.import_block(import, None).map(|_| ()) + } + + fn finalize_block(&self, id: BlockId, justification: Option) -> client::error::Result<()> { + self.finalize_block(id, justification, true) } fn genesis_hash(&self) -> runtime::Hash { diff --git a/substrate/core/test-client/src/trait_tests.rs b/substrate/core/test-client/src/trait_tests.rs index 3a05b78600..982c92d291 100644 --- a/substrate/core/test-client/src/trait_tests.rs +++ b/substrate/core/test-client/src/trait_tests.rs @@ -51,35 +51,35 @@ pub fn test_leaves_for_backend(backend: Arc) where // G -> A1 let a1 = client.new_block().unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a1.clone()).unwrap(); + client.import(BlockOrigin::Own, a1.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a1.hash()]); // A1 -> A2 let a2 = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a2.clone()).unwrap(); + client.import(BlockOrigin::Own, a2.clone()).unwrap(); assert_eq!( client.backend().blockchain().leaves().unwrap(), vec![a2.hash()]); // A2 -> A3 let a3 = client.new_block_at(&BlockId::Hash(a2.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a3.clone()).unwrap(); + client.import(BlockOrigin::Own, a3.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a3.hash()]); // A3 -> A4 let a4 = client.new_block_at(&BlockId::Hash(a3.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a4.clone()).unwrap(); + client.import(BlockOrigin::Own, a4.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a4.hash()]); // A4 -> A5 let a5 = client.new_block_at(&BlockId::Hash(a4.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a5.clone()).unwrap(); + client.import(BlockOrigin::Own, a5.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a5.hash()]); @@ -94,21 +94,21 @@ pub fn test_leaves_for_backend(backend: Arc) where nonce: 0, }).unwrap(); let b2 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b2.clone()).unwrap(); + client.import(BlockOrigin::Own, b2.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a5.hash(), b2.hash()]); // B2 -> B3 let b3 = client.new_block_at(&BlockId::Hash(b2.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b3.clone()).unwrap(); + client.import(BlockOrigin::Own, b3.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a5.hash(), b3.hash()]); // B3 -> B4 let b4 = client.new_block_at(&BlockId::Hash(b3.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b4.clone()).unwrap(); + client.import(BlockOrigin::Own, b4.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a5.hash(), b4.hash()]); @@ -123,7 +123,7 @@ pub fn test_leaves_for_backend(backend: Arc) where nonce: 1, }).unwrap(); let c3 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, c3.clone()).unwrap(); + client.import(BlockOrigin::Own, c3.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a5.hash(), b4.hash(), c3.hash()]); @@ -138,7 +138,7 @@ pub fn test_leaves_for_backend(backend: Arc) where nonce: 0, }).unwrap(); let d2 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, d2.clone()).unwrap(); + client.import(BlockOrigin::Own, d2.clone()).unwrap(); assert_eq!( backend.blockchain().leaves().unwrap(), vec![a5.hash(), b4.hash(), c3.hash(), d2.hash()]); @@ -157,23 +157,23 @@ pub fn test_blockchain_query_by_number_gets_canonical(backend: Arc) where // G -> A1 let a1 = client.new_block().unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a1.clone()).unwrap(); + client.import(BlockOrigin::Own, a1.clone()).unwrap(); // A1 -> A2 let a2 = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a2.clone()).unwrap(); + client.import(BlockOrigin::Own, a2.clone()).unwrap(); // A2 -> A3 let a3 = client.new_block_at(&BlockId::Hash(a2.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a3.clone()).unwrap(); + client.import(BlockOrigin::Own, a3.clone()).unwrap(); // A3 -> A4 let a4 = client.new_block_at(&BlockId::Hash(a3.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a4.clone()).unwrap(); + client.import(BlockOrigin::Own, a4.clone()).unwrap(); // A4 -> A5 let a5 = client.new_block_at(&BlockId::Hash(a4.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, a5.clone()).unwrap(); + client.import(BlockOrigin::Own, a5.clone()).unwrap(); // A1 -> B2 let mut builder = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap(); @@ -185,15 +185,15 @@ pub fn test_blockchain_query_by_number_gets_canonical(backend: Arc) where nonce: 0, }).unwrap(); let b2 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b2.clone()).unwrap(); + client.import(BlockOrigin::Own, b2.clone()).unwrap(); // B2 -> B3 let b3 = client.new_block_at(&BlockId::Hash(b2.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b3.clone()).unwrap(); + client.import(BlockOrigin::Own, b3.clone()).unwrap(); // B3 -> B4 let b4 = client.new_block_at(&BlockId::Hash(b3.hash())).unwrap().bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, b4.clone()).unwrap(); + client.import(BlockOrigin::Own, b4.clone()).unwrap(); // // B2 -> C3 let mut builder = client.new_block_at(&BlockId::Hash(b2.hash())).unwrap(); @@ -205,7 +205,7 @@ pub fn test_blockchain_query_by_number_gets_canonical(backend: Arc) where nonce: 1, }).unwrap(); let c3 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, c3.clone()).unwrap(); + client.import(BlockOrigin::Own, c3.clone()).unwrap(); // A1 -> D2 let mut builder = client.new_block_at(&BlockId::Hash(a1.hash())).unwrap(); @@ -217,7 +217,7 @@ pub fn test_blockchain_query_by_number_gets_canonical(backend: Arc) where nonce: 0, }).unwrap(); let d2 = builder.bake().unwrap(); - client.justify_and_import(BlockOrigin::Own, d2.clone()).unwrap(); + client.import(BlockOrigin::Own, d2.clone()).unwrap(); let genesis_hash = client.info().unwrap().chain.genesis_hash; diff --git a/substrate/core/test-runtime/wasm/Cargo.lock b/substrate/core/test-runtime/wasm/Cargo.lock index ddba821e1f..8a43707e64 100644 --- a/substrate/core/test-runtime/wasm/Cargo.lock +++ b/substrate/core/test-runtime/wasm/Cargo.lock @@ -326,10 +326,10 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +source = "git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6#616b40150ded71f57f650067fcbc5c99d7c343e6" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)", ] [[package]] @@ -543,7 +543,7 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +source = "git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6#616b40150ded71f57f650067fcbc5c99d7c343e6" [[package]] name = "parity-codec" @@ -940,7 +940,7 @@ dependencies = [ "hash-db 0.9.0 (git+https://github.com/paritytech/trie)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1493,7 +1493,7 @@ dependencies = [ "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "72ae89206cea31c32014b39d5a454b96135894221610dbfd19cf4d2d044fa546" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)" = "" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" "checksum lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0" @@ -1519,7 +1519,7 @@ dependencies = [ "checksum openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "5e1309181cdcbdb51bc3b6bedb33dfac2a83b3d585033d3f6d9e22e8c1928613" "checksum openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)" = "278c1ad40a89aa1e741a1eed089a2f60b18fab8089c3139b542140fc7d674106" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5168b4cf41f3835e4bc6ffb32f51bc9365dc50cb351904595b3931d917fd0c" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)" = "" "checksum parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "dca389ea5e1632c89b2ce54f7e2b4a8a8c9d278042222a91e0bf95451218cb4c" "checksum parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffa42c2cb493b60b12c75b26e8c94cb734af4df4d7f2cc229dc04c1953dac189" "checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" 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 62fa99174ff864ccc8ebd34f7f1b21a1bb41b74f..8f8477b0c0c291fe921c8856054135b9213fbaee 100644 GIT binary patch delta 17165 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 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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 diff --git a/substrate/node/cli/src/service.rs b/substrate/node/cli/src/service.rs index 59b4c3f5bf..6be160d901 100644 --- a/substrate/node/cli/src/service.rs +++ b/substrate/node/cli/src/service.rs @@ -87,17 +87,18 @@ construct_service_factory! { if service.config.custom.grandpa_authority { info!("Running Grandpa session as Authority {}", key.public()); - let grandpa_fut = grandpa::run_grandpa( + let (voter, oracle) = grandpa::run_grandpa( grandpa::Config { gossip_duration: Duration::new(4, 0), // FIXME: make this available through chainspec? local_key: Some(key.clone()), name: Some(service.config.name.clone()) }, link_half, - grandpa::NetworkBridge::new(service.network()) + grandpa::NetworkBridge::new(service.network()), )?; - executor.spawn(grandpa_fut); + executor.spawn(oracle); + executor.spawn(voter); } if !service.config.custom.grandpa_authority_only { info!("Using authority key {}", key.public()); diff --git a/substrate/node/runtime/wasm/Cargo.lock b/substrate/node/runtime/wasm/Cargo.lock index 55354c02e9..e203f46072 100644 --- a/substrate/node/runtime/wasm/Cargo.lock +++ b/substrate/node/runtime/wasm/Cargo.lock @@ -326,10 +326,10 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +source = "git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6#616b40150ded71f57f650067fcbc5c99d7c343e6" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)", ] [[package]] @@ -586,7 +586,7 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +source = "git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6#616b40150ded71f57f650067fcbc5c99d7c343e6" [[package]] name = "parity-codec" @@ -1179,7 +1179,6 @@ version = "0.1.0" dependencies = [ "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0", "sr-primitives 0.1.0", @@ -1244,7 +1243,7 @@ dependencies = [ "hash-db 0.9.0 (git+https://github.com/paritytech/trie)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1792,7 +1791,7 @@ dependencies = [ "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "72ae89206cea31c32014b39d5a454b96135894221610dbfd19cf4d2d044fa546" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)" = "" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" "checksum lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0" @@ -1818,7 +1817,7 @@ dependencies = [ "checksum openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "5e1309181cdcbdb51bc3b6bedb33dfac2a83b3d585033d3f6d9e22e8c1928613" "checksum openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)" = "278c1ad40a89aa1e741a1eed089a2f60b18fab8089c3139b542140fc7d674106" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5168b4cf41f3835e4bc6ffb32f51bc9365dc50cb351904595b3931d917fd0c" +"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)" = "" "checksum parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "dca389ea5e1632c89b2ce54f7e2b4a8a8c9d278042222a91e0bf95451218cb4c" "checksum parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffa42c2cb493b60b12c75b26e8c94cb734af4df4d7f2cc229dc04c1953dac189" "checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" 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 7c0b3a2619d39db668ae46e4ac13a6af21c97737..fa1fd989ff098e590c8368a55770d6ad6f521d34 100644 GIT binary patch literal 645419 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 H-qHUbQ5!RD literal 858430 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