Small improvement: encapsulate a public field (#1362)

## Issue Addressed

This PR makes the `Eth1Chain::use_dummy_backend` field private. I believe this could be good to ensure the consistency  of a Eth1Chain instance. 💡
This commit is contained in:
Akihito Nakano 2020-07-22 09:34:57 +00:00
parent e26da35cbf
commit ea0e936ac4
2 changed files with 9 additions and 5 deletions

View File

@ -586,10 +586,7 @@ where
let backend = let backend =
CachingEth1Backend::new(Eth1Config::default(), log.clone(), self.spec.clone()); CachingEth1Backend::new(Eth1Config::default(), log.clone(), self.spec.clone());
let mut eth1_chain = Eth1Chain::new(backend); self.eth1_chain = Some(Eth1Chain::new_dummy(backend));
eth1_chain.use_dummy_backend = true;
self.eth1_chain = Some(eth1_chain);
Ok(self) Ok(self)
} }

View File

@ -82,7 +82,7 @@ where
backend: T, backend: T,
/// When `true`, the backend will be ignored and dummy data from the 2019 Canada interop method /// When `true`, the backend will be ignored and dummy data from the 2019 Canada interop method
/// will be used instead. /// will be used instead.
pub use_dummy_backend: bool, use_dummy_backend: bool,
_phantom: PhantomData<E>, _phantom: PhantomData<E>,
} }
@ -99,6 +99,13 @@ where
} }
} }
pub fn new_dummy(backend: T) -> Self {
Self {
use_dummy_backend: true,
..Self::new(backend)
}
}
/// Returns the `Eth1Data` that should be included in a block being produced for the given /// Returns the `Eth1Data` that should be included in a block being produced for the given
/// `state`. /// `state`.
pub fn eth1_data_for_block_production( pub fn eth1_data_for_block_production(