Files
pezkuwi-subxt/polkadot/node/network/gossip-support/Cargo.toml
T
Alexandru Gheorghe 197c6cf9e0 gossip-support: add unittests for update authorities (#3258)
~The previous fix was actually incomplete because we update the
authorties only on the situation where we decided to reconnect because
we had a low connectivity issue. Now the problem is that
update_authority_ids use the list of connected peers, so on restart that
does contain anything, so calling immediately after
issue_connection_request won't detect all authorities, so we need to
also check every block as the comment said, but that did not match the
code.~

Actually the fix was correct the flow is follow if more than 1/3 of the
authorities can not be resolved we set last_failure and call
`ConnectToResolvedValidators`.

We will call UpdateAuthorities for all the authorities already connected
and for which we already know the address and for the ones that will
connect later on `PeerConnected` will have the AuthorityId field set,
because it is already known, so approval-distribution will update its
cache topology.

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
2024-02-19 12:22:49 +00:00

44 lines
1.7 KiB
TOML

[package]
name = "polkadot-gossip-support"
version = "7.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
[lints]
workspace = true
[dependencies]
sp-application-crypto = { path = "../../../../substrate/primitives/application-crypto" }
sp-keystore = { path = "../../../../substrate/primitives/keystore" }
sp-core = { path = "../../../../substrate/primitives/core" }
sp-crypto-hashing = { path = "../../../../substrate/primitives/crypto/hashing" }
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.74"
parking_lot = "0.12.1"
lazy_static = "1.4.0"
quickcheck = "1.0.3"