diff --git a/crates/apollo_deployments/resources/app_configs/proof_manager_config.json b/crates/apollo_deployments/resources/app_configs/proof_manager_config.json new file mode 100644 index 00000000000..66f5fe172e8 --- /dev/null +++ b/crates/apollo_deployments/resources/app_configs/proof_manager_config.json @@ -0,0 +1,4 @@ +{ + "proof_manager_config.persistent_root": "/data/proofs" +} + diff --git a/crates/apollo_deployments/resources/app_configs/replacer_proof_manager_config.json b/crates/apollo_deployments/resources/app_configs/replacer_proof_manager_config.json new file mode 100644 index 00000000000..9b5d6c80b47 --- /dev/null +++ b/crates/apollo_deployments/resources/app_configs/replacer_proof_manager_config.json @@ -0,0 +1,3 @@ +{ + "proof_manager_config.persistent_root": "/data/proofs" +} diff --git a/crates/apollo_deployments/resources/services/consolidated/node.json b/crates/apollo_deployments/resources/services/consolidated/node.json index 539caa2f4e2..4aa1cc12db2 100644 --- a/crates/apollo_deployments/resources/services/consolidated/node.json +++ b/crates/apollo_deployments/resources/services/consolidated/node.json @@ -107,8 +107,12 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", - "components.proof_manager.local_server_config.#is_none": true, + "components.proof_manager.execution_mode": "LocalExecutionWithRemoteDisabled", + "components.proof_manager.local_server_config.#is_none": false, + "components.proof_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.processing_time_warning_threshold_ms": 3000, "components.proof_manager.max_concurrency": 128, "components.proof_manager.port": 0, "components.proof_manager.remote_client_config.#is_none": true, @@ -158,6 +162,7 @@ "mempool_config.#is_none": false, "mempool_p2p_config.#is_none": false, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": false, "sierra_compiler_config.#is_none": false, "state_sync_config.#is_none": false } diff --git a/crates/apollo_deployments/resources/services/consolidated/replacer_deployment_node.json b/crates/apollo_deployments/resources/services/consolidated/replacer_deployment_node.json index 95a48ae96b9..7d01b79313f 100644 --- a/crates/apollo_deployments/resources/services/consolidated/replacer_deployment_node.json +++ b/crates/apollo_deployments/resources/services/consolidated/replacer_deployment_node.json @@ -15,6 +15,7 @@ "crates/apollo_deployments/resources/app_configs/replacer_mempool_config.json", "crates/apollo_deployments/resources/app_configs/replacer_mempool_p2p_config.json", "crates/apollo_deployments/resources/app_configs/replacer_monitoring_endpoint_config.json", + "crates/apollo_deployments/resources/app_configs/replacer_proof_manager_config.json", "crates/apollo_deployments/resources/app_configs/replacer_sierra_compiler_config.json", "crates/apollo_deployments/resources/app_configs/replacer_state_sync_config.json", "crates/apollo_deployments/resources/services/consolidated/replacer_node.json" diff --git a/crates/apollo_deployments/resources/services/consolidated/replacer_node.json b/crates/apollo_deployments/resources/services/consolidated/replacer_node.json index 539caa2f4e2..4aa1cc12db2 100644 --- a/crates/apollo_deployments/resources/services/consolidated/replacer_node.json +++ b/crates/apollo_deployments/resources/services/consolidated/replacer_node.json @@ -107,8 +107,12 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", - "components.proof_manager.local_server_config.#is_none": true, + "components.proof_manager.execution_mode": "LocalExecutionWithRemoteDisabled", + "components.proof_manager.local_server_config.#is_none": false, + "components.proof_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.processing_time_warning_threshold_ms": 3000, "components.proof_manager.max_concurrency": 128, "components.proof_manager.port": 0, "components.proof_manager.remote_client_config.#is_none": true, @@ -158,6 +162,7 @@ "mempool_config.#is_none": false, "mempool_p2p_config.#is_none": false, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": false, "sierra_compiler_config.#is_none": false, "state_sync_config.#is_none": false } diff --git a/crates/apollo_deployments/resources/services/distributed/batcher.json b/crates/apollo_deployments/resources/services/distributed/batcher.json index b53c2efad0d..667ee65ce2a 100644 --- a/crates/apollo_deployments/resources/services/distributed/batcher.json +++ b/crates/apollo_deployments/resources/services/distributed/batcher.json @@ -114,13 +114,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": 1, + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "remote_service", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -153,6 +161,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/class_manager.json b/crates/apollo_deployments/resources/services/distributed/class_manager.json index 0589e67ac10..d289fa90b43 100644 --- a/crates/apollo_deployments/resources/services/distributed/class_manager.json +++ b/crates/apollo_deployments/resources/services/distributed/class_manager.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/committer.json b/crates/apollo_deployments/resources/services/distributed/committer.json index fd0fca62600..b66174d4057 100644 --- a/crates/apollo_deployments/resources/services/distributed/committer.json +++ b/crates/apollo_deployments/resources/services/distributed/committer.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/consensus_manager.json b/crates/apollo_deployments/resources/services/distributed/consensus_manager.json index ab373c2b04d..73fd60a3064 100644 --- a/crates/apollo_deployments/resources/services/distributed/consensus_manager.json +++ b/crates/apollo_deployments/resources/services/distributed/consensus_manager.json @@ -99,13 +99,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": 1, + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "remote_service", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -154,6 +162,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/gateway.json b/crates/apollo_deployments/resources/services/distributed/gateway.json index b47d9e2c4aa..4dbfc13beef 100644 --- a/crates/apollo_deployments/resources/services/distributed/gateway.json +++ b/crates/apollo_deployments/resources/services/distributed/gateway.json @@ -98,13 +98,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": 1, + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "remote_service", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -145,6 +153,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/http_server.json b/crates/apollo_deployments/resources/services/distributed/http_server.json index 40dd6bfb387..c46b41144bd 100644 --- a/crates/apollo_deployments/resources/services/distributed/http_server.json +++ b/crates/apollo_deployments/resources/services/distributed/http_server.json @@ -122,6 +122,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/l1.json b/crates/apollo_deployments/resources/services/distributed/l1.json index 97e182e7f5b..6b2ad886aef 100644 --- a/crates/apollo_deployments/resources/services/distributed/l1.json +++ b/crates/apollo_deployments/resources/services/distributed/l1.json @@ -144,6 +144,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/mempool.json b/crates/apollo_deployments/resources/services/distributed/mempool.json index 4d7e5c47c9a..598e37bd97b 100644 --- a/crates/apollo_deployments/resources/services/distributed/mempool.json +++ b/crates/apollo_deployments/resources/services/distributed/mempool.json @@ -102,13 +102,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": 1, + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "remote_service", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -141,6 +149,7 @@ "mempool_config.#is_none": false, "mempool_p2p_config.#is_none": false, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/proof_manager.json b/crates/apollo_deployments/resources/services/distributed/proof_manager.json new file mode 100644 index 00000000000..e9146c2edb9 --- /dev/null +++ b/crates/apollo_deployments/resources/services/distributed/proof_manager.json @@ -0,0 +1,127 @@ +{ + "base_layer_config.#is_none": true, + "batcher_config.#is_none": true, + "class_manager_config.#is_none": true, + "committer_config.#is_none": true, + "components.batcher.execution_mode": "Disabled", + "components.batcher.local_server_config.#is_none": true, + "components.batcher.max_concurrency": 128, + "components.batcher.port": 0, + "components.batcher.remote_client_config.#is_none": true, + "components.batcher.remote_server_config.#is_none": true, + "components.batcher.url": "localhost", + "components.class_manager.execution_mode": "Disabled", + "components.class_manager.local_server_config.#is_none": true, + "components.class_manager.max_concurrency": 128, + "components.class_manager.port": 0, + "components.class_manager.remote_client_config.#is_none": true, + "components.class_manager.remote_server_config.#is_none": true, + "components.class_manager.url": "localhost", + "components.committer.execution_mode": "Disabled", + "components.committer.local_server_config.#is_none": true, + "components.committer.max_concurrency": 128, + "components.committer.port": 0, + "components.committer.remote_client_config.#is_none": true, + "components.committer.remote_server_config.#is_none": true, + "components.committer.url": "localhost", + "components.config_manager.execution_mode": "LocalExecutionWithRemoteDisabled", + "components.config_manager.local_server_config.#is_none": false, + "components.config_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.config_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.config_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.config_manager.local_server_config.processing_time_warning_threshold_ms": 3000, + "components.config_manager.max_concurrency": 128, + "components.config_manager.port": 0, + "components.config_manager.remote_client_config.#is_none": true, + "components.config_manager.remote_server_config.#is_none": true, + "components.config_manager.url": "localhost", + "components.consensus_manager.execution_mode": "Disabled", + "components.gateway.execution_mode": "Disabled", + "components.gateway.local_server_config.#is_none": true, + "components.gateway.max_concurrency": 128, + "components.gateway.port": 0, + "components.gateway.remote_client_config.#is_none": true, + "components.gateway.remote_server_config.#is_none": true, + "components.gateway.url": "localhost", + "components.http_server.execution_mode": "Disabled", + "components.l1_gas_price_provider.execution_mode": "Disabled", + "components.l1_gas_price_provider.local_server_config.#is_none": true, + "components.l1_gas_price_provider.max_concurrency": 128, + "components.l1_gas_price_provider.port": 0, + "components.l1_gas_price_provider.remote_client_config.#is_none": true, + "components.l1_gas_price_provider.remote_server_config.#is_none": true, + "components.l1_gas_price_provider.url": "localhost", + "components.l1_gas_price_scraper.execution_mode": "Disabled", + "components.l1_provider.execution_mode": "Disabled", + "components.l1_provider.local_server_config.#is_none": true, + "components.l1_provider.max_concurrency": 128, + "components.l1_provider.port": 0, + "components.l1_provider.remote_client_config.#is_none": true, + "components.l1_provider.remote_server_config.#is_none": true, + "components.l1_provider.url": "localhost", + "components.l1_scraper.execution_mode": "Disabled", + "components.mempool.execution_mode": "Disabled", + "components.mempool.local_server_config.#is_none": true, + "components.mempool.max_concurrency": 128, + "components.mempool.port": 0, + "components.mempool.remote_client_config.#is_none": true, + "components.mempool.remote_server_config.#is_none": true, + "components.mempool.url": "localhost", + "components.mempool_p2p.execution_mode": "Disabled", + "components.mempool_p2p.local_server_config.#is_none": true, + "components.mempool_p2p.max_concurrency": 128, + "components.mempool_p2p.port": 0, + "components.mempool_p2p.remote_client_config.#is_none": true, + "components.mempool_p2p.remote_server_config.#is_none": true, + "components.mempool_p2p.url": "localhost", + "components.monitoring_endpoint.execution_mode": "Enabled", + "components.proof_manager.execution_mode": "LocalExecutionWithRemoteEnabled", + "components.proof_manager.local_server_config.#is_none": false, + "components.proof_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.processing_time_warning_threshold_ms": 3000, + "components.proof_manager.max_concurrency": 128, + "components.proof_manager.port": 1, + "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.remote_server_config.#is_none": false, + "components.proof_manager.remote_server_config.bind_ip": "0.0.0.0", + "components.proof_manager.remote_server_config.max_streams_per_connection": 8, + "components.proof_manager.remote_server_config.set_tcp_nodelay": true, + "components.proof_manager.url": "remote_service", + "components.sierra_compiler.execution_mode": "Disabled", + "components.sierra_compiler.local_server_config.#is_none": true, + "components.sierra_compiler.max_concurrency": 128, + "components.sierra_compiler.port": 0, + "components.sierra_compiler.remote_client_config.#is_none": true, + "components.sierra_compiler.remote_server_config.#is_none": true, + "components.sierra_compiler.url": "localhost", + "components.signature_manager.execution_mode": "Disabled", + "components.signature_manager.local_server_config.#is_none": true, + "components.signature_manager.max_concurrency": 128, + "components.signature_manager.port": 0, + "components.signature_manager.remote_client_config.#is_none": true, + "components.signature_manager.remote_server_config.#is_none": true, + "components.signature_manager.url": "localhost", + "components.state_sync.execution_mode": "Disabled", + "components.state_sync.local_server_config.#is_none": true, + "components.state_sync.max_concurrency": 128, + "components.state_sync.port": 0, + "components.state_sync.remote_client_config.#is_none": true, + "components.state_sync.remote_server_config.#is_none": true, + "components.state_sync.url": "localhost", + "config_manager_config.#is_none": false, + "consensus_manager_config.#is_none": true, + "gateway_config.#is_none": true, + "http_server_config.#is_none": true, + "l1_gas_price_provider_config.#is_none": true, + "l1_gas_price_scraper_config.#is_none": true, + "l1_provider_config.#is_none": true, + "l1_scraper_config.#is_none": true, + "mempool_config.#is_none": true, + "mempool_p2p_config.#is_none": true, + "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": false, + "sierra_compiler_config.#is_none": true, + "state_sync_config.#is_none": true +} diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_batcher.json b/crates/apollo_deployments/resources/services/distributed/replacer_batcher.json index 1a225e286f7..5a56e2b24bc 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_batcher.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_batcher.json @@ -114,13 +114,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -153,6 +161,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_class_manager.json b/crates/apollo_deployments/resources/services/distributed/replacer_class_manager.json index 3b0cacb3658..a56d4ad42a2 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_class_manager.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_class_manager.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_committer.json b/crates/apollo_deployments/resources/services/distributed/replacer_committer.json index b8ce46272e0..fe9f6441557 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_committer.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_committer.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_consensus_manager.json b/crates/apollo_deployments/resources/services/distributed/replacer_consensus_manager.json index 1fbdfd9b315..969774e4311 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_consensus_manager.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_consensus_manager.json @@ -99,13 +99,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -154,6 +162,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_deployment_proof_manager.json b/crates/apollo_deployments/resources/services/distributed/replacer_deployment_proof_manager.json new file mode 100644 index 00000000000..d2232574185 --- /dev/null +++ b/crates/apollo_deployments/resources/services/distributed/replacer_deployment_proof_manager.json @@ -0,0 +1,7 @@ +[ + "crates/apollo_deployments/resources/app_configs/replacer_config_manager_config.json", + "crates/apollo_deployments/resources/app_configs/replacer_general_config.json", + "crates/apollo_deployments/resources/app_configs/replacer_monitoring_endpoint_config.json", + "crates/apollo_deployments/resources/app_configs/replacer_proof_manager_config.json", + "crates/apollo_deployments/resources/services/distributed/replacer_proof_manager.json" +] diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_gateway.json b/crates/apollo_deployments/resources/services/distributed/replacer_gateway.json index 5d5ece45a18..09cdca808e6 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_gateway.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_gateway.json @@ -98,13 +98,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -145,6 +153,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_http_server.json b/crates/apollo_deployments/resources/services/distributed/replacer_http_server.json index 5fe928e18bd..fa552a0bfaa 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_http_server.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_http_server.json @@ -122,6 +122,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_l1.json b/crates/apollo_deployments/resources/services/distributed/replacer_l1.json index 4b3b2efba01..a5b932714c5 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_l1.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_l1.json @@ -144,6 +144,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_mempool.json b/crates/apollo_deployments/resources/services/distributed/replacer_mempool.json index 4c56b3f217b..8540bb6a1e1 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_mempool.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_mempool.json @@ -102,13 +102,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -141,6 +149,7 @@ "mempool_config.#is_none": false, "mempool_p2p_config.#is_none": false, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_proof_manager.json b/crates/apollo_deployments/resources/services/distributed/replacer_proof_manager.json new file mode 100644 index 00000000000..ff03e0c49c2 --- /dev/null +++ b/crates/apollo_deployments/resources/services/distributed/replacer_proof_manager.json @@ -0,0 +1,127 @@ +{ + "base_layer_config.#is_none": true, + "batcher_config.#is_none": true, + "class_manager_config.#is_none": true, + "committer_config.#is_none": true, + "components.batcher.execution_mode": "Disabled", + "components.batcher.local_server_config.#is_none": true, + "components.batcher.max_concurrency": 128, + "components.batcher.port": 0, + "components.batcher.remote_client_config.#is_none": true, + "components.batcher.remote_server_config.#is_none": true, + "components.batcher.url": "localhost", + "components.class_manager.execution_mode": "Disabled", + "components.class_manager.local_server_config.#is_none": true, + "components.class_manager.max_concurrency": 128, + "components.class_manager.port": 0, + "components.class_manager.remote_client_config.#is_none": true, + "components.class_manager.remote_server_config.#is_none": true, + "components.class_manager.url": "localhost", + "components.committer.execution_mode": "Disabled", + "components.committer.local_server_config.#is_none": true, + "components.committer.max_concurrency": 128, + "components.committer.port": 0, + "components.committer.remote_client_config.#is_none": true, + "components.committer.remote_server_config.#is_none": true, + "components.committer.url": "localhost", + "components.config_manager.execution_mode": "LocalExecutionWithRemoteDisabled", + "components.config_manager.local_server_config.#is_none": false, + "components.config_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.config_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.config_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.config_manager.local_server_config.processing_time_warning_threshold_ms": 3000, + "components.config_manager.max_concurrency": 128, + "components.config_manager.port": 0, + "components.config_manager.remote_client_config.#is_none": true, + "components.config_manager.remote_server_config.#is_none": true, + "components.config_manager.url": "localhost", + "components.consensus_manager.execution_mode": "Disabled", + "components.gateway.execution_mode": "Disabled", + "components.gateway.local_server_config.#is_none": true, + "components.gateway.max_concurrency": 128, + "components.gateway.port": 0, + "components.gateway.remote_client_config.#is_none": true, + "components.gateway.remote_server_config.#is_none": true, + "components.gateway.url": "localhost", + "components.http_server.execution_mode": "Disabled", + "components.l1_gas_price_provider.execution_mode": "Disabled", + "components.l1_gas_price_provider.local_server_config.#is_none": true, + "components.l1_gas_price_provider.max_concurrency": 128, + "components.l1_gas_price_provider.port": 0, + "components.l1_gas_price_provider.remote_client_config.#is_none": true, + "components.l1_gas_price_provider.remote_server_config.#is_none": true, + "components.l1_gas_price_provider.url": "localhost", + "components.l1_gas_price_scraper.execution_mode": "Disabled", + "components.l1_provider.execution_mode": "Disabled", + "components.l1_provider.local_server_config.#is_none": true, + "components.l1_provider.max_concurrency": 128, + "components.l1_provider.port": 0, + "components.l1_provider.remote_client_config.#is_none": true, + "components.l1_provider.remote_server_config.#is_none": true, + "components.l1_provider.url": "localhost", + "components.l1_scraper.execution_mode": "Disabled", + "components.mempool.execution_mode": "Disabled", + "components.mempool.local_server_config.#is_none": true, + "components.mempool.max_concurrency": 128, + "components.mempool.port": 0, + "components.mempool.remote_client_config.#is_none": true, + "components.mempool.remote_server_config.#is_none": true, + "components.mempool.url": "localhost", + "components.mempool_p2p.execution_mode": "Disabled", + "components.mempool_p2p.local_server_config.#is_none": true, + "components.mempool_p2p.max_concurrency": 128, + "components.mempool_p2p.port": 0, + "components.mempool_p2p.remote_client_config.#is_none": true, + "components.mempool_p2p.remote_server_config.#is_none": true, + "components.mempool_p2p.url": "localhost", + "components.monitoring_endpoint.execution_mode": "Enabled", + "components.proof_manager.execution_mode": "LocalExecutionWithRemoteEnabled", + "components.proof_manager.local_server_config.#is_none": false, + "components.proof_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.processing_time_warning_threshold_ms": 3000, + "components.proof_manager.max_concurrency": 128, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", + "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.remote_server_config.#is_none": false, + "components.proof_manager.remote_server_config.bind_ip": "0.0.0.0", + "components.proof_manager.remote_server_config.max_streams_per_connection": 8, + "components.proof_manager.remote_server_config.set_tcp_nodelay": true, + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", + "components.sierra_compiler.execution_mode": "Disabled", + "components.sierra_compiler.local_server_config.#is_none": true, + "components.sierra_compiler.max_concurrency": 128, + "components.sierra_compiler.port": 0, + "components.sierra_compiler.remote_client_config.#is_none": true, + "components.sierra_compiler.remote_server_config.#is_none": true, + "components.sierra_compiler.url": "localhost", + "components.signature_manager.execution_mode": "Disabled", + "components.signature_manager.local_server_config.#is_none": true, + "components.signature_manager.max_concurrency": 128, + "components.signature_manager.port": 0, + "components.signature_manager.remote_client_config.#is_none": true, + "components.signature_manager.remote_server_config.#is_none": true, + "components.signature_manager.url": "localhost", + "components.state_sync.execution_mode": "Disabled", + "components.state_sync.local_server_config.#is_none": true, + "components.state_sync.max_concurrency": 128, + "components.state_sync.port": 0, + "components.state_sync.remote_client_config.#is_none": true, + "components.state_sync.remote_server_config.#is_none": true, + "components.state_sync.url": "localhost", + "config_manager_config.#is_none": false, + "consensus_manager_config.#is_none": true, + "gateway_config.#is_none": true, + "http_server_config.#is_none": true, + "l1_gas_price_provider_config.#is_none": true, + "l1_gas_price_scraper_config.#is_none": true, + "l1_provider_config.#is_none": true, + "l1_scraper_config.#is_none": true, + "mempool_config.#is_none": true, + "mempool_p2p_config.#is_none": true, + "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": false, + "sierra_compiler_config.#is_none": true, + "state_sync_config.#is_none": true +} diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_sierra_compiler.json b/crates/apollo_deployments/resources/services/distributed/replacer_sierra_compiler.json index 00b41863e8e..2239df0c14f 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_sierra_compiler.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_sierra_compiler.json @@ -121,6 +121,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": false, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_signature_manager.json b/crates/apollo_deployments/resources/services/distributed/replacer_signature_manager.json index 9fc6b4c770c..a82b22f0664 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_signature_manager.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_signature_manager.json @@ -121,6 +121,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/replacer_state_sync.json b/crates/apollo_deployments/resources/services/distributed/replacer_state_sync.json index 9b7b4c8c8ab..787521d24fb 100644 --- a/crates/apollo_deployments/resources/services/distributed/replacer_state_sync.json +++ b/crates/apollo_deployments/resources/services/distributed/replacer_state_sync.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": false } diff --git a/crates/apollo_deployments/resources/services/distributed/sierra_compiler.json b/crates/apollo_deployments/resources/services/distributed/sierra_compiler.json index 5b460802a9f..a7272879516 100644 --- a/crates/apollo_deployments/resources/services/distributed/sierra_compiler.json +++ b/crates/apollo_deployments/resources/services/distributed/sierra_compiler.json @@ -121,6 +121,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": false, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/signature_manager.json b/crates/apollo_deployments/resources/services/distributed/signature_manager.json index 4f25f5a211a..c50588379c2 100644 --- a/crates/apollo_deployments/resources/services/distributed/signature_manager.json +++ b/crates/apollo_deployments/resources/services/distributed/signature_manager.json @@ -121,6 +121,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/distributed/state_sync.json b/crates/apollo_deployments/resources/services/distributed/state_sync.json index c5b0f5808f8..f60e707ed82 100644 --- a/crates/apollo_deployments/resources/services/distributed/state_sync.json +++ b/crates/apollo_deployments/resources/services/distributed/state_sync.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": false } diff --git a/crates/apollo_deployments/resources/services/hybrid/committer.json b/crates/apollo_deployments/resources/services/hybrid/committer.json index fd0fca62600..b66174d4057 100644 --- a/crates/apollo_deployments/resources/services/hybrid/committer.json +++ b/crates/apollo_deployments/resources/services/hybrid/committer.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/core.json b/crates/apollo_deployments/resources/services/hybrid/core.json index 82ad1eaea33..1408987889d 100644 --- a/crates/apollo_deployments/resources/services/hybrid/core.json +++ b/crates/apollo_deployments/resources/services/hybrid/core.json @@ -121,13 +121,20 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", - "components.proof_manager.local_server_config.#is_none": true, + "components.proof_manager.execution_mode": "LocalExecutionWithRemoteEnabled", + "components.proof_manager.local_server_config.#is_none": false, + "components.proof_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.processing_time_warning_threshold_ms": 3000, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, + "components.proof_manager.port": 1, "components.proof_manager.remote_client_config.#is_none": true, - "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.remote_server_config.#is_none": false, + "components.proof_manager.remote_server_config.bind_ip": "0.0.0.0", + "components.proof_manager.remote_server_config.max_streams_per_connection": 8, + "components.proof_manager.remote_server_config.set_tcp_nodelay": true, + "components.proof_manager.url": "remote_service", "components.sierra_compiler.execution_mode": "Remote", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -182,6 +189,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": false, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": false } diff --git a/crates/apollo_deployments/resources/services/hybrid/gateway.json b/crates/apollo_deployments/resources/services/hybrid/gateway.json index faff54173c9..e37c0301118 100644 --- a/crates/apollo_deployments/resources/services/hybrid/gateway.json +++ b/crates/apollo_deployments/resources/services/hybrid/gateway.json @@ -98,13 +98,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": 1, + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "remote_service", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -145,6 +153,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/l1.json b/crates/apollo_deployments/resources/services/hybrid/l1.json index 97e182e7f5b..6b2ad886aef 100644 --- a/crates/apollo_deployments/resources/services/hybrid/l1.json +++ b/crates/apollo_deployments/resources/services/hybrid/l1.json @@ -144,6 +144,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/mempool.json b/crates/apollo_deployments/resources/services/hybrid/mempool.json index 4d7e5c47c9a..598e37bd97b 100644 --- a/crates/apollo_deployments/resources/services/hybrid/mempool.json +++ b/crates/apollo_deployments/resources/services/hybrid/mempool.json @@ -102,13 +102,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": 1, + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "remote_service", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -141,6 +149,7 @@ "mempool_config.#is_none": false, "mempool_p2p_config.#is_none": false, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/replacer_committer.json b/crates/apollo_deployments/resources/services/hybrid/replacer_committer.json index b8ce46272e0..fe9f6441557 100644 --- a/crates/apollo_deployments/resources/services/hybrid/replacer_committer.json +++ b/crates/apollo_deployments/resources/services/hybrid/replacer_committer.json @@ -129,6 +129,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/replacer_core.json b/crates/apollo_deployments/resources/services/hybrid/replacer_core.json index fffa0d6b5d0..ef5599b7551 100644 --- a/crates/apollo_deployments/resources/services/hybrid/replacer_core.json +++ b/crates/apollo_deployments/resources/services/hybrid/replacer_core.json @@ -121,13 +121,20 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", - "components.proof_manager.local_server_config.#is_none": true, + "components.proof_manager.execution_mode": "LocalExecutionWithRemoteEnabled", + "components.proof_manager.local_server_config.#is_none": false, + "components.proof_manager.local_server_config.high_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.inbound_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.normal_priority_requests_channel_capacity": 1024, + "components.proof_manager.local_server_config.processing_time_warning_threshold_ms": 3000, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", "components.proof_manager.remote_client_config.#is_none": true, - "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.remote_server_config.#is_none": false, + "components.proof_manager.remote_server_config.bind_ip": "0.0.0.0", + "components.proof_manager.remote_server_config.max_streams_per_connection": 8, + "components.proof_manager.remote_server_config.set_tcp_nodelay": true, + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", "components.sierra_compiler.execution_mode": "Remote", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -182,6 +189,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": false, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": false } diff --git a/crates/apollo_deployments/resources/services/hybrid/replacer_deployment_core.json b/crates/apollo_deployments/resources/services/hybrid/replacer_deployment_core.json index db55cf2019b..1689fb7d254 100644 --- a/crates/apollo_deployments/resources/services/hybrid/replacer_deployment_core.json +++ b/crates/apollo_deployments/resources/services/hybrid/replacer_deployment_core.json @@ -5,6 +5,7 @@ "crates/apollo_deployments/resources/app_configs/replacer_consensus_manager_config.json", "crates/apollo_deployments/resources/app_configs/replacer_general_config.json", "crates/apollo_deployments/resources/app_configs/replacer_monitoring_endpoint_config.json", + "crates/apollo_deployments/resources/app_configs/replacer_proof_manager_config.json", "crates/apollo_deployments/resources/app_configs/replacer_state_sync_config.json", "crates/apollo_deployments/resources/services/hybrid/replacer_core.json" ] diff --git a/crates/apollo_deployments/resources/services/hybrid/replacer_gateway.json b/crates/apollo_deployments/resources/services/hybrid/replacer_gateway.json index 8da7874af7a..3ae1c12fb3b 100644 --- a/crates/apollo_deployments/resources/services/hybrid/replacer_gateway.json +++ b/crates/apollo_deployments/resources/services/hybrid/replacer_gateway.json @@ -98,13 +98,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -145,6 +153,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/replacer_l1.json b/crates/apollo_deployments/resources/services/hybrid/replacer_l1.json index 4b3b2efba01..a5b932714c5 100644 --- a/crates/apollo_deployments/resources/services/hybrid/replacer_l1.json +++ b/crates/apollo_deployments/resources/services/hybrid/replacer_l1.json @@ -144,6 +144,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/replacer_mempool.json b/crates/apollo_deployments/resources/services/hybrid/replacer_mempool.json index 4c56b3f217b..8540bb6a1e1 100644 --- a/crates/apollo_deployments/resources/services/hybrid/replacer_mempool.json +++ b/crates/apollo_deployments/resources/services/hybrid/replacer_mempool.json @@ -102,13 +102,21 @@ "components.mempool_p2p.remote_server_config.#is_none": true, "components.mempool_p2p.url": "localhost", "components.monitoring_endpoint.execution_mode": "Enabled", - "components.proof_manager.execution_mode": "Disabled", + "components.proof_manager.execution_mode": "Remote", "components.proof_manager.local_server_config.#is_none": true, "components.proof_manager.max_concurrency": 128, - "components.proof_manager.port": 0, - "components.proof_manager.remote_client_config.#is_none": true, + "components.proof_manager.port": "$$$_COMPONENTS-PROOF_MANAGER-PORT_$$$", + "components.proof_manager.remote_client_config.#is_none": false, + "components.proof_manager.remote_client_config.attempts_per_log": 1, + "components.proof_manager.remote_client_config.connection_timeout_ms": 500, + "components.proof_manager.remote_client_config.idle_connections": 10, + "components.proof_manager.remote_client_config.idle_timeout_ms": 30000, + "components.proof_manager.remote_client_config.initial_retry_delay_ms": 1, + "components.proof_manager.remote_client_config.max_retry_interval_ms": 1000, + "components.proof_manager.remote_client_config.retries": 150, + "components.proof_manager.remote_client_config.set_tcp_nodelay": true, "components.proof_manager.remote_server_config.#is_none": true, - "components.proof_manager.url": "localhost", + "components.proof_manager.url": "$$$_COMPONENTS-PROOF_MANAGER-URL_$$$", "components.sierra_compiler.execution_mode": "Disabled", "components.sierra_compiler.local_server_config.#is_none": true, "components.sierra_compiler.max_concurrency": 128, @@ -141,6 +149,7 @@ "mempool_config.#is_none": false, "mempool_p2p_config.#is_none": false, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": true, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/replacer_sierra_compiler.json b/crates/apollo_deployments/resources/services/hybrid/replacer_sierra_compiler.json index 00b41863e8e..2239df0c14f 100644 --- a/crates/apollo_deployments/resources/services/hybrid/replacer_sierra_compiler.json +++ b/crates/apollo_deployments/resources/services/hybrid/replacer_sierra_compiler.json @@ -121,6 +121,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": false, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/resources/services/hybrid/sierra_compiler.json b/crates/apollo_deployments/resources/services/hybrid/sierra_compiler.json index 5b460802a9f..a7272879516 100644 --- a/crates/apollo_deployments/resources/services/hybrid/sierra_compiler.json +++ b/crates/apollo_deployments/resources/services/hybrid/sierra_compiler.json @@ -121,6 +121,7 @@ "mempool_config.#is_none": true, "mempool_p2p_config.#is_none": true, "monitoring_endpoint_config.#is_none": false, + "proof_manager_config.#is_none": true, "sierra_compiler_config.#is_none": false, "state_sync_config.#is_none": true } diff --git a/crates/apollo_deployments/src/deployment_definitions.rs b/crates/apollo_deployments/src/deployment_definitions.rs index b16e54376f5..7cae48bc3cd 100644 --- a/crates/apollo_deployments/src/deployment_definitions.rs +++ b/crates/apollo_deployments/src/deployment_definitions.rs @@ -86,6 +86,7 @@ pub enum InfraServicePort { L1GasPriceProvider, L1Provider, Mempool, + ProofManager, SierraCompiler, SignatureManager, StateSync, @@ -151,6 +152,7 @@ pub enum ComponentConfigInService { Mempool, MempoolP2p, MonitoringEndpoint, + ProofManager, SierraCompiler, SignatureManager, StateSync, diff --git a/crates/apollo_deployments/src/deployments/consolidated.rs b/crates/apollo_deployments/src/deployments/consolidated.rs index b4b248fb451..5b84784d6ad 100644 --- a/crates/apollo_deployments/src/deployments/consolidated.rs +++ b/crates/apollo_deployments/src/deployments/consolidated.rs @@ -73,7 +73,7 @@ fn get_consolidated_config() -> ComponentConfig { mempool: base.clone(), mempool_p2p: base.clone(), monitoring_endpoint: ActiveComponentExecutionConfig::enabled(), - proof_manager: ReactiveComponentExecutionConfig::disabled(), + proof_manager: base.clone(), sierra_compiler: base.clone(), signature_manager: base.clone(), state_sync: base.clone(), diff --git a/crates/apollo_deployments/src/deployments/distributed.rs b/crates/apollo_deployments/src/deployments/distributed.rs index 4ef4c95aa6c..3efa0fedb60 100644 --- a/crates/apollo_deployments/src/deployments/distributed.rs +++ b/crates/apollo_deployments/src/deployments/distributed.rs @@ -19,7 +19,7 @@ use crate::scale_policy::ScalePolicy; use crate::service::{GetComponentConfigs, NodeService, ServiceNameInner}; use crate::utils::validate_ports; -pub const DISTRIBUTED_NODE_REQUIRED_PORTS_NUM: usize = 10; +pub const DISTRIBUTED_NODE_REQUIRED_PORTS_NUM: usize = 11; pub const RETRIES_FOR_L1_SERVICES: usize = 0; @@ -35,6 +35,7 @@ pub enum DistributedNodeServiceName { HttpServer, Gateway, L1, + ProofManager, Mempool, SierraCompiler, SignatureManager, @@ -83,6 +84,8 @@ impl GetComponentConfigs for DistributedNodeServiceName { Self::L1.component_config_pair(service_ports[&InfraServicePort::L1Provider]); let mempool = Self::Mempool.component_config_pair(service_ports[&InfraServicePort::Mempool]); + let proof_manager = Self::ProofManager + .component_config_pair(service_ports[&InfraServicePort::ProofManager]); let sierra_compiler = Self::SierraCompiler .component_config_pair(service_ports[&InfraServicePort::SierraCompiler]); let signature_manager = Self::SignatureManager @@ -99,6 +102,7 @@ impl GetComponentConfigs for DistributedNodeServiceName { committer.remote(), l1_provider.remote(), mempool.remote(), + proof_manager.remote(), ), Self::Committer => { get_committer_component_config(committer.local(), batcher.remote()) @@ -111,6 +115,7 @@ impl GetComponentConfigs for DistributedNodeServiceName { batcher.remote(), class_manager.remote(), l1_gas_price_provider.remote(), + proof_manager.remote(), state_sync.remote(), signature_manager.remote(), ), @@ -119,6 +124,7 @@ impl GetComponentConfigs for DistributedNodeServiceName { gateway.local(), class_manager.remote(), mempool.remote(), + proof_manager.remote(), state_sync.remote(), ), Self::L1 => get_l1_component_config( @@ -131,7 +137,9 @@ impl GetComponentConfigs for DistributedNodeServiceName { mempool.local(), class_manager.remote(), gateway.remote(), + proof_manager.remote(), ), + Self::ProofManager => get_proof_manager_component_config(proof_manager.local()), Self::SierraCompiler => { get_sierra_compiler_component_config(sierra_compiler.local()) } @@ -160,6 +168,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | Self::HttpServer | Self::L1 | Self::Mempool + | Self::ProofManager | Self::StateSync | Self::SignatureManager => ScalePolicy::StaticallyScaled, Self::Gateway | Self::SierraCompiler => ScalePolicy::AutoScaled, @@ -174,6 +183,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | Self::ConsensusManager | Self::HttpServer | Self::Mempool + | Self::ProofManager | Self::StateSync | Self::SignatureManager | Self::Gateway @@ -207,6 +217,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -234,6 +245,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -261,6 +273,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -288,6 +301,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -315,6 +329,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -342,6 +357,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -369,6 +385,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::HttpServer | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -396,6 +413,35 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1GasPriceScraper | ComponentConfigInService::L1Provider | ComponentConfigInService::L1Scraper + | ComponentConfigInService::ProofManager + | ComponentConfigInService::SierraCompiler + | ComponentConfigInService::SignatureManager + | ComponentConfigInService::StateSync => {} + } + } + } + Self::ProofManager => { + for component_config_in_service in ComponentConfigInService::iter() { + match component_config_in_service { + ComponentConfigInService::ConfigManager + | ComponentConfigInService::General + | ComponentConfigInService::MonitoringEndpoint + | ComponentConfigInService::ProofManager => { + components.insert(component_config_in_service); + } + ComponentConfigInService::BaseLayer + | ComponentConfigInService::Batcher + | ComponentConfigInService::ClassManager + | ComponentConfigInService::Committer + | ComponentConfigInService::ConsensusManager + | ComponentConfigInService::Gateway + | ComponentConfigInService::HttpServer + | ComponentConfigInService::L1GasPriceProvider + | ComponentConfigInService::L1GasPriceScraper + | ComponentConfigInService::L1Provider + | ComponentConfigInService::L1Scraper + | ComponentConfigInService::Mempool + | ComponentConfigInService::MempoolP2p | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -424,6 +470,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} } @@ -451,6 +498,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::StateSync => {} } @@ -478,6 +526,7 @@ impl ServiceNameInner for DistributedNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager => {} } @@ -506,6 +555,7 @@ fn get_batcher_component_config( committer_remote_config: ReactiveComponentExecutionConfig, l1_provider_remote_config: ReactiveComponentExecutionConfig, mempool_remote_config: ReactiveComponentExecutionConfig, + proof_manager_remote_config: ReactiveComponentExecutionConfig, ) -> ComponentConfig { let mut config = ComponentConfig::disabled(); config.batcher = batcher_local_config; @@ -514,6 +564,7 @@ fn get_batcher_component_config( config.committer = committer_remote_config; config.l1_provider = l1_provider_remote_config; config.mempool = mempool_remote_config; + config.proof_manager = proof_manager_remote_config; config.monitoring_endpoint = ActiveComponentExecutionConfig::enabled(); config } @@ -544,6 +595,7 @@ fn get_gateway_component_config( gateway_local_config: ReactiveComponentExecutionConfig, class_manager_remote_config: ReactiveComponentExecutionConfig, mempool_remote_config: ReactiveComponentExecutionConfig, + proof_manager_remote_config: ReactiveComponentExecutionConfig, state_sync_remote_config: ReactiveComponentExecutionConfig, ) -> ComponentConfig { let mut config = ComponentConfig::disabled(); @@ -551,6 +603,7 @@ fn get_gateway_component_config( config.class_manager = class_manager_remote_config; config.config_manager = ReactiveComponentExecutionConfig::local_with_remote_disabled(); config.mempool = mempool_remote_config; + config.proof_manager = proof_manager_remote_config; config.state_sync = state_sync_remote_config; config.monitoring_endpoint = ActiveComponentExecutionConfig::enabled(); config @@ -560,6 +613,7 @@ fn get_mempool_component_config( mempool_local_config: ReactiveComponentExecutionConfig, class_manager_remote_config: ReactiveComponentExecutionConfig, gateway_remote_config: ReactiveComponentExecutionConfig, + proof_manager_remote_config: ReactiveComponentExecutionConfig, ) -> ComponentConfig { let mut config = ComponentConfig::disabled(); config.mempool = mempool_local_config; @@ -567,6 +621,17 @@ fn get_mempool_component_config( config.class_manager = class_manager_remote_config; config.config_manager = ReactiveComponentExecutionConfig::local_with_remote_disabled(); config.gateway = gateway_remote_config; + config.proof_manager = proof_manager_remote_config; + config.monitoring_endpoint = ActiveComponentExecutionConfig::enabled(); + config +} + +fn get_proof_manager_component_config( + proof_manager_local_config: ReactiveComponentExecutionConfig, +) -> ComponentConfig { + let mut config = ComponentConfig::disabled(); + config.proof_manager = proof_manager_local_config; + config.config_manager = ReactiveComponentExecutionConfig::local_with_remote_disabled(); config.monitoring_endpoint = ActiveComponentExecutionConfig::enabled(); config } @@ -597,6 +662,7 @@ fn get_consensus_manager_component_config( batcher_remote_config: ReactiveComponentExecutionConfig, class_manager_remote_config: ReactiveComponentExecutionConfig, l1_gas_price_provider_remote_config: ReactiveComponentExecutionConfig, + proof_manager_remote_config: ReactiveComponentExecutionConfig, state_sync_remote_config: ReactiveComponentExecutionConfig, signature_manager_remote_config: ReactiveComponentExecutionConfig, ) -> ComponentConfig { @@ -606,6 +672,7 @@ fn get_consensus_manager_component_config( config.batcher = batcher_remote_config; config.class_manager = class_manager_remote_config; config.l1_gas_price_provider = l1_gas_price_provider_remote_config; + config.proof_manager = proof_manager_remote_config; config.state_sync = state_sync_remote_config; config.monitoring_endpoint = ActiveComponentExecutionConfig::enabled(); config.signature_manager = signature_manager_remote_config; diff --git a/crates/apollo_deployments/src/deployments/hybrid.rs b/crates/apollo_deployments/src/deployments/hybrid.rs index 63a40b70897..017d6dd8296 100644 --- a/crates/apollo_deployments/src/deployments/hybrid.rs +++ b/crates/apollo_deployments/src/deployments/hybrid.rs @@ -20,13 +20,14 @@ use crate::scale_policy::ScalePolicy; use crate::service::{GetComponentConfigs, NodeService, ServiceNameInner}; use crate::utils::validate_ports; -pub const HYBRID_NODE_REQUIRED_PORTS_NUM: usize = 10; +pub const HYBRID_NODE_REQUIRED_PORTS_NUM: usize = 11; #[derive(Clone, Copy, Debug, Display, PartialEq, Eq, Hash, Serialize, AsRefStr, EnumIter)] #[strum(serialize_all = "snake_case")] pub enum HybridNodeServiceName { Committer, - Core, // Comprises the batcher, class manager, consensus manager, and state sync. + Core, /* Comprises the batcher, class manager, consensus manager, proof manager, and + * state sync. */ Gateway, // Comprises the gateway and http server L1, // Comprises the various l1 components. Mempool, @@ -75,6 +76,8 @@ impl GetComponentConfigs for HybridNodeServiceName { Self::L1.component_config_pair(service_ports[&InfraServicePort::L1Provider]); let mempool = Self::Mempool.component_config_pair(service_ports[&InfraServicePort::Mempool]); + let proof_manager = + Self::Core.component_config_pair(service_ports[&InfraServicePort::ProofManager]); let sierra_compiler = Self::SierraCompiler .component_config_pair(service_ports[&InfraServicePort::SierraCompiler]); let signature_manager = @@ -96,6 +99,7 @@ impl GetComponentConfigs for HybridNodeServiceName { l1_provider.remote(), state_sync.local(), mempool.remote(), + proof_manager.local(), sierra_compiler.remote(), signature_manager.local(), ), @@ -103,6 +107,7 @@ impl GetComponentConfigs for HybridNodeServiceName { gateway.local(), class_manager.remote(), mempool.remote(), + proof_manager.remote(), state_sync.remote(), ), Self::L1 => get_l1_component_config( @@ -115,6 +120,7 @@ impl GetComponentConfigs for HybridNodeServiceName { mempool.local(), class_manager.remote(), gateway.remote(), + proof_manager.remote(), ), Self::SierraCompiler => { get_sierra_compiler_component_config(sierra_compiler.local()) @@ -171,6 +177,7 @@ impl ServiceNameInner for HybridNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -186,6 +193,7 @@ impl ServiceNameInner for HybridNodeServiceName { | ComponentConfigInService::ConfigManager | ComponentConfigInService::General | ComponentConfigInService::MonitoringEndpoint + | ComponentConfigInService::ProofManager | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => { components.insert(component_config_in_service); @@ -225,6 +233,7 @@ impl ServiceNameInner for HybridNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -252,6 +261,7 @@ impl ServiceNameInner for HybridNodeServiceName { | ComponentConfigInService::HttpServer | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -279,6 +289,7 @@ impl ServiceNameInner for HybridNodeServiceName { | ComponentConfigInService::L1GasPriceScraper | ComponentConfigInService::L1Provider | ComponentConfigInService::L1Scraper + | ComponentConfigInService::ProofManager | ComponentConfigInService::SierraCompiler | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} @@ -307,6 +318,7 @@ impl ServiceNameInner for HybridNodeServiceName { | ComponentConfigInService::L1Scraper | ComponentConfigInService::Mempool | ComponentConfigInService::MempoolP2p + | ComponentConfigInService::ProofManager | ComponentConfigInService::SignatureManager | ComponentConfigInService::StateSync => {} } @@ -338,6 +350,7 @@ fn get_core_component_config( l1_provider_remote_config: ReactiveComponentExecutionConfig, state_sync_local_config: ReactiveComponentExecutionConfig, mempool_remote_config: ReactiveComponentExecutionConfig, + proof_manager_local_config: ReactiveComponentExecutionConfig, sierra_compiler_remote_config: ReactiveComponentExecutionConfig, signature_manager_remote_config: ReactiveComponentExecutionConfig, ) -> ComponentConfig { @@ -349,6 +362,7 @@ fn get_core_component_config( config.consensus_manager = ActiveComponentExecutionConfig::enabled(); config.l1_gas_price_provider = l1_gas_price_provider_remote_config; config.l1_provider = l1_provider_remote_config; + config.proof_manager = proof_manager_local_config; config.sierra_compiler = sierra_compiler_remote_config; config.signature_manager = signature_manager_remote_config; config.state_sync = state_sync_local_config; @@ -361,6 +375,7 @@ fn get_gateway_component_config( gateway_local_config: ReactiveComponentExecutionConfig, class_manager_remote_config: ReactiveComponentExecutionConfig, mempool_remote_config: ReactiveComponentExecutionConfig, + proof_manager_remote_config: ReactiveComponentExecutionConfig, state_sync_remote_config: ReactiveComponentExecutionConfig, ) -> ComponentConfig { let mut config = ComponentConfig::disabled(); @@ -369,6 +384,7 @@ fn get_gateway_component_config( config.class_manager = class_manager_remote_config; config.config_manager = ReactiveComponentExecutionConfig::local_with_remote_disabled(); config.mempool = mempool_remote_config; + config.proof_manager = proof_manager_remote_config; config.state_sync = state_sync_remote_config; config.monitoring_endpoint = ActiveComponentExecutionConfig::enabled(); config @@ -396,6 +412,7 @@ fn get_mempool_component_config( mempool_local_config: ReactiveComponentExecutionConfig, class_manager_remote_config: ReactiveComponentExecutionConfig, gateway_remote_config: ReactiveComponentExecutionConfig, + proof_manager_remote_config: ReactiveComponentExecutionConfig, ) -> ComponentConfig { let mut config = ComponentConfig::disabled(); config.mempool = mempool_local_config; @@ -403,6 +420,7 @@ fn get_mempool_component_config( config.class_manager = class_manager_remote_config; config.config_manager = ReactiveComponentExecutionConfig::local_with_remote_disabled(); config.gateway = gateway_remote_config; + config.proof_manager = proof_manager_remote_config; config.monitoring_endpoint = ActiveComponentExecutionConfig::enabled(); config } diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml index 8e857c6eeb6..06f4d02dbea 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml @@ -33,6 +33,8 @@ config: components_sierra_compiler_url: sequencer-sierracompiler-service components_signature_manager_port: 55008 components_signature_manager_url: sequencer-core-service + components_proof_manager_port: 55012 + components_proof_manager_url: sequencer-core-service components_state_sync_port: 55009 components_state_sync_url: sequencer-core-service consensus_manager_config_consensus_manager_config_dynamic_config_timeouts_proposal_base: 9.1 diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml index 4d733792081..098ae1fc5f3 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml @@ -11,6 +11,8 @@ config: components_mempool_url: sequencer-mempool-service components_gateway_port: 55002 components_gateway_url: sequencer-gateway-service + components_proof_manager_port: 55012 + components_proof_manager_url: sequencer-core-service components_state_sync_port: 55009 components_state_sync_url: sequencer-core-service gateway_config_authorized_declarer_accounts: "" diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml index b4cd482a49d..acdc7a69e02 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml @@ -11,6 +11,8 @@ config: components_gateway_url: sequencer-gateway-service components_mempool_port: 55006 components_mempool_url: sequencer-mempool-service + components_proof_manager_port: 55012 + components_proof_manager_url: sequencer-core-service mempool_config_dynamic_config_transaction_ttl: 300 mempool_p2p_config_network_config_advertised_multiaddr_is_none: true mempool_p2p_config_network_config_advertised_multiaddr: ""