Skip to content

Commit 5c9113d

Browse files
authored
Merge of #7870
2 parents 9200042 + ee9af3d commit 5c9113d

File tree

14 files changed

+185
-192
lines changed

14 files changed

+185
-192
lines changed

Cargo.lock

Lines changed: 122 additions & 57 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ reqwest = { version = "0.11", default-features = false, features = [
220220
ring = "0.17"
221221
rpds = "0.11"
222222
rusqlite = { version = "0.28", features = ["bundled"] }
223-
rust_eth_kzg = "0.5.4"
223+
rust_eth_kzg = "0.8.0"
224224
safe_arith = { path = "consensus/safe_arith" }
225225
sensitive_url = { path = "common/sensitive_url" }
226226
serde = { version = "1", features = ["derive"] }

beacon_node/beacon_chain/src/kzg_utils.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ mod test {
423423
use bls::Signature;
424424
use eth2::types::BlobsBundle;
425425
use execution_layer::test_utils::generate_blobs;
426-
use kzg::{Kzg, KzgCommitment, TrustedSetup, trusted_setup::get_trusted_setup};
426+
use kzg::{Kzg, KzgCommitment, trusted_setup::get_trusted_setup};
427427
use types::{
428428
BeaconBlock, BeaconBlockFulu, BlobsList, ChainSpec, EmptyBlock, EthSpec, ForkName,
429429
FullPayload, KzgProofs, MainnetEthSpec, SignedBeaconBlock,
@@ -569,10 +569,7 @@ mod test {
569569
}
570570

571571
fn get_kzg() -> Kzg {
572-
let trusted_setup: TrustedSetup = serde_json::from_reader(get_trusted_setup().as_slice())
573-
.map_err(|e| format!("Unable to read trusted setup file: {}", e))
574-
.expect("should have trusted setup");
575-
Kzg::new_from_trusted_setup_das_enabled(trusted_setup).expect("should create kzg")
572+
Kzg::new_from_trusted_setup(&get_trusted_setup()).expect("should create kzg")
576573
}
577574

578575
fn create_test_fulu_block_and_blobs<E: EthSpec>(

beacon_node/beacon_chain/src/test_utils.rs

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ use execution_layer::{
3232
use futures::channel::mpsc::Receiver;
3333
pub use genesis::{DEFAULT_ETH1_BLOCK_HASH, InteropGenesisBuilder};
3434
use int_to_bytes::int_to_bytes32;
35+
use kzg::Kzg;
3536
use kzg::trusted_setup::get_trusted_setup;
36-
use kzg::{Kzg, TrustedSetup};
3737
use logging::create_test_tracing_subscriber;
3838
use merkle_proof::MerkleTree;
3939
use operation_pool::ReceivedPreCapella;
@@ -81,33 +81,18 @@ pub const TEST_DATA_COLUMN_SIDECARS_SSZ: &[u8] =
8181
pub const DEFAULT_TARGET_AGGREGATORS: u64 = u64::MAX;
8282

8383
static KZG: LazyLock<Arc<Kzg>> = LazyLock::new(|| {
84-
let trusted_setup: TrustedSetup = serde_json::from_reader(get_trusted_setup().as_slice())
85-
.map_err(|e| format!("Unable to read trusted setup file: {}", e))
86-
.expect("should have trusted setup");
87-
let kzg = Kzg::new_from_trusted_setup(trusted_setup).expect("should create kzg");
88-
Arc::new(kzg)
89-
});
90-
91-
static KZG_PEERDAS: LazyLock<Arc<Kzg>> = LazyLock::new(|| {
92-
let trusted_setup: TrustedSetup = serde_json::from_reader(get_trusted_setup().as_slice())
93-
.map_err(|e| format!("Unable to read trusted setup file: {}", e))
94-
.expect("should have trusted setup");
95-
let kzg = Kzg::new_from_trusted_setup_das_enabled(trusted_setup).expect("should create kzg");
84+
let kzg = Kzg::new_from_trusted_setup(&get_trusted_setup()).expect("should create kzg");
9685
Arc::new(kzg)
9786
});
9887

9988
static KZG_NO_PRECOMP: LazyLock<Arc<Kzg>> = LazyLock::new(|| {
100-
let trusted_setup: TrustedSetup = serde_json::from_reader(get_trusted_setup().as_slice())
101-
.map_err(|e| format!("Unable to read trusted setup file: {}", e))
102-
.expect("should have trusted setup");
103-
let kzg = Kzg::new_from_trusted_setup_no_precomp(trusted_setup).expect("should create kzg");
89+
let kzg =
90+
Kzg::new_from_trusted_setup_no_precomp(&get_trusted_setup()).expect("should create kzg");
10491
Arc::new(kzg)
10592
});
10693

10794
pub fn get_kzg(spec: &ChainSpec) -> Arc<Kzg> {
10895
if spec.fulu_fork_epoch.is_some() {
109-
KZG_PEERDAS.clone()
110-
} else if spec.deneb_fork_epoch.is_some() {
11196
KZG.clone()
11297
} else {
11398
KZG_NO_PRECOMP.clone()

beacon_node/client/src/builder.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,13 +185,10 @@ where
185185
};
186186

187187
let kzg_err_msg = |e| format!("Failed to load trusted setup: {:?}", e);
188-
let trusted_setup = config.trusted_setup.clone();
189188
let kzg = if spec.is_peer_das_scheduled() {
190-
Kzg::new_from_trusted_setup_das_enabled(trusted_setup).map_err(kzg_err_msg)?
191-
} else if spec.deneb_fork_epoch.is_some() {
192-
Kzg::new_from_trusted_setup(trusted_setup).map_err(kzg_err_msg)?
189+
Kzg::new_from_trusted_setup(&config.trusted_setup).map_err(kzg_err_msg)?
193190
} else {
194-
Kzg::new_from_trusted_setup_no_precomp(trusted_setup).map_err(kzg_err_msg)?
191+
Kzg::new_from_trusted_setup_no_precomp(&config.trusted_setup).map_err(kzg_err_msg)?
195192
};
196193

197194
let builder = BeaconChainBuilder::new(eth_spec_instance, Arc::new(kzg))

beacon_node/client/src/config.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use beacon_chain::TrustedSetup;
21
use beacon_chain::graffiti_calculator::GraffitiOrigin;
32
use beacon_chain::validator_monitor::ValidatorMonitorConfig;
43
use beacon_processor::BeaconProcessorConfig;
@@ -70,7 +69,7 @@ pub struct Config {
7069
pub network: network::NetworkConfig,
7170
pub chain: beacon_chain::ChainConfig,
7271
pub execution_layer: Option<execution_layer::Config>,
73-
pub trusted_setup: TrustedSetup,
72+
pub trusted_setup: Vec<u8>,
7473
pub http_api: http_api::Config,
7574
pub http_metrics: http_metrics::Config,
7675
pub monitoring_api: Option<monitoring_api::Config>,
@@ -84,9 +83,6 @@ pub struct Config {
8483

8584
impl Default for Config {
8685
fn default() -> Self {
87-
let trusted_setup: TrustedSetup = serde_json::from_reader(get_trusted_setup().as_slice())
88-
.expect("Unable to read trusted setup file");
89-
9086
Self {
9187
data_dir: PathBuf::from(DEFAULT_ROOT_DIR),
9288
db_name: "chain_db".to_string(),
@@ -98,7 +94,7 @@ impl Default for Config {
9894
network: NetworkConfig::default(),
9995
chain: <_>::default(),
10096
execution_layer: None,
101-
trusted_setup,
97+
trusted_setup: get_trusted_setup(),
10298
beacon_graffiti: GraffitiOrigin::default(),
10399
http_api: <_>::default(),
104100
http_metrics: <_>::default(),

beacon_node/execution_layer/src/test_utils/execution_block_generator.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -937,7 +937,7 @@ pub fn generate_pow_block(
937937
#[cfg(test)]
938938
mod test {
939939
use super::*;
940-
use kzg::{Bytes48, CellRef, KzgBlobRef, TrustedSetup, trusted_setup::get_trusted_setup};
940+
use kzg::{Bytes48, CellRef, KzgBlobRef, trusted_setup::get_trusted_setup};
941941
use types::{MainnetEthSpec, MinimalEthSpec};
942942

943943
#[test]
@@ -1056,10 +1056,7 @@ mod test {
10561056
}
10571057

10581058
fn load_kzg() -> Result<Kzg, String> {
1059-
let trusted_setup: TrustedSetup =
1060-
serde_json::from_reader(get_trusted_setup().as_slice())
1061-
.map_err(|e| format!("Unable to read trusted setup file: {e:?}"))?;
1062-
Kzg::new_from_trusted_setup(trusted_setup)
1059+
Kzg::new_from_trusted_setup(&get_trusted_setup())
10631060
.map_err(|e| format!("Failed to load trusted setup: {e:?}"))
10641061
}
10651062
}

beacon_node/src/config.rs

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
use account_utils::{STDIN_INPUTS_FLAG, read_input_from_user};
2-
use beacon_chain::TrustedSetup;
32
use beacon_chain::chain_config::{
43
DEFAULT_PREPARE_PAYLOAD_LOOKAHEAD_FACTOR, DEFAULT_RE_ORG_HEAD_THRESHOLD,
54
DEFAULT_RE_ORG_MAX_EPOCHS_SINCE_FINALIZATION, DEFAULT_RE_ORG_PARENT_THRESHOLD,
@@ -349,25 +348,13 @@ pub fn get_config<E: EthSpec>(
349348
// Store the EL config in the client config.
350349
client_config.execution_layer = Some(el_config);
351350

352-
// 4844 params
353-
if let Some(trusted_setup) = context
354-
.eth2_network_config
355-
.as_ref()
356-
.map(|config| serde_json::from_slice(&config.kzg_trusted_setup))
357-
.transpose()
358-
.map_err(|e| format!("Unable to read trusted setup file: {}", e))?
359-
{
360-
client_config.trusted_setup = trusted_setup;
361-
};
362-
363351
// Override default trusted setup file if required
364352
if let Some(trusted_setup_file_path) = cli_args.get_one::<String>("trusted-setup-file-override")
365353
{
366-
let file = std::fs::File::open(trusted_setup_file_path)
367-
.map_err(|e| format!("Failed to open trusted setup file: {}", e))?;
368-
let trusted_setup: TrustedSetup = serde_json::from_reader(file)
369-
.map_err(|e| format!("Unable to read trusted setup file: {}", e))?;
370-
client_config.trusted_setup = trusted_setup;
354+
client_config.trusted_setup = std::fs::read(trusted_setup_file_path)
355+
.map_err(|e| format!("Failed to read trusted setup file: {}", e))?;
356+
} else if let Some(eth2_network_config) = context.eth2_network_config.as_ref() {
357+
client_config.trusted_setup = eth2_network_config.kzg_trusted_setup.clone();
371358
}
372359

373360
if let Some(freezer_dir) = cli_args.get_one::<String>("freezer-dir") {

0 commit comments

Comments
 (0)