diff options
author | Péter Szilágyi <peterke@gmail.com> | 2015-08-15 02:25:41 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2015-08-25 22:48:47 +0800 |
commit | 47a7fe5d22fe2a6be783f6576070814fe951eaaf (patch) | |
tree | 61f2f691c6775fa5ae3547b8d769a709b7b3f04c /core | |
parent | ca88e18f59af84f34ad67da21fd27a6407eea87c (diff) | |
download | dexon-47a7fe5d22fe2a6be783f6576070814fe951eaaf.tar.gz dexon-47a7fe5d22fe2a6be783f6576070814fe951eaaf.tar.zst dexon-47a7fe5d22fe2a6be783f6576070814fe951eaaf.zip |
eth: port the synchronisation algo to eth/62
Diffstat (limited to 'core')
-rw-r--r-- | core/types/block.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/types/block.go b/core/types/block.go index 427a3e6cb..777ad9483 100644 --- a/core/types/block.go +++ b/core/types/block.go @@ -357,6 +357,20 @@ func (b *Block) WithMiningResult(nonce uint64, mixDigest common.Hash) *Block { } } +// WithBody returns a new block with the given transaction and uncle contents. +func (b *Block) WithBody(transactions []*Transaction, uncles []*Header) *Block { + block := &Block{ + header: copyHeader(b.header), + transactions: make([]*Transaction, len(transactions)), + uncles: make([]*Header, len(uncles)), + } + copy(block.transactions, transactions) + for i := range uncles { + block.uncles[i] = copyHeader(uncles[i]) + } + return block +} + // Implement pow.Block func (b *Block) Hash() common.Hash { |