pub trait BlockNumberProvider {
type BlockNumber: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned + TypeInfo + Debug + MaxEncodedLen + Copy + EncodeLike;
// 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§
sourcetype BlockNumber: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned + TypeInfo + Debug + MaxEncodedLen + Copy + EncodeLike
type BlockNumber: Codec + Clone + Ord + Eq + AtLeast32BitUnsigned + TypeInfo + Debug + MaxEncodedLen + Copy + EncodeLike
Type of BlockNumber
to provide.
Required Methods§
sourcefn current_block_number() -> Self::BlockNumber
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§
sourcefn set_block_number(_block: Self::BlockNumber)
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
Object Safety§
This trait is not object safe.