diff options
Diffstat (limited to 'daemon/algod/api/server/v2/dryrun.go')
-rw-r--r-- | daemon/algod/api/server/v2/dryrun.go | 19 |
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) |