Stubs for Personal Signer methods

This commit is contained in:
Tomasz Drwięga
2016-05-28 17:07:40 +02:00
parent f794018e95
commit 6d5ba59515
16 changed files with 198 additions and 23 deletions

View File

@@ -79,6 +79,7 @@ use std::fs::File;
use std::str::{FromStr, from_utf8};
use std::thread::sleep;
use std::time::Duration;
use std::collections::HashSet;
use rustc_serialize::hex::FromHex;
use ctrlc::CtrlC;
use util::{H256, ToPretty, NetworkConfiguration, PayloadInfo, Bytes};
@@ -199,6 +200,8 @@ fn execute_client(conf: Configuration, spec: Spec, client_config: ClientConfig)
let sync = EthSync::register(service.network(), sync_config, client.clone(), miner.clone());
let deps_for_rpc_apis = Arc::new(rpc_apis::Dependencies {
signer_enabled: conf.args.flag_signer,
signer_queue: Arc::new(Mutex::new(HashSet::new())),
client: client.clone(),
sync: sync.clone(),
secret_store: account_service.clone(),
@@ -239,7 +242,7 @@ fn execute_client(conf: Configuration, spec: Spec, client_config: ClientConfig)
// Set up a signer
let signer_server = signer::start(signer::Configuration {
enabled: conf.args.flag_signer,
enabled: deps_for_rpc_apis.signer_enabled,
port: conf.args.flag_signer_port,
}, signer::Dependencies {
panic_handler: panic_handler.clone(),

View File

@@ -26,7 +26,7 @@ use util::RotatingLogger;
use util::keys::store::AccountService;
use util::network_settings::NetworkSettings;
use ethcore_rpc::Extendable;
use ethcore_rpc::{SigningQueue, Extendable};
pub enum Api {
Web3,
@@ -61,6 +61,8 @@ impl FromStr for Api {
}
pub struct Dependencies {
pub signer_enabled: bool,
pub signer_queue: Arc<SigningQueue>,
pub client: Arc<Client>,
pub sync: Arc<EthSync>,
pub secret_store: Arc<AccountService>,
@@ -115,7 +117,12 @@ pub fn setup_rpc<T: Extendable>(server: T, deps: Arc<Dependencies>, apis: Option
Api::Eth => {
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(EthSigningUnsafeClient::new(&deps.client, &deps.secret_store, &deps.miner).to_delegate());
if deps.signer_enabled {
server.add_delegate(EthSigningQueueClient::new(&deps.signer_queue).to_delegate());
} else {
server.add_delegate(EthSigningUnsafeClient::new(&deps.client, &deps.secret_store, &deps.miner).to_delegate());
}
},
Api::Personal => {
server.add_delegate(PersonalClient::new(&deps.secret_store, &deps.client, &deps.miner).to_delegate())