Merge remote-tracking branch 'origin/unstable' into gloas-containers

This commit is contained in:
Michael Sproul
2025-12-16 14:04:18 +11:00
246 changed files with 2722 additions and 1786 deletions

View File

@@ -27,14 +27,17 @@ fs2 = { workspace = true }
hex = { workspace = true }
kzg = { workspace = true }
logging = { workspace = true }
milhouse = { workspace = true }
rayon = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_repr = { workspace = true }
serde_yaml = { workspace = true }
snap = { workspace = true }
ssz_types = { workspace = true }
state_processing = { workspace = true }
swap_or_not_shuffle = { workspace = true }
tree_hash = { workspace = true }
tree_hash_derive = { workspace = true }
typenum = { workspace = true }
types = { workspace = true }

View File

@@ -1,11 +1,12 @@
use super::*;
use crate::decode::{ssz_decode_file, ssz_decode_state, yaml_decode_file};
use serde::Deserialize;
use ssz_types::FixedVector;
use tree_hash::Hash256;
use typenum::Unsigned;
use types::{
BeaconBlockBody, BeaconBlockBodyCapella, BeaconBlockBodyDeneb, BeaconBlockBodyElectra,
BeaconBlockBodyFulu, BeaconBlockBodyGloas, BeaconState, FixedVector, FullPayload, Unsigned,
light_client_update,
BeaconBlockBodyFulu, BeaconBlockBodyGloas, BeaconState, FullPayload, light_client_update,
};
#[derive(Debug, Clone, Deserialize)]

View File

@@ -5,12 +5,14 @@ use crate::cases::common::{DecimalU128, DecimalU256, SszStaticType};
use crate::cases::ssz_static::{check_serialization, check_tree_hash};
use crate::decode::{context_yaml_decode_file, log_file_access, snappy_decode_file};
use context_deserialize::{ContextDeserialize, context_deserialize};
use milhouse::Vector;
use serde::{Deserialize, Deserializer, de::Error as SerdeError};
use ssz_derive::{Decode, Encode};
use ssz_types::{BitList, BitVector, FixedVector, VariableList};
use tree_hash::TreeHash;
use tree_hash_derive::TreeHash;
use types::typenum::*;
use types::{BitList, BitVector, FixedVector, ForkName, VariableList, Vector};
use typenum::*;
use types::ForkName;
#[derive(Debug, Clone, Deserialize)]
#[context_deserialize(ForkName)]

View File

@@ -1,6 +1,7 @@
#![cfg(feature = "ef_tests")]
use ef_tests::*;
use typenum::Unsigned;
use types::*;
// Check that the hand-computed multiplications on EthSpec are correctly computed.

View File

@@ -7,14 +7,16 @@ edition = { workspace = true }
portable = ["types/portable"]
[dependencies]
alloy-network = "1.0"
alloy-network = { workspace = true }
alloy-primitives = { workspace = true }
alloy-provider = "1.0"
alloy-provider = { workspace = true }
alloy-rpc-types-eth = { workspace = true }
alloy-signer-local = "1.0"
alloy-signer-local = { workspace = true }
async-channel = { workspace = true }
bls = { workspace = true }
deposit_contract = { workspace = true }
execution_layer = { workspace = true }
fixed_bytes = { workspace = true }
fork_choice = { workspace = true }
futures = { workspace = true }
hex = { workspace = true }
@@ -26,4 +28,5 @@ serde_json = { workspace = true }
task_executor = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }
typenum = { workspace = true }
types = { workspace = true }

View File

@@ -6,11 +6,13 @@ use alloy_network::{EthereumWallet, TransactionBuilder};
use alloy_primitives::Address as AlloyAddress;
use alloy_provider::{Provider, ProviderBuilder};
use alloy_signer_local::PrivateKeySigner;
use bls::PublicKeyBytes;
use execution_layer::test_utils::DEFAULT_GAS_LIMIT;
use execution_layer::{
BlockProposalContentsType, BuilderParams, ChainHealth, ExecutionLayer, PayloadAttributes,
PayloadParameters, PayloadStatus,
};
use fixed_bytes::FixedBytesExtended;
use fork_choice::ForkchoiceUpdateParameters;
use reqwest::{Client, header::CONTENT_TYPE};
use sensitive_url::SensitiveUrl;
@@ -22,8 +24,9 @@ use tokio::time::sleep;
use types::payload::BlockProductionVersion;
use types::{
Address, ChainSpec, EthSpec, ExecutionBlockHash, ExecutionPayload, ExecutionPayloadHeader,
FixedBytesExtended, ForkName, Hash256, MainnetEthSpec, PublicKeyBytes, Slot, Uint256,
ForkName, Hash256, MainnetEthSpec, Slot, Uint256,
};
const EXECUTION_ENGINE_START_TIMEOUT: Duration = Duration::from_secs(60);
const TEST_FORK: ForkName = ForkName::Capella;

View File

@@ -1,8 +1,10 @@
use alloy_network::TransactionBuilder;
use alloy_primitives::{Address, U256};
use alloy_rpc_types_eth::{AccessList, TransactionRequest};
use bls::{Keypair, Signature};
use deposit_contract::{BYTECODE, CONTRACT_DEPLOY_GAS, DEPOSIT_GAS, encode_eth1_tx_data};
use types::{DepositData, EthSpec, FixedBytesExtended, Hash256, Keypair, Signature};
use fixed_bytes::FixedBytesExtended;
use types::{DepositData, EthSpec, Hash256};
/// Hardcoded deposit contract address based on sender address and nonce
pub const DEPOSIT_CONTRACT_ADDRESS: &str = "64f43BEc7F86526686C931d65362bB8698872F90";

View File

@@ -20,4 +20,5 @@ serde_json = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
typenum = { workspace = true }
types = { workspace = true }

View File

@@ -1,7 +1,8 @@
use crate::local_network::LocalNetwork;
use node_test_rig::eth2::types::{BlockId, FinalityCheckpointsData, StateId};
use std::time::Duration;
use types::{Epoch, EthSpec, ExecPayload, ExecutionBlockHash, Slot, Unsigned};
use typenum::Unsigned;
use types::{Epoch, EthSpec, ExecPayload, ExecutionBlockHash, Slot};
/// Checks that all of the validators have on-boarded by the start of the second eth1 voting
/// period.

View File

@@ -10,7 +10,9 @@ portable = ["beacon_chain/portable"]
[dependencies]
beacon_chain = { workspace = true }
bls = { workspace = true }
ethereum_ssz = { workspace = true }
fixed_bytes = { workspace = true }
state_processing = { workspace = true }
tokio = { workspace = true }
types = { workspace = true }

View File

@@ -3,6 +3,8 @@ mod macros;
mod exit;
use beacon_chain::test_utils::{BeaconChainHarness, EphemeralHarnessType};
use bls::Keypair;
use fixed_bytes::FixedBytesExtended;
use ssz::Encode;
use std::env;
use std::fs::{self, File};
@@ -10,10 +12,8 @@ use std::io::Write;
use std::path::{Path, PathBuf};
use std::process::exit;
use std::sync::LazyLock;
use types::{
BeaconState, EthSpec, Keypair, SignedBeaconBlock, test_utils::generate_deterministic_keypairs,
};
use types::{FixedBytesExtended, Hash256, MainnetEthSpec, Slot};
use types::{BeaconState, EthSpec, SignedBeaconBlock, test_utils::generate_deterministic_keypairs};
use types::{Hash256, MainnetEthSpec, Slot};
type E = MainnetEthSpec;

View File

@@ -9,10 +9,12 @@ edition = { workspace = true }
[dev-dependencies]
account_utils = { workspace = true }
async-channel = { workspace = true }
bls = { workspace = true }
environment = { workspace = true }
eth2 = { workspace = true }
eth2_keystore = { workspace = true }
eth2_network_config = { workspace = true }
fixed_bytes = { workspace = true }
futures = { workspace = true }
initialized_validators = { workspace = true }
lighthouse_validator_store = { workspace = true }
@@ -24,6 +26,7 @@ serde_json = { workspace = true }
serde_yaml = { workspace = true }
slashing_protection = { workspace = true }
slot_clock = { workspace = true }
ssz_types = { workspace = true }
task_executor = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }

View File

@@ -20,9 +20,11 @@ mod tests {
use account_utils::validator_definitions::{
SigningDefinition, ValidatorDefinition, ValidatorDefinitions, Web3SignerDefinition,
};
use bls::{AggregateSignature, Keypair, PublicKeyBytes, SecretKey, Signature};
use eth2::types::FullBlockContents;
use eth2_keystore::KeystoreBuilder;
use eth2_network_config::Eth2NetworkConfig;
use fixed_bytes::FixedBytesExtended;
use initialized_validators::{
InitializedValidators, load_pem_certificate, load_pkcs12_identity,
};
@@ -32,6 +34,7 @@ mod tests {
use serde::Serialize;
use slashing_protection::{SLASHING_PROTECTION_FILENAME, SlashingDatabase};
use slot_clock::{SlotClock, TestingSlotClock};
use ssz_types::BitList;
use std::env;
use std::fmt::Debug;
use std::fs::{self, File};