mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-30 12:47:05 +00:00
Deprecate gossip blobs (#9126)
#9124 Deprecate unneeded pre-Fulu blob features - blob gossip - blob lookup sync - engine getBlobsV1 Also deprecates some tests and cleans up production code paths I think this is blocked until gnosis forks to fulu? Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu> Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com> Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com> Co-Authored-By: Pawan Dhananjay <pawandhananjay@gmail.com> Co-Authored-By: Michael Sproul <michael@sigmaprime.io> Co-Authored-By: Daniel Knopik <daniel@dknopik.de> Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
This commit is contained in:
@@ -1456,20 +1456,8 @@ async fn verify_and_process_gossip_data_sidecars(
|
||||
data_sidecars: DataSidecars<E>,
|
||||
) {
|
||||
match data_sidecars {
|
||||
DataSidecars::Blobs(blob_sidecars) => {
|
||||
for blob_sidecar in blob_sidecars {
|
||||
let blob_index = blob_sidecar.index;
|
||||
let gossip_verified = harness
|
||||
.chain
|
||||
.verify_blob_sidecar_for_gossip(blob_sidecar.clone(), blob_index)
|
||||
.expect("should obtain gossip verified blob");
|
||||
|
||||
harness
|
||||
.chain
|
||||
.process_gossip_blob(gossip_verified)
|
||||
.await
|
||||
.expect("should import valid gossip verified blob");
|
||||
}
|
||||
DataSidecars::Blobs(_blob_sidecars) => {
|
||||
// Blob gossip is deprecated, blobs are available via RPC.
|
||||
}
|
||||
DataSidecars::DataColumns(column_sidecars) => {
|
||||
let gossip_verified = column_sidecars
|
||||
@@ -1521,14 +1509,9 @@ async fn verify_block_for_gossip_slashing_detection() {
|
||||
|
||||
let verified_block = harness.chain.verify_block_for_gossip(block1).await.unwrap();
|
||||
|
||||
if let Some((kzg_proofs, blobs)) = blobs1 {
|
||||
if blobs1.is_some() {
|
||||
harness
|
||||
.process_gossip_blobs_or_columns(
|
||||
verified_block.block(),
|
||||
blobs.iter(),
|
||||
kzg_proofs.iter(),
|
||||
None,
|
||||
)
|
||||
.process_gossip_columns(verified_block.block(), None)
|
||||
.await;
|
||||
}
|
||||
harness
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
use arbitrary::Arbitrary;
|
||||
use beacon_chain::blob_verification::GossipVerifiedBlob;
|
||||
use beacon_chain::data_column_verification::GossipVerifiedDataColumn;
|
||||
use beacon_chain::test_utils::{
|
||||
BeaconChainHarness, fork_name_from_env, generate_data_column_sidecars_from_block, test_spec,
|
||||
};
|
||||
use eth2::types::{EventKind, SseBlobSidecar, SseDataColumnSidecar};
|
||||
use rand::SeedableRng;
|
||||
use rand::rngs::StdRng;
|
||||
use std::sync::Arc;
|
||||
use types::data::FixedBlobSidecarList;
|
||||
use types::{
|
||||
@@ -17,44 +14,6 @@ use types::{
|
||||
|
||||
type E = MinimalEthSpec;
|
||||
|
||||
/// Verifies that a blob event is emitted when a gossip verified blob is received via gossip or the publish block API.
|
||||
#[tokio::test]
|
||||
async fn blob_sidecar_event_on_process_gossip_blob() {
|
||||
if fork_name_from_env().is_some_and(|f| !f.deneb_enabled() || f.fulu_enabled()) {
|
||||
return;
|
||||
};
|
||||
|
||||
let spec = Arc::new(test_spec::<E>());
|
||||
let harness = BeaconChainHarness::builder(E::default())
|
||||
.spec(spec)
|
||||
.deterministic_keypairs(8)
|
||||
.fresh_ephemeral_store()
|
||||
.mock_execution_layer()
|
||||
.build();
|
||||
|
||||
// subscribe to blob sidecar events
|
||||
let event_handler = harness.chain.event_handler.as_ref().unwrap();
|
||||
let mut blob_event_receiver = event_handler.subscribe_blob_sidecar();
|
||||
|
||||
// build and process a gossip verified blob
|
||||
let kzg = harness.chain.kzg.as_ref();
|
||||
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
|
||||
let sidecar = BlobSidecar::random_valid(&mut rng, kzg)
|
||||
.map(Arc::new)
|
||||
.unwrap();
|
||||
let gossip_verified_blob = GossipVerifiedBlob::__assumed_valid(sidecar);
|
||||
let expected_sse_blobs = SseBlobSidecar::from_blob_sidecar(gossip_verified_blob.as_blob());
|
||||
|
||||
let _ = harness
|
||||
.chain
|
||||
.process_gossip_blob(gossip_verified_blob)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let sidecar_event = blob_event_receiver.try_recv().unwrap();
|
||||
assert_eq!(sidecar_event, EventKind::BlobSidecar(expected_sse_blobs));
|
||||
}
|
||||
|
||||
/// Verifies that a data column event is emitted when a gossip verified data column is received via gossip or the publish block API.
|
||||
#[tokio::test]
|
||||
async fn data_column_sidecar_event_on_process_gossip_data_column() {
|
||||
|
||||
Reference in New Issue
Block a user