From 663ad1e629ef99e07f3fe3cc959c34b851b84fb1 Mon Sep 17 00:00:00 2001 From: Arya Date: Tue, 23 Apr 2024 22:33:14 -0400 Subject: [PATCH] Always activate Canopy at Height(1) on Regtest --- zebra-chain/src/parameters/network.rs | 7 +++---- zebra-chain/src/parameters/network/testnet.rs | 10 +++++++--- zebra-chain/src/parameters/network/tests/vectors.rs | 2 +- zebra-network/src/config.rs | 8 ++++---- zebrad/tests/common/configs/v1.7.0.toml | 10 +--------- 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/zebra-chain/src/parameters/network.rs b/zebra-chain/src/parameters/network.rs index 6ef607663..88dd0dc9c 100644 --- a/zebra-chain/src/parameters/network.rs +++ b/zebra-chain/src/parameters/network.rs @@ -11,8 +11,6 @@ use crate::{ parameters::NetworkUpgrade, }; -use self::testnet::ConfiguredActivationHeights; - pub mod testnet; #[cfg(test)] @@ -167,8 +165,9 @@ impl Network { } /// Creates a new [`Network::Testnet`] with `Regtest` parameters and the provided network upgrade activation heights. - pub fn new_regtest(activation_heights: ConfiguredActivationHeights) -> Self { - Self::new_configured_testnet(testnet::Parameters::new_regtest(activation_heights)) + // TODO: Support constructing pre-Canopy block templates and accept more activation heights (#8434) + pub fn new_regtest(nu5_activation_height: Option) -> Self { + Self::new_configured_testnet(testnet::Parameters::new_regtest(nu5_activation_height)) } /// Returns true if the network is Mainnet or the default Testnet, or false otherwise. diff --git a/zebra-chain/src/parameters/network/testnet.rs b/zebra-chain/src/parameters/network/testnet.rs index bc34a4c77..33fdf18a1 100644 --- a/zebra-chain/src/parameters/network/testnet.rs +++ b/zebra-chain/src/parameters/network/testnet.rs @@ -328,7 +328,7 @@ impl Parameters { /// Accepts a [`ConfiguredActivationHeights`]. /// /// Creates an instance of [`Parameters`] with `Regtest` values. - pub fn new_regtest(activation_heights: ConfiguredActivationHeights) -> Self { + pub fn new_regtest(nu5_activation_height: Option) -> Self { Self { network_name: "Regtest".to_string(), ..Self::build() @@ -342,7 +342,11 @@ impl Parameters { ) // Removes default Testnet activation heights if not configured, // most network upgrades are disabled by default for Regtest in zcashd - .with_activation_heights(activation_heights) + .with_activation_heights(ConfiguredActivationHeights { + canopy: Some(1), + nu5: nu5_activation_height, + ..Default::default() + }) .finish() } } @@ -364,7 +368,7 @@ impl Parameters { hrp_sapling_payment_address, disable_pow, debug_validate_without_checkpoints, - } = Self::new_regtest(ConfiguredActivationHeights::default()); + } = Self::new_regtest(None); self.network_name == network_name && self.genesis_hash == genesis_hash diff --git a/zebra-chain/src/parameters/network/tests/vectors.rs b/zebra-chain/src/parameters/network/tests/vectors.rs index dd1e51b7d..fc1478cba 100644 --- a/zebra-chain/src/parameters/network/tests/vectors.rs +++ b/zebra-chain/src/parameters/network/tests/vectors.rs @@ -134,7 +134,7 @@ fn activates_network_upgrades_correctly() { let expected_default_regtest_activation_heights = &[ (Height(0), NetworkUpgrade::Genesis), - (Height(1), NetworkUpgrade::BeforeOverwinter), + (Height(1), NetworkUpgrade::Canopy), ]; for (network, expected_activation_heights) in [ diff --git a/zebra-network/src/config.rs b/zebra-network/src/config.rs index 4145079ed..4bb266ef1 100644 --- a/zebra-network/src/config.rs +++ b/zebra-network/src/config.rs @@ -639,7 +639,7 @@ impl<'de> Deserialize<'de> for Config { listen_addr: String, network: NetworkKind, testnet_parameters: Option, - regtest_activation_heights: ConfiguredActivationHeights, + regtest_nu5_activation_height: Option, initial_mainnet_peers: IndexSet, initial_testnet_peers: IndexSet, cache_dir: CacheDir, @@ -656,7 +656,7 @@ impl<'de> Deserialize<'de> for Config { listen_addr: "0.0.0.0".to_string(), network: Default::default(), testnet_parameters: None, - regtest_activation_heights: ConfiguredActivationHeights::default(), + regtest_nu5_activation_height: None, initial_mainnet_peers: config.initial_mainnet_peers, initial_testnet_peers: config.initial_testnet_peers, cache_dir: config.cache_dir, @@ -671,7 +671,7 @@ impl<'de> Deserialize<'de> for Config { listen_addr, network: network_kind, testnet_parameters, - regtest_activation_heights, + regtest_nu5_activation_height, mut initial_mainnet_peers, mut initial_testnet_peers, cache_dir, @@ -703,7 +703,7 @@ impl<'de> Deserialize<'de> for Config { (NetworkKind::Regtest, _) => { initial_mainnet_peers = Default::default(); initial_testnet_peers = Default::default(); - Network::new_regtest(regtest_activation_heights) + Network::new_regtest(regtest_nu5_activation_height) } ( NetworkKind::Testnet, diff --git a/zebrad/tests/common/configs/v1.7.0.toml b/zebrad/tests/common/configs/v1.7.0.toml index f29e39378..3f8b3f5d3 100644 --- a/zebrad/tests/common/configs/v1.7.0.toml +++ b/zebrad/tests/common/configs/v1.7.0.toml @@ -59,6 +59,7 @@ listen_addr = "0.0.0.0:8233" max_connections_per_ip = 1 network = "Regtest" peerset_initial_target_size = 25 +regtest_nu5_activation_height = 1 [network.testnet_parameters] network_name = "ConfiguredTestnet_1" @@ -72,15 +73,6 @@ Heartwood = 903_800 Canopy = 1_028_500 NU5 = 1_842_420 -[network.regtest_activation_heights] -BeforeOverwinter = 1 -Overwinter = 207_500 -Sapling = 280_000 -Blossom = 584_000 -Heartwood = 903_800 -Canopy = 1_028_500 -NU5 = 1_842_420 - [rpc] debug_force_finished_sync = false parallel_cpu_threads = 0