mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-19 04:42:34 +00:00
- Replaced most instances of PublicKey with KeyPair, since they need to be passed into each validator thread now. - Pulled out a bunch of FreeAttestations, and replaced with regular Attestations (as per Paul's suggestion) - Started generalising pubkeys to 'signers' (though they are still just Keypairs) - Added validator_index into a few structs where relevant - Removed the SlotClock and DutiesReader from the BlockProducer and Attester services, since this logic is now abstracted to the higher level process. - Added a Hash trait to the Keypair (rather than just pubkey) which assumes the Pubkey uniquely defines it.
21 lines
599 B
Rust
21 lines
599 B
Rust
use super::EpochDuties;
|
|
use types::{Epoch, Keypair};
|
|
|
|
#[derive(Debug, PartialEq, Clone)]
|
|
pub enum BeaconNodeError {
|
|
RemoteFailure(String),
|
|
}
|
|
|
|
/// Defines the methods required to obtain a validators shuffling from a Beacon Node.
|
|
pub trait BeaconNode: 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,
|
|
signers: &[Keypair],
|
|
) -> Result<EpochDuties, BeaconNodeError>;
|
|
}
|