mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 00:31:50 +00:00
Fix Rust beta compiler errors 1.78.0-beta.1 (#5439)
* remove redundant imports * fix test * contains key * fmt * Merge branch 'unstable' into fix-beta-compiler
This commit is contained in:
@@ -690,7 +690,6 @@ mod test {
|
||||
use environment::null_logger;
|
||||
use futures::executor::block_on;
|
||||
use slot_clock::TestingSlotClock;
|
||||
use std::collections::HashSet;
|
||||
use std::future;
|
||||
use std::time::Duration;
|
||||
use types::{
|
||||
|
||||
@@ -12,7 +12,6 @@ use slashing_protection::{
|
||||
};
|
||||
use slog::{crit, error, info, warn, Logger};
|
||||
use slot_clock::SlotClock;
|
||||
use std::iter::FromIterator;
|
||||
use std::marker::PhantomData;
|
||||
use std::path::Path;
|
||||
use std::sync::Arc;
|
||||
@@ -20,13 +19,12 @@ use task_executor::TaskExecutor;
|
||||
use types::{
|
||||
attestation::Error as AttestationError, graffiti::GraffitiString, AbstractExecPayload, Address,
|
||||
AggregateAndProof, Attestation, BeaconBlock, BlindedPayload, ChainSpec, ContributionAndProof,
|
||||
Domain, Epoch, EthSpec, Fork, ForkName, Graffiti, Hash256, Keypair, PublicKeyBytes,
|
||||
SelectionProof, Signature, SignedAggregateAndProof, SignedBeaconBlock,
|
||||
SignedContributionAndProof, SignedRoot, SignedValidatorRegistrationData, SignedVoluntaryExit,
|
||||
Slot, SyncAggregatorSelectionData, SyncCommitteeContribution, SyncCommitteeMessage,
|
||||
SyncSelectionProof, SyncSubnetId, ValidatorRegistrationData, VoluntaryExit,
|
||||
Domain, Epoch, EthSpec, Fork, ForkName, Graffiti, Hash256, PublicKeyBytes, SelectionProof,
|
||||
Signature, SignedAggregateAndProof, SignedBeaconBlock, SignedContributionAndProof, SignedRoot,
|
||||
SignedValidatorRegistrationData, SignedVoluntaryExit, Slot, SyncAggregatorSelectionData,
|
||||
SyncCommitteeContribution, SyncCommitteeMessage, SyncSelectionProof, SyncSubnetId,
|
||||
ValidatorRegistrationData, VoluntaryExit,
|
||||
};
|
||||
use validator_dir::ValidatorDir;
|
||||
|
||||
pub use crate::doppelganger_service::DoppelgangerStatus;
|
||||
use crate::preparation_service::ProposalData;
|
||||
@@ -60,31 +58,6 @@ const SLASHING_PROTECTION_HISTORY_EPOCHS: u64 = 512;
|
||||
/// https://github.com/ethereum/builder-specs/issues/17
|
||||
pub const DEFAULT_GAS_LIMIT: u64 = 30_000_000;
|
||||
|
||||
struct LocalValidator {
|
||||
validator_dir: ValidatorDir,
|
||||
voting_keypair: Keypair,
|
||||
}
|
||||
|
||||
/// We derive our own `PartialEq` to avoid doing equality checks between secret keys.
|
||||
///
|
||||
/// It's nice to avoid secret key comparisons from a security perspective, but it's also a little
|
||||
/// risky when it comes to `HashMap` integrity (that's why we need `PartialEq`).
|
||||
///
|
||||
/// Currently, we obtain keypairs from keystores where we derive the `PublicKey` from a `SecretKey`
|
||||
/// via a hash function. In order to have two equal `PublicKey` with different `SecretKey` we would
|
||||
/// need to have either:
|
||||
///
|
||||
/// - A serious upstream integrity error.
|
||||
/// - A hash collision.
|
||||
///
|
||||
/// It seems reasonable to make these two assumptions in order to avoid the equality checks.
|
||||
impl PartialEq for LocalValidator {
|
||||
fn eq(&self, other: &Self) -> bool {
|
||||
self.validator_dir == other.validator_dir
|
||||
&& self.voting_keypair.pk == other.voting_keypair.pk
|
||||
}
|
||||
}
|
||||
|
||||
pub struct ValidatorStore<T, E: EthSpec> {
|
||||
validators: Arc<RwLock<InitializedValidators>>,
|
||||
slashing_protection: SlashingDatabase,
|
||||
|
||||
Reference in New Issue
Block a user