1#![cfg_attr(not(feature = "std"), no_std)]
2#![doc = include_str!("../README.md")]
3
4pub use miden_assembly::{
8 self as assembly, Assembler,
9 ast::{Module, ModuleKind},
10 diagnostics,
11};
12pub use miden_core::proof::{ExecutionProof, HashFunction};
13#[cfg(not(target_arch = "wasm32"))]
14pub use miden_processor::execute_sync;
15pub use miden_processor::{
16 DefaultHost, ExecutionError, ExecutionOptions, Host, Kernel, Program, ProgramInfo, StackInputs,
17 ZERO, advice, crypto, execute, field, operation::Operation, serde, trace::ExecutionTrace,
18 utils,
19};
20#[cfg(not(target_arch = "wasm32"))]
21pub use miden_prover::prove_sync;
22pub use miden_prover::{InputError, ProvingOptions, StackOutputs, Word, prove};
23pub use miden_verifier::VerificationError;
24
25#[cfg(feature = "internal")]
29pub mod internal;
30
31pub fn verify(
35 program_info: ProgramInfo,
36 stack_inputs: StackInputs,
37 stack_outputs: StackOutputs,
38 proof: ExecutionProof,
39) -> Result<u32, VerificationError> {
40 let registry = miden_core_lib::CoreLibrary::default().verifier_registry();
41 let (security_level, _) = miden_verifier::verify_with_precompiles(
42 program_info,
43 stack_inputs,
44 stack_outputs,
45 proof,
46 ®istry,
47 )?;
48 Ok(security_level)
49}