diff --git a/core/service/blockMainService.go b/core/service/blockMainService.go index fbd3e94c0..6ef1e70d0 100644 --- a/core/service/blockMainService.go +++ b/core/service/blockMainService.go @@ -594,6 +594,7 @@ func (bs *BlockService) PushBlock(previousBlock, block *model.Block, broadcast, if block.Height > 0 { block.CumulativeDifficulty, err = bs.BlocksmithStrategy.CalculateCumulativeDifficulty(previousBlock, block) if err != nil { + bs.queryAndCacheRollbackProcess(fmt.Sprintf("PushBlock:CalculateCumulativeDifficulty error: %v", err)) return blocker.NewBlocker( blocker.BlockErr, fmt.Sprintf("CalculateCummulativeDifficultyError:%v", err), @@ -631,6 +632,7 @@ func (bs *BlockService) PushBlock(previousBlock, block *model.Block, broadcast, // adjust fee if end of fee-vote period _, adjust, err := bs.FeeScaleService.GetCurrentPhase(block.Timestamp, false) if err != nil { + bs.queryAndCacheRollbackProcess(fmt.Sprintf("PushBlock:GetCurrentPhase error: %v", err)) return err } @@ -645,16 +647,19 @@ func (bs *BlockService) PushBlock(previousBlock, block *model.Block, broadcast, ) err = bs.FeeScaleService.GetLatestFeeScale(&latestFeeScale) if err != nil { + bs.queryAndCacheRollbackProcess(fmt.Sprintf("AdjustFeeError: %v", err)) return result, err } qry, args := bs.FeeVoteRevealVoteQuery.GetFeeVoteRevealsInPeriod(latestFeeScale.BlockHeight, block.Height) rows, err := bs.QueryExecutor.ExecuteSelect(qry, false, args...) if err != nil { + bs.queryAndCacheRollbackProcess(fmt.Sprintf("AdjustFeeError: %v", err)) return result, err } defer rows.Close() queryResult, err = bs.FeeVoteRevealVoteQuery.BuildModel(queryResult, rows) if err != nil { + bs.queryAndCacheRollbackProcess(fmt.Sprintf("AdjustFeeError: %v", err)) return result, err } for _, vote := range queryResult {