use tasm_lib::triton_vm;
use tasm_lib::triton_vm::prelude::Program;
use tasm_lib::twenty_first::math::b_field_element::BFieldElement;
use triton_vm::prelude::Claim;
use triton_vm::prelude::NonDeterminism;
use triton_vm::prelude::PublicInput;
pub mod error;
pub mod proof_builder;
pub mod tasm;
#[cfg(any(test, feature = "test-helpers"))]
pub mod test_helpers;
#[cfg(any(test, feature = "test-helpers"))]
pub mod test_runtime;
pub mod triton_vm_env_vars;
pub mod triton_vm_job_queue;
pub mod tx_proving_capability;
pub mod verifier;
pub trait SecretWitness {
fn standard_input(&self) -> PublicInput;
fn output(&self) -> Vec<BFieldElement> {
vec![]
}
fn program(&self) -> Program;
fn claim(&self) -> Claim {
Claim::about_program(&self.program())
.with_input(self.standard_input().individual_tokens)
.with_output(self.output())
}
fn nondeterminism(&self) -> NonDeterminism;
}