Skip to content

Commit af9fa40

Browse files
committed
refactor(signer): make signature publisher build more readable in CI
1 parent 0800bdd commit af9fa40

File tree

1 file changed

+50
-31
lines changed

1 file changed

+50
-31
lines changed

mithril-signer/src/dependency_injection/builder.rs

Lines changed: 50 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -417,34 +417,28 @@ impl<'a> DependenciesBuilder<'a> {
417417
_ => None,
418418
};
419419

420+
#[cfg(feature = "future_dmq")]
420421
let signature_publisher = {
421422
let first_publisher = SignaturePublisherRetrier::new(
422-
{
423-
#[cfg(feature = "future_dmq")]
424-
let publisher = match &self.config.dmq_node_socket_path {
425-
Some(dmq_node_socket_path) => {
426-
let cardano_network = &self.config.get_network()?;
427-
let dmq_message_builder = DmqMessageBuilder::new(
428-
kes_signer.clone().ok_or(anyhow!(
429-
"A KES signer is mandatory to sign DMQ messages"
430-
))?,
431-
chain_observer.clone(),
432-
);
433-
Arc::new(SignaturePublisherDmq::new(Arc::new(
434-
DmqPublisherClientPallas::<RegisterSignatureMessageDmq>::new(
435-
dmq_node_socket_path.to_owned(),
436-
*cardano_network,
437-
dmq_message_builder,
438-
self.root_logger(),
439-
),
440-
))) as Arc<dyn SignaturePublisher>
441-
}
442-
_ => Arc::new(SignaturePublisherNoop) as Arc<dyn SignaturePublisher>,
443-
};
444-
#[cfg(not(feature = "future_dmq"))]
445-
let publisher = Arc::new(SignaturePublisherNoop) as Arc<dyn SignaturePublisher>;
446-
447-
publisher
423+
match &self.config.dmq_node_socket_path {
424+
Some(dmq_node_socket_path) => {
425+
let cardano_network = &self.config.get_network()?;
426+
let dmq_message_builder = DmqMessageBuilder::new(
427+
kes_signer
428+
.clone()
429+
.ok_or(anyhow!("A KES signer is mandatory to sign DMQ messages"))?,
430+
chain_observer.clone(),
431+
);
432+
Arc::new(SignaturePublisherDmq::new(Arc::new(
433+
DmqPublisherClientPallas::<RegisterSignatureMessageDmq>::new(
434+
dmq_node_socket_path.to_owned(),
435+
*cardano_network,
436+
dmq_message_builder,
437+
self.root_logger(),
438+
),
439+
))) as Arc<dyn SignaturePublisher>
440+
}
441+
_ => Arc::new(SignaturePublisherNoop) as Arc<dyn SignaturePublisher>,
448442
},
449443
SignaturePublishRetryPolicy::never(),
450444
);
@@ -460,11 +454,36 @@ impl<'a> DependenciesBuilder<'a> {
460454
);
461455

462456
if self.config.signature_publisher_config.skip_delayer {
463-
if cfg!(feature = "future_dmq") {
464-
Arc::new(first_publisher) as Arc<dyn SignaturePublisher>
465-
} else {
466-
Arc::new(second_publisher) as Arc<dyn SignaturePublisher>
467-
}
457+
Arc::new(first_publisher) as Arc<dyn SignaturePublisher>
458+
} else {
459+
Arc::new(SignaturePublisherDelayer::new(
460+
Arc::new(first_publisher),
461+
Arc::new(second_publisher),
462+
Duration::from_millis(self.config.signature_publisher_config.delayer_delay_ms),
463+
self.root_logger(),
464+
)) as Arc<dyn SignaturePublisher>
465+
}
466+
};
467+
468+
#[cfg(not(feature = "future_dmq"))]
469+
let signature_publisher = {
470+
let first_publisher = SignaturePublisherRetrier::new(
471+
Arc::new(SignaturePublisherNoop) as Arc<dyn SignaturePublisher>,
472+
SignaturePublishRetryPolicy::never(),
473+
);
474+
475+
let second_publisher = SignaturePublisherRetrier::new(
476+
aggregator_client.clone(),
477+
SignaturePublishRetryPolicy {
478+
attempts: self.config.signature_publisher_config.retry_attempts,
479+
delay_between_attempts: Duration::from_millis(
480+
self.config.signature_publisher_config.retry_delay_ms,
481+
),
482+
},
483+
);
484+
485+
if self.config.signature_publisher_config.skip_delayer {
486+
Arc::new(second_publisher) as Arc<dyn SignaturePublisher>
468487
} else {
469488
Arc::new(SignaturePublisherDelayer::new(
470489
Arc::new(first_publisher),

0 commit comments

Comments
 (0)