File tree Expand file tree Collapse file tree 11 files changed +75
-67
lines changed
mithril-signer/src/services Expand file tree Collapse file tree 11 files changed +75
-67
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,6 @@ mod epoch_service;
1515mod signable_builder;
1616mod signature_publisher;
1717mod signer_registration;
18- mod signers_registration_retriever;
1918mod single_signer;
2019mod upkeep_service;
2120
@@ -25,8 +24,5 @@ pub use epoch_service::*;
2524pub use signable_builder:: * ;
2625pub use signature_publisher:: * ;
2726pub use signer_registration:: * ;
28- #[ cfg( test) ]
29- pub ( crate ) use signers_registration_retriever:: dumb:: DumbSignersRegistrationRetriever ;
30- pub use signers_registration_retriever:: * ;
3127pub use single_signer:: * ;
3228pub use upkeep_service:: * ;
Original file line number Diff line number Diff line change 1- mod http;
2- mod interface;
3- #[ cfg( test) ]
4- mod spy;
1+ mod publisher;
2+ mod retriever;
53
6- pub use interface:: * ;
7- #[ cfg( test) ]
8- pub use spy:: * ;
4+ pub use publisher:: * ;
5+ pub use retriever:: * ;
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change 1+ mod http;
2+ mod interface;
3+ #[ cfg( test) ]
4+ mod spy;
5+
6+ pub use interface:: * ;
7+ #[ cfg( test) ]
8+ pub use spy:: * ;
File renamed without changes.
Original file line number Diff line number Diff line change 1+ use tokio:: sync:: RwLock ;
2+
3+ use mithril_common:: StdResult ;
4+ use mithril_common:: test:: double:: Dummy ;
5+
6+ use crate :: RegisteredSigners ;
7+ use crate :: services:: signer_registration:: retriever:: interface:: SignersRegistrationRetriever ;
8+
9+ /// Dumb `SignersRegistrationRetriever` implementation for testing
10+ pub struct DumbSignersRegistrationRetriever {
11+ epoch_settings : RwLock < Option < RegisteredSigners > > ,
12+ }
13+
14+ impl Default for DumbSignersRegistrationRetriever {
15+ fn default ( ) -> Self {
16+ Self {
17+ epoch_settings : RwLock :: new ( Some ( RegisteredSigners :: dummy ( ) ) ) ,
18+ }
19+ }
20+ }
21+
22+ #[ async_trait:: async_trait]
23+ impl SignersRegistrationRetriever for DumbSignersRegistrationRetriever {
24+ async fn retrieve_all_signer_registrations ( & self ) -> StdResult < Option < RegisteredSigners > > {
25+ let epoch_settings = self . epoch_settings . read ( ) . await . clone ( ) ;
26+
27+ Ok ( epoch_settings)
28+ }
29+ }
Original file line number Diff line number Diff line change 1+ use mithril_aggregator_client:: { AggregatorHttpClient , query:: GetEpochSettingsQuery } ;
2+ use mithril_common:: { StdResult , messages:: TryFromMessageAdapter } ;
3+
4+ use crate :: services:: SignersRegistrationRetriever ;
5+ use crate :: { FromEpochSettingsAdapter , RegisteredSigners } ;
6+
7+ #[ async_trait:: async_trait]
8+ impl SignersRegistrationRetriever for AggregatorHttpClient {
9+ async fn retrieve_all_signer_registrations ( & self ) -> StdResult < Option < RegisteredSigners > > {
10+ let message = self . send ( GetEpochSettingsQuery :: current ( ) ) . await ?;
11+ let epoch_settings = FromEpochSettingsAdapter :: try_adapt ( message) ?;
12+
13+ Ok ( Some ( epoch_settings) )
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ use mithril_common:: StdResult ;
2+
3+ use crate :: RegisteredSigners ;
4+
5+ /// Service responsible for retrieving the signer's registration from the mithril network
6+ #[ cfg_attr( test, mockall:: automock) ]
7+ #[ async_trait:: async_trait]
8+ pub trait SignersRegistrationRetriever : Sync + Send {
9+ /// Retrieves signer's registration from the mithril network
10+ async fn retrieve_all_signer_registrations ( & self ) -> StdResult < Option < RegisteredSigners > > ;
11+ }
Original file line number Diff line number Diff line change 1+ #[ cfg( test) ]
2+ mod dumb;
3+ mod http;
4+ mod interface;
5+
6+ #[ cfg( test) ]
7+ pub use dumb:: * ;
8+ pub use interface:: * ;
You can’t perform that action at this time.
0 commit comments