Struct thor::wallet::Block

source ·
pub struct Block {
    header: Header,
    contents: Contents,
}
Expand description

Block is an element of the blockchain it contains multiple transaction and a reference to the parent block. Alongside with the position of that block in the chain.

Fields§

§header: Header§contents: Contents

Implementations§

source§

impl Block

source

pub fn header(&self) -> &Header

source

pub fn contents(&self) -> &Contents

source

pub fn fragments(&self) -> impl Iterator<Item = &Fragment>

Trait Implementations§

source§

impl Arbitrary for Block

source§

fn arbitrary<G>(g: &mut G) -> Blockwhere G: Gen,

§

fn shrink(&self) -> Box<dyn Iterator<Item = Self>, Global>

source§

impl Block for Block

source§

fn id(&self) -> <Block as Block>::Id

Identifier of the block, currently the hash of the serialized transaction.

source§

fn parent_id(&self) -> <Block as Block>::Id

Id of the parent block.

source§

fn date(&self) -> <Block as Block>::Date

Date of the block.

§

type Id = Hash

the Block identifier. It must be unique. This mean that 2 different blocks have 2 different identifiers. Read more
§

type Date = BlockDate

the block date (also known as a block number) represents the absolute position of the block in the chain. This can be used for random access (if the storage algorithm allows it) or for identifying the position of a block in a given epoch or era.
§

type Version = BlockVersion

the type associated to the version of a block
§

type ChainLength = ChainLength

the length of the blockchain (number of blocks)
source§

fn version(&self) -> <Block as Block>::Version

access the version of a given block
source§

fn chain_length(&self) -> <Block as Block>::ChainLength

get the block’s chain length. The number of block created following this thread of blocks on the blockchain (including Self).
source§

impl Clone for Block

source§

fn clone(&self) -> Block

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Block

source§

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

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

impl Deserialize for Block

source§

fn deserialize<R>(codec: &mut Codec<R>) -> Result<Block, ReadError>where R: Read,

source§

fn deserialize_validate<R>(codec: &mut Codec<R>) -> Result<(), ReadError>where R: Read,

source§

impl<'a> HasFragments<'a> for &'a Block

§

type Fragment = Fragment

The type representing fragments in this block.
§

type Fragments = Iter<'a, Fragment>

A by-reference iterator over block’s fragments.
source§

fn fragments(self) -> <&'a Block as HasFragments<'a>>::Fragments

Returns a by-reference iterator over the fragments in the block.
source§

impl HasHeader for Block

§

type Header = Header

The block header type.
source§

fn header(&self) -> <Block as HasHeader>::Header

Retrieves the block’s header.
source§

impl PartialEq<Block> for Block

source§

fn eq(&self, rhs: &Block) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Block

source§

fn serialized_size(&self) -> usize

Default implementation, not efficient, not recommended to use it
source§

fn serialize<W>(&self, codec: &mut Codec<W>) -> Result<(), WriteError>where W: Write,

source§

fn serialize_as_vec(&self) -> Result<Vec<u8, Global>, WriteError>

Convenience method to serialize into a byte vector.
source§

impl Eq for Block

Auto Trait Implementations§

§

impl RefUnwindSafe for Block

§

impl Send for Block

§

impl Sync for Block

§

impl Unpin for Block

§

impl UnwindSafe for Block

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> DeserializeFromSlice for Twhere T: Deserialize,

source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere 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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more