@@ -14,7 +14,7 @@ use mithril_protocol_config::model::MithrilNetworkConfiguration;
1414
1515use crate :: Configuration ;
1616use crate :: dependency_injection:: SignerDependencyContainer ;
17- use crate :: entities:: { BeaconToSign , SignerEpochSettings } ;
17+ use crate :: entities:: { BeaconToSign , RegisteredSigners } ;
1818use crate :: services:: { EpochService , MithrilProtocolInitializerBuilder } ;
1919
2020/// This trait is mainly intended for mocking.
@@ -29,7 +29,7 @@ pub trait Runner: Send + Sync {
2929 /// Fetch the current epoch settings if any.
3030 async fn get_signer_registrations_from_aggregator (
3131 & self ,
32- ) -> StdResult < Option < SignerEpochSettings > > ;
32+ ) -> StdResult < Option < RegisteredSigners > > ;
3333
3434 /// Fetch the beacon to sign if any.
3535 async fn get_beacon_to_sign ( & self , time_point : TimePoint ) -> StdResult < Option < BeaconToSign > > ;
@@ -131,10 +131,13 @@ impl Runner for SignerRunner {
131131
132132 async fn get_signer_registrations_from_aggregator (
133133 & self ,
134- ) -> StdResult < Option < SignerEpochSettings > > {
134+ ) -> StdResult < Option < RegisteredSigners > > {
135135 debug ! ( self . logger, ">> get_epoch_settings" ) ;
136136
137- self . services . certificate_handler . retrieve_epoch_settings ( ) . await
137+ self . services
138+ . signers_registration_retriever
139+ . retrieve_all_signer_registrations ( )
140+ . await
138141 }
139142
140143 async fn get_beacon_to_sign ( & self , time_point : TimePoint ) -> StdResult < Option < BeaconToSign > > {
@@ -233,7 +236,7 @@ impl Runner for SignerRunner {
233236 kes_period,
234237 ) ;
235238 self . services
236- . certificate_handler
239+ . signer_registration_publisher
237240 . register_signer ( epoch_offset_to_recording_epoch, & signer)
238241 . await ?;
239242
@@ -414,9 +417,10 @@ mod tests {
414417 use crate :: database:: test_helper:: main_db_connection;
415418 use crate :: metrics:: MetricsService ;
416419 use crate :: services:: {
417- CardanoTransactionsImporter , DumbAggregatorClient , MithrilEpochService ,
418- MithrilSingleSigner , MockTransactionStore , MockUpkeepService , SignerCertifierService ,
419- SignerSignableSeedBuilder , SignerSignedEntityConfigProvider ,
420+ CardanoTransactionsImporter , DumbSignersRegistrationRetriever , MithrilEpochService ,
421+ MithrilSingleSigner , MockTransactionStore , MockUpkeepService , SignaturePublisherNoop ,
422+ SignerCertifierService , SignerSignableSeedBuilder , SignerSignedEntityConfigProvider ,
423+ SpySignerRegistrationPublisher ,
420424 } ;
421425 use crate :: test_tools:: TestLogger ;
422426
@@ -546,13 +550,12 @@ mod tests {
546550 Arc :: new ( CardanoTransactionsPreloaderActivation :: new ( true ) ) ,
547551 ) ) ;
548552 let upkeep_service = Arc :: new ( MockUpkeepService :: new ( ) ) ;
549- let aggregator_client = Arc :: new ( DumbAggregatorClient :: default ( ) ) ;
550553 let certifier = Arc :: new ( SignerCertifierService :: new (
551554 Arc :: new ( SignedBeaconRepository :: new ( sqlite_connection. clone ( ) , None ) ) ,
552555 Arc :: new ( SignerSignedEntityConfigProvider :: new ( epoch_service. clone ( ) ) ) ,
553556 signed_entity_type_lock. clone ( ) ,
554557 single_signer. clone ( ) ,
555- aggregator_client . clone ( ) ,
558+ Arc :: new ( SignaturePublisherNoop ) ,
556559 logger. clone ( ) ,
557560 ) ) ;
558561 let kes_signer = None ;
@@ -569,7 +572,6 @@ mod tests {
569572
570573 SignerDependencyContainer {
571574 stake_store,
572- certificate_handler : aggregator_client,
573575 chain_observer,
574576 digester,
575577 single_signer,
@@ -585,6 +587,8 @@ mod tests {
585587 upkeep_service,
586588 epoch_service,
587589 certifier,
590+ signer_registration_publisher : Arc :: new ( SpySignerRegistrationPublisher :: default ( ) ) ,
591+ signers_registration_retriever : Arc :: new ( DumbSignersRegistrationRetriever :: default ( ) ) ,
588592 kes_signer,
589593 network_configuration_service,
590594 }
@@ -659,8 +663,8 @@ mod tests {
659663 async fn test_register_signer_to_aggregator ( ) {
660664 let mut services = init_services ( ) . await ;
661665 let fixture = MithrilFixtureBuilder :: default ( ) . with_signers ( 5 ) . build ( ) ;
662- let certificate_handler = Arc :: new ( DumbAggregatorClient :: default ( ) ) ;
663- services. certificate_handler = certificate_handler . clone ( ) ;
666+ let registration_publisher_spy = Arc :: new ( SpySignerRegistrationPublisher :: default ( ) ) ;
667+ services. signer_registration_publisher = registration_publisher_spy . clone ( ) ;
664668 let protocol_initializer_store = services. protocol_initializer_store . clone ( ) ;
665669 let current_epoch = services. ticker_service . get_current_epoch ( ) . await . unwrap ( ) ;
666670
@@ -699,7 +703,7 @@ mod tests {
699703 . expect ( "registering a signer to the aggregator should not fail" ) ;
700704
701705 let last_registered_signer_first_registration =
702- certificate_handler . get_last_registered_signer ( ) . await . unwrap ( ) ;
706+ registration_publisher_spy . get_last_registered_signer ( ) . await . unwrap ( ) ;
703707 let maybe_protocol_initializer_first_registration = protocol_initializer_store
704708 . get_protocol_initializer ( current_epoch. offset_to_recording_epoch ( ) )
705709 . await
@@ -709,7 +713,8 @@ mod tests {
709713 "A protocol initializer should have been registered at the 'Recording' epoch"
710714 ) ;
711715
712- let total_registered_signers = certificate_handler. get_total_registered_signers ( ) . await ;
716+ let total_registered_signers =
717+ registration_publisher_spy. get_total_registered_signers ( ) . await ;
713718 assert_eq ! ( 1 , total_registered_signers) ;
714719
715720 runner
@@ -718,7 +723,7 @@ mod tests {
718723 . expect ( "registering a signer to the aggregator should not fail" ) ;
719724
720725 let last_registered_signer_second_registration =
721- certificate_handler . get_last_registered_signer ( ) . await . unwrap ( ) ;
726+ registration_publisher_spy . get_last_registered_signer ( ) . await . unwrap ( ) ;
722727 let maybe_protocol_initializer_second_registration = protocol_initializer_store
723728 . get_protocol_initializer ( current_epoch. offset_to_recording_epoch ( ) )
724729 . await
@@ -733,7 +738,8 @@ mod tests {
733738 "The signer registration should be the same and should have been registered twice"
734739 ) ;
735740
736- let total_registered_signers = certificate_handler. get_total_registered_signers ( ) . await ;
741+ let total_registered_signers =
742+ registration_publisher_spy. get_total_registered_signers ( ) . await ;
737743 assert_eq ! ( 1 , total_registered_signers) ;
738744 }
739745
@@ -769,10 +775,7 @@ mod tests {
769775
770776 #[ tokio:: test]
771777 async fn test_inform_epoch_setting_pass_available_signed_entity_types_to_epoch_service ( ) {
772- let mut services = init_services ( ) . await ;
773- let certificate_handler = Arc :: new ( DumbAggregatorClient :: default ( ) ) ;
774-
775- services. certificate_handler = certificate_handler;
778+ let services = init_services ( ) . await ;
776779 let runner = init_runner ( Some ( services) , None ) . await ;
777780
778781 let epoch = Epoch ( 1 ) ;
0 commit comments