From 4dc333d54f18f346260800c214df272c1123558f Mon Sep 17 00:00:00 2001 From: Dror Tirosh Date: Tue, 23 Jul 2024 14:51:10 +0300 Subject: [PATCH] check gas, nonce form ApplyRip7560ValidationPhases (#16) move validations into the validation phase. note that it breaks some tests which rely on wrong nonce. --- core/state_processor_rip7560.go | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/core/state_processor_rip7560.go b/core/state_processor_rip7560.go index 2fc51deeb3..f24f63c3a8 100644 --- a/core/state_processor_rip7560.go +++ b/core/state_processor_rip7560.go @@ -95,19 +95,9 @@ func handleRip7560Transactions(transactions []*types.Transaction, index int, sta break } - aatx := tx.Rip7560TransactionData() statedb.SetTxContext(tx.Hash(), index+i) - err := CheckNonceRip7560(aatx, statedb) - if err != nil { - return nil, nil, nil, err - } - err = BuyGasRip7560Transaction(aatx, statedb) - if err != nil { - return nil, nil, nil, err - } - var vpr *ValidationPhaseResult - vpr, err = ApplyRip7560ValidationPhases(chainConfig, bc, coinbase, gp, statedb, header, tx, cfg) + vpr, err := ApplyRip7560ValidationPhases(chainConfig, bc, coinbase, gp, statedb, header, tx, cfg) if err != nil { return nil, nil, nil, err } @@ -175,6 +165,16 @@ func CheckNonceRip7560(tx *types.Rip7560AccountAbstractionTx, st *state.StateDB) } func ApplyRip7560ValidationPhases(chainConfig *params.ChainConfig, bc ChainContext, author *common.Address, gp *GasPool, statedb *state.StateDB, header *types.Header, tx *types.Transaction, cfg vm.Config) (*ValidationPhaseResult, error) { + aatx := tx.Rip7560TransactionData() + err := CheckNonceRip7560(aatx, statedb) + if err != nil { + return nil, err + } + err = BuyGasRip7560Transaction(aatx, statedb) + if err != nil { + return nil, err + } + blockContext := NewEVMBlockContext(header, bc, author) sender := tx.Rip7560TransactionData().Sender txContext := vm.TxContext{