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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (878) hide show
  1. package/CHANGELOG.md +744 -1
  2. package/LICENSES/Open-BSV-License-4-wallet-pre-2026.txt +28 -0
  3. package/README.md +823 -14
  4. package/THIRD_PARTY_NOTICES.md +35 -0
  5. package/docs/README.md +44 -31
  6. package/docs/action-batch-planning.md +80 -37
  7. package/docs/client.md +12996 -4571
  8. package/docs/identity-verification.md +218 -0
  9. package/docs/local-first-chaintracks.md +129 -0
  10. package/docs/managed-change-liquidity.md +258 -0
  11. package/docs/managed-change-policy.md +14 -1
  12. package/docs/monitor.md +505 -190
  13. package/docs/no-send-expiry.md +167 -0
  14. package/docs/prepared-beef.md +197 -0
  15. package/docs/services.md +4013 -1153
  16. package/docs/setup.md +107 -56
  17. package/docs/storage.md +5781 -1599
  18. package/docs/sync-transfer.md +144 -0
  19. package/docs/wab-shamir.md +5 -1
  20. package/docs/wallet.md +10188 -10904
  21. package/out/src/CWIStyleWalletManager.d.ts +39 -31
  22. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  23. package/out/src/CWIStyleWalletManager.js +309 -258
  24. package/out/src/CWIStyleWalletManager.js.map +1 -1
  25. package/out/src/Setup.d.ts +14 -0
  26. package/out/src/Setup.d.ts.map +1 -1
  27. package/out/src/Setup.js +6 -2
  28. package/out/src/Setup.js.map +1 -1
  29. package/out/src/SetupClient.d.ts +3 -0
  30. package/out/src/SetupClient.d.ts.map +1 -1
  31. package/out/src/SetupClient.js +1 -0
  32. package/out/src/SetupClient.js.map +1 -1
  33. package/out/src/SetupWallet.d.ts +3 -0
  34. package/out/src/SetupWallet.d.ts.map +1 -1
  35. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  36. package/out/src/ShamirWalletManager.js +34 -19
  37. package/out/src/ShamirWalletManager.js.map +1 -1
  38. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  39. package/out/src/SimpleWalletManager.js +7 -6
  40. package/out/src/SimpleWalletManager.js.map +1 -1
  41. package/out/src/Wallet.d.ts +54 -14
  42. package/out/src/Wallet.d.ts.map +1 -1
  43. package/out/src/Wallet.js +216 -114
  44. package/out/src/Wallet.js.map +1 -1
  45. package/out/src/WalletAuthenticationManager.d.ts +32 -0
  46. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  47. package/out/src/WalletAuthenticationManager.js +531 -78
  48. package/out/src/WalletAuthenticationManager.js.map +1 -1
  49. package/out/src/WalletLogger.js +1 -1
  50. package/out/src/WalletLogger.js.map +1 -1
  51. package/out/src/WalletPermissionsManager.d.ts +101 -43
  52. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  53. package/out/src/WalletPermissionsManager.js +897 -414
  54. package/out/src/WalletPermissionsManager.js.map +1 -1
  55. package/out/src/WalletSettingsManager.d.ts +3 -2
  56. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  57. package/out/src/WalletSettingsManager.js +143 -8
  58. package/out/src/WalletSettingsManager.js.map +1 -1
  59. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  60. package/out/src/entropy/EntropyCollector.js +3 -2
  61. package/out/src/entropy/EntropyCollector.js.map +1 -1
  62. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  63. package/out/src/fundWalletP2PKH.js +143 -44
  64. package/out/src/fundWalletP2PKH.js.map +1 -1
  65. package/out/src/index.client.d.ts +6 -0
  66. package/out/src/index.client.d.ts.map +1 -1
  67. package/out/src/index.client.js +16 -1
  68. package/out/src/index.client.js.map +1 -1
  69. package/out/src/index.mobile.d.ts +7 -0
  70. package/out/src/index.mobile.d.ts.map +1 -1
  71. package/out/src/index.mobile.js +17 -1
  72. package/out/src/index.mobile.js.map +1 -1
  73. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  74. package/out/src/mockchain/MockChainTracker.js +5 -5
  75. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  76. package/out/src/mockchain/MockServices.d.ts +2 -0
  77. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  78. package/out/src/mockchain/MockServices.js +54 -14
  79. package/out/src/mockchain/MockServices.js.map +1 -1
  80. package/out/src/monitor/Monitor.d.ts +51 -0
  81. package/out/src/monitor/Monitor.d.ts.map +1 -1
  82. package/out/src/monitor/Monitor.js +282 -41
  83. package/out/src/monitor/Monitor.js.map +1 -1
  84. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  85. package/out/src/monitor/MonitorDaemon.js +64 -16
  86. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  87. package/out/src/monitor/monitorValidation.d.ts +12 -0
  88. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  89. package/out/src/monitor/monitorValidation.js +133 -0
  90. package/out/src/monitor/monitorValidation.js.map +1 -0
  91. package/out/src/monitor/tasks/TaskArcSSE.d.ts +6 -1
  92. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  93. package/out/src/monitor/tasks/TaskArcSSE.js +117 -74
  94. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  95. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  96. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  97. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  98. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  99. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  100. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  101. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  102. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  103. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  104. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  105. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  106. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  107. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  108. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts +19 -0
  109. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts.map +1 -0
  110. package/out/src/monitor/tasks/TaskNoSendExpiry.js +47 -0
  111. package/out/src/monitor/tasks/TaskNoSendExpiry.js.map +1 -0
  112. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts +27 -0
  113. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -0
  114. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +242 -0
  115. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -0
  116. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  117. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  118. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  119. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  120. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +31 -9
  121. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  122. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  123. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  124. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  125. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  126. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +33 -6
  127. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  128. package/out/src/monitor/tasks/TaskReviewUtxos.js +189 -13
  129. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  130. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  131. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  132. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  133. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  134. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  135. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  136. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  137. package/out/src/monitor/tasks/index.all.d.ts +2 -0
  138. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  139. package/out/src/monitor/tasks/index.all.js +2 -0
  140. package/out/src/monitor/tasks/index.all.js.map +1 -1
  141. package/out/src/sdk/ActionBatch.interfaces.d.ts +23 -0
  142. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -1
  143. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  144. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  145. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  146. package/out/src/sdk/WERR_errors.d.ts +23 -0
  147. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  148. package/out/src/sdk/WERR_errors.js +51 -7
  149. package/out/src/sdk/WERR_errors.js.map +1 -1
  150. package/out/src/sdk/WalletError.d.ts.map +1 -1
  151. package/out/src/sdk/WalletError.js +7 -21
  152. package/out/src/sdk/WalletError.js.map +1 -1
  153. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  154. package/out/src/sdk/WalletErrorFromJson.js +121 -3
  155. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  156. package/out/src/sdk/WalletServices.interfaces.d.ts +45 -2
  157. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  158. package/out/src/sdk/WalletStorage.interfaces.d.ts +87 -4
  159. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  160. package/out/src/sdk/types.d.ts +3 -2
  161. package/out/src/sdk/types.d.ts.map +1 -1
  162. package/out/src/sdk/types.js +3 -2
  163. package/out/src/sdk/types.js.map +1 -1
  164. package/out/src/services/ServiceCollection.js +2 -2
  165. package/out/src/services/ServiceCollection.js.map +1 -1
  166. package/out/src/services/Services.d.ts +5 -0
  167. package/out/src/services/Services.d.ts.map +1 -1
  168. package/out/src/services/Services.js +346 -120
  169. package/out/src/services/Services.js.map +1 -1
  170. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  171. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  172. package/out/src/services/chaintracker/BHServiceClient.js +269 -66
  173. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  174. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  175. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  176. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  177. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  178. package/out/src/services/chaintracker/LocalChainTracker.d.ts +122 -0
  179. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -0
  180. package/out/src/services/chaintracker/LocalChainTracker.js +465 -0
  181. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -0
  182. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  183. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  184. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  185. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +48 -0
  186. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -0
  187. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js +3 -0
  188. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js.map +1 -0
  189. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
  190. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
  191. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
  192. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
  193. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  194. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +53 -0
  196. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +9 -2
  198. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  199. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  200. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  201. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +28 -3
  202. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +282 -64
  204. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  206. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  208. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  209. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  210. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  211. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +348 -30
  212. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  213. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  214. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  215. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +378 -44
  216. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  217. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  219. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  222. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  223. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  227. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  229. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  231. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  233. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  235. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  238. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  240. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  242. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  243. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  245. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  246. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  247. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  248. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  249. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  250. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  251. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  252. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  253. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  254. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  255. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  257. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  259. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  260. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  261. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  263. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  264. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  265. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  266. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  267. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  268. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  269. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  270. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  271. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +230 -28
  272. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  273. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  274. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  275. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  276. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  277. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -1
  278. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  279. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +240 -87
  280. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  282. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  283. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  284. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  285. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +8 -0
  286. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  287. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +6 -3
  288. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  289. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  291. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  293. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  295. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  297. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  299. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  300. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  301. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  302. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  303. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  304. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +3 -0
  305. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
  306. package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
  307. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
  308. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +5 -0
  309. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  310. package/out/src/services/chaintracker/chaintracks/index.mobile.js +5 -0
  311. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  312. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +51 -0
  313. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -0
  314. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +394 -0
  315. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -0
  316. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +45 -1
  317. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  318. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +733 -166
  319. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  320. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  321. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  322. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  323. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts +32 -0
  324. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
  325. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +40 -0
  326. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
  327. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  328. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  329. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  330. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +3 -1
  331. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  332. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  333. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  334. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +38 -4
  335. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  336. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +191 -47
  337. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  338. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  339. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  340. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  341. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  342. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +48 -0
  343. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
  344. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +280 -0
  345. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
  346. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +30 -0
  347. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -0
  348. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +57 -0
  349. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -0
  350. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  351. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  352. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +14 -0
  353. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
  354. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +148 -0
  355. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
  356. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +41 -0
  357. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
  358. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +271 -0
  359. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
  360. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  361. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  362. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  363. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  364. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +17 -4
  365. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  366. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +362 -105
  367. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  368. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  369. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  370. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  371. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  372. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  373. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  374. package/out/src/services/chaintracker/index.all.d.ts +1 -0
  375. package/out/src/services/chaintracker/index.all.d.ts.map +1 -1
  376. package/out/src/services/chaintracker/index.all.js +1 -0
  377. package/out/src/services/chaintracker/index.all.js.map +1 -1
  378. package/out/src/services/chaintracker/index.client.d.ts +1 -0
  379. package/out/src/services/chaintracker/index.client.d.ts.map +1 -1
  380. package/out/src/services/chaintracker/index.client.js +1 -0
  381. package/out/src/services/chaintracker/index.client.js.map +1 -1
  382. package/out/src/services/chaintracker/index.mobile.d.ts +1 -0
  383. package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -1
  384. package/out/src/services/chaintracker/index.mobile.js +1 -0
  385. package/out/src/services/chaintracker/index.mobile.js.map +1 -1
  386. package/out/src/services/classifyOutputUtxo.d.ts +25 -0
  387. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -0
  388. package/out/src/services/classifyOutputUtxo.js +96 -0
  389. package/out/src/services/classifyOutputUtxo.js.map +1 -0
  390. package/out/src/services/createDefaultWalletServicesOptions.d.ts +16 -3
  391. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  392. package/out/src/services/createDefaultWalletServicesOptions.js +38 -8
  393. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  394. package/out/src/services/fiatRateValidation.d.ts +12 -0
  395. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  396. package/out/src/services/fiatRateValidation.js +138 -0
  397. package/out/src/services/fiatRateValidation.js.map +1 -0
  398. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  399. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  400. package/out/src/services/getCanonicalMerklePath.js +90 -0
  401. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  402. package/out/src/services/providers/ARC.d.ts +3 -16
  403. package/out/src/services/providers/ARC.d.ts.map +1 -1
  404. package/out/src/services/providers/ARC.js +36 -37
  405. package/out/src/services/providers/ARC.js.map +1 -1
  406. package/out/src/services/providers/ArcSSEClient.d.ts +38 -23
  407. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  408. package/out/src/services/providers/ArcSSEClient.js +384 -63
  409. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  410. package/out/src/services/providers/Arcade.d.ts +11 -1
  411. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  412. package/out/src/services/providers/Arcade.js +111 -33
  413. package/out/src/services/providers/Arcade.js.map +1 -1
  414. package/out/src/services/providers/Bitails.d.ts +3 -0
  415. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  416. package/out/src/services/providers/Bitails.js +79 -12
  417. package/out/src/services/providers/Bitails.js.map +1 -1
  418. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  419. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  420. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  421. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  422. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  423. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  424. package/out/src/services/providers/WhatsOnChain.js +221 -69
  425. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  426. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  427. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  428. package/out/src/services/providers/arcProviderConfig.js +83 -0
  429. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  430. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  431. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  432. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  433. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  434. package/out/src/services/providers/arcadeStatus.d.ts +18 -0
  435. package/out/src/services/providers/arcadeStatus.d.ts.map +1 -0
  436. package/out/src/services/providers/arcadeStatus.js +56 -0
  437. package/out/src/services/providers/arcadeStatus.js.map +1 -0
  438. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  439. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  440. package/out/src/services/providers/exchangeRates.js +153 -226
  441. package/out/src/services/providers/exchangeRates.js.map +1 -1
  442. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  443. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  444. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  445. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  446. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  447. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  448. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  449. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  450. package/out/src/services/validateMerklePathResult.js +272 -0
  451. package/out/src/services/validateMerklePathResult.js.map +1 -0
  452. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  453. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  454. package/out/src/services/validatePostBeefResult.js +334 -0
  455. package/out/src/services/validatePostBeefResult.js.map +1 -0
  456. package/out/src/services/validateRawTxResult.d.ts +6 -0
  457. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  458. package/out/src/services/validateRawTxResult.js +77 -0
  459. package/out/src/services/validateRawTxResult.js.map +1 -0
  460. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  461. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  462. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  463. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  464. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  465. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  466. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  467. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  468. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  469. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  470. package/out/src/services/validateUtxoStatusResult.js +126 -0
  471. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  472. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  473. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  474. package/out/src/signer/actionBatch/ActionBatchPlanner.js +29 -6
  475. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  476. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +8 -5
  477. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  478. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +186 -73
  479. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  480. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  481. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  482. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  483. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  484. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  485. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  486. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  487. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  488. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  489. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  490. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  491. package/out/src/signer/methods/createAction.d.ts +35 -3
  492. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  493. package/out/src/signer/methods/createAction.js +50 -2
  494. package/out/src/signer/methods/createAction.js.map +1 -1
  495. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +7 -0
  496. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -0
  497. package/out/src/signer/methods/createNoSendExpiryAction.js +254 -0
  498. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -0
  499. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  500. package/out/src/signer/methods/internalizeAction.js +9 -5
  501. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  502. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  503. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  504. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  505. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  506. package/out/src/signer/methods/signAction.js +20 -3
  507. package/out/src/signer/methods/signAction.js.map +1 -1
  508. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  509. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  510. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  511. package/out/src/storage/StorageIdb.d.ts +11 -3
  512. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  513. package/out/src/storage/StorageIdb.js +134 -44
  514. package/out/src/storage/StorageIdb.js.map +1 -1
  515. package/out/src/storage/StorageKnex.d.ts +68 -7
  516. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  517. package/out/src/storage/StorageKnex.js +551 -105
  518. package/out/src/storage/StorageKnex.js.map +1 -1
  519. package/out/src/storage/StorageProvider.d.ts +41 -10
  520. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  521. package/out/src/storage/StorageProvider.js +397 -107
  522. package/out/src/storage/StorageProvider.js.map +1 -1
  523. package/out/src/storage/StorageReader.d.ts +9 -3
  524. package/out/src/storage/StorageReader.d.ts.map +1 -1
  525. package/out/src/storage/StorageReader.js +21 -43
  526. package/out/src/storage/StorageReader.js.map +1 -1
  527. package/out/src/storage/StorageReaderWriter.d.ts +4 -0
  528. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  529. package/out/src/storage/StorageReaderWriter.js +68 -38
  530. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  531. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  532. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  533. package/out/src/storage/StorageSyncReader.js +3 -36
  534. package/out/src/storage/StorageSyncReader.js.map +1 -1
  535. package/out/src/storage/WalletStorageManager.d.ts +31 -6
  536. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  537. package/out/src/storage/WalletStorageManager.js +166 -75
  538. package/out/src/storage/WalletStorageManager.js.map +1 -1
  539. package/out/src/storage/adminServer/adminServer.d.ts +3 -1
  540. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  541. package/out/src/storage/adminServer/adminServer.js +38 -49
  542. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  543. package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
  544. package/out/src/storage/adminServer/adminUi.js +32 -9
  545. package/out/src/storage/adminServer/adminUi.js.map +1 -1
  546. package/out/src/storage/adminServer/reviewUtxos.d.ts +27 -0
  547. package/out/src/storage/adminServer/reviewUtxos.d.ts.map +1 -0
  548. package/out/src/storage/adminServer/reviewUtxos.js +62 -0
  549. package/out/src/storage/adminServer/reviewUtxos.js.map +1 -0
  550. package/out/src/storage/idbHelpers.d.ts.map +1 -1
  551. package/out/src/storage/idbHelpers.js +14 -2
  552. package/out/src/storage/idbHelpers.js.map +1 -1
  553. package/out/src/storage/index.all.d.ts +3 -0
  554. package/out/src/storage/index.all.d.ts.map +1 -1
  555. package/out/src/storage/index.all.js +3 -0
  556. package/out/src/storage/index.all.js.map +1 -1
  557. package/out/src/storage/index.client.d.ts +1 -0
  558. package/out/src/storage/index.client.d.ts.map +1 -1
  559. package/out/src/storage/index.client.js +1 -0
  560. package/out/src/storage/index.client.js.map +1 -1
  561. package/out/src/storage/index.mobile.d.ts +1 -0
  562. package/out/src/storage/index.mobile.d.ts.map +1 -1
  563. package/out/src/storage/index.mobile.js +1 -0
  564. package/out/src/storage/index.mobile.js.map +1 -1
  565. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  566. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  567. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  568. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  569. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  570. package/out/src/storage/methods/ListOutputsSpecOp.js +5 -44
  571. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  572. package/out/src/storage/methods/actionBatch.d.ts +9 -2
  573. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  574. package/out/src/storage/methods/actionBatch.js +260 -67
  575. package/out/src/storage/methods/actionBatch.js.map +1 -1
  576. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  577. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  578. package/out/src/storage/methods/actionBatchBlobs.js +47 -26
  579. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  580. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  581. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  582. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  583. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  584. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  585. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +59 -110
  586. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  587. package/out/src/storage/methods/availableManagedChange.d.ts +8 -1
  588. package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -1
  589. package/out/src/storage/methods/availableManagedChange.js.map +1 -1
  590. package/out/src/storage/methods/createAction.d.ts +60 -3
  591. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  592. package/out/src/storage/methods/createAction.js +396 -106
  593. package/out/src/storage/methods/createAction.js.map +1 -1
  594. package/out/src/storage/methods/generateChange.d.ts +21 -5
  595. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  596. package/out/src/storage/methods/generateChange.js +194 -27
  597. package/out/src/storage/methods/generateChange.js.map +1 -1
  598. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  599. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  600. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  601. package/out/src/storage/methods/getSyncChunk.js +42 -11
  602. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  603. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  604. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  605. package/out/src/storage/methods/internalizeAction.js +171 -133
  606. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  607. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  608. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  609. package/out/src/storage/methods/listActionsIdb.js +2 -2
  610. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  611. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  612. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  613. package/out/src/storage/methods/listActionsKnex.js +22 -11
  614. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  615. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  616. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  617. package/out/src/storage/methods/listCertificates.js.map +1 -1
  618. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  619. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  620. package/out/src/storage/methods/listOutputsIdb.js +25 -18
  621. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  622. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  623. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  624. package/out/src/storage/methods/listOutputsKnex.js +33 -31
  625. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  626. package/out/src/storage/methods/managedChangePolicy.d.ts +44 -0
  627. package/out/src/storage/methods/managedChangePolicy.d.ts.map +1 -0
  628. package/out/src/storage/methods/managedChangePolicy.js +58 -0
  629. package/out/src/storage/methods/managedChangePolicy.js.map +1 -0
  630. package/out/src/storage/methods/maxPossibleSatoshis.d.ts +13 -0
  631. package/out/src/storage/methods/maxPossibleSatoshis.d.ts.map +1 -0
  632. package/out/src/storage/methods/maxPossibleSatoshis.js +16 -0
  633. package/out/src/storage/methods/maxPossibleSatoshis.js.map +1 -0
  634. package/out/src/storage/methods/noSendExpiry.d.ts +11 -0
  635. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -0
  636. package/out/src/storage/methods/noSendExpiry.js +369 -0
  637. package/out/src/storage/methods/noSendExpiry.js.map +1 -0
  638. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts +14 -0
  639. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts.map +1 -0
  640. package/out/src/storage/methods/noSendExpiryLifecycle.js +691 -0
  641. package/out/src/storage/methods/noSendExpiryLifecycle.js.map +1 -0
  642. package/out/src/storage/methods/preparedBeef.d.ts +104 -0
  643. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -0
  644. package/out/src/storage/methods/preparedBeef.js +524 -0
  645. package/out/src/storage/methods/preparedBeef.js.map +1 -0
  646. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  647. package/out/src/storage/methods/processAction.js +144 -32
  648. package/out/src/storage/methods/processAction.js.map +1 -1
  649. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  650. package/out/src/storage/methods/purgeData.js +21 -3
  651. package/out/src/storage/methods/purgeData.js.map +1 -1
  652. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +32 -0
  653. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -0
  654. package/out/src/storage/methods/reconcileFailedTransactionInputs.js +142 -0
  655. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -0
  656. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  657. package/out/src/storage/methods/reviewStatus.js +7 -4
  658. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  659. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  660. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  661. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  662. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +38 -0
  663. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -0
  664. package/out/src/storage/methods/reviewUtxoOutputs.js +197 -0
  665. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -0
  666. package/out/src/storage/methods/validateSyncProof.d.ts +32 -0
  667. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -0
  668. package/out/src/storage/methods/validateSyncProof.js +139 -0
  669. package/out/src/storage/methods/validateSyncProof.js.map +1 -0
  670. package/out/src/storage/portable/index.d.ts.map +1 -1
  671. package/out/src/storage/portable/index.js +25 -15
  672. package/out/src/storage/portable/index.js.map +1 -1
  673. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  674. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  675. package/out/src/storage/remoting/BinaryJson.js +94 -8
  676. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  677. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts.map +1 -1
  678. package/out/src/storage/remoting/KnexPaymentReplayStore.js +1 -0
  679. package/out/src/storage/remoting/KnexPaymentReplayStore.js.map +1 -1
  680. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  681. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  682. package/out/src/storage/remoting/KnexSessionManager.js +221 -40
  683. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  684. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts +26 -0
  685. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
  686. package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
  687. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
  688. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  689. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  690. package/out/src/storage/remoting/StorageClient.js +65 -8
  691. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  692. package/out/src/storage/remoting/StorageClientBase.d.ts +57 -10
  693. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  694. package/out/src/storage/remoting/StorageClientBase.js +382 -10
  695. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  696. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  697. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  698. package/out/src/storage/remoting/StorageMobile.js +13 -11
  699. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  700. package/out/src/storage/remoting/StorageServer.d.ts +10 -1
  701. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  702. package/out/src/storage/remoting/StorageServer.js +232 -20
  703. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  704. package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
  705. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
  706. package/out/src/storage/remoting/SyncTransfer.js +153 -0
  707. package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
  708. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
  709. package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
  710. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
  711. package/out/src/storage/remoting/syncChunkBinary.d.ts +14 -0
  712. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
  713. package/out/src/storage/remoting/syncChunkBinary.js +42 -0
  714. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
  715. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
  716. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
  717. package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
  718. package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
  719. package/out/src/storage/schema/KnexMigrations.d.ts +6 -0
  720. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  721. package/out/src/storage/schema/KnexMigrations.js +194 -5
  722. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  723. package/out/src/storage/schema/StorageIdbSchema.d.ts +3 -0
  724. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  725. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  726. package/out/src/storage/schema/entities/EntityOutput.js +24 -4
  727. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  728. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  729. package/out/src/storage/schema/entities/EntityOutputBasket.js +5 -2
  730. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  731. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +4 -1
  732. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  733. package/out/src/storage/schema/entities/EntityProvenTx.js +125 -41
  734. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  735. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  736. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  737. package/out/src/storage/schema/entities/EntitySyncState.d.ts +4 -2
  738. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  739. package/out/src/storage/schema/entities/EntitySyncState.js +12 -6
  740. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  741. package/out/src/storage/schema/entities/EntityTransaction.d.ts +26 -0
  742. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  743. package/out/src/storage/schema/entities/EntityTransaction.js +221 -21
  744. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  745. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  746. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  747. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  748. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  749. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  750. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  751. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  752. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  753. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  754. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  755. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  756. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  757. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  758. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  759. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  760. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  761. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts +23 -0
  762. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts.map +1 -0
  763. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js +3 -0
  764. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js.map +1 -0
  765. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  766. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  767. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  768. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  769. package/out/src/storage/schema/tables/TableSettings.d.ts +2 -2
  770. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  771. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  772. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  773. package/out/src/storage/schema/tables/TableTransaction.d.ts +17 -1
  774. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  775. package/out/src/storage/schema/tables/TableTransaction.js +14 -1
  776. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  777. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  778. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  779. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  780. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  781. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  782. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  783. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  784. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  785. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  786. package/out/src/storage/sync/SyncPageBudget.d.ts +8 -0
  787. package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
  788. package/out/src/storage/sync/SyncPageBudget.js +24 -0
  789. package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
  790. package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
  791. package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
  792. package/out/src/storage/sync/syncCheckpoint.js +49 -0
  793. package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
  794. package/out/src/utility/Argon2idBackend.d.ts +36 -0
  795. package/out/src/utility/Argon2idBackend.d.ts.map +1 -0
  796. package/out/src/utility/Argon2idBackend.js +60 -0
  797. package/out/src/utility/Argon2idBackend.js.map +1 -0
  798. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  799. package/out/src/utility/actionBatchDigest.js +9 -7
  800. package/out/src/utility/actionBatchDigest.js.map +1 -1
  801. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  802. package/out/src/utility/actionBatchPack.js +7 -12
  803. package/out/src/utility/actionBatchPack.js.map +1 -1
  804. package/out/src/utility/beefForTxids.d.ts +12 -3
  805. package/out/src/utility/beefForTxids.d.ts.map +1 -1
  806. package/out/src/utility/beefForTxids.js +69 -21
  807. package/out/src/utility/beefForTxids.js.map +1 -1
  808. package/out/src/utility/brc153ReferenceLabels.d.ts +16 -0
  809. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  810. package/out/src/utility/brc153ReferenceLabels.js +20 -5
  811. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  812. package/out/src/utility/brc177NoSendExpiry.d.ts +34 -0
  813. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -0
  814. package/out/src/utility/brc177NoSendExpiry.js +81 -0
  815. package/out/src/utility/brc177NoSendExpiry.js.map +1 -0
  816. package/out/src/utility/canonicalizeAtomicBeef.d.ts +12 -0
  817. package/out/src/utility/canonicalizeAtomicBeef.d.ts.map +1 -0
  818. package/out/src/utility/canonicalizeAtomicBeef.js +23 -0
  819. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -0
  820. package/out/src/utility/exactActionSpend.d.ts +9 -0
  821. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  822. package/out/src/utility/exactActionSpend.js +26 -0
  823. package/out/src/utility/exactActionSpend.js.map +1 -0
  824. package/out/src/utility/hashWasm.d.ts +1 -1
  825. package/out/src/utility/hashWasm.d.ts.map +1 -1
  826. package/out/src/utility/hashWasm.js +83 -1
  827. package/out/src/utility/hashWasm.js.map +1 -1
  828. package/out/src/utility/identityUtils.d.ts +44 -4
  829. package/out/src/utility/identityUtils.d.ts.map +1 -1
  830. package/out/src/utility/identityUtils.js +523 -61
  831. package/out/src/utility/identityUtils.js.map +1 -1
  832. package/out/src/utility/index.all.d.ts +2 -0
  833. package/out/src/utility/index.all.d.ts.map +1 -1
  834. package/out/src/utility/index.all.js +2 -0
  835. package/out/src/utility/index.all.js.map +1 -1
  836. package/out/src/utility/index.client.d.ts +2 -0
  837. package/out/src/utility/index.client.d.ts.map +1 -1
  838. package/out/src/utility/index.client.js +2 -0
  839. package/out/src/utility/index.client.js.map +1 -1
  840. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  841. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  842. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  843. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  844. package/out/src/utility/tscProofToMerklePath.js +35 -4
  845. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  846. package/out/src/utility/utilityHelpers.d.ts +1 -1
  847. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  848. package/out/src/utility/utilityHelpers.js +10 -7
  849. package/out/src/utility/utilityHelpers.js.map +1 -1
  850. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  851. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  852. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  853. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  854. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  855. package/out/src/utility/verifyOverlayOutput.js +22 -0
  856. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  857. package/out/src/utility/walletResultGuards.d.ts +14 -0
  858. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  859. package/out/src/utility/walletResultGuards.js +28 -0
  860. package/out/src/utility/walletResultGuards.js.map +1 -0
  861. package/out/src/wab-client/WABClient.d.ts +4 -17
  862. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  863. package/out/src/wab-client/WABClient.js +35 -12
  864. package/out/src/wab-client/WABClient.js.map +1 -1
  865. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  866. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  867. package/out/src/wab-client/WABResponseValidation.js +321 -0
  868. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  869. package/out/src/wab-client/WABTransport.d.ts +17 -23
  870. package/out/src/wab-client/WABTransport.d.ts.map +1 -1
  871. package/out/src/wab-client/WABTransport.js +130 -142
  872. package/out/src/wab-client/WABTransport.js.map +1 -1
  873. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +8 -0
  874. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  875. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  876. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  877. package/package.json +45 -41
  878. package/docs/open-rpc/index.html +0 -46
@@ -2,8 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CWIStyleWalletManager = exports.OverlayUMPTokenInteractor = exports.UMPTokenLookupError = exports.DEFAULT_PROFILE_ID = exports.MAX_STATE_SNAPSHOT_BYTES = exports.PBKDF2_MAX_ITERATIONS = exports.KDF_MAX_HASH_LENGTH = exports.ARGON2ID_MAX_PARALLELISM = exports.ARGON2ID_MAX_MEMORY_KIB = exports.ARGON2ID_MAX_ITERATIONS = exports.ARGON2ID_DEFAULT_HASH_LENGTH = exports.ARGON2ID_DEFAULT_PARALLELISM = exports.ARGON2ID_DEFAULT_MEMORY_KIB = exports.ARGON2ID_DEFAULT_ITERATIONS = exports.PBKDF2_NUM_ROUNDS = void 0;
4
4
  const sdk_1 = require("@bsv/sdk");
5
+ const Hash_1 = require("@bsv/sdk/primitives/Hash");
6
+ const utils_1 = require("@bsv/sdk/primitives/utils");
5
7
  const PrivilegedKeyManager_1 = require("./sdk/PrivilegedKeyManager");
6
8
  const hashWasm_1 = require("./utility/hashWasm");
9
+ const CWI_COMPONENT = 'wallet-toolbox.cwi-manager';
7
10
  /**
8
11
  * Number of rounds used in PBKDF2 for deriving password keys.
9
12
  */
@@ -40,14 +43,10 @@ function isValidKdfConfig(kdf) {
40
43
  isPositiveIntegerInRange(kdf.hashLength, exports.KDF_MAX_HASH_LENGTH));
41
44
  }
42
45
  function findKdfVersionFieldIndex(protocolFields) {
43
- const hasMetadataWithProfiles = protocolFields.length >= 15 &&
44
- protocolFields[12]?.length === 1 &&
45
- protocolFields[12][0] === 3;
46
+ const hasMetadataWithProfiles = protocolFields.length >= 15 && protocolFields[12]?.length === 1 && protocolFields[12][0] === 3;
46
47
  if (hasMetadataWithProfiles)
47
48
  return 12;
48
- const hasMetadataWithoutProfiles = protocolFields.length >= 14 &&
49
- protocolFields[11]?.length === 1 &&
50
- protocolFields[11][0] === 3;
49
+ const hasMetadataWithoutProfiles = protocolFields.length >= 14 && protocolFields[11]?.length === 1 && protocolFields[11][0] === 3;
51
50
  return hasMetadataWithoutProfiles ? 11 : -1;
52
51
  }
53
52
  function addProfilesField(token, protocolFields, kdfVersionFieldIndex) {
@@ -67,9 +66,9 @@ function addPasswordKdf(token, protocolFields, kdfVersionFieldIndex) {
67
66
  if (kdfAlgorithmField == null || kdfParamsField == null || kdfParamsField.length > 1024) {
68
67
  return false;
69
68
  }
70
- const kdfParams = JSON.parse(sdk_1.Utils.toUTF8(kdfParamsField));
69
+ const kdfParams = JSON.parse((0, utils_1.toUTF8)(kdfParamsField));
71
70
  const passwordKdf = {
72
- algorithm: sdk_1.Utils.toUTF8(kdfAlgorithmField),
71
+ algorithm: (0, utils_1.toUTF8)(kdfAlgorithmField),
73
72
  iterations: kdfParams.iterations,
74
73
  memoryKiB: kdfParams.memoryKiB,
75
74
  parallelism: kdfParams.parallelism,
@@ -123,6 +122,24 @@ function stripVerifiedPushDropSignature(fields, lockingPublicKey) {
123
122
  }
124
123
  return fields;
125
124
  }
125
+ function decodeAuthenticatedUMPFields(lockingScript) {
126
+ const decoded = (0, sdk_1.decodeCanonicalPushDrop)(lockingScript, {
127
+ fieldCount: [12, 13, 15, 16],
128
+ maximumFieldBytes: exports.MAX_STATE_SNAPSHOT_BYTES,
129
+ maximumPayloadBytes: exports.MAX_STATE_SNAPSHOT_BYTES
130
+ });
131
+ const fields = stripVerifiedPushDropSignature(decoded.fields, decoded.lockingPublicKey);
132
+ if (fields.length !== decoded.fields.length - 1) {
133
+ throw new Error('UMP token field signature is missing or invalid');
134
+ }
135
+ const kdfVersionFieldIndex = findKdfVersionFieldIndex(fields);
136
+ if ((kdfVersionFieldIndex === -1 && fields.length > 12) ||
137
+ (kdfVersionFieldIndex === 11 && fields.length !== 14) ||
138
+ (kdfVersionFieldIndex === 12 && fields.length !== 15)) {
139
+ throw new Error('UMP token field layout is invalid');
140
+ }
141
+ return { ...decoded, fields };
142
+ }
126
143
  /**
127
144
  * PBKDF-2 that prefers WebCrypto and falls back to hash-wasm.
128
145
  *
@@ -284,11 +301,11 @@ class OverlayUMPTokenInteractor {
284
301
  * @param hash The 32-byte SHA-256 hash of the presentation key.
285
302
  * @returns A UMPToken object (including currentOutpoint) if found, otherwise undefined.
286
303
  */
287
- async findByPresentationKeyHash(hash) {
288
- return await this.findToken({
304
+ async findByPresentationKeyHash(hash, options) {
305
+ return this.findToken({
289
306
  service: 'ls_users',
290
- query: { presentationHash: sdk_1.Utils.toHex(hash) }
291
- }, 'presentation');
307
+ query: { presentationHash: (0, utils_1.toHex)(hash) }
308
+ }, 'presentation', options);
292
309
  }
293
310
  /**
294
311
  * Finds a UMP token on-chain by the given recovery key hash, if it exists.
@@ -297,13 +314,13 @@ class OverlayUMPTokenInteractor {
297
314
  * @param hash The 32-byte SHA-256 hash of the recovery key.
298
315
  * @returns A UMPToken object (including currentOutpoint) if found, otherwise undefined.
299
316
  */
300
- async findByRecoveryKeyHash(hash) {
301
- return await this.findToken({
317
+ async findByRecoveryKeyHash(hash, options) {
318
+ return this.findToken({
302
319
  service: 'ls_users',
303
- query: { recoveryHash: sdk_1.Utils.toHex(hash) }
304
- }, 'recovery');
320
+ query: { recoveryHash: (0, utils_1.toHex)(hash) }
321
+ }, 'recovery', options);
305
322
  }
306
- async findToken(question, lookupKind) {
323
+ async findToken(question, lookupKind, options) {
307
324
  const correlationId = this.telemetry.enabled === true ? this.telemetry.createCorrelationId() : undefined;
308
325
  const startedAt = Date.now();
309
326
  this.telemetry.capture({
@@ -321,14 +338,14 @@ class OverlayUMPTokenInteractor {
321
338
  });
322
339
  }
323
340
  catch (error) {
324
- const diagnostics = this.emptyLookupDiagnostics(correlationId);
325
- this.captureLookupFailure(lookupKind, 'lookup-unavailable', diagnostics, startedAt, error);
341
+ const diagnostics = this.emptyStats(correlationId);
342
+ this.lookupFailed(lookupKind, 'lookup-unavailable', diagnostics, startedAt, error);
326
343
  throw new UMPTokenLookupError('lookup-unavailable', diagnostics, { cause: error });
327
344
  }
328
- const diagnostics = this.toLookupDiagnostics(resolution);
345
+ const diagnostics = this.diagnosticsFor(resolution);
329
346
  const tokens = this.parseLookupAnswers(resolution.answer);
330
347
  const expectedHash = question.query[lookupKind === 'presentation' ? 'presentationHash' : 'recoveryHash'].toLowerCase();
331
- const matchingTokens = tokens.filter(token => sdk_1.Utils.toHex(lookupKind === 'presentation' ? token.presentationHash : token.recoveryHash).toLowerCase() ===
348
+ const matchingTokens = tokens.filter(token => (0, utils_1.toHex)(lookupKind === 'presentation' ? token.presentationHash : token.recoveryHash).toLowerCase() ===
332
349
  expectedHash);
333
350
  // A verified token is positive account-existence evidence. Empty, malformed,
334
351
  // rejected, or unavailable peers cannot override it. The resolver de-duplicates
@@ -340,28 +357,35 @@ class OverlayUMPTokenInteractor {
340
357
  if (matchingTokens.length > 1) {
341
358
  const newest = this.resolveNewestToken(matchingTokens, resolution.answer.outputs);
342
359
  if (newest != null) {
343
- this.captureLookupCompleted(lookupKind, 'found', diagnostics, startedAt, {
360
+ this.lookupDone(lookupKind, 'found', diagnostics, startedAt, {
344
361
  supersededTokens: matchingTokens.length - 1
345
362
  });
346
363
  return newest;
347
364
  }
365
+ const pinned = options?.pinnedOutpoint
366
+ ? matchingTokens.find(token => token.currentOutpoint === options.pinnedOutpoint)
367
+ : undefined;
368
+ if (pinned != null) {
369
+ this.lookupDone(lookupKind, 'found', diagnostics, startedAt);
370
+ return pinned;
371
+ }
348
372
  const reason = 'token-ambiguous';
349
- this.captureLookupFailure(lookupKind, reason, diagnostics, startedAt);
373
+ this.lookupFailed(lookupKind, reason, diagnostics, startedAt);
350
374
  throw new UMPTokenLookupError(reason, diagnostics);
351
375
  }
352
376
  if (matchingTokens.length === 1) {
353
- this.captureLookupCompleted(lookupKind, 'found', diagnostics, startedAt);
377
+ this.lookupDone(lookupKind, 'found', diagnostics, startedAt);
354
378
  return matchingTokens[0];
355
379
  }
356
380
  // A clean empty response is sufficient negative evidence once no verified
357
381
  // token exists. Malformed outputs and failed peers are ignored so they cannot
358
382
  // deny onboarding by advertising corrupt data or remaining unavailable.
359
383
  if (resolution.progress.emptyHosts > 0) {
360
- this.captureLookupCompleted(lookupKind, 'not-found', diagnostics, startedAt);
384
+ this.lookupDone(lookupKind, 'not-found', diagnostics, startedAt);
361
385
  return undefined;
362
386
  }
363
387
  const reason = resolution.answer.outputs.length > 0 ? 'token-malformed' : 'lookup-incomplete';
364
- this.captureLookupFailure(lookupKind, reason, diagnostics, startedAt);
388
+ this.lookupFailed(lookupKind, reason, diagnostics, startedAt);
365
389
  throw new UMPTokenLookupError(reason, diagnostics);
366
390
  }
367
391
  /**
@@ -395,7 +419,7 @@ class OverlayUMPTokenInteractor {
395
419
  continue;
396
420
  const evidence = evidenceByCandidate.get(outpoint) ?? { txs: [], spent: new Set() };
397
421
  evidence.txs.push(tx);
398
- this.collectSpentOutpoints(tx, evidence.spent, new Set());
422
+ this.collectSpends(tx, evidence.spent, new Set());
399
423
  evidenceByCandidate.set(outpoint, evidence);
400
424
  }
401
425
  catch {
@@ -418,7 +442,7 @@ class OverlayUMPTokenInteractor {
418
442
  const provenContinuations = survivors.filter(outpoint => {
419
443
  const evidence = evidenceByCandidate.get(outpoint);
420
444
  const token = candidates.get(outpoint);
421
- return (evidence != null && token != null && evidence.txs.some(tx => this.consumesSameIdentityToken(tx, token)));
445
+ return evidence != null && token != null && evidence.txs.some(tx => this.consumesIdentity(tx, token));
422
446
  });
423
447
  if (provenContinuations.length !== 1)
424
448
  return undefined;
@@ -430,9 +454,9 @@ class OverlayUMPTokenInteractor {
430
454
  * hash — on-chain proof that the candidate is an update of a same-identity
431
455
  * predecessor rather than an independently minted token.
432
456
  */
433
- consumesSameIdentityToken(tx, token) {
434
- const presentationHash = sdk_1.Utils.toHex(token.presentationHash);
435
- const recoveryHash = sdk_1.Utils.toHex(token.recoveryHash);
457
+ consumesIdentity(tx, token) {
458
+ const presentationHash = (0, utils_1.toHex)(token.presentationHash);
459
+ const recoveryHash = (0, utils_1.toHex)(token.recoveryHash);
436
460
  for (const input of tx.inputs) {
437
461
  const source = input.sourceTransaction;
438
462
  if (source == null || input.sourceOutputIndex == null)
@@ -441,13 +465,10 @@ class OverlayUMPTokenInteractor {
441
465
  if (sourceOutput == null)
442
466
  continue;
443
467
  try {
444
- const decoded = sdk_1.PushDrop.decode(sourceOutput.lockingScript);
445
- if (decoded.fields == null)
446
- continue;
447
- const fields = stripVerifiedPushDropSignature(decoded.fields, decoded.lockingPublicKey);
468
+ const { fields } = decodeAuthenticatedUMPFields(sourceOutput.lockingScript);
448
469
  if (fields.length < 11 || fields[6]?.length !== 32 || fields[7]?.length !== 32)
449
470
  continue;
450
- if (sdk_1.Utils.toHex(fields[6]) === presentationHash || sdk_1.Utils.toHex(fields[7]) === recoveryHash) {
471
+ if ((0, utils_1.toHex)(fields[6]) === presentationHash || (0, utils_1.toHex)(fields[7]) === recoveryHash) {
451
472
  return true;
452
473
  }
453
474
  }
@@ -463,7 +484,7 @@ class OverlayUMPTokenInteractor {
463
484
  * renditions are absent from the lookup answer. Iterative so arbitrarily
464
485
  * long update chains cannot exhaust the call stack.
465
486
  */
466
- collectSpentOutpoints(tx, spent, visited) {
487
+ collectSpends(tx, spent, visited) {
467
488
  const pending = [tx];
468
489
  while (pending.length > 0) {
469
490
  const current = pending.pop();
@@ -482,7 +503,7 @@ class OverlayUMPTokenInteractor {
482
503
  }
483
504
  }
484
505
  }
485
- emptyLookupDiagnostics(correlationId) {
506
+ emptyStats(correlationId) {
486
507
  return {
487
508
  hostCount: 0,
488
509
  completedHosts: 0,
@@ -495,7 +516,7 @@ class OverlayUMPTokenInteractor {
495
516
  ...(correlationId !== undefined ? { correlationId } : {})
496
517
  };
497
518
  }
498
- toLookupDiagnostics(resolution) {
519
+ diagnosticsFor(resolution) {
499
520
  const progress = resolution.progress;
500
521
  return {
501
522
  hostCount: progress.hostCount,
@@ -509,7 +530,7 @@ class OverlayUMPTokenInteractor {
509
530
  ...(progress.correlationId !== undefined ? { correlationId: progress.correlationId } : {})
510
531
  };
511
532
  }
512
- lookupDiagnosticAttributes(diagnostics) {
533
+ lookupAttrs(diagnostics) {
513
534
  return {
514
535
  hostCount: diagnostics.hostCount,
515
536
  completedHosts: diagnostics.completedHosts,
@@ -521,7 +542,7 @@ class OverlayUMPTokenInteractor {
521
542
  outputCount: diagnostics.outputCount
522
543
  };
523
544
  }
524
- captureLookupCompleted(lookupKind, result, diagnostics, startedAt, extraAttributes = {}) {
545
+ lookupDone(lookupKind, result, diagnostics, startedAt, extraAttributes = {}) {
525
546
  this.telemetry.capture({
526
547
  name: 'wallet-toolbox.ump.lookup.completed',
527
548
  component: 'wallet-toolbox.ump',
@@ -531,12 +552,12 @@ class OverlayUMPTokenInteractor {
531
552
  lookupKind,
532
553
  result,
533
554
  durationMs: Date.now() - startedAt,
534
- ...this.lookupDiagnosticAttributes(diagnostics),
555
+ ...this.lookupAttrs(diagnostics),
535
556
  ...extraAttributes
536
557
  }
537
558
  });
538
559
  }
539
- captureLookupFailure(lookupKind, reason, diagnostics, startedAt, error) {
560
+ lookupFailed(lookupKind, reason, diagnostics, startedAt, error) {
540
561
  this.telemetry.capture({
541
562
  name: 'wallet-toolbox.ump.lookup.indeterminate',
542
563
  component: 'wallet-toolbox.ump',
@@ -546,7 +567,7 @@ class OverlayUMPTokenInteractor {
546
567
  lookupKind,
547
568
  reason,
548
569
  durationMs: Date.now() - startedAt,
549
- ...this.lookupDiagnosticAttributes(diagnostics)
570
+ ...this.lookupAttrs(diagnostics)
550
571
  },
551
572
  error
552
573
  });
@@ -566,13 +587,17 @@ class OverlayUMPTokenInteractor {
566
587
  async buildAndSend(wallet, // This wallet MUST be the one built for the default profile
567
588
  adminOriginator, token, oldTokenToConsume) {
568
589
  // 1) Construct the data fields and PushDrop locking script for the new UMP token.
569
- const fields = this.buildUMPTokenFields(token);
590
+ const fields = this.tokenFields(token);
570
591
  const script = await new sdk_1.PushDrop(wallet, adminOriginator).lock(fields, [2, 'admin user management token'], '1', 'self',
571
592
  /* forSelf= */ true,
572
593
  /* includeSignature= */ true);
573
- const tokenOutput = [{ lockingScript: script.toHex(), satoshis: 1, outputDescription: 'New UMP token output' }];
594
+ const tokenScript = script.toHex();
595
+ const tokenOutput = [{ lockingScript: tokenScript, satoshis: 1, outputDescription: 'New UMP token output' }];
574
596
  // 2) Resolve the old-token input (if provided) and create the action.
575
- const { resolvedOldToken, inputToken } = await this.resolveOldTokenInput(oldTokenToConsume);
597
+ const { resolvedOldToken, inputToken } = await this.resolveOldInput(oldTokenToConsume);
598
+ if (resolvedOldToken != null && inputToken != null) {
599
+ await this.assertOwnedUMPInput(wallet, adminOriginator, resolvedOldToken, inputToken);
600
+ }
576
601
  const inputs = resolvedOldToken?.currentOutpoint
577
602
  ? [
578
603
  {
@@ -582,21 +607,40 @@ class OverlayUMPTokenInteractor {
582
607
  }
583
608
  ]
584
609
  : [];
585
- const createResult = await this.createUMPAction(wallet, adminOriginator, inputs, tokenOutput, inputToken, resolvedOldToken);
586
- // 3) If the wallet fully processed it (no signable tx), broadcast and return.
587
- if (!createResult.signableTransaction) {
588
- return await this.broadcastFinishedUMPAction(createResult);
610
+ const createArgs = {
611
+ description: resolvedOldToken == null ? 'Create new UMP token' : 'Renew UMP token (consume old, create new)',
612
+ inputs,
613
+ outputs: tokenOutput,
614
+ inputBEEF: inputToken?.beef,
615
+ options: { randomizeOutputs: false, acceptDelayedBroadcast: false }
616
+ };
617
+ const inputSigners = Object.create(null);
618
+ if (resolvedOldToken?.currentOutpoint != null) {
619
+ const unlocker = new sdk_1.PushDrop(wallet, adminOriginator).unlock([2, 'admin user management token'], '1', 'self');
620
+ inputSigners[resolvedOldToken.currentOutpoint] = async (transaction, inputIndex) => await unlocker.sign(transaction, inputIndex);
589
621
  }
590
- // 4) Sign and broadcast: with old token input or without.
591
- const reference = createResult.signableTransaction.reference;
592
- const partialTx = sdk_1.Transaction.fromBEEF(createResult.signableTransaction.tx);
593
- if (resolvedOldToken?.currentOutpoint) {
594
- return await this.signAndBroadcastWithOldToken(wallet, adminOriginator, reference, partialTx);
622
+ const operation = resolvedOldToken == null ? 'create' : 'renew';
623
+ let transaction;
624
+ try {
625
+ transaction = await this.completeUMPAction(wallet, createArgs, inputSigners, adminOriginator);
595
626
  }
596
- return await this.signAndBroadcastNewToken(wallet, adminOriginator, reference);
627
+ catch (error) {
628
+ this.telemetry.capture({
629
+ name: 'wallet-toolbox.ump.action.failed',
630
+ component: 'wallet-toolbox.ump',
631
+ severity: 'error',
632
+ attributes: {
633
+ operation,
634
+ oldTokenInputRequired: resolvedOldToken != null
635
+ },
636
+ error
637
+ });
638
+ throw error;
639
+ }
640
+ return await this.broadcastUMPTransaction(transaction, tokenScript, operation);
597
641
  }
598
642
  /** Assembles the ordered number[][] fields array from a UMPToken. */
599
- buildUMPTokenFields(token) {
643
+ tokenFields(token) {
600
644
  const fields = [];
601
645
  fields[0] = token.passwordSalt;
602
646
  fields[1] = token.passwordPresentationPrimary;
@@ -614,7 +658,7 @@ class OverlayUMPTokenInteractor {
614
658
  if (token.umpVersion === 3 && token.passwordKdf != null) {
615
659
  const vi = token.profilesEncrypted == null ? 11 : 12;
616
660
  fields[vi] = [token.umpVersion];
617
- fields[vi + 1] = sdk_1.Utils.toArray(token.passwordKdf.algorithm, 'utf8');
661
+ fields[vi + 1] = (0, utils_1.toArray)(token.passwordKdf.algorithm, 'utf8');
618
662
  const kdfParams = { iterations: token.passwordKdf.iterations };
619
663
  if (token.passwordKdf.memoryKiB !== undefined)
620
664
  kdfParams.memoryKiB = token.passwordKdf.memoryKiB;
@@ -622,85 +666,61 @@ class OverlayUMPTokenInteractor {
622
666
  kdfParams.parallelism = token.passwordKdf.parallelism;
623
667
  if (token.passwordKdf.hashLength !== undefined)
624
668
  kdfParams.hashLength = token.passwordKdf.hashLength;
625
- fields[vi + 2] = sdk_1.Utils.toArray(JSON.stringify(kdfParams), 'utf8');
669
+ fields[vi + 2] = (0, utils_1.toArray)(JSON.stringify(kdfParams), 'utf8');
626
670
  }
627
671
  return fields;
628
672
  }
629
673
  /** Looks up the old token on the overlay; returns undefined resolved token if not found. */
630
- async resolveOldTokenInput(oldTokenToConsume) {
674
+ async resolveOldInput(oldTokenToConsume) {
631
675
  if (!oldTokenToConsume?.currentOutpoint)
632
676
  return { resolvedOldToken: undefined, inputToken: undefined };
633
677
  const inputToken = await this.findByOutpoint(oldTokenToConsume.currentOutpoint);
634
678
  if (inputToken == null) {
635
- throw new Error('The previous UMP token could not be resolved; refusing to publish a duplicate token.');
679
+ throw new Error('Previous UMP token unavailable; update refused.');
636
680
  }
637
681
  return { resolvedOldToken: oldTokenToConsume, inputToken };
638
682
  }
639
- /** Creates the UMP action without dropping a required old-token input on failure. */
640
- async createUMPAction(wallet, adminOriginator, inputs, outputs, inputToken, resolvedOldToken) {
641
- try {
642
- return await wallet.createAction({
643
- description: resolvedOldToken == null ? 'Create new UMP token' : 'Renew UMP token (consume old, create new)',
644
- inputs,
645
- outputs,
646
- inputBEEF: inputToken?.beef,
647
- options: { randomizeOutputs: false, acceptDelayedBroadcast: false }
648
- }, adminOriginator);
649
- }
650
- catch (error) {
651
- this.telemetry.capture({
652
- name: 'wallet-toolbox.ump.action.failed',
653
- component: 'wallet-toolbox.ump',
654
- severity: 'error',
655
- attributes: {
656
- operation: resolvedOldToken == null ? 'create' : 'renew',
657
- oldTokenInputRequired: resolvedOldToken != null
658
- },
659
- error
660
- });
661
- throw error;
662
- }
663
- }
664
- /** Handles a fully-finalized (no signable tx) createAction result — broadcasts and returns outpoint. */
665
- async broadcastFinishedUMPAction(createResult) {
666
- const finalTxid = createResult.txid || (createResult.tx != null ? sdk_1.Transaction.fromAtomicBEEF(createResult.tx).id('hex') : undefined);
667
- if (!finalTxid)
668
- throw new Error('No signableTransaction and no final TX found.');
669
- if (createResult.tx == null)
670
- throw new Error('No final TX data to broadcast.');
671
- const broadcastTx = sdk_1.Transaction.fromAtomicBEEF(createResult.tx);
672
- const result = await this.broadcaster.broadcast(broadcastTx);
673
- this.assertSuccessfulBroadcast(result, 'create-finalized');
674
- return `${finalTxid}.0`;
675
- }
676
- /** Signs the old-token input and broadcasts — used during UMP token renewal. */
677
- async signAndBroadcastWithOldToken(wallet, adminOriginator, reference, partialTx) {
678
- const unlocker = new sdk_1.PushDrop(wallet, adminOriginator).unlock([2, 'admin user management token'], '1', 'self');
679
- const unlockingScript = await unlocker.sign(partialTx, 0);
680
- const signResult = await wallet.signAction({ reference, spends: { 0: { unlockingScript: unlockingScript.toHex() } } }, adminOriginator);
681
- const finalTxid = signResult.txid || (signResult.tx == null ? '' : sdk_1.Transaction.fromAtomicBEEF(signResult.tx).id('hex'));
682
- if (!finalTxid)
683
- throw new Error('Could not finalize transaction for renewed UMP token.');
684
- if (signResult.tx == null)
685
- throw new Error('Final transaction data missing after signing renewed UMP token.');
686
- const result = await this.broadcaster.broadcast(sdk_1.Transaction.fromAtomicBEEF(signResult.tx));
687
- this.assertSuccessfulBroadcast(result, 'renew');
688
- return `${finalTxid}.0`;
689
- }
690
- /** Signs without input spending and broadcasts — used when creating a brand-new UMP token. */
691
- async signAndBroadcastNewToken(wallet, adminOriginator, reference) {
692
- const signResult = await wallet.signAction({ reference, spends: {} }, adminOriginator);
693
- const finalTxid = signResult.txid || (signResult.tx == null ? '' : sdk_1.Transaction.fromAtomicBEEF(signResult.tx).id('hex'));
694
- if (!finalTxid)
695
- throw new Error('Failed to finalize new UMP token transaction.');
696
- if (signResult.tx == null)
697
- throw new Error('Final transaction data missing after signing new UMP token.');
698
- const result = await this.broadcaster.broadcast(sdk_1.Transaction.fromAtomicBEEF(signResult.tx));
699
- this.assertSuccessfulBroadcast(result, 'create');
700
- return `${finalTxid}.0`;
701
- }
702
- assertSuccessfulBroadcast(result, operation) {
703
- const succeeded = result.status === 'success';
683
+ /** Proves the exact predecessor is an authenticated token controlled by this wallet. */
684
+ async assertOwnedUMPInput(wallet, adminOriginator, oldToken, inputToken) {
685
+ const transaction = sdk_1.Transaction.fromBEEF(inputToken.beef);
686
+ const sourceOutput = transaction.outputs[inputToken.outputIndex];
687
+ if (sourceOutput == null)
688
+ throw new Error('Previous UMP token source output is missing.');
689
+ const decoded = decodeAuthenticatedUMPFields(sourceOutput.lockingScript);
690
+ if (decoded.fields[6]?.length !== 32 ||
691
+ decoded.fields[7]?.length !== 32 ||
692
+ (0, utils_1.toHex)(decoded.fields[6]) !== (0, utils_1.toHex)(oldToken.presentationHash) ||
693
+ (0, utils_1.toHex)(decoded.fields[7]) !== (0, utils_1.toHex)(oldToken.recoveryHash)) {
694
+ throw new Error('Previous UMP token identity does not match its authenticated source.');
695
+ }
696
+ const { publicKey } = await wallet.getPublicKey({
697
+ protocolID: [2, 'admin user management token'],
698
+ keyID: '1',
699
+ counterparty: 'self',
700
+ forSelf: true
701
+ }, adminOriginator);
702
+ if (publicKey.toLowerCase() !== decoded.lockingPublicKey.toString().toLowerCase()) {
703
+ throw new Error('Previous UMP token is not controlled by this wallet.');
704
+ }
705
+ }
706
+ /** Completes an action only after exact request, input, output, and final-transaction binding. */
707
+ async completeUMPAction(wallet, createArgs, inputSigners, adminOriginator) {
708
+ return await (0, sdk_1.completeBoundAction)(wallet, createArgs, { inputSigners }, adminOriginator);
709
+ }
710
+ /** Broadcasts a bound UMP transaction and returns the exact, uniquely matching token output. */
711
+ async broadcastUMPTransaction(transaction, tokenScript, operation) {
712
+ const normalizedScript = tokenScript.toLowerCase();
713
+ const matchingOutputs = transaction.outputs.flatMap((output, index) => output.satoshis === 1 && output.lockingScript.toHex().toLowerCase() === normalizedScript ? [index] : []);
714
+ if (matchingOutputs.length !== 1) {
715
+ throw new Error('Final UMP transaction must contain exactly one requested token output.');
716
+ }
717
+ const txid = transaction.id('hex');
718
+ const result = await this.broadcaster.broadcast(transaction);
719
+ this.assertBroadcast(result, operation, txid);
720
+ return `${txid}.${matchingOutputs[0]}`;
721
+ }
722
+ assertBroadcast(result, operation, expectedTxid) {
723
+ const succeeded = result.status === 'success' && result.txid.toLowerCase() === expectedTxid.toLowerCase();
704
724
  this.telemetry.capture({
705
725
  name: succeeded ? 'wallet-toolbox.ump.broadcast.completed' : 'wallet-toolbox.ump.broadcast.failed',
706
726
  component: 'wallet-toolbox.ump',
@@ -712,7 +732,8 @@ class OverlayUMPTokenInteractor {
712
732
  }
713
733
  });
714
734
  if (!succeeded) {
715
- throw new Error(`UMP token broadcast failed (${result.code}).`);
735
+ const reason = result.status === 'error' ? result.code : 'transaction ID mismatch';
736
+ throw new Error(`UMP token broadcast failed (${reason}).`);
716
737
  }
717
738
  }
718
739
  /**
@@ -731,23 +752,19 @@ class OverlayUMPTokenInteractor {
731
752
  return [];
732
753
  const tokens = [];
733
754
  for (const output of answer.outputs) {
734
- const token = this.parseLookupOutput(output);
755
+ const token = this.parseOutput(output);
735
756
  if (token != null)
736
757
  tokens.push(token);
737
758
  }
738
759
  return tokens;
739
760
  }
740
- parseLookupOutput(output) {
761
+ parseOutput(output) {
741
762
  try {
742
763
  const tx = sdk_1.Transaction.fromBEEF(output.beef);
743
764
  const txOutput = tx.outputs[output.outputIndex];
744
765
  if (txOutput == null)
745
766
  return undefined;
746
- const decoded = sdk_1.PushDrop.decode(txOutput.lockingScript);
747
- if (decoded.fields == null || decoded.fields.length < 11 || decoded.fields.length > 16) {
748
- return undefined;
749
- }
750
- const protocolFields = stripVerifiedPushDropSignature(decoded.fields, decoded.lockingPublicKey);
767
+ const { fields: protocolFields } = decodeAuthenticatedUMPFields(txOutput.lockingScript);
751
768
  if (protocolFields.length < 11 ||
752
769
  protocolFields.slice(0, 11).some(field => field.length === 0 || field.length > exports.MAX_STATE_SNAPSHOT_BYTES)) {
753
770
  return undefined;
@@ -787,6 +804,14 @@ class OverlayUMPTokenInteractor {
787
804
  async findByOutpoint(outpoint) {
788
805
  const correlationId = this.telemetry.enabled === true ? this.telemetry.createCorrelationId() : undefined;
789
806
  const startedAt = Date.now();
807
+ const match = /^([0-9a-f]{64})\.(0|[1-9]\d*)$/i.exec(outpoint);
808
+ const requestedOutputIndex = match == null ? Number.NaN : Number(match[2]);
809
+ if (match == null || !Number.isSafeInteger(requestedOutputIndex) || requestedOutputIndex > 0xffffffff) {
810
+ const diagnostics = this.emptyStats(correlationId);
811
+ this.lookupFailed('outpoint', 'token-malformed', diagnostics, startedAt);
812
+ throw new UMPTokenLookupError('token-malformed', diagnostics);
813
+ }
814
+ const normalizedOutpoint = `${match[1].toLowerCase()}.${requestedOutputIndex}`;
790
815
  let resolution;
791
816
  try {
792
817
  resolution = await this.resolver.queryDetailed({
@@ -800,20 +825,44 @@ class OverlayUMPTokenInteractor {
800
825
  });
801
826
  }
802
827
  catch (error) {
803
- const diagnostics = this.emptyLookupDiagnostics(correlationId);
804
- this.captureLookupFailure('outpoint', 'lookup-unavailable', diagnostics, startedAt, error);
828
+ const diagnostics = this.emptyStats(correlationId);
829
+ this.lookupFailed('outpoint', 'lookup-unavailable', diagnostics, startedAt, error);
805
830
  throw new UMPTokenLookupError('lookup-unavailable', diagnostics, { cause: error });
806
831
  }
807
832
  if (resolution.answer.outputs.length === 0) {
808
833
  const p = resolution.progress;
809
834
  if (p.emptyHosts === 0) {
810
- const diagnostics = this.toLookupDiagnostics(resolution);
811
- this.captureLookupFailure('outpoint', 'lookup-incomplete', diagnostics, startedAt);
835
+ const diagnostics = this.diagnosticsFor(resolution);
836
+ this.lookupFailed('outpoint', 'lookup-incomplete', diagnostics, startedAt);
812
837
  throw new UMPTokenLookupError('lookup-incomplete', diagnostics);
813
838
  }
814
839
  return undefined;
815
840
  }
816
- return resolution.answer.outputs[0];
841
+ const diagnostics = this.diagnosticsFor(resolution);
842
+ const matchingOutputs = [];
843
+ try {
844
+ for (const output of resolution.answer.outputs) {
845
+ if (!Number.isSafeInteger(output.outputIndex) || output.outputIndex < 0 || output.outputIndex > 0xffffffff) {
846
+ throw new Error('UMP lookup returned an invalid output index');
847
+ }
848
+ const transaction = sdk_1.Transaction.fromBEEF(output.beef);
849
+ if (transaction.outputs[output.outputIndex] == null ||
850
+ `${transaction.id('hex')}.${output.outputIndex}` !== normalizedOutpoint) {
851
+ throw new Error('UMP lookup substituted the requested outpoint');
852
+ }
853
+ matchingOutputs.push(output);
854
+ }
855
+ }
856
+ catch (error) {
857
+ this.lookupFailed('outpoint', 'token-malformed', diagnostics, startedAt, error);
858
+ throw new UMPTokenLookupError('token-malformed', diagnostics, { cause: error });
859
+ }
860
+ if (matchingOutputs.length === 0) {
861
+ this.lookupFailed('outpoint', 'token-malformed', diagnostics, startedAt);
862
+ throw new UMPTokenLookupError('token-malformed', diagnostics);
863
+ }
864
+ matchingOutputs.sort((left, right) => right.beef.length - left.beef.length);
865
+ return matchingOutputs[0];
817
866
  }
818
867
  }
819
868
  exports.OverlayUMPTokenInteractor = OverlayUMPTokenInteractor;
@@ -955,21 +1004,21 @@ class CWIStyleWalletManager {
955
1004
  if (this._initSnapshot !== undefined) {
956
1005
  this.telemetry.capture({
957
1006
  name: 'wallet-toolbox.snapshot.initialization.started',
958
- component: 'wallet-toolbox.cwi-manager',
1007
+ component: CWI_COMPONENT,
959
1008
  severity: 'debug'
960
1009
  });
961
1010
  try {
962
1011
  await this.loadSnapshot(this._initSnapshot);
963
1012
  this.telemetry.capture({
964
1013
  name: 'wallet-toolbox.snapshot.initialization.completed',
965
- component: 'wallet-toolbox.cwi-manager',
1014
+ component: CWI_COMPONENT,
966
1015
  severity: 'info'
967
1016
  });
968
1017
  }
969
1018
  catch (error) {
970
1019
  this.telemetry.capture({
971
1020
  name: 'wallet-toolbox.snapshot.initialization.failed',
972
- component: 'wallet-toolbox.cwi-manager',
1021
+ component: CWI_COMPONENT,
973
1022
  severity: 'error',
974
1023
  error
975
1024
  });
@@ -979,9 +1028,11 @@ class CWIStyleWalletManager {
979
1028
  }
980
1029
  // --- Authentication Methods ---
981
1030
  /**
982
- * Provides the presentation key.
1031
+ * Provides the presentation key. A WAB operator pin may be supplied by the
1032
+ * authentication manager; normal lookup and lineage resolution always run
1033
+ * before this ambiguity-only fallback.
983
1034
  */
984
- async providePresentationKey(key) {
1035
+ async providePresentationKey(key, lookupOptions) {
985
1036
  if (this.authenticated) {
986
1037
  throw new Error('User is already authenticated');
987
1038
  }
@@ -992,22 +1043,22 @@ class CWIStyleWalletManager {
992
1043
  throw new TypeError('Presentation key must contain exactly 32 bytes.');
993
1044
  }
994
1045
  this.authenticationFlow = 'unknown';
995
- const hash = sdk_1.Hash.sha256(key);
1046
+ const hash = (0, Hash_1.sha256)(key);
996
1047
  const startedAt = Date.now();
997
1048
  this.telemetry.capture({
998
1049
  name: 'wallet-toolbox.authentication.account-lookup.started',
999
- component: 'wallet-toolbox.cwi-manager',
1050
+ component: CWI_COMPONENT,
1000
1051
  severity: 'debug',
1001
1052
  attributes: { lookupKind: 'presentation' }
1002
1053
  });
1003
1054
  let token;
1004
1055
  try {
1005
- token = await this.UMPTokenInteractor.findByPresentationKeyHash(hash);
1056
+ token = await this.UMPTokenInteractor.findByPresentationKeyHash(hash, lookupOptions);
1006
1057
  }
1007
1058
  catch (error) {
1008
1059
  this.telemetry.capture({
1009
1060
  name: 'wallet-toolbox.authentication.account-lookup.failed',
1010
- component: 'wallet-toolbox.cwi-manager',
1061
+ component: CWI_COMPONENT,
1011
1062
  severity: 'warn',
1012
1063
  attributes: {
1013
1064
  lookupKind: 'presentation',
@@ -1030,7 +1081,7 @@ class CWIStyleWalletManager {
1030
1081
  }
1031
1082
  this.telemetry.capture({
1032
1083
  name: 'wallet-toolbox.authentication.account-lookup.completed',
1033
- component: 'wallet-toolbox.cwi-manager',
1084
+ component: CWI_COMPONENT,
1034
1085
  severity: 'info',
1035
1086
  attributes: {
1036
1087
  lookupKind: 'presentation',
@@ -1052,17 +1103,17 @@ class CWIStyleWalletManager {
1052
1103
  throw new Error('Determine account status with a presentation or recovery key before providing a password.');
1053
1104
  }
1054
1105
  if (this.authenticationFlow === 'existing-user') {
1055
- await this.handleExistingUserPassword(password);
1106
+ await this.unlockExisting(password);
1056
1107
  }
1057
1108
  else {
1058
- await this.handleNewUserPassword(password);
1109
+ await this.createNewUser(password);
1059
1110
  }
1060
1111
  }
1061
1112
  /** Handles the password step for an existing user — derives keys, sets up infrastructure. */
1062
- async handleExistingUserPassword(password) {
1113
+ async unlockExisting(password) {
1063
1114
  if (this.currentUMPToken == null)
1064
1115
  throw new Error('Provide presentation or recovery key first.');
1065
- const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(password, 'utf8'));
1116
+ const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, (0, utils_1.toArray)(password, 'utf8'));
1066
1117
  let rootPrimaryKey;
1067
1118
  let rootPrivilegedKey;
1068
1119
  if (this.authenticationMode === 'presentation-key-and-password') {
@@ -1078,11 +1129,11 @@ class CWIStyleWalletManager {
1078
1129
  rootPrimaryKey = new sdk_1.SymmetricKey(primaryDecryptionKey).decrypt(this.currentUMPToken.passwordRecoveryPrimary);
1079
1130
  rootPrivilegedKey = new sdk_1.SymmetricKey(this.XOR(rootPrimaryKey, derivedPasswordKey)).decrypt(this.currentUMPToken.passwordPrimaryPrivileged);
1080
1131
  }
1081
- await this.setupRootInfrastructure(rootPrimaryKey, rootPrivilegedKey);
1132
+ await this.setupRoot(rootPrimaryKey, rootPrivilegedKey);
1082
1133
  await this.switchProfile(this.activeProfileId);
1083
1134
  }
1084
1135
  /** Handles the password step for a new user — generates keys, builds UMP token, publishes on-chain. */
1085
- async handleNewUserPassword(password) {
1136
+ async createNewUser(password) {
1086
1137
  if (this.authenticationMode !== 'presentation-key-and-password') {
1087
1138
  throw new Error('New-user flow requires presentation key and password mode.');
1088
1139
  }
@@ -1092,7 +1143,7 @@ class CWIStyleWalletManager {
1092
1143
  const recoveryKey = (0, sdk_1.Random)(32);
1093
1144
  await this.recoveryKeySaver(recoveryKey);
1094
1145
  const passwordSalt = (0, sdk_1.Random)(32);
1095
- const passwordKey = await derivePasswordKey({ passwordSalt, passwordKdf: this.kdfConfig }, sdk_1.Utils.toArray(password, 'utf8'));
1146
+ const passwordKey = await derivePasswordKey({ passwordSalt, passwordKdf: this.kdfConfig }, (0, utils_1.toArray)(password, 'utf8'));
1096
1147
  const rootPrimaryKey = (0, sdk_1.Random)(32);
1097
1148
  const rootPrivilegedKey = (0, sdk_1.Random)(32);
1098
1149
  // Build XOR-combined symmetric keys
@@ -1111,8 +1162,8 @@ class CWIStyleWalletManager {
1111
1162
  presentationRecoveryPrimary: presentationRecovery.encrypt(rootPrimaryKey),
1112
1163
  passwordPrimaryPrivileged: primaryPassword.encrypt(rootPrivilegedKey),
1113
1164
  presentationRecoveryPrivileged: presentationRecovery.encrypt(rootPrivilegedKey),
1114
- presentationHash: sdk_1.Hash.sha256(this.presentationKey),
1115
- recoveryHash: sdk_1.Hash.sha256(recoveryKey),
1165
+ presentationHash: (0, Hash_1.sha256)(this.presentationKey),
1166
+ recoveryHash: (0, Hash_1.sha256)(recoveryKey),
1116
1167
  presentationKeyEncrypted: await wrapKey(this.presentationKey),
1117
1168
  passwordKeyEncrypted: await wrapKey(passwordKey),
1118
1169
  recoveryKeyEncrypted: await wrapKey(recoveryKey),
@@ -1121,7 +1172,7 @@ class CWIStyleWalletManager {
1121
1172
  passwordKdf: this.kdfConfig
1122
1173
  };
1123
1174
  this.currentUMPToken = newToken;
1124
- await this.setupRootInfrastructure(rootPrimaryKey);
1175
+ await this.setupRoot(rootPrimaryKey);
1125
1176
  await this.switchProfile(exports.DEFAULT_PROFILE_ID);
1126
1177
  // Fund the *default* wallet if funder provided
1127
1178
  if (this.newWalletFunder != null && this.underlying != null) {
@@ -1131,7 +1182,7 @@ class CWIStyleWalletManager {
1131
1182
  catch (error) {
1132
1183
  this.telemetry.capture({
1133
1184
  name: 'wallet-toolbox.authentication.new-wallet-funding.failed',
1134
- component: 'wallet-toolbox.cwi-manager',
1185
+ component: CWI_COMPONENT,
1135
1186
  severity: 'error',
1136
1187
  error: new Error('New wallet funding failed.')
1137
1188
  });
@@ -1161,7 +1212,7 @@ class CWIStyleWalletManager {
1161
1212
  }
1162
1213
  if (this.authenticationMode === 'recovery-key-and-password') {
1163
1214
  // Wait for password
1164
- const hash = sdk_1.Hash.sha256(recoveryKey);
1215
+ const hash = (0, Hash_1.sha256)(recoveryKey);
1165
1216
  const token = await this.UMPTokenInteractor.findByRecoveryKeyHash(hash);
1166
1217
  if (token == null)
1167
1218
  throw new Error('No user found with this recovery key');
@@ -1179,7 +1230,7 @@ class CWIStyleWalletManager {
1179
1230
  const rootPrimaryKey = new sdk_1.SymmetricKey(xorKey).decrypt(this.currentUMPToken.presentationRecoveryPrimary);
1180
1231
  const rootPrivilegedKey = new sdk_1.SymmetricKey(xorKey).decrypt(this.currentUMPToken.presentationRecoveryPrivileged);
1181
1232
  // Build root infrastructure, load profiles, switch to default
1182
- await this.setupRootInfrastructure(rootPrimaryKey, rootPrivilegedKey);
1233
+ await this.setupRoot(rootPrimaryKey, rootPrivilegedKey);
1183
1234
  await this.switchProfile(this.activeProfileId);
1184
1235
  }
1185
1236
  }
@@ -1196,7 +1247,7 @@ class CWIStyleWalletManager {
1196
1247
  throw new Error('No root primary key or current UMP token set');
1197
1248
  }
1198
1249
  const snapshotKey = (0, sdk_1.Random)(32);
1199
- const snapshotPreimageWriter = new sdk_1.Utils.Writer();
1250
+ const snapshotPreimageWriter = new utils_1.Writer();
1200
1251
  // Write root primary key
1201
1252
  snapshotPreimageWriter.write(this.rootPrimaryKey);
1202
1253
  // Write serialized UMP token (must have outpoint)
@@ -1210,7 +1261,7 @@ class CWIStyleWalletManager {
1210
1261
  const snapshotPreimage = snapshotPreimageWriter.toArray();
1211
1262
  const snapshotPayload = new sdk_1.SymmetricKey(snapshotKey).encrypt(snapshotPreimage);
1212
1263
  // Build final snapshot (Version 2)
1213
- const snapshotWriter = new sdk_1.Utils.Writer();
1264
+ const snapshotWriter = new utils_1.Writer();
1214
1265
  snapshotWriter.writeUInt8(2); // Version
1215
1266
  snapshotWriter.write(snapshotKey);
1216
1267
  snapshotWriter.write(this.activeProfileId); // Active profile ID
@@ -1221,7 +1272,7 @@ class CWIStyleWalletManager {
1221
1272
  }
1222
1273
  this.telemetry.capture({
1223
1274
  name: 'wallet-toolbox.snapshot.saved',
1224
- component: 'wallet-toolbox.cwi-manager',
1275
+ component: CWI_COMPONENT,
1225
1276
  severity: 'info',
1226
1277
  attributes: {
1227
1278
  formatVersion: 2,
@@ -1243,7 +1294,7 @@ class CWIStyleWalletManager {
1243
1294
  snapshot.some(byte => !Number.isInteger(byte) || byte < 0 || byte > 255)) {
1244
1295
  throw new Error('Snapshot is empty, oversized, or contains invalid bytes.');
1245
1296
  }
1246
- const reader = new sdk_1.Utils.Reader(snapshot);
1297
+ const reader = new utils_1.Reader(snapshot);
1247
1298
  const version = reader.readUInt8();
1248
1299
  let snapshotKey;
1249
1300
  let encryptedPayload;
@@ -1262,22 +1313,22 @@ class CWIStyleWalletManager {
1262
1313
  }
1263
1314
  // Decrypt payload
1264
1315
  const decryptedPayload = new sdk_1.SymmetricKey(snapshotKey).decrypt(encryptedPayload);
1265
- const payloadReader = new sdk_1.Utils.Reader(decryptedPayload);
1316
+ const payloadReader = new utils_1.Reader(decryptedPayload);
1266
1317
  // Read root primary key
1267
1318
  const rootPrimaryKey = payloadReader.read(32);
1268
1319
  // Read serialized UMP token
1269
- const tokenLen = payloadReader.readVarIntNum();
1320
+ const tokenLen = payloadReader.readVarIntNumStrict(false);
1270
1321
  const tokenBytes = payloadReader.read(tokenLen);
1271
1322
  const token = this.deserializeUMPToken(tokenBytes);
1272
1323
  // Assign loaded data
1273
1324
  this.currentUMPToken = token;
1274
1325
  // Setup root infrastructure, load profiles, and switch to the loaded active profile
1275
- await this.setupRootInfrastructure(rootPrimaryKey); // Will automatically load profiles
1326
+ await this.setupRoot(rootPrimaryKey); // Will automatically load profiles
1276
1327
  await this.switchProfile(activeProfileId); // Switch to the profile saved in the snapshot
1277
1328
  this.authenticationFlow = 'existing-user'; // Loading implies existing user
1278
1329
  this.telemetry.capture({
1279
1330
  name: 'wallet-toolbox.snapshot.loaded',
1280
- component: 'wallet-toolbox.cwi-manager',
1331
+ component: CWI_COMPONENT,
1281
1332
  severity: 'info',
1282
1333
  attributes: {
1283
1334
  formatVersion: version,
@@ -1289,7 +1340,7 @@ class CWIStyleWalletManager {
1289
1340
  this.destroy(); // Clear state on error
1290
1341
  this.telemetry.capture({
1291
1342
  name: 'wallet-toolbox.snapshot.load-failed',
1292
- component: 'wallet-toolbox.cwi-manager',
1343
+ component: CWI_COMPONENT,
1293
1344
  severity: 'error',
1294
1345
  error
1295
1346
  });
@@ -1318,7 +1369,7 @@ class CWIStyleWalletManager {
1318
1369
  return false;
1319
1370
  }
1320
1371
  this.currentUMPToken = refreshed;
1321
- await this.setupRootInfrastructure(this.rootPrimaryKey);
1372
+ await this.setupRoot(this.rootPrimaryKey);
1322
1373
  this.saveSnapshot();
1323
1374
  return true;
1324
1375
  }
@@ -1395,7 +1446,7 @@ class CWIStyleWalletManager {
1395
1446
  };
1396
1447
  this.profiles.push(newProfile);
1397
1448
  // Update the UMP token with the new profile list
1398
- await this.updateAuthFactors(this.currentUMPToken.passwordSalt,
1449
+ await this.updateFactors(this.currentUMPToken.passwordSalt,
1399
1450
  // Need to re-derive/decrypt factors needed for re-encryption
1400
1451
  await this.getFactor('passwordKey'), await this.getFactor('presentationKey'), await this.getFactor('recoveryKey'), this.rootPrimaryKey, await this.getFactor('privilegedKey'), // Get ROOT privileged key
1401
1452
  this.profiles // Pass the updated profile list
@@ -1430,7 +1481,7 @@ class CWIStyleWalletManager {
1430
1481
  await this.switchProfile(exports.DEFAULT_PROFILE_ID); // This rebuilds the wallet
1431
1482
  }
1432
1483
  // Update the UMP token
1433
- await this.updateAuthFactors(this.currentUMPToken.passwordSalt, await this.getFactor('passwordKey'), await this.getFactor('presentationKey'), await this.getFactor('recoveryKey'), this.rootPrimaryKey, await this.getFactor('privilegedKey'), // Get ROOT privileged key
1484
+ await this.updateFactors(this.currentUMPToken.passwordSalt, await this.getFactor('passwordKey'), await this.getFactor('presentationKey'), await this.getFactor('recoveryKey'), this.rootPrimaryKey, await this.getFactor('privilegedKey'), // Get ROOT privileged key
1434
1485
  this.profiles // Pass updated list
1435
1486
  );
1436
1487
  }
@@ -1494,12 +1545,12 @@ class CWIStyleWalletManager {
1494
1545
  passwordSalt,
1495
1546
  passwordKdf: kdfToUse
1496
1547
  };
1497
- const newPasswordKey = await derivePasswordKey(tempTokenForKdf, sdk_1.Utils.toArray(newPassword, 'utf8'));
1548
+ const newPasswordKey = await derivePasswordKey(tempTokenForKdf, (0, utils_1.toArray)(newPassword, 'utf8'));
1498
1549
  // Decrypt existing factors needed for re-encryption, using the *root* privileged key manager
1499
1550
  const recoveryKey = await this.getFactor('recoveryKey');
1500
1551
  const presentationKey = await this.getFactor('presentationKey');
1501
1552
  const rootPrivilegedKey = await this.getFactor('privilegedKey'); // Get ROOT privileged key
1502
- await this.updateAuthFactors(passwordSalt, newPasswordKey, presentationKey, recoveryKey, this.rootPrimaryKey, rootPrivilegedKey, // Pass the explicitly fetched root key
1553
+ await this.updateFactors(passwordSalt, newPasswordKey, presentationKey, recoveryKey, this.rootPrimaryKey, rootPrivilegedKey, // Pass the explicitly fetched root key
1503
1554
  this.profiles // Preserve existing profiles
1504
1555
  );
1505
1556
  }
@@ -1510,7 +1561,7 @@ class CWIStyleWalletManager {
1510
1561
  if (!this.authenticated || this.currentUMPToken == null || this.rootPrivilegedKeyManager == null) {
1511
1562
  throw new Error('Not authenticated or missing required data.');
1512
1563
  }
1513
- return await this.getFactor('recoveryKey');
1564
+ return this.getFactor('recoveryKey');
1514
1565
  }
1515
1566
  /**
1516
1567
  * Changes the user's recovery key. Prompts user to save the new key.
@@ -1529,7 +1580,7 @@ class CWIStyleWalletManager {
1529
1580
  // Generate and save new recovery key
1530
1581
  const newRecoveryKey = (0, sdk_1.Random)(32);
1531
1582
  await this.recoveryKeySaver(newRecoveryKey);
1532
- await this.updateAuthFactors(this.currentUMPToken.passwordSalt, passwordKey, presentationKey, newRecoveryKey, // Use the new key
1583
+ await this.updateFactors(this.currentUMPToken.passwordSalt, passwordKey, presentationKey, newRecoveryKey, // Use the new key
1533
1584
  this.rootPrimaryKey, rootPrivilegedKey, this.profiles // Preserve profiles
1534
1585
  );
1535
1586
  }
@@ -1550,7 +1601,7 @@ class CWIStyleWalletManager {
1550
1601
  const recoveryKey = await this.getFactor('recoveryKey');
1551
1602
  const passwordKey = await this.getFactor('passwordKey');
1552
1603
  const rootPrivilegedKey = await this.getFactor('privilegedKey'); // Get ROOT privileged key
1553
- await this.updateAuthFactors(this.currentUMPToken.passwordSalt, passwordKey, newPresentationKey, // Use the new key
1604
+ await this.updateFactors(this.currentUMPToken.passwordSalt, passwordKey, newPresentationKey, // Use the new key
1554
1605
  recoveryKey, this.rootPrimaryKey, rootPrivilegedKey, this.profiles // Preserve profiles
1555
1606
  );
1556
1607
  // Update the temporarily stored key if it was set
@@ -1620,7 +1671,7 @@ class CWIStyleWalletManager {
1620
1671
  catch (error) {
1621
1672
  this.telemetry.capture({
1622
1673
  name: 'wallet-toolbox.authentication.factor-decryption.failed',
1623
- component: 'wallet-toolbox.cwi-manager',
1674
+ component: CWI_COMPONENT,
1624
1675
  severity: 'error',
1625
1676
  attributes: { factor: factorName },
1626
1677
  error
@@ -1633,7 +1684,7 @@ class CWIStyleWalletManager {
1633
1684
  * Recomputes UMP token fields with updated factors and profiles, then publishes the update.
1634
1685
  * This operation requires the *root* privileged key and the *default* profile wallet.
1635
1686
  */
1636
- async updateAuthFactors(passwordSalt, passwordKey, presentationKey, recoveryKey, rootPrimaryKey, rootPrivilegedKey, // Explicitly pass the root key bytes
1687
+ async updateFactors(passwordSalt, passwordKey, presentationKey, recoveryKey, rootPrimaryKey, rootPrivilegedKey, // Explicitly pass the root key bytes
1637
1688
  profiles // Pass current/new profiles list
1638
1689
  ) {
1639
1690
  if (!this.authenticated || this.rootPrimaryKey == null || this.currentUMPToken == null) {
@@ -1655,7 +1706,7 @@ class CWIStyleWalletManager {
1655
1706
  let profilesEncrypted;
1656
1707
  if (profiles != null && profiles.length > 0) {
1657
1708
  const profilesJson = JSON.stringify(profiles);
1658
- const profilesBytes = sdk_1.Utils.toArray(profilesJson, 'utf8');
1709
+ const profilesBytes = (0, utils_1.toArray)(profilesJson, 'utf8');
1659
1710
  profilesEncrypted = new sdk_1.SymmetricKey(rootPrimaryKey).encrypt(profilesBytes);
1660
1711
  }
1661
1712
  // Construct the new UMP token data.
@@ -1670,8 +1721,8 @@ class CWIStyleWalletManager {
1670
1721
  presentationRecoveryPrimary: presentationRecovery.encrypt(rootPrimaryKey),
1671
1722
  passwordPrimaryPrivileged: primaryPassword.encrypt(rootPrivilegedKey),
1672
1723
  presentationRecoveryPrivileged: presentationRecovery.encrypt(rootPrivilegedKey),
1673
- presentationHash: sdk_1.Hash.sha256(presentationKey),
1674
- recoveryHash: sdk_1.Hash.sha256(recoveryKey),
1724
+ presentationHash: (0, Hash_1.sha256)(presentationKey),
1725
+ recoveryHash: (0, Hash_1.sha256)(recoveryKey),
1675
1726
  presentationKeyEncrypted: (await tempRootPrivilegedKeyManager.encrypt({
1676
1727
  plaintext: presentationKey,
1677
1728
  protocolID: [2, 'admin key wrapping'],
@@ -1703,7 +1754,7 @@ class CWIStyleWalletManager {
1703
1754
  if (!currentActiveId.every(x => x === 0)) {
1704
1755
  this.telemetry.capture({
1705
1756
  name: 'wallet-toolbox.ump.profile-switch.started',
1706
- component: 'wallet-toolbox.cwi-manager',
1757
+ component: CWI_COMPONENT,
1707
1758
  severity: 'debug',
1708
1759
  attributes: { reason: 'token-update' }
1709
1760
  });
@@ -1727,7 +1778,7 @@ class CWIStyleWalletManager {
1727
1778
  await this.switchProfile(currentActiveId);
1728
1779
  this.telemetry.capture({
1729
1780
  name: 'wallet-toolbox.ump.profile-switch.completed',
1730
- component: 'wallet-toolbox.cwi-manager',
1781
+ component: CWI_COMPONENT,
1731
1782
  severity: 'debug',
1732
1783
  attributes: { reason: 'token-update' }
1733
1784
  });
@@ -1742,7 +1793,7 @@ class CWIStyleWalletManager {
1742
1793
  if (!token.currentOutpoint) {
1743
1794
  throw new Error('Token must have outpoint for serialization');
1744
1795
  }
1745
- const writer = new sdk_1.Utils.Writer();
1796
+ const writer = new utils_1.Writer();
1746
1797
  const hasKdfMetadata = token.umpVersion === 3 && token.passwordKdf;
1747
1798
  writer.writeUInt8(hasKdfMetadata ? 3 : 2); // Version 3 for KDF, 2 for legacy
1748
1799
  const writeArray = (arr) => {
@@ -1773,7 +1824,7 @@ class CWIStyleWalletManager {
1773
1824
  if (hasKdfMetadata) {
1774
1825
  writer.writeUInt8(1); // Flag indicating KDF metadata present
1775
1826
  writer.writeUInt8(token.umpVersion); // On-chain UMP version
1776
- const algorithmBytes = sdk_1.Utils.toArray(token.passwordKdf.algorithm, 'utf8');
1827
+ const algorithmBytes = (0, utils_1.toArray)(token.passwordKdf.algorithm, 'utf8');
1777
1828
  writeArray(algorithmBytes);
1778
1829
  // Serialize KDF params as JSON
1779
1830
  const kdfParams = {
@@ -1788,7 +1839,7 @@ class CWIStyleWalletManager {
1788
1839
  if (token.passwordKdf.hashLength !== undefined) {
1789
1840
  kdfParams.hashLength = token.passwordKdf.hashLength;
1790
1841
  }
1791
- const kdfParamsBytes = sdk_1.Utils.toArray(JSON.stringify(kdfParams), 'utf8');
1842
+ const kdfParamsBytes = (0, utils_1.toArray)(JSON.stringify(kdfParams), 'utf8');
1792
1843
  writeArray(kdfParamsBytes);
1793
1844
  }
1794
1845
  else if (writer.toArray()[0] === 3) {
@@ -1796,7 +1847,7 @@ class CWIStyleWalletManager {
1796
1847
  writer.writeUInt8(0); // Flag indicating no KDF metadata
1797
1848
  }
1798
1849
  // Write outpoint string
1799
- const outpointBytes = sdk_1.Utils.toArray(token.currentOutpoint, 'utf8');
1850
+ const outpointBytes = (0, utils_1.toArray)(token.currentOutpoint, 'utf8');
1800
1851
  writer.writeVarIntNum(outpointBytes.length);
1801
1852
  writer.write(outpointBytes);
1802
1853
  return writer.toArray();
@@ -1805,13 +1856,13 @@ class CWIStyleWalletManager {
1805
1856
  * Deserializes a UMP token from binary format (Handles Version 1, 2, and 3).
1806
1857
  */
1807
1858
  deserializeUMPToken(bin) {
1808
- const reader = new sdk_1.Utils.Reader(bin);
1859
+ const reader = new utils_1.Reader(bin);
1809
1860
  const version = reader.readUInt8();
1810
1861
  if (version !== 1 && version !== 2 && version !== 3) {
1811
1862
  throw new Error(`Unsupported UMP token serialization version: ${version}`);
1812
1863
  }
1813
1864
  const readArray = () => {
1814
- const length = reader.readVarIntNum();
1865
+ const length = reader.readVarIntNumStrict(false);
1815
1866
  if (length <= 0 || length > exports.MAX_STATE_SNAPSHOT_BYTES) {
1816
1867
  throw new Error('UMP token field exceeds allowed bounds.');
1817
1868
  }
@@ -1845,9 +1896,9 @@ class CWIStyleWalletManager {
1845
1896
  if (kdfFlag === 1) {
1846
1897
  umpVersion = reader.readUInt8(); // On-chain UMP version
1847
1898
  const algorithmBytes = readArray();
1848
- const algorithm = sdk_1.Utils.toUTF8(algorithmBytes);
1899
+ const algorithm = (0, utils_1.toUTF8)(algorithmBytes);
1849
1900
  const kdfParamsBytes = readArray();
1850
- const kdfParamsJson = sdk_1.Utils.toUTF8(kdfParamsBytes);
1901
+ const kdfParamsJson = (0, utils_1.toUTF8)(kdfParamsBytes);
1851
1902
  const kdfParams = JSON.parse(kdfParamsJson);
1852
1903
  passwordKdf = {
1853
1904
  algorithm,
@@ -1862,9 +1913,9 @@ class CWIStyleWalletManager {
1862
1913
  }
1863
1914
  }
1864
1915
  // Read outpoint string
1865
- const outpointLen = reader.readVarIntNum();
1916
+ const outpointLen = reader.readVarIntNumStrict(false);
1866
1917
  const outpointBytes = reader.read(outpointLen);
1867
- const currentOutpoint = sdk_1.Utils.toUTF8(outpointBytes);
1918
+ const currentOutpoint = (0, utils_1.toUTF8)(outpointBytes);
1868
1919
  if (currentOutpoint.length > 128 || !/^[^\s.:]+[.:]\d+$/.test(currentOutpoint)) {
1869
1920
  throw new Error('Serialized UMP token contains an invalid outpoint.');
1870
1921
  }
@@ -1895,11 +1946,11 @@ class CWIStyleWalletManager {
1895
1946
  * @param rootPrimaryKey The user's root primary key (32 bytes).
1896
1947
  * @param ephemeralRootPrivilegedKey Optional root privileged key (e.g., during recovery flows).
1897
1948
  */
1898
- async setupRootInfrastructure(rootPrimaryKey, ephemeralRootPrivilegedKey) {
1949
+ async setupRoot(rootKey, ephemeralRootPrivilegedKey) {
1899
1950
  if (this.currentUMPToken == null) {
1900
1951
  throw new Error('A UMP token must exist before setting up root infrastructure!');
1901
1952
  }
1902
- this.rootPrimaryKey = rootPrimaryKey;
1953
+ this.rootPrimaryKey = rootKey;
1903
1954
  // Store ephemeral key if provided, for one-time use by the manager
1904
1955
  let oneTimePrivilegedKey = ephemeralRootPrivilegedKey == null ? undefined : new sdk_1.PrivateKey(ephemeralRootPrivilegedKey);
1905
1956
  // Create the ROOT PrivilegedKeyManager
@@ -1913,7 +1964,7 @@ class CWIStyleWalletManager {
1913
1964
  // 2. Otherwise, derive from password
1914
1965
  const password = await this.passwordRetriever(reason, async (passwordCandidate) => {
1915
1966
  try {
1916
- const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(passwordCandidate, 'utf8'));
1967
+ const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, (0, utils_1.toArray)(passwordCandidate, 'utf8'));
1917
1968
  const privilegedDecryptor = this.XOR(this.rootPrimaryKey, derivedPasswordKey);
1918
1969
  const decryptedPrivileged = new sdk_1.SymmetricKey(privilegedDecryptor).decrypt(this.currentUMPToken.passwordPrimaryPrivileged);
1919
1970
  return !!decryptedPrivileged; // Test passes if decryption works
@@ -1926,7 +1977,7 @@ class CWIStyleWalletManager {
1926
1977
  }
1927
1978
  });
1928
1979
  // Decrypt the root privileged key using the confirmed password (with token-driven KDF)
1929
- const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(password, 'utf8'));
1980
+ const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, (0, utils_1.toArray)(password, 'utf8'));
1930
1981
  const privilegedDecryptor = this.XOR(this.rootPrimaryKey, derivedPasswordKey);
1931
1982
  const rootPrivilegedBytes = new sdk_1.SymmetricKey(privilegedDecryptor).decrypt(this.currentUMPToken.passwordPrimaryPrivileged);
1932
1983
  return new sdk_1.PrivateKey(rootPrivilegedBytes); // Return the ROOT key object
@@ -1935,8 +1986,8 @@ class CWIStyleWalletManager {
1935
1986
  this.profiles = []; // Clear existing profiles before loading
1936
1987
  if (this.currentUMPToken.profilesEncrypted != null && this.currentUMPToken.profilesEncrypted.length > 0) {
1937
1988
  try {
1938
- const decryptedProfileBytes = new sdk_1.SymmetricKey(rootPrimaryKey).decrypt(this.currentUMPToken.profilesEncrypted);
1939
- const profilesJson = sdk_1.Utils.toUTF8(decryptedProfileBytes);
1989
+ const decryptedProfileBytes = new sdk_1.SymmetricKey(rootKey).decrypt(this.currentUMPToken.profilesEncrypted);
1990
+ const profilesJson = (0, utils_1.toUTF8)(decryptedProfileBytes);
1940
1991
  const profiles = JSON.parse(profilesJson);
1941
1992
  if (!Array.isArray(profiles) || profiles.length > 1000 || !profiles.every(isValidProfile)) {
1942
1993
  throw new Error('Decrypted profile data is invalid or exceeds supported bounds.');
@@ -1947,7 +1998,7 @@ class CWIStyleWalletManager {
1947
1998
  this.profiles = [];
1948
1999
  this.telemetry.capture({
1949
2000
  name: 'wallet-toolbox.profile.load-failed',
1950
- component: 'wallet-toolbox.cwi-manager',
2001
+ component: CWI_COMPONENT,
1951
2002
  severity: 'error',
1952
2003
  error
1953
2004
  });
@@ -1965,7 +2016,7 @@ class CWIStyleWalletManager {
1965
2016
  * Includes authentication checks and admin originator protection.
1966
2017
  * ---------------------------------------------------------------------------------------
1967
2018
  */
1968
- checkAuthAndUnderlying(originator) {
2019
+ assertReady(originator) {
1969
2020
  if (!this.authenticated) {
1970
2021
  throw new Error('User is not authenticated.');
1971
2022
  }
@@ -1979,92 +2030,92 @@ class CWIStyleWalletManager {
1979
2030
  }
1980
2031
  // Example proxy method (repeat pattern for all others)
1981
2032
  async getPublicKey(args, originator) {
1982
- this.checkAuthAndUnderlying(originator);
1983
- return await this.underlying.getPublicKey(args, originator);
2033
+ this.assertReady(originator);
2034
+ return this.underlying.getPublicKey(args, originator);
1984
2035
  }
1985
2036
  async revealCounterpartyKeyLinkage(args, originator) {
1986
- this.checkAuthAndUnderlying(originator);
1987
- return await this.underlying.revealCounterpartyKeyLinkage(args, originator);
2037
+ this.assertReady(originator);
2038
+ return this.underlying.revealCounterpartyKeyLinkage(args, originator);
1988
2039
  }
1989
2040
  async revealSpecificKeyLinkage(args, originator) {
1990
- this.checkAuthAndUnderlying(originator);
1991
- return await this.underlying.revealSpecificKeyLinkage(args, originator);
2041
+ this.assertReady(originator);
2042
+ return this.underlying.revealSpecificKeyLinkage(args, originator);
1992
2043
  }
1993
2044
  async encrypt(args, originator) {
1994
- this.checkAuthAndUnderlying(originator);
1995
- return await this.underlying.encrypt(args, originator);
2045
+ this.assertReady(originator);
2046
+ return this.underlying.encrypt(args, originator);
1996
2047
  }
1997
2048
  async decrypt(args, originator) {
1998
- this.checkAuthAndUnderlying(originator);
1999
- return await this.underlying.decrypt(args, originator);
2049
+ this.assertReady(originator);
2050
+ return this.underlying.decrypt(args, originator);
2000
2051
  }
2001
2052
  async createHmac(args, originator) {
2002
- this.checkAuthAndUnderlying(originator);
2003
- return await this.underlying.createHmac(args, originator);
2053
+ this.assertReady(originator);
2054
+ return this.underlying.createHmac(args, originator);
2004
2055
  }
2005
2056
  async verifyHmac(args, originator) {
2006
- this.checkAuthAndUnderlying(originator);
2007
- return await this.underlying.verifyHmac(args, originator);
2057
+ this.assertReady(originator);
2058
+ return this.underlying.verifyHmac(args, originator);
2008
2059
  }
2009
2060
  async createSignature(args, originator) {
2010
- this.checkAuthAndUnderlying(originator);
2011
- return await this.underlying.createSignature(args, originator);
2061
+ this.assertReady(originator);
2062
+ return this.underlying.createSignature(args, originator);
2012
2063
  }
2013
2064
  async verifySignature(args, originator) {
2014
- this.checkAuthAndUnderlying(originator);
2015
- return await this.underlying.verifySignature(args, originator);
2065
+ this.assertReady(originator);
2066
+ return this.underlying.verifySignature(args, originator);
2016
2067
  }
2017
2068
  async createAction(args, originator) {
2018
- this.checkAuthAndUnderlying(originator);
2019
- return await this.underlying.createAction(args, originator);
2069
+ this.assertReady(originator);
2070
+ return this.underlying.createAction(args, originator);
2020
2071
  }
2021
2072
  async signAction(args, originator) {
2022
- this.checkAuthAndUnderlying(originator);
2023
- return await this.underlying.signAction(args, originator);
2073
+ this.assertReady(originator);
2074
+ return this.underlying.signAction(args, originator);
2024
2075
  }
2025
2076
  async abortAction(args, originator) {
2026
- this.checkAuthAndUnderlying(originator);
2027
- return await this.underlying.abortAction(args, originator);
2077
+ this.assertReady(originator);
2078
+ return this.underlying.abortAction(args, originator);
2028
2079
  }
2029
2080
  async listActions(args, originator) {
2030
- this.checkAuthAndUnderlying(originator);
2031
- return await this.underlying.listActions(args, originator);
2081
+ this.assertReady(originator);
2082
+ return this.underlying.listActions(args, originator);
2032
2083
  }
2033
2084
  async internalizeAction(args, originator) {
2034
- this.checkAuthAndUnderlying(originator);
2035
- return await this.underlying.internalizeAction(args, originator);
2085
+ this.assertReady(originator);
2086
+ return this.underlying.internalizeAction(args, originator);
2036
2087
  }
2037
2088
  async listOutputs(args, originator) {
2038
- this.checkAuthAndUnderlying(originator);
2039
- return await this.underlying.listOutputs(args, originator);
2089
+ this.assertReady(originator);
2090
+ return this.underlying.listOutputs(args, originator);
2040
2091
  }
2041
2092
  async relinquishOutput(args, originator) {
2042
- this.checkAuthAndUnderlying(originator);
2043
- return await this.underlying.relinquishOutput(args, originator);
2093
+ this.assertReady(originator);
2094
+ return this.underlying.relinquishOutput(args, originator);
2044
2095
  }
2045
2096
  async acquireCertificate(args, originator) {
2046
- this.checkAuthAndUnderlying(originator);
2047
- return await this.underlying.acquireCertificate(args, originator);
2097
+ this.assertReady(originator);
2098
+ return this.underlying.acquireCertificate(args, originator);
2048
2099
  }
2049
2100
  async listCertificates(args, originator) {
2050
- this.checkAuthAndUnderlying(originator);
2051
- return await this.underlying.listCertificates(args, originator);
2101
+ this.assertReady(originator);
2102
+ return this.underlying.listCertificates(args, originator);
2052
2103
  }
2053
2104
  async proveCertificate(args, originator) {
2054
- this.checkAuthAndUnderlying(originator);
2055
- return await this.underlying.proveCertificate(args, originator);
2105
+ this.assertReady(originator);
2106
+ return this.underlying.proveCertificate(args, originator);
2056
2107
  }
2057
2108
  async relinquishCertificate(args, originator) {
2058
- this.checkAuthAndUnderlying(originator);
2059
- return await this.underlying.relinquishCertificate(args, originator);
2109
+ this.assertReady(originator);
2110
+ return this.underlying.relinquishCertificate(args, originator);
2060
2111
  }
2061
2112
  async discoverByIdentityKey(args, originator) {
2062
- this.checkAuthAndUnderlying(originator);
2063
- return await this.underlying.discoverByIdentityKey(args, originator);
2113
+ this.assertReady(originator);
2114
+ return this.underlying.discoverByIdentityKey(args, originator);
2064
2115
  }
2065
2116
  async discoverByAttributes(args, originator) {
2066
- this.checkAuthAndUnderlying(originator);
2067
- return await this.underlying.discoverByAttributes(args, originator);
2117
+ this.assertReady(originator);
2118
+ return this.underlying.discoverByAttributes(args, originator);
2068
2119
  }
2069
2120
  async isAuthenticated(_, originator) {
2070
2121
  if (!this.authenticated) {
@@ -2082,23 +2133,23 @@ class CWIStyleWalletManager {
2082
2133
  while (!this.authenticated || this.underlying == null) {
2083
2134
  await new Promise(resolve => setTimeout(resolve, 100));
2084
2135
  }
2085
- return await this.underlying.waitForAuthentication({}, originator);
2136
+ return this.underlying.waitForAuthentication({}, originator);
2086
2137
  }
2087
2138
  async getHeight(_, originator) {
2088
- this.checkAuthAndUnderlying(originator);
2089
- return await this.underlying.getHeight({}, originator);
2139
+ this.assertReady(originator);
2140
+ return this.underlying.getHeight({}, originator);
2090
2141
  }
2091
2142
  async getHeaderForHeight(args, originator) {
2092
- this.checkAuthAndUnderlying(originator);
2093
- return await this.underlying.getHeaderForHeight(args, originator);
2143
+ this.assertReady(originator);
2144
+ return this.underlying.getHeaderForHeight(args, originator);
2094
2145
  }
2095
2146
  async getNetwork(_, originator) {
2096
- this.checkAuthAndUnderlying(originator);
2097
- return await this.underlying.getNetwork({}, originator);
2147
+ this.assertReady(originator);
2148
+ return this.underlying.getNetwork({}, originator);
2098
2149
  }
2099
2150
  async getVersion(_, originator) {
2100
- this.checkAuthAndUnderlying(originator);
2101
- return await this.underlying.getVersion({}, originator);
2151
+ this.assertReady(originator);
2152
+ return this.underlying.getVersion({}, originator);
2102
2153
  }
2103
2154
  }
2104
2155
  exports.CWIStyleWalletManager = CWIStyleWalletManager;