-
Notifications
You must be signed in to change notification settings - Fork 4
/
gen_block_json.go
69 lines (64 loc) · 2.11 KB
/
gen_block_json.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Code generated by github.com/fjl/gencodec. DO NOT EDIT.
package types
import (
"encoding/json"
"errors"
"github.com/LemoFoundationLtd/lemochain-go/chain/deputynode"
)
// MarshalJSON marshals as JSON.
func (b Block) MarshalJSON() ([]byte, error) {
type Block struct {
Header *Header `json:"header" gencodec:"required"`
Txs []*Transaction `json:"transactions" gencodec:"required"`
ChangeLogs []*ChangeLog `json:"changeLogs" gencodec:"required"`
Events []*Event `json:"events" gencodec:"required"`
Confirms []SignData `json:"confirms"`
DeputyNodes deputynode.DeputyNodes `json:"deputyNodes"`
}
var enc Block
enc.Header = b.Header
enc.Txs = b.Txs
enc.ChangeLogs = b.ChangeLogs
enc.Events = b.Events
enc.Confirms = b.Confirms
enc.DeputyNodes = b.DeputyNodes
return json.Marshal(&enc)
}
// UnmarshalJSON unmarshals from JSON.
func (b *Block) UnmarshalJSON(input []byte) error {
type Block struct {
Header *Header `json:"header" gencodec:"required"`
Txs []*Transaction `json:"transactions" gencodec:"required"`
ChangeLogs []*ChangeLog `json:"changeLogs" gencodec:"required"`
Events []*Event `json:"events" gencodec:"required"`
Confirms []SignData `json:"confirms"`
DeputyNodes *deputynode.DeputyNodes `json:"deputyNodes"`
}
var dec Block
if err := json.Unmarshal(input, &dec); err != nil {
return err
}
if dec.Header == nil {
return errors.New("missing required field 'header' for Block")
}
b.Header = dec.Header
if dec.Txs == nil {
return errors.New("missing required field 'transactions' for Block")
}
b.Txs = dec.Txs
if dec.ChangeLogs == nil {
return errors.New("missing required field 'changeLogs' for Block")
}
b.ChangeLogs = dec.ChangeLogs
if dec.Events == nil {
return errors.New("missing required field 'events' for Block")
}
b.Events = dec.Events
if dec.Confirms != nil {
b.Confirms = dec.Confirms
}
if dec.DeputyNodes != nil {
b.DeputyNodes = *dec.DeputyNodes
}
return nil
}