From aa9a78e4639e8594849be3fa0f92d7f91f67d528 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Mon, 27 Mar 2017 11:52:39 +0200 Subject: [PATCH] core, core/types: use non-pointer receiver for Marshal* methods Regenerated with fjl/gencodec@1a75a2161009 Also add ,omitempty to optional GenesisAccount fields. --- core/gen_genesis.go | 66 +++++++++++++++++----------------- core/gen_genesis_account.go | 26 ++++++-------- core/genesis.go | 6 ++-- core/types/gen_header_json.go | 52 +++++++++++++-------------- core/types/gen_log_json.go | 36 +++++++++---------- core/types/gen_receipt_json.go | 24 ++++++------- core/types/gen_tx_json.go | 8 ++--- 7 files changed, 106 insertions(+), 112 deletions(-) diff --git a/core/gen_genesis.go b/core/gen_genesis.go index b5561ba454..eb86567b7b 100644 --- a/core/gen_genesis.go +++ b/core/gen_genesis.go @@ -1,4 +1,4 @@ -// generated by github.com/fjl/gencodec, do not edit. +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package core @@ -13,31 +13,29 @@ import ( "github.com/ethereum/go-ethereum/params" ) -func (g *Genesis) MarshalJSON() ([]byte, error) { +func (g Genesis) MarshalJSON() ([]byte, error) { type GenesisJSON struct { - ChainConfig *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"` + 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"` } var enc GenesisJSON - enc.ChainConfig = g.Config - enc.Nonce = (*math.HexOrDecimal64)(&g.Nonce) - enc.Timestamp = (*math.HexOrDecimal64)(&g.Timestamp) - enc.ParentHash = &g.ParentHash - if g.ExtraData != nil { - enc.ExtraData = g.ExtraData - } - enc.GasLimit = (*math.HexOrDecimal64)(&g.GasLimit) + enc.Config = g.Config + enc.Nonce = math.HexOrDecimal64(g.Nonce) + enc.Timestamp = math.HexOrDecimal64(g.Timestamp) + enc.ParentHash = g.ParentHash + enc.ExtraData = g.ExtraData + enc.GasLimit = math.HexOrDecimal64(g.GasLimit) enc.Difficulty = (*math.HexOrDecimal256)(g.Difficulty) - enc.Mixhash = &g.Mixhash - enc.Coinbase = &g.Coinbase + enc.Mixhash = g.Mixhash + enc.Coinbase = g.Coinbase if g.Alloc != nil { enc.Alloc = make(map[common.UnprefixedAddress]GenesisAccount, len(g.Alloc)) for k, v := range g.Alloc { @@ -49,24 +47,24 @@ func (g *Genesis) MarshalJSON() ([]byte, error) { func (g *Genesis) UnmarshalJSON(input []byte) error { type GenesisJSON struct { - ChainConfig *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"` + 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"` } var dec GenesisJSON if err := json.Unmarshal(input, &dec); err != nil { return err } var x Genesis - if dec.ChainConfig != nil { - x.Config = dec.ChainConfig + if dec.Config != nil { + x.Config = dec.Config } if dec.Nonce != nil { x.Nonce = uint64(*dec.Nonce) diff --git a/core/gen_genesis_account.go b/core/gen_genesis_account.go index 2dda122f27..8885603aa8 100644 --- a/core/gen_genesis_account.go +++ b/core/gen_genesis_account.go @@ -1,4 +1,4 @@ -// generated by github.com/fjl/gencodec, do not edit. +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package core @@ -12,31 +12,27 @@ import ( "github.com/ethereum/go-ethereum/common/math" ) -func (g *GenesisAccount) MarshalJSON() ([]byte, error) { +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"` + Code hexutil.Bytes `json:"code,omitempty" optional:"true"` + Storage map[common.Hash]common.Hash `json:"storage,omitempty" optional:"true"` Balance *math.HexOrDecimal256 `json:"balance"` - Nonce *math.HexOrDecimal64 `json:"nonce" optional:"true"` + Nonce math.HexOrDecimal64 `json:"nonce,omitempty" optional:"true"` } var enc GenesisAccountJSON - if g.Code != nil { - enc.Code = g.Code - } - if g.Storage != nil { - enc.Storage = g.Storage - } + enc.Code = g.Code + enc.Storage = g.Storage enc.Balance = (*math.HexOrDecimal256)(g.Balance) - enc.Nonce = (*math.HexOrDecimal64)(&g.Nonce) + 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"` + Code hexutil.Bytes `json:"code,omitempty" optional:"true"` + Storage map[common.Hash]common.Hash `json:"storage,omitempty" optional:"true"` Balance *math.HexOrDecimal256 `json:"balance"` - Nonce *math.HexOrDecimal64 `json:"nonce" optional:"true"` + Nonce *math.HexOrDecimal64 `json:"nonce,omitempty" optional:"true"` } var dec GenesisAccountJSON if err := json.Unmarshal(input, &dec); err != nil { diff --git a/core/genesis.go b/core/genesis.go index 08d4ae2d19..34725241ec 100644 --- a/core/genesis.go +++ b/core/genesis.go @@ -58,10 +58,10 @@ type GenesisAlloc map[common.Address]GenesisAccount // GenesisAccount is an account in the state of the genesis block. type GenesisAccount struct { - Code []byte `json:"code" optional:"true"` - Storage map[common.Hash]common.Hash `json:"storage" optional:"true"` + Code []byte `json:"code,omitempty" optional:"true"` + Storage map[common.Hash]common.Hash `json:"storage,omitempty" optional:"true"` Balance *big.Int `json:"balance"` - Nonce uint64 `json:"nonce" optional:"true"` + Nonce uint64 `json:"nonce,omitempty" optional:"true"` } // field type overrides for gencodec diff --git a/core/types/gen_header_json.go b/core/types/gen_header_json.go index 860622e6eb..91663d9d8c 100644 --- a/core/types/gen_header_json.go +++ b/core/types/gen_header_json.go @@ -1,4 +1,4 @@ -// generated by github.com/fjl/gencodec, do not edit. +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package types @@ -11,40 +11,40 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) -func (h *Header) MarshalJSON() ([]byte, error) { +func (h Header) MarshalJSON() ([]byte, error) { type HeaderJSON struct { - ParentHash *common.Hash `json:"parentHash"` - UncleHash *common.Hash `json:"sha3Uncles"` - Coinbase *common.Address `json:"miner"` - Root *common.Hash `json:"stateRoot"` - TxHash *common.Hash `json:"transactionsRoot"` - ReceiptHash *common.Hash `json:"receiptsRoot"` - Bloom *Bloom `json:"logsBloom"` - Difficulty *hexutil.Big `json:"difficulty"` - Number *hexutil.Big `json:"number"` - GasLimit *hexutil.Big `json:"gasLimit"` - GasUsed *hexutil.Big `json:"gasUsed"` - Time *hexutil.Big `json:"timestamp"` - Extra hexutil.Bytes `json:"extraData"` - MixDigest *common.Hash `json:"mixHash"` - Nonce *BlockNonce `json:"nonce"` + ParentHash common.Hash `json:"parentHash"` + UncleHash common.Hash `json:"sha3Uncles"` + Coinbase common.Address `json:"miner"` + Root common.Hash `json:"stateRoot"` + TxHash common.Hash `json:"transactionsRoot"` + ReceiptHash common.Hash `json:"receiptsRoot"` + Bloom Bloom `json:"logsBloom"` + Difficulty *hexutil.Big `json:"difficulty"` + Number *hexutil.Big `json:"number"` + GasLimit *hexutil.Big `json:"gasLimit"` + GasUsed *hexutil.Big `json:"gasUsed"` + Time *hexutil.Big `json:"timestamp"` + Extra hexutil.Bytes `json:"extraData"` + MixDigest common.Hash `json:"mixHash"` + Nonce BlockNonce `json:"nonce"` } var enc HeaderJSON - enc.ParentHash = &h.ParentHash - enc.UncleHash = &h.UncleHash - enc.Coinbase = &h.Coinbase - enc.Root = &h.Root - enc.TxHash = &h.TxHash - enc.ReceiptHash = &h.ReceiptHash - enc.Bloom = &h.Bloom + enc.ParentHash = h.ParentHash + enc.UncleHash = h.UncleHash + enc.Coinbase = h.Coinbase + enc.Root = h.Root + enc.TxHash = h.TxHash + enc.ReceiptHash = h.ReceiptHash + enc.Bloom = h.Bloom enc.Difficulty = (*hexutil.Big)(h.Difficulty) enc.Number = (*hexutil.Big)(h.Number) enc.GasLimit = (*hexutil.Big)(h.GasLimit) enc.GasUsed = (*hexutil.Big)(h.GasUsed) enc.Time = (*hexutil.Big)(h.Time) enc.Extra = h.Extra - enc.MixDigest = &h.MixDigest - enc.Nonce = &h.Nonce + enc.MixDigest = h.MixDigest + enc.Nonce = h.Nonce return json.Marshal(&enc) } diff --git a/core/types/gen_log_json.go b/core/types/gen_log_json.go index ef2cdfd890..5c8032953c 100644 --- a/core/types/gen_log_json.go +++ b/core/types/gen_log_json.go @@ -1,4 +1,4 @@ -// generated by github.com/fjl/gencodec, do not edit. +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package types @@ -10,28 +10,28 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) -func (l *Log) MarshalJSON() ([]byte, error) { +func (l Log) MarshalJSON() ([]byte, error) { type LogJSON struct { - Address *common.Address `json:"address"` - Topics []common.Hash `json:"topics"` - Data hexutil.Bytes `json:"data"` - BlockNumber *hexutil.Uint64 `json:"blockNumber" optional:"yes"` - TxHash *common.Hash `json:"transactionHash"` - TxIndex *hexutil.Uint `json:"transactionIndex"` - BlockHash *common.Hash `json:"blockHash" optional:"yes"` - Index *hexutil.Uint `json:"logIndex"` - Removed *bool `json:"removed" optional:"yes"` + Address common.Address `json:"address"` + Topics []common.Hash `json:"topics"` + Data hexutil.Bytes `json:"data"` + BlockNumber hexutil.Uint64 `json:"blockNumber" optional:"yes"` + TxHash common.Hash `json:"transactionHash"` + TxIndex hexutil.Uint `json:"transactionIndex"` + BlockHash common.Hash `json:"blockHash" optional:"yes"` + Index hexutil.Uint `json:"logIndex"` + Removed bool `json:"removed" optional:"yes"` } var enc LogJSON - enc.Address = &l.Address + enc.Address = l.Address enc.Topics = l.Topics enc.Data = l.Data - enc.BlockNumber = (*hexutil.Uint64)(&l.BlockNumber) - enc.TxHash = &l.TxHash - enc.TxIndex = (*hexutil.Uint)(&l.TxIndex) - enc.BlockHash = &l.BlockHash - enc.Index = (*hexutil.Uint)(&l.Index) - enc.Removed = &l.Removed + enc.BlockNumber = hexutil.Uint64(l.BlockNumber) + enc.TxHash = l.TxHash + enc.TxIndex = hexutil.Uint(l.TxIndex) + enc.BlockHash = l.BlockHash + enc.Index = hexutil.Uint(l.Index) + enc.Removed = l.Removed return json.Marshal(&enc) } diff --git a/core/types/gen_receipt_json.go b/core/types/gen_receipt_json.go index b9e9bee260..6583a8ec0b 100644 --- a/core/types/gen_receipt_json.go +++ b/core/types/gen_receipt_json.go @@ -1,4 +1,4 @@ -// generated by github.com/fjl/gencodec, do not edit. +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package types @@ -11,23 +11,23 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) -func (r *Receipt) MarshalJSON() ([]byte, error) { +func (r Receipt) MarshalJSON() ([]byte, error) { type ReceiptJSON struct { - PostState hexutil.Bytes `json:"root"` - CumulativeGasUsed *hexutil.Big `json:"cumulativeGasUsed"` - Bloom *Bloom `json:"logsBloom"` - Logs []*Log `json:"logs"` - TxHash *common.Hash `json:"transactionHash"` - ContractAddress *common.Address `json:"contractAddress" optional:"true"` - GasUsed *hexutil.Big `json:"gasUsed"` + PostState hexutil.Bytes `json:"root"` + CumulativeGasUsed *hexutil.Big `json:"cumulativeGasUsed"` + Bloom Bloom `json:"logsBloom"` + Logs []*Log `json:"logs"` + TxHash common.Hash `json:"transactionHash"` + ContractAddress common.Address `json:"contractAddress" optional:"true"` + GasUsed *hexutil.Big `json:"gasUsed"` } var enc ReceiptJSON enc.PostState = r.PostState enc.CumulativeGasUsed = (*hexutil.Big)(r.CumulativeGasUsed) - enc.Bloom = &r.Bloom + enc.Bloom = r.Bloom enc.Logs = r.Logs - enc.TxHash = &r.TxHash - enc.ContractAddress = &r.ContractAddress + enc.TxHash = r.TxHash + enc.ContractAddress = r.ContractAddress enc.GasUsed = (*hexutil.Big)(r.GasUsed) return json.Marshal(&enc) } diff --git a/core/types/gen_tx_json.go b/core/types/gen_tx_json.go index 8bbe629d70..0adcc59b58 100644 --- a/core/types/gen_tx_json.go +++ b/core/types/gen_tx_json.go @@ -1,4 +1,4 @@ -// generated by github.com/fjl/gencodec, do not edit. +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package types @@ -11,9 +11,9 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) -func (t *txdata) MarshalJSON() ([]byte, error) { +func (t txdata) MarshalJSON() ([]byte, error) { type txdataJSON struct { - AccountNonce *hexutil.Uint64 `json:"nonce"` + AccountNonce hexutil.Uint64 `json:"nonce"` Price *hexutil.Big `json:"gasPrice"` GasLimit *hexutil.Big `json:"gasLimit"` Recipient *common.Address `json:"to" optional:"yes" rlp:"nil"` @@ -25,7 +25,7 @@ func (t *txdata) MarshalJSON() ([]byte, error) { Hash *common.Hash `json:"hash" optional:"yes" rlp:"-"` } var enc txdataJSON - enc.AccountNonce = (*hexutil.Uint64)(&t.AccountNonce) + enc.AccountNonce = hexutil.Uint64(t.AccountNonce) enc.Price = (*hexutil.Big)(t.Price) enc.GasLimit = (*hexutil.Big)(t.GasLimit) enc.Recipient = t.Recipient