summaryrefslogtreecommitdiff
path: root/ledger/apply/application.go
diff options
context:
space:
mode:
Diffstat (limited to 'ledger/apply/application.go')
-rw-r--r--ledger/apply/application.go16
1 files changed, 6 insertions, 10 deletions
diff --git a/ledger/apply/application.go b/ledger/apply/application.go
index 81197e0d0..bd133fbd5 100644
--- a/ledger/apply/application.go
+++ b/ledger/apply/application.go
@@ -298,12 +298,12 @@ func closeOutApplication(balances Balances, sender basics.Address, appIdx basics
}
func checkPrograms(ac *transactions.ApplicationCallTxnFields, evalParams *logic.EvalParams) error {
- err := logic.CheckStateful(ac.ApprovalProgram, *evalParams)
+ err := logic.CheckContract(ac.ApprovalProgram, evalParams)
if err != nil {
return fmt.Errorf("check failed on ApprovalProgram: %v", err)
}
- err = logic.CheckStateful(ac.ClearStateProgram, *evalParams)
+ err = logic.CheckContract(ac.ClearStateProgram, evalParams)
if err != nil {
return fmt.Errorf("check failed on ClearStateProgram: %v", err)
}
@@ -312,7 +312,7 @@ func checkPrograms(ac *transactions.ApplicationCallTxnFields, evalParams *logic.
}
// ApplicationCall evaluates ApplicationCall transaction
-func ApplicationCall(ac transactions.ApplicationCallTxnFields, header transactions.Header, balances Balances, ad *transactions.ApplyData, evalParams *logic.EvalParams, txnCounter uint64) (err error) {
+func ApplicationCall(ac transactions.ApplicationCallTxnFields, header transactions.Header, balances Balances, ad *transactions.ApplyData, gi int, evalParams *logic.EvalParams, txnCounter uint64) (err error) {
defer func() {
// If we are returning a non-nil error, then don't return a
// non-empty EvalDelta. Not required for correctness.
@@ -342,11 +342,7 @@ func ApplicationCall(ac transactions.ApplicationCallTxnFields, header transactio
if err != nil {
return
}
- // No separate config for activating storage in AD because
- // inner transactions can't be turned on without this change.
- if balances.ConsensusParams().MaxInnerTransactions > 0 {
- ad.ApplicationID = appIdx
- }
+ ad.ApplicationID = appIdx
}
// Fetch the application parameters, if they exist
@@ -386,7 +382,7 @@ func ApplicationCall(ac transactions.ApplicationCallTxnFields, header transactio
// If the app still exists, run the ClearStateProgram
if exists {
- pass, evalDelta, err := balances.StatefulEval(*evalParams, appIdx, params.ClearStateProgram)
+ pass, evalDelta, err := balances.StatefulEval(gi, evalParams, appIdx, params.ClearStateProgram)
if err != nil {
// Fail on non-logic eval errors and ignore LogicEvalError errors
if _, ok := err.(ledgercore.LogicEvalError); !ok {
@@ -418,7 +414,7 @@ func ApplicationCall(ac transactions.ApplicationCallTxnFields, header transactio
}
// Execute the Approval program
- approved, evalDelta, err := balances.StatefulEval(*evalParams, appIdx, params.ApprovalProgram)
+ approved, evalDelta, err := balances.StatefulEval(gi, evalParams, appIdx, params.ApprovalProgram)
if err != nil {
return err
}