Skip to content

Commit 4302e47

Browse files
committed
refactor(signer): rename AggregatorClient to SignersRegistrationRetriever
1 parent 5b6358d commit 4302e47

File tree

7 files changed

+26
-33
lines changed

7 files changed

+26
-33
lines changed

mithril-signer/src/dependency_injection/builder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,6 @@ impl<'a> DependenciesBuilder<'a> {
513513

514514
let services = SignerDependencyContainer {
515515
ticker_service,
516-
certificate_handler: aggregator_client.clone(),
517516
chain_observer,
518517
digester,
519518
single_signer,
@@ -529,7 +528,8 @@ impl<'a> DependenciesBuilder<'a> {
529528
upkeep_service,
530529
epoch_service,
531530
certifier,
532-
signer_registration_publisher: aggregator_client,
531+
signer_registration_publisher: aggregator_client.clone(),
532+
signers_registration_retriever: aggregator_client,
533533
kes_signer,
534534
network_configuration_service,
535535
};

mithril-signer/src/dependency_injection/containers.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,12 @@ use mithril_ticker::TickerService;
1616

1717
use crate::MetricsService;
1818
use crate::services::{
19-
AggregatorClient, CertifierService, EpochService, SignerRegistrationPublisher, SingleSigner,
20-
UpkeepService,
19+
CertifierService, EpochService, SignerRegistrationPublisher, SignersRegistrationRetriever,
20+
SingleSigner, UpkeepService,
2121
};
2222
use crate::store::ProtocolInitializerStorer;
2323

2424
type StakeStoreService = Arc<dyn StakeStorer>;
25-
type CertificateHandlerService = Arc<dyn AggregatorClient>;
2625
type ChainObserverService = Arc<dyn ChainObserver>;
2726
type DigesterService = Arc<dyn ImmutableDigester>;
2827
type SingleSignerService = Arc<dyn SingleSigner>;
@@ -41,9 +40,6 @@ pub struct SignerDependencyContainer {
4140
/// Stake store service
4241
pub stake_store: StakeStoreService,
4342

44-
/// Certificate handler service
45-
pub certificate_handler: CertificateHandlerService,
46-
4743
/// Chain Observer service
4844
pub chain_observer: ChainObserverService,
4945

@@ -89,6 +85,9 @@ pub struct SignerDependencyContainer {
8985
/// Signer registration publisher
9086
pub signer_registration_publisher: Arc<dyn SignerRegistrationPublisher>,
9187

88+
/// Signers registration retriever
89+
pub signers_registration_retriever: Arc<dyn SignersRegistrationRetriever>,
90+
9291
/// Kes signer service
9392
pub kes_signer: Option<Arc<dyn KesSigner>>,
9493

mithril-signer/src/runtime/runner.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ impl Runner for SignerRunner {
135135
debug!(self.logger, ">> get_epoch_settings");
136136

137137
self.services
138-
.certificate_handler
138+
.signers_registration_retriever
139139
.retrieve_all_signer_registrations()
140140
.await
141141
}
@@ -417,7 +417,7 @@ mod tests {
417417
use crate::database::test_helper::main_db_connection;
418418
use crate::metrics::MetricsService;
419419
use crate::services::{
420-
CardanoTransactionsImporter, DumbAggregatorClient, MithrilEpochService,
420+
CardanoTransactionsImporter, DumbSignersRegistrationRetriever, MithrilEpochService,
421421
MithrilSingleSigner, MockTransactionStore, MockUpkeepService, SignaturePublisherNoop,
422422
SignerCertifierService, SignerSignableSeedBuilder, SignerSignedEntityConfigProvider,
423423
SpySignerRegistrationPublisher,
@@ -550,7 +550,6 @@ mod tests {
550550
Arc::new(CardanoTransactionsPreloaderActivation::new(true)),
551551
));
552552
let upkeep_service = Arc::new(MockUpkeepService::new());
553-
let aggregator_client = Arc::new(DumbAggregatorClient::default());
554553
let certifier = Arc::new(SignerCertifierService::new(
555554
Arc::new(SignedBeaconRepository::new(sqlite_connection.clone(), None)),
556555
Arc::new(SignerSignedEntityConfigProvider::new(epoch_service.clone())),
@@ -573,7 +572,6 @@ mod tests {
573572

574573
SignerDependencyContainer {
575574
stake_store,
576-
certificate_handler: aggregator_client,
577575
chain_observer,
578576
digester,
579577
single_signer,
@@ -590,6 +588,7 @@ mod tests {
590588
epoch_service,
591589
certifier,
592590
signer_registration_publisher: Arc::new(SpySignerRegistrationPublisher::default()),
591+
signers_registration_retriever: Arc::new(DumbSignersRegistrationRetriever::default()),
593592
kes_signer,
594593
network_configuration_service,
595594
}
@@ -776,10 +775,7 @@ mod tests {
776775

777776
#[tokio::test]
778777
async fn test_inform_epoch_setting_pass_available_signed_entity_types_to_epoch_service() {
779-
let mut services = init_services().await;
780-
let certificate_handler = Arc::new(DumbAggregatorClient::default());
781-
782-
services.certificate_handler = certificate_handler;
778+
let services = init_services().await;
783779
let runner = init_runner(Some(services), None).await;
784780

785781
let epoch = Epoch(1);

mithril-signer/src/services/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@
99
//!
1010
//! Each service is defined by a public API (a trait) that is used in the controllers (runtimes).
1111
12-
mod aggregator_client;
1312
mod cardano_transactions;
1413
mod certifier;
1514
mod epoch_service;
1615
mod signable_builder;
1716
mod signature_publisher;
1817
mod signer_registration;
18+
mod signers_registration_retriever;
1919
mod single_signer;
2020
mod upkeep_service;
2121

22-
#[cfg(test)]
23-
pub(crate) use aggregator_client::dumb::DumbAggregatorClient;
24-
pub use aggregator_client::*;
2522
pub use cardano_transactions::*;
2623
pub use certifier::*;
2724
pub use epoch_service::*;
2825
pub use signable_builder::*;
2926
pub use signature_publisher::*;
3027
pub use signer_registration::*;
28+
#[cfg(test)]
29+
pub(crate) use signers_registration_retriever::dumb::DumbSignersRegistrationRetriever;
30+
pub use signers_registration_retriever::*;
3131
pub use single_signer::*;
3232
pub use upkeep_service::*;

mithril-signer/src/services/aggregator_client.rs renamed to mithril-signer/src/services/signers_registration_retriever.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ use mithril_common::{StdResult, messages::TryFromMessageAdapter};
77
use crate::entities::RegisteredSigners;
88
use crate::message_adapters::FromEpochSettingsAdapter;
99

10-
/// Trait for mocking and testing a `AggregatorClient`
10+
/// Service responsible for retrieving the signer's registration from the mithril network
1111
#[cfg_attr(test, mockall::automock)]
1212
#[async_trait]
13-
pub trait AggregatorClient: Sync + Send {
14-
/// Retrieves epoch settings from the aggregator
13+
pub trait SignersRegistrationRetriever: Sync + Send {
14+
/// Retrieves signer's registration from the mithril network
1515
async fn retrieve_all_signer_registrations(&self) -> StdResult<Option<RegisteredSigners>>;
1616
}
1717

1818
#[async_trait]
19-
impl AggregatorClient for AggregatorHttpClient {
19+
impl SignersRegistrationRetriever for AggregatorHttpClient {
2020
async fn retrieve_all_signer_registrations(&self) -> StdResult<Option<RegisteredSigners>> {
2121
let message = self.send(GetEpochSettingsQuery::current()).await?;
2222
let epoch_settings = FromEpochSettingsAdapter::try_adapt(message)?;
@@ -32,14 +32,12 @@ pub(crate) mod dumb {
3232

3333
use super::*;
3434

35-
/// This aggregator client is intended to be used by test services.
36-
/// It actually does not communicate with an aggregator host but mimics this behavior.
37-
/// It is driven by a Tester that controls the data it can return, and it can return its internal state for testing.
38-
pub struct DumbAggregatorClient {
35+
/// Dumb `SignersRegistrationRetriever` implementation for testing
36+
pub struct DumbSignersRegistrationRetriever {
3937
epoch_settings: RwLock<Option<RegisteredSigners>>,
4038
}
4139

42-
impl Default for DumbAggregatorClient {
40+
impl Default for DumbSignersRegistrationRetriever {
4341
fn default() -> Self {
4442
Self {
4543
epoch_settings: RwLock::new(Some(RegisteredSigners::dummy())),
@@ -48,7 +46,7 @@ pub(crate) mod dumb {
4846
}
4947

5048
#[async_trait]
51-
impl AggregatorClient for DumbAggregatorClient {
49+
impl SignersRegistrationRetriever for DumbSignersRegistrationRetriever {
5250
async fn retrieve_all_signer_registrations(&self) -> StdResult<Option<RegisteredSigners>> {
5351
let epoch_settings = self.epoch_settings.read().await.clone();
5452

mithril-signer/tests/test_extensions/certificate_handler.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use mithril_common::{
1010
use mithril_ticker::{MithrilTickerService, TickerService};
1111

1212
use mithril_signer::services::{SignaturePublisher, SignerRegistrationPublisher};
13-
use mithril_signer::{entities::RegisteredSigners, services::AggregatorClient};
13+
use mithril_signer::{entities::RegisteredSigners, services::SignersRegistrationRetriever};
1414

1515
pub struct FakeAggregator {
1616
registered_signers: RwLock<HashMap<Epoch, Vec<Signer>>>,
@@ -88,7 +88,7 @@ impl SignerRegistrationPublisher for FakeAggregator {
8888
}
8989

9090
#[async_trait]
91-
impl AggregatorClient for FakeAggregator {
91+
impl SignersRegistrationRetriever for FakeAggregator {
9292
async fn retrieve_all_signer_registrations(&self) -> StdResult<Option<RegisteredSigners>> {
9393
if *self.withhold_epoch_settings.read().await {
9494
Ok(None)

mithril-signer/tests/test_extensions/state_machine_tester.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ impl StateMachineTester {
315315
)) as Arc<dyn KesSigner>);
316316

317317
let services = SignerDependencyContainer {
318-
certificate_handler: certificate_handler.clone(),
318+
signers_registration_retriever: certificate_handler.clone(),
319319
ticker_service: ticker_service.clone(),
320320
chain_observer: chain_observer.clone(),
321321
digester: digester.clone(),

0 commit comments

Comments
 (0)