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

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 (886) hide show
  1. package/CHANGELOG.md +789 -1
  2. package/LICENSES/Open-BSV-License-4-wallet-pre-2026.txt +28 -0
  3. package/README.md +889 -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 +11241 -2525
  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 +411 -85
  13. package/docs/no-send-expiry.md +167 -0
  14. package/docs/prepared-beef.md +197 -0
  15. package/docs/services.md +5163 -2157
  16. package/docs/setup.md +153 -57
  17. package/docs/storage.md +5051 -851
  18. package/docs/sync-transfer.md +144 -0
  19. package/docs/wab-shamir.md +5 -1
  20. package/docs/wallet.md +10202 -10670
  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 +24 -0
  26. package/out/src/Setup.d.ts.map +1 -1
  27. package/out/src/Setup.js +30 -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 +2 -0
  85. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  86. package/out/src/monitor/MonitorDaemon.js +73 -17
  87. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  88. package/out/src/monitor/monitorValidation.d.ts +12 -0
  89. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  90. package/out/src/monitor/monitorValidation.js +133 -0
  91. package/out/src/monitor/monitorValidation.js.map +1 -0
  92. package/out/src/monitor/tasks/TaskArcSSE.d.ts +6 -1
  93. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  94. package/out/src/monitor/tasks/TaskArcSSE.js +117 -74
  95. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  96. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  97. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  98. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  99. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  100. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  101. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  102. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  103. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  104. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  105. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  106. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  107. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  108. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  109. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts +19 -0
  110. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts.map +1 -0
  111. package/out/src/monitor/tasks/TaskNoSendExpiry.js +47 -0
  112. package/out/src/monitor/tasks/TaskNoSendExpiry.js.map +1 -0
  113. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts +27 -0
  114. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -0
  115. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +242 -0
  116. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -0
  117. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  118. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  119. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  120. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  121. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +31 -9
  122. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  123. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  124. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  125. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  126. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  127. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +33 -6
  128. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  129. package/out/src/monitor/tasks/TaskReviewUtxos.js +189 -13
  130. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  131. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  132. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  133. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  134. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  135. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  136. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  137. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  138. package/out/src/monitor/tasks/index.all.d.ts +2 -0
  139. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  140. package/out/src/monitor/tasks/index.all.js +2 -0
  141. package/out/src/monitor/tasks/index.all.js.map +1 -1
  142. package/out/src/sdk/ActionBatch.interfaces.d.ts +23 -0
  143. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -1
  144. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  145. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  146. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  147. package/out/src/sdk/WERR_errors.d.ts +23 -0
  148. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  149. package/out/src/sdk/WERR_errors.js +51 -7
  150. package/out/src/sdk/WERR_errors.js.map +1 -1
  151. package/out/src/sdk/WalletError.d.ts.map +1 -1
  152. package/out/src/sdk/WalletError.js +7 -21
  153. package/out/src/sdk/WalletError.js.map +1 -1
  154. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  155. package/out/src/sdk/WalletErrorFromJson.js +121 -3
  156. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  157. package/out/src/sdk/WalletServices.interfaces.d.ts +45 -2
  158. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  159. package/out/src/sdk/WalletStorage.interfaces.d.ts +87 -4
  160. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  161. package/out/src/sdk/types.d.ts +3 -2
  162. package/out/src/sdk/types.d.ts.map +1 -1
  163. package/out/src/sdk/types.js +3 -2
  164. package/out/src/sdk/types.js.map +1 -1
  165. package/out/src/services/ServiceCollection.js +2 -2
  166. package/out/src/services/ServiceCollection.js.map +1 -1
  167. package/out/src/services/Services.d.ts +5 -0
  168. package/out/src/services/Services.d.ts.map +1 -1
  169. package/out/src/services/Services.js +346 -120
  170. package/out/src/services/Services.js.map +1 -1
  171. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  172. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  173. package/out/src/services/chaintracker/BHServiceClient.js +269 -66
  174. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  175. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  176. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  177. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  178. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  179. package/out/src/services/chaintracker/LocalChainTracker.d.ts +122 -0
  180. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -0
  181. package/out/src/services/chaintracker/LocalChainTracker.js +465 -0
  182. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -0
  183. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  185. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +48 -0
  187. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -0
  188. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js +3 -0
  189. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js.map +1 -0
  190. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
  191. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
  192. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
  193. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
  194. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  195. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  196. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +53 -0
  197. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  198. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +9 -2
  199. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  201. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  202. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +28 -3
  203. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  204. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +282 -64
  205. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  206. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  207. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  208. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  209. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  210. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  211. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  212. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +348 -30
  213. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  214. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  215. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  216. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +378 -44
  217. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  219. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  220. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  222. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  223. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  227. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  228. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  229. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  230. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  231. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  232. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  234. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  235. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  236. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  238. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  239. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  240. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  241. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  243. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  245. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  246. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  247. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  248. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  249. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  250. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  251. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  252. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  254. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  255. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  256. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  257. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  258. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  259. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  260. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  261. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  262. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  263. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  264. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  265. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  266. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  267. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  268. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  269. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  270. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  271. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  272. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +230 -28
  273. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  274. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  275. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  277. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  278. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +8 -1
  279. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  280. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +248 -87
  281. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  282. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  283. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  284. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  285. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  286. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +8 -0
  287. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  288. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +6 -3
  289. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  291. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  293. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  295. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  297. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  298. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  299. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  300. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  301. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  302. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  303. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  304. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  305. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +3 -0
  306. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
  307. package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
  308. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
  309. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +5 -0
  310. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  311. package/out/src/services/chaintracker/chaintracks/index.mobile.js +5 -0
  312. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  313. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +51 -0
  314. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -0
  315. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +394 -0
  316. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -0
  317. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +45 -1
  318. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  319. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +733 -166
  320. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  321. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  322. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  323. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  324. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts +32 -0
  325. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
  326. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +40 -0
  327. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
  328. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  329. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  330. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  331. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +3 -1
  332. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  333. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  334. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  335. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +38 -4
  336. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  337. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +191 -47
  338. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  339. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  340. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  341. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  342. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  343. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +48 -0
  344. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
  345. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +280 -0
  346. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
  347. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +30 -0
  348. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -0
  349. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +57 -0
  350. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -0
  351. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  352. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  353. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +14 -0
  354. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
  355. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +148 -0
  356. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
  357. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +41 -0
  358. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
  359. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +271 -0
  360. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
  361. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  362. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  363. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  364. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  365. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +17 -4
  366. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  367. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +362 -105
  368. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  369. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  370. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  371. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  372. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  373. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  374. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  375. package/out/src/services/chaintracker/index.all.d.ts +1 -0
  376. package/out/src/services/chaintracker/index.all.d.ts.map +1 -1
  377. package/out/src/services/chaintracker/index.all.js +1 -0
  378. package/out/src/services/chaintracker/index.all.js.map +1 -1
  379. package/out/src/services/chaintracker/index.client.d.ts +1 -0
  380. package/out/src/services/chaintracker/index.client.d.ts.map +1 -1
  381. package/out/src/services/chaintracker/index.client.js +1 -0
  382. package/out/src/services/chaintracker/index.client.js.map +1 -1
  383. package/out/src/services/chaintracker/index.mobile.d.ts +1 -0
  384. package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -1
  385. package/out/src/services/chaintracker/index.mobile.js +1 -0
  386. package/out/src/services/chaintracker/index.mobile.js.map +1 -1
  387. package/out/src/services/classifyOutputUtxo.d.ts +25 -0
  388. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -0
  389. package/out/src/services/classifyOutputUtxo.js +96 -0
  390. package/out/src/services/classifyOutputUtxo.js.map +1 -0
  391. package/out/src/services/createDefaultWalletServicesOptions.d.ts +16 -3
  392. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  393. package/out/src/services/createDefaultWalletServicesOptions.js +38 -8
  394. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  395. package/out/src/services/fiatRateValidation.d.ts +12 -0
  396. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  397. package/out/src/services/fiatRateValidation.js +138 -0
  398. package/out/src/services/fiatRateValidation.js.map +1 -0
  399. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  400. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  401. package/out/src/services/getCanonicalMerklePath.js +90 -0
  402. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  403. package/out/src/services/providers/ARC.d.ts +3 -16
  404. package/out/src/services/providers/ARC.d.ts.map +1 -1
  405. package/out/src/services/providers/ARC.js +36 -37
  406. package/out/src/services/providers/ARC.js.map +1 -1
  407. package/out/src/services/providers/ArcSSEClient.d.ts +38 -23
  408. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  409. package/out/src/services/providers/ArcSSEClient.js +384 -63
  410. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  411. package/out/src/services/providers/Arcade.d.ts +11 -1
  412. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  413. package/out/src/services/providers/Arcade.js +111 -33
  414. package/out/src/services/providers/Arcade.js.map +1 -1
  415. package/out/src/services/providers/Bitails.d.ts +3 -0
  416. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  417. package/out/src/services/providers/Bitails.js +79 -12
  418. package/out/src/services/providers/Bitails.js.map +1 -1
  419. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  420. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  421. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  422. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  423. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  424. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  425. package/out/src/services/providers/WhatsOnChain.js +221 -69
  426. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  427. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  428. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  429. package/out/src/services/providers/arcProviderConfig.js +83 -0
  430. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  431. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  432. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  433. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  434. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  435. package/out/src/services/providers/arcadeStatus.d.ts +18 -0
  436. package/out/src/services/providers/arcadeStatus.d.ts.map +1 -0
  437. package/out/src/services/providers/arcadeStatus.js +56 -0
  438. package/out/src/services/providers/arcadeStatus.js.map +1 -0
  439. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  440. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  441. package/out/src/services/providers/exchangeRates.js +153 -226
  442. package/out/src/services/providers/exchangeRates.js.map +1 -1
  443. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  444. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  445. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  446. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  447. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  448. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  449. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  450. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  451. package/out/src/services/validateMerklePathResult.js +272 -0
  452. package/out/src/services/validateMerklePathResult.js.map +1 -0
  453. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  454. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  455. package/out/src/services/validatePostBeefResult.js +334 -0
  456. package/out/src/services/validatePostBeefResult.js.map +1 -0
  457. package/out/src/services/validateRawTxResult.d.ts +6 -0
  458. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  459. package/out/src/services/validateRawTxResult.js +77 -0
  460. package/out/src/services/validateRawTxResult.js.map +1 -0
  461. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  462. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  463. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  464. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  465. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  466. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  467. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  468. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  469. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  470. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  471. package/out/src/services/validateUtxoStatusResult.js +126 -0
  472. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  473. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  474. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  475. package/out/src/signer/actionBatch/ActionBatchPlanner.js +29 -6
  476. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  477. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +8 -5
  478. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  479. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +186 -73
  480. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  481. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  482. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  483. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  484. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  485. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  486. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  487. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  488. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  489. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  490. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  491. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  492. package/out/src/signer/methods/createAction.d.ts +4 -3
  493. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  494. package/out/src/signer/methods/createAction.js +3 -1
  495. package/out/src/signer/methods/createAction.js.map +1 -1
  496. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +7 -0
  497. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -0
  498. package/out/src/signer/methods/createNoSendExpiryAction.js +254 -0
  499. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -0
  500. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  501. package/out/src/signer/methods/internalizeAction.js +9 -5
  502. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  503. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  504. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  505. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  506. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  507. package/out/src/signer/methods/signAction.js +12 -2
  508. package/out/src/signer/methods/signAction.js.map +1 -1
  509. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  510. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  511. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  512. package/out/src/storage/StorageIdb.d.ts +11 -3
  513. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  514. package/out/src/storage/StorageIdb.js +134 -44
  515. package/out/src/storage/StorageIdb.js.map +1 -1
  516. package/out/src/storage/StorageKnex.d.ts +71 -7
  517. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  518. package/out/src/storage/StorageKnex.js +616 -262
  519. package/out/src/storage/StorageKnex.js.map +1 -1
  520. package/out/src/storage/StorageProvider.d.ts +41 -10
  521. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  522. package/out/src/storage/StorageProvider.js +397 -107
  523. package/out/src/storage/StorageProvider.js.map +1 -1
  524. package/out/src/storage/StorageReader.d.ts +9 -3
  525. package/out/src/storage/StorageReader.d.ts.map +1 -1
  526. package/out/src/storage/StorageReader.js +21 -43
  527. package/out/src/storage/StorageReader.js.map +1 -1
  528. package/out/src/storage/StorageReaderWriter.d.ts +4 -0
  529. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  530. package/out/src/storage/StorageReaderWriter.js +68 -38
  531. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  532. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  533. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  534. package/out/src/storage/StorageSyncReader.js +3 -36
  535. package/out/src/storage/StorageSyncReader.js.map +1 -1
  536. package/out/src/storage/WalletStorageManager.d.ts +31 -6
  537. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  538. package/out/src/storage/WalletStorageManager.js +166 -75
  539. package/out/src/storage/WalletStorageManager.js.map +1 -1
  540. package/out/src/storage/adminServer/adminServer.d.ts +3 -1
  541. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  542. package/out/src/storage/adminServer/adminServer.js +41 -90
  543. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  544. package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
  545. package/out/src/storage/adminServer/adminUi.js +32 -9
  546. package/out/src/storage/adminServer/adminUi.js.map +1 -1
  547. package/out/src/storage/adminServer/reqReviewQuery.d.ts +41 -0
  548. package/out/src/storage/adminServer/reqReviewQuery.d.ts.map +1 -0
  549. package/out/src/storage/adminServer/reqReviewQuery.js +67 -0
  550. package/out/src/storage/adminServer/reqReviewQuery.js.map +1 -0
  551. package/out/src/storage/adminServer/reviewUtxos.d.ts +27 -0
  552. package/out/src/storage/adminServer/reviewUtxos.d.ts.map +1 -0
  553. package/out/src/storage/adminServer/reviewUtxos.js +62 -0
  554. package/out/src/storage/adminServer/reviewUtxos.js.map +1 -0
  555. package/out/src/storage/idbHelpers.d.ts.map +1 -1
  556. package/out/src/storage/idbHelpers.js +14 -2
  557. package/out/src/storage/idbHelpers.js.map +1 -1
  558. package/out/src/storage/index.all.d.ts +4 -0
  559. package/out/src/storage/index.all.d.ts.map +1 -1
  560. package/out/src/storage/index.all.js +4 -0
  561. package/out/src/storage/index.all.js.map +1 -1
  562. package/out/src/storage/index.client.d.ts +1 -0
  563. package/out/src/storage/index.client.d.ts.map +1 -1
  564. package/out/src/storage/index.client.js +1 -0
  565. package/out/src/storage/index.client.js.map +1 -1
  566. package/out/src/storage/index.mobile.d.ts +1 -0
  567. package/out/src/storage/index.mobile.d.ts.map +1 -1
  568. package/out/src/storage/index.mobile.js +1 -0
  569. package/out/src/storage/index.mobile.js.map +1 -1
  570. package/out/src/storage/knexPostgres.d.ts +16 -0
  571. package/out/src/storage/knexPostgres.d.ts.map +1 -0
  572. package/out/src/storage/knexPostgres.js +34 -0
  573. package/out/src/storage/knexPostgres.js.map +1 -0
  574. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  575. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  576. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  577. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  578. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  579. package/out/src/storage/methods/ListOutputsSpecOp.js +5 -44
  580. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  581. package/out/src/storage/methods/actionBatch.d.ts +9 -2
  582. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  583. package/out/src/storage/methods/actionBatch.js +260 -67
  584. package/out/src/storage/methods/actionBatch.js.map +1 -1
  585. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  586. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  587. package/out/src/storage/methods/actionBatchBlobs.js +47 -26
  588. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  589. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  590. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  591. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  592. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  593. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  594. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +59 -110
  595. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  596. package/out/src/storage/methods/availableManagedChange.d.ts +8 -1
  597. package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -1
  598. package/out/src/storage/methods/availableManagedChange.js.map +1 -1
  599. package/out/src/storage/methods/createAction.d.ts +60 -3
  600. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  601. package/out/src/storage/methods/createAction.js +390 -105
  602. package/out/src/storage/methods/createAction.js.map +1 -1
  603. package/out/src/storage/methods/generateChange.d.ts +15 -5
  604. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  605. package/out/src/storage/methods/generateChange.js +187 -27
  606. package/out/src/storage/methods/generateChange.js.map +1 -1
  607. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  608. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  609. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  610. package/out/src/storage/methods/getSyncChunk.js +42 -11
  611. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  612. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  613. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  614. package/out/src/storage/methods/internalizeAction.js +171 -133
  615. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  616. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  617. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  618. package/out/src/storage/methods/listActionsIdb.js +2 -2
  619. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  620. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  621. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  622. package/out/src/storage/methods/listActionsKnex.js +21 -11
  623. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  624. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  625. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  626. package/out/src/storage/methods/listCertificates.js.map +1 -1
  627. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  628. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  629. package/out/src/storage/methods/listOutputsIdb.js +25 -18
  630. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  631. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  632. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  633. package/out/src/storage/methods/listOutputsKnex.js +31 -30
  634. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  635. package/out/src/storage/methods/managedChangePolicy.d.ts +44 -0
  636. package/out/src/storage/methods/managedChangePolicy.d.ts.map +1 -0
  637. package/out/src/storage/methods/managedChangePolicy.js +58 -0
  638. package/out/src/storage/methods/managedChangePolicy.js.map +1 -0
  639. package/out/src/storage/methods/maxPossibleSatoshis.d.ts +13 -0
  640. package/out/src/storage/methods/maxPossibleSatoshis.d.ts.map +1 -0
  641. package/out/src/storage/methods/maxPossibleSatoshis.js +16 -0
  642. package/out/src/storage/methods/maxPossibleSatoshis.js.map +1 -0
  643. package/out/src/storage/methods/noSendExpiry.d.ts +11 -0
  644. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -0
  645. package/out/src/storage/methods/noSendExpiry.js +359 -0
  646. package/out/src/storage/methods/noSendExpiry.js.map +1 -0
  647. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts +14 -0
  648. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts.map +1 -0
  649. package/out/src/storage/methods/noSendExpiryLifecycle.js +691 -0
  650. package/out/src/storage/methods/noSendExpiryLifecycle.js.map +1 -0
  651. package/out/src/storage/methods/preparedBeef.d.ts +104 -0
  652. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -0
  653. package/out/src/storage/methods/preparedBeef.js +524 -0
  654. package/out/src/storage/methods/preparedBeef.js.map +1 -0
  655. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  656. package/out/src/storage/methods/processAction.js +144 -32
  657. package/out/src/storage/methods/processAction.js.map +1 -1
  658. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  659. package/out/src/storage/methods/purgeData.js +18 -3
  660. package/out/src/storage/methods/purgeData.js.map +1 -1
  661. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +32 -0
  662. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -0
  663. package/out/src/storage/methods/reconcileFailedTransactionInputs.js +142 -0
  664. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -0
  665. package/out/src/storage/methods/reviewStatus.js +4 -4
  666. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  667. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  668. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  669. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  670. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +38 -0
  671. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -0
  672. package/out/src/storage/methods/reviewUtxoOutputs.js +197 -0
  673. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -0
  674. package/out/src/storage/methods/validateSyncProof.d.ts +32 -0
  675. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -0
  676. package/out/src/storage/methods/validateSyncProof.js +139 -0
  677. package/out/src/storage/methods/validateSyncProof.js.map +1 -0
  678. package/out/src/storage/portable/index.d.ts.map +1 -1
  679. package/out/src/storage/portable/index.js +63 -27
  680. package/out/src/storage/portable/index.js.map +1 -1
  681. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  682. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  683. package/out/src/storage/remoting/BinaryJson.js +94 -8
  684. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  685. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts.map +1 -1
  686. package/out/src/storage/remoting/KnexPaymentReplayStore.js +1 -0
  687. package/out/src/storage/remoting/KnexPaymentReplayStore.js.map +1 -1
  688. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  689. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  690. package/out/src/storage/remoting/KnexSessionManager.js +221 -40
  691. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  692. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts +26 -0
  693. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
  694. package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
  695. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
  696. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  697. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  698. package/out/src/storage/remoting/StorageClient.js +65 -8
  699. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  700. package/out/src/storage/remoting/StorageClientBase.d.ts +57 -10
  701. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  702. package/out/src/storage/remoting/StorageClientBase.js +372 -9
  703. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  704. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  705. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  706. package/out/src/storage/remoting/StorageMobile.js +13 -11
  707. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  708. package/out/src/storage/remoting/StorageServer.d.ts +27 -5
  709. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  710. package/out/src/storage/remoting/StorageServer.js +243 -33
  711. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  712. package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
  713. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
  714. package/out/src/storage/remoting/SyncTransfer.js +153 -0
  715. package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
  716. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
  717. package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
  718. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
  719. package/out/src/storage/remoting/syncChunkBinary.d.ts +4 -0
  720. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
  721. package/out/src/storage/remoting/syncChunkBinary.js +38 -0
  722. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
  723. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
  724. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
  725. package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
  726. package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
  727. package/out/src/storage/schema/KnexMigrations.d.ts +13 -2
  728. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  729. package/out/src/storage/schema/KnexMigrations.js +334 -43
  730. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  731. package/out/src/storage/schema/StorageIdbSchema.d.ts +3 -0
  732. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  733. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  734. package/out/src/storage/schema/entities/EntityOutput.js +24 -4
  735. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  736. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  737. package/out/src/storage/schema/entities/EntityOutputBasket.js +5 -2
  738. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  739. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +4 -1
  740. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  741. package/out/src/storage/schema/entities/EntityProvenTx.js +125 -41
  742. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  743. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  744. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  745. package/out/src/storage/schema/entities/EntitySyncState.d.ts +4 -2
  746. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  747. package/out/src/storage/schema/entities/EntitySyncState.js +12 -6
  748. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  749. package/out/src/storage/schema/entities/EntityTransaction.d.ts +26 -0
  750. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  751. package/out/src/storage/schema/entities/EntityTransaction.js +221 -21
  752. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  753. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  754. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  755. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  756. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  757. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  758. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  759. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  760. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  761. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  762. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  763. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  764. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  765. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  766. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  767. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  768. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  769. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts +23 -0
  770. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts.map +1 -0
  771. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js +3 -0
  772. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js.map +1 -0
  773. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  774. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  775. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  776. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  777. package/out/src/storage/schema/tables/TableSettings.d.ts +2 -2
  778. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  779. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  780. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  781. package/out/src/storage/schema/tables/TableTransaction.d.ts +17 -1
  782. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  783. package/out/src/storage/schema/tables/TableTransaction.js +14 -1
  784. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  785. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  786. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  787. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  788. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  789. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  790. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  791. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  792. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  793. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  794. package/out/src/storage/sync/SyncPageBudget.d.ts +8 -0
  795. package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
  796. package/out/src/storage/sync/SyncPageBudget.js +24 -0
  797. package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
  798. package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
  799. package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
  800. package/out/src/storage/sync/syncCheckpoint.js +49 -0
  801. package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
  802. package/out/src/utility/Argon2idBackend.d.ts +36 -0
  803. package/out/src/utility/Argon2idBackend.d.ts.map +1 -0
  804. package/out/src/utility/Argon2idBackend.js +60 -0
  805. package/out/src/utility/Argon2idBackend.js.map +1 -0
  806. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  807. package/out/src/utility/actionBatchDigest.js +9 -7
  808. package/out/src/utility/actionBatchDigest.js.map +1 -1
  809. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  810. package/out/src/utility/actionBatchPack.js +7 -12
  811. package/out/src/utility/actionBatchPack.js.map +1 -1
  812. package/out/src/utility/beefForTxids.d.ts +12 -3
  813. package/out/src/utility/beefForTxids.d.ts.map +1 -1
  814. package/out/src/utility/beefForTxids.js +69 -21
  815. package/out/src/utility/beefForTxids.js.map +1 -1
  816. package/out/src/utility/brc153ReferenceLabels.d.ts +16 -0
  817. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  818. package/out/src/utility/brc153ReferenceLabels.js +20 -5
  819. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  820. package/out/src/utility/brc177NoSendExpiry.d.ts +34 -0
  821. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -0
  822. package/out/src/utility/brc177NoSendExpiry.js +81 -0
  823. package/out/src/utility/brc177NoSendExpiry.js.map +1 -0
  824. package/out/src/utility/canonicalizeAtomicBeef.d.ts +12 -0
  825. package/out/src/utility/canonicalizeAtomicBeef.d.ts.map +1 -0
  826. package/out/src/utility/canonicalizeAtomicBeef.js +23 -0
  827. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -0
  828. package/out/src/utility/exactActionSpend.d.ts +9 -0
  829. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  830. package/out/src/utility/exactActionSpend.js +26 -0
  831. package/out/src/utility/exactActionSpend.js.map +1 -0
  832. package/out/src/utility/hashWasm.d.ts +1 -1
  833. package/out/src/utility/hashWasm.d.ts.map +1 -1
  834. package/out/src/utility/hashWasm.js +83 -1
  835. package/out/src/utility/hashWasm.js.map +1 -1
  836. package/out/src/utility/identityUtils.d.ts +44 -4
  837. package/out/src/utility/identityUtils.d.ts.map +1 -1
  838. package/out/src/utility/identityUtils.js +523 -61
  839. package/out/src/utility/identityUtils.js.map +1 -1
  840. package/out/src/utility/index.all.d.ts +2 -0
  841. package/out/src/utility/index.all.d.ts.map +1 -1
  842. package/out/src/utility/index.all.js +2 -0
  843. package/out/src/utility/index.all.js.map +1 -1
  844. package/out/src/utility/index.client.d.ts +2 -0
  845. package/out/src/utility/index.client.d.ts.map +1 -1
  846. package/out/src/utility/index.client.js +2 -0
  847. package/out/src/utility/index.client.js.map +1 -1
  848. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  849. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  850. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  851. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  852. package/out/src/utility/tscProofToMerklePath.js +35 -4
  853. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  854. package/out/src/utility/utilityHelpers.d.ts +1 -1
  855. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  856. package/out/src/utility/utilityHelpers.js +10 -7
  857. package/out/src/utility/utilityHelpers.js.map +1 -1
  858. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  859. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  860. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  861. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  862. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  863. package/out/src/utility/verifyOverlayOutput.js +22 -0
  864. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  865. package/out/src/utility/walletResultGuards.d.ts +14 -0
  866. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  867. package/out/src/utility/walletResultGuards.js +28 -0
  868. package/out/src/utility/walletResultGuards.js.map +1 -0
  869. package/out/src/wab-client/WABClient.d.ts +4 -17
  870. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  871. package/out/src/wab-client/WABClient.js +35 -12
  872. package/out/src/wab-client/WABClient.js.map +1 -1
  873. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  874. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  875. package/out/src/wab-client/WABResponseValidation.js +321 -0
  876. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  877. package/out/src/wab-client/WABTransport.d.ts +17 -23
  878. package/out/src/wab-client/WABTransport.d.ts.map +1 -1
  879. package/out/src/wab-client/WABTransport.js +130 -142
  880. package/out/src/wab-client/WABTransport.js.map +1 -1
  881. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +8 -0
  882. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  883. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  884. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  885. package/package.json +35 -30
  886. package/docs/open-rpc/index.html +0 -46
package/out/src/Wallet.js CHANGED
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Wallet = void 0;
4
4
  exports.throwDummyReviewActions = throwDummyReviewActions;
5
+ const validationHelpers_1 = require("@bsv/sdk/wallet/validationHelpers");
5
6
  const sdk_1 = require("@bsv/sdk");
7
+ const utils_1 = require("@bsv/sdk/primitives/utils");
6
8
  const acquireDirectCertificate_1 = require("./signer/methods/acquireDirectCertificate");
7
9
  const proveCertificate_1 = require("./signer/methods/proveCertificate");
8
10
  const createAction_1 = require("./signer/methods/createAction");
@@ -11,6 +13,8 @@ const internalizeAction_1 = require("./signer/methods/internalizeAction");
11
13
  const WalletSettingsManager_1 = require("./WalletSettingsManager");
12
14
  const identityUtils_1 = require("./utility/identityUtils");
13
15
  const generateChange_1 = require("./storage/methods/generateChange");
16
+ const brc177NoSendExpiry_1 = require("./utility/brc177NoSendExpiry");
17
+ const createNoSendExpiryAction_1 = require("./signer/methods/createNoSendExpiryAction");
14
18
  const utilityHelpers_1 = require("./utility/utilityHelpers");
15
19
  const ScriptTemplateBRC29_1 = require("./utility/ScriptTemplateBRC29");
16
20
  const types_1 = require("./sdk/types");
@@ -19,6 +23,7 @@ const WalletError_1 = require("./sdk/WalletError");
19
23
  const utilityHelpers_noBuffer_1 = require("./utility/utilityHelpers.noBuffer");
20
24
  const resultBeef_1 = require("./signer/methods/resultBeef");
21
25
  const ActionBatchWorkspace_1 = require("./signer/actionBatch/ActionBatchWorkspace");
26
+ const walletResultGuards_1 = require("./utility/walletResultGuards");
22
27
  function prepareKnownTxidsForCreateAction(wallet, args) {
23
28
  if (!wallet.autoKnownTxids || args.options?.knownTxids != null)
24
29
  return;
@@ -36,11 +41,23 @@ function prepareKnownTxidsForCreateAction(wallet, args) {
36
41
  return knownTxids;
37
42
  });
38
43
  }
44
+ /**
45
+ * The requested page of a discovery result. BRC-100 discovery takes limit and
46
+ * offset, and callers reject a page longer than the limit; totalCertificates
47
+ * still counts every trusted match.
48
+ */
49
+ function discoveryPage(result, offset, limit) {
50
+ return {
51
+ totalCertificates: result.totalCertificates,
52
+ certificates: result.certificates.slice(offset, offset + limit)
53
+ };
54
+ }
39
55
  /**
40
56
  * Build a {@link DiscoverCertificatesResult} from contact records so {@link Wallet.discoverByIdentityKey}
41
57
  * and {@link Wallet.discoverByAttributes} can short-circuit on a local contacts hit. The synthetic
42
- * certificate has `trust: Infinity` by default so downstream `transformVerifiableCertificatesWithTrust`
43
- * style filtering treats contacts as authoritative.
58
+ * result has `trust: Infinity` by default so downstream trust filtering honors the user's local
59
+ * assertion as authoritative. Its empty serial, signature, and revocation outpoint deliberately
60
+ * distinguish it from an independently certified third-party attestation.
44
61
  */
45
62
  function synthesizeContactResult(contacts) {
46
63
  const certificates = contacts.map(c => ({
@@ -161,6 +178,10 @@ class Wallet {
161
178
  }
162
179
  }
163
180
  async destroy() {
181
+ this._identityEvidenceClosed = true;
182
+ this._identityEvidenceVerifier?.dispose();
183
+ this._overlayEvidenceCache.clear();
184
+ clearTimeout(this._overlayEvidenceExpiryTimer);
164
185
  await this.actionBatch.abort();
165
186
  await this.storage.destroy();
166
187
  if (this.privilegedKeyManager != null)
@@ -316,8 +337,8 @@ class Wallet {
316
337
  // List Methods
317
338
  /// ///////////////
318
339
  async listActions(args, originator) {
319
- sdk_1.Validation.validateOriginator(originator);
320
- const { vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateListActionsArgs);
340
+ (0, validationHelpers_1.validateOriginator)(originator);
341
+ const { vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateListActionsArgs);
321
342
  const storageArgs = this.actionBatch.hasWorkspace ? { ...vargs, limit: 10000, offset: 0 } : vargs;
322
343
  const r = this.actionBatch.overlayListActions(await this.storage.listActions(storageArgs), vargs);
323
344
  // Implement security policy to block customInstructions from output results.
@@ -334,7 +355,7 @@ class Wallet {
334
355
  return `storage ${this.getStorageIdentity().storageIdentityKey}`;
335
356
  }
336
357
  async listOutputs(args, originator) {
337
- sdk_1.Validation.validateOriginator(originator);
358
+ (0, validationHelpers_1.validateOriginator)(originator);
338
359
  const { vargs } = this.validateAuthAndArgs(args, validateListOutputsArgs);
339
360
  if (this.autoKnownTxids && !vargs.knownTxids) {
340
361
  vargs.knownTxids = this.getKnownTxids();
@@ -350,8 +371,8 @@ class Wallet {
350
371
  return r;
351
372
  }
352
373
  async listCertificates(args, originator) {
353
- sdk_1.Validation.validateOriginator(originator);
354
- const { vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateListCertificatesArgs);
374
+ (0, validationHelpers_1.validateOriginator)(originator);
375
+ const { vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateListCertificatesArgs);
355
376
  const r = await this.storage.listCertificates(vargs);
356
377
  return r;
357
378
  }
@@ -359,7 +380,7 @@ class Wallet {
359
380
  // Certificates
360
381
  /// ///////////////
361
382
  async acquireDirectCertificateProtocol(args) {
362
- const { auth, vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateAcquireDirectCertificateArgs);
383
+ const { auth, vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateAcquireDirectCertificateArgs);
363
384
  vargs.subject = (await this.getPublicKey({
364
385
  identityKey: true,
365
386
  privileged: args.privileged,
@@ -367,7 +388,8 @@ class Wallet {
367
388
  })).publicKey;
368
389
  try {
369
390
  const certificate = new sdk_1.MasterCertificate(vargs.type, vargs.serialNumber, vargs.subject, vargs.certifier, vargs.revocationOutpoint, vargs.fields, vargs.keyringForSubject, vargs.signature);
370
- await certificate.verify();
391
+ if (!(await certificate.verify()))
392
+ throw new Error('Certificate verification failed');
371
393
  await sdk_1.MasterCertificate.decryptFields(this, vargs.keyringForSubject, vargs.fields, vargs.certifier, vargs.privileged, vargs.privilegedReason);
372
394
  }
373
395
  catch (error_) {
@@ -405,11 +427,12 @@ class Wallet {
405
427
  this.validateIssuedCertificateFields(certificate, expectedFields);
406
428
  }
407
429
  async acquireIssuedCertificateProtocol(args) {
408
- const { auth, vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateAcquireIssuanceCertificateArgs);
430
+ const { auth, vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateAcquireIssuanceCertificateArgs);
409
431
  const clientNonce = await (0, sdk_1.createNonce)(this, vargs.certifier);
410
- const authClient = new sdk_1.AuthFetch(this);
432
+ const endpoint = new URL('signCertificate', `${vargs.certifierUrl}/`);
433
+ const authClient = new sdk_1.AuthFetch(this, undefined, undefined, undefined, {}, (0, sdk_1.createPublicHTTPSFetch)(endpoint.origin));
411
434
  const { certificateFields, masterKeyring } = await sdk_1.MasterCertificate.createCertificateFields(this, vargs.certifier, vargs.fields);
412
- const response = await authClient.fetch(`${vargs.certifierUrl}/signCertificate`, {
435
+ const response = await authClient.fetch(endpoint.toString(), {
413
436
  method: 'POST',
414
437
  headers: { 'Content-Type': 'application/json' },
415
438
  body: JSON.stringify({
@@ -431,16 +454,17 @@ class Wallet {
431
454
  const signedCertificate = new sdk_1.Certificate(certificate.type, certificate.serialNumber, certificate.subject, certificate.certifier, certificate.revocationOutpoint, certificate.fields, certificate.signature);
432
455
  await (0, sdk_1.verifyNonce)(serverNonce, this, vargs.certifier);
433
456
  const { valid } = await this.verifyHmac({
434
- hmac: sdk_1.Utils.toArray(signedCertificate.serialNumber, 'base64'),
435
- data: sdk_1.Utils.toArray(clientNonce + serverNonce, 'base64'),
457
+ hmac: (0, utils_1.toArray)(signedCertificate.serialNumber, 'base64'),
458
+ data: (0, utils_1.toArray)(clientNonce + serverNonce, 'base64'),
436
459
  protocolID: [2, 'certificate issuance'],
437
460
  keyID: serverNonce + clientNonce,
438
461
  counterparty: vargs.certifier
439
462
  });
440
- if (!valid)
463
+ if (valid !== true)
441
464
  throw new Error('Invalid serialNumber');
442
465
  this.validateIssuedCertificate(signedCertificate, vargs, certificateFields);
443
- await signedCertificate.verify();
466
+ if (!(await signedCertificate.verify()))
467
+ throw new Error('Certificate verification failed');
444
468
  await sdk_1.MasterCertificate.decryptFields(this, masterKeyring, certificate.fields, vargs.certifier);
445
469
  return await (0, acquireDirectCertificate_1.acquireDirectCertificate)(this, auth, {
446
470
  ...certificate,
@@ -450,7 +474,7 @@ class Wallet {
450
474
  });
451
475
  }
452
476
  async acquireCertificate(args, originator) {
453
- sdk_1.Validation.validateOriginator(originator);
477
+ (0, validationHelpers_1.validateOriginator)(originator);
454
478
  if (args.acquisitionProtocol === 'direct') {
455
479
  return await this.acquireDirectCertificateProtocol(args);
456
480
  }
@@ -460,32 +484,117 @@ class Wallet {
460
484
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('acquisitionProtocol', `valid.${args.acquisitionProtocol} is unrecognized.`);
461
485
  }
462
486
  async relinquishCertificate(args, originator) {
463
- sdk_1.Validation.validateOriginator(originator);
464
- this.validateAuthAndArgs(args, sdk_1.Validation.validateRelinquishCertificateArgs);
465
- await this.storage.relinquishCertificate(args);
487
+ (0, validationHelpers_1.validateOriginator)(originator);
488
+ this.validateAuthAndArgs(args, validationHelpers_1.validateRelinquishCertificateArgs);
489
+ const updated = await this.storage.relinquishCertificate(args);
490
+ (0, walletResultGuards_1.assertStorageMutationSucceeded)(updated, 'certificate relinquishment');
466
491
  return { relinquished: true };
467
492
  }
468
493
  async proveCertificate(args, originator) {
469
- sdk_1.Validation.validateOriginator(originator);
470
- const { auth, vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateProveCertificateArgs);
494
+ (0, validationHelpers_1.validateOriginator)(originator);
495
+ const { auth, vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateProveCertificateArgs);
471
496
  const r = await (0, proveCertificate_1.proveCertificate)(this, auth, vargs);
472
497
  return r;
473
498
  }
474
499
  /** 2-minute cache of trust settings for identity resolution paths */
475
500
  _trustSettingsCache;
476
- /** 2-minute cache of queryOverlay() results keyed by normalized query */
477
- _overlayCache = new Map();
501
+ /** Bounded two-minute untrusted receipts. Every use rechecks canonical evidence. */
502
+ _overlayEvidenceCache = new Map();
503
+ _overlayEvidenceExpiryTimer;
504
+ _identityEvidenceVerifier;
505
+ _identityEvidenceClosed = false;
506
+ pruneOverlayEvidence() {
507
+ for (const [key, value] of this._overlayEvidenceCache) {
508
+ if (value.expiresAt <= Date.now())
509
+ this._overlayEvidenceCache.delete(key);
510
+ }
511
+ }
512
+ scheduleOverlayEvidenceExpiry() {
513
+ clearTimeout(this._overlayEvidenceExpiryTimer);
514
+ const expiresAt = Math.min(...[...this._overlayEvidenceCache.values()].map(value => value.expiresAt));
515
+ if (!Number.isFinite(expiresAt))
516
+ return;
517
+ this._overlayEvidenceExpiryTimer = setTimeout(() => {
518
+ this.pruneOverlayEvidence();
519
+ this.scheduleOverlayEvidenceExpiry();
520
+ }, Math.max(1, expiresAt - Date.now()));
521
+ this._overlayEvidenceExpiryTimer.unref?.();
522
+ }
523
+ async requireOverlayChainTracker(forceRefresh) {
524
+ if (this.services == null) {
525
+ if (forceRefresh) {
526
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('services', 'valid in constructor arguments to be retreived here.');
527
+ }
528
+ return undefined;
529
+ }
530
+ return await this.services.getChainTracker();
531
+ }
532
+ async discoverOverlayCertificates(query, cacheKey, forceRefresh, now) {
533
+ const chainTracker = await this.requireOverlayChainTracker(forceRefresh);
534
+ if (chainTracker == null)
535
+ return [];
536
+ if (this._identityEvidenceClosed)
537
+ return [];
538
+ const chainNamespace = `wallet:${this.chain}`;
539
+ if (this._identityEvidenceVerifier?.chainTracker !== chainTracker ||
540
+ this._identityEvidenceVerifier.chainNamespace !== chainNamespace) {
541
+ this._identityEvidenceVerifier?.dispose();
542
+ this._identityEvidenceVerifier = new identityUtils_1.IdentityEvidenceVerifier(chainTracker, chainNamespace);
543
+ }
544
+ const verifier = this._identityEvidenceVerifier;
545
+ this.pruneOverlayEvidence();
546
+ let cached = forceRefresh ? undefined : this._overlayEvidenceCache.get(cacheKey);
547
+ if (cached == null || cached.expiresAt <= now) {
548
+ const value = await (0, identityUtils_1.queryOverlayEvidence)(query, this.lookupResolver);
549
+ if (this._identityEvidenceClosed)
550
+ return [];
551
+ const bytes = value.type === 'output-list'
552
+ ? value.outputs.reduce((total, output) => total + output.beef.length + (output.context?.length ?? 0), 0)
553
+ : 0;
554
+ cached = { value, bytes, expiresAt: now + 2 * 60 * 1000 };
555
+ this._overlayEvidenceCache.delete(cacheKey);
556
+ let retained = [...this._overlayEvidenceCache.values()].reduce((total, entry) => total + entry.bytes, 0);
557
+ while (this._overlayEvidenceCache.size > 0 &&
558
+ (this._overlayEvidenceCache.size >= 32 || retained + bytes > 16 * 1024 * 1024)) {
559
+ const oldest = this._overlayEvidenceCache.keys().next().value;
560
+ retained -= this._overlayEvidenceCache.get(oldest).bytes;
561
+ this._overlayEvidenceCache.delete(oldest);
562
+ }
563
+ this._overlayEvidenceCache.set(cacheKey, cached);
564
+ this.scheduleOverlayEvidenceExpiry();
565
+ }
566
+ if (cached.value.type !== 'output-list') {
567
+ this._overlayEvidenceCache.delete(cacheKey);
568
+ return [];
569
+ }
570
+ let certificates;
571
+ try {
572
+ certificates = await (0, identityUtils_1.parseResults)(cached.value, chainTracker, verifier);
573
+ }
574
+ catch (error) {
575
+ this._overlayEvidenceCache.delete(cacheKey);
576
+ throw error;
577
+ }
578
+ // Failed evidence must allow another fetch, including after temporary chain unavailability.
579
+ if (certificates.length !== cached.value.outputs.length)
580
+ this._overlayEvidenceCache.delete(cacheKey);
581
+ return certificates;
582
+ }
583
+ /**
584
+ * Resolves an identity from a caller-installed local contact source first, then the certificate
585
+ * overlay. A local hit expresses the user's own authoritative trust decision and carries empty
586
+ * third-party certificate proof fields; use `forceRefresh` to bypass it and query the overlay.
587
+ */
478
588
  async discoverByIdentityKey(args, originator) {
479
- sdk_1.Validation.validateOriginator(originator);
480
- this.validateAuthAndArgs(args, sdk_1.Validation.validateDiscoverByIdentityKeyArgs);
481
- const TTL_MS = 2 * 60 * 1000;
589
+ (0, validationHelpers_1.validateOriginator)(originator);
590
+ const { vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateDiscoverByIdentityKeyArgs);
482
591
  const now = Date.now();
483
592
  const forceRefresh = args.forceRefresh === true;
484
- // --- Contacts short-circuit (sub-10 ms typical, no network) ---
593
+ // Local contacts are explicit user trust anchors, not third-party certifier attestations.
485
594
  if (!forceRefresh && this.contactSource != null) {
486
595
  try {
487
- const contact = await this.contactSource.findByIdentityKey(args.identityKey);
488
- if (contact != null) {
596
+ const contact = await this.contactSource.findByIdentityKey(vargs.identityKey);
597
+ if (contact != null && contact.identityKey === vargs.identityKey && vargs.offset === 0) {
489
598
  return synthesizeContactResult([contact]);
490
599
  }
491
600
  }
@@ -493,84 +602,64 @@ class Wallet {
493
602
  // Contact source failures must never block the network path.
494
603
  }
495
604
  }
496
- // --- trustSettings cache (2 minutes) ---
497
- let trustSettings = this._trustSettingsCache != null && this._trustSettingsCache.expiresAt > now
498
- ? this._trustSettingsCache.trustSettings
499
- : undefined;
500
- if (trustSettings == null) {
501
- const settings = await this.settingsManager.get();
502
- trustSettings = settings.trustSettings;
503
- this._trustSettingsCache = { trustSettings, expiresAt: now + TTL_MS };
504
- }
605
+ // Authorization policy is read fresh on every call. A removed certifier or
606
+ // raised threshold must take effect immediately rather than after a cache TTL.
607
+ const trustSettings = (await this.settingsManager.get()).trustSettings;
505
608
  const certifiers = trustSettings.trustedCertifiers.map(c => c.identityKey).sort((a, b) => a.localeCompare(b));
506
- // --- queryOverlay cache (2 minutes, client-side, bounded staleness) ---
609
+ // --- Untrusted overlay response cache; verify again before use. ---
507
610
  const cacheKey = JSON.stringify({
508
611
  fn: 'discoverByIdentityKey',
509
- identityKey: args.identityKey,
510
- certifiers
612
+ identityKey: vargs.identityKey,
613
+ certifiers,
614
+ limit: vargs.limit,
615
+ offset: vargs.offset
511
616
  });
512
- let cached = forceRefresh ? undefined : this._overlayCache.get(cacheKey);
513
- if (cached == null || cached.expiresAt <= now) {
514
- const value = await (0, identityUtils_1.queryOverlay)({ identityKey: args.identityKey, certifiers }, this.lookupResolver);
515
- cached = { value, expiresAt: now + TTL_MS };
516
- this._overlayCache.set(cacheKey, cached);
517
- }
518
- if (!cached.value) {
519
- return { totalCertificates: 0, certificates: [] };
520
- }
521
- return (0, identityUtils_1.transformVerifiableCertificatesWithTrust)(trustSettings, cached.value);
617
+ const certificates = await this.discoverOverlayCertificates({ identityKey: args.identityKey, certifiers }, cacheKey, forceRefresh, now);
618
+ return discoveryPage((0, identityUtils_1.transformVerifiableCertificatesWithTrust)(trustSettings, (0, identityUtils_1.filterCertificatesByIdentityKey)(certificates, vargs.identityKey)), vargs.offset, vargs.limit);
522
619
  }
620
+ /**
621
+ * Resolves matching identities from a caller-installed local contact source first, then the
622
+ * certificate overlay. Local hits are authoritative personal assertions with empty third-party
623
+ * certificate proof fields; use `forceRefresh` to bypass them and query the overlay.
624
+ */
523
625
  async discoverByAttributes(args, originator) {
524
- sdk_1.Validation.validateOriginator(originator);
525
- this.validateAuthAndArgs(args, sdk_1.Validation.validateDiscoverByAttributesArgs);
526
- const TTL_MS = 2 * 60 * 1000;
626
+ (0, validationHelpers_1.validateOriginator)(originator);
627
+ const { vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateDiscoverByAttributesArgs);
527
628
  const now = Date.now();
528
629
  const forceRefresh = args.forceRefresh === true;
529
- // --- Contacts short-circuit (optional, only when source supports attribute search) ---
530
- if (!forceRefresh && this.contactSource?.findByAttributes != null && args.attributes != null) {
630
+ // Local contacts are explicit user trust anchors, not third-party certifier attestations.
631
+ if (!forceRefresh && this.contactSource?.findByAttributes != null && vargs.attributes != null) {
531
632
  try {
532
- const matches = await this.contactSource.findByAttributes(args.attributes);
633
+ const matches = await this.contactSource.findByAttributes(vargs.attributes);
533
634
  if (Array.isArray(matches) && matches.length > 0) {
534
- return synthesizeContactResult(matches);
635
+ return synthesizeContactResult(matches.slice(vargs.offset, vargs.offset + vargs.limit));
535
636
  }
536
637
  }
537
638
  catch {
538
639
  // Fall through to network path on contact-source failure.
539
640
  }
540
641
  }
541
- // --- trustSettings cache (2 minutes) ---
542
- let trustSettings = this._trustSettingsCache != null && this._trustSettingsCache.expiresAt > now
543
- ? this._trustSettingsCache.trustSettings
544
- : undefined;
545
- if (trustSettings == null) {
546
- const settings = await this.settingsManager.get();
547
- trustSettings = settings.trustSettings;
548
- this._trustSettingsCache = { trustSettings, expiresAt: now + TTL_MS };
549
- }
642
+ // Authorization policy is read fresh on every call. A removed certifier or
643
+ // raised threshold must take effect immediately rather than after a cache TTL.
644
+ const trustSettings = (await this.settingsManager.get()).trustSettings;
550
645
  const certifiers = trustSettings.trustedCertifiers.map(c => c.identityKey).sort((a, b) => a.localeCompare(b));
551
646
  // Normalize attributes for a stable cache key.
552
647
  // If attributes is an object, sort its top-level keys; if it's an array, sort a shallow copy.
553
- let attributesKey = args.attributes;
554
- if (args.attributes && typeof args.attributes === 'object') {
555
- const keys = Object.keys(args.attributes).sort((a, b) => a.localeCompare(b));
556
- attributesKey = JSON.stringify(args.attributes, keys);
648
+ let attributesKey = vargs.attributes;
649
+ if (vargs.attributes != null && typeof vargs.attributes === 'object') {
650
+ const keys = Object.keys(vargs.attributes).sort((a, b) => a.localeCompare(b));
651
+ attributesKey = JSON.stringify(vargs.attributes, keys);
557
652
  }
558
- // --- queryOverlay cache (2 minutes, client-side, bounded staleness) ---
653
+ // --- Untrusted overlay response cache; verify again before use. ---
559
654
  const cacheKey = JSON.stringify({
560
655
  fn: 'discoverByAttributes',
561
656
  attributes: attributesKey,
562
- certifiers
657
+ certifiers,
658
+ limit: vargs.limit,
659
+ offset: vargs.offset
563
660
  });
564
- let cached = forceRefresh ? undefined : this._overlayCache.get(cacheKey);
565
- if (cached == null || cached.expiresAt <= now) {
566
- const value = await (0, identityUtils_1.queryOverlay)({ attributes: args.attributes, certifiers }, this.lookupResolver);
567
- cached = { value, expiresAt: now + TTL_MS };
568
- this._overlayCache.set(cacheKey, cached);
569
- }
570
- if (!cached.value) {
571
- return { totalCertificates: 0, certificates: [] };
572
- }
573
- return (0, identityUtils_1.transformVerifiableCertificatesWithTrust)(trustSettings, cached.value);
661
+ const certificates = await this.discoverOverlayCertificates({ attributes: args.attributes, certifiers }, cacheKey, forceRefresh, now);
662
+ return discoveryPage((0, identityUtils_1.transformVerifiableCertificatesWithTrust)(trustSettings, (0, identityUtils_1.filterCertificatesByAttributes)(certificates, vargs.attributes)), vargs.offset, vargs.limit);
574
663
  }
575
664
  verifyReturnedTxidOnly(beef, knownTxids) {
576
665
  if (this.returnTxidOnly)
@@ -595,7 +684,7 @@ class Wallet {
595
684
  verifyReturnedTxidOnlyAtomicBEEF(beef, knownTxids, parsedBeef) {
596
685
  if (this.returnTxidOnly)
597
686
  return beef;
598
- const b = parsedBeef ?? sdk_1.Beef.fromBinary(beef);
687
+ const b = parsedBeef ?? sdk_1.Beef.fromBinaryStrict(beef);
599
688
  if (!b.atomicTxid)
600
689
  throw new WERR_errors_1.WERR_INTERNAL();
601
690
  const hasUnknownTxidOnly = b.txs.some(btx => btx.isTxidOnly && !knownTxids?.includes(btx.txid));
@@ -606,7 +695,7 @@ class Wallet {
606
695
  verifyReturnedTxidOnlyBEEF(beef) {
607
696
  if (this.returnTxidOnly)
608
697
  return beef;
609
- const b = sdk_1.Beef.fromBinary(beef);
698
+ const b = sdk_1.Beef.fromBinaryStrict(beef);
610
699
  return this.verifyReturnedTxidOnly(b).toBinary();
611
700
  }
612
701
  logMakeLogger(method, args) {
@@ -635,17 +724,22 @@ class Wallet {
635
724
  async createAction(args, originator) {
636
725
  const logger = this.logMakeLogger('createAction', args);
637
726
  try {
638
- sdk_1.Validation.validateOriginator(originator);
727
+ (0, validationHelpers_1.validateOriginator)(originator);
639
728
  args.options ??= {};
640
729
  args.options.trustSelf ||= this.trustSelf;
641
730
  prepareKnownTxidsForCreateAction(this, args);
642
- const { auth, vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateCreateActionArgs, logger);
731
+ const { auth, vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateCreateActionArgs, logger);
643
732
  logger?.log('validated args');
644
733
  vargs.includeAllSourceTransactions = this.includeAllSourceTransactions;
645
734
  if (this.randomVals != null && this.randomVals.length > 1) {
646
735
  vargs.randomVals = [...this.randomVals];
647
736
  }
648
- const r = await (0, createAction_1.createAction)(this, auth, vargs);
737
+ const brc177Requested = (0, brc177NoSendExpiry_1.hasBrc177NoSendExpiryLabel)(vargs.labels);
738
+ if (brc177Requested)
739
+ (0, brc177NoSendExpiry_1.parseBrc177NoSendExpiryLabels)(vargs.labels);
740
+ const r = brc177Requested
741
+ ? await (0, createNoSendExpiryAction_1.createNoSendExpiryAction)(this, auth, vargs)
742
+ : await (0, createAction_1.createAction)(this, auth, vargs);
649
743
  logger?.log('action created');
650
744
  const resultBeef = (0, resultBeef_1.getResultBeef)(r);
651
745
  if (r.tx != null) {
@@ -686,8 +780,8 @@ class Wallet {
686
780
  }
687
781
  }
688
782
  async signAction(args, originator) {
689
- sdk_1.Validation.validateOriginator(originator);
690
- const { auth, vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateSignActionArgs);
783
+ (0, validationHelpers_1.validateOriginator)(originator);
784
+ const { auth, vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateSignActionArgs);
691
785
  const prior = this.pendingSignActions[args.reference];
692
786
  if (!prior) {
693
787
  throw new WERR_errors_1.WERR_NOT_IMPLEMENTED('recovery of out-of-session signAction reference data is not yet implemented.');
@@ -702,56 +796,61 @@ class Wallet {
702
796
  return r;
703
797
  }
704
798
  async internalizeAction(args, originator) {
705
- sdk_1.Validation.validateOriginator(originator);
706
- const { auth, vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateInternalizeActionArgs);
799
+ (0, validationHelpers_1.validateOriginator)(originator);
800
+ const { auth, vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateInternalizeActionArgs);
707
801
  if (vargs.labels.includes(types_1.specOpThrowReviewActions))
708
802
  throwDummyReviewActions();
803
+ if ((0, brc177NoSendExpiry_1.hasBrc177NoSendExpiryLabel)(vargs.labels)) {
804
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('labels', 'BRC-177 noSend expiry labels only on outgoing createAction requests');
805
+ }
709
806
  const r = await (0, internalizeAction_1.internalizeAction)(this, auth, args);
710
807
  throwIfUnsuccessfulInternalizeAction(r);
711
808
  return r;
712
809
  }
713
810
  async abortAction(args, originator) {
714
- sdk_1.Validation.validateOriginator(originator);
715
- this.validateAuthAndArgs(args, sdk_1.Validation.validateAbortActionArgs);
811
+ (0, validationHelpers_1.validateOriginator)(originator);
812
+ this.validateAuthAndArgs(args, validationHelpers_1.validateAbortActionArgs);
716
813
  if (this.actionBatch.ownsReference(args.reference)) {
717
814
  return { aborted: await this.actionBatch.abortAction(args.reference) };
718
815
  }
719
816
  const r = await this.storage.abortAction(args);
817
+ (0, walletResultGuards_1.assertAbortResult)(r);
720
818
  return r;
721
819
  }
722
820
  async relinquishOutput(args, originator) {
723
- sdk_1.Validation.validateOriginator(originator);
724
- this.validateAuthAndArgs(args, sdk_1.Validation.validateRelinquishOutputArgs);
725
- await this.storage.relinquishOutput(args);
821
+ (0, validationHelpers_1.validateOriginator)(originator);
822
+ this.validateAuthAndArgs(args, validationHelpers_1.validateRelinquishOutputArgs);
823
+ const updated = await this.storage.relinquishOutput(args);
824
+ (0, walletResultGuards_1.assertStorageMutationSucceeded)(updated, 'output relinquishment');
726
825
  return { relinquished: true };
727
826
  }
728
827
  async isAuthenticated(args, originator) {
729
- sdk_1.Validation.validateOriginator(originator);
828
+ (0, validationHelpers_1.validateOriginator)(originator);
730
829
  const r = {
731
830
  authenticated: true
732
831
  };
733
832
  return r;
734
833
  }
735
834
  async waitForAuthentication(args, originator) {
736
- sdk_1.Validation.validateOriginator(originator);
835
+ (0, validationHelpers_1.validateOriginator)(originator);
737
836
  return { authenticated: true };
738
837
  }
739
838
  async getHeight(args, originator) {
740
- sdk_1.Validation.validateOriginator(originator);
839
+ (0, validationHelpers_1.validateOriginator)(originator);
741
840
  const height = await this.getServices().getHeight();
742
841
  return { height };
743
842
  }
744
843
  async getHeaderForHeight(args, originator) {
745
- sdk_1.Validation.validateOriginator(originator);
844
+ (0, validationHelpers_1.validateOriginator)(originator);
746
845
  const serializedHeader = await this.getServices().getHeaderForHeight(args.height);
747
- return { header: sdk_1.Utils.toHex(serializedHeader) };
846
+ return { header: (0, utils_1.toHex)(serializedHeader) };
748
847
  }
749
848
  async getNetwork(args, originator) {
750
- sdk_1.Validation.validateOriginator(originator);
849
+ (0, validationHelpers_1.validateOriginator)(originator);
751
850
  return { network: (0, utilityHelpers_1.toWalletNetwork)(this.chain) };
752
851
  }
753
852
  async getVersion(args, originator) {
754
- sdk_1.Validation.validateOriginator(originator);
853
+ (0, validationHelpers_1.validateOriginator)(originator);
755
854
  return { version: 'wallet-brc100-1.0.0' };
756
855
  }
757
856
  /**
@@ -829,13 +928,15 @@ class Wallet {
829
928
  limit: 1000,
830
929
  offset
831
930
  });
832
- if (change.totalOutputs === 0)
931
+ if (change.outputs.length === 0)
833
932
  break;
834
933
  for (const o of change.outputs) {
835
934
  r.total += o.satoshis;
836
935
  r.utxos.push({ satoshis: o.satoshis, outpoint: o.outpoint });
837
936
  }
838
937
  offset += change.outputs.length;
938
+ if (offset >= change.totalOutputs)
939
+ break;
839
940
  }
840
941
  return r;
841
942
  }
@@ -855,14 +956,15 @@ class Wallet {
855
956
  }
856
957
  /**
857
958
  * Uses `listOutputs` special operation to review the spendability via `Services` of
858
- * outputs currently considered spendable. Returns the outputs that fail to verify.
959
+ * outputs currently considered spendable. Returns only outputs conclusively
960
+ * confirmed spent. Rejects the review if any provider result is inconclusive.
859
961
  *
860
962
  * Ignores the `limit` and `offset` properties.
861
963
  *
862
964
  * @param all Defaults to false. If false, only change outputs ('default' basket) are reviewed. If true, all spendable outputs are reviewed.
863
- * @param release Defaults to false. If true, sets outputs that fail to verify to un-spendable (spendable: false)
965
+ * @param release Defaults to false. If true, atomically sets conclusively spent outputs to un-spendable (spendable: false). No outputs change if any candidate is inconclusive.
864
966
  * @param optionalArgs Optional. Additional tags will constrain the outputs processed.
865
- * @returns outputs which are/where considered spendable but currently fail to verify as spendable.
967
+ * @returns outputs previously considered spendable but conclusively confirmed spent.
866
968
  */
867
969
  async reviewSpendableOutputs(all = false, release = false, optionalArgs) {
868
970
  const args = {
@@ -898,7 +1000,7 @@ class Wallet {
898
1000
  * @returns {ListActionsResult} start `listActions` result restricted to 'nosend' (or 'failed' if aborted) actions.
899
1001
  */
900
1002
  async listNoSendActions(args, abort = false) {
901
- const { vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateListActionsArgs);
1003
+ const { vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateListActionsArgs);
902
1004
  vargs.labels.push(types_1.specOpNoSendActions);
903
1005
  if (abort) {
904
1006
  await this.actionBatch.abort();
@@ -913,7 +1015,7 @@ class Wallet {
913
1015
  * @returns {ListActionsResult} start `listActions` result restricted to 'failed' status actions.
914
1016
  */
915
1017
  async listFailedActions(args, unfail = false) {
916
- const { vargs } = this.validateAuthAndArgs(args, sdk_1.Validation.validateListActionsArgs);
1018
+ const { vargs } = this.validateAuthAndArgs(args, validationHelpers_1.validateListActionsArgs);
917
1019
  vargs.labels.push(types_1.specOpFailedActions);
918
1020
  if (unfail)
919
1021
  vargs.labels.push('unfail');
@@ -937,6 +1039,7 @@ function throwIfAnyUnsuccessfulSignActions(r) {
937
1039
  throw new WERR_errors_1.WERR_REVIEW_ACTIONS(ndrs, swrs, r.txid, r.tx);
938
1040
  }
939
1041
  function throwIfUnsuccessfulInternalizeAction(r) {
1042
+ (0, walletResultGuards_1.assertInternalizeAccepted)(r);
940
1043
  const ndrs = r.notDelayedResults;
941
1044
  const swrs = r.sendWithResults;
942
1045
  if (ndrs == null || swrs == null || swrs.every(r => r.status === 'unproven'))
@@ -948,10 +1051,9 @@ function throwIfUnsuccessfulInternalizeAction(r) {
948
1051
  */
949
1052
  function throwDummyReviewActions() {
950
1053
  const b58Beef = 'gno9MC7VXii1KoCkc2nsVyYJpqzN3dhBzYATETJcys62emMKfpBof4R7GozwYEaSapUtnNvqQ57aaYYjm3U2dv9eUJ1sV46boHkQgppYmAz9YH8FdZduV8aJayPViaKcyPmbDhEw6UW8TM5iFZLXNs7HBnJHUKCeTdNK4FUEL7vAugxAV9WUUZ43BZjJk2SmSeps9TCXjt1Ci9fKWp3d9QSoYvTpxwzyUFHjRKtbUgwq55ZfkBp5bV2Bpz9qSuKywKewW7Hh4S1nCUScwwzpKDozb3zic1V9p2k8rQxoPsRxjUJ8bjhNDdsN8d7KukFuc3n47fXzdWttvnxwsujLJRGnQbgJuknQqx3KLf5kJXHzwjG6TzigZk2t24qeB6d3hbYiaDr2fFkUJBL3tukTHhfNkQYRXuz3kucVDzvejHyqJaF51mXG8BjMN5aQj91ZJXCaPVqkMWCzmvyaqmXMdRiJdSAynhXbQK91xf6RwdNhz1tg5f9B6oJJMhsi9UYSVymmax8VLKD9AKzBCBDcfyD83m3jyS1VgKGZn3SkQmr6bsoWq88L3GsMnnmYUGogvdAYarTqg3pzkjCMxHzmJBMN6ofnUk8c1sRTXQue7BbyUaN5uZu3KW6CmFsEfpuqVvnqFW93TU1jrPP2S8yz8AexAnARPCKE8Yz7RfVaT6RCavwQKL3u5iookwRWEZXW1QWmM37yJWHD87SjVynyg327a1CLwcBxmE2CB48QeNVGyQki4CTQMqw2o8TMhDPJej1g68oniAjBcxBLSCs7KGvK3k7AfrHbCMULX9CTibYhCjdFjbsbBoocqJpxxcvkMo1fEEiAzZuiBVZQDYktDdTVbhKHvYkW25HcYX75NJrpNAhm7AjFeKLzEVxqAQkMfvTufpESNRZF4kQqg2Rg8h2ajcKTd5cpEPwXCrZLHm4EaZEmZVbg3QNfGhn7BJu1bHMtLqPD4y8eJxm2uGrW6saf6qKYmmu64F8A667NbD4yskPRQ1S863VzwGpxxmgLc1Ta3R46jEqsAoRDoZVUaCgBBZG3Yg1CTgi1EVBMXU7qvY4n3h8o2FLCEMWY4KadnV3iD4FbcdCmg4yxBosNAZgbPjhgGjCimjh4YsLd9zymGLmivmz2ZBg5m3xaiXT9NN81X9C1JUujd';
951
- const beef = sdk_1.Beef.fromBinary(sdk_1.Utils.fromBase58(b58Beef));
1054
+ const beef = sdk_1.Beef.fromBinaryStrict((0, utils_1.fromBase58)(b58Beef));
952
1055
  const btx = beef.txs.at(-1);
953
1056
  const txid = btx.txid;
954
- console.log('Throwing dummy WERR_REVIEW_ACTIONS');
955
1057
  throw new WERR_errors_1.WERR_REVIEW_ACTIONS([
956
1058
  {
957
1059
  txid, // only care that it is syntactically a txid
@@ -972,7 +1074,7 @@ function throwDummyReviewActions() {
972
1074
  * @returns
973
1075
  */
974
1076
  function validateListOutputsArgs(args) {
975
- const vargs = sdk_1.Validation.validateListOutputsArgs(args);
1077
+ const vargs = (0, validationHelpers_1.validateListOutputsArgs)(args);
976
1078
  const balancePrefix = 'balance ';
977
1079
  if (vargs.basket.startsWith(balancePrefix)) {
978
1080
  vargs.basket = vargs.basket.slice(balancePrefix.length);