@bsv/wallet-toolbox 2.3.2 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/docs/client.md +463 -184
  3. package/docs/monitor.md +7 -7
  4. package/docs/services.md +303 -57
  5. package/docs/wallet.md +317 -594
  6. package/out/src/monitor/Monitor.d.ts +3 -4
  7. package/out/src/monitor/Monitor.d.ts.map +1 -1
  8. package/out/src/monitor/Monitor.js +1 -1
  9. package/out/src/monitor/Monitor.js.map +1 -1
  10. package/out/src/monitor/MonitorDaemon.d.ts +2 -2
  11. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  12. package/out/src/monitor/tasks/TaskArcSSE.d.ts +5 -3
  13. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  14. package/out/src/monitor/tasks/TaskArcSSE.js +42 -55
  15. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  16. package/out/src/sdk/WalletServices.interfaces.d.ts +23 -1
  17. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  18. package/out/src/services/Services.d.ts +3 -0
  19. package/out/src/services/Services.d.ts.map +1 -1
  20. package/out/src/services/Services.js +20 -1
  21. package/out/src/services/Services.js.map +1 -1
  22. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +2 -0
  23. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  24. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +29 -1
  25. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  26. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +52 -0
  27. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -0
  28. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +228 -0
  29. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -0
  30. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +24 -0
  31. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -0
  32. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +55 -0
  33. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -0
  34. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +13 -0
  35. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  36. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +45 -7
  37. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  38. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +2 -0
  39. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  40. package/out/src/services/chaintracker/chaintracks/index.mobile.js +2 -0
  41. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  42. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +8 -0
  43. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  44. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +53 -10
  45. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  46. package/out/src/services/createDefaultWalletServicesOptions.d.ts +19 -1
  47. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  48. package/out/src/services/createDefaultWalletServicesOptions.js +49 -2
  49. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  50. package/out/src/services/providers/ARC.d.ts +4 -0
  51. package/out/src/services/providers/ARC.d.ts.map +1 -1
  52. package/out/src/services/providers/ARC.js +65 -4
  53. package/out/src/services/providers/ARC.js.map +1 -1
  54. package/out/src/services/providers/ArcSSEClient.d.ts +1 -0
  55. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  56. package/out/src/services/providers/ArcSSEClient.js +12 -9
  57. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  58. package/out/src/services/providers/Arcade.d.ts +72 -0
  59. package/out/src/services/providers/Arcade.d.ts.map +1 -0
  60. package/out/src/services/providers/Arcade.js +299 -0
  61. package/out/src/services/providers/Arcade.js.map +1 -0
  62. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -6,6 +6,10 @@ attention to changes that materially alter behavior or extend functionality.
6
6
 
7
7
  ## wallet-toolbox (unreleased)
8
8
 
9
+ - Release prep for `2.3.3`: add Arcade-first wallet service wiring, go-chaintracks
10
+ live client/SSE support, resilient ARC/Arcade status handling, monitor
11
+ rebroadcast safeguards, and callback-token redaction for Arcade SSE logs.
12
+
9
13
  - **Public API change**: `AbortActionResult.aborted` is now typed `boolean` (was the literal `true`). The wallet returns `aborted: false` when it positively confirms the underlying transaction is already on chain (mined or known to mempool) and the abort therefore should not proceed. Callers branching on `result.aborted` should treat `false` as "refused due to on-chain confirmation" and typically follow up with `internalizeAction`. Service-unreachable conditions return `aborted: true` (with an `abortAction-offline-fallback` history note) — refusal is reserved for positive on-chain confirmation, per BRC-100.
10
14
 
11
15
  - Fix: close the nosend orphan-output failure mode. A `nosend` transaction (created via `createAction({noSend:true})`) could be externally broadcast and confirmed on chain before any `internalizeAction` or `Monitor.TaskCheckNoSends` cycle retired its `nosend` status. Before this change, two paths could then destroy the wallet's bookkeeping for the chain-confirmed tx: `StorageProvider.abortAction` unconditionally promoted `transactions.status` to `'failed'` and `proven_tx_reqs.status` to terminal `'invalid'`, hiding every output the tx produced (including the wallet's own auto-fund change) from the `listOutputsKnex` `txStatusAllowed` filter; and `specOpNoSendActions.postProcess` (bulk-abort path) blanket-set `tx.status = 'failed'` regardless of per-row outcome. Additionally `mergedInternalize` never advanced `transactions.status` or `proven_tx_reqs.status` out of `nosend`, so even a correctly-issued post-broadcast `internalizeAction` silently no-op'd on the lifecycle. Four fixes in defense-in-depth: (1) `mergedInternalize` retires the nosend lifecycle (transition to `unproven` + req `unmined`, or all the way to `completed` if the BEEF carries a BUMP); (2) `Monitor.processNewBlockHeader` now nudges `TaskCheckNoSends.checkNow` alongside the existing `TaskCheckForProofs.checkNow` nudge, wiring up the documented-but-orphaned per-block trigger; (3) `StorageProvider.abortAction` chain-checks signed `nosend` txs via `services.getStatusForTxids` and returns `aborted: false` for `mined` or `known` (mempool-aware) txs without throwing; (4) `specOpNoSendActions.postProcess` pre-filters chain-known rows before bulk-abort and honors per-row `aborted: false` returns so race-window rows that became chain-known mid-page leave their status as `nosend` rather than being blanket-set to `failed`. Service-unreachable handling proceeds with the abort and writes an `abortAction-offline-fallback` history note for forensic audit — abort must remain possible when network confirmation is impossible. One residual edge case (backend returns success+`unknown` for a tx that is actually on chain) is documented in the PR; mitigations include the per-block `TaskCheckNoSends` nudge eventually self-healing and caller-side multi-source chain verification.