Restructure of validator client service and block producer

This commit is contained in:
Age Manning
2019-03-29 17:28:07 +11:00
parent eea772de3e
commit 9cdb7bb716
8 changed files with 131 additions and 152 deletions

View File

@@ -0,0 +1,20 @@
use super::EpochDuties;
use types::{Epoch, PublicKey};
#[derive(Debug, PartialEq, Clone)]
pub enum BeaconNodeDutiesError {
RemoteFailure(String),
}
/// Defines the methods required to obtain a validators shuffling from a Beacon Node.
pub trait BeaconNodeDuties: Send + Sync {
/// Gets the duties for all validators.
///
/// Returns a vector of EpochDuties for each validator public key. The entry will be None for
/// validators that are not activated.
fn request_duties(
&self,
epoch: Epoch,
pubkeys: &[PublicKey],
) -> Result<EpochDuties, BeaconNodeDutiesError>;
}