diff --git a/Cargo.lock b/Cargo.lock index 3819204f9..6a825bcb4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ [root] name = "parity" -version = "1.5.1" +version = "1.5.2" dependencies = [ "ansi_term 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "app_dirs 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -23,7 +23,7 @@ dependencies = [ "ethcore-rpc 1.5.0", "ethcore-signer 1.5.0", "ethcore-stratum 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "ethsync 1.5.0", "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -372,7 +372,7 @@ dependencies = [ "ethcore-ipc 1.5.0", "ethcore-ipc-codegen 1.5.0", "ethcore-ipc-nano 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "ethjson 0.1.0", "ethkey 0.2.0", "ethstore 0.1.0", @@ -420,7 +420,7 @@ dependencies = [ "env_logger 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-devtools 1.5.0", "ethcore-rpc 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "fetch 0.1.0", "futures 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.10.0-a.0 (git+https://github.com/ethcore/hyper)", @@ -468,7 +468,7 @@ name = "ethcore-ipc" version = "1.5.0" dependencies = [ "ethcore-devtools 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "nanomsg 0.5.1 (git+https://github.com/ethcore/nanomsg.rs.git)", "semver 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -515,7 +515,7 @@ dependencies = [ "ethcore-ipc 1.5.0", "ethcore-ipc-codegen 1.5.0", "ethcore-ipc-nano 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "nanomsg 0.5.1 (git+https://github.com/ethcore/nanomsg.rs.git)", "semver 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -530,7 +530,7 @@ dependencies = [ "ethcore-ipc 1.5.0", "ethcore-ipc-codegen 1.5.0", "ethcore-network 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.1.0", "smallvec 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -542,7 +542,7 @@ name = "ethcore-logger" version = "1.5.0" dependencies = [ "env_logger 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "isatty 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -558,7 +558,7 @@ dependencies = [ "bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-devtools 1.5.0", "ethcore-io 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "ethcrypto 0.1.0", "ethkey 0.2.0", "igd 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -585,7 +585,7 @@ dependencies = [ "ethcore-devtools 1.5.0", "ethcore-io 1.5.0", "ethcore-ipc 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "ethcrypto 0.1.0", "ethjson 0.1.0", "ethkey 0.2.0", @@ -620,7 +620,7 @@ dependencies = [ "ethcore-devtools 1.5.0", "ethcore-io 1.5.0", "ethcore-rpc 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "jsonrpc-core 4.0.0 (git+https://github.com/ethcore/jsonrpc.git?branch=mio-old)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "parity-dapps-glue 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -639,7 +639,7 @@ dependencies = [ "ethcore-ipc 1.5.0", "ethcore-ipc-codegen 1.5.0", "ethcore-ipc-nano 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "jsonrpc-core 4.0.0 (git+https://github.com/ethcore/jsonrpc.git?branch=mio-old)", "jsonrpc-tcp-server 0.1.0 (git+https://github.com/ethcore/jsonrpc.git?branch=mio-old)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -650,7 +650,7 @@ dependencies = [ [[package]] name = "ethcore-util" -version = "1.5.1" +version = "1.5.2" dependencies = [ "ansi_term 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -699,7 +699,7 @@ dependencies = [ name = "ethjson" version = "0.1.0" dependencies = [ - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde_codegen 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -755,7 +755,7 @@ dependencies = [ "ethcore-ipc-nano 1.5.0", "ethcore-light 1.5.0", "ethcore-network 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "ethkey 0.2.0", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -964,7 +964,7 @@ version = "1.5.0" dependencies = [ "ethcore-ipc 1.5.0", "ethcore-ipc-codegen 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "semver 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1489,7 +1489,7 @@ name = "parity-hash-fetch" version = "1.5.0" dependencies = [ "ethabi 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "fetch 0.1.0", "futures 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1514,7 +1514,7 @@ version = "1.4.0" dependencies = [ "ethcore-rpc 1.5.0", "ethcore-signer 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "futures 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 4.0.0 (git+https://github.com/ethcore/jsonrpc.git?branch=mio-old)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1560,7 +1560,7 @@ dependencies = [ "ethcore 1.5.0", "ethcore-ipc 1.5.0", "ethcore-ipc-codegen 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "ethsync 1.5.0", "ipc-common-types 1.5.0", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1840,7 +1840,7 @@ version = "1.4.0" dependencies = [ "ethcore-bigint 0.1.2", "ethcore-rpc 1.5.0", - "ethcore-util 1.5.1", + "ethcore-util 1.5.2", "futures 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "parity-rpc-client 1.4.0", "rpassword 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index a952bc014..b2a0e0125 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Parity Ethereum client" name = "parity" -version = "1.5.1" +version = "1.5.2" license = "GPL-3.0" authors = ["Parity Technologies "] build = "build.rs" diff --git a/js/src/redux/providers/signerMiddleware.js b/js/src/redux/providers/signerMiddleware.js index 38b05a399..5f01432cf 100644 --- a/js/src/redux/providers/signerMiddleware.js +++ b/js/src/redux/providers/signerMiddleware.js @@ -57,8 +57,6 @@ export default class SignerMiddleware { const handlePromise = (promise) => { promise .then((txHash) => { - console.log('confirmRequest', id, txHash); - if (!txHash) { store.dispatch(actions.errorConfirmRequest({ id, err: 'Unable to confirm.' })); return; diff --git a/mac/Parity.pkgproj b/mac/Parity.pkgproj index 3a319c4dc..7dc71fa8e 100755 --- a/mac/Parity.pkgproj +++ b/mac/Parity.pkgproj @@ -578,7 +578,7 @@ OVERWRITE_PERMISSIONS VERSION - 1.5.1 + 1.5.2 UUID 2DCD5B81-7BAF-4DA1-9251-6274B089FD36 diff --git a/nsis/installer.nsi b/nsis/installer.nsi index 271f6003b..db28dfac7 100644 --- a/nsis/installer.nsi +++ b/nsis/installer.nsi @@ -10,7 +10,7 @@ !define DESCRIPTION "Fast, light, robust Ethereum implementation" !define VERSIONMAJOR 1 !define VERSIONMINOR 5 -!define VERSIONBUILD 1 +!define VERSIONBUILD 2 !define ARGS "--warp" !define FIRST_START_ARGS "ui --warp --mode=passive" diff --git a/rpc/src/v1/helpers/dispatch.rs b/rpc/src/v1/helpers/dispatch.rs index fb90642d1..f2d9991ec 100644 --- a/rpc/src/v1/helpers/dispatch.rs +++ b/rpc/src/v1/helpers/dispatch.rs @@ -17,7 +17,7 @@ use std::fmt::Debug; use std::ops::Deref; use rlp; -use util::{Address, H256, U256, Uint, Bytes}; +use util::{Address, H520, H256, U256, Uint, Bytes}; use util::bytes::ToPretty; use ethkey::Signature; @@ -111,6 +111,14 @@ pub fn execute(client: &C, miner: &M, accounts: &AccountProvider, payload: ConfirmationPayload::Signature(address, hash) => { signature(accounts, address, hash, pass) .map(|result| result + .map(|rsv| { + let mut vrs = [0u8; 65]; + let rsv = rsv.as_ref(); + vrs[0] = rsv[64] + 27; + vrs[1..33].copy_from_slice(&rsv[0..32]); + vrs[33..65].copy_from_slice(&rsv[32..64]); + H520(vrs) + }) .map(RpcH520::from) .map(ConfirmationResponse::Signature) ) diff --git a/rpc/src/v1/tests/mocked/eth.rs b/rpc/src/v1/tests/mocked/eth.rs index 264da9500..114ffda31 100644 --- a/rpc/src/v1/tests/mocked/eth.rs +++ b/rpc/src/v1/tests/mocked/eth.rs @@ -22,7 +22,8 @@ use rustc_serialize::hex::{FromHex, ToHex}; use time::get_time; use rlp; -use util::{Uint, U256, Address, H256, FixedHash, Mutex, Hashable}; +use util::{Uint, U256, Address, H256, FixedHash, Mutex}; +use ethkey::Secret; use ethcore::account_provider::AccountProvider; use ethcore::client::{TestBlockChainClient, EachBlockWith, Executed, TransactionId}; use ethcore::log_entry::{LocalizedLogEntry, LogEntry}; @@ -295,10 +296,9 @@ fn rpc_eth_submit_hashrate() { fn rpc_eth_sign() { let tester = EthTester::default(); - let account = tester.accounts_provider.new_account("abcd").unwrap(); + let account = tester.accounts_provider.insert_account(Secret::from_slice(&[69u8; 32]).unwrap(), "abcd").unwrap(); tester.accounts_provider.unlock_account_permanently(account, "abcd".into()).unwrap(); - let message = "0cc175b9c0f1b6a831c399e26977266192eb5ffee6ae2fec3ad71c777531578f".from_hex().unwrap(); - let signed = tester.accounts_provider.sign(account, None, message.sha3()).unwrap(); + let _message = "0cc175b9c0f1b6a831c399e26977266192eb5ffee6ae2fec3ad71c777531578f".from_hex().unwrap(); let req = r#"{ "jsonrpc": "2.0", @@ -309,9 +309,9 @@ fn rpc_eth_sign() { ], "id": 1 }"#; - let res = r#"{"jsonrpc":"2.0","result":""#.to_owned() + &format!("0x{}", signed) + r#"","id":1}"#; + let res = r#"{"jsonrpc":"2.0","result":"0x1b5100b2be0aafd86271c8f49891262920bfbfeaeccb2ef1d0b2053aefc3ddb399483eb3c902ecf4add3156461a61f59e924a65eb5e6cdbab0a158d45db5f87cdf","id":1}"#; - assert_eq!(tester.io.handle_request_sync(&req), Some(res)); + assert_eq!(tester.io.handle_request_sync(&req), Some(res.into())); } #[test] diff --git a/rpc/src/v1/tests/mocked/signing.rs b/rpc/src/v1/tests/mocked/signing.rs index 0e57e71f4..8ec17ea6d 100644 --- a/rpc/src/v1/tests/mocked/signing.rs +++ b/rpc/src/v1/tests/mocked/signing.rs @@ -26,7 +26,8 @@ use v1::types::ConfirmationResponse; use v1::tests::helpers::TestMinerService; use v1::tests::mocked::parity; -use util::{Address, FixedHash, Uint, U256, ToPretty, Hashable}; +use util::{Address, FixedHash, Uint, U256, ToPretty}; +use ethkey::Secret; use ethcore::account_provider::AccountProvider; use ethcore::client::TestBlockChainClient; use ethcore::transaction::{Transaction, Action}; @@ -187,11 +188,9 @@ fn should_sign_if_account_is_unlocked() { // given let tester = eth_signing(); let data = vec![5u8]; - let acc = tester.accounts.new_account("test").unwrap(); + let acc = tester.accounts.insert_account(Secret::from_slice(&[69u8; 32]).unwrap(), "test").unwrap(); tester.accounts.unlock_account_permanently(acc, "test".into()).unwrap(); - let signature = tester.accounts.sign(acc, None, data.sha3()).unwrap(); - // when let request = r#"{ "jsonrpc": "2.0", @@ -202,7 +201,7 @@ fn should_sign_if_account_is_unlocked() { ], "id": 1 }"#; - let response = r#"{"jsonrpc":"2.0","result":""#.to_owned() + format!("0x{}", signature).as_ref() + r#"","id":1}"#; + let response = r#"{"jsonrpc":"2.0","result":"0x1bb3062482b0687e9c97c7609ea60c1649959dbb334f71b3d5cacd496e0848ba8137bc765756627722389c6c39bc77700ccdc8916916a0eb03bcf5191d4f74dc65","id":1}"#; assert_eq!(tester.io.handle_request_sync(&request), Some(response.to_owned())); assert_eq!(tester.signer.requests().len(), 0); } diff --git a/util/Cargo.toml b/util/Cargo.toml index 0f431c7ac..6e341e5bf 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -3,7 +3,7 @@ description = "Ethcore utility library" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-util" -version = "1.5.1" +version = "1.5.2" authors = ["Parity Technologies "] build = "build.rs"