zksync_protobuf_config 0.1.0

Protobuf deserialization for ZKsync configs
Documentation
syntax = "proto3";

import "zksync/config/object_store.proto";

package zksync.config.prover;

message ProofCompressor {
  optional uint32 compression_mode = 1; // required; u8
  optional uint32 prometheus_listener_port = 2; // required; u16
  optional string prometheus_pushgateway_url = 3; // required
  optional uint64 prometheus_push_interval_ms = 4; // optional; ms
  optional uint32 generation_timeout_in_secs = 5; // required; s
  optional uint32 max_attempts = 6; // required
  optional string universal_setup_path = 7; // required; fs path
  optional string universal_setup_download_url = 8; // required
  optional bool verify_wrapper_proof = 9; // required
}

enum SetupLoadMode {
  FROM_DISK = 0;
  FROM_MEMORY = 1;
}

message Prover {
  optional string setup_data_path = 1; // required; fs path?
  optional uint32 prometheus_port = 2; // required; u16
  optional uint32 max_attempts = 3; // required
  optional uint32 generation_timeout_in_secs = 4; // required; s
  optional SetupLoadMode setup_load_mode = 7; // required
  optional uint32 specialized_group_id = 8; // required; u8
  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; // optional; s
  optional bool shall_save_to_public_bucket = 13; // required
  optional config.object_store.ObjectStore public_object_store = 22;
  optional config.object_store.ObjectStore prover_object_store = 23;
  reserved 5, 6, 9; reserved "base_layer_circuit_ids_to_be_verified", "recursive_layer_circuit_ids_to_be_verified", "witness_vector_generator_thread_count";
}


message CircuitIdRoundTuple {
  optional uint32 circuit_id = 1; // required; u8
  optional uint32 aggregation_round = 2; // required; u8
}

message ProverGroup {
  repeated CircuitIdRoundTuple group_0 = 1;
  repeated CircuitIdRoundTuple group_1 = 2;
  repeated CircuitIdRoundTuple group_2 = 3;
  repeated CircuitIdRoundTuple group_3 = 4;
  repeated CircuitIdRoundTuple group_4 = 5;
  repeated CircuitIdRoundTuple group_5 = 6;
  repeated CircuitIdRoundTuple group_6 = 7;
  repeated CircuitIdRoundTuple group_7 = 8;
  repeated CircuitIdRoundTuple group_8 = 9;
  repeated CircuitIdRoundTuple group_9 = 10;
  repeated CircuitIdRoundTuple group_10 = 11;
  repeated CircuitIdRoundTuple group_11 = 12;
  repeated CircuitIdRoundTuple group_12 = 13;
  repeated CircuitIdRoundTuple group_13 = 14;
  repeated CircuitIdRoundTuple group_14 = 15;
}

message ProverGateway {
  optional string api_url = 1; // required
  optional uint32 api_poll_duration_secs = 2; // required; s
  optional uint32 prometheus_listener_port = 3; // required; u16
  optional string prometheus_pushgateway_url = 4; // required
  optional uint64 prometheus_push_interval_ms = 5; // optional; ms
}


message WitnessGenerator {
  optional uint32 generation_timeout_in_secs = 1; // required;
  optional uint32 max_attempts = 2; // required;
  optional uint32 last_l1_batch_to_process = 5; // optional
  optional bool shall_save_to_public_bucket = 7; // required
  optional uint32 basic_generation_timeout_in_secs = 8; // optional;
  optional uint32 leaf_generation_timeout_in_secs = 9; // optional;
  optional uint32 node_generation_timeout_in_secs = 10; // optional;
  optional uint32 scheduler_generation_timeout_in_secs = 11; // optional;
  optional uint32 recursion_tip_timeout_in_secs = 12; // optional;
  optional uint32 prometheus_listener_port = 13; // optional;
  reserved 3, 4, 6;
  reserved "dump_arguments_for_blocks", "force_process_block", "blocks_proving_percentage";
}

message WitnessVectorGenerator {
  optional uint32 max_prover_reservation_duration_in_secs = 1; // required; s
  optional uint32 prover_instance_wait_timeout_in_secs = 2; // required; s
  optional uint32 prover_instance_poll_time_in_milli_secs = 3; // required; ms
  optional uint32 prometheus_listener_port = 4; // required; u16
  optional string prometheus_pushgateway_url = 5; // required
  optional uint64 prometheus_push_interval_ms = 6; // optional; ms
  optional uint32 specialized_group_id = 7; // required; u8
}


message ProofDataHandler {
  optional uint32 http_port = 1; // required; u16
  optional uint32 proof_generation_timeout_in_secs = 2; // required; s
  optional bool tee_support = 3; // required
}