From 1b9940486ee0e8e2e9d4ab8f77382fa1894ace6e Mon Sep 17 00:00:00 2001 From: Danno Ferrin Date: Tue, 15 Oct 2024 10:11:44 -0600 Subject: [PATCH] Restore state test transction context In state tests when running prague system contracts the origin remains as the system account. Restore the prior tx context after running system contracts. --- core/state_processor.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/state_processor.go b/core/state_processor.go index c4e2bcf1e5..54b98a1b44 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -249,6 +249,7 @@ func ProcessParentBlockHash(prevHash common.Hash, vmenv *vm.EVM, statedb *state. } } + oldContext := vmenv.TxContext msg := &Message{ From: params.SystemAddress, GasLimit: 30_000_000, @@ -262,6 +263,7 @@ func ProcessParentBlockHash(prevHash common.Hash, vmenv *vm.EVM, statedb *state. statedb.AddAddressToAccessList(params.HistoryStorageAddress) _, _, _ = vmenv.Call(vm.AccountRef(msg.From), *msg.To, msg.Data, 30_000_000, common.U2560) statedb.Finalise(true) + vmenv.Reset(oldContext, statedb) } // ParseDepositLogs extracts the EIP-6110 deposit values from logs emitted by