mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-24 06:35:45 +00:00
Upgrade from futures-preview to futures 0.3.1, and remove futures 0.1 where currently possible (#4083)
* Migrate node and node-template * Migrate srml * Simple changes * Add async-std for interval * Fix test-runtime warning * Small changes * move futures01 in core/rpc to dev-deps * Change wasm CI builds * Switch to async-std 1.0.1 * Remove async-std dep of network * Add modified lockfile * Fix node cli browser build * Remove authority-discovery async-std dep * Add Send + Sync to interval dyn stream
This commit is contained in:
@@ -219,14 +219,14 @@ check-web-wasm:
|
|||||||
script:
|
script:
|
||||||
# WASM support is in progress. As more and more crates support WASM, we
|
# WASM support is in progress. As more and more crates support WASM, we
|
||||||
# should add entries here. See https://github.com/paritytech/substrate/issues/2416
|
# should add entries here. See https://github.com/paritytech/substrate/issues/2416
|
||||||
- time cargo web build -p sr-io
|
- time cargo build --target=wasm32-unknown-unknown -p sr-io
|
||||||
- time cargo web build -p sr-primitives
|
- time cargo build --target=wasm32-unknown-unknown -p sr-primitives
|
||||||
- time cargo web build -p sr-std
|
- time cargo build --target=wasm32-unknown-unknown -p sr-std
|
||||||
- time cargo web build -p substrate-client
|
- time cargo build --target=wasm32-unknown-unknown -p substrate-client
|
||||||
- time cargo web build -p substrate-consensus-aura
|
- time cargo build --target=wasm32-unknown-unknown -p substrate-consensus-aura
|
||||||
- time cargo web build -p substrate-consensus-babe
|
- time cargo build --target=wasm32-unknown-unknown -p substrate-consensus-babe
|
||||||
- time cargo web build -p substrate-consensus-common
|
- time cargo build --target=wasm32-unknown-unknown -p substrate-consensus-common
|
||||||
- time cargo web build -p substrate-telemetry
|
- time cargo build --target=wasm32-unknown-unknown -p substrate-telemetry
|
||||||
# Note: the command below is a bit weird because several Cargo issues prevent us from compiling the node in a more straight-forward way.
|
# Note: the command below is a bit weird because several Cargo issues prevent us from compiling the node in a more straight-forward way.
|
||||||
- time cargo build --manifest-path=bin/node/cli/Cargo.toml --no-default-features --features "browser" --target=wasm32-unknown-unknown
|
- time cargo build --manifest-path=bin/node/cli/Cargo.toml --no-default-features --features "browser" --target=wasm32-unknown-unknown
|
||||||
- sccache -s
|
- sccache -s
|
||||||
|
|||||||
Generated
+44
-85
@@ -1266,15 +1266,6 @@ dependencies = [
|
|||||||
"futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-channel-preview"
|
|
||||||
version = "0.3.0-alpha.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-sink-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures-core"
|
name = "futures-core"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
@@ -1305,26 +1296,11 @@ dependencies = [
|
|||||||
"num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-executor-preview"
|
|
||||||
version = "0.3.0-alpha.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-util-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures-io"
|
name = "futures-io"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-io-preview"
|
|
||||||
version = "0.3.0-alpha.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures-macro"
|
name = "futures-macro"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
@@ -1336,29 +1312,11 @@ dependencies = [
|
|||||||
"syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-preview"
|
|
||||||
version = "0.3.0-alpha.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-executor-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-io-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-sink-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-util-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures-sink"
|
name = "futures-sink"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-sink-preview"
|
|
||||||
version = "0.3.0-alpha.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures-task"
|
name = "futures-task"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
@@ -1374,6 +1332,11 @@ dependencies = [
|
|||||||
"pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "futures-timer"
|
||||||
|
version = "2.0.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures-util"
|
name = "futures-util"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
@@ -1398,16 +1361,19 @@ name = "futures-util-preview"
|
|||||||
version = "0.3.0-alpha.19"
|
version = "0.3.0-alpha.19"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-io-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures-sink-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "futures01"
|
||||||
|
version = "0.1.29"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gcc"
|
name = "gcc"
|
||||||
version = "0.3.55"
|
version = "0.3.55"
|
||||||
@@ -2710,9 +2676,8 @@ dependencies = [
|
|||||||
"console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"console_log 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"console_log 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
"js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -2906,8 +2871,8 @@ version = "2.0.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"node-template-runtime 2.0.0",
|
"node-template-runtime 2.0.0",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -3270,7 +3235,7 @@ name = "palette-system-rpc"
|
|||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core-client 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-core-client 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-derive 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-derive 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5342,8 +5307,8 @@ version = "2.0.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5377,7 +5342,7 @@ dependencies = [
|
|||||||
name = "substrate-basic-authorship"
|
name = "substrate-basic-authorship"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sr-primitives 2.0.0",
|
"sr-primitives 2.0.0",
|
||||||
@@ -5463,10 +5428,9 @@ dependencies = [
|
|||||||
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures01 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5496,8 +5460,7 @@ dependencies = [
|
|||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (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)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)",
|
"kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)",
|
||||||
@@ -5533,8 +5496,7 @@ dependencies = [
|
|||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (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)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)",
|
"kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)",
|
||||||
@@ -5598,7 +5560,7 @@ dependencies = [
|
|||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5649,7 +5611,7 @@ dependencies = [
|
|||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fork-tree 2.0.0",
|
"fork-tree 2.0.0",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"merlin 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"merlin 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5709,7 +5671,7 @@ name = "substrate-consensus-common"
|
|||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5728,7 +5690,7 @@ name = "substrate-consensus-pow"
|
|||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sp-timestamp 2.0.0",
|
"sp-timestamp 2.0.0",
|
||||||
@@ -5756,8 +5718,8 @@ dependencies = [
|
|||||||
name = "substrate-consensus-slots"
|
name = "substrate-consensus-slots"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5850,7 +5812,7 @@ dependencies = [
|
|||||||
"finality-grandpa 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"finality-grandpa 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fork-tree 2.0.0",
|
"fork-tree 2.0.0",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5950,7 +5912,7 @@ dependencies = [
|
|||||||
"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)",
|
||||||
"fork-tree 2.0.0",
|
"fork-tree 2.0.0",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -5997,8 +5959,8 @@ dependencies = [
|
|||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (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)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hyper-rustls 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hyper-rustls 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -6040,7 +6002,7 @@ dependencies = [
|
|||||||
name = "substrate-peerset"
|
name = "substrate-peerset"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -6118,7 +6080,7 @@ version = "2.0.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-pubsub 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-pubsub 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -6151,7 +6113,7 @@ name = "substrate-rpc-api"
|
|||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-core-client 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-core-client 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"jsonrpc-derive 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jsonrpc-derive 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -6262,7 +6224,7 @@ dependencies = [
|
|||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"node-executor 2.0.0",
|
"node-executor 2.0.0",
|
||||||
@@ -6312,7 +6274,7 @@ dependencies = [
|
|||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sr-primitives 2.0.0",
|
"sr-primitives 2.0.0",
|
||||||
"substrate-client 2.0.0",
|
"substrate-client 2.0.0",
|
||||||
@@ -6369,8 +6331,8 @@ version = "2.0.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libp2p 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -6388,7 +6350,7 @@ dependencies = [
|
|||||||
name = "substrate-test-client"
|
name = "substrate-test-client"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sr-primitives 2.0.0",
|
"sr-primitives 2.0.0",
|
||||||
@@ -6475,7 +6437,7 @@ dependencies = [
|
|||||||
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -7849,22 +7811,19 @@ dependencies = [
|
|||||||
"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
|
"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
|
||||||
"checksum futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
|
"checksum futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
|
||||||
"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
|
"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
|
||||||
"checksum futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "d5e5f4df964fa9c1c2f8bddeb5c3611631cacd93baf810fc8bb2fb4b495c263a"
|
|
||||||
"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
|
"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
|
||||||
"checksum futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
|
"checksum futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
|
||||||
"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
|
"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
|
||||||
"checksum futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
|
"checksum futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
|
||||||
"checksum futures-executor-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "75236e88bd9fe88e5e8bfcd175b665d0528fe03ca4c5207fabc028c8f9d93e98"
|
|
||||||
"checksum futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
|
"checksum futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
|
||||||
"checksum futures-io-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "f4914ae450db1921a56c91bde97a27846287d062087d4a652efc09bb3a01ebda"
|
|
||||||
"checksum futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
|
"checksum futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
|
||||||
"checksum futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "3b1dce2a0267ada5c6ff75a8ba864b4e679a9e2aa44262af7a3b5516d530d76e"
|
|
||||||
"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
|
"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
|
||||||
"checksum futures-sink-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "86f148ef6b69f75bb610d4f9a2336d4fc88c4b5b67129d1a340dd0fd362efeec"
|
|
||||||
"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
|
"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
|
||||||
"checksum futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "878f1d2fc31355fa02ed2372e741b0c17e58373341e6a122569b4623a14a7d33"
|
"checksum futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "878f1d2fc31355fa02ed2372e741b0c17e58373341e6a122569b4623a14a7d33"
|
||||||
|
"checksum futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6"
|
||||||
"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
|
"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
|
||||||
"checksum futures-util-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "5ce968633c17e5f97936bd2797b6e38fb56cf16a7422319f7ec2e30d3c470e8d"
|
"checksum futures-util-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "5ce968633c17e5f97936bd2797b6e38fb56cf16a7422319f7ec2e30d3c470e8d"
|
||||||
|
"checksum futures01 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "7ef8cbbf52909170053540c6c05a62433ddb60662dabee714e2a882caa864f22"
|
||||||
"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
|
"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
|
||||||
"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
|
"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
|
||||||
"checksum get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7"
|
"checksum get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7"
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ path = "src/main.rs"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
futures = "0.1.29"
|
futures = "0.3.1"
|
||||||
|
futures01 = { package = "futures", version = "0.1.29" }
|
||||||
ctrlc = { version = "3.1.3", features = ["termination"] }
|
ctrlc = { version = "3.1.3", features = ["termination"] }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
tokio = "0.1.22"
|
tokio = "0.1.22"
|
||||||
exit-future = "0.1.4"
|
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
trie-root = "0.15.2"
|
trie-root = "0.15.2"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use crate::service;
|
use crate::service;
|
||||||
use futures::{future, Future, sync::oneshot};
|
use futures::{future::{select, Map}, FutureExt, TryFutureExt, channel::oneshot, compat::Future01CompatExt};
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use tokio::runtime::Runtime;
|
use tokio::runtime::Runtime;
|
||||||
pub use substrate_cli::{VersionInfo, IntoExit, error};
|
pub use substrate_cli::{VersionInfo, IntoExit, error};
|
||||||
@@ -69,25 +69,37 @@ where
|
|||||||
T: AbstractService,
|
T: AbstractService,
|
||||||
E: IntoExit,
|
E: IntoExit,
|
||||||
{
|
{
|
||||||
let (exit_send, exit) = exit_future::signal();
|
let (exit_send, exit) = oneshot::channel();
|
||||||
|
|
||||||
let informant = informant::build(&service);
|
let informant = informant::build(&service);
|
||||||
runtime.executor().spawn(exit.until(informant).map(|_| ()));
|
|
||||||
|
let future = select(exit, informant)
|
||||||
|
.map(|_| Ok(()))
|
||||||
|
.compat();
|
||||||
|
|
||||||
|
runtime.executor().spawn(future);
|
||||||
|
|
||||||
// we eagerly drop the service so that the internal exit future is fired,
|
// we eagerly drop the service so that the internal exit future is fired,
|
||||||
// but we need to keep holding a reference to the global telemetry guard
|
// but we need to keep holding a reference to the global telemetry guard
|
||||||
let _telemetry = service.telemetry();
|
let _telemetry = service.telemetry();
|
||||||
|
|
||||||
let service_res = {
|
let service_res = {
|
||||||
let exit = e.into_exit().map_err(|_| error::Error::Other("Exit future failed.".into()));
|
let exit = e.into_exit();
|
||||||
let service = service.map_err(|err| error::Error::Service(err));
|
let service = service
|
||||||
let select = service.select(exit).map(|_| ()).map_err(|(err, _)| err);
|
.map_err(|err| error::Error::Service(err))
|
||||||
|
.compat();
|
||||||
|
let select = select(service, exit)
|
||||||
|
.map(|_| Ok(()))
|
||||||
|
.compat();
|
||||||
runtime.block_on(select)
|
runtime.block_on(select)
|
||||||
};
|
};
|
||||||
|
|
||||||
exit_send.fire();
|
let _ = exit_send.send(());
|
||||||
|
|
||||||
// TODO [andre]: timeout this future #1318
|
// TODO [andre]: timeout this future #1318
|
||||||
|
|
||||||
|
use futures01::Future;
|
||||||
|
|
||||||
let _ = runtime.shutdown_on_idle().wait();
|
let _ = runtime.shutdown_on_idle().wait();
|
||||||
|
|
||||||
service_res
|
service_res
|
||||||
@@ -96,7 +108,7 @@ where
|
|||||||
// handles ctrl-c
|
// handles ctrl-c
|
||||||
pub struct Exit;
|
pub struct Exit;
|
||||||
impl IntoExit for Exit {
|
impl IntoExit for Exit {
|
||||||
type Exit = future::MapErr<oneshot::Receiver<()>, fn(oneshot::Canceled) -> ()>;
|
type Exit = Map<oneshot::Receiver<()>, fn(Result<(), oneshot::Canceled>) -> ()>;
|
||||||
fn into_exit(self) -> Self::Exit {
|
fn into_exit(self) -> Self::Exit {
|
||||||
// can't use signal directly here because CtrlC takes only `Fn`.
|
// can't use signal directly here because CtrlC takes only `Fn`.
|
||||||
let (exit_send, exit) = oneshot::channel();
|
let (exit_send, exit) = oneshot::channel();
|
||||||
@@ -109,6 +121,6 @@ impl IntoExit for Exit {
|
|||||||
}
|
}
|
||||||
}).expect("Error setting Ctrl-C handler");
|
}).expect("Error setting Ctrl-C handler");
|
||||||
|
|
||||||
exit.map_err(drop)
|
exit.map(drop)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ crate-type = ["cdylib", "rlib"]
|
|||||||
# third-party dependencies
|
# third-party dependencies
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.6" }
|
codec = { package = "parity-scale-codec", version = "1.0.6" }
|
||||||
serde = { version = "1.0.102", features = [ "derive" ] }
|
serde = { version = "1.0.102", features = [ "derive" ] }
|
||||||
futures = "0.1.29"
|
futures01 = { package = "futures", version = "0.1.29" }
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
hex-literal = "0.2.1"
|
hex-literal = "0.2.1"
|
||||||
jsonrpc-core = "14.0.3"
|
jsonrpc-core = "14.0.3"
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
@@ -80,7 +80,6 @@ node-executor = { path = "../executor" }
|
|||||||
|
|
||||||
# CLI-specific dependencies
|
# CLI-specific dependencies
|
||||||
tokio = { version = "0.1.22", optional = true }
|
tokio = { version = "0.1.22", optional = true }
|
||||||
exit-future = { version = "0.1.4", optional = true }
|
|
||||||
substrate-cli = { path = "../../../client/cli", optional = true }
|
substrate-cli = { path = "../../../client/cli", optional = true }
|
||||||
transaction-factory = { path = "../../../test/utils/transaction-factory", optional = true }
|
transaction-factory = { path = "../../../test/utils/transaction-factory", optional = true }
|
||||||
ctrlc = { version = "3.1.3", features = ["termination"], optional = true }
|
ctrlc = { version = "3.1.3", features = ["termination"], optional = true }
|
||||||
@@ -101,7 +100,7 @@ keystore = { package = "substrate-keystore", path = "../../../client/keystore" }
|
|||||||
babe = { package = "substrate-consensus-babe", path = "../../../client/consensus/babe", features = ["test-helpers"] }
|
babe = { package = "substrate-consensus-babe", path = "../../../client/consensus/babe", features = ["test-helpers"] }
|
||||||
consensus-common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
consensus-common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
||||||
service-test = { package = "substrate-service-test", path = "../../../client/service/test" }
|
service-test = { package = "substrate-service-test", path = "../../../client/service/test" }
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19" }
|
futures = "0.3.1"
|
||||||
tempfile = "3.1.0"
|
tempfile = "3.1.0"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
@@ -128,7 +127,6 @@ cli = [
|
|||||||
"substrate-cli",
|
"substrate-cli",
|
||||||
"transaction-factory",
|
"transaction-factory",
|
||||||
"tokio",
|
"tokio",
|
||||||
"exit-future",
|
|
||||||
"ctrlc",
|
"ctrlc",
|
||||||
"substrate-service/rocksdb",
|
"substrate-service/rocksdb",
|
||||||
"node-executor/wasmi-errno",
|
"node-executor/wasmi-errno",
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
#![warn(missing_docs)]
|
#![warn(missing_docs)]
|
||||||
|
|
||||||
use futures::sync::oneshot;
|
use futures::channel::oneshot;
|
||||||
use futures::{future, Future};
|
use futures::{future, FutureExt};
|
||||||
use substrate_cli::VersionInfo;
|
use substrate_cli::VersionInfo;
|
||||||
|
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
@@ -27,7 +27,7 @@ use std::cell::RefCell;
|
|||||||
// handles ctrl-c
|
// handles ctrl-c
|
||||||
struct Exit;
|
struct Exit;
|
||||||
impl substrate_cli::IntoExit for Exit {
|
impl substrate_cli::IntoExit for Exit {
|
||||||
type Exit = future::MapErr<oneshot::Receiver<()>, fn(oneshot::Canceled) -> ()>;
|
type Exit = future::Map<oneshot::Receiver<()>, fn(Result<(), oneshot::Canceled>) -> ()>;
|
||||||
fn into_exit(self) -> Self::Exit {
|
fn into_exit(self) -> Self::Exit {
|
||||||
// can't use signal directly here because CtrlC takes only `Fn`.
|
// can't use signal directly here because CtrlC takes only `Fn`.
|
||||||
let (exit_send, exit) = oneshot::channel();
|
let (exit_send, exit) = oneshot::channel();
|
||||||
@@ -39,7 +39,7 @@ impl substrate_cli::IntoExit for Exit {
|
|||||||
}
|
}
|
||||||
}).expect("Error setting Ctrl-C handler");
|
}).expect("Error setting Ctrl-C handler");
|
||||||
|
|
||||||
exit.map_err(drop)
|
exit.map(|_| ())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
use crate::ChainSpec;
|
use crate::ChainSpec;
|
||||||
use futures::{prelude::*, sync::oneshot, sync::mpsc};
|
use futures01::{prelude::*, sync::oneshot, sync::mpsc};
|
||||||
use libp2p::wasm_ext;
|
use libp2p::wasm_ext;
|
||||||
use log::{debug, info};
|
use log::{debug, info};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
@@ -71,7 +71,7 @@ fn start_inner(wasm_ext: wasm_ext::ffi::Transport) -> Result<Client, Box<dyn std
|
|||||||
// `service.poll()`.
|
// `service.poll()`.
|
||||||
// The rest consists in handling RPC requests.
|
// The rest consists in handling RPC requests.
|
||||||
let (rpc_send_tx, mut rpc_send_rx) = mpsc::unbounded::<RpcMessage>();
|
let (rpc_send_tx, mut rpc_send_rx) = mpsc::unbounded::<RpcMessage>();
|
||||||
wasm_bindgen_futures::spawn_local(futures::future::poll_fn(move || {
|
wasm_bindgen_futures::spawn_local(futures01::future::poll_fn(move || {
|
||||||
loop {
|
loop {
|
||||||
match rpc_send_rx.poll() {
|
match rpc_send_rx.poll() {
|
||||||
Ok(Async::Ready(Some(message))) => {
|
Ok(Async::Ready(Some(message))) => {
|
||||||
|
|||||||
@@ -185,23 +185,34 @@ where
|
|||||||
T: AbstractService,
|
T: AbstractService,
|
||||||
E: IntoExit,
|
E: IntoExit,
|
||||||
{
|
{
|
||||||
let (exit_send, exit) = exit_future::signal();
|
use futures::{FutureExt, TryFutureExt, channel::oneshot, future::select, compat::Future01CompatExt};
|
||||||
|
|
||||||
|
let (exit_send, exit) = oneshot::channel();
|
||||||
|
|
||||||
let informant = substrate_cli::informant::build(&service);
|
let informant = substrate_cli::informant::build(&service);
|
||||||
runtime.executor().spawn(exit.until(informant).map(|_| ()));
|
|
||||||
|
let future = select(informant, exit)
|
||||||
|
.map(|_| Ok(()))
|
||||||
|
.compat();
|
||||||
|
|
||||||
|
runtime.executor().spawn(future);
|
||||||
|
|
||||||
// we eagerly drop the service so that the internal exit future is fired,
|
// we eagerly drop the service so that the internal exit future is fired,
|
||||||
// but we need to keep holding a reference to the global telemetry guard
|
// but we need to keep holding a reference to the global telemetry guard
|
||||||
let _telemetry = service.telemetry();
|
let _telemetry = service.telemetry();
|
||||||
|
|
||||||
let service_res = {
|
let service_res = {
|
||||||
let exit = e.into_exit().map_err(|_| error::Error::Other("Exit future failed.".into()));
|
let exit = e.into_exit();
|
||||||
let service = service.map_err(|err| error::Error::Service(err));
|
let service = service
|
||||||
let select = service.select(exit).map(|_| ()).map_err(|(err, _)| err);
|
.map_err(|err| error::Error::Service(err))
|
||||||
|
.compat();
|
||||||
|
let select = select(service, exit)
|
||||||
|
.map(|_| Ok(()))
|
||||||
|
.compat();
|
||||||
runtime.block_on(select)
|
runtime.block_on(select)
|
||||||
};
|
};
|
||||||
|
|
||||||
exit_send.fire();
|
let _ = exit_send.send(());
|
||||||
|
|
||||||
// TODO [andre]: timeout this future #1318
|
// TODO [andre]: timeout this future #1318
|
||||||
let _ = runtime.shutdown_on_idle().wait();
|
let _ = runtime.shutdown_on_idle().wait();
|
||||||
|
|||||||
@@ -110,9 +110,9 @@ macro_rules! new_full_start {
|
|||||||
/// concrete types instead.
|
/// concrete types instead.
|
||||||
macro_rules! new_full {
|
macro_rules! new_full {
|
||||||
($config:expr, $with_startup_data: expr) => {{
|
($config:expr, $with_startup_data: expr) => {{
|
||||||
use futures::sync::mpsc;
|
use futures01::sync::mpsc;
|
||||||
use network::DhtEvent;
|
use network::DhtEvent;
|
||||||
use futures03::{
|
use futures::{
|
||||||
compat::Stream01CompatExt,
|
compat::Stream01CompatExt,
|
||||||
stream::StreamExt,
|
stream::StreamExt,
|
||||||
future::{FutureExt, TryFutureExt},
|
future::{FutureExt, TryFutureExt},
|
||||||
@@ -515,7 +515,7 @@ mod tests {
|
|||||||
digest.push(<DigestItem as CompatibleDigestItem>::babe_pre_digest(babe_pre_digest));
|
digest.push(<DigestItem as CompatibleDigestItem>::babe_pre_digest(babe_pre_digest));
|
||||||
|
|
||||||
let mut proposer = proposer_factory.init(&parent_header).unwrap();
|
let mut proposer = proposer_factory.init(&parent_header).unwrap();
|
||||||
let new_block = futures03::executor::block_on(proposer.propose(
|
let new_block = futures::executor::block_on(proposer.propose(
|
||||||
inherent_data,
|
inherent_data,
|
||||||
digest,
|
digest,
|
||||||
std::time::Duration::from_secs(1),
|
std::time::Duration::from_secs(1),
|
||||||
|
|||||||
@@ -13,8 +13,7 @@ kvdb = { git = "https://github.com/paritytech/parity-common", rev="b0317f649ab2c
|
|||||||
derive_more = { version = "0.15.0" }
|
derive_more = { version = "0.15.0" }
|
||||||
executor = { package = "substrate-executor", path = "executor" }
|
executor = { package = "substrate-executor", path = "executor" }
|
||||||
fnv = { version = "1.0.6" }
|
fnv = { version = "1.0.6" }
|
||||||
futures = { version = "0.1.29" }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
|
||||||
hash-db = { version = "0.15.2" }
|
hash-db = { version = "0.15.2" }
|
||||||
header-metadata = { package = "substrate-header-metadata", path = "header-metadata" }
|
header-metadata = { package = "substrate-header-metadata", path = "header-metadata" }
|
||||||
hex-literal = { version = "0.2.1" }
|
hex-literal = { version = "0.2.1" }
|
||||||
@@ -38,4 +37,3 @@ client-db = { package = "substrate-client-db", path = "./db", features = ["kvdb-
|
|||||||
test-client = { package = "substrate-test-runtime-client", path = "../test/utils/runtime/client" }
|
test-client = { package = "substrate-test-runtime-client", path = "../test/utils/runtime/client" }
|
||||||
kvdb-memorydb = { git = "https://github.com/paritytech/parity-common", rev="b0317f649ab2c665b7987b8475878fc4d2e1f81d" }
|
kvdb-memorydb = { git = "https://github.com/paritytech/parity-common", rev="b0317f649ab2c665b7987b8475878fc4d2e1f81d" }
|
||||||
panic-handler = { package = "substrate-panic-handler", path = "../primitives/panic-handler" }
|
panic-handler = { package = "substrate-panic-handler", path = "../primitives/panic-handler" }
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ consensus = { package = "substrate-consensus-common", path = "../../primitives/c
|
|||||||
derive_more = { version = "0.15.0" }
|
derive_more = { version = "0.15.0" }
|
||||||
executor = { package = "substrate-executor", path = "../executor" }
|
executor = { package = "substrate-executor", path = "../executor" }
|
||||||
fnv = { version = "1.0.6" }
|
fnv = { version = "1.0.6" }
|
||||||
futures = { version = "0.1.29" }
|
futures = { version = "0.3.1" }
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
|
||||||
hash-db = { version = "0.15.2", default-features = false }
|
hash-db = { version = "0.15.2", default-features = false }
|
||||||
header-metadata = { package = "substrate-header-metadata", path = "../header-metadata" }
|
header-metadata = { package = "substrate-header-metadata", path = "../header-metadata" }
|
||||||
hex-literal = { version = "0.2.1" }
|
hex-literal = { version = "0.2.1" }
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use futures03::channel::mpsc;
|
use futures::channel::mpsc;
|
||||||
use primitives::storage::StorageKey;
|
use primitives::storage::StorageKey;
|
||||||
use state_machine::ExecutionStrategy;
|
use state_machine::ExecutionStrategy;
|
||||||
use sr_primitives::{
|
use sr_primitives::{
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ pub trait RemoteBlockchain<Block: BlockT>: Send + Sync {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub mod tests {
|
pub mod tests {
|
||||||
use futures03::future::Ready;
|
use futures::future::Ready;
|
||||||
use parking_lot::Mutex;
|
use parking_lot::Mutex;
|
||||||
use crate::error::Error as ClientError;
|
use crate::error::Error as ClientError;
|
||||||
use test_primitives::{Block, Header, Extrinsic};
|
use test_primitives::{Block, Header, Extrinsic};
|
||||||
@@ -298,7 +298,7 @@ pub mod tests {
|
|||||||
where
|
where
|
||||||
E: std::convert::From<&'static str>,
|
E: std::convert::From<&'static str>,
|
||||||
{
|
{
|
||||||
futures03::future::ready(Err("Not implemented on test node".into()))
|
futures::future::ready(Err("Not implemented on test node".into()))
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Fetcher<Block> for OkCallFetcher {
|
impl Fetcher<Block> for OkCallFetcher {
|
||||||
@@ -321,7 +321,7 @@ pub mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn remote_call(&self, _request: RemoteCallRequest<Header>) -> Self::RemoteCallResult {
|
fn remote_call(&self, _request: RemoteCallRequest<Header>) -> Self::RemoteCallResult {
|
||||||
futures03::future::ready(Ok((*self.lock()).clone()))
|
futures::future::ready(Ok((*self.lock()).clone()))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn remote_changes(&self, _request: RemoteChangesRequest<Header>) -> Self::RemoteChangesResult {
|
fn remote_changes(&self, _request: RemoteChangesRequest<Header>) -> Self::RemoteChangesResult {
|
||||||
@@ -332,4 +332,4 @@ pub mod tests {
|
|||||||
not_implemented_in_tests()
|
not_implemented_in_tests()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use std::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
use fnv::{FnvHashSet, FnvHashMap};
|
use fnv::{FnvHashSet, FnvHashMap};
|
||||||
use futures03::channel::mpsc;
|
use futures::channel::mpsc;
|
||||||
use primitives::storage::{StorageKey, StorageData};
|
use primitives::storage::{StorageKey, StorageData};
|
||||||
use sr_primitives::traits::Block as BlockT;
|
use sr_primitives::traits::Block as BlockT;
|
||||||
|
|
||||||
@@ -347,7 +347,7 @@ mod tests {
|
|||||||
// given
|
// given
|
||||||
let mut notifications = StorageNotifications::<Block>::default();
|
let mut notifications = StorageNotifications::<Block>::default();
|
||||||
let child_filter = [(StorageKey(vec![4]), None)];
|
let child_filter = [(StorageKey(vec![4]), None)];
|
||||||
let mut recv = futures03::executor::block_on_stream(
|
let mut recv = futures::executor::block_on_stream(
|
||||||
notifications.listen(None, Some(&child_filter[..]))
|
notifications.listen(None, Some(&child_filter[..]))
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -382,13 +382,13 @@ mod tests {
|
|||||||
// given
|
// given
|
||||||
let mut notifications = StorageNotifications::<Block>::default();
|
let mut notifications = StorageNotifications::<Block>::default();
|
||||||
let child_filter = [(StorageKey(vec![4]), Some(vec![StorageKey(vec![5])]))];
|
let child_filter = [(StorageKey(vec![4]), Some(vec![StorageKey(vec![5])]))];
|
||||||
let mut recv1 = futures03::executor::block_on_stream(
|
let mut recv1 = futures::executor::block_on_stream(
|
||||||
notifications.listen(Some(&[StorageKey(vec![1])]), None)
|
notifications.listen(Some(&[StorageKey(vec![1])]), None)
|
||||||
);
|
);
|
||||||
let mut recv2 = futures03::executor::block_on_stream(
|
let mut recv2 = futures::executor::block_on_stream(
|
||||||
notifications.listen(Some(&[StorageKey(vec![2])]), None)
|
notifications.listen(Some(&[StorageKey(vec![2])]), None)
|
||||||
);
|
);
|
||||||
let mut recv3 = futures03::executor::block_on_stream(
|
let mut recv3 = futures::executor::block_on_stream(
|
||||||
notifications.listen(Some(&[]), Some(&child_filter))
|
notifications.listen(Some(&[]), Some(&child_filter))
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -429,16 +429,16 @@ mod tests {
|
|||||||
let mut notifications = StorageNotifications::<Block>::default();
|
let mut notifications = StorageNotifications::<Block>::default();
|
||||||
{
|
{
|
||||||
let child_filter = [(StorageKey(vec![4]), Some(vec![StorageKey(vec![5])]))];
|
let child_filter = [(StorageKey(vec![4]), Some(vec![StorageKey(vec![5])]))];
|
||||||
let _recv1 = futures03::executor::block_on_stream(
|
let _recv1 = futures::executor::block_on_stream(
|
||||||
notifications.listen(Some(&[StorageKey(vec![1])]), None)
|
notifications.listen(Some(&[StorageKey(vec![1])]), None)
|
||||||
);
|
);
|
||||||
let _recv2 = futures03::executor::block_on_stream(
|
let _recv2 = futures::executor::block_on_stream(
|
||||||
notifications.listen(Some(&[StorageKey(vec![2])]), None)
|
notifications.listen(Some(&[StorageKey(vec![2])]), None)
|
||||||
);
|
);
|
||||||
let _recv3 = futures03::executor::block_on_stream(
|
let _recv3 = futures::executor::block_on_stream(
|
||||||
notifications.listen(None, None)
|
notifications.listen(None, None)
|
||||||
);
|
);
|
||||||
let _recv4 = futures03::executor::block_on_stream(
|
let _recv4 = futures::executor::block_on_stream(
|
||||||
notifications.listen(None, Some(&child_filter))
|
notifications.listen(None, Some(&child_filter))
|
||||||
);
|
);
|
||||||
assert_eq!(notifications.listeners.len(), 2);
|
assert_eq!(notifications.listeners.len(), 2);
|
||||||
@@ -465,7 +465,7 @@ mod tests {
|
|||||||
// given
|
// given
|
||||||
let mut recv = {
|
let mut recv = {
|
||||||
let mut notifications = StorageNotifications::<Block>::default();
|
let mut notifications = StorageNotifications::<Block>::default();
|
||||||
let recv = futures03::executor::block_on_stream(notifications.listen(None, None));
|
let recv = futures::executor::block_on_stream(notifications.listen(None, None));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
let changeset = vec![];
|
let changeset = vec![];
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ bytes = "0.4.12"
|
|||||||
client-api = { package = "substrate-client-api", path = "../api" }
|
client-api = { package = "substrate-client-api", path = "../api" }
|
||||||
codec = { package = "parity-scale-codec", default-features = false, version = "1.0.3" }
|
codec = { package = "parity-scale-codec", default-features = false, version = "1.0.3" }
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = "0.3.1"
|
||||||
futures-timer = "0.4"
|
futures-timer = "2.0"
|
||||||
keystore = { package = "substrate-keystore", path = "../keystore" }
|
keystore = { package = "substrate-keystore", path = "../keystore" }
|
||||||
libp2p = { version = "0.13.0", default-features = false, features = ["secp256k1", "libp2p-websocket"] }
|
libp2p = { version = "0.13.0", default-features = false, features = ["secp256k1", "libp2p-websocket"] }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
|
|||||||
@@ -51,9 +51,8 @@ use std::sync::Arc;
|
|||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
|
|
||||||
use futures::task::{Context, Poll};
|
use futures::task::{Context, Poll};
|
||||||
use futures::Future;
|
use futures::{Future, FutureExt, Stream, StreamExt};
|
||||||
use futures_timer::Interval;
|
use futures_timer::Delay;
|
||||||
use futures::prelude::*;
|
|
||||||
|
|
||||||
use authority_discovery_primitives::{AuthorityDiscoveryApi, AuthorityId, AuthoritySignature, AuthorityPair};
|
use authority_discovery_primitives::{AuthorityDiscoveryApi, AuthorityId, AuthoritySignature, AuthorityPair};
|
||||||
use client_api::blockchain::HeaderBackend;
|
use client_api::blockchain::HeaderBackend;
|
||||||
@@ -68,6 +67,8 @@ use prost::Message;
|
|||||||
use sr_primitives::generic::BlockId;
|
use sr_primitives::generic::BlockId;
|
||||||
use sr_primitives::traits::{Block as BlockT, ProvideRuntimeApi};
|
use sr_primitives::traits::{Block as BlockT, ProvideRuntimeApi};
|
||||||
|
|
||||||
|
type Interval = Box<dyn Stream<Item = ()> + Unpin + Send + Sync>;
|
||||||
|
|
||||||
mod error;
|
mod error;
|
||||||
/// Dht payload schemas generated from Protobuf definitions via Prost crate in build.rs.
|
/// Dht payload schemas generated from Protobuf definitions via Prost crate in build.rs.
|
||||||
mod schema {
|
mod schema {
|
||||||
@@ -129,14 +130,14 @@ where
|
|||||||
// Kademlia's default time-to-live for Dht records is 36h, republishing records every 24h. Given that a node
|
// Kademlia's default time-to-live for Dht records is 36h, republishing records every 24h. Given that a node
|
||||||
// could restart at any point in time, one can not depend on the republishing process, thus publishing own
|
// could restart at any point in time, one can not depend on the republishing process, thus publishing own
|
||||||
// external addresses should happen on an interval < 36h.
|
// external addresses should happen on an interval < 36h.
|
||||||
let publish_interval = Interval::new_at(
|
let publish_interval = interval_at(
|
||||||
Instant::now() + LIBP2P_KADEMLIA_BOOTSTRAP_TIME,
|
Instant::now() + LIBP2P_KADEMLIA_BOOTSTRAP_TIME,
|
||||||
Duration::from_secs(12 * 60 * 60),
|
Duration::from_secs(12 * 60 * 60),
|
||||||
);
|
);
|
||||||
|
|
||||||
// External addresses of other authorities can change at any given point in time. The interval on which to query
|
// External addresses of other authorities can change at any given point in time. The interval on which to query
|
||||||
// for external addresses of other authorities is a trade off between efficiency and performance.
|
// for external addresses of other authorities is a trade off between efficiency and performance.
|
||||||
let query_interval = Interval::new_at(
|
let query_interval = interval_at(
|
||||||
Instant::now() + LIBP2P_KADEMLIA_BOOTSTRAP_TIME,
|
Instant::now() + LIBP2P_KADEMLIA_BOOTSTRAP_TIME,
|
||||||
Duration::from_secs(10 * 60),
|
Duration::from_secs(10 * 60),
|
||||||
);
|
);
|
||||||
@@ -455,6 +456,19 @@ fn hash_authority_id(id: &[u8]) -> Result<libp2p::kad::record::Key> {
|
|||||||
.map_err(Error::HashingAuthorityId)
|
.map_err(Error::HashingAuthorityId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn interval_at(start: Instant, duration: Duration) -> Interval {
|
||||||
|
let stream = futures::stream::unfold((), move |_| {
|
||||||
|
let wait_time = start.saturating_duration_since(Instant::now());
|
||||||
|
|
||||||
|
futures::future::join(
|
||||||
|
Delay::new(wait_time),
|
||||||
|
Delay::new(duration)
|
||||||
|
).map(|_| Some(((), ())))
|
||||||
|
}).map(drop);
|
||||||
|
|
||||||
|
Box::new(stream)
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ edition = "2018"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = "0.3.1"
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
sr-primitives = { path = "../../primitives/sr-primitives" }
|
sr-primitives = { path = "../../primitives/sr-primitives" }
|
||||||
primitives = { package = "substrate-primitives", path = "../../primitives/core" }
|
primitives = { package = "substrate-primitives", path = "../../primitives/core" }
|
||||||
|
|||||||
@@ -17,10 +17,9 @@ ansi_term = "0.12.1"
|
|||||||
lazy_static = "1.4.0"
|
lazy_static = "1.4.0"
|
||||||
app_dirs = "1.2.1"
|
app_dirs = "1.2.1"
|
||||||
tokio = "0.1.22"
|
tokio = "0.1.22"
|
||||||
futures = "0.1.29"
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
futures03 = { package = "futures-preview", version = "=0.3.0-alpha.19", features = ["compat"] }
|
futures01 = "0.1.29"
|
||||||
fdlimit = "0.1.1"
|
fdlimit = "0.1.1"
|
||||||
exit-future = "0.1.4"
|
|
||||||
serde_json = "1.0.41"
|
serde_json = "1.0.41"
|
||||||
panic-handler = { package = "substrate-panic-handler", path = "../../primitives/panic-handler" }
|
panic-handler = { package = "substrate-panic-handler", path = "../../primitives/panic-handler" }
|
||||||
client-api = { package = "substrate-client-api", path = "../api" }
|
client-api = { package = "substrate-client-api", path = "../api" }
|
||||||
|
|||||||
@@ -17,8 +17,7 @@
|
|||||||
//! Console informant. Prints sync progress and block events. Runs on the calling thread.
|
//! Console informant. Prints sync progress and block events. Runs on the calling thread.
|
||||||
|
|
||||||
use client_api::BlockchainEvents;
|
use client_api::BlockchainEvents;
|
||||||
use futures::{Future, Stream};
|
use futures::{StreamExt, TryStreamExt, FutureExt, future, compat::Stream01CompatExt};
|
||||||
use futures03::{StreamExt as _, TryStreamExt as _};
|
|
||||||
use log::{info, warn};
|
use log::{info, warn};
|
||||||
use sr_primitives::traits::Header;
|
use sr_primitives::traits::Header;
|
||||||
use service::AbstractService;
|
use service::AbstractService;
|
||||||
@@ -27,17 +26,18 @@ use std::time::Duration;
|
|||||||
mod display;
|
mod display;
|
||||||
|
|
||||||
/// Creates an informant in the form of a `Future` that must be polled regularly.
|
/// Creates an informant in the form of a `Future` that must be polled regularly.
|
||||||
pub fn build(service: &impl AbstractService) -> impl Future<Item = (), Error = ()> {
|
pub fn build(service: &impl AbstractService) -> impl futures::Future<Output = ()> {
|
||||||
let client = service.client();
|
let client = service.client();
|
||||||
|
|
||||||
let mut display = display::InformantDisplay::new();
|
let mut display = display::InformantDisplay::new();
|
||||||
|
|
||||||
let display_notifications = service
|
let display_notifications = service
|
||||||
.network_status(Duration::from_millis(5000))
|
.network_status(Duration::from_millis(5000))
|
||||||
.for_each(move |(net_status, _)| {
|
.compat()
|
||||||
|
.try_for_each(move |(net_status, _)| {
|
||||||
let info = client.info();
|
let info = client.info();
|
||||||
display.display(&info, net_status);
|
display.display(&info, net_status);
|
||||||
Ok(())
|
future::ok(())
|
||||||
});
|
});
|
||||||
|
|
||||||
let client = service.client();
|
let client = service.client();
|
||||||
@@ -46,7 +46,7 @@ pub fn build(service: &impl AbstractService) -> impl Future<Item = (), Error = (
|
|||||||
Some((info.chain.best_number, info.chain.best_hash))
|
Some((info.chain.best_number, info.chain.best_hash))
|
||||||
};
|
};
|
||||||
|
|
||||||
let display_block_import = client.import_notification_stream().map(|v| Ok::<_, ()>(v)).compat().for_each(move |n| {
|
let display_block_import = client.import_notification_stream().for_each(move |n| {
|
||||||
// detect and log reorganizations.
|
// detect and log reorganizations.
|
||||||
if let Some((ref last_num, ref last_hash)) = last_best {
|
if let Some((ref last_num, ref last_hash)) = last_best {
|
||||||
if n.header.parent_hash() != last_hash && n.is_new_best {
|
if n.header.parent_hash() != last_hash && n.is_new_best {
|
||||||
@@ -74,9 +74,11 @@ pub fn build(service: &impl AbstractService) -> impl Future<Item = (), Error = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
info!(target: "substrate", "Imported #{} ({})", n.header.number(), n.hash);
|
info!(target: "substrate", "Imported #{} ({})", n.header.number(), n.hash);
|
||||||
Ok(())
|
future::ready(())
|
||||||
});
|
});
|
||||||
|
|
||||||
display_notifications.join(display_block_import)
|
future::join(
|
||||||
.map(|((), ())| ())
|
display_notifications,
|
||||||
|
display_block_import
|
||||||
|
).map(|_| ())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,8 +61,8 @@ pub use traits::{GetLogFilter, AugmentClap};
|
|||||||
use app_dirs::{AppInfo, AppDataType};
|
use app_dirs::{AppInfo, AppDataType};
|
||||||
use log::info;
|
use log::info;
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
|
use futures::{Future, FutureExt, TryFutureExt};
|
||||||
use futures::{Async, Future};
|
use futures01::{Async, Future as _};
|
||||||
use substrate_telemetry::TelemetryEndpoints;
|
use substrate_telemetry::TelemetryEndpoints;
|
||||||
|
|
||||||
/// default sub directory to store network config
|
/// default sub directory to store network config
|
||||||
@@ -102,7 +102,7 @@ pub struct VersionInfo {
|
|||||||
/// Something that can be converted into an exit signal.
|
/// Something that can be converted into an exit signal.
|
||||||
pub trait IntoExit {
|
pub trait IntoExit {
|
||||||
/// Exit signal type.
|
/// Exit signal type.
|
||||||
type Exit: Future<Item=(),Error=()> + Send + 'static;
|
type Exit: Future<Output=()> + Unpin + Send + 'static;
|
||||||
/// Convert into exit signal.
|
/// Convert into exit signal.
|
||||||
fn into_exit(self) -> Self::Exit;
|
fn into_exit(self) -> Self::Exit;
|
||||||
}
|
}
|
||||||
@@ -391,14 +391,16 @@ impl<'a> ParseAndPrepareExport<'a> {
|
|||||||
// Note: while we would like the user to handle the exit themselves, we handle it here
|
// Note: while we would like the user to handle the exit themselves, we handle it here
|
||||||
// for backwards compatibility reasons.
|
// for backwards compatibility reasons.
|
||||||
let (exit_send, exit_recv) = std::sync::mpsc::channel();
|
let (exit_send, exit_recv) = std::sync::mpsc::channel();
|
||||||
let exit = exit.into_exit();
|
let exit = exit.into_exit()
|
||||||
|
.map(|_| Ok::<_, ()>(()))
|
||||||
|
.compat();
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
let _ = exit.wait();
|
let _ = exit.wait();
|
||||||
let _ = exit_send.send(());
|
let _ = exit_send.send(());
|
||||||
});
|
});
|
||||||
|
|
||||||
let mut export_fut = builder(config)?.export_blocks(file, from.into(), to.map(Into::into), json);
|
let mut export_fut = builder(config)?.export_blocks(file, from.into(), to.map(Into::into), json);
|
||||||
let fut = futures::future::poll_fn(|| {
|
let fut = futures01::future::poll_fn(|| {
|
||||||
if exit_recv.try_recv().is_ok() {
|
if exit_recv.try_recv().is_ok() {
|
||||||
return Ok(Async::Ready(()));
|
return Ok(Async::Ready(()));
|
||||||
}
|
}
|
||||||
@@ -453,14 +455,16 @@ impl<'a> ParseAndPrepareImport<'a> {
|
|||||||
// Note: while we would like the user to handle the exit themselves, we handle it here
|
// Note: while we would like the user to handle the exit themselves, we handle it here
|
||||||
// for backwards compatibility reasons.
|
// for backwards compatibility reasons.
|
||||||
let (exit_send, exit_recv) = std::sync::mpsc::channel();
|
let (exit_send, exit_recv) = std::sync::mpsc::channel();
|
||||||
let exit = exit.into_exit();
|
let exit = exit.into_exit()
|
||||||
|
.map(|_| Ok::<_, ()>(()))
|
||||||
|
.compat();
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
let _ = exit.wait();
|
let _ = exit.wait();
|
||||||
let _ = exit_send.send(());
|
let _ = exit_send.send(());
|
||||||
});
|
});
|
||||||
|
|
||||||
let mut import_fut = builder(config)?.import_blocks(file);
|
let mut import_fut = builder(config)?.import_blocks(file);
|
||||||
let fut = futures::future::poll_fn(|| {
|
let fut = futures01::future::poll_fn(|| {
|
||||||
if exit_recv.try_recv().is_ok() {
|
if exit_recv.try_recv().is_ok() {
|
||||||
return Ok(Async::Ready(()));
|
return Ok(Async::Ready(()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ client-api = { package = "substrate-client-api", path = "../../api" }
|
|||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
consensus_common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
consensus_common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
futures-preview = { version = "0.3.0-alpha.19", features = ["compat"] }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
futures-timer = "0.4.0"
|
|
||||||
futures01 = { package = "futures", version = "0.1" }
|
futures01 = { package = "futures", version = "0.1" }
|
||||||
|
futures-timer = "0.4.0"
|
||||||
inherents = { package = "substrate-inherents", path = "../../../primitives/inherents" }
|
inherents = { package = "substrate-inherents", path = "../../../primitives/inherents" }
|
||||||
keystore = { package = "substrate-keystore", path = "../../keystore" }
|
keystore = { package = "substrate-keystore", path = "../../keystore" }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ uncles = { package = "substrate-consensus-uncles", path = "../uncles" }
|
|||||||
slots = { package = "substrate-consensus-slots", path = "../slots" }
|
slots = { package = "substrate-consensus-slots", path = "../slots" }
|
||||||
sr-primitives = { path = "../../../primitives/sr-primitives" }
|
sr-primitives = { path = "../../../primitives/sr-primitives" }
|
||||||
fork-tree = { path = "../../../utils/fork-tree" }
|
fork-tree = { path = "../../../utils/fork-tree" }
|
||||||
futures-preview = { version = "0.3.0-alpha.19", features = ["compat"] }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
futures01 = { package = "futures", version = "0.1" }
|
futures01 = { package = "futures", version = "0.1" }
|
||||||
futures-timer = "0.4.0"
|
futures-timer = "0.4.0"
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ inherents = { package = "substrate-inherents", path = "../../../primitives/inher
|
|||||||
pow-primitives = { package = "substrate-consensus-pow-primitives", path = "../../../primitives/consensus/pow" }
|
pow-primitives = { package = "substrate-consensus-pow-primitives", path = "../../../primitives/consensus/pow" }
|
||||||
consensus-common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
consensus-common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
futures-preview = { version = "0.3.0-alpha.19", features = ["compat"] }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
sp-timestamp = { path = "../../../primitives/timestamp" }
|
sp-timestamp = { path = "../../../primitives/timestamp" }
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ sr-primitives = { path = "../../../primitives/sr-primitives" }
|
|||||||
substrate-telemetry = { path = "../../telemetry" }
|
substrate-telemetry = { path = "../../telemetry" }
|
||||||
consensus_common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
consensus_common = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
||||||
inherents = { package = "substrate-inherents", path = "../../../primitives/inherents" }
|
inherents = { package = "substrate-inherents", path = "../../../primitives/inherents" }
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = "0.3.1"
|
||||||
futures-timer = "0.4.0"
|
futures-timer = "2.0"
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
|
|
||||||
|
|||||||
@@ -192,12 +192,10 @@ pub trait SimpleSlotWorker<B: BlockT> {
|
|||||||
remaining_duration,
|
remaining_duration,
|
||||||
).map_err(|e| consensus_common::Error::ClientImport(format!("{:?}", e))),
|
).map_err(|e| consensus_common::Error::ClientImport(format!("{:?}", e))),
|
||||||
Delay::new(remaining_duration)
|
Delay::new(remaining_duration)
|
||||||
.map_err(consensus_common::Error::FaultyTimer)
|
|
||||||
).map(|v| match v {
|
).map(|v| match v {
|
||||||
futures::future::Either::Left((b, _)) => b.map(|b| (b, claim)),
|
futures::future::Either::Left((b, _)) => b.map(|b| (b, claim)),
|
||||||
futures::future::Either::Right((Ok(_), _)) =>
|
futures::future::Either::Right(_) =>
|
||||||
Err(consensus_common::Error::ClientImport("Timeout in the Slots proposer".into())),
|
Err(consensus_common::Error::ClientImport("Timeout in the Slots proposer".into())),
|
||||||
futures::future::Either::Right((Err(err), _)) => Err(err),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let block_import_params_maker = self.block_import_params();
|
let block_import_params_maker = self.block_import_params();
|
||||||
|
|||||||
@@ -137,8 +137,7 @@ impl<SC: SlotCompatible + Unpin> Stream for Slots<SC> {
|
|||||||
if let Some(ref mut inner_delay) = self.inner_delay {
|
if let Some(ref mut inner_delay) = self.inner_delay {
|
||||||
match Future::poll(Pin::new(inner_delay), cx) {
|
match Future::poll(Pin::new(inner_delay), cx) {
|
||||||
Poll::Pending => return Poll::Pending,
|
Poll::Pending => return Poll::Pending,
|
||||||
Poll::Ready(Err(err)) => return Poll::Ready(Some(Err(Error::FaultyTimer(err)))),
|
Poll::Ready(()) => {}
|
||||||
Poll::Ready(Ok(())) => {}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ edition = "2018"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
fork-tree = { path = "../../utils/fork-tree" }
|
fork-tree = { path = "../../utils/fork-tree" }
|
||||||
futures = "0.1.29"
|
futures = "0.1.29"
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
futures03 = { package = "futures", version = "0.3.1", features = ["compat"] }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
tokio-executor = "0.1.8"
|
tokio-executor = "0.1.8"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ parking_lot = "0.9.0"
|
|||||||
bitflags = "1.2.0"
|
bitflags = "1.2.0"
|
||||||
fnv = "1.0.6"
|
fnv = "1.0.6"
|
||||||
futures = "0.1.29"
|
futures = "0.1.29"
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
futures03 = { package = "futures", version = "0.3.1", features = ["compat"] }
|
||||||
futures-timer = "0.4.0"
|
futures-timer = "0.4.0"
|
||||||
linked-hash-map = "0.5.2"
|
linked-hash-map = "0.5.2"
|
||||||
linked_hash_set = "0.1.3"
|
linked_hash_set = "0.1.3"
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ use log::{debug, trace, error};
|
|||||||
use std::collections::hash_map::Entry;
|
use std::collections::hash_map::Entry;
|
||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
use futures_timer::Interval;
|
use crate::utils::interval;
|
||||||
|
|
||||||
/// Time after we disconnect from a node before we purge its information from the cache.
|
/// Time after we disconnect from a node before we purge its information from the cache.
|
||||||
const CACHE_EXPIRE: Duration = Duration::from_secs(10 * 60);
|
const CACHE_EXPIRE: Duration = Duration::from_secs(10 * 60);
|
||||||
@@ -76,7 +76,7 @@ impl<TSubstream> DebugInfoBehaviour<TSubstream> {
|
|||||||
ping: Ping::new(PingConfig::new()),
|
ping: Ping::new(PingConfig::new()),
|
||||||
identify,
|
identify,
|
||||||
nodes_info: FnvHashMap::default(),
|
nodes_info: FnvHashMap::default(),
|
||||||
garbage_collect: Box::new(Interval::new(GARBAGE_COLLECT_INTERVAL).map(|()| Ok(())).compat()),
|
garbage_collect: Box::new(interval(GARBAGE_COLLECT_INTERVAL).map(|()| Ok(())).compat()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ mod on_demand_layer;
|
|||||||
mod protocol;
|
mod protocol;
|
||||||
mod service;
|
mod service;
|
||||||
mod transport;
|
mod transport;
|
||||||
|
mod utils;
|
||||||
|
|
||||||
pub mod config;
|
pub mod config;
|
||||||
pub mod error;
|
pub mod error;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
use crate::{DiscoveryNetBehaviour, config::ProtocolId};
|
use crate::{DiscoveryNetBehaviour, config::ProtocolId};
|
||||||
use crate::legacy_proto::{LegacyProto, LegacyProtoOut};
|
use crate::legacy_proto::{LegacyProto, LegacyProtoOut};
|
||||||
|
use crate::utils::interval;
|
||||||
use bytes::BytesMut;
|
use bytes::BytesMut;
|
||||||
use futures::prelude::*;
|
use futures::prelude::*;
|
||||||
use futures03::{StreamExt as _, TryStreamExt as _};
|
use futures03::{StreamExt as _, TryStreamExt as _};
|
||||||
@@ -430,8 +431,8 @@ impl<B: BlockT, S: NetworkSpecialization<B>, H: ExHashT> Protocol<B, S, H> {
|
|||||||
let behaviour = LegacyProto::new(protocol_id, versions, peerset);
|
let behaviour = LegacyProto::new(protocol_id, versions, peerset);
|
||||||
|
|
||||||
let protocol = Protocol {
|
let protocol = Protocol {
|
||||||
tick_timeout: Box::new(futures_timer::Interval::new(TICK_TIMEOUT).map(|v| Ok::<_, ()>(v)).compat()),
|
tick_timeout: Box::new(interval(TICK_TIMEOUT).map(|v| Ok::<_, ()>(v)).compat()),
|
||||||
propagate_timeout: Box::new(futures_timer::Interval::new(PROPAGATE_TIMEOUT).map(|v| Ok::<_, ()>(v)).compat()),
|
propagate_timeout: Box::new(interval(PROPAGATE_TIMEOUT).map(|v| Ok::<_, ()>(v)).compat()),
|
||||||
config,
|
config,
|
||||||
context_data: ContextData {
|
context_data: ContextData {
|
||||||
peers: HashMap::new(),
|
peers: HashMap::new(),
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
// Copyright 2019 Parity Technologies (UK) Ltd.
|
||||||
|
// This file is part of Substrate.
|
||||||
|
|
||||||
|
// Substrate is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
|
||||||
|
// Substrate is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
use std::time::Duration;
|
||||||
|
use futures03::{FutureExt, Stream, StreamExt, stream::unfold};
|
||||||
|
use futures_timer::Delay;
|
||||||
|
|
||||||
|
pub fn interval(duration: Duration) -> impl Stream<Item=()> + Unpin {
|
||||||
|
unfold((), move |_| {
|
||||||
|
Delay::new(duration).map(|_| Some(((), ())))
|
||||||
|
}).map(drop)
|
||||||
|
}
|
||||||
@@ -12,8 +12,8 @@ client-api = { package = "substrate-client-api", path = "../api" }
|
|||||||
sr-api = { path = "../../primitives/sr-api" }
|
sr-api = { path = "../../primitives/sr-api" }
|
||||||
fnv = "1.0.6"
|
fnv = "1.0.6"
|
||||||
futures01 = { package = "futures", version = "0.1" }
|
futures01 = { package = "futures", version = "0.1" }
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = "0.3.1"
|
||||||
futures-timer = "0.4.0"
|
futures-timer = "2.0"
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
threadpool = "1.7"
|
threadpool = "1.7"
|
||||||
num_cpus = "1.10"
|
num_cpus = "1.10"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ client-api = { package = "substrate-client-api", path = "../api" }
|
|||||||
client = { package = "substrate-client", path = "../" }
|
client = { package = "substrate-client", path = "../" }
|
||||||
sr-api = { path = "../../primitives/sr-api" }
|
sr-api = { path = "../../primitives/sr-api" }
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
jsonrpc-pubsub = "14.0.3"
|
jsonrpc-pubsub = "14.0.3"
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
primitives = { package = "substrate-primitives", path = "../../primitives/core" }
|
primitives = { package = "substrate-primitives", path = "../../primitives/core" }
|
||||||
@@ -29,7 +29,7 @@ parking_lot = { version = "0.9.0" }
|
|||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
assert_matches = "1.3.0"
|
assert_matches = "1.3.0"
|
||||||
futures = "0.1.29"
|
futures01 = { package = "futures", version = "0.1.29" }
|
||||||
network = { package = "substrate-network", path = "../network" }
|
network = { package = "substrate-network", path = "../network" }
|
||||||
rustc-hex = "2.0.1"
|
rustc-hex = "2.0.1"
|
||||||
sr-io = { path = "../../primitives/sr-io" }
|
sr-io = { path = "../../primitives/sr-io" }
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ edition = "2018"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
jsonrpc-core = "14.0.3"
|
jsonrpc-core = "14.0.3"
|
||||||
jsonrpc-core-client = "14.0.3"
|
jsonrpc-core-client = "14.0.3"
|
||||||
jsonrpc-derive = "14.0.3"
|
jsonrpc-derive = "14.0.3"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
use jsonrpc_core::futures::prelude::*;
|
use jsonrpc_core::futures::prelude::*;
|
||||||
use futures03::{channel::oneshot, compat::Compat};
|
use futures::{channel::oneshot, compat::Compat};
|
||||||
|
|
||||||
/// Wraps around `oneshot::Receiver` and adjusts the error type to produce an internal error if the
|
/// Wraps around `oneshot::Receiver` and adjusts the error type to produce an internal error if the
|
||||||
/// sender gets dropped.
|
/// sender gets dropped.
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
mod tests;
|
mod tests;
|
||||||
|
|
||||||
use std::{sync::Arc, convert::TryInto};
|
use std::{sync::Arc, convert::TryInto};
|
||||||
use futures03::future::{FutureExt, TryFutureExt};
|
use futures::future::{FutureExt, TryFutureExt};
|
||||||
use log::warn;
|
use log::warn;
|
||||||
|
|
||||||
use client::Client;
|
use client::Client;
|
||||||
@@ -30,7 +30,7 @@ use rpc::futures::{
|
|||||||
Sink, Future,
|
Sink, Future,
|
||||||
future::result,
|
future::result,
|
||||||
};
|
};
|
||||||
use futures03::{StreamExt as _, compat::Compat, future::ready};
|
use futures::{StreamExt as _, compat::Compat, future::ready};
|
||||||
use api::Subscriptions;
|
use api::Subscriptions;
|
||||||
use jsonrpc_pubsub::{typed::Subscriber, SubscriptionId};
|
use jsonrpc_pubsub::{typed::Subscriber, SubscriptionId};
|
||||||
use codec::{Encode, Decode};
|
use codec::{Encode, Decode};
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
//! Blockchain API backend for light nodes.
|
//! Blockchain API backend for light nodes.
|
||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use futures03::{future::ready, FutureExt, TryFutureExt};
|
use futures::{future::ready, FutureExt, TryFutureExt};
|
||||||
use rpc::futures::future::{result, Future, Either};
|
use rpc::futures::future::{result, Future, Either};
|
||||||
|
|
||||||
use api::Subscriptions;
|
use api::Subscriptions;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ mod chain_light;
|
|||||||
mod tests;
|
mod tests;
|
||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use futures03::{future, StreamExt as _, TryStreamExt as _};
|
use futures::{future, StreamExt, TryStreamExt};
|
||||||
use log::warn;
|
use log::warn;
|
||||||
use rpc::{
|
use rpc::{
|
||||||
Result as RpcResult,
|
Result as RpcResult,
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
use std::collections::{BTreeMap, HashMap};
|
use std::collections::{BTreeMap, HashMap};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::ops::Range;
|
use std::ops::Range;
|
||||||
use futures03::{future, StreamExt as _, TryStreamExt as _};
|
use futures::{future, StreamExt as _, TryStreamExt as _};
|
||||||
use log::warn;
|
use log::warn;
|
||||||
use jsonrpc_pubsub::{typed::Subscriber, SubscriptionId};
|
use jsonrpc_pubsub::{typed::Subscriber, SubscriptionId};
|
||||||
use rpc::{
|
use rpc::{
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ use std::{
|
|||||||
collections::{HashSet, HashMap, hash_map::Entry},
|
collections::{HashSet, HashMap, hash_map::Entry},
|
||||||
};
|
};
|
||||||
use codec::Decode;
|
use codec::Decode;
|
||||||
use futures03::{
|
use futures::{
|
||||||
future::{ready, Either},
|
future::{ready, Either},
|
||||||
channel::oneshot::{channel, Sender},
|
channel::oneshot::{channel, Sender},
|
||||||
FutureExt, TryFutureExt,
|
FutureExt, TryFutureExt,
|
||||||
@@ -753,7 +753,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn maybe_share_remote_request_shares_request() {
|
fn maybe_share_remote_request_shares_request() {
|
||||||
type UnreachableFuture = futures03::future::Ready<Result<u32, Error>>;
|
type UnreachableFuture = futures::future::Ready<Result<u32, Error>>;
|
||||||
|
|
||||||
let shared_requests = SimpleSubscriptions::default();
|
let shared_requests = SimpleSubscriptions::default();
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ use self::error::Error;
|
|||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use assert_matches::assert_matches;
|
use assert_matches::assert_matches;
|
||||||
use futures::stream::Stream;
|
use futures01::stream::Stream;
|
||||||
use primitives::storage::well_known_keys;
|
use primitives::storage::well_known_keys;
|
||||||
use sr_io::hashing::blake2_256;
|
use sr_io::hashing::blake2_256;
|
||||||
use test_client::{
|
use test_client::{
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests;
|
mod tests;
|
||||||
|
|
||||||
use futures03::{channel::{mpsc, oneshot}, compat::Compat};
|
use futures::{channel::{mpsc, oneshot}, compat::Compat};
|
||||||
use api::Receiver;
|
use api::Receiver;
|
||||||
use sr_primitives::traits::{self, Header as HeaderT};
|
use sr_primitives::traits::{self, Header as HeaderT};
|
||||||
use self::error::Result;
|
use self::error::Result;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ use network::{self, PeerId};
|
|||||||
use network::config::Roles;
|
use network::config::Roles;
|
||||||
use test_client::runtime::Block;
|
use test_client::runtime::Block;
|
||||||
use assert_matches::assert_matches;
|
use assert_matches::assert_matches;
|
||||||
use futures03::{prelude::*, channel::mpsc};
|
use futures::{prelude::*, channel::mpsc};
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
|
||||||
struct Status {
|
struct Status {
|
||||||
@@ -46,7 +46,7 @@ fn api<T: Into<Option<Status>>>(sync: T) -> System<Block> {
|
|||||||
let should_have_peers = !status.is_dev;
|
let should_have_peers = !status.is_dev;
|
||||||
let (tx, rx) = mpsc::unbounded();
|
let (tx, rx) = mpsc::unbounded();
|
||||||
thread::spawn(move || {
|
thread::spawn(move || {
|
||||||
futures03::executor::block_on(rx.for_each(move |request| {
|
futures::executor::block_on(rx.for_each(move |request| {
|
||||||
match request {
|
match request {
|
||||||
Request::Health(sender) => {
|
Request::Health(sender) => {
|
||||||
let _ = sender.send(Health {
|
let _ = sender.send(Health {
|
||||||
@@ -231,4 +231,4 @@ fn system_node_roles() {
|
|||||||
wait_receiver(api(None).system_node_roles()),
|
wait_receiver(api(None).system_node_roles()),
|
||||||
vec![NodeRole::Authority]
|
vec![NodeRole::Authority]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ wasmtime = [
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
futures = "0.1.29"
|
futures = "0.1.29"
|
||||||
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
futures03 = { package = "futures", version = "0.3.1", features = ["compat"] }
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
lazy_static = "1.4.0"
|
lazy_static = "1.4.0"
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ futures = "0.1.29"
|
|||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
env_logger = "0.7.0"
|
env_logger = "0.7.0"
|
||||||
fdlimit = "0.1.1"
|
fdlimit = "0.1.1"
|
||||||
futures03 = { package = "futures-preview", version = "=0.3.0-alpha.19", features = ["compat"] }
|
futures03 = { package = "futures", version = "0.3.1", features = ["compat"] }
|
||||||
service = { package = "substrate-service", path = "../../service", default-features = false }
|
service = { package = "substrate-service", path = "../../service", default-features = false }
|
||||||
network = { package = "substrate-network", path = "../../network" }
|
network = { package = "substrate-network", path = "../../network" }
|
||||||
consensus = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
consensus = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ use std::{
|
|||||||
panic::UnwindSafe, result, cell::RefCell,
|
panic::UnwindSafe, result, cell::RefCell,
|
||||||
};
|
};
|
||||||
use log::{info, trace, warn};
|
use log::{info, trace, warn};
|
||||||
use futures03::channel::mpsc;
|
use futures::channel::mpsc;
|
||||||
use parking_lot::{Mutex, RwLock};
|
use parking_lot::{Mutex, RwLock};
|
||||||
use codec::{Encode, Decode};
|
use codec::{Encode, Decode};
|
||||||
use hash_db::{Hasher, Prefix};
|
use hash_db::{Hasher, Prefix};
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ pub fn future_header<Block: BlockT, F: Fetcher<Block>>(
|
|||||||
fetcher: &F,
|
fetcher: &F,
|
||||||
id: BlockId<Block>,
|
id: BlockId<Block>,
|
||||||
) -> impl Future<Output = Result<Option<Block::Header>, ClientError>> {
|
) -> impl Future<Output = Result<Option<Block::Header>, ClientError>> {
|
||||||
use futures03::future::{ready, Either, FutureExt};
|
use futures::future::{ready, Either, FutureExt};
|
||||||
|
|
||||||
match blockchain.header(id) {
|
match blockchain.header(id) {
|
||||||
Ok(LocalOrRemote::Remote(request)) => Either::Left(
|
Ok(LocalOrRemote::Remote(request)) => Either::Left(
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ edition = "2018"
|
|||||||
bytes = "0.4.12"
|
bytes = "0.4.12"
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
futures01 = { package = "futures", version = "0.1" }
|
futures01 = { package = "futures", version = "0.1" }
|
||||||
futures-preview = { version = "0.3.0-alpha.19", features = ["compat"] }
|
futures = { version = "0.3.1", features = ["compat"] }
|
||||||
futures-timer = "0.4.0"
|
futures-timer = "2.0.0"
|
||||||
libp2p = { version = "0.13.0", default-features = false, features = ["libp2p-websocket"] }
|
libp2p = { version = "0.13.0", default-features = false, features = ["libp2p-websocket"] }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
rand = "0.7.2"
|
rand = "0.7.2"
|
||||||
|
|||||||
@@ -254,11 +254,7 @@ where TTrans::Output: Sink<BytesMut, Error = TSinkErr>
|
|||||||
if let Some(timeout) = self.timeout.as_mut() {
|
if let Some(timeout) = self.timeout.as_mut() {
|
||||||
match Future::poll(Pin::new(timeout), cx) {
|
match Future::poll(Pin::new(timeout), cx) {
|
||||||
Poll::Pending => {},
|
Poll::Pending => {},
|
||||||
Poll::Ready(Err(err)) => {
|
Poll::Ready(()) => {
|
||||||
self.timeout = None;
|
|
||||||
warn!(target: "telemetry", "Connection timeout error for {} {:?}", my_addr, err);
|
|
||||||
}
|
|
||||||
Poll::Ready(Ok(_)) => {
|
|
||||||
self.timeout = None;
|
self.timeout = None;
|
||||||
return Poll::Ready(Err(ConnectionError::Timeout))
|
return Poll::Ready(Err(ConnectionError::Timeout))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ edition = "2018"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
futures = { version = "0.3.0", features = ["thread-pool"] }
|
futures = { version = "0.3.1", features = ["thread-pool"] }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
primitives = { package = "substrate-primitives", path = "../../primitives/core" }
|
primitives = { package = "substrate-primitives", path = "../../primitives/core" }
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ edition = "2018"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
derive_more = "0.15.0"
|
derive_more = "0.15.0"
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = "0.3.1"
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
parking_lot = "0.9.0"
|
parking_lot = "0.9.0"
|
||||||
serde = { version = "1.0.101", features = ["derive"] }
|
serde = { version = "1.0.101", features = ["derive"] }
|
||||||
|
|||||||
@@ -20,4 +20,4 @@ transaction_pool = { package = "substrate-transaction-pool", path = "../../../cl
|
|||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
test-client = { package = "substrate-test-runtime-client", path = "../../../test/utils/runtime/client" }
|
test-client = { package = "substrate-test-runtime-client", path = "../../../test/utils/runtime/client" }
|
||||||
env_logger = "0.7.0"
|
env_logger = "0.7.0"
|
||||||
futures03 = { package = "futures-preview", version = "=0.3.0-alpha.19" }
|
futures = "0.3.1"
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ where
|
|||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use futures03::executor::block_on;
|
use futures::executor::block_on;
|
||||||
use test_client::{
|
use test_client::{
|
||||||
runtime::Transfer,
|
runtime::Transfer,
|
||||||
AccountKeyring,
|
AccountKeyring,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ libp2p = { version = "0.13.0", default-features = false }
|
|||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
primitives = { package = "substrate-primitives", path= "../../core" }
|
primitives = { package = "substrate-primitives", path= "../../core" }
|
||||||
inherents = { package = "substrate-inherents", path = "../../inherents" }
|
inherents = { package = "substrate-inherents", path = "../../inherents" }
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = { version = "0.3.1", features = ["thread-pool"] }
|
||||||
futures-timer = "0.4.0"
|
futures-timer = "0.4.0"
|
||||||
rstd = { package = "sr-std", path = "../../sr-std" }
|
rstd = { package = "sr-std", path = "../../sr-std" }
|
||||||
runtime_version = { package = "sr-version", path = "../../sr-version" }
|
runtime_version = { package = "sr-version", path = "../../sr-version" }
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = "0.3.1"
|
||||||
libp2p = { version = "0.13.0", default-features = false }
|
libp2p = { version = "0.13.0", default-features = false }
|
||||||
log = "0.4.8"
|
log = "0.4.8"
|
||||||
serde_json = "1.0.41"
|
serde_json = "1.0.41"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ client = { package = "substrate-client", path = "../../../client/" }
|
|||||||
client-db = { package = "substrate-client-db", path = "../../../client//db", features = ["test-helpers"] }
|
client-db = { package = "substrate-client-db", path = "../../../client//db", features = ["test-helpers"] }
|
||||||
consensus = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
consensus = { package = "substrate-consensus-common", path = "../../../primitives/consensus/common" }
|
||||||
executor = { package = "substrate-executor", path = "../../../client/executor" }
|
executor = { package = "substrate-executor", path = "../../../client/executor" }
|
||||||
futures-preview = "0.3.0-alpha.19"
|
futures = "0.3.1"
|
||||||
hash-db = "0.15.2"
|
hash-db = "0.15.2"
|
||||||
keyring = { package = "substrate-keyring", path = "../../../primitives/keyring" }
|
keyring = { package = "substrate-keyring", path = "../../../primitives/keyring" }
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
|
|||||||
Reference in New Issue
Block a user