@bopen-io/wallet-toolbox 2.6.2-brc153.5 → 2.14.6

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 (878) hide show
  1. package/CHANGELOG.md +744 -1
  2. package/LICENSES/Open-BSV-License-4-wallet-pre-2026.txt +28 -0
  3. package/README.md +823 -14
  4. package/THIRD_PARTY_NOTICES.md +35 -0
  5. package/docs/README.md +44 -31
  6. package/docs/action-batch-planning.md +80 -37
  7. package/docs/client.md +12996 -4571
  8. package/docs/identity-verification.md +218 -0
  9. package/docs/local-first-chaintracks.md +129 -0
  10. package/docs/managed-change-liquidity.md +258 -0
  11. package/docs/managed-change-policy.md +14 -1
  12. package/docs/monitor.md +505 -190
  13. package/docs/no-send-expiry.md +167 -0
  14. package/docs/prepared-beef.md +197 -0
  15. package/docs/services.md +4013 -1153
  16. package/docs/setup.md +107 -56
  17. package/docs/storage.md +5781 -1599
  18. package/docs/sync-transfer.md +144 -0
  19. package/docs/wab-shamir.md +5 -1
  20. package/docs/wallet.md +10188 -10904
  21. package/out/src/CWIStyleWalletManager.d.ts +39 -31
  22. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  23. package/out/src/CWIStyleWalletManager.js +309 -258
  24. package/out/src/CWIStyleWalletManager.js.map +1 -1
  25. package/out/src/Setup.d.ts +14 -0
  26. package/out/src/Setup.d.ts.map +1 -1
  27. package/out/src/Setup.js +6 -2
  28. package/out/src/Setup.js.map +1 -1
  29. package/out/src/SetupClient.d.ts +3 -0
  30. package/out/src/SetupClient.d.ts.map +1 -1
  31. package/out/src/SetupClient.js +1 -0
  32. package/out/src/SetupClient.js.map +1 -1
  33. package/out/src/SetupWallet.d.ts +3 -0
  34. package/out/src/SetupWallet.d.ts.map +1 -1
  35. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  36. package/out/src/ShamirWalletManager.js +34 -19
  37. package/out/src/ShamirWalletManager.js.map +1 -1
  38. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  39. package/out/src/SimpleWalletManager.js +7 -6
  40. package/out/src/SimpleWalletManager.js.map +1 -1
  41. package/out/src/Wallet.d.ts +54 -14
  42. package/out/src/Wallet.d.ts.map +1 -1
  43. package/out/src/Wallet.js +216 -114
  44. package/out/src/Wallet.js.map +1 -1
  45. package/out/src/WalletAuthenticationManager.d.ts +32 -0
  46. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  47. package/out/src/WalletAuthenticationManager.js +531 -78
  48. package/out/src/WalletAuthenticationManager.js.map +1 -1
  49. package/out/src/WalletLogger.js +1 -1
  50. package/out/src/WalletLogger.js.map +1 -1
  51. package/out/src/WalletPermissionsManager.d.ts +101 -43
  52. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  53. package/out/src/WalletPermissionsManager.js +897 -414
  54. package/out/src/WalletPermissionsManager.js.map +1 -1
  55. package/out/src/WalletSettingsManager.d.ts +3 -2
  56. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  57. package/out/src/WalletSettingsManager.js +143 -8
  58. package/out/src/WalletSettingsManager.js.map +1 -1
  59. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  60. package/out/src/entropy/EntropyCollector.js +3 -2
  61. package/out/src/entropy/EntropyCollector.js.map +1 -1
  62. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  63. package/out/src/fundWalletP2PKH.js +143 -44
  64. package/out/src/fundWalletP2PKH.js.map +1 -1
  65. package/out/src/index.client.d.ts +6 -0
  66. package/out/src/index.client.d.ts.map +1 -1
  67. package/out/src/index.client.js +16 -1
  68. package/out/src/index.client.js.map +1 -1
  69. package/out/src/index.mobile.d.ts +7 -0
  70. package/out/src/index.mobile.d.ts.map +1 -1
  71. package/out/src/index.mobile.js +17 -1
  72. package/out/src/index.mobile.js.map +1 -1
  73. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  74. package/out/src/mockchain/MockChainTracker.js +5 -5
  75. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  76. package/out/src/mockchain/MockServices.d.ts +2 -0
  77. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  78. package/out/src/mockchain/MockServices.js +54 -14
  79. package/out/src/mockchain/MockServices.js.map +1 -1
  80. package/out/src/monitor/Monitor.d.ts +51 -0
  81. package/out/src/monitor/Monitor.d.ts.map +1 -1
  82. package/out/src/monitor/Monitor.js +282 -41
  83. package/out/src/monitor/Monitor.js.map +1 -1
  84. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  85. package/out/src/monitor/MonitorDaemon.js +64 -16
  86. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  87. package/out/src/monitor/monitorValidation.d.ts +12 -0
  88. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  89. package/out/src/monitor/monitorValidation.js +133 -0
  90. package/out/src/monitor/monitorValidation.js.map +1 -0
  91. package/out/src/monitor/tasks/TaskArcSSE.d.ts +6 -1
  92. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  93. package/out/src/monitor/tasks/TaskArcSSE.js +117 -74
  94. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  95. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  96. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  97. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  98. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  99. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  100. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  101. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  102. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  103. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  104. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  105. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  106. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  107. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  108. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts +19 -0
  109. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts.map +1 -0
  110. package/out/src/monitor/tasks/TaskNoSendExpiry.js +47 -0
  111. package/out/src/monitor/tasks/TaskNoSendExpiry.js.map +1 -0
  112. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts +27 -0
  113. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -0
  114. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +242 -0
  115. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -0
  116. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  117. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  118. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  119. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  120. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +31 -9
  121. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  122. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  123. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  124. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  125. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  126. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +33 -6
  127. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  128. package/out/src/monitor/tasks/TaskReviewUtxos.js +189 -13
  129. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  130. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  131. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  132. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  133. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  134. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  135. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  136. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  137. package/out/src/monitor/tasks/index.all.d.ts +2 -0
  138. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  139. package/out/src/monitor/tasks/index.all.js +2 -0
  140. package/out/src/monitor/tasks/index.all.js.map +1 -1
  141. package/out/src/sdk/ActionBatch.interfaces.d.ts +23 -0
  142. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -1
  143. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  144. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  145. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  146. package/out/src/sdk/WERR_errors.d.ts +23 -0
  147. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  148. package/out/src/sdk/WERR_errors.js +51 -7
  149. package/out/src/sdk/WERR_errors.js.map +1 -1
  150. package/out/src/sdk/WalletError.d.ts.map +1 -1
  151. package/out/src/sdk/WalletError.js +7 -21
  152. package/out/src/sdk/WalletError.js.map +1 -1
  153. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  154. package/out/src/sdk/WalletErrorFromJson.js +121 -3
  155. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  156. package/out/src/sdk/WalletServices.interfaces.d.ts +45 -2
  157. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  158. package/out/src/sdk/WalletStorage.interfaces.d.ts +87 -4
  159. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  160. package/out/src/sdk/types.d.ts +3 -2
  161. package/out/src/sdk/types.d.ts.map +1 -1
  162. package/out/src/sdk/types.js +3 -2
  163. package/out/src/sdk/types.js.map +1 -1
  164. package/out/src/services/ServiceCollection.js +2 -2
  165. package/out/src/services/ServiceCollection.js.map +1 -1
  166. package/out/src/services/Services.d.ts +5 -0
  167. package/out/src/services/Services.d.ts.map +1 -1
  168. package/out/src/services/Services.js +346 -120
  169. package/out/src/services/Services.js.map +1 -1
  170. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  171. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  172. package/out/src/services/chaintracker/BHServiceClient.js +269 -66
  173. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  174. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  175. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  176. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  177. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  178. package/out/src/services/chaintracker/LocalChainTracker.d.ts +122 -0
  179. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -0
  180. package/out/src/services/chaintracker/LocalChainTracker.js +465 -0
  181. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -0
  182. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  183. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  184. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  185. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +48 -0
  186. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -0
  187. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js +3 -0
  188. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js.map +1 -0
  189. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
  190. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
  191. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
  192. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
  193. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  194. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +53 -0
  196. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +9 -2
  198. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  199. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  200. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  201. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +28 -3
  202. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +282 -64
  204. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  206. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  208. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  209. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  210. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  211. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +348 -30
  212. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  213. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  214. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  215. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +378 -44
  216. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  217. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  219. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  222. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  223. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  227. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  229. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  231. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  233. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  235. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  238. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  240. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  242. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  243. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  245. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  246. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  247. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  248. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  249. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  250. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  251. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  252. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  253. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  254. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  255. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  257. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  259. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  260. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  261. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  263. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  264. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  265. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  266. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  267. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  268. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  269. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  270. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  271. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +230 -28
  272. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  273. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  274. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  275. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  276. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  277. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -1
  278. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  279. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +240 -87
  280. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  282. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  283. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  284. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  285. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +8 -0
  286. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  287. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +6 -3
  288. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  289. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  291. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  293. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  295. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  297. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  299. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  300. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  301. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  302. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  303. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  304. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +3 -0
  305. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
  306. package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
  307. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
  308. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +5 -0
  309. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  310. package/out/src/services/chaintracker/chaintracks/index.mobile.js +5 -0
  311. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  312. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +51 -0
  313. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -0
  314. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +394 -0
  315. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -0
  316. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +45 -1
  317. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  318. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +733 -166
  319. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  320. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  321. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  322. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  323. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts +32 -0
  324. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
  325. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +40 -0
  326. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
  327. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  328. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  329. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  330. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +3 -1
  331. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  332. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  333. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  334. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +38 -4
  335. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  336. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +191 -47
  337. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  338. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  339. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  340. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  341. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  342. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +48 -0
  343. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
  344. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +280 -0
  345. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
  346. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +30 -0
  347. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -0
  348. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +57 -0
  349. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -0
  350. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  351. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  352. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +14 -0
  353. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
  354. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +148 -0
  355. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
  356. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +41 -0
  357. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
  358. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +271 -0
  359. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
  360. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  361. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  362. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  363. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  364. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +17 -4
  365. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  366. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +362 -105
  367. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  368. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  369. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  370. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  371. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  372. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  373. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  374. package/out/src/services/chaintracker/index.all.d.ts +1 -0
  375. package/out/src/services/chaintracker/index.all.d.ts.map +1 -1
  376. package/out/src/services/chaintracker/index.all.js +1 -0
  377. package/out/src/services/chaintracker/index.all.js.map +1 -1
  378. package/out/src/services/chaintracker/index.client.d.ts +1 -0
  379. package/out/src/services/chaintracker/index.client.d.ts.map +1 -1
  380. package/out/src/services/chaintracker/index.client.js +1 -0
  381. package/out/src/services/chaintracker/index.client.js.map +1 -1
  382. package/out/src/services/chaintracker/index.mobile.d.ts +1 -0
  383. package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -1
  384. package/out/src/services/chaintracker/index.mobile.js +1 -0
  385. package/out/src/services/chaintracker/index.mobile.js.map +1 -1
  386. package/out/src/services/classifyOutputUtxo.d.ts +25 -0
  387. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -0
  388. package/out/src/services/classifyOutputUtxo.js +96 -0
  389. package/out/src/services/classifyOutputUtxo.js.map +1 -0
  390. package/out/src/services/createDefaultWalletServicesOptions.d.ts +16 -3
  391. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  392. package/out/src/services/createDefaultWalletServicesOptions.js +38 -8
  393. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  394. package/out/src/services/fiatRateValidation.d.ts +12 -0
  395. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  396. package/out/src/services/fiatRateValidation.js +138 -0
  397. package/out/src/services/fiatRateValidation.js.map +1 -0
  398. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  399. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  400. package/out/src/services/getCanonicalMerklePath.js +90 -0
  401. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  402. package/out/src/services/providers/ARC.d.ts +3 -16
  403. package/out/src/services/providers/ARC.d.ts.map +1 -1
  404. package/out/src/services/providers/ARC.js +36 -37
  405. package/out/src/services/providers/ARC.js.map +1 -1
  406. package/out/src/services/providers/ArcSSEClient.d.ts +38 -23
  407. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  408. package/out/src/services/providers/ArcSSEClient.js +384 -63
  409. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  410. package/out/src/services/providers/Arcade.d.ts +11 -1
  411. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  412. package/out/src/services/providers/Arcade.js +111 -33
  413. package/out/src/services/providers/Arcade.js.map +1 -1
  414. package/out/src/services/providers/Bitails.d.ts +3 -0
  415. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  416. package/out/src/services/providers/Bitails.js +79 -12
  417. package/out/src/services/providers/Bitails.js.map +1 -1
  418. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  419. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  420. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  421. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  422. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  423. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  424. package/out/src/services/providers/WhatsOnChain.js +221 -69
  425. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  426. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  427. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  428. package/out/src/services/providers/arcProviderConfig.js +83 -0
  429. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  430. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  431. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  432. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  433. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  434. package/out/src/services/providers/arcadeStatus.d.ts +18 -0
  435. package/out/src/services/providers/arcadeStatus.d.ts.map +1 -0
  436. package/out/src/services/providers/arcadeStatus.js +56 -0
  437. package/out/src/services/providers/arcadeStatus.js.map +1 -0
  438. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  439. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  440. package/out/src/services/providers/exchangeRates.js +153 -226
  441. package/out/src/services/providers/exchangeRates.js.map +1 -1
  442. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  443. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  444. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  445. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  446. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  447. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  448. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  449. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  450. package/out/src/services/validateMerklePathResult.js +272 -0
  451. package/out/src/services/validateMerklePathResult.js.map +1 -0
  452. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  453. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  454. package/out/src/services/validatePostBeefResult.js +334 -0
  455. package/out/src/services/validatePostBeefResult.js.map +1 -0
  456. package/out/src/services/validateRawTxResult.d.ts +6 -0
  457. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  458. package/out/src/services/validateRawTxResult.js +77 -0
  459. package/out/src/services/validateRawTxResult.js.map +1 -0
  460. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  461. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  462. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  463. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  464. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  465. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  466. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  467. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  468. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  469. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  470. package/out/src/services/validateUtxoStatusResult.js +126 -0
  471. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  472. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  473. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  474. package/out/src/signer/actionBatch/ActionBatchPlanner.js +29 -6
  475. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  476. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +8 -5
  477. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  478. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +186 -73
  479. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  480. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  481. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  482. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  483. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  484. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  485. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  486. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  487. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  488. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  489. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  490. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  491. package/out/src/signer/methods/createAction.d.ts +35 -3
  492. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  493. package/out/src/signer/methods/createAction.js +50 -2
  494. package/out/src/signer/methods/createAction.js.map +1 -1
  495. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +7 -0
  496. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -0
  497. package/out/src/signer/methods/createNoSendExpiryAction.js +254 -0
  498. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -0
  499. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  500. package/out/src/signer/methods/internalizeAction.js +9 -5
  501. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  502. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  503. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  504. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  505. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  506. package/out/src/signer/methods/signAction.js +20 -3
  507. package/out/src/signer/methods/signAction.js.map +1 -1
  508. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  509. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  510. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  511. package/out/src/storage/StorageIdb.d.ts +11 -3
  512. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  513. package/out/src/storage/StorageIdb.js +134 -44
  514. package/out/src/storage/StorageIdb.js.map +1 -1
  515. package/out/src/storage/StorageKnex.d.ts +68 -7
  516. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  517. package/out/src/storage/StorageKnex.js +551 -105
  518. package/out/src/storage/StorageKnex.js.map +1 -1
  519. package/out/src/storage/StorageProvider.d.ts +41 -10
  520. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  521. package/out/src/storage/StorageProvider.js +397 -107
  522. package/out/src/storage/StorageProvider.js.map +1 -1
  523. package/out/src/storage/StorageReader.d.ts +9 -3
  524. package/out/src/storage/StorageReader.d.ts.map +1 -1
  525. package/out/src/storage/StorageReader.js +21 -43
  526. package/out/src/storage/StorageReader.js.map +1 -1
  527. package/out/src/storage/StorageReaderWriter.d.ts +4 -0
  528. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  529. package/out/src/storage/StorageReaderWriter.js +68 -38
  530. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  531. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  532. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  533. package/out/src/storage/StorageSyncReader.js +3 -36
  534. package/out/src/storage/StorageSyncReader.js.map +1 -1
  535. package/out/src/storage/WalletStorageManager.d.ts +31 -6
  536. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  537. package/out/src/storage/WalletStorageManager.js +166 -75
  538. package/out/src/storage/WalletStorageManager.js.map +1 -1
  539. package/out/src/storage/adminServer/adminServer.d.ts +3 -1
  540. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  541. package/out/src/storage/adminServer/adminServer.js +38 -49
  542. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  543. package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
  544. package/out/src/storage/adminServer/adminUi.js +32 -9
  545. package/out/src/storage/adminServer/adminUi.js.map +1 -1
  546. package/out/src/storage/adminServer/reviewUtxos.d.ts +27 -0
  547. package/out/src/storage/adminServer/reviewUtxos.d.ts.map +1 -0
  548. package/out/src/storage/adminServer/reviewUtxos.js +62 -0
  549. package/out/src/storage/adminServer/reviewUtxos.js.map +1 -0
  550. package/out/src/storage/idbHelpers.d.ts.map +1 -1
  551. package/out/src/storage/idbHelpers.js +14 -2
  552. package/out/src/storage/idbHelpers.js.map +1 -1
  553. package/out/src/storage/index.all.d.ts +3 -0
  554. package/out/src/storage/index.all.d.ts.map +1 -1
  555. package/out/src/storage/index.all.js +3 -0
  556. package/out/src/storage/index.all.js.map +1 -1
  557. package/out/src/storage/index.client.d.ts +1 -0
  558. package/out/src/storage/index.client.d.ts.map +1 -1
  559. package/out/src/storage/index.client.js +1 -0
  560. package/out/src/storage/index.client.js.map +1 -1
  561. package/out/src/storage/index.mobile.d.ts +1 -0
  562. package/out/src/storage/index.mobile.d.ts.map +1 -1
  563. package/out/src/storage/index.mobile.js +1 -0
  564. package/out/src/storage/index.mobile.js.map +1 -1
  565. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  566. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  567. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  568. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  569. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  570. package/out/src/storage/methods/ListOutputsSpecOp.js +5 -44
  571. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  572. package/out/src/storage/methods/actionBatch.d.ts +9 -2
  573. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  574. package/out/src/storage/methods/actionBatch.js +260 -67
  575. package/out/src/storage/methods/actionBatch.js.map +1 -1
  576. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  577. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  578. package/out/src/storage/methods/actionBatchBlobs.js +47 -26
  579. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  580. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  581. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  582. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  583. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  584. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  585. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +59 -110
  586. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  587. package/out/src/storage/methods/availableManagedChange.d.ts +8 -1
  588. package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -1
  589. package/out/src/storage/methods/availableManagedChange.js.map +1 -1
  590. package/out/src/storage/methods/createAction.d.ts +60 -3
  591. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  592. package/out/src/storage/methods/createAction.js +396 -106
  593. package/out/src/storage/methods/createAction.js.map +1 -1
  594. package/out/src/storage/methods/generateChange.d.ts +21 -5
  595. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  596. package/out/src/storage/methods/generateChange.js +194 -27
  597. package/out/src/storage/methods/generateChange.js.map +1 -1
  598. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  599. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  600. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  601. package/out/src/storage/methods/getSyncChunk.js +42 -11
  602. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  603. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  604. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  605. package/out/src/storage/methods/internalizeAction.js +171 -133
  606. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  607. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  608. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  609. package/out/src/storage/methods/listActionsIdb.js +2 -2
  610. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  611. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  612. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  613. package/out/src/storage/methods/listActionsKnex.js +22 -11
  614. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  615. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  616. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  617. package/out/src/storage/methods/listCertificates.js.map +1 -1
  618. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  619. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  620. package/out/src/storage/methods/listOutputsIdb.js +25 -18
  621. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  622. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  623. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  624. package/out/src/storage/methods/listOutputsKnex.js +33 -31
  625. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  626. package/out/src/storage/methods/managedChangePolicy.d.ts +44 -0
  627. package/out/src/storage/methods/managedChangePolicy.d.ts.map +1 -0
  628. package/out/src/storage/methods/managedChangePolicy.js +58 -0
  629. package/out/src/storage/methods/managedChangePolicy.js.map +1 -0
  630. package/out/src/storage/methods/maxPossibleSatoshis.d.ts +13 -0
  631. package/out/src/storage/methods/maxPossibleSatoshis.d.ts.map +1 -0
  632. package/out/src/storage/methods/maxPossibleSatoshis.js +16 -0
  633. package/out/src/storage/methods/maxPossibleSatoshis.js.map +1 -0
  634. package/out/src/storage/methods/noSendExpiry.d.ts +11 -0
  635. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -0
  636. package/out/src/storage/methods/noSendExpiry.js +369 -0
  637. package/out/src/storage/methods/noSendExpiry.js.map +1 -0
  638. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts +14 -0
  639. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts.map +1 -0
  640. package/out/src/storage/methods/noSendExpiryLifecycle.js +691 -0
  641. package/out/src/storage/methods/noSendExpiryLifecycle.js.map +1 -0
  642. package/out/src/storage/methods/preparedBeef.d.ts +104 -0
  643. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -0
  644. package/out/src/storage/methods/preparedBeef.js +524 -0
  645. package/out/src/storage/methods/preparedBeef.js.map +1 -0
  646. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  647. package/out/src/storage/methods/processAction.js +144 -32
  648. package/out/src/storage/methods/processAction.js.map +1 -1
  649. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  650. package/out/src/storage/methods/purgeData.js +21 -3
  651. package/out/src/storage/methods/purgeData.js.map +1 -1
  652. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +32 -0
  653. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -0
  654. package/out/src/storage/methods/reconcileFailedTransactionInputs.js +142 -0
  655. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -0
  656. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  657. package/out/src/storage/methods/reviewStatus.js +7 -4
  658. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  659. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  660. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  661. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  662. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +38 -0
  663. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -0
  664. package/out/src/storage/methods/reviewUtxoOutputs.js +197 -0
  665. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -0
  666. package/out/src/storage/methods/validateSyncProof.d.ts +32 -0
  667. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -0
  668. package/out/src/storage/methods/validateSyncProof.js +139 -0
  669. package/out/src/storage/methods/validateSyncProof.js.map +1 -0
  670. package/out/src/storage/portable/index.d.ts.map +1 -1
  671. package/out/src/storage/portable/index.js +25 -15
  672. package/out/src/storage/portable/index.js.map +1 -1
  673. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  674. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  675. package/out/src/storage/remoting/BinaryJson.js +94 -8
  676. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  677. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts.map +1 -1
  678. package/out/src/storage/remoting/KnexPaymentReplayStore.js +1 -0
  679. package/out/src/storage/remoting/KnexPaymentReplayStore.js.map +1 -1
  680. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  681. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  682. package/out/src/storage/remoting/KnexSessionManager.js +221 -40
  683. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  684. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts +26 -0
  685. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
  686. package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
  687. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
  688. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  689. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  690. package/out/src/storage/remoting/StorageClient.js +65 -8
  691. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  692. package/out/src/storage/remoting/StorageClientBase.d.ts +57 -10
  693. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  694. package/out/src/storage/remoting/StorageClientBase.js +382 -10
  695. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  696. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  697. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  698. package/out/src/storage/remoting/StorageMobile.js +13 -11
  699. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  700. package/out/src/storage/remoting/StorageServer.d.ts +10 -1
  701. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  702. package/out/src/storage/remoting/StorageServer.js +232 -20
  703. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  704. package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
  705. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
  706. package/out/src/storage/remoting/SyncTransfer.js +153 -0
  707. package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
  708. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
  709. package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
  710. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
  711. package/out/src/storage/remoting/syncChunkBinary.d.ts +14 -0
  712. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
  713. package/out/src/storage/remoting/syncChunkBinary.js +42 -0
  714. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
  715. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
  716. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
  717. package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
  718. package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
  719. package/out/src/storage/schema/KnexMigrations.d.ts +6 -0
  720. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  721. package/out/src/storage/schema/KnexMigrations.js +194 -5
  722. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  723. package/out/src/storage/schema/StorageIdbSchema.d.ts +3 -0
  724. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  725. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  726. package/out/src/storage/schema/entities/EntityOutput.js +24 -4
  727. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  728. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  729. package/out/src/storage/schema/entities/EntityOutputBasket.js +5 -2
  730. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  731. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +4 -1
  732. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  733. package/out/src/storage/schema/entities/EntityProvenTx.js +125 -41
  734. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  735. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  736. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  737. package/out/src/storage/schema/entities/EntitySyncState.d.ts +4 -2
  738. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  739. package/out/src/storage/schema/entities/EntitySyncState.js +12 -6
  740. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  741. package/out/src/storage/schema/entities/EntityTransaction.d.ts +26 -0
  742. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  743. package/out/src/storage/schema/entities/EntityTransaction.js +221 -21
  744. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  745. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  746. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  747. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  748. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  749. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  750. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  751. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  752. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  753. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  754. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  755. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  756. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  757. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  758. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  759. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  760. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  761. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts +23 -0
  762. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts.map +1 -0
  763. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js +3 -0
  764. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js.map +1 -0
  765. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  766. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  767. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  768. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  769. package/out/src/storage/schema/tables/TableSettings.d.ts +2 -2
  770. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  771. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  772. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  773. package/out/src/storage/schema/tables/TableTransaction.d.ts +17 -1
  774. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  775. package/out/src/storage/schema/tables/TableTransaction.js +14 -1
  776. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  777. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  778. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  779. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  780. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  781. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  782. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  783. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  784. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  785. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  786. package/out/src/storage/sync/SyncPageBudget.d.ts +8 -0
  787. package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
  788. package/out/src/storage/sync/SyncPageBudget.js +24 -0
  789. package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
  790. package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
  791. package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
  792. package/out/src/storage/sync/syncCheckpoint.js +49 -0
  793. package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
  794. package/out/src/utility/Argon2idBackend.d.ts +36 -0
  795. package/out/src/utility/Argon2idBackend.d.ts.map +1 -0
  796. package/out/src/utility/Argon2idBackend.js +60 -0
  797. package/out/src/utility/Argon2idBackend.js.map +1 -0
  798. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  799. package/out/src/utility/actionBatchDigest.js +9 -7
  800. package/out/src/utility/actionBatchDigest.js.map +1 -1
  801. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  802. package/out/src/utility/actionBatchPack.js +7 -12
  803. package/out/src/utility/actionBatchPack.js.map +1 -1
  804. package/out/src/utility/beefForTxids.d.ts +12 -3
  805. package/out/src/utility/beefForTxids.d.ts.map +1 -1
  806. package/out/src/utility/beefForTxids.js +69 -21
  807. package/out/src/utility/beefForTxids.js.map +1 -1
  808. package/out/src/utility/brc153ReferenceLabels.d.ts +16 -0
  809. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  810. package/out/src/utility/brc153ReferenceLabels.js +20 -5
  811. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  812. package/out/src/utility/brc177NoSendExpiry.d.ts +34 -0
  813. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -0
  814. package/out/src/utility/brc177NoSendExpiry.js +81 -0
  815. package/out/src/utility/brc177NoSendExpiry.js.map +1 -0
  816. package/out/src/utility/canonicalizeAtomicBeef.d.ts +12 -0
  817. package/out/src/utility/canonicalizeAtomicBeef.d.ts.map +1 -0
  818. package/out/src/utility/canonicalizeAtomicBeef.js +23 -0
  819. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -0
  820. package/out/src/utility/exactActionSpend.d.ts +9 -0
  821. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  822. package/out/src/utility/exactActionSpend.js +26 -0
  823. package/out/src/utility/exactActionSpend.js.map +1 -0
  824. package/out/src/utility/hashWasm.d.ts +1 -1
  825. package/out/src/utility/hashWasm.d.ts.map +1 -1
  826. package/out/src/utility/hashWasm.js +83 -1
  827. package/out/src/utility/hashWasm.js.map +1 -1
  828. package/out/src/utility/identityUtils.d.ts +44 -4
  829. package/out/src/utility/identityUtils.d.ts.map +1 -1
  830. package/out/src/utility/identityUtils.js +523 -61
  831. package/out/src/utility/identityUtils.js.map +1 -1
  832. package/out/src/utility/index.all.d.ts +2 -0
  833. package/out/src/utility/index.all.d.ts.map +1 -1
  834. package/out/src/utility/index.all.js +2 -0
  835. package/out/src/utility/index.all.js.map +1 -1
  836. package/out/src/utility/index.client.d.ts +2 -0
  837. package/out/src/utility/index.client.d.ts.map +1 -1
  838. package/out/src/utility/index.client.js +2 -0
  839. package/out/src/utility/index.client.js.map +1 -1
  840. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  841. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  842. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  843. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  844. package/out/src/utility/tscProofToMerklePath.js +35 -4
  845. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  846. package/out/src/utility/utilityHelpers.d.ts +1 -1
  847. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  848. package/out/src/utility/utilityHelpers.js +10 -7
  849. package/out/src/utility/utilityHelpers.js.map +1 -1
  850. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  851. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  852. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  853. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  854. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  855. package/out/src/utility/verifyOverlayOutput.js +22 -0
  856. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  857. package/out/src/utility/walletResultGuards.d.ts +14 -0
  858. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  859. package/out/src/utility/walletResultGuards.js +28 -0
  860. package/out/src/utility/walletResultGuards.js.map +1 -0
  861. package/out/src/wab-client/WABClient.d.ts +4 -17
  862. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  863. package/out/src/wab-client/WABClient.js +35 -12
  864. package/out/src/wab-client/WABClient.js.map +1 -1
  865. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  866. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  867. package/out/src/wab-client/WABResponseValidation.js +321 -0
  868. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  869. package/out/src/wab-client/WABTransport.d.ts +17 -23
  870. package/out/src/wab-client/WABTransport.d.ts.map +1 -1
  871. package/out/src/wab-client/WABTransport.js +130 -142
  872. package/out/src/wab-client/WABTransport.js.map +1 -1
  873. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +8 -0
  874. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  875. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  876. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  877. package/package.json +45 -41
  878. package/docs/open-rpc/index.html +0 -46
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StorageClient = void 0;
4
+ const WalletErrorFromJson_1 = require("../../sdk/WalletErrorFromJson");
4
5
  const StorageClientBase_1 = require("./StorageClientBase");
5
6
  const BinaryJson_1 = require("./BinaryJson");
6
7
  /**
@@ -9,6 +10,11 @@ const BinaryJson_1 = require("./BinaryJson");
9
10
  *
10
11
  * Internally, it uses JSON-RPC over HTTPS to make requests of a remote server.
11
12
  * Typically this server uses the `StorageServer` class to implement the service.
13
+ * Responses must complete mutual authentication. By default, the first authenticated
14
+ * server identity is trusted for this client instance; callers can instead supply
15
+ * `serverIdentityKey` as an independently validated pin. The distinct storage-provider
16
+ * identity advertised by the authenticated `makeAvailable` response is authoritative
17
+ * by default; callers can independently pin it with `storageIdentityKey`.
12
18
  *
13
19
  * This mobile variant omits the full logger support present in `StorageClient` to keep
14
20
  * the bundle lean for mobile / browser environments.
@@ -29,16 +35,16 @@ class StorageClient extends StorageClientBase_1.StorageClientBase {
29
35
  */
30
36
  async rpcCall(method, params) {
31
37
  return await this.traceRpcCall(method, params, async (rpcSpan) => {
32
- const id = this.nextId++;
38
+ const id = this.nextRequestId();
33
39
  const body = {
34
40
  jsonrpc: '2.0',
35
41
  method,
36
42
  params,
37
43
  id
38
44
  };
39
- const requestUsesBinary = this.binaryRequests && this.serverSupportsBinary;
45
+ const requestUsesBinary = this.requestUsesBinary(method);
40
46
  const requestBody = await this.traceRpcStep('wallet.storage.request.serialize', rpcSpan, () => (0, BinaryJson_1.stringifyJsonRpc)(body, requestUsesBinary), { 'rpc.encoding': requestUsesBinary ? 'binary-json' : 'json' });
41
- const response = await this.traceRpcStep('wallet.storage.http', rpcSpan, async () => await this.authClient.fetch(this.endpointUrl, {
47
+ const response = await this.traceRpcStep('wallet.storage.http', rpcSpan, async () => await this.authenticatedFetch(this.endpointUrl, {
42
48
  method: 'POST',
43
49
  headers: {
44
50
  'Content-Type': 'application/json',
@@ -51,7 +57,7 @@ class StorageClient extends StorageClientBase_1.StorageClientBase {
51
57
  'rpc.encoding': requestUsesBinary ? 'binary-json' : 'json'
52
58
  });
53
59
  if (!response.ok) {
54
- throw new Error(`WalletStorageClient rpcCall: network error ${response.status} ${response.statusText}`);
60
+ throw this.rpcResponseError(response);
55
61
  }
56
62
  const responseUsesBinary = response.headers.get(BinaryJson_1.BINARY_ENCODING_HEADER) === BinaryJson_1.BINARY_ENCODING;
57
63
  if (responseUsesBinary)
@@ -60,16 +66,12 @@ class StorageClient extends StorageClientBase_1.StorageClientBase {
60
66
  'http.response.status_code': response.status,
61
67
  'rpc.encoding': responseUsesBinary ? 'binary-json' : 'json'
62
68
  });
63
- const json = await this.traceRpcStep('wallet.storage.response.parse', rpcSpan, () => (0, BinaryJson_1.parseJsonRpc)(responseText, responseUsesBinary), {
69
+ const json = await this.traceRpcStep('wallet.storage.response.parse', rpcSpan, () => (0, BinaryJson_1.validateJsonRpcResponse)((0, BinaryJson_1.parseJsonRpc)(responseText, responseUsesBinary), id), {
64
70
  'rpc.encoding': responseUsesBinary ? 'binary-json' : 'json',
65
71
  'response.size_bytes': responseText.length
66
72
  });
67
- if (json.error) {
68
- const { code, message, data } = json.error;
69
- const err = new Error(`RPC Error: ${message}`);
70
- err.code = code;
71
- err.data = data;
72
- throw err;
73
+ if ('error' in json) {
74
+ throw (0, WalletErrorFromJson_1.WalletErrorFromJson)(json.error);
73
75
  }
74
76
  rpcSpan?.end({
75
77
  attributes: {
@@ -1 +1 @@
1
- {"version":3,"file":"StorageMobile.js","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageMobile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageMobile.js","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageMobile.ts"],"names":[],"mappings":"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"}
@@ -67,14 +67,19 @@ export interface WalletStorageServerOptions {
67
67
  defaultRpcListLimit?: number;
68
68
  /** Largest caller-selected list/find item limit. Use -1 to disable this operator ceiling. */
69
69
  maxRpcListLimit?: number;
70
+ /** Largest list/find/sync offset accepted at the RPC edge. Use -1 only for trusted tenants. */
71
+ maxRpcListOffset?: number;
70
72
  /** Maximum elements in any decoded request array. Use -1 only for trusted callers. */
71
73
  maxRpcArrayItems?: number;
72
74
  /** Maximum serialized JSON-RPC response bytes. Use -1 to disable. */
73
75
  maxRpcResponseBytes?: number;
76
+ /** Disable the additive durable transfer transport during a mixed-version rollout. Knex only. */
77
+ syncTransfers?: boolean;
74
78
  /** Durable BRC-105 replay claims for monetized multi-replica deployments. */
75
79
  paymentReplayStore?: PaymentReplayStore;
76
80
  }
77
81
  export declare class StorageServer {
82
+ private readonly syncTransfers?;
78
83
  private readonly app;
79
84
  private readonly host?;
80
85
  private readonly port;
@@ -97,6 +102,7 @@ export declare class StorageServer {
97
102
  private readonly telemetryConfig?;
98
103
  private readonly defaultRpcListLimit;
99
104
  private readonly maxRpcListLimit;
105
+ private readonly maxRpcListOffset;
100
106
  private readonly maxRpcArrayItems;
101
107
  private readonly maxRpcResponseBytes;
102
108
  private readonly paymentReplayStore?;
@@ -105,18 +111,21 @@ export declare class StorageServer {
105
111
  private setupRoutes;
106
112
  private handleRpcRequest;
107
113
  private handleRpcRequestCore;
114
+ private sendOversizedSyncResponse;
108
115
  private traceHttpRequest;
109
116
  private sendRpc;
110
117
  private enforceRpcRequestBudgets;
111
118
  private enforceRpcArrayBudget;
112
119
  private objectArgument;
113
120
  private normalizedRpcLimit;
121
+ private normalizedRpcOffset;
114
122
  private sendRpcError;
115
123
  private createRpcLog;
116
124
  private dispatchRpcCall;
125
+ private dispatchSyncTransfer;
117
126
  private traceRpcStep;
118
127
  private authorizeRpcCall;
119
- private logIgnoredDestroy;
128
+ private logIgnoredLifecycleMutation;
120
129
  private authorizeAdminStats;
121
130
  private authorizeStandardRpcCall;
122
131
  private createRpcLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageServer.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageServer.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageServer.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,19 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StorageServer = void 0;
7
+ const StorageKnex_1 = require("../StorageKnex");
8
+ const KnexSyncTransferStore_1 = require("./KnexSyncTransferStore");
9
+ const SyncTransfer_1 = require("./SyncTransfer");
10
+ const syncChunkBinary_1 = require("./syncChunkBinary");
2
11
  /**
3
12
  * StorageServer.ts
4
13
  *
5
14
  * A server-side class that "has a" local WalletStorage (like a StorageKnex instance),
6
15
  * and exposes it via a JSON-RPC POST endpoint using Express.
7
16
  */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StorageServer = void 0;
13
17
  const sdk_1 = require("@bsv/sdk");
14
18
  const express_1 = __importDefault(require("express"));
15
19
  const auth_express_middleware_1 = require("@bsv/auth-express-middleware");
@@ -25,9 +29,12 @@ const RateLimitPolicy_1 = require("./RateLimitPolicy");
25
29
  const edgePolicy_1 = require("./edgePolicy");
26
30
  const actionBatchPack_1 = require("../../utility/actionBatchPack");
27
31
  const actionBatchBlobs_1 = require("../methods/actionBatchBlobs");
32
+ const validateRpcSyncProofs_1 = require("./validateRpcSyncProofs");
28
33
  const storageRpcMethods = new Set([
29
34
  'abortAction',
30
35
  'abortActionBatch',
36
+ 'activateNoSendExpiry',
37
+ 'armNoSendExpiry',
31
38
  'adminStats',
32
39
  'beginActionBatch',
33
40
  'commitActionBatch',
@@ -37,6 +44,7 @@ const storageRpcMethods = new Set([
37
44
  'extendActionBatch',
38
45
  'findCertificatesAuth',
39
46
  'findOrInsertSyncStateAuth',
47
+ 'getSyncCheckpoint',
40
48
  'findOrInsertUser',
41
49
  'findOutputBaskets',
42
50
  'findOutputBasketsAuth',
@@ -53,17 +61,36 @@ const storageRpcMethods = new Set([
53
61
  'makeAvailable',
54
62
  'migrate',
55
63
  'prepareActionBatchCommit',
64
+ 'prepareNoSendExpiry',
56
65
  'processAction',
57
66
  'processSyncChunk',
58
67
  'relinquishCertificate',
59
68
  'relinquishOutput',
60
69
  'renewActionBatch',
70
+ 'resumeActionBatch',
61
71
  'setActive',
62
72
  'updateProvenTxReqWithNewProvenTx'
63
73
  ]);
74
+ /**
75
+ * Serialize an error for an authenticated network peer without exposing
76
+ * provider, database, filesystem, or other server-internal diagnostics.
77
+ *
78
+ * WalletError subclasses are the storage protocol's explicit public error
79
+ * contract. WERR_INTERNAL and unknown exceptions are deliberately collapsed
80
+ * to the stable default message; operators can still capture the original
81
+ * exception through the explicitly configured server logger and telemetry.
82
+ */
83
+ function publicWalletErrorJson(error) {
84
+ if (!(error instanceof WalletError_1.WalletError) || error.name === 'WERR_INTERNAL' || error.name === 'WERR_UNKNOWN') {
85
+ return WalletError_1.WalletError.unknownToJson(new WERR_errors_1.WERR_INTERNAL());
86
+ }
87
+ return WalletError_1.WalletError.unknownToJson(error);
88
+ }
64
89
  const authIdRpcMethods = new Set([
65
90
  'abortAction',
66
91
  'abortActionBatch',
92
+ 'activateNoSendExpiry',
93
+ 'armNoSendExpiry',
67
94
  'beginActionBatch',
68
95
  'commitActionBatch',
69
96
  'commitActionBatchByDigest',
@@ -71,6 +98,7 @@ const authIdRpcMethods = new Set([
71
98
  'extendActionBatch',
72
99
  'findCertificatesAuth',
73
100
  'findOrInsertSyncStateAuth',
101
+ 'getSyncCheckpoint',
74
102
  'findOutputBaskets',
75
103
  'findOutputBasketsAuth',
76
104
  'findOutputsAuth',
@@ -80,20 +108,27 @@ const authIdRpcMethods = new Set([
80
108
  'listCertificates',
81
109
  'listOutputs',
82
110
  'prepareActionBatchCommit',
111
+ 'prepareNoSendExpiry',
83
112
  'processAction',
84
113
  'relinquishCertificate',
85
114
  'relinquishOutput',
86
115
  'renewActionBatch',
116
+ 'resumeActionBatch',
87
117
  'setActive'
88
118
  ]);
89
- const actionBatchRpcMethods = new Set([
119
+ const activeStorageRpcMethods = new Set([
90
120
  'abortActionBatch',
121
+ 'activateNoSendExpiry',
122
+ 'armNoSendExpiry',
91
123
  'beginActionBatch',
92
124
  'commitActionBatch',
93
125
  'commitActionBatchByDigest',
94
126
  'extendActionBatch',
95
127
  'prepareActionBatchCommit',
96
- 'renewActionBatch'
128
+ 'prepareNoSendExpiry',
129
+ 'renewActionBatch',
130
+ 'resumeActionBatch',
131
+ 'updateProvenTxReqWithNewProvenTx'
97
132
  ]);
98
133
  const topLevelLimitArgument = new Map([
99
134
  ['listActions', 1],
@@ -107,6 +142,17 @@ const pagedLimitArgument = new Map([
107
142
  ['findOutputsAuth', 1],
108
143
  ['findProvenTxReqs', 0]
109
144
  ]);
145
+ const binaryRowResults = new Map([
146
+ ['findOutputsAuth', 'outputs'],
147
+ ['findProvenTxReqs', 'provenTxReqs']
148
+ ]);
149
+ /** Copy a result's schema-defined byte fields for the already negotiated binary JSON codec. */
150
+ function binaryRpcResult(method, result) {
151
+ if (method === 'getSyncChunk')
152
+ return (0, syncChunkBinary_1.syncChunkBinary)(result);
153
+ const table = binaryRowResults.get(method);
154
+ return table != null && Array.isArray(result) ? (0, syncChunkBinary_1.tableRowsBinary)(table, result) : result;
155
+ }
110
156
  function requiredAuthenticatedIdentityKey(req) {
111
157
  const identityKey = req.auth?.identityKey;
112
158
  if (typeof identityKey !== 'string' || identityKey.trim() === '' || identityKey === 'unknown') {
@@ -114,11 +160,16 @@ function requiredAuthenticatedIdentityKey(req) {
114
160
  }
115
161
  return identityKey;
116
162
  }
163
+ function escapeRpcJson(serialized) {
164
+ const escapes = { '<': String.raw `\u003c`, '>': String.raw `\u003e`, '&': String.raw `\u0026` };
165
+ return serialized.replace(/[<>&]/g, character => escapes[character]);
166
+ }
117
167
  function firstRequestHeader(req, name) {
118
168
  const value = req.headers[name.toLowerCase()];
119
169
  return Array.isArray(value) ? value[0] : value;
120
170
  }
121
171
  class StorageServer {
172
+ syncTransfers;
122
173
  app = (0, express_1.default)();
123
174
  host;
124
175
  port;
@@ -141,6 +192,7 @@ class StorageServer {
141
192
  telemetryConfig;
142
193
  defaultRpcListLimit;
143
194
  maxRpcListLimit;
195
+ maxRpcListOffset;
144
196
  maxRpcArrayItems;
145
197
  maxRpcResponseBytes;
146
198
  paymentReplayStore;
@@ -181,6 +233,9 @@ class StorageServer {
181
233
  this.maxRpcListLimit =
182
234
  options.maxRpcListLimit ??
183
235
  (0, edgePolicy_1.readResourceLimit)('WALLET_STORAGE', 'RPC_MAX_LIST_LIMIT', (0, edgePolicy_1.profileValue)(profile, { small: 500, standard: 1_000, highThroughput: 5_000 }));
236
+ this.maxRpcListOffset =
237
+ options.maxRpcListOffset ??
238
+ (0, edgePolicy_1.readResourceLimit)('WALLET_STORAGE', 'RPC_MAX_LIST_OFFSET', (0, edgePolicy_1.profileValue)(profile, { small: 100_000, standard: 1_000_000, highThroughput: 10_000_000 }));
184
239
  this.maxRpcArrayItems =
185
240
  options.maxRpcArrayItems ??
186
241
  (0, edgePolicy_1.readResourceLimit)('WALLET_STORAGE', 'RPC_MAX_ARRAY_ITEMS', (0, edgePolicy_1.profileValue)(profile, { small: 250_000, standard: 1_000_000, highThroughput: 4_000_000 }));
@@ -196,6 +251,26 @@ class StorageServer {
196
251
  this.defaultRpcListLimit > this.maxRpcListLimit) {
197
252
  throw new RangeError('defaultRpcListLimit must not exceed maxRpcListLimit');
198
253
  }
254
+ if (!Number.isSafeInteger(this.maxRpcListOffset) || this.maxRpcListOffset < -1) {
255
+ throw new RangeError('maxRpcListOffset must be -1 or a non-negative safe integer');
256
+ }
257
+ const jsonBodyLimit = (0, edgePolicy_1.readBodyLimitBytes)('WALLET_STORAGE_JSON', (0, edgePolicy_1.profileValue)(profile, {
258
+ small: 2 * 1024 * 1024,
259
+ standard: 8 * 1024 * 1024,
260
+ highThroughput: 32 * 1024 * 1024
261
+ }));
262
+ // Keep legacy configurations working when their envelopes cannot fit even a minimum part.
263
+ if (options.syncTransfers !== false &&
264
+ storage instanceof StorageKnex_1.StorageKnex &&
265
+ jsonBodyLimit >= 4096 &&
266
+ (this.maxRpcResponseBytes === -1 || this.maxRpcResponseBytes >= 4096)) {
267
+ this.syncTransfers = new KnexSyncTransferStore_1.KnexSyncTransferStore(storage.knex, {
268
+ version: 1,
269
+ maxBytes: SyncTransfer_1.SYNC_TRANSFER_MAX_BYTES,
270
+ inlineBytes: Math.min(6 * 1024 * 1024, Math.floor(jsonBodyLimit / 2), this.maxRpcResponseBytes === -1 ? SyncTransfer_1.SYNC_TRANSFER_MAX_BYTES : Math.floor(this.maxRpcResponseBytes / 2)),
271
+ partBytes: Math.min(SyncTransfer_1.SYNC_TRANSFER_PART_BYTES, Math.floor(jsonBodyLimit / 4), this.maxRpcResponseBytes === -1 ? SyncTransfer_1.SYNC_TRANSFER_PART_BYTES : Math.floor(this.maxRpcResponseBytes / 4))
272
+ });
273
+ }
199
274
  const legacyLogShortReqs = options['logShortReqs'];
200
275
  if (legacyLogShortReqs) {
201
276
  this.setupShortReqLogging();
@@ -327,7 +402,7 @@ class StorageServer {
327
402
  res.status(200).json({ uploaded: true });
328
403
  }
329
404
  catch (error) {
330
- const json = WalletError_1.WalletError.unknownToJson(error);
405
+ const json = publicWalletErrorJson(error);
331
406
  res.status(400).json(JSON.parse(json));
332
407
  }
333
408
  });
@@ -343,7 +418,7 @@ class StorageServer {
343
418
  res.status(200).json({ uploaded: true });
344
419
  }
345
420
  catch (error) {
346
- const json = WalletError_1.WalletError.unknownToJson(error);
421
+ const json = publicWalletErrorJson(error);
347
422
  res.status(400).json(JSON.parse(json));
348
423
  }
349
424
  });
@@ -376,7 +451,9 @@ class StorageServer {
376
451
  const logObj = this.createRpcLog(req, method, id, params);
377
452
  try {
378
453
  this.enforceRpcRequestBudgets(method, params);
379
- const dispatch = await this.dispatchRpcCall(method, params, req, logObj, rpcSpan);
454
+ const dispatch = method.endsWith('SyncTransfer') || method.endsWith('SyncTransferPart')
455
+ ? await this.dispatchSyncTransfer(method, params, req)
456
+ : await this.dispatchRpcCall(method, params, req, logObj, rpcSpan);
380
457
  if (!dispatch.found) {
381
458
  return this.sendRpc(res, useBinary, {
382
459
  jsonrpc: '2.0',
@@ -384,12 +461,30 @@ class StorageServer {
384
461
  id
385
462
  }, 400);
386
463
  }
387
- return this.sendRpc(res, useBinary, { jsonrpc: '2.0', result: dispatch.result, id });
464
+ const result = useBinary ? binaryRpcResult(method, dispatch.result) : dispatch.result;
465
+ // JSON-RPC success responses must carry a result member. Preserve an
466
+ // explicit null for void storage methods rather than letting
467
+ // JSON.stringify silently omit an undefined result.
468
+ const payload = { jsonrpc: '2.0', result: result ?? null, id };
469
+ const serialized = escapeRpcJson((0, BinaryJson_1.stringifyJsonRpc)(payload, useBinary));
470
+ // Apply the response bound before consulting any client transport preference.
471
+ if (this.maxRpcResponseBytes !== -1 && Buffer.byteLength(serialized, 'utf8') > this.maxRpcResponseBytes) {
472
+ return await this.sendOversizedSyncResponse(req, res, useBinary, method, params, payload);
473
+ }
474
+ return this.sendRpc(res, useBinary, payload, 200, serialized);
388
475
  }
389
476
  catch (error) {
390
477
  return this.sendRpcError(res, useBinary, id, error);
391
478
  }
392
479
  }
480
+ async sendOversizedSyncResponse(req, res, useBinary, method, params, payload) {
481
+ // Dispatch already applied normal RPC authorization. Negotiation changes only framing.
482
+ if (method !== 'getSyncChunk' || params[0]?.syncTransferVersion !== 1 || this.syncTransfers == null) {
483
+ return this.sendRpc(res, useBinary, payload);
484
+ }
485
+ const manifest = await this.syncTransfers.beginRead(requiredAuthenticatedIdentityKey(req), (0, SyncTransfer_1.syncTransferDigest)((0, SyncTransfer_1.encodeSyncTransfer)(params[0])), (0, SyncTransfer_1.encodeSyncTransfer)((0, syncChunkBinary_1.syncChunkBinary)(payload.result)));
486
+ return this.sendRpc(res, useBinary, { ...payload, result: { syncTransfer: manifest } });
487
+ }
393
488
  traceHttpRequest(req, res, next) {
394
489
  const span = this.telemetry.startSpan('wallet.storage.http.request', {
395
490
  component: 'wallet-storage-server',
@@ -423,9 +518,8 @@ class StorageServer {
423
518
  });
424
519
  next();
425
520
  }
426
- sendRpc(res, useBinary, payload, status = 200) {
521
+ sendRpc(res, useBinary, payload, status = 200, serialized = escapeRpcJson((0, BinaryJson_1.stringifyJsonRpc)(payload, useBinary))) {
427
522
  res.set('X-Content-Type-Options', 'nosniff');
428
- const serialized = (0, BinaryJson_1.stringifyJsonRpc)(payload, useBinary);
429
523
  if (this.maxRpcResponseBytes !== -1 && Buffer.byteLength(serialized, 'utf8') > this.maxRpcResponseBytes) {
430
524
  return res.status(413).json({
431
525
  jsonrpc: '2.0',
@@ -446,6 +540,7 @@ class StorageServer {
446
540
  if (topLevelIndex != null) {
447
541
  const args = this.objectArgument(params, topLevelIndex);
448
542
  args.limit = this.normalizedRpcLimit(args.limit);
543
+ args.offset = this.normalizedRpcOffset(args.offset);
449
544
  }
450
545
  const pagedIndex = pagedLimitArgument.get(method);
451
546
  if (pagedIndex != null) {
@@ -455,8 +550,22 @@ class StorageServer {
455
550
  throw new TypeError('paged must be an object');
456
551
  }
457
552
  paged.limit = this.normalizedRpcLimit(paged.limit);
553
+ paged.offset = this.normalizedRpcOffset(paged.offset);
458
554
  args.paged = paged;
459
555
  }
556
+ if (method === 'getSyncChunk' || method === 'processSyncChunk') {
557
+ const args = this.objectArgument(params, 0);
558
+ if (args.offsets != null) {
559
+ if (!Array.isArray(args.offsets))
560
+ throw new TypeError('offsets must be an array');
561
+ for (const entry of args.offsets) {
562
+ if (entry == null || typeof entry !== 'object' || Array.isArray(entry)) {
563
+ throw new TypeError('offset entries must be objects');
564
+ }
565
+ entry.offset = this.normalizedRpcOffset(entry.offset);
566
+ }
567
+ }
568
+ }
460
569
  if (method === 'getSyncChunk') {
461
570
  const args = this.objectArgument(params, 0);
462
571
  args.maxItems = this.normalizedRpcLimit(args.maxItems);
@@ -477,6 +586,9 @@ class StorageServer {
477
586
  throw new RangeError('RPC parameter nesting exceeds 64 levels');
478
587
  if (current.value == null || typeof current.value !== 'object')
479
588
  continue;
589
+ // Decoded binary values are bounded by the HTTP body limit, not item cardinality.
590
+ if (current.value instanceof Uint8Array)
591
+ continue;
480
592
  if (seen.has(current.value))
481
593
  continue;
482
594
  seen.add(current.value);
@@ -513,12 +625,24 @@ class StorageServer {
513
625
  }
514
626
  return limit;
515
627
  }
628
+ normalizedRpcOffset(value) {
629
+ if (value == null)
630
+ return 0;
631
+ if (!Number.isSafeInteger(value) || Number(value) < 0) {
632
+ throw new RangeError('RPC list offsets must be non-negative safe integers');
633
+ }
634
+ const offset = Number(value);
635
+ if (this.maxRpcListOffset !== -1 && offset > this.maxRpcListOffset) {
636
+ throw new RangeError(`RPC list offsets must not exceed ${this.maxRpcListOffset}`);
637
+ }
638
+ return offset;
639
+ }
516
640
  sendRpcError(res, useBinary, id, error) {
517
641
  /**
518
642
  * Convert errors to standard JSON object format that can be converted back
519
643
  * to WalletError derived objects on the client side and re-thrown.
520
644
  */
521
- const json = WalletError_1.WalletError.unknownToJson(error);
645
+ const json = publicWalletErrorJson(error);
522
646
  return this.sendRpc(res, useBinary, {
523
647
  jsonrpc: '2.0',
524
648
  error: JSON.parse(json),
@@ -547,7 +671,13 @@ class StorageServer {
547
671
  async dispatchRpcCall(method, params, req, logObj, rpcSpan) {
548
672
  if (!storageRpcMethods.has(method))
549
673
  return { found: false };
550
- const storageMethod = method === 'findOutputBaskets' ? 'findOutputBasketsAuth' : method;
674
+ const storageMethod = method === 'findOutputBaskets'
675
+ ? 'findOutputBasketsAuth'
676
+ : method === 'findProvenTxReqs'
677
+ ? 'findProvenTxReqsAuth'
678
+ : method === 'updateProvenTxReqWithNewProvenTx'
679
+ ? 'updateProvenTxReqWithNewProvenTxAuth'
680
+ : method;
551
681
  const storageHandler = this.storage[storageMethod];
552
682
  if (typeof storageHandler !== 'function')
553
683
  return { found: false };
@@ -556,7 +686,16 @@ class StorageServer {
556
686
  return { found: true, result: undefined };
557
687
  const logger = this.createRpcLogger(method, params);
558
688
  try {
559
- const result = await this.traceRpcStep('wallet.storage.handler', rpcSpan, async () => await storageHandler.call(this.storage, ...params), { 'rpc.method': method });
689
+ let result = await this.traceRpcStep('wallet.storage.handler', rpcSpan, async () => await storageHandler.call(this.storage, ...params), { 'rpc.method': method });
690
+ if ((method === 'makeAvailable' || method === 'getSettings') &&
691
+ typeof this.storage.getSyncCheckpoint === 'function') {
692
+ // Advertise on the wire without mutating the persisted settings object.
693
+ result = {
694
+ ...result,
695
+ syncCheckpointVersion: 1,
696
+ ...(this.syncTransfers == null ? {} : { syncTransfer: this.syncTransfers.capabilities })
697
+ };
698
+ }
560
699
  this.finishRpcLogging(logger, result);
561
700
  return { found: true, result };
562
701
  }
@@ -566,6 +705,70 @@ class StorageServer {
566
705
  throw error;
567
706
  }
568
707
  }
708
+ async dispatchSyncTransfer(method, params, req) {
709
+ const transfers = this.syncTransfers;
710
+ if (transfers == null)
711
+ return { found: false };
712
+ const identityKey = requiredAuthenticatedIdentityKey(req);
713
+ const input = params[0];
714
+ if (input == null || typeof input !== 'object' || input.identityKey !== identityKey) {
715
+ throw new WERR_errors_1.WERR_UNAUTHORIZED('Sync transfer identity must match authentication');
716
+ }
717
+ let result;
718
+ switch (method) {
719
+ case 'beginReadSyncTransfer': {
720
+ const args = input.args;
721
+ if (args?.identityKey !== identityKey ||
722
+ args.fromStorageIdentityKey !== this.storage.getSettings().storageIdentityKey) {
723
+ throw new WERR_errors_1.WERR_UNAUTHORIZED('Sync transfer source must match authenticated storage');
724
+ }
725
+ // Retain existing request validation, authorization, ordering and user scoping.
726
+ const context = (0, SyncTransfer_1.syncTransferDigest)((0, SyncTransfer_1.encodeSyncTransfer)(args));
727
+ this.enforceRpcRequestBudgets('getSyncChunk', [args]);
728
+ await this.authorizeRpcCall('getSyncChunk', [args], req);
729
+ const chunk = await this.storage.getSyncChunk(args);
730
+ const bytes = (0, SyncTransfer_1.encodeSyncTransfer)((0, syncChunkBinary_1.syncChunkBinary)(chunk));
731
+ result = await transfers.beginRead(identityKey, context, bytes);
732
+ break;
733
+ }
734
+ case 'readSyncTransferPart':
735
+ result = await transfers.read(identityKey, input.transferId, input.offset);
736
+ break;
737
+ case 'beginWriteSyncTransfer':
738
+ result = await transfers.beginWrite(identityKey, input.digest, input.totalBytes);
739
+ break;
740
+ case 'writeSyncTransferPart':
741
+ result = await transfers.write(identityKey, input.transferId, input.offset, input.bytes);
742
+ break;
743
+ case 'commitSyncTransfer': {
744
+ const staged = await transfers.loadWrite(identityKey, input.transferId);
745
+ if (staged.result !== undefined)
746
+ return { found: true, result: staged.result };
747
+ const payload = (0, SyncTransfer_1.decodeSyncTransfer)(staged.bytes);
748
+ if (payload?.args?.identityKey !== identityKey ||
749
+ payload.chunk?.userIdentityKey !== identityKey ||
750
+ payload.args.toStorageIdentityKey !== this.storage.getSettings().storageIdentityKey ||
751
+ payload.chunk.toStorageIdentityKey !== payload.args.toStorageIdentityKey ||
752
+ payload.chunk.fromStorageIdentityKey !== payload.args.fromStorageIdentityKey) {
753
+ throw new WERR_errors_1.WERR_UNAUTHORIZED('Sync transfer wallet and storage identities must match');
754
+ }
755
+ // Mark only the reconstructed request: old peers retain their existing wire contract.
756
+ payload.args.requireMatchingCheckpoint = true;
757
+ this.enforceRpcRequestBudgets('processSyncChunk', [payload.args, payload.chunk]);
758
+ const dispatch = await this.dispatchRpcCall('processSyncChunk', [payload.args, payload.chunk], req);
759
+ result = dispatch.result;
760
+ await transfers.complete(identityKey, input.transferId, result);
761
+ break;
762
+ }
763
+ case 'releaseSyncTransfer':
764
+ await transfers.release(identityKey, input.transferId);
765
+ result = true;
766
+ break;
767
+ default:
768
+ return { found: false };
769
+ }
770
+ return { found: true, result };
771
+ }
569
772
  async traceRpcStep(name, parent, callback, attributes) {
570
773
  if (parent == null)
571
774
  return await callback();
@@ -579,7 +782,8 @@ class StorageServer {
579
782
  async authorizeRpcCall(method, params, req, logObj) {
580
783
  switch (method) {
581
784
  case 'destroy':
582
- this.logIgnoredDestroy(logObj);
785
+ case 'migrate':
786
+ this.logIgnoredLifecycleMutation(logObj);
583
787
  return false;
584
788
  case 'getSettings':
585
789
  return true;
@@ -591,16 +795,24 @@ class StorageServer {
591
795
  case 'adminStats':
592
796
  this.authorizeAdminStats(params, req);
593
797
  return true;
798
+ case 'findProvenTxReqs':
799
+ case 'updateProvenTxReqWithNewProvenTx': {
800
+ const args = params[0];
801
+ const auth = await this.authenticatedAuth(req, activeStorageRpcMethods.has(method));
802
+ params.splice(0, params.length, auth, args);
803
+ return true;
804
+ }
594
805
  case 'processSyncChunk':
595
806
  await this.validateParam0(params, req);
596
807
  (0, entityValidationHelpers_1.validateSyncChunkEntities)(params[1]);
808
+ await (0, validateRpcSyncProofs_1.validateSyncProofs)(this.storage, params[1].provenTxs ?? []);
597
809
  return true;
598
810
  default:
599
811
  await this.authorizeStandardRpcCall(method, params, req);
600
812
  return true;
601
813
  }
602
814
  }
603
- logIgnoredDestroy(logObj) {
815
+ logIgnoredLifecycleMutation(logObj) {
604
816
  if (logObj == null)
605
817
  return;
606
818
  logObj.result = undefined;
@@ -618,7 +830,7 @@ class StorageServer {
618
830
  }
619
831
  async authorizeStandardRpcCall(method, params, req) {
620
832
  if (authIdRpcMethods.has(method)) {
621
- await this.bindAuthenticatedAuth(params, req, actionBatchRpcMethods.has(method));
833
+ await this.bindAuthenticatedAuth(params, req, activeStorageRpcMethods.has(method));
622
834
  return;
623
835
  }
624
836
  await this.validateParam0(params, req);
@@ -652,7 +864,7 @@ class StorageServer {
652
864
  const { user } = await this.storage.findOrInsertUser(identityKey);
653
865
  const isActive = user.activeStorage === this.storage.getSettings().storageIdentityKey;
654
866
  if (requireActive && !isActive) {
655
- throw new WERR_errors_1.WERR_NOT_ACTIVE("action batch methods require the authenticated user's active storage provider");
867
+ throw new WERR_errors_1.WERR_NOT_ACTIVE("this method requires the authenticated user's active storage provider");
656
868
  }
657
869
  return {
658
870
  identityKey,