Skip to main content

raw_GetBlockTimepoint

Function raw_GetBlockTimepoint 

Source
pub fn raw_GetBlockTimepoint(
    block_timepoint: &mut TimePoint,
) -> Result<(), SysErr>
Expand description

Returns the timepoint of the block currently executing. The value is fixed by the coordinator before execution begins and is carried in the block’s ProposalHeader, so it is part of the block identity and is identical for every invocation in the block. Like a block height, this is consensus data rather than a trusted clock: it is chosen by the proposer within whatever bounds the network’s validators enforce. Contracts should treat it as coarse-grained wall-clock time – suitable for expiries, vesting schedules and deadlines – and must not rely on it for fine-grained ordering or as a source of randomness.

§Arguments

§Inputs

  • None

§Outputs

The following parameters are written by the syscall only if it returns kSyscallErrorCodeNone. A span output then has only its first min(len, written_len) bytes written:

  • block_timepoint

This is the raw_GetBlockTimepoint variant that wraps uninit_GetBlockTimepoint. It converts regular output types to MaybeUninit and calls uninit_GetBlockTimepoint.