Merge branch 'master' into rpc-shared-miner
Conflicts: parity/main.rs
This commit is contained in:
@@ -25,6 +25,7 @@ use docopt::Docopt;
|
||||
use die::*;
|
||||
use util::*;
|
||||
use util::keys::store::AccountService;
|
||||
use util::network_settings::NetworkSettings;
|
||||
use ethcore::client::{append_path, get_db_path, ClientConfig};
|
||||
use ethcore::ethereum;
|
||||
use ethcore::spec::Spec;
|
||||
@@ -236,5 +237,17 @@ impl Configuration {
|
||||
}
|
||||
account_service
|
||||
}
|
||||
|
||||
pub fn network_settings(&self) -> NetworkSettings {
|
||||
NetworkSettings {
|
||||
name: self.args.flag_identity.clone(),
|
||||
chain: self.args.flag_chain.clone(),
|
||||
max_peers: self.args.flag_maxpeers.unwrap_or(self.args.flag_peers),
|
||||
network_port: self.args.flag_port,
|
||||
rpc_enabled: self.args.flag_rpc || self.args.flag_jsonrpc,
|
||||
rpc_interface: self.args.flag_rpcaddr.clone().unwrap_or(self.args.flag_jsonrpc_interface.clone()),
|
||||
rpc_port: self.args.flag_rpcport.unwrap_or(self.args.flag_jsonrpc_port),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -154,6 +154,7 @@ fn execute_client(conf: Configuration) {
|
||||
miner.set_transactions_limit(conf.args.flag_tx_limit);
|
||||
|
||||
let external_miner = Arc::new(ExternalMiner::default());
|
||||
let network_settings = Arc::new(conf.network_settings());
|
||||
|
||||
// Sync
|
||||
let sync = EthSync::register(service.network(), sync_config, client.clone(), miner.clone());
|
||||
@@ -171,7 +172,8 @@ fn execute_client(conf: Configuration) {
|
||||
secret_store: account_service.clone(),
|
||||
miner: miner.clone(),
|
||||
external_miner: external_miner.clone(),
|
||||
logger: logger.clone()
|
||||
logger: logger.clone(),
|
||||
settings: network_settings.clone(),
|
||||
});
|
||||
|
||||
let webapp_server = webapp::new(webapp::Configuration {
|
||||
@@ -186,7 +188,8 @@ fn execute_client(conf: Configuration) {
|
||||
secret_store: account_service.clone(),
|
||||
miner: miner.clone(),
|
||||
external_miner: external_miner.clone(),
|
||||
logger: logger.clone()
|
||||
logger: logger.clone(),
|
||||
settings: network_settings.clone(),
|
||||
});
|
||||
|
||||
// Register IO handler
|
||||
|
||||
@@ -23,6 +23,7 @@ use ethsync::EthSync;
|
||||
use ethminer::{Miner, ExternalMiner};
|
||||
use util::RotatingLogger;
|
||||
use util::keys::store::{AccountService};
|
||||
use util::network_settings::NetworkSettings;
|
||||
use die::*;
|
||||
|
||||
#[cfg(feature = "rpc")]
|
||||
@@ -47,6 +48,7 @@ pub struct Dependencies {
|
||||
pub miner: Arc<Miner>,
|
||||
pub external_miner: Arc<ExternalMiner>,
|
||||
pub logger: Arc<RotatingLogger>,
|
||||
pub settings: Arc<NetworkSettings>,
|
||||
}
|
||||
|
||||
pub fn new(conf: Configuration, deps: Dependencies) -> Option<RpcServer> {
|
||||
@@ -95,7 +97,7 @@ pub fn setup_rpc_server(
|
||||
server.add_delegate(EthFilterClient::new(&deps.client, &deps.miner).to_delegate());
|
||||
},
|
||||
"personal" => server.add_delegate(PersonalClient::new(&deps.secret_store).to_delegate()),
|
||||
"ethcore" => server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger.clone()).to_delegate()),
|
||||
"ethcore" => server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger.clone(), deps.settings.clone()).to_delegate()),
|
||||
_ => {
|
||||
die!("{}: Invalid API name to be enabled.", api);
|
||||
},
|
||||
|
||||
@@ -22,6 +22,7 @@ use ethsync::EthSync;
|
||||
use ethminer::{Miner, ExternalMiner};
|
||||
use util::RotatingLogger;
|
||||
use util::keys::store::{AccountService};
|
||||
use util::network_settings::NetworkSettings;
|
||||
use die::*;
|
||||
|
||||
#[cfg(feature = "webapp")]
|
||||
@@ -44,6 +45,7 @@ pub struct Dependencies {
|
||||
pub miner: Arc<Miner>,
|
||||
pub external_miner: Arc<ExternalMiner>,
|
||||
pub logger: Arc<RotatingLogger>,
|
||||
pub settings: Arc<NetworkSettings>,
|
||||
}
|
||||
|
||||
pub fn new(configuration: Configuration, deps: Dependencies) -> Option<WebappServer> {
|
||||
@@ -97,7 +99,7 @@ pub fn setup_webapp_server(
|
||||
server.add_delegate(EthClient::new(&deps.client, &deps.sync, &deps.secret_store, &deps.miner, &deps.external_miner).to_delegate());
|
||||
server.add_delegate(EthFilterClient::new(&deps.client, &deps.miner).to_delegate());
|
||||
server.add_delegate(PersonalClient::new(&deps.secret_store).to_delegate());
|
||||
server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger).to_delegate());
|
||||
server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger, deps.settings).to_delegate());
|
||||
|
||||
let start_result = match auth {
|
||||
None => {
|
||||
|
||||
Reference in New Issue
Block a user