pub mod credential;
#[cfg(feature = "session")]
pub mod didcomm;
pub mod http;
pub mod payload;
pub mod request;
pub mod template_verify;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum ProvisionIntegrationError {
#[error("parse error: {0}")]
Parse(String),
#[error("proof verification failed: {0}")]
BadProof(String),
#[error("credential expired or not yet valid: {0}")]
Expired(String),
#[error("holder/verification method mismatch: {0}")]
HolderMismatch(String),
#[error("invalid claim: {0}")]
InvalidClaim(String),
#[error("data integrity error: {0}")]
DataIntegrity(String),
#[error("sealed transfer error: {0}")]
SealedTransfer(#[from] crate::sealed_transfer::SealedTransferError),
}
pub const BOOTSTRAP_CONTEXT_URL: &str = "https://openvtc.org/contexts/bootstrap-v1";
pub const VTA_AUTHORIZATION_CONTEXT_URL: &str = "https://openvtc.org/contexts/vta-authorization-v1";
pub const VC_V2_CONTEXT_URL: &str = "https://www.w3.org/ns/credentials/v2";
pub const BOOTSTRAP_CONTEXT_JSONLD: &str = include_str!("../../contexts/bootstrap-v1.jsonld");
pub const VTA_AUTHORIZATION_CONTEXT_JSONLD: &str =
include_str!("../../contexts/vta-authorization-v1.jsonld");
pub use credential::{AdminOfClaim, OperatorOfClaim, VtaAuthorizationClaim};
pub use payload::{
DidKeyMaterial, KeyPair, TemplateBootstrapConfig, TemplateBootstrapPayload, TemplateOutput,
VtaTrustBundle,
};
pub use request::{
AdminRotationAsk, BootstrapAsk, BootstrapRequest, DidTemplateRef, ProvisionRequestBuilder,
SignedEphemeralRequest, TemplateBootstrapAsk, VerifiedBootstrapRequest,
};