gclient::ext::sp_runtime::traits

Trait BlockNumberProvider

pub trait BlockNumberProvider {
    type BlockNumber: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned + TypeInfo + Debug + MaxEncodedLen + Copy;

    // Required method
    fn current_block_number() -> Self::BlockNumber;

    // Provided method
    fn set_block_number(_block: Self::BlockNumber) { ... }
}
Expand description

Get current block number

Required Associated Types§

type BlockNumber: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned + TypeInfo + Debug + MaxEncodedLen + Copy

Type of BlockNumber to provide.

Required Methods§

fn current_block_number() -> Self::BlockNumber

Returns the current block number.

Provides an abstraction over an arbitrary way of providing the current block number.

In case of using crate sp_runtime with the crate frame-system, it is already implemented for frame_system::Pallet<T: Config> as:

fn current_block_number() -> Self {
    frame_system::Pallet<Config>::block_number()
}

.

Provided Methods§

fn set_block_number(_block: Self::BlockNumber)

Utility function only to be used in benchmarking scenarios or tests, to be implemented optionally, else a noop.

It allows for setting the block number that will later be fetched This is useful in case the block number provider is different than System

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl BlockNumberProvider for ()

Implementors§