aboutsummaryrefslogtreecommitdiffstats
path: root/eth/gen_config.go
blob: 178faf7cb79428eaa17a417ae7d8ecb10dcb677a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
// Code generated by github.com/fjl/gencodec. DO NOT EDIT.

package eth

import (
    "math/big"
    "time"

    "github.com/ethereum/go-ethereum/common"
    "github.com/ethereum/go-ethereum/consensus/ethash"
    "github.com/ethereum/go-ethereum/core"
    "github.com/ethereum/go-ethereum/eth/downloader"
    "github.com/ethereum/go-ethereum/eth/gasprice"
    "github.com/ethereum/go-ethereum/miner"
)

// MarshalTOML marshals as TOML.
func (c Config) MarshalTOML() (interface{}, error) {
    type Config struct {
        Genesis                 *core.Genesis `toml:",omitempty"`
        NetworkId               uint64
        SyncMode                downloader.SyncMode
        NoPruning               bool
        NoPrefetch              bool
        Whitelist               map[uint64]common.Hash `toml:"-"`
        LightServ               int                    `toml:",omitempty"`
        LightBandwidthIn        int                    `toml:",omitempty"`
        LightBandwidthOut       int                    `toml:",omitempty"`
        LightPeers              int                    `toml:",omitempty"`
        OnlyAnnounce            bool
        ULC                     *ULCConfig `toml:",omitempty"`
        SkipBcVersionCheck      bool       `toml:"-"`
        DatabaseHandles         int        `toml:"-"`
        DatabaseCache           int
        TrieCleanCache          int
        TrieDirtyCache          int
        TrieTimeout             time.Duration
        Miner                   miner.Config
        Ethash                  ethash.Config
        TxPool                  core.TxPoolConfig
        GPO                     gasprice.Config
        EnablePreimageRecording bool
        DocRoot                 string `toml:"-"`
        EWASMInterpreter        string
        EVMInterpreter          string
        ConstantinopleOverride  *big.Int
        RPCGasCap               *big.Int `toml:",omitempty"`
    }
    var enc Config
    enc.Genesis = c.Genesis
    enc.NetworkId = c.NetworkId
    enc.SyncMode = c.SyncMode
    enc.NoPruning = c.NoPruning
    enc.NoPrefetch = c.NoPrefetch
    enc.Whitelist = c.Whitelist
    enc.LightServ = c.LightServ
    enc.LightBandwidthIn = c.LightBandwidthIn
    enc.LightBandwidthOut = c.LightBandwidthOut
    enc.LightPeers = c.LightPeers
    enc.OnlyAnnounce = c.OnlyAnnounce
    enc.ULC = c.ULC
    enc.SkipBcVersionCheck = c.SkipBcVersionCheck
    enc.DatabaseHandles = c.DatabaseHandles
    enc.DatabaseCache = c.DatabaseCache
    enc.TrieCleanCache = c.TrieCleanCache
    enc.TrieDirtyCache = c.TrieDirtyCache
    enc.TrieTimeout = c.TrieTimeout
    enc.Miner = c.Miner
    enc.Ethash = c.Ethash
    enc.TxPool = c.TxPool
    enc.GPO = c.GPO
    enc.EnablePreimageRecording = c.EnablePreimageRecording
    enc.DocRoot = c.DocRoot
    enc.EWASMInterpreter = c.EWASMInterpreter
    enc.EVMInterpreter = c.EVMInterpreter
    enc.ConstantinopleOverride = c.ConstantinopleOverride
    enc.RPCGasCap = c.RPCGasCap
    return &enc, nil
}

// UnmarshalTOML unmarshals from TOML.
func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error {
    type Config struct {
        Genesis                 *core.Genesis `toml:",omitempty"`
        NetworkId               *uint64
        SyncMode                *downloader.SyncMode
        NoPruning               *bool
        NoPrefetch              *bool
        Whitelist               map[uint64]common.Hash `toml:"-"`
        LightServ               *int                   `toml:",omitempty"`
        LightBandwidthIn        *int                   `toml:",omitempty"`
        LightBandwidthOut       *int                   `toml:",omitempty"`
        LightPeers              *int                   `toml:",omitempty"`
        OnlyAnnounce            *bool
        ULC                     *ULCConfig `toml:",omitempty"`
        SkipBcVersionCheck      *bool      `toml:"-"`
        DatabaseHandles         *int       `toml:"-"`
        DatabaseCache           *int
        TrieCleanCache          *int
        TrieDirtyCache          *int
        TrieTimeout             *time.Duration
        Miner                   *miner.Config
        Ethash                  *ethash.Config
        TxPool                  *core.TxPoolConfig
        GPO                     *gasprice.Config
        EnablePreimageRecording *bool
        DocRoot                 *string `toml:"-"`
        EWASMInterpreter        *string
        EVMInterpreter          *string
        ConstantinopleOverride  *big.Int
        RPCGasCap               *big.Int `toml:",omitempty"`
    }
    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
    }
    if dec.NoPruning != nil {
        c.NoPruning = *dec.NoPruning
    }
    if dec.NoPrefetch != nil {
        c.NoPrefetch = *dec.NoPrefetch
    }
    if dec.Whitelist != nil {
        c.Whitelist = dec.Whitelist
    }
    if dec.LightServ != nil {
        c.LightServ = *dec.LightServ
    }
    if dec.LightBandwidthIn != nil {
        c.LightBandwidthIn = *dec.LightBandwidthIn
    }
    if dec.LightBandwidthOut != nil {
        c.LightBandwidthOut = *dec.LightBandwidthOut
    }
    if dec.LightPeers != nil {
        c.LightPeers = *dec.LightPeers
    }
    if dec.OnlyAnnounce != nil {
        c.OnlyAnnounce = *dec.OnlyAnnounce
    }
    if dec.ULC != nil {
        c.ULC = dec.ULC
    }
    if dec.SkipBcVersionCheck != nil {
        c.SkipBcVersionCheck = *dec.SkipBcVersionCheck
    }
    if dec.DatabaseHandles != nil {
        c.DatabaseHandles = *dec.DatabaseHandles
    }
    if dec.DatabaseCache != nil {
        c.DatabaseCache = *dec.DatabaseCache
    }
    if dec.TrieCleanCache != nil {
        c.TrieCleanCache = *dec.TrieCleanCache
    }
    if dec.TrieDirtyCache != nil {
        c.TrieDirtyCache = *dec.TrieDirtyCache
    }
    if dec.TrieTimeout != nil {
        c.TrieTimeout = *dec.TrieTimeout
    }
    if dec.Miner != nil {
        c.Miner = *dec.Miner
    }
    if dec.Ethash != nil {
        c.Ethash = *dec.Ethash
    }
    if dec.TxPool != nil {
        c.TxPool = *dec.TxPool
    }
    if dec.GPO != nil {
        c.GPO = *dec.GPO
    }
    if dec.EnablePreimageRecording != nil {
        c.EnablePreimageRecording = *dec.EnablePreimageRecording
    }
    if dec.DocRoot != nil {
        c.DocRoot = *dec.DocRoot
    }
    if dec.EWASMInterpreter != nil {
        c.EWASMInterpreter = *dec.EWASMInterpreter
    }
    if dec.EVMInterpreter != nil {
        c.EVMInterpreter = *dec.EVMInterpreter
    }
    if dec.ConstantinopleOverride != nil {
        c.ConstantinopleOverride = dec.ConstantinopleOverride
    }
    if dec.RPCGasCap != nil {
        c.RPCGasCap = dec.RPCGasCap
    }
    return nil
}