From 18918d97a74bb4065342145b138c5e043ba2823b Mon Sep 17 00:00:00 2001 From: Nimrod Weiss Date: Thu, 25 Jun 2026 14:10:06 +0300 Subject: [PATCH] apollo_node_config,apollo_node,deployment: source private_parameters from secrets schema private_parameters() now reads the committed config_secrets_schema.json (a BTreeSet of ParamPath) instead of deriving from config_schema.json + CONFIG_POINTERS at runtime, removing the runtime dependency on both. Delete the value config_schema.json (4147 lines) and the CONFIG_SCHEMA_PATH const (the native loader never read it; the per-param CLI parser that did is gone), and remove its now-broken COPY from the sequencer Dockerfile. Repurpose update_apollo_node_config_schema to regenerate ONLY the secrets schema, and split the up-to-date guard to assert only the secrets schema. A transient equivalence test (private_parameters_matches_config_dump_derivation) proves the file-sourced set equals the old dump()+CONFIG_POINTERS derivation (no drift); it is marked for removal with the later SerializeConfig/CONFIG_POINTERS teardown. config_secrets_schema.json regenerates byte-identical; apollo_node_config 30/30 and apollo_deployments 9/9 green. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../apollo_node/resources/config_schema.json | 4167 ----------------- .../bin/update_apollo_node_config_schema.rs | 40 +- crates/apollo_node_config/src/config_test.rs | 70 +- crates/apollo_node_config/src/config_utils.rs | 47 +- crates/apollo_node_config/src/node_config.rs | 4 +- deployments/images/sequencer/Dockerfile | 3 - 6 files changed, 94 insertions(+), 4237 deletions(-) delete mode 100644 crates/apollo_node/resources/config_schema.json diff --git a/crates/apollo_node/resources/config_schema.json b/crates/apollo_node/resources/config_schema.json deleted file mode 100644 index 0021af69b83..00000000000 --- a/crates/apollo_node/resources/config_schema.json +++ /dev/null @@ -1,4167 +0,0 @@ -{ - "base_layer_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "base_layer_config.bpo1_start_block_number": { - "description": "The block number at which BPO1 update was deployed.", - "privacy": "Public", - "value": 0 - }, - "base_layer_config.bpo2_start_block_number": { - "description": "The block number at which BPO2 update was deployed.", - "privacy": "Public", - "value": 0 - }, - "base_layer_config.fusaka_no_bpo_start_block_number": { - "description": "The block number at which the Fusaka upgrade was deployed (not including any BPO updates).", - "privacy": "Public", - "value": 0 - }, - "base_layer_config.ordered_l1_endpoint_urls": { - "description": "An ordered list of URLs for communicating with Ethereum. The list is used in order, cyclically, switching if the current one is non-operational.", - "privacy": "Private", - "value": "https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY" - }, - "base_layer_config.retry_primary_interval_seconds": { - "description": "The interval (seconds) after which the next base-layer access retries the primary (first) endpoint.", - "privacy": "Public", - "value": 60 - }, - "base_layer_config.starknet_contract_address": { - "description": "Starknet contract address in ethereum.", - "privacy": "Public", - "value": "0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4" - }, - "base_layer_config.timeout_millis": { - "description": "The timeout (milliseconds) for a query of the L1 base layer", - "privacy": "Public", - "value": 1000 - }, - "batcher_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "batcher_config.dynamic_config.n_concurrent_txs": { - "description": "Number of transactions in each request from the tx_provider.", - "privacy": "Public", - "value": 100 - }, - "batcher_config.dynamic_config.native_classes_whitelist": { - "description": "Specifies whether to execute all class hashes or only specific ones using Cairo native. If limited, a specific list of class hashes is provided.", - "pointer_target": "native_classes_whitelist", - "privacy": "Public" - }, - "batcher_config.dynamic_config.proposer_idle_detection_delay_millis": { - "description": "Minimum time (in milliseconds) that must pass since block creation started before checking for idle state. If this delay has passed AND no transactions are currently being executed, the proposer will finish building the current block.", - "privacy": "Public", - "value": 1500 - }, - "batcher_config.dynamic_config.storage_reader_server_dynamic_config.enable": { - "description": "Whether to enable the storage reader HTTP server.", - "privacy": "Public", - "value": false - }, - "batcher_config.dynamic_config.tx_polling_interval_millis": { - "description": "Time to wait (in milliseconds) between transaction requests when the previous request returned no transactions. Applies when proposing (polls the mempool). Kept intentionally high so txs accumulate between polls and ordering is decided by tip/priority fee rather than by arrival latency (geographic proximity).", - "privacy": "Public", - "value": 10 - }, - "batcher_config.dynamic_config.validate_tx_polling_interval_millis": { - "description": "Time to wait (in milliseconds) between transaction requests when the previous request returned no transactions. Applies when validating a proposal, where the tx order is already fixed; a short interval reduces the delay before streamed txs are executed.", - "privacy": "Public", - "value": 10 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.l1_gas": { - "description": "An upper bound on the total l1_gas used in a block.", - "privacy": "Public", - "value": 2500000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.message_segment_length": { - "description": "An upper bound on the message segment length in a block.", - "privacy": "Public", - "value": 3700 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.n_events": { - "description": "An upper bound on the total number of events generated in a block.", - "privacy": "Public", - "value": 5000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.n_txs": { - "description": "An upper bound on the total number of transactions in a block.", - "privacy": "Public", - "value": 600 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.proving_gas": { - "description": "An upper bound on the total builtins and steps gas usage used in a block.", - "privacy": "Public", - "value": 5000000000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.receipt_l2_gas": { - "description": "An upper bound on the total receipt-based L2 gas in a block. Includes execution gas plus state allocation costs. Should equal max_block_size.", - "privacy": "Public", - "value": 5800000000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.sierra_gas": { - "description": "An upper bound on the total sierra_gas used in a block.", - "privacy": "Public", - "value": 5000000000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.block_max_capacity.state_diff_size": { - "description": "An upper bound on the total state diff size in a block.", - "privacy": "Public", - "value": 4000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.add_mod": { - "description": "Instance limit for the add_mod builtin.", - "privacy": "Public", - "value": 3000000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.bitwise": { - "description": "Instance limit for the bitwise builtin.", - "privacy": "Public", - "value": 10500000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.blake": { - "description": "Instance limit for the blake opcode.", - "privacy": "Public", - "value": 1800000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.ecdsa": { - "description": "Instance limit for the ecdsa builtin.", - "privacy": "Public", - "value": 3000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.ecop": { - "description": "Instance limit for the ec_op builtin.", - "privacy": "Public", - "value": 130000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.keccak": { - "description": "Instance limit for the keccak builtin.", - "privacy": "Public", - "value": 10000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.mul_mod": { - "description": "Instance limit for the mul_mod builtin.", - "privacy": "Public", - "value": 3000000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.pedersen": { - "description": "Instance limit for the pedersen builtin.", - "privacy": "Public", - "value": 2000000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.poseidon": { - "description": "Instance limit for the poseidon builtin.", - "privacy": "Public", - "value": 600000 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.range_check": { - "description": "Instance limit for the range_check builtin.", - "privacy": "Public", - "value": 66666666 - }, - "batcher_config.static_config.block_builder_config.bouncer_config.builtin_instance_limits.range_check96": { - "description": "Instance limit for the range_check96 builtin.", - "privacy": "Public", - "value": 33519553 - }, - "batcher_config.static_config.block_builder_config.chain_info.chain_id": { - "description": "The chain ID of the StarkNet chain.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "batcher_config.static_config.block_builder_config.chain_info.fee_token_addresses.eth_fee_token_address": { - "description": "Address of the ETH fee token.", - "pointer_target": "eth_fee_token_address", - "privacy": "Public" - }, - "batcher_config.static_config.block_builder_config.chain_info.fee_token_addresses.strk_fee_token_address": { - "description": "Address of the STRK fee token.", - "pointer_target": "strk_fee_token_address", - "privacy": "Public" - }, - "batcher_config.static_config.block_builder_config.execute_config.n_workers": { - "description": "Number of parallel transaction execution workers.", - "privacy": "Public", - "value": 1 - }, - "batcher_config.static_config.block_builder_config.execute_config.stack_size": { - "description": "The thread stack size (proportional to the maximal gas of a transaction).", - "privacy": "Public", - "value": 62914560 - }, - "batcher_config.static_config.block_builder_config.versioned_constants_overrides.#is_none": { - "description": "Flag for an optional field.", - "pointer_target": "versioned_constants_overrides.#is_none", - "privacy": "TemporaryValue" - }, - "batcher_config.static_config.block_builder_config.versioned_constants_overrides.invoke_tx_max_n_steps": { - "description": "Maximum number of steps the invoke function is allowed to run.", - "pointer_target": "versioned_constants_overrides.invoke_tx_max_n_steps", - "privacy": "Public" - }, - "batcher_config.static_config.block_builder_config.versioned_constants_overrides.max_n_events": { - "description": "Maximum number of events that can be emitted from the transaction.", - "pointer_target": "versioned_constants_overrides.max_n_events", - "privacy": "Public" - }, - "batcher_config.static_config.block_builder_config.versioned_constants_overrides.max_recursion_depth": { - "description": "Maximum recursion depth for nested calls during blockifier validation.", - "pointer_target": "versioned_constants_overrides.max_recursion_depth", - "privacy": "Public" - }, - "batcher_config.static_config.block_builder_config.versioned_constants_overrides.validate_max_n_steps": { - "description": "Maximum number of steps the validation function is allowed to run.", - "pointer_target": "versioned_constants_overrides.validate_max_n_steps", - "privacy": "Public" - }, - "batcher_config.static_config.commitment_manager_config.panic_if_task_channel_full": { - "description": "If the task channel is full: if true, will panic. If false, will wait for the tasks channel to be available.", - "privacy": "Public", - "value": false - }, - "batcher_config.static_config.commitment_manager_config.results_channel_size": { - "description": "The size of the channel for receiving results from the commitment manager.", - "privacy": "Public", - "value": 1000 - }, - "batcher_config.static_config.commitment_manager_config.tasks_channel_size": { - "description": "The size of the channel for sending tasks to the commitment manager.", - "privacy": "Public", - "value": 1000 - }, - "batcher_config.static_config.contract_class_manager_config.cairo_native_run_config.cairo_native_mode": { - "description": "Cairo native execution mode. 'off' disables native execution, 'wait_on_compilation' compiles synchronously, and 'lazy_compilation' compiles asynchronously.", - "privacy": "Public", - "value": "off" - }, - "batcher_config.static_config.contract_class_manager_config.cairo_native_run_config.channel_size": { - "description": "The size of the compilation request channel.", - "privacy": "Public", - "value": 2000 - }, - "batcher_config.static_config.contract_class_manager_config.cairo_native_run_config.panic_on_compilation_failure": { - "description": "Whether to panic on compilation failure.", - "privacy": "Public", - "value": false - }, - "batcher_config.static_config.contract_class_manager_config.contract_cache_size": { - "description": "The size of the global contract cache.", - "privacy": "Public", - "value": 600 - }, - "batcher_config.static_config.contract_class_manager_config.native_compiler_config.compiler_binary_path": { - "description": "The path to the Sierra-to-Native compiler binary.", - "privacy": "Public", - "value": "" - }, - "batcher_config.static_config.contract_class_manager_config.native_compiler_config.compiler_binary_path.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "batcher_config.static_config.contract_class_manager_config.native_compiler_config.max_cpu_time": { - "description": "Limitation of compilation cpu time (seconds).", - "pointer_target": "max_cpu_time", - "privacy": "Public" - }, - "batcher_config.static_config.contract_class_manager_config.native_compiler_config.max_file_size": { - "description": "Limitation of compiled Cairo Native file size (bytes).", - "privacy": "Public", - "value": 52428800 - }, - "batcher_config.static_config.contract_class_manager_config.native_compiler_config.max_file_size.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "batcher_config.static_config.contract_class_manager_config.native_compiler_config.max_memory_usage": { - "description": "Limitation of compilation process's virtual memory (bytes).", - "privacy": "Public", - "value": 16106127360 - }, - "batcher_config.static_config.contract_class_manager_config.native_compiler_config.optimization_level": { - "description": "The level of optimization to apply during compilation.", - "privacy": "Public", - "value": 2 - }, - "batcher_config.static_config.first_block_with_partial_block_hash.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "batcher_config.static_config.first_block_with_partial_block_hash.block_hash": { - "description": "The hash of the first block with a partial block hash components.", - "privacy": "Public", - "value": "0x0" - }, - "batcher_config.static_config.first_block_with_partial_block_hash.block_number": { - "description": "The number of the first block with a partial block hash components.", - "privacy": "Public", - "value": 0 - }, - "batcher_config.static_config.first_block_with_partial_block_hash.parent_block_hash": { - "description": "The hash of the parent block of the first block with a partial block hash components.", - "privacy": "Public", - "value": "0x0" - }, - "batcher_config.static_config.input_stream_content_buffer_size": { - "description": "Sets the buffer size for the input transaction channel. Adding more transactions beyond this limit will block until space is available.", - "privacy": "Public", - "value": 400 - }, - "batcher_config.static_config.max_l1_handler_txs_per_block_proposal": { - "description": "The maximum number of L1 handler transactions to include in a block proposal.", - "privacy": "Public", - "value": 3 - }, - "batcher_config.static_config.outstream_content_buffer_size": { - "description": "The maximum number of items to include in a single get_proposal_content response.", - "privacy": "Public", - "value": 100 - }, - "batcher_config.static_config.pre_confirmed_block_writer_config.channel_buffer_capacity": { - "description": "The capacity of the channel buffer for receiving pre-confirmed transactions.", - "privacy": "Public", - "value": 1000 - }, - "batcher_config.static_config.pre_confirmed_block_writer_config.write_block_interval_millis": { - "description": "Time interval (ms) between writing pre-confirmed blocks. Writes occur only when block data changes.", - "privacy": "Public", - "value": 50 - }, - "batcher_config.static_config.pre_confirmed_cende_config.recorder_url": { - "description": "The URL of the Pythonic cende_recorder", - "pointer_target": "recorder_url", - "privacy": "Public" - }, - "batcher_config.static_config.propose_l1_txs_every": { - "description": "Only propose L1 transactions every N proposals.", - "privacy": "Public", - "value": 1 - }, - "batcher_config.static_config.storage.batch_config.batch_size": { - "description": "Number of logical commits before actual MDBX commit.", - "privacy": "Public", - "value": 100 - }, - "batcher_config.static_config.storage.batch_config.enabled": { - "description": "Whether transaction batching is enabled.", - "privacy": "Public", - "value": false - }, - "batcher_config.static_config.storage.db_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "batcher_config.static_config.storage.db_config.enforce_file_exists": { - "description": "Whether to enforce that the path exists. If true, `open_env` fails when the mdbx.dat file does not exist.", - "privacy": "Public", - "value": false - }, - "batcher_config.static_config.storage.db_config.growth_step": { - "description": "The growth step in bytes, must be greater than zero to allow the database to grow.", - "privacy": "Public", - "value": 4294967296 - }, - "batcher_config.static_config.storage.db_config.max_readers": { - "description": "The maximum number of readers used by the database.", - "privacy": "Public", - "value": 8192 - }, - "batcher_config.static_config.storage.db_config.max_size": { - "description": "The maximum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1099511627776 - }, - "batcher_config.static_config.storage.db_config.min_size": { - "description": "The minimum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1048576 - }, - "batcher_config.static_config.storage.db_config.path_prefix": { - "description": "Prefix of the path of the node's storage directory, the storage file path will be /. The path is not created automatically.", - "privacy": "Public", - "value": "/data/batcher" - }, - "batcher_config.static_config.storage.mmap_file_config.growth_step": { - "description": "The growth step in bytes, must be greater than max_object_size.", - "privacy": "Public", - "value": 1073741824 - }, - "batcher_config.static_config.storage.mmap_file_config.max_object_size": { - "description": "The maximum size of a single object in the file in bytes", - "privacy": "Public", - "value": 268435456 - }, - "batcher_config.static_config.storage.mmap_file_config.max_size": { - "description": "The maximum size of a memory mapped file in bytes. Must be greater than growth_step.", - "privacy": "Public", - "value": 1099511627776 - }, - "batcher_config.static_config.storage.scope": { - "description": "The categories of data saved in storage.", - "privacy": "Public", - "value": "StateOnly" - }, - "batcher_config.static_config.storage_reader_server_static_config.ip": { - "description": "The IP address for the storage reader HTTP server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "batcher_config.static_config.storage_reader_server_static_config.port": { - "description": "The port for the storage reader HTTP server.", - "privacy": "Public", - "value": 8091 - }, - "batcher_config.static_config.validation_only": { - "description": "If true, the batcher only validates proposed blocks and cannot build proposals. Set via the node-level validation_only config pointer.", - "pointer_target": "validation_only", - "privacy": "Public" - }, - "behavior_mode": { - "description": "Behavior mode: 'starknet' for production, 'echonet' for test/replay mode.", - "privacy": "TemporaryValue", - "value": "starknet" - }, - "chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "privacy": "TemporaryValue", - "value": "PointerTarget" - }, - "class_manager_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "class_manager_config.dynamic_config.storage_reader_server_dynamic_config.enable": { - "description": "Whether to enable the storage reader HTTP server.", - "privacy": "Public", - "value": false - }, - "class_manager_config.static_config.class_manager_config.cached_class_storage_config.class_cache_size": { - "description": "Contract classes cache size.", - "privacy": "Public", - "value": 10 - }, - "class_manager_config.static_config.class_manager_config.cached_class_storage_config.deprecated_class_cache_size": { - "description": "Deprecated contract classes cache size.", - "privacy": "Public", - "value": 10 - }, - "class_manager_config.static_config.class_manager_config.max_compiled_contract_class_object_size": { - "description": "Limitation of compiled contract class object size.", - "privacy": "Public", - "value": 4089446 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.batch_config.batch_size": { - "description": "Number of logical commits before actual MDBX commit.", - "privacy": "Public", - "value": 100 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.batch_config.enabled": { - "description": "Whether transaction batching is enabled.", - "privacy": "Public", - "value": false - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.db_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.db_config.enforce_file_exists": { - "description": "Whether to enforce that the path exists. If true, `open_env` fails when the mdbx.dat file does not exist.", - "privacy": "Public", - "value": false - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.db_config.growth_step": { - "description": "The growth step in bytes, must be greater than zero to allow the database to grow.", - "privacy": "Public", - "value": 4294967296 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.db_config.max_readers": { - "description": "The maximum number of readers used by the database.", - "privacy": "Public", - "value": 8192 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.db_config.max_size": { - "description": "The maximum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1099511627776 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.db_config.min_size": { - "description": "The minimum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1048576 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.db_config.path_prefix": { - "description": "Prefix of the path of the node's storage directory, the storage file path will be /. The path is not created automatically.", - "privacy": "Public", - "value": "/data/class_hash_storage" - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.mmap_file_config.growth_step": { - "description": "The growth step in bytes, must be greater than max_object_size.", - "privacy": "Public", - "value": 1048576 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.mmap_file_config.max_object_size": { - "description": "The maximum size of a single object in the file in bytes", - "privacy": "Public", - "value": 1024 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.mmap_file_config.max_size": { - "description": "The maximum size of a memory mapped file in bytes. Must be greater than growth_step.", - "privacy": "Public", - "value": 1073741824 - }, - "class_manager_config.static_config.class_storage_config.class_hash_storage_config.scope": { - "description": "The categories of data saved in storage.", - "privacy": "Public", - "value": "StateOnly" - }, - "class_manager_config.static_config.class_storage_config.persistent_root": { - "description": "Path to the node's class storage directory.", - "privacy": "Public", - "value": "/data/classes" - }, - "class_manager_config.static_config.class_storage_config.storage_reader_server_static_config.ip": { - "description": "The IP address for the storage reader HTTP server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "class_manager_config.static_config.class_storage_config.storage_reader_server_static_config.port": { - "description": "The port for the storage reader HTTP server.", - "privacy": "Public", - "value": 8091 - }, - "committer_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "committer_config.db_path": { - "description": "Path to the committer storage directory.", - "privacy": "Public", - "value": "/data/committer" - }, - "committer_config.reader_config.build_storage_tries_concurrently": { - "description": "Whether to build the storage tries concurrently or sequentially.", - "privacy": "Public", - "value": true - }, - "committer_config.reader_config.warn_on_trivial_modifications": { - "description": "Whether to warn on trivial state update.", - "privacy": "Public", - "value": false - }, - "committer_config.storage_config.cache_size": { - "description": "Max number of entries in the cache", - "privacy": "Public", - "value": 10000000 - }, - "committer_config.storage_config.include_inner_stats": { - "description": "If true, the inner stats are included when collecting statistics", - "privacy": "Public", - "value": true - }, - "committer_config.storage_config.inner_storage_config.bloom_filter_bits": { - "description": "Number of bits in the bloom filter per key", - "privacy": "Public", - "value": 10 - }, - "committer_config.storage_config.inner_storage_config.bytes_per_sync": { - "description": "Bytes to sync to disk incrementally during writes", - "privacy": "Public", - "value": 1048576 - }, - "committer_config.storage_config.inner_storage_config.cache_size": { - "description": "Size of the block cache in bytes", - "privacy": "Public", - "value": 8589934592 - }, - "committer_config.storage_config.inner_storage_config.enable_statistics": { - "description": "Flag that determines whether to enable RocksDB statistics collection", - "privacy": "Public", - "value": true - }, - "committer_config.storage_config.inner_storage_config.max_background_jobs": { - "description": "Maximum number of background compaction and flush jobs", - "privacy": "Public", - "value": 8 - }, - "committer_config.storage_config.inner_storage_config.max_subcompactions": { - "description": "Maximum number of subcompactions for parallel compaction", - "privacy": "Public", - "value": 8 - }, - "committer_config.storage_config.inner_storage_config.max_write_buffers": { - "description": "Maximum number of write buffers (memtables)", - "privacy": "Public", - "value": 4 - }, - "committer_config.storage_config.inner_storage_config.num_threads": { - "description": "Number of threads for parallelism", - "privacy": "Public", - "value": 8 - }, - "committer_config.storage_config.inner_storage_config.spawn_blocking_reads": { - "description": "Whether to spawn blocking tasks for read operations", - "privacy": "Public", - "value": true - }, - "committer_config.storage_config.inner_storage_config.use_mmap_reads": { - "description": "Whether to use mmap for reading SST files", - "privacy": "Public", - "value": false - }, - "committer_config.storage_config.inner_storage_config.write_buffer_size": { - "description": "Amount of data to build up in memory before writing to disk", - "privacy": "Public", - "value": 134217728 - }, - "committer_config.verify_state_diff_hash": { - "description": "If true, the committer will verify the state diff hash.", - "privacy": "Public", - "value": true - }, - "components.batcher.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.batcher.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.batcher.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.batcher.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.batcher.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.batcher.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.batcher.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.batcher.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.batcher.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.batcher.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.batcher.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.batcher.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.batcher.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.batcher.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.batcher.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.batcher.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.batcher.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.batcher.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.batcher.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.batcher.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.batcher.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.batcher.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.batcher.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.batcher.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.batcher.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.batcher.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.batcher.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.batcher.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.class_manager.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.class_manager.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.class_manager.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.class_manager.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.class_manager.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.class_manager.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.class_manager.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.class_manager.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.class_manager.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.class_manager.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.class_manager.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.class_manager.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.class_manager.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.class_manager.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.class_manager.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.class_manager.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.class_manager.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.class_manager.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.class_manager.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.class_manager.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.class_manager.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.class_manager.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.class_manager.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.class_manager.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.class_manager.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.class_manager.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.class_manager.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.class_manager.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.committer.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.committer.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.committer.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.committer.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.committer.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.committer.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.committer.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.committer.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.committer.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.committer.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.committer.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.committer.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.committer.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.committer.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.committer.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.committer.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.committer.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.committer.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.committer.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.committer.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.committer.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.committer.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.committer.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.committer.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.committer.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.committer.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.committer.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.committer.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.config_manager.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.config_manager.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.config_manager.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.config_manager.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.config_manager.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.config_manager.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.config_manager.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.config_manager.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.config_manager.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.config_manager.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.config_manager.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.config_manager.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.config_manager.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.config_manager.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.config_manager.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.config_manager.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.config_manager.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.config_manager.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.config_manager.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.config_manager.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.config_manager.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.config_manager.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.config_manager.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.config_manager.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.config_manager.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.config_manager.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.config_manager.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.config_manager.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.consensus_manager.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "Enabled" - }, - "components.gateway.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.gateway.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.gateway.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.gateway.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.gateway.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.gateway.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.gateway.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.gateway.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.gateway.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.gateway.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.gateway.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.gateway.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.gateway.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.gateway.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.gateway.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.gateway.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.gateway.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.gateway.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.gateway.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.gateway.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.gateway.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.gateway.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.gateway.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.gateway.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.gateway.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.gateway.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.gateway.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.gateway.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.http_server.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "Enabled" - }, - "components.l1_events_provider.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.l1_events_provider.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.l1_events_provider.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.l1_events_provider.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.l1_events_provider.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.l1_events_provider.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.l1_events_provider.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.l1_events_provider.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.l1_events_provider.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.l1_events_provider.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.l1_events_provider.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.l1_events_provider.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.l1_events_provider.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.l1_events_provider.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.l1_events_provider.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.l1_events_provider.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.l1_events_provider.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.l1_events_provider.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.l1_events_provider.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.l1_events_provider.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.l1_events_provider.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.l1_events_provider.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.l1_events_provider.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.l1_events_provider.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.l1_events_provider.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.l1_events_provider.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.l1_events_provider.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.l1_events_provider.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.l1_events_scraper.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "Enabled" - }, - "components.l1_gas_price_provider.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.l1_gas_price_provider.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.l1_gas_price_provider.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.l1_gas_price_provider.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.l1_gas_price_provider.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.l1_gas_price_provider.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.l1_gas_price_provider.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.l1_gas_price_provider.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.l1_gas_price_provider.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.l1_gas_price_provider.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.l1_gas_price_provider.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.l1_gas_price_provider.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.l1_gas_price_provider.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.l1_gas_price_provider.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.l1_gas_price_provider.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.l1_gas_price_provider.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.l1_gas_price_provider.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.l1_gas_price_provider.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.l1_gas_price_provider.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.l1_gas_price_provider.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.l1_gas_price_provider.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.l1_gas_price_provider.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.l1_gas_price_provider.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.l1_gas_price_provider.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.l1_gas_price_provider.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.l1_gas_price_provider.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.l1_gas_price_provider.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.l1_gas_price_provider.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.l1_gas_price_scraper.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "Enabled" - }, - "components.mempool.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.mempool.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.mempool.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.mempool.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.mempool.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.mempool.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.mempool.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.mempool.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.mempool.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.mempool.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.mempool.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.mempool.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.mempool.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.mempool.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.mempool.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.mempool.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.mempool.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.mempool.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.mempool.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.mempool.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.mempool.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.mempool.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.mempool.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.mempool.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.mempool.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.mempool.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.mempool.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.mempool.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.mempool_p2p.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.mempool_p2p.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.mempool_p2p.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.mempool_p2p.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.mempool_p2p.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.mempool_p2p.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.mempool_p2p.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.mempool_p2p.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.mempool_p2p.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.mempool_p2p.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.mempool_p2p.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.mempool_p2p.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.mempool_p2p.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.mempool_p2p.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.mempool_p2p.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.mempool_p2p.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.mempool_p2p.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.mempool_p2p.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.mempool_p2p.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.mempool_p2p.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.mempool_p2p.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.mempool_p2p.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.mempool_p2p.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.mempool_p2p.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.mempool_p2p.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.mempool_p2p.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.mempool_p2p.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.mempool_p2p.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.monitoring_endpoint.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "Enabled" - }, - "components.proof_manager.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.proof_manager.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.proof_manager.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.proof_manager.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.proof_manager.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.proof_manager.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.proof_manager.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.proof_manager.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.proof_manager.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.proof_manager.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.proof_manager.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.proof_manager.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.proof_manager.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.proof_manager.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.proof_manager.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.proof_manager.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.proof_manager.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.proof_manager.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.proof_manager.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.proof_manager.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.proof_manager.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.proof_manager.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.proof_manager.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.proof_manager.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.proof_manager.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.proof_manager.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.proof_manager.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.proof_manager.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.sierra_compiler.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.sierra_compiler.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.sierra_compiler.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.sierra_compiler.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.sierra_compiler.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.sierra_compiler.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.sierra_compiler.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.sierra_compiler.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.sierra_compiler.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.sierra_compiler.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.sierra_compiler.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.sierra_compiler.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.sierra_compiler.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.sierra_compiler.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.sierra_compiler.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.sierra_compiler.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.sierra_compiler.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.sierra_compiler.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.sierra_compiler.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.sierra_compiler.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.sierra_compiler.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.sierra_compiler.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.sierra_compiler.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.sierra_compiler.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.sierra_compiler.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.sierra_compiler.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.sierra_compiler.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.sierra_compiler.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.signature_manager.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.signature_manager.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.signature_manager.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.signature_manager.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.signature_manager.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.signature_manager.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.signature_manager.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.signature_manager.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.signature_manager.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.signature_manager.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.signature_manager.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.signature_manager.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.signature_manager.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.signature_manager.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.signature_manager.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.signature_manager.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.signature_manager.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.signature_manager.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.signature_manager.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.signature_manager.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.signature_manager.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.signature_manager.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.signature_manager.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.signature_manager.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.signature_manager.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.signature_manager.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.signature_manager.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.signature_manager.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "components.state_sync.execution_mode": { - "description": "The component execution mode.", - "privacy": "Public", - "value": "LocalExecutionWithRemoteDisabled" - }, - "components.state_sync.local_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "components.state_sync.local_server_config.high_priority_requests_channel_capacity": { - "description": "The high priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.state_sync.local_server_config.inbound_requests_channel_capacity": { - "description": "The inbound requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.state_sync.local_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.state_sync.local_server_config.normal_priority_requests_channel_capacity": { - "description": "The normal priority requests channel capacity.", - "privacy": "Public", - "value": 1024 - }, - "components.state_sync.local_server_config.processing_time_warning_threshold_ms": { - "description": "Request processing threshold time in ms after which a warning message is logged.", - "privacy": "Public", - "value": 3000 - }, - "components.state_sync.port": { - "description": "Listening port of the remote component server.", - "privacy": "Public", - "value": 0 - }, - "components.state_sync.remote_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.state_sync.remote_client_config.attempts_per_log": { - "description": "Number of attempts between failure log messages.", - "privacy": "Public", - "value": 1 - }, - "components.state_sync.remote_client_config.connection_timeout_ms": { - "description": "The maximal duration in milliseconds before a client forgoes remote connection creation attempt.", - "privacy": "Public", - "value": 500 - }, - "components.state_sync.remote_client_config.idle_connections": { - "description": "The maximum number of idle connections to keep alive.", - "privacy": "Public", - "value": 10 - }, - "components.state_sync.remote_client_config.initial_retry_delay_ms": { - "description": "Initial delay before first retry in milliseconds.", - "privacy": "Public", - "value": 1 - }, - "components.state_sync.remote_client_config.keepalive_timeout_ms": { - "description": "The duration in milliseconds to keep an idle connection open before closing.", - "privacy": "Public", - "value": 30000 - }, - "components.state_sync.remote_client_config.max_response_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming response body. Responses exceeding this limit are treated as a communication failure.", - "privacy": "Public", - "value": 8388608 - }, - "components.state_sync.remote_client_config.max_retry_interval_ms": { - "description": "The maximal duration in milliseconds to wait between remote connection retries.", - "privacy": "Public", - "value": 1000 - }, - "components.state_sync.remote_client_config.request_timeout_ms": { - "description": "The maximal duration in milliseconds for the full request-response cycle; connection establishment is separate.", - "privacy": "Public", - "value": 30000 - }, - "components.state_sync.remote_client_config.retries": { - "description": "The max number of retries for sending a message.", - "privacy": "Public", - "value": 15 - }, - "components.state_sync.remote_client_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the client requests.", - "privacy": "Public", - "value": true - }, - "components.state_sync.remote_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "components.state_sync.remote_server_config.bind_ip": { - "description": "Binding address of the remote component server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "components.state_sync.remote_server_config.keepalive_interval_ms": { - "description": "Interval in milliseconds between HTTP/2 keepalive pings sent to the client.", - "privacy": "Public", - "value": 30000 - }, - "components.state_sync.remote_server_config.keepalive_timeout_ms": { - "description": "Timeout in milliseconds to wait for a keepalive ping response before closing the connection.", - "privacy": "Public", - "value": 10000 - }, - "components.state_sync.remote_server_config.max_concurrency": { - "description": "The maximum number of concurrent requests handling.", - "privacy": "Public", - "value": 128 - }, - "components.state_sync.remote_server_config.max_request_body_bytes": { - "description": "Maximum allowed size in bytes for an incoming request body. Requests exceeding this limit are rejected with 413 Payload Too Large.", - "privacy": "Public", - "value": 8388608 - }, - "components.state_sync.remote_server_config.max_streams_per_connection": { - "description": "Maximal number of streams per HTTP connection.", - "privacy": "Public", - "value": 8 - }, - "components.state_sync.remote_server_config.set_tcp_nodelay": { - "description": "Whether to set TCP_NODELAY on the server responses.", - "privacy": "Public", - "value": true - }, - "components.state_sync.url": { - "description": "URL of the remote component server.", - "privacy": "Public", - "value": "localhost" - }, - "config_manager_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "config_manager_config.config_update_interval_secs": { - "description": "Update interval in seconds for config updates", - "privacy": "Public", - "value": 60.0 - }, - "config_manager_config.enable_config_updates": { - "description": "Enables the resampling of the config every `config_update_interval_secs` seconds", - "privacy": "Public", - "value": false - }, - "consensus_manager_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "consensus_manager_config.assume_no_malicious_validators": { - "description": "Assumes all validators are honest. If true, uses 1/2 votes to get quorum. Use with caution!", - "privacy": "Public", - "value": false - }, - "consensus_manager_config.broadcast_buffer_size": { - "description": "The buffer size for the broadcast channel.", - "privacy": "Public", - "value": 10000 - }, - "consensus_manager_config.cende_config.max_retry_duration_secs": { - "description": "The maximum duration (seconds) to retry the request to the recorder", - "privacy": "Public", - "value": 3 - }, - "consensus_manager_config.cende_config.max_retry_interval_ms": { - "description": "The maximum waiting time (milliseconds) between retries", - "privacy": "Public", - "value": 1000 - }, - "consensus_manager_config.cende_config.min_retry_interval_ms": { - "description": "The minimum waiting time (milliseconds) between retries", - "privacy": "Public", - "value": 50 - }, - "consensus_manager_config.cende_config.recorder_url": { - "description": "The URL of the Pythonic cende_recorder", - "pointer_target": "recorder_url", - "privacy": "Public" - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.far_behind_proposal_threshold": { - "description": "If the network tip exceeds the node's current height by more than this many blocks, the node keeps syncing instead of proposing. Must be in the range [5, 1000].", - "privacy": "Public", - "value": 30 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.future_msg_limit.future_height_limit": { - "description": "How many heights in the future should we cache.", - "privacy": "Public", - "value": 10 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.future_msg_limit.future_height_round_limit": { - "description": "How many rounds should we cache for future heights.", - "privacy": "Public", - "value": 1 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.future_msg_limit.future_round_limit": { - "description": "How many rounds in the future (for current height) should we cache.", - "privacy": "Public", - "value": 10 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.require_virtual_proposer_vote": { - "description": "When true, require the virtual proposer to have voted in favor before reaching a decision.", - "privacy": "Public", - "value": false - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.stop_at_height": { - "description": "If set, the node will stop participating in consensus after this height.", - "privacy": "Public", - "value": 0 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.stop_at_height.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.sync_retry_interval": { - "description": "The duration (seconds) between sync attempts.", - "privacy": "Public", - "value": 1.0 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.precommit.base": { - "description": "The base timeout (seconds).", - "privacy": "Public", - "value": 1.0 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.precommit.delta": { - "description": "The per-round timeout delta (seconds).", - "privacy": "Public", - "value": 0.5 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.precommit.max": { - "description": "The maximum timeout (seconds).", - "privacy": "Public", - "value": 5.0 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.prevote.base": { - "description": "The base timeout (seconds).", - "privacy": "Public", - "value": 0.3 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.prevote.delta": { - "description": "The per-round timeout delta (seconds).", - "privacy": "Public", - "value": 0.1 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.prevote.max": { - "description": "The maximum timeout (seconds).", - "privacy": "Public", - "value": 1.0 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.proposal.base": { - "description": "The base timeout (seconds).", - "privacy": "Public", - "value": 9.1 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.proposal.delta": { - "description": "The per-round timeout delta (seconds).", - "privacy": "Public", - "value": 0.0 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.timeouts.proposal.max": { - "description": "The maximum timeout (seconds).", - "privacy": "Public", - "value": 15.0 - }, - "consensus_manager_config.consensus_manager_config.dynamic_config.validator_id": { - "description": "The validator id of the node.", - "pointer_target": "validator_id", - "privacy": "Public" - }, - "consensus_manager_config.consensus_manager_config.static_config.skip_last_voted_height_check": { - "description": "If true, skips check that we didn't vote on this height.", - "privacy": "Public", - "value": false - }, - "consensus_manager_config.consensus_manager_config.static_config.startup_delay": { - "description": "Delay (seconds) before starting consensus to give time for network peering.", - "privacy": "Public", - "value": 5 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.batch_config.batch_size": { - "description": "Number of logical commits before actual MDBX commit.", - "privacy": "Public", - "value": 100 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.batch_config.enabled": { - "description": "Whether transaction batching is enabled.", - "privacy": "Public", - "value": false - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.db_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.db_config.enforce_file_exists": { - "description": "Whether to enforce that the path exists. If true, `open_env` fails when the mdbx.dat file does not exist.", - "privacy": "Public", - "value": false - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.db_config.growth_step": { - "description": "The growth step in bytes, must be greater than zero to allow the database to grow.", - "privacy": "Public", - "value": 4294967296 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.db_config.max_readers": { - "description": "The maximum number of readers used by the database.", - "privacy": "Public", - "value": 8192 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.db_config.max_size": { - "description": "The maximum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1099511627776 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.db_config.min_size": { - "description": "The minimum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1048576 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.db_config.path_prefix": { - "description": "Prefix of the path of the node's storage directory, the storage file path will be /. The path is not created automatically.", - "privacy": "Public", - "value": "/data/consensus" - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.mmap_file_config.growth_step": { - "description": "The growth step in bytes, must be greater than max_object_size.", - "privacy": "Public", - "value": 1073741824 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.mmap_file_config.max_object_size": { - "description": "The maximum size of a single object in the file in bytes", - "privacy": "Public", - "value": 268435456 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.mmap_file_config.max_size": { - "description": "The maximum size of a memory mapped file in bytes. Must be greater than growth_step.", - "privacy": "Public", - "value": 1099511627776 - }, - "consensus_manager_config.consensus_manager_config.static_config.storage_config.scope": { - "description": "The categories of data saved in storage.", - "privacy": "Public", - "value": "StateOnly" - }, - "consensus_manager_config.context_config.dynamic_config.build_proposal_margin_millis": { - "description": "Safety margin (in ms) to make sure that the batcher completes building the proposal with enough time for the Fin to be checked by validators.", - "privacy": "Public", - "value": 1000 - }, - "consensus_manager_config.context_config.dynamic_config.compare_retrospective_block_hash": { - "description": "Whether to compare the retrospective block hash between the Batcher and the State Sync.", - "privacy": "Public", - "value": true - }, - "consensus_manager_config.context_config.dynamic_config.l1_data_gas_price_multiplier_ppt": { - "description": "Part per thousand of multiplicative factor to apply to the data gas price, to enable fine-tuning of the price charged to end users.", - "privacy": "Public", - "value": 135 - }, - "consensus_manager_config.context_config.dynamic_config.l1_gas_tip_wei": { - "description": "This additional gas is added to the L1 gas price.", - "privacy": "Public", - "value": 1000000000 - }, - "consensus_manager_config.context_config.dynamic_config.max_l1_data_gas_price_wei": { - "description": "The maximum L1 data gas price in wei.", - "privacy": "Public", - "value": 1000000000000000000 - }, - "consensus_manager_config.context_config.dynamic_config.max_l1_gas_price_wei": { - "description": "The maximum L1 gas price in wei.", - "privacy": "Public", - "value": 200000000000 - }, - "consensus_manager_config.context_config.dynamic_config.min_l1_data_gas_price_wei": { - "description": "The minimum L1 data gas price in wei.", - "privacy": "Public", - "value": 1 - }, - "consensus_manager_config.context_config.dynamic_config.min_l1_gas_price_wei": { - "description": "The minimum L1 gas price in wei.", - "privacy": "Public", - "value": 1000000000 - }, - "consensus_manager_config.context_config.dynamic_config.min_l2_gas_price_per_height": { - "description": "List of minimum L2 gas prices per block height in format 'height1:price1,height2:price2'. Each entry specifies a height and the minimum gas price that applies from that height onwards.", - "privacy": "Public", - "value": "" - }, - "consensus_manager_config.context_config.dynamic_config.override_eth_to_fri_rate": { - "description": "Replace the Eth-to-Fri conversion rate with this value.", - "privacy": "Public", - "value": 0 - }, - "consensus_manager_config.context_config.dynamic_config.override_eth_to_fri_rate.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.context_config.dynamic_config.override_l1_data_gas_price_fri": { - "description": "Replace the L1 data gas price (fri) with this value.", - "privacy": "Public", - "value": 0 - }, - "consensus_manager_config.context_config.dynamic_config.override_l1_data_gas_price_fri.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.context_config.dynamic_config.override_l1_gas_price_fri": { - "description": "Replace the L1 gas price (fri) with this value.", - "privacy": "Public", - "value": 0 - }, - "consensus_manager_config.context_config.dynamic_config.override_l1_gas_price_fri.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.context_config.dynamic_config.override_l2_gas_price_fri": { - "description": "Replace the L2 gas price (fri) with this value.", - "privacy": "Public", - "value": 0 - }, - "consensus_manager_config.context_config.dynamic_config.override_l2_gas_price_fri.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.context_config.dynamic_config.snip35_target_atto_usd_per_l2_gas": { - "description": "SNIP-35 target USD cost per L2 gas unit, in atto-USD ($0.88 per 1e9 L2 gas = 880_000_000 atto-USD).", - "privacy": "Public", - "value": 880000000 - }, - "consensus_manager_config.context_config.static_config.behavior_mode": { - "description": "Behavior mode: 'starknet' for production, 'echonet' for test/replay mode.", - "pointer_target": "behavior_mode", - "privacy": "Public" - }, - "consensus_manager_config.context_config.static_config.block_timestamp_window_seconds": { - "description": "Maximum allowed deviation (seconds) of a proposed block's timestamp from the current time.", - "privacy": "Public", - "value": 1 - }, - "consensus_manager_config.context_config.static_config.build_proposal_time_ratio_for_retrospective_block_hash": { - "description": "The fraction (0.0 - 1.0) of the total build time allocated to waiting for the retrospective block hash to be available. The remaining time is used to build the proposal.", - "privacy": "Public", - "value": 0.7 - }, - "consensus_manager_config.context_config.static_config.builder_address": { - "description": "The address of the contract that builds the block.", - "privacy": "Public", - "value": "0x0" - }, - "consensus_manager_config.context_config.static_config.chain_id": { - "description": "The chain id of the Starknet chain.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "consensus_manager_config.context_config.static_config.l1_da_mode": { - "description": "The data availability mode, true: Blob, false: Calldata.", - "privacy": "Public", - "value": true - }, - "consensus_manager_config.context_config.static_config.proposal_buffer_size": { - "description": "The buffer size for streaming outbound proposals.", - "privacy": "Public", - "value": 100 - }, - "consensus_manager_config.context_config.static_config.retrospective_block_hash_retry_interval_millis": { - "description": "The interval between retrospective block hash retries.", - "privacy": "Public", - "value": 500 - }, - "consensus_manager_config.context_config.static_config.validate_proposal_margin_millis": { - "description": "Safety margin (in ms) to make sure that consensus determines when to timeout validating a proposal.", - "privacy": "Public", - "value": 10000 - }, - "consensus_manager_config.network_config.advertised_multiaddr": { - "description": "The external address other peers see this node. If this is set, the node will not try to find out which addresses it has and will write this address as external instead", - "privacy": "Public", - "value": "" - }, - "consensus_manager_config.network_config.advertised_multiaddr.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.network_config.bootstrap_peer_multiaddr": { - "description": "The multiaddress of the peer node. It should include the peer's id. For more info: https://docs.libp2p.io/concepts/fundamentals/peers/", - "privacy": "Public", - "value": "" - }, - "consensus_manager_config.network_config.bootstrap_peer_multiaddr.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.network_config.broadcasted_message_metadata_buffer_size": { - "description": "The size of the buffer that holds the metadata of the broadcasted messages.", - "privacy": "Public", - "value": 100000 - }, - "consensus_manager_config.network_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "consensus_manager_config.network_config.discovery_config.bootstrap_dial_retry_config.base_delay_millis": { - "description": "The base delay in milliseconds for the exponential backoff strategy.", - "privacy": "Public", - "value": 2 - }, - "consensus_manager_config.network_config.discovery_config.bootstrap_dial_retry_config.factor": { - "description": "The factor for the exponential backoff strategy.", - "privacy": "Public", - "value": 5 - }, - "consensus_manager_config.network_config.discovery_config.bootstrap_dial_retry_config.max_delay_seconds": { - "description": "The maximum delay in seconds for the exponential backoff strategy.", - "privacy": "Public", - "value": 5 - }, - "consensus_manager_config.network_config.discovery_config.bootstrap_dial_retry_config.new_connection_stabilization_millis": { - "description": "Milliseconds to wait on a new connection before treating it as stable.", - "privacy": "Public", - "value": 2000 - }, - "consensus_manager_config.network_config.discovery_config.heartbeat_interval": { - "description": "The interval between each discovery (Kademlia) query in milliseconds.", - "privacy": "Public", - "value": 100 - }, - "consensus_manager_config.network_config.idle_connection_timeout": { - "description": "Amount of time in seconds that a connection with no active sessions will stay alive.", - "privacy": "Public", - "value": 120 - }, - "consensus_manager_config.network_config.peer_manager_config.malicious_timeout_seconds": { - "description": "The duration in seconds a peer is blacklisted after being marked as malicious.", - "privacy": "Public", - "value": 1 - }, - "consensus_manager_config.network_config.peer_manager_config.unstable_timeout_millis": { - "description": "The duration in milliseconds a peer blacklisted after being reported as unstable.", - "privacy": "Public", - "value": 1000 - }, - "consensus_manager_config.network_config.port": { - "description": "The port that the node listens on for incoming connections.", - "privacy": "Public", - "value": 10000 - }, - "consensus_manager_config.network_config.prune_dead_connections_ping_interval": { - "description": "The interval in seconds between each prune dead connections ping check.", - "privacy": "Public", - "value": 15 - }, - "consensus_manager_config.network_config.prune_dead_connections_ping_timeout": { - "description": "The timeout in seconds for a ping to be considered failed.", - "privacy": "Public", - "value": 20 - }, - "consensus_manager_config.network_config.reported_peer_ids_buffer_size": { - "description": "The size of the buffer that holds the reported peer ids.", - "privacy": "Public", - "value": 100000 - }, - "consensus_manager_config.network_config.secret_key": { - "description": "The secret key used for building the peer id. If it's an empty string a random one will be used.", - "privacy": "Private", - "value": "" - }, - "consensus_manager_config.network_config.session_timeout": { - "description": "Maximal time in seconds that each session can take before failing on timeout.", - "privacy": "Public", - "value": 120 - }, - "consensus_manager_config.proposals_topic": { - "description": "The topic for consensus proposals.", - "privacy": "Public", - "value": "consensus_proposals" - }, - "consensus_manager_config.revert_config.revert_up_to_and_including": { - "description": "The component will revert blocks up to this block number (including).", - "pointer_target": "revert_config.revert_up_to_and_including", - "privacy": "Public" - }, - "consensus_manager_config.revert_config.should_revert": { - "description": "If set true, the component would revert blocks and do nothing else.", - "pointer_target": "revert_config.should_revert", - "privacy": "Public" - }, - "consensus_manager_config.staking_manager_config.dynamic_config.default_committee": { - "description": "Defines the default committee configuration (size and stakers) for all epochs.", - "privacy": "Public", - "value": "0,100:" - }, - "consensus_manager_config.staking_manager_config.dynamic_config.override_committee": { - "description": "Optional override configuration that takes precedence over default_committee.", - "privacy": "Public", - "value": "0,100:" - }, - "consensus_manager_config.staking_manager_config.dynamic_config.override_committee.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "consensus_manager_config.staking_manager_config.static_config.max_cached_epochs": { - "description": "The maximum number of epochs to cache.", - "privacy": "Public", - "value": 10 - }, - "consensus_manager_config.staking_manager_config.static_config.use_only_actual_proposer_selection": { - "description": "If true, get_proposer will use the same deterministic round-robin selection as get_actual_proposer.", - "privacy": "Public", - "value": false - }, - "consensus_manager_config.stream_handler_config.channel_buffer_capacity": { - "description": "The capacity of the channel buffer for stream messages.", - "privacy": "Public", - "value": 1000 - }, - "consensus_manager_config.stream_handler_config.max_message_buffer_size": { - "description": "The maximum number of messages for each stream that can be buffered.", - "privacy": "Public", - "value": 1000 - }, - "consensus_manager_config.stream_handler_config.max_peers": { - "description": "The maximum number of peers that can send inbound messages.", - "privacy": "Public", - "value": 100 - }, - "consensus_manager_config.stream_handler_config.max_streams": { - "description": "The maximum number of streams that can be open at the same time, per peer.", - "privacy": "Public", - "value": 100 - }, - "consensus_manager_config.votes_topic": { - "description": "The topic for consensus votes.", - "privacy": "Public", - "value": "consensus_votes" - }, - "eth_fee_token_address": { - "description": "Address of the ETH fee token.", - "privacy": "TemporaryValue", - "value": "PointerTarget" - }, - "gateway_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "gateway_config.dynamic_config.native_classes_whitelist": { - "description": "Specifies whether to execute all class hashes or only specific ones using Cairo native. If limited, a specific list of class hashes is provided.", - "pointer_target": "native_classes_whitelist", - "privacy": "Public" - }, - "gateway_config.static_config.authorized_declarer_accounts": { - "description": "Authorized declarer accounts. If set, only these accounts can declare new contracts. Addresses are in hex format and separated by a comma with no space.", - "privacy": "Public", - "value": "" - }, - "gateway_config.static_config.authorized_declarer_accounts.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "gateway_config.static_config.block_declare": { - "description": "If true, the gateway will block declare transactions.", - "privacy": "Public", - "value": false - }, - "gateway_config.static_config.chain_info.chain_id": { - "description": "The chain ID of the StarkNet chain.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "gateway_config.static_config.chain_info.fee_token_addresses.eth_fee_token_address": { - "description": "Address of the ETH fee token.", - "pointer_target": "eth_fee_token_address", - "privacy": "Public" - }, - "gateway_config.static_config.chain_info.fee_token_addresses.strk_fee_token_address": { - "description": "Address of the STRK fee token.", - "pointer_target": "strk_fee_token_address", - "privacy": "Public" - }, - "gateway_config.static_config.contract_class_manager_config.cairo_native_run_config.cairo_native_mode": { - "description": "Cairo native execution mode. 'off' disables native execution, 'wait_on_compilation' compiles synchronously, and 'lazy_compilation' compiles asynchronously.", - "privacy": "Public", - "value": "off" - }, - "gateway_config.static_config.contract_class_manager_config.cairo_native_run_config.channel_size": { - "description": "The size of the compilation request channel.", - "privacy": "Public", - "value": 2000 - }, - "gateway_config.static_config.contract_class_manager_config.cairo_native_run_config.panic_on_compilation_failure": { - "description": "Whether to panic on compilation failure.", - "privacy": "Public", - "value": false - }, - "gateway_config.static_config.contract_class_manager_config.contract_cache_size": { - "description": "The size of the global contract cache.", - "privacy": "Public", - "value": 300 - }, - "gateway_config.static_config.contract_class_manager_config.native_compiler_config.compiler_binary_path": { - "description": "The path to the Sierra-to-Native compiler binary.", - "privacy": "Public", - "value": "" - }, - "gateway_config.static_config.contract_class_manager_config.native_compiler_config.compiler_binary_path.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "gateway_config.static_config.contract_class_manager_config.native_compiler_config.max_cpu_time": { - "description": "Limitation of compilation cpu time (seconds).", - "pointer_target": "max_cpu_time", - "privacy": "Public" - }, - "gateway_config.static_config.contract_class_manager_config.native_compiler_config.max_file_size": { - "description": "Limitation of compiled Cairo Native file size (bytes).", - "privacy": "Public", - "value": 52428800 - }, - "gateway_config.static_config.contract_class_manager_config.native_compiler_config.max_file_size.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "gateway_config.static_config.contract_class_manager_config.native_compiler_config.max_memory_usage": { - "description": "Limitation of compilation process's virtual memory (bytes).", - "privacy": "Public", - "value": 16106127360 - }, - "gateway_config.static_config.contract_class_manager_config.native_compiler_config.optimization_level": { - "description": "The level of optimization to apply during compilation.", - "privacy": "Public", - "value": 2 - }, - "gateway_config.static_config.max_concurrent_declare_compilations": { - "description": "Maximum number of Sierra-to-CASM compilations (triggered by declare transactions) allowed to run concurrently. Declares arriving while this limit is reached are rejected immediately.", - "privacy": "Public", - "value": 40 - }, - "gateway_config.static_config.proof_archive_writer_config.bucket_name": { - "description": "The name of the bucket to write proofs to. An empty string indicates a test environment that does not connect to GCS.", - "privacy": "Public", - "value": "proof-archive" - }, - "gateway_config.static_config.stateful_tx_validator_config.max_allowed_nonce_gap": { - "description": "The maximum allowed gap between the account nonce and the transaction nonce.", - "privacy": "Public", - "value": 200 - }, - "gateway_config.static_config.stateful_tx_validator_config.max_nonce_for_validation_skip": { - "description": "Maximum nonce for which the validation is skipped.", - "privacy": "Public", - "value": "0x1" - }, - "gateway_config.static_config.stateful_tx_validator_config.min_gas_price_percentage": { - "description": "Minimum gas price as percentage of threshold to accept transactions.", - "privacy": "Public", - "value": 100 - }, - "gateway_config.static_config.stateful_tx_validator_config.reject_future_declare_txs": { - "description": "If true, rejects declare transactions with future nonces.", - "privacy": "Public", - "value": true - }, - "gateway_config.static_config.stateful_tx_validator_config.validate_resource_bounds": { - "description": "If true, ensures the max L2 gas price exceeds (a configurable percentage of) the base gas price of the previous block.", - "pointer_target": "validate_resource_bounds", - "privacy": "Public" - }, - "gateway_config.static_config.stateful_tx_validator_config.versioned_constants_overrides.#is_none": { - "description": "Flag for an optional field.", - "pointer_target": "versioned_constants_overrides.#is_none", - "privacy": "TemporaryValue" - }, - "gateway_config.static_config.stateful_tx_validator_config.versioned_constants_overrides.invoke_tx_max_n_steps": { - "description": "Maximum number of steps the invoke function is allowed to run.", - "pointer_target": "versioned_constants_overrides.invoke_tx_max_n_steps", - "privacy": "Public" - }, - "gateway_config.static_config.stateful_tx_validator_config.versioned_constants_overrides.max_n_events": { - "description": "Maximum number of events that can be emitted from the transaction.", - "pointer_target": "versioned_constants_overrides.max_n_events", - "privacy": "Public" - }, - "gateway_config.static_config.stateful_tx_validator_config.versioned_constants_overrides.max_recursion_depth": { - "description": "Maximum recursion depth for nested calls during blockifier validation.", - "pointer_target": "versioned_constants_overrides.max_recursion_depth", - "privacy": "Public" - }, - "gateway_config.static_config.stateful_tx_validator_config.versioned_constants_overrides.validate_max_n_steps": { - "description": "Maximum number of steps the validation function is allowed to run.", - "pointer_target": "versioned_constants_overrides.validate_max_n_steps", - "privacy": "Public" - }, - "gateway_config.static_config.stateless_tx_validator_config.allow_client_side_proving": { - "description": "If true, allows transactions with non-empty proof_facts or proof fields.", - "privacy": "Public", - "value": true - }, - "gateway_config.static_config.stateless_tx_validator_config.max_calldata_length": { - "description": "Limitation of calldata length.", - "privacy": "Public", - "value": 5000 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_contract_bytecode_size": { - "description": "Limitation of contract class bytecode size.", - "privacy": "Public", - "value": 81920 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_contract_class_object_size": { - "description": "Limitation of contract class object size.", - "privacy": "Public", - "value": 4089446 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_l2_gas_amount": { - "description": "Maximum allowed L2 gas amount for transactions.", - "privacy": "Public", - "value": 1210000000 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_proof_size": { - "description": "Limitation of proof size.", - "privacy": "Public", - "value": 480000 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_sierra_version.major": { - "description": "The major version of the configuration.", - "privacy": "Public", - "value": 1 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_sierra_version.minor": { - "description": "The minor version of the configuration.", - "privacy": "Public", - "value": 9 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_sierra_version.patch": { - "description": "The patch version of the configuration.", - "privacy": "Public", - "value": 18446744073709551615 - }, - "gateway_config.static_config.stateless_tx_validator_config.max_signature_length": { - "description": "Limitation of signature length.", - "privacy": "Public", - "value": 4000 - }, - "gateway_config.static_config.stateless_tx_validator_config.min_gas_price": { - "description": "Minimum gas price for transactions.", - "privacy": "Public", - "value": 8000000000 - }, - "gateway_config.static_config.stateless_tx_validator_config.min_sierra_version.major": { - "description": "The major version of the configuration.", - "privacy": "Public", - "value": 1 - }, - "gateway_config.static_config.stateless_tx_validator_config.min_sierra_version.minor": { - "description": "The minor version of the configuration.", - "privacy": "Public", - "value": 1 - }, - "gateway_config.static_config.stateless_tx_validator_config.min_sierra_version.patch": { - "description": "The patch version of the configuration.", - "privacy": "Public", - "value": 0 - }, - "gateway_config.static_config.stateless_tx_validator_config.validate_resource_bounds": { - "description": "If true, ensures that at least one resource bound (L1, L2, or L1 data) is greater than zero.", - "pointer_target": "validate_resource_bounds", - "privacy": "Public" - }, - "http_server_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "http_server_config.dynamic_config.accept_new_txs": { - "description": "Enables accepting new txs.", - "privacy": "Public", - "value": true - }, - "http_server_config.dynamic_config.max_sierra_program_size": { - "description": "The maximum size of a sierra program in bytes.", - "privacy": "Public", - "value": 4194304 - }, - "http_server_config.static_config.dynamic_config_poll_interval": { - "description": "Polling interval (in milliseconds) for dynamic config.", - "privacy": "Public", - "value": 1000 - }, - "http_server_config.static_config.ip": { - "description": "The http server ip.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "http_server_config.static_config.max_request_body_size": { - "description": "Max request body size in bytes.", - "privacy": "Public", - "value": 5242880 - }, - "http_server_config.static_config.port": { - "description": "The http server port.", - "privacy": "Public", - "value": 8080 - }, - "l1_events_provider_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "l1_events_provider_config.dummy_mode": { - "description": "When true, the L1 provider operates in dummy mode, always responding with trivial truthy responses without connecting to actual L1.", - "privacy": "Public", - "value": false - }, - "l1_events_provider_config.l1_handler_cancellation_timelock_seconds": { - "description": "How long to allow a transaction requested for cancellation to be validated against (proposals are banned upon receiving a cancellation request).", - "privacy": "Public", - "value": 300 - }, - "l1_events_provider_config.l1_handler_consumption_timelock_seconds": { - "description": "How long to wait after a transaction is consumed on L1 before it can be cleared from the transaction manager.", - "privacy": "Public", - "value": 300.0 - }, - "l1_events_provider_config.l1_handler_proposal_cooldown_seconds": { - "description": "How long to wait before allowing new L1 handler transactions to be proposed (validation is available immediately), from the moment they are scraped.", - "privacy": "Public", - "value": 70 - }, - "l1_events_provider_config.max_commit_block_backlog_len": { - "description": "Maximum number of commit-blocks buffered in the catch-up backlog during startup sync before commit_block fails; guards against unbounded memory growth on a stalled or lagging L2 sync.", - "privacy": "Public", - "value": 1000000 - }, - "l1_events_provider_config.startup_sync_sleep_retry_interval_seconds": { - "description": "Interval in seconds between each retry of syncing with L2 during startup.", - "privacy": "Public", - "value": 2 - }, - "l1_events_scraper_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "l1_events_scraper_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "l1_events_scraper_config.finality": { - "description": "Number of blocks to wait for finality", - "privacy": "Public", - "value": 0 - }, - "l1_events_scraper_config.l1_block_time_seconds": { - "description": "The time it takes for a new L1 block to be created.", - "privacy": "Public", - "value": 12 - }, - "l1_events_scraper_config.max_blocks_per_fetch": { - "description": "Maximum number of L1 blocks fetched per events (eth_getLogs) request. Caps the catch-up window so a large backlog is drained over successive polls instead of in one unbounded request.", - "privacy": "Public", - "value": 1000 - }, - "l1_events_scraper_config.polling_interval_seconds": { - "description": "Interval in Seconds between each scraping attempt of L1.", - "privacy": "Public", - "value": 30 - }, - "l1_events_scraper_config.set_provider_historic_height_to_l2_genesis": { - "description": "When true, the scraper will send the provider an historic height set to the L2 genesis (height zero). This is useful on new chains (or in tests) where there have not been any state updates to the Starknet contract.", - "privacy": "Public", - "value": false - }, - "l1_events_scraper_config.startup_rewind_time_seconds": { - "description": "Duration in seconds to rewind from latest L1 block when starting scraping.", - "privacy": "Public", - "value": 3600 - }, - "l1_gas_price_provider_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "l1_gas_price_provider_config.eth_to_strk_oracle_config.lag_interval_seconds": { - "description": "The size of the interval (seconds) that the exchange rate is taken on. The lag refers to the fact that the interval `[T, T+k)` contains the conversion rate for queries in the interval `[T+k, T+2k)`. Should be configured in alignment with relevant query parameters in `url_header_list`, if required.", - "privacy": "Public", - "value": 1 - }, - "l1_gas_price_provider_config.eth_to_strk_oracle_config.max_cache_size": { - "description": "The maximum number of cached conversion rates.", - "privacy": "Public", - "value": 100 - }, - "l1_gas_price_provider_config.eth_to_strk_oracle_config.query_timeout_sec": { - "description": "The timeout (seconds) for the query to the exchange rate oracle.", - "privacy": "Public", - "value": 10 - }, - "l1_gas_price_provider_config.eth_to_strk_oracle_config.url_header_list": { - "description": "A list of Url+HTTP headers for the exchange rate oracle. The url is followed by a comma and then headers as key^value pairs, separated by commas. For example: `https://api.example.com/api,key1^value1,key2^value2`. Each URL+headers is separated by a pipe `|` character. The `timestamp` parameter is appended dynamically when making requests, in order to have a stable mapping from block timestamp to conversion rate. ", - "privacy": "Private", - "value": "https://api.example.com/api" - }, - "l1_gas_price_provider_config.lag_margin_seconds": { - "description": "Difference between the time of the block from L1 used to calculate the gas price and the time of the L2 block this price is used in", - "privacy": "Public", - "value": 60 - }, - "l1_gas_price_provider_config.max_time_gap_seconds": { - "description": "Maximum valid time gap between the requested timestamp and the last price sample in seconds", - "privacy": "Public", - "value": 900 - }, - "l1_gas_price_provider_config.number_of_blocks_for_mean": { - "description": "Number of blocks to use for the mean gas price calculation", - "privacy": "Public", - "value": 300 - }, - "l1_gas_price_provider_config.storage_limit": { - "description": "Maximum number of L1 blocks to keep cached", - "privacy": "Public", - "value": 3000 - }, - "l1_gas_price_provider_config.strk_to_usd_oracle_config.lag_interval_seconds": { - "description": "The size of the interval (seconds) that the exchange rate is taken on. The lag refers to the fact that the interval `[T, T+k)` contains the conversion rate for queries in the interval `[T+k, T+2k)`. Should be configured in alignment with relevant query parameters in `url_header_list`, if required.", - "privacy": "Public", - "value": 1 - }, - "l1_gas_price_provider_config.strk_to_usd_oracle_config.max_cache_size": { - "description": "The maximum number of cached conversion rates.", - "privacy": "Public", - "value": 100 - }, - "l1_gas_price_provider_config.strk_to_usd_oracle_config.query_timeout_sec": { - "description": "The timeout (seconds) for the query to the exchange rate oracle.", - "privacy": "Public", - "value": 10 - }, - "l1_gas_price_provider_config.strk_to_usd_oracle_config.url_header_list": { - "description": "A list of Url+HTTP headers for the exchange rate oracle. The url is followed by a comma and then headers as key^value pairs, separated by commas. For example: `https://api.example.com/api,key1^value1,key2^value2`. Each URL+headers is separated by a pipe `|` character. The `timestamp` parameter is appended dynamically when making requests, in order to have a stable mapping from block timestamp to conversion rate. ", - "privacy": "Private", - "value": "https://api.example.com/api" - }, - "l1_gas_price_scraper_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "l1_gas_price_scraper_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "l1_gas_price_scraper_config.finality": { - "description": "Number of blocks to wait for finality in L1", - "privacy": "Public", - "value": 0 - }, - "l1_gas_price_scraper_config.number_of_blocks_for_mean": { - "description": "Number of blocks to use for the mean gas price calculation", - "privacy": "Public", - "value": 300 - }, - "l1_gas_price_scraper_config.polling_interval": { - "description": "The duration (seconds) between each scraping attempt of L1", - "privacy": "Public", - "value": 1 - }, - "l1_gas_price_scraper_config.starting_block": { - "description": "Starting block to scrape from", - "privacy": "Public", - "value": 0 - }, - "l1_gas_price_scraper_config.starting_block.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "l1_gas_price_scraper_config.startup_num_blocks_multiplier": { - "description": "How many sets of config.num_blocks_for_mean blocks to go back on the chain when starting to scrape.", - "privacy": "Public", - "value": 2 - }, - "max_cpu_time": { - "description": "Limitation of compilation cpu time (seconds).", - "privacy": "TemporaryValue", - "value": 600 - }, - "mempool_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "mempool_config.dynamic_config.transaction_ttl": { - "description": "Time-to-live for transactions in the mempool, in seconds.", - "privacy": "Public", - "value": 60 - }, - "mempool_config.static_config.behavior_mode": { - "description": "Behavior mode: 'starknet' for production, 'echonet' for test/replay mode.", - "pointer_target": "behavior_mode", - "privacy": "Public" - }, - "mempool_config.static_config.capacity_in_bytes": { - "description": "Maximum size of the mempool, in bytes.", - "privacy": "Public", - "value": 1073741824 - }, - "mempool_config.static_config.committed_nonce_retention_block_count": { - "description": "Number of latest committed blocks for which committed account nonces are retained.", - "privacy": "Public", - "value": 100 - }, - "mempool_config.static_config.declare_delay": { - "description": "Time to wait before allowing a Declare transaction to be returned, in seconds.", - "privacy": "Public", - "value": 1 - }, - "mempool_config.static_config.enable_fee_escalation": { - "description": "If true, transactions can be replaced with higher fee transactions.", - "privacy": "Public", - "value": true - }, - "mempool_config.static_config.fee_escalation_percentage": { - "description": "Percentage increase for tip and max gas price to enable transaction replacement.", - "privacy": "Public", - "value": 10 - }, - "mempool_config.static_config.recorder_url": { - "description": "The URL of the recorder service (used for FIFO queue timestamp fetching).", - "pointer_target": "recorder_url", - "privacy": "Public" - }, - "mempool_config.static_config.validate_resource_bounds": { - "description": "If true, only transactions with max L2 gas price per unit bound that are above the threshold are inserted into the priority queue. If false, all transactions are inserted into the priority queue.", - "pointer_target": "validate_resource_bounds", - "privacy": "Public" - }, - "mempool_p2p_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "mempool_p2p_config.max_concurrent_gateway_requests": { - "description": "Maximum number of concurrent gateway requests before rejecting new transactions.", - "privacy": "Public", - "value": 10000 - }, - "mempool_p2p_config.max_transaction_batch_size": { - "description": "Maximum number of transactions in each batch.", - "privacy": "Public", - "value": 1 - }, - "mempool_p2p_config.network_buffer_size": { - "description": "Network buffer size.", - "privacy": "Public", - "value": 10000 - }, - "mempool_p2p_config.network_config.advertised_multiaddr": { - "description": "The external address other peers see this node. If this is set, the node will not try to find out which addresses it has and will write this address as external instead", - "privacy": "Public", - "value": "" - }, - "mempool_p2p_config.network_config.advertised_multiaddr.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "mempool_p2p_config.network_config.bootstrap_peer_multiaddr": { - "description": "The multiaddress of the peer node. It should include the peer's id. For more info: https://docs.libp2p.io/concepts/fundamentals/peers/", - "privacy": "Public", - "value": "" - }, - "mempool_p2p_config.network_config.bootstrap_peer_multiaddr.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "mempool_p2p_config.network_config.broadcasted_message_metadata_buffer_size": { - "description": "The size of the buffer that holds the metadata of the broadcasted messages.", - "privacy": "Public", - "value": 100000 - }, - "mempool_p2p_config.network_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "mempool_p2p_config.network_config.discovery_config.bootstrap_dial_retry_config.base_delay_millis": { - "description": "The base delay in milliseconds for the exponential backoff strategy.", - "privacy": "Public", - "value": 2 - }, - "mempool_p2p_config.network_config.discovery_config.bootstrap_dial_retry_config.factor": { - "description": "The factor for the exponential backoff strategy.", - "privacy": "Public", - "value": 5 - }, - "mempool_p2p_config.network_config.discovery_config.bootstrap_dial_retry_config.max_delay_seconds": { - "description": "The maximum delay in seconds for the exponential backoff strategy.", - "privacy": "Public", - "value": 5 - }, - "mempool_p2p_config.network_config.discovery_config.bootstrap_dial_retry_config.new_connection_stabilization_millis": { - "description": "Milliseconds to wait on a new connection before treating it as stable.", - "privacy": "Public", - "value": 2000 - }, - "mempool_p2p_config.network_config.discovery_config.heartbeat_interval": { - "description": "The interval between each discovery (Kademlia) query in milliseconds.", - "privacy": "Public", - "value": 100 - }, - "mempool_p2p_config.network_config.idle_connection_timeout": { - "description": "Amount of time in seconds that a connection with no active sessions will stay alive.", - "privacy": "Public", - "value": 120 - }, - "mempool_p2p_config.network_config.peer_manager_config.malicious_timeout_seconds": { - "description": "The duration in seconds a peer is blacklisted after being marked as malicious.", - "privacy": "Public", - "value": 1 - }, - "mempool_p2p_config.network_config.peer_manager_config.unstable_timeout_millis": { - "description": "The duration in milliseconds a peer blacklisted after being reported as unstable.", - "privacy": "Public", - "value": 1000 - }, - "mempool_p2p_config.network_config.port": { - "description": "The port that the node listens on for incoming connections.", - "privacy": "Public", - "value": 11111 - }, - "mempool_p2p_config.network_config.prune_dead_connections_ping_interval": { - "description": "The interval in seconds between each prune dead connections ping check.", - "privacy": "Public", - "value": 15 - }, - "mempool_p2p_config.network_config.prune_dead_connections_ping_timeout": { - "description": "The timeout in seconds for a ping to be considered failed.", - "privacy": "Public", - "value": 20 - }, - "mempool_p2p_config.network_config.reported_peer_ids_buffer_size": { - "description": "The size of the buffer that holds the reported peer ids.", - "privacy": "Public", - "value": 100000 - }, - "mempool_p2p_config.network_config.secret_key": { - "description": "The secret key used for building the peer id. If it's an empty string a random one will be used.", - "privacy": "Private", - "value": "" - }, - "mempool_p2p_config.network_config.session_timeout": { - "description": "Maximal time in seconds that each session can take before failing on timeout.", - "privacy": "Public", - "value": 120 - }, - "mempool_p2p_config.transaction_batch_rate_millis": { - "description": "Maximum time until a transaction batch is closed and propagated in milliseconds.", - "privacy": "Public", - "value": 1000 - }, - "monitoring_config.collect_metrics": { - "description": "Indicating if metrics should be recorded.", - "privacy": "Public", - "value": true - }, - "monitoring_config.collect_profiling_metrics": { - "description": "Indicating if profiling metrics should be collected.", - "privacy": "Public", - "value": true - }, - "monitoring_endpoint_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "monitoring_endpoint_config.ip": { - "description": "The monitoring endpoint ip address.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "monitoring_endpoint_config.port": { - "description": "The monitoring endpoint port.", - "privacy": "Public", - "value": 8082 - }, - "monitoring_endpoint_config.snapshot_timeout_millis": { - "description": "Timeout in milliseconds for snapshot requests to internal services (mempool, L1 provider). Returns 504 if the service does not respond within this deadline.", - "privacy": "Public", - "value": 5000 - }, - "native_classes_whitelist": { - "description": "Specifies whether to execute all class hashes or only specific ones using Cairo native. If limited, a specific list of class hashes is provided.", - "privacy": "TemporaryValue", - "value": "[]" - }, - "proof_manager_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "proof_manager_config.cache_size": { - "description": "Number of proofs to cache in memory.", - "privacy": "Public", - "value": 500 - }, - "proof_manager_config.persistent_root": { - "description": "Persistent root for proof storage.", - "privacy": "Public", - "value": "/data/proofs" - }, - "recorder_url": { - "description": "The URL of the Pythonic cende_recorder", - "privacy": "TemporaryValue", - "value": "PointerTarget" - }, - "revert_config.revert_up_to_and_including": { - "description": "The component will revert blocks up to this block number (including).", - "privacy": "TemporaryValue", - "value": 18446744073709551615 - }, - "revert_config.should_revert": { - "description": "If set true, the component would revert blocks and do nothing else.", - "privacy": "TemporaryValue", - "value": false - }, - "sierra_compiler_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "sierra_compiler_config.audited_libfuncs_only": { - "description": "If true, restrict to audited libfuncs. Otherwise allow all.", - "privacy": "Public", - "value": true - }, - "sierra_compiler_config.max_bytecode_size": { - "description": "Limitation of compiled CASM bytecode size (felts).", - "privacy": "Public", - "value": 81920 - }, - "sierra_compiler_config.max_cpu_time": { - "description": "Limitation of compilation cpu time (seconds).", - "pointer_target": "max_cpu_time", - "privacy": "Public" - }, - "sierra_compiler_config.max_memory_usage": { - "description": "Limitation of compilation process's virtual memory (bytes).", - "privacy": "Public", - "value": 5368709120 - }, - "starknet_url": { - "description": "URL for communicating with Starknet.", - "privacy": "TemporaryValue", - "value": "PointerTarget" - }, - "state_sync_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "state_sync_config.dynamic_config.storage_reader_server_dynamic_config.enable": { - "description": "Whether to enable the storage reader HTTP server.", - "privacy": "Public", - "value": false - }, - "state_sync_config.static_config.central_sync_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.class_cache_size": { - "description": "Size of class cache, must be a positive integer.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.concurrent_requests": { - "description": "Maximum number of concurrent requests to Starknet feeder-gateway for getting a type of data (for example, blocks).", - "privacy": "Public", - "value": 10 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.http_headers": { - "description": "'k1:v1 k2:v2 ...' headers for SN-client.", - "privacy": "Private", - "value": "" - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.max_classes_to_download": { - "description": "Maximum number of classes to download at a given time.", - "privacy": "Public", - "value": 20 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.max_state_updates_to_download": { - "description": "Maximum number of state updates to download at a given time.", - "privacy": "Public", - "value": 20 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.max_state_updates_to_store_in_memory": { - "description": "Maximum number of state updates to store in memory at a given time.", - "privacy": "Public", - "value": 20 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.retry_config.max_retries": { - "description": "Maximum number of retries before the node stops retrying.", - "privacy": "Public", - "value": 10 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.retry_config.retry_base_millis": { - "description": "Base waiting time after a failed request. After that, the time increases exponentially.", - "privacy": "Public", - "value": 30 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.retry_config.retry_max_delay_millis": { - "description": "Max waiting time after a failed request.", - "privacy": "Public", - "value": 30000 - }, - "state_sync_config.static_config.central_sync_client_config.central_source_config.starknet_url": { - "description": "Starknet feeder-gateway URL. It should match chain_id.", - "pointer_target": "starknet_url", - "privacy": "Public" - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.base_layer_propagation_sleep_duration": { - "description": "Time in seconds to poll the base layer to get the latest proved block.", - "privacy": "Public", - "value": 10 - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.blocks_before_tip_to_disable_batching": { - "description": "Batching is automatically disabled (batch_size=1) once the node is within this many blocks of the chain tip, ensuring low-latency commits near the tip.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.blocks_max_stream_size": { - "description": "Max amount of blocks to download in a stream.", - "privacy": "Public", - "value": 1000 - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.collect_pending_data": { - "description": "Whether to collect data on pending blocks.", - "privacy": "Public", - "value": false - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.latest_block_poll_interval_millis": { - "description": "Time in milliseconds between polling for the latest block while node is synchronized.", - "privacy": "Public", - "value": 500 - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.recoverable_error_sleep_duration": { - "description": "Waiting time in seconds before restarting synchronization after a recoverable error.", - "privacy": "Public", - "value": 3 - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.state_updates_max_stream_size": { - "description": "Max amount of state updates to download in a stream.", - "privacy": "Public", - "value": 1000 - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.store_sierras_and_casms_block_threshold": { - "description": "Block-number threshold for persisting **Sierra** and **CASM** to local storage (for backward compatibility with the native blockifier). For blocks with block_number < this value, Sierra and CASM are stored for all classes; for block_number >= this value they are stored only for **legacy** classes (compiled with a version < `STARKNET_VERSION_TO_COMPILE_FROM`). Use 0 to store for no blocks, or a large value (e.g. u64::MAX) to store for all.", - "privacy": "Public", - "value": 0 - }, - "state_sync_config.static_config.central_sync_client_config.sync_config.verify_blocks": { - "description": "Whether to verify incoming blocks.", - "privacy": "Public", - "value": true - }, - "state_sync_config.static_config.network_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "state_sync_config.static_config.network_config.advertised_multiaddr": { - "description": "The external address other peers see this node. If this is set, the node will not try to find out which addresses it has and will write this address as external instead", - "privacy": "Public", - "value": "" - }, - "state_sync_config.static_config.network_config.advertised_multiaddr.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "state_sync_config.static_config.network_config.bootstrap_peer_multiaddr": { - "description": "The multiaddress of the peer node. It should include the peer's id. For more info: https://docs.libp2p.io/concepts/fundamentals/peers/", - "privacy": "Public", - "value": "" - }, - "state_sync_config.static_config.network_config.bootstrap_peer_multiaddr.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "state_sync_config.static_config.network_config.broadcasted_message_metadata_buffer_size": { - "description": "The size of the buffer that holds the metadata of the broadcasted messages.", - "privacy": "Public", - "value": 100000 - }, - "state_sync_config.static_config.network_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "state_sync_config.static_config.network_config.discovery_config.bootstrap_dial_retry_config.base_delay_millis": { - "description": "The base delay in milliseconds for the exponential backoff strategy.", - "privacy": "Public", - "value": 2 - }, - "state_sync_config.static_config.network_config.discovery_config.bootstrap_dial_retry_config.factor": { - "description": "The factor for the exponential backoff strategy.", - "privacy": "Public", - "value": 5 - }, - "state_sync_config.static_config.network_config.discovery_config.bootstrap_dial_retry_config.max_delay_seconds": { - "description": "The maximum delay in seconds for the exponential backoff strategy.", - "privacy": "Public", - "value": 5 - }, - "state_sync_config.static_config.network_config.discovery_config.bootstrap_dial_retry_config.new_connection_stabilization_millis": { - "description": "Milliseconds to wait on a new connection before treating it as stable.", - "privacy": "Public", - "value": 2000 - }, - "state_sync_config.static_config.network_config.discovery_config.heartbeat_interval": { - "description": "The interval between each discovery (Kademlia) query in milliseconds.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.network_config.idle_connection_timeout": { - "description": "Amount of time in seconds that a connection with no active sessions will stay alive.", - "privacy": "Public", - "value": 120 - }, - "state_sync_config.static_config.network_config.peer_manager_config.malicious_timeout_seconds": { - "description": "The duration in seconds a peer is blacklisted after being marked as malicious.", - "privacy": "Public", - "value": 1 - }, - "state_sync_config.static_config.network_config.peer_manager_config.unstable_timeout_millis": { - "description": "The duration in milliseconds a peer blacklisted after being reported as unstable.", - "privacy": "Public", - "value": 1000 - }, - "state_sync_config.static_config.network_config.port": { - "description": "The port that the node listens on for incoming connections.", - "privacy": "Public", - "value": 12345 - }, - "state_sync_config.static_config.network_config.prune_dead_connections_ping_interval": { - "description": "The interval in seconds between each prune dead connections ping check.", - "privacy": "Public", - "value": 15 - }, - "state_sync_config.static_config.network_config.prune_dead_connections_ping_timeout": { - "description": "The timeout in seconds for a ping to be considered failed.", - "privacy": "Public", - "value": 20 - }, - "state_sync_config.static_config.network_config.reported_peer_ids_buffer_size": { - "description": "The size of the buffer that holds the reported peer ids.", - "privacy": "Public", - "value": 100000 - }, - "state_sync_config.static_config.network_config.secret_key": { - "description": "The secret key used for building the peer id. If it's an empty string a random one will be used.", - "privacy": "Private", - "value": "" - }, - "state_sync_config.static_config.network_config.session_timeout": { - "description": "Maximal time in seconds that each session can take before failing on timeout.", - "privacy": "Public", - "value": 120 - }, - "state_sync_config.static_config.p2p_sync_client_config.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": false - }, - "state_sync_config.static_config.p2p_sync_client_config.buffer_size": { - "description": "Size of the buffer for read from the storage and for incoming responses.", - "privacy": "Public", - "value": 100000 - }, - "state_sync_config.static_config.p2p_sync_client_config.num_block_classes_per_query": { - "description": "The maximum amount of block's classes to ask from peers in each iteration.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.p2p_sync_client_config.num_block_state_diffs_per_query": { - "description": "The maximum amount of block's state diffs to ask from peers in each iteration.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.p2p_sync_client_config.num_block_transactions_per_query": { - "description": "The maximum amount of blocks to ask their transactions from peers in each iteration.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.p2p_sync_client_config.num_headers_per_query": { - "description": "The maximum amount of headers to ask from peers in each iteration.", - "privacy": "Public", - "value": 10000 - }, - "state_sync_config.static_config.p2p_sync_client_config.wait_period_for_new_data": { - "description": "Time in milliseconds to wait when a query returned with partial data before sending a new query", - "privacy": "Public", - "value": 50 - }, - "state_sync_config.static_config.p2p_sync_client_config.wait_period_for_other_protocol": { - "description": "Time in milliseconds to wait for a dependency protocol to advance (e.g.state diff sync depends on header sync)", - "privacy": "Public", - "value": 50 - }, - "state_sync_config.static_config.revert_config.revert_up_to_and_including": { - "description": "The component will revert blocks up to this block number (including).", - "pointer_target": "revert_config.revert_up_to_and_including", - "privacy": "Public" - }, - "state_sync_config.static_config.revert_config.should_revert": { - "description": "If set true, the component would revert blocks and do nothing else.", - "pointer_target": "revert_config.should_revert", - "privacy": "Public" - }, - "state_sync_config.static_config.rpc_config.apollo_gateway_retry_config.max_retries": { - "description": "For communicating with Starknet gateway, maximum number of retries before the node stops retrying.", - "privacy": "Public", - "value": 5 - }, - "state_sync_config.static_config.rpc_config.apollo_gateway_retry_config.retry_base_millis": { - "description": "For communicating with Starknet gateway, base waiting time after a failed request. After that, the time increases exponentially.", - "privacy": "Public", - "value": 50 - }, - "state_sync_config.static_config.rpc_config.apollo_gateway_retry_config.retry_max_delay_millis": { - "description": "For communicating with Starknet gateway, max waiting time after a failed request.", - "privacy": "Public", - "value": 1000 - }, - "state_sync_config.static_config.rpc_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "state_sync_config.static_config.rpc_config.collect_metrics": { - "description": "If true, collect metrics for the rpc.", - "privacy": "Public", - "value": false - }, - "state_sync_config.static_config.rpc_config.execution_config.default_initial_gas_cost": { - "description": "The initial gas cost for a transaction", - "privacy": "Public", - "value": 10000000000 - }, - "state_sync_config.static_config.rpc_config.execution_config.eth_fee_contract_address": { - "description": "The eth fee token address to receive fees", - "pointer_target": "eth_fee_token_address", - "privacy": "Public" - }, - "state_sync_config.static_config.rpc_config.execution_config.strk_fee_contract_address": { - "description": "The strk fee token address to receive fees", - "pointer_target": "strk_fee_token_address", - "privacy": "Public" - }, - "state_sync_config.static_config.rpc_config.ip": { - "description": "The JSON RPC server ip.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "state_sync_config.static_config.rpc_config.max_events_chunk_size": { - "description": "Maximum chunk size supported by the node in get_events requests.", - "privacy": "Public", - "value": 1000 - }, - "state_sync_config.static_config.rpc_config.max_events_keys": { - "description": "Maximum number of keys supported by the node in get_events requests.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.rpc_config.port": { - "description": "The JSON RPC server port.", - "privacy": "Public", - "value": 8090 - }, - "state_sync_config.static_config.rpc_config.starknet_url": { - "description": "URL for communicating with Starknet in write_api methods.", - "pointer_target": "starknet_url", - "privacy": "Public" - }, - "state_sync_config.static_config.storage_config.batch_config.batch_size": { - "description": "Number of logical commits before actual MDBX commit.", - "privacy": "Public", - "value": 100 - }, - "state_sync_config.static_config.storage_config.batch_config.enabled": { - "description": "Whether transaction batching is enabled.", - "privacy": "Public", - "value": false - }, - "state_sync_config.static_config.storage_config.db_config.chain_id": { - "description": "The chain to follow. For more details see https://docs.starknet.io/learn/cheatsheets/transactions-reference#chain-id.", - "pointer_target": "chain_id", - "privacy": "Public" - }, - "state_sync_config.static_config.storage_config.db_config.enforce_file_exists": { - "description": "Whether to enforce that the path exists. If true, `open_env` fails when the mdbx.dat file does not exist.", - "privacy": "Public", - "value": false - }, - "state_sync_config.static_config.storage_config.db_config.growth_step": { - "description": "The growth step in bytes, must be greater than zero to allow the database to grow.", - "privacy": "Public", - "value": 4294967296 - }, - "state_sync_config.static_config.storage_config.db_config.max_readers": { - "description": "The maximum number of readers used by the database.", - "privacy": "Public", - "value": 8192 - }, - "state_sync_config.static_config.storage_config.db_config.max_size": { - "description": "The maximum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1099511627776 - }, - "state_sync_config.static_config.storage_config.db_config.min_size": { - "description": "The minimum size of the node's storage in bytes.", - "privacy": "Public", - "value": 1048576 - }, - "state_sync_config.static_config.storage_config.db_config.path_prefix": { - "description": "Prefix of the path of the node's storage directory, the storage file path will be /. The path is not created automatically.", - "privacy": "Public", - "value": "/data/state_sync" - }, - "state_sync_config.static_config.storage_config.mmap_file_config.growth_step": { - "description": "The growth step in bytes, must be greater than max_object_size.", - "privacy": "Public", - "value": 1073741824 - }, - "state_sync_config.static_config.storage_config.mmap_file_config.max_object_size": { - "description": "The maximum size of a single object in the file in bytes", - "privacy": "Public", - "value": 268435456 - }, - "state_sync_config.static_config.storage_config.mmap_file_config.max_size": { - "description": "The maximum size of a memory mapped file in bytes. Must be greater than growth_step.", - "privacy": "Public", - "value": 1099511627776 - }, - "state_sync_config.static_config.storage_config.scope": { - "description": "The categories of data saved in storage.", - "privacy": "Public", - "value": "FullArchive" - }, - "state_sync_config.static_config.storage_reader_server_static_config.ip": { - "description": "The IP address for the storage reader HTTP server.", - "privacy": "Public", - "value": "0.0.0.0" - }, - "state_sync_config.static_config.storage_reader_server_static_config.port": { - "description": "The port for the storage reader HTTP server.", - "privacy": "Public", - "value": 8091 - }, - "strk_fee_token_address": { - "description": "Address of the STRK fee token.", - "privacy": "TemporaryValue", - "value": "PointerTarget" - }, - "validate_resource_bounds": { - "description": "Indicates that validations related to resource bounds are applied. It should be set to false during a system bootstrap.", - "privacy": "TemporaryValue", - "value": true - }, - "validation_only": { - "description": "If true, the node validates proposed blocks but does not build proposals. Requires gateway, http_server, and mempool to be disabled.", - "privacy": "TemporaryValue", - "value": false - }, - "validator_id": { - "description": "The ID of the validator. Also the address of this validator as a starknet contract.", - "privacy": "TemporaryValue", - "value": "PointerTarget" - }, - "versioned_constants_overrides.#is_none": { - "description": "Flag for an optional field.", - "privacy": "TemporaryValue", - "value": true - }, - "versioned_constants_overrides.invoke_tx_max_n_steps": { - "description": "Maximum number of steps the invoke function is allowed to run.", - "privacy": "TemporaryValue", - "value": 10000000 - }, - "versioned_constants_overrides.max_n_events": { - "description": "Maximum number of events that can be emitted from the transaction.", - "privacy": "TemporaryValue", - "value": 1000 - }, - "versioned_constants_overrides.max_recursion_depth": { - "description": "Maximum recursion depth for nested calls during blockifier validation.", - "privacy": "TemporaryValue", - "value": 50 - }, - "versioned_constants_overrides.validate_max_n_steps": { - "description": "Maximum number of steps the validation function is allowed to run.", - "privacy": "TemporaryValue", - "value": 1000000 - } -} diff --git a/crates/apollo_node/src/bin/update_apollo_node_config_schema.rs b/crates/apollo_node/src/bin/update_apollo_node_config_schema.rs index 3a95ed88b1b..4744eedfd27 100644 --- a/crates/apollo_node/src/bin/update_apollo_node_config_schema.rs +++ b/crates/apollo_node/src/bin/update_apollo_node_config_schema.rs @@ -1,19 +1,41 @@ +use std::collections::BTreeSet; + use apollo_config::dumping::SerializeConfig; +use apollo_config::ParamPath; use apollo_infra_utils::dumping::serialize_to_file; -use apollo_node_config::config_utils::private_parameters; use apollo_node_config::node_config::{ SequencerNodeConfig, - CONFIG_NON_POINTERS_WHITELIST, CONFIG_POINTERS, - CONFIG_SCHEMA_PATH, CONFIG_SECRETS_SCHEMA_PATH, }; -/// Updates the apollo node config schema. -fn main() { - SequencerNodeConfig::default() - .dump_to_file(&CONFIG_POINTERS, &CONFIG_NON_POINTERS_WHITELIST, CONFIG_SCHEMA_PATH) - .expect("dump to file error"); +/// Derives the private-parameter set from the config dump: all private non-pointer parameters, plus +/// the pointer targets of any private pointer members. This is the source of truth the committed +/// secrets schema is generated from; `private_parameters()` reads back the committed file. +fn private_parameters_from_config_dump() -> BTreeSet { + let dumped_config = SequencerNodeConfig::default().dump(); - serialize_to_file(&private_parameters(), CONFIG_SECRETS_SCHEMA_PATH); + let mut private_values = BTreeSet::new(); + for (param_path, ser_param) in dumped_config.into_iter() { + if !ser_param.is_private() { + continue; + } + let mut included_as_a_pointer = false; + for ((pointer_target_param_path, _ser_param), pointing_params) in CONFIG_POINTERS.iter() { + if pointing_params.contains(¶m_path) { + private_values.insert(pointer_target_param_path.clone()); + included_as_a_pointer = true; + } + } + if !included_as_a_pointer { + private_values.insert(param_path); + } + } + private_values +} + +/// Updates the committed apollo node secrets schema (`CONFIG_SECRETS_SCHEMA_PATH`), which is the +/// serialized private-parameter set derived from the config. +fn main() { + serialize_to_file(&private_parameters_from_config_dump(), CONFIG_SECRETS_SCHEMA_PATH); } diff --git a/crates/apollo_node_config/src/config_test.rs b/crates/apollo_node_config/src/config_test.rs index 7d9c7493afe..1c326333047 100644 --- a/crates/apollo_node_config/src/config_test.rs +++ b/crates/apollo_node_config/src/config_test.rs @@ -1,4 +1,7 @@ -use apollo_config::dumping::{combine_config_map_and_pointers, SerializeConfig}; +use std::collections::BTreeSet; + +use apollo_config::dumping::SerializeConfig; +use apollo_config::ParamPath; use apollo_infra::component_client::RemoteClientConfig; use apollo_infra::component_server::{LocalServerConfig, RemoteServerConfig}; use apollo_infra_utils::dumping::serialize_to_file_test; @@ -15,13 +18,7 @@ use crate::component_execution_config::{ }; use crate::config_utils::private_parameters; use crate::monitoring::MonitoringConfig; -use crate::node_config::{ - SequencerNodeConfig, - CONFIG_NON_POINTERS_WHITELIST, - CONFIG_POINTERS, - CONFIG_SCHEMA_PATH, - CONFIG_SECRETS_SCHEMA_PATH, -}; +use crate::node_config::{SequencerNodeConfig, CONFIG_POINTERS, CONFIG_SECRETS_SCHEMA_PATH}; const FIX_BINARY_NAME: &str = "update_apollo_node_config_schema"; @@ -80,21 +77,58 @@ fn valid_component_execution_config( assert_eq!(component_exe_config.validate(), Ok(())); } -/// Test the validation of the struct SequencerNodeConfig and that the default config file is up to -/// date. To update the default config file, run `cargo run --bin `. +/// Computes the private-parameter set the way it was historically derived: from the config dump +/// (`SequencerNodeConfig::default().dump()`), filtering private params and remapping pointer +/// members to their pointer target. This is the source of truth the committed secrets schema was +/// generated from. +/// +/// TRANSIENT: this mirrors the pre-Phase-4 body of `private_parameters()`. It exists only to guard +/// that re-sourcing `private_parameters()` off the committed secrets schema did not drift from the +/// config-derived set. Remove it together with the transient equivalence test. +fn private_parameters_from_config_dump() -> BTreeSet { + let dumped_config = SequencerNodeConfig::default().dump(); + + let mut private_values = BTreeSet::new(); + for (param_path, ser_param) in dumped_config.into_iter() { + if !ser_param.is_private() { + continue; + } + let mut included_as_a_pointer = false; + for ((pointer_target_param_path, _ser_param), pointing_params) in CONFIG_POINTERS.iter() { + if pointing_params.contains(¶m_path) { + private_values.insert(pointer_target_param_path.clone()); + included_as_a_pointer = true; + } + } + if !included_as_a_pointer { + private_values.insert(param_path); + } + } + private_values +} + +/// Test that the committed secrets schema file is up to date. To update it, run +/// `cargo run --bin `. #[test] fn default_config_file_is_up_to_date() { - let combined_map = combine_config_map_and_pointers( - SequencerNodeConfig::default().dump(), - &CONFIG_POINTERS, - &CONFIG_NON_POINTERS_WHITELIST, - ) - .unwrap(); - serialize_to_file_test(&combined_map, CONFIG_SCHEMA_PATH, FIX_BINARY_NAME); - serialize_to_file_test(&private_parameters(), CONFIG_SECRETS_SCHEMA_PATH, FIX_BINARY_NAME); } +/// TRANSIENT: proves that the file-sourced `private_parameters()` returns the same set as the +/// historical config-dump-derived computation, guarding the Phase-4 re-source against drift. Remove +/// this together with `private_parameters_from_config_dump` once the config-derivation path is +/// gone. +#[test] +fn private_parameters_matches_config_dump_derivation() { + let file_sourced: BTreeSet = private_parameters(); + let config_derived = private_parameters_from_config_dump(); + assert_eq!( + file_sourced, config_derived, + "File-sourced private_parameters() drifted from the config-dump derivation. Regenerate \ + the secrets schema with `cargo run --bin {FIX_BINARY_NAME}`." + ); +} + #[test] fn validate_config_success() { let config = SequencerNodeConfig::default(); diff --git a/crates/apollo_node_config/src/config_utils.rs b/crates/apollo_node_config/src/config_utils.rs index ff335704d77..971967cc1a6 100644 --- a/crates/apollo_node_config/src/config_utils.rs +++ b/crates/apollo_node_config/src/config_utils.rs @@ -1,56 +1,27 @@ use std::collections::{BTreeSet, HashSet}; -use std::fs::File; use std::path::Path; use apollo_config::dumping::{combine_config_map_and_pointers, SerializeConfig}; use apollo_config::presentation::get_config_presentation; use apollo_config::validators::create_validation_error; -use apollo_config::{ConfigError, ParamPath, SerializedParam, FIELD_SEPARATOR, IS_NONE_MARK}; +use apollo_config::{ConfigError, ParamPath, FIELD_SEPARATOR, IS_NONE_MARK}; use apollo_infra_utils::dumping::serialize_to_file; -use apollo_infra_utils::path::resolve_project_relative_path; use serde_json::{Map, Value}; use tracing::{error, info}; use validator::ValidationError; use crate::definitions::ConfigPointersMap; -use crate::node_config::{ - SequencerNodeConfig, - CONFIG_NON_POINTERS_WHITELIST, - CONFIG_POINTERS, - CONFIG_SCHEMA_PATH, - POINTER_TARGET_VALUE, -}; +use crate::node_config::{SequencerNodeConfig, CONFIG_NON_POINTERS_WHITELIST, POINTER_TARGET_VALUE}; /// Returns the set of all non-pointer private parameters and all pointer target parameters pointed -/// by private parameters. +/// by private parameters, as committed in the secrets schema file (`CONFIG_SECRETS_SCHEMA_PATH`). +/// +/// The committed file is exactly this set serialized; the `default_config_file_is_up_to_date` test +/// guards that it stays in sync with the config derivation. pub fn private_parameters() -> BTreeSet { - let config_file_name = &resolve_project_relative_path(CONFIG_SCHEMA_PATH).unwrap(); - let config_schema_file = File::open(config_file_name).unwrap(); - let deserialized_config_schema: Map = - serde_json::from_reader(config_schema_file).unwrap(); - - let mut private_values = BTreeSet::new(); - for (param_path, stored_param) in deserialized_config_schema.into_iter() { - let ser_param = serde_json::from_value::(stored_param).unwrap(); - // Find all private parameters. - if ser_param.is_private() { - let mut included_as_a_pointer = false; - for ((pointer_target_param_path, _ser_param), pointing_params) in CONFIG_POINTERS.iter() - { - // If the parameter is a pointer, add its pointer target value. - if pointing_params.contains(¶m_path) { - private_values.insert(pointer_target_param_path.clone()); - included_as_a_pointer = true; - continue; - } - } - if !included_as_a_pointer { - // If the parameter is not a pointer, add it directly. - private_values.insert(param_path); - } - } - } - private_values + const SECRETS_SCHEMA_JSON: &str = + include_str!("../../apollo_node/resources/config_secrets_schema.json"); + serde_json::from_str(SECRETS_SCHEMA_JSON).unwrap() } /// Transforms a nested JSON dictionary object into a simplified JSON dictionary object by diff --git a/crates/apollo_node_config/src/node_config.rs b/crates/apollo_node_config/src/node_config.rs index 447a780baa0..98d96f2a3d4 100644 --- a/crates/apollo_node_config/src/node_config.rs +++ b/crates/apollo_node_config/src/node_config.rs @@ -49,8 +49,8 @@ use crate::component_execution_config::{ExpectedComponentConfig, ReactiveCompone use crate::monitoring::MonitoringConfig; use crate::version::VERSION_FULL; -// The path of the configuration schema file, provided as part of the crate. -pub const CONFIG_SCHEMA_PATH: &str = "crates/apollo_node/resources/config_schema.json"; +// The path of the secrets schema file (the serialized private-parameter set), provided as part of +// the crate. pub const CONFIG_SECRETS_SCHEMA_PATH: &str = "crates/apollo_node/resources/config_secrets_schema.json"; pub const POINTER_TARGET_VALUE: &str = "PointerTarget"; diff --git a/deployments/images/sequencer/Dockerfile b/deployments/images/sequencer/Dockerfile index 3da00408257..59dd995c796 100644 --- a/deployments/images/sequencer/Dockerfile +++ b/deployments/images/sequencer/Dockerfile @@ -67,9 +67,6 @@ ENV CARGO_TOOLS_ROOT=/opt/cargo-tools COPY --from=builder /var/tmp/rust/tools ${CARGO_TOOLS_ROOT} COPY --from=builder /usr/bin/tini /usr/bin/tini -# Copy apollo config schema, used when it loads its configuration. -COPY crates/apollo_node/resources/config_schema.json crates/apollo_node/resources/config_schema.json - # Create a new user "sequencer". RUN set -ex; \ groupadd --gid ${ID} sequencer; \