use crate::{ExBudget, Term}; use aiken_lang::ast::BinOp; use std::path::PathBuf; use uplc::ast::{NamedDeBruijn, Program}; #[derive(Debug, Clone)] pub struct Script { pub input_path: PathBuf, pub module: String, pub name: String, pub can_error: bool, pub program: Program, pub evaluation_hint: Option, } unsafe impl Send for Script {} impl Script { pub fn new( input_path: PathBuf, module: String, name: String, can_error: bool, program: Program, evaluation_hint: Option, ) -> Script { Script { input_path, module, name, program, can_error, evaluation_hint, } } } #[derive(Debug, Clone)] pub struct EvalHint { pub bin_op: BinOp, pub left: Program, pub right: Program, } #[derive(Debug)] pub struct EvalInfo { pub success: bool, pub script: Script, pub spent_budget: ExBudget, pub output: Option>, pub logs: Vec, } unsafe impl Send for EvalInfo {}