aboutsummaryrefslogtreecommitdiffstats
path: root/core/chain_manager_test.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2015-09-08 01:43:01 +0800
committerPéter Szilágyi <peterke@gmail.com>2015-09-11 22:42:25 +0800
commitcdc2662c4098d68a7b450b9b9ff2688acbffcee4 (patch)
tree2dfb3b7365895203132bd6d1aa650b5a239b01eb /core/chain_manager_test.go
parent2b339cbbd8bb475d2195d54a71dcced700003430 (diff)
downloadgo-tangerine-cdc2662c4098d68a7b450b9b9ff2688acbffcee4.tar.gz
go-tangerine-cdc2662c4098d68a7b450b9b9ff2688acbffcee4.tar.zst
go-tangerine-cdc2662c4098d68a7b450b9b9ff2688acbffcee4.zip
core: split out TD from database and all internals
Diffstat (limited to 'core/chain_manager_test.go')
-rw-r--r--core/chain_manager_test.go14
1 files changed, 5 insertions, 9 deletions
diff --git a/core/chain_manager_test.go b/core/chain_manager_test.go
index 97e7cacdc..a20480de8 100644
--- a/core/chain_manager_test.go
+++ b/core/chain_manager_test.go
@@ -77,6 +77,7 @@ func testFork(t *testing.T, bman *BlockProcessor, i, N int, f func(td1, td2 *big
bi1 := bman.bc.GetBlockByNumber(uint64(i)).Hash()
bi2 := bman2.bc.GetBlockByNumber(uint64(i)).Hash()
if bi1 != bi2 {
+ fmt.Printf("%+v\n%+v\n\n", bi1, bi2)
t.Fatal("chains do not have the same hash at height", i)
}
bman2.bc.SetProcessor(bman2)
@@ -110,7 +111,6 @@ func printChain(bc *ChainManager) {
// process blocks against a chain
func testChain(chainB types.Blocks, bman *BlockProcessor) (*big.Int, error) {
- td := new(big.Int)
for _, block := range chainB {
_, _, err := bman.bc.processor.Process(block)
if err != nil {
@@ -119,17 +119,12 @@ func testChain(chainB types.Blocks, bman *BlockProcessor) (*big.Int, error) {
}
return nil, err
}
- parent := bman.bc.GetBlock(block.ParentHash())
- block.Td = CalcTD(block, parent)
- td = block.Td
-
bman.bc.mu.Lock()
- {
- WriteBlock(bman.bc.chainDb, block)
- }
+ WriteTd(bman.bc.chainDb, block.Hash(), new(big.Int).Add(block.Difficulty(), bman.bc.GetTd(block.ParentHash())))
+ WriteBlock(bman.bc.chainDb, block)
bman.bc.mu.Unlock()
}
- return td, nil
+ return bman.bc.GetTd(chainB[len(chainB)-1].Hash()), nil
}
func loadChain(fn string, t *testing.T) (types.Blocks, error) {
@@ -391,6 +386,7 @@ func chm(genesis *types.Block, db common.Database) *ChainManager {
bc.headerCache, _ = lru.New(100)
bc.bodyCache, _ = lru.New(100)
bc.bodyRLPCache, _ = lru.New(100)
+ bc.tdCache, _ = lru.New(100)
bc.blockCache, _ = lru.New(100)
bc.futureBlocks, _ = lru.New(100)
bc.processor = bproc{}