From 19655c3e6171a11f8458123d2403311ad66e064f Mon Sep 17 00:00:00 2001 From: jsvisa Date: Wed, 8 Jan 2025 11:04:02 +0800 Subject: [PATCH] fix(miner): no check anchor tx when return pending tx Signed-off-by: jsvisa --- miner/worker.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/miner/worker.go b/miner/worker.go index 434f698370dc..0ad6c8be01f4 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -26,6 +26,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/consensus/misc/eip1559" "github.com/ethereum/go-ethereum/consensus/misc/eip4844" + "github.com/ethereum/go-ethereum/consensus/taiko" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/state" "github.com/ethereum/go-ethereum/core/stateless" @@ -34,6 +35,7 @@ import ( "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/trie" "github.com/holiman/uint256" ) @@ -127,7 +129,13 @@ func (miner *Miner) generateWork(params *generateParams, witness bool) *newPaylo } block, err := miner.engine.FinalizeAndAssemble(miner.chain, work.header, work.state, &body, work.receipts) if err != nil { - return &newPayloadResult{err: err} + // CHANGE(taiko): If the anchor tx is not found, return a pending state without anchor tx. + if miner.chainConfig.Taiko && err == taiko.ErrAnchorTxNotFound { + miner.engine.Finalize(miner.chain, work.header, work.state, &body) + block = types.NewBlock(work.header, &body, work.receipts, trie.NewStackTrie(nil)) + } else { + return &newPayloadResult{err: err} + } } return &newPayloadResult{ block: block,