provable-proof
Rust helpers for the Provable proof envelope format.
This crate owns the canonical proof JSON shape used by Provable form, email, and web proofs. It depends on provable-sdk for Kayros verification.
All proofs use the same JSON shape:
data is always base64. data_format tells consumers how to decode the payload: web_form, web_page, email, raw_hash, or "". If data_format is empty or missing, consumers can fall back to payload introspection.
Installation
[]
= "0.1.2"
= "0.1.2"
Usage
1. Default usage
use ;
let proof_json = read_to_string.expect;
let envelope = from_json_str.expect;
let result = verify_envelope_with_inclusion;
assert!;
2. Creating proofs
use ;
let payload = json!;
let kayros = default;
let envelope = from_json_value.expect;
let proof_json = to_string_pretty.expect;
3. Usage with API key and custom data type
use ;
let proof_json = read_to_string.expect;
let envelope = from_json_str.expect;
let result = verify_envelope;
assert!;
Main API
KayrosEnvelope::new(...)KayrosEnvelope::from_bytes(...)KayrosEnvelope::from_text(...)KayrosEnvelope::from_json_value(...)KayrosEnvelope::from_json_str(...)build_envelope_verify_request(...)verify_envelope(...)verify_envelope_with_inclusion(...)
Data formats
web_form: decoded bytes are a JSON form snapshotweb_page: decoded bytes are a JSON web-proof payloademail: decoded bytes are the full raw email contentraw_hash: decoded bytes are already the Kayrosdata_item