core, eth, internal/cli: chain event fixes

This commit is contained in:
Manav Darji 2025-03-26 11:05:56 +05:30
parent 0d1f96960e
commit c65177c035
No known key found for this signature in database
GPG key ID: A426F0124435F36E
4 changed files with 13 additions and 9 deletions

View file

@ -23,6 +23,9 @@ import (
// NewTxsEvent is posted when a batch of transactions enter the transaction pool. // NewTxsEvent is posted when a batch of transactions enter the transaction pool.
type NewTxsEvent struct{ Txs []*types.Transaction } type NewTxsEvent struct{ Txs []*types.Transaction }
// NewMinedBlockEvent is posted when a block has been imported.
type NewMinedBlockEvent struct{ Block *types.Block }
// RemovedLogsEvent is posted when a reorg happens // RemovedLogsEvent is posted when a reorg happens
type RemovedLogsEvent struct{ Logs []*types.Log } type RemovedLogsEvent struct{ Logs []*types.Log }

View file

@ -158,11 +158,11 @@ func (oracle *Oracle) ProcessCache() {
go func() { go func() {
var lastHead common.Hash var lastHead common.Hash
for ev := range headEvent { for ev := range headEvent {
if ev.Block.ParentHash() != lastHead { if ev.Header.ParentHash != lastHead {
oracle.historyCache.Purge() oracle.historyCache.Purge()
} }
lastHead = ev.Block.Hash() lastHead = ev.Header.Hash()
} }
}() }()
} }

View file

@ -17,6 +17,7 @@
package tracers package tracers
import ( import (
"context"
"math/big" "math/big"
"testing" "testing"
@ -104,7 +105,7 @@ func BenchmarkTransactionTrace(b *testing.B) {
snap := state.StateDB.Snapshot() snap := state.StateDB.Snapshot()
tracer.OnTxStart(evm.GetVMContext(), tx, msg.From) tracer.OnTxStart(evm.GetVMContext(), tx, msg.From)
st := core.NewStateTransition(evm, msg, new(core.GasPool).AddGas(tx.Gas())) st := core.NewStateTransition(evm, msg, new(core.GasPool).AddGas(tx.Gas()))
res, err := st.TransitionDb() res, err := st.TransitionDb(context.Background())
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }

View file

@ -311,13 +311,13 @@ func gatherForks(configList ...interface{}) []*proto.StatusResponse_Fork {
return forks return forks
} }
func convertBlockToBlockStub(blocks []*types.Block) []*proto.BlockStub { func convertHeaderToBlockStub(headers []*types.Header) []*proto.BlockStub {
var blockStubs []*proto.BlockStub var blockStubs []*proto.BlockStub
for _, block := range blocks { for _, header := range headers {
blockStub := &proto.BlockStub{ blockStub := &proto.BlockStub{
Hash: block.Hash().String(), Hash: header.Hash().String(),
Number: block.NumberU64(), Number: header.Number.Uint64(),
} }
blockStubs = append(blockStubs, blockStub) blockStubs = append(blockStubs, blockStub)
} }
@ -337,8 +337,8 @@ func (s *Server) ChainWatch(req *proto.ChainWatchRequest, reply proto.Bor_ChainW
msg := <-chain2HeadCh msg := <-chain2HeadCh
err := reply.Send(&proto.ChainWatchResponse{Type: msg.Type, err := reply.Send(&proto.ChainWatchResponse{Type: msg.Type,
Newchain: convertBlockToBlockStub(msg.NewChain), Newchain: convertHeaderToBlockStub(msg.NewChain),
Oldchain: convertBlockToBlockStub(msg.OldChain), Oldchain: convertHeaderToBlockStub(msg.OldChain),
}) })
if err != nil { if err != nil {
return err return err