mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-17 12:58:31 +00:00
some bug fixes and the start of deneb only tests
This commit is contained in:
@@ -147,19 +147,20 @@ impl<T: EthSpec, S: SlotClock> DataAvailabilityChecker<T, S> {
|
||||
self.availability_cache
|
||||
.read()
|
||||
.get(block_root)
|
||||
.map_or(vec![], |cache| {
|
||||
if let Some(block) = cache.executed_block.as_ref() {
|
||||
.and_then(|cache| {
|
||||
cache.executed_block.as_ref().map(|block| {
|
||||
block.get_filtered_blob_ids(|i, _| cache.verified_blobs.get(i).is_none())
|
||||
} else {
|
||||
let mut blob_ids = Vec::with_capacity(T::max_blobs_per_block());
|
||||
for i in 0..T::max_blobs_per_block() {
|
||||
blob_ids.push(BlobIdentifier {
|
||||
block_root: *block_root,
|
||||
index: i as u64,
|
||||
});
|
||||
}
|
||||
blob_ids
|
||||
})
|
||||
})
|
||||
.unwrap_or_else(|| {
|
||||
let mut blob_ids = Vec::with_capacity(T::max_blobs_per_block());
|
||||
for i in 0..T::max_blobs_per_block() {
|
||||
blob_ids.push(BlobIdentifier {
|
||||
block_root: *block_root,
|
||||
index: i as u64,
|
||||
});
|
||||
}
|
||||
blob_ids
|
||||
})
|
||||
} else {
|
||||
vec![]
|
||||
|
||||
@@ -51,4 +51,5 @@ execution_layer = { path = "../execution_layer" }
|
||||
[features]
|
||||
deterministic_long_lived_attnets = [ "ethereum-types" ]
|
||||
spec-minimal = ["beacon_chain/spec-minimal"]
|
||||
fork_from_env = ["beacon_chain/fork_from_env"]
|
||||
# default = ["deterministic_long_lived_attnets"]
|
||||
|
||||
@@ -521,9 +521,7 @@ impl<T: BeaconChainTypes> BlockLookups<T> {
|
||||
self.search_block(block_root, peer_id, PeerShouldHave::BlockAndBlobs, cx);
|
||||
self.parent_lookups.push(parent_lookup)
|
||||
}
|
||||
Err(e) => {
|
||||
|
||||
}
|
||||
Err(e) => {}
|
||||
}
|
||||
}
|
||||
Ok(None) => {
|
||||
|
||||
@@ -242,7 +242,7 @@ impl<const MAX_ATTEMPTS: u8, T: BeaconChainTypes> SingleBlockLookup<MAX_ATTEMPTS
|
||||
&mut self,
|
||||
blob: Option<Arc<BlobSidecar<T::EthSpec>>>,
|
||||
) -> Result<Option<RootBlobsTuple<T::EthSpec>>, LookupVerifyError> {
|
||||
match self.block_request_state.state {
|
||||
match self.blob_request_state.state {
|
||||
State::AwaitingDownload => {
|
||||
self.blob_request_state.register_failure_downloading();
|
||||
Err(LookupVerifyError::ExtraBlobsReturned)
|
||||
@@ -277,6 +277,7 @@ impl<const MAX_ATTEMPTS: u8, T: BeaconChainTypes> SingleBlockLookup<MAX_ATTEMPTS
|
||||
},
|
||||
State::Processing { peer_id: _ } => match blob {
|
||||
Some(_) => {
|
||||
dbg!("here");
|
||||
// We sent the blob for processing and received an extra blob.
|
||||
self.blob_request_state.register_failure_downloading();
|
||||
Err(LookupVerifyError::ExtraBlobsReturned)
|
||||
@@ -350,8 +351,9 @@ impl<const MAX_ATTEMPTS: u8, T: BeaconChainTypes> SingleBlockLookup<MAX_ATTEMPTS
|
||||
.choose(&mut rand::thread_rng())
|
||||
{
|
||||
let request = BlobsByRootRequest {
|
||||
blob_ids: VariableList::from(missing_ids),
|
||||
blob_ids: VariableList::from(missing_ids.clone()),
|
||||
};
|
||||
self.requested_ids = missing_ids;
|
||||
self.blob_request_state.state = State::Downloading { peer_id };
|
||||
self.blob_request_state.used_peers.insert(peer_id);
|
||||
Ok(Some((peer_id, request)))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user