| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- // Code generated by github.com/fjl/gencodec. DO NOT EDIT.
- package t8ntool
- import (
- "encoding/json"
- "errors"
- "math/big"
- "github.com/ethereum/go-ethereum/common"
- "github.com/ethereum/go-ethereum/common/hexutil"
- "github.com/ethereum/go-ethereum/common/math"
- "github.com/ethereum/go-ethereum/core/types"
- )
- var _ = (*headerMarshaling)(nil)
- // MarshalJSON marshals as JSON.
- func (h header) MarshalJSON() ([]byte, error) {
- type header struct {
- ParentHash common.Hash `json:"parentHash"`
- OmmerHash *common.Hash `json:"sha3Uncles"`
- Coinbase *common.Address `json:"miner"`
- Root common.Hash `json:"stateRoot" gencodec:"required"`
- TxHash *common.Hash `json:"transactionsRoot"`
- ReceiptHash *common.Hash `json:"receiptsRoot"`
- Bloom types.Bloom `json:"logsBloom"`
- Difficulty *math.HexOrDecimal256 `json:"difficulty"`
- Number *math.HexOrDecimal256 `json:"number" gencodec:"required"`
- GasLimit math.HexOrDecimal64 `json:"gasLimit" gencodec:"required"`
- GasUsed math.HexOrDecimal64 `json:"gasUsed"`
- Time math.HexOrDecimal64 `json:"timestamp" gencodec:"required"`
- Extra hexutil.Bytes `json:"extraData"`
- MixDigest common.Hash `json:"mixHash"`
- Nonce *types.BlockNonce `json:"nonce"`
- BaseFee *math.HexOrDecimal256 `json:"baseFeePerGas" rlp:"optional"`
- }
- var enc header
- enc.ParentHash = h.ParentHash
- enc.OmmerHash = h.OmmerHash
- enc.Coinbase = h.Coinbase
- enc.Root = h.Root
- enc.TxHash = h.TxHash
- enc.ReceiptHash = h.ReceiptHash
- enc.Bloom = h.Bloom
- enc.Difficulty = (*math.HexOrDecimal256)(h.Difficulty)
- enc.Number = (*math.HexOrDecimal256)(h.Number)
- enc.GasLimit = math.HexOrDecimal64(h.GasLimit)
- enc.GasUsed = math.HexOrDecimal64(h.GasUsed)
- enc.Time = math.HexOrDecimal64(h.Time)
- enc.Extra = h.Extra
- enc.MixDigest = h.MixDigest
- enc.Nonce = h.Nonce
- enc.BaseFee = (*math.HexOrDecimal256)(h.BaseFee)
- return json.Marshal(&enc)
- }
- // UnmarshalJSON unmarshals from JSON.
- func (h *header) UnmarshalJSON(input []byte) error {
- type header struct {
- ParentHash *common.Hash `json:"parentHash"`
- OmmerHash *common.Hash `json:"sha3Uncles"`
- Coinbase *common.Address `json:"miner"`
- Root *common.Hash `json:"stateRoot" gencodec:"required"`
- TxHash *common.Hash `json:"transactionsRoot"`
- ReceiptHash *common.Hash `json:"receiptsRoot"`
- Bloom *types.Bloom `json:"logsBloom"`
- Difficulty *math.HexOrDecimal256 `json:"difficulty"`
- Number *math.HexOrDecimal256 `json:"number" gencodec:"required"`
- GasLimit *math.HexOrDecimal64 `json:"gasLimit" gencodec:"required"`
- GasUsed *math.HexOrDecimal64 `json:"gasUsed"`
- Time *math.HexOrDecimal64 `json:"timestamp" gencodec:"required"`
- Extra *hexutil.Bytes `json:"extraData"`
- MixDigest *common.Hash `json:"mixHash"`
- Nonce *types.BlockNonce `json:"nonce"`
- BaseFee *math.HexOrDecimal256 `json:"baseFeePerGas" rlp:"optional"`
- }
- var dec header
- if err := json.Unmarshal(input, &dec); err != nil {
- return err
- }
- if dec.ParentHash != nil {
- h.ParentHash = *dec.ParentHash
- }
- if dec.OmmerHash != nil {
- h.OmmerHash = dec.OmmerHash
- }
- if dec.Coinbase != nil {
- h.Coinbase = dec.Coinbase
- }
- if dec.Root == nil {
- return errors.New("missing required field 'stateRoot' for header")
- }
- h.Root = *dec.Root
- if dec.TxHash != nil {
- h.TxHash = dec.TxHash
- }
- if dec.ReceiptHash != nil {
- h.ReceiptHash = dec.ReceiptHash
- }
- if dec.Bloom != nil {
- h.Bloom = *dec.Bloom
- }
- if dec.Difficulty != nil {
- h.Difficulty = (*big.Int)(dec.Difficulty)
- }
- if dec.Number == nil {
- return errors.New("missing required field 'number' for header")
- }
- h.Number = (*big.Int)(dec.Number)
- if dec.GasLimit == nil {
- return errors.New("missing required field 'gasLimit' for header")
- }
- h.GasLimit = uint64(*dec.GasLimit)
- if dec.GasUsed != nil {
- h.GasUsed = uint64(*dec.GasUsed)
- }
- if dec.Time == nil {
- return errors.New("missing required field 'timestamp' for header")
- }
- h.Time = uint64(*dec.Time)
- if dec.Extra != nil {
- h.Extra = *dec.Extra
- }
- if dec.MixDigest != nil {
- h.MixDigest = *dec.MixDigest
- }
- if dec.Nonce != nil {
- h.Nonce = dec.Nonce
- }
- if dec.BaseFee != nil {
- h.BaseFee = (*big.Int)(dec.BaseFee)
- }
- return nil
- }
|