Merge branch 'deneb-free-blobs' into merge-unstable-deneb-june-6th

This commit is contained in:
Pawan Dhananjay
2023-07-17 11:47:46 -07:00
10 changed files with 30 additions and 43 deletions

View File

@@ -13,7 +13,6 @@ node_test_rig = { path = "../testing/node_test_rig" }
[features]
write_ssz_files = ["beacon_chain/write_ssz_files"] # Writes debugging .ssz files to /tmp during block processing.
spec-minimal = ["beacon_chain/spec-minimal"]
[dependencies]
eth2_config = { path = "../common/eth2_config" }

View File

@@ -10,7 +10,6 @@ default = ["participation_metrics"]
write_ssz_files = [] # Writes debugging .ssz files to /tmp during block processing.
participation_metrics = [] # Exposes validator participation metrics to Prometheus.
fork_from_env = [] # Initialise the harness chain spec from the FORK_NAME env variable
spec-minimal = ["kzg/minimal-spec"]
[dev-dependencies]
maplit = "1.0.2"

View File

@@ -849,7 +849,6 @@ impl ssz::Decode for OverflowKey {
#[cfg(test)]
mod test {
use super::*;
#[cfg(feature = "spec-minimal")]
use crate::{
blob_verification::{
validate_blob_sidecar_for_gossip, verify_kzg_for_blob, GossipVerifiedBlob,
@@ -859,31 +858,20 @@ mod test {
eth1_finalization_cache::Eth1FinalizationData,
test_utils::{BaseHarnessType, BeaconChainHarness, DiskHarnessType},
};
#[cfg(feature = "spec-minimal")]
use execution_layer::test_utils::DEFAULT_TERMINAL_BLOCK;
use fork_choice::PayloadVerificationStatus;
#[cfg(feature = "spec-minimal")]
use logging::test_logger;
#[cfg(feature = "spec-minimal")]
use slog::{info, Logger};
#[cfg(feature = "spec-minimal")]
use state_processing::ConsensusContext;
#[cfg(feature = "spec-minimal")]
use std::collections::{BTreeMap, HashMap, VecDeque};
#[cfg(feature = "spec-minimal")]
use std::ops::AddAssign;
#[cfg(feature = "spec-minimal")]
use store::{HotColdDB, ItemStore, LevelDB, StoreConfig};
#[cfg(feature = "spec-minimal")]
use tempfile::{tempdir, TempDir};
#[cfg(feature = "spec-minimal")]
use types::beacon_state::ssz_tagged_beacon_state;
#[cfg(feature = "spec-minimal")]
use types::{ChainSpec, ExecPayload, MinimalEthSpec};
#[cfg(feature = "spec-minimal")]
const LOW_VALIDATOR_COUNT: usize = 32;
#[cfg(feature = "spec-minimal")]
fn get_store_with_spec<E: EthSpec>(
db_path: &TempDir,
spec: ChainSpec,
@@ -906,7 +894,6 @@ mod test {
}
// get a beacon chain harness advanced to just before deneb fork
#[cfg(feature = "spec-minimal")]
async fn get_deneb_chain<E: EthSpec>(
log: Logger,
db_path: &TempDir,
@@ -994,7 +981,6 @@ mod test {
}
#[tokio::test]
#[cfg(feature = "spec-minimal")]
async fn ssz_tagged_beacon_state_encode_decode_equality() {
type E = MinimalEthSpec;
let altair_fork_epoch = Epoch::new(1);
@@ -1011,6 +997,13 @@ mod test {
spec.bellatrix_fork_epoch = Some(bellatrix_fork_epoch);
spec.capella_fork_epoch = Some(capella_fork_epoch);
spec.deneb_fork_epoch = Some(deneb_fork_epoch);
let genesis_block = execution_layer::test_utils::generate_genesis_block(
spec.terminal_total_difficulty,
DEFAULT_TERMINAL_BLOCK,
)
.unwrap();
spec.terminal_block_hash = genesis_block.block_hash;
spec.terminal_block_hash_activation_epoch = bellatrix_fork_epoch;
let harness = BeaconChainHarness::builder(E::default())
.spec(spec)
@@ -1069,7 +1062,6 @@ mod test {
assert_eq!(state, decoded, "Encoded and decoded states should be equal");
}
#[cfg(feature = "spec-minimal")]
async fn availability_pending_block<E, Hot, Cold>(
harness: &BeaconChainHarness<BaseHarnessType<E, Hot, Cold>>,
log: Logger,
@@ -1166,7 +1158,6 @@ mod test {
}
#[tokio::test]
#[cfg(feature = "spec-minimal")]
async fn overflow_cache_test_insert_components() {
type E = MinimalEthSpec;
type T = DiskHarnessType<E>;
@@ -1287,7 +1278,6 @@ mod test {
}
#[tokio::test]
#[cfg(feature = "spec-minimal")]
async fn overflow_cache_test_overflow() {
type E = MinimalEthSpec;
type T = DiskHarnessType<E>;
@@ -1447,7 +1437,6 @@ mod test {
}
#[tokio::test]
#[cfg(feature = "spec-minimal")]
async fn overflow_cache_test_maintenance() {
type E = MinimalEthSpec;
type T = DiskHarnessType<E>;
@@ -1599,7 +1588,6 @@ mod test {
}
#[tokio::test]
#[cfg(feature = "spec-minimal")]
async fn overflow_cache_test_persist_recover() {
type E = MinimalEthSpec;
type T = DiskHarnessType<E>;

View File

@@ -25,8 +25,8 @@ use warp::{http::StatusCode, Filter, Rejection};
use crate::EngineCapabilities;
pub use execution_block_generator::{
generate_genesis_header, generate_pow_block, generate_random_blobs, Block,
ExecutionBlockGenerator,
generate_genesis_block, generate_genesis_header, generate_pow_block, generate_random_blobs,
Block, ExecutionBlockGenerator,
};
pub use hook::Hook;
pub use mock_builder::{Context as MockBuilderContext, MockBuilder, Operation, TestingBuilder};

View File

@@ -51,5 +51,4 @@ parking_lot = "0.12.0"
environment = { path = "../../lighthouse/environment" }
[features]
spec-minimal = ["beacon_chain/spec-minimal"]
fork_from_env = ["beacon_chain/fork_from_env"]

View File

@@ -1,5 +1,5 @@
#![cfg(feature = "spec-minimal")]
use crate::network_beacon_processor::NetworkBeaconProcessor;
use crate::service::RequestId;
use crate::sync::manager::RequestId as SyncId;
use crate::NetworkMessage;
@@ -44,7 +44,7 @@ impl TestRig {
let log = build_log(slog::Level::Debug, enable_log);
// Initialise a new beacon chain
let harness = BeaconChainHarness::<EphemeralHarnessType<E>>::builder(E::default())
let harness = BeaconChainHarness::<EphemeralHarnessType<E>>::builder(E)
.default_spec()
.logger(log.clone())
.deterministic_keypairs(1)
@@ -114,7 +114,7 @@ impl TestRig {
};
let (bundle, transactions) = execution_layer::test_utils::generate_random_blobs::<E>(
num_blobs,
&self.harness.chain.kzg.as_ref().unwrap(),
self.harness.chain.kzg.as_ref().unwrap(),
)
.unwrap();
@@ -145,8 +145,8 @@ impl TestRig {
block_parent_root: block.parent_root(),
proposer_index: block.message().proposer_index(),
blob: blob.clone(),
kzg_commitment: kzg_commitment.clone(),
kzg_proof: kzg_proof.clone(),
kzg_commitment,
kzg_proof,
});
}
}
@@ -1390,7 +1390,7 @@ mod deneb_only {
fn blobs_response_was_valid(mut self) -> Self {
self.rig.expect_empty_network();
if self.blobs.len() > 0 {
if !self.blobs.is_empty() {
self.rig.expect_block_process(ResponseType::Blob);
}
self