extern crate alloc;
pub mod config {
extern crate alloc;
use alloc::string::String;
#[derive(Debug, Clone)]
pub struct SdkConfig {
pub node_endpoint: String,
pub tls_cert_path: Option<String>,
pub timeout_ms: u64,
}
impl Default for SdkConfig {
fn default() -> Self {
Self {
node_endpoint: String::from("https://localhost:9090"),
tls_cert_path: None,
timeout_ms: 5000,
}
}
}
}
pub mod types {
extern crate alloc;
use alloc::string::String;
use alloc::vec::Vec;
pub type Vector256 = [f32; 256];
#[derive(Debug, Clone)]
pub struct StateNodePayload {
pub node_id: String,
pub temporal_coord_t: f64,
pub context_id: String,
pub attribute_mask: u32,
pub h_commit: [u8; 32],
pub attr_vector: Vector256,
}
#[derive(Debug, Clone)]
pub struct SaapProofTranscript {
pub context_tag: [u8; 32],
pub disclosure_mask: u8,
pub disclosed_attributes: Vec<u64>,
pub challenge: Vec<i32>,
pub response_z: Vec<i32>,
pub commitment_hash: [u8; 32],
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum VerificationResult {
Accept,
Reject(String),
}
}