aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2019-03-19 15:35:32 +0800
committerWei-Ning Huang <w@byzantine-lab.io>2019-06-12 17:27:23 +0800
commit55e22571a1cd5ef5d27a29ab1b0ecfb1b78cb264 (patch)
tree60470e2831887c855ce6892865b142170ea8433a
parent3dadb841289a41303f84ce96a0478a4f3cb8364c (diff)
downloadgo-tangerine-55e22571a1cd5ef5d27a29ab1b0ecfb1b78cb264.tar.gz
go-tangerine-55e22571a1cd5ef5d27a29ab1b0ecfb1b78cb264.tar.zst
go-tangerine-55e22571a1cd5ef5d27a29ab1b0ecfb1b78cb264.zip
dex: do not start watchcat when blockchain is empty (#273)
-rw-r--r--dex/blockproposer.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/dex/blockproposer.go b/dex/blockproposer.go
index 63d424ab6..bcc150747 100644
--- a/dex/blockproposer.go
+++ b/dex/blockproposer.go
@@ -121,16 +121,20 @@ func (b *blockProposer) syncConsensus() (*dexCore.Consensus, error) {
// Start the watchCat.
log.Info("Starting sync watchCat ...")
+
b.watchCat.Start()
defer b.watchCat.Stop()
// Feed the current block we have in local blockchain.
cb := b.dex.blockchain.CurrentBlock()
- var block coreTypes.Block
- if err := rlp.DecodeBytes(cb.Header().DexconMeta, &block); err != nil {
- panic(err)
+
+ if cb.NumberU64() > 0 {
+ var block coreTypes.Block
+ if err := rlp.DecodeBytes(cb.Header().DexconMeta, &block); err != nil {
+ panic(err)
+ }
+ b.watchCat.Feed(block.Position)
}
- b.watchCat.Feed(block.Position)
blocksToSync := func(coreHeight, height uint64) []*coreTypes.Block {
var blocks []*coreTypes.Block