Struct zaino_proto::proto::compact_formats::CompactBlock
source · pub struct CompactBlock {
pub proto_version: u32,
pub height: u64,
pub hash: Vec<u8>,
pub prev_hash: Vec<u8>,
pub time: u32,
pub header: Vec<u8>,
pub vtx: Vec<CompactTx>,
pub chain_metadata: Option<ChainMetadata>,
}
Expand description
A compact representation of the shielded data in a Zcash block.
CompactBlock is a packaging of ONLY the data from a block that’s needed to:
- Detect a payment to your shielded Sapling address
- Detect a spend of your shielded Sapling notes
- Update your witnesses to generate new Sapling spend proofs.
Fields§
§proto_version: u32
the version of this wire format, for storage
height: u64
the height of this block
hash: Vec<u8>
the ID (hash) of this block, same as in block explorers
prev_hash: Vec<u8>
the ID (hash) of this block’s predecessor
time: u32
Unix epoch time when the block was mined
header: Vec<u8>
(hash, prevHash, and time) OR (full header)
vtx: Vec<CompactTx>
zero or more compact transactions from this block
chain_metadata: Option<ChainMetadata>
information about the state of the chain as of this block
Trait Implementations§
source§impl Clone for CompactBlock
impl Clone for CompactBlock
source§fn clone(&self) -> CompactBlock
fn clone(&self) -> CompactBlock
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CompactBlock
impl Debug for CompactBlock
source§impl Default for CompactBlock
impl Default for CompactBlock
source§impl Message for CompactBlock
impl Message for CompactBlock
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message to a newly allocated buffer.
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.source§impl PartialEq for CompactBlock
impl PartialEq for CompactBlock
source§fn eq(&self, other: &CompactBlock) -> bool
fn eq(&self, other: &CompactBlock) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for CompactBlock
Auto Trait Implementations§
impl Freeze for CompactBlock
impl RefUnwindSafe for CompactBlock
impl Send for CompactBlock
impl Sync for CompactBlock
impl Unpin for CompactBlock
impl UnwindSafe for CompactBlock
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request