@@ -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