Skip to content

Commit 8c5576b

Browse files
jsvisas1na
andauthored
eth/tracers: fix base fee and set blob fee in tests (ethereum#29376)
Signed-off-by: jsvisa <[email protected]> Co-authored-by: Sina Mahmoodi <[email protected]>
1 parent 6c9f702 commit 8c5576b

File tree

12 files changed

+137
-64
lines changed

12 files changed

+137
-64
lines changed

Diff for: eth/tracers/internal/tracetest/calltrace_test.go

+2-20
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727

2828
"github.com/ethereum/go-ethereum/common"
2929
"github.com/ethereum/go-ethereum/common/hexutil"
30-
"github.com/ethereum/go-ethereum/common/math"
3130
"github.com/ethereum/go-ethereum/core"
3231
"github.com/ethereum/go-ethereum/core/rawdb"
3332
"github.com/ethereum/go-ethereum/core/types"
@@ -39,14 +38,6 @@ import (
3938
"github.com/ethereum/go-ethereum/tests"
4039
)
4140

42-
type callContext struct {
43-
Number math.HexOrDecimal64 `json:"number"`
44-
Difficulty *math.HexOrDecimal256 `json:"difficulty"`
45-
Time math.HexOrDecimal64 `json:"timestamp"`
46-
GasLimit math.HexOrDecimal64 `json:"gasLimit"`
47-
Miner common.Address `json:"miner"`
48-
}
49-
5041
// callLog is the result of LOG opCode
5142
type callLog struct {
5243
Address common.Address `json:"address"`
@@ -125,17 +116,8 @@ func testCallTracer(tracerName string, dirPath string, t *testing.T) {
125116
// Configure a blockchain with the given prestate
126117
var (
127118
signer = types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
128-
context = vm.BlockContext{
129-
CanTransfer: core.CanTransfer,
130-
Transfer: core.Transfer,
131-
Coinbase: test.Context.Miner,
132-
BlockNumber: new(big.Int).SetUint64(uint64(test.Context.Number)),
133-
Time: uint64(test.Context.Time),
134-
Difficulty: (*big.Int)(test.Context.Difficulty),
135-
GasLimit: uint64(test.Context.GasLimit),
136-
BaseFee: test.Genesis.BaseFee,
137-
}
138-
state = tests.MakePreState(rawdb.NewMemoryDatabase(), test.Genesis.Alloc, false, rawdb.HashScheme)
119+
context = test.Context.toBlockContext(test.Genesis)
120+
state = tests.MakePreState(rawdb.NewMemoryDatabase(), test.Genesis.Alloc, false, rawdb.HashScheme)
139121
)
140122
state.Close()
141123

Diff for: eth/tracers/internal/tracetest/flat_calltrace_test.go

+3-11
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ type flatCallTraceResult struct {
6161

6262
// flatCallTracerTest defines a single test to check the call tracer against.
6363
type flatCallTracerTest struct {
64-
Genesis core.Genesis `json:"genesis"`
65-
Context callContext `json:"context"`
64+
Genesis *core.Genesis `json:"genesis"`
65+
Context *callContext `json:"context"`
6666
Input string `json:"input"`
6767
TracerConfig json.RawMessage `json:"tracerConfig"`
6868
Result []flatCallTrace `json:"result"`
@@ -84,15 +84,7 @@ func flatCallTracerTestRunner(tracerName string, filename string, dirPath string
8484
return fmt.Errorf("failed to parse testcase input: %v", err)
8585
}
8686
signer := types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
87-
context := vm.BlockContext{
88-
CanTransfer: core.CanTransfer,
89-
Transfer: core.Transfer,
90-
Coinbase: test.Context.Miner,
91-
BlockNumber: new(big.Int).SetUint64(uint64(test.Context.Number)),
92-
Time: uint64(test.Context.Time),
93-
Difficulty: (*big.Int)(test.Context.Difficulty),
94-
GasLimit: uint64(test.Context.GasLimit),
95-
}
87+
context := test.Context.toBlockContext(test.Genesis)
9688
state := tests.MakePreState(rawdb.NewMemoryDatabase(), test.Genesis.Alloc, false, rawdb.HashScheme)
9789
defer state.Close()
9890

Diff for: eth/tracers/internal/tracetest/makeTest.js

+13-8
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,21 @@ var makeTest = function(tx, traceConfig) {
3333
var result = debug.traceTransaction(tx, traceConfig);
3434
delete result.time;
3535

36+
var context = {
37+
number: block.number.toString(),
38+
difficulty: block.difficulty,
39+
timestamp: block.timestamp.toString(),
40+
gasLimit: block.gasLimit.toString(),
41+
miner: block.miner,
42+
};
43+
if (block.baseFeePerGas) {
44+
context.baseFeePerGas = block.baseFeePerGas.toString();
45+
}
46+
3647
console.log(JSON.stringify({
3748
genesis: genesis,
38-
context: {
39-
number: block.number.toString(),
40-
difficulty: block.difficulty,
41-
timestamp: block.timestamp.toString(),
42-
gasLimit: block.gasLimit.toString(),
43-
miner: block.miner,
44-
},
49+
context: context,
4550
input: eth.getRawTransaction(tx),
4651
result: result,
4752
}, null, 2));
48-
}
53+
}

Diff for: eth/tracers/internal/tracetest/prestate_test.go

+2-17
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"testing"
2626

2727
"github.com/ethereum/go-ethereum/common"
28-
"github.com/ethereum/go-ethereum/consensus/misc/eip4844"
2928
"github.com/ethereum/go-ethereum/core"
3029
"github.com/ethereum/go-ethereum/core/rawdb"
3130
"github.com/ethereum/go-ethereum/core/types"
@@ -94,25 +93,11 @@ func testPrestateDiffTracer(tracerName string, dirPath string, t *testing.T) {
9493
// Configure a blockchain with the given prestate
9594
var (
9695
signer = types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)), uint64(test.Context.Time))
97-
context = vm.BlockContext{
98-
CanTransfer: core.CanTransfer,
99-
Transfer: core.Transfer,
100-
Coinbase: test.Context.Miner,
101-
BlockNumber: new(big.Int).SetUint64(uint64(test.Context.Number)),
102-
Time: uint64(test.Context.Time),
103-
Difficulty: (*big.Int)(test.Context.Difficulty),
104-
GasLimit: uint64(test.Context.GasLimit),
105-
BaseFee: test.Genesis.BaseFee,
106-
}
107-
state = tests.MakePreState(rawdb.NewMemoryDatabase(), test.Genesis.Alloc, false, rawdb.HashScheme)
96+
context = test.Context.toBlockContext(test.Genesis)
97+
state = tests.MakePreState(rawdb.NewMemoryDatabase(), test.Genesis.Alloc, false, rawdb.HashScheme)
10898
)
10999
defer state.Close()
110100

111-
if test.Genesis.ExcessBlobGas != nil && test.Genesis.BlobGasUsed != nil {
112-
excessBlobGas := eip4844.CalcExcessBlobGas(*test.Genesis.ExcessBlobGas, *test.Genesis.BlobGasUsed)
113-
context.BlobBaseFee = eip4844.CalcBlobFee(excessBlobGas)
114-
}
115-
116101
tracer, err := tracers.DefaultDirectory.New(tracerName, new(tracers.Context), test.TracerConfig)
117102
if err != nil {
118103
t.Fatalf("failed to create call tracer: %v", err)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"genesis": {
3+
"baseFeePerGas": "7",
4+
"blobGasUsed": "0",
5+
"difficulty": "0",
6+
"excessBlobGas": "36306944",
7+
"extraData": "0xd983010e00846765746888676f312e32312e308664617277696e",
8+
"gasLimit": "15639172",
9+
"hash": "0xc682259fda061bb9ce8ccb491d5b2d436cb73daf04e1025dd116d045ce4ad28c",
10+
"miner": "0x0000000000000000000000000000000000000000",
11+
"mixHash": "0xae1a5ba939a4c9ac38aabeff361169fb55a6fc2c9511457e0be6eff9514faec0",
12+
"nonce": "0x0000000000000000",
13+
"number": "315",
14+
"parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
15+
"stateRoot": "0x577f42ab21ccfd946511c57869ace0bdf7c217c36f02b7cd3459df0ed1cffc1a",
16+
"timestamp": "1709626771",
17+
"totalDifficulty": "1",
18+
"withdrawals": [],
19+
"withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
20+
"alloc": {
21+
"0x0000000000000000000000000000000000000000": {
22+
"balance": "0x272e0528"
23+
},
24+
"0x0c2c51a0990aee1d73c1228de158688341557508": {
25+
"balance": "0xde0b6b3a7640000"
26+
}
27+
},
28+
"config": {
29+
"chainId": 1337,
30+
"homesteadBlock": 0,
31+
"eip150Block": 0,
32+
"eip155Block": 0,
33+
"eip158Block": 0,
34+
"byzantiumBlock": 0,
35+
"constantinopleBlock": 0,
36+
"petersburgBlock": 0,
37+
"istanbulBlock": 0,
38+
"muirGlacierBlock": 0,
39+
"berlinBlock": 0,
40+
"londonBlock": 0,
41+
"arrowGlacierBlock": 0,
42+
"grayGlacierBlock": 0,
43+
"shanghaiTime": 0,
44+
"cancunTime": 0,
45+
"terminalTotalDifficulty": 0,
46+
"terminalTotalDifficultyPassed": true
47+
}
48+
},
49+
"context": {
50+
"number": "316",
51+
"difficulty": "0",
52+
"timestamp": "1709626785",
53+
"gasLimit": "15654443",
54+
"miner": "0x0000000000000000000000000000000000000000",
55+
"baseFeePerGas": "7"
56+
},
57+
"input": "0x03f8b1820539806485174876e800825208940c2c51a0990aee1d73c1228de1586883415575088080c083020000f842a00100c9fbdf97f747e85847b4f3fff408f89c26842f77c882858bf2c89923849aa00138e3896f3c27f2389147507f8bcec52028b0efca6ee842ed83c9158873943880a0dbac3f97a532c9b00e6239b29036245a5bfbb96940b9d848634661abee98b945a03eec8525f261c2e79798f7b45a5d6ccaefa24576d53ba5023e919b86841c0675",
58+
"result": {
59+
"from": "0x0c2c51a0990aee1d73c1228de158688341557508",
60+
"gas": "0x5208",
61+
"gasUsed": "0x5208",
62+
"to": "0x0c2c51a0990aee1d73c1228de158688341557508",
63+
"input": "0x",
64+
"value": "0x0",
65+
"type": "CALL"
66+
}
67+
}

Diff for: eth/tracers/internal/tracetest/testdata/call_tracer/inner_revert_reason.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
"difficulty": "2",
4646
"timestamp": "1665537018",
4747
"gasLimit": "11511229",
48-
"miner": "0x0000000000000000000000000000000000000000"
48+
"miner": "0x0000000000000000000000000000000000000000",
49+
"baseFeePerGas": "875000000"
4950
},
5051
"input": "0x02f9029d82053980849502f90085010c388d00832dc6c08080b90241608060405234801561001057600080fd5b50600060405161001f906100a2565b604051809103906000f08015801561003b573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff1663c04062266040518163ffffffff1660e01b815260040160006040518083038186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b50505050506100af565b610145806100fc83390190565b603f806100bd6000396000f3fe6080604052600080fdfea264697066735822122077f7dbd3450d6e817079cf3fe27107de5768bb3163a402b94e2206b468eb025664736f6c63430008070033608060405234801561001057600080fd5b50610125806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063c040622614602d575b600080fd5b60336035565b005b60036002116076576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401606d906097565b60405180910390fd5b565b6000608360128360b5565b9150608c8260c6565b602082019050919050565b6000602082019050818103600083015260ae816078565b9050919050565b600082825260208201905092915050565b7f546869732063616c6c6564206661696c6564000000000000000000000000000060008201525056fea264697066735822122033f8d92e29d467e5ea08d0024eab0b36b86b8cdb3542c6e89dbaabeb8ffaa42064736f6c63430008070033c001a07566181071cabaf58b70fc41557eb813bfc7a24f5c58554e7fed0bf7c031f169a0420af50b5fe791a4d839e181a676db5250b415dfb35cb85d544db7a1475ae2cc",
5152
"result": {

Diff for: eth/tracers/internal/tracetest/testdata/prestate_tracer/blob_tx.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@
5151
"difficulty": "0",
5252
"timestamp": "1709626785",
5353
"gasLimit": "15654443",
54-
"miner": "0x0000000000000000000000000000000000000000"
54+
"miner": "0x0000000000000000000000000000000000000000",
55+
"baseFeePerGas": "7"
5556
},
5657
"input": "0x03f8b1820539806485174876e800825208940c2c51a0990aee1d73c1228de1586883415575088080c083020000f842a00100c9fbdf97f747e85847b4f3fff408f89c26842f77c882858bf2c89923849aa00138e3896f3c27f2389147507f8bcec52028b0efca6ee842ed83c9158873943880a0dbac3f97a532c9b00e6239b29036245a5bfbb96940b9d848634661abee98b945a03eec8525f261c2e79798f7b45a5d6ccaefa24576d53ba5023e919b86841c0675",
5758
"result": {

Diff for: eth/tracers/internal/tracetest/testdata/prestate_tracer/create_create.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@
4848
"difficulty": "0",
4949
"timestamp": "1699617847",
5050
"gasLimit": "11522469",
51-
"miner": "0x0000000000000000000000000000000000000000"
51+
"miner": "0x0000000000000000000000000000000000000000",
52+
"baseFeePerGas": "765625000"
5253
},
5354
"input": "0x02f902b48205398084b2d05e0085011b1f3f8083031ca88080b90258608060405234801561001057600080fd5b5060405161001d906100e3565b604051809103906000f080158015610039573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b039290921691821781556040517fc66247bafd1305823857fb4c3e651e684d918df8554ef560bbbcb025fdd017039190a26000546040516360fe47b160e01b8152600560048201526001600160a01b03909116906360fe47b190602401600060405180830381600087803b1580156100c657600080fd5b505af11580156100da573d6000803e3d6000fd5b505050506100ef565b60ca8061018e83390190565b6091806100fd6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806380de699314602d575b600080fd5b600054603f906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f3fea2646970667358221220dab781465e7f4cf20304cc388130a763508e20edd25b4bc8ea8f57743a0de8da64736f6c634300081700336080604052348015600f57600080fd5b5060ac8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806360fe47b11460375780636d4ce63c146049575b600080fd5b60476042366004605e565b600055565b005b60005460405190815260200160405180910390f35b600060208284031215606f57600080fd5b503591905056fea264697066735822122049e09da6320793487d58eaa7b97f802618a062cbc35f08ca1ce92c17349141f864736f6c63430008170033c080a01d4fce93ad08bf413052645721f20e6136830cf5a2759fa57e76a134e90899a7a0399a72832d52118991dc04c4f9e1c0fec3d5e441ad7d4b055f0cf03130d8f815",
5455
"result": {

Diff for: eth/tracers/internal/tracetest/testdata/prestate_tracer/create_post_eip158.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@
4848
"difficulty": "2",
4949
"timestamp": "1709022197",
5050
"gasLimit": "30000000",
51-
"miner": "0x2445e8c26a2bf3d1e59f1bb9b1d442caf90768e0"
51+
"miner": "0x2445e8c26a2bf3d1e59f1bb9b1d442caf90768e0",
52+
"baseFeePerGas": "7"
5253
},
5354
"input": "0x02f902af823039408459682f008459682f088302b3538080b90254608060405234801561001057600080fd5b50610234806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806309ce9ccb1461003b5780633fb5c1cb14610059575b600080fd5b610043610075565b60405161005091906100e2565b60405180910390f35b610073600480360381019061006e919061012e565b61007b565b005b60005481565b80600081905550600a8111156100c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100bd906101de565b60405180910390fd5b50565b6000819050919050565b6100dc816100c9565b82525050565b60006020820190506100f760008301846100d3565b92915050565b600080fd5b61010b816100c9565b811461011657600080fd5b50565b60008135905061012881610102565b92915050565b600060208284031215610144576101436100fd565b5b600061015284828501610119565b91505092915050565b600082825260208201905092915050565b7f4e756d6265722069732067726561746572207468616e2031302c207472616e7360008201527f616374696f6e2072657665727465642e00000000000000000000000000000000602082015250565b60006101c860308361015b565b91506101d38261016c565b604082019050919050565b600060208201905081810360008301526101f7816101bb565b905091905056fea264697066735822122069018995fecf03bda91a88b6eafe41641709dee8b4a706fe301c8a569fe8c1b364736f6c63430008130033c001a0a8cf4729b7e4664687abb3e2559853d7d489eb441519be2a17493061fb4c3a03a04b5a904ba8a6e59c6c40049c4d14a73233aeb8a45b38403199f304630dc0d453",
5455
"result": {

Diff for: eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_failed.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"genesis": {
3-
"baseFeePerGas": "51088069741",
3+
"baseFeePerGas": "4573728117",
44
"difficulty": "14315558652874667",
55
"extraData": "0xd883010a10846765746888676f312e31362e35856c696e7578",
66
"gasLimit": "30058590",
@@ -64,7 +64,8 @@
6464
"difficulty": "14322823549655084",
6565
"timestamp": "1651623279",
6666
"gasLimit": "30029237",
67-
"miner": "0x8f03f1a3f10c05e7cccf75c1fd10168e06659be7"
67+
"miner": "0x8f03f1a3f10c05e7cccf75c1fd10168e06659be7",
68+
"baseFeePerGas": "4002012103"
6869
},
6970
"input": "0x02f8b4018312acfc8459682f00851a46bcf47a8302b1a194ffa397285ce46fb78c588a9e993286aac68c37cd80b844fb90b3200000000000000000000000002a549b4af9ec39b03142da6dc32221fc390b553300000000000000000000000000000000000000000000000000000000000cb3d5c001a03002079d2873f7963c4278200c43aa71efad262b2150bc8524480acfc38b5faaa077d44aa09d56b9cf99443c7f55aaad1bbae9cfb5bbb9de31eaf7a8f9e623e980",
7071
"tracerConfig": {
@@ -83,7 +84,7 @@
8384
},
8485
"post": {
8586
"0x808b4da0be6c9512e948521452227efc619bea52": {
86-
"balance": "0x2cd987071ba2346b6",
87+
"balance": "0x2cdb5f8e62cc9ad1c",
8788
"nonce": 1223933
8889
},
8990
"0x8f03f1a3f10c05e7cccf75c1fd10168e06659be7": {

Diff for: eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_post_eip158.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@
4848
"difficulty": "2",
4949
"timestamp": "1709022197",
5050
"gasLimit": "30000000",
51-
"miner": "0x2445e8c26a2bf3d1e59f1bb9b1d442caf90768e0"
51+
"miner": "0x2445e8c26a2bf3d1e59f1bb9b1d442caf90768e0",
52+
"baseFeePerGas": "7"
5253
},
5354
"input": "0x02f902af823039408459682f008459682f088302b3538080b90254608060405234801561001057600080fd5b50610234806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806309ce9ccb1461003b5780633fb5c1cb14610059575b600080fd5b610043610075565b60405161005091906100e2565b60405180910390f35b610073600480360381019061006e919061012e565b61007b565b005b60005481565b80600081905550600a8111156100c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100bd906101de565b60405180910390fd5b50565b6000819050919050565b6100dc816100c9565b82525050565b60006020820190506100f760008301846100d3565b92915050565b600080fd5b61010b816100c9565b811461011657600080fd5b50565b60008135905061012881610102565b92915050565b600060208284031215610144576101436100fd565b5b600061015284828501610119565b91505092915050565b600082825260208201905092915050565b7f4e756d6265722069732067726561746572207468616e2031302c207472616e7360008201527f616374696f6e2072657665727465642e00000000000000000000000000000000602082015250565b60006101c860308361015b565b91506101d38261016c565b604082019050919050565b600060208201905081810360008301526101f7816101bb565b905091905056fea264697066735822122069018995fecf03bda91a88b6eafe41641709dee8b4a706fe301c8a569fe8c1b364736f6c63430008130033c001a0a8cf4729b7e4664687abb3e2559853d7d489eb441519be2a17493061fb4c3a03a04b5a904ba8a6e59c6c40049c4d14a73233aeb8a45b38403199f304630dc0d453",
5455
"tracerConfig": {

Diff for: eth/tracers/internal/tracetest/util.go

+36
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
package tracetest
22

33
import (
4+
"math/big"
45
"strings"
56
"unicode"
67

8+
"github.com/ethereum/go-ethereum/common"
9+
"github.com/ethereum/go-ethereum/common/math"
10+
"github.com/ethereum/go-ethereum/consensus/misc/eip4844"
11+
"github.com/ethereum/go-ethereum/core"
12+
"github.com/ethereum/go-ethereum/core/vm"
13+
714
// Force-load native and js packages, to trigger registration
815
_ "github.com/ethereum/go-ethereum/eth/tracers/js"
916
_ "github.com/ethereum/go-ethereum/eth/tracers/native"
@@ -17,3 +24,32 @@ func camel(str string) string {
1724
}
1825
return strings.Join(pieces, "")
1926
}
27+
28+
type callContext struct {
29+
Number math.HexOrDecimal64 `json:"number"`
30+
Difficulty *math.HexOrDecimal256 `json:"difficulty"`
31+
Time math.HexOrDecimal64 `json:"timestamp"`
32+
GasLimit math.HexOrDecimal64 `json:"gasLimit"`
33+
Miner common.Address `json:"miner"`
34+
BaseFee *math.HexOrDecimal256 `json:"baseFeePerGas"`
35+
}
36+
37+
func (c *callContext) toBlockContext(genesis *core.Genesis) vm.BlockContext {
38+
context := vm.BlockContext{
39+
CanTransfer: core.CanTransfer,
40+
Transfer: core.Transfer,
41+
Coinbase: c.Miner,
42+
BlockNumber: new(big.Int).SetUint64(uint64(c.Number)),
43+
Time: uint64(c.Time),
44+
Difficulty: (*big.Int)(c.Difficulty),
45+
GasLimit: uint64(c.GasLimit),
46+
}
47+
if genesis.Config.IsLondon(context.BlockNumber) {
48+
context.BaseFee = (*big.Int)(c.BaseFee)
49+
}
50+
if genesis.ExcessBlobGas != nil && genesis.BlobGasUsed != nil {
51+
excessBlobGas := eip4844.CalcExcessBlobGas(*genesis.ExcessBlobGas, *genesis.BlobGasUsed)
52+
context.BlobBaseFee = eip4844.CalcBlobFee(excessBlobGas)
53+
}
54+
return context
55+
}

0 commit comments

Comments
 (0)