Verify #324: align wallet-profile block_timestamp parity #498

Merged
PlasticDigits merged 1 commit from verify/issue-324-wallet-profile-timestamp into main 2026-06-14 15:33:00 +00:00
PlasticDigits commented 2026-06-14 14:59:21 +00:00 (Migrated from gitlab.com)

Summary

Verification of #324 found verify-wallet-profile-anvil.sh still compared API block_timestamp against EXTRACT(EPOCH...)::text (returns fractional seconds) while GET /v1/arena/buys uses FLOOR(EXTRACT(EPOCH...))::bigint::text. Align the script DB probe with the API (same fix already landed for integration_stage2.rs in 28049ecb).

#324 shared-lib refactor and legacy TimeCurve removal on main otherwise PASS.

Acceptance checklist

Criterion Result Command / evidence
New shared libs used by ≥5 verify scripts PASS bash scripts/test-verify-anvil-lib.sh → 6 scripts source verify_indexer_stack.sh
Legacy TimeCurve post-end script removed PASS test-verify-anvil-lib.sh legacy gate; no verify-timecurve-post-end-gates-anvil.sh
e2e-anvil.md links only existing spec files PASS No anvil-collection.spec.ts; linked frontend/e2e/anvil-*.spec.ts exist
bash scripts/verify-podium-live-anvil.sh still PASS PASS Exit 0; integration_stage2 4/4; === verify-podium-live-anvil: OK ===

Test plan

Command Result Notes
bash scripts/verify-podium-live-anvil.sh PASS Exit 0 (~4 min)
bash scripts/verify-wallet-profile-anvil.sh PASS (after this MR) Was FAIL on block_timestamp parity; fixed in this branch
bash scripts/verify-evm-dev-wallet-seed-anvil.sh PASS Exit 0
bash scripts/check-doc-anchors.sh PASS 77 invariants + 13 arena-views anchors
bash scripts/test-verify-anvil-lib.sh PASS Port-scoped pkill, ≥5 sourcing, legacy removal
bash scripts/verify-cloud-postgres.sh PASS Native PG :5433

Verification criteria (issue body)

Item Result
Line count drop across verify scripts PASS — shared libs in scripts/lib/verify_{anvil_common,indexer_stack}.sh
No verify-timecurve-post-end refs outside history PASS — test-verify-anvil-lib.sh gate
pkill scope not dangerously broadened PASS — pkill -f "anvil.*${port}" only
Item Result
docs/testing/e2e-anvil.md PASS
docs/frontend/arena-views.md relative paths PASS — check-doc-anchors.sh
docs/testing/frontend-content-audit.md #pay-modes PASS
## Summary Verification of #324 found `verify-wallet-profile-anvil.sh` still compared API `block_timestamp` against `EXTRACT(EPOCH...)::text` (returns fractional seconds) while `GET /v1/arena/buys` uses `FLOOR(EXTRACT(EPOCH...))::bigint::text`. Align the script DB probe with the API (same fix already landed for `integration_stage2.rs` in `28049ecb`). #324 shared-lib refactor and legacy TimeCurve removal on `main` otherwise **PASS**. ## Acceptance checklist | Criterion | Result | Command / evidence | |-----------|--------|-------------------| | New shared libs used by ≥5 verify scripts | **PASS** | `bash scripts/test-verify-anvil-lib.sh` → 6 scripts source `verify_indexer_stack.sh` | | Legacy TimeCurve post-end script removed | **PASS** | `test-verify-anvil-lib.sh` legacy gate; no `verify-timecurve-post-end-gates-anvil.sh` | | `e2e-anvil.md` links only existing spec files | **PASS** | No `anvil-collection.spec.ts`; linked `frontend/e2e/anvil-*.spec.ts` exist | | `bash scripts/verify-podium-live-anvil.sh` still PASS | **PASS** | Exit 0; `integration_stage2` 4/4; `=== verify-podium-live-anvil: OK ===` | ## Test plan | Command | Result | Notes | |---------|--------|-------| | `bash scripts/verify-podium-live-anvil.sh` | **PASS** | Exit 0 (~4 min) | | `bash scripts/verify-wallet-profile-anvil.sh` | **PASS** (after this MR) | Was **FAIL** on `block_timestamp` parity; fixed in this branch | | `bash scripts/verify-evm-dev-wallet-seed-anvil.sh` | **PASS** | Exit 0 | | `bash scripts/check-doc-anchors.sh` | **PASS** | 77 invariants + 13 arena-views anchors | | `bash scripts/test-verify-anvil-lib.sh` | **PASS** | Port-scoped pkill, ≥5 sourcing, legacy removal | | `bash scripts/verify-cloud-postgres.sh` | **PASS** | Native PG :5433 | ## Verification criteria (issue body) | Item | Result | |------|--------| | Line count drop across verify scripts | **PASS** — shared libs in `scripts/lib/verify_{anvil_common,indexer_stack}.sh` | | No `verify-timecurve-post-end` refs outside history | **PASS** — `test-verify-anvil-lib.sh` gate | | pkill scope not dangerously broadened | **PASS** — `pkill -f "anvil.*${port}"` only | ## Doc dead-link fixes (#324 scope) | Item | Result | |------|--------| | `docs/testing/e2e-anvil.md` | **PASS** | | `docs/frontend/arena-views.md` relative paths | **PASS** — `check-doc-anchors.sh` | | `docs/testing/frontend-content-audit.md` `#pay-modes` | **PASS** |
PlasticDigits commented 2026-06-14 15:01:15 +00:00 (Migrated from gitlab.com)

Security review — MR !498

Commit reviewed: 46bb212caf227da2392b2f1c511e461cd3800456

Scope: Single-line change in scripts/verify-wallet-profile-anvil.sh — align parity_field block_timestamp DB probe with GET /v1/arena/buys (FLOOR(EXTRACT(EPOCH FROM block_timestamp))::bigint::text vs prior fractional EXTRACT(EPOCH...)::text).

Method: Inspected MR diff; traced BUY_TX source and SQL sink; compared against indexer/src/api_arena.rs on MR head (ARENA_BUYS_SELECT_SQL uses the same FLOOR expression); checked for injection, authz, secret leakage, and EVM/contract surface (none touched).

Outcome: FINDINGS: 0 medium+

Inline threads: None (no findings to anchor).

Notes (non-findings)

  • BUY_TX is interpolated into psql SQL strings in this verify script (pre-existing pattern across the file). Value is sourced from local cast send JSON (transactionHash), not external/user input; script is dev/CI-only against local Anvil + native Postgres. Not introduced by this diff — no new attacker-controlled sink.
  • Change is read-only parity assertion formatting; no production indexer/API/auth/contract code modified in this MR.

Security review: no medium+ findings on this diff.

## Security review — MR !498 **Commit reviewed:** `46bb212caf227da2392b2f1c511e461cd3800456` **Scope:** Single-line change in `scripts/verify-wallet-profile-anvil.sh` — align `parity_field block_timestamp` DB probe with `GET /v1/arena/buys` (`FLOOR(EXTRACT(EPOCH FROM block_timestamp))::bigint::text` vs prior fractional `EXTRACT(EPOCH...)::text`). **Method:** Inspected MR diff; traced `BUY_TX` source and SQL sink; compared against `indexer/src/api_arena.rs` on MR head (`ARENA_BUYS_SELECT_SQL` uses the same `FLOOR` expression); checked for injection, authz, secret leakage, and EVM/contract surface (none touched). **Outcome:** `FINDINGS: 0` medium+ **Inline threads:** None (no findings to anchor). ### Notes (non-findings) - `BUY_TX` is interpolated into `psql` SQL strings in this verify script (pre-existing pattern across the file). Value is sourced from local `cast send` JSON (`transactionHash`), not external/user input; script is dev/CI-only against local Anvil + native Postgres. **Not introduced by this diff** — no new attacker-controlled sink. - Change is read-only parity assertion formatting; no production indexer/API/auth/contract code modified in this MR. Security review: no medium+ findings on this diff.
PlasticDigits (Migrated from gitlab.com) merged commit d2913027b4 into main 2026-06-14 15:33:00 +00:00
PlasticDigits commented 2026-06-14 15:33:01 +00:00 (Migrated from gitlab.com)

mentioned in commit d2913027b4

mentioned in commit d2913027b4d67d05b45a924f04d172ce75d39843
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/yieldomega!498
No description provided.