aboutsummaryrefslogtreecommitdiffstats
path: root/core/gen_genesis.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@users.noreply.github.com>2017-04-06 16:38:21 +0800
committerPéter Szilágyi <peterke@gmail.com>2017-04-06 16:38:21 +0800
commit3d8de95f999de6f52f0c1605eb2913278f1d87d2 (patch)
tree1906f5ec11dbbd304bb30f3e75c117727a4d1e79 /core/gen_genesis.go
parent24b9860c1bc214d2db943bc69117818311406bdb (diff)
downloaddexon-3d8de95f999de6f52f0c1605eb2913278f1d87d2.tar
dexon-3d8de95f999de6f52f0c1605eb2913278f1d87d2.tar.gz
dexon-3d8de95f999de6f52f0c1605eb2913278f1d87d2.tar.bz2
dexon-3d8de95f999de6f52f0c1605eb2913278f1d87d2.tar.lz
dexon-3d8de95f999de6f52f0c1605eb2913278f1d87d2.tar.xz
dexon-3d8de95f999de6f52f0c1605eb2913278f1d87d2.tar.zst
dexon-3d8de95f999de6f52f0c1605eb2913278f1d87d2.zip
core, core/types: regenerate JSON marshaling, add "hash" to headers (#13868)
* Makefile: fix devtools target * core: regenerate genesis marshaling with fjl/gencodec@cbfa5be5a8a8 * core/types: regenerate marshaling methods with fjl/gencodec@cbfa5be5a8a8 * core/types: add "hash" to JSON headers
Diffstat (limited to 'core/gen_genesis.go')
-rw-r--r--core/gen_genesis.go72
1 files changed, 35 insertions, 37 deletions
diff --git a/core/gen_genesis.go b/core/gen_genesis.go
index eb86567b7..3f83905c9 100644
--- a/core/gen_genesis.go
+++ b/core/gen_genesis.go
@@ -14,19 +14,19 @@ import (
)
func (g Genesis) MarshalJSON() ([]byte, error) {
- type GenesisJSON struct {
- Config *params.ChainConfig `json:"config" optional:"true"`
- Nonce math.HexOrDecimal64 `json:"nonce" optional:"true"`
- Timestamp math.HexOrDecimal64 `json:"timestamp" optional:"true"`
- ParentHash common.Hash `json:"parentHash" optional:"true"`
- ExtraData hexutil.Bytes `json:"extraData" optional:"true"`
- GasLimit math.HexOrDecimal64 `json:"gasLimit"`
- Difficulty *math.HexOrDecimal256 `json:"difficulty"`
- Mixhash common.Hash `json:"mixHash" optional:"true"`
- Coinbase common.Address `json:"coinbase" optional:"true"`
- Alloc map[common.UnprefixedAddress]GenesisAccount `json:"alloc"`
+ type Genesis struct {
+ Config *params.ChainConfig `json:"config"`
+ Nonce math.HexOrDecimal64 `json:"nonce"`
+ Timestamp math.HexOrDecimal64 `json:"timestamp"`
+ ParentHash common.Hash `json:"parentHash"`
+ ExtraData hexutil.Bytes `json:"extraData"`
+ GasLimit math.HexOrDecimal64 `json:"gasLimit" gencodec:"required"`
+ Difficulty *math.HexOrDecimal256 `json:"difficulty" gencodec:"required"`
+ Mixhash common.Hash `json:"mixHash"`
+ Coinbase common.Address `json:"coinbase"`
+ Alloc map[common.UnprefixedAddress]GenesisAccount `json:"alloc" gencodec:"required"`
}
- var enc GenesisJSON
+ var enc Genesis
enc.Config = g.Config
enc.Nonce = math.HexOrDecimal64(g.Nonce)
enc.Timestamp = math.HexOrDecimal64(g.Timestamp)
@@ -46,59 +46,57 @@ func (g Genesis) MarshalJSON() ([]byte, error) {
}
func (g *Genesis) UnmarshalJSON(input []byte) error {
- type GenesisJSON struct {
- Config *params.ChainConfig `json:"config" optional:"true"`
- Nonce *math.HexOrDecimal64 `json:"nonce" optional:"true"`
- Timestamp *math.HexOrDecimal64 `json:"timestamp" optional:"true"`
- ParentHash *common.Hash `json:"parentHash" optional:"true"`
- ExtraData hexutil.Bytes `json:"extraData" optional:"true"`
- GasLimit *math.HexOrDecimal64 `json:"gasLimit"`
- Difficulty *math.HexOrDecimal256 `json:"difficulty"`
- Mixhash *common.Hash `json:"mixHash" optional:"true"`
- Coinbase *common.Address `json:"coinbase" optional:"true"`
- Alloc map[common.UnprefixedAddress]GenesisAccount `json:"alloc"`
+ type Genesis struct {
+ Config *params.ChainConfig `json:"config"`
+ Nonce *math.HexOrDecimal64 `json:"nonce"`
+ Timestamp *math.HexOrDecimal64 `json:"timestamp"`
+ ParentHash *common.Hash `json:"parentHash"`
+ ExtraData hexutil.Bytes `json:"extraData"`
+ GasLimit *math.HexOrDecimal64 `json:"gasLimit" gencodec:"required"`
+ Difficulty *math.HexOrDecimal256 `json:"difficulty" gencodec:"required"`
+ Mixhash *common.Hash `json:"mixHash"`
+ Coinbase *common.Address `json:"coinbase"`
+ Alloc map[common.UnprefixedAddress]GenesisAccount `json:"alloc" gencodec:"required"`
}
- var dec GenesisJSON
+ var dec Genesis
if err := json.Unmarshal(input, &dec); err != nil {
return err
}
- var x Genesis
if dec.Config != nil {
- x.Config = dec.Config
+ g.Config = dec.Config
}
if dec.Nonce != nil {
- x.Nonce = uint64(*dec.Nonce)
+ g.Nonce = uint64(*dec.Nonce)
}
if dec.Timestamp != nil {
- x.Timestamp = uint64(*dec.Timestamp)
+ g.Timestamp = uint64(*dec.Timestamp)
}
if dec.ParentHash != nil {
- x.ParentHash = *dec.ParentHash
+ g.ParentHash = *dec.ParentHash
}
if dec.ExtraData != nil {
- x.ExtraData = dec.ExtraData
+ g.ExtraData = dec.ExtraData
}
if dec.GasLimit == nil {
return errors.New("missing required field 'gasLimit' for Genesis")
}
- x.GasLimit = uint64(*dec.GasLimit)
+ g.GasLimit = uint64(*dec.GasLimit)
if dec.Difficulty == nil {
return errors.New("missing required field 'difficulty' for Genesis")
}
- x.Difficulty = (*big.Int)(dec.Difficulty)
+ g.Difficulty = (*big.Int)(dec.Difficulty)
if dec.Mixhash != nil {
- x.Mixhash = *dec.Mixhash
+ g.Mixhash = *dec.Mixhash
}
if dec.Coinbase != nil {
- x.Coinbase = *dec.Coinbase
+ g.Coinbase = *dec.Coinbase
}
if dec.Alloc == nil {
return errors.New("missing required field 'alloc' for Genesis")
}
- x.Alloc = make(GenesisAlloc, len(dec.Alloc))
+ g.Alloc = make(GenesisAlloc, len(dec.Alloc))
for k, v := range dec.Alloc {
- x.Alloc[common.Address(k)] = v
+ g.Alloc[common.Address(k)] = v
}
- *g = x
return nil
}