Skip to content

QA: disable 2 tests of ots_searchTransactionsAfter#21348

Merged
AskAlexSharov merged 1 commit into
mainfrom
lupin012/disable_2tests_ots_searchAfter
May 23, 2026
Merged

QA: disable 2 tests of ots_searchTransactionsAfter#21348
AskAlexSharov merged 1 commit into
mainfrom
lupin012/disable_2tests_ots_searchAfter

Conversation

@lupin012

Copy link
Copy Markdown
Contributor

The following tests have been disabled because their response changed after moving the TIP

@lupin012 lupin012 marked this pull request as ready for review May 21, 2026 21:31
@lupin012 lupin012 added this pull request to the merge queue May 22, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks May 22, 2026
@AskAlexSharov AskAlexSharov added this pull request to the merge queue May 23, 2026
Merged via the queue into main with commit ff47bb5 May 23, 2026
85 of 90 checks passed
@AskAlexSharov AskAlexSharov deleted the lupin012/disable_2tests_ots_searchAfter branch May 23, 2026 05:07
lupin012 added a commit that referenced this pull request May 31, 2026
… semantics fix to release/3.4 (#21507)

**[SharovBot]**

## Summary

Backport of PR #20043 (`rpc: fix debug_getModifiedAccountsByNumber/Hash
to match Geth semantics`) which was merged to `main` on 2026-03-26 but
never cherry-picked to `release/3.4`.

## Root cause

The `mainnet-rpc-integ-tests` CI job has been failing on `release/3.4`
with 37 tests failing:
- `debug_getModifiedAccountsByHash/test_01` through `test_19`
- `debug_getModifiedAccountsByNumber/test_01` through `test_19`

All these pass on `main` (confirmed from artifact comparison).

## Three bugs fixed

**1. Block range semantics** — adopted Geth's exclusive-start
convention:
- Single param N → cover exactly block N: `[Min(N), Max(N)+1)`
- Two params (S, E] → cover blocks S+1…E: `[Max(S)+1, Max(E)+1)`

**2. Storage-only modified accounts** — added a `StorageDomain` pass:
- In Geth's MPT, every storage write changes `storageRoot` in the
account node, so a trie diff automatically surfaces ALL modified
accounts including contracts with only storage changes.
- In Erigon's flat model, `AccountsDomain` and `StorageDomain` are
separate. A storage-only write leaves no trace in `AccountsDomain`. We
now iterate `StorageDomain` and union the results.

**3. Filters to match Geth output exactly:**
- Precompiles touched but unchanged (`bytes.Equal(preVal, postVal)`):
skip.
- Self-destructed accounts (`len(postVal) == 0`): excluded via
`deletedAddrs`.
- Storage slots of deleted accounts: skipped via `deletedAddrs`.

## Also

Disabled `ots_searchTransactionsAfter/test_11.json` and `test_12.json` —
these are tip-dependent tests whose expected values change as the chain
advances. Already disabled on `main` via PR #21348.

## Testing

- `go build ./rpc/...` passes cleanly
- All 37 previously failing tests expected to pass after this backport
(verified by comparing with passing main artifacts)
- Detected by `erigon-ci-monitor-release-3.4` cron monitoring job at
commit `4c7849ff`

---------

Co-authored-by: SharovBot <erigon-ci-bot@erigontech.io>
Co-authored-by: Giulio Rebuffo <giulio.rebuffo@gmail.com>
Co-authored-by: erigon-copilot[bot] <erigon-copilot[bot]@users.noreply.github.com>
Co-authored-by: Erigon CI Bot <erigon-ci-bot@erigon.tech>
Co-authored-by: lupin012 <58134934+lupin012@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants