@@ -6,7 +6,7 @@ use mithril_common::{
6
6
entities:: {
7
7
Certificate , Epoch , ProtocolParameters , Signer , SignerWithStake , StakeDistribution ,
8
8
} ,
9
- era:: EraChecker ,
9
+ era:: { EraChecker , EraReader } ,
10
10
store:: { StakeStore , StakeStorer } ,
11
11
BeaconProvider ,
12
12
} ;
@@ -87,6 +87,9 @@ pub struct DependencyManager {
87
87
88
88
/// Era checker service
89
89
pub era_checker : Arc < EraChecker > ,
90
+
91
+ /// Era reader service
92
+ pub era_reader : Arc < EraReader > ,
90
93
}
91
94
92
95
#[ doc( hidden) ]
@@ -269,10 +272,10 @@ pub mod tests {
269
272
chain_observer:: FakeObserver ,
270
273
crypto_helper:: { key_encode_hex, ProtocolGenesisSigner } ,
271
274
digesters:: { DumbImmutableDigester , DumbImmutableFileObserver } ,
272
- era:: { EraChecker , SupportedEra } ,
275
+ era:: { adapters :: EraReaderBootstrapAdapter , EraChecker , EraReader } ,
273
276
store:: { adapter:: MemoryAdapter , StakeStore } ,
274
277
test_utils:: fake_data,
275
- BeaconProviderImpl , CardanoNetwork ,
278
+ BeaconProvider , BeaconProviderImpl , CardanoNetwork ,
276
279
} ;
277
280
use std:: { path:: PathBuf , sync:: Arc } ;
278
281
use tokio:: sync:: RwLock ;
@@ -347,7 +350,15 @@ pub mod tests {
347
350
chain_observer. clone ( ) ,
348
351
verification_key_store. clone ( ) ,
349
352
) ) ;
350
- let era_checker = Arc :: new ( EraChecker :: new ( SupportedEra :: dummy ( ) ) ) ;
353
+ let era_reader = Arc :: new ( EraReader :: new ( Box :: new ( EraReaderBootstrapAdapter ) ) ) ;
354
+ let era_epoch_token = era_reader
355
+ . read_era_epoch_token ( beacon_provider. get_current_beacon ( ) . await . unwrap ( ) . epoch )
356
+ . await
357
+ . unwrap ( ) ;
358
+ let era_checker = Arc :: new ( EraChecker :: new (
359
+ era_epoch_token. get_current_supported_era ( ) . unwrap ( ) ,
360
+ era_epoch_token. get_current_epoch ( ) ,
361
+ ) ) ;
351
362
352
363
let dependency_manager = DependencyManager {
353
364
config,
@@ -370,6 +381,7 @@ pub mod tests {
370
381
signer_registerer : signer_registerer. clone ( ) ,
371
382
signer_registration_round_opener : signer_registerer,
372
383
era_checker,
384
+ era_reader,
373
385
} ;
374
386
375
387
let config = AggregatorConfig :: new (
0 commit comments