123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- // Code 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"
- )
- var _ = (*genesisAccountMarshaling)(nil)
- func (g GenesisAccount) MarshalJSON() ([]byte, error) {
- type GenesisAccount struct {
- Code hexutil.Bytes `json:"code,omitempty"`
- Storage map[storageJSON]storageJSON `json:"storage,omitempty"`
- Balance *math.HexOrDecimal256 `json:"balance" gencodec:"required"`
- Nonce math.HexOrDecimal64 `json:"nonce,omitempty"`
- PrivateKey hexutil.Bytes `json:"secretKey,omitempty"`
- }
- var enc GenesisAccount
- enc.Code = g.Code
- if g.Storage != nil {
- enc.Storage = make(map[storageJSON]storageJSON, len(g.Storage))
- for k, v := range g.Storage {
- enc.Storage[storageJSON(k)] = storageJSON(v)
- }
- }
- enc.Balance = (*math.HexOrDecimal256)(g.Balance)
- enc.Nonce = math.HexOrDecimal64(g.Nonce)
- enc.PrivateKey = g.PrivateKey
- return json.Marshal(&enc)
- }
- func (g *GenesisAccount) UnmarshalJSON(input []byte) error {
- type GenesisAccount struct {
- Code *hexutil.Bytes `json:"code,omitempty"`
- Storage map[storageJSON]storageJSON `json:"storage,omitempty"`
- Balance *math.HexOrDecimal256 `json:"balance" gencodec:"required"`
- Nonce *math.HexOrDecimal64 `json:"nonce,omitempty"`
- PrivateKey *hexutil.Bytes `json:"secretKey,omitempty"`
- }
- var dec GenesisAccount
- if err := json.Unmarshal(input, &dec); err != nil {
- return err
- }
- if dec.Code != nil {
- g.Code = *dec.Code
- }
- if dec.Storage != nil {
- g.Storage = make(map[common.Hash]common.Hash, len(dec.Storage))
- for k, v := range dec.Storage {
- g.Storage[common.Hash(k)] = common.Hash(v)
- }
- }
- if dec.Balance == nil {
- return errors.New("missing required field 'balance' for GenesisAccount")
- }
- g.Balance = (*big.Int)(dec.Balance)
- if dec.Nonce != nil {
- g.Nonce = uint64(*dec.Nonce)
- }
- if dec.PrivateKey != nil {
- g.PrivateKey = *dec.PrivateKey
- }
- return nil
- }
|