Skip to content

Commit d433c6a

Browse files
apollo_node: integrate proof manager server
1 parent 85cb9ad commit d433c6a

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

crates/apollo_node/src/servers.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ use apollo_node_config::component_execution_config::{
4949
ReactiveComponentExecutionMode,
5050
};
5151
use apollo_node_config::node_config::SequencerNodeConfig;
52+
use apollo_proof_manager::communication::{LocalProofManagerServer, RemoteProofManagerServer};
53+
use apollo_proof_manager::metrics::PROOF_MANAGER_INFRA_METRICS;
5254
use 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"),

crates/apollo_proof_manager/src/proof_manager.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ impl SerializeConfig for ProofManagerConfig {
3333
}
3434
}
3535
/// Proof manager that wraps filesystem-based proof storage.
36+
#[derive(Clone)]
3637
pub struct ProofManager {
3738
pub proof_storage: FsProofStorage,
3839
}

crates/apollo_proof_manager/src/proof_storage.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ pub enum FsProofStorageError {
3030

3131
type FsProofStorageResult<T> = Result<T, FsProofStorageError>;
3232

33+
#[derive(Clone)]
3334
pub struct FsProofStorage {
3435
persistent_root: PathBuf,
3536
}

0 commit comments

Comments
 (0)