Update fork choice

This commit is contained in:
Eitan Seri-Levi
2025-01-26 10:52:44 +03:00
parent 77551ea1b7
commit d3368f59a3
10 changed files with 46 additions and 32 deletions

View File

@@ -7267,7 +7267,10 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
)
}
pub async fn set_unsatisfied_inclusion_list_block(self: &Arc<Self>, block_root: Hash256) -> Result<(), Error> {
pub async fn set_unsatisfied_inclusion_list_block(
self: &Arc<Self>,
block_root: Hash256,
) -> Result<(), Error> {
let chain = self.clone();
let fork_choice_result = self
.spawn_blocking_handle(
@@ -7294,7 +7297,9 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
}
pub fn on_verified_inclusion_list(&self, signed_il: SignedInclusionList<T::EthSpec>) {
self.inclusion_list_cache.write().on_inclusion_list(signed_il);
self.inclusion_list_cache
.write()
.on_inclusion_list(signed_il);
}
pub fn metrics(&self) -> BeaconChainMetrics {

View File

@@ -356,8 +356,8 @@ where
self.unsatisfied_inclusion_list_block = block_root;
}
fn unsatisfied_inclusion_list_block(&self) -> Hash256 {
self.unsatisfied_inclusion_list_block
fn unsatisfied_inclusion_list_block(&self) -> &Hash256 {
&self.unsatisfied_inclusion_list_block
}
}

View File

@@ -205,7 +205,9 @@ async fn notify_new_payload<'a, T: BeaconChainTypes>(
// transactions for this slot, update the fork choice store before processing
// the invalid EL payload.
if *validation_error == Some("INVALID_INCLUSION_LIST".to_string()) {
chain.set_unsatisfied_inclusion_list_block(block.tree_hash_root()).await?;
chain
.set_unsatisfied_inclusion_list_block(block.tree_hash_root())
.await?;
}
chain

View File

@@ -2178,7 +2178,8 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
debug!(self.log, "Successfully verified gossip inclusion list");
// Store validated inclusion list in the IL cache. This also catches
// equivocating IL's and handles them accordingly.
self.chain.on_verified_inclusion_list(gossip_verified_il.signed_il);
self.chain
.on_verified_inclusion_list(gossip_verified_il.signed_il);
}
Err(err) => match err {
GossipInclusionListError::FutureSlot { .. }