|
| 1 | +#![allow(dead_code)] |
1 | 2 | use mithril_common::digesters::ImmutableFileObserver;
|
2 | 3 | use mithril_common::entities::SignerWithStake;
|
3 | 4 | use mithril_common::era::{
|
4 |
| - adapters::{EraReaderAdapterType, EraReaderBootstrapAdapter}, |
| 5 | + adapters::{EraReaderAdapterType, EraReaderDummyAdapter}, |
5 | 6 | EraChecker, EraReader,
|
6 | 7 | };
|
| 8 | +use mithril_common::era::{EraMarker, SupportedEra}; |
7 | 9 | use mithril_common::BeaconProvider;
|
8 | 10 | use slog::Drain;
|
9 | 11 | use slog_scope::debug;
|
10 | 12 | use std::error::Error as StdError;
|
| 13 | +use std::fmt::Debug; |
11 | 14 | use std::{path::PathBuf, sync::Arc, time::Duration};
|
12 | 15 | use thiserror::Error;
|
13 | 16 |
|
@@ -53,10 +56,18 @@ pub struct StateMachineTester {
|
53 | 56 | protocol_initializer_store: Arc<ProtocolInitializerStore>,
|
54 | 57 | stake_store: Arc<StakeStore>,
|
55 | 58 | era_checker: Arc<EraChecker>,
|
| 59 | + era_reader_adapter: Arc<EraReaderDummyAdapter>, |
56 | 60 | comment_no: u32,
|
57 | 61 | _logs_guard: slog_scope::GlobalLoggerGuard,
|
58 | 62 | }
|
59 | 63 |
|
| 64 | +impl Debug for StateMachineTester { |
| 65 | + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { |
| 66 | + debug!("Debug called after comment N°{}.", self.comment_no); |
| 67 | + write!(f, "DEBUG") |
| 68 | + } |
| 69 | +} |
| 70 | + |
60 | 71 | impl StateMachineTester {
|
61 | 72 | pub async fn init(signers_with_stake: &[SignerWithStake]) -> Result<Self> {
|
62 | 73 | let selected_signer_with_stake = signers_with_stake.first().ok_or_else(|| {
|
@@ -119,7 +130,13 @@ impl StateMachineTester {
|
119 | 130 | Box::new(MemoryAdapter::new(None).unwrap()),
|
120 | 131 | config.store_retention_limit,
|
121 | 132 | ));
|
122 |
| - let era_reader = Arc::new(EraReader::new(Arc::new(EraReaderBootstrapAdapter))); |
| 133 | + let era_reader_adapter = Arc::new(EraReaderDummyAdapter::from_markers(vec![ |
| 134 | + (EraMarker { |
| 135 | + name: SupportedEra::dummy().to_string(), |
| 136 | + epoch: Some(Epoch(0)), |
| 137 | + }), |
| 138 | + ])); |
| 139 | + let era_reader = Arc::new(EraReader::new(era_reader_adapter.clone())); |
123 | 140 | let era_epoch_token = era_reader
|
124 | 141 | .read_era_epoch_token(beacon_provider.get_current_beacon().await.unwrap().epoch)
|
125 | 142 | .await
|
@@ -157,6 +174,7 @@ impl StateMachineTester {
|
157 | 174 | protocol_initializer_store,
|
158 | 175 | stake_store,
|
159 | 176 | era_checker,
|
| 177 | + era_reader_adapter, |
160 | 178 | comment_no: 0,
|
161 | 179 | _logs_guard: logs_guard,
|
162 | 180 | })
|
@@ -324,4 +342,12 @@ impl StateMachineTester {
|
324 | 342 | format!("The epoch the EraChecker has been the last updated '{}' is different from expected epoch '{}'.", self.era_checker.current_epoch(), epoch)
|
325 | 343 | )
|
326 | 344 | }
|
| 345 | + |
| 346 | + /// Set Era markers |
| 347 | + pub fn set_era_markers(&mut self, markers: Vec<EraMarker>) -> &mut Self { |
| 348 | + debug!("Era markers set: {:?}", markers); |
| 349 | + self.era_reader_adapter.set_markers(markers); |
| 350 | + |
| 351 | + self |
| 352 | + } |
327 | 353 | }
|
0 commit comments