Skip to content

fix(wallet-toolbox): complete every local copy of a proven txid#280

Closed
ty-everett wants to merge 1 commit into
mainfrom
codex/complete-all-txid-copies
Closed

fix(wallet-toolbox): complete every local copy of a proven txid#280
ty-everett wants to merge 1 commit into
mainfrom
codex/complete-all-txid-copies

Conversation

@ty-everett

Copy link
Copy Markdown
Collaborator

Production finding

A BRC-29 funding transaction was internalized concurrently by two recipient identities. The single proven_tx_reqs.notify.transactionIds JSON value ended with only two of the three local transaction IDs because concurrent read/merge/write updates were last-writer-wins. After Monitor acquired the proof, two transaction rows reached completed and the omitted recipient remained unproven even though its outputs were confirmed network UTXOs.

Fix

  • treat the proven txid as authoritative for every local transaction row sharing it
  • repair missing IDs in the durable notification set
  • complete only local rows still missing the proof/status
  • run the same repair when the proven_txs row already exists, so later Monitor events self-heal drift
  • prepare @bsv/wallet-toolbox 2.4.2

Validation

  • focused SQLite regression covers initial proof fan-out and later already-proven self-heal
  • ts-standard passes for both changed TypeScript files
  • wallet-toolbox TypeScript build passes
  • focused Jest test passes

Production evidence: txid 2cdf4bb89c765d5b9fadef1c2bc4aceb2258ac607d0471e9df5f833bb08e6250; notify IDs omitted transaction 444915 while 444912 and 444918 completed.

@sonarqubecloud

Copy link
Copy Markdown

@ty-everett

Copy link
Copy Markdown
Collaborator Author

Superseded by draft PR #283, which preserves this change and consolidates the complete production follow-up under the shared async Storage session headline. Please continue review on #283.

@ty-everett ty-everett closed this Jul 14, 2026
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