pub struct CompressedSignedBeaconBlock {
pub data: Vec<u8>,
}Expand description
Compressed signed beacon block
See also https://github.com/status-im/nimbus-eth2/blob/stable/docs/e2store.md#compressedsignedbeaconblock.
Fields§
§data: Vec<u8>Snappy-compressed ssz-encoded SignedBeaconBlock
Implementations§
Source§impl CompressedSignedBeaconBlock
impl CompressedSignedBeaconBlock
Sourcepub const fn new(data: Vec<u8>) -> Self
pub const fn new(data: Vec<u8>) -> Self
Create a new CompressedSignedBeaconBlock from compressed data
Sourcepub fn from_ssz(ssz_data: &[u8]) -> Result<Self, E2sError>
pub fn from_ssz(ssz_data: &[u8]) -> Result<Self, E2sError>
Create from ssz-encoded block by compressing it with snappy
Sourcepub fn decompress(&self) -> Result<Vec<u8>, E2sError>
pub fn decompress(&self) -> Result<Vec<u8>, E2sError>
Decompress to get the original ssz-encoded signed beacon block
Sourcepub fn decode_execution_block<T: Decodable2718>(
&self,
) -> Result<Option<Block<T>>, E2sError>
pub fn decode_execution_block<T: Decodable2718>( &self, ) -> Result<Option<Block<T>>, E2sError>
Decodes the execution block embedded in this beacon block, if it has one.
Only post-merge (Bellatrix and later) blocks carry a payload; the fork is found by
trial-decoding newest to oldest. Returns Ok(None) for genuine pre-merge slots, confirmed
to decode as a pre-merge block. Bytes matching no known fork are an error, so malformed data
is never silently dropped.
Trait Implementations§
Source§impl Clone for CompressedSignedBeaconBlock
impl Clone for CompressedSignedBeaconBlock
Source§fn clone(&self) -> CompressedSignedBeaconBlock
fn clone(&self) -> CompressedSignedBeaconBlock
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CompressedSignedBeaconBlock
impl RefUnwindSafe for CompressedSignedBeaconBlock
impl Send for CompressedSignedBeaconBlock
impl Sync for CompressedSignedBeaconBlock
impl Unpin for CompressedSignedBeaconBlock
impl UnsafeUnpin for CompressedSignedBeaconBlock
impl UnwindSafe for CompressedSignedBeaconBlock
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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 more§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes