fix(indexer,qa): SDK 0.53 tx-search + v4 compat gaps (#292) #738

Merged
Brouie merged 1 commit from qa/292-indexer-sdk53-txsearch into main 2026-06-04 08:01:46 +00:00
Brouie commented 2026-06-04 02:36:09 +00:00 (Migrated from gitlab.com)

SDK 0.53 / terrad v4 compat gaps the LocalTerra image bump (#292) didn't cover. The indexer halted at block 1 on the new stack; two QA/genesis scripts also carried SDK<0.50 assumptions. Found during QA verification of #292.

indexer tx-search (the block-1 halt) — indexer/src/lcd

Three params removed/changed in cosmos-sdk 0.50, all confirmed live against terrad 4.0.1:

  • events= → removed; v4 returns HTTP 500 "query cannot be empty". Now query=.
  • pagination.offset/pagination.limit → silently ignored (every page refetched the first; a ≥100-tx block would loop to max_pages and halt). Now 1-based page=/limit=.
  • result count moved to top-level total (pagination is now null); #236's completeness guard was silently disabled. Now reads top-level total, falls back to pagination.total for v3.x LCDs.

Updated the 3 LCD wiremock tests to the SDK0.50 request/response shape (they were green against the old v3 shape = false confidence).

scripts/qa/verify-issue-238.sh

tx_return_amount() parsed the removed .logs[].events (empty on v4) → the L8 execute/sim parity check always failed. Now reads top-level .events with a .logs fallback.

docker/init-chain.sh

validate-genesis SIGSEGVs on v4 (x/genutil nil-deref with collected gentxs) and || echo WARNING swallowed it (dead safety net). Validates via jq instead.

Verification

  • cargo build --release clean; LCD mock tests 3/3.
  • Indexer restarted on the live v4 LocalTerra: syncs clean to chain tip (no halt), API serves 25 pairs, /overview 62 trades, per-pair OHLC/stats.
  • make test-contracts 412/0 (unaffected).

GitLab #292

SDK 0.53 / terrad v4 compat gaps the LocalTerra image bump (#292) didn't cover. The indexer halted at block 1 on the new stack; two QA/genesis scripts also carried SDK<0.50 assumptions. Found during QA verification of #292. ### indexer tx-search (the block-1 halt) — `indexer/src/lcd` Three params removed/changed in cosmos-sdk 0.50, all confirmed live against terrad 4.0.1: - `events=` → removed; v4 returns HTTP 500 "query cannot be empty". Now `query=`. - `pagination.offset`/`pagination.limit` → silently ignored (every page refetched the first; a ≥100-tx block would loop to max_pages and halt). Now 1-based `page=`/`limit=`. - result count moved to top-level `total` (`pagination` is now null); #236's completeness guard was silently disabled. Now reads top-level `total`, falls back to `pagination.total` for v3.x LCDs. Updated the 3 LCD wiremock tests to the SDK0.50 request/response shape (they were green against the old v3 shape = false confidence). ### `scripts/qa/verify-issue-238.sh` `tx_return_amount()` parsed the removed `.logs[].events` (empty on v4) → the L8 execute/sim parity check always failed. Now reads top-level `.events` with a `.logs` fallback. ### `docker/init-chain.sh` `validate-genesis` SIGSEGVs on v4 (x/genutil nil-deref with collected gentxs) and `|| echo WARNING` swallowed it (dead safety net). Validates via jq instead. ### Verification - `cargo build --release` clean; LCD mock tests 3/3. - Indexer restarted on the live v4 LocalTerra: syncs clean to chain tip (no halt), API serves 25 pairs, `/overview` 62 trades, per-pair OHLC/stats. - `make test-contracts` 412/0 (unaffected). GitLab #292
Brouie commented 2026-06-04 03:10:04 +00:00 (Migrated from gitlab.com)

mentioned in issue #278

mentioned in issue #278
Brouie commented 2026-06-04 03:29:28 +00:00 (Migrated from gitlab.com)

mentioned in issue #288

mentioned in issue #288
PlasticDigits commented 2026-06-04 08:01:46 +00:00 (Migrated from gitlab.com)

mentioned in commit 44b74f6600

mentioned in commit 44b74f6600a7ab1a9600e644fd2455b07e81a482
PlasticDigits (Migrated from gitlab.com) merged commit 44b74f6600 into main 2026-06-04 08:01:46 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic!738
No description provided.