Files
pezkuwi-subxt/polkadot/node/network/gossip-support/Cargo.toml
T
asynchronous rob 1f2ccaea05 Remove dependency on rand's SliceRandom shuffle implementation in gossip-support (#2555)
In gossip-support, we shuffled the list of authorities using the
`rand::seq::SliceRandom::shuffle`. This function's behavior is
unspecified beyond being `O(n)` and could change in the future, leading
to network issues between nodes using different shuffling algorithms. In
practice, the implementation was a Fisher-Yates shuffle. This PR
replaces the call with a re-implementation of Fisher-Yates and adds a
test to ensure the behavior is the same between the two at the moment.
2023-11-30 18:55:33 +01:00

39 lines
1.6 KiB
TOML

[package]
name = "polkadot-gossip-support"
version = "1.0.0"
description = "Polkadot Gossip Support subsystem. Responsible for keeping track of session changes and issuing a connection request to the relevant validators on every new session."
authors.workspace = true
edition.workspace = true
license.workspace = true
[dependencies]
sp-application-crypto = { path = "../../../../substrate/primitives/application-crypto" }
sp-keystore = { path = "../../../../substrate/primitives/keystore" }
sp-core = { path = "../../../../substrate/primitives/core" }
sc-network = { path = "../../../../substrate/client/network" }
sc-network-common = { path = "../../../../substrate/client/network/common" }
polkadot-node-network-protocol = { path = "../protocol" }
polkadot-node-subsystem = { path = "../../subsystem" }
polkadot-node-subsystem-util = { path = "../../subsystem-util" }
polkadot-primitives = { path = "../../../primitives" }
futures = "0.3.21"
futures-timer = "3.0.2"
rand = { version = "0.8.5", default-features = false }
rand_chacha = { version = "0.3.1", default-features = false }
gum = { package = "tracing-gum", path = "../../gum" }
[dev-dependencies]
sp-keyring = { path = "../../../../substrate/primitives/keyring" }
sp-consensus-babe = { path = "../../../../substrate/primitives/consensus/babe" }
sp-tracing = { path = "../../../../substrate/primitives/tracing" }
sp-authority-discovery = { path = "../../../../substrate/primitives/authority-discovery" }
polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
assert_matches = "1.4.0"
async-trait = "0.1.57"
lazy_static = "1.4.0"
quickcheck = "1.0.3"