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-03-12 12:19:09 +0800
commitd9ca16858f8c0edb02140d443ea62606ce7be579 (patch)
treef1b4bb1139564ca70b6ee3eacfb0818634a76a92
parenta7d394e8c08fe9ccadc06c287d680c0632f414d7 (diff)
downloaddexon-d9ca16858f8c0edb02140d443ea62606ce7be579.tar.gz
dexon-d9ca16858f8c0edb02140d443ea62606ce7be579.tar.zst
dexon-d9ca16858f8c0edb02140d443ea62606ce7be579.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 e8e1ac32c..fd579516d 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"