123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- // Code generated by github.com/fjl/gencodec. DO NOT EDIT.
- package catalyst
- import (
- "encoding/json"
- "errors"
- "github.com/ethereum/go-ethereum/common"
- "github.com/ethereum/go-ethereum/common/hexutil"
- )
- var _ = (*executableDataMarshaling)(nil)
- // MarshalJSON marshals as JSON.
- func (e executableData) MarshalJSON() ([]byte, error) {
- type executableData struct {
- BlockHash common.Hash `json:"blockHash" gencodec:"required"`
- ParentHash common.Hash `json:"parentHash" gencodec:"required"`
- Miner common.Address `json:"miner" gencodec:"required"`
- StateRoot common.Hash `json:"stateRoot" gencodec:"required"`
- Number hexutil.Uint64 `json:"number" gencodec:"required"`
- GasLimit hexutil.Uint64 `json:"gasLimit" gencodec:"required"`
- GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"`
- Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"`
- ReceiptRoot common.Hash `json:"receiptsRoot" gencodec:"required"`
- LogsBloom hexutil.Bytes `json:"logsBloom" gencodec:"required"`
- Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"`
- }
- var enc executableData
- enc.BlockHash = e.BlockHash
- enc.ParentHash = e.ParentHash
- enc.Miner = e.Miner
- enc.StateRoot = e.StateRoot
- enc.Number = hexutil.Uint64(e.Number)
- enc.GasLimit = hexutil.Uint64(e.GasLimit)
- enc.GasUsed = hexutil.Uint64(e.GasUsed)
- enc.Timestamp = hexutil.Uint64(e.Timestamp)
- enc.ReceiptRoot = e.ReceiptRoot
- enc.LogsBloom = e.LogsBloom
- if e.Transactions != nil {
- enc.Transactions = make([]hexutil.Bytes, len(e.Transactions))
- for k, v := range e.Transactions {
- enc.Transactions[k] = v
- }
- }
- return json.Marshal(&enc)
- }
- // UnmarshalJSON unmarshals from JSON.
- func (e *executableData) UnmarshalJSON(input []byte) error {
- type executableData struct {
- BlockHash *common.Hash `json:"blockHash" gencodec:"required"`
- ParentHash *common.Hash `json:"parentHash" gencodec:"required"`
- Miner *common.Address `json:"miner" gencodec:"required"`
- StateRoot *common.Hash `json:"stateRoot" gencodec:"required"`
- Number *hexutil.Uint64 `json:"number" gencodec:"required"`
- GasLimit *hexutil.Uint64 `json:"gasLimit" gencodec:"required"`
- GasUsed *hexutil.Uint64 `json:"gasUsed" gencodec:"required"`
- Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"`
- ReceiptRoot *common.Hash `json:"receiptsRoot" gencodec:"required"`
- LogsBloom *hexutil.Bytes `json:"logsBloom" gencodec:"required"`
- Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"`
- }
- var dec executableData
- if err := json.Unmarshal(input, &dec); err != nil {
- return err
- }
- if dec.BlockHash == nil {
- return errors.New("missing required field 'blockHash' for executableData")
- }
- e.BlockHash = *dec.BlockHash
- if dec.ParentHash == nil {
- return errors.New("missing required field 'parentHash' for executableData")
- }
- e.ParentHash = *dec.ParentHash
- if dec.Miner == nil {
- return errors.New("missing required field 'miner' for executableData")
- }
- e.Miner = *dec.Miner
- if dec.StateRoot == nil {
- return errors.New("missing required field 'stateRoot' for executableData")
- }
- e.StateRoot = *dec.StateRoot
- if dec.Number == nil {
- return errors.New("missing required field 'number' for executableData")
- }
- e.Number = uint64(*dec.Number)
- if dec.GasLimit == nil {
- return errors.New("missing required field 'gasLimit' for executableData")
- }
- e.GasLimit = uint64(*dec.GasLimit)
- if dec.GasUsed == nil {
- return errors.New("missing required field 'gasUsed' for executableData")
- }
- e.GasUsed = uint64(*dec.GasUsed)
- if dec.Timestamp == nil {
- return errors.New("missing required field 'timestamp' for executableData")
- }
- e.Timestamp = uint64(*dec.Timestamp)
- if dec.ReceiptRoot == nil {
- return errors.New("missing required field 'receiptsRoot' for executableData")
- }
- e.ReceiptRoot = *dec.ReceiptRoot
- if dec.LogsBloom == nil {
- return errors.New("missing required field 'logsBloom' for executableData")
- }
- e.LogsBloom = *dec.LogsBloom
- if dec.Transactions == nil {
- return errors.New("missing required field 'transactions' for executableData")
- }
- e.Transactions = make([][]byte, len(dec.Transactions))
- for k, v := range dec.Transactions {
- e.Transactions[k] = v
- }
- return nil
- }
|