use miden_processor::advice::AdviceInputs;
use miden_processor::{
ExecutionError,
ExecutionOptions,
ExecutionOutput,
FutureMaybeSend,
Host,
Program,
StackInputs,
};
use miden_tx::ProgramExecutor;
pub struct DapProgramExecutor(miden_debug::DapExecutor);
impl ProgramExecutor for DapProgramExecutor {
fn new(
stack_inputs: StackInputs,
advice_inputs: AdviceInputs,
options: ExecutionOptions,
) -> Self {
Self(miden_debug::DapExecutor::new(stack_inputs, advice_inputs, options))
}
fn execute<H: Host + Send>(
self,
program: &Program,
host: &mut H,
) -> impl FutureMaybeSend<Result<ExecutionOutput, ExecutionError>> {
self.0.execute_async(program, host)
}
}