aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei-Ning Huang <w@cobinhood.com>2018-10-16 10:37:01 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:50 +0800
commitd0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a (patch)
tree4a2eda3baf022e87845d7cc120e9986430e58076
parent04838f384450658d678e44c0f902c0eed9cd04bd (diff)
downloaddexon-d0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a.tar
dexon-d0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a.tar.gz
dexon-d0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a.tar.bz2
dexon-d0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a.tar.lz
dexon-d0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a.tar.xz
dexon-d0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a.tar.zst
dexon-d0d1869fa4f4a0a5c1ddc3d4b8d2899cca43fc6a.zip
core: fix nil map initialization
-rw-r--r--core/blockchain.go7
-rw-r--r--dex/app.go3
2 files changed, 9 insertions, 1 deletions
diff --git a/core/blockchain.go b/core/blockchain.go
index 88287a21d..8d90c9348 100644
--- a/core/blockchain.go
+++ b/core/blockchain.go
@@ -230,6 +230,9 @@ func (bc *BlockChain) AddConfirmedBlock(block *coreTypes.Block) {
defer bc.confirmedBlockMu.Unlock()
bc.confirmedBlock[block.Hash] = block
+ if bc.filteredConfirmedBlock[block.Position.ChainID] == nil {
+ bc.filteredConfirmedBlock[block.Position.ChainID] = make(map[coreCommon.Hash]*coreTypes.Block)
+ }
bc.filteredConfirmedBlock[block.Position.ChainID][block.Hash] = block
}
@@ -240,6 +243,10 @@ func (bc *BlockChain) RemoveConfirmedBlock(hash coreCommon.Hash) {
block := bc.confirmedBlock[hash]
delete(bc.filteredConfirmedBlock[block.Position.ChainID], block.Hash)
delete(bc.confirmedBlock, block.Hash)
+
+ if len(bc.filteredConfirmedBlock[block.Position.ChainID]) == 0 {
+ bc.filteredConfirmedBlock[block.Position.ChainID] = nil
+ }
}
func (bc *BlockChain) GetConfirmedBlockByHash(hash coreCommon.Hash) *coreTypes.Block {
diff --git a/dex/app.go b/dex/app.go
index 06b5a5381..1e97c4859 100644
--- a/dex/app.go
+++ b/dex/app.go
@@ -20,11 +20,12 @@ package dex
import (
"bytes"
"fmt"
- "github.com/dexon-foundation/dexon/log"
"math/big"
"sync"
"time"
+ "github.com/dexon-foundation/dexon/log"
+
coreCommon "github.com/dexon-foundation/dexon-consensus-core/common"
coreTypes "github.com/dexon-foundation/dexon-consensus-core/core/types"