From 3f7bf811b12eccabaa0e0d5b0e8b72f391daef69 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 4 Jan 2018 13:26:42 +0100 Subject: [PATCH] core/types, core/vm, eth, tests: regenerate gencodec files --- core/types/block.go | 4 +-- core/types/gen_header_json.go | 6 ++-- core/types/gen_log_json.go | 2 ++ core/types/gen_receipt_json.go | 2 ++ core/types/gen_tx_json.go | 2 ++ core/vm/gen_structlog.go | 30 +++++++++++-------- core/vm/logger.go | 20 +++++++++---- eth/gen_config.go | 54 ++++++---------------------------- tests/block_test_util.go | 4 +-- tests/gen_btheader.go | 4 +-- tests/gen_tttransaction.go | 2 +- 11 files changed, 57 insertions(+), 73 deletions(-) diff --git a/core/types/block.go b/core/types/block.go index 9be62b9e00..ffe3173427 100644 --- a/core/types/block.go +++ b/core/types/block.go @@ -89,8 +89,8 @@ type Header struct { type headerMarshaling struct { Difficulty *hexutil.Big Number *hexutil.Big - GasLimit *hexutil.Uint64 - GasUsed *hexutil.Uint64 + GasLimit hexutil.Uint64 + GasUsed hexutil.Uint64 Time *hexutil.Big Extra hexutil.Bytes Hash common.Hash `json:"hash"` // adds call to Hash() in MarshalJSON diff --git a/core/types/gen_header_json.go b/core/types/gen_header_json.go index 8af0591044..eacca1ba55 100644 --- a/core/types/gen_header_json.go +++ b/core/types/gen_header_json.go @@ -11,6 +11,8 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) +var _ = (*headerMarshaling)(nil) + func (h Header) MarshalJSON() ([]byte, error) { type Header struct { ParentHash common.Hash `json:"parentHash" gencodec:"required"` @@ -111,11 +113,11 @@ func (h *Header) UnmarshalJSON(input []byte) error { if dec.GasLimit == nil { return errors.New("missing required field 'gasLimit' for Header") } - h.GasLimit = (uint64)(*dec.GasLimit) + h.GasLimit = uint64(*dec.GasLimit) if dec.GasUsed == nil { return errors.New("missing required field 'gasUsed' for Header") } - h.GasUsed = (uint64)(*dec.GasUsed) + h.GasUsed = uint64(*dec.GasUsed) if dec.Time == nil { return errors.New("missing required field 'timestamp' for Header") } diff --git a/core/types/gen_log_json.go b/core/types/gen_log_json.go index 92c699c2a7..c9c2d3d25d 100644 --- a/core/types/gen_log_json.go +++ b/core/types/gen_log_json.go @@ -10,6 +10,8 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) +var _ = (*logMarshaling)(nil) + func (l Log) MarshalJSON() ([]byte, error) { type Log struct { Address common.Address `json:"address" gencodec:"required"` diff --git a/core/types/gen_receipt_json.go b/core/types/gen_receipt_json.go index 5209668746..1c9d8af93a 100644 --- a/core/types/gen_receipt_json.go +++ b/core/types/gen_receipt_json.go @@ -10,6 +10,8 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) +var _ = (*receiptMarshaling)(nil) + func (r Receipt) MarshalJSON() ([]byte, error) { type Receipt struct { PostState hexutil.Bytes `json:"root"` diff --git a/core/types/gen_tx_json.go b/core/types/gen_tx_json.go index a82822c36f..035c265404 100644 --- a/core/types/gen_tx_json.go +++ b/core/types/gen_tx_json.go @@ -11,6 +11,8 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" ) +var _ = (*txdataMarshaling)(nil) + func (t txdata) MarshalJSON() ([]byte, error) { type txdata struct { AccountNonce hexutil.Uint64 `json:"nonce" gencodec:"required"` diff --git a/core/vm/gen_structlog.go b/core/vm/gen_structlog.go index 88df942dcf..890c6624d4 100644 --- a/core/vm/gen_structlog.go +++ b/core/vm/gen_structlog.go @@ -11,19 +11,22 @@ import ( "github.com/ethereum/go-ethereum/common/math" ) +var _ = (*structLogMarshaling)(nil) + func (s StructLog) MarshalJSON() ([]byte, error) { type StructLog struct { - Pc uint64 `json:"pc"` - Op OpCode `json:"op"` - Gas math.HexOrDecimal64 `json:"gas"` - GasCost math.HexOrDecimal64 `json:"gasCost"` - Memory hexutil.Bytes `json:"memory"` - MemorySize int `json:"memSize"` - Stack []*math.HexOrDecimal256 `json:"stack"` - Storage map[common.Hash]common.Hash `json:"-"` - Depth int `json:"depth"` - Err error `json:"error"` - OpName string `json:"opName"` + Pc uint64 `json:"pc"` + Op OpCode `json:"op"` + Gas math.HexOrDecimal64 `json:"gas"` + GasCost math.HexOrDecimal64 `json:"gasCost"` + Memory hexutil.Bytes `json:"memory"` + MemorySize int `json:"memSize"` + Stack []*math.HexOrDecimal256 `json:"stack"` + Storage map[common.Hash]common.Hash `json:"-"` + Depth int `json:"depth"` + Err error `json:"-"` + OpName string `json:"opName"` + ErrorString string `json:"error"` } var enc StructLog enc.Pc = s.Pc @@ -42,6 +45,7 @@ func (s StructLog) MarshalJSON() ([]byte, error) { enc.Depth = s.Depth enc.Err = s.Err enc.OpName = s.OpName() + enc.ErrorString = s.ErrorString() return json.Marshal(&enc) } @@ -56,7 +60,7 @@ func (s *StructLog) UnmarshalJSON(input []byte) error { Stack []*math.HexOrDecimal256 `json:"stack"` Storage map[common.Hash]common.Hash `json:"-"` Depth *int `json:"depth"` - Err *error `json:"error"` + Err error `json:"-"` } var dec StructLog if err := json.Unmarshal(input, &dec); err != nil { @@ -93,7 +97,7 @@ func (s *StructLog) UnmarshalJSON(input []byte) error { s.Depth = *dec.Depth } if dec.Err != nil { - s.Err = *dec.Err + s.Err = dec.Err } return nil } diff --git a/core/vm/logger.go b/core/vm/logger.go index 1191814330..4c820d8b53 100644 --- a/core/vm/logger.go +++ b/core/vm/logger.go @@ -62,22 +62,30 @@ type StructLog struct { Stack []*big.Int `json:"stack"` Storage map[common.Hash]common.Hash `json:"-"` Depth int `json:"depth"` - Err error `json:"error"` + Err error `json:"-"` } // overrides for gencodec type structLogMarshaling struct { - Stack []*math.HexOrDecimal256 - Gas math.HexOrDecimal64 - GasCost math.HexOrDecimal64 - Memory hexutil.Bytes - OpName string `json:"opName"` + Stack []*math.HexOrDecimal256 + Gas math.HexOrDecimal64 + GasCost math.HexOrDecimal64 + Memory hexutil.Bytes + OpName string `json:"opName"` // adds call to OpName() in MarshalJSON + ErrorString string `json:"error"` // adds call to ErrorString() in MarshalJSON } func (s *StructLog) OpName() string { return s.Op.String() } +func (s *StructLog) ErrorString() string { + if s.Err != nil { + return s.Err.Error() + } + return "" +} + // Tracer is used to collect execution traces from an EVM transaction // execution. CaptureState is called for each step of the VM with the // current VM state. diff --git a/eth/gen_config.go b/eth/gen_config.go index e2d50e1f66..92cab57e14 100644 --- a/eth/gen_config.go +++ b/eth/gen_config.go @@ -13,6 +13,8 @@ import ( "github.com/ethereum/go-ethereum/eth/gasprice" ) +var _ = (*configMarshaling)(nil) + func (c Config) MarshalTOML() (interface{}, error) { type Config struct { Genesis *core.Genesis `toml:",omitempty"` @@ -20,7 +22,6 @@ func (c Config) MarshalTOML() (interface{}, error) { SyncMode downloader.SyncMode LightServ int `toml:",omitempty"` LightPeers int `toml:",omitempty"` - MaxPeers int `toml:"-"` SkipBcVersionCheck bool `toml:"-"` DatabaseHandles int `toml:"-"` DatabaseCache int @@ -28,17 +29,11 @@ func (c Config) MarshalTOML() (interface{}, error) { MinerThreads int `toml:",omitempty"` ExtraData hexutil.Bytes `toml:",omitempty"` GasPrice *big.Int - EthashCacheDir string - EthashCachesInMem int - EthashCachesOnDisk int - EthashDatasetDir string - EthashDatasetsInMem int - EthashDatasetsOnDisk int + Ethash ethash.Config TxPool core.TxPoolConfig GPO gasprice.Config EnablePreimageRecording bool - DocRoot string `toml:"-"` - PowMode ethash.Mode `toml:"-"` + DocRoot string `toml:"-"` } var enc Config enc.Genesis = c.Genesis @@ -53,17 +48,11 @@ func (c Config) MarshalTOML() (interface{}, error) { enc.MinerThreads = c.MinerThreads enc.ExtraData = c.ExtraData enc.GasPrice = c.GasPrice - enc.EthashCacheDir = c.Ethash.CacheDir - enc.EthashCachesInMem = c.Ethash.CachesInMem - enc.EthashCachesOnDisk = c.Ethash.CachesOnDisk - enc.EthashDatasetDir = c.Ethash.DatasetDir - enc.EthashDatasetsInMem = c.Ethash.DatasetsInMem - enc.EthashDatasetsOnDisk = c.Ethash.DatasetsOnDisk + enc.Ethash = c.Ethash enc.TxPool = c.TxPool enc.GPO = c.GPO enc.EnablePreimageRecording = c.EnablePreimageRecording enc.DocRoot = c.DocRoot - enc.PowMode = c.Ethash.PowMode return &enc, nil } @@ -74,7 +63,6 @@ func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error { SyncMode *downloader.SyncMode LightServ *int `toml:",omitempty"` LightPeers *int `toml:",omitempty"` - MaxPeers *int `toml:"-"` SkipBcVersionCheck *bool `toml:"-"` DatabaseHandles *int `toml:"-"` DatabaseCache *int @@ -82,17 +70,11 @@ func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error { MinerThreads *int `toml:",omitempty"` ExtraData hexutil.Bytes `toml:",omitempty"` GasPrice *big.Int - EthashCacheDir *string - EthashCachesInMem *int - EthashCachesOnDisk *int - EthashDatasetDir *string - EthashDatasetsInMem *int - EthashDatasetsOnDisk *int + Ethash *ethash.Config TxPool *core.TxPoolConfig GPO *gasprice.Config EnablePreimageRecording *bool - DocRoot *string `toml:"-"` - PowMode *ethash.Mode `toml:"-"` + DocRoot *string `toml:"-"` } var dec Config if err := unmarshal(&dec); err != nil { @@ -134,23 +116,8 @@ func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error { if dec.GasPrice != nil { c.GasPrice = dec.GasPrice } - if dec.EthashCacheDir != nil { - c.Ethash.CacheDir = *dec.EthashCacheDir - } - if dec.EthashCachesInMem != nil { - c.Ethash.CachesInMem = *dec.EthashCachesInMem - } - if dec.EthashCachesOnDisk != nil { - c.Ethash.CachesOnDisk = *dec.EthashCachesOnDisk - } - if dec.EthashDatasetDir != nil { - c.Ethash.DatasetDir = *dec.EthashDatasetDir - } - if dec.EthashDatasetsInMem != nil { - c.Ethash.DatasetsInMem = *dec.EthashDatasetsInMem - } - if dec.EthashDatasetsOnDisk != nil { - c.Ethash.DatasetsOnDisk = *dec.EthashDatasetsOnDisk + if dec.Ethash != nil { + c.Ethash = *dec.Ethash } if dec.TxPool != nil { c.TxPool = *dec.TxPool @@ -164,8 +131,5 @@ func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error { if dec.DocRoot != nil { c.DocRoot = *dec.DocRoot } - if dec.PowMode != nil { - c.Ethash.PowMode = *dec.PowMode - } return nil } diff --git a/tests/block_test_util.go b/tests/block_test_util.go index e2d1a0b43b..53a5f7fcc9 100644 --- a/tests/block_test_util.go +++ b/tests/block_test_util.go @@ -86,8 +86,8 @@ type btHeaderMarshaling struct { ExtraData hexutil.Bytes Number *math.HexOrDecimal256 Difficulty *math.HexOrDecimal256 - GasLimit *math.HexOrDecimal64 - GasUsed *math.HexOrDecimal64 + GasLimit math.HexOrDecimal64 + GasUsed math.HexOrDecimal64 Timestamp *math.HexOrDecimal256 } diff --git a/tests/gen_btheader.go b/tests/gen_btheader.go index 1be659ecb5..1e25765c47 100644 --- a/tests/gen_btheader.go +++ b/tests/gen_btheader.go @@ -47,8 +47,8 @@ func (b btHeader) MarshalJSON() ([]byte, error) { enc.UncleHash = b.UncleHash enc.ExtraData = b.ExtraData enc.Difficulty = (*math.HexOrDecimal256)(b.Difficulty) - enc.GasLimit = (math.HexOrDecimal64)(b.GasLimit) - enc.GasUsed = (math.HexOrDecimal64)(b.GasUsed) + enc.GasLimit = math.HexOrDecimal64(b.GasLimit) + enc.GasUsed = math.HexOrDecimal64(b.GasUsed) enc.Timestamp = (*math.HexOrDecimal256)(b.Timestamp) return json.Marshal(&enc) } diff --git a/tests/gen_tttransaction.go b/tests/gen_tttransaction.go index 840bdfdd81..dfdb042fc3 100644 --- a/tests/gen_tttransaction.go +++ b/tests/gen_tttransaction.go @@ -28,7 +28,7 @@ func (t ttTransaction) MarshalJSON() ([]byte, error) { } var enc ttTransaction enc.Data = t.Data - enc.GasLimit = (math.HexOrDecimal64)(t.GasLimit) + enc.GasLimit = math.HexOrDecimal64(t.GasLimit) enc.GasPrice = (*math.HexOrDecimal256)(t.GasPrice) enc.Nonce = math.HexOrDecimal64(t.Nonce) enc.Value = (*math.HexOrDecimal256)(t.Value)