summaryrefslogtreecommitdiff
path: root/daemon/algod/api/server/v2/dryrun.go
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/algod/api/server/v2/dryrun.go')
-rw-r--r--daemon/algod/api/server/v2/dryrun.go19
1 files changed, 7 insertions, 12 deletions
diff --git a/daemon/algod/api/server/v2/dryrun.go b/daemon/algod/api/server/v2/dryrun.go
index 19a0f92d6..ef7ed19e2 100644
--- a/daemon/algod/api/server/v2/dryrun.go
+++ b/daemon/algod/api/server/v2/dryrun.go
@@ -366,6 +366,10 @@ func doDryrunRequest(dr *DryrunRequest, response *generated.DryrunResponse) {
return
}
proto := config.Consensus[protocol.ConsensusVersion(dr.ProtocolVersion)]
+ txgroup := transactions.WrapSignedTxnsWithAD(dr.Txns)
+ specials := transactions.SpecialAddresses{}
+ ep := logic.NewEvalParams(txgroup, &proto, &specials)
+
origEnableAppCostPooling := proto.EnableAppCostPooling
// Enable EnableAppCostPooling so that dryrun
// 1) can determine cost 2) reports actual cost for large programs that fail
@@ -381,24 +385,15 @@ func doDryrunRequest(dr *DryrunRequest, response *generated.DryrunResponse) {
allowedBudget += uint64(proto.MaxAppProgramCost)
}
}
+ ep.PooledApplicationBudget = &pooledAppBudget
response.Txns = make([]generated.DryrunTxnResult, len(dr.Txns))
for ti, stxn := range dr.Txns {
- pse := logic.MakePastSideEffects(len(dr.Txns))
- ep := logic.EvalParams{
- Txn: &stxn,
- Proto: &proto,
- TxnGroup: dr.Txns,
- GroupIndex: uint64(ti),
- PastSideEffects: pse,
- PooledApplicationBudget: &pooledAppBudget,
- Specials: &transactions.SpecialAddresses{},
- }
var result generated.DryrunTxnResult
if len(stxn.Lsig.Logic) > 0 {
var debug dryrunDebugReceiver
ep.Debugger = &debug
- pass, err := logic.Eval(stxn.Lsig.Logic, ep)
+ pass, err := logic.EvalSignature(ti, ep)
var messages []string
result.Disassembly = debug.lines
result.LogicSigTrace = &debug.history
@@ -489,7 +484,7 @@ func doDryrunRequest(dr *DryrunRequest, response *generated.DryrunResponse) {
program = app.ApprovalProgram
messages[0] = "ApprovalProgram"
}
- pass, delta, err := ba.StatefulEval(ep, appIdx, program)
+ pass, delta, err := ba.StatefulEval(ti, ep, appIdx, program)
result.Disassembly = debug.lines
result.AppCallTrace = &debug.history
result.GlobalDelta = StateDeltaToStateDelta(delta.GlobalDelta)