Merge branch 'unstable' of https://github.com/sigp/lighthouse into electra-focil

This commit is contained in:
Eitan Seri-Levi
2025-03-09 10:28:45 -06:00
142 changed files with 1058 additions and 8225 deletions

View File

@@ -901,10 +901,10 @@ async fn poll_beacon_attesters_for_epoch<T: SlotClock + 'static, E: EthSpec>(
local_pubkeys
.iter()
.filter(|pubkey| {
attesters.get(pubkey).map_or(true, |duties| {
attesters.get(pubkey).is_none_or(|duties| {
duties
.get(&epoch)
.map_or(true, |(prior, _)| *prior != dependent_root)
.is_none_or(|(prior, _)| *prior != dependent_root)
})
})
.collect::<Vec<_>>()
@@ -1032,7 +1032,7 @@ fn get_uninitialized_validators<T: SlotClock + 'static, E: EthSpec>(
.filter(|pubkey| {
attesters
.get(pubkey)
.map_or(true, |duties| !duties.contains_key(epoch))
.is_none_or(|duties| !duties.contains_key(epoch))
})
.filter_map(|pubkey| duties_service.validator_store.validator_index(pubkey))
.collect::<Vec<_>>()

View File

@@ -428,7 +428,7 @@ impl<T: SlotClock + 'static, E: EthSpec> PreparationService<T, E> {
pubkey,
} = key.clone();
let signed_data = match self
match self
.validator_store
.sign_validator_registration_data(ValidatorRegistrationData {
fee_recipient,
@@ -458,13 +458,7 @@ impl<T: SlotClock + 'static, E: EthSpec> PreparationService<T, E> {
);
continue;
}
};
self.validator_registration_cache
.write()
.insert(key, signed_data.clone());
signed_data
}
};
signed.push(signed_data);
}
@@ -478,11 +472,20 @@ impl<T: SlotClock + 'static, E: EthSpec> PreparationService<T, E> {
})
.await
{
Ok(()) => info!(
log,
"Published validator registrations to the builder network";
"count" => batch.len(),
),
Ok(()) => {
info!(
log,
"Published validator registrations to the builder network";
"count" => batch.len(),
);
let mut guard = self.validator_registration_cache.write();
for signed_data in batch {
guard.insert(
ValidatorRegistrationKey::from(signed_data.message.clone()),
signed_data.clone(),
);
}
}
Err(e) => warn!(
log,
"Unable to publish validator registrations to the builder network";

View File

@@ -297,7 +297,7 @@ pub async fn poll_sync_committee_duties<T: SlotClock + 'static, E: EthSpec>(
// If the Altair fork is yet to be activated, do not attempt to poll for duties.
if spec
.altair_fork_epoch
.map_or(true, |altair_epoch| current_epoch < altair_epoch)
.is_none_or(|altair_epoch| current_epoch < altair_epoch)
{
return Ok(());
}
@@ -474,7 +474,7 @@ pub async fn poll_sync_committee_duties_for_period<T: SlotClock + 'static, E: Et
.get_mut(&duty.validator_index)
.ok_or(Error::SyncDutiesNotFound(duty.validator_index))?;
let updated = validator_duties.as_ref().map_or(true, |existing_duties| {
let updated = validator_duties.as_ref().is_none_or(|existing_duties| {
let updated_due_to_reorg = existing_duties.duty.validator_sync_committee_indices
!= duty.validator_sync_committee_indices;
if updated_due_to_reorg {