pub enum IntentData {
Transparent {
request_sha256: String,
confidence: f64,
capabilities: Vec<String>,
magpie_source: Option<String>,
continuation_token: Option<ContinuationToken>,
metadata: SchemaValue,
},
Shadow {
commitment_hash: String,
stark_proof_b64: String,
public_inputs: SchemaValue,
circuit_id: Option<String>,
continuation_token: Option<ContinuationToken>,
metadata: SchemaValue,
},
}Expand description
Intent Data (VEX Pillar) Proves the proposed action before execution. It supports two variants:
- Transparent: Standard human-readable reasoning (Standard).
- Shadow: STARK-proofed hidden intent for privacy (High-Compliance).
Variants§
Transparent
Fields
§
continuation_token: Option<ContinuationToken>Phase 6: Continuation authorization
§
metadata: SchemaValueCatch-all for extra fields to preserve binary parity in JCS.
Shadow
Fields
§
public_inputs: SchemaValue§
continuation_token: Option<ContinuationToken>Phase 6: Continuation authorization
§
metadata: SchemaValueCatch-all for extra fields to preserve binary parity in JCS.
Implementations§
Source§impl IntentData
impl IntentData
pub fn continuation_token(&self) -> Option<&ContinuationToken>
pub fn circuit_id(&self) -> Option<String>
pub fn metadata(&self) -> &SchemaValue
Source§impl IntentData
impl IntentData
pub fn to_jcs_hash(&self) -> Result<Hash, String>
Sourcepub fn verify_shadow(&self, verifier: &dyn ZkVerifier) -> Result<bool, ZkError>
pub fn verify_shadow(&self, verifier: &dyn ZkVerifier) -> Result<bool, ZkError>
Verifies the Zero-Knowledge proof for Shadow intents. For Transparent intents, this always returns Ok(true).
Sourcepub fn shadow_public_inputs(&self) -> Result<ShadowPublicInputs, ZkError>
pub fn shadow_public_inputs(&self) -> Result<ShadowPublicInputs, ZkError>
Accesses the typed ShadowPublicInputs for a Shadow intent.
Trait Implementations§
Source§impl Clone for IntentData
impl Clone for IntentData
Source§fn clone(&self) -> IntentData
fn clone(&self) -> IntentData
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ComposeSchema for IntentData
impl ComposeSchema for IntentData
Source§impl Debug for IntentData
impl Debug for IntentData
Source§impl<'de> Deserialize<'de> for IntentData
impl<'de> Deserialize<'de> for IntentData
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
Source§impl PartialEq for IntentData
impl PartialEq for IntentData
Source§impl Serialize for IntentData
impl Serialize for IntentData
Source§impl ToSchema for IntentData
impl ToSchema for IntentData
impl StructuralPartialEq for IntentData
Auto Trait Implementations§
impl Freeze for IntentData
impl RefUnwindSafe for IntentData
impl Send for IntentData
impl Sync for IntentData
impl Unpin for IntentData
impl UnsafeUnpin for IntentData
impl UnwindSafe for IntentData
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more