use types::BeaconBlock; #[derive(Debug, PartialEq, Clone)] pub enum BeaconNodeError { RemoteFailure(String), DecodeFailure, } pub trait BeaconNode: Send + Sync { fn produce_beacon_block(&self, slot: u64) -> Result, BeaconNodeError>; fn publish_beacon_block(&self, block: BeaconBlock) -> Result; }