pub struct CheckpointSummary {
pub epoch: EpochId,
pub sequence_number: CheckpointSequenceNumber,
pub network_total_transactions: u64,
pub content_digest: CheckpointContentsDigest,
pub previous_digest: Option<CheckpointDigest>,
pub epoch_rolling_gas_cost_summary: GasCostSummary,
pub timestamp_ms: CheckpointTimestamp,
pub checkpoint_commitments: Vec<CheckpointCommitment>,
pub end_of_epoch_data: Option<EndOfEpochData>,
pub version_specific_data: Vec<u8>,
}
Fields§
§epoch: EpochId
§sequence_number: CheckpointSequenceNumber
§network_total_transactions: u64
Total number of transactions committed since genesis, including those in this checkpoint.
content_digest: CheckpointContentsDigest
§previous_digest: Option<CheckpointDigest>
§epoch_rolling_gas_cost_summary: GasCostSummary
The running total gas costs of all transactions included in the current epoch so far until this checkpoint.
timestamp_ms: CheckpointTimestamp
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
checkpoint_commitments: Vec<CheckpointCommitment>
Commitments to checkpoint-specific state (e.g. txns in checkpoint, objects read/written in checkpoint).
end_of_epoch_data: Option<EndOfEpochData>
Present only on the final checkpoint of the epoch.
version_specific_data: Vec<u8>
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.
Implementations§
source§impl CheckpointSummary
impl CheckpointSummary
pub fn digest(&self) -> CheckpointDigest
hash
and serde
only.Trait Implementations§
source§impl Arbitrary for CheckpointSummary
impl Arbitrary for CheckpointSummary
source§type Parameters = ()
type Parameters = ()
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.source§type Strategy = BoxedStrategy<CheckpointSummary>
type Strategy = BoxedStrategy<CheckpointSummary>
Strategy
used to generate values of type Self
.source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
source§impl Clone for CheckpointSummary
impl Clone for CheckpointSummary
source§fn clone(&self) -> CheckpointSummary
fn clone(&self) -> CheckpointSummary
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CheckpointSummary
impl Debug for CheckpointSummary
source§impl<'de> Deserialize<'de> for CheckpointSummary
Available on crate feature serde
only.
impl<'de> Deserialize<'de> for CheckpointSummary
serde
only.source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl PartialEq for CheckpointSummary
impl PartialEq for CheckpointSummary
source§impl Serialize for CheckpointSummary
Available on crate feature serde
only.
impl Serialize for CheckpointSummary
serde
only.impl Eq for CheckpointSummary
impl StructuralPartialEq for CheckpointSummary
Auto Trait Implementations§
impl Freeze for CheckpointSummary
impl RefUnwindSafe for CheckpointSummary
impl Send for CheckpointSummary
impl Sync for CheckpointSummary
impl Unpin for CheckpointSummary
impl UnwindSafe for CheckpointSummary
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)