From 47ff8130124b479f1f051312eed50c33f0a38e6f Mon Sep 17 00:00:00 2001 From: Bas van Kervel Date: Wed, 27 Jul 2016 17:47:46 +0200 Subject: rpc: refactor subscriptions and filters --- core/types/block.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'core') diff --git a/core/types/block.go b/core/types/block.go index 37b6f3ec1..599359247 100644 --- a/core/types/block.go +++ b/core/types/block.go @@ -114,6 +114,28 @@ func (h *Header) UnmarshalJSON(data []byte) error { return nil } +func (h *Header) MarshalJSON() ([]byte, error) { + fields := map[string]interface{}{ + "hash": h.Hash(), + "parentHash": h.ParentHash, + "number": fmt.Sprintf("%#x", h.Number), + "nonce": h.Nonce, + "receiptRoot": h.ReceiptHash, + "logsBloom": h.Bloom, + "sha3Uncles": h.UncleHash, + "stateRoot": h.Root, + "miner": h.Coinbase, + "difficulty": fmt.Sprintf("%#x", h.Difficulty), + "extraData": fmt.Sprintf("0x%x", h.Extra), + "gasLimit": fmt.Sprintf("%#x", h.GasLimit), + "gasUsed": fmt.Sprintf("%#x", h.GasUsed), + "timestamp": fmt.Sprintf("%#x", h.Time), + "transactionsRoot": h.TxHash, + } + + return json.Marshal(fields) +} + func rlpHash(x interface{}) (h common.Hash) { hw := sha3.NewKeccak256() rlp.Encode(hw, x) -- cgit