pub struct ExecutionRequests {
pub deposits: ProgressiveList<DepositRequest>,
pub withdrawals: ProgressiveList<WithdrawalRequest>,
pub consolidations: ProgressiveList<ConsolidationRequest>,
pub builder_deposits: ProgressiveList<BuilderDepositRequest>,
pub builder_exits: ProgressiveList<BuilderExitRequest>,
}Expand description
SSZ ExecutionRequests at execution-specs 3c3b6f4af: a
ProgressiveContainer(active_fields=[1; 5]) carrying the EIP-7685 bundle
including the EIP-8282 builder requests.
HashTreeRoot is hand-written; see ExecutionPayload.
Fields§
§deposits: ProgressiveList<DepositRequest>§withdrawals: ProgressiveList<WithdrawalRequest>§consolidations: ProgressiveList<ConsolidationRequest>§builder_deposits: ProgressiveList<BuilderDepositRequest>§builder_exits: ProgressiveList<BuilderExitRequest>Implementations§
Source§impl ExecutionRequests
impl ExecutionRequests
Sourcepub fn to_encoded_requests(&self) -> Vec<EncodedRequests>
pub fn to_encoded_requests(&self) -> Vec<EncodedRequests>
Produce the EIP-7685 encoded form: five EncodedRequests entries,
one per request type, each [type_byte] ++ concat(ssz_encode(item)).
The five request types are all fixed-size SSZ containers, so their
SSZ encoding is byte-for-byte the EL wire concatenation that
compute_requests_hash expects.
Trait Implementations§
Source§impl Clone for ExecutionRequests
impl Clone for ExecutionRequests
Source§impl Debug for ExecutionRequests
impl Debug for ExecutionRequests
impl Eq for ExecutionRequests
Source§impl HashTreeRoot for ExecutionRequests
impl HashTreeRoot for ExecutionRequests
fn hash_tree_root(&self, hasher: &impl Sha256Hasher) -> Node
Source§fn is_basic_type() -> boolwhere
Self: Sized,
fn is_basic_type() -> boolwhere
Self: Sized,
Returns
true for SSZ basic types (bool, uN, byte arrays).
Composite types (containers, vectors, lists) return false.
Used by Vector/List HTR to decide between packing and per-element hashing.Source§impl PartialEq for ExecutionRequests
impl PartialEq for ExecutionRequests
Source§impl SszDecode for ExecutionRequests
impl SszDecode for ExecutionRequests
Source§fn is_fixed_size() -> bool
fn is_fixed_size() -> bool
Returns
true if this type has a fixed SSZ size.Source§fn fixed_size() -> usize
fn fixed_size() -> usize
Returns the fixed size in bytes. Only meaningful when
is_fixed_size() is true.Source§fn from_ssz_bytes(bytes: &[u8]) -> Result<Self, DecodeError>
fn from_ssz_bytes(bytes: &[u8]) -> Result<Self, DecodeError>
Decode from SSZ bytes.
Source§fn ssz_decode_fixed_vec(bytes: &[u8]) -> Result<Vec<Self>, DecodeError>
fn ssz_decode_fixed_vec(bytes: &[u8]) -> Result<Vec<Self>, DecodeError>
Bulk-decode a byte buffer into a
Vec of fixed-size items. Read moreSource§impl SszEncode for ExecutionRequests
impl SszEncode for ExecutionRequests
Source§fn is_fixed_size() -> bool
fn is_fixed_size() -> bool
Returns
true if this type has a fixed SSZ size.Source§fn fixed_size() -> usize
fn fixed_size() -> usize
Returns the fixed size in bytes. Only meaningful when
is_fixed_size() is true.Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length in bytes for this value.
Source§fn ssz_append(&self, buf: &mut Vec<u8>)
fn ssz_append(&self, buf: &mut Vec<u8>)
Appends the SSZ encoding of
self to buf.impl StructuralPartialEq for ExecutionRequests
Auto Trait Implementations§
impl Freeze for ExecutionRequests
impl RefUnwindSafe for ExecutionRequests
impl Send for ExecutionRequests
impl Sync for ExecutionRequests
impl Unpin for ExecutionRequests
impl UnsafeUnpin for ExecutionRequests
impl UnwindSafe for ExecutionRequests
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.