From fea750511ef3437503ccf285636d48f11531e2e5 Mon Sep 17 00:00:00 2001 From: Arkadiy Paronyan Date: Mon, 10 Sep 2018 17:54:32 +0200 Subject: [PATCH] Bring substrate-demo up to date (#658) * Updating substrate-demo * Consenus fixes * Reverted toolchain change * Adjusted timeout formula * Simplfied proposal creation * Fixed tests * Fixed a few small issues * 2017->2018 * Style * More style * Renamed demo executable to substrate * Style * Fixed compilation after merge * Style --- substrate/Cargo.lock | 158 ++++++- substrate/Cargo.toml | 6 + substrate/demo/Cargo.toml | 18 + substrate/demo/api/Cargo.toml | 13 + substrate/demo/api/src/lib.rs | 155 ++++++ substrate/demo/build.rs | 24 + substrate/demo/cli/Cargo.toml | 23 +- substrate/demo/cli/src/error.rs | 2 +- substrate/demo/cli/src/lib.rs | 302 +++--------- substrate/demo/consensus/Cargo.toml | 27 ++ substrate/demo/consensus/README.adoc | 5 + substrate/demo/consensus/src/error.rs | 51 ++ substrate/demo/consensus/src/evaluation.rs | 96 ++++ substrate/demo/consensus/src/lib.rs | 446 ++++++++++++++++++ .../demo/consensus/src/offline_tracker.rs | 137 ++++++ substrate/demo/consensus/src/service.rs | 172 +++++++ substrate/demo/executor/Cargo.toml | 1 + substrate/demo/executor/src/lib.rs | 69 ++- substrate/demo/network/Cargo.toml | 17 + substrate/demo/network/src/consensus.rs | 297 ++++++++++++ substrate/demo/network/src/lib.rs | 117 +++++ substrate/demo/primitives/Cargo.toml | 2 + substrate/demo/primitives/src/lib.rs | 65 ++- substrate/demo/runtime/src/checked_block.rs | 94 ++++ substrate/demo/runtime/src/lib.rs | 59 ++- substrate/demo/runtime/wasm/Cargo.lock | 1 + substrate/demo/runtime/wasm/genesis.wasm | Bin 76656 -> 0 bytes .../release/demo_runtime.compact.wasm | Bin 350363 -> 301513 bytes .../release/demo_runtime.wasm | Bin 350462 -> 382714 bytes substrate/demo/service/Cargo.toml | 27 ++ substrate/demo/service/src/chain_spec.rs | 210 +++++++++ substrate/demo/service/src/lib.rs | 214 +++++++++ substrate/demo/src/main.rs | 43 +- substrate/demo/transaction-pool/Cargo.toml | 19 + substrate/demo/transaction-pool/src/error.rs | 73 +++ substrate/demo/transaction-pool/src/lib.rs | 237 ++++++++++ substrate/substrate/bft/src/lib.rs | 10 +- substrate/substrate/client/src/client.rs | 47 +- .../client/src/light/call_executor.rs | 11 + substrate/substrate/primitives/src/hasher.rs | 2 +- substrate/substrate/service/src/lib.rs | 2 +- 41 files changed, 2940 insertions(+), 312 deletions(-) create mode 100644 substrate/demo/Cargo.toml create mode 100644 substrate/demo/api/Cargo.toml create mode 100644 substrate/demo/api/src/lib.rs create mode 100644 substrate/demo/build.rs create mode 100644 substrate/demo/consensus/Cargo.toml create mode 100644 substrate/demo/consensus/README.adoc create mode 100644 substrate/demo/consensus/src/error.rs create mode 100644 substrate/demo/consensus/src/evaluation.rs create mode 100644 substrate/demo/consensus/src/lib.rs create mode 100644 substrate/demo/consensus/src/offline_tracker.rs create mode 100644 substrate/demo/consensus/src/service.rs create mode 100644 substrate/demo/network/Cargo.toml create mode 100644 substrate/demo/network/src/consensus.rs create mode 100644 substrate/demo/network/src/lib.rs create mode 100644 substrate/demo/runtime/src/checked_block.rs delete mode 100644 substrate/demo/runtime/wasm/genesis.wasm create mode 100644 substrate/demo/service/Cargo.toml create mode 100644 substrate/demo/service/src/chain_spec.rs create mode 100644 substrate/demo/service/src/lib.rs create mode 100644 substrate/demo/transaction-pool/Cargo.toml create mode 100644 substrate/demo/transaction-pool/src/error.rs create mode 100644 substrate/demo/transaction-pool/src/lib.rs diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index d607ec0e86..6754966e11 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -155,6 +155,11 @@ dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "bitflags" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "bitflags" version = "0.9.1" @@ -377,12 +382,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "ctrlc" -version = "1.1.1" -source = "git+https://github.com/paritytech/rust-ctrlc.git#b523017108bb2d571a7a69bd97bc406e63bc7a9d" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -398,32 +402,51 @@ dependencies = [ "tempfile 3.0.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "demo-api" +version = "0.1.0" +dependencies = [ + "demo-primitives 0.1.0", + "demo-runtime 0.1.0", + "substrate-client 0.1.0", + "substrate-keyring 0.1.0", + "substrate-primitives 0.1.0", +] + [[package]] name = "demo-cli" version = "0.1.0" dependencies = [ - "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)", - "demo-executor 0.1.0", + "demo-service 0.1.0", + "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "substrate-cli 0.3.0", + "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "demo-consensus" +version = "0.1.0" +dependencies = [ + "demo-api 0.1.0", "demo-primitives 0.1.0", "demo-runtime 0.1.0", + "demo-transaction-pool 0.1.0", "ed25519 0.1.0", - "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "rhododendron 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "substrate-bft 0.1.0", "substrate-client 0.1.0", "substrate-codec 0.1.0", - "substrate-executor 0.1.0", - "substrate-extrinsic-pool 0.1.0", + "substrate-keyring 0.1.0", "substrate-primitives 0.1.0", - "substrate-rpc 0.1.0", - "substrate-rpc-servers 0.1.0", - "substrate-runtime-io 0.1.0", - "substrate-state-machine 0.1.0", + "substrate-runtime-primitives 0.1.0", + "substrate-runtime-support 0.1.0", "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -446,11 +469,28 @@ dependencies = [ "substrate-runtime-staking 0.1.0", "substrate-runtime-support 0.1.0", "substrate-runtime-system 0.1.0", + "substrate-runtime-timestamp 0.1.0", "substrate-runtime-treasury 0.1.0", "substrate-state-machine 0.1.0", "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "demo-network" +version = "0.1.0" +dependencies = [ + "demo-api 0.1.0", + "demo-consensus 0.1.0", + "demo-primitives 0.1.0", + "ed25519 0.1.0", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rhododendron 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "substrate-bft 0.1.0", + "substrate-network 0.1.0", + "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "demo-primitives" version = "0.1.0" @@ -459,6 +499,7 @@ dependencies = [ "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", + "substrate-codec-derive 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-primitives 0.1.0", "substrate-runtime-std 0.1.0", @@ -497,6 +538,52 @@ dependencies = [ "substrate-runtime-version 0.1.0", ] +[[package]] +name = "demo-service" +version = "0.1.0" +dependencies = [ + "demo-api 0.1.0", + "demo-consensus 0.1.0", + "demo-executor 0.1.0", + "demo-network 0.1.0", + "demo-primitives 0.1.0", + "demo-runtime 0.1.0", + "demo-transaction-pool 0.1.0", + "ed25519 0.1.0", + "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "substrate-client 0.1.0", + "substrate-network 0.1.0", + "substrate-primitives 0.1.0", + "substrate-runtime-io 0.1.0", + "substrate-service 0.3.0", + "substrate-telemetry 0.3.0", + "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "demo-transaction-pool" +version = "0.1.0" +dependencies = [ + "demo-api 0.1.0", + "demo-primitives 0.1.0", + "demo-runtime 0.1.0", + "ed25519 0.1.0", + "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "substrate-client 0.1.0", + "substrate-codec 0.1.0", + "substrate-extrinsic-pool 0.1.0", + "substrate-keyring 0.1.0", + "substrate-primitives 0.1.0", + "substrate-runtime-primitives 0.1.0", +] + [[package]] name = "difference" version = "1.0.0" @@ -1593,6 +1680,18 @@ dependencies = [ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "nix" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "nodrop" version = "0.1.12" @@ -2323,6 +2422,17 @@ dependencies = [ "substrate-primitives 0.1.0", ] +[[package]] +name = "substrate" +version = "0.1.0" +dependencies = [ + "ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "demo-cli 0.1.0", + "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", + "vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "substrate-bft" version = "0.1.0" @@ -3586,6 +3696,15 @@ name = "vec_map" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "vergen" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "version_check" version = "0.1.3" @@ -3777,6 +3896,7 @@ dependencies = [ "checksum base64 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5032d51da2741729bfdaeb2664d9b8c6d9fd1e2b90715c660b6def36628499c2" "checksum base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9263aa6a38da271eec5c91a83ce1e800f093c8535788d403d626d8d5c3f8f007" "checksum bigint 4.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "da1dde4308822ffaa13665757273a1b787481212f3f9b1c470a864b179a01f1b" +"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" "checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" @@ -3806,7 +3926,7 @@ dependencies = [ "checksum crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d636a8b3bcc1b409d7ffd3facef8f21dcb4009626adbd0c5e6c4305c07253c7b" "checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" -"checksum ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)" = "" +"checksum ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "630391922b1b893692c6334369ff528dcc3a9d8061ccf4c803aa8f83cb13db5e" "checksum datastore 0.1.0 (git+https://github.com/libp2p/rust-libp2p?rev=304e9c72c88bc97824f2734dc19d1b5f4556d346)" = "" "checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8" "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" @@ -3913,6 +4033,7 @@ dependencies = [ "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0" "checksum net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)" = "9044faf1413a1057267be51b5afba8eb1090bd2231c693664aa1db716fe1eae0" +"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac0ea58d64a89d9d6b7688031b3be9358d6c919badcf7fbb0527ccfd891ee45" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" @@ -4058,6 +4179,7 @@ dependencies = [ "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" "checksum vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7ed0f6789c8a85ca41bbc1c9d175422116a9869bd1cf31bb08e1493ecce60380" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" +"checksum vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c3365f36c57e5df714a34be40902b27a992eeddb9996eca52d0584611cf885d" "checksum version_check 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6b772017e347561807c1aa192438c5fd74242a670a6cffacc40f2defd1dc069d" "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wabt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "182ae543249ccf2705f324d233891c1176fca142e137b55ba43d9dbfe93f18a2" diff --git a/substrate/Cargo.toml b/substrate/Cargo.toml index fd43193e9c..a0550303dc 100644 --- a/substrate/Cargo.toml +++ b/substrate/Cargo.toml @@ -40,10 +40,16 @@ members = [ "substrate/test-runtime", "substrate/telemetry", "substrate/keystore", + "demo", "demo/cli", + "demo/api", + "demo/consensus", "demo/executor", + "demo/network", "demo/primitives", "demo/runtime", + "demo/service", + "demo/transaction-pool", "subkey", ] exclude = [ diff --git a/substrate/demo/Cargo.toml b/substrate/demo/Cargo.toml new file mode 100644 index 0000000000..326844dc90 --- /dev/null +++ b/substrate/demo/Cargo.toml @@ -0,0 +1,18 @@ +[[bin]] +name = "substrate" +path = "src/main.rs" + +[package] +name = "substrate" +version = "0.1.0" +authors = ["Parity Technologies "] +build = "build.rs" + +[dependencies] +error-chain = "0.12" +demo-cli = { path = "cli" } +futures = "0.1" +ctrlc = { version = "3.0", features = ["termination"] } + +[build-dependencies] +vergen = "0.1" diff --git a/substrate/demo/api/Cargo.toml b/substrate/demo/api/Cargo.toml new file mode 100644 index 0000000000..b03eb27a72 --- /dev/null +++ b/substrate/demo/api/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "demo-api" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +demo-runtime = { path = "../runtime" } +demo-primitives = { path = "../primitives" } +substrate-client = { path = "../../substrate/client" } +substrate-primitives = { path = "../../substrate/primitives" } + +[dev-dependencies] +substrate-keyring = { path = "../../substrate/keyring" } diff --git a/substrate/demo/api/src/lib.rs b/substrate/demo/api/src/lib.rs new file mode 100644 index 0000000000..fbcba1cf9a --- /dev/null +++ b/substrate/demo/api/src/lib.rs @@ -0,0 +1,155 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Strongly typed API for Substrate Demo runtime. + +#![warn(missing_docs)] +#![warn(unused_extern_crates)] + +extern crate demo_primitives as primitives; +extern crate demo_runtime as runtime; +extern crate substrate_client as client; +extern crate substrate_primitives; + +pub use client::error::{Error, ErrorKind, Result}; +use runtime::Address; +use client::backend::Backend; +use client::block_builder::BlockBuilder as ClientBlockBuilder; +use client::{Client, CallExecutor}; +use primitives::{ + AccountId, Block, BlockId, Hash, Index, InherentData, + SessionKey, Timestamp, UncheckedExtrinsic, +}; +use substrate_primitives::{KeccakHasher, RlpCodec}; + +/// Build new blocks. +pub trait BlockBuilder { + /// Push an extrinsic onto the block. Fails if the extrinsic is invalid. + fn push_extrinsic(&mut self, extrinsic: UncheckedExtrinsic) -> Result<()>; + + /// Bake the block with provided extrinsics. + fn bake(self) -> Result; +} + +/// Trait encapsulating the demo API. +/// +/// All calls should fail when the exact runtime is unknown. +pub trait Api { + /// The block builder for this API type. + type BlockBuilder: BlockBuilder; + + /// Get session keys at a given block. + fn session_keys(&self, at: &BlockId) -> Result>; + + /// Get validators at a given block. + fn validators(&self, at: &BlockId) -> Result>; + + /// Get the value of the randomness beacon at a given block. + fn random_seed(&self, at: &BlockId) -> Result; + + /// Get the timestamp registered at a block. + fn timestamp(&self, at: &BlockId) -> Result; + + /// Get the nonce (né index) of an account at a block. + fn index(&self, at: &BlockId, account: AccountId) -> Result; + + /// Get the account id of an address at a block. + fn lookup(&self, at: &BlockId, address: Address) -> Result>; + + /// Evaluate a block. Returns true if the block is good, false if it is known to be bad, + /// and an error if we can't evaluate for some reason. + fn evaluate_block(&self, at: &BlockId, block: Block) -> Result; + + /// Build a block on top of the given, with inherent extrinsics pre-pushed. + fn build_block(&self, at: &BlockId, inherent_data: InherentData) -> Result; + + /// Attempt to produce the (encoded) inherent extrinsics for a block being built upon the given. + /// This may vary by runtime and will fail if a runtime doesn't follow the same API. + fn inherent_extrinsics(&self, at: &BlockId, inherent_data: InherentData) -> Result>; +} + +impl BlockBuilder for ClientBlockBuilder +where + B: Backend, + E: CallExecutor+ Clone, +{ + fn push_extrinsic(&mut self, extrinsic: UncheckedExtrinsic) -> Result<()> { + self.push(extrinsic).map_err(Into::into) + } + + /// Bake the block with provided extrinsics. + fn bake(self) -> Result { + ClientBlockBuilder::bake(self).map_err(Into::into) + } +} + +impl Api for Client +where + B: Backend, + E: CallExecutor + Clone, +{ + type BlockBuilder = ClientBlockBuilder; + + fn session_keys(&self, at: &BlockId) -> Result> { + Ok(self.authorities_at(at)?) + } + + fn validators(&self, at: &BlockId) -> Result> { + self.call_api(at, "validators", &()) + } + + fn random_seed(&self, at: &BlockId) -> Result { + self.call_api(at, "random_seed", &()) + } + + fn timestamp(&self, at: &BlockId) -> Result { + self.call_api(at, "timestamp", &()) + } + + fn evaluate_block(&self, at: &BlockId, block: Block) -> Result { + let res: Result<()> = self.call_api(at, "execute_block", &block); + match res { + Ok(()) => Ok(true), + Err(err) => match err.kind() { + &client::error::ErrorKind::Execution(_) => Ok(false), + _ => Err(err) + } + } + } + + fn index(&self, at: &BlockId, account: AccountId) -> Result { + self.call_api(at, "account_nonce", &account) + } + + fn lookup(&self, at: &BlockId, address: Address) -> Result> { + self.call_api(at, "lookup_address", &address) + } + + fn build_block(&self, at: &BlockId, inherent_data: InherentData) -> Result { + let mut block_builder = self.new_block_at(at)?; + for inherent in self.inherent_extrinsics(at, inherent_data)? { + block_builder.push(inherent)?; + } + + Ok(block_builder) + } + + fn inherent_extrinsics(&self, at: &BlockId, inherent_data: InherentData) -> Result> { + let runtime_version = self.runtime_version_at(at)?; + self.call_api(at, "inherent_extrinsics", &(inherent_data, runtime_version.spec_version)) + } +} + diff --git a/substrate/demo/build.rs b/substrate/demo/build.rs new file mode 100644 index 0000000000..0f2f3b9bdc --- /dev/null +++ b/substrate/demo/build.rs @@ -0,0 +1,24 @@ +// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +extern crate vergen; + +const ERROR_MSG: &'static str = "Failed to generate metadata files"; + +fn main() { + vergen::vergen(vergen::SHORT_SHA).expect(ERROR_MSG); + println!("cargo:rerun-if-changed=../../.git/HEAD"); +} diff --git a/substrate/demo/cli/Cargo.toml b/substrate/demo/cli/Cargo.toml index 01493751b5..5c5b0f7a36 100644 --- a/substrate/demo/cli/Cargo.toml +++ b/substrate/demo/cli/Cargo.toml @@ -5,25 +5,8 @@ authors = ["Parity Technologies "] description = "Substrate Demo node implementation in Rust." [dependencies] -clap = { version = "2.27", features = ["yaml"] } -ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" } -ed25519 = { path = "../../substrate/ed25519" } -env_logger = "0.4" -futures = "0.1.17" -error-chain = "0.12" -hex-literal = "0.1" log = "0.3" tokio = "0.1.7" -triehash = "0.2" -substrate-client = { path = "../../substrate/client" } -substrate-codec = { path = "../../substrate/codec" } -substrate-extrinsic-pool = { path = "../../substrate/extrinsic-pool" } -substrate-runtime-io = { path = "../../substrate/runtime-io" } -substrate-state-machine = { path = "../../substrate/state-machine" } -substrate-executor = { path = "../../substrate/executor" } -substrate-primitives = { path = "../../substrate/primitives" } -substrate-rpc-servers = { path = "../../substrate/rpc-servers" } -substrate-rpc = { path = "../../substrate/rpc" } -demo-primitives = { path = "../primitives" } -demo-executor = { path = "../executor" } -demo-runtime = { path = "../runtime" } +exit-future = "0.1" +substrate-cli = { path = "../../substrate/cli" } +demo-service = { path = "../service" } diff --git a/substrate/demo/cli/src/error.rs b/substrate/demo/cli/src/error.rs index 8de348c4ef..c8b4fdedde 100644 --- a/substrate/demo/cli/src/error.rs +++ b/substrate/demo/cli/src/error.rs @@ -1,4 +1,4 @@ -// Copyright 2017 Parity Technologies (UK) Ltd. +// Copyright 2018 Parity Technologies (UK) Ltd. // This file is part of Substrate Demo. // Substrate Demo is free software: you can redistribute it and/or modify diff --git a/substrate/demo/cli/src/lib.rs b/substrate/demo/cli/src/lib.rs index f416a0122f..09c09e1cc6 100644 --- a/substrate/demo/cli/src/lib.rs +++ b/substrate/demo/cli/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2017 Parity Technologies (UK) Ltd. +// Copyright 2018 Parity Technologies (UK) Ltd. // This file is part of Substrate Demo. // Substrate Demo is free software: you can redistribute it and/or modify @@ -17,256 +17,106 @@ //! Substrate Demo CLI library. #![warn(missing_docs)] +#![warn(unused_extern_crates)] -extern crate ctrlc; -extern crate ed25519; -extern crate env_logger; -extern crate futures; extern crate tokio; -extern crate triehash; -extern crate substrate_client as client; -extern crate substrate_codec as codec; -extern crate substrate_primitives as primitives; -extern crate substrate_rpc; -extern crate substrate_rpc_servers as rpc; -extern crate substrate_runtime_io as runtime_io; -extern crate substrate_state_machine as state_machine; -extern crate substrate_extrinsic_pool as extrinsic_pool; -extern crate demo_executor; -extern crate demo_primitives; -extern crate demo_runtime; -#[macro_use] -extern crate hex_literal; -#[macro_use] -extern crate clap; -#[macro_use] -extern crate error_chain; +extern crate substrate_cli as cli; +extern crate demo_service as service; +extern crate exit_future; + #[macro_use] extern crate log; -pub mod error; +pub use cli::error; -use std::sync::Arc; -use demo_primitives::{AccountId, Hash}; -use demo_runtime::{Block, BlockId, GenesisConfig, - BalancesConfig, ConsensusConfig, CouncilConfig, DemocracyConfig, SessionConfig, - StakingConfig, TimestampConfig, TreasuryConfig, Permill}; -use futures::{Future, Sink, Stream}; use tokio::runtime::Runtime; -use demo_executor::NativeExecutor; -use extrinsic_pool::{Pool as ExtrinsicPool, ExtrinsicFor, VerifiedFor, scoring, Readiness}; +pub use service::{Components as ServiceComponents, Service, CustomConfiguration}; +pub use cli::{VersionInfo, IntoExit}; -#[derive(Debug, Clone)] -struct VerifiedExtrinsic { - sender: AccountId, - hash: Hash, +/// The chain specification option. +#[derive(Clone, Debug)] +pub enum ChainSpec { + /// Whatever the current runtime is, with just Alice as an auth. + Development, + /// Whatever the current runtime is, with simple Alice/Bob auths. + LocalTestnet, + /// The PoC-1 & PoC-2 era testnet. + Testnet, + /// Whatever the current runtime is with the "global testnet" defaults. + StagingTestnet, } -impl extrinsic_pool::VerifiedTransaction for VerifiedExtrinsic { - type Hash = Hash; - type Sender = AccountId; - - fn hash(&self) -> &Self::Hash { - &self.hash +/// Get a chain config from a spec setting. +impl ChainSpec { + pub(crate) fn load(self) -> Result { + Ok(match self { + ChainSpec::Testnet => service::chain_spec::testnet_config()?, + ChainSpec::Development => service::chain_spec::development_config(), + ChainSpec::LocalTestnet => service::chain_spec::local_testnet_config(), + ChainSpec::StagingTestnet => service::chain_spec::staging_testnet_config(), + }) } - fn sender(&self) -> &Self::Sender { - &self.sender - } - - fn mem_usage(&self) -> usize { - 0 + pub(crate) fn from(s: &str) -> Option { + match s { + "dev" => Some(ChainSpec::Development), + "local" => Some(ChainSpec::LocalTestnet), + "" | "test" => Some(ChainSpec::Testnet), + "staging" => Some(ChainSpec::StagingTestnet), + _ => None, + } } } -struct Pool; -impl extrinsic_pool::ChainApi for Pool { - type Block = Block; - type Hash = Hash; - type Sender = AccountId; - type VEx = VerifiedExtrinsic; - type Ready = (); - type Error = extrinsic_pool::Error; - type Score = u64; - type Event = (); - - fn verify_transaction(&self, _at: &BlockId, _xt: &ExtrinsicFor) -> Result { - unimplemented!() - } - - fn ready(&self) -> Self::Ready { } - - fn is_ready(&self, _at: &BlockId, _ready: &mut Self::Ready, _xt: &VerifiedFor) -> Readiness { - unimplemented!() - } - - fn compare(_old: &VerifiedFor, _other: &VerifiedFor) -> ::std::cmp::Ordering { - unimplemented!() - } - - fn choose(_old: &VerifiedFor, _new: &VerifiedFor) -> scoring::Choice { - unimplemented!() - } - - fn update_scores( - _xts: &[extrinsic_pool::Transaction>], - _scores: &mut [Self::Score], - _change: scoring::Change<()> - ) { - unimplemented!() - } - - fn should_replace(_old: &VerifiedFor, _new: &VerifiedFor) -> scoring::Choice { - unimplemented!() - } +fn load_spec(id: &str) -> Result, String> { + Ok(match ChainSpec::from(id) { + Some(spec) => Some(spec.load()?), + None => None, + }) } -struct DummySystem; -impl substrate_rpc::system::SystemApi for DummySystem { - fn system_name(&self) -> substrate_rpc::system::error::Result { - Ok("substrate-demo".into()) - } - fn system_version(&self) -> substrate_rpc::system::error::Result { - Ok(crate_version!().into()) - } - fn system_chain(&self) -> substrate_rpc::system::error::Result { - Ok("default".into()) - } -} - -/// Parse command line arguments and start the node. -/// -/// IANA unassigned port ranges that we could use: -/// 6717-6766 Unassigned -/// 8504-8553 Unassigned -/// 9556-9591 Unassigned -/// 9803-9874 Unassigned -/// 9926-9949 Unassigned -pub fn run(args: I) -> error::Result<()> where +/// Parse command line arguments into service configuration. +pub fn run(args: I, exit: E, version: cli::VersionInfo) -> error::Result<()> where I: IntoIterator, T: Into + Clone, + E: IntoExit, { - let yaml = load_yaml!("./cli.yml"); - let matches = clap::App::from_yaml(yaml).version(crate_version!()).get_matches_from_safe(args)?; - - // TODO [ToDr] Split parameters parsing from actual execution. - let log_pattern = matches.value_of("log").unwrap_or(""); - init_logger(log_pattern); - - // Create client - let executor = NativeExecutor::new(); - - let god_key = hex!["3d866ec8a9190c8343c2fc593d21d8a6d0c5c4763aaab2349de3a6111d64d124"]; - let genesis_config = GenesisConfig { - consensus: Some(ConsensusConfig { - code: vec![], // TODO - authorities: vec![god_key.clone().into()], - }), - system: None, - balances: Some(BalancesConfig { - transaction_base_fee: 100, - transaction_byte_fee: 1, - transfer_fee: 0, - creation_fee: 0, - reclaim_rebate: 0, - existential_deposit: 500, - balances: vec![(god_key.clone().into(), 1u64 << 63)].into_iter().collect(), - }), - session: Some(SessionConfig { - validators: vec![god_key.clone().into()], - session_length: 720, // that's 1 hour per session. - }), - staking: Some(StakingConfig { - current_era: 0, - intentions: vec![], - validator_count: 12, - minimum_validator_count: 4, - sessions_per_era: 24, // 24 hours per era. - bonding_duration: 90 * 24 * 720, // 90 days per bond. - early_era_slash: 10000, - session_reward: 100, - offline_slash_grace: 0, - }), - democracy: Some(DemocracyConfig { - launch_period: 120 * 24 * 14, // 2 weeks per public referendum - voting_period: 120 * 24 * 28, // 4 weeks to discuss & vote on an active referendum - minimum_deposit: 1000, // 1000 as the minimum deposit for a referendum - }), - council: Some(CouncilConfig { - active_council: vec![], - candidacy_bond: 1000, // 1000 to become a council candidate - voter_bond: 100, // 100 down to vote for a candidate - present_slash_per_voter: 1, // slash by 1 per voter for an invalid presentation. - carry_count: 24, // carry over the 24 runners-up to the next council election - presentation_duration: 120 * 24, // one day for presenting winners. - approval_voting_period: 7 * 120 * 24, // one week period between possible council elections. - term_duration: 180 * 120 * 24, // 180 day term duration for the council. - desired_seats: 0, // start with no council: we'll raise this once the stake has been dispersed a bit. - inactive_grace_period: 1, // one addition vote should go by before an inactive voter can be reaped. - - cooloff_period: 90 * 120 * 24, // 90 day cooling off period if council member vetoes a proposal. - voting_period: 7 * 120 * 24, // 7 day voting period for council members. - }), - timestamp: Some(TimestampConfig { - period: 5, // 5 second block time. - }), - treasury: Some(TreasuryConfig { - proposal_bond: Permill::from_percent(5), - proposal_bond_minimum: 1_000_000, - spend_period: 12 * 60 * 24, - burn: Permill::from_percent(50), - }), - }; - - let client = Arc::new(client::new_in_mem::, Block, _>(executor, genesis_config)?); - let mut runtime = Runtime::new()?; - let _rpc_servers = { - let handler = || { - let state = rpc::apis::state::State::new(client.clone(), runtime.executor()); - let chain = rpc::apis::chain::Chain::new(client.clone(), runtime.executor()); - let author = rpc::apis::author::Author::new(client.clone(), Arc::new(ExtrinsicPool::new(Default::default(), Pool)), runtime.executor()); - rpc::rpc_handler::(state, chain, author, DummySystem) - }; - let http_address = "127.0.0.1:9933".parse().unwrap(); - let ws_address = "127.0.0.1:9944".parse().unwrap(); - - ( - rpc::start_http(&http_address, handler())?, - rpc::start_ws(&ws_address, handler())? - ) - }; - - if let Some(_) = matches.subcommand_matches("validator") { - info!("Starting validator."); - let (exit_send, exit) = futures::sync::mpsc::channel(1); - ctrlc::CtrlC::set_handler(move || { - exit_send.clone().send(()).wait().expect("Error sending exit notification"); - }); - - runtime.block_on(exit.into_future()).expect("Error running informant event loop"); - return Ok(()) + match cli::prepare_execution::(args, exit, version, load_spec, "substrate-demo")? { + cli::Action::ExecutedInternally => (), + cli::Action::RunService((config, exit)) => { + info!("Parity ·:· Substrate"); + info!(" version {}", config.full_version()); + info!(" by Parity Technologies, 2017, 2018"); + info!("Chain specification: {}", config.chain_spec.name()); + info!("Node name: {}", config.name); + info!("Roles: {:?}", config.roles); + let mut runtime = Runtime::new()?; + let executor = runtime.executor(); + match config.roles == service::Roles::LIGHT { + true => run_until_exit(&mut runtime, service::new_light(config, executor)?, exit)?, + false => run_until_exit(&mut runtime, service::new_full(config, executor)?, exit)?, + } + } } - - println!("No command given.\n"); - let _ = clap::App::from_yaml(yaml).print_long_help(); - Ok(()) } -fn init_logger(pattern: &str) { - let mut builder = env_logger::LogBuilder::new(); - // Disable info logging by default for some modules: - builder.filter(Some("hyper"), log::LogLevelFilter::Warn); - // Enable info for others. - builder.filter(None, log::LogLevelFilter::Info); +fn run_until_exit( + runtime: &mut Runtime, + service: service::Service, + e: E, +) -> error::Result<()> + where + C: service::Components, + E: IntoExit, +{ + let (exit_send, exit) = exit_future::signal(); - if let Ok(lvl) = std::env::var("RUST_LOG") { - builder.parse(&lvl); - } + let executor = runtime.executor(); + cli::informant::start(&service, exit.clone(), executor.clone()); - builder.parse(pattern); - - - builder.init().expect("Logger initialized only once."); + let _ = runtime.block_on(e.into_exit()); + exit_send.fire(); + Ok(()) } diff --git a/substrate/demo/consensus/Cargo.toml b/substrate/demo/consensus/Cargo.toml new file mode 100644 index 0000000000..1dc8eb8367 --- /dev/null +++ b/substrate/demo/consensus/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "demo-consensus" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +futures = "0.1.17" +parking_lot = "0.4" +tokio = "0.1.7" +ed25519 = { path = "../../substrate/ed25519" } +error-chain = "0.12" +log = "0.3" +exit-future = "0.1" +rhododendron = "0.3" +demo-api = { path = "../api" } +demo-primitives = { path = "../primitives" } +demo-runtime = { path = "../runtime" } +demo-transaction-pool = { path = "../transaction-pool" } +substrate-bft = { path = "../../substrate/bft" } +substrate-codec = { path = "../../substrate/codec" } +substrate-primitives = { path = "../../substrate/primitives" } +substrate-runtime-support = { path = "../../substrate/runtime-support" } +substrate-client = { path = "../../substrate/client" } +substrate-runtime-primitives = { path = "../../substrate/runtime/primitives" } + +[dev-dependencies] +substrate-keyring = { path = "../../substrate/keyring" } diff --git a/substrate/demo/consensus/README.adoc b/substrate/demo/consensus/README.adoc new file mode 100644 index 0000000000..a3ac5f631c --- /dev/null +++ b/substrate/demo/consensus/README.adoc @@ -0,0 +1,5 @@ + += Polkadot Consensus + +placeholder +//TODO Write content :) diff --git a/substrate/demo/consensus/src/error.rs b/substrate/demo/consensus/src/error.rs new file mode 100644 index 0000000000..e8b60c847c --- /dev/null +++ b/substrate/demo/consensus/src/error.rs @@ -0,0 +1,51 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Errors that can occur during the consensus process. + +use primitives::AuthorityId; + +error_chain! { + links { + Api(::demo_api::Error, ::demo_api::ErrorKind); + Bft(::bft::Error, ::bft::ErrorKind); + } + + errors { + NotValidator(id: AuthorityId) { + description("Local account ID not a validator at this block."), + display("Local account ID ({:?}) not a validator at this block.", id), + } + PrematureDestruction { + description("Proposer destroyed before finishing proposing or evaluating"), + display("Proposer destroyed before finishing proposing or evaluating"), + } + Timer(e: ::tokio::timer::Error) { + description("Failed to register or resolve async timer."), + display("Timer failed: {}", e), + } + Executor(e: ::futures::future::ExecuteErrorKind) { + description("Unable to dispatch agreement future"), + display("Unable to dispatch agreement future: {:?}", e), + } + } +} + +impl From<::bft::InputStreamConcluded> for Error { + fn from(err: ::bft::InputStreamConcluded) -> Self { + ::bft::Error::from(err).into() + } +} diff --git a/substrate/demo/consensus/src/evaluation.rs b/substrate/demo/consensus/src/evaluation.rs new file mode 100644 index 0000000000..0d073aa521 --- /dev/null +++ b/substrate/demo/consensus/src/evaluation.rs @@ -0,0 +1,96 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Block evaluation and evaluation errors. + +use super::MAX_TRANSACTIONS_SIZE; + +use codec::{Decode, Encode}; +use demo_runtime::{Block as GenericBlock, CheckedBlock}; +use demo_primitives::{Block, Hash, BlockNumber, Timestamp}; + +error_chain! { + links { + Api(::demo_api::Error, ::demo_api::ErrorKind); + } + + errors { + BadProposalFormat { + description("Proposal provided not a block."), + display("Proposal provided not a block."), + } + TimestampInFuture { + description("Proposal had timestamp too far in the future."), + display("Proposal had timestamp too far in the future."), + } + WrongParentHash(expected: Hash, got: Hash) { + description("Proposal had wrong parent hash."), + display("Proposal had wrong parent hash. Expected {:?}, got {:?}", expected, got), + } + WrongNumber(expected: BlockNumber, got: BlockNumber) { + description("Proposal had wrong number."), + display("Proposal had wrong number. Expected {:?}, got {:?}", expected, got), + } + ProposalTooLarge(size: usize) { + description("Proposal exceeded the maximum size."), + display( + "Proposal exceeded the maximum size of {} by {} bytes.", + MAX_TRANSACTIONS_SIZE, size.saturating_sub(MAX_TRANSACTIONS_SIZE) + ), + } + } +} + +/// Attempt to evaluate a substrate block as a demo block, returning error +/// upon any initial validity checks failing. +pub fn evaluate_initial( + proposal: &Block, + now: Timestamp, + parent_hash: &Hash, + parent_number: BlockNumber, +) -> Result { + const MAX_TIMESTAMP_DRIFT: Timestamp = 60; + + let encoded = Encode::encode(proposal); + let proposal = GenericBlock::decode(&mut &encoded[..]) + .and_then(|b| CheckedBlock::new(b).ok()) + .ok_or_else(|| ErrorKind::BadProposalFormat)?; + + let transactions_size = proposal.extrinsics.iter().fold(0, |a, tx| { + a + Encode::encode(tx).len() + }); + + if transactions_size > MAX_TRANSACTIONS_SIZE { + bail!(ErrorKind::ProposalTooLarge(transactions_size)) + } + + if proposal.header.parent_hash != *parent_hash { + bail!(ErrorKind::WrongParentHash(*parent_hash, proposal.header.parent_hash)); + } + + if proposal.header.number != parent_number + 1 { + bail!(ErrorKind::WrongNumber(parent_number + 1, proposal.header.number)); + } + + let block_timestamp = proposal.timestamp(); + + // lenient maximum -- small drifts will just be delayed using a timer. + if block_timestamp > now + MAX_TIMESTAMP_DRIFT { + bail!(ErrorKind::TimestampInFuture) + } + + Ok(proposal) +} diff --git a/substrate/demo/consensus/src/lib.rs b/substrate/demo/consensus/src/lib.rs new file mode 100644 index 0000000000..7f55bc1e68 --- /dev/null +++ b/substrate/demo/consensus/src/lib.rs @@ -0,0 +1,446 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! This service uses BFT consensus provided by the substrate. + +extern crate ed25519; +extern crate parking_lot; +extern crate demo_api; +extern crate demo_transaction_pool as transaction_pool; +extern crate demo_runtime; +extern crate demo_primitives; + +extern crate substrate_bft as bft; +extern crate substrate_codec as codec; +extern crate substrate_primitives as primitives; +extern crate substrate_runtime_support as runtime_support; +extern crate substrate_runtime_primitives as runtime_primitives; +extern crate substrate_client as client; + +extern crate exit_future; +extern crate tokio; +extern crate rhododendron; + +#[macro_use] +extern crate error_chain; +extern crate futures; + +#[macro_use] +extern crate log; + +#[cfg(test)] +extern crate substrate_keyring; + +use std::sync::Arc; +use std::time::{self, Duration, Instant}; + +use codec::{Decode, Encode}; +use demo_api::Api; +use demo_primitives::{AccountId, Hash, Block, BlockId, BlockNumber, Header, Timestamp, SessionKey}; +use primitives::AuthorityId; +use transaction_pool::TransactionPool; +use tokio::runtime::TaskExecutor; +use tokio::timer::Delay; + +use futures::prelude::*; +use futures::future; +use parking_lot::RwLock; + +pub use self::error::{ErrorKind, Error}; +pub use self::offline_tracker::OfflineTracker; +pub use service::Service; + +mod evaluation; +mod error; +mod offline_tracker; +mod service; + +/// Shared offline validator tracker. +pub type SharedOfflineTracker = Arc>; + +// block size limit. +const MAX_TRANSACTIONS_SIZE: usize = 4 * 1024 * 1024; + +/// A long-lived network which can create BFT message routing processes on demand. +pub trait Network { + /// The input stream of BFT messages. Should never logically conclude. + type Input: Stream,Error=Error>; + /// The output sink of BFT messages. Messages sent here should eventually pass to all + /// current authorities. + type Output: Sink,SinkError=Error>; + + /// Instantiate input and output streams. + fn communication_for( + &self, + validators: &[SessionKey], + local_id: SessionKey, + parent_hash: Hash, + task_executor: TaskExecutor + ) -> (Self::Input, Self::Output); +} + +/// Proposer factory. +pub struct ProposerFactory + where + P: Api + Send + Sync + 'static +{ + /// The client instance. + pub client: Arc

, + /// The transaction pool. + pub transaction_pool: Arc>, + /// The backing network handle. + pub network: N, + /// handle to remote task executor + pub handle: TaskExecutor, + /// Offline-tracker. + pub offline: SharedOfflineTracker, +} + +impl bft::Environment for ProposerFactory + where + N: Network, + P: Api + Send + Sync + 'static, +{ + type Proposer = Proposer

; + type Input = N::Input; + type Output = N::Output; + type Error = Error; + + fn init( + &self, + parent_header: &Header, + authorities: &[AuthorityId], + sign_with: Arc, + ) -> Result<(Self::Proposer, Self::Input, Self::Output), Error> { + use runtime_primitives::traits::{Hash as HashT, BlakeTwo256}; + + // force delay in evaluation this long. + const FORCE_DELAY: Timestamp = 5; + + let parent_hash = parent_header.hash().into(); + + let id = BlockId::hash(parent_hash); + let random_seed = self.client.random_seed(&id)?; + let random_seed = BlakeTwo256::hash(&*random_seed); + + let validators = self.client.validators(&id)?; + self.offline.write().note_new_block(&validators[..]); + + info!("Starting consensus session on top of parent {:?}", parent_hash); + + let local_id = sign_with.public().0.into(); + let (input, output) = self.network.communication_for( + authorities, + local_id, + parent_hash.clone(), + self.handle.clone(), + ); + let now = Instant::now(); + let proposer = Proposer { + client: self.client.clone(), + start: now, + local_key: sign_with, + parent_hash, + parent_id: id, + parent_number: parent_header.number, + random_seed, + transaction_pool: self.transaction_pool.clone(), + offline: self.offline.clone(), + validators, + minimum_timestamp: current_timestamp() + FORCE_DELAY, + }; + + Ok((proposer, input, output)) + } +} + +/// The proposer logic. +pub struct Proposer { + client: Arc, + start: Instant, + local_key: Arc, + parent_hash: Hash, + parent_id: BlockId, + parent_number: BlockNumber, + random_seed: Hash, + transaction_pool: Arc>, + offline: SharedOfflineTracker, + validators: Vec, + minimum_timestamp: u64, +} + +impl Proposer { + fn primary_index(&self, round_number: usize, len: usize) -> usize { + use primitives::uint::U256; + + let big_len = U256::from(len); + let offset = U256::from_big_endian(&self.random_seed.0) % big_len; + let offset = offset.low_u64() as usize + round_number; + offset % len + } +} + +impl bft::Proposer for Proposer + where + C: Api + Send + Sync, +{ + type Create = Result; + type Error = Error; + type Evaluate = Box>; + + fn propose(&self) -> Result { + use demo_api::BlockBuilder; + use runtime_primitives::traits::{Hash as HashT, BlakeTwo256}; + use demo_primitives::InherentData; + + const MAX_VOTE_OFFLINE_SECONDS: Duration = Duration::from_secs(60); + + // TODO: handle case when current timestamp behind that in state. + let timestamp = ::std::cmp::max(self.minimum_timestamp, current_timestamp()); + + let elapsed_since_start = self.start.elapsed(); + let offline_indices = if elapsed_since_start > MAX_VOTE_OFFLINE_SECONDS { + Vec::new() + } else { + self.offline.read().reports(&self.validators[..]) + }; + + if !offline_indices.is_empty() { + info!( + "Submitting offline validators {:?} for slash-vote", + offline_indices.iter().map(|&i| self.validators[i as usize]).collect::>(), + ) + } + + let inherent_data = InherentData { + timestamp, + offline_indices, + }; + + let mut block_builder = self.client.build_block(&self.parent_id, inherent_data)?; + + { + let mut unqueue_invalid = Vec::new(); + let result = self.transaction_pool.cull_and_get_pending(&BlockId::hash(self.parent_hash), |pending_iterator| { + let mut pending_size = 0; + for pending in pending_iterator { + if pending_size + pending.verified.encoded_size() >= MAX_TRANSACTIONS_SIZE { break } + + match block_builder.push_extrinsic(pending.original.clone()) { + Ok(()) => { + pending_size += pending.verified.encoded_size(); + } + Err(e) => { + trace!(target: "transaction-pool", "Invalid transaction: {}", e); + unqueue_invalid.push(pending.verified.hash().clone()); + } + } + } + }); + if let Err(e) = result { + warn!("Unable to get the pending set: {:?}", e); + } + + self.transaction_pool.remove(&unqueue_invalid, false); + } + + let block = block_builder.bake()?; + + info!("Proposing block [number: {}; hash: {}; parent_hash: {}; extrinsics: [{}]]", + block.header.number, + Hash::from(block.header.hash()), + block.header.parent_hash, + block.extrinsics.iter() + .map(|xt| format!("{}", BlakeTwo256::hash_of(xt))) + .collect::>() + .join(", ") + ); + + let substrate_block = Decode::decode(&mut block.encode().as_slice()) + .expect("blocks are defined to serialize to substrate blocks correctly; qed"); + + assert!(evaluation::evaluate_initial( + &substrate_block, + timestamp, + &self.parent_hash, + self.parent_number, + ).is_ok()); + + Ok(substrate_block) + } + + fn evaluate(&self, unchecked_proposal: &Block) -> Self::Evaluate { + debug!(target: "bft", "evaluating block on top of parent ({}, {:?})", self.parent_number, self.parent_hash); + + let current_timestamp = current_timestamp(); + + // do initial serialization and structural integrity checks. + let maybe_proposal = evaluation::evaluate_initial( + unchecked_proposal, + current_timestamp, + &self.parent_hash, + self.parent_number, + ); + + let proposal = match maybe_proposal { + Ok(p) => p, + Err(e) => { + // TODO: these errors are easily re-checked in runtime. + debug!(target: "bft", "Invalid proposal: {:?}", e); + return Box::new(future::ok(false)); + } + }; + + let vote_delays = { + let now = Instant::now(); + + // the duration until the given timestamp is current + let proposed_timestamp = ::std::cmp::max(self.minimum_timestamp, proposal.timestamp()); + let timestamp_delay = if proposed_timestamp > current_timestamp { + let delay_s = proposed_timestamp - current_timestamp; + debug!(target: "bft", "Delaying evaluation of proposal for {} seconds", delay_s); + Some(now + Duration::from_secs(delay_s)) + } else { + None + }; + + match timestamp_delay { + Some(duration) => future::Either::A( + Delay::new(duration).map_err(|e| Error::from(ErrorKind::Timer(e))) + ), + None => future::Either::B(future::ok(())), + } + }; + + // refuse to vote if this block says a validator is offline that we + // think isn't. + let offline = proposal.noted_offline(); + if !self.offline.read().check_consistency(&self.validators[..], offline) { + return Box::new(futures::empty()); + } + + // evaluate whether the block is actually valid. + // TODO: is it better to delay this until the delays are finished? + let evaluated = self.client + .evaluate_block(&self.parent_id, unchecked_proposal.clone()) + .map_err(Into::into); + + let future = future::result(evaluated).and_then(move |good| { + let end_result = future::ok(good); + if good { + // delay a "good" vote. + future::Either::A(vote_delays.and_then(|_| end_result)) + } else { + // don't delay a "bad" evaluation. + future::Either::B(end_result) + } + }); + + Box::new(future) as Box<_> + } + + fn round_proposer(&self, round_number: usize, authorities: &[AuthorityId]) -> AuthorityId { + let offset = self.primary_index(round_number, authorities.len()); + let proposer = authorities[offset].clone(); + trace!(target: "bft", "proposer for round {} is {}", round_number, proposer); + + proposer + } + + fn import_misbehavior(&self, misbehavior: Vec<(AuthorityId, bft::Misbehavior)>) { + use rhododendron::Misbehavior as GenericMisbehavior; + use runtime_primitives::bft::{MisbehaviorKind, MisbehaviorReport}; + use demo_primitives::UncheckedExtrinsic as GenericExtrinsic; + use demo_runtime::{Call, UncheckedExtrinsic, ConsensusCall}; + + let local_id = self.local_key.public().0.into(); + let mut next_index = { + let cur_index = self.transaction_pool.cull_and_get_pending(&BlockId::hash(self.parent_hash), |pending| pending + .filter(|tx| tx.verified.sender == local_id) + .last() + .map(|tx| Ok(tx.verified.index())) + .unwrap_or_else(|| self.client.index(&self.parent_id, local_id)) + ); + + match cur_index { + Ok(Ok(cur_index)) => cur_index + 1, + Ok(Err(e)) => { + warn!(target: "consensus", "Error computing next transaction index: {}", e); + return; + } + Err(e) => { + warn!(target: "consensus", "Error computing next transaction index: {}", e); + return; + } + } + }; + + for (target, misbehavior) in misbehavior { + let report = MisbehaviorReport { + parent_hash: self.parent_hash, + parent_number: self.parent_number, + target, + misbehavior: match misbehavior { + GenericMisbehavior::ProposeOutOfTurn(_, _, _) => continue, + GenericMisbehavior::DoublePropose(_, _, _) => continue, + GenericMisbehavior::DoublePrepare(round, (h1, s1), (h2, s2)) + => MisbehaviorKind::BftDoublePrepare(round as u32, (h1, s1.signature), (h2, s2.signature)), + GenericMisbehavior::DoubleCommit(round, (h1, s1), (h2, s2)) + => MisbehaviorKind::BftDoubleCommit(round as u32, (h1, s1.signature), (h2, s2.signature)), + } + }; + let payload = (next_index, Call::Consensus(ConsensusCall::report_misbehavior(report))); + let signature = self.local_key.sign(&payload.encode()).into(); + next_index += 1; + + let local_id = self.local_key.public().0.into(); + let extrinsic = UncheckedExtrinsic { + signature: Some((demo_runtime::RawAddress::Id(local_id), signature)), + index: payload.0, + function: payload.1, + }; + let uxt: GenericExtrinsic = Decode::decode(&mut extrinsic.encode().as_slice()).expect("Encoded extrinsic is valid"); + self.transaction_pool.submit_one(&BlockId::hash(self.parent_hash), uxt) + .expect("locally signed extrinsic is valid; qed"); + } + } + + fn on_round_end(&self, round_number: usize, was_proposed: bool) { + let primary_validator = self.validators[ + self.primary_index(round_number, self.validators.len()) + ]; + + + // alter the message based on whether we think the empty proposer was forced to skip the round. + // this is determined by checking if our local validator would have been forced to skip the round. + if !was_proposed { + let public = ::ed25519::Public::from_raw(primary_validator.0); + info!( + "Potential Offline Validator: {} failed to propose during assigned slot: {}", + public, + round_number, + ); + } + + self.offline.write().note_round_end(primary_validator, was_proposed); + } +} + +fn current_timestamp() -> Timestamp { + time::SystemTime::now().duration_since(time::UNIX_EPOCH) + .expect("now always later than unix epoch; qed") + .as_secs() +} diff --git a/substrate/demo/consensus/src/offline_tracker.rs b/substrate/demo/consensus/src/offline_tracker.rs new file mode 100644 index 0000000000..243b801bce --- /dev/null +++ b/substrate/demo/consensus/src/offline_tracker.rs @@ -0,0 +1,137 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Tracks offline validators. + +use demo_primitives::AccountId; + +use std::collections::HashMap; +use std::time::{Instant, Duration}; + +// time before we report a validator. +const REPORT_TIME: Duration = Duration::from_secs(60 * 5); + +struct Observed { + last_round_end: Instant, + offline_since: Instant, +} + +impl Observed { + fn new() -> Observed { + let now = Instant::now(); + Observed { + last_round_end: now, + offline_since: now, + } + } + + fn note_round_end(&mut self, was_online: bool) { + let now = Instant::now(); + + self.last_round_end = now; + if was_online { + self.offline_since = now; + } + } + + fn is_active(&self) -> bool { + // can happen if clocks are not monotonic + if self.offline_since > self.last_round_end { return true } + self.last_round_end.duration_since(self.offline_since) < REPORT_TIME + } +} + +/// Tracks offline validators and can issue a report for those offline. +pub struct OfflineTracker { + observed: HashMap, +} + +impl OfflineTracker { + /// Create a new tracker. + pub fn new() -> Self { + OfflineTracker { observed: HashMap::new() } + } + + /// Note new consensus is starting with the given set of validators. + pub fn note_new_block(&mut self, validators: &[AccountId]) { + use std::collections::HashSet; + + let set: HashSet<_> = validators.iter().cloned().collect(); + self.observed.retain(|k, _| set.contains(k)); + } + + /// Note that a round has ended. + pub fn note_round_end(&mut self, validator: AccountId, was_online: bool) { + self.observed.entry(validator) + .or_insert_with(Observed::new) + .note_round_end(was_online); + } + + /// Generate a vector of indices for offline account IDs. + pub fn reports(&self, validators: &[AccountId]) -> Vec { + validators.iter() + .enumerate() + .filter_map(|(i, v)| if self.is_online(v) { + None + } else { + Some(i as u32) + }) + .collect() + } + + /// Whether reports on a validator set are consistent with our view of things. + pub fn check_consistency(&self, validators: &[AccountId], reports: &[u32]) -> bool { + reports.iter().cloned().all(|r| { + let v = match validators.get(r as usize) { + Some(v) => v, + None => return false, + }; + + // we must think all validators reported externally are offline. + let thinks_online = self.is_online(v); + !thinks_online + }) + } + + fn is_online(&self, v: &AccountId) -> bool { + self.observed.get(v).map(Observed::is_active).unwrap_or(true) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn validator_offline() { + let mut tracker = OfflineTracker::new(); + let v = [0; 32].into(); + let v2 = [1; 32].into(); + let v3 = [2; 32].into(); + tracker.note_round_end(v, true); + tracker.note_round_end(v2, true); + tracker.note_round_end(v3, true); + + let slash_time = REPORT_TIME + Duration::from_secs(5); + tracker.observed.get_mut(&v).unwrap().offline_since -= slash_time; + tracker.observed.get_mut(&v2).unwrap().offline_since -= slash_time; + + assert_eq!(tracker.reports(&[v, v2, v3]), vec![0, 1]); + + tracker.note_new_block(&[v, v3]); + assert_eq!(tracker.reports(&[v, v2, v3]), vec![0]); + } +} diff --git a/substrate/demo/consensus/src/service.rs b/substrate/demo/consensus/src/service.rs new file mode 100644 index 0000000000..e70bc78ab2 --- /dev/null +++ b/substrate/demo/consensus/src/service.rs @@ -0,0 +1,172 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Consensus service. + +/// Consensus service. A long running service that manages BFT agreement +/// the network. +use std::thread; +use std::time::{Duration, Instant}; +use std::sync::Arc; + +use bft::{self, BftService}; +use client::{BlockchainEvents, ChainHead, BlockBody}; +use ed25519; +use futures::prelude::*; +use demo_api::Api; +use demo_primitives::{Block, Header}; +use transaction_pool::TransactionPool; + +use tokio::executor::current_thread::TaskExecutor as LocalThreadHandle; +use tokio::runtime::TaskExecutor as ThreadPoolHandle; +use tokio::runtime::current_thread::Runtime as LocalRuntime; +use tokio::timer::Interval; + +use super::{Network, ProposerFactory}; +use error; + +const TIMER_DELAY_MS: u64 = 5000; +const TIMER_INTERVAL_MS: u64 = 500; + +// spin up an instance of BFT agreement on the current thread's executor. +// panics if there is no current thread executor. +fn start_bft( + header: Header, + bft_service: Arc>, +) where + F: bft::Environment + 'static, + C: bft::BlockImport + bft::Authorities + 'static, + F::Error: ::std::fmt::Debug, + >::Error: ::std::fmt::Display + Into, + >::Error: ::std::fmt::Display +{ + let mut handle = LocalThreadHandle::current(); + match bft_service.build_upon(&header) { + Ok(Some(bft_work)) => if let Err(e) = handle.spawn_local(Box::new(bft_work)) { + warn!(target: "bft", "Couldn't initialize BFT agreement: {:?}", e); + } + Ok(None) => trace!(target: "bft", "Could not start agreement on top of {}", header.hash()), + Err(e) => warn!(target: "bft", "BFT agreement error: {}", e), + } +} + +/// Consensus service. Starts working when created. +pub struct Service { + thread: Option>, + exit_signal: Option<::exit_future::Signal>, +} + +impl Service { + /// Create and start a new instance. + pub fn new( + client: Arc, + api: Arc, + network: N, + transaction_pool: Arc>, + thread_pool: ThreadPoolHandle, + key: ed25519::Pair, + ) -> Service + where + A: Api + Send + Sync + 'static, + C: BlockchainEvents + ChainHead + BlockBody, + C: bft::BlockImport + bft::Authorities + Send + Sync + 'static, + N: Network + Send + 'static, + { + use parking_lot::RwLock; + use super::OfflineTracker; + + let (signal, exit) = ::exit_future::signal(); + let thread = thread::spawn(move || { + let mut runtime = LocalRuntime::new().expect("Could not create local runtime"); + let key = Arc::new(key); + + let factory = ProposerFactory { + client: api.clone(), + transaction_pool: transaction_pool.clone(), + network, + handle: thread_pool.clone(), + offline: Arc::new(RwLock::new(OfflineTracker::new())), + }; + let bft_service = Arc::new(BftService::new(client.clone(), key, factory)); + + let notifications = { + let client = client.clone(); + let bft_service = bft_service.clone(); + + client.import_notification_stream().for_each(move |notification| { + if notification.is_new_best { + start_bft(notification.header, bft_service.clone()); + } + Ok(()) + }) + }; + + let interval = Interval::new( + Instant::now() + Duration::from_millis(TIMER_DELAY_MS), + Duration::from_millis(TIMER_INTERVAL_MS), + ); + + let mut prev_best = match client.best_block_header() { + Ok(header) => header.hash(), + Err(e) => { + warn!("Cant's start consensus service. Error reading best block header: {:?}", e); + return; + } + }; + + let timed = { + let c = client.clone(); + let s = bft_service.clone(); + + interval.map_err(|e| debug!(target: "bft", "Timer error: {:?}", e)).for_each(move |_| { + if let Ok(best_block) = c.best_block_header() { + let hash = best_block.hash(); + + if hash == prev_best { + debug!(target: "bft", "Starting consensus round after a timeout"); + start_bft(best_block, s.clone()); + } + prev_best = hash; + } + Ok(()) + }) + }; + + runtime.spawn(notifications); + runtime.spawn(timed); + + if let Err(e) = runtime.block_on(exit) { + debug!("BFT event loop error {:?}", e); + } + }); + Service { + thread: Some(thread), + exit_signal: Some(signal), + } + } +} + +impl Drop for Service { + fn drop(&mut self) { + if let Some(signal) = self.exit_signal.take() { + signal.fire(); + } + + if let Some(thread) = self.thread.take() { + thread.join().expect("The service thread has panicked"); + } + } +} diff --git a/substrate/demo/executor/Cargo.toml b/substrate/demo/executor/Cargo.toml index fd3de56684..5bf56e9a8f 100644 --- a/substrate/demo/executor/Cargo.toml +++ b/substrate/demo/executor/Cargo.toml @@ -25,4 +25,5 @@ substrate-runtime-session = { path = "../../substrate/runtime/session" } substrate-runtime-staking = { path = "../../substrate/runtime/staking" } substrate-runtime-system = { path = "../../substrate/runtime/system" } substrate-runtime-consensus = { path = "../../substrate/runtime/consensus" } +substrate-runtime-timestamp = { path = "../../substrate/runtime/timestamp" } substrate-runtime-treasury = { path = "../../substrate/runtime/treasury" } diff --git a/substrate/demo/executor/src/lib.rs b/substrate/demo/executor/src/lib.rs index 8c7941f3fc..17ae8b4738 100644 --- a/substrate/demo/executor/src/lib.rs +++ b/substrate/demo/executor/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2017 Parity Technologies (UK) Ltd. +// Copyright 2018 Parity Technologies (UK) Ltd. // This file is part of Substrate Demo. // Substrate Demo is free software: you can redistribute it and/or modify @@ -35,6 +35,7 @@ extern crate triehash; #[cfg(test)] extern crate substrate_runtime_staking as staking; #[cfg(test)] extern crate substrate_runtime_system as system; #[cfg(test)] extern crate substrate_runtime_consensus as consensus; +#[cfg(test)] extern crate substrate_runtime_timestamp as timestamp; #[cfg(test)] extern crate substrate_runtime_treasury as treasury; #[cfg(test)] #[macro_use] extern crate hex_literal; @@ -54,7 +55,7 @@ mod tests { use demo_primitives::{Hash, BlockNumber, AccountId}; use runtime_primitives::traits::Header as HeaderT; use runtime_primitives::{ApplyOutcome, ApplyError, ApplyResult}; - use {balances, staking, session, system, consensus, treasury}; + use {balances, staking, session, system, consensus, timestamp, treasury}; use system::{EventRecord, Phase}; use demo_runtime::{Header, Block, UncheckedExtrinsic, CheckedExtrinsic, Call, Runtime, Balances, BuildStorage, GenesisConfig, BalancesConfig, SessionConfig, StakingConfig, System, Event}; @@ -243,7 +244,6 @@ mod tests { use triehash::ordered_trie_root; let extrinsics = extrinsics.into_iter().map(sign).collect::>(); - let extrinsics_root = ordered_trie_root::(extrinsics.iter().map(Encode::encode)).0.into(); let header = Header { @@ -262,12 +262,19 @@ mod tests { construct_block( 1, [69u8; 32].into(), - hex!("1e930ccf2a39029931fcb9173637ab99a7de9d0364e7bf57cfbcb3eb4619e0d4").into(), - vec![CheckedExtrinsic { - signed: Some(alice()), - index: 0, - function: Call::Balances(balances::Call::transfer(bob().into(), 69)), - }] + hex!("54048fe23d4e04fda6419771037922eb43d96a7ec76aa280672609711999c3ca").into(), + vec![ + CheckedExtrinsic { + signed: None, + index: 0, + function: Call::Timestamp(timestamp::Call::set(42)), + }, + CheckedExtrinsic { + signed: Some(alice()), + index: 0, + function: Call::Balances(balances::Call::transfer(bob().into(), 69)), + }, + ] ) } @@ -275,8 +282,13 @@ mod tests { construct_block( 2, block1().1, - hex!("80e45869c9a9f513695b94baf479913ddf0bc9653f1be63baa383be8553a9e13").into(), + hex!("700c76e3b6125fd9d873629ca3f3cdc2f7704587c0a71def6b152f54b6a29805").into(), vec![ + CheckedExtrinsic { + signed: None, + index: 0, + function: Call::Timestamp(timestamp::Call::set(52)), + }, CheckedExtrinsic { signed: Some(bob()), index: 0, @@ -295,12 +307,19 @@ mod tests { construct_block( 1, [69u8; 32].into(), - hex!("58bf7cd5a908de7296bfc0524d89086384df3e8010ab83c8599be036445d6c79").into(), - vec![CheckedExtrinsic { - signed: Some(alice()), - index: 0, - function: Call::Consensus(consensus::Call::remark(vec![0; 60000000])), - }] + hex!("4428d38ae046f27254877b3a3bf0d8ec7731281aef65ebdb8bbbac86be5424a8").into(), + vec![ + CheckedExtrinsic { + signed: None, + index: 0, + function: Call::Timestamp(timestamp::Call::set(42)), + }, + CheckedExtrinsic { + signed: Some(alice()), + index: 0, + function: Call::Consensus(consensus::Call::remark(vec![0; 120000])), + } + ] ) } @@ -316,10 +335,14 @@ mod tests { assert_eq!(System::events(), vec![ EventRecord { phase: Phase::ApplyExtrinsic(0), + event: Event::system(system::Event::ExtrinsicSuccess) + }, + EventRecord { + phase: Phase::ApplyExtrinsic(1), event: Event::balances(balances::RawEvent::NewAccount(bob(), 1, balances::NewAccountOutcome::NoHint)) }, EventRecord { - phase: Phase::ApplyExtrinsic(0), + phase: Phase::ApplyExtrinsic(1), event: Event::balances(balances::RawEvent::Transfer( hex!["d172a74cda4c865912c32ba0a80a57ae69abae410e5ccb59dee84e2f4432db4f"].into(), hex!["d7568e5f0a7eda67a82691ff379ac4bba4f9c9b859fe779b5d46363b61ad2db9"].into(), @@ -328,7 +351,7 @@ mod tests { )) }, EventRecord { - phase: Phase::ApplyExtrinsic(0), + phase: Phase::ApplyExtrinsic(1), event: Event::system(system::Event::ExtrinsicSuccess) }, EventRecord { @@ -354,6 +377,10 @@ mod tests { assert_eq!(System::events(), vec![ EventRecord { phase: Phase::ApplyExtrinsic(0), + event: Event::system(system::Event::ExtrinsicSuccess) + }, + EventRecord { + phase: Phase::ApplyExtrinsic(1), event: Event::balances( balances::RawEvent::Transfer( hex!["d7568e5f0a7eda67a82691ff379ac4bba4f9c9b859fe779b5d46363b61ad2db9"].into(), @@ -364,11 +391,11 @@ mod tests { ) }, EventRecord { - phase: Phase::ApplyExtrinsic(0), + phase: Phase::ApplyExtrinsic(1), event: Event::system(system::Event::ExtrinsicSuccess) }, EventRecord { - phase: Phase::ApplyExtrinsic(1), + phase: Phase::ApplyExtrinsic(2), event: Event::balances( balances::RawEvent::Transfer( hex!["d172a74cda4c865912c32ba0a80a57ae69abae410e5ccb59dee84e2f4432db4f"].into(), @@ -379,7 +406,7 @@ mod tests { ) }, EventRecord { - phase: Phase::ApplyExtrinsic(1), + phase: Phase::ApplyExtrinsic(2), event: Event::system(system::Event::ExtrinsicSuccess) }, EventRecord { diff --git a/substrate/demo/network/Cargo.toml b/substrate/demo/network/Cargo.toml new file mode 100644 index 0000000000..3329f779b4 --- /dev/null +++ b/substrate/demo/network/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "demo-network" +version = "0.1.0" +authors = ["Parity Technologies "] +description = "Substrate demo networking protocol" + +[dependencies] +demo-api = { path = "../api" } +demo-consensus = { path = "../consensus" } +demo-primitives = { path = "../primitives" } +substrate-bft = { path = "../../substrate/bft" } +substrate-network = { path = "../../substrate/network" } +ed25519 = { path = "../../substrate/ed25519" } +futures = "0.1" +tokio = "0.1.7" +log = "0.4" +rhododendron = "0.3" diff --git a/substrate/demo/network/src/consensus.rs b/substrate/demo/network/src/consensus.rs new file mode 100644 index 0000000000..d7c5fd92c5 --- /dev/null +++ b/substrate/demo/network/src/consensus.rs @@ -0,0 +1,297 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! The "consensus" networking code built on top of the base network service. +//! This fulfills the `demo_consensus::Network` trait, providing a hook to be called +//! each time consensus begins on a new chain head. + +use bft; +use ed25519; +use substrate_network::{self as net, generic_message as msg}; +use substrate_network::consensus_gossip::ConsensusMessage; +use demo_api::Api; +use demo_consensus::Network; +use demo_primitives::{Block, Hash, SessionKey}; +use rhododendron; + +use futures::prelude::*; +use futures::sync::mpsc; + +use std::sync::Arc; + +use tokio::runtime::TaskExecutor; + +use super::NetworkService; + +/// Sink for output BFT messages. +pub struct BftSink { + network: Arc, + parent_hash: Hash, + _marker: ::std::marker::PhantomData, +} + +impl Sink for BftSink { + type SinkItem = bft::Communication; + // TODO: replace this with the ! type when that's stabilized + type SinkError = E; + + fn start_send(&mut self, message: bft::Communication) + -> ::futures::StartSend, E> + { + let network_message = net::LocalizedBftMessage { + message: match message { + rhododendron::Communication::Consensus(c) => msg::BftMessage::Consensus(match c { + rhododendron::LocalizedMessage::Propose(proposal) => msg::SignedConsensusMessage::Propose(msg::SignedConsensusProposal { + round_number: proposal.round_number as u32, + proposal: proposal.proposal, + digest: proposal.digest, + sender: proposal.sender, + digest_signature: proposal.digest_signature.signature, + full_signature: proposal.full_signature.signature, + }), + rhododendron::LocalizedMessage::Vote(vote) => msg::SignedConsensusMessage::Vote(msg::SignedConsensusVote { + sender: vote.sender, + signature: vote.signature.signature, + vote: match vote.vote { + rhododendron::Vote::Prepare(r, h) => msg::ConsensusVote::Prepare(r as u32, h), + rhododendron::Vote::Commit(r, h) => msg::ConsensusVote::Commit(r as u32, h), + rhododendron::Vote::AdvanceRound(r) => msg::ConsensusVote::AdvanceRound(r as u32), + } + }), + }), + rhododendron::Communication::Auxiliary(justification) => { + let unchecked: bft::UncheckedJustification<_> = justification.uncheck().into(); + msg::BftMessage::Auxiliary(unchecked.into()) + } + }, + parent_hash: self.parent_hash, + }; + self.network.with_spec( + move |spec, ctx| spec.consensus_gossip.multicast_bft_message(ctx, network_message) + ); + Ok(::futures::AsyncSink::Ready) + } + + fn poll_complete(&mut self) -> ::futures::Poll<(), E> { + Ok(Async::Ready(())) + } +} + +// check signature and authority validity of message. +fn process_bft_message( + msg: msg::LocalizedBftMessage, + local_id: &SessionKey, + authorities: &[SessionKey] + ) -> Result>, bft::Error> +{ + Ok(Some(match msg.message { + msg::BftMessage::Consensus(c) => rhododendron::Communication::Consensus(match c { + msg::SignedConsensusMessage::Propose(proposal) => rhododendron::LocalizedMessage::Propose({ + if &proposal.sender == local_id { return Ok(None) } + let proposal = rhododendron::LocalizedProposal { + round_number: proposal.round_number as usize, + proposal: proposal.proposal, + digest: proposal.digest, + sender: proposal.sender, + digest_signature: ed25519::LocalizedSignature { + signature: proposal.digest_signature, + signer: ed25519::Public(proposal.sender.into()), + }, + full_signature: ed25519::LocalizedSignature { + signature: proposal.full_signature, + signer: ed25519::Public(proposal.sender.into()), + } + }; + bft::check_proposal(authorities, &msg.parent_hash, &proposal)?; + + trace!(target: "bft", "importing proposal message for round {} from {}", proposal.round_number, Hash::from(proposal.sender.0)); + proposal + }), + msg::SignedConsensusMessage::Vote(vote) => rhododendron::LocalizedMessage::Vote({ + if &vote.sender == local_id { return Ok(None) } + let vote = rhododendron::LocalizedVote { + sender: vote.sender, + signature: ed25519::LocalizedSignature { + signature: vote.signature, + signer: ed25519::Public(vote.sender.0), + }, + vote: match vote.vote { + msg::ConsensusVote::Prepare(r, h) => rhododendron::Vote::Prepare(r as usize, h), + msg::ConsensusVote::Commit(r, h) => rhododendron::Vote::Commit(r as usize, h), + msg::ConsensusVote::AdvanceRound(r) => rhododendron::Vote::AdvanceRound(r as usize), + } + }; + bft::check_vote::(authorities, &msg.parent_hash, &vote)?; + + trace!(target: "bft", "importing vote {:?} from {}", vote.vote, Hash::from(vote.sender.0)); + vote + }), + }), + msg::BftMessage::Auxiliary(a) => { + let justification = bft::UncheckedJustification::from(a); + // TODO: get proper error + let justification: Result<_, bft::Error> = bft::check_prepare_justification::(authorities, msg.parent_hash, justification) + .map_err(|_| bft::ErrorKind::InvalidJustification.into()); + rhododendron::Communication::Auxiliary(justification?) + }, + })) +} + +// task that processes all gossipped consensus messages, +// checking signatures +struct MessageProcessTask { + inner_stream: mpsc::UnboundedReceiver>, + bft_messages: mpsc::UnboundedSender>, + validators: Vec, + local_id: SessionKey, +} + +impl MessageProcessTask { + fn process_message(&self, msg: ConsensusMessage) -> Option> { + match msg { + ConsensusMessage::Bft(msg) => { + match process_bft_message(msg, &self.local_id, &self.validators[..]) { + Ok(Some(msg)) => { + if let Err(_) = self.bft_messages.unbounded_send(msg) { + // if the BFT receiving stream has ended then + // we should just bail. + trace!(target: "bft", "BFT message stream appears to have closed"); + return Some(Async::Ready(())); + } + } + Ok(None) => {} // ignored local message + Err(e) => { + debug!("Message validation failed: {:?}", e); + } + } + } + ConsensusMessage::ChainSpecific(_, _) => { + panic!("ChainSpecific messages are not allowed by the top level message handler"); + } + } + + None + } +} + +impl Future for MessageProcessTask { + type Item = (); + type Error = (); + + fn poll(&mut self) -> Poll<(), ()> { + loop { + match self.inner_stream.poll() { + Ok(Async::Ready(Some(val))) => if let Some(async) = self.process_message(val) { + return Ok(async); + }, + Ok(Async::Ready(None)) => return Ok(Async::Ready(())), + Ok(Async::NotReady) => return Ok(Async::NotReady), + Err(e) => { + debug!(target: "demo-network", "Error getting consensus message: {:?}", e); + return Err(e); + }, + } + } + } +} + +/// Input stream from the consensus network. +pub struct InputAdapter { + input: mpsc::UnboundedReceiver>, +} + +impl Stream for InputAdapter { + type Item = bft::Communication; + type Error = ::demo_consensus::Error; + + fn poll(&mut self) -> Poll, Self::Error> { + match self.input.poll() { + Err(_) | Ok(Async::Ready(None)) => Err(bft::InputStreamConcluded.into()), + Ok(x) => Ok(x) + } + } +} + +/// Wrapper around the network service +pub struct ConsensusNetwork

{ + network: Arc, + api: Arc

, +} + +impl

ConsensusNetwork

{ + /// Create a new consensus networking object. + pub fn new(network: Arc, api: Arc

) -> Self { + ConsensusNetwork { network, api } + } +} + +impl

Clone for ConsensusNetwork

{ + fn clone(&self) -> Self { + ConsensusNetwork { + network: self.network.clone(), + api: self.api.clone(), + } + } +} + +/// A long-lived network which can create parachain statement and BFT message routing processes on demand. +impl Network for ConsensusNetwork

{ + /// The input stream of BFT messages. Should never logically conclude. + type Input = InputAdapter; + /// The output sink of BFT messages. Messages sent here should eventually pass to all + /// current validators. + type Output = BftSink<::demo_consensus::Error>; + + /// Get input and output streams of BFT messages. + fn communication_for( + &self, validators: &[SessionKey], + local_id: SessionKey, + parent_hash: Hash, + task_executor: TaskExecutor + ) -> (Self::Input, Self::Output) + { + let sink = BftSink { + network: self.network.clone(), + parent_hash, + _marker: Default::default(), + }; + + let (bft_send, bft_recv) = mpsc::unbounded(); + + // spin up a task in the background that processes all incoming statements + // TODO: propagate statements on a timer? + let process_task = self.network.with_spec(|spec, _ctx| { + spec.new_consensus(parent_hash); + MessageProcessTask { + inner_stream: spec.consensus_gossip.messages_for(parent_hash), + bft_messages: bft_send, + validators: validators.to_vec(), + local_id, + } + }); + + match process_task { + Some(task) => task_executor.spawn(task), + None => warn!(target: "demo-network", "Cannot process incoming messages: network appears to be down"), + } + + (InputAdapter { input: bft_recv }, sink) + } +} + +/// Error when the network appears to be down. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub struct NetworkDown; diff --git a/substrate/demo/network/src/lib.rs b/substrate/demo/network/src/lib.rs new file mode 100644 index 0000000000..f32c039669 --- /dev/null +++ b/substrate/demo/network/src/lib.rs @@ -0,0 +1,117 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Substrate Demo-specific network implementation. +//! +//! This manages gossip of consensus messages for BFT. + +#![warn(unused_extern_crates)] + +extern crate substrate_bft as bft; +extern crate substrate_network; + +extern crate demo_api; +extern crate demo_consensus; +extern crate demo_primitives; + +extern crate ed25519; +extern crate futures; +extern crate tokio; +extern crate rhododendron; + +#[macro_use] +extern crate log; + +pub mod consensus; + +use demo_primitives::{Block, Hash, Header}; +use substrate_network::{NodeIndex, Context, Severity}; +use substrate_network::consensus_gossip::ConsensusGossip; +use substrate_network::{message, generic_message}; +use substrate_network::specialization::Specialization; +use substrate_network::StatusMessage as GenericFullStatus; + +/// Demo protocol id. +pub const PROTOCOL_ID: ::substrate_network::ProtocolId = *b"dot"; + +type FullStatus = GenericFullStatus; + +/// Specialization of the network service for the demo protocol. +pub type NetworkService = ::substrate_network::Service; + + +/// Demo protocol attachment for substrate. +pub struct Protocol { + consensus_gossip: ConsensusGossip, + live_consensus: Option, +} + +impl Protocol { + /// Instantiate a demo protocol handler. + pub fn new() -> Self { + Protocol { + consensus_gossip: ConsensusGossip::new(), + live_consensus: None, + } + } + + /// Note new consensus session. + fn new_consensus(&mut self, parent_hash: Hash) { + let old_consensus = self.live_consensus.take(); + self.live_consensus = Some(parent_hash); + self.consensus_gossip.collect_garbage(old_consensus.as_ref()); + } +} + +impl Specialization for Protocol { + fn status(&self) -> Vec { + Vec::new() + } + + fn on_connect(&mut self, ctx: &mut Context, who: NodeIndex, status: FullStatus) { + self.consensus_gossip.new_peer(ctx, who, status.roles); + } + + fn on_disconnect(&mut self, ctx: &mut Context, who: NodeIndex) { + self.consensus_gossip.peer_disconnected(ctx, who); + } + + fn on_message(&mut self, ctx: &mut Context, who: NodeIndex, message: message::Message) { + match message { + generic_message::Message::BftMessage(msg) => { + trace!(target: "demo-network", "BFT message from {}: {:?}", who, msg); + // TODO: check signature here? what if relevant block is unknown? + self.consensus_gossip.on_bft_message(ctx, who, msg) + } + generic_message::Message::ChainSpecific(_) => { + trace!(target: "demo-network", "Bad message from {}", who); + ctx.report_peer(who, Severity::Bad("Invalid demo protocol message format")); + } + _ => {} + } + } + + fn on_abort(&mut self) { + self.consensus_gossip.abort(); + } + + fn maintain_peers(&mut self, _ctx: &mut Context) { + } + + fn on_block_imported(&mut self, _ctx: &mut Context, _hash: Hash, _header: &Header) { + } +} + diff --git a/substrate/demo/primitives/Cargo.toml b/substrate/demo/primitives/Cargo.toml index 1a359e06e7..b517210d19 100644 --- a/substrate/demo/primitives/Cargo.toml +++ b/substrate/demo/primitives/Cargo.toml @@ -7,6 +7,7 @@ authors = ["Parity Technologies "] serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } substrate-codec = { path = "../../substrate/codec", default_features = false } +substrate-codec-derive = { path = "../../substrate/codec/derive", default_features = false } substrate-primitives = { path = "../../substrate/primitives", default_features = false } substrate-runtime-std = { path = "../../substrate/runtime-std", default_features = false } substrate-runtime-primitives = { path = "../../substrate/runtime/primitives", default_features = false } @@ -18,6 +19,7 @@ pretty_assertions = "0.4" [features] default = ["std"] std = [ + "substrate-codec-derive/std", "substrate-codec/std", "substrate-primitives/std", "substrate-runtime-std/std", diff --git a/substrate/demo/primitives/src/lib.rs b/substrate/demo/primitives/src/lib.rs index 858002bb98..eacaf7185a 100644 --- a/substrate/demo/primitives/src/lib.rs +++ b/substrate/demo/primitives/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2017 Parity Technologies (UK) Ltd. +// Copyright 2018 Parity Technologies (UK) Ltd. // This file is part of Substrate Demo. // Substrate Demo is free software: you can redistribute it and/or modify @@ -21,17 +21,31 @@ #![cfg_attr(not(feature = "std"), no_std)] #![cfg_attr(not(feature = "std"), feature(alloc))] -#[cfg(feature = "std")] extern crate serde; +#[cfg(feature = "std")] +extern crate serde; + +#[cfg(feature = "std")] +#[macro_use] +extern crate serde_derive; + +#[macro_use] +extern crate substrate_codec_derive; extern crate substrate_runtime_std as rstd; extern crate substrate_runtime_primitives as runtime_primitives; extern crate substrate_primitives as primitives; extern crate substrate_codec as codec; +use rstd::prelude::*; +use runtime_primitives::generic; +#[cfg(feature = "std")] +use primitives::bytes; +use runtime_primitives::traits::{BlakeTwo256, DigestItem}; + /// An index to a block. pub type BlockNumber = u64; -/// Alias to Ed25519 pubkey that identifies an account on the relay chain. This will almost +/// Alias to Ed25519 pubkey that identifies an account on the chain. This will almost /// certainly continue to be the same as the substrate's `AuthorityId`. pub type AccountId = ::primitives::H256; @@ -42,15 +56,52 @@ pub type AccountIndex = u32; /// Balance of an account. pub type Balance = u64; -/// The Ed25519 pub key of an session that belongs to an authority of the relay chain. This is +/// The Ed25519 pub key of an session that belongs to an authority of the chain. This is /// exactly equivalent to what the substrate calls an "authority". pub type SessionKey = primitives::AuthorityId; -/// Index of a transaction in the relay chain. +/// Index of a transaction in the chain. pub type Index = u64; -/// A hash of some data used by the relay chain. +/// A hash of some data used by the chain. pub type Hash = primitives::H256; -/// Alias to 512-bit hash when used in the context of a signature on the relay chain. +/// Alias to 512-bit hash when used in the context of a signature on the chain. pub type Signature = runtime_primitives::Ed25519Signature; + +/// A timestamp: seconds since the unix epoch. +pub type Timestamp = u64; + +/// Header type. +pub type Header = generic::Header; +/// Block type. +pub type Block = generic::Block; +/// Block ID. +pub type BlockId = generic::BlockId; + +/// A log entry in the block. +#[derive(PartialEq, Eq, Clone, Default, Encode, Decode)] +#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] +pub struct Log(#[cfg_attr(feature = "std", serde(with="bytes"))] pub Vec); + +//TODO: remove this. Generic primitives should not require DigestItem +impl DigestItem for Log { + type AuthoritiesChange = (); + fn as_authorities_change(&self) -> Option<&()> { + unreachable!() + } +} + +/// Opaque, encoded, unchecked extrinsic. +#[derive(PartialEq, Eq, Clone, Default, Encode, Decode)] +#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] +pub struct UncheckedExtrinsic(#[cfg_attr(feature = "std", serde(with="bytes"))] pub Vec); +/// +/// Inherent data to include in a block. +#[derive(Encode, Decode)] +pub struct InherentData { + /// Current timestamp. + pub timestamp: Timestamp, + /// Indices of offline validators. + pub offline_indices: Vec, +} diff --git a/substrate/demo/runtime/src/checked_block.rs b/substrate/demo/runtime/src/checked_block.rs new file mode 100644 index 0000000000..281a9e4136 --- /dev/null +++ b/substrate/demo/runtime/src/checked_block.rs @@ -0,0 +1,94 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Typesafe block interaction. + +use super::{Call, Block, TIMESTAMP_SET_POSITION, NOTE_OFFLINE_POSITION}; +use timestamp::Call as TimestampCall; +use consensus::Call as ConsensusCall; + +/// Provides a type-safe wrapper around a structurally valid block. +pub struct CheckedBlock { + inner: Block, + file_line: Option<(&'static str, u32)>, +} + +impl CheckedBlock { + /// Create a new checked block. Fails if the block is not structurally valid. + pub fn new(block: Block) -> Result { + let has_timestamp = block.extrinsics.get(TIMESTAMP_SET_POSITION as usize).map_or(false, |xt| { + !xt.is_signed() && match xt.function { + Call::Timestamp(TimestampCall::set(_)) => true, + _ => false, + } + }); + + if !has_timestamp { return Err(block) } + + Ok(CheckedBlock { + inner: block, + file_line: None, + }) + } + + // Creates a new checked block, asserting that it is valid. + #[doc(hidden)] + pub fn new_unchecked(block: Block, file: &'static str, line: u32) -> Self { + CheckedBlock { + inner: block, + file_line: Some((file, line)), + } + } + + /// Extract the timestamp from the block. + pub fn timestamp(&self) -> ::demo_primitives::Timestamp { + let x = self.inner.extrinsics.get(TIMESTAMP_SET_POSITION as usize).and_then(|xt| match xt.function { + Call::Timestamp(TimestampCall::set(x)) => Some(x), + _ => None + }); + + match x { + Some(x) => x, + None => panic!("Invalid block asserted at {:?}", self.file_line), + } + } + + /// Extract the noted missed proposal validator indices (if any) from the block. + pub fn noted_offline(&self) -> &[u32] { + self.inner.extrinsics.get(NOTE_OFFLINE_POSITION as usize).and_then(|xt| match xt.function { + Call::Consensus(ConsensusCall::note_offline(ref x)) => Some(&x[..]), + _ => None, + }).unwrap_or(&[]) + } + + /// Convert into inner block. + pub fn into_inner(self) -> Block { self.inner } +} + +impl ::std::ops::Deref for CheckedBlock { + type Target = Block; + + fn deref(&self) -> &Block { &self.inner } +} + +/// Assert that a block is structurally valid. May lead to panic in the future +/// in case it isn't. +#[macro_export] +macro_rules! assert_demo_block { + ($block: expr) => { + $crate::CheckedBlock::new_unchecked($block, file!(), line!()) + } +} diff --git a/substrate/demo/runtime/src/lib.rs b/substrate/demo/runtime/src/lib.rs index c07e510476..8a93fef97e 100644 --- a/substrate/demo/runtime/src/lib.rs +++ b/substrate/demo/runtime/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2017 Parity Technologies (UK) Ltd. +// Copyright 2018 Parity Technologies (UK) Ltd. // This file is part of Substrate Demo. // Substrate Demo is free software: you can redistribute it and/or modify @@ -40,6 +40,7 @@ extern crate substrate_primitives; #[macro_use] extern crate substrate_codec_derive; +#[cfg_attr(not(feature = "std"), macro_use)] extern crate substrate_runtime_std as rstd; extern crate substrate_runtime_balances as balances; extern crate substrate_runtime_consensus as consensus; @@ -55,7 +56,11 @@ extern crate substrate_runtime_treasury as treasury; extern crate substrate_runtime_version as version; extern crate demo_primitives; -use demo_primitives::{AccountId, AccountIndex, Balance, BlockNumber, Hash, Index, SessionKey, Signature}; +#[cfg(feature = "std")] +mod checked_block; + +use rstd::prelude::*; +use demo_primitives::{AccountId, AccountIndex, Balance, BlockNumber, Hash, Index, SessionKey, Signature, InherentData}; use runtime_primitives::generic; use runtime_primitives::traits::{Convert, BlakeTwo256, DigestItem}; use version::RuntimeVersion; @@ -63,7 +68,15 @@ use council::motions as council_motions; use substrate_primitives::u32_trait::{_2, _4}; #[cfg(any(feature = "std", test))] -pub use runtime_primitives::{BuildStorage, Permill}; +pub use runtime_primitives::BuildStorage; +pub use consensus::Call as ConsensusCall; +pub use timestamp::Call as TimestampCall; +pub use runtime_primitives::Permill; +#[cfg(any(feature = "std", test))] +pub use checked_block::CheckedBlock; + +const TIMESTAMP_SET_POSITION: u32 = 0; +const NOTE_OFFLINE_POSITION: u32 = 1; // Workaround for https://github.com/rust-lang/rust/issues/26925 . Remove when sorted. #[derive(Clone, Copy, PartialEq, Eq)] @@ -74,7 +87,7 @@ pub struct Runtime; /// Runtime version. pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: ver_str!("demo"), - impl_name: ver_str!("parity-demo"), + impl_name: ver_str!("substrate-demo"), authoring_version: 1, spec_version: 1, impl_version: 0, @@ -107,7 +120,7 @@ impl balances::Trait for Runtime { pub type Balances = balances::Module; impl consensus::Trait for Runtime { - const NOTE_OFFLINE_POSITION: u32 = 1; + const NOTE_OFFLINE_POSITION: u32 = NOTE_OFFLINE_POSITION; type Log = Log; type SessionKey = SessionKey; type OnOfflineValidator = Staking; @@ -117,8 +130,7 @@ impl consensus::Trait for Runtime { pub type Consensus = consensus::Module; impl timestamp::Trait for Runtime { - const TIMESTAMP_SET_POSITION: u32 = 0; - + const TIMESTAMP_SET_POSITION: u32 = TIMESTAMP_SET_POSITION; type Moment = u64; } @@ -240,6 +252,8 @@ impl DigestItem for Log { } } +/// The address format for describing accounts. +pub use balances::address::Address as RawAddress; /// The address format for describing accounts. pub type Address = balances::Address; /// Block header type as expected by this runtime. @@ -254,18 +268,43 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = executive::Executive; + (((((((), Treasury), Council), Democracy), Staking), Session), Timestamp)>; pub mod api { impl_stubs!( version => |()| super::VERSION, authorities => |()| super::Consensus::authorities(), - events => |()| super::System::events(), initialise_block => |header| super::Executive::initialise_block(&header), apply_extrinsic => |extrinsic| super::Executive::apply_extrinsic(extrinsic), execute_block => |block| super::Executive::execute_block(block), finalise_block => |()| super::Executive::finalise_block(), + inherent_extrinsics => |(inherent, spec_version)| super::inherent_extrinsics(inherent, spec_version), validator_count => |()| super::Session::validator_count(), - validators => |()| super::Session::validators() + validators => |()| super::Session::validators(), + timestamp => |()| super::Timestamp::get(), + random_seed => |()| super::System::random_seed(), + account_nonce => |account| super::System::account_nonce(&account), + lookup_address => |address| super::Balances::lookup_address(address) ); } + +/// Produces the list of inherent extrinsics. +fn inherent_extrinsics(data: InherentData, _spec_version: u32) -> Vec { + let make_inherent = |function| UncheckedExtrinsic { + signature: Default::default(), + function, + index: 0, + }; + + let mut inherent = vec![ + make_inherent(Call::Timestamp(TimestampCall::set(data.timestamp))), + ]; + + if !data.offline_indices.is_empty() { + inherent.push(make_inherent( + Call::Consensus(ConsensusCall::note_offline(data.offline_indices)) + )); + } + + inherent +} diff --git a/substrate/demo/runtime/wasm/Cargo.lock b/substrate/demo/runtime/wasm/Cargo.lock index 56c05ce783..333c02b898 100644 --- a/substrate/demo/runtime/wasm/Cargo.lock +++ b/substrate/demo/runtime/wasm/Cargo.lock @@ -83,6 +83,7 @@ dependencies = [ "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", + "substrate-codec-derive 0.1.0", "substrate-primitives 0.1.0", "substrate-runtime-primitives 0.1.0", "substrate-runtime-std 0.1.0", diff --git a/substrate/demo/runtime/wasm/genesis.wasm b/substrate/demo/runtime/wasm/genesis.wasm deleted file mode 100644 index bc0cb89235c570beee9e2749b796933e05e9f774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76656 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 diff --git a/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm b/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm index 15128a6727a2d0310cfe026617f402faf1d70733..6c8c6bb1c82eeaadec8206a5e1b54882a9e4609b 100644 GIT binary patch literal 301513 zcmeFad-z?~S>L%Y=YIM9jxM%;wtU&=SWbRQtXOtzNs&UMt>B9yJIOG#4a^^oaRl*C zjvdR23(vz?PUB`wDPR~VfdVmw!Ok=FVA{@*8DJtv(ioDNF_))gn6zkUC~iqWTsjjT zpq|h7eb?H1pYuDCWjhHx^B_Ia*?aA^*Lv4`f8TZ4$z2b=Cry$hy?e_$^HZlzrKjGR z+5f37(^JVi+mu>KOTUR8C+|!jPON(JPAjEqLgA_OVIK1+dzd;j$7So(!{M#;;p_wX z*8JFg4-Jle>&ZLcbJxB1-hX$Jsi3EVZ$5GCSd!~@yKcYb*vUH|JbC|#yT0Yvo%h^# z^8TcyM_1|5@nd)2eb@0jkKOma_Z&NM*U4k=y7T0Tdyd_C;{N+jCT-PPQLXo$;I%v7 zck-L}Cmj`z>q1^kx+-%>j=ksZ_kLTF%oV)nyZNY%{5nh8j- z;Te9s{=06t>89)7aOXqEPTcd&-veK!cX~ZuvVWs7 zKfFt;ot55bWjGqGbg8tOcE+Q2O0|r4d&4}X4VufdY{H*jZ_?GT{&YHNCm)SEt#_-GCY-(Py9*axBJhsZ5>E+|A}wQl1uM|OWt+QiDP%eN$bMPQLs86Zf3F=h%bEhtkPC_i=gGz4ttL?9Ok3bB`xKl&;?O-uK@7 zZIBNByYIn!?oNIop;~=zWYulKb{V%q6d?In)XlL^PXc5p1cdz{E2jU;;#GNb^m){vSaT`eli{3 zb+^5A=Y99zclWX6ze`u{z5o8>?|bi^cfIRfCyqV%VDeLGe@mK_>2PrU-hKPu@HO9+ zURNF-{K2OtKbn3lOFO5sL-pSxDO(%sSu)GG>e*F(ygZ$}ZJZQ2zZ0Y|l>c@m$-YE2_vn64eZQ{z_4>Zh zeNo@9>3*%gpXh#4-_u=6pRxTS^{dt4WINz=%5-v3G91uzkrvsc!)5vG|9Lu@ye=7z zlk&5$Z8@8?l4SVBMI>j3Y+yojZsXEb>v-7`mRk@&h!v7^A-ThV+eN2Fa=w7%o{-!# zB}xwj0@hWuX9+9Ag zJ`6R-FpT$YB;gIiaXlI#Ht=#7O~z;rBuN-c+sE+B>AB>x$uLd|r0!e{6G%}r3?yJ6 z5Cw)ZdWdNA^iXq=VT@VA8#WM$qVaB%EXFJlc!4Z|9RE|EW{|@$Gee+`jw^nOe8tmr zrJwZqlV*7E>~d%aJZ8>8c}jccOQ?50vd&#yR2( zrMp&XCc;cEH7Kgu6sbn1Zc&$^#ZjkfQk4)Po@{Prchb^hwAj+eOA3XHa=R~ru2Q?WkkqM=K(8Yp+`s_l^gr!Ur_a9u|Imcf zVSb1zjBXp@z(2+~VvK-il?oVgTy!9&f|#3jCe&FVg(&BF8cf(OVv%s z*ypquV?xqlp<3t>ly#@*ZxkbuxUX^di$RG734Jo;BhHh>(3v5q5RpdjWC-)lsQt!{ z!^)`khd?{;nAB!He+Tiu0aoMcx~z zZF)5)a0OtC)#?V1Zc^RAa9hI70PMq{L-A>VufeCVvXs^)KE?U170dF29$tSqh%}n)0@PTq=1|0cx>9p!FQ_p%6#XSN24D6nmhD$8E0rcbMS-CkTGJJ& zwgx+|L5dyBigNym$#IuW z8E0<0W#x&usxgdr%-S{vghe5W4Fg(Gr|rWi#$%!eS!VgOog!#Qf+x4kK|5lZ`^FWm zq8}`COZCMS!7{sM9D|{}vdjas%!6o|88o9E5GZ>bZ8DrkGFzVvC|c&A@diSTh1sV2 z#Nt9yKpH@d1Oz?F$=PhR|3~sGo5?Qk^(*Dd1sAUJ*vxCgPa{Z#@Rob9fp^>$BN{Sy zOm0{oU6taHLCymS=B?-oP7uaV(b0cdi6KlGZU%+Q^yq95bi_ccXRm>W-O1{70BX{r zFDb`$6+PuMNuOcO$%^Q)fa(L(P@(XU2(r&ByktVnJ>(ls+ajN833OFTH;MtVVbPPN z3T?ZkB372aO{8jGsG_2x?_wGfCrcfyzS}MN;P9^bB2Q*%YmsbdoAZ!O{w=!af;@1f zWRr7cQn1v~hITmG*ozcz9b_;<98CGqWJKBm37kZ8BGQUbQWkBXK^)ASNGwp6vv!~t zs^ku_gai?3R{f14cdbrOjB z#CK7a;UH7J_z#sLFto%9O|JRpO0tjyNsoim(S1`Cp)sShXxE1ZIYww0=$W4s;%{S6 zxifc$1a>W=Ei$4P-XW+rQC_6ors;>cMG?foJ8j$%ZU< z&VQ9xp)w43&VO@d*zufZ=gQz+NlGj$a=W^XF3?Cof+eEDI=~BIfW-^K60j3}lId!36_iQEx$~+Hf+4CsHK*g3$_*i4aS6B_bygQpMH*S;{DJ zUm*_#Z%;@t9ZvD795oRQqMLOm(A1rJ0?w*C^~8PEoqFQF>dsuDCA3P&FVOP(Mwv@;WAF^=>e8CoW_>S3N8@MtH8CPdf4>H(LE*hrESVMdl94GbcS_1DN`T5ibpsyT)eVre;>~6P z8O?6nmq(g`4+AoCgi%<-tf}l=pt6cIfm0kEu`}l;l|>SZA)3t_MIEPhw*DB4t1J@bp<@3pcaF%Pc6nU-a!r091i z<}D}XKncx^N9IgNLnFOaM?$j57)L2;vtD8yP%`aghsw(^nO)pR*$A1qNs%4CY+tsW zHmUUMpE#XRWlcWSBwAkj=XU$7SICo{^~21P(sRgS{|MTlr#Tx%2&6%98i;UiQ>pCL zkPd;pPt4gZhRRYFLvvF#d5{tYb)|kS*Ei6W>H}bxt10TJt8`$_tPub{!{kO67y8ve zMB9lPQ1C!G!xL=Xa&W7Xkn&1U<~TdxKvAFkfuf5~VdIyDFE4XH43f{|lmNmSC9UV;mja>e*NUS{B*D>yZ3g)oYXaJman#Em;v)b%id3htO2fcUZ24*!1!tbDzqv$L&oAoG@&&%s>Y z%@e{ZPNYT*Irs2`k4CrRFyv}oP_GMS=7&qltC&tR28f>6o(j)pQ+{_RdzkQGk{f<3 zS07-enK>&kRU~1Ks@>{zQOtSyS%CW6<)=@Bsn<{5EM4uKnU{}uJ#>!nc-wkskAMdB zvUMUbrM!reT!*x-9&{p8+5<#Z;j6u|ab1!eOu;e0CeJaQvJQk`gSjciF<3s&0BO?4 zx(YocrOCl0;qIroYX#13j(|~uN1x=%%QJSToJwAP z&aNkE69tA9S^;f74X2K9oW(BGpZuL=l~qB++gxFH@*A0+N;__T>P5pwlb<^0#Ayl~ zu5+@W4>Re*+-HD^@tSkkVFuV3!=`jM%>ctin`VH?ljgj~{fr%pX!fMx0@(V1?LR~5djVv#f_MgGg|5%<_5 z<^+mWGIv-aH8`~#nBKvLF^4r}8W*L$fj%C3f)3a{Tf-~LFerUZr5v3hMu*B2jNyfg;_`mLa{M%by%dqXOy=e95>gAl~YT_YL3LRdJICLaBUxXL9LijHUbH| zr&TpwJ+J+6)z6tD+cZfby2*OH8X+fGLJVvgctWg<`*#!5;^+@XZdXZCFKOuwJG?SU z{3jj0J4;XHa&z_^pQV_dWEU<6;=L>DiSKtoZtM{WLoHlN#XL<)7-fz@RB49_44@to{(P9Q5d;V8t{`Gi;BjHvHkP zC$fs;vo-}dI7*z5Gcvb}1$Uo7+zBA%ewsQH<{psy)-GRbPbBUgsfr#&N}y7)Tedz2>=`AsxIYku7pUnF5@Sp{P+B+_BgvdP}lJ+AHyBBv? zS3RyKy21}>vP6B&$Ws&($g*`0NP6cEbV#@CJz)N2=Q#P&v`A#+>$B2Bf-jo z5uoi#4&m0RO&7E!#mVGv;coyBP6VM*LYfB#M3S~7i6De&!J<~6RMlB?askyLsGJq# z$?zZh!qlkbas&csy=UfyPtjNC8~0?iF->55#v*OjdmAwKc~7y5kqp>C|ELR6sq+wG zs;au`${fg7N=d=-3bel5>D(eG`$BS5bk>rj%gc1yXIhXqUsyc~5|vealc;y%KyroM zbsj3OdH|AAaCr%trG)#2B|!+57Ewe;wDv+CI;onwGB!8g{^%hbu=0$zpVPjiix##% zRGziMIhd}pJKmXZ1R!IRKpM%zkA zGkA^;OOx0PvCs`ttS7KQxZ>$f3eK=7(PL1`m9YNIr&T~4DZwxFgH@I@sjGr3qDi%R zR;w9N$8SOJTX>7Y&?22wnjXIiO|R?TKI`|n=hZ3>M^N;@B47#0(DLec@|xt!II2f} z>t&AWabDD@KG}CING5pJVpQ01p@#tgG^`JwnF379_v4|U$?$Y=q8`Da5}UxuXf#Wu z7rl*ZlcfCEske;bfA|VcLc&;+sl+kyBo$Z|(?OP*e?dE$<6#w~>6rACenYc}D9nD8 zD7YO`04>+zpZ>1Xh$JOTbRO7EkIs6?tR_A90ozB%nG~Wa;3BmQyMCkxd2X;C!gS&C zOo7)1T&Oa2x@`wu*l4Qhd*Hq-BR$zBVRYE8=iz4Sp9Zhe!`ey z4_B1m$j|BjRa~;4K3b&`fn>wE(ro|R?MeacJM4;n_c9pkK7L2YZ<#p-*6M?`=yG$l#9M+zPqNcG_BKjCs$5i z@u<^Rly>@x((eXfgRtV!C;l&2V-sY_EWZA0P2M#8$k0~IwNHTx^nk*!wONiEsQD># zT$q<)KY-!K6h(Gu`Cn@mSM~4VVw6{+T-4giRY@z$*uk;+&x(pxaFG8rnI@x=(jlKq zZW&7xOb)UDgZuQvx0KmKW%t3S4?n`6=aNU6^oF{BtT+0@@(=XuQL13#jo>UKcY8wan|l6Wi6=Y9N+P;J1&K2Q4gKFJCBJ&T1lCu#mY zuEy{E13*s8=k-Ig({64!H))v-%C(c_+WThscv@vEuI&|r<2a>?Cp0INl|S*=X`#|# z((^v98u&PA<2zxMSx0Byo&jB^4@w&C#b9y_n_YQwO>C;=SAb0-_VUA62ok^L@6yx- zVpERkCT!~cP1y9pIc$F59~w3v)z3@CCMZG;pk`kjn-JA3AuJHFsTaYf?}z@&s#rJ-e1h$|2ksLM$UdLmRY~RpYM6+2QVOc`IoT`^A4(KrX5a8J2d;rB@6R)3a|3#u^EB4P-Tx- z`A@NmL5oB6Bw=lKvb_8O1sQ<6=L94E%|z=CSS3A80bBDfw07#-4d&Gka4og<-Va!l z1sM**Nf>_^msOd}*D#JDLX;lXJ2F_=@CVX)A3r$qW<#=)AG~IHh4P`b7sj$DuEnR2 zM^Q`)>DFqGDJ!q7+<%;q%f;&$PIu|u?=NUf?!9G?A*9I%EgKadW8HcN9Yba{lu z9r*iBLJ?5`4%w#%KuTT~4@i+HRsj~eNiDgc*+r^NbJ!-yVXOjk`2tAIg=DPc3GA4V zOd9{l4o$rfED_7{y!8;931AR)Og^K0KUyV)7(e#@)0lE^i62%+hz0Vv# zP2}RmkN46oLR`q#GA5#^%az$TPcbiVRFXz{woMAldIVcQW&3^LR6POe~t| zKqN3@4E2bnYp4e;C;p>!1b2lze-YDu_Najtrh}9&9=S*{s0heyZ>GEeIKJGxJbvHgCM%|_aM38XZ%kLYV#&ICXO-v{EFe}&E(T;~1*taNkUMD? zBRaL7X*{gZqQvthq$$Qqz7(Q7-~*7j+^$%KsLc|1hw-nTug$hve32b0wz^u{Dm6uP zrm=04<=w*7Y^$x{Q@FK-iem4i*a|9241Y^k#+KX6Y4rNGo@|?9bFG@^C8fmUD|!8j z)SWg$DR1&P!c=T6woTp$qZ(qEY1w8}5|+ruimIDOF*)ZbNV?Pe%N&Tm%-CP?SXO-$ z6NBIJZ-VUEw6uJ;v+QC=VpF1BVb!QWGL_MY6}G^_Mgi~FJVOpvYut^fB|A*d^F-CVbvbVtar-3p0T77zyFqcyYX<-@|Q{7 zp#wlq`N;Rhw|SR@*n9QLBlx^}e)`}0D;{rIcI*U?m6StKmCya-s>QwRz4Hd2`(bMk zhlrVn!{~hi!>2#^fy2qyv55K^LJ_K+=}Icf(|-3WiQPTtcaLOtcP8Am?Cz}J?bFQ% z)5;Vw(}hC7dV$rbI14jzL5m`2F+-4}$2{83l?>Y{tUoV%C-TvRbXiPyX@*8NR0@+I zPYP3Xlx>tG6Qqz8s`78oXDo0;m;1)FNGT(+jG*FD_mM29nu0l*V`+DKAE`dAdNvhb z=|D0vEn?)PoO~*bLyef3WW@q^jeP2e=v8v%?Rdtt`2w3>{Dt`z8X40Oo}o#mD#nbd zJc_#4Rl93sOe-*At1Dzo$@Hh>`!qJR9lPIxE{Dls_!iu!+>yqwdn}BkLQi0dX0F^^ zZ><|Ia@>TBGz{XA3_m|eZF?7(7U_9$(wyg<7ZyXT^})_aZ=7STw4_Y~gdCU2 zxS3fCf{5ef$0Fm`A}W2wRir{};dbWPD>?cMMEMSC5lPP28lY7!G2=msx9G^c3_>+| z+W09{lgkN6Om%_I`RM^E1{-k;IgumXCg;`GB}tXK17$|EeU2>4s89+~X%lj55Z`(w za#bt}454#n!fAxSLv@Q$BW=<@5tviFcqkU_bj`~8)K&VNq zV-O?;7kPyhHUbJOLjfVAux(L^AZ1|ygzZ|4sQJKqXE4^vFtoxZFh?4bvZU~F@Gz{r z&$KS@tBBl^8Uhn+{bDDIFyZ19n{rIV7R@Y!PQ48#1`SLMBPPf$5ilPwn7$@Ipa7*S zM-y))fREo{{DY&-n1M%|)olU*L(oW=+H!Px#k~(ed157QEf5B{IAeukS9VPqWTo%aoGxEtlhi+6bdBwOvWqPV_)Rw11tG=A zeOqkLd=Np^1+ec0)nRPRFxe1wCG`XF6e!W1*Q$~Jv;oNVBl9P&AGK0}AyaPpk@ALq z)ZK!9tn0geY`)+tv(37dHe;pzGA$XyIHM%}s1~fe){o6baC!Zms1Ci6Myt|~ip{0` zHAh#?4sNd8CO0KRmV=Ly!$1A6zV~1KqmO;@ zFYh0osLZl$&z3!|gHjn^v&k9WPrSnFUW;-+V`i91CY5Wk;uoF`aVXaweJT!JH-ju& zP(IHaGQq!oQQkY%@n!nYWOE^?WAn@VzfhqV6r&!`CMa@NdUf(v+U>RbCh?nK#J1c{0lgoCjU3t~z#iiE@dgmwRz#qa4 z=F@z1xsOS{T=sS2tLe<ql=+4Uc0 z_FgM|^jzR6$P=+CWVJKrv{*}H-Cq&URlyy(E=dojA5w%L&tIWlT3%x#Om4-g(wcY( zV5XVDBnj?_5rwP1>?xzSf|<+}D=|nz0bW;wE!v6~i7xE21+>!0X-UK8IRuQ~%9t%8 zw}WLeLfw7zjYbYRbzkir!!U!C5V zbz?rtBr1kd(g=emT||Odp*LB;iFDmOo}zC9yH36qP-L03ruIYG!Gr}cvJ+^nqJ1E_ z20Vq6Yv3<-zKLhisWyA#vL+N;G4u*myP_Oi8hA6TocERVR`m*17+1Whh03;1bV1g| zkx|xd>dIDRaTWyHI%CnLu-A#JHG>2gZd?LPw$>vQI1=C+rrw(cA*h5UpxdzASA97f zP~kw*7h=|VVQ)HM!%My^j7;R-emqh|c8UN+PS8?p};@!X$&R8JfBZO&Q( zAWX|xShfiJfvwr_NzBktTeN{w_}E$vjtK=bu|rC2mP8Y9m4l!?YL2#^=4%2%;yYkP z+GC-#4<0m=y0r5yui!Nd}Y(W4L(gkHf_i3`;9r zK?>1yP?DzVq$7iAs96ZcVJCywWnN^&TAEqyD$YIOH7-nK%<#0IK3sgT=*=S-YvQwf~_OhTsO=1I36PkWemGFwg z-Z{qu0U|%>Kw=GBt*T?ZfY{1H$M%}PgCSntrK}L)%JW}bpbX7Bi5}&^NEVgZ^7iLg zfmO{jxjU})vJ2R$y?%37!fc}1yg4+$Zjy*#;?wdsQWM}D#B9-{EgR*TL@U9Q@{gE@ zO7(wLLgnZ}1T24+lCZ&nc-4nWLg;J$-mBp8UcJ&?mtgs|c{H#CB6M)e7>p>zWif>kOtA zB*5Nl_gW$f$;2#(TP8wC(5MJNrtEdFwy4Kl`F<_puDhRqFIb}scrSvT$8)z>?P|w% zkPf+B+jt#pQZvjZ0d}7lqZbb2Ac-(H0#Etb0DxW)p=@UZLyZ-XHOAXT5ADjn*0nq( ztm!9$Rb|T$N<;`fc4cqWQgmFZ{W^dM--XrWI4!~ylOL#jd!=;(9hzFYD$NhEyFjZ% z$Vb!YicNf3b1I?Z)nXWgQyt`mCh*e2&Q6iav}q^R7f$@Z7Q2yz@5*geC1^;kV@P-z zsX(O-xKLga!Otw98gWzG?4obQ1&uOSr-jet4Oc*+jlm}HkZc>JrJhWFoa~zVQThU4 zLIh&*P(^ceGxdbB}FFdK8l!ivi@Q_?$#oBact}yJ;mQki_nN9bv z+J5GsV}DZzbMWdVhd1??2CnO&$Fjb&@=6zT)I%NCiF)EhDVN%(uiSXstgPv}pi5(@ z&Z+_fIlN|oBy#r%%Vl{{{)*Cw+b*}TP2Ds!i(~>uC(f0cxiYq{%_t^J)pJ>8Si8F4 zse5zBe5|;3!RHtBF-MTnatP$tso(+`NMLBdyNrDXH>irY)Ex~qLN$B@HC$n!ZGo_3 z0MHz9Mn5p1D8?{gEE6#x_Z19;zzpeXbb>f4O}p^Ia~ypyH?;{ zYpMYhSFHEdAU~c&<+MB910yuz^bo&*0}DyN3|tV0h;Xptl+*xOc}_raT_mhKtI%V( z3T8cc2{E1wGFqPbeRo)-q#nH_?_Y2pQi{aVap!hhmT9k-Qr2*L+)G2Ly#{idb7)yz zWijzw{lwH3Im`hG%;Bi7$&R2dcurz$6}v{>?zO@iPpS|_v)>+~bVl3dO3HO~_MOuz zAuYlak4>2tPSSmeMDJ2@;HA-DseG>BzYxgjc|Sg{<1W&qFV>e!P@}K;wl?>*2+LG` zPbJLe^-4hENTktv8>DMTR z7IKD!tP%Da+97hN6S9<6I!rLjJE*k&VnWuFedkHYDw6ettTH&BkX1m4K|%`-JR$1^ zX649H*9lpzK@SO8U6PQ!roa@UJ{A+Qx$AMQMq(^`Vx(hxs51aCf(hRb1i@vB<*JKj;(@>fCFf zN@e15rUa-EbFZUUY0<%)a?(vyPK~7Ns7|_)kGb%qYx~8LuEK7WbVcfvPhi{!5)Hq~ zz2-_ZY5cAqw3ft7OkOVJT5|}*0DZvHD9*N#Ek}w|Tr^*PlC{ptNH9GsGjOyeiEm0$ zFE2aEDwH@QjlXP3)~_7Q5mHOCLOCT_jg7^)xFVt>o}!2cQ*Y-7j@7D4NU8Lx&bT0- zxQ8ETydR30|H4XEC5Svho8umX(I<$|-L1`WzXFP5R5rSzQuCHFwBz9`UIwL}LRI3_ zlvb47Odcg6!(k>@nkm$F*(OE7}=pTuzX&G-;>oVAb#^Odm0i z8f+bFNjy!e8G*_NsnewWW|}m-!^oRy(oouGtaj+yvd+7_!mRC5zf-Sr^v#*q6_&`R&*{3 zhi6nZ!Ai2U7m}q~ac3eiH@^_1;wd{YL@qg!XKB*Dag!>NqovcJHyAjt=6fG{d%oKDJ%cz2J^`;l!A z_6Uq=&E_5=mrJGh=@IvplYGcy*-1WRuDP<)CjF>= z)gfV45)kOP0gl?&p!WF5=^S+22?rf_o}AgY1kkaT+9D$ZP1xI}rC1ns9CPXAV48~P!xrK6bgMwNZs6#f$6{l= zC`HE0`6f2rVOemc1Jhw|=m^b*ep0jzoYkmsLJ>~i7Xj&+m*XkvRzjy7zaM;3D}jpP z=yKeFNG9+t&_KT{P*N&^8PI|9IDRp@lk zIH!Fj0wV5^+NVF;!2{UsCvT-KTd2pODM!e}a;?)@^Z|jDBRig+O>}tmmO#@j^#=rm z7cp|iibIhO!g}=X5DWM^hD7N?&62UOh2G+~u+mS*oedG+B>X_@cQrw9r zKP%R=^S8#XUH`P>=}PVIV8Q~Y$y;p;gLZ^Q91dr9fEL8Ax8+ z2s%U+0~{qTPMI_5wt@8()!h-tGrkB8fPDZ-*7qrRZE7{3dJ^ChMGNDOo20 zBB6x=!(@&-nQ!;W9Fz5xI7VNAXIxTcc!IoZM2@3c=2ccr>;x7bekQ9t|FAkhE7=hn zc_*1cB5evsjJSckI^ZNN|1zCiB4{UXHN1z(@)xWWgU^GvRS&X5yeSh${UYH#Q7XLg z7rZg20D?u6wt*z-nostzNdPSf&4?(LeX_6l1vXh|0?n?^#-Ha4Y&55sTGbc6z=pz* zl$#n*ep2Cr*h7UVn2o~DHH)J#--Q`qMTVOXMvUX}Y_`Uehl3HxG;6K;i+$(O0KA~@ zJhJfuMXd2GeC81cpc;=x7RF-?Mxe!b_G%%C4FpxGf&4|f_-VYQ11Ut99Mk+|9SGZF zU*162V26-O1a|p45=8*qBMI>yI?8^=`y%nH`O*JE%4gZwmd3GA9t{?oqQRp4*psI@ zNCnp5IK6>$h-W9o=D5%W7GA8)qb1Sb;fYQcrlM^(R~;-1r;(Yf$Wp1vl_F&^vj~nB zcV#=>akjjt0wPIJ`Abg$#7xJcmUV#kV*z}h@HcT|$g@0nQu>)lcS;pA<8F_ z+b<^`$YJqKacd^WVB!zG>C}Q+{98X7$)2O(cPEo6%`qVDH)B%YFUxHB=^8%UhRE0j zA1OFFMFu7T8jxrbA)Kr`f2^+HlfpIpQfm{Gcz+-^JA@O+V{0fx*C{w&_@JFf*Xqo@ zbePY5J{(ETUMy2IyC1a#@)f*<45dak{GrTw1!TYC!3fT;=uqfj30~0F8HV`6@#0hM zAV+Ei8iN%f314CkHNW^{SVY#J={V(8{$0$!Nw`M39v?Sc&9jJ*X-9eQitgmZ>pw+z zX9x4)oxJsh;7*+I|Bt^~MgvZFCuawiNI2_#n zY+E}BcPBsBo?5-1Z%-M*b;&QZ*|$OY$J(sm=J#})2}H_&vCSj|_aASQW#RV|ZPF~1 zf3i)Uh5Jvn*(tBS>Gxo&qtAs3QQg$}k~r7COu=|1FrLV&$IHDXvSO&qohK)#>{&%> zgjkn@%OOWV9NzWzNCP1fFZ`nBJ*xZSaIYVcq5#725-D1cf`3F# zmngc*4q4PB84%ryOPmy!#4ucA1Ef~5z4Fdg1XSCLi{^>|?4si0SR}jl6yI(W4a?`q z=FrH+m09s3yo0(4)xjiG-Kc@HgMImP+M5cQezgZfw2O;zm!}trUeEQW7mE*my*I_l z-Ie@iZ>moQB){F8a@PFruxZ(6AQi@oVo_kY-%&H_Kci@zntHaQ{ombL^XQlVhqa#uVRUYcpK?V!yuyxq|2 zQpPNF9#v;a%Bm!!H4U-7+iM*Q zSnoo$K>4$6TZbVc{9IcR+4O2If8H;5a`_8wO_NVw#pTDm^wq^Rs&@?~zvvIwx%{|4 z+{NW5{PHzie$p$vmP>(c@%)q^-n7r|pnYB!w9j?5mO%O(`TI9!dm_ff2YWVV*EjFi zH)c09?~9G*U7dDw*=jyRtX?1P^%L13FyW06>BbE=)!cA8DQ<)vZY*vzslSo6&s?5P zko&zs?r$vLq$tq_Q0$f5Q)h1!e90rDy0O?3McTxef$b@-pDSW)*B3X;6%nG`5HQ2# zzPV>G*WU1q%l&iDP%Cc;&$v7=_Y6cFEM6arn(CoE3(fX#6gS3)R+eLf3N{L`Z}SBJ}!VuSDo3 zN`eT9azTVds31ZIxeOxoMlNd+`kEj@e=CU4n}P@(szvCGFebK#*~*BqAVPH6X8Vi%Qd9ez5;G?+`{(>}WPx*KBrp2|ra39PmKWCA zo4o8_ke9S5BY#AB*vK1k~8b zhpIxrjfGECg@7CjpQ;K0I}{3YKh-{nKO`*fN&q`K%XRr#t9-`3oD(aTXR5*mw9i+C z4N%Wkg$+=@R24QreFP7d!w~4G0qSE_;XJ5638+7VpDs|(wDu*>ab13&RsI|;RC^ai z4!%2dFnN4{PsBuCHo8ZY_#4mXuczlDsflX)Z#*CAAlCx(p3l6NM}0RupGq~GotXE0 zYDFwJ3{C#m+w=JYJRh^;vJx6)G|9UE8_!3nizS|q`HI2wu{3OqVi1dt5VCS0 zXc0L;(NC}z;3Bi~IEGx-UWTU$X66#`Ob*c8d!XS+?Oa`u*Ha5(@Oo8-&+W zduYz#MeUZU0I#R=#TLCDxg2;s(POE+9`oZ&T*7$F=`(o>1?C}APuO~V= z*yXTKAk@Gn2UjmTUh`g0$pRT!Tld3knplhpGLOa=?HTB{J{hIL!$;_e6{rp5Q1&Us>-k2yvj^si@)oFd9)(Pa30fX9>>qCymkQ38Q&Scrrhl zFEE;)45Lvp&2+50O*75-N*LxnsOQL%nO@N&JXmw_lW3f9T`fAP3h-GiHn9RZt7fq5 zPF|`>hTX|MHL-Lh1v#PiIXQlJ9Uv#i?`sZ_ljHZb2g%9td+h;oa{SIa!1CLZ z$^kYdVlc|{H8Hh2xxA)C>`uO}Nvz$;$u%Wnck*sccK=Q19_a01sS-)>M zkbGLd2M;8l(eE1%CjXm$zve*lf9RKyHvDJE-|(N`Mr3YFI8@6W=i(^1#}m2TS2JYg zqbzp^`y&58;1UAp@`GHyN=N0~Arh$MJ1Bt)y8MS+uIph|{v$4-g)YB~OUR+i@8EyPDyCk-M7Vewn*DhWn!d z=wb7m(#tR&^BImVBBS(=xh{W|Hz1b)`VB7Mq`5Ojp63!8s`Ni_2^n?yAGzG?6~4eF#8l}QxrCm&`~xoE=oQX#2~}14Yg{^E z4a=eK{toVHCjMUTY9{_6?rJ9faqem+{s?y!6PN#zyX`)3 z>G+Scex%~1@@IG$_({+_)8W?C%*RtLrOHb_k@zikqSokJEIg~{#nLbtG&dEb9$2l` zTq?>^_@36Q*(A-`!OdeG6Etvu9v}Nsl`O`6@?9)B)*~mLY?`KIT4H(58|S5$DZhOF zjQ4DyGaEQ;qGt<#-%<3!VH5ArOx+a#p3JVkdHfBW|Kf3&2e9+_iX_zb%LX&xfDj~C;c;j z)_!uDmMk8#t)F3DL!DMrdgrC0K1wJmf+L$^v$<1Z_FW*HY0h;$V9rgP^i0R*@s>~+ z)?i|CMrJTfOyAgrka?zZfg7XDbE}bgwi&yDGQdpL**Zw3>QacTsXDwGo2n!G zYg2VhJ=s)U2d2?f9aFtFRfieejeDReUYoK5fi`7l+Jh-OFk(}7u$xWUF~uvk(-f}x zK|W;{hPuru9LDInX}DLwi|Kk1F;MI%S1uM@{Mn%1VEbEea#sHN zKr@VHt;MZ>6lS4qmX;;Zw~Q5)JU-k&RK%xplynKJ%6(#UnYdL>l_pO#xX1hwUYGNw z3b3zSGF5?!ylF&Jx6a!t<5I8nY4JINY__e~W~kl90%ZO%?{U$_j6)~*qG+*pc=EwV zZL9x9O@n%oWWH5gB$=1>F}Sv|M~K711jkJ%cFoC0I9$mtv26|kAO_o3^Xax1=Tp8( z2yDPer)x}^Paa|&$9C!5i{KW1SS4VP=p=%4^mnxed$7sfsQs7=GBiH7-z&D?%)t|; zBk)f!eOIVtGIEv4>b&7sZ3fCbtBNW!eHN5gq#fPo zs8^0)gUshZ_yS$HuYC@)0n};u9MkJ)>cZ{P_F_A|&+^En0T#DL+9_7^NVG-~l4>uB ztkJ?|64{8_8nLhgE3~eKA4udbEfj%S%^D$8wROT;nckQEI>0g{Y(T!3TpquKIzO%7 z?R!~<#BXmO%aHgb zh4cdwpj}$*^mhHSsEJK&IB&kU-j|fTBos?d-KB2eS*r(}>|Y5~n}G(Ew#LQ`KBx!P zX3#PCX5bqJ-y8r`s5u1aPje8^m_{Ph3q%?RB8?6>k%kA7pBHfk z2U#n|FQ+PgOuyX&tQF(8bC9)S{B9?j*DuE-d_upRX!=S0ZXzyajO8Qk*(A&+@{600 zO(&zTGutMalLtC_Lv_ol@W~IPT8}s8$(Dw@t19kT9Odd|nkkm=-#Q+QZg2D#Tm5)^!bUnly=*=Tb-kkcII@S2qP{Dk48VOT$65Q0S47-*##Sgwbi3*E4 z9!;W94Hm35$-EogKHPf@5sk{+py&HQIuRh7vbA)&HoAEZT!-j9sO^dpba}Hw5j_*NNy=OYJwXm{|-?NI0e4{Me%50-7VVt&+ zvRmQ}pq-7fIwY^p##uJXt|?x=&f?`a6xThePmkO-enWPMMqmsMDJ5oR$Lt%6VR1F@ za3~7<*^9jBvo&iQTz54aW%KFP+J~pASKmB7*w`q$W*cR%4m)Jm*dfcIiCT+q=UNb= z=}5IWXjs^m;ILb!u?H4ItksDFzCXgLskEQ#u!iDll;*8s6L;4zGI$D{kYUjo#SMop zcyV&*f)^);E_iWj;$?bq5;Qx;Q!7uSBZmXGON$s$E!U+uax6mKo%~u)iyWip&=9SQ zmxxxcxOmPqR;dArR&fz$RZlN632WHu`TW4P;v#+1)>w$`4diJg4~)DrIzw5Wy{&~?kQ0p&{vG;izY26XbdV( z2PC-F@H4)knF?Hax$^`hINb_Jz##XvvEY-&IKRdA#W18J#=jT=pObTGN%?ybmU9Lr zJqwG{%3xJYSkysD1B!WpVkLAfP-|t5Kra*7AR-@*wt zr??;dEu3U?io3xn#-EyZiou6l>cwF;LXh)ic$M^g(WoEw`jYaS>}pGoRz8XCg$xZq zKT8JLE&=o4Q_mb=ak*#y6+Gg+R(xx<#>!i`L630SrxeUMI@llWw9P(=A*=ZPxZWLV zt#b&5x@`os7a+#+_0lC`T<0;*DaO&75V z5X5wIPH}a#&swaO_E(y)3dYPaw~aJ4{B>@mj(pGQIR{T){*QJ`1Ao;U2N*`pE2Scr zD!`BR24i*9uPfz)@Rcm@FR|O+^wv!QBdDf;CA;?Bix^}C3RT@TdLmb_T+x$GuJ%s6 zsH)dTHcYD%Avf6J+yi`N-Bts%KIO$bQkM-7)XgzpO}v`zku*aHwPL2lRGA5;sgU@I4U|_riuxVh+AuYPth+vuWN*4s(G+*i>8Gn`N)@ z+L(NKv2+(kp`Il1Ns~B15JGo9-A z9wt=JEh+9S7u+b zvc+X39MKL1#pj3&G?YMC7TK;47wD)mOnb235Hgr{NU29iQtc1~(;gfGOnYz$Am=sI zeN|=kkvd2!Sz}ShE`EZ@$suYaudB&gQ|`)g$N^liUd!jaAU85cq?a-A-n3qpwMJ3b z)=N>MSudq*&EgjvaOiV~4eJH#T+rMhBAfVrBYd)s z*FuOY+=dXfF>xkWH>6xNFBVcR@?=BGMgDD=IMcjXm^hO+9VX83&f~-xk*7Iio^p{* z33F#LQTc9C z9im$3#W5*!Au4AB4iutx;YUK$0YA)EfoyXuh`t)$+PTcHphzpx%++PmMRXn%drs}EK3vU*VWNcPNEcz z<#oI~x#mNmn;fTovTw? zkTk?pjxnu1Zcz2}+dv9Yn#1x3&)hjeM5PYhi8@;TJ!!hrs~&R9^k z=f>x`nB}DpjRPw*`|;JpW}gqU5A7Si7vOZx3q>74)+B83&3xW7CQQ0vh~66-=6s%b zZ$S)SPLD&IeG9&ih*(_eLO9Q#5NpowkvF&`H=~aV4y;8@%|xvoeHUlZVKm$3L%0WF zp9RI6XgC@R9!OZzBiE$iur%D5hI7+!c^ZyT!#xV~RC1asS4yVERJ>M|#oNNFX zWclnDp2mRlzjrkdS#x38U&$frSh2PJlgbolm9NuTAty$a<;+7DjRB?;O`W|i|pzM-` z7%I^L{uf)foHDbrQbNs*Eo{DECT-O6C%v=>r%F#z6XO9Oulx2zDEfT```m zUdDJrBuSokRm`1YYGg@+ue+h<2czrQL(Huv$jta~#Tw8I{!ud=MBoltnXoR7d&b z_5+88+&(A@xdE^eqI~lAdJ9as&`P9~)NhES%h_jHVf%dqv8wP}TtBXWmee2rD<5dP z5TqmI6nIY1HzwE%-v^p(ClW6|&b6($%3;+B)?sIKnRO z2h(Rw{e+%)!#nrqzk(8oJw40yGaY(qm0ca=PE7jj=o}VdatMaiZKUyR~3ly zmk3-C6+Q)((R6?-DbFw}1XeG8j!V|2>GI!k88puCamgf|O8<~c=IOYUsQ*by(VtQj z1oJ;}$qA`?iUj??da7@I2G0L8E?502O!en_`WF-hS@}yYT_F`{s2B9~kql`tz%*LE zd;Wi`^aGS$;xPUvqSN3kysj_ zY#-G+fR#?G)k?Fxr5S$_M-MqMlCDV%Ocg`1QXtEDJyjPE|1cD!Q$pa6r)C*3U4w{#a!OZGgXiULsv2KoT<)F(? z<*9v0n8Bnwg#c8-8sAY!?KDx)Ff}gdO(7tD3~M=!*R=3PpIdm8Rivl+CZ)arr1NH- z$^|?HQgo&TsB3Eg^HxQwzFicO)2Mbmo1$wG1`A;I%Vlg`b`B@GbX1!+l(f^w1LlY%E z5(5xg+Ce}Ji^U(-C(Srlkm~}e<*$GIw102JPC>QlU7{J|8wTZ!p{^iQK9LFlR*>Qg zeMGZxsx6;ju+P?TNT+_kusa*Vml3mH&0iB2(@>?p(3)w1dg|W|;$Ub-5EKm(9i&X> zMY|!p_mC7ECsKL`{%JK9fJ z1|(l~RxnLy$G4m1nXv$|Iy^_RD1ofb$HC+(Sd8~506%62W5P#D*EEge-yb>WwrS;*@q!uAQ z24W&4Z^0H(x(JaR+0-iMZ7pe)Qhjy(f?6dhO%vz^ukN$Xa|Os}kW_tvN+KFaA=lSQ z;U{1N-A1|9jV}%fV}g_3stj*A5X*Rh9h&+d7u8O_b*?K{hSEN>u<+`$Qh_$UW>Ex}z zVRluAW3v`{n#)?!8DN?669im4R9OubWgH&CTkxPPyw_%oJU|H}$y${>5Bf;h18@=3 z-mv3k85Z+qMO!pz5+LTn4oRykn3%6ip`ACO z_pC>aEPuc;*;7B5d9!6teDQQLc^$`|#|yEMp74z{{|#18A0V=F#%>J(FoTA>v`Rh_ z3SF3!+^xUt_Sm0<_EpJ7oDLU<%v@x&S+m^y&;r(w?lEK5kO6UnzDT#kKA8~gS}FvT zRzl!kG(ZRj($4cj(2GK_aBzMU8?b4RY4gosP>rV>H zF7Yv9sKdacf+MpqujDFgZNyxt8E}Od&FKq~yuy^w34;b*u}jxYU14UN(h5!0hZ5wY zNmIx~Et+wR30j(d=021lCT^f<^M?{p6-bBz4q1>eZXjaRVo>->fWYLn{3C6qOy`A& z7IsPGw6r`!TDDED&s($SeRW>EX5VXegRY3!SOP!$gN$b`h?C4ATz5{Y9YVe; ze;daH)SQHAb%&6wI(&qs;BVWl4$Jo4AvBN7ILREs@P=_x?GQ@zL{>?Vj1CgN0dDO> znC^>gBFNAO)IaCY0e>}cT~OVvn(GiO>B{m$@xztX#dBW>S}k5geOhTx{AAOwY7R>$ zWl7#!*BHOlz7^^w!T4yVcw{y{oPAwXdlc8?*V8FJ*;pSWtOZ2v1p^6>nvFIA@g`l9 z&insv&Qjv5X7lG&J@J*L3}34r8mwwwfEqI9;jnJ0p#|olv{FMA^C+5lY0R?_O}q@| zSt|GJ)Yo5zYkUVi_?9^&k$MgK2Sx1e2iDmY5gN%|g$vaek&$V%(u#pUJ2lZ!Hyt>s zeD)6mH&z$VN2?w$6t@{a>h-L|6N4YScHI>}HeHlRzU9BhT<8!+&Uk~7rqKOx1yaTb z=k>!kd#~5HA6|Q}=7&>Sv4Z>I7;dq_az9+o@SH`GAI=-ZQ%#FB=Z9CO+wu<(7FR)o zq9s1W8BtL5r8V92)}Z0rU`n-|YtEFK+f8W&_#nF7BwdL1n1|zUaJxgoM9s|s9y|_9 zn3%^wn#HtV)8CfZng!L{Y@#bqu|z3&rA>ol&Qk4#2V*Ifq-prgX40k%+@ZWN#&(c( zf8#p%U-ID1D{s2+(Kb4dAVhKqEBzR~O4oz(n#GGQFUu^fw*se|MUR#hQ!3xM>ErHM z0v^^h7#K16u(WO8O5TMI-ON^c%bo|19`?qr&Thb6yK86HIr^1{F*5jX5k z=lll30z!kwHPt)Est**K)vnyd{&IIQAC_l+-<6cLJICxw|46RqrSu$r<8;Aq zL}E=xiWM~gabh*DMZ-3y(dVgiKFz$WruRB$j>TPpMzBtsF9cVEuD^X9KY|?{g$7R! zSvMx-EOs)1hzahRZ6*N#WbqE z>4*0sbAi% zT{Q*M^rl%=147T*$9;;TttkrlpkkVkr;Qoiz%+u76AbvuxVeyG8cXE@Cb?Xg##u$Y zVeF&&fC|5`RYoSB2R*@Ux&8>em_~`8>K>-isH=M@jynb&2GtJ8(6=yaBg<+=YH+9e}D4DW(SEt4bwK&3P@_OA)XP#K~Vl_ zD{mtx`8jkZEG9PN6 zh({8HXid-dIWA+zY@oCZr9$+e7J?4iQ`1xfr7xxBTpUy%5JBKTpSrg% zw`#FTMQq}+<1U7MiD9egi_`%EO-Gyq0*)P_wR1wC#(aV>K!BtK2>OiErLOv0;8qq3=R zLjkIz%mwWsYt$Tc5G)(F;o0@2`0#;aeO!XtDK#8jcYfs?3XeHb{z;2|QE3+*5M`1L~1M*>$ z^gS7fJ_dsQHn!rS+wdyj>sc>wW>1_sK_IjZcn1T4c`@0rP<>uD z)EH}8krLH++2~3(%&WlG6cB(=J&>>`5;nXF#yICy^hCmjSJ9V&U=Gb#lcCA*TyD4$ z);!VDZ%E%DOa=}J<1m68j|0M8(Q0ugm!;E#vEDP)K zjF>Gx*g}x6#x=X&D7Pp@LloIR*Yon>q3_$aq!^?9zD8kj)e zy;sZp$CARUw1ZXtA0CQ8Y;my2$itN-0Cg5(ry_tc8HF`>tg~i58s(*) znLoD=e1G~h7=FDz@cqAJsX1k5TM-lbQUg6Vh4~C|vf+YfhK#2&)tSczr}pPhg?NOX zROKAV_`G9-8hbOE1|Rx##ommAjPvrNHX+K#AJ{((T0Y7N9ZDsN5+oh%dGipz0Bv*O z<0fcnQqayVe-yMIRik=1F>J9H2EQku3T5Hcsg4Ug+gilk4Qa|ES~KiXa|p|10mbmi z;m35uWeWcJqg&@ zVMH_ML^34`x`axqm9z39Mq#}`8&gWui^3YA-6X8=)H%hJw@)X|S-7<-VDt{!i zyn?AH&np~8&r}^Xx&0L_^VMqGNdtS(kTWgkmiZ$3eh|Fxur{qVzrk9{i*VUfD)Wu8 z1a+=4?)@_v;daT z7oe0I%>i3oJQzfc3NC73?TPj*e;Uz#HhY)_>&0VF;vTg%mw)PZt_-7@yV0Dg>F#!g zN82ftmS?&yF*>qEewI85gX@H?TD42%rZf=XX4xX&IOT8x7J`cxbUE3W>YTz6?syy~ z=>bA800H!MtwLWnl3Qzd8W}oz(}2NKVoXFWIcwv>_Kc19#zfGJy_!du z3*`DFXT)#i?>3zR+cq}cZfx2vwm&)BD$`4@idM|%Z-rI2$;01<)zyYiHXVpjimet! zVukVZGrW74RCS3CagJNz`0JwmsGJUhd-b4q<&>|Q8zB#*iNvgY0^exGpZz?ShC%d7 zR{l%w42yR6&$u&8+MVqj*p;tK19`WTZ^xF5G-$j~KRp(x(n4C+oJHGXSV@^9pZ{y> zMQNhY*(K5~h*l_fvnh=mcsP_3pfold7@aGkgtJJsbpzb#Fj8#DrFxM~4`9+ZJ!BSl zww{dnrG`eeEw5XBcdKoAC9|R&?=M`4(Rkt~vA~zm*;mGBTqQ|;F{4q|Za`yL5q!LX z44bFOPyB60ms_a{?br~4EMQSSNnVYq5ZEzp_|fxC?p9X&0X+7`UB$}@(#bE<;QT|y z^S`g}QRwNaJ#p1Ro@+7{Xi5VY_=}B^d@)<_d!aX0LTMcBr2tr6ZC;Tsp9g^?@xk8? z-3QOtf@{mW;p`$++D{V}uqwu$_k6>ObgRx@9*?xcTX?@5YhTHm&$SxzY^4cNFGASJ z5+JJW<3*|jGj>rML6~JBhbJfjmcK%hCDDkNC-T}%wiMJ8K`&optCpDTW(rXuG*wXv zD5nZ4U+v-~RUxS>kYDIiRr6kXTv+l;7q2{!Srz zhn%o$y2>EWf3rQ!tX0do3T*QwBk+Ht5QW zS1(|q>PjGRU%?^xxUYZ|2Dp!C03H?v2=}Au#1(O;7#-ojybd2sS(&aDs}8NCni6e z>ZwrB&{KnDdMf(;rl%sunw|>$F)Y^Pjjqwhs0?2>K(1^J)5QX!Ra~sBHP`YCG^J{u z!PAHH4~7pMGKV64rdeJomEvMaoAeocH9*ppS--f8!%KKJ>VAmYRwM25q&Yk2 z8zu&4ojZ88T5=NMR;!{dy{e~YsGeeFL)MvBRiRzJOYdSnta!B58a*PlWs{7HElgR- zOe0iKMKm9dg;WS&@3;fEh3h+ToTSnO+E|?;v2>xq4vQUDe5ri1%QPuPGUzCnA8YnY zr>I*POAek)HbPGtFNuFlY-ZnpDfecTm$Q8 zdokKDb0{4@qV_wm5@3KIBmq@YNdCTlmg5u##WIo|Y`6d;M6M}!Bjl0$$}W#&mmBVh zQm6S2AVISLGcB{NP@xj~e^hAs&P48B!f|#(hJd}^3_YW~9q6HvTspn8#jI3|CZVR_ z7PwzO>+Yx=9kbs8K8(XeL%>(}z%Agbd*BxE;hvc%=2nXC4zqddQmN=aVnvF;S*}5# zjgA6&%Nz9%^%D;#}+2q|9(m~f<$r@A7SBPB(OkKH2ciTn-Lz1tP(!QBbQPCv<1i%*`* z?HKG4Ra(^|=kiOGT0oGM7uh5y(v(~2Sjr*eRQ@pash~2`CkX#P_TB}|vg@kvy!YIC z+^V{_>sHsJ>(SMH?(J@=TI!ZsvMmYAhCYQ#Y9YX~(SYy_V8$?*Y8(8Jg%c#JF~TUp z;cG%BF$pC7O^jQyrMQ7W%p(b4KIh)L zRb8!?W&CBn`nvBq`<$~M>%G=qdv7+dkyn-#ZU5lKMm~i})+jC$m?TirqD5afaLK2M zqJE+e6tv-@RAqw=#k55c!EX81FE%(_i1W3yDn*NORqMYaj^|$*clM?=YtSfONX6ET zUdM~i+9*?J=t?j1&iF|4X<1Wogt>pEM1;?3Ol)lP2l}O3m$Tkf7%3gQl&Rf+t!I?7 zw@^bBF>>JW+S+Ft7^hi_omT1yiGUec1Yu%(b`w4lVCuzq3HY-P8^u$PW@h3w3Y7t# zda+spy?%3zt*M_9fP{8?_iUQl0<)1oCiA+|vxVPnhyg26#Gtv*Kn$Xsmz@|!(Pxd~ zf{(eGh~csixFiM@3?qgM6=Hxe#v(DORwo9p3h4F|gI5S`Z6SsW)|r=13>UH2jbaK#;p>!+b40^Trf!7xju<2c5Nkzt3J3Q z7T<0|RIixOm5z5gm%ofcSG9im2;J68Bq|IYi0WYt_Cs(pvyL*is@mG*6XDc;eeIl& z=H05XKO`|+YHR|#Q2Oque8g-3Ta#n+tZw#U%)5SfI{|xQG|BSIPTDa>>C%N-CabdJ zL&$P02l{oiaTZyAIfL^u{F7j8vE!EvKYWMp)vgII5-hog&HNk1@5t0TUi*)>dtkJ@ zer!Y>gCaC@>Up!q{)&}(iR&)D{()+t_Y){n7_FZFj-j|wN6%{ir?iY<*SMK$_H4E5 z;_>joB?b_TR@qr>AErc!we0_HfWYOKh<^5^EF+aaNT@=^Ys$Y-ibK6@$r(U*;U0-5)d&;PR{`4}5E68T_HMs$gMCM)DK)tYqz zaO8^)i~sJ$16koq}YJET6=C>DrKVp*J^jC318 zczxk^BueP+CmA>IEOP5YjeG(m&KXYtRh8zp>UHq#Z?WjvCP%T!*0Rqvewk9UeWH1$iA zW@E+Y5rasxo6LkDRJ+ms?$+DrJ~ms>h!OaL6kOa=YNj)1QJWE1tGc0?ebZ74!x`jAqy0jLOrS7ADq zf_&Nand$F2*HYKJmXe9QK6g91g~5nDKKe1?(X>>MtEQ!%v#qRni5MnIR7%lgjOnVV zrLY^;vZoq28~i@mkVPGdvYHr8o8-{=vntic>Dkmu)pF2cj-0hs%%L-LP%P32={P~@ z$$sirh{dxShvL4w*NFq!SDcclWaFpk4%I+8w=pKW1~9i}m%`}OM7G&E;F?(mz)iYz zWnDby+pv&dq*+3;Iaq0?#jggvyW7jAwnfBwhn3{Z#jm;sUSfEo?b+6YqA`-FKPzKv zrt_xauQM#PKMfo%Aa9b^RnF)z{{vuvq4Xv-_bYWD?I-J^sz^-(xc;atE4c_S8P~)hg==vE)flebc~q4F z*I-FaL|nhv(7q0^QE|qy<&yu%yfvtqU=lH(y1PB0BSk85;w%!#?4~H&WUxmug*6&O z(QdiZ6L+7YaC1L03O70<2P_CT-Ic;^i*b+FNTPHw{o!K|KS$wa{xKC@a^W^QRm^uM zi$DA9MP_|8fM=;3|3z%;0ycSp7pxOT)9P-;57ZO0%2nR)z$%FFEF2_(av3l1f~--< zpoTNZd^5EOReI(cc#f*{C6Z9#u)#v^p<21JV5aSo& zJwdP##`*?25E-W5YIq42!+?O9>?bzm_y+Js%WMh0QdLRp;9d@Zca6Gjq}fT0(ky`p zJ~)&Smf&M#mP5PKxYls#dab8>)9b6Oj5w4}lhqOyM;sFAlAi0yDK|p9lX+{SJ=0pB z3M?dUx=J?cC4DGZUK=BQ%NK)@w#D55YmmDi9rb8GTo$_rlqf1tEB@3JTX7vxfj1>1 z^+svF31?dm-BNRi+`0B0)O_MCH9t)Ask~qFDe4+E-zC$0MD8F@ z({p9yPJOeu?X`rYs1=#p`I-RR1^vF*=>X}ezF08IqEMuPPdTy~G<)$xc?sE7^gTM5eJG5ELZF@sp{@V~+3vTpW7kIez81gE zUZkf6JHHAbF&?SBAx6Vx6phA`mTK>nmQ)j&buz&)ep3bwi#2o)g0xFgSn$!v52Il> zoq&H^XJZ;&K7767wviUGt0~P=(>nFNRXdm!}eGT|FkVmdmx`a z&o)4$yz-jzXLa}l1ap9##y0P34FlqhGZ4TmByY`38Z29{uGDJB|^WYh}VVR$>sHSt}FfA36l z9L0QUs`&AbUsSjY_q%n^RPj;gzPsa!ym2`yC>ub!QX|*A%Rv<5FFhrB?1Sb}lhf#o&p4QnWPc{l1(?hP1A~$H%k|EBciN_`I^kRj*0S%LhmgA<6P|8`Z zZ6jFpQT&=iM^iyxA?T>m-8bg%M?xCfCR7s8uUWWE49m~G?K^d?jmMNiZoBwAy*~Ou zOnWVQzEcbfg`8^N3CWm>oPq%{=oggk%ok)wKBQH=`Bd1DNL$9pVTB0wDlnZ_+N|DF zixXk~oVXPNSwi2pg_#lv#h~e)(TGRGJz6IabcpfV5Jb~ud<&R$-YoOwcEwT%X0!E@ zy3oD@m{yFb)@!DUSspMRly@?#XDdOXeaO#HDTq}Q_5cOY#Uq_Ij&4~m)| zXlW8<;&_ZYtVN_Yzls7&vasDiGhg;?qtLsSuxk3i4ZS`7)9g3X|6Ec%i0&Dt1|WtoME=t{FsV|ijl6~Ive#^(8M>LZ-66gsmzjeSDj=v zqijFg%V3p{ex3F>mu-gpwuL0Dk6=lJ8PDTWRKVgL7KTs(*DJdAZ8(#RnF>l1C2C3& z--W&)&RML$qKduxvA&r;d=4+Ost+GLFTHWJ@fKUwiG2gWv__GPB~_!!raSM^i4rQN z3s%;7=zg64MVCvUJ;^1`*G<9e5C1+4wPwg1mNUxaic1;OV@x&Inf6TcMLrf8z>ktCT3?c&^4Ge*JTF&L>QE?3_b$Fcxvg z*1jEWoTO#Cc*jb2uG+Z(#kqX?k$N}W=8 zR0RzyL94P&>;rv`V#%llY@Q#%{wwC)czaSdj|ldhLMYY&Fn*!#_S-pj2&fmo;PxUq zUH;G#>J>|HQMG-T+Nyzz4~N+PPvT)1HzB97VMwyr4L4zGTzUS&%o*f>&Bq`IOf|8y zGxSDdoMwk5jnA{fI&x&ODQ>XL{vEyzq&C|{-)kGlBsnK4@&SW!Ob(a4j%tuHx)c?$ z$xCLl!J19qyb{!EZLPMUfFt7{QpQe$aZ!VF6HTg$rzl~DcO~~z##XYv{2QdZ>{dM) zYKF0@46j%UM3J+pd)v9LwMgD1EZ)m##Td$E3}rHgcugQvkQ07kiD8a=$EU#*%47=p z!GOr2FJAY}Z`XF(?v8^Q^MPt|U1eR#LbV%AtC$9-#kP4fJekB!qlfy@)RPZKJAZ^4 zO^P9$sl>MRi#5uXO*JY+l4=wvwI`A}6Xt&;bIokEq+LN==gnCq?MAG|XWH_^i9Y)J zSs#^!DKVfrKxjh(tGwid<|tqiUp(D9Sl#p?i3fPyxIb)yR-F5ji*kfBTmF^#!+=Y) zrP!)AZ;&UCr^3p92w zb~k;|hRl=vG0pLGZ%#`}=gnMS$mh@Zi2a;uFNlfUVAsx?Ve1J{&F3sB#qXdp?H~*d z!P%KFDb=e`HnG0xxcAH4fumIgFeER64Qy6A2G%Gn01YApwICIWK}0{TnV0=8@L!a` zMg$(JCB85ip0~KcWp)pf{C=T6pcSLw1YUD_hs`dE zpZ>%}X)#iA@=-scVmqY#b>1wL=YM6kDw}zk5Mz5wV(wzrX;vzjx%-$k(lBNG7Qf4O zn+)U-16e?Ln<&5A*9Xj-h7GoaiCyQjwU@_{5^IMk-nCxz>FQ} zLd>~tz>3vwDEG)*#9EV~W^ZAx^}aZ-a<~nqvckJsX8$~ko{9EqVXx_`zW(^05XEO5 zleZWqby5lAB7{>J5nOD-mkMnwh|1_Nl7WjF8^;P}jJ#OX-^CmzOTZyXDOgD*}#y$pGrv_VdY`Un2hBJ)p-KU()@g31&q{>-qhH#~KoHRh6Yh%Xia z=cw7<64J`+LC`2*v+N_lg=ME2@Q;ns-4Co3_G2HAz_yc>0ae*`Xl_XGn0j(Q23;04 zE{=&-wsH%fPh3lyiw0%s8=tRtZL0TqqIJL-53Q!?yXpZ3t z{2_cR;n6w{>$715VwW8P02Qc|7ciSIYr0|{DVXKUTK|b06dc{t;zh*Y{ztmRh$o>6 zqNQ594!yB1N=D=oP=@xS-lF-ua)iM$wBXfoT?zi>jn0BqtWw z?y5KgBhA8rPx8yT8O8m^(#89e?Frl z6Wt{1k8t+-=gNHeX43bVB8%T7z?ezj+iy=4Sw#sio& z?0~nUmtZfj(|HHX#(o)Qur4^$<@?NFO?pwP=3A>|!8L@zUQEyh*P;vzMsC3INX{I^ zbiN0Fk2woOL?2wHfy*BTxU?q$i|Evh&x&IjB5cD#XWV1 zu6EeE3q9K|1oV~Nr08p%2#Gvi<~maF)M$UWzb|QtfqYGA{6HrJNn`A2KtNq>I)9)n zKinbZ)x~%(x;<&Kp;EP>JVg`?z1meqpoO0huqLlqjfe6*<-k>XYOt$DTN1mFB3pqKg1;A2!AcS(UwemN`?ql!b@YdH=`F<*k&8} zg~lO~_Jg}dSM^0u63&WLO)5B^jJBWPw8Hz^ARy27jMuVyJ*(?TT1j+EOXoeiBz4^A zAICSGk!j|HdZ@H=I+ha_)5bbD*JcD1=d{=M)Q^wU?PMkP`5oB3&Q47-QwnNg&)Gba zLOjf<$YT9rg~~dx4q7^|oV>~HVIhAlThmENc49o6{M$Zn+WM1WZ`sD5QjI|eTj1Id zT7||j`1tc}{IO9Kyy-SX2CA&w#-HwS2FAFdTKo0Yi?N5HSMMXDKjbPKOXgII5~BAY z-JJe7$qMZqZR7}Ep+cbEG9O2c8ax>j;yzL+^bUUheyflF*sb`0!9shF!lEb`Spm$j z0}z?7_-yQGgLIPT&3$`Bx8ZCgQAklrJuGV@7L8lvA@^LXPrvG2J+>0kmS);^P4iK# zjwD1<&ug6j4I!u5C^C$7pJtkk><$^M^jn+PPyK0@jj$sN zd-sQ}$Hn0>pvq?=p%eJ7n4Yhu+7p{aC3Lzb?nnIGk!;Nqw>R<}*HfT3L-VjgB~os@ zmSZ~WjCuD`7uTttJuX+eY%1mYDF)S`iA+A>C6A8IyT^Ngs_LB&)|n;q;4_ehUSki5 zJ%=7vBG0?+;nwakqo6_zwq~_^3=XOGNatZL=;foG_kuOVPfb(O6_&dgHX)C?F+^;C zYNXL%6P(IUe93pAkx6xhrBG(~7fYaQlF zL_Q)IEmr2eL@0Fp_L_Fz9>2ZDR?hjDVr9^;EyeAWQs%RHupOZ`xibR`X782Y# zUo_THO3G}bbCoGbIMFncw)EmvVi1-`#C2S6Kn>c80kRO=$Sbko^{R5agG3M&`QEGj z;@axtQKv;O&8(5ki|&#L!uZxmHuSIJEA6^}Hu7r!s*528`WK~3Io{a6@;EQCgdG-f z?oTcvsZlc8(<$nRKqkN0$BjWs+eAw#oloT1y3x8gxJa}vIi$T`12>wWGj0?;88@1I zLSTyZY`%NIaEz#LoZ?oHU~o@)tOnTBN%TDx(wcO>#;(%D=Ys3Zr z`2QPMdQEj-Qo8uS@1tH9TqHIz%=QMLD)c?$NHH1Yy>916}QrE-W`m208J}$Km^?Efv4?#faatcp<3GdpXejd zx^IFTc~4{w?*S<%32o9*stfIoglxb@F?CT_{{n&5oj`eX7&6qp33@FD3!(#H!=27V z;EP35+r|yX_L_v`uAal5O#Dej$b?ZJj7h8yiAi?Z2MxqJVEkkqaI&NjvQ$vS7+Xr4 z?ivw7lcSHYN%Mff|FsD_dSXC!23$)n?#xApLp;NbI-Uq*=5x~;EfC#8Qg?XaiCp9e% zWI4WtHmp{v3DfDB=<5`eq4Yr-gt+hr0$EiWu<8q?n`$Kxlm&pyOx8K08XPoOe-N#0 zIWBTGt}vPl?pLg3+YiOZK;I!NABfbVlMBz*&@6!PL|6P|R*&QvZ*zh{VmS#sfNh2# zW}!A|hKfd39_>Ly;=3(?2^km;n8vS4DE**m$Rpv6>nBy8D;9gR4`)|6m2l)X$1P zwt{5hWvT}mVZ8d6%f_my15rN3-%_?G(KTJT0~^Hu1v#CJNzx4-`Crg^3ASnkNn6&~54mlTCd;rfV)I5A(@m1$UWI4L4v^pX@WL zPq3AB^gJt5JPN=&Q6m{bsOWaHs%;GJKgg`c ztdm)777rw*GaM{uUcwKH|2<~dV{g$bPQ)gLz0MqqtZ>fxkqOSiB7O1vKcTq~Y*^#TUiPyHNc^6*+LBB=Sd(lv;OmSS>k%-4CiTmjSS;)H%c9_=CoWKkGpo*V<1~E z&M~=LfoxrE>*%9%N-6fogIV)tq3grjvWqmXRk)w#S8ZAuo}wCkUME%Yt~EjIqj-LT zrfeB0K}S1^g?S^cvPlZjHxEqi|%(GN|ZrmwVDymAucj0K`TwRVS z$FPleSDn3d_vCo*fVgP2uwBUWOcRO57>K9dH05rz!S7y5W?+j_x9w6XQfVKhZUU+_ zUzIV~I5S%0*tG=c^bs?h4d#*Q%$ZRI_2#JDPmHh|ylGoJWH<2HK6xj#T9K0*R3~Aj z&Njsdz>BtmpGQ_AmK$Za#a-fK#X8h?#T+H3yi|c*I?YiT)lwRf-0LmJQY4<9U*xP6 z+x0~iwDS1TK8~^opNALE$R(S}7w-XTbWpm3V=0z&{SetRnlM;`nU*Z&am5nKmhzQw zM!^!_+KjlSwk$7w8R$@hk{%b??mV7QFlTcObEMxaiW>QWX$`72pA^8#=!{JqwwA7F zr*QyIJ7yumRuj+>wlFu-_#KW%Vd`oopEuC@>^0z?gWK#p7t<6Xn*2aMb2{HIwy76S zKx@9okn@DCS%MF=S_w{7#w&7`^bL{tBf?|{Om-+nHnf4TPZgj^7~gb0b6c&YpZowV zfD;Znx5IGg9Oq~6^N;D|T$tx$3L?-k{nr^%xw@sigdRt<+{+3$$VO9rGyJ8gK1${1 zXzC6cYH}jXG#FMIwomnu@=R|!-D%D2SdznxuJk^=MnZ9RkEWjin|jMM64FCdVPFo# zm+k}ErTai|;eMaa(%uKSbwUl4us0W`;mVJUvt!9V=3=@tCVX5ySriSxOJVGwo>1CO z_`-y%Cy*uG#n{+FA7ly!oIYVe4<|ty)+#udGb+P@*23a#dt6n9Lt2As=8agkRf(Fo z3TiN^MztJOqBN8DgeffG@%)6clJAw8A#_?Z znmJoytOxj4dB!86Yf6mjFII|+QgJoqN<;3sRe@7E9I5Tm}VPh z@QOS%Qklg=+S!zEXdilL#JO|}RW`^$h1G1Jh=sZC3_@0C3Q9i(ZbSR`8mEhsz=Qf=Mp?Or}HdV%vQzf_A#5y8wMh|AxS;84& zw0$H28RPh@It;lT*@lfic0;z*5t*c8OhVTalOQY5SF%-5gUG#~k?FeE4a+m=U{oy1 zn>kFLKbLI=LsIKf;w1)HxHSIN{LeDvWlMRTXtBgaw4BB@ZtUY2fqF?@<2Vf_n~g^~ z07O%zPX8#n87|=*DeA!ZX4s()ro$7<_i|%Yl#X@X4c|z$h7MTPN`5y0Rb9z>g@M6IVEM6Gy!EM9+nEEmDUGd=}wM=yp}#k3K?4QP7EEIYLcJkHjg|1#Wq3bTo4D2ArZWfjS2r<fmBVRn&&3M>8jSq?x97pR;`+1ysTj`+KR2vQs#8 zOm>P!1qc+MSTYR1h>RRC8Ra5N?DyBF54}v;JT(Ga#-^41u$3%0*v*R+} z{5i^k>(j;BJ2bgfT(Uak#RxKeb_3eZX0n~zjG9AczH!n z>wWZew7OG^{)O~s5Nx3*Mtw5rjdufZkx3Qc8tK}2p$uS52J(EdW*+oH<0K_8BVEI4 zs6fC=u_Z9Es&<6lrGLu6uk=l&=I|q7B8;FD>!Ufu3;A9gV#D%$z%T zZ}y7kmUY^grE-qwY%na&S$WcW6*9pvU+i+G-fUj+p)q0P{w0H_bg1nKBocQzDIIE_ zbi|irP0RSOD5P^h6-jTz7_8%jyxv=k(O0aP;lCx;-7%NSpZgTGgQwiSaXW&GhQZ1He@37eTtB z6&fK>Gp7SJXYw94l`V%lLidS9shYguDjVJhaAsuoR^ALM!imJH#sUfri3j{^@vjfU zRt?Wlb~rzjjuIyNGndcExt_}x?rQ@O-Jd3i0Tzft)bg&MHyH+Pr0Dt%`V*xEGAx}x z*k_({ejH4U_ zvU>xbzwyM4p^~NisQPpuU(wGIQJF;A4f?q;N!GPQl-CnbcI|szu0xCUo>6mjFAYt> zD6&&np;*XXr)hKAWjIiHrhCNUYX=G&Ott6_m2P{5AR{T+bMEI0P7hYM<_k^_R_G4(J)+sR ze8x@>=2N{e9ZnBMRj8QAr7G3w!Kw?a4Ah_iHD?T8rV!uugW<8ir4_?(Wi8WYizcJ8U&Ko1WC5dMq$nxa$;EK%W zyZt(vcIh;=E-Bi`ZV~oYZ$x`R?88O`+e?0WFx}JX!Cg!^gs8hvn(BVg=uJNyA4}K} z#-Y@HALvbEZU#=$LQ|OzuS@i zz>omS`y|Qz4B?!&hKzx+>I`9-p{ByIlY=V=(}G4u+xGeG@T^O2>cXbkYVLfzS}9nM^d4`Jl{P`+w=g|G>+FEM)^T8 zUv3e=d~XOJ&W7+Is~KNV>_V>gxARqb;&61=`r;W()qM0RjCv0KGf#Mu-*e^qig zZeO0UwOz0Pt>dKwJ|hWJ_(TVDw;?(KQ9>o|;U@Y_HpsRiYXpIRlW5j~R*AY{uA9;( zCc=;`aP2_{O&K^xh}`W4c8HUsrcC1Gs2B;`%{)?Awv1Ct!ULpbi@30lg5>=`?LG(} zQ*0y-EHw-Rc$trb_m&Z?-DT~&sqhf3NAw5HV2&J{PRg{@8?fj&3}kb4a>W-VV4|IY z9F5+OO_MSKBh~Pr7+uCEaCl#2dI{5a#vA$gZ;Lm=+gtnwLnKq^NwlMI1=yR}iDJZDive&bB2vl5EUwru85yl0YsasRUJa+IkxxcF7WUA_4@q)6UCq# zZR0fCBA9~g^19<-`)Z^KFHb7T-ydKPS&*5gV|EWo5+|p$%bzBz4F8{$-q4|Lk*BRwA)KignuQ%BfWWGC%HJkc z5fT6RD4S{9ICOVrR3Q<*vn~H@PSa<(tTkYTYnaBOW*Ey-8XjB2#fNJ0Vi3Km7-GPK zRvHnFre^*TwLS<@l|Lx{f5^ z_*;x3r-dF5N%yIYLJ~f)!w57 z5$MD+G0Nl&-yUrhkCFwKu!B!3hu=!(;x?CMMRH39>c)^?kSSaQi+aY4=;zpqR))JZ z$VLXXc{Lc{$KNuuF4Mm2Or=0}50bV+yu5)WgpHMv!(XRg|j?LUwvM-(8~S7bo2Gy3DUM3AQ!yjAiYpQ~guuK&eNv#E9M% zU#PKo8V$u3pi)ND{?n@TU1=Cl01{Bb8$m4ihD*U%d$C^e>yz7ljl*`uug?*R*rsu| zH`wWO?5jsMZC9a&w(w!hX$TFS?BKUH4Az3%EpX)2l+&)GF~yJvTmc8)T~AMm(QZ4dzMHfXql<+J{qQ`BuWHfwAbZ!RlH!mi_+G9 z;-z6Mz&9y$dY0~V@6XMVx=E&WGJK9zX|RKHtgHn*Pn3?Rs7KS;#m@36#~@`qHVcq5n@k|iw`iRwPYQCL zM^4X#d}aT@iC>wv0u$SD z%f@6kSXMT3shePm3UH!huci1EtE1CBqKFoqc-*FHZ3*}hwZ@(V3Ps~Bh|u{iwCVuB z{9GkO4Nb;Gd4UDn@&KjKWVO`H%fk?CEX@zwm7ppP@JW8LFfsimn)U5l_U{MlK4x4KO{k5ERX}NCkZj%d86!M z_%*w`HwOV!wLg6z72n%O8Zu=ZrAD;i&nbi;`ov@rmXmbnTD2`}0m8e8D#4$Kg!kAD zn`NiaF2=X!$9TLf9T%v?wgUnsj+&yD9{J8dE5T%?Zp(LE3?}MQ_`ObY_oj z6r)-h;WD(jdAwHBs0+@wVKYp4u))6^c&H1;zU(tG5;BtTK3gEsz^g)Y?j#5PGSS}e zSNK`;F-x163{pBs&dw60r7X@)vd?S~#)ezfu)e?IUVm21zTa>g5UN-KZGhVNsVv?BwgakO#LG!MIH{M+APh}yM-!Zn@(Xl*v2m0?b%8hEUY z?%7fee^_LlN1ST4mu6U<#p?rISnThDRxw&5xpe`AR=c2$Lu`>sXLntwmtDBq*Lv*_ zL|EqEZsQM?FK7@S$+Q*)ik}wRMv9nk19V3^XeMyevi0uT_ew`_{9dCz_E?pez(k!H zEI!xfAWk95gSS;DQth&kFbMNZx|A&*_!}i(iLKX8snm3i8XwC?ACqVI|_RZbKp0tAvqsu0&*br8~pZM+i>^Lh@7xbF6eR;`AOuP$V9wJK!%8Ldg2 z_l$qG`xA1=!^f-wPsLg6Tl7KLddZmoY`yp+ebV;F#{Wt=rMsh5?mx?xChtVzjz!r2 z#rtIh>iO{GWu9P6piz~){J88YM3nMCKcp+vqhzY2msPu+tlVdi{mk``P?O=P7Yu+IgzL?hQ03KEeBAmIPra zN34b!ikBu#$#WL0t*l{;PGd2B|19E}Ib}s(FN07nCA3wFDs-mv)F5;Qj6Y@y zW>2_e>Q)k8AI*4lK$mUJRC}!}+DO|k_ql_iwpQ_&L+O58*l;>XnO>P{xg!K**d`_#1R+w^)waRblNg!sbGy>UO!GPSofCx zgbO84fwrx3yD;>vfy>kgxU4oKK&TZxH*79(&p)skTBJVExI`MB=CCy1C44TG`0Vay zY_@>*S_bvSWg7<>OJ@_v*aPzxNOft?cvc%3ZH$d0;R56&8!8a%gO{jb3tCh=v=orR z4#SIp5S-v&wQte7u_{VlBI2n^TpJNB&icoU(QmGG?yP^buFk&8*1@f=*SZH=H>VE2BuGHLp;x2#wQn*QkB!xi zTz7cQ7Kpn@>4WeWfhLzDtonzL4?$+$&tpO+o|O$DFEWMzc?0ckw{`T|0K@!_YHc6) zmGUo*Thu*VzyM*8&AMXI8oT?qkLduVYawDpXQ-H5ksA$lqf@ngi}Q-zDb9p4xB})l zM5|AlH0hpJD{Yk~ttd@+B`sI#bbE~862#lwe2sa=x^8XWQmd`!AAG#a5)ON6L6`2K za5ra35r@Ow-p!lqHM!{a=8XK7?seg=V|UkwyFK=%{Ajh(wr59WVqdCvZ!nZ|Hqo^J z6a`cQ^ne4jRa@CV&w(1@NU>>;-?2wWifwMu3lOU3RKwrgXoTX()m3Xxra4%I1; zWJuA|)@JWGh!R>@M4pj0y8AK0Wm|YN&u{9Zr8vf$hK=ziALC7xF&@lqXiK?`XgNQ& zW^{2}BRCfN*vnhF2Jw|fYzRxd)?;_pC2P6avq`Ka-s}aC>51T$FUiie7j4?_pkXlY z8K1bQ?&p_dTZUNAkM)Zm(MUzo=Z7GB0aRqvy@|$AIm4i zh}2Q4^=5v^SZ$4_y2oFkMv*ME23~9<4$vS2@pUx;_=3rUyy-~NU3)XX&La)F15Jk= zGrGfExxReHw#94Z9XLE%zBxyf%2BBAh*{m}7$lGRg3MniU`n2e2^wx@O+wu4WOc$O zaJ#n%Hy!w;esgU`!RO<(S@Fy9+MJ}$&9!-nqP5ySi%~yCJ5tNXYd^~#YK%=9`9l59 z`crC8z3>Jl1$8%T&EEjA)_$(uy|t)!U)AD3@@NR?;uW#+(5FM>e?CBXfT&5@U6t;( zlmB^c@}C;`q$>Y!WlUhOUVMnHByHJYN9%#s@>js>OO3lhmMX`3!t0_b|F#6pq zi(w$SR)r|K6KH+3dARf8-sZ~ic2|aXgl9g+uW(iPTGJxkJHs=BX!mtN$-JJ@SB6i& zQZ2nC7ej_+X}V+g_He#qZFcdB2%06x1N1@~921fl<4a2#H_{O&jowk&N=hEkJ+{(v zuqC2(v?>!r8dJ})hs^RoZJRyR%(vPaHzkV#C3d`OYm`<9YN~2!L@mXnq6KGO0fWGG z^YN>&=Z4uN`G8Fl?YU#a?73rZ&mF7SbGPIM{u8-D{U~b|0CuqMqCLlo?PSj#aZ7F$ z=wZVx2hGp^^d@7)k(bfBJ2^C$QNcULNAjaZ^WpBz*eYvJU?s?8ky2V;H2E$u-@~G_ zc#+3YY`zczFO983=P?j&IFGS#@H~b??>t5XngN4ijsA6I5S3QL-eff3x|_{_d@W4| zZj!}dB$&*XqgW+~xV75f%DRW)uUBaY94BRuDbP$Xf^Ib<$nK!Lyflzd%XgHf6!iKP zr74A(b$j^?GwZhU8MfS=`RnArncCjLrhBaq@Abj{Qit|!z9!j#D-}QR*7ZABq#xKTTk2k?IjAq0T!{ig;$z8Ghg@4p zjXj$pYXvY|#^{ykow;(to-}!Kkaxg1cB@>v-XX^uC7?~KmHaWdSgi_~Widl58q>TD zdY0^k90x`cg|Y~BE~`L46o7sx03GiH;0x%ySb_OIKwj^1geHqdzhp2rKQ}_vAy-On zK{dkIAs%7eis1u;u|f=z0!$AaO@hUXfZGuVtX_Z}R$YASuJjdkR|;_5;VUjn2!Wp* zoJj@^u@1zxliF8)U@o;R@Tn}dC^ znAOdjakOGAW`B&uSW6Yk`UAK*M`RN8f~8;6J@gle#5|Nz5?OCmWTr@zGdAV}_mb$r zJg`tiG!G74$vik#H4g&m!FMHfabtmqlDIlo!G2#1m3`8EmIh6t* zDqzO(lm|X^N8sab*R#4q=xn$M(j93&OZi>pQ*`oImv@My_3~YdUlpz-^esx{r0b8% zei!q~UDla^fV?X5LGRJGzU-EciL;I3%>UbXmm5a){2mh-v(n;wD`DK%nDOzwVFB^WP+=yBHX$6Imk6pnhax}C|Rmu*q4om z;0_7#?y22Tv{a`_q)1sVs{+v(F-2bClPdR;Emb} zl&gu;v+?)h2lM5p*T3+EFO2`-

FdJB3C9n}ij=33xqbRD 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%0A_i`FRqP9@sRHMu`2?kejhs5|5fX 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 literal 350363 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≻{D8d7P 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%0DWqccU}_LK)6g%H%DSxm*V8)eHzd7UQhP~Ps9K? zEY#OqK}Plh8p&0V&HKdF&31+x=9Pyg4>5gvMjh>o2bJO%FHxR~o3e{kdoPavXvRgM zZ=5*5_#~%>lAYtzU_G-l^$JH%8Pk3!~2hjXA*P0)G!4`T{k%rp2Tl8jW&^WQ&n%;yLW7KykQH_*u-u( z6Nkp9Y%YwfBV|lNV)!>bF%j);-0SBhI*2d>={h(vK0OsiXEYOxY2){8>nU{CK5kt- z=M|>Tfk-LoJ2ZCP$mH048lXr@DD;9>(|n_oMNn5H0O*&K6IfV#CnpX>w=~A~Zre5* zW9QK7D}R#?U`syjb8+(H<{&%=q-*8YE}3d zyt#2N>>>15(g|Z|5-#0{L;aQ+_XA8#teR@v8k8{R<0Y?OPX;>AXIlUA75z`@d(HI6 zV;FM4_!KxDjgF0tB6#j`JkM+_+ss0I?n3%FqTke^sT4ZEv>Lag83?&iPO&p%&fXm_ zN<0qC*r*AM+eQve-@Pri?L@x+`3}Fbq3B=K;hBo`j-Jc*6Y)=fI<+&_Kt}PMj&3p) zdSt9lH&CaiM;lX;wr16=CnsRY?&+NMrcmU;?H8^oQA{fwqU9=kXpGIc=T1$m%@p?dFMCpspJ8_x zVBDE&N2W(wJLt%*>)^GcC@0g`5;USOiyuiYO1jt#u!1i%q%3z6I5dNXzm7YcHC#r zp#x4mFb(D|XeR+BXqrK`_DqUuYixNVl}Z(t9%-U((&0$hi53^sxi!gHB?R8IxB1>U zbW;%{aAH(ansm~j=UMgW_&%wCBd9ONLFpX03;{52V*_?E3d&G2E_rh|cqiZ_mCqTA z_Jp}kAyU%0SC3#Sl#Gi#C@B>Wzf}_5x$sLzPs0Bx`ugJJG2g%o)AL&i`^IdCw# zc686{4oX|}?~2ChPh|ghrg6#JH%{D}+}M(JU`Pt({6)aWk|835-H+)((Ex3(Ox3@d zg*|<5L(WDl71SIBf$kK=Id_ZgbQn`=l9GNf8*?xUx@ZO$`(*M`Plt*+$DcG&YSMvJH{vz(j1wzRd1ixEN1&z;;H*4>B3dwb{&M zhc%n-s%U)VKtue-7Vh*R_yFLD0d|Ws5JkqE3?gP?b}KE$&pm6-c{Mc-H+CPAeI_+g z?NMxZn>M;;j}hCU)zMW~MHgN6-2D`>FPDm(mc}Zv8GcdsY>AaquJq~N2X1^VN2VmcE3}Bmp9-6k_x!QNJ z1-GKJO&uaePz+2S4=FXC?{$3ER%mp)t#rz@*NHst;oIiAFXF6}rpIesJa z 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 Chg1vz literal 350462 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

gc9U%@Asl^Dx;xK_# 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

BO#cG%4t;&^roP_ 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 diff --git a/substrate/demo/service/Cargo.toml b/substrate/demo/service/Cargo.toml new file mode 100644 index 0000000000..8b38012870 --- /dev/null +++ b/substrate/demo/service/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "demo-service" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +parking_lot = "0.4" +error-chain = "0.12" +lazy_static = "1.0" +log = "0.3" +slog = "^2" +tokio = "0.1.7" +hex-literal = "0.1" +ed25519 = { path = "../../substrate/ed25519" } +demo-api = { path = "../api" } +demo-primitives = { path = "../primitives" } +demo-runtime = { path = "../runtime" } +demo-executor = { path = "../executor" } +demo-consensus = { path = "../consensus" } +demo-network = { path = "../network" } +demo-transaction-pool = { path = "../transaction-pool" } +substrate-runtime-io = { path = "../../substrate/runtime-io" } +substrate-primitives = { path = "../../substrate/primitives" } +substrate-network = { path = "../../substrate/network" } +substrate-client = { path = "../../substrate/client" } +substrate-service = { path = "../../substrate/service" } +substrate-telemetry = { path = "../../substrate/telemetry" } diff --git a/substrate/demo/service/src/chain_spec.rs b/substrate/demo/service/src/chain_spec.rs new file mode 100644 index 0000000000..5cabbac58c --- /dev/null +++ b/substrate/demo/service/src/chain_spec.rs @@ -0,0 +1,210 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +//! Substrate Demo chain configurations. + +use ed25519; +use primitives::AuthorityId; +use demo_runtime::{GenesisConfig, ConsensusConfig, CouncilConfig, DemocracyConfig, + SessionConfig, StakingConfig, TimestampConfig, BalancesConfig, TreasuryConfig, Permill}; +use service::ChainSpec; + +const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; + +pub fn testnet_config() -> Result, String> { + //ChainSpec::from_embedded(include_bytes!("../res/demo.json")) + Ok(staging_testnet_config()) +} + +fn staging_testnet_config_genesis() -> GenesisConfig { + let initial_authorities = vec![ + hex!["82c39b31a2b79a90f8e66e7a77fdb85a4ed5517f2ae39f6a80565e8ecae85cf5"].into(), + hex!["4de37a07567ebcbf8c64568428a835269a566723687058e017b6d69db00a77e7"].into(), + hex!["063d7787ebca768b7445dfebe7d62cbb1625ff4dba288ea34488da266dd6dca5"].into(), + hex!["8101764f45778d4980dadaceee6e8af2517d3ab91ac9bec9cd1714fa5994081c"].into(), + ]; + let endowed_accounts = vec![ + hex!["f295940fa750df68a686fcf4abd4111c8a9c5a5a5a83c4c8639c451a94a7adfd"].into(), + ]; + GenesisConfig { + consensus: Some(ConsensusConfig { + code: include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm").to_vec(), // TODO change + authorities: initial_authorities.clone(), + }), + system: None, + balances: Some(BalancesConfig { + transaction_base_fee: 100, + transaction_byte_fee: 1, + existential_deposit: 500, + transfer_fee: 0, + creation_fee: 0, + reclaim_rebate: 0, + balances: endowed_accounts.iter().map(|&k|(k, 1u64 << 60)).collect(), + }), + session: Some(SessionConfig { + validators: initial_authorities.iter().cloned().map(Into::into).collect(), + session_length: 60, // that's 5 minutes per session. + }), + staking: Some(StakingConfig { + current_era: 0, + intentions: initial_authorities.iter().cloned().map(Into::into).collect(), + early_era_slash: 10000, + session_reward: 100, + validator_count: 12, + sessions_per_era: 12, // 1 hour per era + bonding_duration: 24 * 60 * 12, // 1 day per bond. + offline_slash_grace: 4, + minimum_validator_count: 4, + }), + democracy: Some(DemocracyConfig { + launch_period: 12 * 60 * 24, // 1 day per public referendum + voting_period: 12 * 60 * 24 * 3, // 3 days to discuss & vote on an active referendum + minimum_deposit: 5000, // 12000 as the minimum deposit for a referendum + }), + council: Some(CouncilConfig { + active_council: vec![], + candidacy_bond: 5000, // 5000 to become a council candidate + voter_bond: 1000, // 1000 down to vote for a candidate + present_slash_per_voter: 1, // slash by 1 per voter for an invalid presentation. + carry_count: 6, // carry over the 6 runners-up to the next council election + presentation_duration: 12 * 60 * 24, // one day for presenting winners. + approval_voting_period: 12 * 60 * 24 * 2, // two days period between possible council elections. + term_duration: 12 * 60 * 24 * 24, // 24 day term duration for the council. + desired_seats: 0, // start with no council: we'll raise this once the stake has been dispersed a bit. + inactive_grace_period: 1, // one addition vote should go by before an inactive voter can be reaped. + + cooloff_period: 12 * 60 * 24 * 4, // 4 day cooling off period if council member vetoes a proposal. + voting_period: 12 * 60 * 24, // 1 day voting period for council members. + }), + timestamp: Some(TimestampConfig { + period: 5, // 5 second block time. + }), + treasury: Some(TreasuryConfig { + proposal_bond: Permill::from_percent(5), + proposal_bond_minimum: 1_000_000, + spend_period: 12 * 60 * 24, + burn: Permill::from_percent(50), + }), + } +} + +/// Staging testnet config. +pub fn staging_testnet_config() -> ChainSpec { + let boot_nodes = vec![]; + ChainSpec::from_genesis( + "Staging Testnet", + "staging_testnet", + staging_testnet_config_genesis, + boot_nodes, + Some(STAGING_TELEMETRY_URL.into()), + ) +} + +fn testnet_genesis(initial_authorities: Vec) -> GenesisConfig { + let endowed_accounts = vec![ + ed25519::Pair::from_seed(b"Alice ").public().0.into(), + ed25519::Pair::from_seed(b"Bob ").public().0.into(), + ed25519::Pair::from_seed(b"Charlie ").public().0.into(), + ed25519::Pair::from_seed(b"Dave ").public().0.into(), + ed25519::Pair::from_seed(b"Eve ").public().0.into(), + ed25519::Pair::from_seed(b"Ferdie ").public().0.into(), + ]; + GenesisConfig { + consensus: Some(ConsensusConfig { + code: include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm").to_vec(), + authorities: initial_authorities.clone(), + }), + system: None, + balances: Some(BalancesConfig { + transaction_base_fee: 1, + transaction_byte_fee: 0, + existential_deposit: 500, + transfer_fee: 0, + creation_fee: 0, + reclaim_rebate: 0, + balances: endowed_accounts.iter().map(|&k|(k, (1u64 << 60))).collect(), + }), + session: Some(SessionConfig { + validators: initial_authorities.iter().cloned().map(Into::into).collect(), + session_length: 10, + }), + staking: Some(StakingConfig { + current_era: 0, + intentions: initial_authorities.iter().cloned().map(Into::into).collect(), + minimum_validator_count: 1, + validator_count: 2, + sessions_per_era: 5, + bonding_duration: 2 * 60 * 12, + early_era_slash: 0, + session_reward: 0, + offline_slash_grace: 0, + }), + democracy: Some(DemocracyConfig { + launch_period: 9, + voting_period: 18, + minimum_deposit: 10, + }), + council: Some(CouncilConfig { + active_council: endowed_accounts.iter() + .filter(|a| initial_authorities.iter().find(|&b| a.0 == b.0).is_none()) + .map(|a| (a.clone(), 1000000)).collect(), + candidacy_bond: 10, + voter_bond: 2, + present_slash_per_voter: 1, + carry_count: 4, + presentation_duration: 10, + approval_voting_period: 20, + term_duration: 1000000, + desired_seats: (endowed_accounts.len() - initial_authorities.len()) as u32, + inactive_grace_period: 1, + + cooloff_period: 75, + voting_period: 20, + }), + timestamp: Some(TimestampConfig { + period: 5, // 5 second block time. + }), + treasury: Some(TreasuryConfig { + proposal_bond: Permill::from_percent(5), + proposal_bond_minimum: 1_000_000, + spend_period: 12 * 60 * 24, + burn: Permill::from_percent(50), + }), + } +} + +fn development_config_genesis() -> GenesisConfig { + testnet_genesis(vec![ + ed25519::Pair::from_seed(b"Alice ").public().into(), + ]) +} + +/// Development config (single validator Alice) +pub fn development_config() -> ChainSpec { + ChainSpec::from_genesis("Development", "development", development_config_genesis, vec![], None) +} + +fn local_testnet_genesis() -> GenesisConfig { + testnet_genesis(vec![ + ed25519::Pair::from_seed(b"Alice ").public().into(), + ed25519::Pair::from_seed(b"Bob ").public().into(), + ]) +} + +/// Local testnet config (multivalidator Alice + Bob) +pub fn local_testnet_config() -> ChainSpec { + ChainSpec::from_genesis("Local Testnet", "local_testnet", local_testnet_genesis, vec![], None) +} diff --git a/substrate/demo/service/src/lib.rs b/substrate/demo/service/src/lib.rs new file mode 100644 index 0000000000..14cd91d643 --- /dev/null +++ b/substrate/demo/service/src/lib.rs @@ -0,0 +1,214 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +#![warn(unused_extern_crates)] + +//! Substrate Demo service. Specialized wrapper over substrate service. + +extern crate ed25519; +extern crate demo_api; +extern crate demo_primitives; +extern crate demo_runtime; +extern crate demo_executor; +extern crate demo_network; +extern crate demo_transaction_pool as transaction_pool; +extern crate demo_consensus as consensus; +extern crate substrate_primitives as primitives; +extern crate substrate_network as network; +extern crate substrate_client as client; +extern crate substrate_service as service; +extern crate tokio; + +#[macro_use] +extern crate log; +#[macro_use] +extern crate hex_literal; + +pub mod chain_spec; + +use std::sync::Arc; + +use transaction_pool::TransactionPool; +use demo_api::Api; +use demo_primitives::{Block, Hash}; +use demo_runtime::GenesisConfig; +use client::Client; +use demo_network::{Protocol as DemoProtocol, consensus::ConsensusNetwork}; +use tokio::runtime::TaskExecutor; +use service::FactoryFullConfiguration; +use primitives::{KeccakHasher, RlpCodec}; + +pub use service::{Roles, PruningMode, ExtrinsicPoolOptions, + ErrorKind, Error, ComponentBlock, LightComponents, FullComponents}; +pub use client::ExecutionStrategy; + +/// Specialised `ChainSpec`. +pub type ChainSpec = service::ChainSpec; +/// Client type for specialised `Components`. +pub type ComponentClient = Client<::Backend, ::Executor, Block>; +pub type NetworkService = network::Service::NetworkProtocol, Hash>; + +/// A collection of type to generalise specific components over full / light client. +pub trait Components: service::Components { + /// Demo API. + type Api: 'static + Api + Send + Sync; + /// Client backend. + type Backend: 'static + client::backend::Backend; + /// Client executor. + type Executor: 'static + client::CallExecutor + Send + Sync; +} + +impl Components for service::LightComponents { + type Api = service::LightClient; + type Executor = service::LightExecutor; + type Backend = service::LightBackend; +} + +impl Components for service::FullComponents { + type Api = service::FullClient; + type Executor = service::FullExecutor; + type Backend = service::FullBackend; +} + +/// All configuration for the node. +pub type Configuration = FactoryFullConfiguration; + +/// Demo-specific configuration. +#[derive(Default)] +pub struct CustomConfiguration; + +/// Config for the substrate service. +pub struct Factory; + +impl service::ServiceFactory for Factory { + type Block = Block; + type ExtrinsicHash = Hash; + type NetworkProtocol = DemoProtocol; + type RuntimeDispatch = demo_executor::Executor; + type FullExtrinsicPoolApi = transaction_pool::ChainApi>; + type LightExtrinsicPoolApi = transaction_pool::ChainApi>; + type Genesis = GenesisConfig; + type Configuration = CustomConfiguration; + + const NETWORK_PROTOCOL_ID: network::ProtocolId = ::demo_network::PROTOCOL_ID; + + fn build_full_extrinsic_pool(config: ExtrinsicPoolOptions, client: Arc>) + -> Result>, Error> + { + Ok(TransactionPool::new(config, transaction_pool::ChainApi::new(client))) + } + + fn build_light_extrinsic_pool(config: ExtrinsicPoolOptions, client: Arc>) + -> Result>, Error> + { + Ok(TransactionPool::new(config, transaction_pool::ChainApi::new(client))) + } + + fn build_network_protocol(_config: &Configuration) + -> Result + { + Ok(DemoProtocol::new()) + } +} + +/// Demo service. +pub struct Service { + inner: service::Service, + client: Arc>, + network: Arc, + api: Arc<::Api>, + _consensus: Option, +} + +impl Service { + pub fn client(&self) -> Arc> { + self.client.clone() + } + + pub fn network(&self) -> Arc { + self.network.clone() + } + + pub fn api(&self) -> Arc<::Api> { + self.api.clone() + } +} + +/// Creates light client and register protocol with the network service +pub fn new_light(config: Configuration, executor: TaskExecutor) + -> Result>, Error> +{ + let service = service::Service::>::new(config, executor.clone())?; + let api = service.client(); + Ok(Service { + client: service.client(), + network: service.network(), + api: api, + inner: service, + _consensus: None, + }) +} + +/// Creates full client and register protocol with the network service +pub fn new_full(config: Configuration, executor: TaskExecutor) + -> Result>, Error> +{ + let is_validator = (config.roles & Roles::AUTHORITY) == Roles::AUTHORITY; + let service = service::Service::>::new(config, executor.clone())?; + // Spin consensus service if configured + let consensus = if is_validator { + // Load the first available key + let key = service.keystore().load(&service.keystore().contents()?[0], "")?; + info!("Using authority key {}", key.public()); + + let client = service.client(); + + let consensus_net = ConsensusNetwork::new(service.network(), client.clone()); + Some(consensus::Service::new( + client.clone(), + client.clone(), + consensus_net, + service.extrinsic_pool(), + executor, + key, + )) + } else { + None + }; + + Ok(Service { + client: service.client(), + network: service.network(), + api: service.client(), + inner: service, + _consensus: consensus, + }) +} + +/// Creates bare client without any networking. +pub fn new_client(config: Configuration) + -> Result>>, Error> +{ + service::new_client::(config) +} + +impl ::std::ops::Deref for Service { + type Target = service::Service; + + fn deref(&self) -> &Self::Target { + &self.inner + } +} diff --git a/substrate/demo/src/main.rs b/substrate/demo/src/main.rs index 82e48dfc70..7b219728c3 100644 --- a/substrate/demo/src/main.rs +++ b/substrate/demo/src/main.rs @@ -1,4 +1,4 @@ -// Copyright 2017 Parity Technologies (UK) Ltd. +// Copyright 2018 Parity Technologies (UK) Ltd. // This file is part of Substrate Demo. // Substrate Demo is free software: you can redistribute it and/or modify @@ -19,12 +19,51 @@ #![warn(missing_docs)] extern crate demo_cli as cli; +extern crate ctrlc; +extern crate futures; #[macro_use] extern crate error_chain; +use cli::VersionInfo; +use futures::sync::oneshot; +use futures::{future, Future}; + +use std::cell::RefCell; + +mod vergen { + #![allow(unused)] + include!(concat!(env!("OUT_DIR"), "/version.rs")); +} + +// handles ctrl-c +struct Exit; +impl cli::IntoExit for Exit { + type Exit = future::MapErr, fn(oneshot::Canceled) -> ()>; + fn into_exit(self) -> Self::Exit { + // can't use signal directly here because CtrlC takes only `Fn`. + let (exit_send, exit) = oneshot::channel(); + + let exit_send_cell = RefCell::new(Some(exit_send)); + ctrlc::set_handler(move || { + if let Some(exit_send) = exit_send_cell.try_borrow_mut().expect("signal handler not reentrant; qed").take() { + exit_send.send(()).expect("Error sending exit notification"); + } + }).expect("Error setting Ctrl-C handler"); + + exit.map_err(drop) + } +} + quick_main!(run); fn run() -> cli::error::Result<()> { - cli::run(::std::env::args()) + let version = VersionInfo { + commit: vergen::short_sha(), + version: env!("CARGO_PKG_VERSION"), + executable_name: "substrate", + author: "Parity Team ", + description: "Generic substrate node", + }; + cli::run(::std::env::args(), Exit, version) } diff --git a/substrate/demo/transaction-pool/Cargo.toml b/substrate/demo/transaction-pool/Cargo.toml new file mode 100644 index 0000000000..94eaae111a --- /dev/null +++ b/substrate/demo/transaction-pool/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "demo-transaction-pool" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +log = "0.3.0" +error-chain = "0.12" +parking_lot = "0.4" +demo-api = { path = "../api" } +demo-primitives = { path = "../primitives" } +demo-runtime = { path = "../runtime" } +substrate-client = { path = "../../substrate/client" } +substrate-codec = { path = "../../substrate/codec" } +substrate-keyring = { path = "../../substrate/keyring" } +substrate-extrinsic-pool = { path = "../../substrate/extrinsic-pool" } +substrate-primitives = { path = "../../substrate/primitives" } +substrate-runtime-primitives = { path = "../../substrate/runtime/primitives" } +ed25519 = { path = "../../substrate/ed25519" } diff --git a/substrate/demo/transaction-pool/src/error.rs b/substrate/demo/transaction-pool/src/error.rs new file mode 100644 index 0000000000..2303372084 --- /dev/null +++ b/substrate/demo/transaction-pool/src/error.rs @@ -0,0 +1,73 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +use extrinsic_pool; +use demo_api; +use primitives::Hash; +use runtime::{Address, UncheckedExtrinsic}; + +error_chain! { + links { + Pool(extrinsic_pool::Error, extrinsic_pool::ErrorKind); + Api(demo_api::Error, demo_api::ErrorKind); + } + errors { + /// Unexpected extrinsic format submitted + InvalidExtrinsicFormat { + description("Invalid extrinsic format."), + display("Invalid extrinsic format."), + } + /// Attempted to queue an inherent transaction. + IsInherent(xt: UncheckedExtrinsic) { + description("Inherent transactions cannot be queued."), + display("Inherent transactions cannot be queued."), + } + /// Attempted to queue a transaction with bad signature. + BadSignature(e: &'static str) { + description("Transaction had bad signature."), + display("Transaction had bad signature: {}", e), + } + /// Attempted to queue a transaction that is already in the pool. + AlreadyImported(hash: Hash) { + description("Transaction is already in the pool."), + display("Transaction {:?} is already in the pool.", hash), + } + /// Import error. + Import(err: Box<::std::error::Error + Send>) { + description("Error importing transaction"), + display("Error importing transaction: {}", err.description()), + } + /// Runtime failure. + UnrecognisedAddress(who: Address) { + description("Unrecognised address in extrinsic"), + display("Unrecognised address in extrinsic: {}", who), + } + /// Extrinsic too large + TooLarge(got: usize, max: usize) { + description("Extrinsic too large"), + display("Extrinsic is too large ({} > {})", got, max), + } + } +} + +impl extrinsic_pool::IntoPoolError for Error { + fn into_pool_error(self) -> ::std::result::Result { + match self { + Error(ErrorKind::Pool(e), c) => Ok(extrinsic_pool::Error(e, c)), + e => Err(e), + } + } +} diff --git a/substrate/demo/transaction-pool/src/lib.rs b/substrate/demo/transaction-pool/src/lib.rs new file mode 100644 index 0000000000..637356a098 --- /dev/null +++ b/substrate/demo/transaction-pool/src/lib.rs @@ -0,0 +1,237 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate Demo. + +// Substrate Demo 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 Demo 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 Demo. If not, see . + +extern crate ed25519; +extern crate substrate_client as client; +extern crate substrate_codec as codec; +extern crate substrate_extrinsic_pool as extrinsic_pool; +extern crate substrate_primitives; +extern crate substrate_runtime_primitives; +extern crate demo_runtime as runtime; +extern crate demo_primitives as primitives; +extern crate demo_api; +extern crate parking_lot; + +#[cfg(test)] +extern crate substrate_keyring; + +#[macro_use] +extern crate error_chain; + +#[macro_use] +extern crate log; + +mod error; + +use std::{ + cmp::Ordering, + collections::HashMap, + sync::Arc, +}; + +use codec::{Decode, Encode}; +use extrinsic_pool::{Readiness, scoring::{Change, Choice}, VerifiedFor, ExtrinsicFor}; +use demo_api::Api; +use primitives::{AccountId, BlockId, Block, Hash, Index}; +use runtime::{Address, UncheckedExtrinsic, RawAddress}; +use substrate_runtime_primitives::traits::{Bounded, Checkable, Hash as HashT, BlakeTwo256}; + +pub use extrinsic_pool::{Options, Status, LightStatus, VerifiedTransaction as VerifiedTransactionOps}; +pub use error::{Error, ErrorKind, Result}; + +/// Maximal size of a single encoded extrinsic. +const MAX_TRANSACTION_SIZE: usize = 4 * 1024 * 1024; + +/// Type alias for convenience. +pub type CheckedExtrinsic = std::result::Result>>::Checked; + +/// Type alias for the transaction pool. +pub type TransactionPool = extrinsic_pool::Pool>; + +/// A verified transaction which should be includable and non-inherent. +#[derive(Clone, Debug)] +pub struct VerifiedTransaction { + /// Transaction hash. + pub hash: Hash, + /// Transaction sender. + pub sender: AccountId, + /// Transaction index. + pub index: Index, + encoded_size: usize, +} + +impl VerifiedTransaction { + /// Get the 256-bit hash of this transaction. + pub fn hash(&self) -> &Hash { + &self.hash + } + + /// Get the account ID of the sender of this transaction. + pub fn index(&self) -> Index { + self.index + } + + /// Get encoded size of the transaction. + pub fn encoded_size(&self) -> usize { + self.encoded_size + } +} + +impl extrinsic_pool::VerifiedTransaction for VerifiedTransaction { + type Hash = Hash; + type Sender = AccountId; + + fn hash(&self) -> &Self::Hash { + &self.hash + } + + fn sender(&self) -> &Self::Sender { + &self.sender + } + + fn mem_usage(&self) -> usize { + self.encoded_size // TODO + } +} + +/// The transaction pool logic. +pub struct ChainApi { + api: Arc, +} + +impl ChainApi where + A: Api, +{ + /// Create a new instance. + pub fn new(api: Arc) -> Self { + ChainApi { + api, + } + } +} + + +impl extrinsic_pool::ChainApi for ChainApi where + A: Api + Send + Sync, +{ + type Block = Block; + type Hash = Hash; + type Sender = AccountId; + type VEx = VerifiedTransaction; + type Ready = HashMap; + type Error = Error; + type Score = u64; + type Event = (); + + fn verify_transaction(&self, _at: &BlockId, xt: &ExtrinsicFor) -> Result { + let encoded = xt.encode(); + let uxt = UncheckedExtrinsic::decode(&mut encoded.as_slice()).ok_or_else(|| ErrorKind::InvalidExtrinsicFormat)?; + if !uxt.is_signed() { + bail!(ErrorKind::IsInherent(uxt)) + } + + let (encoded_size, hash) = (encoded.len(), BlakeTwo256::hash(&encoded)); + if encoded_size > MAX_TRANSACTION_SIZE { + bail!(ErrorKind::TooLarge(encoded_size, MAX_TRANSACTION_SIZE)); + } + + debug!(target: "transaction-pool", "Transaction submitted: {}", ::substrate_primitives::hexdisplay::HexDisplay::from(&encoded)); + let checked = uxt.clone().check_with(|a| { + match a { + RawAddress::Id(id) => Ok(id), + RawAddress::Index(_) => Err("Index based addresses are not supported".into()),// TODO: Make index addressing optional in substrate + } + })?; + let sender = checked.signed.expect("Only signed extrinsics are allowed at this point"); + + + if encoded_size < 1024 { + debug!(target: "transaction-pool", "Transaction verified: {} => {:?}", hash, uxt); + } else { + debug!(target: "transaction-pool", "Transaction verified: {} ({} bytes is too large to display)", hash, encoded_size); + } + + Ok(VerifiedTransaction { + index: checked.index, + sender, + hash, + encoded_size, + }) + } + + fn ready(&self) -> Self::Ready { + HashMap::default() + } + + fn is_ready(&self, at: &BlockId, known_nonces: &mut Self::Ready, xt: &VerifiedFor) -> Readiness { + let sender = xt.verified.sender().clone(); + trace!(target: "transaction-pool", "Checking readiness of {} (from {})", xt.verified.hash, sender); + + // TODO: find a way to handle index error properly -- will need changes to + // transaction-pool trait. + let api = &self.api; + let next_index = known_nonces.entry(sender) + .or_insert_with(|| api.index(at, sender).ok().unwrap_or_else(Bounded::max_value)); + + trace!(target: "transaction-pool", "Next index for sender is {}; xt index is {}", next_index, xt.verified.index); + + let result = match xt.verified.index.cmp(&next_index) { + // TODO: this won't work perfectly since accounts can now be killed, returning the nonce + // to zero. + // We should detect if the index was reset and mark all transactions as `Stale` for cull to work correctly. + // Otherwise those transactions will keep occupying the queue. + // Perhaps we could mark as stale if `index - state_index` > X? + Ordering::Greater => Readiness::Future, + Ordering::Equal => Readiness::Ready, + // TODO [ToDr] Should mark transactions referencing too old blockhash as `Stale` as well. + Ordering::Less => Readiness::Stale, + }; + + // remember to increment `next_index` + *next_index = next_index.saturating_add(1); + + result + } + + fn compare(old: &VerifiedFor, other: &VerifiedFor) -> Ordering { + old.verified.index().cmp(&other.verified.index()) + } + + fn choose(old: &VerifiedFor, new: &VerifiedFor) -> Choice { + if old.verified.index() == new.verified.index() { + return Choice::ReplaceOld; + } + Choice::InsertNew + } + + fn update_scores( + xts: &[extrinsic_pool::Transaction>], + scores: &mut [Self::Score], + _change: Change<()> + ) { + for i in 0..xts.len() { + // all the same score since there are no fees. + // TODO: prioritize things like misbehavior or fishermen reports + scores[i] = 1; + } + } + + fn should_replace(_old: &VerifiedFor, _new: &VerifiedFor) -> Choice { + // Don't allow new transactions if we are reaching the limit. + Choice::RejectNew + } +} + diff --git a/substrate/substrate/bft/src/lib.rs b/substrate/substrate/bft/src/lib.rs index 9e465f852c..be6da011be 100644 --- a/substrate/substrate/bft/src/lib.rs +++ b/substrate/substrate/bft/src/lib.rs @@ -235,10 +235,12 @@ impl> BftInstance { fn round_timeout_duration(&self, round: usize) -> Duration { - const ROUND_INCREMENT_STEP: usize = 10000; + // 2^(min(6, x/8)) * 10 + // Grows exponentially starting from 10 seconds, capped at 640 seconds. + const ROUND_INCREMENT_STEP: usize = 8; let round = round / ROUND_INCREMENT_STEP; - let round = ::std::cmp::min(63, round) as u32; + let round = ::std::cmp::min(6, round) as u32; let timeout = 1u64.checked_shl(round) .unwrap_or_else(u64::max_value) @@ -470,7 +472,7 @@ impl BftService hash: None, start_round: 0, })), - round_timeout_multiplier: 4, + round_timeout_multiplier: 10, key: key, // TODO: key changing over time. factory, } @@ -866,7 +868,7 @@ mod tests { hash: None, start_round: 0, })), - round_timeout_multiplier: 4, + round_timeout_multiplier: 10, key: Arc::new(Keyring::One.into()), factory: DummyFactory } diff --git a/substrate/substrate/client/src/client.rs b/substrate/substrate/client/src/client.rs index d74c8ef304..c736ed2af7 100644 --- a/substrate/substrate/client/src/client.rs +++ b/substrate/substrate/client/src/client.rs @@ -25,7 +25,7 @@ use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, Zero, One, use runtime_primitives::BuildStorage; use primitives::{KeccakHasher, RlpCodec}; use primitives::storage::{StorageKey, StorageData}; -use codec::Decode; +use codec::{Encode, Decode}; use state_machine::{ Ext, OverlayedChanges, Backend as StateBackend, CodeExecutor, ExecutionStrategy, ExecutionManager, prove_read @@ -316,6 +316,51 @@ impl Client where block_builder::BlockBuilder::at_block(parent, &self) } + /// Call a runtime function at given block. + pub fn call_api(&self, at: &BlockId, function: &'static str, args: &A) -> error::Result + where + A: Encode, + R: Decode, + { + let parent = at; + let header = <::Header as HeaderT>::new( + self.block_number_from_id(&parent)? + .ok_or_else(|| error::ErrorKind::UnknownBlock(format!("{:?}", parent)))? + As::sa(1), + Default::default(), + Default::default(), + self.block_hash_from_id(&parent)? + .ok_or_else(|| error::ErrorKind::UnknownBlock(format!("{:?}", parent)))?, + Default::default() + ); + self.state_at(&parent).and_then(|state| { + let mut overlay = Default::default(); + let execution_manager = || ExecutionManager::Both(|wasm_result, native_result| { + warn!("Consensus error between wasm and native runtime execution at block {:?}", at); + warn!(" Function {:?}", function); + warn!(" Native result {:?}", native_result); + warn!(" Wasm result {:?}", wasm_result); + wasm_result + }); + self.executor().call_at_state( + &state, + &mut overlay, + "initialise_block", + &header.encode(), + execution_manager() + )?; + let (r, _) = args.using_encoded(|input| + self.executor().call_at_state( + &state, + &mut overlay, + function, + input, + execution_manager() + ))?; + Ok(R::decode(&mut &r[..]) + .ok_or_else(|| error::Error::from(error::ErrorKind::CallResultDecode(function)))?) + }) + } + /// Check a header's justification. pub fn check_justification( &self, diff --git a/substrate/substrate/client/src/light/call_executor.rs b/substrate/substrate/client/src/light/call_executor.rs index ae36a5e6d6..354a2dbe33 100644 --- a/substrate/substrate/client/src/light/call_executor.rs +++ b/substrate/substrate/client/src/light/call_executor.rs @@ -47,6 +47,17 @@ pub struct RemoteCallExecutor { _codec: PhantomData, } +impl Clone for RemoteCallExecutor { + fn clone(&self) -> Self { + RemoteCallExecutor { + blockchain: self.blockchain.clone(), + fetcher: self.fetcher.clone(), + _hasher: Default::default(), + _codec: Default::default(), + } + } +} + impl RemoteCallExecutor { /// Creates new instance of remote call executor. pub fn new(blockchain: Arc, fetcher: Arc) -> Self { diff --git a/substrate/substrate/primitives/src/hasher.rs b/substrate/substrate/primitives/src/hasher.rs index 16b14ef25f..7cc00a917e 100644 --- a/substrate/substrate/primitives/src/hasher.rs +++ b/substrate/substrate/primitives/src/hasher.rs @@ -85,4 +85,4 @@ pub mod keccak { keccak256(x).into() } } -} \ No newline at end of file +} diff --git a/substrate/substrate/service/src/lib.rs b/substrate/substrate/service/src/lib.rs index e8319d8fd8..e1cd2acc48 100644 --- a/substrate/substrate/service/src/lib.rs +++ b/substrate/substrate/service/src/lib.rs @@ -423,4 +423,4 @@ impl network::TransactionPool, ComponentBlock< fn on_broadcasted(&self, propagations: HashMap, Vec>) { self.pool.on_broadcasted(propagations) } -} \ No newline at end of file +}