From ad392a0ef00493502ad6ac306a593dc607a26305 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Fri, 22 Jun 2018 19:04:18 +0200 Subject: [PATCH] Introduce and enforce block time (#232) * Recompile runtime. * Introduce and enforce block time --- substrate/Cargo.lock | 1 + substrate/demo/runtime/wasm/Cargo.lock | 286 ++++++++++++++++++ .../release/demo_runtime.compact.wasm | Bin 408085 -> 408857 bytes .../release/demo_runtime.wasm | Bin 442691 -> 443413 bytes substrate/polkadot/api/src/full.rs | 1 + substrate/polkadot/cli/src/preset_config.rs | 2 + substrate/polkadot/runtime/src/lib.rs | 1 + substrate/polkadot/runtime/wasm/Cargo.lock | 286 ++++++++++++++++++ .../release/polkadot_runtime.compact.wasm | Bin 439594 -> 440218 bytes .../release/polkadot_runtime.wasm | Bin 481451 -> 482181 bytes .../release/runtime_test.compact.wasm | Bin 15619 -> 15619 bytes .../release/runtime_test.wasm | Bin 16166 -> 16166 bytes .../substrate/runtime/timestamp/src/lib.rs | 49 ++- substrate/substrate/telemetry/Cargo.toml | 1 + .../substrate/test-runtime/wasm/Cargo.lock | 286 ++++++++++++++++++ .../substrate_test_runtime.compact.wasm | Bin 20287 -> 20288 bytes .../release/substrate_test_runtime.wasm | Bin 22369 -> 22370 bytes 17 files changed, 908 insertions(+), 5 deletions(-) diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index 5d8c2e0c050..e5d1ff228f5 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -2531,6 +2531,7 @@ name = "substrate-telemetry" version = "0.2.0" dependencies = [ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/substrate/demo/runtime/wasm/Cargo.lock b/substrate/demo/runtime/wasm/Cargo.lock index 8532d96db99..70d2bc787d8 100644 --- a/substrate/demo/runtime/wasm/Cargo.lock +++ b/substrate/demo/runtime/wasm/Cargo.lock @@ -1,3 +1,16 @@ +[[package]] +name = "aho-corasick" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ansi_term" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "arrayvec" version = "0.4.7" @@ -6,6 +19,16 @@ dependencies = [ "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "atty" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "base58" version = "0.1.0" @@ -136,10 +159,24 @@ dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "env_logger" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "environmental" version = "0.1.0" +[[package]] +name = "error-chain" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "ethbloom" version = "0.5.0" @@ -152,6 +189,27 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ethcore-bytes" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" + +[[package]] +name = "ethcore-logger" +version = "1.12.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ethereum-types" version = "0.3.2" @@ -213,6 +271,15 @@ name = "gcc" version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "hashdb" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "heapsize" version = "0.4.2" @@ -253,6 +320,25 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "keccak-hash" +version = "0.1.2" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "kvdb" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "lazy_static" version = "0.2.11" @@ -284,6 +370,14 @@ dependencies = [ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "memchr" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "memoffset" version = "0.2.1" @@ -294,6 +388,20 @@ name = "memory_units" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "memorydb" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "nodrop" version = "0.1.12" @@ -338,6 +446,15 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parking_lot" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parking_lot" version = "0.5.5" @@ -358,6 +475,33 @@ dependencies = [ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "patricia-trie" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", + "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "triehash 0.1.0 (git+https://github.com/paritytech/parity.git)", +] + +[[package]] +name = "plain_hasher" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "proc-macro-hack" version = "0.4.0" @@ -449,6 +593,39 @@ dependencies = [ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "redox_syscall" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_termios" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ring" version = "0.12.1" @@ -461,6 +638,17 @@ dependencies = [ "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "rlp" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "rlp" version = "0.2.2" @@ -801,7 +989,14 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)", "substrate-primitives 0.1.0", "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -816,6 +1011,35 @@ dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "termion" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "time" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tiny-keccak" version = "1.4.2" @@ -824,6 +1048,17 @@ dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "triehash" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "triehash" version = "0.1.2" @@ -843,6 +1078,11 @@ dependencies = [ "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ucd-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "uint" version = "0.1.2" @@ -869,11 +1109,29 @@ name = "unicode-xid" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "untrusted" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "utf8-ranges" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "wasmi" version = "0.1.3" @@ -904,7 +1162,10 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] +"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" +"checksum ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455" "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" +"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" @@ -917,7 +1178,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" +"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" +"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" +"checksum ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" "checksum fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" @@ -925,26 +1190,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" +"checksum hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" +"checksum keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)" = "" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" +"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +"checksum memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-wasm 0.27.6 (registry+https://github.com/rust-lang/crates.io-index)" = "bd4dc02a80a0315b109e48992c46942c79bcdb8fac416dd575d330ed9ced6cbd" "checksum parity-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41083957b80abb8a01fac4d2773d5f92653aed8f0b740c8d3da1da62c7857abe" +"checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" +"checksum patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -954,7 +1227,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" +"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" +"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" +"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" +"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)" = "" @@ -967,13 +1245,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum smallvec 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03dab98ab5ded3a8b43b2c80751194608d0b2aa0f1d46cf95d1c35e192844aa7" "checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" +"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" +"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963" +"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" +"checksum triehash 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" +"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" +"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wasmi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d19da510b59247935ad5f598357b3cc739912666d75d3d28318026478d95bbdb" "checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" diff --git a/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm b/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm index 9e847aac35fcc5e421329ff5b0d45236cac9c85e..05f39388163fff4cec902a937d2b4ee878a36f36 100644 GIT binary patch delta 29364 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

EWIfji!S2sFG%wiRP0q99O zQQhdoW>d{XqZ=--M;h0#BWMlqkqTFSm-sI-QWUS&SJ`B#G$ zz*Ru5nm(*yJjxfcJ7n$ZG^{=VHMXXaz@KJqf*nND_L^A2{F+7_HOn+Y&1#0rs0jna z?#4!28j33?cwdy^b5hYuZu&iM^Q2S62LKqg6nFT4>~ccO*!4@izHBYQIav9ifbDY{H0qe{9GF_d0CEg z2R-SOv{wgRuVLNIsV=Hxc;E;&yspt9GNbQ++?@RWxdV!_Gcq&#XTPel>A||_;WZiW z33cRfT_cyT!>zEQnIDtUqdVDn0FO+7g66a%8HBi=bqp34@C_y~{b)U1&j_LJ^^9o# zhKbu~LMK&daXq6Z-^e=1hUHaj@lC9Kg{;*2nC_d@t-jHXZ@!`Zk@{%Ag>?!JT!rEq z7`3^NwU$|m1f!|A0cve!&CGrBS_6>STY)y9|2X=01EUt-#_lz{QCW91G#aw)G`yiv z%HO_WEmcyCYH+hkPcb_19f8@PO*Y@jI+ypbxUrGMcLiXg`s~&iJ9Kx2CUNw2j*-as zRG6BL^i)88uSwfGa}nQ1$8(MLd_QYU-=t$ryE2Ws{9UvOq#`Li69{~v-@ZF%LM~DKwqaDZTLZO??B^la)cXJx+lXZVDHmY8ODA55bI6zGr#~J$u~Td zpAXVGd~1tES!i*Dj%A_6(F!dx;X^Pi-5AD?GcUOl!2%1@jZ}UDyiIKeMLj&n7{EUO zUsi}u$OV;ssFoa^-nSrgKtXmBY~Zyd8tM|{|vuYfmZeC*Hj~xe-1RLRBoD4gMSf7 zO+t#DqLpbzYkZcsg;^ys9nk%Xl~tI>Q<+9J{FiKC={e!r~zzFGM> zS$(s!Pn#QLdkT8^#w2P*`eC%7v5|`VP3)iUxSf}rEHXQzATN7BL0;dCq5=eYXXw>@ zBaMA;0;Z_AsGzuCc78@i|NiL%vUAQ>fS#8yAuBB_0IGh#QK;Z?sKDs1o%5e08Abj2 o=k`r6&dx5#>4yXAe1+xoV;5*t6C9ow>D4AUBQDVwO^jy$3x<(xs{jB1 diff --git a/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm b/substrate/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm index fe49b81f28780c28dd3928781948b89f74f6afe2..98a235ac4d425e213cfa800a56b2a8a68155a596 100755 GIT binary patch delta 31292 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 staking, DemocracyConfig => democracy, CouncilConfig => council, + TimestampConfig => timestamp, ParachainsConfig => parachains, } } diff --git a/substrate/polkadot/runtime/wasm/Cargo.lock b/substrate/polkadot/runtime/wasm/Cargo.lock index aac3375c7a3..fa7ed53805c 100644 --- a/substrate/polkadot/runtime/wasm/Cargo.lock +++ b/substrate/polkadot/runtime/wasm/Cargo.lock @@ -1,3 +1,16 @@ +[[package]] +name = "aho-corasick" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ansi_term" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "arrayvec" version = "0.4.7" @@ -6,6 +19,16 @@ dependencies = [ "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "atty" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "base58" version = "0.1.0" @@ -101,10 +124,24 @@ dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "env_logger" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "environmental" version = "0.1.0" +[[package]] +name = "error-chain" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "ethbloom" version = "0.5.0" @@ -117,6 +154,27 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ethcore-bytes" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" + +[[package]] +name = "ethcore-logger" +version = "1.12.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ethereum-types" version = "0.3.2" @@ -178,6 +236,15 @@ name = "gcc" version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "hashdb" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "heapsize" version = "0.4.2" @@ -218,6 +285,25 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "keccak-hash" +version = "0.1.2" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "kvdb" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "lazy_static" version = "0.2.11" @@ -249,6 +335,14 @@ dependencies = [ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "memchr" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "memoffset" version = "0.2.1" @@ -259,6 +353,20 @@ name = "memory_units" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "memorydb" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "nodrop" version = "0.1.12" @@ -303,6 +411,15 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parking_lot" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parking_lot" version = "0.5.5" @@ -323,6 +440,33 @@ dependencies = [ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "patricia-trie" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", + "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "triehash 0.1.0 (git+https://github.com/paritytech/parity.git)", +] + +[[package]] +name = "plain_hasher" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "polkadot-primitives" version = "0.1.0" @@ -449,6 +593,39 @@ dependencies = [ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "redox_syscall" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_termios" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ring" version = "0.12.1" @@ -461,6 +638,17 @@ dependencies = [ "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "rlp" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "rlp" version = "0.2.2" @@ -801,7 +989,14 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)", "substrate-primitives 0.1.0", "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -816,6 +1011,35 @@ dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "termion" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "time" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tiny-keccak" version = "1.4.2" @@ -824,6 +1048,17 @@ dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "triehash" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "triehash" version = "0.1.2" @@ -843,6 +1078,11 @@ dependencies = [ "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ucd-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "uint" version = "0.1.2" @@ -869,11 +1109,29 @@ name = "unicode-xid" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "untrusted" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "utf8-ranges" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "wasmi" version = "0.1.3" @@ -904,7 +1162,10 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] +"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" +"checksum ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455" "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" +"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" @@ -917,7 +1178,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" +"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" +"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" +"checksum ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" "checksum fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" @@ -925,26 +1190,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" +"checksum hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" +"checksum keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)" = "" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" +"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +"checksum memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-wasm 0.27.6 (registry+https://github.com/rust-lang/crates.io-index)" = "bd4dc02a80a0315b109e48992c46942c79bcdb8fac416dd575d330ed9ced6cbd" "checksum parity-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41083957b80abb8a01fac4d2773d5f92653aed8f0b740c8d3da1da62c7857abe" +"checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" +"checksum patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -954,7 +1227,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" +"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" +"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" +"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" +"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)" = "" @@ -967,13 +1245,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum smallvec 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03dab98ab5ded3a8b43b2c80751194608d0b2aa0f1d46cf95d1c35e192844aa7" "checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" +"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" +"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963" +"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" +"checksum triehash 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" +"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" +"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wasmi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d19da510b59247935ad5f598357b3cc739912666d75d3d28318026478d95bbdb" "checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" diff --git a/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm b/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm index 990a7ac369de57780dab48c53298e9deaa6871cc..62fe9a81b18c86f60029ef10fb32d0d3811a63a8 100644 GIT binary patch delta 25937 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 W%?9THYq}`Ew`BUjGkSHczJj delta 25531 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 TjT|>@EZR)weE)I7xc&bD<{}dp diff --git a/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/substrate/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm index a950e628fc247651efdb42f1550e36472af3ac6a..7c192023a8b5c844784790e7d1a0781f5190de78 100755 GIT binary patch delta 29569 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 Dyk)j_ delta 28940 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 diff --git a/substrate/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm b/substrate/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm index d22a0299c3991c3cfa6adbb685e863a27280c2c7..3d64829c7510bf1543a2bd85fa8921e067448500 100644 GIT binary patch delta 176 zcmZp!YOb1K$H|buQV#@-brap^vvM-0=9NvhGnJam%2>k4Ik}3lM1YZto12>fh(Umt zlXLSwMh`|twaxC#mLh83n3!3CdYS5#85|9=l~`056j&S=@HsLIr~(-hSqh8_OaiK# zZKUThZf+32&dA8QIYM$Dk4HMxqhM1YHto12>fh(Umt zi)-^gMh`|tmCf$VmLi*7B(F0va&4B8-p4q(L0pPQO@YNxB1?f$fk{AZ^D^;yjGJ%C zoaW?LRbX}G$Z}lC=g95IBA~i?i`o+5$seqom{sF!CV#Y&o?L3>#HcoThn4weBkPNd E07_&kPyhe` diff --git a/substrate/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.wasm b/substrate/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.wasm index d297f18e71a59cb2a2dc6e5895bc3b8d6d84b782..24c74a0f14c72e52836b6b0e5737a9fff68f9a30 100755 GIT binary patch delta 149 zcmZ2hx2$f09VbHqOFa-U)=hN3%*x4}npZaYfvMDFOU4pL&dKW-%LN#@xVgC*fEWaL zIXO3*GUYNd>TF)j93?V&va}SBwgQWzM3w@h0+WFD=AF{>7&reFzs|_Wx%sN(KE}=A zvZp!uwG>z#IkFsA@;P!lvIuBxHdKEvGC9Mhh*5j;ZJR(woyiI|?wfUNe=!08DjX^c delta 159 zcmZ2hx2$f09VcU50!uv*Fidp6%*w@_npZaYfvMDFOU4pLuF2~d%LTX?xw*L+fEWaL zxwtl)GUYNdYHeQ393`^(pyYK%My|~>rS~yT{wprUqocs$D3PVWsK6wkvsqbU9^>Y4 z+0&f-+6t_W99fPl`5d_&Sp>8<8>+t-nf%nool$$Tf=v;-PC$H=pQ*uQ8Ec8j8*Pj? J>)8Hc1OVS5EMx!x diff --git a/substrate/substrate/runtime/timestamp/src/lib.rs b/substrate/substrate/runtime/timestamp/src/lib.rs index 73f30c27aeb..1d8ce4eb306 100644 --- a/substrate/substrate/runtime/timestamp/src/lib.rs +++ b/substrate/substrate/runtime/timestamp/src/lib.rs @@ -39,13 +39,13 @@ extern crate substrate_codec as codec; use runtime_support::{StorageValue, Parameter}; use runtime_support::dispatch::Result; -use runtime_primitives::traits::{HasPublicAux, Executable, MaybeEmpty}; +use runtime_primitives::traits::{HasPublicAux, Executable, MaybeEmpty, SimpleArithmetic}; pub trait Trait: HasPublicAux + system::Trait { // the position of the required timestamp-set extrinsic. const SET_POSITION: u32; - type Value: Parameter + Default; + type Value: Parameter + Default + SimpleArithmetic; } decl_module! { @@ -60,6 +60,8 @@ decl_module! { decl_storage! { trait Store for Module; pub Now get(now): b"tim:val" => required T::Value; + // The minimum (and advised) period between blocks. + pub BlockPeriod get(block_period): b"tim:block_period" => required T::Value; // Did the timestamp get updated in this block? DidUpdate: b"tim:did" => default bool; @@ -79,6 +81,10 @@ impl Module { "Timestamp extrinsic must be at position {} in the block", T::SET_POSITION ); + assert!( + now >= Self::get() + Self::block_period(), + "Timestamp but increment by at least between sequential blocks" + ); ::Now::put(now); ::DidUpdate::put(true); Ok(()) @@ -92,9 +98,18 @@ impl Executable for Module { } #[cfg(any(feature = "std", test))] -#[derive(Default)] pub struct GenesisConfig { pub now: T::Value, + pub period: T::Value, +} + +impl Default for GenesisConfig { + fn default() -> Self { + GenesisConfig { + now: T::Value::default(), + period: T::Value::default(), + } + } } #[cfg(any(feature = "std", test))] @@ -104,7 +119,8 @@ impl runtime_primitives::BuildStorage for GenesisConfig use runtime_io::twox_128; use codec::Slicable; map![ - twox_128(>::key()).to_vec() => self.now.encode() + twox_128(>::key()).to_vec() => self.now.encode(), + twox_128(>::key()).to_vec() => self.period.encode() ] } } @@ -143,7 +159,7 @@ mod tests { #[test] fn timestamp_works() { let mut t = system::GenesisConfig::::default().build_storage(); - t.extend(GenesisConfig:: { now: 42 }.build_storage()); + t.extend(GenesisConfig:: { now: 42, period: 0 }.build_storage()); with_externalities(&mut t, || { assert_eq!(::Now::get(), 42); @@ -151,4 +167,27 @@ mod tests { assert_eq!(Timestamp::now(), 69); }); } + + #[test] + #[should_panic(expected = "Timestamp must be updated only once in the block")] + fn double_timestamp_should_fail() { + let mut t = system::GenesisConfig::::default().build_storage(); + t.extend(GenesisConfig:: { now: 42, period: 5 }.build_storage()); + + with_externalities(&mut t, || { + assert_ok!(Timestamp::aux_dispatch(Call::set(69), &0)); + let _ = Timestamp::aux_dispatch(Call::set(70), &0); + }); + } + + #[test] + #[should_panic(expected = "Timestamp but increment by at least between sequential blocks")] + fn block_period_is_enforced() { + let mut t = system::GenesisConfig::::default().build_storage(); + t.extend(GenesisConfig:: { now: 42, period: 5 }.build_storage()); + + with_externalities(&mut t, || { + let _ = Timestamp::aux_dispatch(Call::set(46), &0); + }); + } } diff --git a/substrate/substrate/telemetry/Cargo.toml b/substrate/substrate/telemetry/Cargo.toml index 289963ef875..b368c0a83c4 100644 --- a/substrate/substrate/telemetry/Cargo.toml +++ b/substrate/substrate/telemetry/Cargo.toml @@ -7,6 +7,7 @@ description = "Telemetry utils" [dependencies] parking_lot = "0.4" lazy_static = "1.0" +log = "^0.3" slog = "^2" slog-json = "^2" slog-async = "^2" diff --git a/substrate/substrate/test-runtime/wasm/Cargo.lock b/substrate/substrate/test-runtime/wasm/Cargo.lock index c795055b8e8..8504d769100 100644 --- a/substrate/substrate/test-runtime/wasm/Cargo.lock +++ b/substrate/substrate/test-runtime/wasm/Cargo.lock @@ -1,3 +1,16 @@ +[[package]] +name = "aho-corasick" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ansi_term" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "arrayvec" version = "0.4.7" @@ -6,6 +19,16 @@ dependencies = [ "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "atty" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "base58" version = "0.1.0" @@ -101,10 +124,24 @@ dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "env_logger" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "environmental" version = "0.1.0" +[[package]] +name = "error-chain" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "ethbloom" version = "0.5.0" @@ -117,6 +154,27 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ethcore-bytes" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" + +[[package]] +name = "ethcore-logger" +version = "1.12.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ethereum-types" version = "0.3.2" @@ -178,6 +236,15 @@ name = "gcc" version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "hashdb" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "heapsize" version = "0.4.2" @@ -218,6 +285,25 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "keccak-hash" +version = "0.1.2" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "kvdb" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "lazy_static" version = "0.2.11" @@ -249,6 +335,14 @@ dependencies = [ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "memchr" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "memoffset" version = "0.2.1" @@ -259,6 +353,20 @@ name = "memory_units" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "memorydb" +version = "0.1.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "nodrop" version = "0.1.12" @@ -295,6 +403,15 @@ dependencies = [ "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parking_lot" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parking_lot" version = "0.5.5" @@ -315,6 +432,33 @@ dependencies = [ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "patricia-trie" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)", + "ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", + "triehash 0.1.0 (git+https://github.com/paritytech/parity.git)", +] + +[[package]] +name = "plain_hasher" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "proc-macro-hack" version = "0.4.0" @@ -396,6 +540,39 @@ dependencies = [ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "redox_syscall" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_termios" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ring" version = "0.12.1" @@ -408,6 +585,17 @@ dependencies = [ "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "rlp" +version = "0.2.1" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "rlp" version = "0.2.2" @@ -562,7 +750,14 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)", "substrate-primitives 0.1.0", "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -592,6 +787,35 @@ dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "termion" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "time" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tiny-keccak" version = "1.4.2" @@ -600,6 +824,17 @@ dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "triehash" +version = "0.1.0" +source = "git+https://github.com/paritytech/parity.git#458afcd2303539867e2e549ab0a5356415142b97" +dependencies = [ + "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)", + "rlp 0.2.1 (git+https://github.com/paritytech/parity.git)", +] + [[package]] name = "triehash" version = "0.1.2" @@ -619,6 +854,11 @@ dependencies = [ "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ucd-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "uint" version = "0.1.2" @@ -645,11 +885,29 @@ name = "unicode-xid" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "untrusted" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "utf8-ranges" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "wasmi" version = "0.1.3" @@ -680,7 +938,10 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] +"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4" +"checksum ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455" "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" +"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" @@ -693,7 +954,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" +"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" +"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" +"checksum ethcore-bytes 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" "checksum fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" @@ -701,25 +966,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" +"checksum hashdb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" "checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" +"checksum keccak-hash 0.1.2 (git+https://github.com/paritytech/parity.git)" = "" +"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" +"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +"checksum memorydb 0.1.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-wasm 0.27.6 (registry+https://github.com/rust-lang/crates.io-index)" = "bd4dc02a80a0315b109e48992c46942c79bcdb8fac416dd575d330ed9ced6cbd" +"checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" +"checksum patricia-trie 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" +"checksum plain_hasher 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -728,7 +1001,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" +"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" +"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" +"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" +"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" +"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity.git)" = "" "checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)" = "" @@ -741,13 +1019,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum smallvec 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03dab98ab5ded3a8b43b2c80751194608d0b2aa0f1d46cf95d1c35e192844aa7" "checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" +"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" +"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963" +"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" +"checksum triehash 0.1.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" +"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)" = "" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" +"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wasmi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d19da510b59247935ad5f598357b3cc739912666d75d3d28318026478d95bbdb" "checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" diff --git a/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index a2e791f81139948bb6eb2bd8abde1d602c681beb..26f48623addf169fc278d8f52ef857bbc81314da 100644 GIT binary patch delta 758 zcmYk3O=uHA6vt;~Ym&`&vukot!8S3iMXkveQ#VZ_X`Y%i7|>wP8mKgoRE(s>n;*5e z5cM#JfQN!NKQ4jQ<|3Gbh~!kni^W5Vcxx|uvk1P)msuFzyx-3J-@O0(ut}SnwC=UD zs%o9EOCs_q*L!cn2{KewAV72nJWQ#?$AFk@h9y`68k}nH#{bGD5!hD*N71kNMomV1 zDvT6?7-XG))zU(BT;HdYPgDr$UZUt8qQHg|0wRF{)iG&u!+lnizu{hCdrsbRXV`Bi zKjOK<{)jMbJ@qU(h2pQVsS&zv9rK$MLv|vf(T}`xZbe)^2nG4c&|}t8_^VL1ORkIT z+HAi6|L5$krzUqF1phbu+j$U2j+=Q=ac9nu&;h<>ZqPc9hR3wG&KUMf!G;Y6$d;84 zmudIpRa)bxBRSTRc_k7MtR0`=-y@pP+mB=f$;GFS0!^xPR8oMbOo5gR{*Dhden0vG zi+E%GB1*pq&%}P9h&6MePK7I|tFi=|zDK8t3Cf&QU)%yWXrnbqVgL%Bk;(fG9_di{W~P`KckE?eQ3%KQqMd;a=QRkq3wP1KbOpFQ|jVBMs|jde`<3^u)Rd delta 762 zcmYjOO=uHQ5Pt7%&ChN&yCjGTwuxyiYE8D9x-p5QdDbSufCjyZ5~vtRT8yT}n_Bc% zB$q)1g@WGdDX>~ELcNG3ryjg$Jfsv6p?mS*K`+irlb8pOnfYekH*dcAuu3;pX(Qld zyRvn}DG3YX-uD4p=5D?#bHa)4;tw+_2{KMhHp$W~&26CC+mVKB5&;J*+*JuFL66Bu zP~}4vP7Lw}K5IF_I-=Wj?3tTK^#Drlv~XbPiojsAg^)AQo--)IDmMjx?d53EHCd&m_L zU7jlS^53Vn{jKhY_PG?o>krYl;rtrGVLmeGja6j=9 zn*@@*CQ7dfM)9Ijri$#qVPMi2?i``r_RT;*kOT0s4Z+g*Yyd*j6#O?f3^B CLcpQ` diff --git a/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm b/substrate/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm index 2a2f3a4510db3532f9819074df1ad8f85b90c0ce..dadcb690b16c2f7f41cf3d4dc7256fc5f684a9f0 100755 GIT binary patch delta 820 zcmZXRU1*X~7{|{!*wm>_r|zPl-mFHrO~ujc$1CbVH~NsRAq69&wUE-rEL|glnG(UY z$u6Ek*j?QgLwZNvda;Y;P1$W%1rfohAg_Wx&Y2&q?S;d0p5Hmo|9Rg3`M8cht>cPA zMOI3(Q*~C!A}sZN?X4DbIYiZzrBiOBmQW-T2MLlOt-`8)i~KIYwBZQO!#%?!uYF_C z5^Jf%i$?X&b1Wi_{z)s+hdW{;9ZpLn_-h=%H5f2SykXRIpKKT5t?3f^S%j?F3Df4| zi<-u{KqJM8qy&wn9d9eD0k|3H> zX=;!^zXn$$QNvtf_IfHEx2J9|BvSLXbOv5Uyz=)*6e|%znT2!;u0`xXC+xbF9!A>V zHY`opAH*3s!ASK0LOK@DutnHfW%;RH{6d>c?7npuUu1h;r(@i%3<=?1j7f S%WaOd%DKe+EqQ2CRQ&_Kvi7?G delta 816 zcmaE~j`86-#tjA>OmDh28*zBD1L?`N{4crQb~Q9GIC44yxq%kKJWP%ZW=sZ54onV? zZzuN)oM76}H91mHj&aN63PFF6-jjknOj^@BL7I#O7Bv8A25x~V5ZZAY*f3p~xa0KB z$^V7L7{5&x6R`$a7%Wo7w5WUXd66)tmEDu;M2#j#iYha0=-yl>s>2O3eT_mZ3*+|9 zMyjEVK&nGcPk`~)PI>;11%3IcV}1 zhkrmvZ~o$Vn-LVG7oANZVIVwN+Qk_plHlSdg=QT*o`CK?;36-G889DQlt3|a(OGM< zohv8I#2D8TK+(-=ZtN^V=z99PHrsnyGIFkBXJT+{;NadrxzT&pWI;be!JN#b6+5?E0fcPkouYn{U02MC;s@FmiF9Whc`kaB{dPw4RKsLx64xl(NcH!oCK*bq& P*mE-TvN!Aan{faD^8xxK -- GitLab