Skip to content

Commit caeec39

Browse files
committed
feat(dmq): update aggregator command for DMQ messages
1 parent cdf3ec8 commit caeec39

File tree

1 file changed

+35
-4
lines changed

1 file changed

+35
-4
lines changed

mithril-relay/src/commands/aggregator.rs

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1+
use std::path::PathBuf;
2+
13
use clap::Parser;
24
use libp2p::Multiaddr;
3-
use mithril_common::StdResult;
45
use slog::error;
56

6-
use super::CommandContext;
7+
use mithril_common::{CardanoNetwork, StdResult};
8+
79
use crate::AggregatorRelay;
810

11+
use super::CommandContext;
12+
913
#[derive(Parser, Debug, Clone)]
1014
pub struct AggregatorCommand {
1115
/// Peer listening port
@@ -16,6 +20,24 @@ pub struct AggregatorCommand {
1620
#[clap(long, env = "DIAL_TO")]
1721
dial_to: Option<Multiaddr>,
1822

23+
/// Path to the DMQ socket file
24+
#[clap(
25+
long,
26+
env = "DMQ_NODE_SOCKET_PATH",
27+
value_name = "PATH",
28+
default_value = "./dmq.socket"
29+
)]
30+
dmq_node_socket_path: PathBuf,
31+
32+
/// Cardano network
33+
#[clap(long, env = "NETWORK")]
34+
pub network: String,
35+
36+
/// Cardano Network Magic number
37+
/// useful for TestNet & DevNet
38+
#[clap(long, env = "NETWORK_MAGIC")]
39+
pub network_magic: Option<u64>,
40+
1941
/// Aggregator endpoint URL.
2042
#[clap(long, env = "AGGREGATOR_ENDPOINT")]
2143
aggregator_endpoint: String,
@@ -24,12 +46,21 @@ pub struct AggregatorCommand {
2446
impl AggregatorCommand {
2547
/// Main command execution
2648
pub async fn execute(&self, context: CommandContext) -> StdResult<()> {
49+
let logger = context.logger();
2750
let dial_to = self.dial_to.to_owned();
2851
let addr: Multiaddr = format!("/ip4/0.0.0.0/tcp/{}", self.listen_port).parse()?;
2952
let aggregator_endpoint = self.aggregator_endpoint.to_owned();
30-
let logger = context.logger();
53+
let cardano_network =
54+
CardanoNetwork::from_code(self.network.to_owned(), self.network_magic)?;
3155

32-
let mut relay = AggregatorRelay::start(&addr, &aggregator_endpoint, logger).await?;
56+
let mut relay = AggregatorRelay::start(
57+
&addr,
58+
&self.dmq_node_socket_path,
59+
&cardano_network,
60+
&aggregator_endpoint,
61+
logger,
62+
)
63+
.await?;
3364
if let Some(dial_to_address) = dial_to {
3465
relay.dial_peer(dial_to_address.clone())?;
3566
}

0 commit comments

Comments
 (0)