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  }