Skip to content

Count every arcade broadcast attempt toward the cycle limit - #1202

Merged
zxxma merged 3 commits into
mainfrom
fix/arcade-attestation-attempt-cap
Sep 15, 2026
Merged

zxxma merged 3 commits into
mainfrom
fix/arcade-attestation-attempt-cap

Conversation

@zxxma

@zxxma zxxma commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The arcade day-close worker limited successfully recorded attestations, so failed broadcasts across several game/day boards could exceed MaxPerCycle. Count every broadcaster invocation before sending and subtract attempts when loading later boards. Failed transactions, already-delivered results and receipt-write failures all consume the cycle's allowance.

Keep the returned successful-attestation count and existing retry parking behavior. Remaining work drains in later cycles. Clarify that this is an attempt bound, not a persistent daily/monthly gas budget. No production flags, signer balances or fee settings change.

Test plan

  • New cross-board regressions fail against unchanged main and pass with the fix for transient/permanent failures, conflicting logs, successful or already-delivered results, and post-broadcast receipt-write failure.
  • Verify retry parking still lets later boards progress while each cycle stays within its attempt allowance.
  • Full backend go test -mod=readonly -race -count=1 ./... passed using the installed Command Line Tools compiler and explicit SDK path; focused arcade go vet passed.
  • Candidate 493c8bf0 was rebased onto main e7707b78 (merged fix: preserve Space Invaders taps between simulation frames #1201), with backend contents unchanged from the race-tested candidate; all hosted CI checks passed.
  • After chore(deps): bump golang.org/x/sync from 0.22.0 to 0.23.0 in /backend #1190 merged, the September 15 guarded GitHub branch update incorporated main be6ef1ba into 2a7b3190. Fresh hosted CI validates the combined dependency update and fix; earlier local results below describe 493c8bf0.
  • Frontend production build and lint passed; unit suite: 5,076 passed, one existing opt-in corpus-generation test skipped.
  • Chromium, Firefox, iPhone and Pixel browser matrix: 523 passed, 15 suite-controlled skips; three Chromium macOS visual baselines passed separately. Browser servers and fixture ports were isolated from other tasks. Skipped live/conditional coverage is not evidence of mainnet compatibility.
  • gofmt and git diff --check passed. No live signing or broadcasting.

@netlify

netlify Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for memba-multisig canceled.

Name Link
🔨 Latest commit ba9ec86
🔍 Latest deploy log https://app.netlify.com/projects/memba-multisig/deploys/6aa90d3f44a2e1000825dde7

@zxxma
zxxma force-pushed the fix/arcade-attestation-attempt-cap branch from a1e330d to 493c8bf Compare September 15, 2026 08:34
@github-actions

github-actions Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow CI / proto (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedSep 15, 2026, 9:18 AM

@zxxma
zxxma merged commit f1b322e into main Sep 15, 2026
21 checks passed
@zxxma
zxxma deleted the fix/arcade-attestation-attempt-cap branch September 15, 2026 09:28
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.

1 participant