Improve single-node testnet support and Arc NetworkConfig/ChainSpec (#6396)

* Arc ChainSpec and NetworkConfig

* Fix release tests

* Fix lint

* Merge remote-tracking branch 'origin/unstable' into single-node-testnet
This commit is contained in:
Michael Sproul
2024-09-24 10:16:18 +10:00
committed by GitHub
parent d84df5799c
commit 1447eeb40b
66 changed files with 340 additions and 250 deletions

View File

@@ -8,6 +8,7 @@ use logging::test_logger;
use merkle_proof::verify_merkle_proof;
use sensitive_url::SensitiveUrl;
use std::ops::Range;
use std::sync::Arc;
use std::time::Duration;
use tree_hash::TreeHash;
use types::{
@@ -122,8 +123,12 @@ mod eth1_cache {
};
let cache_follow_distance = config.cache_follow_distance();
let service =
Service::new(config, log.clone(), MainnetEthSpec::default_spec()).unwrap();
let service = Service::new(
config,
log.clone(),
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
// Create some blocks and then consume them, performing the test `rounds` times.
for round in 0..2 {
@@ -204,7 +209,7 @@ mod eth1_cache {
..Config::default()
},
log,
MainnetEthSpec::default_spec(),
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
@@ -259,7 +264,7 @@ mod eth1_cache {
..Config::default()
},
log,
MainnetEthSpec::default_spec(),
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
@@ -310,7 +315,7 @@ mod eth1_cache {
..Config::default()
},
log,
MainnetEthSpec::default_spec(),
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
@@ -365,7 +370,7 @@ mod deposit_tree {
..Config::default()
},
log,
MainnetEthSpec::default_spec(),
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
@@ -447,7 +452,7 @@ mod deposit_tree {
..Config::default()
},
log,
MainnetEthSpec::default_spec(),
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
@@ -694,7 +699,7 @@ mod fast {
let anvil_client = eth1.json_rpc_client();
let now = get_block_number(&anvil_client).await;
let spec = MainnetEthSpec::default_spec();
let spec = Arc::new(MainnetEthSpec::default_spec());
let service = Service::new(
Config {
endpoint: Eth1Endpoint::NoAuth(
@@ -788,8 +793,12 @@ mod persist {
block_cache_truncation: None,
..Config::default()
};
let service =
Service::new(config.clone(), log.clone(), MainnetEthSpec::default_spec()).unwrap();
let service = Service::new(
config.clone(),
log.clone(),
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
let n = 10;
let deposits: Vec<_> = (0..n).map(|_| random_deposit_data()).collect();
for deposit in &deposits {
@@ -828,9 +837,13 @@ mod persist {
// Drop service and recover from bytes
drop(service);
let recovered_service =
Service::from_bytes(&eth1_bytes, config, log, MainnetEthSpec::default_spec())
.unwrap();
let recovered_service = Service::from_bytes(
&eth1_bytes,
config,
log,
Arc::new(MainnetEthSpec::default_spec()),
)
.unwrap();
assert_eq!(
recovered_service.block_cache_len(),
block_count,