Files
neuron-tai/.scratch/alpha-hardening/issues/12-c2-on-chain-idempotency.md
D.Popov 68e057209c Add alpha-hardening ADRs and issue plan from pre-release audit.
Lock alpha scope, tracker auth, TOPLOC fraud verification, and deferred multi-tracker money-path work; supersede legacy fraud issues with ADR-0018.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 23:12:09 +03:00

1.1 KiB
Raw Permalink Blame History

Status: ready-for-human

12 — C2: On-chain settlement idempotency (deferred)

What to build

Harden payout idempotency so Solana transaction retries never double-pay. Design accepted in ADR-0019 §1; implementation deferred post-alpha.

Code refs:

  • packages/tracker/meshnet_tracker/server.py_settlement_loop resend (~33313356), _send_settlement (~33583376)
  • packages/contracts/meshnet_contracts/solana_adapter.pysend_payouts (~186213)

Today: pending debited before broadcast with stable settlement_id; unconfirmed batches resent. Gap: on-chain confirmation vs ledger state if tx succeeds but confirm fails.

Acceptance criteria

  • confirm_settlement only after RPC finalized confirmation
  • Retry path reuses same settlement_id and detects already-confirmed signature
  • Property test: N retries → single on-chain transfer per wallet per settlement_id
  • Document recovery procedure for stuck unconfirmed batches

Blocked by

Alpha release (ADR-0016 single settlement tracker)