1 | 'use strict'
|
2 | const BlockHeader = require('./header')
|
3 | const ethUtil = require('ethereumjs-util')
|
4 |
|
5 | module.exports = blockHeaderFromRpc
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | function blockHeaderFromRpc (blockParams) {
|
12 | const blockHeader = new BlockHeader({
|
13 | parentHash: blockParams.parentHash,
|
14 | uncleHash: blockParams.sha3Uncles,
|
15 | coinbase: blockParams.miner,
|
16 | stateRoot: blockParams.stateRoot,
|
17 | transactionsTrie: blockParams.transactionsRoot,
|
18 | receiptTrie: blockParams.receiptRoot || blockParams.receiptsRoot || ethUtil.SHA3_NULL,
|
19 | bloom: blockParams.logsBloom,
|
20 | difficulty: blockParams.difficulty,
|
21 | number: blockParams.number,
|
22 | gasLimit: blockParams.gasLimit,
|
23 | gasUsed: blockParams.gasUsed,
|
24 | timestamp: blockParams.timestamp,
|
25 | extraData: blockParams.extraData,
|
26 | mixHash: blockParams.mixHash,
|
27 | nonce: blockParams.nonce,
|
28 | })
|
29 |
|
30 |
|
31 | blockHeader.hash = function () {
|
32 | return ethUtil.toBuffer(blockParams.hash)
|
33 | }
|
34 |
|
35 | return blockHeader
|
36 | }
|