diff options
author | Felix Lange <fjl@twurst.com> | 2015-12-17 21:13:30 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2015-12-18 19:09:10 +0800 |
commit | 9be5d5cd90517244b239c6af4e602d898fafeaf7 (patch) | |
tree | 1c5b5ce8b26e2b5cbb399cd9d03e19e3307e9f6d /eth/downloader | |
parent | 2baf1de00df56dee47161ad763788a92693b9c29 (diff) | |
download | go-tangerine-9be5d5cd90517244b239c6af4e602d898fafeaf7.tar.gz go-tangerine-9be5d5cd90517244b239c6af4e602d898fafeaf7.tar.zst go-tangerine-9be5d5cd90517244b239c6af4e602d898fafeaf7.zip |
eth/downloader: fix negative balance issue in tests
The test chain generated by makeChainFork included invalid uncle
headers, crashing the generator during the state commit.
The headers were invalid because they used the iteration counter as the
block number, even though makeChainFork uses a block with number > 0 as
the parent. Fix this by introducing BlockGen.Number, which allows
accessing the actual number of the block being generated.
Diffstat (limited to 'eth/downloader')
-rw-r--r-- | eth/downloader/downloader_test.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/eth/downloader/downloader_test.go b/eth/downloader/downloader_test.go index cfcc8a2ef..f02418a2f 100644 --- a/eth/downloader/downloader_test.go +++ b/eth/downloader/downloader_test.go @@ -61,8 +61,11 @@ func makeChain(n int, seed byte, parent *types.Block, parentReceipts types.Recei block.AddTx(tx) } // If the block number is a multiple of 5, add a bonus uncle to the block - if i%5 == 0 { - block.AddUncle(&types.Header{ParentHash: block.PrevBlock(i - 1).Hash(), Number: big.NewInt(int64(i - 1))}) + if i > 0 && i%5 == 0 { + block.AddUncle(&types.Header{ + ParentHash: block.PrevBlock(i - 1).Hash(), + Number: big.NewInt(block.Number().Int64() - 1), + }) } }) // Convert the block-chain into a hash-chain and header/block maps |