(ctx *cli.Context, client *ethclient.Client, l1Contract, minerAddr common.Address, lg log.Logger)
| 136 | } |
| 137 | |
| 138 | func 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 |
no test coverage detected