Skip to content

Commit c66ca8b

Browse files
authored
tracer: use proper base fee in tests (#28775)
In the tracing tests, the base fee was generally set to nil. This commit changes this to pass the proper base instead, and fixes the few tests which become broken by the change.
1 parent d4f25b4 commit c66ca8b

File tree

5 files changed

+14
-30
lines changed

5 files changed

+14
-30
lines changed

eth/tracers/internal/tracetest/calltrace_test.go

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,7 @@ func testCallTracer(tracerName string, dirPath string, t *testing.T) {
122122
}
123123
// Configure a blockchain with the given prestate
124124
var (
125-
signer = types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
126-
origin, _ = signer.Sender(tx)
127-
txContext = vm.TxContext{
128-
Origin: origin,
129-
GasPrice: tx.GasPrice(),
130-
}
125+
signer = types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
131126
context = vm.BlockContext{
132127
CanTransfer: core.CanTransfer,
133128
Transfer: core.Transfer,
@@ -146,11 +141,11 @@ func testCallTracer(tracerName string, dirPath string, t *testing.T) {
146141
if err != nil {
147142
t.Fatalf("failed to create call tracer: %v", err)
148143
}
149-
evm := vm.NewEVM(context, txContext, statedb, test.Genesis.Config, vm.Config{Tracer: tracer})
150-
msg, err := core.TransactionToMessage(tx, signer, nil)
144+
msg, err := core.TransactionToMessage(tx, signer, context.BaseFee)
151145
if err != nil {
152146
t.Fatalf("failed to prepare transaction for tracing: %v", err)
153147
}
148+
evm := vm.NewEVM(context, core.NewEVMTxContext(msg), statedb, test.Genesis.Config, vm.Config{Tracer: tracer})
154149
vmRet, err := core.ApplyMessage(evm, msg, new(core.GasPool).AddGas(tx.Gas()))
155150
if err != nil {
156151
t.Fatalf("failed to execute transaction: %v", err)
@@ -222,10 +217,6 @@ func benchTracer(tracerName string, test *callTracerTest, b *testing.B) {
222217
b.Fatalf("failed to parse testcase input: %v", err)
223218
}
224219
signer := types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
225-
msg, err := core.TransactionToMessage(tx, signer, nil)
226-
if err != nil {
227-
b.Fatalf("failed to prepare transaction for tracing: %v", err)
228-
}
229220
origin, _ := signer.Sender(tx)
230221
txContext := vm.TxContext{
231222
Origin: origin,
@@ -240,6 +231,10 @@ func benchTracer(tracerName string, test *callTracerTest, b *testing.B) {
240231
Difficulty: (*big.Int)(test.Context.Difficulty),
241232
GasLimit: uint64(test.Context.GasLimit),
242233
}
234+
msg, err := core.TransactionToMessage(tx, signer, context.BaseFee)
235+
if err != nil {
236+
b.Fatalf("failed to prepare transaction for tracing: %v", err)
237+
}
243238
triedb, _, statedb := tests.MakePreState(rawdb.NewMemoryDatabase(), test.Genesis.Alloc, false, rawdb.HashScheme)
244239
defer triedb.Close()
245240

eth/tracers/internal/tracetest/flat_calltrace_test.go

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,6 @@ func flatCallTracerTestRunner(tracerName string, filename string, dirPath string
8686
return fmt.Errorf("failed to parse testcase input: %v", err)
8787
}
8888
signer := types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
89-
origin, _ := signer.Sender(tx)
90-
txContext := vm.TxContext{
91-
Origin: origin,
92-
GasPrice: tx.GasPrice(),
93-
}
9489
context := vm.BlockContext{
9590
CanTransfer: core.CanTransfer,
9691
Transfer: core.Transfer,
@@ -108,12 +103,11 @@ func flatCallTracerTestRunner(tracerName string, filename string, dirPath string
108103
if err != nil {
109104
return fmt.Errorf("failed to create call tracer: %v", err)
110105
}
111-
evm := vm.NewEVM(context, txContext, statedb, test.Genesis.Config, vm.Config{Tracer: tracer})
112-
113-
msg, err := core.TransactionToMessage(tx, signer, nil)
106+
msg, err := core.TransactionToMessage(tx, signer, context.BaseFee)
114107
if err != nil {
115108
return fmt.Errorf("failed to prepare transaction for tracing: %v", err)
116109
}
110+
evm := vm.NewEVM(context, core.NewEVMTxContext(msg), statedb, test.Genesis.Config, vm.Config{Tracer: tracer})
117111
st := core.NewStateTransition(evm, msg, new(core.GasPool).AddGas(tx.Gas()))
118112

119113
if _, err = st.TransitionDb(); err != nil {

eth/tracers/internal/tracetest/prestate_test.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,7 @@ func testPrestateDiffTracer(tracerName string, dirPath string, t *testing.T) {
9292
}
9393
// Configure a blockchain with the given prestate
9494
var (
95-
signer = types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
96-
origin, _ = signer.Sender(tx)
97-
txContext = vm.TxContext{
98-
Origin: origin,
99-
GasPrice: tx.GasPrice(),
100-
}
95+
signer = types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
10196
context = vm.BlockContext{
10297
CanTransfer: core.CanTransfer,
10398
Transfer: core.Transfer,
@@ -116,11 +111,11 @@ func testPrestateDiffTracer(tracerName string, dirPath string, t *testing.T) {
116111
if err != nil {
117112
t.Fatalf("failed to create call tracer: %v", err)
118113
}
119-
evm := vm.NewEVM(context, txContext, statedb, test.Genesis.Config, vm.Config{Tracer: tracer})
120-
msg, err := core.TransactionToMessage(tx, signer, nil)
114+
msg, err := core.TransactionToMessage(tx, signer, context.BaseFee)
121115
if err != nil {
122116
t.Fatalf("failed to prepare transaction for tracing: %v", err)
123117
}
118+
evm := vm.NewEVM(context, core.NewEVMTxContext(msg), statedb, test.Genesis.Config, vm.Config{Tracer: tracer})
124119
st := core.NewStateTransition(evm, msg, new(core.GasPool).AddGas(tx.Gas()))
125120
if _, err = st.TransitionDb(); err != nil {
126121
t.Fatalf("failed to execute transaction: %v", err)

eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_failed.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
},
8484
"post": {
8585
"0x808b4da0be6c9512e948521452227efc619bea52": {
86-
"balance": "0x2cd72a36dd031f089",
86+
"balance": "0x2cd987071ba2346b6",
8787
"nonce": 1223933
8888
},
8989
"0x8f03f1a3f10c05e7cccf75c1fd10168e06659be7": {

eth/tracers/tracers_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func BenchmarkTransactionTrace(b *testing.B) {
9090
//EnableReturnData: false,
9191
})
9292
evm := vm.NewEVM(context, txContext, statedb, params.AllEthashProtocolChanges, vm.Config{Tracer: tracer})
93-
msg, err := core.TransactionToMessage(tx, signer, nil)
93+
msg, err := core.TransactionToMessage(tx, signer, context.BaseFee)
9494
if err != nil {
9595
b.Fatalf("failed to prepare transaction for tracing: %v", err)
9696
}

0 commit comments

Comments
 (0)