diff --git a/Cargo.toml b/Cargo.toml index 1904bf0..bf783a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ hex = "0.2" lazy_static = "0.2" serde_json = "1.0" serde_derive = "1.0" -emerald-rs = "0.17" +emerald-rs = "0.18" regex = "0.2" rustc-serialize = "0.3" hyper = "0.10" diff --git a/src/cmd/arg_handlers.rs b/src/cmd/arg_handlers.rs index 78aa171..e309cde 100644 --- a/src/cmd/arg_handlers.rs +++ b/src/cmd/arg_handlers.rs @@ -187,7 +187,7 @@ impl CmdExecutor { |mut f| f.read_to_string(&mut json), )?; - let kf = KeyFile::decode(json)?; + let kf = KeyFile::decode(&json)?; let st = self.storage_ctrl.get_keystore(&self.chain)?; match st.is_addr_exist(&kf.address) { diff --git a/src/cmd/mod.rs b/src/cmd/mod.rs index 84224ea..cdf04cd 100644 --- a/src/cmd/mod.rs +++ b/src/cmd/mod.rs @@ -146,11 +146,11 @@ impl CmdExecutor { let pass = request_passphrase()?; let pk = kf.decrypt_key(&pass)?; - let raw = self.sign_transaction(tr, pk)?; + let raw = self.sign_transaction(&tr, pk)?; match self.connector { Some(ref conn) => { tr.nonce = rpc::get_nonce(conn, &kf.address)?; - self.send_transaction(raw) + self.send_transaction(&raw) } None => { println!("Signed transaction: "); @@ -325,7 +325,7 @@ impl CmdExecutor { } /// Sign transaction with - fn sign_transaction(&self, tr: Transaction, pk: PrivateKey) -> Result, Error> { + fn sign_transaction(&self, tr: &Transaction, pk: PrivateKey) -> Result, Error> { if let Some(chain_id) = to_chain_id(&self.chain) { let raw = tr.to_signed_raw(pk, chain_id)?; Ok(raw) @@ -334,10 +334,10 @@ impl CmdExecutor { } } - fn send_transaction(&self, raw: Vec) -> ExecResult { + fn send_transaction(&self, raw: &[u8]) -> ExecResult { match self.connector { Some(ref conn) => { - let tx_hash = rpc::send_transaction(conn, &raw)?; + let tx_hash = rpc::send_transaction(conn, raw)?; println!("Tx hash: "); println!("{}", tx_hash); Ok(()) diff --git a/src/main.rs b/src/main.rs index 0c7ba77..0a1ddab 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,7 +34,7 @@ use log::LogRecord; use std::env; use std::process::*; -const USAGE: &'static str = include_str!("../usage.txt"); +const USAGE: &str = include_str!("../usage.txt"); const VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION"); /// Get the current Emerald version.