github.com/codingfuture/orig-energi3@v0.8.4/core/gen_genesis_xfer.go (about) 1 // Code generated by github.com/fjl/gencodec. DO NOT EDIT. 2 3 package core 4 5 import ( 6 "encoding/json" 7 "errors" 8 "math/big" 9 10 "github.com/ethereum/go-ethereum/common" 11 "github.com/ethereum/go-ethereum/common/hexutil" 12 "github.com/ethereum/go-ethereum/common/math" 13 ) 14 15 var _ = (*genesisXferMarshaling)(nil) 16 17 // MarshalJSON marshals as JSON. 18 func (g GenesisXfer) MarshalJSON() ([]byte, error) { 19 type GenesisXfer struct { 20 Addr common.UnprefixedAddress `json:"addr" gencodec:"required"` 21 Code hexutil.Bytes `json:"code" gencodec:"required"` 22 Value *math.HexOrDecimal256 `json:"value,omitempty"` 23 } 24 var enc GenesisXfer 25 enc.Addr = common.UnprefixedAddress(g.Addr) 26 enc.Code = g.Code 27 enc.Value = (*math.HexOrDecimal256)(g.Value) 28 return json.Marshal(&enc) 29 } 30 31 // UnmarshalJSON unmarshals from JSON. 32 func (g *GenesisXfer) UnmarshalJSON(input []byte) error { 33 type GenesisXfer struct { 34 Addr *common.UnprefixedAddress `json:"addr" gencodec:"required"` 35 Code *hexutil.Bytes `json:"code" gencodec:"required"` 36 Value *math.HexOrDecimal256 `json:"value,omitempty"` 37 } 38 var dec GenesisXfer 39 if err := json.Unmarshal(input, &dec); err != nil { 40 return err 41 } 42 if dec.Addr == nil { 43 return errors.New("missing required field 'addr' for GenesisXfer") 44 } 45 g.Addr = common.Address(*dec.Addr) 46 if dec.Code == nil { 47 return errors.New("missing required field 'code' for GenesisXfer") 48 } 49 g.Code = *dec.Code 50 if dec.Value != nil { 51 g.Value = (*big.Int)(dec.Value) 52 } 53 return nil 54 }