@@ -49,6 +49,8 @@ use apollo_node_config::component_execution_config::{
4949 ReactiveComponentExecutionMode,
5050};
5151use apollo_node_config::node_config::SequencerNodeConfig;
52+ use apollo_proof_manager::communication::{LocalProofManagerServer, RemoteProofManagerServer};
53+ use apollo_proof_manager::metrics::PROOF_MANAGER_INFRA_METRICS;
5254use apollo_signature_manager::communication::{
5355 LocalSignatureManagerServer,
5456 RemoteSignatureManagerServer,
@@ -79,6 +81,7 @@ struct LocalServers {
7981 pub(crate) l1_gas_price_provider: Option<Box<LocalL1GasPriceServer>>,
8082 pub(crate) mempool: Option<Box<LocalMempoolServer>>,
8183 pub(crate) mempool_p2p_propagator: Option<Box<LocalMempoolP2pPropagatorServer>>,
84+ pub(crate) proof_manager: Option<Box<LocalProofManagerServer>>,
8285 pub(crate) sierra_compiler: Option<Box<LocalSierraCompilerServer>>,
8386 pub(crate) signature_manager: Option<Box<LocalSignatureManagerServer>>,
8487 pub(crate) state_sync: Option<Box<LocalStateSyncServer>>,
@@ -110,6 +113,7 @@ pub struct RemoteServers {
110113 pub l1_gas_price_provider: Option<Box<RemoteL1GasPriceServer>>,
111114 pub mempool: Option<Box<RemoteMempoolServer>>,
112115 pub mempool_p2p_propagator: Option<Box<RemoteMempoolP2pPropagatorServer>>,
116+ pub proof_manager: Option<Box<RemoteProofManagerServer>>,
113117 pub sierra_compiler: Option<Box<RemoteSierraCompilerServer>>,
114118 pub signature_manager: Option<Box<RemoteSignatureManagerServer>>,
115119 pub state_sync: Option<Box<RemoteStateSyncServer>>,
@@ -402,6 +406,21 @@ fn create_local_servers(
402406 &MEMPOOL_P2P_INFRA_METRICS.get_local_server_metrics()
403407 );
404408
409+ let proof_manager_server = create_local_server!(
410+ CONCURRENT_LOCAL_SERVER,
411+ &config.components.proof_manager.execution_mode,
412+ &mut components.proof_manager,
413+ &config
414+ .components
415+ .proof_manager
416+ .local_server_config
417+ .as_ref()
418+ .expect("Proof manager local server config should be available."),
419+ communication.take_proof_manager_rx(),
420+ &PROOF_MANAGER_INFRA_METRICS.get_local_server_metrics(),
421+ config.components.proof_manager.max_concurrency
422+ );
423+
405424 let sierra_compiler_server = create_local_server!(
406425 CONCURRENT_LOCAL_SERVER,
407426 &config.components.sierra_compiler.execution_mode,
@@ -454,6 +473,7 @@ fn create_local_servers(
454473 gateway: gateway_server,
455474 l1_provider: l1_provider_server,
456475 l1_gas_price_provider: l1_gas_price_provider_server,
476+ proof_manager: proof_manager_server,
457477 mempool: mempool_server,
458478 mempool_p2p_propagator: mempool_p2p_propagator_server,
459479 sierra_compiler: sierra_compiler_server,
@@ -483,6 +503,7 @@ impl LocalServers {
483503 server_future_and_label(self.l1_gas_price_provider, "Local L1 Gas Price Provider"),
484504 server_future_and_label(self.mempool, "Local Mempool"),
485505 server_future_and_label(self.mempool_p2p_propagator, "Local Mempool P2p Propagator"),
506+ server_future_and_label(self.proof_manager, "Local Proof Manager"),
486507 server_future_and_label(self.sierra_compiler, "Concurrent Local Sierra Compiler"),
487508 server_future_and_label(self.signature_manager, "Concurrent Local Signature Manager"),
488509 server_future_and_label(self.state_sync, "Local State Sync"),
@@ -558,6 +579,15 @@ pub fn create_remote_servers(
558579 MEMPOOL_P2P_INFRA_METRICS.get_remote_server_metrics()
559580 );
560581
582+ let proof_manager_server = create_remote_server!(
583+ &config.components.proof_manager.execution_mode,
584+ || { clients.get_proof_manager_local_client() },
585+ config.components.proof_manager.remote_server_config,
586+ config.components.proof_manager.port,
587+ config.components.proof_manager.max_concurrency,
588+ PROOF_MANAGER_INFRA_METRICS.get_remote_server_metrics()
589+ );
590+
561591 let sierra_compiler_server = create_remote_server!(
562592 &config.components.sierra_compiler.execution_mode,
563593 || { clients.get_sierra_compiler_local_client() },
@@ -593,6 +623,7 @@ pub fn create_remote_servers(
593623 l1_gas_price_provider: l1_gas_price_provider_server,
594624 mempool: mempool_server,
595625 mempool_p2p_propagator: mempool_p2p_propagator_server,
626+ proof_manager: proof_manager_server,
596627 sierra_compiler: sierra_compiler_server,
597628 signature_manager: signature_manager_server,
598629 state_sync: state_sync_server,
@@ -609,6 +640,7 @@ impl RemoteServers {
609640 server_future_and_label(self.l1_gas_price_provider, "Remote L1 Gas Price Provider"),
610641 server_future_and_label(self.mempool, "Remote Mempool"),
611642 server_future_and_label(self.mempool_p2p_propagator, "Remote Mempool P2p Propagator"),
643+ server_future_and_label(self.proof_manager, "Remote Proof Manager"),
612644 server_future_and_label(self.sierra_compiler, "Remote Sierra Compiler"),
613645 server_future_and_label(self.signature_manager, "Remote Signature Manager"),
614646 server_future_and_label(self.state_sync, "Remote State Sync"),
0 commit comments