Merge remote-tracking branch 'origin/release-v8.0' into unstable

This commit is contained in:
Michael Sproul
2025-11-03 09:28:48 +11:00
13 changed files with 28 additions and 33 deletions

View File

@@ -1371,7 +1371,7 @@ pub fn verify_signed_aggregate_signatures<T: BeaconChainTypes>(
.spec
.fork_at_epoch(indexed_attestation.data().target.epoch);
let signature_sets = vec![
let signature_sets = [
signed_aggregate_selection_proof_signature_set(
|validator_index| pubkey_cache.get(validator_index).map(Cow::Borrowed),
signed_aggregate,

View File

@@ -628,7 +628,7 @@ pub fn verify_signed_aggregate_signatures<T: BeaconChainTypes>(
(signed_aggregate.message.contribution.slot + 1).epoch(T::EthSpec::slots_per_epoch());
let fork = chain.spec.fork_at_epoch(next_slot_epoch);
let signature_sets = vec![
let signature_sets = [
signed_sync_aggregate_selection_proof_signature_set(
|validator_index| pubkey_cache.get(validator_index).map(Cow::Borrowed),
signed_aggregate,

View File

@@ -298,28 +298,28 @@ pub fn spawn_notifier<T: BeaconChainTypes>(
let speed = speedo.slots_per_second();
let display_speed = speed.is_some_and(|speed| speed != 0.0);
let est_time_in_secs = if let (Some(da_boundary_epoch), Some(original_slot)) = (
beacon_chain.get_column_da_boundary(),
original_earliest_data_column_slot,
) {
let target = original_slot.saturating_sub(
da_boundary_epoch.start_slot(T::EthSpec::slots_per_epoch()),
);
speedo.estimated_time_till_slot(target)
} else {
None
};
if display_speed {
info!(
distance,
speed = sync_speed_pretty(speed),
est_time =
estimated_time_pretty(beacon_chain.get_column_da_boundary().and_then(
|da_boundary| speedo.estimated_time_till_slot(
da_boundary.start_slot(T::EthSpec::slots_per_epoch())
)
)),
est_time = estimated_time_pretty(est_time_in_secs),
"Downloading historical data columns"
);
} else {
info!(
distance,
est_time =
estimated_time_pretty(beacon_chain.get_column_da_boundary().and_then(
|da_boundary| speedo.estimated_time_till_slot(
da_boundary.start_slot(T::EthSpec::slots_per_epoch())
)
)),
est_time = estimated_time_pretty(est_time_in_secs),
"Downloading historical data columns"
);
}

View File

@@ -29,7 +29,7 @@ use super::DEFAULT_TERMINAL_BLOCK;
const TEST_BLOB_BUNDLE: &[u8] = include_bytes!("fixtures/mainnet/test_blobs_bundle.ssz");
const TEST_BLOB_BUNDLE_V2: &[u8] = include_bytes!("fixtures/mainnet/test_blobs_bundle_v2.ssz");
pub const DEFAULT_GAS_LIMIT: u64 = 45_000_000;
pub const DEFAULT_GAS_LIMIT: u64 = 60_000_000;
const GAS_USED: u64 = DEFAULT_GAS_LIMIT - 1;
#[derive(Clone, Debug, PartialEq)]

View File

@@ -40,7 +40,7 @@ use warp::reply::{self, Reply};
use warp::{Filter, Rejection};
pub const DEFAULT_FEE_RECIPIENT: Address = Address::repeat_byte(42);
pub const DEFAULT_GAS_LIMIT: u64 = 45_000_000;
pub const DEFAULT_GAS_LIMIT: u64 = 60_000_000;
pub const DEFAULT_BUILDER_PRIVATE_KEY: &str =
"607a11b45a7219cc61a3d9c5fd08c7eebd602a6a19a977f8d3771d5711a550f2";

View File

@@ -60,7 +60,7 @@ relays, run one of the following services and configure lighthouse to use it wit
## Validator Client Configuration
In the validator client you can configure gas limit and fee recipient on a per-validator basis. If no gas limit is
configured, Lighthouse will use a default gas limit of 45,000,000, which is the current default value used in execution
configured, Lighthouse will use a default gas limit of 60,000,000, which is the current default value used in execution
engines. You can also enable or disable use of external builders on a per-validator basis rather than using
`--builder-proposals`, `--builder-boost-factor` or `--prefer-builder-proposals`, which apply builder related preferences for all validators.
In order to manage these configurations per-validator, you can either make updates to the `validator_definitions.yml` file
@@ -75,7 +75,7 @@ transaction within the block to the fee recipient, so a discrepancy in fee recip
is something afoot.
> Note: The gas limit configured here is effectively a vote on block size, so the configuration should not be taken lightly.
> 45,000,000 is currently seen as a value balancing block size with how expensive it is for
> 60,000,000 is currently seen as a value balancing block size with how expensive it is for
> the network to validate blocks. So if you don't feel comfortable making an informed "vote", using the default value is
> encouraged. We will update the default value if the community reaches a rough consensus on a new value.

View File

@@ -40,7 +40,7 @@ Options:
The gas limit to be used in all builder proposals for all validators
managed by this validator client. Note this will not necessarily be
used if the gas limit set here moves too far from the previous block's
gas limit. [default: 45000000]
gas limit. [default: 60000000]
--genesis-state-url <URL>
A URL of a beacon-API compatible server from which to download the
genesis state. Checkpoint sync server URLs can generally be used with

View File

@@ -1522,20 +1522,15 @@ pub struct ForkChoiceNode {
pub execution_block_hash: Option<Hash256>,
}
#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
#[derive(Copy, Clone, Debug, Default, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum BroadcastValidation {
#[default]
Gossip,
Consensus,
ConsensusAndEquivocation,
}
impl Default for BroadcastValidation {
fn default() -> Self {
Self::Gossip
}
}
impl Display for BroadcastValidation {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {

View File

@@ -505,7 +505,7 @@ fn no_doppelganger_protection_flag() {
fn no_gas_limit_flag() {
CommandLineTest::new()
.run()
.with_config(|config| assert!(config.validator_store.gas_limit == Some(45_000_000)));
.with_config(|config| assert!(config.validator_store.gas_limit == Some(60_000_000)));
}
#[test]
fn gas_limit_flag() {

View File

@@ -2091,7 +2091,7 @@ async fn import_remotekey_web3signer_disabled() {
// Import web3signers.
tester
.client
.post_lighthouse_validators_web3signer(&vec![web3signer_req])
.post_lighthouse_validators_web3signer(&[web3signer_req])
.await
.unwrap();
@@ -2146,7 +2146,7 @@ async fn import_remotekey_web3signer_enabled() {
// Import web3signers.
tester
.client
.post_lighthouse_validators_web3signer(&vec![web3signer_req.clone()])
.post_lighthouse_validators_web3signer(&[web3signer_req.clone()])
.await
.unwrap();

View File

@@ -291,7 +291,7 @@ mod tests {
#[tokio::test]
async fn test_encryption() {
let mut key_cache = KeyCache::new();
let keypairs = vec![Keypair::random(), Keypair::random()];
let keypairs = [Keypair::random(), Keypair::random()];
let uuids = vec![Uuid::from_u128(1), Uuid::from_u128(2)];
let passwords = vec![
PlainText::from(vec![1, 2, 3, 4, 5, 6]),

View File

@@ -56,7 +56,7 @@ const SLASHING_PROTECTION_HISTORY_EPOCHS: u64 = 512;
/// Currently used as the default gas limit in execution clients.
///
/// https://ethpandaops.io/posts/gaslimit-scaling/.
pub const DEFAULT_GAS_LIMIT: u64 = 45_000_000;
pub const DEFAULT_GAS_LIMIT: u64 = 60_000_000;
pub struct LighthouseValidatorStore<T, E> {
validators: Arc<RwLock<InitializedValidators>>,

View File

@@ -388,7 +388,7 @@ pub struct ValidatorClient {
#[clap(
long,
value_name = "INTEGER",
default_value_t = 45_000_000,
default_value_t = 60_000_000,
requires = "builder_proposals",
help = "The gas limit to be used in all builder proposals for all validators managed \
by this validator client. Note this will not necessarily be used if the gas limit \