aboutsummaryrefslogtreecommitdiffstats
path: root/core/consensus.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/consensus.go')
-rw-r--r--core/consensus.go36
1 files changed, 3 insertions, 33 deletions
diff --git a/core/consensus.go b/core/consensus.go
index 0d1955d..3c83c51 100644
--- a/core/consensus.go
+++ b/core/consensus.go
@@ -921,39 +921,9 @@ func (con *Consensus) processBlock(block *types.Block) (err error) {
return
}
-// processFinalizedBlock is the entry point for syncing blocks.
-func (con *Consensus) processFinalizedBlock(block *types.Block) (err error) {
- if err = con.lattice.SanityCheck(block); err != nil {
- if err != ErrRetrySanityCheckLater {
- return
- }
- err = nil
- }
- con.ccModule.processFinalizedBlock(block)
- for {
- confirmed := con.ccModule.extractFinalizedBlocks()
- if len(confirmed) == 0 {
- break
- }
- if err = con.lattice.ctModule.processBlocks(confirmed); err != nil {
- return
- }
- for _, b := range confirmed {
- if err = con.db.Put(*b); err != nil {
- if err != blockdb.ErrBlockExists {
- return
- }
- err = nil
- }
- con.lattice.ProcessFinalizedBlock(b)
- // TODO(jimmy): BlockConfirmed and DeliverBlock may not be removed if
- // application implements state snapshot.
- con.logger.Debug("Calling Application.BlockConfirmed", "block", b)
- con.app.BlockConfirmed(*b.Clone())
- con.deliverBlock(b)
- }
- }
- return
+// processFinalizedBlock is the entry point for handling finalized blocks.
+func (con *Consensus) processFinalizedBlock(block *types.Block) error {
+ return con.ccModule.processFinalizedBlock(block)
}
// PrepareBlock would setup header fields of block based on its ProposerID.