aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/chain_makers.go5
-rw-r--r--eth/downloader/downloader_test.go7
2 files changed, 10 insertions, 2 deletions
diff --git a/core/chain_makers.go b/core/chain_makers.go
index 4f6fa3989..5a8f380a3 100644
--- a/core/chain_makers.go
+++ b/core/chain_makers.go
@@ -104,6 +104,11 @@ func (b *BlockGen) AddTx(tx *types.Transaction) {
b.receipts = append(b.receipts, receipt)
}
+// Number returns the block number of the block being generated.
+func (b *BlockGen) Number() *big.Int {
+ return new(big.Int).Set(b.header.Number)
+}
+
// AddUncheckedReceipts forcefully adds a receipts to the block without a
// backing transaction.
//
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