diff --git a/core/bin/zksync_server/src/main.rs b/core/bin/zksync_server/src/main.rs index b6d6a3e7af8..1d8daf1b857 100644 --- a/core/bin/zksync_server/src/main.rs +++ b/core/bin/zksync_server/src/main.rs @@ -13,7 +13,7 @@ use zksync_config::{ house_keeper::HouseKeeperConfig, ContractsConfig, FriProofCompressorConfig, FriProverConfig, FriProverGatewayConfig, FriWitnessGeneratorConfig, FriWitnessVectorGeneratorConfig, ObservabilityConfig, - PrometheusConfig, ProofDataHandlerConfig, WitnessGeneratorConfig, + PrometheusConfig, ProofDataHandlerConfig, }, ApiConfig, ContractVerifierConfig, DBConfig, ETHConfig, ETHWatchConfig, GasAdjusterConfig, GenesisConfig, ObjectStoreConfig, PostgresConfig, SnapshotsCreatorConfig, @@ -269,7 +269,6 @@ fn load_env_config() -> anyhow::Result { fri_witness_generator_config: FriWitnessGeneratorConfig::from_env().ok(), prometheus_config: PrometheusConfig::from_env().ok(), proof_data_handler_config: ProofDataHandlerConfig::from_env().ok(), - witness_generator_config: WitnessGeneratorConfig::from_env().ok(), api_config: ApiConfig::from_env().ok(), db_config: DBConfig::from_env().ok(), eth_sender_config: ETHConfig::from_env().ok(), diff --git a/core/lib/config/src/configs/fri_prover.rs b/core/lib/config/src/configs/fri_prover.rs index f8b9b8adf1c..8afc40e9ca0 100644 --- a/core/lib/config/src/configs/fri_prover.rs +++ b/core/lib/config/src/configs/fri_prover.rs @@ -17,11 +17,8 @@ pub struct FriProverConfig { pub prometheus_port: u16, pub max_attempts: u32, pub generation_timeout_in_secs: u16, - pub base_layer_circuit_ids_to_be_verified: Vec, - pub recursive_layer_circuit_ids_to_be_verified: Vec, pub setup_load_mode: SetupLoadMode, pub specialized_group_id: u8, - pub witness_vector_generator_thread_count: Option, pub queue_capacity: usize, pub witness_vector_receiver_port: u16, pub zone_read_url: String, diff --git a/core/lib/config/src/configs/mod.rs b/core/lib/config/src/configs/mod.rs index 19905e5d757..94fe69a441d 100644 --- a/core/lib/config/src/configs/mod.rs +++ b/core/lib/config/src/configs/mod.rs @@ -18,7 +18,6 @@ pub use self::{ proof_data_handler::ProofDataHandlerConfig, snapshots_creator::SnapshotsCreatorConfig, utils::PrometheusConfig, - witness_generator::WitnessGeneratorConfig, }; pub mod api; @@ -43,6 +42,5 @@ pub mod proof_data_handler; pub mod snapshots_creator; pub mod utils; pub mod wallets; -pub mod witness_generator; const BYTES_IN_MEGABYTE: usize = 1_024 * 1_024; diff --git a/core/lib/config/src/configs/witness_generator.rs b/core/lib/config/src/configs/witness_generator.rs deleted file mode 100644 index 010742e4b04..00000000000 --- a/core/lib/config/src/configs/witness_generator.rs +++ /dev/null @@ -1,45 +0,0 @@ -use std::time::Duration; - -// Built-in uses -// External uses -use serde::Deserialize; - -#[derive(Debug, Deserialize, Clone, PartialEq)] -pub enum BasicWitnessGeneratorDataSource { - FromPostgres, - FromPostgresShadowBlob, - FromBlob, -} - -/// Configuration for the witness generation -#[derive(Debug, Deserialize, Clone, PartialEq)] -pub struct WitnessGeneratorConfig { - /// Max time for witness to be generated - pub generation_timeout_in_secs: u16, - /// Currently only a single (largest) key is supported. - pub initial_setup_key_path: String, - /// https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2\^26.key - pub key_download_url: String, - /// Max attempts for generating witness - pub max_attempts: u32, - // Percentage of the blocks that gets proven in the range [0.0, 1.0] - // when 0.0 implies all blocks are skipped and 1.0 implies all blocks are proven. - pub blocks_proving_percentage: Option, - pub dump_arguments_for_blocks: Vec, - // Optional l1 batch number to process block until(inclusive). - // This parameter is used in case of performing circuit upgrades(VK/Setup keys), - // to not let witness-generator pick new job and finish all the existing jobs with old circuit. - pub last_l1_batch_to_process: Option, - /// Where will basic Witness Generator load its data from - pub data_source: BasicWitnessGeneratorDataSource, -} - -impl WitnessGeneratorConfig { - pub fn witness_generation_timeout(&self) -> Duration { - Duration::from_secs(self.generation_timeout_in_secs as u64) - } - - pub fn last_l1_batch_to_process(&self) -> u32 { - self.last_l1_batch_to_process.unwrap_or(u32::MAX) - } -} diff --git a/core/lib/config/src/testonly.rs b/core/lib/config/src/testonly.rs index 4c23573881d..39c1af11810 100644 --- a/core/lib/config/src/testonly.rs +++ b/core/lib/config/src/testonly.rs @@ -422,11 +422,8 @@ impl Distribution for EncodeDist { prometheus_port: self.sample(rng), max_attempts: self.sample(rng), generation_timeout_in_secs: self.sample(rng), - base_layer_circuit_ids_to_be_verified: self.sample_collect(rng), - recursive_layer_circuit_ids_to_be_verified: self.sample_collect(rng), setup_load_mode: self.sample(rng), specialized_group_id: self.sample(rng), - witness_vector_generator_thread_count: self.sample(rng), queue_capacity: self.sample(rng), witness_vector_receiver_port: self.sample(rng), zone_read_url: self.sample(rng), @@ -622,35 +619,6 @@ impl Distribution for EncodeDist { } } -impl Distribution for EncodeDist { - fn sample( - &self, - rng: &mut R, - ) -> configs::witness_generator::BasicWitnessGeneratorDataSource { - type T = configs::witness_generator::BasicWitnessGeneratorDataSource; - match rng.gen_range(0..2) { - 0 => T::FromPostgres, - 1 => T::FromPostgresShadowBlob, - _ => T::FromBlob, - } - } -} - -impl Distribution for EncodeDist { - fn sample(&self, rng: &mut R) -> configs::WitnessGeneratorConfig { - configs::WitnessGeneratorConfig { - generation_timeout_in_secs: self.sample(rng), - initial_setup_key_path: self.sample(rng), - key_download_url: self.sample(rng), - max_attempts: self.sample(rng), - blocks_proving_percentage: self.sample(rng), - dump_arguments_for_blocks: self.sample_collect(rng), - last_l1_batch_to_process: self.sample(rng), - data_source: self.sample(rng), - } - } -} - impl Distribution for EncodeDist { fn sample(&self, rng: &mut R) -> configs::ObservabilityConfig { configs::ObservabilityConfig { diff --git a/core/lib/env_config/src/fri_prover.rs b/core/lib/env_config/src/fri_prover.rs index 373d1e6f990..2a08472b680 100644 --- a/core/lib/env_config/src/fri_prover.rs +++ b/core/lib/env_config/src/fri_prover.rs @@ -28,11 +28,8 @@ mod tests { prometheus_port: 3315, max_attempts: 10, generation_timeout_in_secs: 300, - base_layer_circuit_ids_to_be_verified: vec![1, 5], - recursive_layer_circuit_ids_to_be_verified: vec![1, 2, 3], setup_load_mode: SetupLoadMode::FromDisk, specialized_group_id: 10, - witness_vector_generator_thread_count: Some(5), queue_capacity: 10, witness_vector_receiver_port: 3316, zone_read_url: "http://metadata.google.internal/computeMetadata/v1/instance/zone" @@ -57,11 +54,8 @@ mod tests { FRI_PROVER_PROMETHEUS_PORT="3315" FRI_PROVER_MAX_ATTEMPTS="10" FRI_PROVER_GENERATION_TIMEOUT_IN_SECS="300" - FRI_PROVER_BASE_LAYER_CIRCUIT_IDS_TO_BE_VERIFIED="1,5" - FRI_PROVER_RECURSIVE_LAYER_CIRCUIT_IDS_TO_BE_VERIFIED="1,2,3" FRI_PROVER_SETUP_LOAD_MODE="FromDisk" FRI_PROVER_SPECIALIZED_GROUP_ID="10" - FRI_PROVER_WITNESS_VECTOR_GENERATOR_THREAD_COUNT="5" FRI_PROVER_QUEUE_CAPACITY="10" FRI_PROVER_WITNESS_VECTOR_RECEIVER_PORT="3316" FRI_PROVER_ZONE_READ_URL="http://metadata.google.internal/computeMetadata/v1/instance/zone" diff --git a/core/lib/env_config/src/lib.rs b/core/lib/env_config/src/lib.rs index a937cc89a3f..f6290020f38 100644 --- a/core/lib/env_config/src/lib.rs +++ b/core/lib/env_config/src/lib.rs @@ -20,7 +20,6 @@ mod observability; mod proof_data_handler; mod snapshots_creator; mod utils; -mod witness_generator; mod genesis; #[cfg(test)] diff --git a/core/lib/env_config/src/witness_generator.rs b/core/lib/env_config/src/witness_generator.rs deleted file mode 100644 index 28d7a9bbbd9..00000000000 --- a/core/lib/env_config/src/witness_generator.rs +++ /dev/null @@ -1,50 +0,0 @@ -use zksync_config::configs::WitnessGeneratorConfig; - -use crate::{envy_load, FromEnv}; - -impl FromEnv for WitnessGeneratorConfig { - fn from_env() -> anyhow::Result { - envy_load("witness", "WITNESS_") - } -} - -#[cfg(test)] -mod tests { - use zksync_config::configs::witness_generator::BasicWitnessGeneratorDataSource; - - use super::*; - use crate::test_utils::EnvMutex; - - static MUTEX: EnvMutex = EnvMutex::new(); - - fn expected_config() -> WitnessGeneratorConfig { - WitnessGeneratorConfig { - generation_timeout_in_secs: 900_u16, - initial_setup_key_path: "key".to_owned(), - key_download_url: "value".to_owned(), - max_attempts: 4, - blocks_proving_percentage: Some(30), - dump_arguments_for_blocks: vec![2, 3], - last_l1_batch_to_process: None, - data_source: BasicWitnessGeneratorDataSource::FromBlob, - } - } - - #[test] - fn from_env() { - let mut lock = MUTEX.lock(); - let config = r#" - WITNESS_GENERATION_TIMEOUT_IN_SECS=900 - WITNESS_INITIAL_SETUP_KEY_PATH="key" - WITNESS_KEY_DOWNLOAD_URL="value" - WITNESS_MAX_ATTEMPTS=4 - WITNESS_DUMP_ARGUMENTS_FOR_BLOCKS="2,3" - WITNESS_BLOCKS_PROVING_PERCENTAGE="30" - WITNESS_DATA_SOURCE="FromBlob" - "#; - lock.set_env(config); - - let actual = WitnessGeneratorConfig::from_env().unwrap(); - assert_eq!(actual, expected_config()); - } -} diff --git a/core/lib/protobuf_config/src/proto/prover.proto b/core/lib/protobuf_config/src/proto/prover.proto index 36700cd555e..a365a2e2886 100644 --- a/core/lib/protobuf_config/src/proto/prover.proto +++ b/core/lib/protobuf_config/src/proto/prover.proto @@ -26,17 +26,15 @@ message Prover { optional uint32 prometheus_port = 2; // required; u16 optional uint32 max_attempts = 3; // required optional uint32 generation_timeout_in_secs = 4; // required; s - repeated uint32 base_layer_circuit_ids_to_be_verified = 5; // required - repeated uint32 recursive_layer_circuit_ids_to_be_verified = 6; // required optional SetupLoadMode setup_load_mode = 7; // required optional uint32 specialized_group_id = 8; // required; u8 - optional uint64 witness_vector_generator_thread_count = 9; // optional optional uint64 queue_capacity = 10; // required optional uint32 witness_vector_receiver_port = 11; // required; u16 optional string zone_read_url = 12; // required optional uint32 availability_check_interval_in_secs = 21; // required; s optional bool shall_save_to_public_bucket = 13; // required optional config.object_store.ObjectStore object_store = 20; + reserved 5, 6, 9; reserved "base_layer_circuit_ids_to_be_verified", "recursive_layer_circuit_ids_to_be_verified", "witness_vector_generator_thread_count"; } diff --git a/core/lib/protobuf_config/src/prover.rs b/core/lib/protobuf_config/src/prover.rs index 12ff2378251..fc13db9d7d9 100644 --- a/core/lib/protobuf_config/src/prover.rs +++ b/core/lib/protobuf_config/src/prover.rs @@ -304,16 +304,6 @@ impl ProtoRepr for proto::Prover { generation_timeout_in_secs: required(&self.generation_timeout_in_secs) .and_then(|x| Ok((*x).try_into()?)) .context("generation_timeout_in_secs")?, - base_layer_circuit_ids_to_be_verified: self - .base_layer_circuit_ids_to_be_verified - .iter() - .map(|a| *a as u8) - .collect(), - recursive_layer_circuit_ids_to_be_verified: self - .recursive_layer_circuit_ids_to_be_verified - .iter() - .map(|a| *a as u8) - .collect(), setup_load_mode: required(&self.setup_load_mode) .and_then(|x| Ok(proto::SetupLoadMode::try_from(*x)?)) .context("setup_load_mode")? @@ -321,11 +311,6 @@ impl ProtoRepr for proto::Prover { specialized_group_id: required(&self.specialized_group_id) .and_then(|x| Ok((*x).try_into()?)) .context("specialized_group_id")?, - witness_vector_generator_thread_count: self - .witness_vector_generator_thread_count - .map(|x| x.try_into()) - .transpose() - .context("witness_vector_generator_thread_count")?, queue_capacity: required(&self.queue_capacity) .and_then(|x| Ok((*x).try_into()?)) .context("queue_capacity")?, @@ -351,21 +336,8 @@ impl ProtoRepr for proto::Prover { prometheus_port: Some(this.prometheus_port.into()), max_attempts: Some(this.max_attempts), generation_timeout_in_secs: Some(this.generation_timeout_in_secs.into()), - base_layer_circuit_ids_to_be_verified: this - .base_layer_circuit_ids_to_be_verified - .iter() - .map(|a| *a as u32) - .collect(), - recursive_layer_circuit_ids_to_be_verified: this - .recursive_layer_circuit_ids_to_be_verified - .iter() - .map(|a| *a as u32) - .collect(), setup_load_mode: Some(proto::SetupLoadMode::new(&this.setup_load_mode).into()), specialized_group_id: Some(this.specialized_group_id.into()), - witness_vector_generator_thread_count: this - .witness_vector_generator_thread_count - .map(|x| x.try_into().unwrap()), queue_capacity: Some(this.queue_capacity.try_into().unwrap()), witness_vector_receiver_port: Some(this.witness_vector_receiver_port.into()), zone_read_url: Some(this.zone_read_url.clone()), diff --git a/core/lib/zksync_core/src/proto/mod.proto b/core/lib/zksync_core/src/proto/mod.proto index 596eb505db7..7876c28c641 100644 --- a/core/lib/zksync_core/src/proto/mod.proto +++ b/core/lib/zksync_core/src/proto/mod.proto @@ -5,5 +5,5 @@ package zksync.core; import "zksync/core/consensus.proto"; message Secrets { - optional consensus.Secrets consensus = 1; // optional + optional consensus.Secrets consensus = 1; // optional } diff --git a/core/lib/zksync_core/src/temp_config_store/mod.rs b/core/lib/zksync_core/src/temp_config_store/mod.rs index 2c5769f1f86..f471a7b251c 100644 --- a/core/lib/zksync_core/src/temp_config_store/mod.rs +++ b/core/lib/zksync_core/src/temp_config_store/mod.rs @@ -11,7 +11,7 @@ use zksync_config::{ wallets::{AddressWallet, EthSender, StateKeeper, Wallet, Wallets}, FriProofCompressorConfig, FriProverConfig, FriProverGatewayConfig, FriWitnessGeneratorConfig, FriWitnessVectorGeneratorConfig, GeneralConfig, - ObservabilityConfig, PrometheusConfig, ProofDataHandlerConfig, WitnessGeneratorConfig, + ObservabilityConfig, PrometheusConfig, ProofDataHandlerConfig, }, ApiConfig, ContractVerifierConfig, DBConfig, ETHConfig, ETHWatchConfig, GasAdjusterConfig, ObjectStoreConfig, PostgresConfig, SnapshotsCreatorConfig, @@ -56,7 +56,6 @@ pub struct TempConfigStore { pub fri_witness_generator_config: Option, pub prometheus_config: Option, pub proof_data_handler_config: Option, - pub witness_generator_config: Option, pub api_config: Option, pub db_config: Option, pub eth_sender_config: Option, diff --git a/etc/env/base/fri_prover.toml b/etc/env/base/fri_prover.toml index fc99e756cf5..7183d2c848c 100644 --- a/etc/env/base/fri_prover.toml +++ b/etc/env/base/fri_prover.toml @@ -3,11 +3,8 @@ setup_data_path = "/usr/src/setup-data" prometheus_port = 3315 max_attempts = 10 generation_timeout_in_secs = 600 -base_layer_circuit_ids_to_be_verified = "1" -recursive_layer_circuit_ids_to_be_verified = "1" setup_load_mode = "FromDisk" specialized_group_id = 100 -witness_vector_generator_thread_count = 5 queue_capacity = 10 witness_vector_receiver_port = 3316 zone_read_url = "http://metadata.google.internal/computeMetadata/v1/instance/zone" diff --git a/etc/env/base/witness_generator.toml b/etc/env/base/witness_generator.toml deleted file mode 100644 index c5df54919ad..00000000000 --- a/etc/env/base/witness_generator.toml +++ /dev/null @@ -1,7 +0,0 @@ -[witness] -generation_timeout_in_secs=900 -initial_setup_key_path="./keys/setup/setup_2^22.key" -key_download_url="https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^22.key" -max_attempts=1 -dump_arguments_for_blocks="2,3" -data_source="FromPostgres" \ No newline at end of file diff --git a/etc/env/dev.toml b/etc/env/dev.toml index e95ad7b9e9e..b50b6ecc5bf 100644 --- a/etc/env/dev.toml +++ b/etc/env/dev.toml @@ -14,7 +14,6 @@ base = [ 'base/nfs.toml', 'base/rust.toml', 'base/private.toml', - 'base/witness_generator.toml', 'base/house_keeper.toml', 'base/fri_prover.toml', 'base/fri_witness_generator.toml', diff --git a/etc/env/file_based/general.yaml b/etc/env/file_based/general.yaml index 2cf7a420465..c251c667d33 100644 --- a/etc/env/file_based/general.yaml +++ b/etc/env/file_based/general.yaml @@ -162,11 +162,8 @@ prover: prometheus_port: 3315 max_attempts: 10 generation_timeout_in_secs: 600 - base_layer_circuit_ids_to_be_verified: [ 1 ] - recursive_layer_circuit_ids_to_be_verified: [ 1 ] setup_load_mode: FROM_DISK specialized_group_id: 100 - witness_vector_generator_thread_count: 5 queue_capacity: 10 witness_vector_receiver_port: 3316 availability_check_interval_in_secs: 10000