Skip to content

Commit

Permalink
ibs: remove blockhash (#11656)
Browse files Browse the repository at this point in the history
  • Loading branch information
AskAlexSharov authored Aug 19, 2024
1 parent 12ebd14 commit 48544c9
Show file tree
Hide file tree
Showing 21 changed files with 49 additions and 45 deletions.
4 changes: 2 additions & 2 deletions accounts/abi/bind/backends/simulated.go
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,7 @@ func (b *SimulatedBackend) EstimateGas(ctx context.Context, call ethereum.CallMs
}
}
gasCap = hi
b.pendingState.SetTxContext(libcommon.Hash{}, libcommon.Hash{}, len(b.pendingBlock.Transactions()))
b.pendingState.SetTxContext(libcommon.Hash{}, len(b.pendingBlock.Transactions()))

// Create a helper to check if a gas allowance results in an executable transaction
executable := func(gas uint64) (bool, *evmtypes.ExecutionResult, error) {
Expand Down Expand Up @@ -756,7 +756,7 @@ func (b *SimulatedBackend) SendTransaction(ctx context.Context, txn types.Transa
return fmt.Errorf("invalid transaction nonce: got %d, want %d", txn.GetNonce(), nonce)
}

b.pendingState.SetTxContext(txn.Hash(), libcommon.Hash{}, len(b.pendingBlock.Transactions()))
b.pendingState.SetTxContext(txn.Hash(), len(b.pendingBlock.Transactions()))
//fmt.Printf("==== Start producing block %d, header: %d\n", b.pendingBlock.NumberU64(), b.pendingHeader.Number.Uint64())
if _, _, err := core.ApplyTransaction(
b.m.ChainConfig, core.GetHashFn(b.pendingHeader, b.getHeader), b.m.Engine,
Expand Down
2 changes: 1 addition & 1 deletion cmd/devnet/services/polygon/proofgenerator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func (rg *requestGenerator) GetTransactionReceipt(ctx context.Context, hash libc

for i, txn := range block.Transactions() {

ibs.SetTxContext(txn.Hash(), block.Hash(), i)
ibs.SetTxContext(txn.Hash(), i)

receipt, _, err := core.ApplyTransaction(chainConfig, core.GetHashFn(header, getHeader), engine, nil, gp, ibs, noopWriter, header, txn, &usedGas, &usedBlobGas, vm.Config{})

Expand Down
2 changes: 1 addition & 1 deletion cmd/state/commands/opcode_tracer.go
Original file line number Diff line number Diff line change
Expand Up @@ -724,7 +724,7 @@ func runBlock(engine consensus.Engine, ibs *state.IntraBlockState, txnWriter sta
core.InitializeBlockExecution(engine, nil, header, chainConfig, ibs, logger, nil)
rules := chainConfig.Rules(block.NumberU64(), block.Time())
for i, txn := range block.Transactions() {
ibs.SetTxContext(txn.Hash(), block.Hash(), i)
ibs.SetTxContext(txn.Hash(), i)
receipt, _, err := core.ApplyTransaction(chainConfig, core.GetHashFn(header, getHeader), engine, nil, gp, ibs, txnWriter, header, txn, usedGas, usedBlobGas, vmConfig)
if err != nil {
return nil, fmt.Errorf("could not apply txn %d [%x] failed: %w", i, txn.Hash(), err)
Expand Down
4 changes: 2 additions & 2 deletions cmd/state/exec3/historical_trace_worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ func (rw *HistoricalTraceWorker) RunTxTask(txTask *state.TxTask) {
rw.vmConfig.Tracer = tracer
}
rw.vmConfig.SkipAnalysis = txTask.SkipAnalysis
ibs.SetTxContext(txHash, txTask.BlockHash, txTask.TxIndex)
ibs.SetTxContext(txHash, txTask.TxIndex)
msg := txTask.TxAsMessage

rw.evm.ResetBetweenBlocks(txTask.EvmBlockContext, core.NewEVMTxContext(msg), ibs, *rw.vmConfig, rules)
Expand All @@ -207,7 +207,7 @@ func (rw *HistoricalTraceWorker) RunTxTask(txTask *state.TxTask) {
txTask.UsedGas = applyRes.UsedGas
// Update the state with pending changes
ibs.SoftFinalise()
txTask.Logs = ibs.GetLogs(txHash)
txTask.Logs = ibs.GetLogs(txHash, rw.blockNum, rw.blockHash)
}
//txTask.Tracer = tracer
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/state/exec3/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ func (rw *Worker) RunTxTaskNoLock(txTask *state.TxTask) {
rw.taskGasPool.Reset(txTask.Tx.GetGas(), rw.chainConfig.GetMaxBlobGasPerBlock())
rw.callTracer.Reset()
rw.vmCfg.SkipAnalysis = txTask.SkipAnalysis
ibs.SetTxContext(txHash, txTask.BlockHash, txTask.TxIndex)
ibs.SetTxContext(txHash, txTask.TxIndex)
msg := txTask.TxAsMessage

rw.evm.ResetBetweenBlocks(txTask.EvmBlockContext, core.NewEVMTxContext(msg), ibs, rw.vmCfg, rules)
Expand All @@ -270,7 +270,7 @@ func (rw *Worker) RunTxTaskNoLock(txTask *state.TxTask) {
// Update the state with pending changes
ibs.SoftFinalise()
//txTask.Error = ibs.FinalizeTx(rules, noop)
txTask.Logs = ibs.GetLogs(txHash)
txTask.Logs = ibs.GetLogs(txHash, txTask.BlockNum, txTask.BlockHash)
txTask.TraceFroms = rw.callTracer.Froms()
txTask.TraceTos = rw.callTracer.Tos()
}
Expand Down
5 changes: 3 additions & 2 deletions cmd/state/exec3/state_recon.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ import (
"context"
"encoding/binary"
"fmt"
"github.com/erigontech/erigon-lib/common/datadir"
"sync"

"github.com/erigontech/erigon-lib/common/datadir"

"github.com/RoaringBitmap/roaring/roaring64"

"github.com/erigontech/erigon-lib/log/v3"
Expand Down Expand Up @@ -352,7 +353,7 @@ func (rw *ReconWorker) runTxTask(txTask *state.TxTask) error {
} else {
gp := new(core.GasPool).AddGas(txTask.Tx.GetGas()).AddBlobGas(txTask.Tx.GetBlobGas())
vmConfig := vm.Config{NoReceipts: true, SkipAnalysis: txTask.SkipAnalysis}
ibs.SetTxContext(txTask.Tx.Hash(), txTask.BlockHash, txTask.TxIndex)
ibs.SetTxContext(txTask.Tx.Hash(), txTask.TxIndex)
msg := txTask.TxAsMessage

rw.evm.ResetBetweenBlocks(txTask.EvmBlockContext, core.NewEVMTxContext(msg), ibs, vmConfig, txTask.Rules)
Expand Down
4 changes: 2 additions & 2 deletions cmd/state/exec3/trace_worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,14 +100,14 @@ func (e *TraceWorker) ChangeBlock(header *types.Header) {
}

func (e *TraceWorker) GetLogs(txIdx int, txn types.Transaction) types.Logs {
return e.ibs.GetLogs(txn.Hash())
return e.ibs.GetLogs(txn.Hash(), e.blockNum, e.header.Hash())
}

func (e *TraceWorker) ExecTxn(txNum uint64, txIndex int, txn types.Transaction) (*evmtypes.ExecutionResult, error) {
e.stateReader.SetTxNum(txNum)
txHash := txn.Hash()
e.ibs.Reset()
e.ibs.SetTxContext(txHash, e.blockHash, txIndex)
e.ibs.SetTxContext(txHash, txIndex)
gp := new(core.GasPool).AddGas(txn.GetGas()).AddBlobGas(txn.GetBlobGas())
msg, err := txn.AsMessage(*e.signer, e.header.BaseFee, e.rules)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion core/blockchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ func ExecuteBlockEphemerally(
receipts := make(types.Receipts, 0, block.Transactions().Len())
noop := state.NewNoopWriter()
for i, txn := range block.Transactions() {
ibs.SetTxContext(txn.Hash(), block.Hash(), i)
ibs.SetTxContext(txn.Hash(), i)
writeTrace := false
if vmConfig.Debug && vmConfig.Tracer == nil {
tracer, err := getTracer(i, txn.Hash())
Expand Down
4 changes: 2 additions & 2 deletions core/chain_makers.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ func (b *BlockGen) AddTxWithChain(getHeader func(hash libcommon.Hash, number uin
if b.gasPool == nil {
b.SetCoinbase(libcommon.Address{})
}
b.ibs.SetTxContext(txn.Hash(), libcommon.Hash{}, len(b.txs))
b.ibs.SetTxContext(txn.Hash(), len(b.txs))
receipt, _, err := ApplyTransaction(b.config, GetHashFn(b.header, getHeader), engine, &b.header.Coinbase, b.gasPool, b.ibs, state.NewNoopWriter(), b.header, txn, &b.header.GasUsed, b.header.BlobGasUsed, vm.Config{})
if err != nil {
panic(err)
Expand All @@ -141,7 +141,7 @@ func (b *BlockGen) AddFailedTxWithChain(getHeader func(hash libcommon.Hash, numb
if b.gasPool == nil {
b.SetCoinbase(libcommon.Address{})
}
b.ibs.SetTxContext(txn.Hash(), libcommon.Hash{}, len(b.txs))
b.ibs.SetTxContext(txn.Hash(), len(b.txs))
receipt, _, err := ApplyTransaction(b.config, GetHashFn(b.header, getHeader), engine, &b.header.Coinbase, b.gasPool, b.ibs, state.NewNoopWriter(), b.header, txn, &b.header.GasUsed, b.header.BlobGasUsed, vm.Config{})
_ = err // accept failed transactions
b.txs = append(b.txs, txn)
Expand Down
22 changes: 12 additions & 10 deletions core/state/intra_block_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ type IntraBlockState struct {
// The refund counter, also used by state transitioning.
refund uint64

thash, bhash libcommon.Hash
txIndex int
logs map[libcommon.Hash][]*types.Log
logSize uint
thash libcommon.Hash
txIndex int
logs map[libcommon.Hash][]*types.Log
logSize uint

// Per-transaction access list
accessList *accessList
Expand Down Expand Up @@ -158,23 +158,26 @@ func (sdb *IntraBlockState) Reset() {
sdb.balanceInc = make(map[libcommon.Address]*BalanceIncrease)
//clear(sdb.balanceInc)
sdb.thash = libcommon.Hash{}
sdb.bhash = libcommon.Hash{}
sdb.txIndex = 0
sdb.logSize = 0
}

func (sdb *IntraBlockState) AddLog(log2 *types.Log) {
sdb.journal.append(addLogChange{txhash: sdb.thash})
log2.TxHash = sdb.thash
log2.BlockHash = sdb.bhash
log2.TxIndex = uint(sdb.txIndex)
log2.Index = sdb.logSize
sdb.logs[sdb.thash] = append(sdb.logs[sdb.thash], log2)
sdb.logSize++
}

func (sdb *IntraBlockState) GetLogs(hash libcommon.Hash) []*types.Log {
return sdb.logs[hash]
func (sdb *IntraBlockState) GetLogs(hash libcommon.Hash, blockNumber uint64, blockHash libcommon.Hash) []*types.Log {
logs := sdb.logs[hash]
for _, l := range logs {
l.BlockNumber = blockNumber
l.BlockHash = blockHash
}
return logs
}

func (sdb *IntraBlockState) Logs() []*types.Log {
Expand Down Expand Up @@ -777,9 +780,8 @@ func (sdb *IntraBlockState) Print(chainRules chain.Rules) {
// SetTxContext sets the current transaction hash and index and block hash which are
// used when the EVM emits new state logs. It should be invoked before
// transaction execution.
func (sdb *IntraBlockState) SetTxContext(thash, bhash libcommon.Hash, ti int) {
func (sdb *IntraBlockState) SetTxContext(thash libcommon.Hash, ti int) {
sdb.thash = thash
sdb.bhash = bhash
sdb.txIndex = ti
}

Expand Down
4 changes: 2 additions & 2 deletions core/state/intra_block_state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -359,9 +359,9 @@ func (test *snapshotTest) checkEqual(state, checkstate *IntraBlockState) error {
return fmt.Errorf("got GetRefund() == %d, want GetRefund() == %d",
state.GetRefund(), checkstate.GetRefund())
}
if !reflect.DeepEqual(state.GetLogs(libcommon.Hash{}), checkstate.GetLogs(libcommon.Hash{})) {
if !reflect.DeepEqual(state.GetLogs(libcommon.Hash{}, 0, libcommon.Hash{}), checkstate.GetLogs(libcommon.Hash{}, 0, libcommon.Hash{})) {
return fmt.Errorf("got GetLogs(libcommon.Hash{}) == %v, want GetLogs(libcommon.Hash{}) == %v",
state.GetLogs(libcommon.Hash{}), checkstate.GetLogs(libcommon.Hash{}))
state.GetLogs(libcommon.Hash{}, 0, libcommon.Hash{}), checkstate.GetLogs(libcommon.Hash{}, 0, libcommon.Hash{}))
}
return nil
}
Expand Down
5 changes: 3 additions & 2 deletions core/state_processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ func applyTransaction(config *chain.Config, engine consensus.EngineReader, gp *G
stateWriter state.StateWriter, header *types.Header, txn types.Transaction, usedGas, usedBlobGas *uint64,
evm *vm.EVM, cfg vm.Config) (*types.Receipt, []byte, error) {
rules := evm.ChainRules()
msg, err := txn.AsMessage(*types.MakeSigner(config, header.Number.Uint64(), header.Time), header.BaseFee, rules)
blockNum := header.Number.Uint64()
msg, err := txn.AsMessage(*types.MakeSigner(config, blockNum, header.Time), header.BaseFee, rules)
if err != nil {
return nil, nil, err
}
Expand Down Expand Up @@ -92,7 +93,7 @@ func applyTransaction(config *chain.Config, engine consensus.EngineReader, gp *G
receipt.ContractAddress = crypto.CreateAddress(evm.Origin, txn.GetNonce())
}
// Set the receipt logs and create a bloom for filtering
receipt.Logs = ibs.GetLogs(txn.Hash())
receipt.Logs = ibs.GetLogs(txn.Hash(), blockNum, header.Hash())
receipt.Bloom = types.CreateBloom(types.Receipts{receipt})
receipt.BlockNumber = header.Number
receipt.TransactionIndex = uint(ibs.TxIndex())
Expand Down
2 changes: 1 addition & 1 deletion eth/stagedsync/stage_mining_exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ func addTransactionsToMiningBlock(logPrefix string, current *MiningBlock, chainC
noop := state.NewNoopWriter()

var miningCommitTx = func(txn types.Transaction, coinbase libcommon.Address, vmConfig *vm.Config, chainConfig chain.Config, ibs *state.IntraBlockState, current *MiningBlock) ([]*types.Log, error) {
ibs.SetTxContext(txn.Hash(), libcommon.Hash{}, tcount)
ibs.SetTxContext(txn.Hash(), tcount)
gasSnap := gasPool.Gas()
blobGasSnap := gasPool.BlobGas()
snap := ibs.Snapshot()
Expand Down
2 changes: 1 addition & 1 deletion turbo/jsonrpc/eth_callMany.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ func (api *APIImpl) CallMany(ctx context.Context, bundles []Bundle, simulateCont
// and apply the message.
gp := new(core.GasPool).AddGas(math.MaxUint64).AddBlobGas(math.MaxUint64)
for idx, txn := range replayTransactions {
st.SetTxContext(txn.Hash(), block.Hash(), idx)
st.SetTxContext(txn.Hash(), idx)
msg, err := txn.AsMessage(*signer, block.BaseFee(), rules)
if err != nil {
return nil, err
Expand Down
2 changes: 1 addition & 1 deletion turbo/jsonrpc/otterscan_search_trace.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func (api *OtterscanAPIImpl) traceBlock(dbtx kv.Tx, ctx context.Context, blockNu
return false, nil, ctx.Err()
default:
}
ibs.SetTxContext(txn.Hash(), block.Hash(), idx)
ibs.SetTxContext(txn.Hash(), idx)

msg, _ := txn.AsMessage(*signer, header.BaseFee, rules)

Expand Down
8 changes: 4 additions & 4 deletions turbo/jsonrpc/overlay_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ func (api *OverlayAPIImpl) CallConstructor(ctx context.Context, address common.A
// and apply the message.
gp := new(core.GasPool).AddGas(math.MaxUint64).AddBlobGas(math.MaxUint64)
for idx, txn := range replayTransactions {
statedb.SetTxContext(txn.Hash(), block.Hash(), idx)
statedb.SetTxContext(txn.Hash(), idx)
msg, err := txn.AsMessage(*signer, block.BaseFee(), rules)
if err != nil {
return nil, err
Expand All @@ -202,7 +202,7 @@ func (api *OverlayAPIImpl) CallConstructor(ctx context.Context, address common.A
}

creationTx := block.Transactions()[transactionIndex]
statedb.SetTxContext(creationTx.Hash(), block.Hash(), transactionIndex)
statedb.SetTxContext(creationTx.Hash(), transactionIndex)

// CREATE2: keep original message so we match the existing contract address, code will be replaced later
msg, err := creationTx.AsMessage(*signer, block.BaseFee(), rules)
Expand Down Expand Up @@ -511,7 +511,7 @@ func (api *OverlayAPIImpl) replayBlock(ctx context.Context, blockNum uint64, sta
}
}

statedb.SetTxContext(txn.Hash(), block.Hash(), idx)
statedb.SetTxContext(txn.Hash(), idx)
txCtx = core.NewEVMTxContext(msg)
evm.TxContext = txCtx

Expand Down Expand Up @@ -539,7 +539,7 @@ func (api *OverlayAPIImpl) replayBlock(ctx context.Context, blockNum uint64, sta
log.Debug("[replayBlock] discarding txLogs because txn has status=failed", "transactionHash", txn.Hash())
} else {
//append logs only if txn has not reverted
txLogs := statedb.GetLogs(txn.Hash())
txLogs := statedb.GetLogs(txn.Hash(), blockNum, header.Hash())
log.Debug("[replayBlock]", "len(txLogs)", len(txLogs), "transactionHash", txn.Hash())
blockLogs = append(blockLogs, txLogs...)
}
Expand Down
2 changes: 1 addition & 1 deletion turbo/jsonrpc/receipts/receipts_generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func (g *Generator) GetReceipts(ctx context.Context, cfg *chain.Config, tx kv.Tx
}
header := block.HeaderNoCopy()
for i, txn := range block.Transactions() {
ibs.SetTxContext(txn.Hash(), block.Hash(), i)
ibs.SetTxContext(txn.Hash(), i)
receipt, _, err := core.ApplyTransaction(cfg, core.GetHashFn(header, getHeader), engine, nil, gp, ibs, noopWriter, header, txn, usedGas, usedBlobGas, vm.Config{})
if err != nil {
return nil, err
Expand Down
6 changes: 3 additions & 3 deletions turbo/jsonrpc/trace_adhoc.go
Original file line number Diff line number Diff line change
Expand Up @@ -1038,7 +1038,7 @@ func (api *TraceAPIImpl) Call(ctx context.Context, args TraceCallParam, traceTyp

gp := new(core.GasPool).AddGas(msg.Gas()).AddBlobGas(msg.BlobGas())
var execResult *evmtypes.ExecutionResult
ibs.SetTxContext(libcommon.Hash{}, libcommon.Hash{}, 0)
ibs.SetTxContext(libcommon.Hash{}, 0)
execResult, err = core.ApplyMessage(evm, msg, gp, true /* refunds */, true /* gasBailout */)
if err != nil {
return nil, err
Expand Down Expand Up @@ -1305,9 +1305,9 @@ func (api *TraceAPIImpl) doCallMany(ctx context.Context, dbtx kv.Tx, msgs []type
)
} else {
if args.txHash != nil {
ibs.SetTxContext(*args.txHash, header.Hash(), txIndex)
ibs.SetTxContext(*args.txHash, txIndex)
} else {
ibs.SetTxContext(libcommon.Hash{}, header.Hash(), txIndex)
ibs.SetTxContext(libcommon.Hash{}, txIndex)
}

txCtx := core.NewEVMTxContext(msg)
Expand Down
2 changes: 1 addition & 1 deletion turbo/jsonrpc/trace_filtering.go
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,7 @@ func (api *TraceAPIImpl) filterV3(ctx context.Context, dbtx kv.TemporalTx, fromB
evm := vm.NewEVM(blockCtx, txCtx, ibs, chainConfig, vmConfig)

gp := new(core.GasPool).AddGas(msg.Gas()).AddBlobGas(msg.BlobGas())
ibs.SetTxContext(txHash, lastBlockHash, txIndex)
ibs.SetTxContext(txHash, txIndex)
var execResult *evmtypes.ExecutionResult
execResult, err = core.ApplyMessage(evm, msg, gp, true /* refunds */, gasBailOut)
if err != nil {
Expand Down
6 changes: 3 additions & 3 deletions turbo/jsonrpc/tracing.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ func (api *PrivateDebugAPIImpl) traceBlock(ctx context.Context, blockNrOrHash rp
stream.WriteArrayEnd()
return ctx.Err()
}
ibs.SetTxContext(txnHash, block.Hash(), idx)
ibs.SetTxContext(txnHash, idx)
msg, _ := txn.AsMessage(*signer, block.BaseFee(), rules)

if msg.FeeCap().IsZero() && engine != nil {
Expand Down Expand Up @@ -510,7 +510,7 @@ func (api *PrivateDebugAPIImpl) TraceCallMany(ctx context.Context, bundles []Bun
// and apply the message.
gp := new(core.GasPool).AddGas(math.MaxUint64).AddBlobGas(math.MaxUint64)
for idx, txn := range replayTransactions {
st.SetTxContext(txn.Hash(), block.Hash(), idx)
st.SetTxContext(txn.Hash(), idx)
msg, err := txn.AsMessage(*signer, block.BaseFee(), rules)
if err != nil {
stream.WriteNil()
Expand Down Expand Up @@ -554,7 +554,7 @@ func (api *PrivateDebugAPIImpl) TraceCallMany(ctx context.Context, bundles []Bun
}
txCtx = core.NewEVMTxContext(msg)
ibs := evm.IntraBlockState().(*state.IntraBlockState)
ibs.SetTxContext(common.Hash{}, header.Hash(), txnIndex)
ibs.SetTxContext(common.Hash{}, txnIndex)
err = transactions.TraceTx(ctx, msg, blockCtx, txCtx, evm.IntraBlockState(), config, chainConfig, stream, api.evmCallTimeout)
if err != nil {
stream.WriteArrayEnd()
Expand Down
2 changes: 1 addition & 1 deletion turbo/transactions/tracing.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func ComputeTxEnv(ctx context.Context, engine consensus.EngineReader, block *typ
signer := types.MakeSigner(cfg, block.NumberU64(), block.Time())
rules := cfg.Rules(blockContext.BlockNumber, blockContext.Time)
txn := block.Transactions()[txIndex]
statedb.SetTxContext(txn.Hash(), block.Hash(), txIndex)
statedb.SetTxContext(txn.Hash(), txIndex)
msg, _ := txn.AsMessage(*signer, block.BaseFee(), rules)
if msg.FeeCap().IsZero() && engine != nil {
syscall := func(contract libcommon.Address, data []byte) ([]byte, error) {
Expand Down

0 comments on commit 48544c9

Please sign in to comment.