pub struct SszStatelessInput {
pub new_payload_request: NewPayloadRequest,
pub witness: SszExecutionWitness,
pub chain_id: u64,
}Expand description
SSZ StatelessInput — the top-level input to verify_stateless_new_payload.
Wraps a NewPayloadRequest together with the execution witness and the
chain id. It carries no sender public keys: execution-specs #3652 removed
them, so the guest recovers every sender itself, which it had to do anyway
because a supplied key cannot bind the signature’s recovery id.
Fields§
§new_payload_request: NewPayloadRequest§witness: SszExecutionWitness§chain_id: u64Chain identifier. #3278 removed ChainConfig from the wire: fork
activation info and blob schedules are guest-internal, keyed by
(chain_id, fork), with the fork coming from the schema-id prefix.
Trait Implementations§
Source§impl Clone for SszStatelessInput
impl Clone for SszStatelessInput
Source§impl Debug for SszStatelessInput
impl Debug for SszStatelessInput
impl Eq for SszStatelessInput
Source§impl HashTreeRoot for SszStatelessInput
impl HashTreeRoot for SszStatelessInput
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 SszStatelessInput
impl PartialEq for SszStatelessInput
Source§impl SszDecode for SszStatelessInput
impl SszDecode for SszStatelessInput
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 SszStatelessInput
impl SszEncode for SszStatelessInput
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 SszStatelessInput
Auto Trait Implementations§
impl Freeze for SszStatelessInput
impl RefUnwindSafe for SszStatelessInput
impl Send for SszStatelessInput
impl Sync for SszStatelessInput
impl Unpin for SszStatelessInput
impl UnsafeUnpin for SszStatelessInput
impl UnwindSafe for SszStatelessInput
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.