MCPcopy Create free account
hub / github.com/ethstorage/es-node / NewMinerConfig

Function NewMinerConfig

cmd/es-node/config.go:138–223  ·  view source on GitHub ↗
(ctx *cli.Context, client *ethclient.Client, l1Contract, minerAddr common.Address, lg log.Logger)

Source from the content-addressed store, hash-verified

136}
137
138func NewMinerConfig(ctx *cli.Context, client *ethclient.Client, l1Contract, minerAddr common.Address, lg log.Logger) (*miner.Config, error) {
139 cliConfig := miner.ReadCLIConfig(ctx)
140 if !cliConfig.Enabled {
141 lg.Info("Miner is not enabled.")
142 return nil, nil
143 }
144 if minerAddr == (common.Address{}) {
145 return nil, fmt.Errorf("miner address cannot be empty")
146 }
147 lg.Debug("Read mining config from cli", "config", fmt.Sprintf("%+v", cliConfig))
148 err := cliConfig.Check()
149 if err != nil {
150 return nil, fmt.Errorf("invalid miner flags: %w", err)
151 }
152 minerConfig, err := cliConfig.ToMinerConfig()
153 if err != nil {
154 return nil, err
155 }
156
157 cctx := context.Background()
158 cr := newContractReader(cctx, client, l1Contract, lg)
159
160 randomChecks, err := cr.readUint("randomChecks")
161 if err != nil {
162 return nil, err
163 }
164 minerConfig.RandomChecks = randomChecks
165 nonceLimit, err := cr.readUint("nonceLimit")
166 if err != nil {
167 return nil, err
168 }
169 minerConfig.NonceLimit = nonceLimit
170 minimumDiff, err := cr.readBig("minimumDiff")
171 if err != nil {
172 return nil, err
173 }
174 minerConfig.MinimumDiff = minimumDiff
175 cutoff, err := cr.readBig("cutoff")
176 if err != nil {
177 return nil, err
178 }
179 minerConfig.Cutoff = cutoff
180 diffAdjDivisor, err := cr.readBig("diffAdjDivisor")
181 if err != nil {
182 return nil, err
183 }
184 minerConfig.DiffAdjDivisor = diffAdjDivisor
185 dcf, err := cr.readBig("dcfFactor")
186 if err != nil {
187 return nil, err
188 }
189 minerConfig.DcfFactor = dcf
190
191 startTime, err := cr.readUint("startTime")
192 if err != nil {
193 return nil, err
194 }
195 minerConfig.StartTime = startTime

Callers 1

NewConfigFunction · 0.85

Calls 7

ReadCLIConfigFunction · 0.92
newContractReaderFunction · 0.85
NewSignerConfigFunction · 0.85
ToMinerConfigMethod · 0.80
readUintMethod · 0.80
readBigMethod · 0.80
CheckMethod · 0.65

Tested by

no test coverage detected