Class: CheckpointSummary
A header for a Checkpoint on the IOTA blockchain.
On the IOTA network, checkpoints define the history of the blockchain. They are quite similar to the concept of blocks used by other blockchains like Bitcoin or Ethereum. The IOTA blockchain, however, forms checkpoints after transaction execution has already happened to provide a certified history of the chain, instead of being formed before execution.
Checkpoints commit to a variety of state including but not limited to:
- The hash of the previous checkpoint.
- The set of transaction digests, their corresponding effects digests, as well as the set of user signatures which authorized its execution.
- The object's produced by a transaction.
- The set of live objects that make up the current state of the chain.
- On epoch transitions, the next validator committee.
CheckpointSummarys themselves don't directly include all of the above
information but they are the top-level type by which all the above are
committed to transitively via cryptographic hashes included in the summary.
CheckpointSummarys are signed and certified by a quorum of the validator
committee in a given epoch in order to allow verification of the chain's
state.
BCS
The BCS serialized form for this type is defined by the following ABNF:
checkpoint-summary = u64 ; epoch
u64 ; sequence_number
u64 ; network_total_transactions
digest ; contents_digest
(option digest) ; previous_digest
gas-cost-summary ; epoch_rolling_gas_cost_summary
u64 ; timestamp_ms
(vector checkpoint-commitment) ; checkpoint_commitments
(option end-of-epoch-data) ; end_of_epoch_data
bytes ; version_specific_data
Extends
UniffiAbstractObject
Implements
Constructors
Constructor
new CheckpointSummary(
epoch,
sequenceNumber,
networkTotalTransactions,
contentsDigest,
previousDigest,
epochRollingGasCostSummary,
timestampMs,
checkpointCommitments,
endOfEpochData,
versionSpecificData
): CheckpointSummary;
Parameters
epoch
bigint
sequenceNumber
bigint
networkTotalTransactions
bigint
contentsDigest
previousDigest
CheckpointDigestLike | undefined
epochRollingGasCostSummary
timestampMs
bigint
checkpointCommitments
endOfEpochData
EndOfEpochData | undefined
versionSpecificData
ArrayBuffer
Returns
CheckpointSummary
Overrides
UniffiAbstractObject.constructor
Properties
[destructorGuardSymbol]
readonly [destructorGuardSymbol]: UniffiGcObject;
[pointerLiteralSymbol]
readonly [pointerLiteralSymbol]: bigint;
[uniffiTypeNameSymbol]
readonly [uniffiTypeNameSymbol]: "CheckpointSummary" = "CheckpointSummary";
Methods
checkpointCommitments()
checkpointCommitments(): CheckpointCommitmentLike[];
Commitments to checkpoint-specific state.
Returns
Implementation of
CheckpointSummaryLike.checkpointCommitments
contentsDigest()
contentsDigest(): CheckpointContentsDigestLike;
The hash of the CheckpointContents for this checkpoint.
Returns
Implementation of
CheckpointSummaryLike.contentsDigest
digest()
digest(): CheckpointDigestLike;
Returns
Implementation of
endOfEpochData()
endOfEpochData(): EndOfEpochData | undefined;
Extra data only present in the final checkpoint of an epoch.
Returns
EndOfEpochData | undefined
Implementation of
CheckpointSummaryLike.endOfEpochData
epoch()
epoch(): bigint;
Epoch that this checkpoint belongs to.
Returns
bigint
Implementation of
epochRollingGasCostSummary()
epochRollingGasCostSummary(): GasCostSummary;
The running total gas costs of all transactions included in the current epoch so far until this checkpoint.
Returns
Implementation of
CheckpointSummaryLike.epochRollingGasCostSummary
networkTotalTransactions()
networkTotalTransactions(): bigint;
Total number of transactions committed since genesis, including those in this checkpoint.
Returns
bigint
Implementation of
CheckpointSummaryLike.networkTotalTransactions
previousDigest()
previousDigest(): CheckpointDigestLike | undefined;
The hash of the previous CheckpointSummary.
This will be only be None for the first, or genesis checkpoint.
Returns
CheckpointDigestLike | undefined
Implementation of
CheckpointSummaryLike.previousDigest
sequenceNumber()
sequenceNumber(): bigint;
The height of this checkpoint.
Returns
bigint
Implementation of
CheckpointSummaryLike.sequenceNumber
signingMessage()
signingMessage(): ArrayBuffer;
Returns
ArrayBuffer
Implementation of
CheckpointSummaryLike.signingMessage
signingMessageHex()
signingMessageHex(): string;
Returns
string
Implementation of
CheckpointSummaryLike.signingMessageHex
timestampMs()
timestampMs(): bigint;
Timestamp of the checkpoint - number of milliseconds from the Unix epoch Checkpoint timestamps are monotonic, but not strongly monotonic - subsequent checkpoints can have same timestamp if they originate from the same underlining consensus commit
Returns
bigint
Implementation of
CheckpointSummaryLike.timestampMs
uniffiDestroy()
uniffiDestroy(): void;
Explicitly tell Rust to destroy the native peer that backs this object.
Once this method has been called, any following method calls will throw an error.
Can be called more than once.
Returns
void
Overrides
UniffiAbstractObject.uniffiDestroy
uniffiUse()
uniffiUse<T>(block): T;
A convenience method to use this object, then destroy it after its use.
Type Parameters
T
T
Parameters
block
(obj) => T
Returns
T
Inherited from
UniffiAbstractObject.uniffiUse
versionSpecificData()
versionSpecificData(): ArrayBuffer;
CheckpointSummary is not an evolvable structure - it must be readable by any version of the code. Therefore, in order to allow extensions to be added to CheckpointSummary, we allow opaque data to be added to checkpoints which can be deserialized based on the current protocol version.
Returns
ArrayBuffer
Implementation of
CheckpointSummaryLike.versionSpecificData
instanceOf()
static instanceOf(obj_): obj_ is CheckpointSummary;
Parameters
obj_
any
Returns
obj_ is CheckpointSummary