pub struct Receipt {
pub version: u32,
pub session: Session,
pub projections: Vec<Projection>,
pub root_hash_hex: String,
pub signature_b64: String,
}Expand description
The colimit envelope. Holds a session + any subset of its projections, signed with the issuer’s Ed25519 key.
Verifiers re-canonicalize the signing input (session + projections
- issued-at), recompute the BLAKE3 root hash, and re-verify the signature. Each projection MAY ADDITIONALLY be re-checked by the lifter that produced it; the lifter’s per-kind verifier is independent of this top-level signature check.
Fields§
§version: u32§session: Session§projections: Vec<Projection>§root_hash_hex: StringBLAKE3 over canonical_signing_bytes.
signature_b64: StringEd25519 signature over the same canonical bytes.
Implementations§
Source§impl Receipt
impl Receipt
Sourcepub fn sign(
session: Session,
projections: Vec<Projection>,
signing_key: &SigningKey,
) -> Self
pub fn sign( session: Session, projections: Vec<Projection>, signing_key: &SigningKey, ) -> Self
Build + sign a fresh receipt with the supplied issuer key.
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
impl StructuralPartialEq for Receipt
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