diff --git a/crates/cli/src/cmd/uplc/eval.rs b/crates/cli/src/cmd/uplc/eval.rs index 8d251fb0..70c86858 100644 --- a/crates/cli/src/cmd/uplc/eval.rs +++ b/crates/cli/src/cmd/uplc/eval.rs @@ -61,7 +61,9 @@ pub fn exec( program = program.apply_term(&term); } - let (term, cost, logs) = program.eval(); + let budget = ExBudget::default(); + + let (term, cost, logs) = program.eval(budget); match term { Ok(term) => { @@ -74,8 +76,6 @@ pub fn exec( } } - let budget = ExBudget::default(); - println!( "\nCosts\n-----\ncpu: {}\nmemory: {}", budget.cpu - cost.cpu, diff --git a/crates/uplc/src/ast.rs b/crates/uplc/src/ast.rs index d8019604..8306e1e7 100644 --- a/crates/uplc/src/ast.rs +++ b/crates/uplc/src/ast.rs @@ -495,6 +495,7 @@ impl From> for Term { impl Program { pub fn eval( &self, + initial_budget: ExBudget, ) -> ( Result, crate::machine::Error>, ExBudget, @@ -503,7 +504,7 @@ impl Program { let mut machine = Machine::new( Language::PlutusV2, CostModel::default(), - ExBudget::default(), + initial_budget, 200, ); @@ -558,6 +559,7 @@ impl Program { impl Program { pub fn eval( &self, + initial_budget: ExBudget, ) -> ( Result, crate::machine::Error>, ExBudget, @@ -565,7 +567,7 @@ impl Program { ) { let program: Program = self.clone().into(); - program.eval() + program.eval(initial_budget) } } diff --git a/crates/uplc/src/tx/eval.rs b/crates/uplc/src/tx/eval.rs index 9684c8e3..2c08f0bb 100644 --- a/crates/uplc/src/tx/eval.rs +++ b/crates/uplc/src/tx/eval.rs @@ -786,7 +786,7 @@ pub fn eval_redeemer( program.eval_as(&Language::PlutusV2, costs, initial_budget) } else { - program.eval() + program.eval(ExBudget::default()) }; match result { @@ -889,7 +889,7 @@ pub fn eval_redeemer( program.eval_as(&Language::PlutusV2, costs, initial_budget) } else { - program.eval() + program.eval(ExBudget::default()) }; match result {