ethcore-sync (#8347)

This commit is contained in:
Marek Kotewicz 2018-04-10 12:13:49 +02:00 committed by Rando
parent d1487b3177
commit 86446d713a
65 changed files with 139 additions and 139 deletions

72
Cargo.lock generated
View File

@ -766,11 +766,11 @@ dependencies = [
"ethcore 1.11.0", "ethcore 1.11.0",
"ethcore-bytes 0.1.0", "ethcore-bytes 0.1.0",
"ethcore-logger 1.11.0", "ethcore-logger 1.11.0",
"ethcore-sync 1.11.0",
"ethcore-transaction 0.1.0", "ethcore-transaction 0.1.0",
"ethcrypto 0.1.0", "ethcrypto 0.1.0",
"ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ethkey 0.3.0", "ethkey 0.3.0",
"ethsync 1.11.0",
"futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)",
@ -802,7 +802,7 @@ dependencies = [
"ethcore 1.11.0", "ethcore 1.11.0",
"ethcore-io 1.11.0", "ethcore-io 1.11.0",
"ethcore-private-tx 1.0.0", "ethcore-private-tx 1.0.0",
"ethsync 1.11.0", "ethcore-sync 1.11.0",
"kvdb 0.1.0", "kvdb 0.1.0",
"kvdb-rocksdb 0.1.0", "kvdb-rocksdb 0.1.0",
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
@ -827,6 +827,37 @@ dependencies = [
"tokio-io 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]]
name = "ethcore-sync"
version = "1.11.0"
dependencies = [
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
"ethcore 1.11.0",
"ethcore-bytes 0.1.0",
"ethcore-io 1.11.0",
"ethcore-light 1.11.0",
"ethcore-network 1.11.0",
"ethcore-network-devp2p 1.11.0",
"ethcore-transaction 0.1.0",
"ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ethkey 0.3.0",
"heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"ipnetwork 0.12.7 (registry+https://github.com/rust-lang/crates.io-index)",
"keccak-hash 0.1.0",
"kvdb 0.1.0",
"kvdb-memorydb 0.1.0",
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"macros 0.1.0",
"parking_lot 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
"plain_hasher 0.1.0",
"rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rlp 0.2.1",
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
"triehash 0.1.0",
]
[[package]] [[package]]
name = "ethcore-transaction" name = "ethcore-transaction"
version = "0.1.0" version = "0.1.0"
@ -962,37 +993,6 @@ dependencies = [
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]]
name = "ethsync"
version = "1.11.0"
dependencies = [
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
"ethcore 1.11.0",
"ethcore-bytes 0.1.0",
"ethcore-io 1.11.0",
"ethcore-light 1.11.0",
"ethcore-network 1.11.0",
"ethcore-network-devp2p 1.11.0",
"ethcore-transaction 0.1.0",
"ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ethkey 0.3.0",
"heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"ipnetwork 0.12.7 (registry+https://github.com/rust-lang/crates.io-index)",
"keccak-hash 0.1.0",
"kvdb 0.1.0",
"kvdb-memorydb 0.1.0",
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"macros 0.1.0",
"parking_lot 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
"plain_hasher 0.1.0",
"rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rlp 0.2.1",
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
"triehash 0.1.0",
]
[[package]] [[package]]
name = "evm" name = "evm"
version = "0.1.0" version = "0.1.0"
@ -1983,10 +1983,10 @@ dependencies = [
"ethcore-secretstore 1.0.0", "ethcore-secretstore 1.0.0",
"ethcore-service 0.1.0", "ethcore-service 0.1.0",
"ethcore-stratum 1.11.0", "ethcore-stratum 1.11.0",
"ethcore-sync 1.11.0",
"ethcore-transaction 0.1.0", "ethcore-transaction 0.1.0",
"ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ethkey 0.3.0", "ethkey 0.3.0",
"ethsync 1.11.0",
"fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2187,13 +2187,13 @@ dependencies = [
"ethcore-miner 1.11.0", "ethcore-miner 1.11.0",
"ethcore-network 1.11.0", "ethcore-network 1.11.0",
"ethcore-private-tx 1.0.0", "ethcore-private-tx 1.0.0",
"ethcore-sync 1.11.0",
"ethcore-transaction 0.1.0", "ethcore-transaction 0.1.0",
"ethcrypto 0.1.0", "ethcrypto 0.1.0",
"ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ethjson 0.1.0", "ethjson 0.1.0",
"ethkey 0.3.0", "ethkey 0.3.0",
"ethstore 0.2.0", "ethstore 0.2.0",
"ethsync 1.11.0",
"fetch 0.1.0", "fetch 0.1.0",
"futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2320,8 +2320,8 @@ dependencies = [
"ethabi-derive 5.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 5.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"ethcore 1.11.0", "ethcore 1.11.0",
"ethcore-bytes 0.1.0", "ethcore-bytes 0.1.0",
"ethcore-sync 1.11.0",
"ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ethsync 1.11.0",
"keccak-hash 0.1.0", "keccak-hash 0.1.0",
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",

View File

@ -33,7 +33,6 @@ fdlimit = "0.1"
ws2_32-sys = "0.2" ws2_32-sys = "0.2"
ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" } ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" }
jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-1.11" } jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-1.11" }
ethsync = { path = "sync" }
ethcore = { path = "ethcore" } ethcore = { path = "ethcore" }
ethcore-bytes = { path = "util/bytes" } ethcore-bytes = { path = "util/bytes" }
ethcore-io = { path = "util/io" } ethcore-io = { path = "util/io" }
@ -45,6 +44,7 @@ ethcore-network = { path = "util/network" }
ethcore-private-tx = { path = "ethcore/private-tx" } ethcore-private-tx = { path = "ethcore/private-tx" }
ethcore-service = { path = "ethcore/service" } ethcore-service = { path = "ethcore/service" }
ethcore-stratum = { path = "ethcore/stratum" } ethcore-stratum = { path = "ethcore/stratum" }
ethcore-sync = { path = "ethcore/sync" }
ethcore-transaction = { path = "ethcore/transaction" } ethcore-transaction = { path = "ethcore/transaction" }
ethereum-types = "0.3" ethereum-types = "0.3"
node-filter = { path = "ethcore/node_filter" } node-filter = { path = "ethcore/node_filter" }

View File

@ -9,7 +9,7 @@ error-chain = { version = "0.11", default-features = false }
ethcore = { path = ".." } ethcore = { path = ".." }
ethcore-io = { path = "../../util/io" } ethcore-io = { path = "../../util/io" }
ethcore-private-tx = { path = "../private-tx" } ethcore-private-tx = { path = "../private-tx" }
ethsync = { path = "../../sync" } ethcore-sync = { path = "../sync" }
kvdb = { path = "../../util/kvdb" } kvdb = { path = "../../util/kvdb" }
log = "0.3" log = "0.3"
stop-guard = { path = "../../util/stop-guard" } stop-guard = { path = "../../util/stop-guard" }

View File

@ -17,9 +17,9 @@
extern crate ansi_term; extern crate ansi_term;
extern crate ethcore; extern crate ethcore;
extern crate ethcore_io as io; extern crate ethcore_io as io;
extern crate ethsync;
extern crate kvdb;
extern crate ethcore_private_tx; extern crate ethcore_private_tx;
extern crate ethcore_sync as sync;
extern crate kvdb;
extern crate stop_guard; extern crate stop_guard;
#[macro_use] #[macro_use]

View File

@ -24,7 +24,7 @@ use io::{IoContext, TimerToken, IoHandler, IoService, IoError};
use kvdb::{KeyValueDB, KeyValueDBHandler}; use kvdb::{KeyValueDB, KeyValueDBHandler};
use stop_guard::StopGuard; use stop_guard::StopGuard;
use ethsync::PrivateTxHandler; use sync::PrivateTxHandler;
use ethcore::client::{Client, ClientConfig, ChainNotify, ClientIoMessage}; use ethcore::client::{Client, ClientConfig, ChainNotify, ClientIoMessage};
use ethcore::miner::Miner; use ethcore::miner::Miner;
use ethcore::snapshot::service::{Service as SnapshotService, ServiceParams as SnapServiceParams}; use ethcore::snapshot::service::{Service as SnapshotService, ServiceParams as SnapServiceParams};

37
ethcore/sync/Cargo.toml Normal file
View File

@ -0,0 +1,37 @@
[package]
description = "Ethcore blockchain sync"
name = "ethcore-sync"
version = "1.11.0"
license = "GPL-3.0"
authors = ["Parity Technologies <admin@parity.io>"]
[lib]
[dependencies]
ethcore-bytes = { path = "../../util/bytes" }
ethcore-network = { path = "../../util/network" }
ethcore-network-devp2p = { path = "../../util/network-devp2p" }
ethcore-io = { path = "../../util/io" }
ethcore-light = { path = "../light" }
ethcore-transaction = { path = "../transaction" }
ethcore = { path = ".." }
ethereum-types = "0.3"
plain_hasher = { path = "../../util/plain_hasher" }
rlp = { path = "../../util/rlp" }
rustc-hex = "1.0"
keccak-hash = { path = "../../util/hash" }
triehash = { path = "../../util/triehash" }
kvdb = { path = "../../util/kvdb" }
macros = { path = "../../util/macros" }
log = "0.3"
env_logger = "0.4"
rand = "0.4"
heapsize = "0.4"
semver = "0.9"
smallvec = { version = "0.4", features = ["heapsizeof"] }
parking_lot = "0.5"
ipnetwork = "0.12.6"
[dev-dependencies]
ethkey = { path = "../../ethkey" }
kvdb-memorydb = { path = "../../util/kvdb-memorydb" }

View File

@ -27,7 +27,7 @@ use ethereum_types::{U256, H256, Address};
use parity_version::{version_data, version}; use parity_version::{version_data, version};
use bytes::Bytes; use bytes::Bytes;
use ansi_term::Colour; use ansi_term::Colour;
use ethsync::{NetworkConfiguration, validate_node_url, self}; use sync::{NetworkConfiguration, validate_node_url, self};
use ethcore::ethstore::ethkey::{Secret, Public}; use ethcore::ethstore::ethkey::{Secret, Public};
use ethcore::client::{VMType}; use ethcore::client::{VMType};
use ethcore::miner::{MinerOptions, Banning, StratumOptions}; use ethcore::miner::{MinerOptions, Banning, StratumOptions};
@ -738,7 +738,7 @@ impl Configuration {
for line in &lines { for line in &lines {
match validate_node_url(line).map(Into::into) { match validate_node_url(line).map(Into::into) {
None => continue, None => continue,
Some(ethsync::ErrorKind::AddressResolve(_)) => return Err(format!("Failed to resolve hostname of a boot node: {}", line)), Some(sync::ErrorKind::AddressResolve(_)) => return Err(format!("Failed to resolve hostname of a boot node: {}", line)),
Some(_) => return Err(format!("Invalid node address format given for a boot node: {}", line)), Some(_) => return Err(format!("Invalid node address format given for a boot node: {}", line)),
} }
} }

View File

@ -21,7 +21,7 @@ use bytes::Bytes;
use dir::default_data_path; use dir::default_data_path;
use dir::helpers::replace_home; use dir::helpers::replace_home;
use ethcore::client::{Client, BlockChainClient, BlockId, CallContract}; use ethcore::client::{Client, BlockChainClient, BlockId, CallContract};
use ethsync::LightSync; use sync::LightSync;
use futures::{Future, future, IntoFuture}; use futures::{Future, future, IntoFuture};
use futures_cpupool::CpuPool; use futures_cpupool::CpuPool;
use hash_fetch::fetch::Client as FetchClient; use hash_fetch::fetch::Client as FetchClient;

View File

@ -31,7 +31,7 @@ use dir::DatabaseDirectories;
use dir::helpers::replace_home; use dir::helpers::replace_home;
use upgrade::{upgrade, upgrade_data_paths}; use upgrade::{upgrade, upgrade_data_paths};
use migration::migrate; use migration::migrate;
use ethsync::{validate_node_url, self}; use sync::{validate_node_url, self};
use kvdb::{KeyValueDB, KeyValueDBHandler}; use kvdb::{KeyValueDB, KeyValueDBHandler};
use kvdb_rocksdb::{Database, DatabaseConfig, CompactionProfile}; use kvdb_rocksdb::{Database, DatabaseConfig, CompactionProfile};
use path; use path;
@ -174,7 +174,7 @@ pub fn to_bootnodes(bootnodes: &Option<String>) -> Result<Vec<String>, String> {
Some(ref x) if !x.is_empty() => x.split(',').map(|s| { Some(ref x) if !x.is_empty() => x.split(',').map(|s| {
match validate_node_url(s).map(Into::into) { match validate_node_url(s).map(Into::into) {
None => Ok(s.to_owned()), None => Ok(s.to_owned()),
Some(ethsync::ErrorKind::AddressResolve(_)) => Err(format!("Failed to resolve hostname of a boot node: {}", s)), Some(sync::ErrorKind::AddressResolve(_)) => Err(format!("Failed to resolve hostname of a boot node: {}", s)),
Some(_) => Err(format!("Invalid node address format given for a boot node: {}", s)), Some(_) => Err(format!("Invalid node address format given for a boot node: {}", s)),
} }
}).collect(), }).collect(),
@ -184,8 +184,8 @@ pub fn to_bootnodes(bootnodes: &Option<String>) -> Result<Vec<String>, String> {
} }
#[cfg(test)] #[cfg(test)]
pub fn default_network_config() -> ::ethsync::NetworkConfiguration { pub fn default_network_config() -> ::sync::NetworkConfiguration {
use ethsync::{NetworkConfiguration}; use sync::{NetworkConfiguration};
use super::network::IpFilter; use super::network::IpFilter;
NetworkConfiguration { NetworkConfiguration {
config_path: Some(replace_home(&::dir::default_data_path(), "$BASE/network")), config_path: Some(replace_home(&::dir::default_data_path(), "$BASE/network")),

View File

@ -29,7 +29,7 @@ use ethcore::client::{
use ethcore::header::BlockNumber; use ethcore::header::BlockNumber;
use ethcore::snapshot::{RestorationStatus, SnapshotService as SS}; use ethcore::snapshot::{RestorationStatus, SnapshotService as SS};
use ethcore::snapshot::service::Service as SnapshotService; use ethcore::snapshot::service::Service as SnapshotService;
use ethsync::{LightSyncProvider, LightSync, SyncProvider, ManageNetwork}; use sync::{LightSyncProvider, LightSync, SyncProvider, ManageNetwork};
use io::{TimerToken, IoContext, IoHandler}; use io::{TimerToken, IoContext, IoHandler};
use isatty::{stdout_isatty}; use isatty::{stdout_isatty};
use light::Cache as LightDataCache; use light::Cache as LightDataCache;

View File

@ -21,7 +21,7 @@ use ethcore::engines::{EthEngine, StateDependentProof};
use ethcore::header::Header; use ethcore::header::Header;
use ethcore::machine::EthereumMachine; use ethcore::machine::EthereumMachine;
use ethcore::receipt::Receipt; use ethcore::receipt::Receipt;
use ethsync::LightSync; use sync::LightSync;
use futures::{future, Future}; use futures::{future, Future};
use futures::future::Either; use futures::future::Either;

View File

@ -20,7 +20,7 @@ use std::sync::Arc;
use std::time::Duration; use std::time::Duration;
use ethcore::client::ClientIoMessage; use ethcore::client::ClientIoMessage;
use ethsync::LightSync; use sync::LightSync;
use io::{IoContext, IoHandler, TimerToken}; use io::{IoContext, IoHandler, TimerToken};
use light::client::LightChainClient; use light::client::LightChainClient;

View File

@ -55,10 +55,10 @@ extern crate ethcore_miner as miner;
extern crate ethcore_network as network; extern crate ethcore_network as network;
extern crate ethcore_private_tx; extern crate ethcore_private_tx;
extern crate ethcore_service; extern crate ethcore_service;
extern crate ethcore_sync as sync;
extern crate ethcore_transaction as transaction; extern crate ethcore_transaction as transaction;
extern crate ethereum_types; extern crate ethereum_types;
extern crate ethkey; extern crate ethkey;
extern crate ethsync;
extern crate kvdb; extern crate kvdb;
extern crate kvdb_rocksdb; extern crate kvdb_rocksdb;
extern crate migration as migr; extern crate migration as migr;

View File

@ -17,11 +17,11 @@
use std::sync::Arc; use std::sync::Arc;
use ethcore::client::BlockChainClient; use ethcore::client::BlockChainClient;
use ethsync::{self, AttachedProtocol, SyncConfig, NetworkConfiguration, Params, ConnectionFilter}; use sync::{self, AttachedProtocol, SyncConfig, NetworkConfiguration, Params, ConnectionFilter};
use ethcore::snapshot::SnapshotService; use ethcore::snapshot::SnapshotService;
use light::Provider; use light::Provider;
pub use ethsync::{EthSync, SyncProvider, ManageNetwork, PrivateTxHandler}; pub use sync::{EthSync, SyncProvider, ManageNetwork, PrivateTxHandler};
pub use ethcore::client::ChainNotify; pub use ethcore::client::ChainNotify;
use ethcore_logger::Config as LogConfig; use ethcore_logger::Config as LogConfig;
@ -37,7 +37,7 @@ pub fn sync(
_log_settings: &LogConfig, _log_settings: &LogConfig,
attached_protos: Vec<AttachedProtocol>, attached_protos: Vec<AttachedProtocol>,
connection_filter: Option<Arc<ConnectionFilter>>, connection_filter: Option<Arc<ConnectionFilter>>,
) -> Result<SyncModules, ethsync::Error> { ) -> Result<SyncModules, sync::Error> {
let eth_sync = EthSync::new(Params { let eth_sync = EthSync::new(Params {
config: sync_cfg, config: sync_cfg,
chain: client, chain: client,

View File

@ -28,7 +28,7 @@ use ethcore::client::Client;
use ethcore::miner::Miner; use ethcore::miner::Miner;
use ethcore::snapshot::SnapshotService; use ethcore::snapshot::SnapshotService;
use ethcore_logger::RotatingLogger; use ethcore_logger::RotatingLogger;
use ethsync::{ManageNetwork, SyncProvider, LightSync}; use sync::{ManageNetwork, SyncProvider, LightSync};
use futures_cpupool::CpuPool; use futures_cpupool::CpuPool;
use hash_fetch::fetch::Client as FetchClient; use hash_fetch::fetch::Client as FetchClient;
use jsonrpc_core::{self as core, MetaIoHandler}; use jsonrpc_core::{self as core, MetaIoHandler};

View File

@ -34,7 +34,7 @@ use ethcore::spec::{SpecParams, OptimizeFor};
use ethcore::verification::queue::VerifierSettings; use ethcore::verification::queue::VerifierSettings;
use ethcore_logger::{Config as LogConfig, RotatingLogger}; use ethcore_logger::{Config as LogConfig, RotatingLogger};
use ethcore_service::ClientService; use ethcore_service::ClientService;
use ethsync::{self, SyncConfig}; use sync::{self, SyncConfig};
use fdlimit::raise_fd_limit; use fdlimit::raise_fd_limit;
use futures_cpupool::CpuPool; use futures_cpupool::CpuPool;
use hash_fetch::{self, fetch}; use hash_fetch::{self, fetch};
@ -99,7 +99,7 @@ pub struct RunCmd {
pub ws_conf: rpc::WsConfiguration, pub ws_conf: rpc::WsConfiguration,
pub http_conf: rpc::HttpConfiguration, pub http_conf: rpc::HttpConfiguration,
pub ipc_conf: rpc::IpcConfiguration, pub ipc_conf: rpc::IpcConfiguration,
pub net_conf: ethsync::NetworkConfiguration, pub net_conf: sync::NetworkConfiguration,
pub network_id: Option<u64>, pub network_id: Option<u64>,
pub warp_sync: bool, pub warp_sync: bool,
pub warp_barrier: Option<u64>, pub warp_barrier: Option<u64>,
@ -188,7 +188,7 @@ type LightClient = ::light::client::Client<::light_helpers::EpochFetch>;
// helper for light execution. // helper for light execution.
fn execute_light_impl(cmd: RunCmd, logger: Arc<RotatingLogger>) -> Result<RunningClient, String> { fn execute_light_impl(cmd: RunCmd, logger: Arc<RotatingLogger>) -> Result<RunningClient, String> {
use light::client as light_client; use light::client as light_client;
use ethsync::{LightSyncParams, LightSync, ManageNetwork}; use sync::{LightSyncParams, LightSync, ManageNetwork};
use parking_lot::{Mutex, RwLock}; use parking_lot::{Mutex, RwLock};
// load spec // load spec
@ -290,7 +290,7 @@ fn execute_light_impl(cmd: RunCmd, logger: Arc<RotatingLogger>) -> Result<Runnin
network_config: net_conf.into_basic().map_err(|e| format!("Failed to produce network config: {}", e))?, network_config: net_conf.into_basic().map_err(|e| format!("Failed to produce network config: {}", e))?,
client: Arc::new(provider), client: Arc::new(provider),
network_id: cmd.network_id.unwrap_or(spec.network_id()), network_id: cmd.network_id.unwrap_or(spec.network_id()),
subprotocol_name: ethsync::LIGHT_PROTOCOL, subprotocol_name: sync::LIGHT_PROTOCOL,
handlers: vec![on_demand.clone()], handlers: vec![on_demand.clone()],
attached_protos: attached_protos, attached_protos: attached_protos,
}; };
@ -343,7 +343,7 @@ fn execute_light_impl(cmd: RunCmd, logger: Arc<RotatingLogger>) -> Result<Runnin
impl node_health::SyncStatus for LightSyncStatus { impl node_health::SyncStatus for LightSyncStatus {
fn is_major_importing(&self) -> bool { self.0.is_major_importing() } fn is_major_importing(&self) -> bool { self.0.is_major_importing() }
fn peers(&self) -> (usize, usize) { fn peers(&self) -> (usize, usize) {
let peers = ethsync::LightSyncProvider::peer_numbers(&*self.0); let peers = sync::LightSyncProvider::peer_numbers(&*self.0);
(peers.connected, peers.max) (peers.connected, peers.max)
} }
} }
@ -535,9 +535,9 @@ fn execute_impl<Cr, Rr>(cmd: RunCmd, logger: Arc<RotatingLogger>, on_client_rq:
} }
} }
sync_config.warp_sync = match (warp_sync, cmd.warp_barrier) { sync_config.warp_sync = match (warp_sync, cmd.warp_barrier) {
(true, Some(block)) => ethsync::WarpSync::OnlyAndAfter(block), (true, Some(block)) => sync::WarpSync::OnlyAndAfter(block),
(true, _) => ethsync::WarpSync::Enabled, (true, _) => sync::WarpSync::Enabled,
_ => ethsync::WarpSync::Disabled, _ => sync::WarpSync::Disabled,
}; };
sync_config.download_old_blocks = cmd.download_old_blocks; sync_config.download_old_blocks = cmd.download_old_blocks;
sync_config.serve_light = cmd.serve_light; sync_config.serve_light = cmd.serve_light;
@ -711,7 +711,7 @@ fn execute_impl<Cr, Rr>(cmd: RunCmd, logger: Arc<RotatingLogger>, on_client_rq:
client.clone(), client.clone(),
&cmd.logger_config, &cmd.logger_config,
attached_protos, attached_protos,
connection_filter.clone().map(|f| f as Arc<::ethsync::ConnectionFilter + 'static>), connection_filter.clone().map(|f| f as Arc<::sync::ConnectionFilter + 'static>),
).map_err(|e| format!("Sync error: {}", e))?; ).map_err(|e| format!("Sync error: {}", e))?;
service.add_notify(chain_notify.clone()); service.add_notify(chain_notify.clone());
@ -758,7 +758,7 @@ fn execute_impl<Cr, Rr>(cmd: RunCmd, logger: Arc<RotatingLogger>, on_client_rq:
let (node_health, dapps_deps) = { let (node_health, dapps_deps) = {
let (sync, client) = (sync_provider.clone(), client.clone()); let (sync, client) = (sync_provider.clone(), client.clone());
struct SyncStatus(Arc<ethsync::SyncProvider>, Arc<Client>, ethsync::NetworkConfiguration); struct SyncStatus(Arc<sync::SyncProvider>, Arc<Client>, sync::NetworkConfiguration);
impl fmt::Debug for SyncStatus { impl fmt::Debug for SyncStatus {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
write!(fmt, "Dapps Sync Status") write!(fmt, "Dapps Sync Status")

View File

@ -22,7 +22,7 @@ use ethcore::account_provider::AccountProvider;
use ethcore::client::Client; use ethcore::client::Client;
use ethcore::miner::Miner; use ethcore::miner::Miner;
use ethkey::{Secret, Public}; use ethkey::{Secret, Public};
use ethsync::SyncProvider; use sync::SyncProvider;
use ethereum_types::Address; use ethereum_types::Address;
/// This node secret key. /// This node secret key.

View File

@ -17,7 +17,7 @@
use std::sync::Arc; use std::sync::Arc;
use std::io; use std::io;
use ethsync::{AttachedProtocol, ManageNetwork}; use sync::{AttachedProtocol, ManageNetwork};
use parity_rpc::Metadata; use parity_rpc::Metadata;
use parity_whisper::message::Message; use parity_whisper::message::Message;
use parity_whisper::net::{self as whisper_net, Network as WhisperNetwork}; use parity_whisper::net::{self as whisper_net, Network as WhisperNetwork};

View File

@ -45,6 +45,7 @@ ethcore-light = { path = "../ethcore/light" }
ethcore-logger = { path = "../logger" } ethcore-logger = { path = "../logger" }
ethcore-miner = { path = "../miner" } ethcore-miner = { path = "../miner" }
ethcore-private-tx = { path = "../ethcore/private-tx" } ethcore-private-tx = { path = "../ethcore/private-tx" }
ethcore-sync = { path = "../ethcore/sync" }
ethcore-transaction = { path = "../ethcore/transaction" } ethcore-transaction = { path = "../ethcore/transaction" }
ethereum-types = "0.3" ethereum-types = "0.3"
@ -52,7 +53,6 @@ ethcrypto = { path = "../ethcrypto" }
ethjson = { path = "../json" } ethjson = { path = "../json" }
ethkey = { path = "../ethkey" } ethkey = { path = "../ethkey" }
ethstore = { path = "../ethstore" } ethstore = { path = "../ethstore" }
ethsync = { path = "../sync" }
fetch = { path = "../util/fetch" } fetch = { path = "../util/fetch" }
hardware-wallet = { path = "../hw" } hardware-wallet = { path = "../hw" }
keccak-hash = { path = "../util/hash" } keccak-hash = { path = "../util/hash" }

View File

@ -49,14 +49,15 @@ extern crate ethcore_bytes as bytes;
extern crate ethcore_devtools as devtools; extern crate ethcore_devtools as devtools;
extern crate ethcore_io as io; extern crate ethcore_io as io;
extern crate ethcore_light as light; extern crate ethcore_light as light;
extern crate ethcore_logger;
extern crate ethcore_miner as miner; extern crate ethcore_miner as miner;
extern crate ethcore_private_tx;
extern crate ethcore_sync as sync;
extern crate ethcore_transaction as transaction; extern crate ethcore_transaction as transaction;
extern crate ethcrypto as crypto; extern crate ethcrypto as crypto;
extern crate ethereum_types; extern crate ethereum_types;
extern crate ethkey; extern crate ethkey;
extern crate ethstore; extern crate ethstore;
extern crate ethsync;
extern crate ethcore_logger;
extern crate vm; extern crate vm;
extern crate fetch; extern crate fetch;
extern crate node_health; extern crate node_health;
@ -67,7 +68,6 @@ extern crate rlp;
extern crate stats; extern crate stats;
extern crate keccak_hash as hash; extern crate keccak_hash as hash;
extern crate hardware_wallet; extern crate hardware_wallet;
extern crate ethcore_private_tx;
extern crate patricia_trie as trie; extern crate patricia_trie as trie;
#[macro_use] #[macro_use]

View File

@ -17,7 +17,7 @@
//! Block import analysis functions. //! Block import analysis functions.
use ethcore::client::BlockQueueInfo; use ethcore::client::BlockQueueInfo;
use ethsync::SyncState; use sync::SyncState;
/// Check if client is during major sync or during block import. /// Check if client is during major sync or during block import.
pub fn is_major_importing(sync_state: Option<SyncState>, queue_info: BlockQueueInfo) -> bool { pub fn is_major_importing(sync_state: Option<SyncState>, queue_info: BlockQueueInfo) -> bool {
@ -32,7 +32,7 @@ pub fn is_major_importing(sync_state: Option<SyncState>, queue_info: BlockQueueI
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use ethcore::client::BlockQueueInfo; use ethcore::client::BlockQueueInfo;
use ethsync::SyncState; use sync::SyncState;
use super::is_major_importing; use super::is_major_importing;

View File

@ -32,7 +32,7 @@ use parking_lot::{Mutex, RwLock};
use stats::Corpus; use stats::Corpus;
use ethkey::Signature; use ethkey::Signature;
use ethsync::LightSync; use sync::LightSync;
use ethcore::ids::BlockId; use ethcore::ids::BlockId;
use ethcore::miner::MinerService; use ethcore::miner::MinerService;
use ethcore::client::MiningBlockChainClient; use ethcore::client::MiningBlockChainClient;

View File

@ -36,7 +36,7 @@ use light::cht;
use light::on_demand::{request, OnDemand, HeaderRef, Request as OnDemandRequest, Response as OnDemandResponse}; use light::on_demand::{request, OnDemand, HeaderRef, Request as OnDemandRequest, Response as OnDemandResponse};
use light::request::Field; use light::request::Field;
use ethsync::LightSync; use sync::LightSync;
use ethereum_types::{U256, Address}; use ethereum_types::{U256, Address};
use hash::H256; use hash::H256;
use parking_lot::Mutex; use parking_lot::Mutex;

View File

@ -35,7 +35,7 @@ use ethcore::log_entry::LogEntry;
use ethcore::miner::MinerService; use ethcore::miner::MinerService;
use ethcore::snapshot::SnapshotService; use ethcore::snapshot::SnapshotService;
use ethcore::encoded; use ethcore::encoded;
use ethsync::{SyncProvider}; use sync::{SyncProvider};
use miner::external::ExternalMinerService; use miner::external::ExternalMinerService;
use transaction::{SignedTransaction, LocalizedTransaction}; use transaction::{SignedTransaction, LocalizedTransaction};

View File

@ -34,7 +34,7 @@ use v1::types::{pubsub, RichHeader, Log};
use ethcore::encoded; use ethcore::encoded;
use ethcore::filter::Filter as EthFilter; use ethcore::filter::Filter as EthFilter;
use ethcore::client::{BlockChainClient, ChainNotify, BlockId}; use ethcore::client::{BlockChainClient, ChainNotify, BlockId};
use ethsync::LightSync; use sync::LightSync;
use light::cache::Cache; use light::cache::Cache;
use light::on_demand::OnDemand; use light::on_demand::OnDemand;
use light::client::{LightChainClient, LightChainNotify}; use light::client::{LightChainClient, LightChainNotify};

View File

@ -32,7 +32,7 @@ use ethcore::account_provider::{AccountProvider, DappId};
use ethcore::encoded; use ethcore::encoded;
use ethcore::filter::Filter as EthcoreFilter; use ethcore::filter::Filter as EthcoreFilter;
use ethcore::ids::BlockId; use ethcore::ids::BlockId;
use ethsync::LightSync; use sync::LightSync;
use hash::{KECCAK_NULL_RLP, KECCAK_EMPTY_LIST_RLP}; use hash::{KECCAK_NULL_RLP, KECCAK_EMPTY_LIST_RLP};
use ethereum_types::U256; use ethereum_types::U256;
use parking_lot::{RwLock, Mutex}; use parking_lot::{RwLock, Mutex};

View File

@ -17,7 +17,7 @@
//! Net rpc implementation. //! Net rpc implementation.
use std::sync::Arc; use std::sync::Arc;
use jsonrpc_core::Result; use jsonrpc_core::Result;
use ethsync::LightSyncProvider; use sync::LightSyncProvider;
use v1::traits::Net; use v1::traits::Net;
/// Net rpc implementation. /// Net rpc implementation.

View File

@ -23,7 +23,7 @@ use version::version_data;
use crypto::{ecies, DEFAULT_MAC}; use crypto::{ecies, DEFAULT_MAC};
use ethkey::{Brain, Generator}; use ethkey::{Brain, Generator};
use ethstore::random_phrase; use ethstore::random_phrase;
use ethsync::LightSyncProvider; use sync::LightSyncProvider;
use ethcore::account_provider::AccountProvider; use ethcore::account_provider::AccountProvider;
use ethcore_logger::RotatingLogger; use ethcore_logger::RotatingLogger;
use node_health::{NodeHealth, Health}; use node_health::{NodeHealth, Health};

View File

@ -20,7 +20,7 @@
use std::io; use std::io;
use std::sync::Arc; use std::sync::Arc;
use ethsync::ManageNetwork; use sync::ManageNetwork;
use fetch::{self, Fetch}; use fetch::{self, Fetch};
use futures_cpupool::CpuPool; use futures_cpupool::CpuPool;
use hash::keccak_buffer; use hash::keccak_buffer;

View File

@ -17,7 +17,7 @@
//! Net rpc implementation. //! Net rpc implementation.
use std::sync::Arc; use std::sync::Arc;
use jsonrpc_core::Result; use jsonrpc_core::Result;
use ethsync::SyncProvider; use sync::SyncProvider;
use v1::traits::Net; use v1::traits::Net;
/// Net rpc implementation. /// Net rpc implementation.

View File

@ -25,7 +25,7 @@ use version::version_data;
use crypto::{DEFAULT_MAC, ecies}; use crypto::{DEFAULT_MAC, ecies};
use ethkey::{Brain, Generator}; use ethkey::{Brain, Generator};
use ethstore::random_phrase; use ethstore::random_phrase;
use ethsync::{SyncProvider, ManageNetwork}; use sync::{SyncProvider, ManageNetwork};
use ethcore::account_provider::AccountProvider; use ethcore::account_provider::AccountProvider;
use ethcore::client::{MiningBlockChainClient, StateClient, Call}; use ethcore::client::{MiningBlockChainClient, StateClient, Call};
use ethcore::ids::BlockId; use ethcore::ids::BlockId;

View File

@ -21,7 +21,7 @@ use std::sync::Arc;
use ethcore::miner::MinerService; use ethcore::miner::MinerService;
use ethcore::client::MiningBlockChainClient; use ethcore::client::MiningBlockChainClient;
use ethcore::mode::Mode; use ethcore::mode::Mode;
use ethsync::ManageNetwork; use sync::ManageNetwork;
use fetch::{self, Fetch}; use fetch::{self, Fetch};
use futures_cpupool::CpuPool; use futures_cpupool::CpuPool;
use hash::keccak_buffer; use hash::keccak_buffer;

View File

@ -19,7 +19,7 @@
use std::collections::BTreeMap; use std::collections::BTreeMap;
use ethereum_types::H256; use ethereum_types::H256;
use parking_lot::RwLock; use parking_lot::RwLock;
use ethsync::{SyncProvider, EthProtocolInfo, SyncStatus, SyncState, PeerInfo, TransactionStats}; use sync::{SyncProvider, EthProtocolInfo, SyncStatus, SyncState, PeerInfo, TransactionStats};
/// TestSyncProvider config. /// TestSyncProvider config.
pub struct Config { pub struct Config {

View File

@ -27,7 +27,7 @@ use ethcore::log_entry::{LocalizedLogEntry, LogEntry};
use ethcore::miner::MinerService; use ethcore::miner::MinerService;
use ethcore::receipt::{LocalizedReceipt, TransactionOutcome}; use ethcore::receipt::{LocalizedReceipt, TransactionOutcome};
use ethkey::Secret; use ethkey::Secret;
use ethsync::SyncState; use sync::SyncState;
use miner::external::ExternalMiner; use miner::external::ExternalMiner;
use rlp; use rlp;
use rustc_hex::{FromHex, ToHex}; use rustc_hex::{FromHex, ToHex};

View File

@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>. // along with Parity. If not, see <http://www.gnu.org/licenses/>.
use ethsync::{ManageNetwork, NetworkConfiguration}; use sync::{ManageNetwork, NetworkConfiguration};
use self::ethcore_network::{ProtocolId, NetworkContext}; use self::ethcore_network::{ProtocolId, NetworkContext};
extern crate ethcore_network; extern crate ethcore_network;

View File

@ -20,7 +20,7 @@ use ethcore::client::{TestBlockChainClient, Executed};
use ethcore::miner::LocalTransactionStatus; use ethcore::miner::LocalTransactionStatus;
use ethcore_logger::RotatingLogger; use ethcore_logger::RotatingLogger;
use ethstore::ethkey::{Generator, Random}; use ethstore::ethkey::{Generator, Random};
use ethsync::ManageNetwork; use sync::ManageNetwork;
use node_health::{self, NodeHealth}; use node_health::{self, NodeHealth};
use parity_reactor; use parity_reactor;
use ethereum_types::{Address, U256, H256}; use ethereum_types::{Address, U256, H256};

View File

@ -21,7 +21,7 @@ use ethereum_types::{U256, Address};
use ethcore::miner::MinerService; use ethcore::miner::MinerService;
use ethcore::client::TestBlockChainClient; use ethcore::client::TestBlockChainClient;
use ethsync::ManageNetwork; use sync::ManageNetwork;
use futures_cpupool::CpuPool; use futures_cpupool::CpuPool;
use jsonrpc_core::IoHandler; use jsonrpc_core::IoHandler;

View File

@ -15,7 +15,7 @@
// along with Parity. If not, see <http://www.gnu.org/licenses/>. // along with Parity. If not, see <http://www.gnu.org/licenses/>.
use std::collections::BTreeMap; use std::collections::BTreeMap;
use ethsync::{self, PeerInfo as SyncPeerInfo, TransactionStats as SyncTransactionStats}; use sync::{self, PeerInfo as SyncPeerInfo, TransactionStats as SyncTransactionStats};
use serde::{Serialize, Serializer}; use serde::{Serialize, Serializer};
use v1::types::{U256, H512}; use v1::types::{U256, H512};
@ -98,8 +98,8 @@ pub struct EthProtocolInfo {
pub head: String, pub head: String,
} }
impl From<ethsync::EthProtocolInfo> for EthProtocolInfo { impl From<sync::EthProtocolInfo> for EthProtocolInfo {
fn from(info: ethsync::EthProtocolInfo) -> Self { fn from(info: sync::EthProtocolInfo) -> Self {
EthProtocolInfo { EthProtocolInfo {
version: info.version, version: info.version,
difficulty: info.difficulty.map(Into::into), difficulty: info.difficulty.map(Into::into),
@ -119,8 +119,8 @@ pub struct PipProtocolInfo {
pub head: String, pub head: String,
} }
impl From<ethsync::PipProtocolInfo> for PipProtocolInfo { impl From<sync::PipProtocolInfo> for PipProtocolInfo {
fn from(info: ethsync::PipProtocolInfo) -> Self { fn from(info: sync::PipProtocolInfo) -> Self {
PipProtocolInfo { PipProtocolInfo {
version: info.version, version: info.version,
difficulty: info.difficulty.into(), difficulty: info.difficulty.into(),

View File

@ -24,9 +24,9 @@ tokio-proto = "0.1"
url = "1.0" url = "1.0"
ethcore = { path = "../ethcore" } ethcore = { path = "../ethcore" }
ethcore-bytes = { path = "../util/bytes" } ethcore-bytes = { path = "../util/bytes" }
ethcore-sync = { path = "../ethcore/sync" }
ethcore-transaction = { path = "../ethcore/transaction" } ethcore-transaction = { path = "../ethcore/transaction" }
ethereum-types = "0.3" ethereum-types = "0.3"
ethsync = { path = "../sync" }
kvdb = { path = "../util/kvdb" } kvdb = { path = "../util/kvdb" }
kvdb-rocksdb = { path = "../util/kvdb-rocksdb" } kvdb-rocksdb = { path = "../util/kvdb-rocksdb" }
keccak-hash = { path = "../util/hash" } keccak-hash = { path = "../util/hash" }

View File

@ -19,11 +19,11 @@ extern crate ethabi;
extern crate ethcore; extern crate ethcore;
extern crate ethcore_bytes as bytes; extern crate ethcore_bytes as bytes;
extern crate ethcore_logger as logger; extern crate ethcore_logger as logger;
extern crate ethcore_sync as sync;
extern crate ethcore_transaction as transaction; extern crate ethcore_transaction as transaction;
extern crate ethcrypto; extern crate ethcrypto;
extern crate ethereum_types; extern crate ethereum_types;
extern crate ethkey; extern crate ethkey;
extern crate ethsync;
extern crate futures_cpupool; extern crate futures_cpupool;
extern crate hyper; extern crate hyper;
extern crate keccak_hash as hash; extern crate keccak_hash as hash;
@ -70,7 +70,7 @@ mod trusted_client;
use std::sync::Arc; use std::sync::Arc;
use ethcore::client::Client; use ethcore::client::Client;
use ethcore::miner::Miner; use ethcore::miner::Miner;
use ethsync::SyncProvider; use sync::SyncProvider;
pub use types::all::{ServerKeyId, EncryptedDocumentKey, RequestSignature, Public, pub use types::all::{ServerKeyId, EncryptedDocumentKey, RequestSignature, Public,
Error, NodeAddress, ContractAddress, ServiceConfiguration, ClusterConfiguration}; Error, NodeAddress, ContractAddress, ServiceConfiguration, ClusterConfiguration};

View File

@ -19,7 +19,7 @@ use bytes::Bytes;
use ethereum_types::Address; use ethereum_types::Address;
use ethcore::client::{Client, BlockChainClient, ChainInfo, Nonce}; use ethcore::client::{Client, BlockChainClient, ChainInfo, Nonce};
use ethcore::miner::{Miner, MinerService}; use ethcore::miner::{Miner, MinerService};
use ethsync::SyncProvider; use sync::SyncProvider;
use transaction::{Transaction, SignedTransaction, Action}; use transaction::{Transaction, SignedTransaction, Action};
use {Error, NodeKeyPair}; use {Error, NodeKeyPair};

View File

@ -1,37 +0,0 @@
[package]
description = "Ethcore blockchain sync"
name = "ethsync"
version = "1.11.0"
license = "GPL-3.0"
authors = ["Parity Technologies <admin@parity.io>"]
[lib]
[dependencies]
ethcore-bytes = { path = "../util/bytes" }
ethcore-network = { path = "../util/network" }
ethcore-network-devp2p = { path = "../util/network-devp2p" }
ethcore-io = { path = "../util/io" }
ethcore-light = { path = "../ethcore/light" }
ethcore-transaction = { path = "../ethcore/transaction" }
ethcore = { path = "../ethcore" }
ethereum-types = "0.3"
plain_hasher = { path = "../util/plain_hasher" }
rlp = { path = "../util/rlp" }
rustc-hex = "1.0"
keccak-hash = { path = "../util/hash" }
triehash = { path = "../util/triehash" }
kvdb = { path = "../util/kvdb" }
macros = { path = "../util/macros" }
log = "0.3"
env_logger = "0.4"
rand = "0.4"
heapsize = "0.4"
semver = "0.9"
smallvec = { version = "0.4", features = ["heapsizeof"] }
parking_lot = "0.5"
ipnetwork = "0.12.6"
[dev-dependencies]
ethkey = { path = "../ethkey" }
kvdb-memorydb = { path = "../util/kvdb-memorydb" }

View File

@ -15,8 +15,8 @@ ethabi-contract = "5.0"
target_info = "0.1" target_info = "0.1"
semver = "0.9" semver = "0.9"
ethcore = { path = "../ethcore" } ethcore = { path = "../ethcore" }
ethsync = { path = "../sync" }
ethcore-bytes = { path = "../util/bytes" } ethcore-bytes = { path = "../util/bytes" }
ethcore-sync = { path = "../ethcore/sync" }
ethereum-types = "0.3" ethereum-types = "0.3"
parking_lot = "0.5" parking_lot = "0.5"
parity-hash-fetch = { path = "../hash-fetch" } parity-hash-fetch = { path = "../hash-fetch" }

View File

@ -19,8 +19,8 @@
extern crate ethabi; extern crate ethabi;
extern crate ethcore; extern crate ethcore;
extern crate ethcore_bytes as bytes; extern crate ethcore_bytes as bytes;
extern crate ethcore_sync as sync;
extern crate ethereum_types; extern crate ethereum_types;
extern crate ethsync;
extern crate keccak_hash as hash; extern crate keccak_hash as hash;
extern crate parity_hash_fetch as hash_fetch; extern crate parity_hash_fetch as hash_fetch;
extern crate parity_version as version; extern crate parity_version as version;

View File

@ -30,7 +30,7 @@ use ethcore::BlockNumber;
use ethcore::filter::Filter; use ethcore::filter::Filter;
use ethcore::client::{BlockId, BlockChainClient, ChainNotify}; use ethcore::client::{BlockId, BlockChainClient, ChainNotify};
use ethereum_types::H256; use ethereum_types::H256;
use ethsync::{SyncProvider}; use sync::{SyncProvider};
use hash_fetch::{self as fetch, HashFetch}; use hash_fetch::{self as fetch, HashFetch};
use path::restrict_permissions_owner; use path::restrict_permissions_owner;
use service::Service; use service::Service;