pub struct BlockPayload {
pub parent_block_ids: Vec<ObjectId>,
pub kind: BlockKind,
pub patch_ids: Vec<ObjectId>,
pub state_merkle_root: MerkleRoot,
pub snapshot_blob_ref: Option<ObjectId>,
pub mainline_parent_id: Option<ObjectId>,
pub merge_baseline_block_id: Option<ObjectId>,
}Expand description
Block payload. Block summaries are intentionally not identity-bearing.
Fields§
§parent_block_ids: Vec<ObjectId>Parent block IDs, sorted unless a later design adds semantic parent roles.
kind: BlockKindBlock kind.
patch_ids: Vec<ObjectId>Patch IDs in canonical block patch order.
state_merkle_root: MerkleRootState Merkle root.
snapshot_blob_ref: Option<ObjectId>Optional full snapshot blob reference.
mainline_parent_id: Option<ObjectId>The parent state derivation and replay follow. Present only on Merge blocks (DC-75); must
name one of parent_block_ids. None for every other kind, which have at most one parent
already and need no designation.
merge_baseline_block_id: Option<ObjectId>The block confluence was proven against when this Merge was sealed (DC-75). A claim, not a
trust boundary: verify independently re-derives the true merge base and reports disagreement
rather than trusting this field. None for every other kind.
Implementations§
Source§impl BlockPayload
impl BlockPayload
Sourcepub fn decode_canonical(bytes: &[u8]) -> Result<Self>
pub fn decode_canonical(bytes: &[u8]) -> Result<Self>
Decode a block payload from Prikk canonical TLV bytes.
Trait Implementations§
Source§impl CanonicalEncode for BlockPayload
impl CanonicalEncode for BlockPayload
Source§fn encode_canonical(&self, writer: &mut CanonicalWriter) -> Result<()>
fn encode_canonical(&self, writer: &mut CanonicalWriter) -> Result<()>
Source§impl Clone for BlockPayload
impl Clone for BlockPayload
Source§fn clone(&self) -> BlockPayload
fn clone(&self) -> BlockPayload
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more