pub struct Record {
pub artifact_id: ArtifactId,
pub digest: String,
pub payload_type: String,
pub key_id: String,
pub signed_at: String,
pub parent_id: Option<String>,
pub envelope: Envelope,
pub hub_url: Option<String>,
pub anchors: Vec<RecordAnchor>,
}Expand description
The on-disk record for one stored artifact.
Fields§
§artifact_id: ArtifactId§digest: String§payload_type: String§key_id: String§signed_at: String§parent_id: Option<String>§envelope: Envelope§hub_url: Option<String>§anchors: Vec<RecordAnchor>External witnesses to this artifact’s existence, in the order they were obtained.
Separate from hub_url because a URL records that something was
pushed and not when – and when is the whole value. A receipt’s own
timestamp is the signer’s claim about itself; an anchor is somebody
else’s record that these bytes existed by a given moment, which is
what makes a timeline hard to fabricate after the fact.
#[serde(default)] so receipts written before this field parse
unchanged: an old artifact has no anchors recorded, which is exactly
what an empty list means.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Record
impl<'de> Deserialize<'de> for Record
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 Record
impl RefUnwindSafe for Record
impl Send for Record
impl Sync for Record
impl Unpin for Record
impl UnsafeUnpin for Record
impl UnwindSafe for Record
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