From 0aeec7f1b5de951832c3e03411181e360e8fbdf4 Mon Sep 17 00:00:00 2001 From: Sina Mahmoodi Date: Wed, 12 Jul 2023 16:44:00 +0200 Subject: [PATCH] mv td to OnBlockStart --- core/blockchain.go | 21 +++++++++++---------- eth/tracers/printer.go | 8 ++++---- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/core/blockchain.go b/core/blockchain.go index 42e35b3fa6..6db5be78e8 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -158,9 +158,11 @@ var defaultCacheConfig = &CacheConfig{ type BlockchainLogger interface { vm.EVMLogger state.StateLogger - OnBlockStart(*types.Block) - OnBlockEnd(td *big.Int, err error) - OnGenesisBlock(*types.Block) + // OnBlockStart is called before executing `block`. + // `td` is the total difficulty prior to `block`. + OnBlockStart(block *types.Block, td *big.Int) + OnBlockEnd(err error) + OnGenesisBlock(genesis *types.Block) } // BlockChain represents the canonical chain given a database with a genesis @@ -1775,14 +1777,15 @@ func (bc *BlockChain) insertChain(chain types.Blocks, setHead bool) (int, error) pstart := time.Now() if bc.logger != nil { - bc.logger.OnBlockStart(block) + td := bc.GetTd(block.ParentHash(), block.NumberU64()-1) + bc.logger.OnBlockStart(block, td) } receipts, logs, usedGas, err := bc.processor.Process(block, statedb, bc.vmConfig) if err != nil { bc.reportBlock(block, receipts, err) followupInterrupt.Store(true) if bc.logger != nil { - bc.logger.OnBlockEnd(new(big.Int), err) + bc.logger.OnBlockEnd(err) } return it.index, err } @@ -1793,7 +1796,7 @@ func (bc *BlockChain) insertChain(chain types.Blocks, setHead bool) (int, error) bc.reportBlock(block, receipts, err) followupInterrupt.Store(true) if bc.logger != nil { - bc.logger.OnBlockEnd(new(big.Int), err) + bc.logger.OnBlockEnd(err) } return it.index, err } @@ -1830,7 +1833,7 @@ func (bc *BlockChain) insertChain(chain types.Blocks, setHead bool) (int, error) followupInterrupt.Store(true) if err != nil { if bc.logger != nil { - bc.logger.OnBlockEnd(new(big.Int), err) + bc.logger.OnBlockEnd(err) } return it.index, err } @@ -1851,9 +1854,7 @@ func (bc *BlockChain) insertChain(chain types.Blocks, setHead bool) (int, error) stats.report(chain, it.index, dirty, setHead) if bc.logger != nil { - td := bc.GetTd(block.ParentHash(), block.NumberU64()-1) - td.Add(td, block.Difficulty()) - bc.logger.OnBlockEnd(td, nil) + bc.logger.OnBlockEnd(nil) } if !setHead { diff --git a/eth/tracers/printer.go b/eth/tracers/printer.go index 98c7417831..f9ecf3b1dc 100644 --- a/eth/tracers/printer.go +++ b/eth/tracers/printer.go @@ -70,12 +70,12 @@ func (p *Printer) CaptureTxEnd(receipt *types.Receipt) { fmt.Printf("CaptureTxEnd: receipt=%s\n", buf) } -func (p *Printer) OnBlockStart(b *types.Block) { - fmt.Printf("OnBlockStart: b=%v\n", b.NumberU64()) +func (p *Printer) OnBlockStart(b *types.Block, td *big.Int) { + fmt.Printf("OnBlockStart: b=%v, td=%v\n", b.NumberU64(), td) } -func (p *Printer) OnBlockEnd(td *big.Int, err error) { - fmt.Printf("OnBlockEnd: td=%v, err=%v\n", td, err) +func (p *Printer) OnBlockEnd(err error) { + fmt.Printf("OnBlockEnd: err=%v\n", err) } func (p *Printer) OnGenesisBlock(b *types.Block) {