change(net): immediately disconnect from pre-NU5 nodes (#4538)
* Automatically disconnect from pre-NU5 nodes * change peer_set::set::tests::vectors tests to use NU5 since it's now the minimum required for peers Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
This commit is contained in:
parent
1230fd41f1
commit
af6d7d501b
|
|
@ -281,23 +281,13 @@ lazy_static! {
|
|||
///
|
||||
/// If peer versions are too old, we will disconnect from them.
|
||||
///
|
||||
/// The minimum network protocol version typically changes after Mainnet and/or
|
||||
/// The minimum network protocol version typically changes after Mainnet and
|
||||
/// Testnet network upgrades.
|
||||
pub static ref INITIAL_MIN_NETWORK_PROTOCOL_VERSION: HashMap<Network, Version> = {
|
||||
let mut hash_map = HashMap::new();
|
||||
|
||||
// TODO: update to Nu5 when there are enough Nu5 mainnet nodes deployed (#4117)
|
||||
hash_map.insert(Mainnet, Version::min_specified_for_upgrade(Mainnet, Canopy));
|
||||
|
||||
// This is the `zcashd` network protocol version:
|
||||
// - after the first NU5 testnet activation, and
|
||||
// - after updating to the second NU5 testnet activation consensus rules,
|
||||
// - but before setting the second NU5 testnet activation height.
|
||||
//
|
||||
// TODO: update to:
|
||||
// Version::min_specified_for_upgrade(Mainnet, Nu5)
|
||||
// when there are enough Nu5 testnet nodes deployed (#4116)
|
||||
hash_map.insert(Testnet, Version(170_040));
|
||||
hash_map.insert(Mainnet, Version::min_specified_for_upgrade(Mainnet, Nu5));
|
||||
hash_map.insert(Testnet, Version::min_specified_for_upgrade(Testnet, Nu5));
|
||||
|
||||
hash_map
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ fn peer_set_ready_single_connection() {
|
|||
let peer_versions = PeerVersions {
|
||||
peer_versions: vec![Version::min_specified_for_upgrade(
|
||||
Network::Mainnet,
|
||||
NetworkUpgrade::Canopy,
|
||||
NetworkUpgrade::Nu5,
|
||||
)],
|
||||
};
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ fn peer_set_ready_single_connection() {
|
|||
#[test]
|
||||
fn peer_set_ready_multiple_connections() {
|
||||
// Use three peers with the same version
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Canopy);
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Nu5);
|
||||
let peer_versions = PeerVersions {
|
||||
peer_versions: vec![peer_version, peer_version, peer_version],
|
||||
};
|
||||
|
|
@ -178,7 +178,7 @@ fn peer_set_route_inv_empty_registry() {
|
|||
let test_hash = block::Hash([0; 32]);
|
||||
|
||||
// Use two peers with the same version
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Canopy);
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Nu5);
|
||||
let peer_versions = PeerVersions {
|
||||
peer_versions: vec![peer_version, peer_version],
|
||||
};
|
||||
|
|
@ -260,7 +260,7 @@ fn peer_set_route_inv_advertised_registry_order(advertised_first: bool) {
|
|||
let test_change = InventoryStatus::new_available(test_inv, test_peer);
|
||||
|
||||
// Use two peers with the same version
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Canopy);
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Nu5);
|
||||
let peer_versions = PeerVersions {
|
||||
peer_versions: vec![peer_version, peer_version],
|
||||
};
|
||||
|
|
@ -369,7 +369,7 @@ fn peer_set_route_inv_missing_registry_order(missing_first: bool) {
|
|||
let test_change = InventoryStatus::new_missing(test_inv, test_peer);
|
||||
|
||||
// Use two peers with the same version
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Canopy);
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Nu5);
|
||||
let peer_versions = PeerVersions {
|
||||
peer_versions: vec![peer_version, peer_version],
|
||||
};
|
||||
|
|
@ -472,7 +472,7 @@ fn peer_set_route_inv_all_missing_fail() {
|
|||
let test_change = InventoryStatus::new_missing(test_inv, test_peer);
|
||||
|
||||
// Use one peer
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Canopy);
|
||||
let peer_version = Version::min_specified_for_upgrade(Network::Mainnet, NetworkUpgrade::Nu5);
|
||||
let peer_versions = PeerVersions {
|
||||
peer_versions: vec![peer_version],
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue