Verify #317: fix integration_stage2 block_timestamp assertion #497
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!497
Loading…
Reference in a new issue
No description provided.
Delete branch "verify/issue-317-timearena-events"
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
Issue #317 implementation is already on
main(mergea4660ac6). Verification found one regression inapi_arena_buys_actual_seconds_added_smoke: the DB probe used rawEXTRACT(EPOCH…)::text(1700000000.000000) whileGET /v1/arena/buysserializes viaFLOOR(EXTRACT(EPOCH…))::bigint::text(1700000000). This one-line fix unblockspostgres_stage2_persist_all_events_and_rollback_afterandverify-podium-live-anvil.sh.Acceptance checklist (#317)
TimeArenaevents persistidx_*rowsintegration_stage2.rsL344–393 + persist counts L460–480; migration20260613120000_idx_arena_timearena_events_gl317.up.sqlreorg.rsARENA_INDEX_TABLESL131–136; rollback assertions L538–545ingestion.rsL407–429 (?propagates);INV-INDEXER-317-INGEST-SIDE-EFFECTSin invariants + indexer design §317postgres_stage2_persist_all_events_and_rollback_afterenumerates all six eventsINV-INDEXER-112/#317invariants completedocs/testing/invariants-and-business-logic.md§317 table +INV-INDEXER-317-*rowsTest plan
bash scripts/verify-cloud-postgres.shcd indexer && cargo clippy --all-targets -- -D warningsYIELDOMEGA_PG_TEST_URL=… cargo testYIELDOMEGA_PG_TEST_URL=… cargo test --test integration_stage2 postgres_stage2_persist_all_events_and_rollback_afterbash scripts/verify-podium-live-anvil.shread_block=25,live_rows=12)Attack / abuse plan
LevelUp/FeatureUnlockedrowsFollow-ups
postgres_stage2_persist_all_events_and_rollback_afterto cover all six new tables (currently assertslevel_up+feature_unlockedonly;ARENA_INDEX_TABLESalready lists all six).Security review — MR !497
Commit reviewed:
28049ecbd3407b8d9f3b552e9257e64fb4a410adScope: Single-line change in
indexer/tests/integration_stage2.rs(api_arena_buys_actual_seconds_added_smoke): DB probe query now usesFLOOR(EXTRACT(EPOCH FROM block_timestamp))::bigint::textto matchGET /v1/arena/buysserialization on the MR branch.Method: Diff inspection; traced the probe query and compared it to the production
arena_buyshandler (indexer/src/api_arena.rs,FLOOR(EXTRACT(EPOCH …))::bigint::text). Prior security-review threads on this MR: none.Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
$1/$2parameterizationInline threads: none (no findings to anchor).
This change corrects a test assertion format mismatch (floating-point
EXTRACTtext vs integer floor serialization) and does not alter runtime indexer behavior or attack surface.mentioned in commit
6c822804a8