updated serde to version 1.0
This commit is contained in:
parent
cc718bb108
commit
61d8f90530
322
Cargo.lock
generated
322
Cargo.lock
generated
@ -69,13 +69,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bigint"
|
name = "bigint"
|
||||||
version = "2.0.0"
|
version = "3.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"rustc_version 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc_version 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -86,7 +85,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -152,12 +151,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bytes"
|
name = "bytes"
|
||||||
version = "0.3.0"
|
version = "0.4.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bytes"
|
|
||||||
version = "0.4.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -179,14 +173,6 @@ dependencies = [
|
|||||||
"multihash 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"multihash 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "clippy"
|
|
||||||
version = "0.0.90"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"clippy_lints 0.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clippy"
|
name = "clippy"
|
||||||
version = "0.0.103"
|
version = "0.0.103"
|
||||||
@ -195,20 +181,6 @@ dependencies = [
|
|||||||
"clippy_lints 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clippy_lints 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "clippy_lints"
|
|
||||||
version = "0.0.90"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"quine-mc_cluskey 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"regex-syntax 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"semver 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"toml 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clippy_lints"
|
name = "clippy_lints"
|
||||||
version = "0.0.103"
|
version = "0.0.103"
|
||||||
@ -296,12 +268,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "docopt"
|
name = "docopt"
|
||||||
version = "0.7.0"
|
version = "0.8.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -346,13 +319,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ethabi"
|
name = "ethabi"
|
||||||
version = "1.0.5"
|
version = "2.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -377,7 +350,7 @@ dependencies = [
|
|||||||
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethabi 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethash 1.7.0",
|
"ethash 1.7.0",
|
||||||
"ethcore-bloom-journal 0.1.0",
|
"ethcore-bloom-journal 0.1.0",
|
||||||
"ethcore-devtools 1.7.0",
|
"ethcore-devtools 1.7.0",
|
||||||
@ -406,6 +379,7 @@ dependencies = [
|
|||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rlp 0.2.0",
|
"rlp 0.2.0",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"stats 0.1.0",
|
"stats 0.1.0",
|
||||||
@ -417,11 +391,11 @@ dependencies = [
|
|||||||
name = "ethcore-bigint"
|
name = "ethcore-bigint"
|
||||||
version = "0.1.3"
|
version = "0.1.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigint 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bigint 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -526,8 +500,8 @@ dependencies = [
|
|||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rlp 0.2.0",
|
"rlp 0.2.0",
|
||||||
"serde 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"smallvec 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"smallvec 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"stats 0.1.0",
|
"stats 0.1.0",
|
||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -553,7 +527,7 @@ name = "ethcore-network"
|
|||||||
version = "1.7.0"
|
version = "1.7.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore-devtools 1.7.0",
|
"ethcore-devtools 1.7.0",
|
||||||
"ethcore-io 1.7.0",
|
"ethcore-io 1.7.0",
|
||||||
@ -570,6 +544,7 @@ dependencies = [
|
|||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rlp 0.2.0",
|
"rlp 0.2.0",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"slab 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"slab 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -581,7 +556,7 @@ name = "ethcore-secretstore"
|
|||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethabi 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore 1.7.0",
|
"ethcore 1.7.0",
|
||||||
"ethcore-devtools 1.7.0",
|
"ethcore-devtools 1.7.0",
|
||||||
"ethcore-ipc 1.7.0",
|
"ethcore-ipc 1.7.0",
|
||||||
@ -597,10 +572,10 @@ dependencies = [
|
|||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"native-contracts 0.1.0",
|
"native-contracts 0.1.0",
|
||||||
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-io 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-io 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-proto 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-proto 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -653,7 +628,7 @@ dependencies = [
|
|||||||
"rlp 0.2.0",
|
"rlp 0.2.0",
|
||||||
"rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)",
|
"rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sha3 0.1.0",
|
"sha3 0.1.0",
|
||||||
"table 0.1.0",
|
"table 0.1.0",
|
||||||
@ -682,10 +657,10 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore-util 1.7.0",
|
"ethcore-util 1.7.0",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -698,7 +673,7 @@ dependencies = [
|
|||||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -706,9 +681,11 @@ dependencies = [
|
|||||||
name = "ethkey-cli"
|
name = "ethkey-cli"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethkey 0.2.0",
|
"ethkey 0.2.0",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -725,10 +702,10 @@ dependencies = [
|
|||||||
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"smallvec 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"smallvec 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"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)",
|
||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -739,9 +716,11 @@ dependencies = [
|
|||||||
name = "ethstore-cli"
|
name = "ethstore-cli"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethstore 0.1.0",
|
"ethstore 0.1.0",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -774,10 +753,12 @@ dependencies = [
|
|||||||
name = "evmbin"
|
name = "evmbin"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore 1.7.0",
|
"ethcore 1.7.0",
|
||||||
"ethcore-util 1.7.0",
|
"ethcore-util 1.7.0",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -799,13 +780,12 @@ dependencies = [
|
|||||||
name = "fetch"
|
name = "fetch"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clippy 0.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-cpupool 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-cpupool 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"reqwest 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"reqwest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -896,7 +876,7 @@ dependencies = [
|
|||||||
"libusb 0.3.0 (git+https://github.com/paritytech/libusb-rs)",
|
"libusb 0.3.0 (git+https://github.com/paritytech/libusb-rs)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1049,19 +1029,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-core"
|
name = "jsonrpc-core"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-http-server"
|
name = "jsonrpc-http-server"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hyper 0.10.0-a.0 (git+https://github.com/paritytech/hyper)",
|
"hyper 0.10.0-a.0 (git+https://github.com/paritytech/hyper)",
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
@ -1074,9 +1054,9 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-ipc-server"
|
name = "jsonrpc-ipc-server"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1087,18 +1067,19 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-macros"
|
name = "jsonrpc-macros"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"jsonrpc-pubsub 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-pubsub 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-minihttp-server"
|
name = "jsonrpc-minihttp-server"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1111,7 +1092,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-pubsub"
|
name = "jsonrpc-pubsub"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1121,7 +1102,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-server-utils"
|
name = "jsonrpc-server-utils"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"globset 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"globset 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
@ -1133,26 +1114,26 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-tcp-server"
|
name = "jsonrpc-tcp-server"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-ws-server"
|
name = "jsonrpc-ws-server"
|
||||||
version = "7.0.0"
|
version = "7.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d8dae528860d7fe976a8e3ec060a792e2496573b"
|
source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7#d12476f42ee672fa9d023f66fcfa5981d9aaba3a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-core 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
"jsonrpc-server-utils 7.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.7)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ws 0.6.0 (git+https://github.com/tomusdrw/ws-rs)",
|
"ws 0.7.1 (git+https://github.com/tomusdrw/ws-rs)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1189,6 +1170,14 @@ name = "libc"
|
|||||||
version = "0.2.21"
|
version = "0.2.21"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libflate"
|
||||||
|
version = "0.1.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libusb"
|
name = "libusb"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
@ -1391,7 +1380,7 @@ dependencies = [
|
|||||||
name = "native-contract-generator"
|
name = "native-contract-generator"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ethabi 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"heck 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heck 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1400,7 +1389,7 @@ name = "native-contracts"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethabi 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore-util 1.7.0",
|
"ethcore-util 1.7.0",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"native-contract-generator 0.1.0",
|
"native-contract-generator 0.1.0",
|
||||||
@ -1585,7 +1574,7 @@ dependencies = [
|
|||||||
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)",
|
"ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)",
|
||||||
"daemonize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"daemonize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore 1.7.0",
|
"ethcore 1.7.0",
|
||||||
"ethcore-devtools 1.7.0",
|
"ethcore-devtools 1.7.0",
|
||||||
@ -1622,13 +1611,14 @@ dependencies = [
|
|||||||
"rlp 0.2.0",
|
"rlp 0.2.0",
|
||||||
"rpassword 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rpassword 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rpc-cli 1.4.0",
|
"rpc-cli 1.4.0",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc_version 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc_version 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"toml 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -1655,10 +1645,10 @@ dependencies = [
|
|||||||
"parity-reactor 0.1.0",
|
"parity-reactor 0.1.0",
|
||||||
"parity-ui 1.7.0",
|
"parity-ui 1.7.0",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1683,7 +1673,7 @@ dependencies = [
|
|||||||
name = "parity-hash-fetch"
|
name = "parity-hash-fetch"
|
||||||
version = "1.7.0"
|
version = "1.7.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ethabi 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore-util 1.7.0",
|
"ethcore-util 1.7.0",
|
||||||
"fetch 0.1.0",
|
"fetch 0.1.0",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1693,7 +1683,7 @@ dependencies = [
|
|||||||
"native-contracts 0.1.0",
|
"native-contracts 0.1.0",
|
||||||
"parity-reactor 0.1.0",
|
"parity-reactor 0.1.0",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1719,9 +1709,9 @@ dependencies = [
|
|||||||
"ethkey 0.2.0",
|
"ethkey 0.2.0",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rlp 0.2.0",
|
"rlp 0.2.0",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1769,11 +1759,11 @@ dependencies = [
|
|||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rlp 0.2.0",
|
"rlp 0.2.0",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"stats 0.1.0",
|
"stats 0.1.0",
|
||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-timer 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-timer 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1792,8 +1782,8 @@ dependencies = [
|
|||||||
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-rpc 1.7.0",
|
"parity-rpc 1.7.0",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"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)",
|
||||||
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -1803,7 +1793,7 @@ name = "parity-tokio-ipc"
|
|||||||
version = "0.1.5"
|
version = "0.1.5"
|
||||||
source = "git+https://github.com/nikvolf/parity-tokio-ipc#d6c5b3cfcc913a1b9cf0f0562a10b083ceb9fb7c"
|
source = "git+https://github.com/nikvolf/parity-tokio-ipc#d6c5b3cfcc913a1b9cf0f0562a10b083ceb9fb7c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mio-named-pipes 0.1.4 (git+https://github.com/alexcrichton/mio-named-pipes)",
|
"mio-named-pipes 0.1.4 (git+https://github.com/alexcrichton/mio-named-pipes)",
|
||||||
@ -1843,7 +1833,7 @@ dependencies = [
|
|||||||
name = "parity-updater"
|
name = "parity-updater"
|
||||||
version = "1.7.0"
|
version = "1.7.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ethabi 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore 1.7.0",
|
"ethcore 1.7.0",
|
||||||
"ethcore-ipc 1.7.0",
|
"ethcore-ipc 1.7.0",
|
||||||
"ethcore-ipc-codegen 1.7.0",
|
"ethcore-ipc-codegen 1.7.0",
|
||||||
@ -2101,15 +2091,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "reqwest"
|
name = "reqwest"
|
||||||
version = "0.4.0"
|
version = "0.6.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hyper 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hyper 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hyper-native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hyper-native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"libflate 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_urlencoded 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_urlencoded 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -2133,7 +2124,7 @@ dependencies = [
|
|||||||
"elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore-bigint 0.1.3",
|
"ethcore-bigint 0.1.3",
|
||||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2193,7 +2184,7 @@ dependencies = [
|
|||||||
name = "rpc-cli"
|
name = "rpc-cli"
|
||||||
version = "1.4.0"
|
version = "1.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigint 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bigint 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ethcore-util 1.7.0",
|
"ethcore-util 1.7.0",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-rpc 1.7.0",
|
"parity-rpc 1.7.0",
|
||||||
@ -2213,6 +2204,11 @@ dependencies = [
|
|||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-hex"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustc-serialize"
|
name = "rustc-serialize"
|
||||||
version = "0.3.19"
|
version = "0.3.19"
|
||||||
@ -2310,45 +2306,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "0.9.6"
|
version = "1.0.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde_codegen_internals"
|
|
||||||
version = "0.13.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "0.9.6"
|
version = "1.0.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_codegen_internals 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde_derive"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"quote 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"serde_derive_internals 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive_internals"
|
name = "serde_derive_internals"
|
||||||
version = "0.15.0"
|
version = "0.15.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2357,23 +2330,23 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_json"
|
name = "serde_json"
|
||||||
version = "0.9.5"
|
version = "1.0.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dtoa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"dtoa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"itoa 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"itoa 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_urlencoded"
|
name = "serde_urlencoded"
|
||||||
version = "0.4.1"
|
version = "0.5.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dtoa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"dtoa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"itoa 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"itoa 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -2607,7 +2580,7 @@ name = "tokio-core"
|
|||||||
version = "0.1.6"
|
version = "0.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"iovec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"iovec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2622,7 +2595,7 @@ name = "tokio-io"
|
|||||||
version = "0.1.1"
|
version = "0.1.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -2630,14 +2603,16 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio-minihttp"
|
name = "tokio-minihttp"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/tomusdrw/tokio-minihttp#8acbafae3e77e7f7eb516b441ec84695580221dd"
|
source = "git+https://github.com/tomusdrw/tokio-minihttp#67a400060bd29e51beaf206c552845255b6f699f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"httparse 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"httparse 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"tokio-io 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-proto 0.1.0 (git+https://github.com/tomusdrw/tokio-proto)",
|
"tokio-proto 0.1.0 (git+https://github.com/tomusdrw/tokio-proto)",
|
||||||
"tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -2647,7 +2622,7 @@ name = "tokio-named-pipes"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/nikvolf/tokio-named-pipes#0b9b728eaeb0a6673c287ac7692be398fd651752"
|
source = "git+https://github.com/nikvolf/tokio-named-pipes#0b9b728eaeb0a6673c287ac7692be398fd651752"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mio-named-pipes 0.1.4 (git+https://github.com/alexcrichton/mio-named-pipes)",
|
"mio-named-pipes 0.1.4 (git+https://github.com/alexcrichton/mio-named-pipes)",
|
||||||
"tokio-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2708,7 +2683,7 @@ name = "tokio-uds"
|
|||||||
version = "0.1.4"
|
version = "0.1.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"iovec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"iovec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2729,10 +2704,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toml"
|
name = "toml"
|
||||||
version = "0.2.0"
|
version = "0.4.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2855,10 +2830,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ws"
|
name = "ws"
|
||||||
version = "0.6.0"
|
version = "0.7.1"
|
||||||
source = "git+https://github.com/tomusdrw/ws-rs#7f8e416b7f048880228005457e117128be38bf0f"
|
source = "git+https://github.com/tomusdrw/ws-rs#f8306a798b7541d64624299a83a2c934f173beed"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"httparse 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"httparse 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mio 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mio 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2919,7 +2895,7 @@ dependencies = [
|
|||||||
"checksum aster 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfdf7355d9db158df68f976ed030ab0f6578af811f5a7bb6dcf221ec24e0e0"
|
"checksum aster 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfdf7355d9db158df68f976ed030ab0f6578af811f5a7bb6dcf221ec24e0e0"
|
||||||
"checksum base-x 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f59103b47307f76e03bef1633aec7fa9e29bfb5aa6daf5a334f94233c71f6c1"
|
"checksum base-x 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f59103b47307f76e03bef1633aec7fa9e29bfb5aa6daf5a334f94233c71f6c1"
|
||||||
"checksum base32 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1b9605ba46d61df0410d8ac686b0007add8172eba90e8e909c347856fe794d8c"
|
"checksum base32 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1b9605ba46d61df0410d8ac686b0007add8172eba90e8e909c347856fe794d8c"
|
||||||
"checksum bigint 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d493e6869ed11b135750f4a4f44d574a52bf8f67e656cdc15b4085316c2098b6"
|
"checksum bigint 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0673c930652d3d4d6dcd5c45b5db4fa5f8f33994d7323618c43c083b223e8c"
|
||||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e"
|
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e"
|
||||||
"checksum bit-set 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6e1e6fb1c9e3d6fcdec57216a74eaa03e41f52a22f13a16438251d8e88b89da"
|
"checksum bit-set 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6e1e6fb1c9e3d6fcdec57216a74eaa03e41f52a22f13a16438251d8e88b89da"
|
||||||
"checksum bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c"
|
"checksum bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c"
|
||||||
@ -2931,14 +2907,11 @@ dependencies = [
|
|||||||
"checksum bloomchain 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f421095d2a76fc24cd3fb3f912b90df06be7689912b1bdb423caefae59c258d"
|
"checksum bloomchain 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f421095d2a76fc24cd3fb3f912b90df06be7689912b1bdb423caefae59c258d"
|
||||||
"checksum bn 0.4.4 (git+https://github.com/paritytech/bn)" = "<none>"
|
"checksum bn 0.4.4 (git+https://github.com/paritytech/bn)" = "<none>"
|
||||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8"
|
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8"
|
||||||
"checksum bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c129aff112dcc562970abb69e2508b40850dd24c274761bb50fb8a0067ba6c27"
|
"checksum bytes 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8b24f16593f445422331a5eed46b72f7f171f910fead4f2ea8f17e727e9c5c14"
|
||||||
"checksum bytes 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9edb851115d67d1f18680f9326901768a91d37875b87015518357c6ce22b553"
|
|
||||||
"checksum cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"
|
"checksum cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"
|
||||||
"checksum cid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "34aa7da06f10541fbca6850719cdaa8fa03060a5d2fb33840f149cf8133a00c7"
|
"checksum cid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "34aa7da06f10541fbca6850719cdaa8fa03060a5d2fb33840f149cf8133a00c7"
|
||||||
"checksum clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "5b4fabf979ddf6419a313c1c0ada4a5b95cfd2049c56e8418d622d27b4b6ff32"
|
"checksum clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "5b4fabf979ddf6419a313c1c0ada4a5b95cfd2049c56e8418d622d27b4b6ff32"
|
||||||
"checksum clippy 0.0.90 (registry+https://github.com/rust-lang/crates.io-index)" = "d19bda68c3db98e3a780342f6101b44312fef20a5f13ce756d1202a35922b01b"
|
|
||||||
"checksum clippy_lints 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "ce96ec05bfe018a0d5d43da115e54850ea2217981ff0f2e462780ab9d594651a"
|
"checksum clippy_lints 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "ce96ec05bfe018a0d5d43da115e54850ea2217981ff0f2e462780ab9d594651a"
|
||||||
"checksum clippy_lints 0.0.90 (registry+https://github.com/rust-lang/crates.io-index)" = "3d4ed67c69b9bb35169be2538691d290a3aa0cbfd4b9f0bfb7c221fc1d399a96"
|
|
||||||
"checksum cookie 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d53b80dde876f47f03cda35303e368a79b91c70b0d65ecba5fd5280944a08591"
|
"checksum cookie 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d53b80dde876f47f03cda35303e368a79b91c70b0d65ecba5fd5280944a08591"
|
||||||
"checksum core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "20a6d0448d3a99d977ae4a2aa5a98d886a923e863e81ad9ff814645b6feb3bbd"
|
"checksum core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "20a6d0448d3a99d977ae4a2aa5a98d886a923e863e81ad9ff814645b6feb3bbd"
|
||||||
"checksum core-foundation-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "05eed248dc504a5391c63794fe4fb64f46f071280afaa1b73308f3c0ce4574c5"
|
"checksum core-foundation-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "05eed248dc504a5391c63794fe4fb64f46f071280afaa1b73308f3c0ce4574c5"
|
||||||
@ -2948,13 +2921,13 @@ dependencies = [
|
|||||||
"checksum daemonize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "271ec51b7e0bee92f0d04601422c73eb76ececf197026711c97ad25038a010cf"
|
"checksum daemonize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "271ec51b7e0bee92f0d04601422c73eb76ececf197026711c97ad25038a010cf"
|
||||||
"checksum deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1614659040e711785ed8ea24219140654da1729f3ec8a47a9719d041112fe7bf"
|
"checksum deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1614659040e711785ed8ea24219140654da1729f3ec8a47a9719d041112fe7bf"
|
||||||
"checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8"
|
"checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8"
|
||||||
"checksum docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab32ea6e284d87987066f21a9e809a73c14720571ef34516f0890b3d355ccfd8"
|
"checksum docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a"
|
||||||
"checksum dtoa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5edd69c67b2f8e0911629b7e6b8a34cb3956613cd7c6e6414966dee349c2db4f"
|
"checksum dtoa 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5edd69c67b2f8e0911629b7e6b8a34cb3956613cd7c6e6414966dee349c2db4f"
|
||||||
"checksum either 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3d2b503c86dad62aaf414ecf2b8c527439abedb3f8d812537f0b12bfd6f32a91"
|
"checksum either 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3d2b503c86dad62aaf414ecf2b8c527439abedb3f8d812537f0b12bfd6f32a91"
|
||||||
"checksum elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "258ff6a9a94f648d0379dbd79110e057edbb53eb85cc237e33eadf8e5a30df85"
|
"checksum elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "258ff6a9a94f648d0379dbd79110e057edbb53eb85cc237e33eadf8e5a30df85"
|
||||||
"checksum env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e3856f1697098606fc6cb97a93de88ca3f3bc35bb878c725920e6e82ecf05e83"
|
"checksum env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e3856f1697098606fc6cb97a93de88ca3f3bc35bb878c725920e6e82ecf05e83"
|
||||||
"checksum eth-secp256k1 0.5.6 (git+https://github.com/paritytech/rust-secp256k1)" = "<none>"
|
"checksum eth-secp256k1 0.5.6 (git+https://github.com/paritytech/rust-secp256k1)" = "<none>"
|
||||||
"checksum ethabi 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "65f71b9ac0b0f8e6230d32dbf5acf7c2c61334af1148175d0a7e72b14c3d475e"
|
"checksum ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0c3d62319ee0f35abf20afe8859dd2668195912614346447bb2dee9fb8da7c62"
|
||||||
"checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa"
|
"checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa"
|
||||||
"checksum flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "3eeb481e957304178d2e782f2da1257f1434dfecbae883bafb61ada2a9fea3bb"
|
"checksum flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "3eeb481e957304178d2e782f2da1257f1434dfecbae883bafb61ada2a9fea3bb"
|
||||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344"
|
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344"
|
||||||
@ -2996,6 +2969,7 @@ dependencies = [
|
|||||||
"checksum lazycell 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce12306c4739d86ee97c23139f3a34ddf0387bbf181bc7929d287025a8c3ef6b"
|
"checksum lazycell 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce12306c4739d86ee97c23139f3a34ddf0387bbf181bc7929d287025a8c3ef6b"
|
||||||
"checksum lazycell 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ec38a5c22f1ef3e30d2642aa875620d60edeef36cef43c4739d86215ce816331"
|
"checksum lazycell 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ec38a5c22f1ef3e30d2642aa875620d60edeef36cef43c4739d86215ce816331"
|
||||||
"checksum libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "88ee81885f9f04bff991e306fea7c1c60a5f0f9e409e99f6b40e3311a3363135"
|
"checksum libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "88ee81885f9f04bff991e306fea7c1c60a5f0f9e409e99f6b40e3311a3363135"
|
||||||
|
"checksum libflate 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "59fa4619e0f202f63fde6046eafe0e754e829369c5e892abeca0c22a12dcfec9"
|
||||||
"checksum libusb 0.3.0 (git+https://github.com/paritytech/libusb-rs)" = "<none>"
|
"checksum libusb 0.3.0 (git+https://github.com/paritytech/libusb-rs)" = "<none>"
|
||||||
"checksum libusb-sys 0.2.3 (git+https://github.com/paritytech/libusb-sys)" = "<none>"
|
"checksum libusb-sys 0.2.3 (git+https://github.com/paritytech/libusb-sys)" = "<none>"
|
||||||
"checksum linked-hash-map 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bda158e0dabeb97ee8a401f4d17e479d6b891a14de0bba79d5cc2d4d325b5e48"
|
"checksum linked-hash-map 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bda158e0dabeb97ee8a401f4d17e479d6b891a14de0bba79d5cc2d4d325b5e48"
|
||||||
@ -3069,7 +3043,7 @@ dependencies = [
|
|||||||
"checksum regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4278c17d0f6d62dfef0ab00028feb45bd7d2102843f80763474eeb1be8a10c01"
|
"checksum regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4278c17d0f6d62dfef0ab00028feb45bd7d2102843f80763474eeb1be8a10c01"
|
||||||
"checksum regex-syntax 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "841591b1e05609a643e3b4d0045fce04f701daba7151ddcd3ad47b080693d5a9"
|
"checksum regex-syntax 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "841591b1e05609a643e3b4d0045fce04f701daba7151ddcd3ad47b080693d5a9"
|
||||||
"checksum regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9191b1f57603095f105d317e375d19b1c9c5c3185ea9633a99a6dcbed04457"
|
"checksum regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9191b1f57603095f105d317e375d19b1c9c5c3185ea9633a99a6dcbed04457"
|
||||||
"checksum reqwest 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bef9ed8fdfcc30947d6b774938dc0c3f369a474efe440df2c7f278180b2d2e6"
|
"checksum reqwest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1d56dbe269dbe19d716b76ec8c3efce8ef84e974f5b7e5527463e8c0507d4e17"
|
||||||
"checksum ring 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "873ec7c2b7c9bf58024eb8f1bbc40a6499cd23c1adc59532f4af9e355f1de0f3"
|
"checksum ring 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "873ec7c2b7c9bf58024eb8f1bbc40a6499cd23c1adc59532f4af9e355f1de0f3"
|
||||||
"checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "<none>"
|
"checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "<none>"
|
||||||
"checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "<none>"
|
"checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "<none>"
|
||||||
@ -3077,6 +3051,7 @@ dependencies = [
|
|||||||
"checksum rpassword 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5d3a99497c5c544e629cc8b359ae5ede321eba5fa8e5a8078f3ced727a976c3f"
|
"checksum rpassword 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5d3a99497c5c544e629cc8b359ae5ede321eba5fa8e5a8078f3ced727a976c3f"
|
||||||
"checksum rpassword 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab6e42be826e215f30ff830904f8f4a0933c6e2ae890e1af8b408f5bae60081e"
|
"checksum rpassword 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab6e42be826e215f30ff830904f8f4a0933c6e2ae890e1af8b408f5bae60081e"
|
||||||
"checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
|
"checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
|
||||||
|
"checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e"
|
||||||
"checksum rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6159e4e6e559c81bd706afe9c8fd68f547d3e851ce12e76b1de7914bab61691b"
|
"checksum rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6159e4e6e559c81bd706afe9c8fd68f547d3e851ce12e76b1de7914bab61691b"
|
||||||
"checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084"
|
"checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084"
|
||||||
"checksum rustc_version 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e114e275f7c9b5d50bb52b28f9aac1921209f02aa6077c8b255e21eefaf8ffa"
|
"checksum rustc_version 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e114e275f7c9b5d50bb52b28f9aac1921209f02aa6077c8b255e21eefaf8ffa"
|
||||||
@ -3089,14 +3064,11 @@ dependencies = [
|
|||||||
"checksum semver 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2d5b7638a1f03815d94e88cb3b3c08e87f0db4d683ef499d1836aaf70a45623f"
|
"checksum semver 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2d5b7638a1f03815d94e88cb3b3c08e87f0db4d683ef499d1836aaf70a45623f"
|
||||||
"checksum semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537"
|
"checksum semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537"
|
||||||
"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
||||||
"checksum serde 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0ae9a3c8b07c09dbe43022486d55a18c629a0618d2241e49829aaef9b6d862f9"
|
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a"
|
||||||
"checksum serde 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "991ef6be409a3b7a46cb9ee701d86156ce851825c65dbee7f16dbd5c4e7e2d47"
|
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639"
|
||||||
"checksum serde_codegen_internals 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c3172bf2940b975c0e4f6ab42a511c0a4407d4f46ccef87a9d3615db5c26fa96"
|
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a"
|
||||||
"checksum serde_derive 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ecc6e0379ca933ece58302d2d3034443f06fbf38fd535857c1dc516195cbc3bf"
|
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b"
|
||||||
"checksum serde_derive 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9fd81eef9f0b4ec341b11095335b6a4b28ed85581b12dd27585dee1529df35e0"
|
"checksum serde_urlencoded 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce0fd303af908732989354c6f02e05e2e6d597152870f2c6990efb0577137480"
|
||||||
"checksum serde_derive_internals 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "021c338d22c7e30f957a6ab7e388cb6098499dda9fd4ba1661ee074ca7a180d1"
|
|
||||||
"checksum serde_json 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cf37ce931677e98b4fa5e6469aaa3ab4b6228309ea33b1b22d3ec055adfc4515"
|
|
||||||
"checksum serde_urlencoded 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a81f15da4b9780e1524697f73b09076b6e42298ef673bead9ca8f848b334ef84"
|
|
||||||
"checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c"
|
"checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c"
|
||||||
"checksum shell32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72f20b8f3c060374edb8046591ba28f62448c369ccbdc7b02075103fb3a9e38d"
|
"checksum shell32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72f20b8f3c060374edb8046591ba28f62448c369ccbdc7b02075103fb3a9e38d"
|
||||||
"checksum siphasher 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c44e42fa187b5a8782489cf7740cc27c3125806be2bf33563cf5e02e9533fcd"
|
"checksum siphasher 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c44e42fa187b5a8782489cf7740cc27c3125806be2bf33563cf5e02e9533fcd"
|
||||||
@ -3135,7 +3107,7 @@ dependencies = [
|
|||||||
"checksum tokio-timer 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "86f33def658c14724fc13ec6289b3875a8152ee8ae767a5b1ccbded363b03db8"
|
"checksum tokio-timer 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "86f33def658c14724fc13ec6289b3875a8152ee8ae767a5b1ccbded363b03db8"
|
||||||
"checksum tokio-uds 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bd209039933255ea77c6d7a1d18abc20b997d161acb900acca6eb74cdd049f31"
|
"checksum tokio-uds 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bd209039933255ea77c6d7a1d18abc20b997d161acb900acca6eb74cdd049f31"
|
||||||
"checksum toml 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "fcd27a04ca509aff336ba5eb2abc58d456f52c4ff64d9724d88acb85ead560b6"
|
"checksum toml 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "fcd27a04ca509aff336ba5eb2abc58d456f52c4ff64d9724d88acb85ead560b6"
|
||||||
"checksum toml 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a442dfc13508e603c3f763274361db7f79d7469a0e95c411cde53662ab30fc72"
|
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7"
|
||||||
"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
|
"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
|
||||||
"checksum transient-hashmap 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "715254c8f0811be1a79ad3ea5e6fa3c8eddec2b03d7f5ba78cf093e56d79c24f"
|
"checksum transient-hashmap 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "715254c8f0811be1a79ad3ea5e6fa3c8eddec2b03d7f5ba78cf093e56d79c24f"
|
||||||
"checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
|
"checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
|
||||||
@ -3154,7 +3126,7 @@ dependencies = [
|
|||||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
||||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
||||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
||||||
"checksum ws 0.6.0 (git+https://github.com/tomusdrw/ws-rs)" = "<none>"
|
"checksum ws 0.7.1 (git+https://github.com/tomusdrw/ws-rs)" = "<none>"
|
||||||
"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
|
"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
|
||||||
"checksum xdg 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77b831a5ba77110f438f0ac5583aafeb087f70432998ba6b7dcb1d32185db453"
|
"checksum xdg 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77b831a5ba77110f438f0ac5583aafeb087f70432998ba6b7dcb1d32185db453"
|
||||||
"checksum xml-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "65e74b96bd3179209dc70a980da6df843dff09e46eee103a0376c0949257e3ef"
|
"checksum xml-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "65e74b96bd3179209dc70a980da6df843dff09e46eee103a0376c0949257e3ef"
|
||||||
|
11
Cargo.toml
11
Cargo.toml
@ -9,8 +9,8 @@ build = "build.rs"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
log = "0.3"
|
log = "0.3"
|
||||||
env_logger = "0.4"
|
env_logger = "0.4"
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
docopt = "0.7"
|
docopt = "0.8"
|
||||||
time = "0.1"
|
time = "0.1"
|
||||||
num_cpus = "1.2"
|
num_cpus = "1.2"
|
||||||
number_prefix = "0.2"
|
number_prefix = "0.2"
|
||||||
@ -19,9 +19,10 @@ semver = "0.6"
|
|||||||
ansi_term = "0.9"
|
ansi_term = "0.9"
|
||||||
regex = "0.2"
|
regex = "0.2"
|
||||||
isatty = "0.1"
|
isatty = "0.1"
|
||||||
toml = "0.2"
|
toml = "0.4"
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
|
serde_derive = "1.0"
|
||||||
app_dirs = "1.1.1"
|
app_dirs = "1.1.1"
|
||||||
futures = "0.1"
|
futures = "0.1"
|
||||||
fdlimit = "0.1"
|
fdlimit = "0.1"
|
||||||
|
@ -17,10 +17,10 @@ parity-dapps-glue = "1.7"
|
|||||||
mime = "0.2"
|
mime = "0.2"
|
||||||
mime_guess = "1.6.1"
|
mime_guess = "1.6.1"
|
||||||
rand = "0.3"
|
rand = "0.3"
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_derive = "0.9"
|
serde_derive = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
time = "0.1.35"
|
time = "0.1.35"
|
||||||
unicase = "1.3"
|
unicase = "1.3"
|
||||||
url = "1.0"
|
url = "1.0"
|
||||||
|
@ -23,7 +23,7 @@ mod installers;
|
|||||||
use std::{fs, env};
|
use std::{fs, env};
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use fetch::{Client as FetchClient, Fetch};
|
use fetch::{Client as FetchClient, Fetch};
|
||||||
use hash_fetch::urlhint::{URLHintContract, URLHint, URLHintResult};
|
use hash_fetch::urlhint::{URLHintContract, URLHint, URLHintResult};
|
||||||
use parity_reactor::Remote;
|
use parity_reactor::Remote;
|
||||||
|
@ -24,7 +24,7 @@ extern crate futures;
|
|||||||
extern crate linked_hash_map;
|
extern crate linked_hash_map;
|
||||||
extern crate mime_guess;
|
extern crate mime_guess;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
extern crate time;
|
extern crate time;
|
||||||
|
@ -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 devtools::http_client;
|
use devtools::http_client;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use tests::helpers::{
|
use tests::helpers::{
|
||||||
serve_with_registrar, serve_with_registrar_and_sync, serve_with_fetch,
|
serve_with_registrar, serve_with_registrar_and_sync, serve_with_fetch,
|
||||||
serve_with_registrar_and_fetch, serve_with_registrar_and_fetch_and_threads,
|
serve_with_registrar_and_fetch, serve_with_registrar_and_fetch_and_threads,
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
use std::str;
|
use std::str;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
|
|
||||||
use hash_fetch::urlhint::ContractClient;
|
use hash_fetch::urlhint::ContractClient;
|
||||||
use util::{Bytes, Address, Mutex, H256, ToPretty};
|
use util::{Bytes, Address, Mutex, H256, ToPretty};
|
||||||
|
@ -18,7 +18,7 @@ byteorder = "1.0"
|
|||||||
clippy = { version = "0.0.103", optional = true}
|
clippy = { version = "0.0.103", optional = true}
|
||||||
crossbeam = "0.2.9"
|
crossbeam = "0.2.9"
|
||||||
env_logger = "0.4"
|
env_logger = "0.4"
|
||||||
ethabi = "1.0"
|
ethabi = "2.0"
|
||||||
ethash = { path = "../ethash" }
|
ethash = { path = "../ethash" }
|
||||||
ethcore-bloom-journal = { path = "../util/bloom" }
|
ethcore-bloom-journal = { path = "../util/bloom" }
|
||||||
ethcore-devtools = { path = "../devtools" }
|
ethcore-devtools = { path = "../devtools" }
|
||||||
@ -46,6 +46,7 @@ num_cpus = "1.2"
|
|||||||
rand = "0.3"
|
rand = "0.3"
|
||||||
rlp = { path = "../util/rlp" }
|
rlp = { path = "../util/rlp" }
|
||||||
rust-crypto = "0.2.34"
|
rust-crypto = "0.2.34"
|
||||||
|
rustc-hex = "1.0"
|
||||||
rustc-serialize = "0.3"
|
rustc-serialize = "0.3"
|
||||||
semver = "0.6"
|
semver = "0.6"
|
||||||
stats = { path = "../util/stats" }
|
stats = { path = "../util/stats" }
|
||||||
|
@ -6,7 +6,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
|
|||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ethabi = "1.0"
|
ethabi = "2.0"
|
||||||
futures = "0.1"
|
futures = "0.1"
|
||||||
byteorder = "1.0"
|
byteorder = "1.0"
|
||||||
ethcore-util = { path = "../../util" }
|
ethcore-util = { path = "../../util" }
|
||||||
|
@ -5,5 +5,5 @@ version = "0.1.0"
|
|||||||
authors = ["Parity Technologies <admin@parity.io>"]
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ethabi = "1.0"
|
ethabi = "2.0"
|
||||||
heck = "0.2"
|
heck = "0.2"
|
||||||
|
@ -112,7 +112,7 @@ pub fn {snake_name}<F, U>(&self, call: F, {params}) -> BoxFuture<{output_type},
|
|||||||
U: IntoFuture<Item=Vec<u8>, Error=String>,
|
U: IntoFuture<Item=Vec<u8>, Error=String>,
|
||||||
U::Future: Send + 'static
|
U::Future: Send + 'static
|
||||||
{{
|
{{
|
||||||
let function = self.contract.function(r#"{abi_name}"#.to_string())
|
let function = self.contract.function(r#"{abi_name}"#)
|
||||||
.expect("function existence checked at compile-time; qed");
|
.expect("function existence checked at compile-time; qed");
|
||||||
let call_addr = self.address;
|
let call_addr = self.address;
|
||||||
|
|
||||||
|
@ -1460,7 +1460,7 @@ impl BlockChain {
|
|||||||
mod tests {
|
mod tests {
|
||||||
#![cfg_attr(feature="dev", allow(similar_names))]
|
#![cfg_attr(feature="dev", allow(similar_names))]
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use util::kvdb::KeyValueDB;
|
use util::kvdb::KeyValueDB;
|
||||||
use util::hash::*;
|
use util::hash::*;
|
||||||
use util::sha3::Hashable;
|
use util::sha3::Hashable;
|
||||||
|
@ -500,7 +500,7 @@ mod tests {
|
|||||||
use super::{Builtin, Linear, ethereum_builtin, Pricer, Modexp};
|
use super::{Builtin, Linear, ethereum_builtin, Pricer, Modexp};
|
||||||
use ethjson;
|
use ethjson;
|
||||||
use util::{U256, BytesRef};
|
use util::{U256, BytesRef};
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn identity() {
|
fn identity() {
|
||||||
@ -524,7 +524,6 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn sha256() {
|
fn sha256() {
|
||||||
use rustc_serialize::hex::FromHex;
|
|
||||||
let f = ethereum_builtin("sha256");
|
let f = ethereum_builtin("sha256");
|
||||||
|
|
||||||
let i = [0u8; 0];
|
let i = [0u8; 0];
|
||||||
@ -548,7 +547,6 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn ripemd160() {
|
fn ripemd160() {
|
||||||
use rustc_serialize::hex::FromHex;
|
|
||||||
let f = ethereum_builtin("ripemd160");
|
let f = ethereum_builtin("ripemd160");
|
||||||
|
|
||||||
let i = [0u8; 0];
|
let i = [0u8; 0];
|
||||||
@ -568,7 +566,6 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn ecrecover() {
|
fn ecrecover() {
|
||||||
use rustc_serialize::hex::FromHex;
|
|
||||||
/*let k = KeyPair::from_secret(b"test".sha3()).unwrap();
|
/*let k = KeyPair::from_secret(b"test".sha3()).unwrap();
|
||||||
let a: Address = From::from(k.public().sha3());
|
let a: Address = From::from(k.public().sha3());
|
||||||
println!("Address: {}", a);
|
println!("Address: {}", a);
|
||||||
@ -627,7 +624,6 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn modexp() {
|
fn modexp() {
|
||||||
use rustc_serialize::hex::FromHex;
|
|
||||||
|
|
||||||
let f = Builtin {
|
let f = Builtin {
|
||||||
pricer: Box::new(Modexp { divisor: 20 }),
|
pricer: Box::new(Modexp { divisor: 20 }),
|
||||||
@ -714,7 +710,6 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn bn128_add() {
|
fn bn128_add() {
|
||||||
use rustc_serialize::hex::FromHex;
|
|
||||||
|
|
||||||
let f = Builtin {
|
let f = Builtin {
|
||||||
pricer: Box::new(Linear { base: 0, word: 0 }),
|
pricer: Box::new(Linear { base: 0, word: 0 }),
|
||||||
@ -776,7 +771,6 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn bn128_mul() {
|
fn bn128_mul() {
|
||||||
use rustc_serialize::hex::FromHex;
|
|
||||||
|
|
||||||
let f = Builtin {
|
let f = Builtin {
|
||||||
pricer: Box::new(Linear { base: 0, word: 0 }),
|
pricer: Box::new(Linear { base: 0, word: 0 }),
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
//! Test client.
|
//! Test client.
|
||||||
|
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering as AtomicOrder};
|
use std::sync::atomic::{AtomicUsize, Ordering as AtomicOrder};
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use util::*;
|
use util::*;
|
||||||
use rlp::*;
|
use rlp::*;
|
||||||
use ethkey::{Generator, Random};
|
use ethkey::{Generator, Random};
|
||||||
|
@ -651,6 +651,7 @@ impl Engine for Tendermint {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use util::*;
|
use util::*;
|
||||||
use block::*;
|
use block::*;
|
||||||
use error::{Error, BlockError};
|
use error::{Error, BlockError};
|
||||||
|
@ -126,6 +126,7 @@ impl ValidatorSet for ValidatorContract {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use util::*;
|
use util::*;
|
||||||
use rlp::encode;
|
use rlp::encode;
|
||||||
use spec::Spec;
|
use spec::Spec;
|
||||||
|
@ -200,7 +200,7 @@ impl ValidatorSafeContract {
|
|||||||
|
|
||||||
// decode log manually until the native contract generator is
|
// decode log manually until the native contract generator is
|
||||||
// good enough to do it for us.
|
// good enough to do it for us.
|
||||||
let &(_, _, ref validators_token) = &matched_event.params[1];
|
let validators_token = &matched_event[1].value;
|
||||||
|
|
||||||
let validators = validators_token.clone().to_array()
|
let validators = validators_token.clone().to_array()
|
||||||
.and_then(|a| a.into_iter()
|
.and_then(|a| a.into_iter()
|
||||||
@ -420,6 +420,7 @@ impl ValidatorSet for ValidatorSafeContract {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use util::*;
|
use util::*;
|
||||||
use types::ids::BlockId;
|
use types::ids::BlockId;
|
||||||
use spec::Spec;
|
use spec::Spec;
|
||||||
|
@ -76,8 +76,6 @@ impl From<ethjson::vm::Env> for EnvInfo {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
extern crate rustc_serialize;
|
|
||||||
|
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use super::*;
|
use super::*;
|
||||||
use util::{U256, Address};
|
use util::{U256, Address};
|
||||||
|
@ -92,7 +92,7 @@ impl Default for SharedCache {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_find_jump_destinations() {
|
fn test_find_jump_destinations() {
|
||||||
use util::FromHex;
|
use rustc_hex::FromHex;
|
||||||
// given
|
// given
|
||||||
let code = "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b01600055".from_hex().unwrap();
|
let code = "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b01600055".from_hex().unwrap();
|
||||||
|
|
||||||
|
@ -14,12 +14,13 @@
|
|||||||
// 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 std::fmt::Debug;
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use util::*;
|
use util::*;
|
||||||
use action_params::{ActionParams, ActionValue};
|
use action_params::{ActionParams, ActionValue};
|
||||||
use env_info::EnvInfo;
|
use env_info::EnvInfo;
|
||||||
use types::executed::CallType;
|
use types::executed::CallType;
|
||||||
use evm::{self, Ext, Schedule, Factory, GasLeft, VMType, ContractCreateResult, MessageCallResult, CreateContractAddress, ReturnData};
|
use evm::{self, Ext, Schedule, Factory, GasLeft, VMType, ContractCreateResult, MessageCallResult, CreateContractAddress, ReturnData};
|
||||||
use std::fmt::Debug;
|
|
||||||
use tests::helpers::*;
|
use tests::helpers::*;
|
||||||
use types::transaction::SYSTEM_ADDRESS;
|
use types::transaction::SYSTEM_ADDRESS;
|
||||||
use executive::Executive;
|
use executive::Executive;
|
||||||
|
@ -578,9 +578,10 @@ impl<'a, B: 'a + StateBackend, E: Engine + ?Sized> Executive<'a, B, E> {
|
|||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use ethkey::{Generator, Random};
|
use ethkey::{Generator, Random};
|
||||||
use super::*;
|
use super::*;
|
||||||
use util::{H256, U256, U512, Address, FromHex, FromStr};
|
use util::{H256, U256, U512, Address, FromStr};
|
||||||
use util::bytes::BytesRef;
|
use util::bytes::BytesRef;
|
||||||
use action_params::{ActionParams, ActionValue};
|
use action_params::{ActionParams, ActionValue};
|
||||||
use env_info::EnvInfo;
|
use env_info::EnvInfo;
|
||||||
|
@ -305,7 +305,7 @@ impl HeapSizeOf for Header {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use rlp;
|
use rlp;
|
||||||
use super::Header;
|
use super::Header;
|
||||||
|
|
||||||
|
@ -99,6 +99,7 @@ extern crate num_cpus;
|
|||||||
extern crate num;
|
extern crate num;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate rlp;
|
extern crate rlp;
|
||||||
|
extern crate rustc_hex;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_serialize;
|
||||||
extern crate semver;
|
extern crate semver;
|
||||||
extern crate stats;
|
extern crate stats;
|
||||||
|
@ -209,13 +209,14 @@ impl DerefMut for BanningTransactionQueue {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use super::{BanningTransactionQueue, Threshold};
|
use super::{BanningTransactionQueue, Threshold};
|
||||||
use ethkey::{Random, Generator};
|
use ethkey::{Random, Generator};
|
||||||
use transaction::{Transaction, SignedTransaction, Action};
|
use transaction::{Transaction, SignedTransaction, Action};
|
||||||
use error::{Error, TransactionError};
|
use error::{Error, TransactionError};
|
||||||
use client::TransactionImportResult;
|
use client::TransactionImportResult;
|
||||||
use miner::{TransactionQueue, TransactionOrigin};
|
use miner::{TransactionQueue, TransactionOrigin};
|
||||||
use util::{U256, Address, FromHex, Hashable};
|
use util::{U256, Address, Hashable};
|
||||||
use miner::transaction_queue::test::DummyTransactionDetailsProvider;
|
use miner::transaction_queue::test::DummyTransactionDetailsProvider;
|
||||||
|
|
||||||
fn queue() -> BanningTransactionQueue {
|
fn queue() -> BanningTransactionQueue {
|
||||||
|
@ -1261,10 +1261,11 @@ mod tests {
|
|||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use super::super::{MinerService, PrioritizationStrategy};
|
use super::super::{MinerService, PrioritizationStrategy};
|
||||||
use super::*;
|
use super::*;
|
||||||
use block::IsBlock;
|
use block::IsBlock;
|
||||||
use util::{U256, FromHex};
|
use util::U256;
|
||||||
use ethkey::{Generator, Random};
|
use ethkey::{Generator, Random};
|
||||||
use client::{BlockChainClient, TestBlockChainClient, EachBlockWith, TransactionImportResult};
|
use client::{BlockChainClient, TestBlockChainClient, EachBlockWith, TransactionImportResult};
|
||||||
use header::BlockNumber;
|
use header::BlockNumber;
|
||||||
|
@ -27,13 +27,13 @@
|
|||||||
//! extern crate ethcore_util as util;
|
//! extern crate ethcore_util as util;
|
||||||
//! extern crate ethcore;
|
//! extern crate ethcore;
|
||||||
//! extern crate ethkey;
|
//! extern crate ethkey;
|
||||||
//! extern crate rustc_serialize;
|
//! extern crate rustc_hex;
|
||||||
//!
|
//!
|
||||||
//! use util::{U256, Address};
|
//! use util::{U256, Address};
|
||||||
//! use ethkey::{Random, Generator};
|
//! use ethkey::{Random, Generator};
|
||||||
//! use ethcore::miner::{TransactionQueue, RemovalReason, TransactionQueueDetailsProvider, AccountDetails, TransactionOrigin};
|
//! use ethcore::miner::{TransactionQueue, RemovalReason, TransactionQueueDetailsProvider, AccountDetails, TransactionOrigin};
|
||||||
//! use ethcore::transaction::*;
|
//! use ethcore::transaction::*;
|
||||||
//! use rustc_serialize::hex::FromHex;
|
//! use rustc_hex::FromHex;
|
||||||
//!
|
//!
|
||||||
//! #[derive(Default)]
|
//! #[derive(Default)]
|
||||||
//! struct DummyTransactionDetailsProvider;
|
//! struct DummyTransactionDetailsProvider;
|
||||||
@ -1422,7 +1422,7 @@ fn check_if_removed(sender: &Address, nonce: &U256, dropped: Option<HashMap<Addr
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub mod test {
|
pub mod test {
|
||||||
extern crate rustc_serialize;
|
use rustc_hex::FromHex;
|
||||||
use util::table::*;
|
use util::table::*;
|
||||||
use util::*;
|
use util::*;
|
||||||
use ethkey::{Random, Generator};
|
use ethkey::{Random, Generator};
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
//! Parameters for a block chain.
|
//! Parameters for a block chain.
|
||||||
|
|
||||||
|
use rustc_hex::FromHex;
|
||||||
use super::genesis::Genesis;
|
use super::genesis::Genesis;
|
||||||
use super::seal::Generic as GenericSeal;
|
use super::seal::Generic as GenericSeal;
|
||||||
|
|
||||||
|
@ -977,7 +977,7 @@ mod tests {
|
|||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use super::*;
|
use super::*;
|
||||||
use ethkey::Secret;
|
use ethkey::Secret;
|
||||||
use util::{U256, H256, Address, Hashable};
|
use util::{U256, H256, Address, Hashable};
|
||||||
|
@ -140,7 +140,7 @@ pub struct LocalizedReceipt {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_no_state_root() {
|
fn test_no_state_root() {
|
||||||
let expected = ::rustc_serialize::hex::FromHex::from_hex("f9014183040caeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000f838f794dcf421d093428b096ca501a7cd1a740855a7976fc0a00000000000000000000000000000000000000000000000000000000000000000").unwrap();
|
let expected = ::rustc_hex::FromHex::from_hex("f9014183040caeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000f838f794dcf421d093428b096ca501a7cd1a740855a7976fc0a00000000000000000000000000000000000000000000000000000000000000000").unwrap();
|
||||||
let r = Receipt::new(
|
let r = Receipt::new(
|
||||||
None,
|
None,
|
||||||
0x40cae.into(),
|
0x40cae.into(),
|
||||||
@ -155,7 +155,7 @@ fn test_no_state_root() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_basic() {
|
fn test_basic() {
|
||||||
let expected = ::rustc_serialize::hex::FromHex::from_hex("f90162a02f697d671e9ae4ee24a43c4b0d7e15f1cb4ba6de1561120d43b9a4e8c4a8a6ee83040caeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000f838f794dcf421d093428b096ca501a7cd1a740855a7976fc0a00000000000000000000000000000000000000000000000000000000000000000").unwrap();
|
let expected = ::rustc_hex::FromHex::from_hex("f90162a02f697d671e9ae4ee24a43c4b0d7e15f1cb4ba6de1561120d43b9a4e8c4a8a6ee83040caeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000f838f794dcf421d093428b096ca501a7cd1a740855a7976fc0a00000000000000000000000000000000000000000000000000000000000000000").unwrap();
|
||||||
let r = Receipt::new(
|
let r = Receipt::new(
|
||||||
Some("2f697d671e9ae4ee24a43c4b0d7e15f1cb4ba6de1561120d43b9a4e8c4a8a6ee".into()),
|
Some("2f697d671e9ae4ee24a43c4b0d7e15f1cb4ba6de1561120d43b9a4e8c4a8a6ee".into()),
|
||||||
0x40cae.into(),
|
0x40cae.into(),
|
||||||
|
@ -546,7 +546,7 @@ impl From<SignedTransaction> for PendingTransaction {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn sender_test() {
|
fn sender_test() {
|
||||||
let t: UnverifiedTransaction = decode(&::rustc_serialize::hex::FromHex::from_hex("f85f800182520894095e7baea6a6c7c4c2dfeb977efac326af552d870a801ba048b55bfa915ac795c431978d8a6a992b628d557da5ff759b307d495a36649353a0efffd310ac743f371de3b9f7f9cb56c0b28ad43601b4ab949f53faa07bd2c804").unwrap());
|
let t: UnverifiedTransaction = decode(&::rustc_hex::FromHex::from_hex("f85f800182520894095e7baea6a6c7c4c2dfeb977efac326af552d870a801ba048b55bfa915ac795c431978d8a6a992b628d557da5ff759b307d495a36649353a0efffd310ac743f371de3b9f7f9cb56c0b28ad43601b4ab949f53faa07bd2c804").unwrap());
|
||||||
assert_eq!(t.data, b"");
|
assert_eq!(t.data, b"");
|
||||||
assert_eq!(t.gas, U256::from(0x5208u64));
|
assert_eq!(t.gas, U256::from(0x5208u64));
|
||||||
assert_eq!(t.gas_price, U256::from(0x01u64));
|
assert_eq!(t.gas_price, U256::from(0x01u64));
|
||||||
@ -612,7 +612,7 @@ fn should_recover_from_network_specific_signing() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn should_agree_with_vitalik() {
|
fn should_agree_with_vitalik() {
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
|
|
||||||
let test_vector = |tx_data: &str, address: &'static str| {
|
let test_vector = |tx_data: &str, address: &'static str| {
|
||||||
let signed = decode(&FromHex::from_hex(tx_data).unwrap());
|
let signed = decode(&FromHex::from_hex(tx_data).unwrap());
|
||||||
|
@ -163,7 +163,7 @@ impl<'a> Hashable for BlockView<'a> {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use util::H256;
|
use util::H256;
|
||||||
use super::BlockView;
|
use super::BlockView;
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ impl<'a> BodyView<'a> {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use util::*;
|
use rustc_hex::FromHex;
|
||||||
use super::BodyView;
|
use super::BodyView;
|
||||||
use blockchain::BlockChain;
|
use blockchain::BlockChain;
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ impl<'a> Hashable for HeaderView<'a> {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use util::{H256, Address, H2048, U256};
|
use util::{H256, Address, H2048, U256};
|
||||||
use super::HeaderView;
|
use super::HeaderView;
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ impl<'a> Hashable for TransactionView<'a> {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use util::U256;
|
use util::U256;
|
||||||
use super::TransactionView;
|
use super::TransactionView;
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ rand = "0.3.14"
|
|||||||
lazy_static = "0.2"
|
lazy_static = "0.2"
|
||||||
tiny-keccak = "1.2"
|
tiny-keccak = "1.2"
|
||||||
eth-secp256k1 = { git = "https://github.com/paritytech/rust-secp256k1" }
|
eth-secp256k1 = { git = "https://github.com/paritytech/rust-secp256k1" }
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
ethcore-bigint = { path = "../util/bigint" }
|
ethcore-bigint = { path = "../util/bigint" }
|
||||||
rust-crypto = "0.2"
|
rust-crypto = "0.2"
|
||||||
byteorder = "1.0"
|
byteorder = "1.0"
|
||||||
|
@ -5,8 +5,10 @@ authors = ["Parity Technologies <admin@parity.io>"]
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ethkey = { path = "../" }
|
ethkey = { path = "../" }
|
||||||
rustc-serialize = "0.3"
|
serde = "1.0"
|
||||||
docopt = "0.7"
|
serde_derive = "1.0"
|
||||||
|
rustc-hex = "1.0"
|
||||||
|
docopt = "0.8"
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
name = "ethkey"
|
name = "ethkey"
|
||||||
|
@ -15,13 +15,16 @@
|
|||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
extern crate docopt;
|
extern crate docopt;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
|
extern crate serde;
|
||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
extern crate ethkey;
|
extern crate ethkey;
|
||||||
|
|
||||||
use std::{env, fmt, process};
|
use std::{env, fmt, process};
|
||||||
use std::num::ParseIntError;
|
use std::num::ParseIntError;
|
||||||
use docopt::Docopt;
|
use docopt::Docopt;
|
||||||
use rustc_serialize::hex::{FromHex, FromHexError};
|
use rustc_hex::{FromHex, FromHexError};
|
||||||
use ethkey::{KeyPair, Random, Brain, Prefix, Error as EthkeyError, Generator, sign, verify_public, verify_address};
|
use ethkey::{KeyPair, Random, Brain, Prefix, Error as EthkeyError, Generator, sign, verify_public, verify_address};
|
||||||
|
|
||||||
pub const USAGE: &'static str = r#"
|
pub const USAGE: &'static str = r#"
|
||||||
@ -54,7 +57,7 @@ Commands:
|
|||||||
verify Verify signer of the signature.
|
verify Verify signer of the signature.
|
||||||
"#;
|
"#;
|
||||||
|
|
||||||
#[derive(Debug, RustcDecodable)]
|
#[derive(Debug, Deserialize)]
|
||||||
struct Args {
|
struct Args {
|
||||||
cmd_info: bool,
|
cmd_info: bool,
|
||||||
cmd_generate: bool,
|
cmd_generate: bool,
|
||||||
@ -83,6 +86,7 @@ enum Error {
|
|||||||
Ethkey(EthkeyError),
|
Ethkey(EthkeyError),
|
||||||
FromHex(FromHexError),
|
FromHex(FromHexError),
|
||||||
ParseInt(ParseIntError),
|
ParseInt(ParseIntError),
|
||||||
|
Docopt(docopt::Error),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<EthkeyError> for Error {
|
impl From<EthkeyError> for Error {
|
||||||
@ -103,12 +107,19 @@ impl From<ParseIntError> for Error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<docopt::Error> for Error {
|
||||||
|
fn from(err: docopt::Error) -> Self {
|
||||||
|
Error::Docopt(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl fmt::Display for Error {
|
impl fmt::Display for Error {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
|
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
|
||||||
match *self {
|
match *self {
|
||||||
Error::Ethkey(ref e) => write!(f, "{}", e),
|
Error::Ethkey(ref e) => write!(f, "{}", e),
|
||||||
Error::FromHex(ref e) => write!(f, "{}", e),
|
Error::FromHex(ref e) => write!(f, "{}", e),
|
||||||
Error::ParseInt(ref e) => write!(f, "{}", e),
|
Error::ParseInt(ref e) => write!(f, "{}", e),
|
||||||
|
Error::Docopt(ref e) => write!(f, "{}", e),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -155,8 +166,7 @@ fn display(keypair: KeyPair, mode: DisplayMode) -> String {
|
|||||||
|
|
||||||
fn execute<S, I>(command: I) -> Result<String, Error> where I: IntoIterator<Item=S>, S: AsRef<str> {
|
fn execute<S, I>(command: I) -> Result<String, Error> where I: IntoIterator<Item=S>, S: AsRef<str> {
|
||||||
let args: Args = Docopt::new(USAGE)
|
let args: Args = Docopt::new(USAGE)
|
||||||
.and_then(|d| d.argv(command).decode())
|
.and_then(|d| d.argv(command).deserialize())?;
|
||||||
.unwrap_or_else(|e| e.exit());
|
|
||||||
|
|
||||||
return if args.cmd_info {
|
return if args.cmd_info {
|
||||||
let display_mode = DisplayMode::new(&args);
|
let display_mode = DisplayMode::new(&args);
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use secp256k1::key;
|
use secp256k1::key;
|
||||||
use rustc_serialize::hex::ToHex;
|
use rustc_hex::ToHex;
|
||||||
use keccak::Keccak256;
|
use keccak::Keccak256;
|
||||||
use super::{Secret, Public, Address, SECP256K1, Error};
|
use super::{Secret, Public, Address, SECP256K1, Error};
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ extern crate rand;
|
|||||||
extern crate lazy_static;
|
extern crate lazy_static;
|
||||||
extern crate tiny_keccak;
|
extern crate tiny_keccak;
|
||||||
extern crate secp256k1;
|
extern crate secp256k1;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate ethcore_bigint as bigint;
|
extern crate ethcore_bigint as bigint;
|
||||||
extern crate crypto as rcrypto;
|
extern crate crypto as rcrypto;
|
||||||
extern crate byteorder;
|
extern crate byteorder;
|
||||||
|
@ -21,7 +21,7 @@ use std::str::FromStr;
|
|||||||
use std::hash::{Hash, Hasher};
|
use std::hash::{Hash, Hasher};
|
||||||
use secp256k1::{Message as SecpMessage, RecoverableSignature, RecoveryId, Error as SecpError};
|
use secp256k1::{Message as SecpMessage, RecoverableSignature, RecoveryId, Error as SecpError};
|
||||||
use secp256k1::key::{SecretKey, PublicKey};
|
use secp256k1::key::{SecretKey, PublicKey};
|
||||||
use rustc_serialize::hex::{ToHex, FromHex};
|
use rustc_hex::{ToHex, FromHex};
|
||||||
use bigint::hash::{H520, H256};
|
use bigint::hash::{H520, H256};
|
||||||
use {Secret, Public, SECP256K1, Error, Message, public_to_address, Address};
|
use {Secret, Public, SECP256K1, Error, Message, public_to_address, Address};
|
||||||
|
|
||||||
|
@ -8,10 +8,10 @@ log = "0.3"
|
|||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
rand = "0.3"
|
rand = "0.3"
|
||||||
ethkey = { path = "../ethkey" }
|
ethkey = { path = "../ethkey" }
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
serde_derive = "0.9"
|
serde_derive = "1.0"
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
rust-crypto = "0.2.36"
|
rust-crypto = "0.2.36"
|
||||||
tiny-keccak = "1.0"
|
tiny-keccak = "1.0"
|
||||||
time = "0.1.34"
|
time = "0.1.34"
|
||||||
|
@ -4,8 +4,10 @@ version = "0.1.0"
|
|||||||
authors = ["Parity Technologies <admin@parity.io>"]
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
docopt = "0.7"
|
serde = "1.0"
|
||||||
|
serde_derive = "1.0"
|
||||||
|
docopt = "0.8"
|
||||||
ethstore = { path = "../" }
|
ethstore = { path = "../" }
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
|
@ -14,16 +14,19 @@
|
|||||||
// 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/>.
|
||||||
|
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate docopt;
|
extern crate docopt;
|
||||||
|
extern crate serde;
|
||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
extern crate ethstore;
|
extern crate ethstore;
|
||||||
|
|
||||||
use std::{env, process, fs};
|
use std::{env, process, fs, fmt};
|
||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
use docopt::Docopt;
|
use docopt::Docopt;
|
||||||
use ethstore::ethkey::Address;
|
use ethstore::ethkey::Address;
|
||||||
use ethstore::dir::{paths, KeyDirectory, RootDiskDirectory};
|
use ethstore::dir::{paths, KeyDirectory, RootDiskDirectory};
|
||||||
use ethstore::{EthStore, SimpleSecretStore, SecretStore, import_accounts, Error, PresaleWallet,
|
use ethstore::{EthStore, SimpleSecretStore, SecretStore, import_accounts, PresaleWallet,
|
||||||
SecretVaultRef, StoreAccountRef};
|
SecretVaultRef, StoreAccountRef};
|
||||||
|
|
||||||
pub const USAGE: &'static str = r#"
|
pub const USAGE: &'static str = r#"
|
||||||
@ -75,7 +78,7 @@ Commands:
|
|||||||
move-from-vault Move account to root directory from given vault.
|
move-from-vault Move account to root directory from given vault.
|
||||||
"#;
|
"#;
|
||||||
|
|
||||||
#[derive(Debug, RustcDecodable)]
|
#[derive(Debug, Deserialize)]
|
||||||
struct Args {
|
struct Args {
|
||||||
cmd_insert: bool,
|
cmd_insert: bool,
|
||||||
cmd_change_pwd: bool,
|
cmd_change_pwd: bool,
|
||||||
@ -104,6 +107,32 @@ struct Args {
|
|||||||
flag_vault_pwd: String,
|
flag_vault_pwd: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum Error {
|
||||||
|
Ethstore(ethstore::Error),
|
||||||
|
Docopt(docopt::Error),
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<ethstore::Error> for Error {
|
||||||
|
fn from(err: ethstore::Error) -> Self {
|
||||||
|
Error::Ethstore(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<docopt::Error> for Error {
|
||||||
|
fn from(err: docopt::Error) -> Self {
|
||||||
|
Error::Docopt(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for Error {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
match *self {
|
||||||
|
Error::Ethstore(ref err) => fmt::Display::fmt(err, f),
|
||||||
|
Error::Docopt(ref err) => fmt::Display::fmt(err, f),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match execute(env::args()) {
|
match execute(env::args()) {
|
||||||
Ok(result) => println!("{}", result),
|
Ok(result) => println!("{}", result),
|
||||||
@ -159,9 +188,9 @@ fn format_vaults(vaults: &[String]) -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn load_password(path: &str) -> Result<String, Error> {
|
fn load_password(path: &str) -> Result<String, Error> {
|
||||||
let mut file = fs::File::open(path).map_err(|e| Error::Custom(format!("Error opening password file {}: {}", path, e)))?;
|
let mut file = fs::File::open(path).map_err(|e| ethstore::Error::Custom(format!("Error opening password file {}: {}", path, e)))?;
|
||||||
let mut password = String::new();
|
let mut password = String::new();
|
||||||
file.read_to_string(&mut password).map_err(|e| Error::Custom(format!("Error reading password file {}: {}", path, e)))?;
|
file.read_to_string(&mut password).map_err(|e| ethstore::Error::Custom(format!("Error reading password file {}: {}", path, e)))?;
|
||||||
// drop EOF
|
// drop EOF
|
||||||
let _ = password.pop();
|
let _ = password.pop();
|
||||||
Ok(password)
|
Ok(password)
|
||||||
@ -169,19 +198,18 @@ fn load_password(path: &str) -> Result<String, Error> {
|
|||||||
|
|
||||||
fn execute<S, I>(command: I) -> Result<String, Error> where I: IntoIterator<Item=S>, S: AsRef<str> {
|
fn execute<S, I>(command: I) -> Result<String, Error> where I: IntoIterator<Item=S>, S: AsRef<str> {
|
||||||
let args: Args = Docopt::new(USAGE)
|
let args: Args = Docopt::new(USAGE)
|
||||||
.and_then(|d| d.argv(command).decode())
|
.and_then(|d| d.argv(command).deserialize())?;
|
||||||
.unwrap_or_else(|e| e.exit());
|
|
||||||
|
|
||||||
let store = EthStore::open(key_dir(&args.flag_dir)?)?;
|
let store = EthStore::open(key_dir(&args.flag_dir)?)?;
|
||||||
|
|
||||||
return if args.cmd_insert {
|
return if args.cmd_insert {
|
||||||
let secret = args.arg_secret.parse().map_err(|_| Error::InvalidSecret)?;
|
let secret = args.arg_secret.parse().map_err(|_| ethstore::Error::InvalidSecret)?;
|
||||||
let password = load_password(&args.arg_password)?;
|
let password = load_password(&args.arg_password)?;
|
||||||
let vault_ref = open_args_vault(&store, &args)?;
|
let vault_ref = open_args_vault(&store, &args)?;
|
||||||
let address = store.insert_account(vault_ref, secret, &password)?;
|
let address = store.insert_account(vault_ref, secret, &password)?;
|
||||||
Ok(format!("0x{:?}", address))
|
Ok(format!("0x{:?}", address))
|
||||||
} else if args.cmd_change_pwd {
|
} else if args.cmd_change_pwd {
|
||||||
let address = args.arg_address.parse().map_err(|_| Error::InvalidAccount)?;
|
let address = args.arg_address.parse().map_err(|_| ethstore::Error::InvalidAccount)?;
|
||||||
let old_pwd = load_password(&args.arg_old_pwd)?;
|
let old_pwd = load_password(&args.arg_old_pwd)?;
|
||||||
let new_pwd = load_password(&args.arg_new_pwd)?;
|
let new_pwd = load_password(&args.arg_new_pwd)?;
|
||||||
let account_ref = open_args_vault_account(&store, address, &args)?;
|
let account_ref = open_args_vault_account(&store, address, &args)?;
|
||||||
@ -209,20 +237,20 @@ fn execute<S, I>(command: I) -> Result<String, Error> where I: IntoIterator<Item
|
|||||||
let address = store.insert_account(vault_ref, kp.secret().clone(), &password)?;
|
let address = store.insert_account(vault_ref, kp.secret().clone(), &password)?;
|
||||||
Ok(format!("0x{:?}", address))
|
Ok(format!("0x{:?}", address))
|
||||||
} else if args.cmd_remove {
|
} else if args.cmd_remove {
|
||||||
let address = args.arg_address.parse().map_err(|_| Error::InvalidAccount)?;
|
let address = args.arg_address.parse().map_err(|_| ethstore::Error::InvalidAccount)?;
|
||||||
let password = load_password(&args.arg_password)?;
|
let password = load_password(&args.arg_password)?;
|
||||||
let account_ref = open_args_vault_account(&store, address, &args)?;
|
let account_ref = open_args_vault_account(&store, address, &args)?;
|
||||||
let ok = store.remove_account(&account_ref, &password).is_ok();
|
let ok = store.remove_account(&account_ref, &password).is_ok();
|
||||||
Ok(format!("{}", ok))
|
Ok(format!("{}", ok))
|
||||||
} else if args.cmd_sign {
|
} else if args.cmd_sign {
|
||||||
let address = args.arg_address.parse().map_err(|_| Error::InvalidAccount)?;
|
let address = args.arg_address.parse().map_err(|_| ethstore::Error::InvalidAccount)?;
|
||||||
let message = args.arg_message.parse().map_err(|_| Error::InvalidMessage)?;
|
let message = args.arg_message.parse().map_err(|_| ethstore::Error::InvalidMessage)?;
|
||||||
let password = load_password(&args.arg_password)?;
|
let password = load_password(&args.arg_password)?;
|
||||||
let account_ref = open_args_vault_account(&store, address, &args)?;
|
let account_ref = open_args_vault_account(&store, address, &args)?;
|
||||||
let signature = store.sign(&account_ref, &password, &message)?;
|
let signature = store.sign(&account_ref, &password, &message)?;
|
||||||
Ok(format!("0x{:?}", signature))
|
Ok(format!("0x{:?}", signature))
|
||||||
} else if args.cmd_public {
|
} else if args.cmd_public {
|
||||||
let address = args.arg_address.parse().map_err(|_| Error::InvalidAccount)?;
|
let address = args.arg_address.parse().map_err(|_| ethstore::Error::InvalidAccount)?;
|
||||||
let password = load_password(&args.arg_password)?;
|
let password = load_password(&args.arg_password)?;
|
||||||
let account_ref = open_args_vault_account(&store, address, &args)?;
|
let account_ref = open_args_vault_account(&store, address, &args)?;
|
||||||
let public = store.public(&account_ref, &password)?;
|
let public = store.public(&account_ref, &password)?;
|
||||||
@ -241,14 +269,14 @@ fn execute<S, I>(command: I) -> Result<String, Error> where I: IntoIterator<Item
|
|||||||
store.change_vault_password(&args.arg_vault, &new_pwd)?;
|
store.change_vault_password(&args.arg_vault, &new_pwd)?;
|
||||||
Ok("OK".to_owned())
|
Ok("OK".to_owned())
|
||||||
} else if args.cmd_move_to_vault {
|
} else if args.cmd_move_to_vault {
|
||||||
let address = args.arg_address.parse().map_err(|_| Error::InvalidAccount)?;
|
let address = args.arg_address.parse().map_err(|_| ethstore::Error::InvalidAccount)?;
|
||||||
let password = load_password(&args.arg_password)?;
|
let password = load_password(&args.arg_password)?;
|
||||||
let account_ref = open_args_vault_account(&store, address, &args)?;
|
let account_ref = open_args_vault_account(&store, address, &args)?;
|
||||||
store.open_vault(&args.arg_vault, &password)?;
|
store.open_vault(&args.arg_vault, &password)?;
|
||||||
store.change_account_vault(SecretVaultRef::Vault(args.arg_vault), account_ref)?;
|
store.change_account_vault(SecretVaultRef::Vault(args.arg_vault), account_ref)?;
|
||||||
Ok("OK".to_owned())
|
Ok("OK".to_owned())
|
||||||
} else if args.cmd_move_from_vault {
|
} else if args.cmd_move_from_vault {
|
||||||
let address = args.arg_address.parse().map_err(|_| Error::InvalidAccount)?;
|
let address = args.arg_address.parse().map_err(|_| ethstore::Error::InvalidAccount)?;
|
||||||
let password = load_password(&args.arg_password)?;
|
let password = load_password(&args.arg_password)?;
|
||||||
store.open_vault(&args.arg_vault, &password)?;
|
store.open_vault(&args.arg_vault, &password)?;
|
||||||
store.change_account_vault(SecretVaultRef::Root, StoreAccountRef::vault(&args.arg_vault, address))?;
|
store.change_account_vault(SecretVaultRef::Root, StoreAccountRef::vault(&args.arg_vault, address))?;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
use std::{ops, str};
|
use std::{ops, str};
|
||||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||||
use serde::de::Error;
|
use serde::de::Error;
|
||||||
use rustc_serialize::hex::{ToHex, FromHex, FromHexError};
|
use rustc_hex::{ToHex, FromHex, FromHexError};
|
||||||
|
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub struct Bytes(Vec<u8>);
|
pub struct Bytes(Vec<u8>);
|
||||||
@ -30,9 +30,9 @@ impl ops::Deref for Bytes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Bytes {
|
impl<'a> Deserialize<'a> for Bytes {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer<'a>
|
||||||
{
|
{
|
||||||
let s = String::deserialize(deserializer)?;
|
let s = String::deserialize(deserializer)?;
|
||||||
let data = s.from_hex().map_err(|e| Error::custom(format!("Invalid hex value {}", e)))?;
|
let data = s.from_hex().map_err(|e| Error::custom(format!("Invalid hex value {}", e)))?;
|
||||||
|
@ -33,16 +33,16 @@ impl Serialize for CipherSer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for CipherSer {
|
impl<'a> Deserialize<'a> for CipherSer {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(CipherSerVisitor)
|
deserializer.deserialize_any(CipherSerVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct CipherSerVisitor;
|
struct CipherSerVisitor;
|
||||||
|
|
||||||
impl Visitor for CipherSerVisitor {
|
impl<'a> Visitor<'a> for CipherSerVisitor {
|
||||||
type Value = CipherSer;
|
type Value = CipherSer;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -80,9 +80,9 @@ impl Serialize for CipherSerParams {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for CipherSerParams {
|
impl<'a> Deserialize<'a> for CipherSerParams {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
Aes128Ctr::deserialize(deserializer)
|
Aes128Ctr::deserialize(deserializer)
|
||||||
.map(CipherSerParams::Aes128Ctr)
|
.map(CipherSerParams::Aes128Ctr)
|
||||||
.map_err(|_| Error::InvalidCipherParams)
|
.map_err(|_| Error::InvalidCipherParams)
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
use std::{fmt, str};
|
use std::{fmt, str};
|
||||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||||
use serde::ser::SerializeStruct;
|
use serde::ser::SerializeStruct;
|
||||||
use serde::de::{Visitor, MapVisitor, Error};
|
use serde::de::{Visitor, MapAccess, Error};
|
||||||
use serde_json;
|
use serde_json;
|
||||||
use super::{Cipher, CipherSer, CipherSerParams, Kdf, KdfSer, KdfSerParams, H256, Bytes};
|
use super::{Cipher, CipherSer, CipherSerParams, Kdf, KdfSer, KdfSerParams, H256, Bytes};
|
||||||
|
|
||||||
@ -54,17 +54,17 @@ enum CryptoField {
|
|||||||
Mac,
|
Mac,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for CryptoField {
|
impl<'a> Deserialize<'a> for CryptoField {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<CryptoField, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<CryptoField, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer<'a>
|
||||||
{
|
{
|
||||||
deserializer.deserialize(CryptoFieldVisitor)
|
deserializer.deserialize_any(CryptoFieldVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct CryptoFieldVisitor;
|
struct CryptoFieldVisitor;
|
||||||
|
|
||||||
impl Visitor for CryptoFieldVisitor {
|
impl<'a> Visitor<'a> for CryptoFieldVisitor {
|
||||||
type Value = CryptoField;
|
type Value = CryptoField;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -86,9 +86,9 @@ impl Visitor for CryptoFieldVisitor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Crypto {
|
impl<'a> Deserialize<'a> for Crypto {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Crypto, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Crypto, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer<'a>
|
||||||
{
|
{
|
||||||
static FIELDS: &'static [&'static str] = &["id", "version", "crypto", "Crypto", "address"];
|
static FIELDS: &'static [&'static str] = &["id", "version", "crypto", "Crypto", "address"];
|
||||||
deserializer.deserialize_struct("Crypto", FIELDS, CryptoVisitor)
|
deserializer.deserialize_struct("Crypto", FIELDS, CryptoVisitor)
|
||||||
@ -97,7 +97,7 @@ impl Deserialize for Crypto {
|
|||||||
|
|
||||||
struct CryptoVisitor;
|
struct CryptoVisitor;
|
||||||
|
|
||||||
impl Visitor for CryptoVisitor {
|
impl<'a> Visitor<'a> for CryptoVisitor {
|
||||||
type Value = Crypto;
|
type Value = Crypto;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -105,7 +105,7 @@ impl Visitor for CryptoVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error>
|
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error>
|
||||||
where V: MapVisitor
|
where V: MapAccess<'a>
|
||||||
{
|
{
|
||||||
let mut cipher = None;
|
let mut cipher = None;
|
||||||
let mut cipherparams = None;
|
let mut cipherparams = None;
|
||||||
@ -115,13 +115,13 @@ impl Visitor for CryptoVisitor {
|
|||||||
let mut mac = None;
|
let mut mac = None;
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
match visitor.visit_key()? {
|
match visitor.next_key()? {
|
||||||
Some(CryptoField::Cipher) => { cipher = Some(visitor.visit_value()?); }
|
Some(CryptoField::Cipher) => { cipher = Some(visitor.next_value()?); }
|
||||||
Some(CryptoField::CipherParams) => { cipherparams = Some(visitor.visit_value()?); }
|
Some(CryptoField::CipherParams) => { cipherparams = Some(visitor.next_value()?); }
|
||||||
Some(CryptoField::CipherText) => { ciphertext = Some(visitor.visit_value()?); }
|
Some(CryptoField::CipherText) => { ciphertext = Some(visitor.next_value()?); }
|
||||||
Some(CryptoField::Kdf) => { kdf = Some(visitor.visit_value()?); }
|
Some(CryptoField::Kdf) => { kdf = Some(visitor.next_value()?); }
|
||||||
Some(CryptoField::KdfParams) => { kdfparams = Some(visitor.visit_value()?); }
|
Some(CryptoField::KdfParams) => { kdfparams = Some(visitor.next_value()?); }
|
||||||
Some(CryptoField::Mac) => { mac = Some(visitor.visit_value()?); }
|
Some(CryptoField::Mac) => { mac = Some(visitor.next_value()?); }
|
||||||
None => { break; }
|
None => { break; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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::{ops, fmt, str};
|
use std::{ops, fmt, str};
|
||||||
use rustc_serialize::hex::{FromHex, ToHex};
|
use rustc_hex::{FromHex, ToHex};
|
||||||
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
||||||
use serde::de::{Visitor, Error as SerdeError};
|
use serde::de::{Visitor, Error as SerdeError};
|
||||||
use super::Error;
|
use super::Error;
|
||||||
@ -54,12 +54,12 @@ macro_rules! impl_hash {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for $name {
|
impl<'a> Deserialize<'a> for $name {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
struct HashVisitor;
|
struct HashVisitor;
|
||||||
|
|
||||||
impl Visitor for HashVisitor {
|
impl<'b> Visitor<'b> for HashVisitor {
|
||||||
type Value = $name;
|
type Value = $name;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -75,7 +75,7 @@ macro_rules! impl_hash {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(HashVisitor)
|
deserializer.deserialize_any(HashVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
//! Universaly unique identifier.
|
//! Universaly unique identifier.
|
||||||
use std::{fmt, str};
|
use std::{fmt, str};
|
||||||
use rustc_serialize::hex::{ToHex, FromHex};
|
use rustc_hex::{ToHex, FromHex};
|
||||||
use serde::{Deserialize, Serialize, Deserializer, Serializer};
|
use serde::{Deserialize, Serialize, Deserializer, Serializer};
|
||||||
use serde::de::{Visitor, Error as SerdeError};
|
use serde::de::{Visitor, Error as SerdeError};
|
||||||
use super::Error;
|
use super::Error;
|
||||||
@ -108,16 +108,16 @@ impl Serialize for Uuid {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Uuid {
|
impl<'a> Deserialize<'a> for Uuid {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(UuidVisitor)
|
deserializer.deserialize_any(UuidVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct UuidVisitor;
|
struct UuidVisitor;
|
||||||
|
|
||||||
impl Visitor for UuidVisitor {
|
impl<'a> Visitor<'a> for UuidVisitor {
|
||||||
type Value = Uuid;
|
type Value = Uuid;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -35,16 +35,16 @@ impl Serialize for KdfSer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for KdfSer {
|
impl<'a> Deserialize<'a> for KdfSer {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(KdfSerVisitor)
|
deserializer.deserialize_any(KdfSerVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct KdfSerVisitor;
|
struct KdfSerVisitor;
|
||||||
|
|
||||||
impl Visitor for KdfSerVisitor {
|
impl<'a> Visitor<'a> for KdfSerVisitor {
|
||||||
type Value = KdfSer;
|
type Value = KdfSer;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -78,16 +78,16 @@ impl Serialize for Prf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Prf {
|
impl<'a> Deserialize<'a> for Prf {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(PrfVisitor)
|
deserializer.deserialize_any(PrfVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct PrfVisitor;
|
struct PrfVisitor;
|
||||||
|
|
||||||
impl Visitor for PrfVisitor {
|
impl<'a> Visitor<'a> for PrfVisitor {
|
||||||
type Value = Prf;
|
type Value = Prf;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -139,9 +139,9 @@ impl Serialize for KdfSerParams {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for KdfSerParams {
|
impl<'a> Deserialize<'a> for KdfSerParams {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
use serde_json::{Value, from_value};
|
use serde_json::{Value, from_value};
|
||||||
|
|
||||||
let v: Value = Deserialize::deserialize(deserializer)?;
|
let v: Value = Deserialize::deserialize(deserializer)?;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::io::{Read, Write};
|
use std::io::{Read, Write};
|
||||||
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
||||||
use serde::de::{Error, Visitor, MapVisitor};
|
use serde::de::{Error, Visitor, MapAccess, DeserializeOwned};
|
||||||
use serde_json;
|
use serde_json;
|
||||||
use super::{Uuid, Version, Crypto, H160};
|
use super::{Uuid, Version, Crypto, H160};
|
||||||
|
|
||||||
@ -60,17 +60,17 @@ enum KeyFileField {
|
|||||||
Meta,
|
Meta,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for KeyFileField {
|
impl<'a> Deserialize<'a> for KeyFileField {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<KeyFileField, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<KeyFileField, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer<'a>
|
||||||
{
|
{
|
||||||
deserializer.deserialize(KeyFileFieldVisitor)
|
deserializer.deserialize_any(KeyFileFieldVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct KeyFileFieldVisitor;
|
struct KeyFileFieldVisitor;
|
||||||
|
|
||||||
impl Visitor for KeyFileFieldVisitor {
|
impl<'a> Visitor<'a> for KeyFileFieldVisitor {
|
||||||
type Value = KeyFileField;
|
type Value = KeyFileField;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -93,9 +93,9 @@ impl Visitor for KeyFileFieldVisitor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for KeyFile {
|
impl<'a> Deserialize<'a> for KeyFile {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<KeyFile, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<KeyFile, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer<'a>
|
||||||
{
|
{
|
||||||
static FIELDS: &'static [&'static str] = &["id", "version", "crypto", "Crypto", "address"];
|
static FIELDS: &'static [&'static str] = &["id", "version", "crypto", "Crypto", "address"];
|
||||||
deserializer.deserialize_struct("KeyFile", FIELDS, KeyFileVisitor)
|
deserializer.deserialize_struct("KeyFile", FIELDS, KeyFileVisitor)
|
||||||
@ -103,8 +103,8 @@ impl Deserialize for KeyFile {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn none_if_empty<T>(v: Option<serde_json::Value>) -> Option<T> where
|
fn none_if_empty<'a, T>(v: Option<serde_json::Value>) -> Option<T> where
|
||||||
T: Deserialize,
|
T: DeserializeOwned
|
||||||
{
|
{
|
||||||
v.and_then(|v| if v.is_null() {
|
v.and_then(|v| if v.is_null() {
|
||||||
None
|
None
|
||||||
@ -115,7 +115,7 @@ fn none_if_empty<T>(v: Option<serde_json::Value>) -> Option<T> where
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct KeyFileVisitor;
|
struct KeyFileVisitor;
|
||||||
impl Visitor for KeyFileVisitor {
|
impl<'a> Visitor<'a> for KeyFileVisitor {
|
||||||
type Value = KeyFile;
|
type Value = KeyFile;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -123,7 +123,7 @@ impl Visitor for KeyFileVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error>
|
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error>
|
||||||
where V: MapVisitor
|
where V: MapAccess<'a>
|
||||||
{
|
{
|
||||||
let mut id = None;
|
let mut id = None;
|
||||||
let mut version = None;
|
let mut version = None;
|
||||||
@ -133,13 +133,13 @@ impl Visitor for KeyFileVisitor {
|
|||||||
let mut meta = None;
|
let mut meta = None;
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
match visitor.visit_key()? {
|
match visitor.next_key()? {
|
||||||
Some(KeyFileField::Id) => { id = Some(visitor.visit_value()?); }
|
Some(KeyFileField::Id) => { id = Some(visitor.next_value()?); }
|
||||||
Some(KeyFileField::Version) => { version = Some(visitor.visit_value()?); }
|
Some(KeyFileField::Version) => { version = Some(visitor.next_value()?); }
|
||||||
Some(KeyFileField::Crypto) => { crypto = Some(visitor.visit_value()?); }
|
Some(KeyFileField::Crypto) => { crypto = Some(visitor.next_value()?); }
|
||||||
Some(KeyFileField::Address) => { address = Some(visitor.visit_value()?); }
|
Some(KeyFileField::Address) => { address = Some(visitor.next_value()?); }
|
||||||
Some(KeyFileField::Name) => { name = none_if_empty(visitor.visit_value().ok()) }
|
Some(KeyFileField::Name) => { name = none_if_empty(visitor.next_value().ok()) }
|
||||||
Some(KeyFileField::Meta) => { meta = none_if_empty(visitor.visit_value().ok()) }
|
Some(KeyFileField::Meta) => { meta = none_if_empty(visitor.next_value().ok()) }
|
||||||
None => { break; }
|
None => { break; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,16 +33,16 @@ impl Serialize for Version {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Version {
|
impl<'a> Deserialize<'a> for Version {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Version, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Version, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(VersionVisitor)
|
deserializer.deserialize_any(VersionVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct VersionVisitor;
|
struct VersionVisitor;
|
||||||
|
|
||||||
impl Visitor for VersionVisitor {
|
impl<'a> Visitor<'a> for VersionVisitor {
|
||||||
type Value = Version;
|
type Value = Version;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -23,7 +23,7 @@ extern crate itertools;
|
|||||||
extern crate libc;
|
extern crate libc;
|
||||||
extern crate parking_lot;
|
extern crate parking_lot;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
extern crate smallvec;
|
extern crate smallvec;
|
||||||
|
@ -9,8 +9,10 @@ name = "parity-evm"
|
|||||||
path = "./src/main.rs"
|
path = "./src/main.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
docopt = { version = "0.7" }
|
docopt = "0.8"
|
||||||
|
serde = "1.0"
|
||||||
|
serde_derive = "1.0"
|
||||||
ethcore = { path = "../ethcore" }
|
ethcore = { path = "../ethcore" }
|
||||||
ethcore-util = { path = "../util" }
|
ethcore-util = { path = "../util" }
|
||||||
|
|
||||||
|
@ -26,14 +26,14 @@ extern crate test;
|
|||||||
extern crate ethcore;
|
extern crate ethcore;
|
||||||
extern crate evm;
|
extern crate evm;
|
||||||
extern crate ethcore_util;
|
extern crate ethcore_util;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
|
|
||||||
use self::test::{Bencher, black_box};
|
use self::test::{Bencher, black_box};
|
||||||
|
|
||||||
use evm::run_vm;
|
use evm::run_vm;
|
||||||
use ethcore::action_params::ActionParams;
|
use ethcore::action_params::ActionParams;
|
||||||
use ethcore_util::U256;
|
use ethcore_util::U256;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
|
|
||||||
#[bench]
|
#[bench]
|
||||||
fn simple_loop_usize(b: &mut Bencher) {
|
fn simple_loop_usize(b: &mut Bencher) {
|
||||||
|
@ -122,7 +122,7 @@ impl trace::VMTracer for Informant {
|
|||||||
fn prepare_subtrace(&self, code: &[u8]) -> Self where Self: Sized {
|
fn prepare_subtrace(&self, code: &[u8]) -> Self where Self: Sized {
|
||||||
let mut vm = Informant::default();
|
let mut vm = Informant::default();
|
||||||
vm.depth = self.depth + 1;
|
vm.depth = self.depth + 1;
|
||||||
vm.code = code.into_vec();
|
vm.code = code.to_vec();
|
||||||
vm.gas_used = self.gas_used;
|
vm.gas_used = self.gas_used;
|
||||||
vm
|
vm
|
||||||
}
|
}
|
||||||
|
@ -19,14 +19,18 @@
|
|||||||
#![warn(missing_docs)]
|
#![warn(missing_docs)]
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
extern crate ethcore;
|
extern crate ethcore;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
|
extern crate serde;
|
||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
extern crate docopt;
|
extern crate docopt;
|
||||||
extern crate ethcore_util as util;
|
extern crate ethcore_util as util;
|
||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::{fmt, fs};
|
use std::{fmt, fs};
|
||||||
use docopt::Docopt;
|
use docopt::Docopt;
|
||||||
use util::{U256, FromHex, Bytes, Address};
|
use rustc_hex::FromHex;
|
||||||
|
use util::{U256, Bytes, Address};
|
||||||
use ethcore::spec;
|
use ethcore::spec;
|
||||||
use ethcore::action_params::ActionParams;
|
use ethcore::action_params::ActionParams;
|
||||||
|
|
||||||
@ -58,7 +62,7 @@ General options:
|
|||||||
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args: Args = Docopt::new(USAGE).and_then(|d| d.decode()).unwrap_or_else(|e| e.exit());
|
let args: Args = Docopt::new(USAGE).and_then(|d| d.deserialize()).unwrap_or_else(|e| e.exit());
|
||||||
|
|
||||||
if args.flag_json {
|
if args.flag_json {
|
||||||
run(args, display::json::Informant::default())
|
run(args, display::json::Informant::default())
|
||||||
@ -86,7 +90,7 @@ fn run<T: Informant>(args: Args, mut informant: T) {
|
|||||||
informant.finish(result);
|
informant.finish(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, RustcDecodable)]
|
#[derive(Debug, Deserialize)]
|
||||||
struct Args {
|
struct Args {
|
||||||
cmd_stats: bool,
|
cmd_stats: bool,
|
||||||
flag_from: Option<String>,
|
flag_from: Option<String>,
|
||||||
|
@ -7,13 +7,13 @@ version = "1.7.0"
|
|||||||
authors = ["Parity Technologies <admin@parity.io>"]
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ethabi = "1.0"
|
ethabi = "2.0"
|
||||||
futures = "0.1"
|
futures = "0.1"
|
||||||
log = "0.3"
|
log = "0.3"
|
||||||
mime = "0.2"
|
mime = "0.2"
|
||||||
mime_guess = "1.6.1"
|
mime_guess = "1.6.1"
|
||||||
rand = "0.3"
|
rand = "0.3"
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
fetch = { path = "../util/fetch" }
|
fetch = { path = "../util/fetch" }
|
||||||
ethcore-util = { path = "../util" }
|
ethcore-util = { path = "../util" }
|
||||||
parity-reactor = { path = "../util/reactor" }
|
parity-reactor = { path = "../util/reactor" }
|
||||||
|
@ -30,7 +30,7 @@ extern crate mime_guess;
|
|||||||
extern crate native_contracts;
|
extern crate native_contracts;
|
||||||
extern crate parity_reactor;
|
extern crate parity_reactor;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
|
|
||||||
pub extern crate fetch;
|
pub extern crate fetch;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
//! URLHint Contract
|
//! URLHint Contract
|
||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use rustc_serialize::hex::ToHex;
|
use rustc_hex::ToHex;
|
||||||
use mime::Mime;
|
use mime::Mime;
|
||||||
use mime_guess;
|
use mime_guess;
|
||||||
|
|
||||||
@ -209,7 +209,7 @@ fn guess_mime_type(url: &str) -> Option<Mime> {
|
|||||||
pub mod tests {
|
pub mod tests {
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
|
|
||||||
use futures::{BoxFuture, Future, IntoFuture};
|
use futures::{BoxFuture, Future, IntoFuture};
|
||||||
|
|
||||||
|
@ -15,4 +15,4 @@ ethkey = { path = "../ethkey" }
|
|||||||
ethcore-bigint = { path = "../util/bigint" }
|
ethcore-bigint = { path = "../util/bigint" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
|
@ -340,7 +340,7 @@ impl Manager {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn smoke() {
|
fn smoke() {
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
let mut manager = Manager::new().unwrap();
|
let mut manager = Manager::new().unwrap();
|
||||||
manager.update_devices().unwrap();
|
manager.update_devices().unwrap();
|
||||||
for d in &manager.devices {
|
for d in &manager.devices {
|
||||||
|
@ -22,7 +22,7 @@ extern crate libusb;
|
|||||||
extern crate ethkey;
|
extern crate ethkey;
|
||||||
extern crate ethcore_bigint as bigint;
|
extern crate ethcore_bigint as bigint;
|
||||||
#[macro_use] extern crate log;
|
#[macro_use] extern crate log;
|
||||||
#[cfg(test)] extern crate rustc_serialize;
|
#[cfg(test)] extern crate rustc_hex;
|
||||||
|
|
||||||
mod ledger;
|
mod ledger;
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ authors = ["Parity Technologies <admin@parity.io>"]
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ethcore-util = { path = "../util" }
|
ethcore-util = { path = "../util" }
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
serde_derive = "0.9"
|
serde_derive = "1.0"
|
||||||
clippy = { version = "0.0.103", optional = true}
|
clippy = { version = "0.0.103", optional = true}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use serde::{Deserialize, Deserializer};
|
use serde::{Deserialize, Deserializer};
|
||||||
use serde::de::{Error, Visitor};
|
use serde::de::{Error, Visitor};
|
||||||
|
|
||||||
@ -67,16 +67,16 @@ impl FromStr for Bytes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Bytes {
|
impl<'a> Deserialize<'a> for Bytes {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(BytesVisitor)
|
deserializer.deserialize_any(BytesVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct BytesVisitor;
|
struct BytesVisitor;
|
||||||
|
|
||||||
impl Visitor for BytesVisitor {
|
impl<'a> Visitor<'a> for BytesVisitor {
|
||||||
type Value = Bytes;
|
type Value = Bytes;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -20,7 +20,7 @@ use std::str::FromStr;
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||||
use serde::de::{Error, Visitor};
|
use serde::de::{Error, Visitor};
|
||||||
use rustc_serialize::hex::ToHex;
|
use rustc_hex::ToHex;
|
||||||
use util::hash::{H64 as Hash64, H160 as Hash160, H256 as Hash256, H520 as Hash520, H2048 as Hash2048};
|
use util::hash::{H64 as Hash64, H160 as Hash160, H256 as Hash256, H520 as Hash520, H2048 as Hash2048};
|
||||||
|
|
||||||
|
|
||||||
@ -42,13 +42,13 @@ macro_rules! impl_hash {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for $name {
|
impl<'a> Deserialize<'a> for $name {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
|
|
||||||
struct HashVisitor;
|
struct HashVisitor;
|
||||||
|
|
||||||
impl Visitor for HashVisitor {
|
impl<'b> Visitor<'b> for HashVisitor {
|
||||||
type Value = $name;
|
type Value = $name;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -75,7 +75,7 @@ macro_rules! impl_hash {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(HashVisitor)
|
deserializer.deserialize_any(HashVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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/>.
|
||||||
|
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
extern crate ethcore_util as util;
|
extern crate ethcore_util as util;
|
||||||
|
@ -4,8 +4,7 @@
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
use serde::{Deserialize, Deserializer};
|
use serde::{Deserialize, Deserializer};
|
||||||
use serde::de::{Error, Visitor};
|
use serde::de::{Error, Visitor, IntoDeserializer};
|
||||||
use serde::de::value::ValueDeserializer;
|
|
||||||
|
|
||||||
/// Deserializer of empty string values into optionals.
|
/// Deserializer of empty string values into optionals.
|
||||||
#[derive(Debug, PartialEq, Clone)]
|
#[derive(Debug, PartialEq, Clone)]
|
||||||
@ -16,10 +15,10 @@ pub enum MaybeEmpty<T> {
|
|||||||
None,
|
None,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T> Deserialize for MaybeEmpty<T> where T: Deserialize {
|
impl<'a, T> Deserialize<'a> for MaybeEmpty<T> where T: Deserialize<'a> {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(MaybeEmptyVisitor::new())
|
deserializer.deserialize_any(MaybeEmptyVisitor::new())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,7 +34,7 @@ impl<T> MaybeEmptyVisitor<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T> Visitor for MaybeEmptyVisitor<T> where T: Deserialize {
|
impl<'a, T> Visitor<'a> for MaybeEmptyVisitor<T> where T: Deserialize<'a> {
|
||||||
type Value = MaybeEmpty<T>;
|
type Value = MaybeEmpty<T>;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -236,6 +236,7 @@ mod tests {
|
|||||||
eip161d_transition: Some(Uint(U256::from(0x47))),
|
eip161d_transition: Some(Uint(U256::from(0x47))),
|
||||||
ecip1010_pause_transition: None,
|
ecip1010_pause_transition: None,
|
||||||
ecip1010_continue_transition: None,
|
ecip1010_continue_transition: None,
|
||||||
|
ecip1017_era_rounds: None,
|
||||||
max_code_size: None,
|
max_code_size: None,
|
||||||
max_gas_limit_transition: None,
|
max_gas_limit_transition: None,
|
||||||
max_gas_limit: None,
|
max_gas_limit: None,
|
||||||
@ -282,6 +283,7 @@ mod tests {
|
|||||||
eip161d_transition: None,
|
eip161d_transition: None,
|
||||||
ecip1010_pause_transition: None,
|
ecip1010_pause_transition: None,
|
||||||
ecip1010_continue_transition: None,
|
ecip1010_continue_transition: None,
|
||||||
|
ecip1017_era_rounds: None,
|
||||||
max_code_size: None,
|
max_code_size: None,
|
||||||
max_gas_limit_transition: None,
|
max_gas_limit_transition: None,
|
||||||
max_gas_limit: None,
|
max_gas_limit: None,
|
||||||
|
@ -21,7 +21,7 @@ use std::collections::BTreeMap;
|
|||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use bytes::Bytes;
|
use bytes::Bytes;
|
||||||
use serde::{Deserialize, Deserializer};
|
use serde::{Deserialize, Deserializer};
|
||||||
use serde::de::{Error as ErrorTrait, Visitor, MapVisitor, SeqVisitor};
|
use serde::de::{Error as ErrorTrait, Visitor, MapAccess, SeqAccess};
|
||||||
|
|
||||||
/// Trie test input.
|
/// Trie test input.
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
@ -30,35 +30,35 @@ pub struct Input {
|
|||||||
pub data: BTreeMap<Bytes, Option<Bytes>>,
|
pub data: BTreeMap<Bytes, Option<Bytes>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Input {
|
impl<'a> Deserialize<'a> for Input {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer<'a>
|
||||||
{
|
{
|
||||||
deserializer.deserialize(InputVisitor)
|
deserializer.deserialize_any(InputVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct InputVisitor;
|
struct InputVisitor;
|
||||||
|
|
||||||
impl Visitor for InputVisitor {
|
impl<'a> Visitor<'a> for InputVisitor {
|
||||||
type Value = Input;
|
type Value = Input;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(formatter, "a map of bytes into bytes")
|
write!(formatter, "a map of bytes into bytes")
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: MapVisitor {
|
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: MapAccess<'a> {
|
||||||
let mut result = BTreeMap::new();
|
let mut result = BTreeMap::new();
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let key_str: Option<String> = visitor.visit_key()?;
|
let key_str: Option<String> = visitor.next_key()?;
|
||||||
let key = match key_str {
|
let key = match key_str {
|
||||||
Some(ref k) if k.starts_with("0x") => Bytes::from_str(k).map_err(V::Error::custom)?,
|
Some(ref k) if k.starts_with("0x") => Bytes::from_str(k).map_err(V::Error::custom)?,
|
||||||
Some(k) => Bytes::new(k.into_bytes()),
|
Some(k) => Bytes::new(k.into_bytes()),
|
||||||
None => { break; }
|
None => { break; }
|
||||||
};
|
};
|
||||||
|
|
||||||
let val_str: Option<String> = visitor.visit_value()?;
|
let val_str: Option<String> = visitor.next_value()?;
|
||||||
let val = match val_str {
|
let val = match val_str {
|
||||||
Some(ref v) if v.starts_with("0x") => Some(Bytes::from_str(v).map_err(V::Error::custom)?),
|
Some(ref v) if v.starts_with("0x") => Some(Bytes::from_str(v).map_err(V::Error::custom)?),
|
||||||
Some(v) => Some(Bytes::new(v.into_bytes())),
|
Some(v) => Some(Bytes::new(v.into_bytes())),
|
||||||
@ -75,11 +75,11 @@ impl Visitor for InputVisitor {
|
|||||||
Ok(input)
|
Ok(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_seq<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: SeqVisitor {
|
fn visit_seq<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: SeqAccess<'a> {
|
||||||
let mut result = BTreeMap::new();
|
let mut result = BTreeMap::new();
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let keyval: Option<Vec<Option<String>>> = visitor.visit()?;
|
let keyval: Option<Vec<Option<String>>> = visitor.next_element()?;
|
||||||
let keyval = match keyval {
|
let keyval = match keyval {
|
||||||
Some(k) => k,
|
Some(k) => k,
|
||||||
_ => { break; },
|
_ => { break; },
|
||||||
|
@ -50,16 +50,16 @@ impl Into<u8> for Uint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Uint {
|
impl<'a> Deserialize<'a> for Uint {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(UintVisitor)
|
deserializer.deserialize_any(UintVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct UintVisitor;
|
struct UintVisitor;
|
||||||
|
|
||||||
impl Visitor for UintVisitor {
|
impl<'a> Visitor<'a> for UintVisitor {
|
||||||
type Value = Uint;
|
type Value = Uint;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -9,8 +9,8 @@ ethcore-util = { path = "../util" }
|
|||||||
ethcore-io = { path = "../util/io" }
|
ethcore-io = { path = "../util/io" }
|
||||||
ethcore = { path = "../ethcore" }
|
ethcore = { path = "../ethcore" }
|
||||||
rlp = {path = "../util/rlp" }
|
rlp = {path = "../util/rlp" }
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_derive = "0.9"
|
serde_derive = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
log = "0.3"
|
log = "0.3"
|
||||||
ethkey = { path = "../ethkey" }
|
ethkey = { path = "../ethkey" }
|
||||||
|
@ -20,7 +20,7 @@ use std::io::{BufReader, BufRead};
|
|||||||
use std::time::{Instant, Duration};
|
use std::time::{Instant, Duration};
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use util::{ToPretty, U256, H256, Address, Hashable};
|
use util::{ToPretty, U256, H256, Address, Hashable};
|
||||||
use rlp::PayloadInfo;
|
use rlp::PayloadInfo;
|
||||||
use ethcore::service::ClientService;
|
use ethcore::service::ClientService;
|
||||||
|
@ -381,7 +381,7 @@ usage! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Config {
|
struct Config {
|
||||||
parity: Option<Operating>,
|
parity: Option<Operating>,
|
||||||
account: Option<Account>,
|
account: Option<Account>,
|
||||||
@ -401,7 +401,7 @@ struct Config {
|
|||||||
stratum: Option<Stratum>,
|
stratum: Option<Stratum>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Operating {
|
struct Operating {
|
||||||
mode: Option<String>,
|
mode: Option<String>,
|
||||||
mode_timeout: Option<u64>,
|
mode_timeout: Option<u64>,
|
||||||
@ -420,7 +420,7 @@ struct Operating {
|
|||||||
no_persistent_txqueue: Option<bool>,
|
no_persistent_txqueue: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Account {
|
struct Account {
|
||||||
unlock: Option<Vec<String>>,
|
unlock: Option<Vec<String>>,
|
||||||
password: Option<Vec<String>>,
|
password: Option<Vec<String>>,
|
||||||
@ -429,7 +429,7 @@ struct Account {
|
|||||||
fast_unlock: Option<bool>,
|
fast_unlock: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Ui {
|
struct Ui {
|
||||||
force: Option<bool>,
|
force: Option<bool>,
|
||||||
disable: Option<bool>,
|
disable: Option<bool>,
|
||||||
@ -439,7 +439,7 @@ struct Ui {
|
|||||||
path: Option<String>,
|
path: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Network {
|
struct Network {
|
||||||
warp: Option<bool>,
|
warp: Option<bool>,
|
||||||
port: Option<u16>,
|
port: Option<u16>,
|
||||||
@ -458,7 +458,7 @@ struct Network {
|
|||||||
no_serve_light: Option<bool>,
|
no_serve_light: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Rpc {
|
struct Rpc {
|
||||||
disable: Option<bool>,
|
disable: Option<bool>,
|
||||||
port: Option<u16>,
|
port: Option<u16>,
|
||||||
@ -469,7 +469,7 @@ struct Rpc {
|
|||||||
threads: Option<usize>,
|
threads: Option<usize>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Ws {
|
struct Ws {
|
||||||
disable: Option<bool>,
|
disable: Option<bool>,
|
||||||
port: Option<u16>,
|
port: Option<u16>,
|
||||||
@ -479,14 +479,14 @@ struct Ws {
|
|||||||
hosts: Option<Vec<String>>,
|
hosts: Option<Vec<String>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Ipc {
|
struct Ipc {
|
||||||
disable: Option<bool>,
|
disable: Option<bool>,
|
||||||
path: Option<String>,
|
path: Option<String>,
|
||||||
apis: Option<Vec<String>>,
|
apis: Option<Vec<String>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Dapps {
|
struct Dapps {
|
||||||
disable: Option<bool>,
|
disable: Option<bool>,
|
||||||
port: Option<u16>,
|
port: Option<u16>,
|
||||||
@ -498,7 +498,7 @@ struct Dapps {
|
|||||||
pass: Option<String>,
|
pass: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct SecretStore {
|
struct SecretStore {
|
||||||
disable: Option<bool>,
|
disable: Option<bool>,
|
||||||
self_secret: Option<String>,
|
self_secret: Option<String>,
|
||||||
@ -510,7 +510,7 @@ struct SecretStore {
|
|||||||
path: Option<String>,
|
path: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Ipfs {
|
struct Ipfs {
|
||||||
enable: Option<bool>,
|
enable: Option<bool>,
|
||||||
port: Option<u16>,
|
port: Option<u16>,
|
||||||
@ -519,7 +519,7 @@ struct Ipfs {
|
|||||||
hosts: Option<Vec<String>>,
|
hosts: Option<Vec<String>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Mining {
|
struct Mining {
|
||||||
author: Option<String>,
|
author: Option<String>,
|
||||||
engine_signer: Option<String>,
|
engine_signer: Option<String>,
|
||||||
@ -547,14 +547,14 @@ struct Mining {
|
|||||||
refuse_service_transactions: Option<bool>,
|
refuse_service_transactions: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Stratum {
|
struct Stratum {
|
||||||
interface: Option<String>,
|
interface: Option<String>,
|
||||||
port: Option<u16>,
|
port: Option<u16>,
|
||||||
secret: Option<String>,
|
secret: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Footprint {
|
struct Footprint {
|
||||||
tracing: Option<String>,
|
tracing: Option<String>,
|
||||||
pruning: Option<String>,
|
pruning: Option<String>,
|
||||||
@ -572,17 +572,17 @@ struct Footprint {
|
|||||||
num_verifiers: Option<usize>,
|
num_verifiers: Option<usize>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Snapshots {
|
struct Snapshots {
|
||||||
disable_periodic: Option<bool>,
|
disable_periodic: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct VM {
|
struct VM {
|
||||||
jit: Option<bool>,
|
jit: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Deserialize)]
|
||||||
struct Misc {
|
struct Misc {
|
||||||
logging: Option<String>,
|
logging: Option<String>,
|
||||||
log_file: Option<String>,
|
log_file: Option<String>,
|
||||||
|
@ -55,28 +55,18 @@ macro_rules! usage {
|
|||||||
use util::version;
|
use util::version;
|
||||||
use docopt::{Docopt, Error as DocoptError};
|
use docopt::{Docopt, Error as DocoptError};
|
||||||
use helpers::replace_home;
|
use helpers::replace_home;
|
||||||
use rustc_serialize;
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum ArgsError {
|
pub enum ArgsError {
|
||||||
Docopt(DocoptError),
|
Docopt(DocoptError),
|
||||||
Parsing(Vec<toml::ParserError>),
|
Decode(toml::de::Error),
|
||||||
Decode(toml::DecodeError),
|
|
||||||
Config(String, io::Error),
|
Config(String, io::Error),
|
||||||
UnknownFields(String),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ArgsError {
|
impl ArgsError {
|
||||||
pub fn exit(self) -> ! {
|
pub fn exit(self) -> ! {
|
||||||
match self {
|
match self {
|
||||||
ArgsError::Docopt(e) => e.exit(),
|
ArgsError::Docopt(e) => e.exit(),
|
||||||
ArgsError::Parsing(errors) => {
|
|
||||||
println_stderr!("There is an error in config file.");
|
|
||||||
for e in &errors {
|
|
||||||
println_stderr!("{}", e);
|
|
||||||
}
|
|
||||||
process::exit(2)
|
|
||||||
},
|
|
||||||
ArgsError::Decode(e) => {
|
ArgsError::Decode(e) => {
|
||||||
println_stderr!("You might have supplied invalid parameters in config file.");
|
println_stderr!("You might have supplied invalid parameters in config file.");
|
||||||
println_stderr!("{}", e);
|
println_stderr!("{}", e);
|
||||||
@ -87,21 +77,20 @@ macro_rules! usage {
|
|||||||
println_stderr!("{}", e);
|
println_stderr!("{}", e);
|
||||||
process::exit(2)
|
process::exit(2)
|
||||||
},
|
},
|
||||||
ArgsError::UnknownFields(fields) => {
|
|
||||||
println_stderr!("You have some extra fields in your config file:");
|
|
||||||
println_stderr!("{}", fields);
|
|
||||||
process::exit(2)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<DocoptError> for ArgsError {
|
impl From<DocoptError> for ArgsError {
|
||||||
fn from(e: DocoptError) -> Self { ArgsError::Docopt(e) }
|
fn from(e: DocoptError) -> Self {
|
||||||
|
ArgsError::Docopt(e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<toml::DecodeError> for ArgsError {
|
impl From<toml::de::Error> for ArgsError {
|
||||||
fn from(e: toml::DecodeError) -> Self { ArgsError::Decode(e) }
|
fn from(e: toml::de::Error) -> Self {
|
||||||
|
ArgsError::Decode(e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
@ -137,7 +126,7 @@ macro_rules! usage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, Clone, RustcDecodable)]
|
#[derive(Default, Debug, PartialEq, Clone, Deserialize)]
|
||||||
struct RawArgs {
|
struct RawArgs {
|
||||||
$(
|
$(
|
||||||
$field_a: $typ_a,
|
$field_a: $typ_a,
|
||||||
@ -192,20 +181,7 @@ macro_rules! usage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn parse_config(config: &str) -> Result<Config, ArgsError> {
|
fn parse_config(config: &str) -> Result<Config, ArgsError> {
|
||||||
let mut value_parser = toml::Parser::new(&config);
|
Ok(toml::from_str(config)?)
|
||||||
match value_parser.parse() {
|
|
||||||
Some(value) => {
|
|
||||||
let mut decoder = toml::Decoder::new(toml::Value::Table(value));
|
|
||||||
let result = rustc_serialize::Decodable::decode(&mut decoder);
|
|
||||||
|
|
||||||
match (result, decoder.toml) {
|
|
||||||
(Err(e), _) => Err(e.into()),
|
|
||||||
(_, Some(toml)) => Err(ArgsError::UnknownFields(toml::encode_str(&toml))),
|
|
||||||
(Ok(config), None) => Ok(config),
|
|
||||||
}
|
|
||||||
},
|
|
||||||
None => Err(ArgsError::Parsing(value_parser.errors)),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn print_version() -> String {
|
pub fn print_version() -> String {
|
||||||
@ -229,7 +205,7 @@ macro_rules! usage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse<S: AsRef<str>>(command: &[S]) -> Result<Self, DocoptError> {
|
pub fn parse<S: AsRef<str>>(command: &[S]) -> Result<Self, DocoptError> {
|
||||||
Docopt::new(Self::usage()).and_then(|d| d.argv(command).decode())
|
Docopt::new(Self::usage()).and_then(|d| d.argv(command).deserialize())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage() -> String {
|
fn usage() -> String {
|
||||||
|
@ -36,10 +36,12 @@ extern crate number_prefix;
|
|||||||
extern crate regex;
|
extern crate regex;
|
||||||
extern crate rlp;
|
extern crate rlp;
|
||||||
extern crate rpassword;
|
extern crate rpassword;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate semver;
|
extern crate semver;
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
extern crate time;
|
extern crate time;
|
||||||
extern crate toml;
|
extern crate toml;
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ use std::path::Path;
|
|||||||
use std::collections::BTreeMap;
|
use std::collections::BTreeMap;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
||||||
use serde::de::{Error, Visitor, MapVisitor};
|
use serde::de::{Error, Visitor, MapAccess};
|
||||||
use serde::de::impls::BTreeMapVisitor;
|
use serde::de::value::MapAccessDeserializer;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use serde_json::de::from_reader;
|
use serde_json::de::from_reader;
|
||||||
use serde_json::ser::to_string;
|
use serde_json::ser::to_string;
|
||||||
@ -65,22 +65,22 @@ impl Serialize for UserDefaults {
|
|||||||
|
|
||||||
struct UserDefaultsVisitor;
|
struct UserDefaultsVisitor;
|
||||||
|
|
||||||
impl Deserialize for UserDefaults {
|
impl<'a> Deserialize<'a> for UserDefaults {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(UserDefaultsVisitor)
|
deserializer.deserialize_any(UserDefaultsVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Visitor for UserDefaultsVisitor {
|
impl<'a> Visitor<'a> for UserDefaultsVisitor {
|
||||||
type Value = UserDefaults;
|
type Value = UserDefaults;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(formatter, "a valid UserDefaults object")
|
write!(formatter, "a valid UserDefaults object")
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_map<V>(self, visitor: V) -> Result<Self::Value, V::Error> where V: MapVisitor {
|
fn visit_map<V>(self, visitor: V) -> Result<Self::Value, V::Error> where V: MapAccess<'a> {
|
||||||
let mut map: BTreeMap<String, Value> = BTreeMapVisitor::new().visit_map(visitor)?;
|
let mut map: BTreeMap<String, Value> = Deserialize::deserialize(MapAccessDeserializer::new(visitor))?;
|
||||||
let pruning: Value = map.remove("pruning").ok_or_else(|| Error::custom("missing pruning"))?;
|
let pruning: Value = map.remove("pruning").ok_or_else(|| Error::custom("missing pruning"))?;
|
||||||
let pruning = pruning.as_str().ok_or_else(|| Error::custom("invalid pruning value"))?;
|
let pruning = pruning.as_str().ok_or_else(|| Error::custom("invalid pruning value"))?;
|
||||||
let pruning = pruning.parse().map_err(|_| Error::custom("invalid pruning method"))?;
|
let pruning = pruning.parse().map_err(|_| Error::custom("invalid pruning method"))?;
|
||||||
|
@ -15,11 +15,11 @@ multihash ="0.6"
|
|||||||
order-stat = "0.1"
|
order-stat = "0.1"
|
||||||
rand = "0.3"
|
rand = "0.3"
|
||||||
rust-crypto = "0.2"
|
rust-crypto = "0.2"
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
semver = "0.6"
|
semver = "0.6"
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_derive = "0.9"
|
serde_derive = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
time = "0.1"
|
time = "0.1"
|
||||||
tokio-timer = "0.1"
|
tokio-timer = "0.1"
|
||||||
transient-hashmap = "0.4"
|
transient-hashmap = "0.4"
|
||||||
|
@ -26,7 +26,7 @@ extern crate futures;
|
|||||||
extern crate multihash;
|
extern crate multihash;
|
||||||
extern crate order_stat;
|
extern crate order_stat;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate semver;
|
extern crate semver;
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
|
@ -99,7 +99,7 @@ fn decrypt_with_shadow_coefficients(mut decrypted_shadow: Public, mut common_sha
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use util::Bytes;
|
use util::Bytes;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use super::{encrypt_document, decrypt_document, decrypt_document_with_shadow};
|
use super::{encrypt_document, decrypt_document, decrypt_document_with_shadow};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -18,7 +18,7 @@ use std::str::FromStr;
|
|||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::time::{Instant, Duration};
|
use std::time::{Instant, Duration};
|
||||||
use rustc_serialize::hex::{FromHex, ToHex};
|
use rustc_hex::{FromHex, ToHex};
|
||||||
use time::get_time;
|
use time::get_time;
|
||||||
use rlp;
|
use rlp;
|
||||||
|
|
||||||
@ -536,7 +536,7 @@ fn rpc_eth_transaction_count_by_number_pending() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn rpc_eth_pending_transaction_by_hash() {
|
fn rpc_eth_pending_transaction_by_hash() {
|
||||||
use util::{H256, FromHex};
|
use util::H256;
|
||||||
use rlp;
|
use rlp;
|
||||||
use ethcore::transaction::SignedTransaction;
|
use ethcore::transaction::SignedTransaction;
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use util::{U256, Address};
|
use util::{U256, Address};
|
||||||
|
|
||||||
use ethcore::miner::MinerService;
|
use ethcore::miner::MinerService;
|
||||||
|
@ -38,9 +38,9 @@ impl Default for BlockNumber {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for BlockNumber {
|
impl<'a> Deserialize<'a> for BlockNumber {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<BlockNumber, D::Error> where D: Deserializer {
|
fn deserialize<D>(deserializer: D) -> Result<BlockNumber, D::Error> where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(BlockNumberVisitor)
|
deserializer.deserialize_any(BlockNumberVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ impl Serialize for BlockNumber {
|
|||||||
|
|
||||||
struct BlockNumberVisitor;
|
struct BlockNumberVisitor;
|
||||||
|
|
||||||
impl Visitor for BlockNumberVisitor {
|
impl<'a> Visitor<'a> for BlockNumberVisitor {
|
||||||
type Value = BlockNumber;
|
type Value = BlockNumber;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -17,10 +17,9 @@
|
|||||||
//! Serializable wrapper around vector of bytes
|
//! Serializable wrapper around vector of bytes
|
||||||
|
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use rustc_serialize::hex::ToHex;
|
use rustc_hex::{ToHex, FromHex};
|
||||||
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
use serde::{Serialize, Serializer, Deserialize, Deserializer};
|
||||||
use serde::de::{Error, Visitor};
|
use serde::de::{Error, Visitor};
|
||||||
use util::common::FromHex;
|
|
||||||
|
|
||||||
/// Wrapper structure around vector of bytes.
|
/// Wrapper structure around vector of bytes.
|
||||||
#[derive(Debug, PartialEq, Eq, Default, Hash, Clone)]
|
#[derive(Debug, PartialEq, Eq, Default, Hash, Clone)]
|
||||||
@ -58,16 +57,16 @@ impl Serialize for Bytes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Bytes {
|
impl<'a> Deserialize<'a> for Bytes {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Bytes, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Bytes, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(BytesVisitor)
|
deserializer.deserialize_any(BytesVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct BytesVisitor;
|
struct BytesVisitor;
|
||||||
|
|
||||||
impl Visitor for BytesVisitor {
|
impl<'a> Visitor<'a> for BytesVisitor {
|
||||||
type Value = Bytes;
|
type Value = Bytes;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -98,7 +97,7 @@ impl Visitor for BytesVisitor {
|
|||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use serde_json;
|
use serde_json;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_bytes_serialize() {
|
fn test_bytes_serialize() {
|
||||||
|
@ -55,7 +55,7 @@ impl Into<Request> for CallRequest {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use serde_json;
|
use serde_json;
|
||||||
use v1::types::{U256, H160};
|
use v1::types::{U256, H160};
|
||||||
use super::CallRequest;
|
use super::CallRequest;
|
||||||
|
@ -102,15 +102,15 @@ impl Derive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for DerivationType {
|
impl<'a> Deserialize<'a> for DerivationType {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<DerivationType, D::Error> where D: Deserializer {
|
fn deserialize<D>(deserializer: D) -> Result<DerivationType, D::Error> where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(DerivationTypeVisitor)
|
deserializer.deserialize_any(DerivationTypeVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct DerivationTypeVisitor;
|
struct DerivationTypeVisitor;
|
||||||
|
|
||||||
impl Visitor for DerivationTypeVisitor {
|
impl<'a> Visitor<'a> for DerivationTypeVisitor {
|
||||||
type Value = DerivationType;
|
type Value = DerivationType;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -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 serde::{Deserialize, Deserializer, Serialize, Serializer};
|
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||||
use serde::de::Error;
|
use serde::de::{Error, DeserializeOwned};
|
||||||
use serde_json::{Value, from_value};
|
use serde_json::{Value, from_value};
|
||||||
use ethcore::filter::Filter as EthFilter;
|
use ethcore::filter::Filter as EthFilter;
|
||||||
use ethcore::client::BlockId;
|
use ethcore::client::BlockId;
|
||||||
@ -23,7 +23,7 @@ use v1::types::{BlockNumber, H160, H256, Log};
|
|||||||
|
|
||||||
/// Variadic value
|
/// Variadic value
|
||||||
#[derive(Debug, PartialEq, Eq, Clone, Hash)]
|
#[derive(Debug, PartialEq, Eq, Clone, Hash)]
|
||||||
pub enum VariadicValue<T> where T: Deserialize {
|
pub enum VariadicValue<T> where T: DeserializeOwned {
|
||||||
/// Single
|
/// Single
|
||||||
Single(T),
|
Single(T),
|
||||||
/// List
|
/// List
|
||||||
@ -32,9 +32,9 @@ pub enum VariadicValue<T> where T: Deserialize {
|
|||||||
Null,
|
Null,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T> Deserialize for VariadicValue<T> where T: Deserialize {
|
impl<'a, T> Deserialize<'a> for VariadicValue<T> where T: DeserializeOwned {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<VariadicValue<T>, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<VariadicValue<T>, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
let v: Value = Deserialize::deserialize(deserializer)?;
|
let v: Value = Deserialize::deserialize(deserializer)?;
|
||||||
|
|
||||||
if v.is_null() {
|
if v.is_null() {
|
||||||
|
@ -19,7 +19,7 @@ use std::str::FromStr;
|
|||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use std::hash::{Hash, Hasher};
|
use std::hash::{Hash, Hasher};
|
||||||
use serde;
|
use serde;
|
||||||
use rustc_serialize::hex::{ToHex, FromHex};
|
use rustc_hex::{ToHex, FromHex};
|
||||||
use util::{H64 as Eth64, H160 as Eth160, H256 as Eth256, H520 as Eth520, H512 as Eth512, H2048 as Eth2048};
|
use util::{H64 as Eth64, H160 as Eth160, H256 as Eth256, H520 as Eth520, H512 as Eth512, H2048 as Eth2048};
|
||||||
|
|
||||||
macro_rules! impl_hash {
|
macro_rules! impl_hash {
|
||||||
@ -116,11 +116,11 @@ macro_rules! impl_hash {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl serde::Deserialize for $name {
|
impl<'a> serde::Deserialize<'a> for $name {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<$name, D::Error> where D: serde::Deserializer {
|
fn deserialize<D>(deserializer: D) -> Result<$name, D::Error> where D: serde::Deserializer<'a> {
|
||||||
struct HashVisitor;
|
struct HashVisitor;
|
||||||
|
|
||||||
impl serde::de::Visitor for HashVisitor {
|
impl<'b> serde::de::Visitor<'b> for HashVisitor {
|
||||||
type Value = $name;
|
type Value = $name;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -151,7 +151,7 @@ macro_rules! impl_hash {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(HashVisitor)
|
deserializer.deserialize_any(HashVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,16 +29,16 @@ impl Index {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Index {
|
impl<'a> Deserialize<'a> for Index {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Index, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Index, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
deserializer.deserialize(IndexVisitor)
|
deserializer.deserialize_any(IndexVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct IndexVisitor;
|
struct IndexVisitor;
|
||||||
|
|
||||||
impl Visitor for IndexVisitor {
|
impl<'a> Visitor<'a> for IndexVisitor {
|
||||||
type Value = Index;
|
type Value = Index;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
@ -74,9 +74,9 @@ impl Default for Params {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for Params {
|
impl<'a> Deserialize<'a> for Params {
|
||||||
fn deserialize<D>(deserializer: D) -> ::std::result::Result<Params, D::Error>
|
fn deserialize<D>(deserializer: D) -> ::std::result::Result<Params, D::Error>
|
||||||
where D: Deserializer {
|
where D: Deserializer<'a> {
|
||||||
let v: Value = Deserialize::deserialize(deserializer)?;
|
let v: Value = Deserialize::deserialize(deserializer)?;
|
||||||
|
|
||||||
if v.is_null() {
|
if v.is_null() {
|
||||||
|
@ -131,7 +131,7 @@ impl Into<helpers::TransactionRequest> for TransactionRequest {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use rustc_serialize::hex::FromHex;
|
use rustc_hex::FromHex;
|
||||||
use serde_json;
|
use serde_json;
|
||||||
use v1::types::{U256, H160, TransactionCondition};
|
use v1::types::{U256, H160, TransactionCondition};
|
||||||
use super::*;
|
use super::*;
|
||||||
|
@ -65,12 +65,12 @@ macro_rules! impl_uint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl serde::Deserialize for $name {
|
impl<'a> serde::Deserialize<'a> for $name {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<$name, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<$name, D::Error>
|
||||||
where D: serde::Deserializer {
|
where D: serde::Deserializer<'a> {
|
||||||
struct UintVisitor;
|
struct UintVisitor;
|
||||||
|
|
||||||
impl serde::de::Visitor for UintVisitor {
|
impl<'b> serde::de::Visitor<'b> for UintVisitor {
|
||||||
type Value = $name;
|
type Value = $name;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -95,7 +95,7 @@ macro_rules! impl_uint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(UintVisitor)
|
deserializer.deserialize_any(UintVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ version = "1.4.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
futures = "0.1"
|
futures = "0.1"
|
||||||
rpassword = "0.3.0"
|
rpassword = "0.3.0"
|
||||||
bigint = "2.0"
|
bigint = "3.0"
|
||||||
parity-rpc = { path = "../rpc" }
|
parity-rpc = { path = "../rpc" }
|
||||||
parity-rpc-client = { path = "../rpc_client" }
|
parity-rpc-client = { path = "../rpc_client" }
|
||||||
ethcore-util = { path = "../util" }
|
ethcore-util = { path = "../util" }
|
||||||
|
@ -10,8 +10,8 @@ version = "1.4.0"
|
|||||||
futures = "0.1"
|
futures = "0.1"
|
||||||
log = "0.3.6"
|
log = "0.3.6"
|
||||||
rand = "0.3.14"
|
rand = "0.3.14"
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
tempdir = "0.3.5"
|
tempdir = "0.3.5"
|
||||||
url = "1.2.0"
|
url = "1.2.0"
|
||||||
matches = "0.1"
|
matches = "0.1"
|
||||||
|
@ -25,7 +25,7 @@ use ws::ws::{
|
|||||||
Result as WsResult,
|
Result as WsResult,
|
||||||
};
|
};
|
||||||
|
|
||||||
use serde::Deserialize;
|
use serde::de::DeserializeOwned;
|
||||||
use serde_json::{
|
use serde_json::{
|
||||||
self as json,
|
self as json,
|
||||||
Value as JsonValue,
|
Value as JsonValue,
|
||||||
@ -247,7 +247,7 @@ impl Rpc {
|
|||||||
pub fn request<T>(
|
pub fn request<T>(
|
||||||
&mut self, method: &'static str, params: Vec<JsonValue>
|
&mut self, method: &'static str, params: Vec<JsonValue>
|
||||||
) -> BoxFuture<Result<T, RpcError>, Canceled>
|
) -> BoxFuture<Result<T, RpcError>, Canceled>
|
||||||
where T: Deserialize + Send + Sized {
|
where T: DeserializeOwned + Send + Sized {
|
||||||
|
|
||||||
let (c, p) = oneshot::<Result<JsonValue, RpcError>>();
|
let (c, p) = oneshot::<Result<JsonValue, RpcError>>();
|
||||||
|
|
||||||
|
@ -14,18 +14,18 @@ byteorder = "1.0"
|
|||||||
log = "0.3"
|
log = "0.3"
|
||||||
parking_lot = "0.4"
|
parking_lot = "0.4"
|
||||||
hyper = { version = "0.10", default-features = false }
|
hyper = { version = "0.10", default-features = false }
|
||||||
serde = "0.9"
|
serde = "1.0"
|
||||||
serde_json = "0.9"
|
serde_json = "1.0"
|
||||||
serde_derive = "0.9"
|
serde_derive = "1.0"
|
||||||
futures = "0.1"
|
futures = "0.1"
|
||||||
futures-cpupool = "0.1"
|
futures-cpupool = "0.1"
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
tokio-core = "0.1.6"
|
tokio-core = "0.1.6"
|
||||||
tokio-io = "0.1.0"
|
tokio-io = "0.1.0"
|
||||||
tokio-service = "0.1"
|
tokio-service = "0.1"
|
||||||
tokio-proto = "0.1"
|
tokio-proto = "0.1"
|
||||||
url = "1.0"
|
url = "1.0"
|
||||||
ethabi = "1.0"
|
ethabi = "2.0"
|
||||||
ethcore = { path = "../ethcore" }
|
ethcore = { path = "../ethcore" }
|
||||||
ethcore-devtools = { path = "../devtools" }
|
ethcore-devtools = { path = "../devtools" }
|
||||||
ethcore-util = { path = "../util" }
|
ethcore-util = { path = "../util" }
|
||||||
|
@ -22,7 +22,7 @@ extern crate futures;
|
|||||||
extern crate futures_cpupool;
|
extern crate futures_cpupool;
|
||||||
extern crate hyper;
|
extern crate hyper;
|
||||||
extern crate parking_lot;
|
extern crate parking_lot;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_hex;
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::cmp::{Ord, PartialOrd, Ordering};
|
use std::cmp::{Ord, PartialOrd, Ordering};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
use rustc_serialize::hex::{ToHex, FromHex};
|
use rustc_hex::{ToHex, FromHex};
|
||||||
use serde::{Serialize, Deserialize, Serializer, Deserializer};
|
use serde::{Serialize, Deserialize, Serializer, Deserializer};
|
||||||
use serde::de::{Visitor, Error as SerdeError};
|
use serde::de::{Visitor, Error as SerdeError};
|
||||||
use ethkey::{Public, Secret, Signature};
|
use ethkey::{Public, Secret, Signature};
|
||||||
@ -66,9 +66,9 @@ impl Serialize for SerializableBytes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for SerializableBytes {
|
impl<'a> Deserialize<'a> for SerializableBytes {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer<'a>
|
||||||
{
|
{
|
||||||
let s = String::deserialize(deserializer)?;
|
let s = String::deserialize(deserializer)?;
|
||||||
if s.len() >= 2 && &s[0..2] == "0x" && s.len() & 1 == 0 {
|
if s.len() >= 2 && &s[0..2] == "0x" && s.len() & 1 == 0 {
|
||||||
@ -112,11 +112,11 @@ impl Serialize for SerializableSignature {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for SerializableSignature {
|
impl<'a> Deserialize<'a> for SerializableSignature {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer {
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer<'a> {
|
||||||
struct HashVisitor;
|
struct HashVisitor;
|
||||||
|
|
||||||
impl Visitor for HashVisitor {
|
impl<'b> Visitor<'b> for HashVisitor {
|
||||||
type Value = SerializableSignature;
|
type Value = SerializableSignature;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -136,7 +136,7 @@ impl Deserialize for SerializableSignature {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(HashVisitor)
|
deserializer.deserialize_any(HashVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,11 +172,11 @@ impl Serialize for SerializableH256 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for SerializableH256 {
|
impl<'a> Deserialize<'a> for SerializableH256 {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer {
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer<'a> {
|
||||||
struct HashVisitor;
|
struct HashVisitor;
|
||||||
|
|
||||||
impl Visitor for HashVisitor {
|
impl<'b> Visitor<'b> for HashVisitor {
|
||||||
type Value = SerializableH256;
|
type Value = SerializableH256;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -196,7 +196,7 @@ impl Deserialize for SerializableH256 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(HashVisitor)
|
deserializer.deserialize_any(HashVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,11 +232,11 @@ impl Serialize for SerializableSecret {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for SerializableSecret {
|
impl<'a> Deserialize<'a> for SerializableSecret {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer {
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer<'a> {
|
||||||
struct HashVisitor;
|
struct HashVisitor;
|
||||||
|
|
||||||
impl Visitor for HashVisitor {
|
impl<'b> Visitor<'b> for HashVisitor {
|
||||||
type Value = SerializableSecret;
|
type Value = SerializableSecret;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -256,7 +256,7 @@ impl Deserialize for SerializableSecret {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(HashVisitor)
|
deserializer.deserialize_any(HashVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -312,11 +312,11 @@ impl Serialize for SerializablePublic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deserialize for SerializablePublic {
|
impl<'a> Deserialize<'a> for SerializablePublic {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer {
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer<'a> {
|
||||||
struct HashVisitor;
|
struct HashVisitor;
|
||||||
|
|
||||||
impl Visitor for HashVisitor {
|
impl<'b> Visitor<'b> for HashVisitor {
|
||||||
type Value = SerializablePublic;
|
type Value = SerializablePublic;
|
||||||
|
|
||||||
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
@ -336,7 +336,7 @@ impl Deserialize for SerializablePublic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deserializer.deserialize(HashVisitor)
|
deserializer.deserialize_any(HashVisitor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ ethcore-ipc-codegen = { path = "../ipc/codegen" }
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
log = "0.3"
|
log = "0.3"
|
||||||
ethabi = "1.0"
|
ethabi = "2.0"
|
||||||
target_info = "0.1"
|
target_info = "0.1"
|
||||||
ethcore = { path = "../ethcore" }
|
ethcore = { path = "../ethcore" }
|
||||||
ethsync = { path = "../sync" }
|
ethsync = { path = "../sync" }
|
||||||
|
@ -10,7 +10,7 @@ build = "build.rs"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
log = "0.3"
|
log = "0.3"
|
||||||
env_logger = "0.4"
|
env_logger = "0.4"
|
||||||
rustc-serialize = "0.3"
|
rustc-hex = "1.0"
|
||||||
rand = "0.3.12"
|
rand = "0.3.12"
|
||||||
time = "0.1.34"
|
time = "0.1.34"
|
||||||
rocksdb = { git = "https://github.com/paritytech/rust-rocksdb" }
|
rocksdb = { git = "https://github.com/paritytech/rust-rocksdb" }
|
||||||
@ -26,7 +26,7 @@ ethcore-devtools = { path = "../devtools" }
|
|||||||
libc = "0.2.7"
|
libc = "0.2.7"
|
||||||
vergen = "0.1"
|
vergen = "0.1"
|
||||||
target_info = "0.1"
|
target_info = "0.1"
|
||||||
ethcore-bigint = { path = "bigint" }
|
ethcore-bigint = { path = "bigint", features = ["heapsizeof"] }
|
||||||
parking_lot = "0.4"
|
parking_lot = "0.4"
|
||||||
using_queue = { path = "using_queue" }
|
using_queue = { path = "using_queue" }
|
||||||
table = { path = "table" }
|
table = { path = "table" }
|
||||||
|
@ -1,111 +0,0 @@
|
|||||||
// Copyright 2015-2017 Parity Technologies (UK) Ltd.
|
|
||||||
// This file is part of Parity.
|
|
||||||
|
|
||||||
// Parity is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU General Public License as published by
|
|
||||||
// the Free Software Foundation, either version 3 of the License, or
|
|
||||||
// (at your option) any later version.
|
|
||||||
|
|
||||||
// Parity is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU General Public License for more details.
|
|
||||||
|
|
||||||
// You should have received a copy of the GNU General Public License
|
|
||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
//! benchmarking for bigint
|
|
||||||
//! should be started with:
|
|
||||||
//! ```bash
|
|
||||||
//! multirust run nightly cargo bench
|
|
||||||
//! ```
|
|
||||||
|
|
||||||
#![feature(test)]
|
|
||||||
#![feature(asm)]
|
|
||||||
|
|
||||||
extern crate test;
|
|
||||||
extern crate ethcore_util;
|
|
||||||
|
|
||||||
use test::{Bencher, black_box};
|
|
||||||
use ethcore_util::{U256, U512, U128};
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn u256_add(b: &mut Bencher) {
|
|
||||||
b.iter(|| {
|
|
||||||
let n = black_box(10000);
|
|
||||||
let zero = black_box(U256::zero());
|
|
||||||
(0..n).fold(zero, |old, new| { old.overflowing_add(U256::from(black_box(new))).0 })
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn u256_sub(b: &mut Bencher) {
|
|
||||||
b.iter(|| {
|
|
||||||
let n = black_box(10000);
|
|
||||||
let max = black_box(U256::max_value());
|
|
||||||
(0..n).fold(max, |old, new| { old.overflowing_sub(U256::from(black_box(new))).0 })
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn u512_sub(b: &mut Bencher) {
|
|
||||||
b.iter(|| {
|
|
||||||
let n = black_box(10000);
|
|
||||||
let max = black_box(U512::max_value());
|
|
||||||
(0..n).fold(
|
|
||||||
max,
|
|
||||||
|old, new| {
|
|
||||||
let new = black_box(new);
|
|
||||||
let p = new % 2;
|
|
||||||
old.overflowing_sub(U512([p, p, p, p, p, p, p, new])).0
|
|
||||||
}
|
|
||||||
)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn u512_add(b: &mut Bencher) {
|
|
||||||
b.iter(|| {
|
|
||||||
let n = black_box(10000);
|
|
||||||
let zero = black_box(U512::zero());
|
|
||||||
(0..n).fold(zero,
|
|
||||||
|old, new| {
|
|
||||||
let new = black_box(new);
|
|
||||||
old.overflowing_add(U512([new, new, new, new, new, new, new, new])).0
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn u256_mul(b: &mut Bencher) {
|
|
||||||
b.iter(|| {
|
|
||||||
let n = black_box(10000);
|
|
||||||
let one = black_box(U256::one());
|
|
||||||
(0..n).fold(one, |old, new| { old.overflowing_mul(U256::from(black_box(new))).0 })
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn u256_full_mul(b: &mut Bencher) {
|
|
||||||
b.iter(|| {
|
|
||||||
let n = black_box(10000);
|
|
||||||
let one = black_box(U256::one());
|
|
||||||
(0..n).fold(one,
|
|
||||||
|old, new| {
|
|
||||||
let new = black_box(new);
|
|
||||||
let U512(ref u512words) = old.full_mul(U256([new, new, new, new]));
|
|
||||||
U256([u512words[0], u512words[2], u512words[2], u512words[3]])
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn u128_mul(b: &mut Bencher) {
|
|
||||||
b.iter(|| {
|
|
||||||
let n = black_box(10000);
|
|
||||||
(0..n).fold(U128([12345u64, 0u64]), |old, new| { old.overflowing_mul(U128::from(new)).0 })
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user