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_processor::{
13 AdviceInputs, AdviceProvider, AsmOpInfo, AsyncHost, BaseHost, DefaultHost, ExecutionError,
14 ExecutionTrace, Kernel, Operation, Program, ProgramInfo, StackInputs, SyncHost, VmState,
15 VmStateIterator, ZERO, crypto, execute, execute_iter, utils,
16};
17pub use miden_prover::{
18 ExecutionProof, FieldExtension, HashFunction, InputError, Proof, ProvingOptions, StackOutputs,
19 Word, math, prove,
20};
21pub use miden_verifier::VerificationError;
22
23#[cfg(feature = "internal")]
27pub mod internal;
28
29pub fn verify(
33 program_info: ProgramInfo,
34 stack_inputs: StackInputs,
35 stack_outputs: StackOutputs,
36 proof: ExecutionProof,
37) -> Result<u32, VerificationError> {
38 let registry = miden_core_lib::CoreLibrary::default().verifier_registry();
39 let (security_level, _) = miden_verifier::verify_with_precompiles(
40 program_info,
41 stack_inputs,
42 stack_outputs,
43 proof,
44 ®istry,
45 )?;
46 Ok(security_level)
47}