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

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 +4 -3
  492. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  493. package/out/src/signer/methods/createAction.js +3 -1
  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 +12 -2
  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 +390 -105
  593. package/out/src/storage/methods/createAction.js.map +1 -1
  594. package/out/src/storage/methods/generateChange.d.ts +15 -5
  595. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  596. package/out/src/storage/methods/generateChange.js +187 -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 +32 -30
  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 +359 -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 +372 -9
  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 +221 -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 +4 -0
  712. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
  713. package/out/src/storage/remoting/syncChunkBinary.js +38 -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 +36 -32
  878. package/docs/open-rpc/index.html +0 -46
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaleSyncProofError = void 0;
4
+ exports.markSyncProofReconciled = markSyncProofReconciled;
5
+ exports.syncProofUpdatedAt = syncProofUpdatedAt;
6
+ exports.canonicalizeSyncProofIdentifiers = canonicalizeSyncProofIdentifiers;
7
+ exports.sameSyncProof = sameSyncProof;
8
+ exports.markSyncProofInsertOnly = markSyncProofInsertOnly;
9
+ exports.assertSyncProofReplacementAuthorized = assertSyncProofReplacementAuthorized;
10
+ exports.validateSyncProof = validateSyncProof;
11
+ const sdk_1 = require("@bsv/sdk");
12
+ const WERR_errors_1 = require("../../sdk/WERR_errors");
13
+ const utilityHelpers_1 = require("../../utility/utilityHelpers");
14
+ const utilityHelpers_noBuffer_1 = require("../../utility/utilityHelpers.noBuffer");
15
+ const replacementAuthorized = new WeakSet();
16
+ const insertOnly = new WeakSet();
17
+ const reconciled = new WeakSet();
18
+ function equalBytes(a, b) {
19
+ return a.length === b.length && a.every((value, index) => value === b[index]);
20
+ }
21
+ /** Identifies a structurally valid proof which needs current-chain reconciliation. */
22
+ class StaleSyncProofError extends WERR_errors_1.WERR_INVALID_PARAMETER {
23
+ constructor() {
24
+ super('provenTx', 'a server-verified proof. Merkle root is not active at the recorded height');
25
+ }
26
+ }
27
+ exports.StaleSyncProofError = StaleSyncProofError;
28
+ function invalidSyncProof(message) {
29
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('provenTx', `a server-verified proof. ${message}`);
30
+ }
31
+ /** Mark a fully validated reconciliation without changing the source cursor timestamp. */
32
+ function markSyncProofReconciled(candidate) {
33
+ if (!replacementAuthorized.has(candidate))
34
+ invalidSyncProof('reconciliation requires active-chain validation');
35
+ reconciled.add(candidate);
36
+ }
37
+ /** A local correction must be discoverable by subsequent incremental readers. */
38
+ function syncProofUpdatedAt(candidate, existing) {
39
+ return reconciled.has(candidate)
40
+ ? new Date(Math.max(Date.now(), candidate.updated_at.getTime(), (existing?.getTime() ?? -1) + 1))
41
+ : candidate.updated_at;
42
+ }
43
+ /** Normalize text-key identifiers before lookup or persistence. */
44
+ function canonicalizeSyncProofIdentifiers(candidate) {
45
+ if (!/^[0-9a-f]{64}$/i.test(candidate.txid))
46
+ invalidSyncProof('txid must be 32-byte hexadecimal');
47
+ if (!/^[0-9a-f]{64}$/i.test(candidate.blockHash)) {
48
+ invalidSyncProof('block hash must be 32-byte hexadecimal');
49
+ }
50
+ if (!/^[0-9a-f]{64}$/i.test(candidate.merkleRoot)) {
51
+ invalidSyncProof('Merkle root must be 32-byte hexadecimal');
52
+ }
53
+ candidate.txid = candidate.txid.toLowerCase();
54
+ candidate.blockHash = candidate.blockHash.toLowerCase();
55
+ candidate.merkleRoot = candidate.merkleRoot.toLowerCase();
56
+ }
57
+ /** Compare proof authority fields, excluding local IDs and timestamps. */
58
+ function sameSyncProof(a, b) {
59
+ return (a.txid.toLowerCase() === b.txid.toLowerCase() &&
60
+ a.height === b.height &&
61
+ a.index === b.index &&
62
+ equalBytes(a.merklePath, b.merklePath) &&
63
+ equalBytes(a.rawTx, b.rawTx) &&
64
+ a.blockHash.toLowerCase() === b.blockHash.toLowerCase() &&
65
+ a.merkleRoot.toLowerCase() === b.merkleRoot.toLowerCase());
66
+ }
67
+ /** Record that preflight found no row which this candidate may replace. */
68
+ function markSyncProofInsertOnly(candidate) {
69
+ insertOnly.add(candidate);
70
+ }
71
+ /**
72
+ * Enforce the pre-transaction proof decision again at the entity merge point.
73
+ * This closes the race where another process inserts the txid after preflight.
74
+ */
75
+ function assertSyncProofReplacementAuthorized(candidate) {
76
+ if (replacementAuthorized.has(candidate))
77
+ return;
78
+ if (insertOnly.has(candidate)) {
79
+ invalidSyncProof('a concurrent proof row appeared; retry synchronization');
80
+ }
81
+ invalidSyncProof('replacement requires active-chain validation');
82
+ }
83
+ /**
84
+ * Validate proof authority before an RPC proof is admitted or an in-process
85
+ * backup/conflict proof replaces an existing global row. Network-backed checks
86
+ * run before the storage merge transaction is opened.
87
+ */
88
+ async function validateSyncProof(storage, candidate) {
89
+ canonicalizeSyncProofIdentifiers(candidate);
90
+ if (!Number.isSafeInteger(candidate.height) || candidate.height < 0) {
91
+ invalidSyncProof('height must be a non-negative safe integer');
92
+ }
93
+ if (!Number.isSafeInteger(candidate.index) || candidate.index < 0) {
94
+ invalidSyncProof('index must be a non-negative safe integer');
95
+ }
96
+ if (!Array.isArray(candidate.rawTx) || candidate.rawTx.length === 0) {
97
+ invalidSyncProof('raw transaction is required');
98
+ }
99
+ if (!Array.isArray(candidate.merklePath) || candidate.merklePath.length === 0) {
100
+ invalidSyncProof('Merkle path is required');
101
+ }
102
+ try {
103
+ const parsed = sdk_1.Transaction.fromBinary(candidate.rawTx);
104
+ const rawTxid = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(candidate.rawTx));
105
+ if (parsed.id('hex') !== rawTxid || rawTxid !== candidate.txid.toLowerCase()) {
106
+ invalidSyncProof('raw transaction hash does not match txid');
107
+ }
108
+ const proof = sdk_1.MerklePath.fromBinary(candidate.merklePath);
109
+ if (proof.blockHeight !== candidate.height)
110
+ invalidSyncProof('Merkle path height does not match the record');
111
+ const leaf = proof.path[0]?.find(item => item.txid === true && item.hash === candidate.txid.toLowerCase());
112
+ if (leaf?.offset !== candidate.index) {
113
+ invalidSyncProof('Merkle path does not contain the transaction at the recorded index');
114
+ }
115
+ const root = proof.computeRoot(candidate.txid.toLowerCase());
116
+ if (root !== candidate.merkleRoot.toLowerCase())
117
+ invalidSyncProof('computed Merkle root does not match the record');
118
+ const services = storage.getServices();
119
+ const chainTracker = await services.getChainTracker();
120
+ if ((await chainTracker.isValidRootForHeight(root, candidate.height)) !== true) {
121
+ throw new StaleSyncProofError();
122
+ }
123
+ const header = await services.getHeaderForHeight(candidate.height);
124
+ if (header.length !== 80)
125
+ invalidSyncProof('active block header must be 80 bytes');
126
+ const activeHash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(header));
127
+ const activeMerkleRoot = (0, utilityHelpers_noBuffer_1.asString)(header.slice(36, 68).reverse());
128
+ if (activeHash !== candidate.blockHash.toLowerCase() || activeMerkleRoot !== root) {
129
+ invalidSyncProof('block metadata does not match the active header');
130
+ }
131
+ replacementAuthorized.add(candidate);
132
+ }
133
+ catch (error) {
134
+ if (error instanceof WERR_errors_1.WERR_INVALID_PARAMETER)
135
+ throw error;
136
+ invalidSyncProof('transaction, Merkle path, or active header could not be validated');
137
+ }
138
+ }
139
+ //# sourceMappingURL=validateSyncProof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateSyncProof.js","sourceRoot":"","sources":["../../../../src/storage/methods/validateSyncProof.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/portable/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/portable/index.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,11 @@ exports.encryptBRC39 = encryptBRC39;
13
13
  exports.decryptBRC39 = decryptBRC39;
14
14
  const sdk_1 = require("@bsv/sdk");
15
15
  const AESGCM_1 = require("@bsv/sdk/primitives/AESGCM");
16
+ const utils_1 = require("@bsv/sdk/primitives/utils");
16
17
  const hashWasm_1 = require("../../utility/hashWasm");
17
18
  const EntityBase_1 = require("../schema/entities/EntityBase");
18
19
  const utilityHelpers_1 = require("../../utility/utilityHelpers");
20
+ const managedChangePolicy_1 = require("../methods/managedChangePolicy");
19
21
  const BRC38_TITLE = 'User Wallet Data Format';
20
22
  const BRC39_MAGIC = [0x57, 0x44, 0x41, 0x54]; // WDAT
21
23
  const BRC39_HEADER_LENGTH = 33;
@@ -108,11 +110,9 @@ async function exportBRC38(storage, identityKey) {
108
110
  const commissions = await storage.findCommissions({ partial: { userId } });
109
111
  const outputs = await storage.findOutputs({ partial: { userId } });
110
112
  const outputTags = await storage.findOutputTags({ partial: { userId } });
111
- const outputTagMaps = (await storage.getOutputTagMapsForUser({ userId }))
112
- .filter(m => outputs.some(o => o.outputId === m.outputId));
113
+ const outputTagMaps = (await storage.getOutputTagMapsForUser({ userId })).filter(m => outputs.some(o => o.outputId === m.outputId));
113
114
  const txLabels = await storage.findTxLabels({ partial: { userId } });
114
- const txLabelMaps = (await storage.getTxLabelMapsForUser({ userId }))
115
- .filter(m => transactionIds.has(m.transactionId));
115
+ const txLabelMaps = (await storage.getTxLabelMapsForUser({ userId })).filter(m => transactionIds.has(m.transactionId));
116
116
  const certificates = await storage.findCertificates({ partial: { userId } });
117
117
  const certificateFields = await storage.findCertificateFields({ partial: { userId } });
118
118
  const syncStates = await storage.findSyncStates({ partial: { userId } });
@@ -181,7 +181,7 @@ async function importBRC39(storage, bytes, password, options) {
181
181
  }
182
182
  async function encryptBRC39(documentOrJson, password, options) {
183
183
  const data = typeof documentOrJson === 'string' ? parseBRC38Json(documentOrJson) : validateBRC38(documentOrJson);
184
- const plaintext = new Uint8Array(sdk_1.Utils.toArray(canonicalize(data), 'utf8'));
184
+ const plaintext = new Uint8Array((0, utils_1.toArray)(canonicalize(data), 'utf8'));
185
185
  const salt = new Uint8Array((0, sdk_1.Random)(BRC39_SALT_LENGTH));
186
186
  const nonce = new Uint8Array((0, sdk_1.Random)(BRC39_NONCE_LENGTH));
187
187
  const iterations = options?.iterations ?? BRC39_DEFAULT_ITERATIONS;
@@ -259,7 +259,7 @@ async function decryptBRC39(bytes, password) {
259
259
  const plaintext = (0, AESGCM_1.AESGCMDecrypt)(ciphertext, nonce, tag, key);
260
260
  if (plaintext == null)
261
261
  throw new Error('BRC-39 authentication failed');
262
- return parseBRC38Json(sdk_1.Utils.toUTF8(Array.from(plaintext)));
262
+ return parseBRC38Json((0, utils_1.toUTF8)(Array.from(plaintext)));
263
263
  }
264
264
  function validateBRC38(value) {
265
265
  rejectNulls(value, 'document');
@@ -326,8 +326,9 @@ async function restoreBRC38(storage, data) {
326
326
  await storage.insertUser({ ...data.user }, trx);
327
327
  for (const row of data.provenTxs)
328
328
  await storage.insertProvenTx({ ...row }, trx);
329
- for (const row of data.outputBaskets)
330
- await storage.insertOutputBasket({ ...row }, trx);
329
+ for (const row of data.outputBaskets) {
330
+ await storage.insertOutputBasket((0, managedChangePolicy_1.upgradeLegacyManagedChangeBasketDefault)({ ...row }), trx);
331
+ }
331
332
  for (const row of data.outputTags)
332
333
  await storage.insertOutputTag({ ...row }, trx);
333
334
  for (const row of data.txLabels)
@@ -538,10 +539,19 @@ async function assertRestoreTargetEmpty(storage) {
538
539
  throw new Error('BRC-38 restore requires an empty target storage except settings');
539
540
  }
540
541
  function countDecodedRows(data) {
541
- return data.provenTxs.length + data.provenTxReqs.length + data.outputBaskets.length + data.transactions.length +
542
- data.commissions.length + data.outputs.length + data.outputTags.length + data.outputTagMaps.length +
543
- data.txLabels.length + data.txLabelMaps.length + data.certificates.length + data.certificateFields.length +
544
- data.syncStates.length;
542
+ return (data.provenTxs.length +
543
+ data.provenTxReqs.length +
544
+ data.outputBaskets.length +
545
+ data.transactions.length +
546
+ data.commissions.length +
547
+ data.outputs.length +
548
+ data.outputTags.length +
549
+ data.outputTagMaps.length +
550
+ data.txLabels.length +
551
+ data.txLabelMaps.length +
552
+ data.certificates.length +
553
+ data.certificateFields.length +
554
+ data.syncStates.length);
545
555
  }
546
556
  function buildRelationshipIndex(data) {
547
557
  return {
@@ -668,7 +678,7 @@ function portableRow(kind, row) {
668
678
  if (key === 'logger')
669
679
  continue;
670
680
  if (binaryFields.has(key)) {
671
- out[key] = sdk_1.Utils.toBase64(value);
681
+ out[key] = (0, utils_1.toBase64)(value);
672
682
  }
673
683
  else if (jsonFields.has(key)) {
674
684
  out[key] = typeof value === 'string' ? JSON.parse(value) : value;
@@ -691,7 +701,7 @@ function fromPortableRow(kind, row) {
691
701
  if (dateFields.has(key))
692
702
  out[key] = new Date(value);
693
703
  else if (binaryFields.has(key))
694
- out[key] = sdk_1.Utils.toArray(value, 'base64');
704
+ out[key] = (0, utils_1.toArray)(value, 'base64');
695
705
  else if (jsonFields.has(key))
696
706
  out[key] = JSON.stringify(value);
697
707
  else
@@ -830,7 +840,7 @@ function concatBytes(...arrays) {
830
840
  async function deriveBRC39Key(password, salt, iterations, memoryKiB, parallelism) {
831
841
  const normalized = password.normalize('NFC');
832
842
  const hash = await (0, hashWasm_1.argon2id)({
833
- password: new Uint8Array(sdk_1.Utils.toArray(normalized, 'utf8')),
843
+ password: new Uint8Array((0, utils_1.toArray)(normalized, 'utf8')),
834
844
  salt,
835
845
  iterations,
836
846
  memorySize: memoryKiB,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/portable/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/portable/index.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,15 @@ export declare function binaryJsonReviver(_key: string, value: unknown): unknown
7
7
  export declare function decodeBinaryJsonValue(value: unknown): unknown;
8
8
  export declare function stringifyJsonRpc(value: unknown, binary: boolean): string;
9
9
  export declare function parseJsonRpc(text: string, binary?: boolean): any;
10
+ export type ValidatedJsonRpcResponse = {
11
+ jsonrpc: '2.0';
12
+ id: number;
13
+ result: unknown;
14
+ } | {
15
+ jsonrpc: '2.0';
16
+ id: number;
17
+ error: unknown;
18
+ };
19
+ /** Require one exact response for the request that produced it. */
20
+ export declare function validateJsonRpcResponse(value: unknown, expectedId: number): ValidatedJsonRpcResponse;
10
21
  //# sourceMappingURL=BinaryJson.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryJson.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/BinaryJson.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,0BAA0B,CAAA;AAC7D,eAAO,MAAM,8BAA8B,kCAAkC,CAAA;AAC7E,eAAO,MAAM,eAAe,WAAW,CAAA;AAmKvC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAYtG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAIvE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmB7D;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAExE;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,GAAG,CAEvE"}
1
+ {"version":3,"file":"BinaryJson.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/BinaryJson.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,0BAA0B,CAAA;AAC7D,eAAO,MAAM,8BAA8B,kCAAkC,CAAA;AAC7E,eAAO,MAAM,eAAe,WAAW,CAAA;AAmKvC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAYtG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAIvE;AAuBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiB7D;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAExE;AAqBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,GAAG,CAoBvE;AAED,MAAM,MAAM,wBAAwB,GAClC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAElG,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,wBAAwB,CAsCpG"}
@@ -7,6 +7,7 @@ exports.binaryJsonReviver = binaryJsonReviver;
7
7
  exports.decodeBinaryJsonValue = decodeBinaryJsonValue;
8
8
  exports.stringifyJsonRpc = stringifyJsonRpc;
9
9
  exports.parseJsonRpc = parseJsonRpc;
10
+ exports.validateJsonRpcResponse = validateJsonRpcResponse;
10
11
  exports.BINARY_ENCODING_HEADER = 'X-BSV-Binary-Encoding';
11
12
  exports.BINARY_REQUEST_ENCODING_HEADER = 'X-BSV-Binary-Request-Encoding';
12
13
  exports.BINARY_ENCODING = 'base64';
@@ -178,6 +179,23 @@ function binaryJsonReviver(_key, value) {
178
179
  return Object.fromEntries(value.entries);
179
180
  return value;
180
181
  }
182
+ function collectDecodedChildren(current, replacements, stack) {
183
+ if (Array.isArray(current)) {
184
+ // Numeric byte arrays are common in sync responses. Avoid allocating an
185
+ // entry tuple and invoking a JSON reviver for every byte.
186
+ for (let index = 0; index < current.length; index++) {
187
+ const child = current[index];
188
+ if (child != null && typeof child === 'object') {
189
+ collectDecodedChild(String(index), child, replacements, stack);
190
+ }
191
+ }
192
+ }
193
+ else {
194
+ for (const [key, child] of Object.entries(current)) {
195
+ collectDecodedChild(key, child, replacements, stack);
196
+ }
197
+ }
198
+ }
181
199
  function decodeBinaryJsonValue(value) {
182
200
  if (isTaggedBinary(value))
183
201
  return fromBase64(value.data);
@@ -193,9 +211,7 @@ function decodeBinaryJsonValue(value) {
193
211
  if (current == null)
194
212
  continue;
195
213
  const replacements = [];
196
- for (const [key, child] of Object.entries(current)) {
197
- collectDecodedChild(key, child, replacements, stack);
198
- }
214
+ collectDecodedChildren(current, replacements, stack);
199
215
  if (replacements.length > 0)
200
216
  defineOwnValues(current, replacements);
201
217
  }
@@ -208,11 +224,81 @@ const JSON_RPC_REPLACERS = new Map([
208
224
  function stringifyJsonRpc(value, binary) {
209
225
  return JSON.stringify(value, JSON_RPC_REPLACERS.get(binary));
210
226
  }
211
- const JSON_RPC_REVIVERS = new Map([
212
- [true, binaryJsonReviver],
213
- [false, undefined]
214
- ]);
227
+ function pushJsonChildren(frame, stack) {
228
+ const push = (key, child) => {
229
+ if (child != null && typeof child === 'object') {
230
+ stack.push({ value: child, holder: frame.value, key, visited: false });
231
+ }
232
+ };
233
+ if (Array.isArray(frame.value)) {
234
+ for (let index = frame.value.length - 1; index >= 0; index--) {
235
+ const child = frame.value[index];
236
+ if (child != null && typeof child === 'object')
237
+ push(String(index), child);
238
+ }
239
+ }
240
+ else {
241
+ const entries = Object.entries(frame.value);
242
+ for (let index = entries.length - 1; index >= 0; index--)
243
+ push(...entries[index]);
244
+ }
245
+ }
215
246
  function parseJsonRpc(text, binary = false) {
216
- return JSON.parse(text, JSON_RPC_REVIVERS.get(binary));
247
+ const value = JSON.parse(text);
248
+ if (!binary || value == null || typeof value !== 'object')
249
+ return value;
250
+ // Match the exported reviver's bottom-up semantics, including escaped
251
+ // marker collisions and duplicate entry validation, without a callback per
252
+ // scalar byte or recursion proportional to remote JSON nesting depth.
253
+ const root = { value };
254
+ const stack = [{ value, holder: root, key: 'value', visited: false }];
255
+ while (stack.length > 0) {
256
+ const frame = stack.pop();
257
+ if (frame.visited) {
258
+ const decoded = binaryJsonReviver(frame.key, frame.value);
259
+ if (decoded !== frame.value)
260
+ defineOwnValues(frame.holder, [[frame.key, decoded]]);
261
+ continue;
262
+ }
263
+ stack.push({ ...frame, visited: true });
264
+ pushJsonChildren(frame, stack);
265
+ }
266
+ return root.value;
267
+ }
268
+ /** Require one exact response for the request that produced it. */
269
+ function validateJsonRpcResponse(value, expectedId) {
270
+ if (value == null || typeof value !== 'object' || Array.isArray(value)) {
271
+ throw new Error('Wallet storage returned an invalid JSON-RPC response');
272
+ }
273
+ const prototype = Object.getPrototypeOf(value);
274
+ const properties = Object.getOwnPropertyDescriptors(value);
275
+ const keys = Object.keys(properties);
276
+ if ((prototype !== Object.prototype && prototype !== null) ||
277
+ Object.getOwnPropertySymbols(value).length !== 0 ||
278
+ Object.values(properties).some(property => property.get != null || property.set != null) ||
279
+ keys.some(key => key !== 'jsonrpc' && key !== 'id' && key !== 'result' && key !== 'error') ||
280
+ keys.length !== 3 ||
281
+ properties.jsonrpc?.value !== '2.0' ||
282
+ properties.id?.value !== expectedId ||
283
+ !Number.isSafeInteger(expectedId) ||
284
+ expectedId < 1 ||
285
+ Object.prototype.hasOwnProperty.call(properties, 'result') ===
286
+ Object.prototype.hasOwnProperty.call(properties, 'error')) {
287
+ throw new Error('Wallet storage returned an invalid JSON-RPC response');
288
+ }
289
+ if (Object.prototype.hasOwnProperty.call(properties, 'error')) {
290
+ const error = properties.error.value;
291
+ if (error == null || typeof error !== 'object' || Array.isArray(error)) {
292
+ throw new Error('Wallet storage returned an invalid JSON-RPC response');
293
+ }
294
+ const errorPrototype = Object.getPrototypeOf(error);
295
+ const errorProperties = Object.getOwnPropertyDescriptors(error);
296
+ if ((errorPrototype !== Object.prototype && errorPrototype !== null) ||
297
+ Object.getOwnPropertySymbols(error).length !== 0 ||
298
+ Object.values(errorProperties).some(property => property.get != null || property.set != null)) {
299
+ throw new Error('Wallet storage returned an invalid JSON-RPC response');
300
+ }
301
+ }
302
+ return value;
217
303
  }
218
304
  //# sourceMappingURL=BinaryJson.js.map