From dfb48a2405cff914dd5f88ca797d72f74b8a5586 Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Tue, 5 Mar 2019 16:41:35 +0100 Subject: [PATCH] Offline fallback for GRANDPA (#1619) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: AndrĂ© Silva * skeleton for finality tracker * dispatch events when nothing finalized for a long time * begin integrating finality tracker into grandpa * add delay field to pending change * add has_api_with function to sr_version for querying APIs * partially integrate new force changes into grandpa * implement forced changes * get srml-grandpa compiling * Update core/finality-grandpa/src/authorities.rs Co-Authored-By: rphmeier * Update core/finality-grandpa/src/authorities.rs Co-Authored-By: rphmeier * Update core/finality-grandpa/src/authorities.rs Co-Authored-By: rphmeier * remove explicit dependence on CoreApi * increase node runtime version * integrate grandpa forced changes into node runtime * add some tests to finality-tracker * integrate finality tracking into node-runtime * test forced-change logic * test forced changes in the authority-set handler * kill some unneeded bounds in client * test forced-changes in finality-grandpa and fix logic * build wasm and finality-tracker is no-std * restart voter on forced change * allow returning custom error type from lock_import_and_run * extract out most DB logic to aux_schema and use atomic client ops * unify authority set writing * implement set pausing * bump runtime version * note on DB when we pause. * core: grandpa: integrate forced changes with multiple pending standard changes * core: grandpa: fix AuthoritySet tests * runtime: bump impl_version * core: clear pending justification requests after forced change import * srml: finality-tracker: use FinalizedInherentData * core: log requests for clearing justification requests * core, node: update runtimes * core: grandpa: fix tests * core: grandpa: remove todos and add comments * core: grandpa: use has_api_with from ApiExt * core: fix tests * core: grandpa: remove unnecessary mut modifier * core: replace PostImportActions bitflags with struct * core: grandpa: restrict genesis on forced authority set change * core: grandpa: add more docs * core: grandpa: prevent safety violations in Environment::finalize_block * core: grandpa: register finality tracker inherent data provider * core: grandpa: fix tests * node: update runtime blobs * core: grandpa: remove outdated todo * core: aura: fix typo in log message * core: grandpa: check re-finalization is on canonical chain * srml: finality-tracker: fix initialization * node: update runtime wasm * srml: finality-tracker: don't re-initialize config keys --- substrate/Cargo.lock | 25 ++ substrate/Cargo.toml | 1 + substrate/core/client/src/client.rs | 19 +- .../core/consensus/common/src/block_import.rs | 35 +- .../core/consensus/common/src/import_queue.rs | 58 ++- substrate/core/consensus/common/src/lib.rs | 4 +- substrate/core/finality-grandpa/Cargo.toml | 2 + .../finality-grandpa/primitives/src/lib.rs | 23 + .../core/finality-grandpa/src/authorities.rs | 411 ++++++++++++++---- .../core/finality-grandpa/src/aux_schema.rs | 275 ++++++++++++ .../finality-grandpa/src/consensus_changes.rs | 5 +- .../core/finality-grandpa/src/environment.rs | 293 ++++++------- substrate/core/finality-grandpa/src/import.rs | 390 ++++++++++++++--- substrate/core/finality-grandpa/src/lib.rs | 344 +++++++++------ substrate/core/finality-grandpa/src/tests.rs | 111 ++++- substrate/core/network/src/protocol.rs | 3 + substrate/core/network/src/service.rs | 4 + substrate/core/network/src/sync.rs | 13 + .../core/network/src/test/block_import.rs | 2 +- .../substrate_test_runtime.compact.wasm | Bin 55908 -> 55951 bytes substrate/core/util/fork-tree/src/lib.rs | 5 +- substrate/node/cli/src/service.rs | 1 + substrate/node/runtime/Cargo.toml | 1 + substrate/node/runtime/src/lib.rs | 25 +- substrate/node/runtime/wasm/Cargo.lock | 19 + .../release/node_runtime.compact.wasm | Bin 864932 -> 876964 bytes substrate/srml/finality-tracker/Cargo.toml | 38 ++ substrate/srml/finality-tracker/src/lib.rs | 385 ++++++++++++++++ substrate/srml/grandpa/Cargo.toml | 2 + substrate/srml/grandpa/src/lib.rs | 138 +++++- substrate/srml/grandpa/src/tests.rs | 101 ++++- 31 files changed, 2217 insertions(+), 516 deletions(-) create mode 100644 substrate/core/finality-grandpa/src/aux_schema.rs create mode 100644 substrate/srml/finality-tracker/Cargo.toml create mode 100644 substrate/srml/finality-tracker/src/lib.rs diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index 00d2eb47ef..7b7cdd9021 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -1940,6 +1940,7 @@ dependencies = [ "srml-democracy 0.1.0", "srml-executive 0.1.0", "srml-fees 0.1.0", + "srml-finality-tracker 0.1.0", "srml-grandpa 0.1.0", "srml-indices 0.1.0", "srml-session 0.1.0", @@ -3212,6 +3213,27 @@ dependencies = [ "substrate-primitives 0.1.0", ] +[[package]] +name = "srml-finality-tracker" +version = "0.1.0" +dependencies = [ + "hex-literal 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)", + "sr-io 0.1.0", + "sr-primitives 0.1.0", + "sr-std 0.1.0", + "srml-session 0.1.0", + "srml-support 0.1.0", + "srml-system 0.1.0", + "substrate-inherents 0.1.0", + "substrate-primitives 0.1.0", +] + [[package]] name = "srml-grandpa" version = "0.1.0" @@ -3222,6 +3244,7 @@ dependencies = [ "sr-io 0.1.0", "sr-primitives 0.1.0", "sr-std 0.1.0", + "srml-finality-tracker 0.1.0", "srml-session 0.1.0", "srml-support 0.1.0", "srml-system 0.1.0", @@ -3786,9 +3809,11 @@ dependencies = [ "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0", + "srml-finality-tracker 0.1.0", "substrate-client 0.1.0", "substrate-consensus-common 0.1.0", "substrate-finality-grandpa-primitives 0.1.0", + "substrate-inherents 0.1.0", "substrate-keyring 0.1.0", "substrate-network 0.1.0", "substrate-primitives 0.1.0", diff --git a/substrate/Cargo.toml b/substrate/Cargo.toml index e6e6921e15..699f9a1589 100644 --- a/substrate/Cargo.toml +++ b/substrate/Cargo.toml @@ -67,6 +67,7 @@ members = [ "srml/example", "srml/executive", "srml/fees", + "srml/finality-tracker", "srml/grandpa", "srml/indices", "srml/metadata", diff --git a/substrate/core/client/src/client.rs b/substrate/core/client/src/client.rs index 8936477e40..a170c7e202 100644 --- a/substrate/core/client/src/client.rs +++ b/substrate/core/client/src/client.rs @@ -27,7 +27,7 @@ use runtime_primitives::{ }; use consensus::{ Error as ConsensusError, ErrorKind as ConsensusErrorKind, ImportBlock, ImportResult, - BlockOrigin, ForkChoiceStrategy + BlockOrigin, ForkChoiceStrategy, }; use runtime_primitives::traits::{ Block as BlockT, Header as HeaderT, Zero, As, NumberFor, CurrentHeight, BlockNumberToHash, @@ -619,9 +619,10 @@ impl Client where } /// Lock the import lock, and run operations inside. - pub fn lock_import_and_run) -> error::Result>( - &self, f: F - ) -> error::Result { + pub fn lock_import_and_run(&self, f: F) -> Result where + F: FnOnce(&mut ClientImportOperation) -> Result, + Err: From, + { let inner = || { let _import_lock = self.import_lock.lock(); @@ -827,7 +828,7 @@ impl Client where operation.notify_imported = Some((hash, origin, import_headers.into_post(), is_new_best, storage_changes)); } - Ok(ImportResult::Queued) + Ok(ImportResult::imported()) } fn block_execution( @@ -1391,13 +1392,15 @@ impl consensus::BlockImport for Client blockchain::BlockStatus::InChain => {}, blockchain::BlockStatus::Unknown => return Ok(ImportResult::UnknownParent), } + match self.backend.blockchain().status(BlockId::Hash(hash)) .map_err(|e| ConsensusError::from(ConsensusErrorKind::ClientImport(e.to_string())))? { blockchain::BlockStatus::InChain => return Ok(ImportResult::AlreadyInChain), blockchain::BlockStatus::Unknown => {}, } - Ok(ImportResult::Queued) + + Ok(ImportResult::imported()) } } @@ -1414,7 +1417,7 @@ impl consensus::Authorities for Client impl CurrentHeight for Client where B: backend::Backend, - E: CallExecutor + Clone, + E: CallExecutor, Block: BlockT, { type BlockNumber = ::Number; @@ -1425,7 +1428,7 @@ impl CurrentHeight for Client where impl BlockNumberToHash for Client where B: backend::Backend, - E: CallExecutor + Clone, + E: CallExecutor, Block: BlockT, { type BlockNumber = ::Number; diff --git a/substrate/core/consensus/common/src/block_import.rs b/substrate/core/consensus/common/src/block_import.rs index 6cc5b329be..0c2b5330b4 100644 --- a/substrate/core/consensus/common/src/block_import.rs +++ b/substrate/core/consensus/common/src/block_import.rs @@ -23,19 +23,40 @@ use std::borrow::Cow; /// Block import result. #[derive(Debug, PartialEq, Eq)] pub enum ImportResult { - /// Added to the import queue. - Queued, - /// Already in the import queue. - AlreadyQueued, + /// Block imported. + Imported(ImportedAux), /// Already in the blockchain. AlreadyInChain, /// Block or parent is known to be bad. KnownBad, /// Block parent is not in the chain. UnknownParent, - /// Added to the import queue but must be justified - /// (usually required to safely enact consensus changes). - NeedsJustification, +} + +/// Auxiliary data associated with an imported block result. +#[derive(Debug, PartialEq, Eq)] +pub struct ImportedAux { + /// Clear all pending justification requests. + pub clear_justification_requests: bool, + /// Request a justification for the given block. + pub needs_justification: bool, +} + +impl Default for ImportedAux { + fn default() -> ImportedAux { + ImportedAux { + clear_justification_requests: false, + needs_justification: false, + } + } +} + +impl ImportResult { + /// Returns default value for `ImportResult::Imported` with both + /// `clear_justification_requests` and `needs_justification` set to false. + pub fn imported() -> ImportResult { + ImportResult::Imported(ImportedAux::default()) + } } /// Block data origin. diff --git a/substrate/core/consensus/common/src/import_queue.rs b/substrate/core/consensus/common/src/import_queue.rs index 38f7980435..882fd72284 100644 --- a/substrate/core/consensus/common/src/import_queue.rs +++ b/substrate/core/consensus/common/src/import_queue.rs @@ -24,7 +24,9 @@ //! The `BasicQueue` and `BasicVerifier` traits allow serial queues to be //! instantiated simply. -use crate::block_import::{ImportBlock, BlockImport, JustificationImport, ImportResult, BlockOrigin}; +use crate::block_import::{ + BlockImport, BlockOrigin, ImportBlock, ImportedAux, ImportResult, JustificationImport, +}; use crossbeam_channel::{self as channel, Receiver, Sender}; use std::sync::Arc; @@ -307,31 +309,37 @@ impl BlockImporter { match result { Ok(BlockImportResult::ImportedKnown(number)) => link.block_imported(&hash, number), - Ok(BlockImportResult::ImportedUnknown(number)) => { - link.block_imported(&hash, number) - } - Ok(BlockImportResult::ImportedUnjustified(number)) => { + Ok(BlockImportResult::ImportedUnknown(number, aux)) => { link.block_imported(&hash, number); - link.request_justification(&hash, number); + + if aux.clear_justification_requests { + trace!(target: "sync", "Block imported clears all pending justification requests {}: {:?}", number, hash); + link.clear_justification_requests(); + } + + if aux.needs_justification { + trace!(target: "sync", "Block imported but requires justification {}: {:?}", number, hash); + link.request_justification(&hash, number); + } }, Err(BlockImportError::IncompleteHeader(who)) => { if let Some(peer) = who { link.note_useless_and_restart_sync(peer, "Sent block with incomplete header to import"); } - } + }, Err(BlockImportError::VerificationFailed(who, e)) => { if let Some(peer) = who { link.note_useless_and_restart_sync(peer, &format!("Verification failed: {}", e)); } - } + }, Err(BlockImportError::BadBlock(who)) => { if let Some(peer) = who { link.note_useless_and_restart_sync(peer, "Sent us a bad block"); } - } + }, Err(BlockImportError::UnknownParent) | Err(BlockImportError::Error) => { - link.restart() - } + link.restart(); + }, }; } if let Some(link) = self.link.as_ref() { @@ -448,13 +456,15 @@ impl> BlockImportWorker { /// algorithm. pub trait Link: Send { /// Block imported. - fn block_imported(&self, _hash: &B::Hash, _number: NumberFor) { } + fn block_imported(&self, _hash: &B::Hash, _number: NumberFor) {} /// Batch of blocks imported, with or without error. fn blocks_processed(&self, _processed_blocks: Vec, _has_error: bool) {} /// Justification import result. - fn justification_imported(&self, _who: Origin, _hash: &B::Hash, _number: NumberFor, _success: bool) { } + fn justification_imported(&self, _who: Origin, _hash: &B::Hash, _number: NumberFor, _success: bool) {} + /// Clear all pending justification requests. + fn clear_justification_requests(&self) {} /// Request a justification for the given block. - fn request_justification(&self, _hash: &B::Hash, _number: NumberFor) { } + fn request_justification(&self, _hash: &B::Hash, _number: NumberFor) {} /// Disconnect from peer. fn useless_peer(&self, _who: Origin, _reason: &str) {} /// Disconnect from peer and restart sync. @@ -469,9 +479,7 @@ pub enum BlockImportResult { /// Imported known block. ImportedKnown(N), /// Imported unknown block. - ImportedUnknown(N), - /// Imported unjustified block that requires one. - ImportedUnjustified(N), + ImportedUnknown(N, ImportedAux), } /// Block import error. @@ -520,17 +528,7 @@ pub fn import_single_block>( trace!(target: "sync", "Block already in chain {}: {:?}", number, hash); Ok(BlockImportResult::ImportedKnown(number)) }, - Ok(ImportResult::AlreadyQueued) => { - trace!(target: "sync", "Block already queued {}: {:?}", number, hash); - Ok(BlockImportResult::ImportedKnown(number)) - }, - Ok(ImportResult::Queued) => { - Ok(BlockImportResult::ImportedUnknown(number)) - }, - Ok(ImportResult::NeedsJustification) => { - trace!(target: "sync", "Block queued but requires justification {}: {:?}", number, hash); - Ok(BlockImportResult::ImportedUnjustified(number)) - }, + Ok(ImportResult::Imported(aux)) => Ok(BlockImportResult::ImportedUnknown(number, aux)), Ok(ImportResult::UnknownParent) => { debug!(target: "sync", "Block with unknown parent {}: {:?}, parent: {:?}", number, hash, parent); Err(BlockImportError::UnknownParent) @@ -547,7 +545,7 @@ pub fn import_single_block>( }; match import_error(import_handle.check_block(hash, parent))? { - BlockImportResult::ImportedUnknown(_) => (), + BlockImportResult::ImportedUnknown { .. } => (), r @ _ => return Ok(r), // Any other successfull result means that the block is already imported. } @@ -629,7 +627,7 @@ mod tests { assert_eq!(link_port.recv(), Ok(LinkMsg::BlockImported)); // Send an unknown - let results = vec![(Ok(BlockImportResult::ImportedUnknown(Default::default())), Default::default())]; + let results = vec![(Ok(BlockImportResult::ImportedUnknown(Default::default(), Default::default())), Default::default())]; let _ = result_sender.send(BlockImportWorkerMsg::Imported(results)).ok().unwrap(); assert_eq!(link_port.recv(), Ok(LinkMsg::BlockImported)); diff --git a/substrate/core/consensus/common/src/lib.rs b/substrate/core/consensus/common/src/lib.rs index 53ffe1fec3..fb777b837a 100644 --- a/substrate/core/consensus/common/src/lib.rs +++ b/substrate/core/consensus/common/src/lib.rs @@ -47,7 +47,9 @@ pub mod evaluation; const MAX_BLOCK_SIZE: usize = 4 * 1024 * 1024 + 512; pub use self::error::{Error, ErrorKind}; -pub use block_import::{BlockImport, JustificationImport, ImportBlock, BlockOrigin, ImportResult, ForkChoiceStrategy}; +pub use block_import::{ + BlockImport, BlockOrigin, ForkChoiceStrategy, ImportedAux, ImportBlock, ImportResult, JustificationImport, +}; /// Trait for getting the authorities at a given block. pub trait Authorities { diff --git a/substrate/core/finality-grandpa/Cargo.toml b/substrate/core/finality-grandpa/Cargo.toml index 9c17a5a770..c84e798fe7 100644 --- a/substrate/core/finality-grandpa/Cargo.toml +++ b/substrate/core/finality-grandpa/Cargo.toml @@ -17,8 +17,10 @@ consensus_common = { package = "substrate-consensus-common", path = "../consensu substrate-primitives = { path = "../primitives" } substrate-telemetry = { path = "../telemetry" } client = { package = "substrate-client", path = "../client" } +inherents = { package = "substrate-inherents", path = "../../core/inherents" } network = { package = "substrate-network", path = "../network" } service = { package = "substrate-service", path = "../service", optional = true } +srml-finality-tracker = { path = "../../srml/finality-tracker" } fg_primitives = { package = "substrate-finality-grandpa-primitives", path = "primitives" } grandpa = { package = "finality-grandpa", version = "0.6.0", features = ["derive-codec"] } diff --git a/substrate/core/finality-grandpa/primitives/src/lib.rs b/substrate/core/finality-grandpa/primitives/src/lib.rs index 4878b79efb..1069647f69 100644 --- a/substrate/core/finality-grandpa/primitives/src/lib.rs +++ b/substrate/core/finality-grandpa/primitives/src/lib.rs @@ -61,6 +61,7 @@ decl_runtime_apis! { /// applied in the runtime after those N blocks have passed. /// /// The consensus protocol will coordinate the handoff externally. + #[api_version(2)] pub trait GrandpaApi { /// Check a digest for pending changes. /// Return `None` if there are no pending changes. @@ -77,6 +78,28 @@ decl_runtime_apis! { fn grandpa_pending_change(digest: &DigestFor) -> Option>>; + /// Check a digest for forced changes. + /// Return `None` if there are no forced changes. Otherwise, return a + /// tuple containing the pending change and the median last finalized + /// block number at the time the change was signalled. + /// + /// Added in version 2. + /// + /// Forced changes are applied after a delay of _imported_ blocks, + /// while pending changes are applied after a delay of _finalized_ blocks. + /// + /// Precedence towards earlier or later digest items can be given + /// based on the rules of the chain. + /// + /// No change should be scheduled if one is already and the delay has not + /// passed completely. + /// + /// This should be a pure function: i.e. as long as the runtime can interpret + /// the digest type it should return the same result regardless of the current + /// state. + fn grandpa_forced_change(digest: &DigestFor) + -> Option<(NumberFor, ScheduledChange>)>; + /// Get the current GRANDPA authorities and weights. This should not change except /// for when changes are scheduled and the corresponding delay has passed. /// diff --git a/substrate/core/finality-grandpa/src/authorities.rs b/substrate/core/finality-grandpa/src/authorities.rs index b6cc1baed3..bb4992ef1d 100644 --- a/substrate/core/finality-grandpa/src/authorities.rs +++ b/substrate/core/finality-grandpa/src/authorities.rs @@ -39,17 +39,7 @@ impl Clone for SharedAuthoritySet { } } -impl SharedAuthoritySet -where H: PartialEq, - N: Ord, -{ - /// The genesis authority set. - pub(crate) fn genesis(initial: Vec<(Ed25519AuthorityId, u64)>) -> Self { - SharedAuthoritySet { - inner: Arc::new(RwLock::new(AuthoritySet::genesis(initial))) - } - } - +impl SharedAuthoritySet { /// Acquire a reference to the inner read-write lock. pub(crate) fn inner(&self) -> &RwLock> { &*self.inner @@ -93,11 +83,18 @@ pub(crate) struct Status { } /// A set of authorities. -#[derive(Debug, Clone, Encode, Decode)] +#[derive(Debug, Clone, Encode, Decode, PartialEq)] pub(crate) struct AuthoritySet { - current_authorities: Vec<(Ed25519AuthorityId, u64)>, - set_id: u64, - pending_changes: ForkTree>, + pub(crate) current_authorities: Vec<(Ed25519AuthorityId, u64)>, + pub(crate) set_id: u64, + // Tree of pending standard changes across forks. Standard changes are + // enacted on finality and must be enacted (i.e. finalized) in-order across + // a given branch + pub(crate) pending_standard_changes: ForkTree>, + // Pending forced changes across different forks (at most one per fork). + // Forced changes are enacted on block depth (not finality), for this reason + // only one forced change should exist per fork. + pub(crate) pending_forced_changes: Vec>, } impl AuthoritySet @@ -109,7 +106,8 @@ where H: PartialEq, AuthoritySet { current_authorities: initial, set_id: 0, - pending_changes: ForkTree::new(), + pending_standard_changes: ForkTree::new(), + pending_forced_changes: Vec::new(), } } @@ -124,12 +122,7 @@ where N: Add + Ord + Clone + Debug, H: Clone + Debug { - /// Note an upcoming pending transition. Multiple pending changes on the - /// same branch can be added as long as they don't overlap. This method - /// assumes that changes on the same branch will be added in-order. The - /// given function `is_descendent_of` should return `true` if the second - /// hash (target) is a descendent of the first hash (base). - pub(crate) fn add_pending_change( + fn add_standard_change( &mut self, pending: PendingChange, is_descendent_of: &F, @@ -140,65 +133,180 @@ where let hash = pending.canon_hash.clone(); let number = pending.canon_height.clone(); - debug!(target: "afg", "Inserting potential set change signalled at block {:?} \ + debug!(target: "afg", "Inserting potential standard set change signalled at block {:?} \ (delayed by {:?} blocks).", - (&number, &hash), pending.finalization_depth); + (&number, &hash), pending.delay); - self.pending_changes.import( + self.pending_standard_changes.import( hash.clone(), number.clone(), pending, is_descendent_of, )?; - debug!(target: "afg", "There are now {} alternatives for the next pending change (roots), \ - and a total of {} pending changes (across all forks).", - self.pending_changes.roots().count(), - self.pending_changes.iter().count(), + debug!(target: "afg", "There are now {} alternatives for the next pending standard change (roots), \ + and a total of {} pending standard changes (across all forks).", + self.pending_standard_changes.roots().count(), + self.pending_standard_changes.iter().count(), ); Ok(()) } - /// Inspect pending changes. Pending changes in the tree are traversed in pre-order. - pub(crate) fn pending_changes(&self) -> impl Iterator> { - self.pending_changes.iter().map(|(_, _, c)| c) + fn add_forced_change( + &mut self, + pending: PendingChange, + is_descendent_of: &F, + ) -> Result<(), fork_tree::Error> where + F: Fn(&H, &H) -> Result, + E: std::error::Error, + { + for change in self.pending_forced_changes.iter() { + if change.canon_hash == pending.canon_hash || + is_descendent_of(&change.canon_hash, &pending.canon_hash)? + { + return Err(fork_tree::Error::UnfinalizedAncestor); + } + } + + // ordered first by effective number and then by signal-block number. + let key = (pending.effective_number(), pending.canon_height.clone()); + let idx = self.pending_forced_changes + .binary_search_by_key(&key, |change| ( + change.effective_number(), + change.canon_height.clone(), + )) + .unwrap_or_else(|i| i); + + debug!(target: "afg", "Inserting potential forced set change at block {:?} \ + (delayed by {:?} blocks).", + (&pending.canon_height, &pending.canon_hash), pending.delay); + + self.pending_forced_changes.insert(idx, pending); + + debug!(target: "afg", "There are now {} pending forced changes.", self.pending_forced_changes.len()); + + Ok(()) } - /// Get the earliest limit-block number, if any. If there are pending - /// changes across different forks, this method will return the earliest - /// effective number (across the different branches). + /// Note an upcoming pending transition. Multiple pending standard changes + /// on the same branch can be added as long as they don't overlap. Forced + /// changes are restricted to one per fork. This method assumes that changes + /// on the same branch will be added in-order. The given function + /// `is_descendent_of` should return `true` if the second hash (target) is a + /// descendent of the first hash (base). + pub(crate) fn add_pending_change( + &mut self, + pending: PendingChange, + is_descendent_of: &F, + ) -> Result<(), fork_tree::Error> where + F: Fn(&H, &H) -> Result, + E: std::error::Error, + { + match pending.delay_kind { + DelayKind::Best { .. } => { + self.add_forced_change(pending, is_descendent_of) + }, + DelayKind::Finalized => { + self.add_standard_change(pending, is_descendent_of) + }, + } + } + + /// Inspect pending changes. Standard pending changes are iterated first, + /// and the changes in the tree are traversed in pre-order, afterwards all + /// forced changes are iterated. + pub(crate) fn pending_changes(&self) -> impl Iterator> { + self.pending_standard_changes.iter().map(|(_, _, c)| c) + .chain(self.pending_forced_changes.iter()) + } + + /// Get the earliest limit-block number, if any. If there are pending changes across + /// different forks, this method will return the earliest effective number (across the + /// different branches). Only standard changes are taken into account for the current + /// limit, since any existing forced change should preclude the voter from voting. pub(crate) fn current_limit(&self) -> Option { - self.pending_changes.roots() + self.pending_standard_changes.roots() .min_by_key(|&(_, _, c)| c.effective_number()) .map(|(_, _, c)| c.effective_number()) } - /// Apply or prune any pending transitions. This method ensures that if - /// there are multiple changes in the same branch, finalizing this block - /// won't finalize past multiple transitions (i.e. transitions must be - /// finalized in-order). The given function `is_descendent_of` should return - /// `true` if the second hash (target) is a descendent of the first hash - /// (base). + /// Apply or prune any pending transitions based on a best-block trigger. + /// + /// Returns `Ok((median, new_set))` when a forced change has occurred. The + /// median represents the median last finalized block at the time the change + /// was signaled, and it should be used as the canon block when starting the + /// new grandpa voter. Only alters the internal state in this case. + /// + /// These transitions are always forced and do not lead to justifications + /// which light clients can follow. + pub(crate) fn apply_forced_changes( + &self, + best_hash: H, + best_number: N, + is_descendent_of: &F, + ) -> Result, E> + where F: Fn(&H, &H) -> Result, + { + let mut new_set = None; + + for change in self.pending_forced_changes.iter() + .take_while(|c| c.effective_number() <= best_number) // to prevent iterating too far + .filter(|c| c.effective_number() == best_number) + { + // check if the given best block is in the same branch as the block that signalled the change. + if is_descendent_of(&change.canon_hash, &best_hash)? { + // apply this change: make the set canonical + info!(target: "finality", "Applying authority set change forced at block #{:?}", + change.canon_height); + + let median_last_finalized = match change.delay_kind { + DelayKind::Best { ref median_last_finalized } => median_last_finalized.clone(), + _ => unreachable!("pending_forced_changes only contains forced changes; forced changes have delay kind Best; qed."), + }; + + new_set = Some((median_last_finalized, AuthoritySet { + current_authorities: change.next_authorities.clone(), + set_id: self.set_id + 1, + pending_standard_changes: ForkTree::new(), // new set, new changes. + pending_forced_changes: Vec::new(), + })); + + break; + } + + // we don't wipe forced changes until another change is + // applied + } + + Ok(new_set) + } + + /// Apply or prune any pending transitions based on a finality trigger. This + /// method ensures that if there are multiple changes in the same branch, + /// finalizing this block won't finalize past multiple transitions (i.e. + /// transitions must be finalized in-order). The given function + /// `is_descendent_of` should return `true` if the second hash (target) is a + /// descendent of the first hash (base). /// /// When the set has changed, the return value will be `Ok(Some((H, N)))` /// which is the canonical block where the set last changed (i.e. the given /// hash and number). - pub(crate) fn apply_changes( + pub(crate) fn apply_standard_changes( &mut self, finalized_hash: H, finalized_number: N, is_descendent_of: &F, ) -> Result, fork_tree::Error> - where F: Fn(&H, &H) -> Result, - E: std::error::Error, + where F: Fn(&H, &H) -> Result, + E: std::error::Error, { let mut status = Status { changed: false, new_set_block: None, }; - match self.pending_changes.finalize_with_descendent_if( + match self.pending_standard_changes.finalize_with_descendent_if( &finalized_hash, finalized_number.clone(), is_descendent_of, @@ -207,6 +315,10 @@ where fork_tree::FinalizationResult::Changed(change) => { status.changed = true; + // if we are able to finalize any standard change then we can + // discard all pending forced changes (on different forks) + self.pending_forced_changes.clear(); + if let Some(change) = change { info!(target: "finality", "Applying authority set change scheduled at block #{:?}", change.canon_height); @@ -226,13 +338,13 @@ where Ok(status) } - /// Check whether the given finalized block number enacts any authority set - /// change (without triggering it), ensuring that if there are multiple - /// changes in the same branch, finalizing this block won't finalize past - /// multiple transitions (i.e. transitions must be finalized in-order). The - /// given function `is_descendent_of` should return `true` if the second - /// hash (target) is a descendent of the first hash (base). - pub fn enacts_change( + /// Check whether the given finalized block number enacts any standard + /// authority set change (without triggering it), ensuring that if there are + /// multiple changes in the same branch, finalizing this block won't + /// finalize past multiple transitions (i.e. transitions must be finalized + /// in-order). The given function `is_descendent_of` should return `true` if + /// the second hash (target) is a descendent of the first hash (base). + pub fn enacts_standard_change( &self, finalized_hash: H, finalized_number: N, @@ -241,7 +353,7 @@ where where F: Fn(&H, &H) -> Result, E: std::error::Error, { - self.pending_changes.finalizes_any_with_descendent_if( + self.pending_standard_changes.finalizes_any_with_descendent_if( &finalized_hash, finalized_number.clone(), is_descendent_of, @@ -250,27 +362,58 @@ where } } +/// Kinds of delays for pending changes. +#[derive(Debug, Clone, Encode, Decode, PartialEq)] +pub(crate) enum DelayKind { + /// Depth in finalized chain. + Finalized, + /// Depth in best chain. The median last finalized block is calculated at the time the + /// change was signalled. + Best { median_last_finalized: N }, +} + /// A pending change to the authority set. /// /// This will be applied when the announcing block is at some depth within -/// the finalized chain. -#[derive(Debug, Clone, Encode, Decode, PartialEq)] +/// the finalized or unfinalized chain. +#[derive(Debug, Clone, Encode, PartialEq)] pub(crate) struct PendingChange { /// The new authorities and weights to apply. pub(crate) next_authorities: Vec<(Ed25519AuthorityId, u64)>, - /// How deep in the finalized chain the announcing block must be + /// How deep in the chain the announcing block must be /// before the change is applied. - pub(crate) finalization_depth: N, + pub(crate) delay: N, /// The announcing block's height. pub(crate) canon_height: N, /// The announcing block's hash. pub(crate) canon_hash: H, + /// The delay kind. + pub(crate) delay_kind: DelayKind, +} + +impl Decode for PendingChange { + fn decode(value: &mut I) -> Option { + let next_authorities = Decode::decode(value)?; + let delay = Decode::decode(value)?; + let canon_height = Decode::decode(value)?; + let canon_hash = Decode::decode(value)?; + + let delay_kind = DelayKind::decode(value).unwrap_or(DelayKind::Finalized); + + Some(PendingChange { + next_authorities, + delay, + canon_height, + canon_hash, + delay_kind, + }) + } } impl + Clone> PendingChange { /// Returns the effective number this change will be applied at. pub fn effective_number(&self) -> N { - self.canon_height.clone() + self.finalization_depth.clone() + self.canon_height.clone() + self.delay.clone() } } @@ -295,28 +438,32 @@ mod tests { let mut authorities = AuthoritySet { current_authorities: Vec::new(), set_id: 0, - pending_changes: ForkTree::new(), + pending_standard_changes: ForkTree::new(), + pending_forced_changes: Vec::new(), }; let change_a = PendingChange { next_authorities: Vec::new(), - finalization_depth: 10, + delay: 10, canon_height: 5, canon_hash: "hash_a", + delay_kind: DelayKind::Finalized, }; let change_b = PendingChange { next_authorities: Vec::new(), - finalization_depth: 0, + delay: 0, canon_height: 5, canon_hash: "hash_b", + delay_kind: DelayKind::Finalized, }; let change_c = PendingChange { next_authorities: Vec::new(), - finalization_depth: 5, + delay: 5, canon_height: 10, canon_hash: "hash_c", + delay_kind: DelayKind::Finalized, }; authorities.add_pending_change(change_a.clone(), &static_is_descendent_of(false)).unwrap(); @@ -327,9 +474,29 @@ mod tests { _ => unreachable!(), })).unwrap(); + // forced changes are iterated last + let change_d = PendingChange { + next_authorities: Vec::new(), + delay: 2, + canon_height: 1, + canon_hash: "hash_d", + delay_kind: DelayKind::Best { median_last_finalized: 0 }, + }; + + let change_e = PendingChange { + next_authorities: Vec::new(), + delay: 2, + canon_height: 0, + canon_hash: "hash_e", + delay_kind: DelayKind::Best { median_last_finalized: 0 }, + }; + + authorities.add_pending_change(change_d.clone(), &static_is_descendent_of(false)).unwrap(); + authorities.add_pending_change(change_e.clone(), &static_is_descendent_of(false)).unwrap(); + assert_eq!( authorities.pending_changes().collect::>(), - vec![&change_b, &change_a, &change_c], + vec![&change_b, &change_a, &change_c, &change_e, &change_d], ); } @@ -338,7 +505,8 @@ mod tests { let mut authorities = AuthoritySet { current_authorities: Vec::new(), set_id: 0, - pending_changes: ForkTree::new(), + pending_standard_changes: ForkTree::new(), + pending_forced_changes: Vec::new(), }; let set_a = vec![([1; 32].into(), 5)]; @@ -347,16 +515,18 @@ mod tests { // two competing changes at the same height on different forks let change_a = PendingChange { next_authorities: set_a.clone(), - finalization_depth: 10, + delay: 10, canon_height: 5, canon_hash: "hash_a", + delay_kind: DelayKind::Finalized, }; let change_b = PendingChange { next_authorities: set_b.clone(), - finalization_depth: 10, + delay: 10, canon_height: 5, canon_hash: "hash_b", + delay_kind: DelayKind::Finalized, }; authorities.add_pending_change(change_a.clone(), &static_is_descendent_of(true)).unwrap(); @@ -368,7 +538,7 @@ mod tests { ); // finalizing "hash_c" won't enact the change signalled at "hash_a" but it will prune out "hash_b" - let status = authorities.apply_changes("hash_c", 11, &is_descendent_of(|base, hash| match (*base, *hash) { + let status = authorities.apply_standard_changes("hash_c", 11, &is_descendent_of(|base, hash| match (*base, *hash) { ("hash_a", "hash_c") => true, ("hash_b", "hash_c") => false, _ => unreachable!(), @@ -382,7 +552,7 @@ mod tests { ); // finalizing "hash_d" will enact the change signalled at "hash_a" - let status = authorities.apply_changes("hash_d", 15, &is_descendent_of(|base, hash| match (*base, *hash) { + let status = authorities.apply_standard_changes("hash_d", 15, &is_descendent_of(|base, hash| match (*base, *hash) { ("hash_a", "hash_d") => true, _ => unreachable!(), })).unwrap(); @@ -400,7 +570,8 @@ mod tests { let mut authorities = AuthoritySet { current_authorities: Vec::new(), set_id: 0, - pending_changes: ForkTree::new(), + pending_standard_changes: ForkTree::new(), + pending_forced_changes: Vec::new(), }; let set_a = vec![([1; 32].into(), 5)]; @@ -409,16 +580,18 @@ mod tests { // two competing changes at the same height on different forks let change_a = PendingChange { next_authorities: set_a.clone(), - finalization_depth: 10, + delay: 10, canon_height: 5, canon_hash: "hash_a", + delay_kind: DelayKind::Finalized, }; let change_c = PendingChange { next_authorities: set_c.clone(), - finalization_depth: 10, + delay: 10, canon_height: 30, canon_hash: "hash_c", + delay_kind: DelayKind::Finalized, }; authorities.add_pending_change(change_a.clone(), &static_is_descendent_of(true)).unwrap(); @@ -437,12 +610,12 @@ mod tests { }); // trying to finalize past `change_c` without finalizing `change_a` first - match authorities.apply_changes("hash_d", 40, &is_descendent_of) { + match authorities.apply_standard_changes("hash_d", 40, &is_descendent_of) { Err(fork_tree::Error::UnfinalizedAncestor) => {}, _ => unreachable!(), } - let status = authorities.apply_changes("hash_b", 15, &is_descendent_of).unwrap(); + let status = authorities.apply_standard_changes("hash_b", 15, &is_descendent_of).unwrap(); assert!(status.changed); assert_eq!(status.new_set_block, Some(("hash_b", 15))); @@ -450,7 +623,7 @@ mod tests { assert_eq!(authorities.set_id, 1); // after finalizing `change_a` it should be possible to finalize `change_c` - let status = authorities.apply_changes("hash_d", 40, &is_descendent_of).unwrap(); + let status = authorities.apply_standard_changes("hash_d", 40, &is_descendent_of).unwrap(); assert!(status.changed); assert_eq!(status.new_set_block, Some(("hash_d", 40))); @@ -459,20 +632,22 @@ mod tests { } #[test] - fn enacts_change_works() { + fn enacts_standard_change_works() { let mut authorities = AuthoritySet { current_authorities: Vec::new(), set_id: 0, - pending_changes: ForkTree::new(), + pending_standard_changes: ForkTree::new(), + pending_forced_changes: Vec::new(), }; let set_a = vec![([1; 32].into(), 5)]; let change_a = PendingChange { next_authorities: set_a.clone(), - finalization_depth: 10, + delay: 10, canon_height: 5, canon_hash: "hash_a", + delay_kind: DelayKind::Finalized, }; authorities.add_pending_change(change_a.clone(), &static_is_descendent_of(false)).unwrap(); @@ -484,12 +659,84 @@ mod tests { }); // "hash_c" won't finalize the existing change since it isn't a descendent - assert!(!authorities.enacts_change("hash_c", 15, &is_descendent_of).unwrap()); - + assert!(!authorities.enacts_standard_change("hash_c", 15, &is_descendent_of).unwrap()); // "hash_b" at depth 14 won't work either - assert!(!authorities.enacts_change("hash_b", 14, &is_descendent_of).unwrap()); + assert!(!authorities.enacts_standard_change("hash_b", 14, &is_descendent_of).unwrap()); // but it should work at depth 15 (change height + depth) - assert!(authorities.enacts_change("hash_b", 15, &is_descendent_of).unwrap()); + assert!(authorities.enacts_standard_change("hash_b", 15, &is_descendent_of).unwrap()); + } + + #[test] + fn forced_changes() { + let mut authorities = AuthoritySet { + current_authorities: Vec::new(), + set_id: 0, + pending_standard_changes: ForkTree::new(), + pending_forced_changes: Vec::new(), + }; + + let set_a = vec![([1; 32].into(), 5)]; + let set_b = vec![([2; 32].into(), 5)]; + + let change_a = PendingChange { + next_authorities: set_a.clone(), + delay: 10, + canon_height: 5, + canon_hash: "hash_a", + delay_kind: DelayKind::Best { median_last_finalized: 42 }, + }; + + let change_b = PendingChange { + next_authorities: set_b.clone(), + delay: 10, + canon_height: 5, + canon_hash: "hash_b", + delay_kind: DelayKind::Best { median_last_finalized: 0 }, + }; + + authorities.add_pending_change(change_a, &static_is_descendent_of(false)).unwrap(); + authorities.add_pending_change(change_b, &static_is_descendent_of(false)).unwrap(); + + // there's an effective change triggered at block 15 but not a standard one. + // so this should do nothing. + assert!(!authorities.enacts_standard_change("hash_c", 15, &static_is_descendent_of(true)).unwrap()); + + // throw a standard change into the mix to prove that it's discarded + // for being on the same fork. + // + // NOTE: after https://github.com/paritytech/substrate/issues/1861 + // this should still be rejected based on the "span" rule -- it overlaps + // with another change on the same fork. + let change_c = PendingChange { + next_authorities: set_b.clone(), + delay: 3, + canon_height: 8, + canon_hash: "hash_a8", + delay_kind: DelayKind::Best { median_last_finalized: 0 }, + }; + + let is_descendent_of_a = is_descendent_of(|base: &&str, _| { + base.starts_with("hash_a") + }); + + assert!(authorities.add_pending_change(change_c, &is_descendent_of_a).is_err()); + + // too early. + assert!(authorities.apply_forced_changes("hash_a10", 10, &static_is_descendent_of(true)).unwrap().is_none()); + + // too late. + assert!(authorities.apply_forced_changes("hash_a16", 16, &static_is_descendent_of(true)).unwrap().is_none()); + + // on time -- chooses the right change. + assert_eq!( + authorities.apply_forced_changes("hash_a15", 15, &is_descendent_of_a).unwrap().unwrap(), + (42, AuthoritySet { + current_authorities: set_a, + set_id: 1, + pending_standard_changes: ForkTree::new(), + pending_forced_changes: Vec::new(), + }) + ); } } diff --git a/substrate/core/finality-grandpa/src/aux_schema.rs b/substrate/core/finality-grandpa/src/aux_schema.rs new file mode 100644 index 0000000000..930329344b --- /dev/null +++ b/substrate/core/finality-grandpa/src/aux_schema.rs @@ -0,0 +1,275 @@ +// Copyright 2019 Parity Technologies (UK) Ltd. +// This file is part of Substrate. + +// Substrate is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Substrate is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Substrate. If not, see . + +//! Schema for stuff in the aux-db. + +use parity_codec::{Encode, Decode}; +use client::backend::AuxStore; +use client::error::{Result as ClientResult, Error as ClientError, ErrorKind as ClientErrorKind}; +use fork_tree::ForkTree; +use grandpa::round::State as RoundState; +use substrate_primitives::Ed25519AuthorityId; +use log::{info, warn}; + +use crate::authorities::{AuthoritySet, SharedAuthoritySet, PendingChange, DelayKind}; +use crate::consensus_changes::{SharedConsensusChanges, ConsensusChanges}; +use crate::NewAuthoritySet; + +use std::fmt::Debug; +use std::sync::Arc; + +const VERSION_KEY: &[u8] = b"grandpa_schema_version"; +const SET_STATE_KEY: &[u8] = b"grandpa_completed_round"; +const AUTHORITY_SET_KEY: &[u8] = b"grandpa_voters"; +const CONSENSUS_CHANGES_KEY: &[u8] = b"grandpa_consensus_changes"; + +const CURRENT_VERSION: u32 = 1; + +/// The voter set state. +#[derive(Clone, Encode, Decode)] +pub enum VoterSetState { + /// The voter set state, currently paused. + Paused(u64, RoundState), + /// The voter set state, currently live. + Live(u64, RoundState), +} + +impl VoterSetState { + /// Yields the current state. + pub(crate) fn round(&self) -> (u64, RoundState) { + match *self { + VoterSetState::Paused(n, ref s) => (n, s.clone()), + VoterSetState::Live(n, ref s) => (n, s.clone()), + } + } +} + +type V0VoterSetState = (u64, RoundState); + +#[derive(Debug, Clone, Encode, Decode, PartialEq)] +struct V0PendingChange { + next_authorities: Vec<(Ed25519AuthorityId, u64)>, + delay: N, + canon_height: N, + canon_hash: H, +} + +#[derive(Debug, Clone, Encode, Decode, PartialEq)] +struct V0AuthoritySet { + current_authorities: Vec<(Ed25519AuthorityId, u64)>, + set_id: u64, + pending_changes: Vec>, +} + +impl Into> for V0AuthoritySet +where H: Clone + Debug + PartialEq, + N: Clone + Debug + Ord, +{ + fn into(self) -> AuthoritySet { + let mut pending_standard_changes = ForkTree::new(); + + for old_change in self.pending_changes { + let new_change = PendingChange { + next_authorities: old_change.next_authorities, + delay: old_change.delay, + canon_height: old_change.canon_height, + canon_hash: old_change.canon_hash, + delay_kind: DelayKind::Finalized, + }; + + if let Err(err) = pending_standard_changes.import::<_, ClientError>( + new_change.canon_hash.clone(), + new_change.canon_height.clone(), + new_change, + // previously we only supported at most one pending change per fork + &|_, _| Ok(false), + ) { + warn!(target: "afg", "Error migrating pending authority set change: {:?}.", err); + warn!(target: "afg", "Node is in a potentially inconsistent state."); + } + } + + AuthoritySet { + current_authorities: self.current_authorities, + set_id: self.set_id, + pending_forced_changes: Vec::new(), + pending_standard_changes + } + } +} + +fn load_decode(backend: &B, key: &[u8]) -> ClientResult> { + match backend.get_aux(key)? { + None => Ok(None), + Some(t) => T::decode(&mut &t[..]) + .ok_or_else( + || ClientErrorKind::Backend(format!("GRANDPA DB is corrupted.")).into(), + ) + .map(Some) + } +} + +/// Persistent data kept between runs. +pub(crate) struct PersistentData { + pub(crate) authority_set: SharedAuthoritySet, + pub(crate) consensus_changes: SharedConsensusChanges, + pub(crate) set_state: VoterSetState, +} + +/// Load or initialize persistent data from backend. +pub(crate) fn load_persistent( + backend: &B, + genesis_hash: H, + genesis_number: N, + genesis_authorities: G, +) + -> ClientResult> + where + B: AuxStore, + H: Debug + Decode + Encode + Clone + PartialEq, + N: Debug + Decode + Encode + Clone + Ord, + G: FnOnce() -> ClientResult> +{ + let version: Option = load_decode(backend, VERSION_KEY)?; + let consensus_changes = load_decode(backend, CONSENSUS_CHANGES_KEY)? + .unwrap_or_else(ConsensusChanges::::empty); + + let make_genesis_round = move || RoundState::genesis((genesis_hash, genesis_number)); + + match version { + None => { + CURRENT_VERSION.using_encoded(|s| + backend.insert_aux(&[(VERSION_KEY, s)], &[]) + )?; + + if let Some(old_set) = load_decode::<_, V0AuthoritySet>(backend, AUTHORITY_SET_KEY)? { + let new_set: AuthoritySet = old_set.into(); + backend.insert_aux(&[(AUTHORITY_SET_KEY, new_set.encode().as_slice())], &[])?; + + let set_state = match load_decode::<_, V0VoterSetState>(backend, SET_STATE_KEY)? { + Some((number, state)) => VoterSetState::Live(number, state), + None => VoterSetState::Live(0, make_genesis_round()), + }; + + return Ok(PersistentData { + authority_set: new_set.into(), + consensus_changes: Arc::new(consensus_changes.into()), + set_state, + }); + } + } + Some(1) => { + if let Some(set) = load_decode::<_, AuthoritySet>(backend, AUTHORITY_SET_KEY)? { + let set_state = match load_decode::<_, VoterSetState>(backend, SET_STATE_KEY)? { + Some(state) => state, + None => VoterSetState::Live(0, make_genesis_round()), + }; + + return Ok(PersistentData { + authority_set: set.into(), + consensus_changes: Arc::new(consensus_changes.into()), + set_state, + }); + } + } + Some(other) => return Err(ClientErrorKind::Backend( + format!("Unsupported GRANDPA DB version: {:?}", other) + ).into()), + } + + // genesis. + info!(target: "afg", "Loading GRANDPA authority set \ + from genesis on what appears to be first startup."); + + let genesis_set = AuthoritySet::genesis(genesis_authorities()?); + let genesis_state = VoterSetState::Live(0, make_genesis_round()); + backend.insert_aux( + &[ + (AUTHORITY_SET_KEY, genesis_set.encode().as_slice()), + (SET_STATE_KEY, genesis_state.encode().as_slice()), + ], + &[], + )?; + + Ok(PersistentData { + authority_set: genesis_set.into(), + set_state: genesis_state, + consensus_changes: Arc::new(consensus_changes.into()), + }) +} + +/// Update the authority set on disk after a change. +pub(crate) fn update_authority_set( + set: &AuthoritySet, + new_set: Option<&NewAuthoritySet>, + write_aux: F +) -> R where + H: Encode + Clone, + N: Encode + Clone, + F: FnOnce(&[(&'static [u8], &[u8])]) -> R, +{ + // write new authority set state to disk. + let encoded_set = set.encode(); + + if let Some(new_set) = new_set { + // 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(( + new_set.canon_hash.clone(), + new_set.canon_number.clone(), + )); + let set_state = VoterSetState::Live(0, round_state); + let encoded = set_state.encode(); + + write_aux(&[ + (AUTHORITY_SET_KEY, &encoded_set[..]), + (SET_STATE_KEY, &encoded[..]), + ]) + } else { + write_aux(&[(AUTHORITY_SET_KEY, &encoded_set[..])]) + } +} + +/// Write voter set state. +pub(crate) fn write_voter_set_state(backend: &B, state: &VoterSetState) + -> ClientResult<()> + where B: AuxStore, H: Encode, N: Encode +{ + backend.insert_aux( + &[(SET_STATE_KEY, state.encode().as_slice())], + &[] + ) +} + +/// Update the consensus changes. +pub(crate) fn update_consensus_changes( + set: &ConsensusChanges, + write_aux: F +) -> R where + H: Encode + Clone, + N: Encode + Clone, + F: FnOnce(&[(&'static [u8], &[u8])]) -> R, +{ + write_aux(&[(CONSENSUS_CHANGES_KEY, set.encode().as_slice())]) +} + +#[cfg(test)] +pub(crate) fn load_authorities(backend: &B) + -> Option> { + load_decode::<_, AuthoritySet>(backend, AUTHORITY_SET_KEY) + .expect("backend error") +} diff --git a/substrate/core/finality-grandpa/src/consensus_changes.rs b/substrate/core/finality-grandpa/src/consensus_changes.rs index 9d701152dd..cbd7b30f8e 100644 --- a/substrate/core/finality-grandpa/src/consensus_changes.rs +++ b/substrate/core/finality-grandpa/src/consensus_changes.rs @@ -23,11 +23,14 @@ pub(crate) struct ConsensusChanges { pending_changes: Vec<(N, H)>, } -impl ConsensusChanges { +impl ConsensusChanges { /// Create empty consensus changes. pub(crate) fn empty() -> Self { ConsensusChanges { pending_changes: Vec::new(), } } +} + +impl ConsensusChanges { /// Note unfinalized change of consensus-related data. pub(crate) fn note_change(&mut self, at: (N, H)) { diff --git a/substrate/core/finality-grandpa/src/environment.rs b/substrate/core/finality-grandpa/src/environment.rs index 71424e8be9..857d6eafd7 100644 --- a/substrate/core/finality-grandpa/src/environment.rs +++ b/substrate/core/finality-grandpa/src/environment.rs @@ -14,7 +14,6 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -use std::fmt; use std::sync::Arc; use std::time::{Duration, Instant}; @@ -22,6 +21,7 @@ use log::{debug, warn, info}; use parity_codec::Encode; use futures::prelude::*; use tokio::timer::Delay; +use parking_lot::RwLock; use client::{ backend::Backend, BlockchainEvents, CallExecutor, Client, error::Error as ClientError @@ -36,14 +36,42 @@ use runtime_primitives::traits::{ use substrate_primitives::{Blake2Hasher, ed25519,Ed25519AuthorityId, H256}; use crate::{ - AUTHORITY_SET_KEY, CONSENSUS_CHANGES_KEY, LAST_COMPLETED_KEY, - Commit, Config, Error, Network, Precommit, Prevote, LastCompleted, + Commit, Config, Error, Network, Precommit, Prevote, + CommandOrError, NewAuthoritySet, VoterCommand, }; -use crate::authorities::{AuthoritySet, SharedAuthoritySet}; + +use crate::authorities::SharedAuthoritySet; use crate::consensus_changes::SharedConsensusChanges; use crate::justification::GrandpaJustification; use crate::until_imported::UntilVoteTargetImported; +/// Data about a completed round. +pub(crate) type CompletedRound = (u64, RoundState); + +/// A read-only view of the last completed round. +pub(crate) struct LastCompletedRound { + inner: RwLock>, +} + +impl LastCompletedRound { + /// Create a new tracker based on some starting last-completed round. + pub(crate) fn new(round: CompletedRound) -> Self { + LastCompletedRound { inner: RwLock::new(round) } + } + + /// Read the last completed round. + pub(crate) fn read(&self) -> CompletedRound { + self.inner.read().clone() + } + + // NOTE: not exposed outside of this module intentionally. + fn with(&self, f: F) -> R + where F: FnOnce(&mut CompletedRound) -> R + { + f(&mut *self.inner.write()) + } +} + /// The environment we run GRANDPA in. pub(crate) struct Environment, RA> { pub(crate) inner: Arc>, @@ -53,6 +81,7 @@ pub(crate) struct Environment, RA> { pub(crate) consensus_changes: SharedConsensusChanges>, pub(crate) network: N, pub(crate) set_id: u64, + pub(crate) last_completed: LastCompletedRound>, } impl, B, E, N, RA> grandpa::Chain> for Environment where @@ -166,54 +195,6 @@ impl, B, E, N, RA> grandpa::Chain { - pub(crate) canon_number: N, - pub(crate) canon_hash: H, - pub(crate) set_id: u64, - pub(crate) authorities: Vec<(Ed25519AuthorityId, u64)>, -} - -/// Signals either an early exit of a voter or an error. -#[derive(Debug)] -pub(crate) enum ExitOrError { - /// An error occurred. - Error(Error), - /// Early exit of the voter: the new set ID and the new authorities along with respective weights. - AuthoritiesChanged(NewAuthoritySet), -} - -impl From for ExitOrError { - fn from(e: Error) -> Self { - ExitOrError::Error(e) - } -} - -impl From for ExitOrError { - fn from(e: ClientError) -> Self { - ExitOrError::Error(Error::Client(e)) - } -} - -impl From for ExitOrError { - fn from(e: grandpa::Error) -> Self { - ExitOrError::Error(Error::from(e)) - } -} - -impl ::std::error::Error for ExitOrError { } - -impl fmt::Display for ExitOrError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match *self { - ExitOrError::Error(ref e) => write!(f, "{:?}", e), - ExitOrError::AuthoritiesChanged(_) => write!(f, "restarting voter on new authorities"), - } - } -} - - impl, N, RA> voter::Environment> for Environment where Block: 'static, B: Backend + 'static, @@ -237,7 +218,7 @@ impl, N, RA> voter::Environment + Send>; - type Error = ExitOrError>; + type Error = CommandOrError>; fn round_data( &self, @@ -295,17 +276,32 @@ impl, N, RA> voter::Environment, round: u64, commit: Commit) -> Result<(), Self::Error> { + use client::blockchain::HeaderBackend; + + let status = self.inner.backend().blockchain().info()?; + if number <= status.finalized_number && self.inner.backend().blockchain().hash(number)? == Some(hash) { + // This can happen after a forced change (triggered by the finality tracker when finality is stalled), since + // the voter will be restarted at the median last finalized block, which can be lower than the local best + // finalized block. + warn!(target: "afg", "Re-finalized block #{:?} ({:?}) in the canonical chain, current best finalized is #{:?}", + hash, + number, + status.finalized_number, + ); + + return Ok(()); + } + finalize_block( &*self.inner, &self.authority_set, @@ -375,7 +371,7 @@ pub(crate) fn finalize_block, E, RA>( hash: Block::Hash, number: NumberFor, justification_or_commit: JustificationOrCommit, -) -> Result<(), ExitOrError>> where +) -> Result<(), CommandOrError>> where B: Backend, E: CallExecutor + Send + Sync, RA: Send + Sync, @@ -385,72 +381,43 @@ pub(crate) fn finalize_block, E, RA>( // FIXME #1483: clone only when changed let old_authority_set = authority_set.clone(); - // needed in case there is an authority set change, used for reverting in - // case of error - let mut old_last_completed = None; - - let mut consensus_changes = consensus_changes.lock(); - let status = authority_set.apply_changes( - hash, - number, - &is_descendent_of(client, None), - ).map_err(|e| Error::Safety(e.to_string()))?; - - 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(); - - old_last_completed = Backend::get_aux(&**client.backend(), LAST_COMPLETED_KEY)?; - - Backend::insert_aux( - &**client.backend(), - &[ - (AUTHORITY_SET_KEY, &encoded_set[..]), - (LAST_COMPLETED_KEY, &encoded[..]), - ], - &[] - ) - } else { - Backend::insert_aux(&**client.backend(), &[(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()); - } - } - - // check if this is this is the first finalization of some consensus changes - let (alters_consensus_changes, finalizes_consensus_changes) = consensus_changes - .finalize((number, hash), |at_height| canonical_at_height(client, (hash, number), at_height))?; - // holds the old consensus changes in case it is changed below, needed for // reverting in case of failure let mut old_consensus_changes = None; - if alters_consensus_changes { - old_consensus_changes = Some(consensus_changes.clone()); - let encoded = consensus_changes.encode(); - let write_result = Backend::insert_aux(&**client.backend(), &[(CONSENSUS_CHANGES_KEY, &encoded[..])], &[]); - if let Err(e) = write_result { - warn!(target: "finality", "Failed to write updated consensus changes to disk. Bailing."); - warn!(target: "finality", "Node is in a potentially inconsistent state."); + let mut consensus_changes = consensus_changes.lock(); + let canon_at_height = |canon_number| { + // "true" because the block is finalized + canonical_at_height(client, (hash, number), true, canon_number) + }; - return Err(e.into()); + let update_res: Result<_, Error> = client.lock_import_and_run(|import_op| { + let status = authority_set.apply_standard_changes( + hash, + number, + &is_descendent_of(client, None), + ).map_err(|e| Error::Safety(e.to_string()))?; + + // check if this is this is the first finalization of some consensus changes + let (alters_consensus_changes, finalizes_consensus_changes) = consensus_changes + .finalize((number, hash), &canon_at_height)?; + + if alters_consensus_changes { + old_consensus_changes = Some(consensus_changes.clone()); + + let write_result = crate::aux_schema::update_consensus_changes( + &*consensus_changes, + |insert| client.apply_aux(import_op, insert, &[]), + ); + + if let Err(e) = write_result { + warn!(target: "finality", "Failed to write updated consensus changes to disk. Bailing."); + warn!(target: "finality", "Node is in a potentially inconsistent state."); + + return Err(e.into()); + } } - } - let aux = |authority_set: &AuthoritySet>| { // 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 @@ -496,12 +463,12 @@ pub(crate) fn finalize_block, E, RA>( // 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| { + client.apply_finality(import_op, BlockId::Hash(hash), justification, true).map_err(|e| { warn!(target: "finality", "Error applying finality to block {:?}: {:?}", (hash, number), e); e })?; - if let Some((canon_hash, canon_number)) = status.new_set_block { + let new_authorities = if let Some((canon_hash, canon_number)) = status.new_set_block { // the authority set has changed. let (new_id, set_ref) = authority_set.current(); @@ -511,54 +478,46 @@ pub(crate) fn finalize_block, E, RA>( info!("Applying GRANDPA set change to new set {:?}", set_ref); } - Err(ExitOrError::AuthoritiesChanged(NewAuthoritySet { + Some(NewAuthoritySet { canon_hash, canon_number, set_id: new_id, authorities: set_ref.to_vec(), - })) + }) } else { - Ok(()) - } - }; + None + }; - match aux(&authority_set) { - Err(ExitOrError::Error(err)) => { - debug!(target: "afg", "Reverting authority set and/or consensus changes after block finalization error: {:?}", err); - - let mut revert_aux = Vec::new(); - - if status.changed { - revert_aux.push((AUTHORITY_SET_KEY, old_authority_set.encode())); - if let Some(old_last_completed) = old_last_completed { - revert_aux.push((LAST_COMPLETED_KEY, old_last_completed)); - } - - *authority_set = old_authority_set.clone(); - } - - if let Some(old_consensus_changes) = old_consensus_changes { - revert_aux.push((CONSENSUS_CHANGES_KEY, old_consensus_changes.encode())); - - *consensus_changes = old_consensus_changes; - } - - let write_result = Backend::insert_aux( - &**client.backend(), - revert_aux.iter().map(|(k, v)| (*k, &**v)).collect::>().iter(), - &[], + if status.changed { + let write_result = crate::aux_schema::update_authority_set( + &authority_set, + new_authorities.as_ref(), + |insert| client.apply_aux(import_op, insert, &[]), ); if let Err(e) = write_result { - warn!(target: "finality", "Failed to revert consensus changes to disk. Bailing."); + 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()); } + } - Err(ExitOrError::Error(err)) - }, - res => res, + Ok(new_authorities.map(VoterCommand::ChangeAuthorities)) + }); + + match update_res { + Ok(Some(command)) => Err(CommandOrError::VoterCommand(command)), + Ok(None) => Ok(()), + Err(e) => { + *authority_set = old_authority_set; + + if let Some(old_consensus_changes) = old_consensus_changes { + *consensus_changes = old_consensus_changes; + } + + Err(CommandOrError::Error(e)) + } } } @@ -567,27 +526,39 @@ pub(crate) fn finalize_block, E, RA>( pub(crate) fn canonical_at_height, RA>( client: &Client, base: (Block::Hash, NumberFor), + base_is_canonical: bool, height: NumberFor, ) -> Result, ClientError> where B: Backend, E: CallExecutor + Send + Sync, { - use runtime_primitives::traits::{One, Zero}; + use runtime_primitives::traits::{One, Zero, BlockNumberToHash}; if height > base.1 { return Ok(None); } if height == base.1 { - return Ok(Some(base.0)); + if base_is_canonical { + return Ok(Some(base.0)); + } else { + return Ok(client.block_number_to_hash(height)); + } + } else if base_is_canonical { + return Ok(client.block_number_to_hash(height)); } - let mut current = match client.header(&BlockId::Hash(base.0))? { + let one = NumberFor::::one(); + + // start by getting _canonical_ block with number at parent position and then iterating + // backwards by hash. + let mut current = match client.header(&BlockId::Number(base.1 - one))? { Some(header) => header, _ => return Ok(None), }; - let mut steps = base.1 - height; + // we've already checked that base > height above. + let mut steps = base.1 - height - one; while steps > NumberFor::::zero() { current = match client.header(&BlockId::Hash(*current.parent_hash()))? { @@ -595,7 +566,7 @@ pub(crate) fn canonical_at_height, RA>( _ => return Ok(None), }; - steps -= NumberFor::::one(); + steps -= one; } Ok(Some(current.hash())) diff --git a/substrate/core/finality-grandpa/src/import.rs b/substrate/core/finality-grandpa/src/import.rs index 11306f7219..3f4dbb3650 100644 --- a/substrate/core/finality-grandpa/src/import.rs +++ b/substrate/core/finality-grandpa/src/import.rs @@ -19,9 +19,12 @@ use std::sync::Arc; use log::{debug, trace, info}; use parity_codec::Encode; use futures::sync::mpsc; +use parking_lot::RwLockWriteGuard; use client::{blockchain, CallExecutor, Client}; +use client::blockchain::HeaderBackend; use client::backend::Backend; +use client::runtime_api::ApiExt; use consensus_common::{ BlockImport, Error as ConsensusError, ErrorKind as ConsensusErrorKind, ImportBlock, ImportResult, JustificationImport, @@ -35,10 +38,10 @@ use runtime_primitives::traits::{ }; use substrate_primitives::{H256, Ed25519AuthorityId, Blake2Hasher}; -use crate::{AUTHORITY_SET_KEY, Error}; -use crate::authorities::SharedAuthoritySet; +use crate::{Error, CommandOrError, NewAuthoritySet, VoterCommand}; +use crate::authorities::{AuthoritySet, SharedAuthoritySet, DelayKind, PendingChange}; use crate::consensus_changes::SharedConsensusChanges; -use crate::environment::{finalize_block, is_descendent_of, ExitOrError, NewAuthoritySet}; +use crate::environment::{finalize_block, is_descendent_of}; use crate::justification::GrandpaJustification; /// A block-import handler for GRANDPA. @@ -53,7 +56,7 @@ use crate::justification::GrandpaJustification; pub struct GrandpaBlockImport, RA, PRA> { inner: Arc>, authority_set: SharedAuthoritySet>, - authority_set_change: mpsc::UnboundedSender>>, + send_voter_commands: mpsc::UnboundedSender>>, consensus_changes: SharedConsensusChanges>, api: Arc, } @@ -80,7 +83,8 @@ impl, RA, PRA> JustificationImport // request justifications for all pending changes for which change blocks have already been imported let authorities = self.authority_set.inner().read(); for pending_change in authorities.pending_changes() { - if pending_change.effective_number() > chain_info.finalized_number && + if pending_change.delay_kind == DelayKind::Finalized && + pending_change.effective_number() > chain_info.finalized_number && pending_change.effective_number() <= chain_info.best_number { let effective_block_hash = self.inner.best_containing( @@ -109,6 +113,266 @@ impl, RA, PRA> JustificationImport } } +enum AppliedChanges { + Standard, + Forced(NewAuthoritySet), + None, +} + +impl AppliedChanges { + fn needs_justification(&self) -> bool { + match *self { + AppliedChanges::Standard => true, + AppliedChanges::Forced(_) | AppliedChanges::None => false, + } + } +} + +struct PendingSetChanges<'a, Block: 'a + BlockT> { + just_in_case: Option<( + AuthoritySet>, + RwLockWriteGuard<'a, AuthoritySet>>, + )>, + applied_changes: AppliedChanges>, + do_pause: bool, +} + +impl<'a, Block: 'a + BlockT> PendingSetChanges<'a, Block> { + // revert the pending set change explicitly. + fn revert(self) { } + + fn defuse(mut self) -> (AppliedChanges>, bool) { + self.just_in_case = None; + let applied_changes = ::std::mem::replace(&mut self.applied_changes, AppliedChanges::None); + (applied_changes, self.do_pause) + } +} + +impl<'a, Block: 'a + BlockT> Drop for PendingSetChanges<'a, Block> { + fn drop(&mut self) { + if let Some((old_set, mut authorities)) = self.just_in_case.take() { + *authorities = old_set; + } + } +} + +impl, RA, PRA> GrandpaBlockImport where + NumberFor: grandpa::BlockNumberOps, + B: Backend + 'static, + E: CallExecutor + 'static + Clone + Send + Sync, + DigestFor: Encode, + DigestItemFor: DigestItem, + RA: Send + Sync, + PRA: ProvideRuntimeApi, + PRA::Api: GrandpaApi, +{ + // check for a new authority set change. + fn check_new_change(&self, header: &Block::Header, hash: Block::Hash) + -> Result>>, ConsensusError> + { + let at = BlockId::hash(*header.parent_hash()); + let digest = header.digest(); + + let api = self.api.runtime_api(); + + // check for forced change. + { + let maybe_change = api.grandpa_forced_change( + &at, + digest, + ); + + match maybe_change { + Err(e) => match api.has_api_with::, _>(&at, |v| v >= 2) { + Err(e) => return Err(ConsensusErrorKind::ClientImport(e.to_string()).into()), + Ok(true) => { + // API version is high enough to support forced changes + // but got error, so it is legitimate. + return Err(ConsensusErrorKind::ClientImport(e.to_string()).into()) + }, + Ok(false) => { + // API version isn't high enough to support forced changes + }, + }, + Ok(None) => {}, + Ok(Some((median_last_finalized, change))) => return Ok(Some(PendingChange { + next_authorities: change.next_authorities, + delay: change.delay, + canon_height: *header.number(), + canon_hash: hash, + delay_kind: DelayKind::Best { median_last_finalized }, + })), + } + } + + // check normal scheduled change. + { + let maybe_change = api.grandpa_pending_change( + &at, + digest, + ); + + match maybe_change { + Err(e) => Err(ConsensusErrorKind::ClientImport(e.to_string()).into()), + Ok(Some(change)) => Ok(Some(PendingChange { + next_authorities: change.next_authorities, + delay: change.delay, + canon_height: *header.number(), + canon_hash: hash, + delay_kind: DelayKind::Finalized, + })), + Ok(None) => Ok(None), + } + } + } + + fn make_authorities_changes<'a>(&'a self, block: &mut ImportBlock, hash: Block::Hash) + -> Result, ConsensusError> + { + // 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 or panic. + struct InnerGuard<'a, T: 'a> { + old: Option, + guard: Option>, + } + + impl<'a, T: 'a> InnerGuard<'a, T> { + fn as_mut(&mut self) -> &mut T { + &mut **self.guard.as_mut().expect("only taken on deconstruction; qed") + } + + fn set_old(&mut self, old: T) { + if self.old.is_none() { + // ignore "newer" old changes. + self.old = Some(old); + } + } + + fn consume(mut self) -> Option<(T, RwLockWriteGuard<'a, T>)> { + if let Some(old) = self.old.take() { + Some((old, self.guard.take().expect("only taken on deconstruction; qed"))) + } else { + None + } + } + } + + impl<'a, T: 'a> Drop for InnerGuard<'a, T> { + fn drop(&mut self) { + if let (Some(mut guard), Some(old)) = (self.guard.take(), self.old.take()) { + *guard = old; + } + } + } + + let number = block.header.number().clone(); + let maybe_change = self.check_new_change( + &block.header, + hash, + )?; + + // returns a function for checking whether a block is a descendent of another + // consistent with querying client directly after importing the block. + let parent_hash = *block.header.parent_hash(); + let is_descendent_of = is_descendent_of(&self.inner, Some((&hash, &parent_hash))); + + let mut guard = InnerGuard { + guard: Some(self.authority_set.inner().write()), + old: None, + }; + + // whether to pause the old authority set -- happens after import + // of a forced change block. + let mut do_pause = false; + + // add any pending changes. + if let Some(change) = maybe_change { + let old = guard.as_mut().clone(); + guard.set_old(old); + + if let DelayKind::Best { .. } = change.delay_kind { + do_pause = true; + } + + guard.as_mut().add_pending_change( + change, + &is_descendent_of, + ).map_err(|e| ConsensusError::from(ConsensusErrorKind::ClientImport(e.to_string())))?; + } + + let applied_changes = { + let forced_change_set = guard.as_mut().apply_forced_changes(hash, number, &is_descendent_of) + .map_err(|e| ConsensusErrorKind::ClientImport(e.to_string())) + .map_err(ConsensusError::from)?; + + if let Some((median_last_finalized_number, new_set)) = forced_change_set { + let new_authorities = { + let (set_id, new_authorities) = new_set.current(); + + // we will use the median last finalized number as a hint + // for the canon block the new authority set should start + // with. we use the minimum between the median and the local + // best finalized block. + let best_finalized_number = self.inner.backend().blockchain().info() + .map_err(|e| ConsensusErrorKind::ClientImport(e.to_string()))? + .finalized_number; + + let canon_number = best_finalized_number.min(median_last_finalized_number); + + let canon_hash = + self.inner.backend().blockchain().header(BlockId::Number(canon_number)) + .map_err(|e| ConsensusErrorKind::ClientImport(e.to_string()))? + .expect("the given block number is less or equal than the current best finalized number; \ + current best finalized number must exist in chain; qed.") + .hash(); + + NewAuthoritySet { + canon_number, + canon_hash, + set_id, + authorities: new_authorities.to_vec(), + } + }; + let old = ::std::mem::replace(guard.as_mut(), new_set); + guard.set_old(old); + + AppliedChanges::Forced(new_authorities) + } else { + let did_standard = guard.as_mut().enacts_standard_change(hash, number, &is_descendent_of) + .map_err(|e| ConsensusErrorKind::ClientImport(e.to_string())) + .map_err(ConsensusError::from)?; + + if did_standard { + AppliedChanges::Standard + } else { + AppliedChanges::None + } + } + }; + + // consume the guard safely and write necessary changes. + let just_in_case = guard.consume(); + if let Some((_, ref authorities)) = just_in_case { + let authorities_change = match applied_changes { + AppliedChanges::Forced(ref new) => Some(new), + AppliedChanges::Standard => None, // the change isn't actually applied yet. + AppliedChanges::None => None, + }; + + crate::aux_schema::update_authority_set( + authorities, + authorities_change, + |insert| block.auxiliary.extend( + insert.iter().map(|(k, v)| (k.to_vec(), Some(v.to_vec()))) + ) + ); + } + + Ok(PendingSetChanges { just_in_case, applied_changes, do_pause }) + } +} + impl, RA, PRA> BlockImport for GrandpaBlockImport where NumberFor: grandpa::BlockNumberOps, @@ -125,12 +389,8 @@ impl, RA, PRA> BlockImport fn import_block(&self, mut block: ImportBlock, new_authorities: Option>) -> Result { - use crate::authorities::PendingChange; - use client::blockchain::HeaderBackend; - let hash = block.post_header().hash(); - let parent_hash = *block.header.parent_hash(); - let number = *block.header.number(); + let number = block.header.number().clone(); // early exit if block already in chain, otherwise the check for // authority changes will error when trying to re-import a change block @@ -140,82 +400,68 @@ impl, RA, PRA> BlockImport Err(e) => return Err(ConsensusErrorKind::ClientImport(e.to_string()).into()), } - let maybe_change = self.api.runtime_api().grandpa_pending_change( - &BlockId::hash(parent_hash), - &block.header.digest().clone(), - ); - - let maybe_change = match maybe_change { - Err(e) => return Err(ConsensusErrorKind::ClientImport(e.to_string()).into()), - Ok(maybe) => maybe, - }; - - // 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 is_descendent_of = is_descendent_of(&self.inner, Some((&hash, &parent_hash))); - let just_in_case = if let Some(change) = maybe_change { - 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, - }, - &is_descendent_of, - ).map_err(|e| ConsensusError::from(ConsensusErrorKind::ClientImport(e.to_string())))?; - - block.auxiliary.push((AUTHORITY_SET_KEY.to_vec(), Some(authorities.encode()))); - Some((old_set, authorities)) - } else { - None - }; + let pending_changes = self.make_authorities_changes(&mut block, hash)?; // we don't want to finalize on `inner.import_block` let justification = block.justification.take(); let enacts_consensus_change = new_authorities.is_some(); let import_result = self.inner.import_block(block, new_authorities); - let import_result = { - // we scope this so that `just_in_case` is dropped eagerly and releases the authorities lock - let revert_authorities = || if let Some((old_set, mut authorities)) = just_in_case { - *authorities = old_set; - }; - + let mut imported_aux = { match import_result { - Ok(ImportResult::Queued) => ImportResult::Queued, + Ok(ImportResult::Imported(aux)) => aux, Ok(r) => { debug!(target: "afg", "Restoring old authority set after block import result: {:?}", r); - revert_authorities(); + pending_changes.revert(); return Ok(r); }, Err(e) => { debug!(target: "afg", "Restoring old authority set after block import error: {:?}", e); - revert_authorities(); + pending_changes.revert(); return Err(ConsensusErrorKind::ClientImport(e.to_string()).into()); }, } }; - let enacts_change = self.authority_set.inner().read().enacts_change( - hash, - number, - &is_descendent_of, - ).map_err(|e| ConsensusError::from(ConsensusErrorKind::ClientImport(e.to_string())))?; + let (applied_changes, do_pause) = pending_changes.defuse(); - if !enacts_change && !enacts_consensus_change { - return Ok(import_result); + // Send the pause signal after import but BEFORE sending a `ChangeAuthorities` message. + if do_pause { + let _ = self.send_voter_commands.unbounded_send( + VoterCommand::Pause(format!("Forced change scheduled after inactivity")) + ); + } + + let needs_justification = applied_changes.needs_justification(); + if let AppliedChanges::Forced(new) = applied_changes { + // NOTE: when we do a force change we are "discrediting" the old set so we + // ignore any justifications from them. this block may contain a justification + // which should be checked and imported below against the new authority + // triggered by this forced change. the new grandpa voter will start at the + // last median finalized block (which is before the block that enacts the + // change), full nodes syncing the chain will not be able to successfully + // import justifications for those blocks since their local authority set view + // is still of the set before the forced change was enacted, still after #1867 + // they should import the block and discard the justification, and they will + // then request a justification from sync if it's necessary (which they should + // then be able to successfully validate). + let _ = self.send_voter_commands.unbounded_send(VoterCommand::ChangeAuthorities(new)); + + // we must clear all pending justifications requests, presumably they won't be + // finalized hence why this forced changes was triggered + imported_aux.clear_justification_requests = true; + } + + if !needs_justification && !enacts_consensus_change { + return Ok(ImportResult::Imported(imported_aux)); } match justification { Some(justification) => { - self.import_justification(hash, number, justification, enacts_change)?; + self.import_justification(hash, number, justification, needs_justification)?; }, None => { - if enacts_change { + if needs_justification { trace!( target: "finality", "Imported unjustified block #{} that enacts authority set change, waiting for finality for enactment.", @@ -229,11 +475,11 @@ impl, RA, PRA> BlockImport self.consensus_changes.lock().note_change((number, hash)); } - return Ok(ImportResult::NeedsJustification); + imported_aux.needs_justification = true; } } - Ok(import_result) + Ok(ImportResult::Imported(imported_aux)) } fn check_block( @@ -249,22 +495,22 @@ impl, RA, PRA> GrandpaBlockImport>, authority_set: SharedAuthoritySet>, - authority_set_change: mpsc::UnboundedSender>>, + send_voter_commands: mpsc::UnboundedSender>>, consensus_changes: SharedConsensusChanges>, api: Arc, ) -> GrandpaBlockImport { GrandpaBlockImport { inner, authority_set, - authority_set_change, + send_voter_commands, consensus_changes, api, } } } -impl, RA, PRA> - GrandpaBlockImport where +impl, RA, PRA> GrandpaBlockImport + where NumberFor: grandpa::BlockNumberOps, B: Backend + 'static, E: CallExecutor + 'static + Clone + Send + Sync, @@ -304,13 +550,15 @@ impl, RA, PRA> ); match result { - Err(ExitOrError::AuthoritiesChanged(new)) => { - info!(target: "finality", "Imported justification for block #{} that enacts authority set change, signalling voter.", number); - if let Err(e) = self.authority_set_change.unbounded_send(new) { + Err(CommandOrError::VoterCommand(command)) => { + info!(target: "finality", "Imported justification for block #{} that triggers \ + command {}, signalling voter.", number, command); + + if let Err(e) = self.send_voter_commands.unbounded_send(command) { return Err(ConsensusErrorKind::ClientImport(e.to_string()).into()); } }, - Err(ExitOrError::Error(e)) => { + Err(CommandOrError::Error(e)) => { return Err(match e { Error::Grandpa(error) => ConsensusErrorKind::ClientImport(error.to_string()), Error::Network(error) => ConsensusErrorKind::ClientImport(error), diff --git a/substrate/core/finality-grandpa/src/lib.rs b/substrate/core/finality-grandpa/src/lib.rs index 806fc6cfaa..a6b3df13fc 100644 --- a/substrate/core/finality-grandpa/src/lib.rs +++ b/substrate/core/finality-grandpa/src/lib.rs @@ -66,21 +66,27 @@ use runtime_primitives::traits::{ DigestItemFor, DigestItem, }; use fg_primitives::GrandpaApi; +use inherents::InherentDataProviders; use runtime_primitives::generic::BlockId; use substrate_primitives::{ed25519, H256, Ed25519AuthorityId, Blake2Hasher}; use substrate_telemetry::{telemetry, CONSENSUS_TRACE, CONSENSUS_DEBUG, CONSENSUS_WARN}; +use srml_finality_tracker; + use grandpa::Error as GrandpaError; use grandpa::{voter, round::State as RoundState, BlockNumberOps, VoterSet}; use network::Service as NetworkService; use network::consensus_gossip as network_gossip; + +use std::fmt; use std::sync::Arc; use std::time::Duration; pub use fg_primitives::ScheduledChange; mod authorities; +mod aux_schema; mod communication; mod consensus_changes; mod environment; @@ -94,9 +100,8 @@ mod service_integration; #[cfg(feature="service-integration")] pub use service_integration::{LinkHalfForService, BlockImportForService}; -use authorities::SharedAuthoritySet; -use consensus_changes::{ConsensusChanges, SharedConsensusChanges}; -use environment::{Environment, ExitOrError, NewAuthoritySet}; +use aux_schema::{PersistentData, VoterSetState}; +use environment::Environment; pub use finality_proof::{prove_finality, check_finality_proof}; use import::GrandpaBlockImport; use until_imported::UntilCommitBlocksImported; @@ -104,17 +109,9 @@ use until_imported::UntilCommitBlocksImported; #[cfg(test)] mod tests; -const LAST_COMPLETED_KEY: &[u8] = b"grandpa_completed_round"; -const AUTHORITY_SET_KEY: &[u8] = b"grandpa_voters"; -const CONSENSUS_CHANGES_KEY: &[u8] = b"grandpa_consensus_changes"; - const GRANDPA_ENGINE_ID: network::ConsensusEngineId = [b'a', b'f', b'g', b'1']; - const MESSAGE_ROUND_TOLERANCE: u64 = 2; -/// round-number, round-state -type LastCompleted = (u64, RoundState); - /// A GRANDPA message for a substrate chain. pub type Message = grandpa::Message<::Hash, NumberFor>; /// A signed message. @@ -557,13 +554,81 @@ impl, RA> BlockStatus for Arc { + pub(crate) canon_number: N, + pub(crate) canon_hash: H, + pub(crate) set_id: u64, + pub(crate) authorities: Vec<(Ed25519AuthorityId, u64)>, +} + +/// Commands issued to the voter. +#[derive(Debug)] +pub(crate) enum VoterCommand { + /// Pause the voter for given reason. + Pause(String), + /// New authorities. + ChangeAuthorities(NewAuthoritySet) +} + +impl fmt::Display for VoterCommand { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match *self { + VoterCommand::Pause(ref reason) => write!(f, "Pausing voter: {}", reason), + VoterCommand::ChangeAuthorities(_) => write!(f, "Changing authorities"), + } + } +} + +/// Signals either an early exit of a voter or an error. +#[derive(Debug)] +pub(crate) enum CommandOrError { + /// An error occurred. + Error(Error), + /// A command to the voter. + VoterCommand(VoterCommand), +} + +impl From for CommandOrError { + fn from(e: Error) -> Self { + CommandOrError::Error(e) + } +} + +impl From for CommandOrError { + fn from(e: ClientError) -> Self { + CommandOrError::Error(Error::Client(e)) + } +} + +impl From for CommandOrError { + fn from(e: grandpa::Error) -> Self { + CommandOrError::Error(Error::from(e)) + } +} + +impl From> for CommandOrError { + fn from(e: VoterCommand) -> Self { + CommandOrError::VoterCommand(e) + } +} + +impl ::std::error::Error for CommandOrError { } + +impl fmt::Display for CommandOrError { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match *self { + CommandOrError::Error(ref e) => write!(f, "{:?}", e), + CommandOrError::VoterCommand(ref cmd) => write!(f, "{}", cmd), + } + } +} + pub struct LinkHalf, RA> { client: Arc>, - authority_set: SharedAuthoritySet>, - authority_set_change: mpsc::UnboundedReceiver>>, - consensus_changes: SharedConsensusChanges>, + persistent_data: PersistentData>, + voter_commands_rx: mpsc::UnboundedReceiver>>, } /// Make block importer and link half necessary to tie the background voter @@ -577,60 +642,41 @@ pub fn block_import, RA, PRA>( E: CallExecutor + 'static + Clone + Send + Sync, RA: Send + Sync, PRA: ProvideRuntimeApi, - PRA::Api: GrandpaApi + PRA::Api: GrandpaApi, { use runtime_primitives::traits::Zero; - let authority_set = match Backend::get_aux(&**client.backend(), AUTHORITY_SET_KEY)? { - None => { - info!(target: "afg", "Loading GRANDPA authorities \ - from genesis on what appears to be first startup."); - // no authority set on disk: fetch authorities from genesis state. - // if genesis state is not available, we may be a light client, but these - // are unsupported for following GRANDPA directly. + let chain_info = client.info()?; + let genesis_hash = chain_info.chain.genesis_hash; + + let persistent_data = aux_schema::load_persistent( + &**client.backend(), + genesis_hash, + >::zero(), + || { let genesis_authorities = api.runtime_api() .grandpa_authorities(&BlockId::number(Zero::zero()))?; telemetry!(CONSENSUS_DEBUG; "afg.loading_authorities"; "authorities_len" => ?genesis_authorities.len() ); - - let authority_set = SharedAuthoritySet::genesis(genesis_authorities); - let encoded = authority_set.inner().read().encode(); - Backend::insert_aux(&**client.backend(), &[(AUTHORITY_SET_KEY, &encoded[..])], &[])?; - - authority_set + Ok(genesis_authorities) } - Some(raw) => crate::authorities::AuthoritySet::decode(&mut &raw[..]) - .ok_or_else(|| ::client::error::ErrorKind::Backend( - format!("GRANDPA authority set kept in invalid format") - ))? - .into(), - }; + )?; - let consensus_changes = Backend::get_aux(&**client.backend(), CONSENSUS_CHANGES_KEY)?; - let consensus_changes = Arc::new(parking_lot::Mutex::new(match consensus_changes { - Some(raw) => ConsensusChanges::decode(&mut &raw[..]) - .ok_or_else(|| ::client::error::ErrorKind::Backend( - format!("GRANDPA consensus changes kept in invalid format") - ))?, - None => ConsensusChanges::empty(), - })); - - let (authority_set_change_tx, authority_set_change_rx) = mpsc::unbounded(); + let (voter_commands_tx, voter_commands_rx) = mpsc::unbounded(); Ok(( GrandpaBlockImport::new( client.clone(), - authority_set.clone(), - authority_set_change_tx, - consensus_changes.clone(), + persistent_data.authority_set.clone(), + voter_commands_tx, + persistent_data.consensus_changes.clone(), api, ), LinkHalf { client, - authority_set, - authority_set_change: authority_set_change_rx, - consensus_changes, + persistent_data, + voter_commands_rx, }, )) } @@ -644,11 +690,11 @@ fn committer_communication, B, E, N, RA>( ) -> ( impl Stream< Item = (u64, ::grandpa::CompactCommit, ed25519::Signature, Ed25519AuthorityId>), - Error = ExitOrError>, + Error = CommandOrError>, >, impl Sink< SinkItem = (u64, ::grandpa::Commit, ed25519::Signature, Ed25519AuthorityId>), - SinkError = ExitOrError>, + SinkError = CommandOrError>, >, ) where B: Backend, @@ -687,12 +733,37 @@ fn committer_communication, B, E, N, RA>( (commit_in, commit_out) } +/// Register the finality tracker inherent data provider (which is used by +/// GRANDPA), if not registered already. +fn register_finality_tracker_inherent_data_provider, RA>( + client: Arc>, + inherent_data_providers: &InherentDataProviders, +) -> Result<(), consensus_common::Error> where + B: Backend + 'static, + E: CallExecutor + Send + Sync + 'static, + RA: Send + Sync + 'static, +{ + if !inherent_data_providers.has_provider(&srml_finality_tracker::INHERENT_IDENTIFIER) { + inherent_data_providers + .register_provider(srml_finality_tracker::InherentDataProvider::new(move || { + match client.backend().blockchain().info() { + Err(e) => Err(std::borrow::Cow::Owned(e.to_string())), + Ok(info) => Ok(info.finalized_number), + } + })) + .map_err(|err| consensus_common::ErrorKind::InherentData(err.into()).into()) + } else { + Ok(()) + } +} + /// Run a GRANDPA voter as a task. Provide configuration and a link to a /// block import worker that has already been instantiated with `block_import`. pub fn run_grandpa, N, RA>( config: Config, link: LinkHalf, network: N, + inherent_data_providers: InherentDataProviders, on_exit: impl Future + Send + 'static, ) -> ::client::error::Result + Send + 'static> where Block::Hash: Ord, @@ -706,29 +777,18 @@ pub fn run_grandpa, N, RA>( RA: Send + Sync + 'static, { use futures::future::{self, Loop as FutureLoop}; - use runtime_primitives::traits::Zero; let LinkHalf { client, - authority_set, - authority_set_change, - consensus_changes, + persistent_data, + voter_commands_rx, } = link; - - let chain_info = client.info()?; - let genesis_hash = chain_info.chain.genesis_hash; - // we shadow network with the wrapping/rebroadcasting network to avoid // accidental reuse. let (broadcast_worker, network) = communication::rebroadcasting_network(network); + let PersistentData { authority_set, set_state, consensus_changes } = persistent_data; - let (last_round_number, last_state) = match Backend::get_aux(&**client.backend(), LAST_COMPLETED_KEY)? { - None => (0, RoundState::genesis((genesis_hash, >::zero()))), - Some(raw) => LastCompleted::decode(&mut &raw[..]) - .ok_or_else(|| ::client::error::ErrorKind::Backend( - format!("Last GRANDPA round state kept in invalid format") - ))? - }; + register_finality_tracker_inherent_data_provider(client.clone(), &inherent_data_providers)?; let voters = authority_set.current_authorities(); @@ -740,95 +800,131 @@ pub fn run_grandpa, N, RA>( set_id: authority_set.set_id(), authority_set: authority_set.clone(), consensus_changes: consensus_changes.clone(), + last_completed: environment::LastCompletedRound::new(set_state.round()), }); - let initial_state = (initial_environment, last_round_number, last_state, authority_set_change.into_future()); + let initial_state = (initial_environment, set_state, voter_commands_rx.into_future()); let voter_work = future::loop_fn(initial_state, move |params| { - let (env, last_round_number, last_state, authority_set_change) = params; + let (env, set_state, voter_commands_rx) = params; debug!(target: "afg", "{}: Starting new voter with set ID {}", config.name(), env.set_id); telemetry!(CONSENSUS_DEBUG; "afg.starting_new_voter"; "name" => ?config.name(), "set_id" => ?env.set_id ); - let chain_info = match client.info() { - Ok(i) => i, - Err(e) => return future::Either::B(future::err(Error::Client(e))), + let mut maybe_voter = match set_state.clone() { + VoterSetState::Live(last_round_number, last_round_state) => { + let chain_info = match client.info() { + Ok(i) => i, + Err(e) => return future::Either::B(future::err(Error::Client(e))), + }; + + let last_finalized = ( + chain_info.chain.finalized_hash, + chain_info.chain.finalized_number, + ); + + let committer_data = committer_communication( + config.local_key.clone(), + env.set_id, + &env.voters, + &client, + &network, + ); + + let voters = (*env.voters).clone(); + + Some(voter::Voter::new( + env.clone(), + voters, + committer_data, + last_round_number, + last_round_state, + last_finalized, + )) + } + VoterSetState::Paused(_, _) => None, }; - let last_finalized = ( - chain_info.chain.finalized_hash, - chain_info.chain.finalized_number, - ); + // needs to be combined with another future otherwise it can deadlock. + let poll_voter = future::poll_fn(move || match maybe_voter { + Some(ref mut voter) => voter.poll(), + None => Ok(Async::NotReady), + }); - let committer_data = committer_communication( - config.local_key.clone(), - env.set_id, - &env.voters, - &client, - &network, - ); - - let voters = (*env.voters).clone(); - - let voter = voter::Voter::new( - env, - voters, - committer_data, - last_round_number, - last_state, - last_finalized, - ); let client = client.clone(); let config = config.clone(); let network = network.clone(); let authority_set = authority_set.clone(); let consensus_changes = consensus_changes.clone(); - 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, - consensus_changes, - }); + let handle_voter_command = move |command: VoterCommand<_, _>, voter_commands_rx| { + match command { + VoterCommand::ChangeAuthorities(new) => { + // start the new authority set using the block where the + // set changed (not where the signal happened!) as the base. + let genesis_state = RoundState::genesis((new.canon_hash, new.canon_number)); + let env = Arc::new(Environment { + inner: client, + config, + voters: Arc::new(new.authorities.into_iter().collect()), + set_id: new.set_id, + network, + authority_set, + consensus_changes, + last_completed: environment::LastCompletedRound::new( + (0, genesis_state.clone()) + ), + }); - // 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, - ))) + + let set_state = VoterSetState::Live( + 0, // always start at round 0 when changing sets. + genesis_state, + ); + + Ok(FutureLoop::Continue((env, set_state, voter_commands_rx))) + } + VoterCommand::Pause(reason) => { + info!(target: "afg", "Pausing old validator set: {}", reason); + + // not racing because old voter is shut down. + let (last_round_number, last_round_state) = env.last_completed.read(); + let set_state = VoterSetState::Paused( + last_round_number, + last_round_state, + ); + + aux_schema::write_voter_set_state(&**client.backend(), &set_state)?; + + Ok(FutureLoop::Continue((env, set_state, voter_commands_rx))) + }, + } }; - future::Either::A(voter.select2(authority_set_change).then(move |res| match res { + future::Either::A(poll_voter.select2(voter_commands_rx).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. + // the `voter_commands_rx` 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. + // the `voter_commands_rx` stream should never conclude since it's never closed. Ok(FutureLoop::Break(())) }, - Err(future::Either::A((ExitOrError::Error(e), _))) => { + Err(future::Either::A((CommandOrError::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()) + Ok(future::Either::B(((Some(command), voter_commands_rx), _))) => { + // some command issued externally. + handle_voter_command(command, voter_commands_rx.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) + Err(future::Either::A((CommandOrError::VoterCommand(command), voter_commands_rx))) => { + // some command issued internally. + handle_voter_command(command, voter_commands_rx) }, })) }); diff --git a/substrate/core/finality-grandpa/src/tests.rs b/substrate/core/finality-grandpa/src/tests.rs index 4821686f38..7fba9b654c 100644 --- a/substrate/core/finality-grandpa/src/tests.rs +++ b/substrate/core/finality-grandpa/src/tests.rs @@ -29,8 +29,7 @@ use client::{ runtime_api::{Core, RuntimeVersion, ApiExt}, }; use test_client::{self, runtime::BlockNumber}; -use parity_codec::Decode; -use consensus_common::{BlockOrigin, ForkChoiceStrategy, ImportBlock, ImportResult}; +use consensus_common::{BlockOrigin, ForkChoiceStrategy, ImportedAux, ImportBlock, ImportResult}; use consensus_common::import_queue::{SharedBlockImport, SharedJustificationImport}; use std::collections::{HashMap, HashSet}; use std::result; @@ -40,6 +39,7 @@ use runtime_primitives::ExecutionContext; use substrate_primitives::NativeOrEncoded; use authorities::AuthoritySet; +use consensus_changes::ConsensusChanges; type PeerData = Mutex< @@ -240,6 +240,7 @@ impl Network for MessageRouting { struct TestApi { genesis_authorities: Vec<(Ed25519AuthorityId, u64)>, scheduled_changes: Arc>>>, + forced_changes: Arc)>>>, } impl TestApi { @@ -247,6 +248,7 @@ impl TestApi { TestApi { genesis_authorities, scheduled_changes: Arc::new(Mutex::new(HashMap::new())), + forced_changes: Arc::new(Mutex::new(HashMap::new())), } } } @@ -349,6 +351,24 @@ impl GrandpaApi for RuntimeApi { // extrinsics. Ok(self.inner.scheduled_changes.lock().get(&parent_hash).map(|c| c.clone())).map(NativeOrEncoded::Native) } + + fn grandpa_forced_change_runtime_api_impl( + &self, + at: &BlockId, + _: ExecutionContext, + _: Option<(&DigestFor)>, + _: Vec, + ) + -> Result, ScheduledChange>)>>> { + let parent_hash = match at { + &BlockId::Hash(at) => at, + _ => panic!("not requested by block hash!!"), + }; + + // we take only scheduled changes at given block number where there are no + // extrinsics. + Ok(self.inner.forced_changes.lock().get(&parent_hash).map(|c| c.clone())).map(NativeOrEncoded::Native) + } } const TEST_GOSSIP_DURATION: Duration = Duration::from_millis(500); @@ -361,7 +381,14 @@ fn make_ids(keys: &[Keyring]) -> Vec<(Ed25519AuthorityId, u64)> { .collect() } -fn run_to_completion(blocks: u64, net: Arc>, peers: &[Keyring]) -> u64 { +// run the voters to completion. provide a closure to be invoked after +// the voters are spawned but before blocking on them. +fn run_to_completion_with( + blocks: u64, + net: Arc>, + peers: &[Keyring], + before_waiting: F, +) -> u64 { use parking_lot::RwLock; let mut finality_notifications = Vec::new(); @@ -402,6 +429,7 @@ fn run_to_completion(blocks: u64, net: Arc>, peers: &[Keyr }, link, MessageRouting::new(net.clone(), peer_id), + InherentDataProviders::new(), futures::empty(), ).expect("all in order with client and network"); @@ -425,6 +453,8 @@ fn run_to_completion(blocks: u64, net: Arc>, peers: &[Keyr .map(|_| ()) .map_err(|_| ()); + (before_waiting)(); + runtime.block_on(wait_for.select(drive_to_completion).map_err(|_| ())).unwrap(); let highest_finalized = *highest_finalized.read(); @@ -432,8 +462,13 @@ fn run_to_completion(blocks: u64, net: Arc>, peers: &[Keyr highest_finalized } +fn run_to_completion(blocks: u64, net: Arc>, peers: &[Keyring]) -> u64 { + run_to_completion_with(blocks, net, peers, || {}) +} + #[test] fn finalize_3_voters_no_observers() { + let _ = env_logger::try_init(); let peers = &[Keyring::Alice, Keyring::Bob, Keyring::Charlie]; let voters = make_ids(peers); @@ -495,6 +530,7 @@ fn finalize_3_voters_1_observer() { }, link, MessageRouting::new(net.clone(), peer_id), + InherentDataProviders::new(), futures::empty(), ).expect("all in order with client and network"); @@ -552,8 +588,9 @@ fn transition_3_voters_twice_1_observer() { assert_eq!(peer.client().info().unwrap().chain.best_number, 1, "Peer #{} failed to sync", i); - let set_raw = peer.client().backend().get_aux(crate::AUTHORITY_SET_KEY).unwrap().unwrap(); - let set = AuthoritySet::::decode(&mut &set_raw[..]).unwrap(); + let set: AuthoritySet = crate::aux_schema::load_authorities( + &**peer.client().backend() + ).unwrap(); assert_eq!(set.current(), (0, make_ids(peers_a).as_slice())); assert_eq!(set.pending_changes().count(), 0); @@ -638,8 +675,9 @@ fn transition_3_voters_twice_1_observer() { .take_while(|n| Ok(n.header.number() < &30)) .for_each(move |_| Ok(())) .map(move |()| { - let set_raw = client.backend().get_aux(crate::AUTHORITY_SET_KEY).unwrap().unwrap(); - let set = AuthoritySet::::decode(&mut &set_raw[..]).unwrap(); + let set: AuthoritySet = crate::aux_schema::load_authorities( + &**client.backend() + ).unwrap(); assert_eq!(set.current(), (2, make_ids(peers_c).as_slice())); assert_eq!(set.pending_changes().count(), 0); @@ -654,6 +692,7 @@ fn transition_3_voters_twice_1_observer() { }, link, MessageRouting::new(net.clone(), peer_id), + InherentDataProviders::new(), futures::empty(), ).expect("all in order with client and network"); @@ -784,7 +823,7 @@ fn sync_justifications_on_change_blocks() { #[test] fn finalizes_multiple_pending_changes_in_order() { - env_logger::init(); + let _ = env_logger::try_init(); let peers_a = &[Keyring::Alice, Keyring::Bob, Keyring::Charlie]; let peers_b = &[Keyring::Dave, Keyring::Eve, Keyring::Ferdie]; @@ -865,6 +904,60 @@ fn doesnt_vote_on_the_tip_of_the_chain() { assert_eq!(highest, 75); } +#[test] +fn force_change_to_new_set() { + // two of these guys are offline. + let genesis_authorities = &[Keyring::Alice, Keyring::Bob, Keyring::Charlie, Keyring::One, Keyring::Two]; + let peers_a = &[Keyring::Alice, Keyring::Bob, Keyring::Charlie]; + let api = TestApi::new(make_ids(genesis_authorities)); + + let voters = make_ids(peers_a); + let normal_transitions = api.scheduled_changes.clone(); + let forced_transitions = api.forced_changes.clone(); + let net = GrandpaTestNet::new(api, 3); + let net = Arc::new(Mutex::new(net)); + + let runner_net = net.clone(); + let add_blocks = move || { + net.lock().peer(0).push_blocks(1, false); + + { + // add a forced transition at block 12. + let parent_hash = net.lock().peer(0).client().info().unwrap().chain.best_hash; + forced_transitions.lock().insert(parent_hash, (0, ScheduledChange { + next_authorities: voters.clone(), + delay: 10, + })); + + // add a normal transition too to ensure that forced changes take priority. + normal_transitions.lock().insert(parent_hash, ScheduledChange { + next_authorities: make_ids(genesis_authorities), + delay: 5, + }); + } + + net.lock().peer(0).push_blocks(25, false); + net.lock().sync(); + + for (i, peer) in net.lock().peers().iter().enumerate() { + assert_eq!(peer.client().info().unwrap().chain.best_number, 26, + "Peer #{} failed to sync", i); + + let set: AuthoritySet = crate::aux_schema::load_authorities( + &**peer.client().backend() + ).unwrap(); + + assert_eq!(set.current(), (1, voters.as_slice())); + assert_eq!(set.pending_changes().count(), 0); + } + }; + + // it will only finalize if the forced transition happens. + // we add_blocks after the voters are spawned because otherwise + // the link-halfs have the wrong AuthoritySet + run_to_completion_with(25, runner_net, peers_a, add_blocks); +} + #[test] fn allows_reimporting_change_blocks() { let peers_a = &[Keyring::Alice, Keyring::Bob, Keyring::Charlie]; @@ -899,7 +992,7 @@ fn allows_reimporting_change_blocks() { assert_eq!( block_import.import_block(block(), None).unwrap(), - ImportResult::NeedsJustification + ImportResult::Imported(ImportedAux { needs_justification: true, clear_justification_requests: false }), ); assert_eq!( diff --git a/substrate/core/network/src/protocol.rs b/substrate/core/network/src/protocol.rs index 237e06751e..7c6e973c69 100644 --- a/substrate/core/network/src/protocol.rs +++ b/substrate/core/network/src/protocol.rs @@ -223,6 +223,8 @@ pub enum ProtocolMsg> { PropagateExtrinsics, /// Tell protocol that a block was imported (sent by the import-queue). BlockImportedSync(B::Hash, NumberFor), + /// Tell protocol to clear all pending justification requests. + ClearJustificationRequests, /// Tell protocol to request justification for a block. RequestJustification(B::Hash, NumberFor), /// Inform protocol whether a justification was successfully imported. @@ -394,6 +396,7 @@ impl, H: ExHashT> Protocol { } ProtocolMsg::AnnounceBlock(hash) => self.announce_block(hash), ProtocolMsg::BlockImportedSync(hash, number) => self.sync.block_imported(&hash, number), + ProtocolMsg::ClearJustificationRequests => self.sync.clear_justification_requests(), ProtocolMsg::RequestJustification(hash, number) => { let mut context = ProtocolContext::new(&mut self.context_data, &self.network_chan); diff --git a/substrate/core/network/src/service.rs b/substrate/core/network/src/service.rs index 993af60129..194ea462ab 100644 --- a/substrate/core/network/src/service.rs +++ b/substrate/core/network/src/service.rs @@ -101,6 +101,10 @@ impl> Link for NetworkLink { } } + fn clear_justification_requests(&self) { + let _ = self.protocol_sender.send(ProtocolMsg::ClearJustificationRequests); + } + fn request_justification(&self, hash: &B::Hash, number: NumberFor) { let _ = self.protocol_sender.send(ProtocolMsg::RequestJustification(hash.clone(), number)); } diff --git a/substrate/core/network/src/sync.rs b/substrate/core/network/src/sync.rs index 6ba6617d7a..abc215a597 100644 --- a/substrate/core/network/src/sync.rs +++ b/substrate/core/network/src/sync.rs @@ -293,6 +293,14 @@ impl PendingJustifications { Ok(()) } + + /// Clear all data. + fn clear(&mut self) { + self.justifications = ForkTree::new(); + self.pending_requests.clear(); + self.peer_requests.clear(); + self.previous_requests.clear(); + } } /// Relay chain sync strategy. @@ -691,6 +699,11 @@ impl ChainSync { self.justifications.dispatch(&mut self.peers, protocol); } + /// Clears all pending justification requests. + pub fn clear_justification_requests(&mut self) { + self.justifications.clear(); + } + pub fn justification_import_result(&mut self, hash: B::Hash, number: NumberFor, success: bool) { self.justifications.justification_import_result(hash, number, success); } diff --git a/substrate/core/network/src/test/block_import.rs b/substrate/core/network/src/test/block_import.rs index aca789ce2b..c8999419aa 100644 --- a/substrate/core/network/src/test/block_import.rs +++ b/substrate/core/network/src/test/block_import.rs @@ -48,7 +48,7 @@ fn import_single_good_block_works() { let (_, _hash, number, block) = prepare_good_block(); assert_eq!( import_single_block(&test_client::new(), BlockOrigin::File, block, Arc::new(PassThroughVerifier(true))), - Ok(BlockImportResult::ImportedUnknown(number)) + Ok(BlockImportResult::ImportedUnknown(number, Default::default())) ); } 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 f4a22553c152bebc5c38eeae6597a2c05a8c76f3..13b55df5d1434798d967fb35a1e13737b982c3fd 100644 GIT binary patch delta 11352 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 delta 11437 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 diff --git a/substrate/core/util/fork-tree/src/lib.rs b/substrate/core/util/fork-tree/src/lib.rs index caed51adf6..71c83f57ca 100644 --- a/substrate/core/util/fork-tree/src/lib.rs +++ b/substrate/core/util/fork-tree/src/lib.rs @@ -79,7 +79,7 @@ pub enum FinalizationResult { /// in order. Each node is uniquely identified by its hash but can be ordered by /// its number. In order to build the tree an external function must be provided /// when interacting with the tree to establish a node's ancestry. -#[derive(Clone, Debug, Decode, Encode)] +#[derive(Clone, Debug, Decode, Encode, PartialEq)] pub struct ForkTree { roots: Vec>, best_finalized_number: Option, @@ -353,8 +353,7 @@ impl ForkTree where mod node_implementation { use super::*; - #[derive(Clone, Debug, Decode, Encode)] - #[cfg_attr(test, derive(PartialEq))] + #[derive(Clone, Debug, Decode, Encode, PartialEq)] pub struct Node { pub hash: H, pub number: N, diff --git a/substrate/node/cli/src/service.rs b/substrate/node/cli/src/service.rs index ff241a4c98..9b1139f838 100644 --- a/substrate/node/cli/src/service.rs +++ b/substrate/node/cli/src/service.rs @@ -112,6 +112,7 @@ construct_service_factory! { }, link_half, grandpa::NetworkBridge::new(service.network()), + service.config.custom.inherent_data_providers.clone(), service.on_exit(), )?); diff --git a/substrate/node/runtime/Cargo.toml b/substrate/node/runtime/Cargo.toml index ac220ab7a8..d009a544d5 100644 --- a/substrate/node/runtime/Cargo.toml +++ b/substrate/node/runtime/Cargo.toml @@ -21,6 +21,7 @@ contract = { package = "srml-contract", path = "../../srml/contract", default-fe council = { package = "srml-council", path = "../../srml/council", default-features = false } democracy = { package = "srml-democracy", path = "../../srml/democracy", default-features = false } executive = { package = "srml-executive", path = "../../srml/executive", default-features = false } +finality-tracker = { package = "srml-finality-tracker", path = "../../srml/finality-tracker", default-features = false } grandpa = { package = "srml-grandpa", path = "../../srml/grandpa", default-features = false } indices = { package = "srml-indices", path = "../../srml/indices", default-features = false } session = { package = "srml-session", path = "../../srml/session", default-features = false } diff --git a/substrate/node/runtime/src/lib.rs b/substrate/node/runtime/src/lib.rs index ecbdbf691e..d9089f6b0a 100644 --- a/substrate/node/runtime/src/lib.rs +++ b/substrate/node/runtime/src/lib.rs @@ -60,8 +60,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("node"), impl_name: create_runtime_str!("substrate-node"), authoring_version: 10, - spec_version: 32, - impl_version: 32, + spec_version: 33, + impl_version: 33, apis: RUNTIME_API_VERSIONS, }; @@ -192,6 +192,10 @@ impl grandpa::Trait for Runtime { type Event = Event; } +impl finality_tracker::Trait for Runtime { + type OnFinalizationStalled = grandpa::SyncedAuthorities; +} + construct_runtime!( pub enum Runtime with Log(InternalLog: DigestItem) where Block = Block, @@ -211,6 +215,7 @@ construct_runtime!( CouncilVoting: council_voting, CouncilMotions: council_motions::{Module, Call, Storage, Event, Origin}, CouncilSeats: council_seats::{Config}, + FinalityTracker: finality_tracker::{Module, Call, Inherent}, Grandpa: grandpa::{Module, Call, Storage, Config, Log(), Event}, Treasury: treasury, Contract: contract::{Module, Call, Storage, Config, Event}, @@ -295,7 +300,7 @@ impl_runtime_apis! { { for log in digest.logs.iter().filter_map(|l| match l { Log(InternalLog::grandpa(grandpa_signal)) => Some(grandpa_signal), - _=> None + _ => None }) { if let Some(change) = Grandpa::scrape_digest_change(log) { return Some(change); @@ -304,6 +309,20 @@ impl_runtime_apis! { None } + fn grandpa_forced_change(digest: &DigestFor) + -> Option<(NumberFor, ScheduledChange>)> + { + for log in digest.logs.iter().filter_map(|l| match l { + Log(InternalLog::grandpa(grandpa_signal)) => Some(grandpa_signal), + _ => None + }) { + if let Some(change) = Grandpa::scrape_digest_forced_change(log) { + return Some(change); + } + } + None + } + fn grandpa_authorities() -> Vec<(SessionKey, u64)> { Grandpa::grandpa_authorities() } diff --git a/substrate/node/runtime/wasm/Cargo.lock b/substrate/node/runtime/wasm/Cargo.lock index c4b1e60dc3..5bb473efb1 100644 --- a/substrate/node/runtime/wasm/Cargo.lock +++ b/substrate/node/runtime/wasm/Cargo.lock @@ -660,6 +660,7 @@ dependencies = [ "srml-democracy 0.1.0", "srml-executive 0.1.0", "srml-fees 0.1.0", + "srml-finality-tracker 0.1.0", "srml-grandpa 0.1.0", "srml-indices 0.1.0", "srml-session 0.1.0", @@ -1424,6 +1425,23 @@ dependencies = [ "substrate-primitives 0.1.0", ] +[[package]] +name = "srml-finality-tracker" +version = "0.1.0" +dependencies = [ + "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-codec-derive 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", + "sr-primitives 0.1.0", + "sr-std 0.1.0", + "srml-session 0.1.0", + "srml-support 0.1.0", + "srml-system 0.1.0", + "substrate-inherents 0.1.0", +] + [[package]] name = "srml-grandpa" version = "0.1.0" @@ -1433,6 +1451,7 @@ dependencies = [ "serde_derive 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0", "sr-std 0.1.0", + "srml-finality-tracker 0.1.0", "srml-session 0.1.0", "srml-support 0.1.0", "srml-system 0.1.0", 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 b86fbdea66f2b33f8dd92eaf97bf4bed6d301ac8..7c6e43a51622bdd2c89c0dc1f1c19f0efae79cd4 100644 GIT binary patch literal 876964 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±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 z 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%0DOxEz7V%fJQ;JaL} z2g1#+In7JJ_X9m&!d$nC_dC-pdv0s_PSfz6ZrL{^;JZvOFJV_q*YKTT*)t_y*mX-2 zDE{bE&J*4rm~v_}Hk*cCTwa=6K|hbEBx6}{wyU2&6!?>x)iRJQq7@V(En z-$=msDLr4puDDOb_kPQMwY7Zj*YJJ7vKJ@d`-EOz!mfBg!}meUejx$h$Mt*(yW&9& z-}#okFah7k^n3}sV!np&Lzewa0=|#x`4V=;LmIvhTlSN!<@>OP?*hwyECJsIdU*-E zVu6P5BbL3OwR|7Z@O{*>=O^I%uwGumu6R_#_c6=9KLOwQdcK5R@tB71?uPBiz zV8X6=DmvnP+Ols%e*W$e?Y_Uz$na8+ePLUZ+$Bla6;BtJh#Mub;qw{Gp6!pMU3$KRUGbcT??TI-o`CP2 zdcK5Ru~5Tzk!4Rwz;}YD+{oabuqzg6_&#shlM?V9ujfnH70+wy5B0UefSgjCJ7zd~eqCCG3jD8on=MT{r>X zd3wHtvDaF|_Z6%QC*XUNo-bi+sMhd(73;zY_}-}JOBh?IHGE&gx^M!%bM<@)V;8lC z@9S6>PQZ7Lo-bi+mDccm1M9-s&A;@{*7GHdEzugjZ(?0I0pH>J_C^?6pEZ2n!n$w* zzSryJC5+wA8oqC1T{r>XS$e*NvBg=#_Z_SYC*V6%&zCTEIcxYX!Md>Io4WJ<0#mM< zZx9H(Vo9{~UW)bN*5$WJpC4iDhK}a0DrdBn_V>LJd-z)X<62|6c4d0Kk8k~UdXL@-FV{@~H?F2stq{frW{vcpV+}X~U%yF5TAymtpKJJjVcGMF zwNm<0&PQHRA}`j2vAsF!Mb=?$I6*m9>h(hydz&@o_!4Ww3HW}f=SvuSn>BpbV{N!~ z`gzOCGNK>C*!CRN&sSI|Ze4zF>hmLv?aBMPLI#_>&w&=EL}a(Io3|sTZ#!SM_b0fmkK{nAYGYIfPxY z!OB;GA-*Lu)CX@HvBd1>oUUJ7rq>{0?Cy?g@Ea^WC(t1Lg>LsUVeIbKXz*JsJ-4nL zujtD`7`wZp<=BKJ>Eis7E*-zD_m70J-P_9rRi*sn;H*79fwmUwwM7_vz4?`)6fYlq zjyNQ1k4Yo_OM2-EWAk@5@*&pHtbKk0>0i`KPZ&GDHPR2u+9N#a**MDVrC2oP=KIRUO9;j4Q?D78M6`XZG2ER^DwIj<@|4&C?&DeuOL(2e&) zsdq!EcS5N*L#fw7sh2~k7elEdx;m7)DwMiBl)3~duM`)CZj1}1Mu$?PLaFmYsiC3N zrck@yh?HlNUxjY03#HbEQfoq~)uGhNP-=N7wG1g)vPyfY|Fg<|JM_#Op_F=2^)23i zy;Lqqz5Mz2)GM2xQZHJ5O1&QWDfLq0r_`&6pHeRneo77d{ggjgSGlV}wSP|yh5eL2 zfK^Yb;iZ314GR5~Ka^8X`U5SMQo|tsNq_L7?)d`>l~Uck|D@kZt9yPIs#2<}^PluP zD0NSDB>p|Rf6oesg{ovQQl7AB9pYLaFydsdq!E zcS5N*L#fw7sh2~k7elE1hGd0q+GBY@DWAD7058vw4!Gi2DD1h?fX;;;rf@4C_Wd( z_|Wf%pW&*GpH~$)mx~cVsyqo5A9{WNnKC?6DY#aF_ZC?S^~~2m{AZLrbo+i@iZf^6 z!<;`ZqEdY5^nE@G;XH9MQYqdoLX3MTpAlF(7_k zs$6vZ;c`6?qq?VvN|lRlKb+SsG33S=LZ=_5x-N!Hk0Hf+R<$z;&-k^Y$Vs&FNV~97 zpT`jT|1j067_uUUup98HluuX!#Pg}(tLY~eir*|$2+eqzYN7{U`_!&Eo| zHi9gOArHoodt=C*G33@5a#IYM9YbcukQp&#N(`A8LoSaY7srtCMTn}4(Lj97D`aF5 zqVznhh)N-YqAL7H0Z{e#*J$+(EIgrjoE8Q87XT&6i3QOV$#I1z6woIM{4omrE(-iM z3j8_>91{h47Xan%ep>K$N{%B7PblE90-(y$BU+Xp6`oKe`xO91vR8pb0echxMY3Cg z#E@gxT{-t&7+hD0ouVY$7f2M-tqV`6!r{CV-<7Le5NqFWLFx$vh6q1_-pG4`q2OgW zcuxHDOb`a2#L*Er79V;;cGzCn+PO%I+Q!2 zI?rNYJMugr-*!B!!(y**cU82z9|a0f@6ok3V*nRfkBkaO6JjJ-#D}BxfU;gZWiruJ zC-PPJ6Ii>#!5c?QI8Z@0FR(aLRb)L?v>pNLK}1zp4}Q~ZZ11oQzLrDKu#9M2w4QQl zJ>|5XthAmif|h1^91x30OG29qT0l_=r2Wg&N+R};66oxoa8QDR{ri*M#r7{{m1_3v zpV`!+gp{Vp{>x+u%47*}XjQ@f(N19h7#l(np6Bwr{gT_kn>-QT=BQGVmSzWsrnZCU z^>#ow&|=571Bj}#1HwTG+QklDYSs?qp(3&?@j4Z?>I|Pu>U~XlNPA66-PMpDk zFhZUqgJWE3c45QLTR7du*-`ZaXfE7J#a$ys%|)KO#iMYFx(k?Ty?De^Q(?P^{1AXJ z)g;%daTpL9d>I-%nv0xeD`SIaUyBuOG#5lbW`oDsZM-lWHWz~x;B|(Z?Jm%}p-`Lf zpLGV0$`Lrx4(G108^~KYx`yY(r@!yR^LLnr(TdxzPhtSLOry$|M}9qGMMkMAcO$ z;h+TVQkl;*TbZSd$Ul&cn$s;M`-Ar->7zbrX(n_?Y7<(ZHzC471$1l^f~YzZA{>;U zT}yq^DG^C$OQckOuoa?KS^!7BQV|Wgp&8gdxbA3hTdUG1mFC;0ahfB_N zg(RKpla}Ti4+spKIb-0O_-%En-Zv5sOuJ+IMu@8Ojf8^|w2N=Nu}ysAI%x;j`*u)D z`@T@xJQp5Hw!YDl^je?Pn<2qmiI=~(nU|dLT7`Lz;I#^KB?~Ar-=fr?%$@H^m^=(E@;$JbDMcRh$SuQi>JXlRi!mi@X_VB`v^1n&%4+3;PszD1lB8Gr zq@{U=9;rRUM7?Jq9JH&B?HM4d&NC1WO3*HzVREycp|r}}H+5x>(^n?pKouRkG9jw2 zG6@GIXqU>I)NEyz;;YY>u7r!bCHsSGCF!MUNUxNnTtF^4*Qccyx-bptbeSs`sY}jv zh9n)EhIE!B`3jX z%o~#hYgQO%)r(K$Q5QV%&tLJBM<5ZVbCmTaquHQ;)TAYUT9+~TlX-H>F(&y8V4wa0n99?V2U$`Y<(&VFwO5uE__(j@y$AJMKV!-WTz~QauR0&^g7c?j=h#PZsDF zzd)spYPzK!)m*C|)esKG1RZ-+15tIO8p1&d+GSLOox;uRcPee2Yqy{>OIzofu2%$M zjUv9ob*_0-MCuJ+_sfPb$8QLw4C`h}(i_r{UMERsr6IjTl3tgF^j1lFO&Zc+l5~0+ z(oM39nd+04_Fg)l#HP1cU>+siFK7JKVnO)Dbdu*>A}^+dX_4*mVmjF`Whr)axzz2X zG^F=R(yP*tj+3NUq#^xS*63wvNFS4=m!u)RO$vNb8q(D=*9kspX}#SMfrDi4U&?yv zIDKzNIB=02ySIa=y55d(P=a>p?JjJ#w=1QkohMCbjBf{}kUk|%=z=t)<7KX+(vVJ; zq$ARh-YiLnry;#qk`7Hnx>2fWa2nE^WUl9WL+sMp=uc9&(Q~vL@PP*Q-LYHfIobva zG?2et+UKC=2BW3bx)Zfl2Q;X)j%{@(YOM}vAb-19-I>ir=IXH&?=eyOfKyZWfJu__b0H=XwdRIw&$wXdM==W{O#hoe%BVB>se_5ze!~QT~k|ttF-{2fd)Ia z1-M!Z02;{OE*9|Hwy=QCs73o%DV)b^(sX{2g7OmSn17yva=Fa&=oFM=WuCoKP`)ek z{Fz5t+DgUlK@%x$rJ}pmz<_ED>^oei_!$f=^)kh0Qg26jdMj-X-Gbf{PN5&5d`V;m z9Vk`x-Ah=T`t}?Ild+nd{J^&5QM zT~r|0NM*hPpXO9BdI?Z!Kn6WQh;&AFSHVlXpx)R%T!9aBDrNAJs(b}Mwh=0%0W)Fn zlCX>j%)sC!MWH|Z;3Z`;c!?4i(uWTUD8yR9WA&m=2^%@10BDi0-VuhT4H=}gW&EXf ztwL;n*J?%a=R_qmsysvG*!!li@5R!-_fA2%Oj7Qdf^wCl?CMdL*5_nV(1d-?4%$8k zDC^~4-{<_$D}QM(blrniMe4ZSuM+4t+UDaPeRT%3*^5U3Qdi1;Ql((rc>4rq_I z7|y>STR@#>0i}&rYXS=>ZM3?LwpRh#zP(Ca^S#REx7vRs^|nhY&tWF_9G$hE18B$a z96NjEFQJ2Q9+jHg(W5NQ=lnRZIFgs*bGj%+Mtly?z~(x(&*`FVGe86R+hq!2r?&7p z&r1u~E|mrBo!SEASK6^SbU*_Qc5Dma*fk!75ojQPyI8>X%~?QcEqTvaJr<3|n++z2 zQLZMIAkaVug*xkw!lf1wT$KQuOSz}!tZkY>6-f?MZQ_)%>v z!P4sSuvk5EOq`@Hg|;q%2D&KJr9Wp?T$lgqu#h~qE#4l12J#o`(znI$U=&!>Tzf2~ zPiCM@8;s;8`+@;@EW$6>g{Yf&g>7^mp)-%a2O-*piU!)>sZ`M}DjOM8v|d#B!7lhl z9R#}oO1;UKA@FU>SQnLrSQphjP|m7YIg@Ijqf0AE07Oj(rNRR4)RD zRfb?8Rha&$;`B${VKJ1W@33SjM@Ifdw31?nB?r}UhXrPcs}haf>PP;?r>uy4TG^7r zD#g&tXy};cDEVs=E(ZkRBmIwN5t&j=$OPZ65Rs?MFxaGuGMQUaVN?&=ErS`}{&nW= zMQx?fYKng`+GS;(#fz zwddupJboPvqy}LkY;@#o8l&hsgL(-R3nx$tTL$HT z&XDLJl^c3-8RDkW3--I~8BO`J0gymSichnh3JP553^vX{=wFCY?&Rwsh#-2Rb5f(T z$vDFSUyKM4VmQmPK^)3m5UJW1se&@}67+n~Kqsc4kvgMZbe3XC4L~MYImI$n4?syh zVGNX3ClJtLfvTXP+APCpXZR&}87?r|EH0=kSv^oE=MytjHY%#T2Wt}6B_oK{E9f)8~!A%LGPLYAA|OfP7vG%h(QNtp^_$T?1kt|(!h zp1{@W7kGFviVAXP+fr`SE2fc3mwOQUo;}dgvw5qgYbNIm!qh0!`xV5*Jao1$vs9~zG5%}S1_N>*6on4u)?m1-e;K4PB zcxxWz7>tWs?I0LF3;^}(oC^{Om;(qfxKs{v*f4EbZ`JTjwYFmc7Hl*EZP>}|lUX^m zCwoT(_TDeEVrb99G8u;x%AMf<^PS)iiN8PmDBwtDx@MLRKdL*P$>SL`KE%b!+uhBb zxpdgw?2@nQIRYXsfq~WFPN(iB!hZK025A2tFhj%;rwLW(Axs91wvI{jsJxJpOG~U_ zX>prvnztb+Z^9+}qF1yeI*SLQjuv_M?!96j4p$fZYZdSjmAO)P95(Ij3 zVDf)bg8UxYj)&IPpp*DFCCM)elKf0ba+EI#LO?fPnVuw_0!bb(l4QOw3EKKOD(kb0 zvOZm9eR3h|<5kwj`dN2wDQkv=MrG9GJN0~j&GQ>>pL4|>t1{F=6^iW)HdV>DLK032 z-$BVbxB}Onqfqw2DEkB?XhmZPdS*177%T%UJY)V|OF~pDA+|>OE2S~NGnhuMYT^~Y z{8;6=4}56^cQLOEkpEN&Fprr*fH?#`0j?ni0j355Y?DBMZ36*5ED~U;F8~JaZ-Orc zc$Ini0xV)?5a1bto&b*!g8=gb0k%sZ!1jRvYl{T<$QJ+}W+V7gfc4DF7hnxDg8-`t zdIBsX1_71?0(5CffSjs=9UuT3L)Xm4!9C$aR26*T3ozJp2J_tkt#U`m0jD(yFJYAD z3S4`RMvcs)NgyFjf}n2_#Ap(xZxTDTBoEIffL-nk0T4+Y4f4Dpg~mBp{jPFyFbVLL zCc(VMLV!gy31&uh?&tO2>K>Lj3yBXuxm>Kcr}s_YGi7W09X0~fZs;&l_tTw{3=+(%xDq>eUl&t zf+b1-l&%)cLtTvY!Cn`$Ei`~`s18C3Sp_$%OoeQu-7<6hBx>gxUmj#R2?wT2lfbp- zrK}MXCV>R=9z)PK31T1^Z22a!TT2S@yyWhlLb_$! zGMhutHwj`8YHA?B4_Xp{OU_W*4+0P~dqV7^C7HL{hek**N31_JDpd1r_>FreG)mU*S9Mi%-C*$NhdY@~%S z>kA>z1k}hHFYi?ZeG4H58J7eK>DH1$Iw^(h37K*J4Fve0s799f0u08nGdzyKcEw(K z+xZ?WB#SGZ2ChBFL7pXa8b~njF$8@JAqM?`1^W@W9d!0#i$%eLK@sJF#qI-{l{}vp zDdc1I+jh2wg@CWL5a#6zFwe_u4nf~Sh{5en4FuS?B>`%b0Q*4zRU^ZPO0R{HTer+c zUx003A>b=5gn3PX1_q->7BMrF_8Ee{g%E=P^8*1e>S%0cD98{ zfUh(O=H&~phM7TtRRn#LAO-=J@a+nP!kdMhXpo6KYMrA+nb?NY48f}kUgkKmtjuHR zhM6cncQChjbT<#e1wF_9`AWQBTY03)PF79fyeLVJI#(b%T=Dj zK?JXkm>Z!b;~~63N#*Eagp-t7&Iv zI6+)W4IQG8wbhhd<^UW6$Gim-$s3g2*J*QClub^SaO#4(EyoN71>{jGQ1MnuSn$T5 z1z`=U7%1PFs_?uVn2W5v4PKz4#5G!CpnPj85SL5hT7$uUt8qaAd5Rf|TEhy0qWz+> zn5go`I{B^!?O_r{y_P8p6%ewzzhfOEl?JdMi+XB+;{c=*n1Z!xvsO$_dKeqyQ{0ZOK(}S<5LwSX$33p_#qj~5S<3a z7EXwr5T1&_gEWIX`nk^xo++~LmhIk>Q0jVoPfaHVAuI^fg>q1&d7F9WP~&}a5wyDB zObJlL;)2eYhC0%yafOL_Xa?Y-sK)x`FJtI^i}hFDkLyjoKp2Q6LD>g(U_Af}^rn!v zas7coX0ziw#FdQeFze&HcfNO>CIq{`POBimdGTT>UbN5n2wKJ^7eevEXmJsWi_zlk zp?LdfF|ID_vNu|cz_DWga*!?1^zM9mU;erxPJX8Mt+*c=&hubw3>nviue0$%l`vf{ z)4jA-O&$#SFJdLWV@Z&A^Kiwn z-8+b@i*{7KY=mogT!v=wc=+>J9Mtckq&N4RC8EZJc7@uz$dmg6}pNF)_s=WnAH;@wV=uwS*CZvK6|Dpoh3tx0`Eg^(UK_V^tvU=ewzH7ED%O8`SXw$ek58T*K3T}_ils-=sugg% z-u}_ylLZ`2@r6f*#rTHnFPt1cS->$AUwC|2T&|A1aC-P;0Y^@J;pt&VR3nEERRRP`&W5&g~x}*ip9F(6m}Kw$aBBdaJFihpI&GxVK6`B0?cVB;;@e6@~2H{iE^NlIIdU8>>F z3*CD2iwr_R&N z+<=swzvsA}^8cqCH*&ez*QVM1Fp*sRLG~mU{9IQI@+CYom@6&xy8nME@GB>d5 znAI-yNb)F_lBHrP>HU(W*<3Nmm?`NM(}S5M5&(ARl6mWp>Ck#~-|$wIcBlp$pV;32`qQOxd6461WlxLN*Gzp=w-u@e_d=R!$+I$2NLwv=Y-1s=-{io){OpXc z211vaocguL67z!4E4}rnNL(pbLdF}>9uN=U>`&Q;=kDjG77&kAx?G-}HlL{+(f+K3 zLSi0k?Y(11gRMSlPxH#OHRzSi!{k=+@ninaO&wyZjR0wL0D*{((NfX-#e86nvkU|g ze&Uj0A=C1KZ_}sGbJnlllR`2jgqqS%23hpV?C>%}w`nNVOSxVP2CxV@B^?>eCr#OY@Hu!4D<8&LX=UzAva&~F znfskoR-ke|*j6&q-t363L=RVVCB*R+wk{}KaaLEry|6EPH;)X2-!*<_ZkfKNwi8U@jsx)1yFdk%#Gh}^Org?kOilWqczLH&y2{L*XA26~! zStVC8mNJ$_xssJ@Q&3?uwVOk zWV!S8^bvWv$5oQNBwdsRT*wY^$;;*|5x4xhg-c$xUWuUR*ByRw7J=Aj$30XxCNgUb9hk24i`V!8qRoLh8*Iq3#-?5x*;?b31xxg&w*BpD^W z&?>mjA%U#*s2wOcITy79vPG5cdyoK{lQ}9D%@l_QU2@661O637^G>Ad z;Y|-j8pVU1#vR1@oJW~lq1gDKGsGz09hbeG!247i2qol><%^oCA+a#n$!CooHmZeH zs$_t6Pte}J2HLJaXUuh|g&{zIH2uvLSs&HGC@E-R8IT^;!lDKSLP^%ko58C+w5>~! zu)K{l0`jyn4s}p#sFMlmwrK^Zi)~B1R_xoDEgjHm**mn;pq!WUua2x$D9dKl-7x!p z4_GPLTT}|HU;(CuL&4Nq!k-awGN`NLfU0xH8d?qkC%F0=dcJ0gQe;c{ibsKKZrz9k{*)L>LGQf$1R;!$00G01ax@1qjp z2xrN49cgilYl(KDOn8&dJ;J0mSOJf_W61X(@;crsKtS9a24-CD24+~5yP1Yyb+0Te z!G^!mu>n!S;!2*FEE0lA%2Yz7BZ;CCjR_W^wHBtBv_P~+ae)RUae?D~jku`Uts`RO zxt5RUg77>GNyWlSIjjmoh=(Btsb^!G{a|lgSe>~LVdb3Fu(xi=!yG1?(SMs_YvE$V z)`E~^aSbCin;fyV$)*l%ROt2*v=RXaj?SHpZFp^m&+Z-2pOz8E^d>ORX&?wYFS@)B@;|R;xj3 zof0!TB@hQjEg3)1>uBI1Vau2>bCBti4q7qUDz}(fg}PXg3P`{21!KNDljN{b_y2> zyiNIawm7}R)?Z^!atc|fw5mqPXX7Sdb@V(uX}BNC-C#B%P&uRV`jt$SvjyYEoC=~1 zs^Y{<5G=0P*O)77Z^*=ydmH%$6*f+J7j}43A zQpv|r9p6fA4Uiff9#x50pUVIb*GSQJRA?KfMtNZ~FbJF6t6Bo_#Vv-tsQ`?giZx8m z?#oY+s$=Xjm}xk6g&r){AiuLLEF+KK8j^P2HI=7@w!%LpxuMBR1yf26ubC*8`-L*%7LKRa>#e>HO)3PR}j+6d5eJ6#}cMjUG0kg<&TOME$ z9l{$-g4yALG-p&|5D+nOlS$f2G6OdHzKBL_2VFm>x-hK*3dzkFO@>e@hh3C?9^(eSd~u8aI~u>vOL}>7sqk4GAH2LK zdIy`1^H&Ui8@}%fzcpfM?CAFv`>tv1B#UW?LtkHw_Hg4A&Ln=a8j-B3Ms{FqPzP#* zf~AU8+bE3^gHzuMY*@jepH!B_MUU%;f@e^`x`HHABOvWNmW|e8m`ZTB)I~NSYe=|i z_a(N1f`^=5zKE3t6W}pbCAkN92ui>sGmxeT6)o#4CwD*sK%I%~@PW|0I-JT~MbBB;IB5@NjM z$+I~shFVaZMkcUg8*Rllv`f4zmY^CEC{tvDSv13J<5qcx+9Gib*OH#-?YR)t=qidq z_{jJG+g+FOjv1kQNW=C)i`a+=(1L;kmYHfJ5rkUeP3FK*G)8wl(F-evFO-2aohdG4 zn>VB^WT-Q5XH+PnXm3bOl3#|^vbDEKw2GeAzE#ZE)?S$xlNV;V!67V+<*CctBvZBb zo$#N426gn~sLC)TLqB|nUqAGFUqy}+Xz>OoJ!25KDMxAX)3pMlMSPlGBO>fY)8ddO z5>cO+#Mhc8-q~(Q;ARixavGn`&LMM|&iZzDl)B=YaE=Rg*apE{cOgy?ylv5s8+@50 zBc5i7IBl%XEqFMi$72rL898hbM+ijXi|OZ6EC7&Cym1 zJ}4zs%Jg1S^v|;8-|J3OaQ@%5;%bP%gR3)kf9`xRk4!ogKQ*%|BQ-9!uP1il+T0C=OEIGGFbDqzzz;F3TD^L|zH^htW#o$u~_7>rU=RlSOIesWetmn<=!~w8E?j z@-h)#Je%AFq3lpdKJ7?EL6B*e%?lwgysn!uYGfmJ%x|7qP0FiH53Sw4|0i7~wc-1o zHx0nIk!X5?De`P&RDnVmp!@PII>($Pz6gbi`blr8MMTNjB_g^tDZp##ZJM14b_|u- zN3%>>K5MLzb8y1EtR?c$7vPI60{3W#aKMZVt`-J?M-c{W<^jM8xlRdN8WO;|*~OGW zNN|qzSwEo%0i6{`5V1i+u3O7jOK=$_lZ0{2tGO1|P|&?g+tRN-49w^JgD z&x=I6`M5t!vYR$cRtJ+&sttMKP+))#7m#G_Y!hLvtgw4AjqTD(pp8LtXPLbQ>n&j? zEDh4QB4{*D3;atkViPeBN|o(ojWY&sd`8YF6%o|4LozKXV%?4!uOY+?^@fh{(M;%w z((#VEGs=z${Sa^(hfa2*a_byA1baKWUjrRVbpVP@0RF8BblW7^a4Rbt_YcSASSn2D zNZS{EY6zFaD#8B&yj8LSz)Pj*mLWUJ7*7CgKha3hBsF7^BVZHX&kmQIS(BhId)Kyq zwcdzXov{%(oNiefP0*VmlS-eFFpLpf@_!L517;^wVr2oi*kJ^?wXtSpDK-C?&;~pJ zFq!XIwb^Hi)@rg;5=1=zL@RLa$J!g=A1KfE5u%Os*jLUno*IGCQ4kvJqO#DdvA>}4v+@E zq@X0jQbBz4pm}1@TDlaOi$S&2c;|68**@?pujXP`yHZJOBb*{>+rY+@McU03O~4n` z#{~kE*$LWvmCwOY&C*yJ_qc*gtv3H7MEbM&0mg{`M8-WE7A?a>xWZoXDETzEY1~@- zRF@>wL09=6B6sXm*F^QkoMqda%#ipwK=usM4n;|_45Hzmj?|ky!L*p8^a^C&@c|p( z(c)EAS_KLgiq($66qAEybnXZ9fkb$)JRr4A9oS)D+9l{ez#}>=6dIj@1z{Ms0Xr!p zDRWHO4c-M3v;r2|DlKr~tdd<^$S5nAwApItXFu$~FziQS;NdIs4K!;hc{jQ8?Lg=Y z`F8eGtsmntfsOvtf`V)}aAWChaslqkzSa9Yu!N>7gF93*BV)HI{bj^_X}e0O`tD;&q%;Nd!zzzBXipZ!!L zjecDY34|{(Jth9I5Mmh;F3LUy?l%rB-354HDoIf?zQO&S19Kce!9^1-7E~D0QoQqh zwb`D;l1VtU;pQ%ebJ3VdLO_S%6G$X)n5cv`OXOnZ^hWjj;(MWO>4Bja%i9~aDkH8oc2v0%SMZ>5?y*n3+9W8D zRt~tVK~Q;gxL>=5O^2*TJPw!V`r!DnM2oI#d68Rq~stO{$nXP0dauflpilE za|^-2M8nGQMrV+)fgbUsol_v0Z85@13&8R72L+}?NNV$9_;4P>4S(O#T9Wb?KD_Q8 zDsz^)J!tN1dr!`MNyxD+R}^rVoHqvgc^BHpRet$XzwO&(6>xxDM3rG@X^3&Dgg3T_ zP8J4CiHgb;5~>O^McDbEePs4jJFfH;oC5^2l8(IIPRh^yig&j!(+&r>e{!f62H(5U z;&>eP$WH)+aUz_AdkC>|BZ%2AWLZc=EUGg>%gxe;G)z@0lZE7qPwALEYena?{OMEX z_0Dzw`FOv%yvDUgQGIHjwavV71zba>y8Fd*j3|D4{(!Ye*h>nKKVQP_UkD{B8Q|2= zKr>yWv|eLRdfHVXR%FxRu}FnhI!Ic z@!1l_0e;3OWCNQI23nHBVwcUbM)%?tZqhxoSNx-Q$lGN4c#I1;G?xWPYTOTGy8y1E z1-R8UTp*Q2S^%6)6ph}u={=It?EMb!Gs2)gW*o~PVNb>DbbK zfRf0XdJItc>X1TUH*+-&k9+b{r8xx3=AB*LDI#Ia5n*BMPL~VdJyv^X`q52-H|-iHLvi1%PO#Jy1D ze$Ee41)Kv7Bwloa4WvgEl%N9vc}Qj6#o-@Z76wyy`q4GGBXA-XQ`Lbx09*@#*uk+X zZ>)s`c&7lzbj}nIwG($#gv$j@&eA^Zz@31|AtX~S_;1rE2xUq`V|dcgrp-%OOo2l% zB^|?~k&1wuPQbY?1t4L5ngheuQ~X(hgqfRE#7M#xy|DaEPDxRfL@qfrBD zrTQ%y#CZKTcm~)(NwNEBnA0MFM{k7VFa~kO9*DBwT7KY?DYF4y6}AYG_+4R(0FW%5 zlr`ScNu0Pez zn+MpMsB?r7_0K3M+@i?M6PL^19D_g<)qV#sd7aNRT64PKnMj;Aw$ndQ*fSo zY$3t{4+DaY(6zA<&Sm5-KQu^pO7l&Oo224Q46@AL;)fKs>`sl#@(Od))~8IpqWr4^ zX^q|yXA;p7ilfg`!?CF*HdRc!^k(lz;fl1#2ow%Gzz2seD!)o-&<<=iXlfyBa;-Qy z!4#c%WJ16dT~-rPG%`$x`SXLOG>2?f?B9||8Itp}n#MN!-D#@ii$#;#%n=O01tOze zTzMC>(@3&%n;jCSRA7DV=;(jd`P|4q?!}cC>~4X(f)eEJLsaO!Crf6ViD>=vJ$6r~ z_iwb&6Wu*a;7LY-&_khmwNzR`1&* zw(ic4rg+e^TSc1MV1ySkE01y2#)gNuwz)paRffnfa0R-`*(Lg$mA}H3Y&NwEsgii^ zx0kZDE!=Ki?vtTia%M$;BeS*uff$dp7rn*proeRk8O%!yq-Wf28F>b7ZVk`4H7=BE z*p?hU*k;^OtRoiEz;^K()2d=2Jzhegt70mY;>7-^TezFHw>dA5Zu>io9rkznNBKyn z(;{>Jk}jMwx+jrrA_f9Opv}wJnCP6;i|D&mY#u3M%$tj?u}IzCVsWypBp9MLwicJf zr&dH8mlWGaifChdu`L#<4HCi6roNn`f63-aUu(3J zHAy%y*+dK9uv}awXeCmmUdUe3>c`GyUml)hC8wNdTrC%ynJ#BEpsW3vWc6@;)&7}m zUw$_a4NrR{%$pShXqC{ksal~e6*%(Y+Uos>^#1>#Q$=4kaIBs26XKV87|FZnp(-GS z(=O^P2qmqS%PboXE)~BbP#!qfCh?%8U{8xKTl`lZ;H_ZUVVb5&04h60TeIb+Ah)j$ z*RkKl#iOwpEF*)StC5PnH>Xqw?YlbtcRqU8<#s3@QLRE<)JeJfUz5`{;90k z=p4oCn3dcoo!H*6>_0OC<66|;KgIh`WTWKH5FqV<%(Nn+x5erm;_3*l{@|_)*_o^_ z>hKXs*@pb^DB9V?S@{K<7z6Lwv>wjfk|N*e&H`zVAj8W;{G zTcu)CD$UM70_AKKY2rX23SqMwADtjKK>RU0NQt)|29O9y5Q`t5&hQm003Z?-t{Zy0cE9 zWxIRAG}bt7=)HHV4+S|+1#y7hE#Zcr60XHOTt-qA_G@)0e66Y~bQ=N%TOFl8(8{M# zEKG+v&90L0ITEQ1*snGsDZ$z zQ=l^|h*nILzwp~PF$2}5>x@6KOChw1pYai(B*aYIC5WKlX)FLJAkGmhPXj}3toZbM6EoGlt$!Sk$L*uU2g%|G9a|)f^!g&1Jry+^TO=Kh;G66t#MHPB5jf(9 z2;_{OG2>J$N#?uLgg&!DA;r1?I#M`6($txOzWx&LMwU0|++le~SCi#6o77N8HF$Hj zuA@BH<(>V^>@a$zZ+Mt1PgnuoMpIX^qbPsosnw+136z3GZ9cQ1RU1rdwnC2oGr&%8 zl9^1p4i^N?FNR87&@tUlhQG>>d%#bIiw^~?NMA>V>tyJ{6glCRKez6L6+^GsyT3&( zY1F$|0P;uWRK$*k+p@4yZ@&1HsW-A~rP2haA~s>=RBV*)ROB^WVg(OSXg1RTPQ@f3 zOd^8~ry@y@!HLLkEC;!Qt$uJ047D7aVL`2H7+-*%Y0?$(Mu&vJp!xU6s5P$KBGE|i ztX+=Z`bo02HjOt}IT^xoEMm|p$PvIg?w-qqfkk-g9RUuKxKNWD@=k)kg+AG>F)+ha z-ykZd4;Km7LF=Bf^_Ia@@6B<=p@&zzIe3ZuY-7D2NU+s=)K*d8F<*t{QKhpQU5GNN zw#0%)%k*hikFLYYe}yvTwe3e`zYSzTPmc7-~Epbm-eGYqw*5Wpl$d%GO~7J_e}|Us6zHDV^WO zY+kK6VB<@1v>mqwGI7XNl20@|t)g555x;{?;M7u1#_wqQ4JYU8MkCO8qeq?@`Dr@O zoODgOoXvH(2rUN?*p;;mYZ!oM@EtC&Xwa6RGH7$<+f{2K%uw)I^h}i1skZleAude0 zKwPTbGu)!^g)YQ%lw*;X-xxZ#ACFnHHO}$xte|2odHESDa6GkFI9O!Z;~LJF%>Mf{ zZOKzZd?l6V#Aa)nGlF|sK3Em%v22pb|h;ESfnK&DUby z>)51eNo03GVpJmEr~%DYM+B)YTw&5Jttsz<7L~1#@PgD(%S&efQV?3Qj#Wk+TgQPw zxY8dPrQ#m5Uux!4QG=^}Q0}5MI95aa*>tZC+3`})=vj1w^H#K;A(iBz!3RW5DRmsr z6RJ#=?`GE<(^J;u`4qK+vw-ju;c-<%Shuks&MLI1hB~EN;;(}lr7f7@vV9-eB^non z*?~4!)3RuSrQq`3FELDxXPSfjIjhU#f&0Ms)R&O;# zwA5-Ll`XbfSJ`}3Tx-*+h^Qm9Ae=R;(xz~@D%$tz>mq~4RDTAF!}cQe$4MUYrEM_*eF}u5GU4&F{W)rpSObhWnq6M0 zE;LCQsUK+Wruqi26}dTj-U%L6UKQ0!K`nrbAk?&XbcdT-mnmi4D9&QPX52r)0pNSH zyLgqtH+c)aThQ&8JHN2ANOyHxkKr1>nXUMZPFBTd%E?BB&q2S*L*jQhNx_a1SJsN= zMKQzlgIqiKTp2t3#*RQufw~yZQ@ICImDLr3bLL1wJCqJM;xmg%W$>AqQW<<^4ZJJz znT426W=i5F8o*^{(O)T}Xp4_(Q9SZQI~6?o%70&>-e3;NDT}VPAeMhqdeboZ+tGGk7%S_a(5K6F4tG^P8074Mzy zcx?`LlLoq*65Z7z3A*RMXuw8 z1B_HjF)D}i#RE)OZ1b9ku#*8d0b3*B1Z9y99&lwFij#@37$qdeI`N~AWr_CLSNyV* z9Vmb8UqTb>ATea%k3;))95xO3Sk5V)<~_hP)5nG&P`n4f{6RxFJL?)G`}q$V!m(Vt zlaI#x&6b+M?sm&u-D|D`=;l$39r=EbaaEwufm8951Cbg7rVLPz!vJPu+Mg3`ca`gc&=7Ws$BaAc@ zvMP9EPDhu~ypA!dn4PnlxlxpFmr7zDL;317hasP-R*qH~ySalIBGO*!JO_`LX@7c{ zKWZGon4(y&WhbABd!Q<=D>|=sMhUUZfS1`BNzV8qvW5evBt>1O*l>9lpoXok5{+bb z+H=?^xC2HtJ%R^!iSb_CqVptMz!CWcG`OV#CycR61yr;dOQsmSUW9zn%!gJ)!SX4|bIuHLoLBhE ziN}VyCN$QU`XejhQeT7e0j|dqHT$7l2Z`!D5x5}N(|$)|vICAenN*BpjE%yc@z`R$ zcH~)W7ug{;JveeYGs!M&22p*TAVTRtD~+4SIc88EpzNJ;DW&C~zvnTICzeg5yK*OI z1EYRPDFm4;ufx)GEdYt4Xm-fKV)`EGXzT;BBHX^U+VwiA&UCRnTnnwDq*e{+i)6W{ z`f#qVwD*Qe5rsQdgG5V3 zL*~4drn?Tp-R$pfK_AYEljZkM$pAf_*J5SlZwzv?z|1lM&KxouSk4lj11Y)$@SwD` zR_)@5;o0S2^K3QVb{EsoWY`mUC89E+E$s=-EcyO z>PdCEVqbm-SJSpLMFspttY3Uom3Z(cLXN;c>~&{s$5I+)RBA)&WB%4YC)nci$;uV! zBQ)d~ZHT>+m4EQT)udFm4v$0Duwhc*Ugp2z^Er zSiFr`bz9d91ok>?*ne;;1?K)uMfonK6>q>7fg7vWSJ$7w_+VclM^2WrdM1x*wH#y> z5{NO+T`Xn9%69DAG*q`puS{n4r+kN2Sdwi<&W(llrDBPj;8jB#X%XV+y;;tZCve?a zctg=BCSW7cgH=6HBp8>-a7>b%t#Z>4em`pkl^+++=#>d4rJvGBIBK1sEN~n_)iL-7Rx0x?P+za=TXdnW^=DXb1wUHhaVwxy^ zC`)k+>{389Kb3K`-aE9yeDBCM@MPteU`+;M!?tJnWkfPM%de#S(E^@2k*aM|&T#@^84E_1kB;ja;mnHmAD`Xv&yd zFtDTb+m%`1@q-`(OAKy z2?cbF8<{hBklF_06u>e4cENcC(2K01w2<17Vil#biYQfX8*dY>!m!cjURz|wWCyH8 zItlH$>VSzwEj5;^G2Z51o5tGS7>X>@R%7&IjpeeiRKl)1QK#SG=hg|m^o{l=WXPD0 zkWFB+9zEUE#F*!I&@UDy1g&PYrIVKl2*RMw`Lb_g)yqZWc-c5yN5gIJ{|Tfg^C)lZB1PVU`1PphiR%T3|XA4d^d17Y*L+Z zRPoieSb;vmT|I}i^=V=MouLc^1enQ=1D}rCIhbVI?cn%cx!{T-!(Xz=dhLE%%#z`V=E|JcJ~9@qNStOO zyE-W!{+YPVEGW0kVTaVyxp8I|1{?EfM}}xzlo1Ggb%_E9z5bBRXa+h8MpJO@gDTXU zi|QabKHRDz?l;~iCN8)m<10$udx~-PQQts@g&yb^jY~r{jN|i zlP6KegrlAmWDpN;64;bDHrbXl>2z1y6SPK;t%eDv;*xQ%nQDwV5#ge0M^eQ8r|A*B zP;YA)6m%8J6AsQt?UFHj;xFeo^{HXnzmo3>eE5#sRa3HI*RE#ha-a-H^JEG{nZ8Sm zTqs~pdsC!YZM%Jycd?fU#tCXD1Ud+Wn*ePV*&l<~a$tG_`hNyRbwW`O=| zKf)2r_L|nzbC7UW>rwCCdtsi<+wPI#NJ>P1O5IX-BH+SFOBV(>8hKs-YC3?Bgb_g8 z3P8iHhHQPmm$Ql*w_zs`H@&yWPu#0C(c23C+`7|p+I;=ib8bK_e0@231bmU|P6U&~ zcl7ge2jUHur9h;1S6rDq`j;ibNeIl(-N~`PEak@+73k+f@hA63}|NPr_D zb^vQxD*@J+SEdUalG4%({81f4tE@UfLKwOZkW)v$b7G-(9^&tv_S2)rfoz|Zx7<~- z(%$)%$H+<*QcBKWQvM9TVf8J6pCqE&26i6&y?o%xv56;u-)s@cN-wVn>)+dwq~!a{(Y1 zLahUKXh@59ez0?Js=zLjJP?1tZ8^|taQ?GZ!MR;b1rXl`nm0n`Af@-|C)V+a`^X{G zYr~n<_XHm(|CEMG?Ti7{>i8sG)^IN3)AO91Z4t(GuE|Lq4wD1oHO|(a1%Skb?n9g7 zdpd1RfuFaX(AVnPe5)T6a%MDO?1<|babi-gjHroo%BD@4wA2CFMcC4u4G)y)a>sD&BXWoyCy@9WA+&bj@_AhhId?Lq(Y~mzxec^)CnRcwkn0>z|#fG7p4N zfB)}q8v;d&MJ*$%QFdNaN&!n6rl9ww}rV2@{1>PXtFQ^Te z{>lg~?^ip`o4el&5|TrnxEO2N9d^Z@B<)Y@LLQy<(@I{j^RgW}2P!WgoU*_t*{po? zOFknz)#70Hs`Aq$1hA*`r4|j<=GTtSiT!xmIc5Ieljgf*FqNxJBirnLvy&K|3|Vmw zW$?Hsj+iAQSDDmP+t13lBp`HhjB1J`nk?raL1LlT%PyRqi<5z4{bHz)s=s#f80 z%r}z#Zmg=aMdJsh_K_ES#GE;MV)V;_RUyl@Ck$7ia-@`Pr>(?aIZ zz_OHnfR!Ul=?8e?3ul>1>n`2c`s~(vus*g<8^S6wv$(3|iX%SKx>}y8>yx(w`(k>3 zsx^qqwbIZK;12?~!P1X`fFhK`Px}OpS7U*XWJ<8Tb&yT47Xusm^5OXWzq8X+Hr7XG;|j%B-m&zEudN z$Lv$+{*#e4r=gQaX~PQPM5X*NkwF>^M9wdFF2ka+W=sM$OahA4W5tQpTe8?( zGug6f^F}+Dt8Z*lzW>XXucd-^y1T%XcAPC=nI>YIL+&jY)Fdw$^MoV<=ubFBp((Db zM9jo!e=ajdTVo27<;e<^Y`lLUvVSx~27)t2_BEmpJQ*VAuy}TD!~Cgl*bD-S2l^}3 zGUx>)i*adZk1(bf7jvdDwJ$dY`OA4=oz5eQdE?;ofrI}RPbmrPn;614`+hbH?3%y)vxAnzGnb;Iwl@Yq4RJ?Xo3w{5+Pb2tmTG?<%ikb zD5*aOyFZt99yRP2U&7TR?Ic739r!2#b(P22i^_uLBkXmSM_H$OmmdxPQHfFWO@?!9 z^_Ccv`7lv0GUt?5CNHOuuwEwFC+;1}z#H8O{^c3`_%;M@vUl3%_H^pVdM0JQAi0=4 z|Km6BbLL7P_Z{h7pRk!b)(&JgLgldsV*~mDy{)Bk#Rr~nx7h}6SN&Gr0N)oaVdLtc zl)#P%y)RFra{(!V-DOsZmBCiEr_L>+Vt7TR7!q9KEmQVJcthX@N9B3yhJ|mrdf}R% zj%qTlpj12*K%Mo30{BLOi8EDb6F{w_0v@BKqIHi^tz?@c_9(R;!@`8Ldl8>stcD?_ zAwEB<{2s?=C0hr4X3?H6KDQ_1^CKj!d?f9BxWZ?=+;MH>WpG5rc^TGoShk=te6y}Xd(#Ff>=uYd?3d5WYJ*^96Z75c6Qs7z|W8CQH2#F#|b(Ta2MglLFMa&%N+0E1K=-=rFXYb`Qf01aL|GlR=FM{3(IdUw)p*2=i>}I z7~UnvTYa~U-RyC_#xJ+i%~z00<3Q1r%#@+ZZBUiuF0@n56gi|%_NtG{kr+1OnM#cfI;)cr{D(pZYr66$JI1G z69-DDG7XPwLzrl)fb>4s0Oi4RmkI1tN@Nfh(PgrI^Og;lxKGAKkdW2~Raa|*7;x+U zGA)>Ec4VA7`qj+0O7~H{N@t6&jJ$wmXR2Eee`6K^8d;9y%S&l?){|*=-I_*+Obi+w zsUYJT-O)T67g#T;qH%hZldv3;v@idA|_2{G-n0rQB`ooHU38|5ZHo!4+~e%a}~*g{S|0o49n%C zsuKZO&2<{7h(JV%7bI>R*Iov;&*P(NLJzW>Q~{@n_SCzNN=6P3*y^2pR99>%BMIFr zBqtx0>>K?K_6>4qRGy6asMZ_1rZ!F!FK0~aI;WnfyjJS(T%M^nLN9oxq|si;I*l!c zd8Swl^GxAMv?YVb#U(V+h8h4{te`#}JX4KP&(twP757XvM?6#Z8BOC&_zTT5)g5}K zj=_cSOkE{T?3TKC_Rvx{t}Rb?u+)_~;k+AvRp8yy;a8m}Rj94yJSnqX4;?bq@h5Su z^A%-ZO3>NZT^C`wBP2%}6Cz@mSL{1Z*Pt_Ma*tW$*bx=*WUyBjIp-hQiw2twZov%1 zzcq&6;^~loZw$zq4UrYpPkvs=xhWtkskDZy7>+W=*{M;%rQZK4P+{Vg&4RN?8cxk- zsoCJ)$iuIl4Ze=eA{+bzY3Kdy5g3U-OpPcVX@A6UmBP{aHx=hc9=S}Z8OZtW%w3Ka z&+w)@@3mK4r1FY$oyy|n6=x~+S6se$O$Qd@uMSdQQhk4<(naBPmZmBG7YTEecl^a) zT&yn2Znn+?lL$uHlTI*jqBR6FRCYEpsLwZtXVm89pYp4Xeq^3FDbeCNOn`_2S9H!* zFz+$DmjiWQ@_V}P$XrPNS8gMTjRp`z2)P!~h|G*nC$b??j)2igtnz*71*r*;7z|*f zCM}z`;f5wwe9X!)+O8bUL30{^8wxbdDX5nt?;-01@;6T%P~wW*ISOL`=cjBxV5a*o#ruurRU}IC+V>S1 zG|mQC1X5#v0^cJ|*4!NuZhQENcE>>(1x$jI>BRX^NR!KGUgwS)H&93zQYwv|9UMWS1+X%ky&&(iw=$zYUyV>N;=~~2)VS&=$H!HI?x+Da zvILdPH@V3mbbz6qGe_PFN?+&UiDX~XwH*Q2mQ$|$vZ;xyib)z89_)U|tm8)^l|$Ue z#ra1J%opcppB`D9pMH9{I3I}j8_Qk3INt%lr}nZak(G>`e1+zck@I2CJTPKr#9AF@ z#l#5@b$k=VtL-%hyDuKLn$?&GI{7br8Rii>J&#Tf#DtutZ;u5i7SYG~vdANJ?lo*r zr>!@?kFi95Zm?RJ(g6hjM74I~F&#Ab@t0q0Wy08Q9yhJ(_yF7d<(+$LOi=xvwrp(0 zcjZUN`ZH#N(W)clY4y9nHvlMFcMdxko9ci0@el{$ac!#OEJ1AhOf^xEhMiu%k-zBf z%Vl~LbFd>cnNdjo2Q`1G_fGR;tYWNH1C8=lXiZVtHLX3Qb=mx!T7#QMSbR6IAoCw$ z9UbFus#S%>90cbcV>NS@ViNj46w#mj<%j+|qrY?Wwdg-wxG@ZUp=0R#YZz*rTMA2F z!rpuTndwNW(#C){3b`Jff`E*-@%P#Q*#hl*|^8+R8PwlbNQ@d)HAP>s&^`vw$b~|wDZq~ z#C5Q{dA5AS1Gozq!9Qs{F=TcC0L$z!d^YFU!7it{x?4z`1y%k#^orU!cBw-N2)+LmM16{OfG2GXprMM7Zi|PeULM*~xnW#`q_O(c!e0_W^71y&9 z9pHkZd>H&^e{sa=LcFs+TxUz-?Ad`ZwQ>7W3>9?_78Q8E<}F8N42P#?HSVE?zFav| zZa-XZ|EJ~DTZ)+<)IG;Qgm zojDlkG2o-@d}SKxGm#NLHZgRzfh3q<+wbZl1o~O7lqjjNysjsts)n!8NH)hp_gH%R z9Vd|~6#OQSNFr(9p8LWT<1$=%SA4 zRH&yH-0@szi$XtQ(K1D~jew6t1ZHjgS*sw{%++E!TrK>Mj%D3stN|Iyy%NTHI^SKJ305HmfIX3zlCQyP-=H_=BI4ui9n&B{~`Y5{xk7@Tlq3K8Nb!h zcpHsgzSj*YzD;C!V9Zlp_5Lh1BhbdD^Rk_|IA|dmk(CN*)kl2Bj`ia}4y73fu+xUJ z0$4i{TH4P98E6u7?X{in7MzUJKazKUpz}WsF<*0Dk1Z{$8g705%7+j%TPSh1{Pp)d zCThF{9pML6>!GRTV9Xc@V*+Mf3168Kb_CI3wF*0YBPoBE98em2IgNdv8uI~}#H_JG zR2}D%rlwc!BTP*-hI%j|xkxtJxMP#U_J+wteC~*C_1FguB^NbDl8YKjE+Q6PMHH#! z$wgc|xd@HZlZ$Te{DUzt934Ug^(X+xDKfwT*RKs7$A=CfNy})DCuk#0QS_{SmbJgWVryDDfHh zniS7|7>yArZObOgFw&Q%z*?B5heu9o-E@9&D&4eHx@jSBt^2oD-AgerNm?LJ6ayE@ zW1Vzg-+^#PAB8OT?hkejt1;3PBs!PONnbX6f1jO^g*|+?sQoaRb~+=g#rEat6H8e< zi1}_E#LNklH>sLV_k!tikR>3r^BJc)hbme+GSz)U=O4{3Ju{`#EFBHwdht_ajth^y za)zM#I>!^JLgk~mDbBnhl6A5?20m$(=u0@4zLE)dZdIcvD}AfUPF>ffPHIC}`DY(9 zvO$;Xyaqlt>KqN;H4eXf3sRc3ALdR)p*Jc_!V8>o@)o|kb`vJ3JU87XZg5;&%9dh`!7g4E9meh)!PM z&o08Fh8k6_M!1DT#a9J-3SEOdatp?>Q=fT%S*w`P0&W|3GXJN_EAOwDo4%;>QC0Mq z+}dQhJCL-!&85V%M*~y%4F;g{Bc`*IlMvcX6bHm;sQL zoG%~8IWRv4%qr6<^Kq1eDk2vl9QLONkEH)L0{sg0UivR1f8|B&Px# z?R3A1G6{xO?*lMJeh40w_gr?k3M#+})GC++F;T(eO*W`;eS$>%8*Muqq)K0hy8oC_ zLaH3T%D-7imG41UXQuySk!o9{N;RGQNE1Xflyir=xkCrl&UNCPpc+!wtO2a`KEL@4M6KQ$3k$rd>dS2CtaEY1*dET$I`HtwGh zclJyHp{UUUZ}|5H0{Z*u(}uogg%e*873$cuhjry>Owd^dvNZXh%>Z$u^G$$LOo+4a zuJqGRIvOG|Z4;rN_)svf&%2HE)al>$gHXQw{_x7@;=8{RZS;rZ&5?NX?EeuepZvve z^K^W4-X3ce$TPIz?h4oO-@wV9$7_6kRVXjQwbms1nZ2?tTwk`fO0D+f+p(RoNK9{Y z{L`YV$(qLF3Ix;|kVNFGZiiulr>rW6IF^5vgzO@?UZeanzuL06?H9+@`PMo8GE;;I z*>`{mhU#!PLleF!VNtVAVA@;u8Y?Qr)z)yLKe59jgz}rp6;5^J%ZBogB4yt|t15wC zlq)qe&wMGIST3@~=n^v(zG7{N&*~PxtY(u07725+lY@BDj9Ihbt84;u<_c|PCf=x% zfZ;K7I6iyEJ#kzdEf!W+{DLC0CKh%^Lc)~=(fMd>o}KXPQXTolM(Xk4m>2tRXPLE#@=)*! znZeTvx!mM(H0II9y%xN-aQK?o^;0Iym0Sc>$~7T2e5tYF6$=euU&>R&DRQ%Zikwb0 zp;h6jsVlBl35KGdO7G>MaQsVD46gaW>3OGKHF)T!NmQpv4+)Iqi7C@$1r0~B@p8qK z;IUkZb@#xIEQ#A^8k6H4t!dzs^vma$aA>EM$gmFw_Qx^P;b%D-*AMIznBo>@R|`D# zQ#!czCnF#&}y%CFIr5AbuC!be8w zk4kxcH<@^*5Rg9Vn|Lh;M+k2G=Jj0Pr-o{QNHtfG&ZGRu@_*ssFj1B4o_|g$VdJs= zyp+YBu(ZkfQ)dyAvKlm2U}t!cN||3Qn%T{c+oM)Wu=E4|s4|p5@{Lgr(Y2xQ1qqsH ztMUbytkCzLt9z?JCZMmLWG?iBk#+VZ|`%h_NsAj zdm6a1XAIY;?=R?g+(vYw&WxzDK+vM?3n%JKV|A`)8yKAt)R9F*4g1SDHpZ6Aw!drh zWVKwDjvvi#NlQ<>XYt}rc*0D+6TTf1@7uO`A0boD#D=~-hq#s47&(_GN|A6bPbN?E z=VP{*pUcB*k|F^^D;L43)|kK$LDZzK35#_iM#}C*j8*lGT5S{I+OBK zIuVJcf;k^aZ{uB*qvd;^G+K zI0nh99FkW7$*UCwm@lrncW_NHe;dZ@TygciMaH>a8;ZHx_&BrefJsWSe#&1Wdkw8- zD@vDh4Jk;jY`){ihwjC{d3U()m5Yv}@;3xFA%$~6(nuVjrk}H=&C6fRpeMg5%d zUQ4z0P?ZeBYIR**SnGRIig5f#byd3%WVL##kBq8u3*7R8v2?Nk<9z|deAjQyLX9@k z2Na~+4bb}L*2mnKs?f`7;&E`m#+3-)W-1VU{Bp9WHsIP`_# zbxSAMDasGbm1+=RzBj;Xzp^Rd3!uqfZn^B&t@Daexe|{+j|ekytmk8AYvf2hnruxvzi2Y;kR|x7c6Ya66Z4?T@|D-%IuVyudsdOtZM=KH6oYT({VuL)@m0U{qZUtaw0CcikQ zHq?3&!0-ea)6^MBH1n+7IQaeUR;n{P&q8(>h15>p+g8krqi++3-(1W&hwm1fZ(|`h z`=ab&O7HkDwr(5Rrd|H34b>iR||iya{S#a`~?nzTCpv7SaD=YV~pZv3@@L<9BE?& z-|XYBf-K^-+k1_IkM0HM#>L|B=q!8UAr4ccJ@i&Z0L*jX%Cv{yqVGVvgjc0jyGSYR ziwSOB!X2VX`Ce?l%6uq4$gddL%S&0P7FJ3CO8ImA(u*N3^Go_^$Pr~TKR;d-Rzf^4 zAFB#0X`gE}#yp?l;nnUhJj3l(e)}Z1!J&AX+j%c#BE8ou(Q8O4Lh)nvF@R`@jeA#w zzUT0+9FyffZix9ibwi9?tVpouqAvSJB%Mg1P=u}{cnZ4ewS<#v$VRid1 zIP(NMH}qChb0VG3Hsv{|DOC39_D)Pgm2Yu9usBk%WUflp=W4-LIi1GA;_uX}R`#h7 zWRe@D%47~2+ZYL5$Zm+Js|~O8HA#bbUc7?y(o8Yl;Jji3vUgrQaPqj<*(5SaB%P1F zoi_*zLsL>~e{2PI4Ru4|$G+clA&I=2?eG7tx+@bh{#sku0*!3Jn7RSU@Sgy@Hem53xHnyu8V=?Ed z+}W}5oJc6f(XD)~H&A@VcmXTqp24_5OwpX@xXoeg3!njQ?V=N%YfG{d|Q zHm0-7DJdvi5TiyuWF(CcCvs~K!FO& zGo%)qQvq*1#R^{$T1`M&DL&5pVg##Qk6?Ak{v3*=b#8GlS}pP9*UpD;s}yD#b5!{7C{r`WEx-IyQ>n`p zBAizFd}2sB<+nI)k02QE`ndA>*TQQOw9W&i;igaEv?g%o8)V6X*?LeX zBWTNKe~ZIvtE=qYr3ZfW-s6MqvT3#`TVrrZvHjKjm^&Tl^6e)jCMOQ5MFJ~PJ;@Vq_qS&!qTynQ3Y!FQ9!zsm9xN|3q?v&HJ%F=W6Z=c8L zuOaGWrKF||qME8&(C7=b`x6=!?XJocan3W?RVNSR_h&+85szyo?chblt`Sr;ty91~ z-#>awPadoULyx$o@#F}=zTQv!!ET5xL7P(SDzWw7B2@ARrGPe zvAO;?%~ft!pX<6){F+R`6a?_+`AuQ14F2%%m)Z<3A>{7P4^j{^e29y@mtP1(J+AiA z+Yq#wW}o)ZmoHr|`dVA7G*~VM)erFSh2h62=y>a@^TSQ3u|Dk1t5Vsbqf))t+>CZ~ z0H5>Wr2M2_A4d4UR?mF}j{ zz-Tk&M}HqQlw7}PG(0aT4fz1&f|ys*UocTbBp&XO`Qp2pND-`~;V4iQ!9AuO5sZO2 z2t8syH$ItaThK*MM*PU+scnWF zgXEvG;I25dvzX#ECzNP@k;S2efHO`Ii^Id;tq3soicQtjRf{e+6<5Y0<0(khGYxkM zg1o~K7^KEVplr0;d-@GfT7wiB z8FAe{Xt9R{P=PQz`!Y?5AMLa`v4~nrYix$b1~Y5{($+V&7U)l0*9uBr0N93@>T5cR zr@^Y{b3HeA8=cFdNdmQ32Np$Yzo3S?$BVY5zmUFrn1$sc`GJOUXy*x-7aVNfIM|Dd zd2uk1A{U7je=cw!E#?$%)pNa*_}c_86u{3p{NRNLD?wggr>4x%HlOrv&-Aq zegXlLOV&BmU69M`@BsAXpZEjW^f#$gX*kA|ZOOvR^hFKSer26J*P zwE;*a4|~;!_$8%YFB_u?FSDh2z5H0&|DsBOg9cH+3HV@BvrxF?8M^?<+HB z!^Nok8W`PO)#EF~K1wvJY0VU&8U!>te6?CH0h-vnuy>P2|Uz2kWs`Y1gi$4hJjM<1QSeLX^qC=6?Q zKm0)w*9<>tgF#bUtMebraT8^HW2)Cy&Q@v}bBenxc5vMNKhANzB<6 zA|$J*)?HjqS?}LSt>vfKKunuEpfAzba=RDd^DsVrl}$CZbyyG^T!nW^U(EO_zGCi_ zC(yM&x9+@05sJ;lRSHz=WLdmhJXEwoQH)}P?3UgfU)yA5G5}+wRl7;>z>(;4-m(56Bxu+6NiHUO2>Eun5z^gCzhE z40xKPKKz;UQ$X6z9eZ8<8GZCl>KRI!DRESgYK>>YDljR^7bOp?!w@cI3~nDtVX+a& zhvSR#<#Zgue&Vwrn7IbcK{e57!^?H#GM92!`YV?FBX&DY0wUI$%>2Z?G(-WP^y^rP8n`-c%fciHtI2f zqL7YO6x(m?ULyPPWfi*}MhYZu6cebfVQ&(9aBOSYI+2871CuNCUd0~i7;d;KL>JEU zTX<*TiO-6&Z0g<2sAAFN{+@aKlL#`hs*md{a>Lo`SR}FWEhb>LO2DM#Ww%E{BxgPu zHkCaQZzgu4FLBd@=WWxB4sP&&uI^OlEG0-Z9j?^O(!9YtXhaAS<$)O5a~}>8umhvO z1=7Ry1#<#s;zzMwP|7%P0MtROOE|@6reWD(1jJ_02-KzH>VKER2#h`a=kcbanli(jUumA7%yIOzwOH-S`#2b-P)&+fABNjaJ&t387#&=mQOQGCl%# z?q+tCuoF^SqQgg4yn;;~aCHonwUhr3(MUM!pO0-?Q>+9vQJpsOy?HCqBB0kvf3n}6 z!jK>0C#Q0~l3k`*$>&o@zJ~^FAyqH-iO$6`>$@&COl=&~kIwQSRaZZe7IwXa=v>j$ z5p=`(H1#d!OmC=k?Hj1cY;RM)eu_U8^wm z1=ZdwtPRzr+KRnP)oEaFR&b@26iJ9jkTHQu;KD-I8MIC;olWi^OqoI5D5j1NnsNy? zil!Js6NMj9j{A#+=|E;g(D;7?ha1{7T4ew0x60*7XpH77i8mKIVM=V@!E>pc5PqB9 zgO^TYVr&@YUf5Y?PmAC7TubGPUR3!i;ceDKfQUdae2Tl(L@wVFuK1rqm4bZFhF|foT80}i?+m= z@$3~PnZ(Bczeg$FSZp-+-^Q}Ro&087fHm)xc+KL{Z)1#G!;E;F1^6+o%BKmSVR&w0 z!<8L$BMF@rGaP-hKmD{wK&WI?*56#rGN1nTqNB?tMOT*{#hflXHM@7GgaH{jh^9}D zfH_!spYwA$H|hW*)=?h3Ej&Czv-Epeu?hC$ou*gPtFyp4}MP@sz9xCBY;6JUws3?ER%||NL0g*$W9+By z-JsDo=>Q|BX$D- z3h%PlkQ376Q%ru)K%J{WZl&dd5)^55tXYCX<85WmaqSI%`L62av2Jxp&<2~Ggz->s zp-m-t^Ce_Qv<<};9k8%PdLY0##I(3SjQ6+6KlwUF@PKoj#c99;+r3h3u`YP!Y;qS| z$IkpQoy9m%7eNr&$Yp_@K!d7000(>lZ6LI%z2xSEz)aek-OW=-_$c6zBkMt~K1eo< z8wQJ9tO5D4{LDOGX3^47$fk!Mxaq4pE+QO70Jo0Z(;ARtqDDoNMUV2qynr$5(7kqW6o1E>@i(E#9N z@c^56vHx>e0z8N2on=EFwRt(Quyqe1#mq^J70N$xn|b3cQt50R7&+rJfM(LZ48}|y zgqrucqAvmT33K&1HjJhF9C2ppKqtqRcZsWtMBz|Iq8sf%EyqPP5e--XGyZJC2>z^> zgWzwUQ}Flv0ED{87wVc=5J}COiwnsGM}aUS<{C-Zs5VMA23~|PXFPl0M)Q#y%{w=m zcWxvPC69&084Smc7?dW~bKMROve73yfO#1s>IGdfFruETW*Uy#V(MZ(7rjtauPWIGv%y&Ci;>v^5x&@d|xO+xV4c$`{)M60LtN5D0Iez2^G=JtldE|(C7QXxgO(ZXyHPoA5apHJpH z^Idxyl;b%n2IV-shs8#1RIAF&P!Z*rwv^;T?>QwGa*#LzB9T zj#~ypyO-&kM1x^ogh2X@t%wB;!_1MR1Ox91had;DK_~}#3RSgkaYz(KaKRc(rt|Wf z@GlvGS3}Roh8||5$xuAwy9+J0zDq`t{1S1Z22qKC7ysMi)-(G;>7YhjZ z?#_nKfoT42jDt5HNee4MxBZ1 z^E-<~@(5H=gc3vtVglY2Fv6Guc;qD9q*5_Kn|qU(yQw#s6gr!6Lw8fsd!^`b@|ZZ7 zaW{Sb!X}CN+AG+TEv+~wd$@3|3-oO;XkoFTxLJ!Bb7m}Ny6{a{MMQ)-x_~Y5dr3@f zcixj#$x}7UBuuKfRxU1_VXt5=KapiK4`la)n7um(xol)I3b~Y0_`U8U`yYBkjW)aBz%#$9JeL zMS`&ud7`&x%Ll$q5$tyP0P!XBtdNMU9}1;SaeCx(xiZ6hSl)O~%4hJvxA~~kUU`dmg^k;e?;^hBBJB7DhP^-jAN$_Rsw`1Bu**ud3-+&*1+naalY&dKq z_0}nHaWH>e2tsh#&_dcdUPPUk za3f+3O}H*4*orku^Y37k8T4HTZt+}9{Y1V)-9fvK`S8&p_IEbqQt<&s+g(|}or$}9 zt?if!dlBu67(^XT4`^!c2lC8+4Hup6Gjq)*KDaF~mbPf(=&T97?11T3kSA{&J~C#c znh~2xHQhGC{GjxPOm3B}%=BS(bV))$GAm9~G{C}$EDQ$@A`%@mL-d(f#p4Jh;RR4# z^=H3z&}#Jqe}j1sP1GzeSC}vA_hfPeu1mP*QmjLf_>%Z zxGLxNNv@>wm7n0MeeY@ta^kC1c8lk2D^Rg5CJYdH<>lON3+_dKhSwzx&$!(_@{GW> z#E6>a_LAz^qP$h;4_z+1J!?EeS%V1;c2MY<6DDdXzU zXtQ}8nS`nHjp1KUl_7Qi*B(nGLW2(7e~E}}Wkz}s1Ps-^1krSQKYw{Tf#4Xhf)iz~pW2w0`Xr6Wbasx@2zfqNC5_ZZb| zQ&NCCPQC?ED{qIx-Xj}U>K z8+xckga`Sn@$cf{Hw}l;Dz6<5uvP9E4!s4NsU}t6-G{ZWAid33Ux0FiIa&CoMeI?P zke9*+*k|hO6%i8I>(R`FY?Ht!&x^obc@_Ca9h#|t3bzEPj-`&guvgO;w|gPS-8jv` za~~GSSgJA5-I~G1IPO#1Hkqz_U8(8FwHCD+6HzNGAB2msn9>6^Dx*>GDSt2n#Rza{ zQvP6ecgCo|7}$#ZgS2zP3mTS;#?K%aEI{UA{4y{p|L1yM?qmZa-452Tvv%9IKm= zgTXABia9Oo0hqFr+K)O(B#j1AW&>A+#zfc4<{ukSRr`0V1)~PF*3h*bz`M z){~aAZX@||v5E3H#N;@z7jxlG7*p?K#=MH*ac?Nb!B9z zA{d*=bdr2&EVmCL(Bbc<@}6Cv{2>@b!^smwN1n9%-N_$;Pfyr=d4_XLlt1{t>zz-f z5_E|Cy!<`C)sY~d^;?};_<6sT;HN(d9%?NI$O1Rt6m4^DX(m6+)CI{CIb&)YQz2i4 zPaPx%1B#VE-qLj2g-wYu?P0{%C;yv9mtDz-_ot8By}l*5FF)z`40m7htK2L7#Rn6H zAyBaf_`L*m5fUSSJs>!2gsejn)*-C1yeTwc=oa{-+%8^J<(pWn(rTHdrL_jman)^Z zVddu;$ub`E*iBq+X-S}B7$?$*25fNU>irs9L-1<(Xo1jIznZ_fXjPc_H5euKzu>M# zIZYa5Qa(tc<~$1%VM1?{2P+P6nxTWsC}?|F9mypA)$moT^*F0_TIdI0PO@5e*ewgS zFZq6&P~^&1EWm&to2^kSeZy5_cURKH{!~sBTDim7Zniu5{(Xu2IJ}|IgqAxyVBBOt zCJAePW!mU($PZBKX&>=cQ^_=7TD&sdygz+93=!@bMw_sa>JKP2USX^3?4sCU>wrc- zC50s~+XPX|lTv`-^ZzeF@1{&hT%3uXS2oZz~ZN~(YFdOd-yYYUO z`HUuEcDw`0D7((anJ~$IfB*kEb?bJwB-@ZoW1ow}BE@a2qI5s8J!eP1>;|nsYk4nqoW?6hFYyR>=2t z?oNPwf>Is%3~zjTAqe9a9FQS%ffJ#?a}gpe*$I*};|0cL5M+Oiz$oEB_WErJp_O@e z8^$GPBX3IxSk(r51qK4(RRO7yW*2~TTHEDz6G(TFT8e8k5yuW6HxarVn=ng$?H;NF8QUonEG;GtsW&#Wg6~qd8yQ zi%+V-OiC{IrN96KIJ2TuZ1WJYb-cjjjxdw>4Y2=t2^?`i=|?~@$vYMv9P{!<#lcK` zR^w&kuz-gZKR@2@hUgm>RlM!ruQRBIQO{3P(kTz1I z4Q9*sDbikn#Ddva;Js)b1E`HT)EK?3$>8rOpTeb-)KEXn$3pzaGK#4GRp&=Usn?m^ z*FoE_28IN;JLC2%D22h>0R>VQ`sHEmq@&!;EgmiegW*UyGBPMM#E zxL=MbzXG#~i458#Dj7Q06{y zEs{`!a7>mVGSGB0m)JJ%D?~FVMHQh0>dSIRnjlaDfFj1(F4?G=8J*Qxe8ae&Ej566 z5WNuySSYjB^b&l$)4382j_I61`k7Ed2Vu1E_ z_0mkW#X99$c!OknV8H`sA=8CxFVE6yWL*7qCNFzw@PKxWd$ zoiV`mwI8e@qg%X$-G>r2s(wE_Wr##FR9jnvFcu_^Vv}y9Bev2caP>$q_n4Is4;xDW znCrw-6JJ@?n!-<)^RFf2VyABz7MA&B|4q85!#FG(sCA@ z(YC@sI&J9^6L>@|Uv-yOCkHRXQYH&Lqj?ucNa*>f4aG)BbUPH3PwqBq00Pxe z(-;hC0K$$4{Hu0EylwDF1yj!fq^+JfEXQrRSum@_8B17dtLg`xv9U5ZWA7d>w1~W7|x9<9yh$lsjfDTVli0aRvxF;39c4p}&iNHkCU_ z9f{zk=Qh6UjU=%>Bv5Udg`c%)CSj4FZB2Kjd`%8bxGkWf0{Vp8lBDX{kRk*W{y?7n^``@q+TyNfM=vUpK>Q}JS) zQ^iZ=%T{9@3eOr~`q~`Fk^E+&*R?tB#*nW* zD^1@-8a67vh^9yxvNqp@Ij@546r87m7Yai*%XmKD?4yfWIy*<=bv&P>r*IBq%<#+n z;-U*jw>3PxCK7+(v4$bG1O?$0FhqAH(c@|LxS|sz!NU2z!DvSi161dTfYxfHlf=K# z_ijE-&!9LlqsiPxwl448sAm@&4o->(sUsF?yp}=oUi_k)`%A14?#s7@c^WXu31&+C zSEF4EG_2M0Ih9Sorplh43NE&sqApVPje?V`k98gf%kE}zcl?=baYr%%A@M)DZlCuA zrmn}+ikJZ-6-T?{A|Ga!zsQEEWM*4vOq4pVshnggd4;LWH0D68Hexhf!FIa_yFIs0 z^fvvizq;hO8HJ5ZzLq@aq>F#Nw#%VQw2@}td zBU0G>FUAa3(;O*Iw;<~}Qf$XsSw!ey-C6bAM9%0N zNN-_^O@iV3G6~7ZwgQqZGhqTto0fzO*oiM0Rhjit|HvV2RCDc6?W0QL?dDFFaYNQ0OD5XONum3*tq@Al2Nb$T zTZLL(&h-tP%3Zt)B)TX`K?t0J6Tv^uzV3b1iFu@SqF4T;9&pqs=aVYN=;@J>CdOK7 z|5_nxs|qL7<{O8KF%w7twHOl%ZHvKp@X(yN=O`*6HtF@|7C03!5E~UJv3VB_hfJj!IgdoAi zLZd{~V700+DKCS7{0^G8rDnwud)60QjkF|&3FN7`J$-?0$)TTxnyV@3QKTYaF!TtX6Z#@2 zx4KO=gui84{!fu(Rh)tKYT4ko^=hp8O(ai(zl1nukMaj<>`z6A_@dxOGeVJ8ARX(3 z7E{0vMKaocISa-2Z`2PP9ev|#9|XW;I7@s@s5M)`)z?vt)D|`Q9C%Q)qUxTwMp_Go z@ZoK&KH*_&pKa@eKKaq{FEt#1mY|!Um{?D3JA?PM#nS*WfzhVez=&JLz$jeN7{v3Y z4FV_~4uSDJW%0!!fYy^L#?g_-*p*_26^$fz#TlJg4IOj*!+dj6I;fZt1}=#^44KSU zVinVN4inTZ+|yPO6fY9*G_8)7mh5ISLO|j4K++&5OtQLgUuFRl?e|9gwt;vR){`2- znSN(oNm6y(JIYAHnCMU#6JU$I9O_%>FAarWqGM@kLS3>^qh`e}*>5y0btybw(3i5| zJpe$VVt^Lz0Ay$adI};UP|m@S|H0y68_qOQevF&O>pi1sTU_J7xcS*5SID*Q%Y28Z z*d}aTdMESG7(C$8%OVli%M52BmCE zbgD$$$LRkCVZLjT_BS2~j}B^0VPNnue1mmw4?MQ_qX^^K7^~;KhoWpa-d$^mz208t zEZxfFLk`f;XjLX`y_pNHvYWV|mfgSw4)8`U`1tp7!REjf&e7mD-|ICpt4_0T094wb z0i?>`S2LTE%_6O4`6X*~v%LZ0S=qmiWppl<{V%c1QQF?abxsXmMe2E2u)z!9u#|R5 z@`VB1j&Q4P?g`Lj>b$qTz2bltW<-8z7-mki3@R(?5x@8kGy$=EZVrq~m;3yl*2vu> zgr#S9HH;KlYc#uAX#Cv&tK>ady>>4x@1K38c{6GTQ8cO_hQC6 z@4ILvJ1#Rakm%cPcT(23m=KZ1J#Ba6+?iTX2vEioS)Go;Qi&IAYVk@DcGl1|_RZ|W za1-`E)hNIIfqArMe{31P_ggrzuNVVnvv!{X{`(bw%*q|F>XpTrD;mmN@eP)K{Ecnd zF)afTX31XyT6%Ak-8|3iUE3`vI@sFBAo{XakJ~X}np7_)k09&d`c!WyWPI=p(_M!H z=ozmq8+wKXuQc#_#%qI&m1>HSE4R0v@tVRjz0P?XF8jJ0<-HaQD|E6!KMtB5q#s&y z`!@IU>MAj$Von(@Ota?c^Rg<($MPy|=F0rEK?^hqPg+qGd>fFgq84unP5pT4Egn=d z_HaMnyeNAbM*cMOgQjsI7?T!LfS=VK3(B;iAjNErkysd7G11m2CoV};i(cscP&7&U z`p}~D2PVl`lyNA=kV%5wp-kCBCdt{9jhjh=ag|__U~MJCCdoMza!B`fE~DFIl;mR< zCFjwJfOR2R%Bip}W=pAI9d#JKA=5AOjM?BJXDg*7Hsrv(O5GAEY&W7%VNkc^(AlU! zD2gg&umM(SMvP#xfCm(HRdhyVY7$;S|J%s)7)|NrX>M(ot*Lb`a@j17dMLyg;m*}M zc6`F`F^s>N)?cEv!>?@V$M)%U=+k)LOiMzee<}bc(Z~QGJs#D z>jNLt^#vT)>lHuefFMml0ED)_oM8Bv7aG2D@Hqn_vS_K{%R})zhR;fq=qDq|4ZRsm zl~12It9vj8hKBa}oS?5^s%m}xu1*zwC9urbAmE%Pp7Q~tQvsNIT9Ca^%I4(rXx*RI zls7J5>Mu=?*!?DWHoBtf!pW{Z3BiH-XV3#*ecE(&=ZTO*Y^&l^;+3@I<&H`Sc5CDa zjT|#pzp1fTOiQvsdglw^Q(ra7Cby}Ws|6uahs7f@$5OwY&4c5Sl?&agcEzqyO}t~S z0l6T$fHp5p#fM##7=O;XN@f1r@KnoLY_%UXp`&_+yFE|0=fq$+*ykZ#TO24G1UFTpHoTUo~AI++c(Y5UwBhSu<2exu*m{(_R9~32%Q1B#V0+8s#jNqI3uc ze!Vr|&s6Xf0l%|CERgP9x`K4?)RhW_bnnsql+EfpxK;P~OMUrR?^Y&=C{9ThkVqS6 zM8kIbSc>Ra)m_#(tu|`|BKqgeCY(ixTd4D=oV5X)sAz7%oW=4J&KNK&|1H!uU=m_Z zSe8r9m+=_p>&qft=Ial14fFNKy7&2dRJDG`dNp+{rBQ=Q(x@LZ+|wIueB(ag2h5?a zQ7`9#K(gIYa5gjdhtaQ!S^HO4h55WuX<1PT7rp2iuMHBv>pQ8~;n_60M})F{Clxz9 zoe0=QdZT;YpaI7gYE4|Br`h(=zPb82 z9Z==A0IVxm5 z!#aa=mn~tf!GCQJ>kR=<)O%^+T7)=eY8OKe3_Zw|ijjvdIZP^B+^aV8F=cgcG*N4yW}L(%ihn6cx%{eID>A0$?0JBDpLtSg4aDbtAbqp+^_z19*{oB0nD3L>sYizzfy*%& zbk_?NuIsFHAoi_N;^PJusU5zC)g)f)t`}LIYDOx_44%&Y^pO=3{s)Afu`ZLpnfp0| zobo!eMbYosD8V*Gzh|)9virH$RPmSb5VSPT9pK|H^G{xZ-fa?r^Ns#G^6*4erZNZl z7RCaGam*JQel+u79>;KBM1%4HnR>=l^m^}V-kxokwIF)?wppV6Q3>brUMugD8kCtu zk$aMrbbIizmUflXH?CyO@a>);6>`Bkfft2I|5ML5LiV~Vsi2*k2iA;4`eKAncf(6I znBEWZApnPCD7J?G9ny_E z>{ejpT8K+GunvVp(k(+gpjb*9o{|M~hQdt!n2KZOGQjK6D4+CO;XB)}oB|B>FQi`f zgJ3M3OnU8S*9c5r4zA+s(dS{=Y-dE-0du|n!)AIO-=ar`NJhQo%_E_l*=%RoMhZo;^jVjGM!Eo$Ph4&{qk(^;*ai&MfLBZqC? z%03ZGPvg`S80l$D2jmb9Rh7a*ms1Mmgi^3icfu}XtkfDUZu#;pY+K2Qgyds;EM^jhX#k~UWW{Z`0k`c0su}fFu1*x&Ad3Icw($msPVvnEh3}Us+!0FypYQ2(y(Av-J)$Fvg~k zh1;B}Pgg%b9`@sE24J?1%q}1dT$^KA4P5a317MSJCa!XP8`uCC6##Eb4+)sw+myn> ze)wkpv>WpgdC^YG6|8oN{$_liBYvK?A9$urB-Af7A>4yFnZVMC0CEW%J$dxB02p0~*pKuqk;*~}S} zlI#%!Fly7ixp{lHYj7?a)_Ve$2pGe7#(@`cFx~BzGk=M0>)+>{b&M z;wWVFm3#CNp04zd=s%1NX9K)Mi@(;Yle|jdDDu$M<+OP!*mkavkBDkPYVV~mm*r{# zOIB}I7M0kU@>I93N*hBoyUGU4EUGOgDpna4?&VcJEMo`h*P8C-E+$a1v%N`joi#Xt)}A|Gi`UPgQse8E(k z%>tCgyO@mFz_M-0M|o4u>R;70xWhhV_ZQ$myEI*lMI)q-9GV?1VV)tnS}z8S(08)a zN(mf*BN^P`h6d130ysMtwo!h|b8Z-0`9|gh%E!2KVCmXom9RJoaTQa{)Rd)1nqn^+ z0k0uF5>6aKhU<%^`1bX@9d@1aX+#dK*YmP#6h}ajpp8GQ39?eH8y;ocdUA-X6oNUy zfz+xGgmP0Xm{XEiz^81K&Q7H9Tb?cffOBy{%G0?800apYQ#w&XB6pcidn2;if{%`z z^ehFIC;YWj#VnPvzOCT{vKCwY7y8xG@HG?){a!FKUq&)qqM$j200z(A7Ze`Fnh5Z& z*hB?Mk$K&r2dKV)9LzSROuv2J1osiOXx7)4=7`8mg55I}0f2jdC)5U)`+(%DiFn6@B;PP_(_P!p@$uSl;j|CDi| zuj!}hF!of-x5f?a*MH#GNT8mU__+FCTWEp}M9YGvS$2YP2n9u@oZWU`o*lk-Mv?u! zb$KVB=-ti>ScXO>mLPV@*K{mM34c6I;OuO1hM^^@lnYeg%(@9^#lip||GQs)1aX4X z*_)9j>ENk>)WJZxTc(u=QMoBVDj(<)0>?b=I=9T+VnYE!^H(Eb<}~9Bt3Gos2&zR( z_}f5$=^3owrvynhoKJtx0SFB5x*b2)s6b50MzzN(8f{_VK zL3r5B@QkE0ZieH!qT8B|3s!3U>Q3Fw@N)H5h3;{97H$UOV;!qCqYK>(46~+_Skf6A z`;hv=cXBiMgPOMU_y-j0`CPpXbIj(PM#>VqJPg6xKsdw_-iA+@b}?J^(&$l$11JaH zAJ$h*W?^r*%qssV@zsDRwyrX%MVsdBNPaDF@5ez|smDU=aHbVd;+`gge}j2Lg)x5~ zI?hi!7VN>pAx7co{g2_{7zq&t10M%w`iXrU5QQn$A_TA!41v8Y@^Yll$IGE)4V4~W zb>X?`@grhUhCePIxEDQ`HXQDw9`AGlKN{BK6hZ>eh4D2#zPCt^Cl~!dk4KzBivQj9 zcmcsx0PC*n3ID$y4{JiJdp3If0xUYE9*-P=5Rt%$!s~*9zD_z_2G>E0*HX8$_7Kx; z`ZBUi`m)sOgNhB7EH|s06CzFdH&x~TquM_zf@R8Ok3GX&$%s+Zlnuc&x{*qw8=UZ^ zgV37IW|E~W0$Soq3#^t`OW`&akl`mxp*|}B+rmlw)?!R}h+amxM9M=8weeefkB9W5 z`Y7Qxd_=sbl;I{9v=GU+10#wZe0Rpd0}F!wOC2>~(b{ZuGT+yMUns>Bu$DF@KNs(( z$}{l{@t)k0sZ#dH7M7iBr$d1^GAeSuQYtD=5|Zl#=RlQqRBnG_t{ee4rN>kJGHrz40;EW2(>KAniz}Gf4uNVyq1*SPe6Zx;jDkKBw-< zF?#Cm@zQtJr4hUVnVfzjcjnm-GiOQpf4u(@pwGlG*`>}vf+m#HoGwdySrVdu^z6G# zYbWjW4Q|XY1Sf}YX?vFt3m>))hE->t@(l{y3cj{kO2_ljRV@f0JXui4!DBz|Q~1a4 zk??yasr_IXIZt~#)jJkg^k+4;pF9Uf6DU2hak=PE?~XgzcGR?bJSHE^2_b+7Cjj zOV97K9$6d}S8Mv(!o5eVH+UQ9d=3<0@9K&5;)h!L!z#WDG3vnv) z#NZ!6I}ln>uuZ^HfaM#yq^X+@FL}GpYbV8PiM1AS2)u`K#80VSE9vaf>M)897=RZP&!ReTFGg$^pTSxmn4?o6|Y;^N0Ln}Ij7IJ zmn&Ruu5h^-dr7pndb!HyauuCixo|H3c&K;Z~Pt=<~Q*RVB{vBf4iF?v;u*gD~`D9vPoFzHO>FnS_ zjZy)Fr7x%|{l=n7+d3~p{-rS&mHr#&5=j^Y zG5?JyC4qwd)`hIzMS%V2ZRWB0o z4AKr|)ECPT)>ZCU{P)G*k`Pz>lDb7pWyg8@1NDDxZWR6q_IPTcg>jzDj-PO-+T$x#b zSk4aL?~5x0m02Td-bxtAl<)fGB4V2I&qX?6*DpJHjas!HcwRoGEL6+1!&e7Tjzt`Y zE1s5f5UyZO9|#5*Q%8J{FDE6jq(hV;;~Fc8L*UFL<=FJx$IA+iTW^<#9CC5MvFlb2 z^x}wz%59`R@e|px!=e39n(F8|ual*3Z{3N)7!!(VD0J9bA?j!- z^m$OB5|8YWEw(LtITykoui^rvF6UL?2I{FthsYs;wPvUvH`n?v8`|TH-CMUw{BNwf zv^OQJ4MCyp@@H9eXe8397NFF zI5`%xbY*?j(E!9``aC*8?j^S?d+GAv0D@)s68bFbf3}uB8}}-=%j4O;K-h|42z6^1 zK!XrayAt|oy|8Aybs~oC5e#?=T#0$0Ko#!-Cufk^Nyndz>0A?Fx}UTrVsr$1Io&w~ zt&B5Kyv(Q1$~ZJ7(x;F`pjAG{Y4CDDX*L~D#!@6jacz!1ShEldHwRoHTj zwbr{cV+_;TfVJ{ESx>(XwnsVbUpjI3#n!}G2w|1*qYC3JfyObb#sv5*h-ZC-oM=%B zj6*4sSa(L>TCWvjjkIqxg47sD36_Sdgnwi|wV-u~{qG*3;W>DfW&+x59MS~%{%PwY z6;qF!tq5bIN&<-0nwz!tLSXA=Zzx1R_%8f(_Vo>@p}fTy3&xKUFXRQ7S~B zn0Pf3^)`meO&HjiD=8VLcfYN~z(cFP=zJdaM~sP7gW*<}{VW!=6ZzFCo{gqAgu= zsnGkQsfW0FuY)Xg&a5VEoAO+kZYV`Z0hH2mG{I1}a!Q47zRt(Y-)R=m5k5ld+DFJN z`-tE6(RBRi--$#m&dZWU8i`c1U`ZvdsG2NGI$0wmCV^>?T>v^&rufpfzr{#miAvYw zU80i&ZKi8FyWDL6O0fee?Hl=PUm2%$qT-;#%yNfHN8o9PP-V*O=#Zhn)G@}w^CXxA ze4uuuDgY$T8L_}r(=CHBBHhw76CeleJOfy8~+(3toR?{kddakwkhT`a|Pd1#h z3Qe_#j!VH<*ObtE&K9;$N*OO20U^F)Jd-Jtmiy^?sxx`)d-qy<<^Gk{^#g<_j=yEB ze|Ph)Ye?R?-A-J{?wXPxWxi?Ips=a5*v3!}umwQNxbM}Kq3o}ima%LyI%sDC`rReT zRa_n;a7K%{D%nO#5PT{y?$5A8uRQjYjMyXG@`G8jOd`4`p^9x5wFE=_W?x-zqtd_L zp#2Ba*&CrEF04+KEnA!69fYN_ASSMjFyIukqMUv7Uw>1F+2C2cH~vr6GXaeR zO(lMP)XmtlrLOdkM5F?ebE8seQR0glN|VH)=DIRy_os_j}|<*E%@k8@qYl{sWv zMN`4Mg_6~OfvZy0ALYv7iA=*ZIbK5BT!o1?i$r~ru6}9|Yf4b4?dd0FOi!fBIi=;3 z9(7L2ah0t1<5bV^<5bVgSEz79zEYRm^3D{6<;5=gmNQ*vSNd@KXDPK|Y8&@;@LvSq ziLMaH`0oBjy_lzy6Uk_^m9@u4CK}@~lQC7(Kf6rHWzdmg8h$6cyW{oWg!qmt#5X?Y z?65H%=p27H6atKtjlWs87?oNQf2016D62>OP3{DtO!a$&wFD(SiO<23hU9eoJ;5@F zOquw540U>e09cceW^NOv5_6Z0}^i4CriWYoi(pXAA6PkPPDNa qx)x<6XXF<$ImXu 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
|aI|^q=8!gzuo>0n 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ⅈn`dl*W)XMiV%bXb*|~Qtf)fTMI^zWCfbFefx0@ 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 b-!Gm%bPuA8Da7=Je~3%kM{M_q>)-SL^|Jiw diff --git a/substrate/srml/finality-tracker/Cargo.toml b/substrate/srml/finality-tracker/Cargo.toml new file mode 100644 index 0000000000..246d48d01c --- /dev/null +++ b/substrate/srml/finality-tracker/Cargo.toml @@ -0,0 +1,38 @@ +[package] +name = "srml-finality-tracker" +version = "0.1.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +hex-literal = "0.1.0" +serde = { version = "1.0", default-features = false } +serde_derive = { version = "1.0", optional = true } +parity-codec = { version = "3.0", default-features = false } +parity-codec-derive = { version = "3.0", default-features = false } +substrate-inherents = { path = "../../core/inherents", default-features = false } +sr-std = { path = "../../core/sr-std", default-features = false } +sr-primitives = { path = "../../core/sr-primitives", default-features = false } +srml-support = { path = "../support", default-features = false } +srml-system = { path = "../system", default-features = false } +srml-session = { path = "../session", default-features = false } + +[dev-dependencies] +substrate-primitives = { path = "../../core/primitives", default-features = false } +sr-io = { path = "../../core/sr-io", default-features = false } +lazy_static = "1.0" +parking_lot = "0.7" + +[features] +default = ["std"] +std = [ + "serde/std", + "serde_derive", + "parity-codec/std", + "sr-std/std", + "srml-support/std", + "sr-primitives/std", + "srml-system/std", + "srml-session/std", + "substrate-inherents/std", +] diff --git a/substrate/srml/finality-tracker/src/lib.rs b/substrate/srml/finality-tracker/src/lib.rs new file mode 100644 index 0000000000..43e95912cf --- /dev/null +++ b/substrate/srml/finality-tracker/src/lib.rs @@ -0,0 +1,385 @@ +// Copyright 2019 Parity Technologies (UK) Ltd. +// This file is part of Substrate. + +// Substrate is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Substrate is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Substrate. If not, see . + +//! SRML module that tracks the last finalized block, as perceived by block authors. + +#![cfg_attr(not(feature = "std"), no_std)] + +#[macro_use] +extern crate srml_support; + +use substrate_inherents::{ + RuntimeString, InherentIdentifier, ProvideInherent, + InherentData, MakeFatalError, +}; +use srml_support::StorageValue; +use sr_primitives::traits::{As, One, Zero}; +use sr_std::{prelude::*, result, cmp, vec}; +use parity_codec::Decode; +use srml_system::{ensure_inherent, Trait as SystemTrait}; + +#[cfg(feature = "std")] +use parity_codec::Encode; + +const DEFAULT_WINDOW_SIZE: u64 = 101; +const DEFAULT_DELAY: u64 = 1000; + +/// The identifier for the `finalnum` inherent. +pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"finalnum"; + +/// Auxiliary trait to extract finalized inherent data. +pub trait FinalizedInherentData { + /// Get finalized inherent data. + fn finalized_number(&self) -> Result; +} + +impl FinalizedInherentData for InherentData { + fn finalized_number(&self) -> Result { + self.get_data(&INHERENT_IDENTIFIER) + .and_then(|r| r.ok_or_else(|| "Finalized number inherent data not found".into())) + } +} + +/// Provider for inherent data. +#[cfg(feature = "std")] +pub struct InherentDataProvider { + inner: F, + _marker: std::marker::PhantomData, +} + +#[cfg(feature = "std")] +impl InherentDataProvider { + pub fn new(final_oracle: F) -> Self { + InherentDataProvider { inner: final_oracle, _marker: Default::default() } + } +} + +#[cfg(feature = "std")] +impl substrate_inherents::ProvideInherentData for InherentDataProvider + where F: Fn() -> Result +{ + fn inherent_identifier(&self) -> &'static InherentIdentifier { + &INHERENT_IDENTIFIER + } + + fn provide_inherent_data(&self, inherent_data: &mut InherentData) -> Result<(), RuntimeString> { + (self.inner)() + .and_then(|n| inherent_data.put_data(INHERENT_IDENTIFIER, &n)) + } + + fn error_to_string(&self, _error: &[u8]) -> Option { + Some(format!("no further information")) + } +} + + +pub trait Trait: SystemTrait { + /// Something which can be notified when the timestamp is set. Set this to `()` if not needed. + type OnFinalizationStalled: OnFinalizationStalled; +} + +decl_storage! { + trait Store for Module as Timestamp { + /// Recent hints. + RecentHints get(recent_hints) build(|_| vec![T::BlockNumber::zero()]): Vec; + /// Ordered recent hints. + OrderedHints get(ordered_hints) build(|_| vec![T::BlockNumber::zero()]): Vec; + /// The median. + Median get(median) build(|_| T::BlockNumber::zero()): T::BlockNumber; + /// The number of recent samples to keep from this chain. Default is n-100 + pub WindowSize get(window_size) config(window_size): T::BlockNumber = T::BlockNumber::sa(DEFAULT_WINDOW_SIZE); + /// The delay after which point things become suspicious. + pub ReportLatency get(report_latency) config(report_latency): T::BlockNumber = T::BlockNumber::sa(DEFAULT_DELAY); + + /// Final hint to apply in the block. `None` means "same as parent". + Update: Option; + + // when initialized through config this is set in the beginning. + Initialized get(initialized) build(|_| false): bool; + } +} + +decl_module! { + pub struct Module for enum Call where origin: T::Origin { + /// Hint that the author of this block thinks the best finalized + /// block is the given number. + fn final_hint(origin, #[compact] hint: T::BlockNumber) { + ensure_inherent(origin)?; + assert!(!::Update::exists(), "Final hint must be updated only once in the block"); + assert!( + srml_system::Module::::block_number() >= hint, + "Finalized height above block number", + ); + ::Update::put(hint); + } + + fn on_finalise() { + Self::update_hint(::Update::take()) + } + } +} + +impl Module { + fn update_hint(hint: Option) { + if !Self::initialized() { + ::RecentHints::put(vec![T::BlockNumber::zero()]); + ::OrderedHints::put(vec![T::BlockNumber::zero()]); + ::Median::put(T::BlockNumber::zero()); + + ::Initialized::put(true); + } + + let mut recent = Self::recent_hints(); + let mut ordered = Self::ordered_hints(); + let window_size = cmp::max(T::BlockNumber::one(), Self::window_size()); + + let hint = hint.unwrap_or_else(|| recent.last() + .expect("always at least one recent sample; qed").clone() + ); + + // prune off the front of the list -- typically 1 except for when + // the sample size has just been shrunk. + { + // take into account the item we haven't pushed yet. + let to_prune = (recent.len() + 1).saturating_sub(window_size.as_() as usize); + + for drained in recent.drain(..to_prune) { + let idx = ordered.binary_search(&drained) + .expect("recent and ordered contain the same items; qed"); + + ordered.remove(idx); + } + } + + // find the position in the ordered list where the new item goes. + let ordered_idx = ordered.binary_search(&hint) + .unwrap_or_else(|idx| idx); + + ordered.insert(ordered_idx, hint); + recent.push(hint); + + let two = T::BlockNumber::one() + T::BlockNumber::one(); + + let median = { + let len = ordered.len(); + assert!(len > 0, "pruning dictated by window_size which is always saturated at 1; qed"); + + if len % 2 == 0 { + let a = ordered[len / 2]; + let b = ordered[(len / 2) - 1]; + + // compute average. + (a + b) / two + } else { + ordered[len / 2] + } + }; + + let our_window_size = recent.len(); + + ::RecentHints::put(recent); + ::OrderedHints::put(ordered); + ::Median::put(median); + + if T::BlockNumber::sa(our_window_size as u64) == window_size { + let now = srml_system::Module::::block_number(); + let latency = Self::report_latency(); + + // the delay is the latency plus half the window size. + let delay = latency + (window_size / two); + // median may be at most n - delay + if median + delay <= now { + T::OnFinalizationStalled::on_stalled(window_size - T::BlockNumber::one()); + } + } + } +} + +/// Called when finalization stalled at a given number. +pub trait OnFinalizationStalled { + /// The parameter here is how many more blocks to wait before applying + /// changes triggered by finality stalling. + fn on_stalled(further_wait: N); +} + +macro_rules! impl_on_stalled { + () => ( + impl OnFinalizationStalled for () { + fn on_stalled(_: N) {} + } + ); + + ( $($t:ident)* ) => { + impl),*> OnFinalizationStalled for ($($t,)*) { + fn on_stalled(further_wait: NUM) { + $($t::on_stalled(further_wait.clone());)* + } + } + } +} + +for_each_tuple!(impl_on_stalled); + +impl ProvideInherent for Module { + type Call = Call; + type Error = MakeFatalError<()>; + const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER; + + fn create_inherent(data: &InherentData) -> Option { + let final_num = + data.finalized_number().expect("Gets and decodes final number inherent data"); + + // make hint only when not same as last to avoid bloat. + Self::recent_hints().last().and_then(|last| if last == &final_num { + None + } else { + Some(Call::final_hint(final_num)) + }) + } + + fn check_inherent(_call: &Self::Call, _data: &InherentData) -> result::Result<(), Self::Error> { + Ok(()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + use sr_io::{with_externalities, TestExternalities}; + use substrate_primitives::H256; + use sr_primitives::BuildStorage; + use sr_primitives::traits::{BlakeTwo256, IdentityLookup, OnFinalise, Header as HeaderT}; + use sr_primitives::testing::{Digest, DigestItem, Header}; + use srml_support::impl_outer_origin; + use srml_system as system; + use lazy_static::lazy_static; + use parking_lot::Mutex; + + #[derive(Clone, PartialEq, Debug)] + pub struct StallEvent { + at: u64, + further_wait: u64, + } + + macro_rules! make_test_context { + () => { + #[derive(Clone, Eq, PartialEq)] + pub struct Test; + + impl_outer_origin! { + pub enum Origin for Test {} + } + + impl system::Trait for Test { + type Origin = Origin; + type Index = u64; + type BlockNumber = u64; + type Hash = H256; + type Hashing = BlakeTwo256; + type Digest = Digest; + type AccountId = u64; + type Lookup = IdentityLookup; + type Header = Header; + type Event = (); + type Log = DigestItem; + } + + type System = system::Module; + + lazy_static! { + static ref NOTIFICATIONS: Mutex> = Mutex::new(Vec::new()); + } + + pub struct StallTracker; + impl OnFinalizationStalled for StallTracker { + fn on_stalled(further_wait: u64) { + let now = System::block_number(); + NOTIFICATIONS.lock().push(StallEvent { at: now, further_wait }); + } + } + + impl Trait for Test { + type OnFinalizationStalled = StallTracker; + } + + type FinalityTracker = Module; + } + } + + #[test] + fn median_works() { + make_test_context!(); + let t = system::GenesisConfig::::default().build_storage().unwrap().0; + + with_externalities(&mut TestExternalities::new(t), || { + FinalityTracker::update_hint(Some(500)); + assert_eq!(FinalityTracker::median(), 250); + assert!(NOTIFICATIONS.lock().is_empty()); + }); + } + + #[test] + fn notifies_when_stalled() { + make_test_context!(); + let mut t = system::GenesisConfig::::default().build_storage().unwrap().0; + t.extend(GenesisConfig:: { + window_size: 11, + report_latency: 100 + }.build_storage().unwrap().0); + + with_externalities(&mut TestExternalities::new(t), || { + let mut parent_hash = System::parent_hash(); + for i in 2..106 { + System::initialise(&i, &parent_hash, &Default::default()); + FinalityTracker::on_finalise(i); + let hdr = System::finalise(); + parent_hash = hdr.hash(); + } + + assert_eq!( + NOTIFICATIONS.lock().to_vec(), + vec![StallEvent { at: 105, further_wait: 10 }] + ) + }); + } + + #[test] + fn recent_notifications_prevent_stalling() { + make_test_context!(); + let mut t = system::GenesisConfig::::default().build_storage().unwrap().0; + t.extend(GenesisConfig:: { + window_size: 11, + report_latency: 100 + }.build_storage().unwrap().0); + + with_externalities(&mut TestExternalities::new(t), || { + let mut parent_hash = System::parent_hash(); + for i in 2..106 { + System::initialise(&i, &parent_hash, &Default::default()); + assert_ok!(FinalityTracker::dispatch( + Call::final_hint(i-1), + Origin::INHERENT, + )); + FinalityTracker::on_finalise(i); + let hdr = System::finalise(); + parent_hash = hdr.hash(); + } + + assert!(NOTIFICATIONS.lock().is_empty()); + }); + } +} diff --git a/substrate/srml/grandpa/Cargo.toml b/substrate/srml/grandpa/Cargo.toml index c9faeadb5b..e7a1b70105 100644 --- a/substrate/srml/grandpa/Cargo.toml +++ b/substrate/srml/grandpa/Cargo.toml @@ -16,6 +16,7 @@ primitives = { package = "sr-primitives", path = "../../core/sr-primitives", def srml-support = { path = "../support", default-features = false } system = { package = "srml-system", path = "../system", default-features = false } session = { package = "srml-session", path = "../session", default-features = false } +finality-tracker = { package = "srml-finality-tracker", path = "../finality-tracker", default-features = false } [dev-dependencies] runtime_io = { package = "sr-io", path = "../../core/sr-io" } @@ -33,4 +34,5 @@ std = [ "primitives/std", "system/std", "session/std", + "finality-tracker/std", ] diff --git a/substrate/srml/grandpa/src/lib.rs b/substrate/srml/grandpa/src/lib.rs index 16e73540d6..f06c84e235 100644 --- a/substrate/srml/grandpa/src/lib.rs +++ b/substrate/srml/grandpa/src/lib.rs @@ -64,6 +64,8 @@ pub type Log = RawLog< pub trait GrandpaChangeSignal { /// Try to cast the log entry as a contained signal. fn as_signal(&self) -> Option>; + /// Try to cast the log entry as a contained forced signal. + fn as_forced_signal(&self) -> Option<(N, ScheduledChange)>; } /// A logs in this module. @@ -71,15 +73,28 @@ pub trait GrandpaChangeSignal { #[derive(Encode, Decode, PartialEq, Eq, Clone)] pub enum RawLog { /// Authorities set change has been signalled. Contains the new set of authorities - /// and the delay in blocks before applying. + /// and the delay in blocks _to finalize_ before applying. AuthoritiesChangeSignal(N, Vec<(SessionKey, u64)>), + /// A forced authorities set change. Contains in this order: the median last + /// finalized block when the change was signaled, the delay in blocks _to import_ + /// before applying and the new set of authorities. + ForcedAuthoritiesChangeSignal(N, N, Vec<(SessionKey, u64)>), } impl RawLog { /// Try to cast the log entry as a contained signal. pub fn as_signal(&self) -> Option<(N, &[(SessionKey, u64)])> { match *self { - RawLog::AuthoritiesChangeSignal(ref n, ref signal) => Some((n.clone(), signal)), + RawLog::AuthoritiesChangeSignal(ref delay, ref signal) => Some((delay.clone(), signal)), + RawLog::ForcedAuthoritiesChangeSignal(_, _, _) => None, + } + } + + /// Try to cast the log entry as a contained forced signal. + pub fn as_forced_signal(&self) -> Option<(N, N, &[(SessionKey, u64)])> { + match *self { + RawLog::ForcedAuthoritiesChangeSignal(ref median, ref delay, ref signal) => Some((median.clone(), delay.clone(), signal)), + RawLog::AuthoritiesChangeSignal(_, _) => None, } } } @@ -96,6 +111,16 @@ impl GrandpaChangeSignal for RawLog .collect(), }) } + + fn as_forced_signal(&self) -> Option<(N, ScheduledChange)> { + RawLog::as_forced_signal(self).map(|(median, delay, next_authorities)| (median, ScheduledChange { + delay, + next_authorities: next_authorities.iter() + .cloned() + .map(|(k, w)| (k.into(), w)) + .collect(), + })) + } } pub trait Trait: system::Trait { @@ -109,8 +134,21 @@ pub trait Trait: system::Trait { type Event: From> + Into<::Event>; } -/// A stored pending change. +/// A stored pending change, old format. +// TODO: remove shim +// https://github.com/paritytech/substrate/issues/1614 #[derive(Encode, Decode)] +pub struct OldStoredPendingChange { + /// The block number this was scheduled at. + pub scheduled_at: N, + /// The delay in blocks until it will be applied. + pub delay: N, + /// The next authority set. + pub next_authorities: Vec<(SessionKey, u64)>, +} + +/// A stored pending change. +#[derive(Encode)] pub struct StoredPendingChange { /// The block number this was scheduled at. pub scheduled_at: N, @@ -118,6 +156,23 @@ pub struct StoredPendingChange { pub delay: N, /// The next authority set. pub next_authorities: Vec<(SessionKey, u64)>, + /// If defined it means the change was forced and the given block number + /// indicates the median last finalized block when the change was signaled. + pub forced: Option, +} + +impl Decode for StoredPendingChange { + fn decode(value: &mut I) -> Option { + let old = OldStoredPendingChange::decode(value)?; + let forced = >::decode(value).unwrap_or(None); + + Some(StoredPendingChange { + scheduled_at: old.scheduled_at, + delay: old.delay, + next_authorities: old.next_authorities, + forced, + }) + } } /// GRANDPA events. @@ -132,6 +187,8 @@ decl_storage! { trait Store for Module as GrandpaFinality { // Pending change: (signalled at, scheduled change). PendingChange get(pending_change): Option>; + // next block number where we can force a change. + NextForced get(next_forced): Option; } add_extra_genesis { config(authorities): Vec<(T::SessionKey, u64)>; @@ -167,10 +224,18 @@ decl_module! { fn on_finalise(block_number: T::BlockNumber) { if let Some(pending_change) = >::get() { if block_number == pending_change.scheduled_at { - Self::deposit_log(RawLog::AuthoritiesChangeSignal( - pending_change.delay, - pending_change.next_authorities.clone(), - )); + if let Some(median) = pending_change.forced { + Self::deposit_log(RawLog::ForcedAuthoritiesChangeSignal( + median, + pending_change.delay, + pending_change.next_authorities.clone(), + )); + } else { + Self::deposit_log(RawLog::AuthoritiesChangeSignal( + pending_change.delay, + pending_change.next_authorities.clone(), + )); + } } if block_number == pending_change.scheduled_at + pending_change.delay { @@ -197,18 +262,39 @@ impl Module { /// `in_blocks` after the current block. This value may be 0, in which /// case the change is applied at the end of the current block. /// + /// If the `forced` parameter is defined, this indicates that the current + /// set has been synchronously determined to be offline and that after + /// `in_blocks` the given change should be applied. The given block number + /// indicates the median last finalized block number and it should be used + /// as the canon block when starting the new grandpa voter. + /// /// No change should be signalled while any change is pending. Returns /// an error if a change is already pending. pub fn schedule_change( next_authorities: Vec<(T::SessionKey, u64)>, in_blocks: T::BlockNumber, + forced: Option, ) -> Result { + use primitives::traits::As; + if Self::pending_change().is_none() { let scheduled_at = system::ChainContext::::default().current_height(); + + if let Some(_) = forced { + if Self::next_forced().map_or(false, |next| next > scheduled_at) { + return Err("Cannot signal forced change so soon after last."); + } + + // only allow the next forced change when twice the window has passed since + // this one. + >::put(scheduled_at + in_blocks * T::BlockNumber::sa(2)); + } + >::put(StoredPendingChange { delay: in_blocks, scheduled_at, next_authorities, + forced, }); Ok(()) @@ -224,12 +310,19 @@ impl Module { } impl Module where Ed25519AuthorityId: core::convert::From<::SessionKey> { - /// See if the digest contains any scheduled change. + /// See if the digest contains any standard scheduled change. pub fn scrape_digest_change(log: &Log) -> Option> { as GrandpaChangeSignal>::as_signal(log) } + + /// See if the digest contains any forced scheduled change. + pub fn scrape_digest_forced_change(log: &Log) + -> Option<(T::BlockNumber, ScheduledChange)> + { + as GrandpaChangeSignal>::as_forced_signal(log) + } } /// Helper for authorities being synchronized with the general session authorities. @@ -266,7 +359,34 @@ impl session::OnSessionChange for SyncedAuthorities where // instant changes let last_authorities = >::grandpa_authorities(); if next_authorities != last_authorities { - let _ = >::schedule_change(next_authorities, Zero::zero()); + let _ = >::schedule_change(next_authorities, Zero::zero(), None); } } } + +impl finality_tracker::OnFinalizationStalled for SyncedAuthorities where + T: Trait, + T: session::Trait, + T: finality_tracker::Trait, + ::ConvertAccountIdToSessionKey: Convert< + ::AccountId, + ::SessionKey, + >, +{ + fn on_stalled(further_wait: T::BlockNumber) { + // when we record old authority sets, we can use `finality_tracker::median` + // to figure out _who_ failed. until then, we can't meaningfully guard + // against `next == last` the way that normal session changes do. + + let next_authorities = >::validators() + .into_iter() + .map(T::ConvertAccountIdToSessionKey::convert) + .map(|key| (key, 1)) // evenly-weighted. + .collect::::SessionKey, u64)>>(); + + let median = >::median(); + + // schedule a change for `further_wait` blocks. + let _ = >::schedule_change(next_authorities, further_wait, Some(median)); + } +} diff --git a/substrate/srml/grandpa/src/tests.rs b/substrate/srml/grandpa/src/tests.rs index 74c998d873..f7e08a20b3 100644 --- a/substrate/srml/grandpa/src/tests.rs +++ b/substrate/srml/grandpa/src/tests.rs @@ -24,12 +24,14 @@ use runtime_io::with_externalities; use crate::mock::{Grandpa, System, new_test_ext}; use system::{EventRecord, Phase}; use crate::{RawLog, RawEvent}; +use codec::{Decode, Encode}; +use super::*; #[test] fn authorities_change_logged() { with_externalities(&mut new_test_ext(vec![(1, 1), (2, 1), (3, 1)]), || { System::initialise(&1, &Default::default(), &Default::default()); - Grandpa::schedule_change(vec![(4, 1), (5, 1), (6, 1)], 0).unwrap(); + Grandpa::schedule_change(vec![(4, 1), (5, 1), (6, 1)], 0, None).unwrap(); System::note_finished_extrinsics(); Grandpa::on_finalise(1); @@ -54,7 +56,7 @@ fn authorities_change_logged() { fn authorities_change_logged_after_delay() { with_externalities(&mut new_test_ext(vec![(1, 1), (2, 1), (3, 1)]), || { System::initialise(&1, &Default::default(), &Default::default()); - Grandpa::schedule_change(vec![(4, 1), (5, 1), (6, 1)], 1).unwrap(); + Grandpa::schedule_change(vec![(4, 1), (5, 1), (6, 1)], 1, None).unwrap(); Grandpa::on_finalise(1); let header = System::finalise(); assert_eq!(header.digest, testing::Digest { @@ -84,25 +86,112 @@ fn authorities_change_logged_after_delay() { fn cannot_schedule_change_when_one_pending() { with_externalities(&mut new_test_ext(vec![(1, 1), (2, 1), (3, 1)]), || { System::initialise(&1, &Default::default(), &Default::default()); - Grandpa::schedule_change(vec![(4, 1), (5, 1), (6, 1)], 1).unwrap(); + Grandpa::schedule_change(vec![(4, 1), (5, 1), (6, 1)], 1, None).unwrap(); assert!(Grandpa::pending_change().is_some()); - assert!(Grandpa::schedule_change(vec![(5, 1)], 1).is_err()); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, None).is_err()); Grandpa::on_finalise(1); let header = System::finalise(); System::initialise(&2, &header.hash(), &Default::default()); assert!(Grandpa::pending_change().is_some()); - assert!(Grandpa::schedule_change(vec![(5, 1)], 1).is_err()); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, None).is_err()); Grandpa::on_finalise(2); let header = System::finalise(); System::initialise(&3, &header.hash(), &Default::default()); assert!(Grandpa::pending_change().is_none()); - assert!(Grandpa::schedule_change(vec![(5, 1)], 1).is_ok()); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, None).is_ok()); Grandpa::on_finalise(3); let _header = System::finalise(); }); } + +#[test] +fn new_decodes_from_old() { + let old = OldStoredPendingChange { + scheduled_at: 5u32, + delay: 100u32, + next_authorities: vec![(1u64, 5), (2u64, 10), (3u64, 2)], + }; + + let encoded = old.encode(); + let new = StoredPendingChange::::decode(&mut &encoded[..]).unwrap(); + assert!(new.forced.is_none()); + assert_eq!(new.scheduled_at, old.scheduled_at); + assert_eq!(new.delay, old.delay); + assert_eq!(new.next_authorities, old.next_authorities); +} + +#[test] +fn dispatch_forced_change() { + with_externalities(&mut new_test_ext(vec![(1, 1), (2, 1), (3, 1)]), || { + System::initialise(&1, &Default::default(), &Default::default()); + Grandpa::schedule_change( + vec![(4, 1), (5, 1), (6, 1)], + 5, + Some(0), + ).unwrap(); + + assert!(Grandpa::pending_change().is_some()); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, Some(0)).is_err()); + + Grandpa::on_finalise(1); + let mut header = System::finalise(); + + for i in 2..7 { + System::initialise(&i, &header.hash(), &Default::default()); + assert!(Grandpa::pending_change().unwrap().forced.is_some()); + assert_eq!(Grandpa::next_forced(), Some(11)); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, None).is_err()); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, Some(0)).is_err()); + + Grandpa::on_finalise(i); + header = System::finalise(); + } + + // change has been applied at the end of block 6. + // add a normal change. + { + System::initialise(&7, &header.hash(), &Default::default()); + assert!(Grandpa::pending_change().is_none()); + assert_eq!(Grandpa::grandpa_authorities(), vec![(4, 1), (5, 1), (6, 1)]); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, None).is_ok()); + Grandpa::on_finalise(7); + header = System::finalise(); + } + + // run the normal change. + { + System::initialise(&8, &header.hash(), &Default::default()); + assert!(Grandpa::pending_change().is_some()); + assert_eq!(Grandpa::grandpa_authorities(), vec![(4, 1), (5, 1), (6, 1)]); + assert!(Grandpa::schedule_change(vec![(5, 1)], 1, None).is_err()); + Grandpa::on_finalise(8); + header = System::finalise(); + } + + // normal change applied. but we can't apply a new forced change for some + // time. + for i in 9..11 { + System::initialise(&i, &header.hash(), &Default::default()); + assert!(Grandpa::pending_change().is_none()); + assert_eq!(Grandpa::grandpa_authorities(), vec![(5, 1)]); + assert_eq!(Grandpa::next_forced(), Some(11)); + assert!(Grandpa::schedule_change(vec![(5, 1), (6, 1)], 5, Some(0)).is_err()); + Grandpa::on_finalise(i); + header = System::finalise(); + } + + { + System::initialise(&11, &header.hash(), &Default::default()); + assert!(Grandpa::pending_change().is_none()); + assert!(Grandpa::schedule_change(vec![(5, 1), (6, 1), (7, 1)], 5, Some(0)).is_ok()); + assert_eq!(Grandpa::next_forced(), Some(21)); + Grandpa::on_finalise(11); + header = System::finalise(); + } + }); +}