@@ -19,6 +19,7 @@ import (
1919 "math/big"
2020 "testing"
2121
22+ "github.com/stretchr/testify/assert"
2223 "github.com/stretchr/testify/require"
2324
2425 "github.com/ethereum/go-ethereum/params"
@@ -27,23 +28,25 @@ import (
2728type evmArgOverrider struct {
2829 newEVMchainID int64
2930
30- resetTxCtx TxContext
31- resetStateDB StateDB
31+ gotResetChainID * big.Int
32+ resetTxContextTo TxContext
33+ resetStateDBTo StateDB
3234}
3335
34- func (o evmArgOverrider ) OverrideNewEVMArgs (args * NewEVMArgs ) * NewEVMArgs {
36+ func (o * evmArgOverrider ) OverrideNewEVMArgs (args * NewEVMArgs ) * NewEVMArgs {
3537 args .ChainConfig = & params.ChainConfig {ChainID : big .NewInt (o .newEVMchainID )}
3638 return args
3739}
3840
39- func (o evmArgOverrider ) OverrideEVMResetArgs (params.Rules , * EVMResetArgs ) * EVMResetArgs {
41+ func (o * evmArgOverrider ) OverrideEVMResetArgs (r params.Rules , _ * EVMResetArgs ) * EVMResetArgs {
42+ o .gotResetChainID = r .ChainID
4043 return & EVMResetArgs {
41- TxContext : o .resetTxCtx ,
42- StateDB : o .resetStateDB ,
44+ TxContext : o .resetTxContextTo ,
45+ StateDB : o .resetStateDBTo ,
4346 }
4447}
4548
46- func (o evmArgOverrider ) register (t * testing.T ) {
49+ func (o * evmArgOverrider ) register (t * testing.T ) {
4750 t .Helper ()
4851 libevmHooks = nil
4952 RegisterHooks (o )
@@ -71,15 +74,20 @@ func TestOverrideEVMResetArgs(t *testing.T) {
7174 // Equivalent to rationale for TestOverrideNewEVMArgs above.
7275 var _ func (TxContext , StateDB ) = (* EVM )(nil ).Reset
7376
74- const gasPrice = 1357924680
75- hooks := evmArgOverrider {
76- resetTxCtx : TxContext {
77+ const (
78+ chainID = 0xc0ffee
79+ gasPrice = 1357924680
80+ )
81+ hooks := & evmArgOverrider {
82+ newEVMchainID : chainID ,
83+ resetTxContextTo : TxContext {
7784 GasPrice : big .NewInt (gasPrice ),
7885 },
7986 }
8087 hooks .register (t )
8188
8289 evm := NewEVM (BlockContext {}, TxContext {}, nil , nil , Config {})
8390 evm .Reset (TxContext {}, nil )
84- require .Equalf (t , big .NewInt (gasPrice ), evm .GasPrice , "%T.GasPrice set by Reset() hook" , evm )
91+ assert .Equalf (t , big .NewInt (chainID ), hooks .gotResetChainID , "%T.ChainID passed to Reset() hook" , params.Rules {})
92+ assert .Equalf (t , big .NewInt (gasPrice ), evm .GasPrice , "%T.GasPrice set by Reset() hook" , evm )
8593}
0 commit comments