Upgrade to libp2p 0.45.1 (#11682)

* Upgrade to libp2p 0.45.1

* Limit max_negotiating_inbound_streams to 512

* Upgrade prost-build to 0.10

* Set max_negotiating_inbound_streams to 2048

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

* Fix authority discovery protobuf

* Fix comments in authority-discovery schema

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

* Add a comment about transport initialization

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
This commit is contained in:
Roman
2022-06-17 17:47:14 +04:00
committed by GitHub
parent 0108d216d2
commit 1988c4ac1d
17 changed files with 277 additions and 158 deletions
+211 -116
View File
@@ -135,9 +135,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
[[package]]
name = "arrayvec"
version = "0.7.1"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd"
checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
[[package]]
name = "asn1_der"
@@ -365,15 +365,6 @@ dependencies = [
"pin-project-lite 0.2.6",
]
[[package]]
name = "atomic"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281"
dependencies = [
"autocfg 1.0.1",
]
[[package]]
name = "atomic-waker"
version = "1.0.0"
@@ -622,7 +613,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127"
dependencies = [
"arrayref",
"arrayvec 0.7.1",
"arrayvec 0.7.2",
"constant_time_eq",
]
@@ -633,7 +624,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4"
dependencies = [
"arrayref",
"arrayvec 0.7.1",
"arrayvec 0.7.2",
"constant_time_eq",
]
@@ -644,7 +635,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f"
dependencies = [
"arrayref",
"arrayvec 0.7.1",
"arrayvec 0.7.2",
"cc",
"cfg-if 1.0.0",
"constant_time_eq",
@@ -1037,6 +1028,15 @@ dependencies = [
"bitflags",
]
[[package]]
name = "cmake"
version = "0.1.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7b858541263efe664aead4a5209a4ae5c5d2811167d4ed4ee0944503f8d2089"
dependencies = [
"cc",
]
[[package]]
name = "comfy-table"
version = "5.0.1"
@@ -3201,7 +3201,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16efcd4477de857d4a2195a45769b2fe9ebb54f3ef5a4221d3b014a4fe33ec0b"
dependencies = [
"anyhow",
"arrayvec 0.7.1",
"arrayvec 0.7.2",
"async-lock",
"async-trait",
"beef",
@@ -3437,11 +3437,10 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
[[package]]
name = "libp2p"
version = "0.44.0"
version = "0.45.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "475ce2ac4a9727e53a519f6ee05b38abfcba8f0d39c4d24f103d184e36fd5b0f"
checksum = "41726ee8f662563fafba2d2d484b14037cc8ecb8c953fbfc8439d4ce3a0a9029"
dependencies = [
"atomic",
"bytes",
"futures",
"futures-timer",
@@ -3449,7 +3448,7 @@ dependencies = [
"instant",
"lazy_static",
"libp2p-autonat",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-deflate",
"libp2p-dns",
"libp2p-floodsub",
@@ -3482,20 +3481,20 @@ dependencies = [
[[package]]
name = "libp2p-autonat"
version = "0.3.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a13b690e65046af6a09c0b27bd9508fa1cab0efce889de74b0b643b9d2a98f9a"
checksum = "50de7c1d5c3f040fccb469e8a2d189e068b7627d760dd74ef914071c16bbe905"
dependencies = [
"async-trait",
"futures",
"futures-timer",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-request-response",
"libp2p-swarm",
"log",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"rand 0.8.4",
]
@@ -3514,7 +3513,6 @@ dependencies = [
"futures-timer",
"instant",
"lazy_static",
"libsecp256k1",
"log",
"multiaddr",
"multihash",
@@ -3522,10 +3520,45 @@ dependencies = [
"parking_lot 0.12.0",
"pin-project 1.0.10",
"prost 0.9.0",
"prost-build",
"prost-build 0.9.0",
"rand 0.8.4",
"ring",
"rw-stream-sink",
"rw-stream-sink 0.2.1",
"sha2 0.10.2",
"smallvec",
"thiserror",
"unsigned-varint",
"void",
"zeroize",
]
[[package]]
name = "libp2p-core"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42d46fca305dee6757022e2f5a4f6c023315084d0ed7441c3ab244e76666d979"
dependencies = [
"asn1_der",
"bs58",
"ed25519-dalek",
"either",
"fnv",
"futures",
"futures-timer",
"instant",
"lazy_static",
"libsecp256k1",
"log",
"multiaddr",
"multihash",
"multistream-select",
"parking_lot 0.12.0",
"pin-project 1.0.10",
"prost 0.10.3",
"prost-build 0.10.4",
"rand 0.8.4",
"ring",
"rw-stream-sink 0.3.0",
"sha2 0.10.2",
"smallvec",
"thiserror",
@@ -3536,52 +3569,53 @@ dependencies = [
[[package]]
name = "libp2p-deflate"
version = "0.32.0"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b1d37f042f748e224f04785d0e987ae09a2aa518d6401d82d412dad83e360ed"
checksum = "86adefc55ea4ed8201149f052fb441210727481dff1fb0b8318460206a79f5fb"
dependencies = [
"flate2",
"futures",
"libp2p-core",
"libp2p-core 0.33.0",
]
[[package]]
name = "libp2p-dns"
version = "0.32.1"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "066e33e854e10b5c93fc650458bf2179c7e0d143db260b0963e44a94859817f1"
checksum = "fbb462ec3a51fab457b4b44ac295e8b0a4b04dc175127e615cf996b1f0f1a268"
dependencies = [
"async-std-resolver",
"futures",
"libp2p-core",
"libp2p-core 0.33.0",
"log",
"parking_lot 0.12.0",
"smallvec",
"trust-dns-resolver",
]
[[package]]
name = "libp2p-floodsub"
version = "0.35.0"
version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "733d3ea6ebe7a7a85df2bc86678b93f24b015fae5fe3b3acc4c400e795a55d2d"
checksum = "a505d0c6f851cbf2919535150198e530825def8bd3757477f13dc3a57f46cbcc"
dependencies = [
"cuckoofilter",
"fnv",
"futures",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"rand 0.7.3",
"smallvec",
]
[[package]]
name = "libp2p-gossipsub"
version = "0.37.0"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a90c989a7c0969c2ab63e898da9bc735e3be53fb4f376e9c045ce516bcc9f928"
checksum = "c9be947d8cea8e6b469201314619395826896d2c051053c3723910ba98e68e04"
dependencies = [
"asynchronous-codec",
"base64",
@@ -3591,12 +3625,12 @@ dependencies = [
"futures",
"hex_fmt",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"prometheus-client",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"rand 0.7.3",
"regex",
"sha2 0.10.2",
@@ -3607,28 +3641,32 @@ dependencies = [
[[package]]
name = "libp2p-identify"
version = "0.35.0"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5ef5a5b57904c7c33d6713ef918d239dc6b7553458f3475d87f8a18e9c651c8"
checksum = "b84b53490442d086db1fa5375670c9666e79143dccadef3f7c74a4346899a984"
dependencies = [
"asynchronous-codec",
"futures",
"futures-timer",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"lru",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"prost-codec",
"smallvec",
"thiserror",
"void",
]
[[package]]
name = "libp2p-kad"
version = "0.36.0"
version = "0.37.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "564e6bd64d177446399ed835b9451a8825b07929d6daa6a94e6405592974725e"
checksum = "5f6b5d4de90fcd35feb65ea6223fd78f3b747a64ca4b65e0813fbe66a27d56aa"
dependencies = [
"arrayvec 0.5.2",
"arrayvec 0.7.2",
"asynchronous-codec",
"bytes",
"either",
@@ -3636,11 +3674,11 @@ dependencies = [
"futures",
"futures-timer",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"rand 0.7.3",
"sha2 0.10.2",
"smallvec",
@@ -3652,9 +3690,9 @@ dependencies = [
[[package]]
name = "libp2p-mdns"
version = "0.36.0"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "611ae873c8e280ccfab0d57c7a13cac5644f364529e233114ff07863946058b0"
checksum = "4783f8cf00c7b6c1ff0f1870b4fcf50b042b45533d2e13b6fb464caf447a6951"
dependencies = [
"async-io",
"data-encoding",
@@ -3662,7 +3700,7 @@ dependencies = [
"futures",
"if-watch",
"lazy_static",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"rand 0.8.4",
@@ -3673,11 +3711,11 @@ dependencies = [
[[package]]
name = "libp2p-metrics"
version = "0.5.0"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "985be799bb3796e0c136c768208c3c06604a38430571906a13dcfeda225a3b9d"
checksum = "adc4357140141ba9739eee71b20aa735351c0fc642635b2bffc7f57a6b5c1090"
dependencies = [
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-gossipsub",
"libp2p-identify",
"libp2p-kad",
@@ -3689,14 +3727,14 @@ dependencies = [
[[package]]
name = "libp2p-mplex"
version = "0.32.0"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "442eb0c9fff0bf22a34f015724b4143ce01877e079ed0963c722d94c07c72160"
checksum = "5ff9c893f2367631a711301d703c47432af898c9bb8253bea0e2c051a13f7640"
dependencies = [
"asynchronous-codec",
"bytes",
"futures",
"libp2p-core",
"libp2p-core 0.33.0",
"log",
"nohash-hasher",
"parking_lot 0.12.0",
@@ -3707,18 +3745,18 @@ dependencies = [
[[package]]
name = "libp2p-noise"
version = "0.35.0"
version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9dd7e0c94051cda67123be68cf6b65211ba3dde7277be9068412de3e7ffd63ef"
checksum = "cf2cee1dad1c83325bbd182a8e94555778699cec8a9da00086efb7522c4c15ad"
dependencies = [
"bytes",
"curve25519-dalek 3.0.2",
"futures",
"lazy_static",
"libp2p-core",
"libp2p-core 0.33.0",
"log",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"rand 0.8.4",
"sha2 0.10.2",
"snow",
@@ -3729,14 +3767,14 @@ dependencies = [
[[package]]
name = "libp2p-ping"
version = "0.35.0"
version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf57a3c2e821331dda9fe612d4654d676ab6e33d18d9434a18cced72630df6ad"
checksum = "d41516c82fe8dd148ec925eead0c5ec08a0628f7913597e93e126e4dfb4e0787"
dependencies = [
"futures",
"futures-timer",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"rand 0.7.3",
@@ -3745,17 +3783,17 @@ dependencies = [
[[package]]
name = "libp2p-plaintext"
version = "0.32.0"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "962c0fb0e7212fb96a69b87f2d09bcefd317935239bdc79cda900e7a8897a3fe"
checksum = "db007e737adc5d28b2e03223b0210164928ad742591127130796a72aa8eaf54f"
dependencies = [
"asynchronous-codec",
"bytes",
"futures",
"libp2p-core",
"libp2p-core 0.33.0",
"log",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"unsigned-varint",
"void",
]
@@ -3776,9 +3814,9 @@ dependencies = [
[[package]]
name = "libp2p-relay"
version = "0.8.0"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3aa754cb7bccef51ebc3c458c6bbcef89d83b578a9925438389be841527d408f"
checksum = "624ead3406f64437a0d4567c31bd128a9a0b8226d5f16c074038f5d0fc32f650"
dependencies = [
"asynchronous-codec",
"bytes",
@@ -3786,36 +3824,36 @@ dependencies = [
"futures",
"futures-timer",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"pin-project 1.0.10",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"prost-codec",
"rand 0.8.4",
"smallvec",
"static_assertions",
"thiserror",
"unsigned-varint",
"void",
]
[[package]]
name = "libp2p-rendezvous"
version = "0.5.0"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd0baab894c5b84da510b915d53264d566c3c35889f09931fe9edbd2a773bee"
checksum = "c59967ea2db2c7560f641aa58ac05982d42131863fcd3dd6dcf0dd1daf81c60c"
dependencies = [
"asynchronous-codec",
"bimap",
"futures",
"futures-timer",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"prost 0.9.0",
"prost-build",
"prost 0.10.3",
"prost-build 0.10.4",
"rand 0.8.4",
"sha2 0.10.2",
"thiserror",
@@ -3825,15 +3863,15 @@ dependencies = [
[[package]]
name = "libp2p-request-response"
version = "0.17.0"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6a6fc6c9ad95661f46989473b34bd2993d14a4de497ff3b2668a910d4b869"
checksum = "b02e0acb725e5a757d77c96b95298fd73a7394fe82ba7b8bbeea510719cbe441"
dependencies = [
"async-trait",
"bytes",
"futures",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"libp2p-swarm",
"log",
"rand 0.7.3",
@@ -3843,16 +3881,16 @@ dependencies = [
[[package]]
name = "libp2p-swarm"
version = "0.35.0"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f0c69ad9e8f7c5fc50ad5ad9c7c8b57f33716532a2b623197f69f93e374d14c"
checksum = "8f4bb21c5abadbf00360c734f16bf87f1712ed4f23cd46148f625d2ddb867346"
dependencies = [
"either",
"fnv",
"futures",
"futures-timer",
"instant",
"libp2p-core",
"libp2p-core 0.33.0",
"log",
"pin-project 1.0.10",
"rand 0.7.3",
@@ -3873,9 +3911,9 @@ dependencies = [
[[package]]
name = "libp2p-tcp"
version = "0.32.0"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "193447aa729c85aac2376828df76d171c1a589c9e6b58fcc7f9d9a020734122c"
checksum = "4f4933e38ef21b50698aefc87799c24f2a365c9d3f6cf50471f3f6a0bc410892"
dependencies = [
"async-io",
"futures",
@@ -3883,7 +3921,7 @@ dependencies = [
"if-watch",
"ipnet",
"libc",
"libp2p-core",
"libp2p-core 0.33.0",
"log",
"socket2 0.4.4",
]
@@ -3896,19 +3934,19 @@ checksum = "24bdab114f7f2701757d6541266e1131b429bbae382008f207f2114ee4222dcb"
dependencies = [
"async-std",
"futures",
"libp2p-core",
"libp2p-core 0.32.1",
"log",
]
[[package]]
name = "libp2p-wasm-ext"
version = "0.32.0"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f6ea0f84a967ef59a16083f222c18115ae2e91db69809dce275df62e101b279"
checksum = "f066f2b8b1a1d64793f05da2256e6842ecd0293d6735ca2e9bda89831a1bdc06"
dependencies = [
"futures",
"js-sys",
"libp2p-core",
"libp2p-core 0.33.0",
"parity-send-wrapper",
"wasm-bindgen",
"wasm-bindgen-futures",
@@ -3916,17 +3954,18 @@ dependencies = [
[[package]]
name = "libp2p-websocket"
version = "0.34.0"
version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c932834c3754501c368d1bf3d0fb458487a642b90fc25df082a3a2f3d3b32e37"
checksum = "39d398fbb29f432c4128fabdaac2ed155c3bcaf1b9bd40eeeb10a471eefacbf5"
dependencies = [
"either",
"futures",
"futures-rustls",
"libp2p-core",
"libp2p-core 0.33.0",
"log",
"parking_lot 0.12.0",
"quicksink",
"rw-stream-sink",
"rw-stream-sink 0.3.0",
"soketto",
"url",
"webpki-roots",
@@ -3934,12 +3973,12 @@ dependencies = [
[[package]]
name = "libp2p-yamux"
version = "0.36.0"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be902ebd89193cd020e89e89107726a38cfc0d16d18f613f4a37d046e92c7517"
checksum = "8fe653639ad74877c759720febb0cbcbf4caa221adde4eed2d3126ce5c6f381f"
dependencies = [
"futures",
"libp2p-core",
"libp2p-core 0.33.0",
"parking_lot 0.12.0",
"thiserror",
"yamux",
@@ -6538,7 +6577,7 @@ version = "3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04bc9583b5e01cc8c70d89acc9af14ef9b1c29ee3a0074b2a9eea8c0fa396690"
dependencies = [
"arrayvec 0.7.1",
"arrayvec 0.7.2",
"bitvec",
"byte-slice-cast",
"impl-trait-for-tuples",
@@ -7025,9 +7064,9 @@ dependencies = [
[[package]]
name = "prometheus-client"
version = "0.15.1"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9a896938cc6018c64f279888b8c7559d3725210d5db9a3a1ee6bc7188d51d34"
checksum = "ac1abe0255c04d15f571427a2d1e00099016506cf3297b53853acd2b7eb87825"
dependencies = [
"dtoa",
"itoa 1.0.1",
@@ -7080,12 +7119,47 @@ dependencies = [
"multimap",
"petgraph",
"prost 0.9.0",
"prost-types",
"prost-types 0.9.0",
"regex",
"tempfile",
"which",
]
[[package]]
name = "prost-build"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ae5a4388762d5815a9fc0dea33c56b021cdc8dde0c55e0c9ca57197254b0cab"
dependencies = [
"bytes",
"cfg-if 1.0.0",
"cmake",
"heck 0.4.0",
"itertools",
"lazy_static",
"log",
"multimap",
"petgraph",
"prost 0.10.3",
"prost-types 0.10.1",
"regex",
"tempfile",
"which",
]
[[package]]
name = "prost-codec"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00af1e92c33b4813cc79fda3f2dbf56af5169709be0202df730e9ebc3e4cd007"
dependencies = [
"asynchronous-codec",
"bytes",
"prost 0.10.3",
"thiserror",
"unsigned-varint",
]
[[package]]
name = "prost-derive"
version = "0.9.0"
@@ -7122,6 +7196,16 @@ dependencies = [
"prost 0.9.0",
]
[[package]]
name = "prost-types"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d0a014229361011dc8e69c8a1ec6c2e8d0f2af7c91e3ea3f5b2170298461e68"
dependencies = [
"bytes",
"prost 0.10.3",
]
[[package]]
name = "psm"
version = "0.1.12"
@@ -7805,6 +7889,17 @@ dependencies = [
"static_assertions",
]
[[package]]
name = "rw-stream-sink"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04"
dependencies = [
"futures",
"pin-project 1.0.10",
"static_assertions",
]
[[package]]
name = "ryu"
version = "1.0.5"
@@ -7860,7 +7955,7 @@ dependencies = [
"log",
"parity-scale-codec",
"prost 0.10.3",
"prost-build",
"prost-build 0.10.4",
"quickcheck",
"rand 0.7.3",
"sc-client-api",
@@ -8512,7 +8607,7 @@ dependencies = [
"parking_lot 0.12.0",
"pin-project 1.0.10",
"prost 0.10.3",
"prost-build",
"prost-build 0.10.4",
"rand 0.7.3",
"sc-block-builder",
"sc-client-api",
@@ -8550,7 +8645,7 @@ dependencies = [
"futures",
"libp2p",
"parity-scale-codec",
"prost-build",
"prost-build 0.10.4",
"sc-peerset",
"smallvec",
]
@@ -8583,7 +8678,7 @@ dependencies = [
"log",
"parity-scale-codec",
"prost 0.10.3",
"prost-build",
"prost-build 0.10.4",
"sc-client-api",
"sc-network-common",
"sc-peerset",
@@ -8606,7 +8701,7 @@ dependencies = [
"lru",
"parity-scale-codec",
"prost 0.10.3",
"prost-build",
"prost-build 0.10.4",
"quickcheck",
"sc-block-builder",
"sc-client-api",
@@ -14,7 +14,7 @@ readme = "README.md"
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
prost-build = "0.9"
prost-build = "0.10"
[dependencies]
async-trait = "0.1"
@@ -22,7 +22,7 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features =
futures = "0.3.21"
futures-timer = "3.0.1"
ip_network = "0.4.1"
libp2p = { version = "0.44.0", default-features = false, features = ["kad"] }
libp2p = { version = "0.45.1", default-features = false, features = ["kad"] }
log = "0.4.17"
prost = "0.10"
rand = "0.7.2"
@@ -18,6 +18,6 @@ message SignedAuthorityRecord {
bytes record = 1;
bytes auth_signature = 2;
// Even if there are multiple `record.addresses`, all of them have the same peer id.
// Old versions are missing this field, so `optional` will provide compatibility both ways.
optional PeerSignature peer_signature = 3;
// Old versions are missing this field. It is optional in order to provide compatibility both ways.
PeerSignature peer_signature = 3;
}
+1 -1
View File
@@ -18,7 +18,7 @@ clap = { version = "3.1.18", features = ["derive"] }
fdlimit = "0.2.1"
futures = "0.3.21"
hex = "0.4.2"
libp2p = "0.44.0"
libp2p = "0.45.1"
log = "0.4.17"
names = { version = "0.13.0", default-features = false }
parity-scale-codec = "3.0.0"
+1 -1
View File
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
async-trait = "0.1.42"
futures = { version = "0.3.21", features = ["thread-pool"] }
futures-timer = "3.0.1"
libp2p = { version = "0.44.0", default-features = false }
libp2p = { version = "0.45.1", default-features = false }
log = "0.4.17"
parking_lot = "0.12.0"
serde = { version = "1.0", features = ["derive"] }
+1 -1
View File
@@ -17,7 +17,7 @@ targets = ["x86_64-unknown-linux-gnu"]
ahash = "0.7.6"
futures = "0.3.21"
futures-timer = "3.0.1"
libp2p = { version = "0.44.0", default-features = false }
libp2p = { version = "0.45.1", default-features = false }
log = "0.4.17"
lru = "0.7.5"
tracing = "0.1.29"
+2 -2
View File
@@ -14,7 +14,7 @@ readme = "README.md"
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
prost-build = "0.9"
prost-build = "0.10"
[dependencies]
async-trait = "0.1"
@@ -29,7 +29,7 @@ futures = "0.3.21"
futures-timer = "3.0.2"
hex = "0.4.0"
ip_network = "0.4.1"
libp2p = "0.44.0"
libp2p = "0.45.1"
linked_hash_set = "0.1.3"
linked-hash-map = "0.5.4"
log = "0.4.17"
+2 -2
View File
@@ -14,13 +14,13 @@ readme = "README.md"
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
prost-build = "0.9"
prost-build = "0.10"
[dependencies]
codec = { package = "parity-scale-codec", version = "3.0.0", features = [
"derive",
] }
futures = "0.3.21"
libp2p = "0.44.0"
libp2p = "0.45.1"
smallvec = "1.8.0"
sc-peerset = { version = "4.0.0-dev", path = "../../peerset" }
+2 -2
View File
@@ -14,14 +14,14 @@ readme = "README.md"
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
prost-build = "0.9"
prost-build = "0.10"
[dependencies]
codec = { package = "parity-scale-codec", version = "3.0.0", features = [
"derive",
] }
futures = "0.3.21"
libp2p = "0.44.0"
libp2p = "0.45.1"
log = "0.4.16"
prost = "0.10"
sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
+2 -1
View File
@@ -379,7 +379,8 @@ where
)
.substream_upgrade_protocol_override(upgrade::Version::V1Lazy)
.notify_handler_buffer_size(NonZeroUsize::new(32).expect("32 != 0; qed"))
.connection_event_buffer_size(1024);
.connection_event_buffer_size(1024)
.max_negotiating_inbound_streams(2048);
if let Some(spawner) = params.executor {
struct SpawnImpl<F>(F);
impl<F: Fn(Pin<Box<dyn Future<Output = ()> + Send>>)> Executor for SpawnImpl<F> {
+6 -3
View File
@@ -55,12 +55,15 @@ pub fn build_transport(
// Build the base layer of the transport.
let transport = if !memory_only {
let desktop_trans = tcp::TcpConfig::new().nodelay(true);
let desktop_trans =
websocket::WsConfig::new(desktop_trans.clone()).or_transport(desktop_trans);
let dns_init = futures::executor::block_on(dns::DnsConfig::system(desktop_trans.clone()));
let desktop_trans = websocket::WsConfig::new(desktop_trans)
.or_transport(tcp::TcpConfig::new().nodelay(true));
let dns_init = futures::executor::block_on(dns::DnsConfig::system(desktop_trans));
EitherTransport::Left(if let Ok(dns) = dns_init {
EitherTransport::Left(dns)
} else {
let desktop_trans = tcp::TcpConfig::new().nodelay(true);
let desktop_trans = websocket::WsConfig::new(desktop_trans)
.or_transport(tcp::TcpConfig::new().nodelay(true));
EitherTransport::Right(desktop_trans.map_err(dns::DnsErr::Transport))
})
} else {
+2 -2
View File
@@ -14,7 +14,7 @@ readme = "README.md"
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
prost-build = "0.9"
prost-build = "0.10"
[dependencies]
bitflags = "1.3.2"
@@ -23,7 +23,7 @@ codec = { package = "parity-scale-codec", version = "3.0.0", features = [
] }
either = "1.5.3"
futures = "0.3.21"
libp2p = "0.44.0"
libp2p = "0.45.1"
log = "0.4.17"
lru = "0.7.5"
prost = "0.10"
+1 -1
View File
@@ -17,7 +17,7 @@ async-std = "1.11.0"
async-trait = "0.1.50"
futures = "0.3.21"
futures-timer = "3.0.1"
libp2p = { version = "0.44.0", default-features = false }
libp2p = { version = "0.45.1", default-features = false }
log = "0.4.17"
parking_lot = "0.12.0"
rand = "0.7.2"
+1 -1
View File
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
futures = "0.3.21"
libp2p = { version = "0.44.0", default-features = false }
libp2p = { version = "0.45.1", default-features = false }
log = "0.4.17"
serde_json = "1.0.79"
wasm-timer = "0.2"
+1 -1
View File
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
chrono = "0.4.19"
futures = "0.3.21"
libp2p = { version = "0.44.0", default-features = false, features = ["dns-async-std", "tcp-async-io", "wasm-ext", "websocket"] }
libp2p = { version = "0.45.1", default-features = false, features = ["dns-async-std", "tcp-async-io", "wasm-ext", "websocket"] }
log = "0.4.17"
parking_lot = "0.12.0"
pin-project = "1.0.10"
+27 -9
View File
@@ -42,7 +42,10 @@ use log::{error, warn};
use parking_lot::Mutex;
use serde::Serialize;
use std::{
collections::HashMap,
collections::{
hash_map::Entry::{Occupied, Vacant},
HashMap,
},
sync::{atomic, Arc},
};
@@ -147,7 +150,6 @@ pub struct TelemetryWorker {
register_receiver: mpsc::UnboundedReceiver<Register>,
register_sender: mpsc::UnboundedSender<Register>,
id_counter: Arc<atomic::AtomicU64>,
transport: WsTrans,
}
impl TelemetryWorker {
@@ -155,7 +157,11 @@ impl TelemetryWorker {
///
/// Only one is needed per process.
pub fn new(buffer_size: usize) -> Result<Self> {
let transport = initialize_transport()?;
// Let's try to initialize a transport to get an early return.
// Later transport will be initialized multiple times in
// `::process_register`, so it's a convenient way to get an
// error as early as possible.
let _transport = initialize_transport()?;
let (message_sender, message_receiver) = mpsc::channel(buffer_size);
let (register_sender, register_receiver) = mpsc::unbounded();
@@ -165,7 +171,6 @@ impl TelemetryWorker {
register_receiver,
register_sender,
id_counter: Arc::new(atomic::AtomicU64::new(1)),
transport,
})
}
@@ -200,7 +205,6 @@ impl TelemetryWorker {
&mut node_pool,
&mut node_map,
&mut pending_connection_notifications,
self.transport.clone(),
).await,
}
}
@@ -211,7 +215,6 @@ impl TelemetryWorker {
node_pool: &mut HashMap<Multiaddr, Node<WsTrans>>,
node_map: &mut HashMap<Id, Vec<(VerbosityLevel, Multiaddr)>>,
pending_connection_notifications: &mut Vec<(Multiaddr, ConnectionNotifierSender)>,
transport: WsTrans,
) {
let input = input.expect("the stream is never closed; qed");
@@ -248,9 +251,24 @@ impl TelemetryWorker {
);
node_map.entry(id).or_default().push((verbosity, addr.clone()));
let node = node_pool.entry(addr.clone()).or_insert_with(|| {
Node::new(transport.clone(), addr.clone(), Vec::new(), Vec::new())
});
let node = match node_pool.entry(addr.clone()) {
Occupied(entry) => entry.into_mut(),
Vacant(entry) => {
let transport = initialize_transport();
let transport = match transport {
Ok(t) => t,
Err(err) => {
log::error!(
target: "telemetry",
"Could not initialise transport: {}",
err,
);
continue
},
};
entry.insert(Node::new(transport, addr.clone(), Vec::new(), Vec::new()))
},
};
node.connection_messages.extend(connection_message.clone());
+5 -3
View File
@@ -110,7 +110,6 @@ impl<TTrans: Transport> Node<TTrans> {
impl<TTrans: Transport, TSinkErr> Node<TTrans>
where
TTrans: Clone + Unpin,
TTrans::Dial: Unpin,
TTrans::Output:
Sink<Vec<u8>, Error = TSinkErr> + Stream<Item = Result<Vec<u8>, TSinkErr>> + Unpin,
@@ -137,7 +136,7 @@ pub(crate) enum Infallible {}
impl<TTrans: Transport, TSinkErr> Sink<TelemetryPayload> for Node<TTrans>
where
TTrans: Clone + Unpin,
TTrans: Unpin,
TTrans::Dial: Unpin,
TTrans::Output:
Sink<Vec<u8>, Error = TSinkErr> + Stream<Item = Result<Vec<u8>, TSinkErr>> + Unpin,
@@ -228,7 +227,9 @@ where
socket = NodeSocket::wait_reconnect();
},
},
NodeSocket::ReconnectNow => match self.transport.clone().dial(self.addr.clone()) {
NodeSocket::ReconnectNow => {
let addr = self.addr.clone();
match self.transport.dial(addr) {
Ok(d) => {
log::trace!(target: "telemetry", "Re-dialing {}", self.addr);
socket = NodeSocket::Dialing(d);
@@ -237,6 +238,7 @@ where
log::warn!(target: "telemetry", "❌ Error while re-dialing {}: {:?}", self.addr, err);
socket = NodeSocket::wait_reconnect();
},
}
},
NodeSocket::WaitingReconnect(mut s) => {
if Future::poll(Pin::new(&mut s), cx).is_ready() {