diff --git a/crates/project/src/script.rs b/crates/project/src/script.rs index 01b3c313..ed34c9c0 100644 --- a/crates/project/src/script.rs +++ b/crates/project/src/script.rs @@ -1,3 +1,5 @@ +use crate::{ExBudget, Term}; +use aiken_lang::ast::BinOp; use std::path::PathBuf; use uplc::ast::{NamedDeBruijn, Program}; @@ -7,6 +9,7 @@ pub struct Script { pub module: String, pub name: String, pub program: Program, + pub evaluation_hint: Option, } impl Script { @@ -15,12 +18,29 @@ impl Script { module: String, name: String, program: Program, + evaluation_hint: Option, ) -> Script { Script { input_path, module, name, program, + 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>, +} diff --git a/crates/project/src/telemetry.rs b/crates/project/src/telemetry.rs index 628d14bc..fd9fd41f 100644 --- a/crates/project/src/telemetry.rs +++ b/crates/project/src/telemetry.rs @@ -1,7 +1,5 @@ -use crate::script::Script; +use crate::script::EvalInfo; use std::path::PathBuf; -use uplc::ast::{NamedDeBruijn, Term}; -use uplc::machine::cost_model::ExBudget; pub trait EventListener: std::fmt::Debug { fn handle_event(&self, event: Event); @@ -26,10 +24,3 @@ pub enum Event { tests: Vec, }, } - -pub struct EvalInfo { - pub success: bool, - pub script: Script, - pub spent_budget: ExBudget, - pub output: Option>, -}