Convert RpcBlock to an enum that indicates availability (#8424)

Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>

Co-Authored-By: Mark Mackey <mark@sigmaprime.io>

Co-Authored-By: Eitan Seri-Levi <eserilev@gmail.com>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
Eitan Seri-Levi
2026-01-27 21:59:32 -08:00
committed by GitHub
parent c4409cdf28
commit f7b5c7ee3f
23 changed files with 1368 additions and 579 deletions

View File

@@ -685,7 +685,13 @@ async fn invalidates_all_descendants() {
assert_eq!(fork_parent_state.slot(), fork_parent_slot);
let ((fork_block, _), _fork_post_state) =
rig.harness.make_block(fork_parent_state, fork_slot).await;
let fork_rpc_block = RpcBlock::new_without_blobs(None, fork_block.clone());
let fork_rpc_block = RpcBlock::new(
fork_block.clone(),
None,
&rig.harness.chain.data_availability_checker,
rig.harness.chain.spec.clone(),
)
.unwrap();
let fork_block_root = rig
.harness
.chain
@@ -787,7 +793,13 @@ async fn switches_heads() {
let ((fork_block, _), _fork_post_state) =
rig.harness.make_block(fork_parent_state, fork_slot).await;
let fork_parent_root = fork_block.parent_root();
let fork_rpc_block = RpcBlock::new_without_blobs(None, fork_block.clone());
let fork_rpc_block = RpcBlock::new(
fork_block.clone(),
None,
&rig.harness.chain.data_availability_checker,
rig.harness.chain.spec.clone(),
)
.unwrap();
let fork_block_root = rig
.harness
.chain
@@ -1059,7 +1071,13 @@ async fn invalid_parent() {
));
// Ensure the block built atop an invalid payload is invalid for import.
let rpc_block = RpcBlock::new_without_blobs(None, block.clone());
let rpc_block = RpcBlock::new(
block.clone(),
None,
&rig.harness.chain.data_availability_checker,
rig.harness.chain.spec.clone(),
)
.unwrap();
assert!(matches!(
rig.harness.chain.process_block(rpc_block.block_root(), rpc_block, NotifyExecutionLayer::Yes, BlockImportSource::Lookup,
|| Ok(()),
@@ -1384,7 +1402,13 @@ async fn recover_from_invalid_head_by_importing_blocks() {
} = InvalidHeadSetup::new().await;
// Import the fork block, it should become the head.
let fork_rpc_block = RpcBlock::new_without_blobs(None, fork_block.clone());
let fork_rpc_block = RpcBlock::new(
fork_block.clone(),
None,
&rig.harness.chain.data_availability_checker,
rig.harness.chain.spec.clone(),
)
.unwrap();
rig.harness
.chain
.process_block(