pub trait BlockNumberProvider {
    type BlockNumber: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned;

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

source

type BlockNumber: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned

Type of BlockNumber to provide.

Required Methods§

source

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§

source

fn set_block_number(_block: Self::BlockNumber)

Utility function only to be used in benchmarking scenarios, 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

Implementors§