mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-11 18:04:18 +00:00
Testing
This commit is contained in:
@@ -58,6 +58,8 @@ pub struct ExecutionBlockHeader {
|
||||
pub excess_blob_gas: Option<u64>,
|
||||
pub parent_beacon_block_root: Option<Hash256>,
|
||||
pub requests_root: Option<Hash256>,
|
||||
pub block_access_list_root: Option<Hash256>,
|
||||
pub slot_number: Option<u64>,
|
||||
}
|
||||
|
||||
impl ExecutionBlockHeader {
|
||||
@@ -71,6 +73,8 @@ impl ExecutionBlockHeader {
|
||||
rlp_excess_blob_gas: Option<u64>,
|
||||
rlp_parent_beacon_block_root: Option<Hash256>,
|
||||
rlp_requests_root: Option<Hash256>,
|
||||
rlp_block_access_list_root: Option<Hash256>,
|
||||
rlp_slot_number: Option<u64>,
|
||||
) -> Self {
|
||||
// Most of these field mappings are defined in EIP-3675 except for `mixHash`, which is
|
||||
// defined in EIP-4399.
|
||||
@@ -96,6 +100,8 @@ impl ExecutionBlockHeader {
|
||||
excess_blob_gas: rlp_excess_blob_gas,
|
||||
parent_beacon_block_root: rlp_parent_beacon_block_root,
|
||||
requests_root: rlp_requests_root,
|
||||
block_access_list_root: rlp_block_access_list_root,
|
||||
slot_number: rlp_slot_number,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -124,6 +130,8 @@ pub struct EncodableExecutionBlockHeader<'a> {
|
||||
pub excess_blob_gas: Option<u64>,
|
||||
pub parent_beacon_block_root: Option<&'a [u8]>,
|
||||
pub requests_root: Option<&'a [u8]>,
|
||||
pub block_access_list_root: Option<&'a [u8]>,
|
||||
pub slot_number: Option<u64>,
|
||||
}
|
||||
|
||||
impl<'a> From<&'a ExecutionBlockHeader> for EncodableExecutionBlockHeader<'a> {
|
||||
@@ -150,6 +158,8 @@ impl<'a> From<&'a ExecutionBlockHeader> for EncodableExecutionBlockHeader<'a> {
|
||||
excess_blob_gas: header.excess_blob_gas,
|
||||
parent_beacon_block_root: None,
|
||||
requests_root: None,
|
||||
block_access_list_root: None,
|
||||
slot_number: header.slot_number,
|
||||
};
|
||||
if let Some(withdrawals_root) = &header.withdrawals_root {
|
||||
encodable.withdrawals_root = Some(withdrawals_root.as_slice());
|
||||
@@ -160,6 +170,9 @@ impl<'a> From<&'a ExecutionBlockHeader> for EncodableExecutionBlockHeader<'a> {
|
||||
if let Some(requests_root) = &header.requests_root {
|
||||
encodable.requests_root = Some(requests_root.as_slice())
|
||||
}
|
||||
if let Some(block_access_list_root) = &header.block_access_list_root {
|
||||
encodable.block_access_list_root = Some(block_access_list_root.as_slice())
|
||||
}
|
||||
encodable
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,6 +113,10 @@ pub struct ExecutionPayload<E: EthSpec> {
|
||||
#[superstruct(only(Gloas))]
|
||||
#[serde(with = "ssz_types::serde_utils::hex_var_list")]
|
||||
pub block_access_list: VariableList<u8, E::MaxBytesPerTransaction>,
|
||||
/// EIP-7843: Slot number
|
||||
#[superstruct(only(Gloas), partial_getter(copy))]
|
||||
#[serde(with = "serde_utils::quoted_u64")]
|
||||
pub slot_number: u64,
|
||||
}
|
||||
|
||||
impl<'a, E: EthSpec> ExecutionPayloadRef<'a, E> {
|
||||
|
||||
@@ -117,6 +117,10 @@ pub struct ExecutionPayloadHeader<E: EthSpec> {
|
||||
/// EIP-7928: Block access list root
|
||||
#[superstruct(only(Gloas), partial_getter(copy))]
|
||||
pub block_access_list_root: Hash256,
|
||||
/// EIP-7843: Slot number
|
||||
#[superstruct(only(Gloas), partial_getter(copy))]
|
||||
#[serde(with = "serde_utils::quoted_u64")]
|
||||
pub slot_number: u64,
|
||||
}
|
||||
|
||||
impl<E: EthSpec> ExecutionPayloadHeader<E> {
|
||||
@@ -291,6 +295,7 @@ impl<E: EthSpec> ExecutionPayloadHeaderFulu<E> {
|
||||
blob_gas_used: self.blob_gas_used,
|
||||
excess_blob_gas: self.excess_blob_gas,
|
||||
block_access_list_root: Hash256::zero(),
|
||||
slot_number: 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -431,6 +436,7 @@ impl<'a, E: EthSpec> From<&'a ExecutionPayloadGloas<E>> for ExecutionPayloadHead
|
||||
blob_gas_used: payload.blob_gas_used,
|
||||
excess_blob_gas: payload.excess_blob_gas,
|
||||
block_access_list_root: payload.block_access_list.tree_hash_root(),
|
||||
slot_number: payload.slot_number,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user