pub struct Receipt {
pub receipt_id: String,
pub hash: String,
pub prev_receipt_hash: Option<String>,
}Expand description
A content-addressed ledger entry: hash is the digest of an artifact’s exact
bytes, and prev_receipt_hash closes the Merkle chain (None only for
genesis). See the runnable witness in examples/receipt_chain_explained.rs,
which demonstrates content-addressing, tamper detection, the circular-hash
trap, and chain linkage — and panics if any of them regress. For receipt
verification driving the conformance gate, see examples/admission_pipeline.rs.
Fields§
§receipt_id: String§hash: String§prev_receipt_hash: Option<String>Hash of the immediately preceding receipt in the instance ledger.
None for genesis (first) receipts only. All subsequent receipts
must set this to close the Merkle chain and make verify_instance_ledger
meaningful for non-LSP_1 instances.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Receipt
impl<'de> Deserialize<'de> for Receipt
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Receipt
impl RefUnwindSafe for Receipt
impl Send for Receipt
impl Sync for Receipt
impl Unpin for Receipt
impl UnsafeUnpin for Receipt
impl UnwindSafe for Receipt
Blanket Implementations§
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
Mutably borrows from an owned value. Read more