go-ethereum/miner
vickkkkkyy b25080cac0
miner: account for generateWork elapsed time in payload rebuild timer (#33908)
The payload rebuild loop resets the timer with the full Recommit
duration after generateWork returns, making the actual interval
generateWork_elapsed + Recommit instead of Recommit alone.

Since fillTransactions uses Recommit (2s) as its timeout ceiling, the
effective rebuild interval can reach ~4s under heavy blob workloads —
only 1–2 rebuilds in a 6s half-slot window instead of the intended 3.

Fix by subtracting elapsed time from the timer reset.

### Before this fix

```
t=0s  timer fires, generateWork starts
t=2s  fillTransactions times out, timer.Reset(2s)
t=4s  second rebuild starts
t=6s  CL calls getPayload — gets the t=2s result (1 effective rebuild)
```

### After

```
t=0s  timer fires, generateWork starts
t=2s  fillTransactions times out, timer.Reset(2s - 2s = 0)
t=2s  second rebuild starts immediately
t=4s  timer.Reset(0), third rebuild starts
t=6s  CL calls getPayload — gets the t=4s result (3 effective rebuilds)
```
2026-03-03 00:01:55 +01:00
..
miner.go cmd/utils: fix dumpconfig (#33302) 2025-11-28 10:13:01 +01:00
miner_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
ordering.go core/txpool, eth, miner: retrieve plain and blob txs separately (#29026) 2024-02-20 11:37:23 +02:00
ordering_test.go core/txpool, miner: speed up blob pool pending retrievals (#29008) 2024-02-19 15:59:40 +02:00
payload_building.go miner: account for generateWork elapsed time in payload rebuild timer (#33908) 2026-03-03 00:01:55 +01:00
payload_building_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
pending.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
worker.go core/vm: implement eip-7843: SLOTNUM (#33589) 2026-02-26 13:53:46 +01:00