| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- // generated by github.com/fjl/gencodec, do not edit.
- package core
- import (
- "encoding/json"
- "errors"
- "math/big"
- "github.com/ethereum/go-ethereum/common"
- "github.com/ethereum/go-ethereum/common/hexutil"
- "github.com/ethereum/go-ethereum/common/math"
- )
- func (g *GenesisAccount) MarshalJSON() ([]byte, error) {
- type GenesisAccountJSON struct {
- Code hexutil.Bytes `json:"code" optional:"true"`
- Storage map[common.Hash]common.Hash `json:"storage" optional:"true"`
- Balance *math.HexOrDecimal256 `json:"balance"`
- Nonce *math.HexOrDecimal64 `json:"nonce" optional:"true"`
- }
- var enc GenesisAccountJSON
- if g.Code != nil {
- enc.Code = g.Code
- }
- if g.Storage != nil {
- enc.Storage = g.Storage
- }
- enc.Balance = (*math.HexOrDecimal256)(g.Balance)
- enc.Nonce = (*math.HexOrDecimal64)(&g.Nonce)
- return json.Marshal(&enc)
- }
- func (g *GenesisAccount) UnmarshalJSON(input []byte) error {
- type GenesisAccountJSON struct {
- Code hexutil.Bytes `json:"code" optional:"true"`
- Storage map[common.Hash]common.Hash `json:"storage" optional:"true"`
- Balance *math.HexOrDecimal256 `json:"balance"`
- Nonce *math.HexOrDecimal64 `json:"nonce" optional:"true"`
- }
- var dec GenesisAccountJSON
- if err := json.Unmarshal(input, &dec); err != nil {
- return err
- }
- var x GenesisAccount
- if dec.Code != nil {
- x.Code = dec.Code
- }
- if dec.Storage != nil {
- x.Storage = dec.Storage
- }
- if dec.Balance == nil {
- return errors.New("missing required field 'balance' for GenesisAccount")
- }
- x.Balance = (*big.Int)(dec.Balance)
- if dec.Nonce != nil {
- x.Nonce = uint64(*dec.Nonce)
- }
- *g = x
- return nil
- }
|