lcli http-sync hacks

This commit is contained in:
Michael Sproul
2025-02-25 14:00:28 +11:00
parent 11f17e52a0
commit 1b9b61bb77

View File

@@ -2,7 +2,9 @@ use clap::ArgMatches;
use clap_utils::{parse_optional, parse_required}; use clap_utils::{parse_optional, parse_required};
use environment::Environment; use environment::Environment;
use eth2::{ use eth2::{
types::{BlockId, ChainSpec, ForkName, PublishBlockRequest, SignedBlockContents}, types::{
BlockId, BroadcastValidation, ChainSpec, ForkName, PublishBlockRequest, SignedBlockContents,
},
BeaconNodeHttpClient, Error, SensitiveUrl, Timeouts, BeaconNodeHttpClient, Error, SensitiveUrl, Timeouts,
}; };
use eth2_network_config::Eth2NetworkConfig; use eth2_network_config::Eth2NetworkConfig;
@@ -85,7 +87,10 @@ pub async fn run_async<T: EthSpec>(
// 2. Apply blocks to target. // 2. Apply blocks to target.
for (slot, block) in blocks.iter().rev() { for (slot, block) in blocks.iter().rev() {
println!("posting block at slot {slot}"); println!("posting block at slot {slot}");
if let Err(e) = target.post_beacon_blocks(block).await { if let Err(e) = target
.post_beacon_blocks_v2(block, Some(BroadcastValidation::Consensus))
.await
{
if let Error::ServerMessage(ref e) = e { if let Error::ServerMessage(ref e) = e {
if e.code == 202 { if e.code == 202 {
println!("duplicate block detected while posting block at slot {slot}"); println!("duplicate block detected while posting block at slot {slot}");
@@ -115,7 +120,7 @@ async fn get_block_from_source<T: EthSpec>(
let mut f = File::open(&cache_path).unwrap(); let mut f = File::open(&cache_path).unwrap();
let mut bytes = vec![]; let mut bytes = vec![];
f.read_to_end(&mut bytes).unwrap(); f.read_to_end(&mut bytes).unwrap();
PublishBlockRequest::from_ssz_bytes(&bytes, ForkName::Deneb).unwrap() PublishBlockRequest::from_ssz_bytes(&bytes, ForkName::Electra).unwrap()
} else { } else {
let block_from_source = source let block_from_source = source
.get_beacon_blocks_ssz::<T>(block_id, spec) .get_beacon_blocks_ssz::<T>(block_id, spec)