From 86d543abfa3bf0a2bfbb3b939c9368911482ef8a Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Sat, 21 Jan 2023 21:50:52 -0500 Subject: [PATCH] fix(staged-sync): write genesis EIP1559 base fee (#965) --- bin/reth/src/node/mod.rs | 2 +- crates/staged-sync/src/utils/init.rs | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/reth/src/node/mod.rs b/bin/reth/src/node/mod.rs index 35132bd6b..c16ddb726 100644 --- a/bin/reth/src/node/mod.rs +++ b/bin/reth/src/node/mod.rs @@ -115,7 +115,7 @@ impl Command { prometheus_exporter::initialize(listen_addr)?; } - let genesis = init_genesis(db.clone(), self.chain.genesis().clone())?; + let genesis = init_genesis(db.clone(), self.chain.clone())?; info!(target: "reth::cli", ?genesis, "Inserted genesis"); let consensus: Arc = Arc::new(BeaconConsensus::new(self.chain.clone())); diff --git a/crates/staged-sync/src/utils/init.rs b/crates/staged-sync/src/utils/init.rs index ee315d725..8f5a745f5 100644 --- a/crates/staged-sync/src/utils/init.rs +++ b/crates/staged-sync/src/utils/init.rs @@ -5,7 +5,9 @@ use reth_db::{ tables, transaction::{DbTx, DbTxMut}, }; -use reth_primitives::{Account, Genesis, Header, H256}; +use reth_primitives::{ + constants::EIP1559_INITIAL_BASE_FEE, Account, ChainSpec, Hardfork, Header, H256, +}; use std::{path::Path, sync::Arc}; use tracing::debug; @@ -23,12 +25,14 @@ pub fn init_db>(path: P) -> eyre::Result> { /// Write the genesis block if it has not already been written #[allow(clippy::field_reassign_with_default)] -pub fn init_genesis(db: Arc, genesis: Genesis) -> Result { +pub fn init_genesis(db: Arc, chain: ChainSpec) -> Result { + let genesis = chain.genesis(); let tx = db.tx()?; if let Some((_, hash)) = tx.cursor_read::()?.first()? { debug!("Genesis already written, skipping."); return Ok(hash) } + drop(tx); debug!("Writing genesis block."); let tx = db.tx_mut()?; @@ -46,7 +50,13 @@ pub fn init_genesis(db: Arc, genesis: Genesis) -> Result(0, hash)?; tx.put::(hash, 0)?;