From 9151349b2d7f26adabd87e190cad81d323680c75 Mon Sep 17 00:00:00 2001 From: Marcio Diaz Date: Wed, 16 Jan 2019 11:49:26 +0100 Subject: [PATCH] Make use of NLL in client crate (#1436) * fix: set edition to 2018 in Cargo.toml. * fix: refactor function to make use of NLL. * fix: result of applying 'cargo fix --edition' command. * fix: removes extern crate * fix: remove module uses from lib.rs * fix: tests imports --- substrate/core/client/Cargo.toml | 47 ++++++------- substrate/core/client/src/backend.rs | 4 +- .../core/client/src/block_builder/api.rs | 1 + .../client/src/block_builder/block_builder.rs | 42 ++++++------ substrate/core/client/src/blockchain.rs | 2 +- substrate/core/client/src/call_executor.rs | 4 +- substrate/core/client/src/cht.rs | 2 +- substrate/core/client/src/client.rs | 44 +++++++----- substrate/core/client/src/error.rs | 1 + substrate/core/client/src/genesis.rs | 6 +- substrate/core/client/src/in_mem.rs | 14 ++-- substrate/core/client/src/leaves.rs | 2 +- substrate/core/client/src/lib.rs | 63 ++---------------- substrate/core/client/src/light/backend.rs | 12 ++-- substrate/core/client/src/light/blockchain.rs | 14 ++-- .../core/client/src/light/call_executor.rs | 11 ++- substrate/core/client/src/light/fetcher.rs | 20 +++--- substrate/core/client/src/light/mod.rs | 12 ++-- substrate/core/client/src/runtime_api.rs | 4 +- .../substrate_test_runtime.compact.wasm | Bin 46045 -> 46029 bytes .../release/node_runtime.compact.wasm | Bin 792120 -> 791516 bytes 21 files changed, 130 insertions(+), 175 deletions(-) diff --git a/substrate/core/client/Cargo.toml b/substrate/core/client/Cargo.toml index d9c6d56b3f..57250c74a0 100644 --- a/substrate/core/client/Cargo.toml +++ b/substrate/core/client/Cargo.toml @@ -2,57 +2,58 @@ name = "substrate-client" version = "0.1.0" authors = ["Parity Technologies "] +edition = "2018" [dependencies] error-chain = { version = "0.12", optional = true } fnv = { version = "1.0", optional = true } log = { version = "0.4", optional = true } parking_lot = { version = "0.7.1", optional = true } -hex-literal = { version = "0.1", optional = true } +hex = { package = "hex-literal", version = "0.1", optional = true } futures = { version = "0.1.17", optional = true } slog = { version = "^2", optional = true } heapsize = { version = "0.4", optional = true } -substrate-consensus-common = { path = "../consensus/common", optional = true } -substrate-executor = { path = "../executor", optional = true } -substrate-state-machine = { path = "../state-machine", optional = true } -substrate-keyring = { path = "../keyring", optional = true } -substrate-trie = { path = "../trie", optional = true } +consensus = { package = "substrate-consensus-common", path = "../consensus/common", optional = true } +executor = { package = "substrate-executor", path = "../executor", optional = true } +state-machine = { package = "substrate-state-machine", path = "../state-machine", optional = true } +keyring = { package = "substrate-keyring", path = "../keyring", optional = true } +trie = { package = "substrate-trie", path = "../trie", optional = true } substrate-telemetry = { path = "../telemetry", optional = true } hash-db = { git = "https://github.com/paritytech/trie", optional = true } kvdb = { git = "https://github.com/paritytech/parity-common", optional = true, rev="b0317f649ab2c665b7987b8475878fc4d2e1f81d" } -parity-codec = { version = "2.1", default-features = false } -substrate-primitives = { path = "../primitives", default-features = false } -sr-primitives = { path = "../sr-primitives", default-features = false } -sr-version = { path = "../sr-version", default-features = false } -sr-std = { path = "../sr-std", default-features = false } +codec = { package = "parity-codec", version = "2.1", default-features = false } +primitives = { package = "substrate-primitives", path = "../primitives", default-features = false } +runtime-primitives = { package = "sr-primitives", path = "../sr-primitives", default-features = false } +runtime-version = { package = "sr-version", path = "../sr-version", default-features = false } +rstd = { package = "sr-std", path = "../sr-std", default-features = false } sr-api-macros = { path = "../sr-api-macros" } [dev-dependencies] -substrate-test-client = { path = "../test-client" } +test-client = { package = "substrate-test-client", path = "../test-client" } kvdb-memorydb = { git = "https://github.com/paritytech/parity-common", rev="b0317f649ab2c665b7987b8475878fc4d2e1f81d" } [features] default = ["std"] std = [ - "parity-codec/std", - "substrate-consensus-common", - "substrate-primitives/std", + "codec/std", + "consensus", + "primitives/std", "parking_lot", "error-chain", "fnv", "log", - "hex-literal", + "hex", "futures", "slog", "heapsize", - "substrate-executor", - "sr-primitives/std", - "sr-version/std", - "sr-std/std", - "substrate-state-machine", - "substrate-keyring", - "substrate-trie", + "executor", + "runtime-primitives/std", + "runtime-version/std", + "rstd/std", + "state-machine", + "keyring", + "trie", "substrate-telemetry", "hash-db", "kvdb" diff --git a/substrate/core/client/src/backend.rs b/substrate/core/client/src/backend.rs index 88e97c7ec4..6e65f289ad 100644 --- a/substrate/core/client/src/backend.rs +++ b/substrate/core/client/src/backend.rs @@ -16,7 +16,7 @@ //! Substrate Client data backend -use error; +use crate::error; use runtime_primitives::{generic::BlockId, Justification, StorageMap, ChildrenStorageMap}; use runtime_primitives::traits::{AuthorityIdFor, Block as BlockT, NumberFor}; use state_machine::backend::Backend as StateBackend; @@ -109,7 +109,7 @@ pub trait Backend: AuxStore + Send + Sync where /// Associated block insertion operation type. type BlockImportOperation: BlockImportOperation; /// Associated blockchain backend type. - type Blockchain: ::blockchain::Backend; + type Blockchain: crate::blockchain::Backend; /// Associated state backend type. type State: StateBackend; /// Changes trie storage. diff --git a/substrate/core/client/src/block_builder/api.rs b/substrate/core/client/src/block_builder/api.rs index d122909eaf..540c135de2 100644 --- a/substrate/core/client/src/block_builder/api.rs +++ b/substrate/core/client/src/block_builder/api.rs @@ -18,6 +18,7 @@ use runtime_primitives::{traits::Block as BlockT, ApplyResult, CheckInherentError}; use rstd::vec::Vec; +use sr_api_macros::decl_runtime_apis; decl_runtime_apis! { /// The `BlockBuilder` api trait that provides required functions for building a block for a runtime. diff --git a/substrate/core/client/src/block_builder/block_builder.rs b/substrate/core/client/src/block_builder/block_builder.rs index 8656bfed53..ac09f1e871 100644 --- a/substrate/core/client/src/block_builder/block_builder.rs +++ b/substrate/core/client/src/block_builder/block_builder.rs @@ -18,16 +18,17 @@ use super::api::BlockBuilder as BlockBuilderApi; use std::vec::Vec; use std::marker::PhantomData; use codec::Encode; -use blockchain::HeaderBackend; +use crate::blockchain::HeaderBackend; use runtime_primitives::traits::{ Header as HeaderT, Hash, Block as BlockT, One, HashFor, ProvideRuntimeApi, ApiRef }; use primitives::H256; use runtime_primitives::generic::BlockId; -use runtime_api::Core; -use error; +use crate::runtime_api::Core; +use crate::error; use runtime_primitives::ApplyOutcome; + /// Utility for building new (valid) blocks from a stream of extrinsics. pub struct BlockBuilder<'a, Block, InherentData, A: ProvideRuntimeApi> where Block: BlockT { header: ::Header, @@ -82,27 +83,22 @@ where /// can be validly executed (by executing it); if it is invalid, it'll be returned along with /// the error. Otherwise, it will return a mutable reference to self (in order to chain). pub fn push(&mut self, xt: ::Extrinsic) -> error::Result<()> { - fn impl_push<'a, T, Block: BlockT, InherentData>( - api: &mut ApiRef<'a, T>, - block_id: &BlockId, - xt: Block::Extrinsic, - extrinsics: &mut Vec - ) -> error::Result<()> where T: BlockBuilderApi { - api.map_api_result(|api| { - match api.apply_extrinsic(block_id, &xt)? { - Ok(ApplyOutcome::Success) | Ok(ApplyOutcome::Fail) => { - extrinsics.push(xt); - Ok(()) - } - Err(e) => { - Err(error::ErrorKind::ApplyExtrinsicFailed(e).into()) - } + use crate::runtime_api::ApiExt; + + let block_id = &self.block_id; + let extrinsics = &mut self.extrinsics; + + self.api.map_api_result(|api| { + match api.apply_extrinsic(block_id, &xt)? { + Ok(ApplyOutcome::Success) | Ok(ApplyOutcome::Fail) => { + extrinsics.push(xt); + Ok(()) } - }) - } - - //FIXME: Please NLL, help me! - impl_push(&mut self.api, &self.block_id, xt, &mut self.extrinsics) + Err(e) => { + Err(error::ErrorKind::ApplyExtrinsicFailed(e).into()) + } + } + }) } /// Consume the builder to return a valid `Block` containing all pushed extrinsics. diff --git a/substrate/core/client/src/blockchain.rs b/substrate/core/client/src/blockchain.rs index 7ff395113b..94eecf1505 100644 --- a/substrate/core/client/src/blockchain.rs +++ b/substrate/core/client/src/blockchain.rs @@ -20,7 +20,7 @@ use runtime_primitives::traits::{AuthorityIdFor, Block as BlockT, Header as Head use runtime_primitives::generic::BlockId; use runtime_primitives::Justification; -use error::{ErrorKind, Result}; +use crate::error::{ErrorKind, Result}; /// Blockchain database header backend. Does not perform any validation. pub trait HeaderBackend: Send + Sync { diff --git a/substrate/core/client/src/call_executor.rs b/substrate/core/client/src/call_executor.rs index 62104d4aa0..9872cdd97e 100644 --- a/substrate/core/client/src/call_executor.rs +++ b/substrate/core/client/src/call_executor.rs @@ -26,8 +26,8 @@ use hash_db::Hasher; use trie::MemoryDB; use primitives::{H256, Blake2Hasher}; -use backend; -use error; +use crate::backend; +use crate::error; /// Method call executor. pub trait CallExecutor diff --git a/substrate/core/client/src/cht.rs b/substrate/core/client/src/cht.rs index 51fb485da6..5797f3e279 100644 --- a/substrate/core/client/src/cht.rs +++ b/substrate/core/client/src/cht.rs @@ -35,7 +35,7 @@ use state_machine::backend::InMemory as InMemoryState; use state_machine::{MemoryDB, TrieBackend, Backend as StateBackend, prove_read_on_trie_backend, read_proof_check, read_proof_check_on_proving_backend}; -use error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; +use crate::error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; /// The size of each CHT. This value is passed to every CHT-related function from /// production code. Other values are passed from tests. diff --git a/substrate/core/client/src/client.rs b/substrate/core/client/src/client.rs index 8cd0d95f67..f365c61c1f 100644 --- a/substrate/core/client/src/client.rs +++ b/substrate/core/client/src/client.rs @@ -17,7 +17,7 @@ //! Substrate Client use std::{marker::PhantomData, collections::{HashSet, BTreeMap}, sync::Arc}; -use error::Error; +use crate::error::Error; use futures::sync::mpsc; use parking_lot::{Mutex, RwLock}; use runtime_primitives::{ @@ -30,7 +30,7 @@ use runtime_primitives::traits::{ ApiRef, ProvideRuntimeApi, Digest, DigestItem, AuthorityIdFor }; use runtime_primitives::BuildStorage; -use runtime_api::{Core as CoreAPI, CallRuntimeAt, ConstructRuntimeApi}; +use crate::runtime_api::{Core as CoreAPI, CallRuntimeAt, ConstructRuntimeApi}; use primitives::{Blake2Hasher, H256, ChangesTrieConfiguration, convert_hash}; use primitives::storage::{StorageKey, StorageData}; use primitives::storage::well_known_keys; @@ -42,13 +42,23 @@ use state_machine::{ key_changes, key_changes_proof, OverlayedChanges }; -use backend::{self, BlockImportOperation}; -use blockchain::{self, Info as ChainInfo, Backend as ChainBackend, HeaderBackend as ChainHeaderBackend}; -use call_executor::{CallExecutor, LocalCallExecutor}; +use crate::backend::{self, BlockImportOperation}; +use crate::blockchain::{self, Info as ChainInfo, Backend as ChainBackend, HeaderBackend as ChainHeaderBackend}; +use crate::call_executor::{CallExecutor, LocalCallExecutor}; use executor::{RuntimeVersion, RuntimeInfo}; -use notifications::{StorageNotifications, StorageEventStream}; -use light::{call_executor::prove_execution, fetcher::ChangesProof}; -use {cht, error, in_mem, block_builder::{self, api::BlockBuilder as BlockBuilderAPI}, genesis, consensus}; +use crate::notifications::{StorageNotifications, StorageEventStream}; +use crate::light::{call_executor::prove_execution, fetcher::ChangesProof}; +use crate::cht; +use crate::error; +use crate::in_mem; +use crate::block_builder::{self, api::BlockBuilder as BlockBuilderAPI}; +use crate::genesis; +use consensus; +use substrate_telemetry::telemetry; + +use slog::slog_info; +use log::{info, trace, warn}; +use error_chain::bail; /// Type that implements `futures::Stream` of block import events. pub type ImportNotifications = mpsc::UnboundedReceiver>; @@ -236,7 +246,7 @@ impl Client where genesis_block.deconstruct().0, Some(vec![]), None, - ::backend::NewBlockState::Final + crate::backend::NewBlockState::Final )?; backend.commit_operation(op)?; } @@ -581,7 +591,7 @@ impl Client where let (storage_update, changes_update, storage_changes) = match transaction.state()? { Some(transaction_state) => { let mut overlay = Default::default(); - let mut r = self.executor.call_at_state( + let r = self.executor.call_at_state( transaction_state, &mut overlay, "Core_execute_block", @@ -618,11 +628,11 @@ impl Client where ForkChoiceStrategy::Custom(v) => v, }; let leaf_state = if finalized { - ::backend::NewBlockState::Final + crate::backend::NewBlockState::Final } else if is_new_best { - ::backend::NewBlockState::Best + crate::backend::NewBlockState::Best } else { - ::backend::NewBlockState::Normal + crate::backend::NewBlockState::Normal }; trace!("Imported {}, (#{}), best={}, origin={:?}", hash, import_headers.post().number(), is_new_best, origin); @@ -695,7 +705,7 @@ impl Client where let last_finalized = self.backend.blockchain().last_finalized()?; if block == last_finalized { return Ok(()) } - let route_from_finalized = ::blockchain::tree_route( + let route_from_finalized = crate::blockchain::tree_route( self.backend.blockchain(), BlockId::Hash(last_finalized), BlockId::Hash(block), @@ -708,7 +718,7 @@ impl Client where bail!(error::ErrorKind::NotInFinalizedChain); } - let route_from_best = ::blockchain::tree_route( + let route_from_best = crate::blockchain::tree_route( self.backend.blockchain(), BlockId::Hash(best_block), BlockId::Hash(block), @@ -1198,11 +1208,11 @@ impl backend::AuxStore for Client I: IntoIterator, D: IntoIterator, >(&self, insert: I, delete: D) -> error::Result<()> { - ::backend::AuxStore::insert_aux(&*self.backend, insert, delete) + crate::backend::AuxStore::insert_aux(&*self.backend, insert, delete) } /// Query auxiliary data from key-value store. fn get_aux(&self, key: &[u8]) -> error::Result>> { - ::backend::AuxStore::get_aux(&*self.backend, key) + crate::backend::AuxStore::get_aux(&*self.backend, key) } } #[cfg(test)] diff --git a/substrate/core/client/src/error.rs b/substrate/core/client/src/error.rs index 2a793e8049..b4ed765084 100644 --- a/substrate/core/client/src/error.rs +++ b/substrate/core/client/src/error.rs @@ -22,6 +22,7 @@ use std; use state_machine; use runtime_primitives::ApplyError; use consensus; +use error_chain::*; error_chain! { links { diff --git a/substrate/core/client/src/genesis.rs b/substrate/core/client/src/genesis.rs index 098c7a35e9..468d7137db 100644 --- a/substrate/core/client/src/genesis.rs +++ b/substrate/core/client/src/genesis.rs @@ -42,18 +42,18 @@ mod tests { use super::*; use codec::{Encode, Decode, Joiner}; use keyring::Keyring; - use executor::NativeExecutionDispatch; + use executor::{NativeExecutionDispatch, native_executor_instance}; use state_machine::{execute, OverlayedChanges, ExecutionStrategy, InMemoryChangesTrieStorage}; use state_machine::backend::InMemory; - use test_client; use test_client::runtime::genesismap::{GenesisConfig, additional_storage_with_genesis}; use test_client::runtime::{Hash, Transfer, Block, BlockNumber, Header, Digest, Extrinsic}; use runtime_primitives::traits::BlakeTwo256; use primitives::{Blake2Hasher, ed25519::{Public, Pair}}; + use hex::*; native_executor_instance!(Executor, test_client::runtime::api::dispatch, test_client::runtime::native_version, include_bytes!("../../test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm")); - fn executor() -> ::executor::NativeExecutor { + fn executor() -> executor::NativeExecutor { NativeExecutionDispatch::new() } diff --git a/substrate/core/client/src/in_mem.rs b/substrate/core/client/src/in_mem.rs index 606f03d870..114849ca6c 100644 --- a/substrate/core/client/src/in_mem.rs +++ b/substrate/core/client/src/in_mem.rs @@ -19,20 +19,20 @@ use std::collections::HashMap; use std::sync::Arc; use parking_lot::RwLock; -use error; -use backend::{self, NewBlockState}; -use light; +use crate::error; +use crate::backend::{self, NewBlockState}; +use crate::light; use primitives::storage::well_known_keys; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, Zero, NumberFor, As, Digest, DigestItem, AuthorityIdFor}; use runtime_primitives::{Justification, StorageMap, ChildrenStorageMap}; -use blockchain::{self, BlockStatus, HeaderBackend}; +use crate::blockchain::{self, BlockStatus, HeaderBackend}; use state_machine::backend::{Backend as StateBackend, InMemory, Consolidate}; use state_machine::InMemoryChangesTrieStorage; use hash_db::Hasher; use heapsize::HeapSizeOf; -use leaves::LeafSet; +use crate::leaves::LeafSet; use trie::MemoryDB; struct PendingBlock { @@ -166,7 +166,7 @@ impl Blockchain { justification: Option, body: Option::Extrinsic>>, new_state: NewBlockState, - ) -> ::error::Result<()> { + ) -> crate::error::Result<()> { let number = header.number().clone(); let best_tree_route = match new_state.is_best() { false => None, @@ -175,7 +175,7 @@ impl Blockchain { if &best_hash == header.parent_hash() { None } else { - let route = ::blockchain::tree_route( + let route = crate::blockchain::tree_route( self, BlockId::Hash(best_hash), BlockId::Hash(*header.parent_hash()), diff --git a/substrate/core/client/src/leaves.rs b/substrate/core/client/src/leaves.rs index bc1551e6fa..1fa4cb3122 100644 --- a/substrate/core/client/src/leaves.rs +++ b/substrate/core/client/src/leaves.rs @@ -19,7 +19,7 @@ use std::cmp::{Ord, Ordering}; use kvdb::{KeyValueDB, DBTransaction}; use runtime_primitives::traits::SimpleArithmetic; use codec::{Encode, Decode}; -use error; +use crate::error; /// helper wrapper type to keep a list of block hashes ordered /// by `number` descending in a `BTreeSet` which allows faster and simpler diff --git a/substrate/core/client/src/lib.rs b/substrate/core/client/src/lib.rs index 3bb65df9d1..4a8f06dfde 100644 --- a/substrate/core/client/src/lib.rs +++ b/substrate/core/client/src/lib.rs @@ -20,59 +20,6 @@ #![warn(missing_docs)] #![recursion_limit="128"] -#[cfg(feature = "std")] -extern crate substrate_trie as trie; -extern crate parity_codec as codec; -extern crate substrate_primitives as primitives; -extern crate sr_primitives as runtime_primitives; -#[cfg(feature = "std")] -extern crate substrate_state_machine as state_machine; -#[cfg(feature = "std")] -extern crate substrate_consensus_common as consensus; -extern crate sr_version as runtime_version; -extern crate sr_std as rstd; -#[macro_use] -extern crate sr_api_macros; -#[cfg(test)] -extern crate substrate_keyring as keyring; -#[cfg(test)] -extern crate substrate_test_client as test_client; -#[cfg(feature = "std")] -#[macro_use] -extern crate substrate_telemetry; -#[cfg(feature = "std")] -#[macro_use] -extern crate slog; // needed until we can reexport `slog_info` from `substrate_telemetry` - -#[cfg(feature = "std")] -extern crate fnv; -#[cfg(feature = "std")] -extern crate futures; -#[cfg(feature = "std")] -extern crate parking_lot; -#[cfg(feature = "std")] -extern crate hash_db; -#[cfg(feature = "std")] -extern crate heapsize; -#[cfg(feature = "std")] -extern crate kvdb; - -#[cfg(feature = "std")] -#[macro_use] -extern crate error_chain; -#[cfg(feature = "std")] -#[macro_use] -extern crate log; -#[cfg(feature = "std")] -#[cfg_attr(test, macro_use)] -extern crate substrate_executor as executor; -#[cfg(test)] -#[macro_use] -extern crate hex_literal; -#[cfg(feature = "std")] -#[cfg(test)] -extern crate kvdb_memorydb; - #[macro_use] pub mod runtime_api; #[cfg(feature = "std")] @@ -100,22 +47,22 @@ mod client; mod notifications; #[cfg(feature = "std")] -pub use blockchain::Info as ChainInfo; +pub use crate::blockchain::Info as ChainInfo; #[cfg(feature = "std")] -pub use call_executor::{CallExecutor, LocalCallExecutor}; +pub use crate::call_executor::{CallExecutor, LocalCallExecutor}; #[cfg(feature = "std")] -pub use client::{ +pub use crate::client::{ new_with_backend, new_in_mem, BlockBody, BlockStatus, ImportNotifications, FinalityNotifications, BlockchainEvents, BlockImportNotification, Client, ClientInfo, ChainHead, }; #[cfg(feature = "std")] -pub use notifications::{StorageEventStream, StorageChangeSet}; +pub use crate::notifications::{StorageEventStream, StorageChangeSet}; #[cfg(feature = "std")] pub use state_machine::ExecutionStrategy; #[cfg(feature = "std")] -pub use leaves::LeafSet; +pub use crate::leaves::LeafSet; #[doc(inline)] pub use sr_api_macros::{decl_runtime_apis, impl_runtime_apis}; diff --git a/substrate/core/client/src/light/backend.rs b/substrate/core/client/src/light/backend.rs index 924a474acc..7485b8cdf3 100644 --- a/substrate/core/client/src/light/backend.rs +++ b/substrate/core/client/src/light/backend.rs @@ -25,12 +25,12 @@ use runtime_primitives::{generic::BlockId, Justification, StorageMap, ChildrenSt use state_machine::{Backend as StateBackend, InMemoryChangesTrieStorage, TrieBackend}; use runtime_primitives::traits::{Block as BlockT, NumberFor, AuthorityIdFor}; -use in_mem; -use backend::{AuxStore, Backend as ClientBackend, BlockImportOperation, RemoteBackend, NewBlockState}; -use blockchain::HeaderBackend as BlockchainHeaderBackend; -use error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; -use light::blockchain::{Blockchain, Storage as BlockchainStorage}; -use light::fetcher::{Fetcher, RemoteReadRequest}; +use crate::in_mem; +use crate::backend::{AuxStore, Backend as ClientBackend, BlockImportOperation, RemoteBackend, NewBlockState}; +use crate::blockchain::HeaderBackend as BlockchainHeaderBackend; +use crate::error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; +use crate::light::blockchain::{Blockchain, Storage as BlockchainStorage}; +use crate::light::fetcher::{Fetcher, RemoteReadRequest}; use hash_db::Hasher; use trie::MemoryDB; use heapsize::HeapSizeOf; diff --git a/substrate/core/client/src/light/blockchain.rs b/substrate/core/client/src/light/blockchain.rs index 62e40c579e..94d9da9994 100644 --- a/substrate/core/client/src/light/blockchain.rs +++ b/substrate/core/client/src/light/blockchain.rs @@ -24,12 +24,12 @@ use parking_lot::Mutex; use runtime_primitives::{Justification, generic::BlockId}; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, NumberFor, Zero, AuthorityIdFor}; -use backend::{AuxStore, NewBlockState}; -use blockchain::{Backend as BlockchainBackend, BlockStatus, Cache as BlockchainCache, +use crate::backend::{AuxStore, NewBlockState}; +use crate::blockchain::{Backend as BlockchainBackend, BlockStatus, Cache as BlockchainCache, HeaderBackend as BlockchainHeaderBackend, Info as BlockchainInfo}; -use cht; -use error::{ErrorKind as ClientErrorKind, Result as ClientResult}; -use light::fetcher::{Fetcher, RemoteHeaderRequest}; +use crate::cht; +use crate::error::{ErrorKind as ClientErrorKind, Result as ClientResult}; +use crate::light::fetcher::{Fetcher, RemoteHeaderRequest}; /// Light client blockchain storage. pub trait Storage: AuxStore + BlockchainHeaderBackend { @@ -166,8 +166,8 @@ impl BlockchainBackend for Blockchain where Block: Blo pub mod tests { use std::collections::HashMap; use test_client::runtime::{Hash, Block, Header}; - use blockchain::Info; - use light::fetcher::tests::OkCallFetcher; + use crate::blockchain::Info; + use crate::light::fetcher::tests::OkCallFetcher; use super::*; pub type DummyBlockchain = Blockchain; diff --git a/substrate/core/client/src/light/call_executor.rs b/substrate/core/client/src/light/call_executor.rs index 84d7545d6f..2f748ca0a8 100644 --- a/substrate/core/client/src/light/call_executor.rs +++ b/substrate/core/client/src/light/call_executor.rs @@ -22,7 +22,7 @@ use std::marker::PhantomData; use std::sync::Arc; use futures::{IntoFuture, Future}; -use codec::Encode; +use codec::{Encode, Decode}; use primitives::{H256, Blake2Hasher, convert_hash}; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::{As, Block as BlockT, Header as HeaderT}; @@ -30,12 +30,11 @@ use state_machine::{self, Backend as StateBackend, CodeExecutor, OverlayedChange create_proof_check_backend, execution_proof_check_on_trie_backend, ExecutionManager}; use hash_db::Hasher; -use blockchain::Backend as ChainBackend; -use call_executor::CallExecutor; -use error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; -use light::fetcher::{Fetcher, RemoteCallRequest}; +use crate::blockchain::Backend as ChainBackend; +use crate::call_executor::CallExecutor; +use crate::error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; +use crate::light::fetcher::{Fetcher, RemoteCallRequest}; use executor::{RuntimeVersion, NativeVersion}; -use codec::Decode; use heapsize::HeapSizeOf; use trie::MemoryDB; diff --git a/substrate/core/client/src/light/fetcher.rs b/substrate/core/client/src/light/fetcher.rs index 5f9aed2fe1..3e98a063ac 100644 --- a/substrate/core/client/src/light/fetcher.rs +++ b/substrate/core/client/src/light/fetcher.rs @@ -28,10 +28,10 @@ use runtime_primitives::traits::{As, Block as BlockT, Header as HeaderT, NumberF use state_machine::{CodeExecutor, ChangesTrieRootsStorage, ChangesTrieAnchorBlockId, TrieBackend, read_proof_check, key_changes_proof_check, create_proof_check_backend_storage}; -use cht; -use error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; -use light::blockchain::{Blockchain, Storage as BlockchainStorage}; -use light::call_executor::check_execution_proof; +use crate::cht; +use crate::error::{Error as ClientError, ErrorKind as ClientErrorKind, Result as ClientResult}; +use crate::light::blockchain::{Blockchain, Storage as BlockchainStorage}; +use crate::light::call_executor::check_execution_proof; /// Remote call request. #[derive(Clone, Debug, PartialEq, Eq, Hash)] @@ -391,17 +391,17 @@ pub mod tests { use futures::future::{ok, err, FutureResult}; use parking_lot::Mutex; use keyring::Keyring; - use client::tests::prepare_client_with_key_changes; + use crate::client::tests::prepare_client_with_key_changes; use executor::{self, NativeExecutionDispatch}; - use error::Error as ClientError; + use crate::error::Error as ClientError; use test_client::{self, TestClient, blockchain::HeaderBackend}; use test_client::runtime::{self, Hash, Block, Header}; use consensus::BlockOrigin; - use in_mem::{Blockchain as InMemoryBlockchain}; - use light::fetcher::{Fetcher, FetchChecker, LightDataChecker, + use crate::in_mem::{Blockchain as InMemoryBlockchain}; + use crate::light::fetcher::{Fetcher, FetchChecker, LightDataChecker, RemoteCallRequest, RemoteHeaderRequest}; - use light::blockchain::tests::{DummyStorage, DummyBlockchain}; + use crate::light::blockchain::tests::{DummyStorage, DummyBlockchain}; use primitives::{twox_128, Blake2Hasher}; use primitives::storage::well_known_keys; use runtime_primitives::generic::BlockId; @@ -454,7 +454,7 @@ pub mod tests { remote_block_header.clone(), None, None, - ::backend::NewBlockState::Final, + crate::backend::NewBlockState::Final, ).unwrap(); let local_executor = test_client::LocalExecutor::new(); let local_checker = LightDataChecker::new(Arc::new(DummyBlockchain::new(DummyStorage::new())), local_executor); diff --git a/substrate/core/client/src/light/mod.rs b/substrate/core/client/src/light/mod.rs index 8727455d30..4dc25affd1 100644 --- a/substrate/core/client/src/light/mod.rs +++ b/substrate/core/client/src/light/mod.rs @@ -28,12 +28,12 @@ use runtime_primitives::BuildStorage; use runtime_primitives::traits::Block as BlockT; use state_machine::{CodeExecutor, ExecutionStrategy}; -use client::Client; -use error::Result as ClientResult; -use light::backend::Backend; -use light::blockchain::{Blockchain, Storage as BlockchainStorage}; -use light::call_executor::RemoteCallExecutor; -use light::fetcher::{Fetcher, LightDataChecker}; +use crate::client::Client; +use crate::error::Result as ClientResult; +use crate::light::backend::Backend; +use crate::light::blockchain::{Blockchain, Storage as BlockchainStorage}; +use crate::light::call_executor::RemoteCallExecutor; +use crate::light::fetcher::{Fetcher, LightDataChecker}; use hash_db::Hasher; /// Create an instance of light client blockchain backend. diff --git a/substrate/core/client/src/runtime_api.rs b/substrate/core/client/src/runtime_api.rs index 596b355ddf..66d86590f5 100644 --- a/substrate/core/client/src/runtime_api.rs +++ b/substrate/core/client/src/runtime_api.rs @@ -32,10 +32,10 @@ pub use rstd::{slice, mem}; use rstd::result; pub use codec::{Encode, Decode}; #[cfg(feature = "std")] -use error; +use crate::error; use rstd::vec::Vec; use primitives::OpaqueMetadata; - +use sr_api_macros::decl_runtime_apis; /// Something that can be constructed to a runtime api. #[cfg(feature = "std")] diff --git a/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index 828287ace52c5b19767c56b537ff2f8bba90ad6f..5e5f1f72c994f2463583f4bdb037b6019da949c5 100644 GIT binary patch delta 2428 zcmZuxeN0x@8NcW9^6~N^2M`b?dNmeA3fz0nz4zP$Z1OGv8``x}+pX<%?A$LtDnb<- zOxmJrqgz-(J?hrQ%~q@;U02E_`{+F`AHFIm%MBF;o`p>dOnz`qKC`e0s{a~_MiSNO z(X!kND0(CL6O=4faU2~h_m>q%7p+ls^~~^jrMpg18WcrKOFh#KE=~;Y&@#GHs6RC$N1S2w zH@TYk!amF!vg1gU)IJ2k|DIQ)8F`a$!b^PQXec!m-CwU|$RAiwMDI0ygmRz#>UkxV z&{SNMIvBnCnTJ($G^%Ufh|m@JSW6qk^qrP$1n~XMtty(9YO4Xe+1i8Nl&4xITvtO^GJv^h_O5K*_50b5Fw-`Hx^<#umS zm30WH`P1gS1gIqDNd?G-Q$|Z3(m>Qubb0HsER>9PYT)r<>$p>V*oNNE{ z9U>`ywkUjDIz0qgQoK>gNi97_GwwMRP02&S!;r#E@Ygtn-*$9^P~Uk~ozLezG&Q;7 z-UMWHUta}OLe_Uy$>%$3lBs_m0H-)L75(msIRsU?xSP&f=#un50*XWZkAl_J{zPo` z;htJl9F;wJ1%x=}?1AUdDLFE*vgTAA+qyWmg(+!v)h+wRhPk-!QEd>aws}(9|g-8`#>%MY=fxchZp5$ zkmHIic4pBI10VZ?RzC-=o{is{|LyMV3ZqNkyp9SwdwYVq9aE)q^!4tR?|*Bp zym8{K|9jJrvqV3t`gR(M>mbjcyhm<1nTQ5Xexkx3`}+LsykMZey>D07&i?kDdwS&A zQ(LiaIROuZ8B*#w%=BdTXay#w=lEV=(SX~w9fY!J)WNPVY)TC#glRG6c=9Ww+gB3P z@tGY^78t(k8{zWS#xLw~8npK9^6*%hyfm7Woue4rKJ#ox_XC@Fz9&MNI{iQq^9(;Q zS!lu&I&*2s_QoSG7t8CXSphdVwRD{jMuhMMDU~mst}N0`L-@?G9gl{F=h-X1bj#o_ zc&NCD1~wNaqb3)wr#pVx1d@MwWsUsN%liwBAoTrEm^QUcZqjh&Q?hNMOpZ+C%O}q? z7aGL%d||l|lIPlN)z^`1du@fhdZriq4iR=}QH%PfOMEWL1YS3WY{UFh4KJHEjU!cCWRulD}=n$3<^G%%fo zx@#CdC=;F8byZ&PuAsiYPwedS9`D-Oaq9@#GB@-D@nH;YDj<~Tv#)#)6hJ2%4q-z_9YN&5$#od!FR%jUQJ)Fhw=DU? z$x2LYL48{%76fdVjLYkjCbnUQZQ{5Fd};2GixUBF1n?&yofZrnmp PF*Twayhb-_45RA5%uAda delta 2454 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

`8r_ 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 delta 99774 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 r{DL4fTuS@Adxx+}5?b