diff options
Diffstat (limited to 'core/blockchain.go')
-rw-r--r-- | core/blockchain.go | 7 |
1 files changed, 7 insertions, 0 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 { |