From 1dc0759f57be77bda73f7cbd2b384648cb4d8967 Mon Sep 17 00:00:00 2001 From: realbigsean Date: Fri, 23 Dec 2022 12:53:59 -0500 Subject: [PATCH] impl hash correctly for the blob wrapper --- beacon_node/beacon_chain/src/beacon_chain.rs | 2 +- beacon_node/beacon_chain/src/early_attester_cache.rs | 2 +- consensus/types/src/signed_block_and_blobs.rs | 8 +++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/beacon_node/beacon_chain/src/beacon_chain.rs b/beacon_node/beacon_chain/src/beacon_chain.rs index ab00817153..a8ed705618 100644 --- a/beacon_node/beacon_chain/src/beacon_chain.rs +++ b/beacon_node/beacon_chain/src/beacon_chain.rs @@ -2944,7 +2944,7 @@ impl BeaconChain { ops.push(StoreOp::PutBlock(block_root, signed_block.clone())); ops.push(StoreOp::PutState(block.state_root(), &state)); - if let Some(blobs) = blobs { + if let Some(blobs) = blobs? { //FIXME(sean) using this for debugging for now info!(self.log, "Writing blobs to store"; "block_root" => ?block_root); ops.push(StoreOp::PutBlobs(block_root, blobs)); diff --git a/beacon_node/beacon_chain/src/early_attester_cache.rs b/beacon_node/beacon_chain/src/early_attester_cache.rs index f7b69a0d78..9254a3eb3f 100644 --- a/beacon_node/beacon_chain/src/early_attester_cache.rs +++ b/beacon_node/beacon_chain/src/early_attester_cache.rs @@ -77,7 +77,7 @@ impl EarlyAttesterCache { source, target, block, - blobs, + blobs: blobs?, proto_block, }; diff --git a/consensus/types/src/signed_block_and_blobs.rs b/consensus/types/src/signed_block_and_blobs.rs index 721fe59eca..2c9955bdb8 100644 --- a/consensus/types/src/signed_block_and_blobs.rs +++ b/consensus/types/src/signed_block_and_blobs.rs @@ -93,15 +93,17 @@ impl BlockWrapper { self.block().parent_root() } - pub fn deconstruct(self) -> (Arc>, Option>>) { + pub fn deconstruct(self) -> (Arc>, Result>>, BlobReconstructionError>) { match self { - BlockWrapper::Block(block) => (block, None), + BlockWrapper::Block(block) => (block, block + .reconstruct_empty_blobs(block_root) + .map(|blob_opt| blob_opt.map(Arc::new))), BlockWrapper::BlockAndBlob(block_sidecar_pair) => { let SignedBeaconBlockAndBlobsSidecar { beacon_block, blobs_sidecar, } = block_sidecar_pair; - (beacon_block, Some(blobs_sidecar)) + (beacon_block, Ok(Some(blobs_sidecar))) } } }