pub struct ContextDecisionLineageV1 {
pub schema_version: u32,
pub request: ContextRequestV1,
pub candidates: Vec<SourceCandidateV1>,
pub decision_receipt: Sha256Digest,
pub outcomes: Vec<ObjectOutcomeV1>,
pub receipt_state: ContextReceiptStateV1,
pub egress_admission: Option<Sha256Digest>,
pub egress_observations: Vec<Sha256Digest>,
pub execution_receipt: Option<ProtocolReference>,
}Expand description
Request → candidates → decisions → receipt, as one record over the existing ones (referenced by digest, never copied).
Fields§
§schema_version: u32§request: ContextRequestV1§candidates: Vec<SourceCandidateV1>§decision_receipt: Sha256DigestCanonical digest of the ContextDecisionReceiptV1 this lineage explains.
outcomes: Vec<ObjectOutcomeV1>§receipt_state: ContextReceiptStateV1§egress_admission: Option<Sha256Digest>§egress_observations: Vec<Sha256Digest>§execution_receipt: Option<ProtocolReference>The signed execution receipt of the same call, where one exists.
Implementations§
Source§impl ContextDecisionLineageV1
impl ContextDecisionLineageV1
Sourcepub fn for_receipt(
request: ContextRequestV1,
candidates: Vec<SourceCandidateV1>,
receipt: &ContextDecisionReceiptV1,
handed_off: bool,
egress_admission: Option<Sha256Digest>,
egress_observations: Vec<Sha256Digest>,
) -> Result<Self, ValidationError>
pub fn for_receipt( request: ContextRequestV1, candidates: Vec<SourceCandidateV1>, receipt: &ContextDecisionReceiptV1, handed_off: bool, egress_admission: Option<Sha256Digest>, egress_observations: Vec<Sha256Digest>, ) -> Result<Self, ValidationError>
Build the lineage of one decision receipt. The outcomes are the receipt’s own decisions projected, never re-decided here.
pub fn validate(&self) -> Result<(), ValidationError>
Trait Implementations§
Source§impl Clone for ContextDecisionLineageV1
impl Clone for ContextDecisionLineageV1
Source§impl Debug for ContextDecisionLineageV1
impl Debug for ContextDecisionLineageV1
Source§impl<'de> Deserialize<'de> for ContextDecisionLineageV1
impl<'de> Deserialize<'de> for ContextDecisionLineageV1
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 Eq for ContextDecisionLineageV1
Source§impl PartialEq for ContextDecisionLineageV1
impl PartialEq for ContextDecisionLineageV1
Source§impl Serialize for ContextDecisionLineageV1
impl Serialize for ContextDecisionLineageV1
impl StructuralPartialEq for ContextDecisionLineageV1
Auto Trait Implementations§
impl Forget for ContextDecisionLineageV1
impl Freeze for ContextDecisionLineageV1
impl Move for ContextDecisionLineageV1
impl RefUnwindSafe for ContextDecisionLineageV1
impl Send for ContextDecisionLineageV1
impl Sync for ContextDecisionLineageV1
impl Unpin for ContextDecisionLineageV1
impl UnsafeUnpin for ContextDecisionLineageV1
impl UnwindSafe for ContextDecisionLineageV1
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