use fvm_shared::clock::ChainEpoch;
use fvm_shared::consensus::ConsensusFault;
pub trait Externs: Rand + Consensus {}
pub trait Consensus {
fn verify_consensus_fault(
&self,
h1: &[u8],
h2: &[u8],
extra: &[u8],
) -> anyhow::Result<(Option<ConsensusFault>, i64)>;
}
pub trait Rand {
fn get_chain_randomness(&self, round: ChainEpoch) -> anyhow::Result<[u8; 32]>;
fn get_beacon_randomness(&self, round: ChainEpoch) -> anyhow::Result<[u8; 32]>;
}