Add verify-indexer-reorg-anvil smoke script (#351) #525
No reviewers
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega!525
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-351-verify-indexer-reorg-anvil"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds
scripts/verify-indexer-reorg-anvil.sh(#351) — a live Anvil smoke that walks the full indexer reorg path (find_common_ancestor→rollback_after→ re-ingest) usingevm_snapshot/evm_revertand empty remines. Assertschain_pointermatches RPC head, rolled-backidx_arena_level_uprows are cleared, no duplicate buys, andGET /v1/arena/wallet/{address}/statslevel_historymatches on-chainTimeArena.level().Documents
INV-INDEXER-351-REORG-ANVILin invariants,REORG_STRATEGY.md,e2e-anvil.md, andscripts/qa/README.md(gap #342).Acceptance checklist
bash scripts/verify-indexer-reorg-anvil.shscripts/qa/README.mdscripts/qa/README.md§ Indexer Anvil verify scriptsassert_no_ingest_divergence+ log tail on timeout (YIELDOMEGA_REORG_HEAL_TIMEOUT_SEC)cd indexer && YIELDOMEGA_PG_TEST_URL=postgres://yieldomega:password@127.0.0.1:5433/yieldomega_indexer_test cargo testbash scripts/verify-cloud-postgres.shVerification checklist (third parties)
bash scripts/bootstrap-cloud-postgres-native.sh(or ensure native Postgres on:5433).export PATH="$HOME/.foundry/bin:$PATH"andsource /usr/local/cargo/envif needed.bash scripts/verify-indexer-reorg-anvil.sh→ expect=== verify-indexer-reorg-anvil: OK ===.grep "rolled back after reorg" /tmp/yieldomega_verify351_indexer.log.Related
docs/testing/invariants-and-business-logic.md#indexer-live-reorg-anvil-gitlab-351Security review — MR !525
Commit reviewed:
4907e9dce5e3b96c6f428022f602b3b53fbe6ca0Base:
87b4f06ce127da9023939ceb4fcb43b6ba48a960Scope
Reviewed added/modified paths in this MR:
scripts/verify-indexer-reorg-anvil.sh(new)docs/testing/ci.md,docs/testing/e2e-anvil.md,docs/testing/invariants-and-business-logic.md,indexer/REORG_STRATEGY.md,scripts/qa/README.md,skills/script-with-timearena-local/SKILL.mdNo smart-contract, indexer application, or frontend runtime code changes.
Method
Traced attacker-controlled inputs in the new smoke script (
DATABASE_URL,ANVIL_PORT,INDEXER_PORT, Anvil-derivedBUYER/BUYER_LC) through sinks (psql,curl,cast). Compared patterns against existing verify scripts (verify-wallet-profile-anvil.sh,scripts/lib/verify_indexer_stack.sh).Outcome
FINDINGS: 0 medium+
Security review: no medium+ findings on this diff.
The new script is a local Anvil/Postgres/indexer smoke test bound to
127.0.0.1, using static SQL inpg_scalar, hex-normalized wallet addresses in API paths, and shared bootstrap helpers already used by sibling verify scripts. It does not expand production attack surface, introduce new dependencies, or modify authn/authz, ingestion, or on-chain logic.Inline threads
None (no medium+ findings).
mentioned in commit
1dae16d806