gen_ed.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. // Code generated by github.com/fjl/gencodec. DO NOT EDIT.
  2. package catalyst
  3. import (
  4. "encoding/json"
  5. "errors"
  6. "github.com/ethereum/go-ethereum/common"
  7. "github.com/ethereum/go-ethereum/common/hexutil"
  8. )
  9. var _ = (*executableDataMarshaling)(nil)
  10. // MarshalJSON marshals as JSON.
  11. func (e executableData) MarshalJSON() ([]byte, error) {
  12. type executableData struct {
  13. BlockHash common.Hash `json:"blockHash" gencodec:"required"`
  14. ParentHash common.Hash `json:"parentHash" gencodec:"required"`
  15. Miner common.Address `json:"miner" gencodec:"required"`
  16. StateRoot common.Hash `json:"stateRoot" gencodec:"required"`
  17. Number hexutil.Uint64 `json:"number" gencodec:"required"`
  18. GasLimit hexutil.Uint64 `json:"gasLimit" gencodec:"required"`
  19. GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"`
  20. Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"`
  21. ReceiptRoot common.Hash `json:"receiptsRoot" gencodec:"required"`
  22. LogsBloom hexutil.Bytes `json:"logsBloom" gencodec:"required"`
  23. Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"`
  24. }
  25. var enc executableData
  26. enc.BlockHash = e.BlockHash
  27. enc.ParentHash = e.ParentHash
  28. enc.Miner = e.Miner
  29. enc.StateRoot = e.StateRoot
  30. enc.Number = hexutil.Uint64(e.Number)
  31. enc.GasLimit = hexutil.Uint64(e.GasLimit)
  32. enc.GasUsed = hexutil.Uint64(e.GasUsed)
  33. enc.Timestamp = hexutil.Uint64(e.Timestamp)
  34. enc.ReceiptRoot = e.ReceiptRoot
  35. enc.LogsBloom = e.LogsBloom
  36. if e.Transactions != nil {
  37. enc.Transactions = make([]hexutil.Bytes, len(e.Transactions))
  38. for k, v := range e.Transactions {
  39. enc.Transactions[k] = v
  40. }
  41. }
  42. return json.Marshal(&enc)
  43. }
  44. // UnmarshalJSON unmarshals from JSON.
  45. func (e *executableData) UnmarshalJSON(input []byte) error {
  46. type executableData struct {
  47. BlockHash *common.Hash `json:"blockHash" gencodec:"required"`
  48. ParentHash *common.Hash `json:"parentHash" gencodec:"required"`
  49. Miner *common.Address `json:"miner" gencodec:"required"`
  50. StateRoot *common.Hash `json:"stateRoot" gencodec:"required"`
  51. Number *hexutil.Uint64 `json:"number" gencodec:"required"`
  52. GasLimit *hexutil.Uint64 `json:"gasLimit" gencodec:"required"`
  53. GasUsed *hexutil.Uint64 `json:"gasUsed" gencodec:"required"`
  54. Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"`
  55. ReceiptRoot *common.Hash `json:"receiptsRoot" gencodec:"required"`
  56. LogsBloom *hexutil.Bytes `json:"logsBloom" gencodec:"required"`
  57. Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"`
  58. }
  59. var dec executableData
  60. if err := json.Unmarshal(input, &dec); err != nil {
  61. return err
  62. }
  63. if dec.BlockHash == nil {
  64. return errors.New("missing required field 'blockHash' for executableData")
  65. }
  66. e.BlockHash = *dec.BlockHash
  67. if dec.ParentHash == nil {
  68. return errors.New("missing required field 'parentHash' for executableData")
  69. }
  70. e.ParentHash = *dec.ParentHash
  71. if dec.Miner == nil {
  72. return errors.New("missing required field 'miner' for executableData")
  73. }
  74. e.Miner = *dec.Miner
  75. if dec.StateRoot == nil {
  76. return errors.New("missing required field 'stateRoot' for executableData")
  77. }
  78. e.StateRoot = *dec.StateRoot
  79. if dec.Number == nil {
  80. return errors.New("missing required field 'number' for executableData")
  81. }
  82. e.Number = uint64(*dec.Number)
  83. if dec.GasLimit == nil {
  84. return errors.New("missing required field 'gasLimit' for executableData")
  85. }
  86. e.GasLimit = uint64(*dec.GasLimit)
  87. if dec.GasUsed == nil {
  88. return errors.New("missing required field 'gasUsed' for executableData")
  89. }
  90. e.GasUsed = uint64(*dec.GasUsed)
  91. if dec.Timestamp == nil {
  92. return errors.New("missing required field 'timestamp' for executableData")
  93. }
  94. e.Timestamp = uint64(*dec.Timestamp)
  95. if dec.ReceiptRoot == nil {
  96. return errors.New("missing required field 'receiptsRoot' for executableData")
  97. }
  98. e.ReceiptRoot = *dec.ReceiptRoot
  99. if dec.LogsBloom == nil {
  100. return errors.New("missing required field 'logsBloom' for executableData")
  101. }
  102. e.LogsBloom = *dec.LogsBloom
  103. if dec.Transactions == nil {
  104. return errors.New("missing required field 'transactions' for executableData")
  105. }
  106. e.Transactions = make([][]byte, len(dec.Transactions))
  107. for k, v := range dec.Transactions {
  108. e.Transactions[k] = v
  109. }
  110. return nil
  111. }