Commit 9d1c662
[SharovBot] fix Amsterdam signer support and BAL non-determinism (#19434)
**[SharovBot]** Fix Amsterdam signer support and BAL non-determinism in
parallel execution
## Summary
- **Amsterdam signer**: Add Amsterdam fork handling in `MakeSigner` and
`LatestSigner` so that `setCode` and `blob` tx types are supported when
only `AmsterdamTime` is configured (without `PragueTime`).
- **BAL non-determinism (parallel execution)**: Fix multiple sources of
non-deterministic BAL (EIP-7928) hashes during parallel tx execution:
- Sort `ApplyVersionedWrites` output by (Address, Path, Key) for
deterministic application order
- Sync `WaitGroup` before block finalization to ensure all prior tx
state is applied to `pe.rs`
- Flush merged writes (execution + finalize) to the version map so later
tx finalizations see the full post-tx state
- Read coinbase balance from the version map (via
`versionedStateReader`) rather than a stale `pe.rs` snapshot
- Sync `CodeHash` in `getStateObject` when code is loaded from the
version map, preventing the "revert to original" optimization from
incorrectly deleting code writes
- **Atomic version map flush**: `FlushVersionedWrites` now holds a
single lock for all writes, preventing concurrent workers from observing
a partially-flushed state (e.g. seeing `AddressPath` but not the
corresponding `CodePath` from the same transaction)
## Test plan
- [x] `execution/tests` package compiles without errors
- [x] `TestExecutionSpecBlockchainDevnet/amsterdam` passes in a single
run
- [x] `TestExecutionSpecBlockchainDevnet/amsterdam` passes 30
consecutive times with `-count=1`
- [x] `TestExecutionSpecBlockchainDevnet/prague/eip7702` passes (no
regression)
Fixes CI job:
https://github.com/erigontech/erigon/actions/runs/22296091141/job/64492938121
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Mark Holt <135143369+mh0lt@users.noreply.github.com>
Co-authored-by: Andrew Ashikhmin <34320705+yperbasis@users.noreply.github.com>1 parent 99fa127 commit 9d1c662
File tree
5 files changed
+118
-11
lines changed- execution
- stagedsync
- state
5 files changed
+118
-11
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
45 | 56 | | |
46 | 57 | | |
47 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1095 | 1095 | | |
1096 | 1096 | | |
1097 | 1097 | | |
1098 | | - | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
1099 | 1105 | | |
1100 | 1106 | | |
1101 | 1107 | | |
| |||
1570 | 1576 | | |
1571 | 1577 | | |
1572 | 1578 | | |
1573 | | - | |
1574 | | - | |
1575 | | - | |
1576 | | - | |
1577 | | - | |
1578 | | - | |
1579 | | - | |
1580 | | - | |
1581 | | - | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
| 1594 | + | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + | |
1582 | 1602 | | |
1583 | 1603 | | |
1584 | 1604 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1551 | 1551 | | |
1552 | 1552 | | |
1553 | 1553 | | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
1554 | 1568 | | |
1555 | 1569 | | |
1556 | 1570 | | |
| |||
2360 | 2374 | | |
2361 | 2375 | | |
2362 | 2376 | | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
| 2391 | + | |
| 2392 | + | |
| 2393 | + | |
2363 | 2394 | | |
2364 | 2395 | | |
2365 | 2396 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
253 | 253 | | |
254 | 254 | | |
255 | 255 | | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
256 | 265 | | |
257 | 266 | | |
258 | 267 | | |
| |||
326 | 335 | | |
327 | 336 | | |
328 | 337 | | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
329 | 345 | | |
330 | 346 | | |
331 | 347 | | |
| |||
356 | 372 | | |
357 | 373 | | |
358 | 374 | | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
359 | 383 | | |
360 | 384 | | |
361 | 385 | | |
| |||
370 | 394 | | |
371 | 395 | | |
372 | 396 | | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
373 | 403 | | |
374 | 404 | | |
375 | 405 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
129 | 135 | | |
130 | 136 | | |
131 | 137 | | |
| |||
218 | 224 | | |
219 | 225 | | |
220 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
221 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
222 | 237 | | |
223 | 238 | | |
224 | 239 | | |
225 | 240 | | |
226 | | - | |
| 241 | + | |
227 | 242 | | |
228 | 243 | | |
229 | 244 | | |
| |||
0 commit comments