syntax = "proto3";
package zksync.config.api;
import "zksync/config/utils.proto";
message MaxResponseSizeOverride {
optional string method = 1; // required
optional uint64 size_mb = 2; // optional; MB
}
message Web3JsonRpc {
optional uint32 http_port = 1; // required; u16
optional string http_url = 2; // required
optional uint32 ws_port = 3; // required; u16
optional string ws_url = 4; // required
optional uint32 req_entities_limit = 5; // optional
optional uint32 filters_limit = 6; // optional
optional uint32 subscriptions_limit = 7; // optional
optional uint64 pubsub_polling_interval = 8; // optional
optional uint32 max_nonce_ahead = 9; // required
optional double gas_price_scale_factor = 10; // required
optional uint64 request_timeout = 11; // seconds
repeated string account_pks = 12; // optional
optional double estimate_gas_scale_factor = 13; // required
optional uint32 estimate_gas_acceptable_overestimation = 14; // required
optional uint64 max_tx_size = 16; // required; B
optional uint64 vm_execution_cache_misses_limit = 17; // optional
optional uint64 vm_concurrency_limit = 18; // optional
optional uint64 factory_deps_cache_size_mb = 19; // optional; MB
optional uint64 initial_writes_cache_size_mb = 20; // optional; MB
optional uint64 latest_values_cache_size_mb = 21; // optional; MB
optional uint64 fee_history_limit = 22; // optional
optional uint64 max_batch_request_size = 23; // optional
optional uint64 max_response_body_size_mb = 24; // optional; MB
optional uint32 websocket_requests_per_minute_limit = 25; // optional
optional string tree_api_url = 26; // optional
optional bool filters_disabled = 27; // optional
optional uint64 mempool_cache_update_interval = 28; // optional
optional uint64 mempool_cache_size = 29; // optional
repeated string whitelisted_tokens_for_aa = 30; // optional
repeated MaxResponseSizeOverride max_response_body_size_overrides = 31;
repeated string api_namespaces = 32; // Optional, if empty all namespaces are available
optional bool extended_api_tracing = 33; // optional, default false
reserved 15; reserved "l1_to_l2_transactions_compatibility_mode";
}
message HealthCheck {
optional uint32 port = 1; // required; u16
optional uint64 slow_time_limit_ms = 2; // optional; ms
optional uint64 hard_time_limit_ms = 3; // optional; ms
}
message MerkleTreeApi {
optional uint32 port = 1; // required; u16
}
message Api {
optional Web3JsonRpc web3_json_rpc = 1; // required
optional utils.Prometheus prometheus = 3; // required
optional HealthCheck healthcheck = 4; // required
optional MerkleTreeApi merkle_tree = 5; // required
}