Skip to main content

ves_stark_verifier/
lib.rs

1//! VES STARK Verifier
2//!
3//! This crate provides STARK proof verification for VES compliance proofs.
4//! The verifier is stateless and can verify proofs using only the proof
5//! bytes and public inputs.
6//!
7//! # Usage
8//!
9//! ```ignore
10//! use ves_stark_verifier::verify_compliance_proof_auto_with_amount_binding_strict;
11//!
12//! // Requires a canonical payload amount binding artifact for strict verification.
13//! let result =
14//!     verify_compliance_proof_auto_with_amount_binding_strict(&proof_bytes, &public_inputs, &binding)?;
15//! assert!(result.valid);
16//! ```
17
18mod error;
19mod verify;
20
21pub use error::{validate_hex_string, VerifierError, MAX_PROOF_SIZE, PROOF_VERSION};
22pub use verify::{
23    verify_agent_authorization_proof, verify_agent_authorization_proof_auto,
24    verify_agent_authorization_proof_auto_bound,
25    verify_agent_authorization_proof_auto_bound_strict,
26    verify_agent_authorization_proof_auto_bound_witness_strict,
27    verify_agent_authorization_proof_auto_strict,
28    verify_agent_authorization_proof_auto_with_amount_binding,
29    verify_agent_authorization_proof_auto_with_amount_binding_strict,
30    verify_agent_authorization_proof_auto_witness_strict, verify_agent_authorization_proof_strict,
31    verify_agent_authorization_proof_with_amount_binding,
32    verify_agent_authorization_proof_with_amount_binding_strict,
33    verify_agent_authorization_proof_witness_strict, verify_compliance_proof,
34    verify_compliance_proof_auto, verify_compliance_proof_auto_bound,
35    verify_compliance_proof_auto_bound_strict, verify_compliance_proof_auto_bound_witness_strict,
36    verify_compliance_proof_auto_strict, verify_compliance_proof_auto_with_amount_binding,
37    verify_compliance_proof_auto_with_amount_binding_strict,
38    verify_compliance_proof_auto_witness_strict, verify_compliance_proof_strict,
39    verify_compliance_proof_with_amount_binding,
40    verify_compliance_proof_with_amount_binding_strict, verify_compliance_proof_witness_strict,
41    ComplianceVerifier, VerificationResult,
42};