mv td to OnBlockStart

This commit is contained in:
Sina Mahmoodi 2023-07-12 16:44:00 +02:00
parent add825e9c9
commit 0aeec7f1b5
2 changed files with 15 additions and 14 deletions

View file

@ -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 {

View file

@ -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) {