mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-30 03:47:57 +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]]
|
||||
name = "jsonrpc-core"
|
||||
version = "9.0.0"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -989,7 +989,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jsonrpc-http-server"
|
||||
version = "9.0.0"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -1002,7 +1002,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jsonrpc-macros"
|
||||
version = "9.0.0"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||
dependencies = [
|
||||
"jsonrpc-core 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]]
|
||||
name = "jsonrpc-pubsub"
|
||||
version = "9.0.0"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -1022,7 +1022,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jsonrpc-server-utils"
|
||||
version = "9.0.0"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -1038,7 +1038,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jsonrpc-ws-server"
|
||||
version = "9.0.0"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#0d78b8f145c18f08c1103f6b0b51991a89fb0a6f"
|
||||
source = "git+https://github.com/paritytech/jsonrpc.git#cd27b905868d7919bed6ec8113e846c459e93831"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -1445,7 +1445,7 @@ dependencies = [
|
||||
"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)",
|
||||
"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]]
|
||||
@@ -1979,6 +1979,7 @@ dependencies = [
|
||||
"sr-primitives 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-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-finality-grandpa 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]]
|
||||
name = "sr-api-macros"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2662,7 +2663,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "sr-io"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||
@@ -2677,7 +2678,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "sr-primitives"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2694,7 +2695,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "sr-std"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
@@ -2702,7 +2703,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "sr-version"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2715,7 +2716,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-aura"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2735,7 +2736,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-balances"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2754,7 +2755,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-consensus"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2771,7 +2772,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-council"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2791,7 +2792,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-democracy"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2810,7 +2811,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-executive"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2826,7 +2827,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-grandpa"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2846,7 +2847,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-metadata"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2859,7 +2860,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-session"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2879,7 +2880,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-staking"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2902,7 +2903,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-support"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2919,7 +2920,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-support-procedural"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2931,7 +2932,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-support-procedural-tools"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2942,7 +2943,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-support-procedural-tools-derive"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2952,7 +2953,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-system"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2969,7 +2970,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-timestamp"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -2986,7 +2987,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "srml-treasury"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3101,7 +3102,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-cli"
|
||||
version = "0.3.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3125,7 +3126,7 @@ dependencies = [
|
||||
"substrate-primitives 0.1.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)",
|
||||
"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)",
|
||||
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
@@ -3133,7 +3134,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-client"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3162,7 +3163,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-client-db"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||
"kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=616b40150ded71f57f650067fcbc5c99d7c343e6)",
|
||||
@@ -3183,7 +3184,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-consensus-aura"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3206,7 +3207,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-consensus-aura-primitives"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3220,7 +3221,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-consensus-common"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3235,7 +3236,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-executor"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3257,7 +3258,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-finality-grandpa"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3279,7 +3280,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-finality-grandpa-primitives"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3292,7 +3293,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-keyring"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3302,7 +3303,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-keystore"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3318,7 +3319,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-network"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3341,7 +3342,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-network-libp2p"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3364,7 +3365,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-primitives"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3390,7 +3391,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-rpc"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3399,11 +3400,14 @@ dependencies = [
|
||||
"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)",
|
||||
"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)",
|
||||
"sr-primitives 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-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-transaction-pool 0.1.0 (git+https://github.com/paritytech/substrate)",
|
||||
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
@@ -3412,7 +3416,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-rpc-servers"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3426,7 +3430,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-serializer"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3435,7 +3439,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-service"
|
||||
version = "0.3.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3452,12 +3456,12 @@ dependencies = [
|
||||
"sr-primitives 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-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-executor 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-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-telemetry 0.3.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]]
|
||||
name = "substrate-state-db"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3480,7 +3484,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-state-machine"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"hash-db 0.9.0 (git+https://github.com/paritytech/trie)",
|
||||
"heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
@@ -3497,7 +3501,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-telemetry"
|
||||
version = "0.3.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3512,7 +3516,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-transaction-graph"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3526,7 +3530,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-transaction-pool"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -3542,7 +3546,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "substrate-trie"
|
||||
version = "0.4.0"
|
||||
source = "git+https://github.com/paritytech/substrate#3329915cd5458bd065c9f921891487e71511097c"
|
||||
source = "git+https://github.com/paritytech/substrate#9dfe0066dcb260eead79b0ba7fceeb1fb479ad7b"
|
||||
dependencies = [
|
||||
"hash-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]]
|
||||
name = "sysinfo"
|
||||
version = "0.6.2"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"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]]
|
||||
name = "yamux"
|
||||
version = "0.1.2"
|
||||
source = "git+https://github.com/paritytech/yamux#8cec810d4e2bbe77cf9ec8b82962e878e854e53e"
|
||||
version = "0.1.3"
|
||||
source = "git+https://github.com/paritytech/yamux#152063358daeebc5efbae47ef1bc91558ed6fb45"
|
||||
dependencies = [
|
||||
"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)",
|
||||
@@ -4610,7 +4614,7 @@ dependencies = [
|
||||
"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_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 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"
|
||||
@@ -4681,4 +4685,4 @@ dependencies = [
|
||||
"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 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-runtime = { path = "../runtime" }
|
||||
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-consensus-common = { 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.
|
||||
|
||||
use primitives::AuthorityId;
|
||||
use runtime_primitives::RuntimeString;
|
||||
|
||||
error_chain! {
|
||||
links {
|
||||
@@ -33,6 +34,10 @@ error_chain! {
|
||||
description("Local account ID not a validator at this block."),
|
||||
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 {
|
||||
description("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 tokio;
|
||||
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_transaction_pool as transaction_pool;
|
||||
|
||||
@@ -74,7 +75,6 @@ use parking_lot::Mutex;
|
||||
use polkadot_primitives::{
|
||||
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::{AttestedCandidate, ParachainHost, Statement as PrimitiveStatement};
|
||||
use primitives::{AuthorityId, ed25519};
|
||||
@@ -82,6 +82,7 @@ use runtime_primitives::traits::ProvideRuntimeApi;
|
||||
use tokio::runtime::TaskExecutor;
|
||||
use tokio::timer::{Delay, Interval};
|
||||
use transaction_pool::txpool::{Pool, ChainApi as PoolChainApi};
|
||||
use aura_primitives::AuraConsensusData;
|
||||
|
||||
use attestation_service::ServiceHandle;
|
||||
use futures::prelude::*;
|
||||
@@ -246,8 +247,6 @@ struct ParachainConsensus<C, N, P> {
|
||||
handle: TaskExecutor,
|
||||
/// Store for extrinsic data.
|
||||
extrinsic_store: ExtrinsicStore,
|
||||
/// The time after which no parachains may be included.
|
||||
parachain_empty_duration: Duration,
|
||||
/// Live agreements.
|
||||
live_instances: Mutex<HashMap<Hash, Arc<AttestationTracker>>>,
|
||||
|
||||
@@ -321,16 +320,9 @@ impl<C, N, P> ParachainConsensus<C, N, P> where
|
||||
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 {
|
||||
table,
|
||||
dynamic_inclusion,
|
||||
started: Instant::now(),
|
||||
_drop_signal: drop_signal
|
||||
});
|
||||
|
||||
@@ -349,7 +341,7 @@ impl<C, N, P> ParachainConsensus<C, N, P> where
|
||||
struct AttestationTracker {
|
||||
_drop_signal: exit_future::Signal,
|
||||
table: Arc<SharedTable>,
|
||||
dynamic_inclusion: DynamicInclusion,
|
||||
started: Instant,
|
||||
}
|
||||
|
||||
/// Polkadot proposer factory.
|
||||
@@ -376,7 +368,6 @@ impl<C, N, P, TxApi> ProposerFactory<C, N, P, TxApi> where
|
||||
collators: C,
|
||||
transaction_pool: Arc<Pool<TxApi>>,
|
||||
thread_pool: TaskExecutor,
|
||||
parachain_empty_duration: Duration,
|
||||
key: Arc<ed25519::Pair>,
|
||||
extrinsic_store: ExtrinsicStore,
|
||||
) -> Self {
|
||||
@@ -386,7 +377,6 @@ impl<C, N, P, TxApi> ProposerFactory<C, N, P, TxApi> where
|
||||
collators,
|
||||
handle: thread_pool.clone(),
|
||||
extrinsic_store: extrinsic_store.clone(),
|
||||
parachain_empty_duration,
|
||||
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,
|
||||
N: Network,
|
||||
TxApi: PoolChainApi<Block=Block>,
|
||||
@@ -424,9 +414,6 @@ impl<C, N, P, TxApi> consensus::Environment<Block> for ProposerFactory<C, N, P,
|
||||
authorities: &[AuthorityId],
|
||||
sign_with: Arc<ed25519::Pair>,
|
||||
) -> Result<Self::Proposer, Error> {
|
||||
// force delay in evaluation this long.
|
||||
const FORCE_DELAY: Timestamp = Compact(5);
|
||||
|
||||
let parent_hash = parent_header.hash();
|
||||
let parent_id = BlockId::hash(parent_hash);
|
||||
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_number: parent_header.number,
|
||||
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,
|
||||
tracker: Arc<AttestationTracker>,
|
||||
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>,
|
||||
C: ProvideRuntimeApi + HeaderBackend<Block> + Send + Sync,
|
||||
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>,
|
||||
>;
|
||||
|
||||
fn propose(&self) -> Self::Create {
|
||||
fn propose(&self, consensus_data: AuraConsensusData) -> Self::Create {
|
||||
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 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,
|
||||
initial_included,
|
||||
).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 {
|
||||
minimum: delay_future,
|
||||
attempt_propose: Interval::new(now + ATTEMPT_PROPOSE_EVERY, ATTEMPT_PROPOSE_EVERY),
|
||||
enough_candidates: Delay::new(enough_candidates),
|
||||
dynamic_inclusion: self.tracker.dynamic_inclusion.clone(),
|
||||
dynamic_inclusion,
|
||||
last_included: initial_included,
|
||||
};
|
||||
|
||||
@@ -555,7 +561,8 @@ impl<C, TxApi> consensus::Proposer<Block> for Proposer<C, TxApi> where
|
||||
client: self.client.clone(),
|
||||
transaction_pool: self.transaction_pool.clone(),
|
||||
table: self.tracker.table.clone(),
|
||||
minimum_timestamp: self.minimum_timestamp.into(),
|
||||
believed_minimum_timestamp: believed_timestamp,
|
||||
consensus_data,
|
||||
timing,
|
||||
})
|
||||
}
|
||||
@@ -569,6 +576,7 @@ fn current_timestamp() -> Timestamp {
|
||||
}
|
||||
|
||||
struct ProposalTiming {
|
||||
minimum: Option<Delay>,
|
||||
attempt_propose: Interval,
|
||||
dynamic_inclusion: DynamicInclusion,
|
||||
enough_candidates: Delay,
|
||||
@@ -588,6 +596,14 @@ impl ProposalTiming {
|
||||
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 {
|
||||
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>>,
|
||||
table: Arc<SharedTable>,
|
||||
timing: ProposalTiming,
|
||||
minimum_timestamp: Timestamp,
|
||||
believed_minimum_timestamp: u64,
|
||||
consensus_data: AuraConsensusData,
|
||||
}
|
||||
|
||||
impl<C, TxApi> CreateProposal<C, TxApi> where
|
||||
@@ -626,13 +643,10 @@ impl<C, TxApi> CreateProposal<C, TxApi> where
|
||||
use client::block_builder::BlockBuilder;
|
||||
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 {
|
||||
timestamp,
|
||||
timestamp: self.believed_minimum_timestamp,
|
||||
parachains: candidates,
|
||||
aura_expected_slot: 0, // not required here.
|
||||
aura_expected_slot: self.consensus_data.slot,
|
||||
};
|
||||
|
||||
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)?;
|
||||
assert!(evaluation::evaluate_initial(
|
||||
&new_block,
|
||||
timestamp.into(),
|
||||
self.believed_minimum_timestamp.into(),
|
||||
&self.parent_hash,
|
||||
self.parent_number,
|
||||
&active_parachains,
|
||||
|
||||
@@ -193,14 +193,14 @@ impl<P: ProvideRuntimeApi + Send + Sync + 'static> Router<P>
|
||||
if let Some(validity) = produced.validity {
|
||||
let signed = table.sign_and_import(validity.clone()).0;
|
||||
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 {
|
||||
let signed = table.sign_and_import(availability).0;
|
||||
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));
|
||||
let mut gossip = self.network.consensus_gossip().write();
|
||||
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 {
|
||||
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::{
|
||||
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 srml_support::{StorageValue, StorageMap};
|
||||
@@ -46,17 +46,17 @@ pub trait Trait: session::Trait {
|
||||
decl_storage! {
|
||||
trait Store for Module<T: Trait> as Parachains {
|
||||
// Vector of all parachain IDs.
|
||||
pub Parachains get(active_parachains): Vec<Id>;
|
||||
pub Parachains get(active_parachains): Vec<ParaId>;
|
||||
// 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.
|
||||
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?
|
||||
DidUpdate: bool;
|
||||
}
|
||||
add_extra_genesis {
|
||||
config(parachains): Vec<(Id, Vec<u8>, Vec<u8>)>;
|
||||
config(parachains): Vec<(ParaId, Vec<u8>, Vec<u8>)>;
|
||||
config(_phdata): PhantomData<T>;
|
||||
build(|storage: &mut sr_primitives::StorageMap, _: &mut ChildrenStorageMap, config: &GenesisConfig<T>| {
|
||||
use codec::Encode;
|
||||
@@ -134,7 +134,7 @@ decl_module! {
|
||||
|
||||
/// Register a parachain with given code.
|
||||
/// 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();
|
||||
match parachains.binary_search(&id) {
|
||||
Ok(_) => fail!("Parachain already exists"),
|
||||
@@ -149,7 +149,7 @@ decl_module! {
|
||||
}
|
||||
|
||||
/// 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();
|
||||
match parachains.binary_search(&id) {
|
||||
Ok(idx) => { parachains.remove(idx); }
|
||||
@@ -240,15 +240,15 @@ impl<T: Trait> Module<T> {
|
||||
// assumes the inner slice is sorted by id.
|
||||
struct GroupedDutyIter<'a> {
|
||||
next_idx: usize,
|
||||
inner: &'a [(usize, Id)],
|
||||
inner: &'a [(usize, ParaId)],
|
||||
}
|
||||
|
||||
impl<'a> GroupedDutyIter<'a> {
|
||||
fn new(inner: &'a [(usize, Id)]) -> Self {
|
||||
fn new(inner: &'a [(usize, ParaId)]) -> Self {
|
||||
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() {
|
||||
if wanted_id == id {
|
||||
return Some(keys)
|
||||
@@ -260,7 +260,7 @@ impl<T: Trait> Module<T> {
|
||||
}
|
||||
|
||||
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> {
|
||||
if self.next_idx == self.inner.len() { return None }
|
||||
@@ -435,11 +435,11 @@ impl<T: Trait> ProvideInherent for Module<T> {
|
||||
.extrinsics()
|
||||
.get(T::SET_POSITION as usize)
|
||||
.map_or(false, |xt| {
|
||||
xt.is_signed() == Some(true) && match extract_function(&xt) {
|
||||
Some(Call::set_heads(_)) => true,
|
||||
_ => false,
|
||||
}
|
||||
});
|
||||
xt.is_signed() == Some(false) && match extract_function(&xt) {
|
||||
Some(Call::set_heads(_)) => true,
|
||||
_ => false,
|
||||
}
|
||||
});
|
||||
|
||||
if !has_heads {
|
||||
return Err(CheckInherentError::Other(
|
||||
@@ -502,7 +502,7 @@ mod tests {
|
||||
|
||||
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 authority_keys = [
|
||||
Keyring::Alice,
|
||||
@@ -629,7 +629,7 @@ mod tests {
|
||||
let check_roster = |duty_roster: &DutyRoster| {
|
||||
assert_eq!(duty_roster.validator_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.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
|
||||
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
|
||||
public_delay: 0,
|
||||
public_delay: 10 * 60,
|
||||
max_lock_periods: 6,
|
||||
}),
|
||||
grandpa: Some(GrandpaConfig {
|
||||
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,
|
||||
voting_period: 18,
|
||||
minimum_deposit: 10,
|
||||
public_delay: 0,
|
||||
public_delay: 10 * 60,
|
||||
max_lock_periods: 6,
|
||||
}),
|
||||
grandpa: Some(GrandpaConfig {
|
||||
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 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.
|
||||
pub type Configuration = FactoryFullConfiguration<Factory>;
|
||||
|
||||
@@ -166,25 +163,24 @@ construct_service_factory! {
|
||||
{ |config: FactoryFullConfiguration<Self>, executor: TaskExecutor| {
|
||||
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;
|
||||
|
||||
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");
|
||||
|
||||
// always run GRANDPA in order to sync.
|
||||
{
|
||||
info!("Running Grandpa session as Authority {}", key.public());
|
||||
let (voter, oracle) = grandpa::run_grandpa(
|
||||
let voter = grandpa::run_grandpa(
|
||||
grandpa::Config {
|
||||
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())
|
||||
},
|
||||
link_half,
|
||||
grandpa::NetworkBridge::new(service.network()),
|
||||
)?;
|
||||
|
||||
executor.spawn(oracle);
|
||||
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();
|
||||
|
||||
// collator connections and consensus network both fulfilled by this
|
||||
@@ -210,7 +212,6 @@ construct_service_factory! {
|
||||
consensus_network,
|
||||
service.transaction_pool(),
|
||||
executor.clone(),
|
||||
PARACHAIN_EMPTY_DURATION,
|
||||
key.clone(),
|
||||
extrinsic_store,
|
||||
);
|
||||
|
||||
@@ -19,8 +19,7 @@
|
||||
#![no_std]
|
||||
|
||||
#![feature(
|
||||
alloc, core_intrinsics, lang_items, panic_handler, core_panic_info,
|
||||
alloc_error_handler
|
||||
alloc, core_intrinsics, lang_items, core_panic_info, alloc_error_handler
|
||||
)]
|
||||
|
||||
extern crate alloc;
|
||||
|
||||
Reference in New Issue
Block a user