diff --git a/eth/tracers/api.go b/eth/tracers/api.go index 4236383e46..a4be6e6ee6 100644 --- a/eth/tracers/api.go +++ b/eth/tracers/api.go @@ -176,10 +176,20 @@ func (api *API) blockByNumberAndHash(ctx context.Context, number rpc.BlockNumber // getAllBlockTransactions returns all blocks transactions including state-sync transaction if present // along with a flag and it's hash (which is calculated differently than regular transactions) func (api *API) getAllBlockTransactions(ctx context.Context, block *types.Block) (types.Transactions, bool, common.Hash) { - txs := block.Transactions() + var ( + txs types.Transactions = block.Transactions() + stateSyncPresent bool + stateSyncHash common.Hash + ) - stateSyncPresent := false - stateSyncHash := common.Hash{} + isMadhugiri := api.backend.ChainConfig().Bor != nil && api.backend.ChainConfig().Bor.IsMadhugiri(block.Number()) + if isMadhugiri { + if len(txs) > 0 && txs[len(txs)-1].Type() == types.StateSyncTxType { + stateSyncPresent = true + stateSyncHash = txs[len(txs)-1].Hash() + } + return txs, stateSyncPresent, stateSyncHash + } borReceipt := rawdb.ReadBorReceipt(api.backend.ChainDb(), block.Hash(), block.NumberU64(), api.backend.ChainConfig()) if borReceipt != nil { @@ -1088,7 +1098,7 @@ func (api *API) standardTraceBlockToFile(ctx context.Context, block *types.Block if chainConfig.IsPrague(block.Number()) { core.ProcessParentBlockHash(block.ParentHash(), evm) } - for i, tx := range block.Transactions() { + for i, tx := range txs { // Prepare the transaction for un-traced execution var ( msg, _ = core.TransactionToMessage(tx, signer, block.BaseFee()) diff --git a/params/version.go b/params/version.go index 013e045f8c..d69ed35323 100644 --- a/params/version.go +++ b/params/version.go @@ -25,7 +25,7 @@ import ( const ( VersionMajor = 2 // Major version component of the current release VersionMinor = 5 // Minor version component of the current release - VersionPatch = 3 // Patch version component of the current release + VersionPatch = 4 // Patch version component of the current release VersionMeta = "" // Version metadata to append to the version string )