diff options
Diffstat (limited to 'ledger/ledger.go')
-rw-r--r-- | ledger/ledger.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ledger/ledger.go b/ledger/ledger.go index 02d5516af..cf5476e1b 100644 --- a/ledger/ledger.go +++ b/ledger/ledger.go @@ -578,6 +578,11 @@ func (l *Ledger) AddBlock(blk bookkeeping.Block, cert agreement.Certificate) err updates, err := internal.Eval(context.Background(), l, blk, false, l.verifiedTxnCache, nil) if err != nil { + if errNSBE, ok := err.(ledgercore.ErrNonSequentialBlockEval); ok && errNSBE.EvaluatorRound <= errNSBE.LatestRound { + return ledgercore.BlockInLedgerError{ + LastRound: errNSBE.EvaluatorRound, + NextRound: errNSBE.LatestRound + 1} + } return err } vb := ledgercore.MakeValidatedBlock(blk, updates) @@ -602,7 +607,7 @@ func (l *Ledger) AddValidatedBlock(vb ledgercore.ValidatedBlock, cert agreement. } l.headerCache.Put(blk.Round(), blk.BlockHeader) l.trackers.newBlock(blk, vb.Delta()) - l.log.Debugf("added blk %d", blk.Round()) + l.log.Debugf("ledger.AddValidatedBlock: added blk %d", blk.Round()) return nil } |