@@ -19,6 +19,7 @@ import (
19
19
"math/big"
20
20
"testing"
21
21
22
+ "github.com/stretchr/testify/assert"
22
23
"github.com/stretchr/testify/require"
23
24
24
25
"github.com/ethereum/go-ethereum/params"
@@ -27,23 +28,25 @@ import (
27
28
type evmArgOverrider struct {
28
29
newEVMchainID int64
29
30
30
- resetTxCtx TxContext
31
- resetStateDB StateDB
31
+ gotResetChainID * big.Int
32
+ resetTxContextTo TxContext
33
+ resetStateDBTo StateDB
32
34
}
33
35
34
- func (o evmArgOverrider ) OverrideNewEVMArgs (args * NewEVMArgs ) * NewEVMArgs {
36
+ func (o * evmArgOverrider ) OverrideNewEVMArgs (args * NewEVMArgs ) * NewEVMArgs {
35
37
args .ChainConfig = & params.ChainConfig {ChainID : big .NewInt (o .newEVMchainID )}
36
38
return args
37
39
}
38
40
39
- func (o evmArgOverrider ) OverrideEVMResetArgs (* EVMResetArgs ) * EVMResetArgs {
41
+ func (o * evmArgOverrider ) OverrideEVMResetArgs (r params.Rules , _ * EVMResetArgs ) * EVMResetArgs {
42
+ o .gotResetChainID = r .ChainID
40
43
return & EVMResetArgs {
41
- TxContext : o .resetTxCtx ,
42
- StateDB : o .resetStateDB ,
44
+ TxContext : o .resetTxContextTo ,
45
+ StateDB : o .resetStateDBTo ,
43
46
}
44
47
}
45
48
46
- func (o evmArgOverrider ) register (t * testing.T ) {
49
+ func (o * evmArgOverrider ) register (t * testing.T ) {
47
50
t .Helper ()
48
51
libevmHooks = nil
49
52
RegisterHooks (o )
@@ -71,15 +74,20 @@ func TestOverrideEVMResetArgs(t *testing.T) {
71
74
// Equivalent to rationale for TestOverrideNewEVMArgs above.
72
75
var _ func (TxContext , StateDB ) = (* EVM )(nil ).Reset
73
76
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 {
77
84
GasPrice : big .NewInt (gasPrice ),
78
85
},
79
86
}
80
87
hooks .register (t )
81
88
82
89
evm := NewEVM (BlockContext {}, TxContext {}, nil , nil , Config {})
83
90
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 )
85
93
}
0 commit comments