aboutsummaryrefslogtreecommitdiffstats
path: root/core/blockchain.go
diff options
context:
space:
mode:
authorBJ4 <bojie@dexon.org>2018-11-15 16:02:19 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:53 +0800
commit24e161879e478a589c8857a1b2fec66fa948d225 (patch)
treeaf407d2615b41ff4703cfa91f86708f6aced2ae7 /core/blockchain.go
parentb26e4c9adaa2952a63bf811f991a3e6fb9fc5646 (diff)
downloaddexon-24e161879e478a589c8857a1b2fec66fa948d225.tar
dexon-24e161879e478a589c8857a1b2fec66fa948d225.tar.gz
dexon-24e161879e478a589c8857a1b2fec66fa948d225.tar.bz2
dexon-24e161879e478a589c8857a1b2fec66fa948d225.tar.lz
dexon-24e161879e478a589c8857a1b2fec66fa948d225.tar.xz
dexon-24e161879e478a589c8857a1b2fec66fa948d225.tar.zst
dexon-24e161879e478a589c8857a1b2fec66fa948d225.zip
app: add cache to reuse same tx address which has already recovered (#26)
Diffstat (limited to 'core/blockchain.go')
-rw-r--r--core/blockchain.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/blockchain.go b/core/blockchain.go
index 4f3eefc1d..c364e57d2 100644
--- a/core/blockchain.go
+++ b/core/blockchain.go
@@ -249,6 +249,7 @@ func (bc *BlockChain) GetVMConfig() *vm.Config {
type blockInfo struct {
addresses map[common.Address]struct{}
block *coreTypes.Block
+ txs types.Transactions
}
func (bc *BlockChain) AddConfirmedBlock(block *coreTypes.Block) error {
@@ -298,6 +299,7 @@ func (bc *BlockChain) AddConfirmedBlock(block *coreTypes.Block) error {
bc.confirmedBlocks[chainID][block.Hash] = &blockInfo{
addresses: addressMap,
block: block,
+ txs: transactions,
}
bc.chainLastHeight[chainID] = block.Position.Height
return nil
@@ -317,8 +319,8 @@ func (bc *BlockChain) RemoveConfirmedBlock(chainID uint32, hash coreCommon.Hash)
delete(bc.confirmedBlocks[chainID], hash)
}
-func (bc *BlockChain) GetConfirmedBlockByHash(chainID uint32, hash coreCommon.Hash) *coreTypes.Block {
- return bc.confirmedBlocks[chainID][hash].block
+func (bc *BlockChain) GetConfirmedBlockByHash(chainID uint32, hash coreCommon.Hash) (*coreTypes.Block, types.Transactions) {
+ return bc.confirmedBlocks[chainID][hash].block, bc.confirmedBlocks[chainID][hash].txs
}
func (bc *BlockChain) GetLastNonceInConfirmedBlocks(chainID uint32, address common.Address) (uint64, bool) {