erigontech / erigontech/erigon

Remove ExecV3: End-to-end verification (build, lint, hive tests)

Open
#19,636 1 comment 0 reactions 0 assignees View on GitHub
tech debt reduction
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.