@@ -417,34 +417,28 @@ impl<'a> DependenciesBuilder<'a> {
417
417
_ => None ,
418
418
} ;
419
419
420
+ #[ cfg( feature = "future_dmq" ) ]
420
421
let signature_publisher = {
421
422
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 > ,
448
442
} ,
449
443
SignaturePublishRetryPolicy :: never ( ) ,
450
444
) ;
@@ -460,11 +454,36 @@ impl<'a> DependenciesBuilder<'a> {
460
454
) ;
461
455
462
456
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 >
468
487
} else {
469
488
Arc :: new ( SignaturePublisherDelayer :: new (
470
489
Arc :: new ( first_publisher) ,
0 commit comments