2017-04-12 14:27:23 +00:00
|
|
|
// Code generated by github.com/fjl/gencodec. DO NOT EDIT.
|
|
|
|
|
2021-02-05 12:51:15 +00:00
|
|
|
package ethconfig
|
2017-04-12 14:27:23 +00:00
|
|
|
|
|
|
|
import (
|
2018-08-21 19:56:54 +00:00
|
|
|
"time"
|
2017-04-12 14:27:23 +00:00
|
|
|
|
|
|
|
"github.com/ethereum/go-ethereum/common"
|
2017-11-24 14:10:27 +00:00
|
|
|
"github.com/ethereum/go-ethereum/consensus/ethash"
|
2017-04-12 14:27:23 +00:00
|
|
|
"github.com/ethereum/go-ethereum/core"
|
2022-10-24 13:13:55 +00:00
|
|
|
"github.com/ethereum/go-ethereum/core/txpool"
|
2017-04-12 14:27:23 +00:00
|
|
|
"github.com/ethereum/go-ethereum/eth/downloader"
|
|
|
|
"github.com/ethereum/go-ethereum/eth/gasprice"
|
2019-04-23 07:08:51 +00:00
|
|
|
"github.com/ethereum/go-ethereum/miner"
|
2017-04-12 14:27:23 +00:00
|
|
|
)
|
|
|
|
|
2018-08-21 19:56:54 +00:00
|
|
|
// MarshalTOML marshals as TOML.
|
2017-04-12 14:27:23 +00:00
|
|
|
func (c Config) MarshalTOML() (interface{}, error) {
|
|
|
|
type Config struct {
|
2023-01-06 13:07:38 +00:00
|
|
|
Genesis *core.Genesis `toml:",omitempty"`
|
|
|
|
NetworkId uint64
|
|
|
|
SyncMode downloader.SyncMode
|
|
|
|
EthDiscoveryURLs []string
|
|
|
|
SnapDiscoveryURLs []string
|
|
|
|
NoPruning bool
|
|
|
|
NoPrefetch bool
|
|
|
|
TxLookupLimit uint64 `toml:",omitempty"`
|
|
|
|
RequiredBlocks map[uint64]common.Hash `toml:"-"`
|
|
|
|
LightServ int `toml:",omitempty"`
|
|
|
|
LightIngress int `toml:",omitempty"`
|
|
|
|
LightEgress int `toml:",omitempty"`
|
|
|
|
LightPeers int `toml:",omitempty"`
|
|
|
|
LightNoPrune bool `toml:",omitempty"`
|
|
|
|
LightNoSyncServe bool `toml:",omitempty"`
|
|
|
|
UltraLightServers []string `toml:",omitempty"`
|
|
|
|
UltraLightFraction int `toml:",omitempty"`
|
|
|
|
UltraLightOnlyAnnounce bool `toml:",omitempty"`
|
|
|
|
SkipBcVersionCheck bool `toml:"-"`
|
|
|
|
DatabaseHandles int `toml:"-"`
|
|
|
|
DatabaseCache int
|
|
|
|
DatabaseFreezer string
|
|
|
|
TrieCleanCache int
|
|
|
|
TrieCleanCacheJournal string `toml:",omitempty"`
|
|
|
|
TrieCleanCacheRejournal time.Duration `toml:",omitempty"`
|
|
|
|
TrieDirtyCache int
|
|
|
|
TrieTimeout time.Duration
|
|
|
|
SnapshotCache int
|
|
|
|
Preimages bool
|
|
|
|
FilterLogCacheSize int
|
|
|
|
Miner miner.Config
|
|
|
|
Ethash ethash.Config
|
|
|
|
TxPool txpool.Config
|
|
|
|
GPO gasprice.Config
|
|
|
|
EnablePreimageRecording bool
|
|
|
|
DocRoot string `toml:"-"`
|
|
|
|
RPCGasCap uint64
|
|
|
|
RPCEVMTimeout time.Duration
|
|
|
|
RPCTxFeeCap float64
|
2023-04-24 06:37:10 +00:00
|
|
|
OverrideShanghai *uint64 `toml:",omitempty"`
|
2017-04-12 14:27:23 +00:00
|
|
|
}
|
|
|
|
var enc Config
|
|
|
|
enc.Genesis = c.Genesis
|
|
|
|
enc.NetworkId = c.NetworkId
|
|
|
|
enc.SyncMode = c.SyncMode
|
2020-12-14 09:27:15 +00:00
|
|
|
enc.EthDiscoveryURLs = c.EthDiscoveryURLs
|
2021-01-19 09:52:45 +00:00
|
|
|
enc.SnapDiscoveryURLs = c.SnapDiscoveryURLs
|
2018-08-21 19:56:54 +00:00
|
|
|
enc.NoPruning = c.NoPruning
|
2019-04-23 07:08:51 +00:00
|
|
|
enc.NoPrefetch = c.NoPrefetch
|
2020-05-11 15:58:43 +00:00
|
|
|
enc.TxLookupLimit = c.TxLookupLimit
|
2022-05-04 16:55:17 +00:00
|
|
|
enc.RequiredBlocks = c.RequiredBlocks
|
2017-04-12 14:27:23 +00:00
|
|
|
enc.LightServ = c.LightServ
|
2019-07-10 05:54:06 +00:00
|
|
|
enc.LightIngress = c.LightIngress
|
|
|
|
enc.LightEgress = c.LightEgress
|
2017-04-12 14:27:23 +00:00
|
|
|
enc.LightPeers = c.LightPeers
|
2020-07-13 09:02:54 +00:00
|
|
|
enc.LightNoPrune = c.LightNoPrune
|
2021-02-25 12:55:07 +00:00
|
|
|
enc.LightNoSyncServe = c.LightNoSyncServe
|
2019-07-09 17:30:24 +00:00
|
|
|
enc.UltraLightServers = c.UltraLightServers
|
|
|
|
enc.UltraLightFraction = c.UltraLightFraction
|
|
|
|
enc.UltraLightOnlyAnnounce = c.UltraLightOnlyAnnounce
|
2017-04-12 14:27:23 +00:00
|
|
|
enc.SkipBcVersionCheck = c.SkipBcVersionCheck
|
|
|
|
enc.DatabaseHandles = c.DatabaseHandles
|
|
|
|
enc.DatabaseCache = c.DatabaseCache
|
all: on-chain oracle checkpoint syncing (#19543)
* all: implement simple checkpoint syncing
cmd, les, node: remove callback mechanism
cmd, node: remove callback definition
les: simplify the registrar
les: expose checkpoint rpc services in the light client
les, light: don't store untrusted receipt
cmd, contracts, les: discard stale checkpoint
cmd, contracts/registrar: loose restriction of registeration
cmd, contracts: add replay-protection
all: off-chain multi-signature contract
params: deploy checkpoint contract for rinkeby
cmd/registrar: add raw signing mode for registrar
cmd/registrar, contracts/registrar, les: fixed messages
* cmd/registrar, contracts/registrar: fix lints
* accounts/abi/bind, les: address comments
* cmd, contracts, les, light, params: minor checkpoint sync cleanups
* cmd, eth, les, light: move checkpoint config to config file
* cmd, eth, les, params: address comments
* eth, les, params: address comments
* cmd: polish up the checkpoint admin CLI
* cmd, contracts, params: deploy new version contract
* cmd/checkpoint-admin: add another flag for clef mode signing
* cmd, contracts, les: rename and regen checkpoint oracle with abigen
2019-06-28 07:34:02 +00:00
|
|
|
enc.DatabaseFreezer = c.DatabaseFreezer
|
2018-11-12 16:47:34 +00:00
|
|
|
enc.TrieCleanCache = c.TrieCleanCache
|
2020-07-28 13:30:31 +00:00
|
|
|
enc.TrieCleanCacheJournal = c.TrieCleanCacheJournal
|
|
|
|
enc.TrieCleanCacheRejournal = c.TrieCleanCacheRejournal
|
2018-11-12 16:47:34 +00:00
|
|
|
enc.TrieDirtyCache = c.TrieDirtyCache
|
2018-08-21 19:56:54 +00:00
|
|
|
enc.TrieTimeout = c.TrieTimeout
|
2020-06-17 07:46:31 +00:00
|
|
|
enc.SnapshotCache = c.SnapshotCache
|
2020-11-18 09:51:33 +00:00
|
|
|
enc.Preimages = c.Preimages
|
2022-08-19 09:14:59 +00:00
|
|
|
enc.FilterLogCacheSize = c.FilterLogCacheSize
|
2019-04-23 07:08:51 +00:00
|
|
|
enc.Miner = c.Miner
|
2018-01-08 12:15:57 +00:00
|
|
|
enc.Ethash = c.Ethash
|
2017-05-26 10:40:47 +00:00
|
|
|
enc.TxPool = c.TxPool
|
2017-04-12 14:27:23 +00:00
|
|
|
enc.GPO = c.GPO
|
|
|
|
enc.EnablePreimageRecording = c.EnablePreimageRecording
|
|
|
|
enc.DocRoot = c.DocRoot
|
2019-04-23 07:08:51 +00:00
|
|
|
enc.RPCGasCap = c.RPCGasCap
|
2021-10-12 08:46:04 +00:00
|
|
|
enc.RPCEVMTimeout = c.RPCEVMTimeout
|
2020-06-17 07:46:31 +00:00
|
|
|
enc.RPCTxFeeCap = c.RPCTxFeeCap
|
2023-01-06 13:07:38 +00:00
|
|
|
enc.OverrideShanghai = c.OverrideShanghai
|
2017-04-12 14:27:23 +00:00
|
|
|
return &enc, nil
|
|
|
|
}
|
|
|
|
|
2018-08-21 19:56:54 +00:00
|
|
|
// UnmarshalTOML unmarshals from TOML.
|
2017-04-12 14:27:23 +00:00
|
|
|
func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error {
|
|
|
|
type Config struct {
|
2023-01-06 13:07:38 +00:00
|
|
|
Genesis *core.Genesis `toml:",omitempty"`
|
|
|
|
NetworkId *uint64
|
|
|
|
SyncMode *downloader.SyncMode
|
|
|
|
EthDiscoveryURLs []string
|
|
|
|
SnapDiscoveryURLs []string
|
|
|
|
NoPruning *bool
|
|
|
|
NoPrefetch *bool
|
|
|
|
TxLookupLimit *uint64 `toml:",omitempty"`
|
|
|
|
RequiredBlocks map[uint64]common.Hash `toml:"-"`
|
|
|
|
LightServ *int `toml:",omitempty"`
|
|
|
|
LightIngress *int `toml:",omitempty"`
|
|
|
|
LightEgress *int `toml:",omitempty"`
|
|
|
|
LightPeers *int `toml:",omitempty"`
|
|
|
|
LightNoPrune *bool `toml:",omitempty"`
|
|
|
|
LightNoSyncServe *bool `toml:",omitempty"`
|
|
|
|
UltraLightServers []string `toml:",omitempty"`
|
|
|
|
UltraLightFraction *int `toml:",omitempty"`
|
|
|
|
UltraLightOnlyAnnounce *bool `toml:",omitempty"`
|
|
|
|
SkipBcVersionCheck *bool `toml:"-"`
|
|
|
|
DatabaseHandles *int `toml:"-"`
|
|
|
|
DatabaseCache *int
|
|
|
|
DatabaseFreezer *string
|
|
|
|
TrieCleanCache *int
|
|
|
|
TrieCleanCacheJournal *string `toml:",omitempty"`
|
|
|
|
TrieCleanCacheRejournal *time.Duration `toml:",omitempty"`
|
|
|
|
TrieDirtyCache *int
|
|
|
|
TrieTimeout *time.Duration
|
|
|
|
SnapshotCache *int
|
|
|
|
Preimages *bool
|
|
|
|
FilterLogCacheSize *int
|
|
|
|
Miner *miner.Config
|
|
|
|
Ethash *ethash.Config
|
|
|
|
TxPool *txpool.Config
|
|
|
|
GPO *gasprice.Config
|
|
|
|
EnablePreimageRecording *bool
|
|
|
|
DocRoot *string `toml:"-"`
|
|
|
|
RPCGasCap *uint64
|
|
|
|
RPCEVMTimeout *time.Duration
|
|
|
|
RPCTxFeeCap *float64
|
2023-04-24 06:37:10 +00:00
|
|
|
OverrideShanghai *uint64 `toml:",omitempty"`
|
2017-04-12 14:27:23 +00:00
|
|
|
}
|
|
|
|
var dec Config
|
|
|
|
if err := unmarshal(&dec); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
if dec.Genesis != nil {
|
|
|
|
c.Genesis = dec.Genesis
|
|
|
|
}
|
|
|
|
if dec.NetworkId != nil {
|
|
|
|
c.NetworkId = *dec.NetworkId
|
|
|
|
}
|
|
|
|
if dec.SyncMode != nil {
|
|
|
|
c.SyncMode = *dec.SyncMode
|
|
|
|
}
|
2020-12-14 09:27:15 +00:00
|
|
|
if dec.EthDiscoveryURLs != nil {
|
|
|
|
c.EthDiscoveryURLs = dec.EthDiscoveryURLs
|
2020-02-13 13:38:30 +00:00
|
|
|
}
|
2021-01-19 09:52:45 +00:00
|
|
|
if dec.SnapDiscoveryURLs != nil {
|
|
|
|
c.SnapDiscoveryURLs = dec.SnapDiscoveryURLs
|
|
|
|
}
|
2018-08-21 19:56:54 +00:00
|
|
|
if dec.NoPruning != nil {
|
|
|
|
c.NoPruning = *dec.NoPruning
|
|
|
|
}
|
2019-04-23 07:08:51 +00:00
|
|
|
if dec.NoPrefetch != nil {
|
|
|
|
c.NoPrefetch = *dec.NoPrefetch
|
|
|
|
}
|
2020-05-11 15:58:43 +00:00
|
|
|
if dec.TxLookupLimit != nil {
|
|
|
|
c.TxLookupLimit = *dec.TxLookupLimit
|
|
|
|
}
|
2022-05-04 16:55:17 +00:00
|
|
|
if dec.RequiredBlocks != nil {
|
|
|
|
c.RequiredBlocks = dec.RequiredBlocks
|
2019-04-23 07:08:51 +00:00
|
|
|
}
|
2017-04-12 14:27:23 +00:00
|
|
|
if dec.LightServ != nil {
|
|
|
|
c.LightServ = *dec.LightServ
|
|
|
|
}
|
2019-07-10 05:54:06 +00:00
|
|
|
if dec.LightIngress != nil {
|
|
|
|
c.LightIngress = *dec.LightIngress
|
2019-02-26 11:32:48 +00:00
|
|
|
}
|
2019-07-10 05:54:06 +00:00
|
|
|
if dec.LightEgress != nil {
|
|
|
|
c.LightEgress = *dec.LightEgress
|
2019-02-26 11:32:48 +00:00
|
|
|
}
|
2017-04-12 14:27:23 +00:00
|
|
|
if dec.LightPeers != nil {
|
|
|
|
c.LightPeers = *dec.LightPeers
|
|
|
|
}
|
2020-07-13 09:02:54 +00:00
|
|
|
if dec.LightNoPrune != nil {
|
|
|
|
c.LightNoPrune = *dec.LightNoPrune
|
|
|
|
}
|
2021-02-25 12:55:07 +00:00
|
|
|
if dec.LightNoSyncServe != nil {
|
|
|
|
c.LightNoSyncServe = *dec.LightNoSyncServe
|
|
|
|
}
|
2019-07-09 17:30:24 +00:00
|
|
|
if dec.UltraLightServers != nil {
|
|
|
|
c.UltraLightServers = dec.UltraLightServers
|
2019-01-24 11:18:26 +00:00
|
|
|
}
|
2019-07-09 17:30:24 +00:00
|
|
|
if dec.UltraLightFraction != nil {
|
|
|
|
c.UltraLightFraction = *dec.UltraLightFraction
|
|
|
|
}
|
|
|
|
if dec.UltraLightOnlyAnnounce != nil {
|
|
|
|
c.UltraLightOnlyAnnounce = *dec.UltraLightOnlyAnnounce
|
2019-01-24 11:18:26 +00:00
|
|
|
}
|
2017-04-12 14:27:23 +00:00
|
|
|
if dec.SkipBcVersionCheck != nil {
|
|
|
|
c.SkipBcVersionCheck = *dec.SkipBcVersionCheck
|
|
|
|
}
|
|
|
|
if dec.DatabaseHandles != nil {
|
|
|
|
c.DatabaseHandles = *dec.DatabaseHandles
|
|
|
|
}
|
|
|
|
if dec.DatabaseCache != nil {
|
|
|
|
c.DatabaseCache = *dec.DatabaseCache
|
|
|
|
}
|
all: on-chain oracle checkpoint syncing (#19543)
* all: implement simple checkpoint syncing
cmd, les, node: remove callback mechanism
cmd, node: remove callback definition
les: simplify the registrar
les: expose checkpoint rpc services in the light client
les, light: don't store untrusted receipt
cmd, contracts, les: discard stale checkpoint
cmd, contracts/registrar: loose restriction of registeration
cmd, contracts: add replay-protection
all: off-chain multi-signature contract
params: deploy checkpoint contract for rinkeby
cmd/registrar: add raw signing mode for registrar
cmd/registrar, contracts/registrar, les: fixed messages
* cmd/registrar, contracts/registrar: fix lints
* accounts/abi/bind, les: address comments
* cmd, contracts, les, light, params: minor checkpoint sync cleanups
* cmd, eth, les, light: move checkpoint config to config file
* cmd, eth, les, params: address comments
* eth, les, params: address comments
* cmd: polish up the checkpoint admin CLI
* cmd, contracts, params: deploy new version contract
* cmd/checkpoint-admin: add another flag for clef mode signing
* cmd, contracts, les: rename and regen checkpoint oracle with abigen
2019-06-28 07:34:02 +00:00
|
|
|
if dec.DatabaseFreezer != nil {
|
|
|
|
c.DatabaseFreezer = *dec.DatabaseFreezer
|
|
|
|
}
|
2018-11-12 16:47:34 +00:00
|
|
|
if dec.TrieCleanCache != nil {
|
|
|
|
c.TrieCleanCache = *dec.TrieCleanCache
|
|
|
|
}
|
2020-07-28 13:30:31 +00:00
|
|
|
if dec.TrieCleanCacheJournal != nil {
|
|
|
|
c.TrieCleanCacheJournal = *dec.TrieCleanCacheJournal
|
|
|
|
}
|
|
|
|
if dec.TrieCleanCacheRejournal != nil {
|
|
|
|
c.TrieCleanCacheRejournal = *dec.TrieCleanCacheRejournal
|
|
|
|
}
|
2018-11-12 16:47:34 +00:00
|
|
|
if dec.TrieDirtyCache != nil {
|
|
|
|
c.TrieDirtyCache = *dec.TrieDirtyCache
|
2018-08-21 19:56:54 +00:00
|
|
|
}
|
|
|
|
if dec.TrieTimeout != nil {
|
|
|
|
c.TrieTimeout = *dec.TrieTimeout
|
|
|
|
}
|
2020-06-17 07:46:31 +00:00
|
|
|
if dec.SnapshotCache != nil {
|
|
|
|
c.SnapshotCache = *dec.SnapshotCache
|
|
|
|
}
|
2020-11-18 09:51:33 +00:00
|
|
|
if dec.Preimages != nil {
|
|
|
|
c.Preimages = *dec.Preimages
|
|
|
|
}
|
2022-08-19 09:14:59 +00:00
|
|
|
if dec.FilterLogCacheSize != nil {
|
|
|
|
c.FilterLogCacheSize = *dec.FilterLogCacheSize
|
|
|
|
}
|
2019-04-23 07:08:51 +00:00
|
|
|
if dec.Miner != nil {
|
|
|
|
c.Miner = *dec.Miner
|
2018-08-28 13:59:05 +00:00
|
|
|
}
|
2018-01-08 12:15:57 +00:00
|
|
|
if dec.Ethash != nil {
|
|
|
|
c.Ethash = *dec.Ethash
|
2017-04-12 14:27:23 +00:00
|
|
|
}
|
2017-05-26 10:40:47 +00:00
|
|
|
if dec.TxPool != nil {
|
|
|
|
c.TxPool = *dec.TxPool
|
|
|
|
}
|
2017-04-12 14:27:23 +00:00
|
|
|
if dec.GPO != nil {
|
|
|
|
c.GPO = *dec.GPO
|
|
|
|
}
|
|
|
|
if dec.EnablePreimageRecording != nil {
|
|
|
|
c.EnablePreimageRecording = *dec.EnablePreimageRecording
|
|
|
|
}
|
|
|
|
if dec.DocRoot != nil {
|
|
|
|
c.DocRoot = *dec.DocRoot
|
|
|
|
}
|
2019-04-23 07:08:51 +00:00
|
|
|
if dec.RPCGasCap != nil {
|
2020-07-01 17:54:21 +00:00
|
|
|
c.RPCGasCap = *dec.RPCGasCap
|
2019-04-23 07:08:51 +00:00
|
|
|
}
|
2021-10-12 08:46:04 +00:00
|
|
|
if dec.RPCEVMTimeout != nil {
|
|
|
|
c.RPCEVMTimeout = *dec.RPCEVMTimeout
|
|
|
|
}
|
2020-06-17 07:46:31 +00:00
|
|
|
if dec.RPCTxFeeCap != nil {
|
|
|
|
c.RPCTxFeeCap = *dec.RPCTxFeeCap
|
|
|
|
}
|
2023-01-06 13:07:38 +00:00
|
|
|
if dec.OverrideShanghai != nil {
|
|
|
|
c.OverrideShanghai = dec.OverrideShanghai
|
2022-08-01 12:13:25 +00:00
|
|
|
}
|
2017-04-12 14:27:23 +00:00
|
|
|
return nil
|
|
|
|
}
|