Trait ethcore::engines::epoch::EpochVerifier
[−]
[src]
pub trait EpochVerifier<M: Machine>: Send + Sync { fn verify_light(&self, header: &M::Header) -> Result<(), M::Error>; fn verify_heavy(&self, header: &M::Header) -> Result<(), M::Error> { ... } fn check_finality_proof(&self, _proof: &[u8]) -> Option<Vec<H256>> { ... } }
Verifier for all blocks within an epoch with self-contained state.
Required Methods
fn verify_light(&self, header: &M::Header) -> Result<(), M::Error>
Lightly verify the next block header. This may not be a header belonging to a different epoch.
Provided Methods
fn verify_heavy(&self, header: &M::Header) -> Result<(), M::Error>
Perform potentially heavier checks on the next block header.
fn check_finality_proof(&self, _proof: &[u8]) -> Option<Vec<H256>>
Check a finality proof against this epoch verifier.
Returns Some(hashes)
if the proof proves finality of these hashes.
Returns None
if the proof doesn't prove anything.
Implementations on Foreign Types
impl EpochVerifier<EthereumMachine> for Arc<Ethash>
[src]
impl EpochVerifier<EthereumMachine> for Arc<Ethash>
Implementors
impl<M: Machine> EpochVerifier<M> for NoOp