Skip to main content

ReadBlock

Struct ReadBlock 

Source
pub struct ReadBlock { /* private fields */ }

Implementations§

Source§

impl ReadBlock

Source

pub fn metadata(&self) -> &BlkMetadata

Source

pub fn tx_metadata(&self) -> &Vec<BlkMetadata>

Source

pub fn inner(self) -> Block

Methods from Deref<Target = Block>§

Source

pub fn height(&self) -> Height

Source

pub fn hash(&self) -> &BlockHash

Source

pub fn total_size_and_weight(&self) -> (usize, usize)

Compute total_size and weight in a single pass (2N tx serializations instead of 3N from calling total_size() + weight() separately, since weight() internally calls both base_size() and total_size()).

Source

pub fn compute_tx_id_and_sizes(&self, index: usize) -> (Txid, u32, u32)

Compute txid, base_size, and total_size for the transaction at index. Uses raw bytes (fast path) when available, falls back to re-serialization.

Source

pub fn coinbase_tag(&self) -> Cow<'_, str>

Methods from Deref<Target = Block>§

Source

pub fn block_hash(&self) -> BlockHash

Returns the block hash.

Source

pub fn check_merkle_root(&self) -> bool

Checks if merkle root of header matches merkle root of the transaction list.

Source

pub fn check_witness_commitment(&self) -> bool

Checks if witness commitment in coinbase matches the transaction list.

Source

pub fn compute_merkle_root(&self) -> Option<TxMerkleNode>

Computes the transaction merkle root.

Source

pub fn witness_root(&self) -> Option<WitnessMerkleNode>

Computes the merkle root of transactions hashed for witness.

Source

pub fn weight(&self) -> Weight

Returns the weight of the block.

Block weight is defined as Base size * 3 + Total size.

Source

pub fn total_size(&self) -> usize

Returns the total block size.

Total size is the block size in bytes with transactions serialized as described in BIP144, including base data and witness data.

Source

pub fn coinbase(&self) -> Option<&Transaction>

Returns the coinbase transaction, if one is present.

Source

pub fn bip34_block_height(&self) -> Result<u64, Bip34Error>

Returns the block height, as encoded in the coinbase transaction according to BIP34.

Trait Implementations§

Source§

impl Debug for ReadBlock

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for ReadBlock

Source§

type Target = Block

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl From<(Block, BlkMetadata, Vec<BlkMetadata>)> for ReadBlock

Source§

fn from( (block, metadata, tx_metadata): (Block, BlkMetadata, Vec<BlkMetadata>), ) -> Self

Converts to this type from the input type.
Source§

impl From<ReadBlock> for Block

Source§

fn from(value: ReadBlock) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.