Merge branch 'master' of github.com:ethcore/parity into discovery
This commit is contained in:
		
						commit
						ba95260113
					
				
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -7,7 +7,8 @@
 | 
			
		||||
# Executables
 | 
			
		||||
*.exe
 | 
			
		||||
 | 
			
		||||
Cargo.lock
 | 
			
		||||
# Cargo lock in subs
 | 
			
		||||
**/Cargo.lock
 | 
			
		||||
 | 
			
		||||
# Generated by Cargo
 | 
			
		||||
**/target/
 | 
			
		||||
@ -24,4 +25,4 @@ Cargo.lock
 | 
			
		||||
/json-tests/target/
 | 
			
		||||
 | 
			
		||||
# jetbrains ide stuff
 | 
			
		||||
.idea
 | 
			
		||||
.idea
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										808
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										808
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,808 @@
 | 
			
		||||
[root]
 | 
			
		||||
name = "parity"
 | 
			
		||||
version = "0.9.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "ctrlc 1.0.1 (git+https://github.com/tomusdrw/rust-ctrlc.git)",
 | 
			
		||||
 "docopt 0.6.78 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "docopt_macros 0.6.81 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "ethcore 0.9.0",
 | 
			
		||||
 "ethcore-rpc 0.9.0",
 | 
			
		||||
 "ethcore-util 0.9.0",
 | 
			
		||||
 "ethsync 0.1.0",
 | 
			
		||||
 "fdlimit 0.1.0",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "aho-corasick"
 | 
			
		||||
version = "0.4.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "memchr 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "arrayvec"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "nodrop 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "odds 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "aster"
 | 
			
		||||
version = "0.12.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bitflags"
 | 
			
		||||
version = "0.3.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bitflags"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bytes"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cfg-if"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "clippy"
 | 
			
		||||
version = "0.0.41"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "regex-syntax 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "semver 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cookie"
 | 
			
		||||
version = "0.1.21"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "url 0.2.38 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cookie"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "url 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "crossbeam"
 | 
			
		||||
version = "0.1.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "crossbeam"
 | 
			
		||||
version = "0.2.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ctrlc"
 | 
			
		||||
version = "1.0.1"
 | 
			
		||||
source = "git+https://github.com/tomusdrw/rust-ctrlc.git#d8751b66b31d9698cbb11f8ef37155a8211a0683"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "docopt"
 | 
			
		||||
version = "0.6.78"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "regex 0.1.48 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "strsim 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "docopt_macros"
 | 
			
		||||
version = "0.6.81"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "docopt 0.6.78 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "elastic-array"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "env_logger"
 | 
			
		||||
version = "0.3.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "regex 0.1.48 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "eth-secp256k1"
 | 
			
		||||
version = "0.5.4"
 | 
			
		||||
source = "git+https://github.com/arkpar/rust-secp256k1.git#321e6c22a83606d1875f89cb61c9cb37c7d249ae"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "arrayvec 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "gcc 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.1.12 (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.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde_json 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ethash"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "lru-cache 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "sha3 0.1.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ethcore"
 | 
			
		||||
version = "0.9.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "crossbeam 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "ethash 0.1.0",
 | 
			
		||||
 "ethcore-util 0.9.0",
 | 
			
		||||
 "heapsize 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rust-crypto 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ethcore-rpc"
 | 
			
		||||
version = "0.9.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "ethcore 0.9.0",
 | 
			
		||||
 "ethcore-util 0.9.0",
 | 
			
		||||
 "ethsync 0.1.0",
 | 
			
		||||
 "jsonrpc-core 1.1.1 (git+https://github.com/debris/jsonrpc-core)",
 | 
			
		||||
 "jsonrpc-http-server 1.1.0 (git+https://github.com/debris/jsonrpc-http-server)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde_json 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde_macros 0.6.13 (git+https://github.com/debris/serde)",
 | 
			
		||||
 "target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ethcore-util"
 | 
			
		||||
version = "0.9.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "arrayvec 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "crossbeam 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "elastic-array 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "eth-secp256k1 0.5.4 (git+https://github.com/arkpar/rust-secp256k1.git)",
 | 
			
		||||
 "heapsize 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "igd 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "itertools 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "json-tests 0.1.0",
 | 
			
		||||
 "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "mio 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rust-crypto 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "sha3 0.1.0",
 | 
			
		||||
 "slab 0.1.4 (git+https://github.com/arkpar/slab.git)",
 | 
			
		||||
 "target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "tiny-keccak 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ethsync"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "ethcore 0.9.0",
 | 
			
		||||
 "ethcore-util 0.9.0",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "fdlimit"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "gcc"
 | 
			
		||||
version = "0.3.23"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "glob"
 | 
			
		||||
version = "0.2.10"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "heapsize"
 | 
			
		||||
version = "0.2.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "hpack"
 | 
			
		||||
version = "0.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "httparse"
 | 
			
		||||
version = "1.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "hyper"
 | 
			
		||||
version = "0.6.16"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cookie 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "httparse 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "language-tags 0.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "mime 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "traitobject 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "unicase 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "url 0.2.38 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "hyper"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cookie 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "httparse 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "mime 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "traitobject 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "unicase 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "url 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "igd"
 | 
			
		||||
version = "0.4.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "hyper 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "regex 0.1.48 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "xml-rs 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "xmltree 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "itertools"
 | 
			
		||||
version = "0.4.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "json-tests"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "glob 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jsonrpc-core"
 | 
			
		||||
version = "1.1.1"
 | 
			
		||||
source = "git+https://github.com/debris/jsonrpc-core#f59f462d29f75849d1af1958500730349c93d239"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "serde 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde_json 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde_macros 0.6.13 (git+https://github.com/debris/serde)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jsonrpc-http-server"
 | 
			
		||||
version = "1.1.0"
 | 
			
		||||
source = "git+https://github.com/debris/jsonrpc-http-server#23ee2d14331a1fcfe9b9d58cbfa3f49a15ad2326"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "hyper 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "jsonrpc-core 1.1.1 (git+https://github.com/debris/jsonrpc-core)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "kernel32-sys"
 | 
			
		||||
version = "0.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "language-tags"
 | 
			
		||||
version = "0.0.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "language-tags"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lazy_static"
 | 
			
		||||
version = "0.1.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libc"
 | 
			
		||||
version = "0.1.12"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libc"
 | 
			
		||||
version = "0.2.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "linked-hash-map"
 | 
			
		||||
version = "0.0.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "log"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lru-cache"
 | 
			
		||||
version = "0.0.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "linked-hash-map 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "matches"
 | 
			
		||||
version = "0.1.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "memchr"
 | 
			
		||||
version = "0.1.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "mime"
 | 
			
		||||
version = "0.1.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "mio"
 | 
			
		||||
version = "0.5.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "miow 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "net2 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "nix 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "slab 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "miow"
 | 
			
		||||
version = "0.1.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "net2 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "net2"
 | 
			
		||||
version = "0.2.21"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "nix"
 | 
			
		||||
version = "0.4.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "nodrop"
 | 
			
		||||
version = "0.1.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "odds 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "nom"
 | 
			
		||||
version = "1.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num"
 | 
			
		||||
version = "0.1.30"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num_cpus"
 | 
			
		||||
version = "0.2.10"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "odds"
 | 
			
		||||
version = "0.2.12"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "quasi"
 | 
			
		||||
version = "0.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "quasi_codegen"
 | 
			
		||||
version = "0.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "aster 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "quasi_macros"
 | 
			
		||||
version = "0.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "quasi_codegen 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand"
 | 
			
		||||
version = "0.3.14"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "regex"
 | 
			
		||||
version = "0.1.48"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "aho-corasick 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "memchr 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "regex-syntax 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "regex-syntax"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rocksdb"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rust-crypto"
 | 
			
		||||
version = "0.2.34"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "gcc 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.1.12 (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.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rustc-serialize"
 | 
			
		||||
version = "0.3.18"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rustc_version"
 | 
			
		||||
version = "0.1.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "semver"
 | 
			
		||||
version = "0.1.20"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "semver"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "nom 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde"
 | 
			
		||||
version = "0.6.12"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "num 0.1.30 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_codegen"
 | 
			
		||||
version = "0.6.13"
 | 
			
		||||
source = "git+https://github.com/debris/serde#f1fcd7ed1f3f610c7df0ede2a6928fbc05cf4efb"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "aster 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "quasi 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "quasi_macros 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_json"
 | 
			
		||||
version = "0.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "num 0.1.30 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "serde 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_macros"
 | 
			
		||||
version = "0.6.13"
 | 
			
		||||
source = "git+https://github.com/debris/serde#f1fcd7ed1f3f610c7df0ede2a6928fbc05cf4efb"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "serde_codegen 0.6.13 (git+https://github.com/debris/serde)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sha3"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "gcc 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "slab"
 | 
			
		||||
version = "0.1.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "slab"
 | 
			
		||||
version = "0.1.4"
 | 
			
		||||
source = "git+https://github.com/arkpar/slab.git#3c9284e1f010e394c9d0359b27464e8fb5c87bf0"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "solicit"
 | 
			
		||||
version = "0.4.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "hpack 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "strsim"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "target_info"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "time"
 | 
			
		||||
version = "0.1.34"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tiny-keccak"
 | 
			
		||||
version = "1.0.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "traitobject"
 | 
			
		||||
version = "0.0.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "typeable"
 | 
			
		||||
version = "0.1.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicase"
 | 
			
		||||
version = "1.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rustc_version 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-bidi"
 | 
			
		||||
version = "0.2.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-normalization"
 | 
			
		||||
version = "0.1.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "url"
 | 
			
		||||
version = "0.2.38"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "uuid 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "url"
 | 
			
		||||
version = "0.5.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "uuid 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "uuid"
 | 
			
		||||
version = "0.1.18"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi"
 | 
			
		||||
version = "0.2.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi-build"
 | 
			
		||||
version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ws2_32-sys"
 | 
			
		||||
version = "0.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "xml-rs"
 | 
			
		||||
version = "0.1.26"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "xml-rs"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "xmltree"
 | 
			
		||||
version = "0.3.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "xml-rs 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,7 @@ pub type LogBloom = H2048;
 | 
			
		||||
/// Constant 2048-bit datum for 0. Often used as a default.
 | 
			
		||||
pub static ZERO_LOGBLOOM: LogBloom = H2048([0x00; 256]);
 | 
			
		||||
 | 
			
		||||
#[allow(enum_variant_names)]
 | 
			
		||||
/// Semantic boolean for when a seal/signature is included.
 | 
			
		||||
pub enum Seal {
 | 
			
		||||
	/// The seal/signature is included.
 | 
			
		||||
 | 
			
		||||
@ -87,6 +87,7 @@ struct QueueSignal {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl QueueSignal {
 | 
			
		||||
	#[allow(bool_comparison)]
 | 
			
		||||
	fn set(&self) {
 | 
			
		||||
		if self.signalled.compare_and_swap(false, true, AtomicOrdering::Relaxed) == false {
 | 
			
		||||
			self.message_channel.send(UserMessage(SyncMessage::BlockVerified)).expect("Error sending BlockVerified message");
 | 
			
		||||
 | 
			
		||||
@ -212,7 +212,7 @@ impl Memory for Vec<u8> {
 | 
			
		||||
	fn write(&mut self, offset: U256, value: U256) {
 | 
			
		||||
		let off = offset.low_u64() as usize;
 | 
			
		||||
		let mut val = value;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		let end = off + 32;
 | 
			
		||||
		for pos in 0..32 {
 | 
			
		||||
			self[end - pos - 1] = val.low_u64() as u8;
 | 
			
		||||
@ -229,7 +229,7 @@ impl Memory for Vec<u8> {
 | 
			
		||||
	fn resize(&mut self, new_size: usize) {
 | 
			
		||||
		self.resize(new_size, 0);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	fn expand(&mut self, size: usize) {
 | 
			
		||||
		if size > self.len() {
 | 
			
		||||
			Memory::resize(self, size)
 | 
			
		||||
@ -258,6 +258,7 @@ impl<'a> CodeReader<'a> {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[allow(enum_variant_names)]
 | 
			
		||||
enum InstructionCost {
 | 
			
		||||
	Gas(U256),
 | 
			
		||||
	GasMem(U256, U256),
 | 
			
		||||
@ -282,7 +283,7 @@ impl evm::Evm for Interpreter {
 | 
			
		||||
		let code = ¶ms.code.as_ref().unwrap();
 | 
			
		||||
		let valid_jump_destinations = self.find_jump_destinations(&code);
 | 
			
		||||
 | 
			
		||||
		let mut current_gas = params.gas.clone();
 | 
			
		||||
		let mut current_gas = params.gas;
 | 
			
		||||
		let mut stack = VecStack::with_capacity(ext.schedule().stack_limit, U256::zero());
 | 
			
		||||
		let mut mem = vec![];
 | 
			
		||||
		let mut reader = CodeReader {
 | 
			
		||||
@ -331,7 +332,7 @@ impl evm::Evm for Interpreter {
 | 
			
		||||
					let pos = try!(self.verify_jump(position, &valid_jump_destinations));
 | 
			
		||||
					reader.position = pos;
 | 
			
		||||
				},
 | 
			
		||||
				InstructionResult::StopExecutionWithGasLeft(gas_left) => { 
 | 
			
		||||
				InstructionResult::StopExecutionWithGasLeft(gas_left) => {
 | 
			
		||||
					current_gas = gas_left;
 | 
			
		||||
					reader.position = code.len();
 | 
			
		||||
				},
 | 
			
		||||
@ -380,10 +381,9 @@ impl Interpreter {
 | 
			
		||||
 | 
			
		||||
				let gas = if self.is_zero(&val) && !self.is_zero(newval) {
 | 
			
		||||
					schedule.sstore_set_gas
 | 
			
		||||
				} else if !self.is_zero(&val) && self.is_zero(newval) {
 | 
			
		||||
					// Refund is added when actually executing sstore
 | 
			
		||||
					schedule.sstore_reset_gas
 | 
			
		||||
				} else {
 | 
			
		||||
					// Refund for below case is added when actually executing sstore
 | 
			
		||||
					// !self.is_zero(&val) && self.is_zero(newval)
 | 
			
		||||
					schedule.sstore_reset_gas
 | 
			
		||||
				};
 | 
			
		||||
				InstructionCost::Gas(U256::from(gas))
 | 
			
		||||
@ -406,10 +406,7 @@ impl Interpreter {
 | 
			
		||||
				let gas = U256::from(schedule.sha3_gas) + (U256::from(schedule.sha3_word_gas) * words);
 | 
			
		||||
				InstructionCost::GasMem(gas, try!(self.mem_needed(stack.peek(0), stack.peek(1))))
 | 
			
		||||
			},
 | 
			
		||||
			instructions::CALLDATACOPY => {
 | 
			
		||||
				InstructionCost::GasMemCopy(default_gas, try!(self.mem_needed(stack.peek(0), stack.peek(2))), stack.peek(2).clone())
 | 
			
		||||
			},
 | 
			
		||||
			instructions::CODECOPY => {
 | 
			
		||||
			instructions::CALLDATACOPY | instructions::CODECOPY => {
 | 
			
		||||
				InstructionCost::GasMemCopy(default_gas, try!(self.mem_needed(stack.peek(0), stack.peek(2))), stack.peek(2).clone())
 | 
			
		||||
			},
 | 
			
		||||
			instructions::EXTCODECOPY => {
 | 
			
		||||
@ -432,7 +429,7 @@ impl Interpreter {
 | 
			
		||||
					try!(self.mem_needed(stack.peek(5), stack.peek(6))),
 | 
			
		||||
					try!(self.mem_needed(stack.peek(3), stack.peek(4)))
 | 
			
		||||
				);
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				let address = u256_to_address(stack.peek(1));
 | 
			
		||||
 | 
			
		||||
				if instruction == instructions::CALL && !ext.exists(&address) {
 | 
			
		||||
@ -529,8 +526,8 @@ impl Interpreter {
 | 
			
		||||
						params: &ActionParams,
 | 
			
		||||
						ext: &mut evm::Ext,
 | 
			
		||||
						instruction: Instruction,
 | 
			
		||||
						code: &mut CodeReader, 
 | 
			
		||||
						mem: &mut Memory, 
 | 
			
		||||
						code: &mut CodeReader,
 | 
			
		||||
						mem: &mut Memory,
 | 
			
		||||
						stack: &mut Stack<U256>
 | 
			
		||||
					   ) -> Result<InstructionResult, evm::Error> {
 | 
			
		||||
		match instruction {
 | 
			
		||||
@ -559,7 +556,7 @@ impl Interpreter {
 | 
			
		||||
 | 
			
		||||
				let contract_code = mem.read_slice(init_off, init_size);
 | 
			
		||||
				let can_create = ext.balance(¶ms.address) >= endowment && ext.depth() < ext.schedule().max_depth;
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				if !can_create {
 | 
			
		||||
					stack.push(U256::zero());
 | 
			
		||||
					return Ok(InstructionResult::Ok);
 | 
			
		||||
@ -638,7 +635,7 @@ impl Interpreter {
 | 
			
		||||
						Ok(InstructionResult::Ok)
 | 
			
		||||
					}
 | 
			
		||||
				};
 | 
			
		||||
			}, 
 | 
			
		||||
			},
 | 
			
		||||
			instructions::RETURN => {
 | 
			
		||||
				let init_off = stack.pop_back();
 | 
			
		||||
				let init_size = stack.pop_back();
 | 
			
		||||
@ -832,20 +829,20 @@ impl Interpreter {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fn verify_instructions_requirements(&self, 
 | 
			
		||||
										info: &instructions::InstructionInfo, 
 | 
			
		||||
										stack_limit: usize, 
 | 
			
		||||
	fn verify_instructions_requirements(&self,
 | 
			
		||||
										info: &instructions::InstructionInfo,
 | 
			
		||||
										stack_limit: usize,
 | 
			
		||||
										stack: &Stack<U256>) -> Result<(), evm::Error> {
 | 
			
		||||
		if !stack.has(info.args) {
 | 
			
		||||
			Err(evm::Error::StackUnderflow {
 | 
			
		||||
				instruction: info.name,
 | 
			
		||||
				wanted: info.args, 
 | 
			
		||||
				wanted: info.args,
 | 
			
		||||
				on_stack: stack.size()
 | 
			
		||||
			})
 | 
			
		||||
		} else if stack.size() - info.args + info.ret > stack_limit {
 | 
			
		||||
			Err(evm::Error::OutOfStack {
 | 
			
		||||
				instruction: info.name,
 | 
			
		||||
				wanted: info.ret - info.args, 
 | 
			
		||||
				wanted: info.ret - info.args,
 | 
			
		||||
				limit: stack_limit
 | 
			
		||||
			})
 | 
			
		||||
		} else {
 | 
			
		||||
@ -919,7 +916,7 @@ impl Interpreter {
 | 
			
		||||
				stack.push(if !self.is_zero(&b) {
 | 
			
		||||
					a.overflowing_div(b).0
 | 
			
		||||
				} else {
 | 
			
		||||
					U256::zero() 
 | 
			
		||||
					U256::zero()
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			instructions::MOD => {
 | 
			
		||||
@ -978,9 +975,9 @@ impl Interpreter {
 | 
			
		||||
				let (a, neg_a) = get_and_reset_sign(stack.pop_back());
 | 
			
		||||
				let (b, neg_b) = get_and_reset_sign(stack.pop_back());
 | 
			
		||||
 | 
			
		||||
				let is_positive_lt = a < b && (neg_a | neg_b) == false;
 | 
			
		||||
				let is_negative_lt = a > b && (neg_a & neg_b) == true;
 | 
			
		||||
				let has_different_signs = neg_a == true && neg_b == false;
 | 
			
		||||
				let is_positive_lt = a < b && !(neg_a | neg_b);
 | 
			
		||||
				let is_negative_lt = a > b && (neg_a & neg_b);
 | 
			
		||||
				let has_different_signs = neg_a && !neg_b;
 | 
			
		||||
 | 
			
		||||
				stack.push(self.bool_to_u256(is_positive_lt | is_negative_lt | has_different_signs));
 | 
			
		||||
			},
 | 
			
		||||
@ -993,9 +990,9 @@ impl Interpreter {
 | 
			
		||||
				let (a, neg_a) = get_and_reset_sign(stack.pop_back());
 | 
			
		||||
				let (b, neg_b) = get_and_reset_sign(stack.pop_back());
 | 
			
		||||
 | 
			
		||||
				let is_positive_gt = a > b && (neg_a | neg_b) == false;
 | 
			
		||||
				let is_negative_gt = a < b && (neg_a & neg_b) == true;
 | 
			
		||||
				let has_different_signs = neg_a == false && neg_b == true;
 | 
			
		||||
				let is_positive_gt = a > b && !(neg_a | neg_b);
 | 
			
		||||
				let is_negative_gt = a < b && (neg_a & neg_b);
 | 
			
		||||
				let has_different_signs = !neg_a && neg_b;
 | 
			
		||||
 | 
			
		||||
				stack.push(self.bool_to_u256(is_positive_gt | is_negative_gt | has_different_signs));
 | 
			
		||||
			},
 | 
			
		||||
@ -1175,7 +1172,7 @@ mod tests {
 | 
			
		||||
		let schedule = evm::Schedule::default();
 | 
			
		||||
		let current_mem_size = 0;
 | 
			
		||||
		let mem_size = U256::from(5);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		// when
 | 
			
		||||
		let (mem_cost, mem_size) = interpreter.mem_gas_cost(&schedule, current_mem_size, &mem_size).unwrap();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -25,6 +25,7 @@ struct FakeLogEntry {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(PartialEq, Eq, Hash, Debug)]
 | 
			
		||||
#[allow(enum_variant_names)] // Common prefix is C ;)
 | 
			
		||||
enum FakeCallType {
 | 
			
		||||
	CALL, CREATE
 | 
			
		||||
}
 | 
			
		||||
@ -59,7 +60,7 @@ struct FakeExt {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl FakeExt {
 | 
			
		||||
	fn new() -> Self { 
 | 
			
		||||
	fn new() -> Self {
 | 
			
		||||
		FakeExt::default()
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@ -104,13 +105,13 @@ impl Ext for FakeExt {
 | 
			
		||||
		ContractCreateResult::Failed
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fn call(&mut self, 
 | 
			
		||||
			gas: &U256, 
 | 
			
		||||
			sender_address: &Address, 
 | 
			
		||||
			receive_address: &Address, 
 | 
			
		||||
	fn call(&mut self,
 | 
			
		||||
			gas: &U256,
 | 
			
		||||
			sender_address: &Address,
 | 
			
		||||
			receive_address: &Address,
 | 
			
		||||
			value: Option<U256>,
 | 
			
		||||
			data: &[u8], 
 | 
			
		||||
			code_address: &Address, 
 | 
			
		||||
			data: &[u8],
 | 
			
		||||
			code_address: &Address,
 | 
			
		||||
			_output: &mut [u8]) -> MessageCallResult {
 | 
			
		||||
 | 
			
		||||
		self.calls.insert(FakeCall {
 | 
			
		||||
@ -176,7 +177,7 @@ fn test_stack_underflow() {
 | 
			
		||||
		let vm : Box<evm::Evm> = Box::new(super::interpreter::Interpreter);
 | 
			
		||||
		vm.exec(params, &mut ext).unwrap_err()
 | 
			
		||||
	};
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	match err {
 | 
			
		||||
		evm::Error::StackUnderflow {wanted, on_stack, ..} => {
 | 
			
		||||
			assert_eq!(wanted, 2);
 | 
			
		||||
@ -353,7 +354,7 @@ evm_test!{test_log_sender: test_log_sender_jit, test_log_sender_int}
 | 
			
		||||
fn test_log_sender(factory: super::Factory) {
 | 
			
		||||
	// 60 ff - push ff
 | 
			
		||||
	// 60 00 - push 00
 | 
			
		||||
	// 53 - mstore 
 | 
			
		||||
	// 53 - mstore
 | 
			
		||||
	// 33 - sender
 | 
			
		||||
	// 60 20 - push 20
 | 
			
		||||
	// 60 00 - push 0
 | 
			
		||||
@ -449,7 +450,7 @@ fn test_author(factory: super::Factory) {
 | 
			
		||||
 | 
			
		||||
evm_test!{test_timestamp: test_timestamp_jit, test_timestamp_int}
 | 
			
		||||
fn test_timestamp(factory: super::Factory) {
 | 
			
		||||
	let timestamp = 0x1234; 
 | 
			
		||||
	let timestamp = 0x1234;
 | 
			
		||||
	let code = "42600055".from_hex().unwrap();
 | 
			
		||||
 | 
			
		||||
	let mut params = ActionParams::default();
 | 
			
		||||
@ -469,7 +470,7 @@ fn test_timestamp(factory: super::Factory) {
 | 
			
		||||
 | 
			
		||||
evm_test!{test_number: test_number_jit, test_number_int}
 | 
			
		||||
fn test_number(factory: super::Factory) {
 | 
			
		||||
	let number = 0x1234; 
 | 
			
		||||
	let number = 0x1234;
 | 
			
		||||
	let code = "43600055".from_hex().unwrap();
 | 
			
		||||
 | 
			
		||||
	let mut params = ActionParams::default();
 | 
			
		||||
 | 
			
		||||
@ -363,7 +363,7 @@ mod tests {
 | 
			
		||||
			&Address::new(),
 | 
			
		||||
			&Address::new(),
 | 
			
		||||
			Some(U256::from_str("0000000000000000000000000000000000000000000000000000000000150000").unwrap()),
 | 
			
		||||
			&vec![],
 | 
			
		||||
			&[],
 | 
			
		||||
			&Address::new(),
 | 
			
		||||
			&mut output);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -18,8 +18,15 @@
 | 
			
		||||
#![feature(cell_extras)]
 | 
			
		||||
#![feature(augmented_assignments)]
 | 
			
		||||
#![feature(plugin)]
 | 
			
		||||
// Clippy
 | 
			
		||||
#![plugin(clippy)]
 | 
			
		||||
#![allow(needless_range_loop, match_bool)]
 | 
			
		||||
// TODO [todr] not really sure
 | 
			
		||||
#![allow(needless_range_loop)]
 | 
			
		||||
// Shorter than if-else
 | 
			
		||||
#![allow(match_bool)]
 | 
			
		||||
// Keeps consistency (all lines with `.clone()`) and helpful when changing ref to non-ref.
 | 
			
		||||
#![allow(clone_on_copy)]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//! Ethcore library
 | 
			
		||||
//!
 | 
			
		||||
@ -54,7 +61,7 @@
 | 
			
		||||
//!   cd parity
 | 
			
		||||
//!   cargo build --release
 | 
			
		||||
//!   ```
 | 
			
		||||
//!   
 | 
			
		||||
//!
 | 
			
		||||
//! - OSX:
 | 
			
		||||
//!
 | 
			
		||||
//!   ```bash
 | 
			
		||||
@ -124,8 +131,8 @@ mod executive;
 | 
			
		||||
mod externalities;
 | 
			
		||||
mod verification;
 | 
			
		||||
 | 
			
		||||
#[cfg(test)] 
 | 
			
		||||
#[cfg(test)]
 | 
			
		||||
mod tests;
 | 
			
		||||
#[cfg(test)]
 | 
			
		||||
#[cfg(feature="json-tests")] 
 | 
			
		||||
#[cfg(feature="json-tests")]
 | 
			
		||||
mod json_tests;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								evmjit/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								evmjit/.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,3 +0,0 @@
 | 
			
		||||
target
 | 
			
		||||
Cargo.lock
 | 
			
		||||
*.swp
 | 
			
		||||
@ -165,7 +165,7 @@ impl Configuration {
 | 
			
		||||
			}
 | 
			
		||||
			Some(ref a) => {
 | 
			
		||||
				public_address = SocketAddr::from_str(a.as_ref()).expect("Invalid listen/public address given with --address");
 | 
			
		||||
				listen_address = public_address.clone();
 | 
			
		||||
				listen_address = public_address;
 | 
			
		||||
			}
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -55,6 +55,7 @@ impl Visitor for BlockNumberVisitor {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Into<BlockId> for BlockNumber {
 | 
			
		||||
	#[allow(match_same_arms)]
 | 
			
		||||
	fn into(self) -> BlockId {
 | 
			
		||||
		match self {
 | 
			
		||||
			BlockNumber::Num(n) => BlockId::Number(n),
 | 
			
		||||
 | 
			
		||||
@ -14,17 +14,17 @@
 | 
			
		||||
// You should have received a copy of the GNU General Public License
 | 
			
		||||
// along with Parity.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
/// 
 | 
			
		||||
///
 | 
			
		||||
/// BlockChain synchronization strategy.
 | 
			
		||||
/// Syncs to peers and keeps up to date. 
 | 
			
		||||
/// Syncs to peers and keeps up to date.
 | 
			
		||||
/// This implementation uses ethereum protocol v63
 | 
			
		||||
///
 | 
			
		||||
/// Syncing strategy.
 | 
			
		||||
///
 | 
			
		||||
/// 1. A peer arrives with a total difficulty better than ours
 | 
			
		||||
/// 2. Find a common best block between our an peer chain. 
 | 
			
		||||
/// 2. Find a common best block between our an peer chain.
 | 
			
		||||
/// Start with out best block and request headers from peer backwards until a common block is found
 | 
			
		||||
/// 3. Download headers and block bodies from peers in parallel. 
 | 
			
		||||
/// 3. Download headers and block bodies from peers in parallel.
 | 
			
		||||
/// As soon as a set of the blocks is fully downloaded at the head of the queue it is fed to the blockchain
 | 
			
		||||
/// 4. Maintain sync by handling NewBlocks/NewHashes messages
 | 
			
		||||
///
 | 
			
		||||
@ -250,6 +250,8 @@ impl ChainSync {
 | 
			
		||||
		self.peers.clear();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	#[allow(for_kv_map)] // Because it's not possible to get `values_mut()`
 | 
			
		||||
	/// Rest sync. Clear all downloaded data but keep the queue
 | 
			
		||||
	fn reset(&mut self) {
 | 
			
		||||
		self.downloading_headers.clear();
 | 
			
		||||
@ -1063,7 +1065,7 @@ impl ChainSync {
 | 
			
		||||
			GET_NODE_DATA_PACKET => self.return_rlp(io, &rlp,
 | 
			
		||||
				ChainSync::return_node_data,
 | 
			
		||||
				|e| format!("Error sending nodes: {:?}", e)),
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
			_ => {
 | 
			
		||||
				debug!(target: "sync", "Unknown packet {}", packet_id);
 | 
			
		||||
				Ok(())
 | 
			
		||||
@ -1100,8 +1102,7 @@ impl ChainSync {
 | 
			
		||||
						let mut rlp_stream = RlpStream::new_list(route.blocks.len());
 | 
			
		||||
						for block_hash in route.blocks {
 | 
			
		||||
							let mut hash_rlp = RlpStream::new_list(2);
 | 
			
		||||
							let difficulty = chain.block_total_difficulty(BlockId::Hash(block_hash.clone())).unwrap();
 | 
			
		||||
		
 | 
			
		||||
							let difficulty = chain.block_total_difficulty(BlockId::Hash(block_hash.clone())).expect("Mallformed block without a difficulty on the chain!");
 | 
			
		||||
							hash_rlp.append(&block_hash);
 | 
			
		||||
							hash_rlp.append(&difficulty);
 | 
			
		||||
							rlp_stream.append_raw(&hash_rlp.out(), 1);
 | 
			
		||||
 | 
			
		||||
@ -16,8 +16,11 @@
 | 
			
		||||
 | 
			
		||||
#![warn(missing_docs)]
 | 
			
		||||
#![feature(plugin)]
 | 
			
		||||
#![plugin(clippy)]
 | 
			
		||||
#![feature(augmented_assignments)]
 | 
			
		||||
#![plugin(clippy)]
 | 
			
		||||
// Keeps consistency (all lines with `.clone()`) and helpful when changing ref to non-ref.
 | 
			
		||||
#![allow(clone_on_copy)]
 | 
			
		||||
 | 
			
		||||
//! Blockchain sync module
 | 
			
		||||
//! Implements ethereum protocol version 63 as specified here:
 | 
			
		||||
//! https://github.com/ethereum/wiki/wiki/Ethereum-Wire-Protocol
 | 
			
		||||
 | 
			
		||||
@ -170,8 +170,7 @@ impl<K, V> RangeCollection<K, V> for Vec<(K, Vec<V>)> where K: Ord + PartialEq +
 | 
			
		||||
 | 
			
		||||
		// todo: fix warning
 | 
			
		||||
		let lower = match self.binary_search_by(|&(k, _)| k.cmp(&key).reverse()) {
 | 
			
		||||
			Ok(index) => index,
 | 
			
		||||
			Err(index) => index,
 | 
			
		||||
			Ok(index) | Err(index) => index
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		let mut to_remove: Option<usize> = None;
 | 
			
		||||
 | 
			
		||||
@ -20,9 +20,17 @@
 | 
			
		||||
#![feature(associated_consts)]
 | 
			
		||||
#![feature(plugin)]
 | 
			
		||||
#![feature(ip)]
 | 
			
		||||
#![plugin(clippy)]
 | 
			
		||||
#![allow(needless_range_loop, match_bool)]
 | 
			
		||||
#![feature(catch_panic)]
 | 
			
		||||
// Clippy settings
 | 
			
		||||
#![plugin(clippy)]
 | 
			
		||||
// TODO [todr] not really sure
 | 
			
		||||
#![allow(needless_range_loop)]
 | 
			
		||||
// Shorter than if-else
 | 
			
		||||
#![allow(match_bool)]
 | 
			
		||||
// We use that to be more explicit about handled cases
 | 
			
		||||
#![allow(match_same_arms)]
 | 
			
		||||
// Keeps consistency (all lines with `.clone()`) and helpful when changing ref to non-ref.
 | 
			
		||||
#![allow(clone_on_copy)]
 | 
			
		||||
 | 
			
		||||
//! Ethcore-util library
 | 
			
		||||
//!
 | 
			
		||||
 | 
			
		||||
@ -104,7 +104,7 @@ impl<F> OnPanicListener for F
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn convert_to_string(t: &Box<Any + Send>) -> Option<String> {
 | 
			
		||||
	let as_str = t.downcast_ref::<&'static str>().map(|t| t.clone().to_owned());
 | 
			
		||||
	let as_str = t.downcast_ref::<&'static str>().cloned().map(|t| t.to_owned());
 | 
			
		||||
	let as_string = t.downcast_ref::<String>().cloned();
 | 
			
		||||
 | 
			
		||||
	as_str.or(as_string)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user