Refactor deneb networking (#4561)
* Revert "fix merge"
This reverts commit 405e95b0ce.
* 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 commit 064bf64dff86b3229316aeed0431c3f4251571a5.
* 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:
co-authored by
Jimmy Chen
parent
c8ea3e1c86
commit
731b7e7af5
@@ -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