mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-15 02:42:38 +00:00
Refactor deneb networking (#4561)
* Revert "fix merge" This reverts commit405e95b0ce. * refactor deneb block processing * cargo fmt * make block and blob single lookups generic * get tests compiling * clean up everything add child component, fix peer scoring and retry logic * smol cleanup and a bugfix * remove ParentLookupReqId * Update beacon_node/network/src/sync/manager.rs Co-authored-by: Jimmy Chen <jchen.tc@gmail.com> * Update beacon_node/network/src/sync/manager.rs Co-authored-by: Jimmy Chen <jchen.tc@gmail.com> * update unreachables to crits * Revert "update unreachables to crits" This reverts commit064bf64dff. * update make request/build request to make more sense * pr feedback * Update beacon_node/network/src/sync/block_lookups/mod.rs Co-authored-by: Jimmy Chen <jchen.tc@gmail.com> * Update beacon_node/network/src/sync/block_lookups/mod.rs Co-authored-by: Jimmy Chen <jchen.tc@gmail.com> * more pr feedback, fix availability check error handling * improve block component processed log --------- Co-authored-by: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
@@ -6,8 +6,10 @@ use crate::eth1_finalization_cache::Eth1FinalizationData;
|
||||
use crate::{data_availability_checker, GossipVerifiedBlock, PayloadVerificationOutcome};
|
||||
use derivative::Derivative;
|
||||
use ssz_derive::{Decode, Encode};
|
||||
use ssz_types::VariableList;
|
||||
use state_processing::ConsensusContext;
|
||||
use std::sync::Arc;
|
||||
use types::blob_sidecar::FixedBlobSidecarList;
|
||||
use types::{
|
||||
blob_sidecar::BlobIdentifier, ssz_tagged_beacon_state, ssz_tagged_signed_beacon_block,
|
||||
ssz_tagged_signed_beacon_block_arc,
|
||||
@@ -73,6 +75,22 @@ impl<E: EthSpec> RpcBlock<E> {
|
||||
Ok(Self { block: inner })
|
||||
}
|
||||
|
||||
pub fn new_from_fixed(
|
||||
block: Arc<SignedBeaconBlock<E>>,
|
||||
blobs: FixedBlobSidecarList<E>,
|
||||
) -> Result<Self, AvailabilityCheckError> {
|
||||
let filtered = blobs
|
||||
.into_iter()
|
||||
.filter_map(|b| b.clone())
|
||||
.collect::<Vec<_>>();
|
||||
let blobs = if filtered.is_empty() {
|
||||
None
|
||||
} else {
|
||||
Some(VariableList::from(filtered))
|
||||
};
|
||||
Self::new(block, blobs)
|
||||
}
|
||||
|
||||
pub fn deconstruct(self) -> (Arc<SignedBeaconBlock<E>>, Option<BlobSidecarList<E>>) {
|
||||
match self.block {
|
||||
RpcBlockInner::Block(block) => (block, None),
|
||||
|
||||
@@ -41,7 +41,6 @@ pub enum AvailabilityCheckError {
|
||||
num_blobs: usize,
|
||||
},
|
||||
MissingBlobs,
|
||||
TxKzgCommitmentMismatch(String),
|
||||
KzgCommitmentMismatch {
|
||||
blob_index: u64,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user