pub struct KernelCheckpointBody {
pub schema: String,
pub checkpoint_seq: u64,
pub batch_start_seq: u64,
pub batch_end_seq: u64,
pub tree_size: usize,
pub merkle_root: Hash,
pub issued_at: u64,
pub kernel_key: PublicKey,
pub previous_checkpoint_sha256: Option<String>,
pub chain_root: Option<Hash>,
}Expand description
The signed body of a kernel checkpoint statement.
Fields§
§schema: StringSchema identifier for new checkpoint issuance.
checkpoint_seq: u64Monotonic checkpoint counter.
batch_start_seq: u64First receipt seq in this batch.
batch_end_seq: u64Last receipt seq in this batch.
tree_size: usizeNumber of leaves in the Merkle tree.
merkle_root: HashRoot from MerkleTree::from_leaves.
issued_at: u64Unix timestamp (seconds) when the checkpoint was issued.
kernel_key: PublicKeyThe kernel’s signing key (public).
previous_checkpoint_sha256: Option<String>Hash of the immediately preceding checkpoint body when this checkpoint extends a prior batch.
chain_root: Option<Hash>RFC 6962 root over the checkpoint-chain leaves for checkpoint_seq 1
through this checkpoint, one leaf per checkpoint binding its sequence,
entry range, and batch root (see checkpoint_chain_leaf_hash). This
is the commitment that consistency proofs verify against. Absent on
v1 checkpoints and on detached v2 checkpoints built without chain
context.
Trait Implementations§
Source§impl Clone for KernelCheckpointBody
impl Clone for KernelCheckpointBody
Source§fn clone(&self) -> KernelCheckpointBody
fn clone(&self) -> KernelCheckpointBody
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KernelCheckpointBody
impl Debug for KernelCheckpointBody
Source§impl<'de> Deserialize<'de> for KernelCheckpointBody
impl<'de> Deserialize<'de> for KernelCheckpointBody
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>,
impl Eq for KernelCheckpointBody
Source§impl PartialEq for KernelCheckpointBody
impl PartialEq for KernelCheckpointBody
Source§impl Serialize for KernelCheckpointBody
impl Serialize for KernelCheckpointBody
impl StructuralPartialEq for KernelCheckpointBody
Auto Trait Implementations§
impl Freeze for KernelCheckpointBody
impl RefUnwindSafe for KernelCheckpointBody
impl Send for KernelCheckpointBody
impl Sync for KernelCheckpointBody
impl Unpin for KernelCheckpointBody
impl UnsafeUnpin for KernelCheckpointBody
impl UnwindSafe for KernelCheckpointBody
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more