feat: eval should take initial budget
This commit is contained in:
parent
4cdb5d8d02
commit
f250d3df84
|
@ -61,7 +61,9 @@ pub fn exec(
|
||||||
program = program.apply_term(&term);
|
program = program.apply_term(&term);
|
||||||
}
|
}
|
||||||
|
|
||||||
let (term, cost, logs) = program.eval();
|
let budget = ExBudget::default();
|
||||||
|
|
||||||
|
let (term, cost, logs) = program.eval(budget);
|
||||||
|
|
||||||
match term {
|
match term {
|
||||||
Ok(term) => {
|
Ok(term) => {
|
||||||
|
@ -74,8 +76,6 @@ pub fn exec(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let budget = ExBudget::default();
|
|
||||||
|
|
||||||
println!(
|
println!(
|
||||||
"\nCosts\n-----\ncpu: {}\nmemory: {}",
|
"\nCosts\n-----\ncpu: {}\nmemory: {}",
|
||||||
budget.cpu - cost.cpu,
|
budget.cpu - cost.cpu,
|
||||||
|
|
|
@ -495,6 +495,7 @@ impl From<Term<FakeNamedDeBruijn>> for Term<NamedDeBruijn> {
|
||||||
impl Program<NamedDeBruijn> {
|
impl Program<NamedDeBruijn> {
|
||||||
pub fn eval(
|
pub fn eval(
|
||||||
&self,
|
&self,
|
||||||
|
initial_budget: ExBudget,
|
||||||
) -> (
|
) -> (
|
||||||
Result<Term<NamedDeBruijn>, crate::machine::Error>,
|
Result<Term<NamedDeBruijn>, crate::machine::Error>,
|
||||||
ExBudget,
|
ExBudget,
|
||||||
|
@ -503,7 +504,7 @@ impl Program<NamedDeBruijn> {
|
||||||
let mut machine = Machine::new(
|
let mut machine = Machine::new(
|
||||||
Language::PlutusV2,
|
Language::PlutusV2,
|
||||||
CostModel::default(),
|
CostModel::default(),
|
||||||
ExBudget::default(),
|
initial_budget,
|
||||||
200,
|
200,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -558,6 +559,7 @@ impl Program<NamedDeBruijn> {
|
||||||
impl Program<DeBruijn> {
|
impl Program<DeBruijn> {
|
||||||
pub fn eval(
|
pub fn eval(
|
||||||
&self,
|
&self,
|
||||||
|
initial_budget: ExBudget,
|
||||||
) -> (
|
) -> (
|
||||||
Result<Term<NamedDeBruijn>, crate::machine::Error>,
|
Result<Term<NamedDeBruijn>, crate::machine::Error>,
|
||||||
ExBudget,
|
ExBudget,
|
||||||
|
@ -565,7 +567,7 @@ impl Program<DeBruijn> {
|
||||||
) {
|
) {
|
||||||
let program: Program<NamedDeBruijn> = self.clone().into();
|
let program: Program<NamedDeBruijn> = self.clone().into();
|
||||||
|
|
||||||
program.eval()
|
program.eval(initial_budget)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -786,7 +786,7 @@ pub fn eval_redeemer(
|
||||||
|
|
||||||
program.eval_as(&Language::PlutusV2, costs, initial_budget)
|
program.eval_as(&Language::PlutusV2, costs, initial_budget)
|
||||||
} else {
|
} else {
|
||||||
program.eval()
|
program.eval(ExBudget::default())
|
||||||
};
|
};
|
||||||
|
|
||||||
match result {
|
match result {
|
||||||
|
@ -889,7 +889,7 @@ pub fn eval_redeemer(
|
||||||
|
|
||||||
program.eval_as(&Language::PlutusV2, costs, initial_budget)
|
program.eval_as(&Language::PlutusV2, costs, initial_budget)
|
||||||
} else {
|
} else {
|
||||||
program.eval()
|
program.eval(ExBudget::default())
|
||||||
};
|
};
|
||||||
|
|
||||||
match result {
|
match result {
|
||||||
|
|
Loading…
Reference in New Issue