mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-20 18:35:41 +00:00
Update to latest substrate (#57)
* update to latest substrate
* update WASM and runtime
* Rename Id to ParaId in decl_{module,storage} (exported metadata type) (#58)
* Rename Id to ParaId in decla_module (exported type)
* AccountParaId -> AccountId
This commit is contained in:
committed by
Gav Wood
parent
014215181b
commit
ccbae389c2
Generated
+64
-60
@@ -977,7 +977,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-core"
|
name = "jsonrpc-core"
|
||||||
version = "9.0.0"
|
version = "9.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -989,7 +989,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-http-server"
|
name = "jsonrpc-http-server"
|
||||||
version = "9.0.0"
|
version = "9.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hyper 0.12.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hyper 0.12.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
@@ -1002,7 +1002,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-macros"
|
name = "jsonrpc-macros"
|
||||||
version = "9.0.0"
|
version = "9.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
"jsonrpc-pubsub 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-pubsub 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
@@ -1012,7 +1012,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-pubsub"
|
name = "jsonrpc-pubsub"
|
||||||
version = "9.0.0"
|
version = "9.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -1022,7 +1022,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-server-utils"
|
name = "jsonrpc-server-utils"
|
||||||
version = "9.0.0"
|
version = "9.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -1038,7 +1038,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonrpc-ws-server"
|
name = "jsonrpc-ws-server"
|
||||||
version = "9.0.0"
|
version = "9.0.0"
|
||||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
@@ -1445,7 +1445,7 @@ dependencies = [
|
|||||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"yamux 0.1.2 (git+https://github.com/paritytech/yamux)",
|
"yamux 0.1.3 (git+https://github.com/paritytech/yamux)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1979,6 +1979,7 @@ dependencies = [
|
|||||||
"sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"srml-support 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"srml-support 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
|
"substrate-consensus-aura-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-consensus-common 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-consensus-common 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-finality-grandpa 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-finality-grandpa 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
@@ -2651,7 +2652,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sr-api-macros"
|
name = "sr-api-macros"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
"blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2662,7 +2663,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sr-io"
|
name = "sr-io"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||||
@@ -2677,7 +2678,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sr-primitives"
|
name = "sr-primitives"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2694,7 +2695,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sr-std"
|
name = "sr-std"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@@ -2702,7 +2703,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sr-version"
|
name = "sr-version"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2715,7 +2716,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-aura"
|
name = "srml-aura"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2735,7 +2736,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-balances"
|
name = "srml-balances"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2754,7 +2755,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-consensus"
|
name = "srml-consensus"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2771,7 +2772,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-council"
|
name = "srml-council"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2791,7 +2792,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-democracy"
|
name = "srml-democracy"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2810,7 +2811,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-executive"
|
name = "srml-executive"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2826,7 +2827,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-grandpa"
|
name = "srml-grandpa"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2846,7 +2847,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-metadata"
|
name = "srml-metadata"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2859,7 +2860,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-session"
|
name = "srml-session"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2879,7 +2880,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-staking"
|
name = "srml-staking"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2902,7 +2903,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-support"
|
name = "srml-support"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mashup 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mashup 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2919,7 +2920,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-support-procedural"
|
name = "srml-support-procedural"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2931,7 +2932,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-support-procedural-tools"
|
name = "srml-support-procedural-tools"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2942,7 +2943,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-support-procedural-tools-derive"
|
name = "srml-support-procedural-tools-derive"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2952,7 +2953,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-system"
|
name = "srml-system"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2969,7 +2970,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-timestamp"
|
name = "srml-timestamp"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2986,7 +2987,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "srml-treasury"
|
name = "srml-treasury"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3101,7 +3102,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-cli"
|
name = "substrate-cli"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3125,7 +3126,7 @@ dependencies = [
|
|||||||
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-service 0.3.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-service 0.3.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"sysinfo 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"sysinfo 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@@ -3133,7 +3134,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-client"
|
name = "substrate-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3162,7 +3163,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-client-db"
|
name = "substrate-client-db"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||||
"kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)",
|
"kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)",
|
||||||
@@ -3183,7 +3184,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-consensus-aura"
|
name = "substrate-consensus-aura"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3206,7 +3207,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-consensus-aura-primitives"
|
name = "substrate-consensus-aura-primitives"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sr-io 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"sr-io 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
@@ -3220,7 +3221,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-consensus-common"
|
name = "substrate-consensus-common"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3235,7 +3236,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-executor"
|
name = "substrate-executor"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3257,7 +3258,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-finality-grandpa"
|
name = "substrate-finality-grandpa"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"finality-grandpa 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"finality-grandpa 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3279,7 +3280,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-finality-grandpa-primitives"
|
name = "substrate-finality-grandpa-primitives"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec-derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3292,7 +3293,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-keyring"
|
name = "substrate-keyring"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3302,7 +3303,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-keystore"
|
name = "substrate-keystore"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3318,7 +3319,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-network"
|
name = "substrate-network"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3341,7 +3342,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-network-libp2p"
|
name = "substrate-network-libp2p"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3364,7 +3365,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-primitives"
|
name = "substrate-primitives"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
"blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3390,7 +3391,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-rpc"
|
name = "substrate-rpc"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
@@ -3399,11 +3400,14 @@ dependencies = [
|
|||||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"sr-version 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"sr-version 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-executor 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-executor 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
|
"substrate-network 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3412,7 +3416,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-rpc-servers"
|
name = "substrate-rpc-servers"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jsonrpc-http-server 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-http-server 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
"jsonrpc-pubsub 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
"jsonrpc-pubsub 9.0.0 (git+https://github.com/paritytech/jsonrpc.git)",
|
||||||
@@ -3426,7 +3430,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-serializer"
|
name = "substrate-serializer"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3435,7 +3439,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-service"
|
name = "substrate-service"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3452,12 +3456,12 @@ dependencies = [
|
|||||||
"sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"sr-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-client 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-client-db 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-client-db 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
|
"substrate-consensus-aura-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-consensus-common 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-consensus-common 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-executor 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-executor 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-keystore 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-keystore 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-network 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-network 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-rpc 0.1.0 (git+https://github.com/paritytech/substrate)",
|
|
||||||
"substrate-rpc-servers 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-rpc-servers 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-telemetry 0.3.0 (git+https://github.com/paritytech/substrate)",
|
||||||
"substrate-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)",
|
"substrate-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||||
@@ -3468,7 +3472,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-state-db"
|
name = "substrate-state-db"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-codec 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3480,7 +3484,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-state-machine"
|
name = "substrate-state-machine"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||||
"heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3497,7 +3501,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-telemetry"
|
name = "substrate-telemetry"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3512,7 +3516,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-transaction-graph"
|
name = "substrate-transaction-graph"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3526,7 +3530,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-transaction-pool"
|
name = "substrate-transaction-pool"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3542,7 +3546,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "substrate-trie"
|
name = "substrate-trie"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||||
"memory-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
"memory-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||||
@@ -3625,7 +3629,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sysinfo"
|
name = "sysinfo"
|
||||||
version = "0.6.2"
|
version = "0.7.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -4264,8 +4268,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "yamux"
|
name = "yamux"
|
||||||
version = "0.1.2"
|
version = "0.1.3"
|
||||||
source = "git+https://github.com/paritytech/yamux#8cec810d4e2bbe77cf9ec8b82962e878e854e53e"
|
source = "git+https://github.com/paritytech/yamux#152063358daeebc5efbae47ef1bc91558ed6fb45"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -4610,7 +4614,7 @@ dependencies = [
|
|||||||
"checksum syntex_errors 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)" = "867cc5c2d7140ae7eaad2ae9e8bf39cb18a67ca651b7834f88d46ca98faadb9c"
|
"checksum syntex_errors 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)" = "867cc5c2d7140ae7eaad2ae9e8bf39cb18a67ca651b7834f88d46ca98faadb9c"
|
||||||
"checksum syntex_pos 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13ad4762fe52abc9f4008e85c4fb1b1fe3aa91ccb99ff4826a439c7c598e1047"
|
"checksum syntex_pos 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13ad4762fe52abc9f4008e85c4fb1b1fe3aa91ccb99ff4826a439c7c598e1047"
|
||||||
"checksum syntex_syntax 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6e0e4dbae163dd98989464c23dd503161b338790640e11537686f2ef0f25c791"
|
"checksum syntex_syntax 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6e0e4dbae163dd98989464c23dd503161b338790640e11537686f2ef0f25c791"
|
||||||
"checksum sysinfo 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "11c5f6e8a7a7146f26ffed9a5ff8bab2706f1ac8a413a415e1d211b819d5c24d"
|
"checksum sysinfo 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4c747a1fbe091faa7bf76c19f40099f9f12495384c811485d81cf3d60c0eae62"
|
||||||
"checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
|
"checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
|
||||||
"checksum target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe"
|
"checksum target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe"
|
||||||
"checksum tempfile 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "55c1195ef8513f3273d55ff59fe5da6940287a0d7a98331254397f464833675b"
|
"checksum tempfile 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "55c1195ef8513f3273d55ff59fe5da6940287a0d7a98331254397f464833675b"
|
||||||
@@ -4681,4 +4685,4 @@ dependencies = [
|
|||||||
"checksum ws 0.7.9 (registry+https://github.com/rust-lang/crates.io-index)" = "329d3e6dd450a9c5c73024e1047f0be7e24121a68484eb0b5368977bee3cf8c3"
|
"checksum ws 0.7.9 (registry+https://github.com/rust-lang/crates.io-index)" = "329d3e6dd450a9c5c73024e1047f0be7e24121a68484eb0b5368977bee3cf8c3"
|
||||||
"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
|
"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
|
||||||
"checksum xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a66b7c2281ebde13cf4391d70d4c7e5946c3c25e72a7b859ca8f677dcd0b0c61"
|
"checksum xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a66b7c2281ebde13cf4391d70d4c7e5946c3c25e72a7b859ca8f677dcd0b0c61"
|
||||||
"checksum yamux 0.1.2 (git+https://github.com/paritytech/yamux)" = "<none>"
|
"checksum yamux 0.1.3 (git+https://github.com/paritytech/yamux)" = "<none>"
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ polkadot-parachain = { path = "../parachain" }
|
|||||||
polkadot-primitives = { path = "../primitives" }
|
polkadot-primitives = { path = "../primitives" }
|
||||||
polkadot-runtime = { path = "../runtime" }
|
polkadot-runtime = { path = "../runtime" }
|
||||||
polkadot-statement-table = { path = "../statement-table" }
|
polkadot-statement-table = { path = "../statement-table" }
|
||||||
|
substrate-consensus-aura-primitives = { git = "https://github.com/paritytech/substrate" }
|
||||||
substrate-finality-grandpa = { git = "https://github.com/paritytech/substrate" }
|
substrate-finality-grandpa = { git = "https://github.com/paritytech/substrate" }
|
||||||
substrate-consensus-common = { git = "https://github.com/paritytech/substrate" }
|
substrate-consensus-common = { git = "https://github.com/paritytech/substrate" }
|
||||||
substrate-primitives = { git = "https://github.com/paritytech/substrate" }
|
substrate-primitives = { git = "https://github.com/paritytech/substrate" }
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
//! Errors that can occur during the consensus process.
|
//! Errors that can occur during the consensus process.
|
||||||
|
|
||||||
use primitives::AuthorityId;
|
use primitives::AuthorityId;
|
||||||
|
use runtime_primitives::RuntimeString;
|
||||||
|
|
||||||
error_chain! {
|
error_chain! {
|
||||||
links {
|
links {
|
||||||
@@ -33,6 +34,10 @@ error_chain! {
|
|||||||
description("Local account ID not a validator at this block."),
|
description("Local account ID not a validator at this block."),
|
||||||
display("Local account ID ({:?}) not a validator at this block.", id),
|
display("Local account ID ({:?}) not a validator at this block.", id),
|
||||||
}
|
}
|
||||||
|
InherentError(reason: RuntimeString) {
|
||||||
|
description("Unexpected error while checking inherents"),
|
||||||
|
display("Unexpected error while checking inherents: {}", reason),
|
||||||
|
}
|
||||||
PrematureDestruction {
|
PrematureDestruction {
|
||||||
description("Proposer destroyed before finishing proposing or evaluating"),
|
description("Proposer destroyed before finishing proposing or evaluating"),
|
||||||
display("Proposer destroyed before finishing proposing or evaluating"),
|
display("Proposer destroyed before finishing proposing or evaluating"),
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ extern crate substrate_client as client;
|
|||||||
extern crate exit_future;
|
extern crate exit_future;
|
||||||
extern crate tokio;
|
extern crate tokio;
|
||||||
extern crate substrate_consensus_common as consensus;
|
extern crate substrate_consensus_common as consensus;
|
||||||
|
extern crate substrate_consensus_aura_primitives as aura_primitives;
|
||||||
extern crate substrate_finality_grandpa as grandpa;
|
extern crate substrate_finality_grandpa as grandpa;
|
||||||
extern crate substrate_transaction_pool as transaction_pool;
|
extern crate substrate_transaction_pool as transaction_pool;
|
||||||
|
|
||||||
@@ -74,7 +75,6 @@ use parking_lot::Mutex;
|
|||||||
use polkadot_primitives::{
|
use polkadot_primitives::{
|
||||||
Hash, Block, BlockId, BlockNumber, Header, Timestamp, SessionKey, InherentData
|
Hash, Block, BlockId, BlockNumber, Header, Timestamp, SessionKey, InherentData
|
||||||
};
|
};
|
||||||
use polkadot_primitives::Compact;
|
|
||||||
use polkadot_primitives::parachain::{Id as ParaId, Chain, DutyRoster, BlockData, Extrinsic as ParachainExtrinsic, CandidateReceipt, CandidateSignature};
|
use polkadot_primitives::parachain::{Id as ParaId, Chain, DutyRoster, BlockData, Extrinsic as ParachainExtrinsic, CandidateReceipt, CandidateSignature};
|
||||||
use polkadot_primitives::parachain::{AttestedCandidate, ParachainHost, Statement as PrimitiveStatement};
|
use polkadot_primitives::parachain::{AttestedCandidate, ParachainHost, Statement as PrimitiveStatement};
|
||||||
use primitives::{AuthorityId, ed25519};
|
use primitives::{AuthorityId, ed25519};
|
||||||
@@ -82,6 +82,7 @@ use runtime_primitives::traits::ProvideRuntimeApi;
|
|||||||
use tokio::runtime::TaskExecutor;
|
use tokio::runtime::TaskExecutor;
|
||||||
use tokio::timer::{Delay, Interval};
|
use tokio::timer::{Delay, Interval};
|
||||||
use transaction_pool::txpool::{Pool, ChainApi as PoolChainApi};
|
use transaction_pool::txpool::{Pool, ChainApi as PoolChainApi};
|
||||||
|
use aura_primitives::AuraConsensusData;
|
||||||
|
|
||||||
use attestation_service::ServiceHandle;
|
use attestation_service::ServiceHandle;
|
||||||
use futures::prelude::*;
|
use futures::prelude::*;
|
||||||
@@ -246,8 +247,6 @@ struct ParachainConsensus<C, N, P> {
|
|||||||
handle: TaskExecutor,
|
handle: TaskExecutor,
|
||||||
/// Store for extrinsic data.
|
/// Store for extrinsic data.
|
||||||
extrinsic_store: ExtrinsicStore,
|
extrinsic_store: ExtrinsicStore,
|
||||||
/// The time after which no parachains may be included.
|
|
||||||
parachain_empty_duration: Duration,
|
|
||||||
/// Live agreements.
|
/// Live agreements.
|
||||||
live_instances: Mutex<HashMap<Hash, Arc<AttestationTracker>>>,
|
live_instances: Mutex<HashMap<Hash, Arc<AttestationTracker>>>,
|
||||||
|
|
||||||
@@ -321,16 +320,9 @@ impl<C, N, P> ParachainConsensus<C, N, P> where
|
|||||||
self.extrinsic_store.clone(),
|
self.extrinsic_store.clone(),
|
||||||
);
|
);
|
||||||
|
|
||||||
let now = Instant::now();
|
|
||||||
let dynamic_inclusion = DynamicInclusion::new(
|
|
||||||
table.num_parachains(),
|
|
||||||
now,
|
|
||||||
self.parachain_empty_duration.clone(),
|
|
||||||
);
|
|
||||||
|
|
||||||
let tracker = Arc::new(AttestationTracker {
|
let tracker = Arc::new(AttestationTracker {
|
||||||
table,
|
table,
|
||||||
dynamic_inclusion,
|
started: Instant::now(),
|
||||||
_drop_signal: drop_signal
|
_drop_signal: drop_signal
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -349,7 +341,7 @@ impl<C, N, P> ParachainConsensus<C, N, P> where
|
|||||||
struct AttestationTracker {
|
struct AttestationTracker {
|
||||||
_drop_signal: exit_future::Signal,
|
_drop_signal: exit_future::Signal,
|
||||||
table: Arc<SharedTable>,
|
table: Arc<SharedTable>,
|
||||||
dynamic_inclusion: DynamicInclusion,
|
started: Instant,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Polkadot proposer factory.
|
/// Polkadot proposer factory.
|
||||||
@@ -376,7 +368,6 @@ impl<C, N, P, TxApi> ProposerFactory<C, N, P, TxApi> where
|
|||||||
collators: C,
|
collators: C,
|
||||||
transaction_pool: Arc<Pool<TxApi>>,
|
transaction_pool: Arc<Pool<TxApi>>,
|
||||||
thread_pool: TaskExecutor,
|
thread_pool: TaskExecutor,
|
||||||
parachain_empty_duration: Duration,
|
|
||||||
key: Arc<ed25519::Pair>,
|
key: Arc<ed25519::Pair>,
|
||||||
extrinsic_store: ExtrinsicStore,
|
extrinsic_store: ExtrinsicStore,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
@@ -386,7 +377,6 @@ impl<C, N, P, TxApi> ProposerFactory<C, N, P, TxApi> where
|
|||||||
collators,
|
collators,
|
||||||
handle: thread_pool.clone(),
|
handle: thread_pool.clone(),
|
||||||
extrinsic_store: extrinsic_store.clone(),
|
extrinsic_store: extrinsic_store.clone(),
|
||||||
parachain_empty_duration,
|
|
||||||
live_instances: Mutex::new(HashMap::new()),
|
live_instances: Mutex::new(HashMap::new()),
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -406,7 +396,7 @@ impl<C, N, P, TxApi> ProposerFactory<C, N, P, TxApi> where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<C, N, P, TxApi> consensus::Environment<Block> for ProposerFactory<C, N, P, TxApi> where
|
impl<C, N, P, TxApi> consensus::Environment<Block, AuraConsensusData> for ProposerFactory<C, N, P, TxApi> where
|
||||||
C: Collators + Send + 'static,
|
C: Collators + Send + 'static,
|
||||||
N: Network,
|
N: Network,
|
||||||
TxApi: PoolChainApi<Block=Block>,
|
TxApi: PoolChainApi<Block=Block>,
|
||||||
@@ -424,9 +414,6 @@ impl<C, N, P, TxApi> consensus::Environment<Block> for ProposerFactory<C, N, P,
|
|||||||
authorities: &[AuthorityId],
|
authorities: &[AuthorityId],
|
||||||
sign_with: Arc<ed25519::Pair>,
|
sign_with: Arc<ed25519::Pair>,
|
||||||
) -> Result<Self::Proposer, Error> {
|
) -> Result<Self::Proposer, Error> {
|
||||||
// force delay in evaluation this long.
|
|
||||||
const FORCE_DELAY: Timestamp = Compact(5);
|
|
||||||
|
|
||||||
let parent_hash = parent_header.hash();
|
let parent_hash = parent_header.hash();
|
||||||
let parent_id = BlockId::hash(parent_hash);
|
let parent_id = BlockId::hash(parent_hash);
|
||||||
let tracker = self.parachain_consensus.get_or_instantiate(
|
let tracker = self.parachain_consensus.get_or_instantiate(
|
||||||
@@ -442,7 +429,6 @@ impl<C, N, P, TxApi> consensus::Environment<Block> for ProposerFactory<C, N, P,
|
|||||||
parent_id,
|
parent_id,
|
||||||
parent_number: parent_header.number,
|
parent_number: parent_header.number,
|
||||||
transaction_pool: self.transaction_pool.clone(),
|
transaction_pool: self.transaction_pool.clone(),
|
||||||
minimum_timestamp: current_timestamp().0 + FORCE_DELAY.0,
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -517,10 +503,9 @@ pub struct Proposer<C: Send + Sync, TxApi: PoolChainApi> where
|
|||||||
parent_number: BlockNumber,
|
parent_number: BlockNumber,
|
||||||
tracker: Arc<AttestationTracker>,
|
tracker: Arc<AttestationTracker>,
|
||||||
transaction_pool: Arc<Pool<TxApi>>,
|
transaction_pool: Arc<Pool<TxApi>>,
|
||||||
minimum_timestamp: u64,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<C, TxApi> consensus::Proposer<Block> for Proposer<C, TxApi> where
|
impl<C, TxApi> consensus::Proposer<Block, AuraConsensusData> for Proposer<C, TxApi> where
|
||||||
TxApi: PoolChainApi<Block=Block>,
|
TxApi: PoolChainApi<Block=Block>,
|
||||||
C: ProvideRuntimeApi + HeaderBackend<Block> + Send + Sync,
|
C: ProvideRuntimeApi + HeaderBackend<Block> + Send + Sync,
|
||||||
C::Api: ParachainHost<Block> + BlockBuilderApi<Block, InherentData>,
|
C::Api: ParachainHost<Block> + BlockBuilderApi<Block, InherentData>,
|
||||||
@@ -531,20 +516,41 @@ impl<C, TxApi> consensus::Proposer<Block> for Proposer<C, TxApi> where
|
|||||||
future::FutureResult<Block, Error>,
|
future::FutureResult<Block, Error>,
|
||||||
>;
|
>;
|
||||||
|
|
||||||
fn propose(&self) -> Self::Create {
|
fn propose(&self, consensus_data: AuraConsensusData) -> Self::Create {
|
||||||
const ATTEMPT_PROPOSE_EVERY: Duration = Duration::from_millis(100);
|
const ATTEMPT_PROPOSE_EVERY: Duration = Duration::from_millis(100);
|
||||||
|
const SLOT_DURATION_DENOMINATOR: u64 = 3; // wait up to 1/3 of the slot for candidates.
|
||||||
|
|
||||||
let initial_included = self.tracker.table.includable_count();
|
let initial_included = self.tracker.table.includable_count();
|
||||||
let now = Instant::now();
|
let now = Instant::now();
|
||||||
let enough_candidates = self.tracker.dynamic_inclusion.acceptable_in(
|
|
||||||
|
let dynamic_inclusion = DynamicInclusion::new(
|
||||||
|
self.tracker.table.num_parachains(),
|
||||||
|
self.tracker.started,
|
||||||
|
Duration::from_secs(consensus_data.slot_duration / SLOT_DURATION_DENOMINATOR),
|
||||||
|
);
|
||||||
|
|
||||||
|
let enough_candidates = dynamic_inclusion.acceptable_in(
|
||||||
now,
|
now,
|
||||||
initial_included,
|
initial_included,
|
||||||
).unwrap_or_else(|| now + Duration::from_millis(1));
|
).unwrap_or_else(|| now + Duration::from_millis(1));
|
||||||
|
|
||||||
|
let believed_timestamp = consensus_data.timestamp;
|
||||||
|
|
||||||
|
// set up delay until next allowed timestamp.
|
||||||
|
let current_timestamp = current_timestamp();
|
||||||
|
let delay_future = if current_timestamp.0 >= believed_timestamp {
|
||||||
|
None
|
||||||
|
} else {
|
||||||
|
Some(Delay::new(
|
||||||
|
Instant::now() + Duration::from_secs(current_timestamp.0 - believed_timestamp)
|
||||||
|
))
|
||||||
|
};
|
||||||
|
|
||||||
let timing = ProposalTiming {
|
let timing = ProposalTiming {
|
||||||
|
minimum: delay_future,
|
||||||
attempt_propose: Interval::new(now + ATTEMPT_PROPOSE_EVERY, ATTEMPT_PROPOSE_EVERY),
|
attempt_propose: Interval::new(now + ATTEMPT_PROPOSE_EVERY, ATTEMPT_PROPOSE_EVERY),
|
||||||
enough_candidates: Delay::new(enough_candidates),
|
enough_candidates: Delay::new(enough_candidates),
|
||||||
dynamic_inclusion: self.tracker.dynamic_inclusion.clone(),
|
dynamic_inclusion,
|
||||||
last_included: initial_included,
|
last_included: initial_included,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -555,7 +561,8 @@ impl<C, TxApi> consensus::Proposer<Block> for Proposer<C, TxApi> where
|
|||||||
client: self.client.clone(),
|
client: self.client.clone(),
|
||||||
transaction_pool: self.transaction_pool.clone(),
|
transaction_pool: self.transaction_pool.clone(),
|
||||||
table: self.tracker.table.clone(),
|
table: self.tracker.table.clone(),
|
||||||
minimum_timestamp: self.minimum_timestamp.into(),
|
believed_minimum_timestamp: believed_timestamp,
|
||||||
|
consensus_data,
|
||||||
timing,
|
timing,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -569,6 +576,7 @@ fn current_timestamp() -> Timestamp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct ProposalTiming {
|
struct ProposalTiming {
|
||||||
|
minimum: Option<Delay>,
|
||||||
attempt_propose: Interval,
|
attempt_propose: Interval,
|
||||||
dynamic_inclusion: DynamicInclusion,
|
dynamic_inclusion: DynamicInclusion,
|
||||||
enough_candidates: Delay,
|
enough_candidates: Delay,
|
||||||
@@ -588,6 +596,14 @@ impl ProposalTiming {
|
|||||||
x.expect("timer still alive; intervals never end; qed");
|
x.expect("timer still alive; intervals never end; qed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// wait until the minimum time has passed.
|
||||||
|
if let Some(mut minimum) = self.minimum.take() {
|
||||||
|
if let Async::NotReady = minimum.poll().map_err(ErrorKind::Timer)? {
|
||||||
|
self.minimum = Some(minimum);
|
||||||
|
return Ok(Async::NotReady);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if included == self.last_included {
|
if included == self.last_included {
|
||||||
return self.enough_candidates.poll().map_err(ErrorKind::Timer);
|
return self.enough_candidates.poll().map_err(ErrorKind::Timer);
|
||||||
}
|
}
|
||||||
@@ -614,7 +630,8 @@ pub struct CreateProposal<C: Send + Sync, TxApi: PoolChainApi> {
|
|||||||
transaction_pool: Arc<Pool<TxApi>>,
|
transaction_pool: Arc<Pool<TxApi>>,
|
||||||
table: Arc<SharedTable>,
|
table: Arc<SharedTable>,
|
||||||
timing: ProposalTiming,
|
timing: ProposalTiming,
|
||||||
minimum_timestamp: Timestamp,
|
believed_minimum_timestamp: u64,
|
||||||
|
consensus_data: AuraConsensusData,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<C, TxApi> CreateProposal<C, TxApi> where
|
impl<C, TxApi> CreateProposal<C, TxApi> where
|
||||||
@@ -626,13 +643,10 @@ impl<C, TxApi> CreateProposal<C, TxApi> where
|
|||||||
use client::block_builder::BlockBuilder;
|
use client::block_builder::BlockBuilder;
|
||||||
use runtime_primitives::traits::{Hash as HashT, BlakeTwo256};
|
use runtime_primitives::traits::{Hash as HashT, BlakeTwo256};
|
||||||
|
|
||||||
// TODO: handle case when current timestamp behind that in state.
|
|
||||||
let timestamp = ::std::cmp::max(self.minimum_timestamp.0, current_timestamp().0);
|
|
||||||
|
|
||||||
let inherent_data = InherentData {
|
let inherent_data = InherentData {
|
||||||
timestamp,
|
timestamp: self.believed_minimum_timestamp,
|
||||||
parachains: candidates,
|
parachains: candidates,
|
||||||
aura_expected_slot: 0, // not required here.
|
aura_expected_slot: self.consensus_data.slot,
|
||||||
};
|
};
|
||||||
|
|
||||||
let runtime_api = self.client.runtime_api();
|
let runtime_api = self.client.runtime_api();
|
||||||
@@ -685,7 +699,7 @@ impl<C, TxApi> CreateProposal<C, TxApi> where
|
|||||||
let active_parachains = runtime_api.active_parachains(&self.parent_id)?;
|
let active_parachains = runtime_api.active_parachains(&self.parent_id)?;
|
||||||
assert!(evaluation::evaluate_initial(
|
assert!(evaluation::evaluate_initial(
|
||||||
&new_block,
|
&new_block,
|
||||||
timestamp.into(),
|
self.believed_minimum_timestamp.into(),
|
||||||
&self.parent_hash,
|
&self.parent_hash,
|
||||||
self.parent_number,
|
self.parent_number,
|
||||||
&active_parachains,
|
&active_parachains,
|
||||||
|
|||||||
@@ -193,14 +193,14 @@ impl<P: ProvideRuntimeApi + Send + Sync + 'static> Router<P>
|
|||||||
if let Some(validity) = produced.validity {
|
if let Some(validity) = produced.validity {
|
||||||
let signed = table.sign_and_import(validity.clone()).0;
|
let signed = table.sign_and_import(validity.clone()).0;
|
||||||
network.with_spec(|_, ctx|
|
network.with_spec(|_, ctx|
|
||||||
gossip.multicast(ctx, attestation_topic, signed.encode())
|
gossip.multicast(ctx, attestation_topic, signed.encode(), false)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(availability) = produced.availability {
|
if let Some(availability) = produced.availability {
|
||||||
let signed = table.sign_and_import(availability).0;
|
let signed = table.sign_and_import(availability).0;
|
||||||
network.with_spec(|_, ctx|
|
network.with_spec(|_, ctx|
|
||||||
gossip.multicast(ctx, attestation_topic, signed.encode())
|
gossip.multicast(ctx, attestation_topic, signed.encode(), false)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -225,9 +225,9 @@ impl<P: ProvideRuntimeApi + Send> TableRouter for Router<P>
|
|||||||
self.knowledge.lock().note_candidate(hash, Some(block_data), Some(extrinsic));
|
self.knowledge.lock().note_candidate(hash, Some(block_data), Some(extrinsic));
|
||||||
let mut gossip = self.network.consensus_gossip().write();
|
let mut gossip = self.network.consensus_gossip().write();
|
||||||
self.network.with_spec(|_spec, ctx| {
|
self.network.with_spec(|_spec, ctx| {
|
||||||
gossip.multicast(ctx, self.attestation_topic, candidate.encode());
|
gossip.multicast(ctx, self.attestation_topic, candidate.encode(), false);
|
||||||
if let Some(availability) = availability {
|
if let Some(availability) = availability {
|
||||||
gossip.multicast(ctx, self.attestation_topic, availability.encode());
|
gossip.multicast(ctx, self.attestation_topic, availability.encode(), false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -24,7 +24,7 @@ use sr_primitives::CheckInherentError;
|
|||||||
use sr_primitives::traits::{
|
use sr_primitives::traits::{
|
||||||
Extrinsic, Block as BlockT, Hash as HashT, BlakeTwo256, ProvideInherent,
|
Extrinsic, Block as BlockT, Hash as HashT, BlakeTwo256, ProvideInherent,
|
||||||
};
|
};
|
||||||
use primitives::parachain::{Id, Chain, DutyRoster, AttestedCandidate, Statement};
|
use primitives::parachain::{Id as ParaId, Chain, DutyRoster, AttestedCandidate, Statement};
|
||||||
use {system, session};
|
use {system, session};
|
||||||
|
|
||||||
use srml_support::{StorageValue, StorageMap};
|
use srml_support::{StorageValue, StorageMap};
|
||||||
@@ -46,17 +46,17 @@ pub trait Trait: session::Trait {
|
|||||||
decl_storage! {
|
decl_storage! {
|
||||||
trait Store for Module<T: Trait> as Parachains {
|
trait Store for Module<T: Trait> as Parachains {
|
||||||
// Vector of all parachain IDs.
|
// Vector of all parachain IDs.
|
||||||
pub Parachains get(active_parachains): Vec<Id>;
|
pub Parachains get(active_parachains): Vec<ParaId>;
|
||||||
// The parachains registered at present.
|
// The parachains registered at present.
|
||||||
pub Code get(parachain_code): map Id => Option<Vec<u8>>;
|
pub Code get(parachain_code): map ParaId => Option<Vec<u8>>;
|
||||||
// The heads of the parachains registered at present. these are kept sorted.
|
// The heads of the parachains registered at present. these are kept sorted.
|
||||||
pub Heads get(parachain_head): map Id => Option<Vec<u8>>;
|
pub Heads get(parachain_head): map ParaId => Option<Vec<u8>>;
|
||||||
|
|
||||||
// Did the parachain heads get updated in this block?
|
// Did the parachain heads get updated in this block?
|
||||||
DidUpdate: bool;
|
DidUpdate: bool;
|
||||||
}
|
}
|
||||||
add_extra_genesis {
|
add_extra_genesis {
|
||||||
config(parachains): Vec<(Id, Vec<u8>, Vec<u8>)>;
|
config(parachains): Vec<(ParaId, Vec<u8>, Vec<u8>)>;
|
||||||
config(_phdata): PhantomData<T>;
|
config(_phdata): PhantomData<T>;
|
||||||
build(|storage: &mut sr_primitives::StorageMap, _: &mut ChildrenStorageMap, config: &GenesisConfig<T>| {
|
build(|storage: &mut sr_primitives::StorageMap, _: &mut ChildrenStorageMap, config: &GenesisConfig<T>| {
|
||||||
use codec::Encode;
|
use codec::Encode;
|
||||||
@@ -134,7 +134,7 @@ decl_module! {
|
|||||||
|
|
||||||
/// Register a parachain with given code.
|
/// Register a parachain with given code.
|
||||||
/// Fails if given ID is already used.
|
/// Fails if given ID is already used.
|
||||||
pub fn register_parachain(id: Id, code: Vec<u8>, initial_head_data: Vec<u8>) -> Result {
|
pub fn register_parachain(id: ParaId, code: Vec<u8>, initial_head_data: Vec<u8>) -> Result {
|
||||||
let mut parachains = Self::active_parachains();
|
let mut parachains = Self::active_parachains();
|
||||||
match parachains.binary_search(&id) {
|
match parachains.binary_search(&id) {
|
||||||
Ok(_) => fail!("Parachain already exists"),
|
Ok(_) => fail!("Parachain already exists"),
|
||||||
@@ -149,7 +149,7 @@ decl_module! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Deregister a parachain with given id
|
/// Deregister a parachain with given id
|
||||||
pub fn deregister_parachain(id: Id) -> Result {
|
pub fn deregister_parachain(id: ParaId) -> Result {
|
||||||
let mut parachains = Self::active_parachains();
|
let mut parachains = Self::active_parachains();
|
||||||
match parachains.binary_search(&id) {
|
match parachains.binary_search(&id) {
|
||||||
Ok(idx) => { parachains.remove(idx); }
|
Ok(idx) => { parachains.remove(idx); }
|
||||||
@@ -240,15 +240,15 @@ impl<T: Trait> Module<T> {
|
|||||||
// assumes the inner slice is sorted by id.
|
// assumes the inner slice is sorted by id.
|
||||||
struct GroupedDutyIter<'a> {
|
struct GroupedDutyIter<'a> {
|
||||||
next_idx: usize,
|
next_idx: usize,
|
||||||
inner: &'a [(usize, Id)],
|
inner: &'a [(usize, ParaId)],
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> GroupedDutyIter<'a> {
|
impl<'a> GroupedDutyIter<'a> {
|
||||||
fn new(inner: &'a [(usize, Id)]) -> Self {
|
fn new(inner: &'a [(usize, ParaId)]) -> Self {
|
||||||
GroupedDutyIter { next_idx: 0, inner }
|
GroupedDutyIter { next_idx: 0, inner }
|
||||||
}
|
}
|
||||||
|
|
||||||
fn group_for(&mut self, wanted_id: Id) -> Option<&'a [(usize, Id)]> {
|
fn group_for(&mut self, wanted_id: ParaId) -> Option<&'a [(usize, ParaId)]> {
|
||||||
while let Some((id, keys)) = self.next() {
|
while let Some((id, keys)) = self.next() {
|
||||||
if wanted_id == id {
|
if wanted_id == id {
|
||||||
return Some(keys)
|
return Some(keys)
|
||||||
@@ -260,7 +260,7 @@ impl<T: Trait> Module<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Iterator for GroupedDutyIter<'a> {
|
impl<'a> Iterator for GroupedDutyIter<'a> {
|
||||||
type Item = (Id, &'a [(usize, Id)]);
|
type Item = (ParaId, &'a [(usize, ParaId)]);
|
||||||
|
|
||||||
fn next(&mut self) -> Option<Self::Item> {
|
fn next(&mut self) -> Option<Self::Item> {
|
||||||
if self.next_idx == self.inner.len() { return None }
|
if self.next_idx == self.inner.len() { return None }
|
||||||
@@ -435,11 +435,11 @@ impl<T: Trait> ProvideInherent for Module<T> {
|
|||||||
.extrinsics()
|
.extrinsics()
|
||||||
.get(T::SET_POSITION as usize)
|
.get(T::SET_POSITION as usize)
|
||||||
.map_or(false, |xt| {
|
.map_or(false, |xt| {
|
||||||
xt.is_signed() == Some(true) && match extract_function(&xt) {
|
xt.is_signed() == Some(false) && match extract_function(&xt) {
|
||||||
Some(Call::set_heads(_)) => true,
|
Some(Call::set_heads(_)) => true,
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if !has_heads {
|
if !has_heads {
|
||||||
return Err(CheckInherentError::Other(
|
return Err(CheckInherentError::Other(
|
||||||
@@ -502,7 +502,7 @@ mod tests {
|
|||||||
|
|
||||||
type Parachains = Module<Test>;
|
type Parachains = Module<Test>;
|
||||||
|
|
||||||
fn new_test_ext(parachains: Vec<(Id, Vec<u8>, Vec<u8>)>) -> TestExternalities<Blake2Hasher> {
|
fn new_test_ext(parachains: Vec<(ParaId, Vec<u8>, Vec<u8>)>) -> TestExternalities<Blake2Hasher> {
|
||||||
let mut t = system::GenesisConfig::<Test>::default().build_storage().unwrap().0;
|
let mut t = system::GenesisConfig::<Test>::default().build_storage().unwrap().0;
|
||||||
let authority_keys = [
|
let authority_keys = [
|
||||||
Keyring::Alice,
|
Keyring::Alice,
|
||||||
@@ -629,7 +629,7 @@ mod tests {
|
|||||||
let check_roster = |duty_roster: &DutyRoster| {
|
let check_roster = |duty_roster: &DutyRoster| {
|
||||||
assert_eq!(duty_roster.validator_duty.len(), 8);
|
assert_eq!(duty_roster.validator_duty.len(), 8);
|
||||||
assert_eq!(duty_roster.guarantor_duty.len(), 8);
|
assert_eq!(duty_roster.guarantor_duty.len(), 8);
|
||||||
for i in (0..2).map(Id::from) {
|
for i in (0..2).map(ParaId::from) {
|
||||||
assert_eq!(duty_roster.validator_duty.iter().filter(|&&j| j == Chain::Parachain(i)).count(), 3);
|
assert_eq!(duty_roster.validator_duty.iter().filter(|&&j| j == Chain::Parachain(i)).count(), 3);
|
||||||
assert_eq!(duty_roster.guarantor_duty.iter().filter(|&&j| j == Chain::Parachain(i)).count(), 3);
|
assert_eq!(duty_roster.guarantor_duty.iter().filter(|&&j| j == Chain::Parachain(i)).count(), 3);
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Binary file not shown.
Binary file not shown.
@@ -78,7 +78,8 @@ fn staging_testnet_config_genesis() -> GenesisConfig {
|
|||||||
launch_period: 12 * 60 * 24, // 1 day per public referendum
|
launch_period: 12 * 60 * 24, // 1 day per public referendum
|
||||||
voting_period: 12 * 60 * 24 * 3, // 3 days to discuss & vote on an active referendum
|
voting_period: 12 * 60 * 24 * 3, // 3 days to discuss & vote on an active referendum
|
||||||
minimum_deposit: 5000, // 12000 as the minimum deposit for a referendum
|
minimum_deposit: 5000, // 12000 as the minimum deposit for a referendum
|
||||||
public_delay: 0,
|
public_delay: 10 * 60,
|
||||||
|
max_lock_periods: 6,
|
||||||
}),
|
}),
|
||||||
grandpa: Some(GrandpaConfig {
|
grandpa: Some(GrandpaConfig {
|
||||||
authorities: initial_authorities.clone().into_iter().map(|k| (k, 1)).collect(),
|
authorities: initial_authorities.clone().into_iter().map(|k| (k, 1)).collect(),
|
||||||
@@ -168,7 +169,8 @@ fn testnet_genesis(initial_authorities: Vec<AuthorityId>) -> GenesisConfig {
|
|||||||
launch_period: 9,
|
launch_period: 9,
|
||||||
voting_period: 18,
|
voting_period: 18,
|
||||||
minimum_deposit: 10,
|
minimum_deposit: 10,
|
||||||
public_delay: 0,
|
public_delay: 10 * 60,
|
||||||
|
max_lock_periods: 6,
|
||||||
}),
|
}),
|
||||||
grandpa: Some(GrandpaConfig {
|
grandpa: Some(GrandpaConfig {
|
||||||
authorities: initial_authorities.clone().into_iter().map(|k| (k, 1)).collect(),
|
authorities: initial_authorities.clone().into_iter().map(|k| (k, 1)).collect(),
|
||||||
|
|||||||
@@ -64,9 +64,6 @@ pub use primitives::{Blake2Hasher};
|
|||||||
pub use sr_primitives::traits::ProvideRuntimeApi;
|
pub use sr_primitives::traits::ProvideRuntimeApi;
|
||||||
pub use chain_spec::ChainSpec;
|
pub use chain_spec::ChainSpec;
|
||||||
|
|
||||||
// wait 1.5 seconds for parachain candidates before releasing a block.
|
|
||||||
const PARACHAIN_EMPTY_DURATION: Duration = Duration::from_millis(1500);
|
|
||||||
|
|
||||||
/// All configuration for the polkadot node.
|
/// All configuration for the polkadot node.
|
||||||
pub type Configuration = FactoryFullConfiguration<Factory>;
|
pub type Configuration = FactoryFullConfiguration<Factory>;
|
||||||
|
|
||||||
@@ -166,25 +163,24 @@ construct_service_factory! {
|
|||||||
{ |config: FactoryFullConfiguration<Self>, executor: TaskExecutor| {
|
{ |config: FactoryFullConfiguration<Self>, executor: TaskExecutor| {
|
||||||
FullComponents::<Factory>::new(config, executor)
|
FullComponents::<Factory>::new(config, executor)
|
||||||
} },
|
} },
|
||||||
AuthoritySetup = { |mut service: Self::FullService, executor: TaskExecutor, key: Arc<ed25519::Pair>| {
|
AuthoritySetup = { |mut service: Self::FullService, executor: TaskExecutor, key: Option<Arc<ed25519::Pair>>| {
|
||||||
use polkadot_network::consensus::ConsensusNetwork;
|
use polkadot_network::consensus::ConsensusNetwork;
|
||||||
|
|
||||||
let (block_import, link_half) = service.config.custom.grandpa_import_setup.take()
|
let (block_import, link_half) = service.config.custom.grandpa_import_setup.take()
|
||||||
.expect("Link Half and Block Import are present for Full Services or setup failed before. qed");
|
.expect("Link Half and Block Import are present for Full Services or setup failed before. qed");
|
||||||
|
|
||||||
|
// always run GRANDPA in order to sync.
|
||||||
{
|
{
|
||||||
info!("Running Grandpa session as Authority {}", key.public());
|
let voter = grandpa::run_grandpa(
|
||||||
let (voter, oracle) = grandpa::run_grandpa(
|
|
||||||
grandpa::Config {
|
grandpa::Config {
|
||||||
gossip_duration: Duration::new(4, 0), // FIXME: make this available through chainspec?
|
gossip_duration: Duration::new(4, 0), // FIXME: make this available through chainspec?
|
||||||
local_key: Some(key.clone()),
|
local_key: key.clone(),
|
||||||
name: Some(service.config.name.clone())
|
name: Some(service.config.name.clone())
|
||||||
},
|
},
|
||||||
link_half,
|
link_half,
|
||||||
grandpa::NetworkBridge::new(service.network()),
|
grandpa::NetworkBridge::new(service.network()),
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
executor.spawn(oracle);
|
|
||||||
executor.spawn(voter);
|
executor.spawn(voter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,6 +196,12 @@ construct_service_factory! {
|
|||||||
})?
|
})?
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// run authorship only if authority.
|
||||||
|
let key = match key {
|
||||||
|
Some(key) => key,
|
||||||
|
None => return Ok(service),
|
||||||
|
};
|
||||||
|
|
||||||
let client = service.client();
|
let client = service.client();
|
||||||
|
|
||||||
// collator connections and consensus network both fulfilled by this
|
// collator connections and consensus network both fulfilled by this
|
||||||
@@ -210,7 +212,6 @@ construct_service_factory! {
|
|||||||
consensus_network,
|
consensus_network,
|
||||||
service.transaction_pool(),
|
service.transaction_pool(),
|
||||||
executor.clone(),
|
executor.clone(),
|
||||||
PARACHAIN_EMPTY_DURATION,
|
|
||||||
key.clone(),
|
key.clone(),
|
||||||
extrinsic_store,
|
extrinsic_store,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -19,8 +19,7 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#![feature(
|
#![feature(
|
||||||
alloc, core_intrinsics, lang_items, panic_handler, core_panic_info,
|
alloc, core_intrinsics, lang_items, core_panic_info, alloc_error_handler
|
||||||
alloc_error_handler
|
|
||||||
)]
|
)]
|
||||||
|
|
||||||
extern crate alloc;
|
extern crate alloc;
|
||||||
|
|||||||
Reference in New Issue
Block a user