CheckpointSummary

A header for a checkpoint on the Sui blockchain.

On the Sui 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 Sui 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 that authorized its execution.

  • The objects 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 previous information but they are the top-level type by which all the information is 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 to allow verification of the chain's state.

Properties

Link copied to clipboard
abstract val bcs: Bcs

This CheckpointSummary serialized as BCS.

Link copied to clipboard

Commitments to checkpoint-specific state.

Link copied to clipboard
abstract val contentDigest: String?

The hash of the CheckpointContents for this checkpoint.

Link copied to clipboard
abstract val digest: String?

The digest of this CheckpointSummary.

Link copied to clipboard

Extra data only present in the final checkpoint of an epoch.

Link copied to clipboard
abstract val epoch: <Error class: unknown class>?

Epoch that this checkpoint belongs to.

Link copied to clipboard

The running total gas costs of all transactions included in the current epoch so far until this checkpoint.

Link copied to clipboard

Returns the field-presence view for this CheckpointSummary instance.

Link copied to clipboard
abstract val previousDigest: String?

The hash of the previous CheckpointSummary.

Link copied to clipboard
abstract val sequenceNumber: <Error class: unknown class>?

The height of this checkpoint.

Link copied to clipboard
abstract val timestamp: Timestamp

Timestamp of the checkpoint - number of milliseconds from the Unix epoch Checkpoint timestamps are monotonic, but not strongly monotonic - subsequent checkpoints can have the same timestamp if they originate from the same underlining consensus commit.

Link copied to clipboard
abstract val totalNetworkTransactions: <Error class: unknown class>?

Total number of transactions committed since genesis, including those in this checkpoint.

Link copied to clipboard
abstract val versionSpecificData: <Error class: unknown class>?

CheckpointSummary is not an evolvable structure - it must be readable by any version of the code. Therefore, to allow extensions to be added to CheckpointSummary, opaque data can be added to checkpoints, which can be deserialized based on the current protocol version.

Functions

Link copied to clipboard
fun CheckpointSummary.copy(body: <Error class: unknown class>.() -> Unit = {}): CheckpointSummary

Copies the original message, including unknown fields.