erigontech / erigontech/erigon
Remove ExecV3: End-to-end verification (build, lint, hive tests)
- Dominant language
- Go
- Stars
- 3.6k
- Forks
- 1.5k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 455
Description
## Sub-task of #19318
### Phase 4: Verification
Run the full verification suite to confirm the refactoring is correct:
```bash
# Unit tests
go test ./execution/types/... -run "TestBlockAccessList"
go test ./execution/execmodule/... -run "TestAssembleBlock"
go test ./execution/builder/builderstages/... -run "Test"
# Integration tests
go test ./execution/engineapi/... -run "TestEngineApi"
# Build + lint
make erigon && make integration && make lint
# Hive tests (full Engine API validation)
/hive-test engine
```
### Risk areas to validate
1. **txNum off-by-one** — `TestValidateChainWithLastTxNumOfBlockAtStepBoundary` catches this. Empty block test provides additional coverage.
2. **Double writes** — `FinalizeTx` + `CommitBlock` are complementary (journal cleared between them). Domain `Put` at different txNums creates separate entries.
3. **SharedDomains after builder** — Builder accumulates state in SharedDomains. Verify ForkValidator rolls back correctly if block is rejected or reorg happens.
4. **Simulation state isolation** — `simSd` (for `filterBadTransactions`) stays separate from main `sd`.
Contributor guide
Assessment
This issue has not been assessed yet.