chore: typos, rm oudated todos (#2962)

This commit is contained in:
Matthias Seitz
2023-06-02 15:41:31 +02:00
committed by GitHub
parent 36528f1b38
commit f7a35f09b5
3 changed files with 60 additions and 63 deletions

View File

@ -341,7 +341,7 @@ impl<DB: Database, C: Consensus, EF: ExecutorFactory> BlockchainTree<DB, C, EF>
/// This tries to append the given block to the canonical chain.
///
/// WARNING: this expects that the block is part of the canonical chain: The block's parent is
/// WARNING: this expects that the block extends the canonical chain: The block's parent is
/// part of the canonical chain (e.g. the block's parent is the latest canonical hash). See also
/// [Self::is_block_hash_canonical].
#[instrument(skip_all, target = "blockchain_tree")]
@ -357,65 +357,66 @@ impl<DB: Database, C: Consensus, EF: ExecutorFactory> BlockchainTree<DB, C, EF>
// TODO save pending block to database
// https://github.com/paradigmxyz/reth/issues/1713
let db = self.externals.database();
let provider =
db.provider().map_err(|err| InsertBlockError::new(block.block.clone(), err.into()))?;
let (block_status, chain) = {
let db = self.externals.database();
let provider = db
.provider()
.map_err(|err| InsertBlockError::new(block.block.clone(), err.into()))?;
// Validate that the block is post merge
let parent_td = provider
.header_td(&block.parent_hash)
.map_err(|err| InsertBlockError::new(block.block.clone(), err.into()))?
.ok_or_else(|| {
InsertBlockError::tree_error(
BlockchainTreeError::CanonicalChain { block_hash: block.parent_hash },
block.block.clone(),
)
})?;
// Validate that the block is post merge
let parent_td = provider
.header_td(&block.parent_hash)
.map_err(|err| InsertBlockError::new(block.block.clone(), err.into()))?
.ok_or_else(|| {
InsertBlockError::tree_error(
BlockchainTreeError::CanonicalChain { block_hash: block.parent_hash },
block.block.clone(),
)
})?;
// Pass the parent total difficulty to short-circuit unnecessary calculations.
if !self.externals.chain_spec.fork(Hardfork::Paris).active_at_ttd(parent_td, U256::ZERO) {
return Err(InsertBlockError::execution_error(
BlockExecutionError::BlockPreMerge { hash: block.hash },
block.block,
))
}
// Pass the parent total difficulty to short-circuit unnecessary calculations.
if !self.externals.chain_spec.fork(Hardfork::Paris).active_at_ttd(parent_td, U256::ZERO)
{
return Err(InsertBlockError::execution_error(
BlockExecutionError::BlockPreMerge { hash: block.hash },
block.block,
))
}
let parent_header = provider
.header(&block.parent_hash)
.map_err(|err| InsertBlockError::new(block.block.clone(), err.into()))?
.ok_or_else(|| {
InsertBlockError::tree_error(
BlockchainTreeError::CanonicalChain { block_hash: block.parent_hash },
block.block.clone(),
)
})?
.seal(block.parent_hash);
let parent_header = provider
.header(&block.parent_hash)
.map_err(|err| InsertBlockError::new(block.block.clone(), err.into()))?
.ok_or_else(|| {
InsertBlockError::tree_error(
BlockchainTreeError::CanonicalChain { block_hash: block.parent_hash },
block.block.clone(),
)
})?
.seal(block.parent_hash);
let canonical_chain = self.canonical_chain();
let canonical_chain = self.canonical_chain();
let (block_status, chain) = if block.parent_hash == canonical_chain.tip().hash {
let chain = AppendableChain::new_canonical_head_fork(
block,
&parent_header,
canonical_chain.inner(),
parent,
&self.externals,
)?;
(BlockStatus::Valid, chain)
} else {
let chain = AppendableChain::new_canonical_fork(
block,
&parent_header,
canonical_chain.inner(),
parent,
&self.externals,
)?;
(BlockStatus::Accepted, chain)
if block.parent_hash == canonical_chain.tip().hash {
let chain = AppendableChain::new_canonical_head_fork(
block,
&parent_header,
canonical_chain.inner(),
parent,
&self.externals,
)?;
(BlockStatus::Valid, chain)
} else {
let chain = AppendableChain::new_canonical_fork(
block,
&parent_header,
canonical_chain.inner(),
parent,
&self.externals,
)?;
(BlockStatus::Accepted, chain)
}
};
// let go of `db` immutable borrow
drop(provider);
self.insert_chain(chain);
self.try_connect_buffered_blocks(block_num_hash);
Ok(block_status)

View File

@ -227,12 +227,10 @@ impl AppendableChain {
let (block, senders) = block.into_components();
let block = block.unseal();
//get state provider.
// get the state provider.
let db = externals.database();
// TODO, small perf can check if caonical fork is the latest state.
let canonical_fork = post_state_data_provider.canonical_fork();
let history_provider = db.history_by_block_number(canonical_fork.number)?;
let state_provider = history_provider;
let state_provider = db.history_by_block_number(canonical_fork.number)?;
let provider = PostStateProvider::new(state_provider, post_state_data_provider);
@ -265,18 +263,16 @@ impl AppendableChain {
C: Consensus,
EF: ExecutorFactory,
{
// some checks are done before blocks comes here.
// ensure the block is a valid descendant of the parent, according to consensus rules
externals.consensus.validate_header_against_parent(&block, parent_block)?;
let (block, senders) = block.into_components();
let block = block.unseal();
//get state provider.
// get the state provider.
let db = externals.database();
// TODO, small perf can check if caonical fork is the latest state.
let canonical_fork = post_state_data_provider.canonical_fork();
let history_provider = db.history_by_block_number(canonical_fork.number)?;
let state_provider = history_provider;
let state_provider = db.history_by_block_number(canonical_fork.number)?;
let provider = PostStateProvider::new(state_provider, post_state_data_provider);

View File

@ -118,7 +118,7 @@ impl Default for Header {
}
impl Header {
/// Retuen paret block number and hash
/// Returns the parent block's number and hash
pub fn parent_num_hash(&self) -> BlockNumHash {
BlockNumHash { number: self.number.saturating_sub(1), hash: self.parent_hash }
}