@bsv/wallet-toolbox 2.1.27 → 2.1.30

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 (623) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/docs/client.md +485 -160
  3. package/docs/monitor.md +69 -1
  4. package/docs/storage.md +421 -63
  5. package/docs/wallet.md +945 -145
  6. package/out/src/CWIStyleWalletManager.js +107 -41
  7. package/out/src/CWIStyleWalletManager.js.map +1 -1
  8. package/out/src/Setup.js +3 -3
  9. package/out/src/Setup.js.map +1 -1
  10. package/out/src/SetupClient.js +1 -1
  11. package/out/src/SetupClient.js.map +1 -1
  12. package/out/src/ShamirWalletManager.d.ts +2 -2
  13. package/out/src/ShamirWalletManager.js +10 -3
  14. package/out/src/ShamirWalletManager.js.map +1 -1
  15. package/out/src/SimpleWalletManager.js +29 -0
  16. package/out/src/SimpleWalletManager.js.map +1 -1
  17. package/out/src/Wallet.js +84 -66
  18. package/out/src/Wallet.js.map +1 -1
  19. package/out/src/WalletAuthenticationManager.js +6 -3
  20. package/out/src/WalletAuthenticationManager.js.map +1 -1
  21. package/out/src/WalletLogger.js +6 -4
  22. package/out/src/WalletLogger.js.map +1 -1
  23. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  24. package/out/src/WalletPermissionsManager.js +158 -167
  25. package/out/src/WalletPermissionsManager.js.map +1 -1
  26. package/out/src/WalletSettingsManager.js +3 -0
  27. package/out/src/WalletSettingsManager.js.map +1 -1
  28. package/out/src/entropy/EntropyCollector.js +9 -9
  29. package/out/src/entropy/EntropyCollector.js.map +1 -1
  30. package/out/src/fundWalletP2PKH.js +5 -6
  31. package/out/src/fundWalletP2PKH.js.map +1 -1
  32. package/out/src/mockchain/MockChainMigrations.js +1 -1
  33. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  34. package/out/src/mockchain/MockChainStorage.js +1 -0
  35. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  36. package/out/src/mockchain/MockChainTracker.js +2 -0
  37. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  38. package/out/src/mockchain/MockMiner.js +2 -2
  39. package/out/src/mockchain/MockMiner.js.map +1 -1
  40. package/out/src/mockchain/MockServices.js +21 -25
  41. package/out/src/mockchain/MockServices.js.map +1 -1
  42. package/out/src/monitor/Monitor.d.ts.map +1 -1
  43. package/out/src/monitor/Monitor.js +57 -33
  44. package/out/src/monitor/Monitor.js.map +1 -1
  45. package/out/src/monitor/MonitorDaemon.js +12 -10
  46. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  47. package/out/src/monitor/tasks/TaskArcSSE.js +10 -13
  48. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  49. package/out/src/monitor/tasks/TaskCheckForProofs.js +10 -11
  50. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  51. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +59 -1
  52. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  53. package/out/src/monitor/tasks/TaskCheckNoSends.js +101 -12
  54. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  55. package/out/src/monitor/tasks/TaskClock.js +3 -1
  56. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  57. package/out/src/monitor/tasks/TaskFailAbandoned.js +2 -1
  58. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  59. package/out/src/monitor/tasks/TaskMineBlock.js +3 -2
  60. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  61. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
  62. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  63. package/out/src/monitor/tasks/TaskNewHeader.js +12 -1
  64. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  65. package/out/src/monitor/tasks/TaskPurge.js +7 -5
  66. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  67. package/out/src/monitor/tasks/TaskReorg.js +4 -2
  68. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  69. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +12 -9
  70. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  71. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +8 -3
  72. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  73. package/out/src/monitor/tasks/TaskReviewStatus.js +7 -5
  74. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  75. package/out/src/monitor/tasks/TaskReviewUtxos.js +6 -2
  76. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  77. package/out/src/monitor/tasks/TaskSendWaiting.js +9 -2
  78. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  79. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +2 -1
  80. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -1
  81. package/out/src/monitor/tasks/TaskUnFail.js +6 -5
  82. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  83. package/out/src/monitor/tasks/WalletMonitorTask.js +7 -4
  84. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  85. package/out/src/sdk/PrivilegedKeyManager.js +44 -27
  86. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  87. package/out/src/sdk/WERR_errors.js +23 -8
  88. package/out/src/sdk/WERR_errors.js.map +1 -1
  89. package/out/src/sdk/WalletError.js +7 -7
  90. package/out/src/sdk/WalletError.js.map +1 -1
  91. package/out/src/services/ServiceCollection.js +9 -2
  92. package/out/src/services/ServiceCollection.js.map +1 -1
  93. package/out/src/services/Services.js +58 -54
  94. package/out/src/services/Services.js.map +1 -1
  95. package/out/src/services/chaintracker/BHServiceClient.js +8 -2
  96. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  97. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -2
  98. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  99. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +27 -21
  100. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  101. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +10 -5
  102. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  103. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +4 -1
  104. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  105. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +8 -1
  106. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  107. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +7 -0
  108. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  109. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +5 -3
  110. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  111. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +3 -1
  112. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  113. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
  114. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  115. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +3 -1
  116. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  117. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +4 -3
  118. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  119. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +1 -2
  120. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  121. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -5
  122. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  123. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +3 -1
  124. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  125. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +2 -1
  126. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  127. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +12 -6
  128. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  129. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +8 -7
  130. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  131. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +8 -8
  132. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  133. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +15 -16
  134. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  135. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +1 -1
  136. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  137. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +3 -3
  138. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  139. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +1 -1
  140. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  141. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -1
  142. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  143. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -1
  144. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  145. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -1
  146. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  147. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -16
  148. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  149. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +4 -0
  150. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  151. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +17 -4
  152. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  153. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +21 -0
  154. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  155. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +1 -3
  156. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  157. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +9 -3
  158. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  159. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +7 -5
  160. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  161. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +4 -6
  162. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +1 -1
  164. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +8 -8
  166. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  167. package/out/src/services/createDefaultWalletServicesOptions.js +8 -8
  168. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  169. package/out/src/services/providers/ARC.js +13 -5
  170. package/out/src/services/providers/ARC.js.map +1 -1
  171. package/out/src/services/providers/ArcSSEClient.js +9 -8
  172. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  173. package/out/src/services/providers/Bitails.js +6 -2
  174. package/out/src/services/providers/Bitails.js.map +1 -1
  175. package/out/src/services/providers/SdkWhatsOnChain.js +6 -2
  176. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  177. package/out/src/services/providers/WhatsOnChain.js +2 -1
  178. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  179. package/out/src/services/providers/getBeefForTxid.js +2 -1
  180. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  181. package/out/src/signer/WalletSigner.js +4 -1
  182. package/out/src/signer/WalletSigner.js.map +1 -1
  183. package/out/src/signer/methods/acquireDirectCertificate.js +1 -2
  184. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  185. package/out/src/signer/methods/buildSignableTransaction.js +1 -2
  186. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  187. package/out/src/signer/methods/completeSignedTransaction.js +4 -5
  188. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  189. package/out/src/signer/methods/createAction.js +9 -11
  190. package/out/src/signer/methods/createAction.js.map +1 -1
  191. package/out/src/signer/methods/internalizeAction.d.ts +8 -1
  192. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  193. package/out/src/signer/methods/internalizeAction.js +8 -1
  194. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  195. package/out/src/signer/methods/signAction.js +5 -6
  196. package/out/src/signer/methods/signAction.js.map +1 -1
  197. package/out/src/storage/StorageIdb.js +84 -99
  198. package/out/src/storage/StorageIdb.js.map +1 -1
  199. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  200. package/out/src/storage/StorageKnex.js +22 -29
  201. package/out/src/storage/StorageKnex.js.map +1 -1
  202. package/out/src/storage/StorageProvider.d.ts +4 -1
  203. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  204. package/out/src/storage/StorageProvider.js +122 -32
  205. package/out/src/storage/StorageProvider.js.map +1 -1
  206. package/out/src/storage/StorageReader.js +4 -2
  207. package/out/src/storage/StorageReader.js.map +1 -1
  208. package/out/src/storage/StorageSyncReader.js +2 -0
  209. package/out/src/storage/StorageSyncReader.js.map +1 -1
  210. package/out/src/storage/WalletStorageManager.js +47 -25
  211. package/out/src/storage/WalletStorageManager.js.map +1 -1
  212. package/out/src/storage/adminServer/adminServer.js +35 -48
  213. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  214. package/out/src/storage/idbHelpers.js +1 -2
  215. package/out/src/storage/idbHelpers.js.map +1 -1
  216. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  217. package/out/src/storage/methods/ListActionsSpecOp.js +69 -6
  218. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  219. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  220. package/out/src/storage/methods/ListOutputsSpecOp.js +5 -2
  221. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  222. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +10 -12
  223. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  224. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  225. package/out/src/storage/methods/createAction.js +111 -69
  226. package/out/src/storage/methods/createAction.js.map +1 -1
  227. package/out/src/storage/methods/generateChange.js +2 -3
  228. package/out/src/storage/methods/generateChange.js.map +1 -1
  229. package/out/src/storage/methods/getBeefForTransaction.js +2 -4
  230. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  231. package/out/src/storage/methods/internalizeAction.d.ts +69 -2
  232. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  233. package/out/src/storage/methods/internalizeAction.js +232 -27
  234. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  235. package/out/src/storage/methods/listActionsIdb.js +7 -9
  236. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  237. package/out/src/storage/methods/listActionsKnex.js +7 -9
  238. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  239. package/out/src/storage/methods/listOutputsIdb.js +5 -7
  240. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  241. package/out/src/storage/methods/listOutputsKnex.js +9 -10
  242. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  243. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  244. package/out/src/storage/methods/processAction.js +12 -11
  245. package/out/src/storage/methods/processAction.js.map +1 -1
  246. package/out/src/storage/methods/reviewStatus.d.ts +3 -2
  247. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  248. package/out/src/storage/methods/reviewStatus.js +34 -2
  249. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  250. package/out/src/storage/methods/reviewStatusIdb.d.ts +2 -2
  251. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  252. package/out/src/storage/methods/reviewStatusIdb.js +54 -13
  253. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  254. package/out/src/storage/portable/index.d.ts.map +1 -1
  255. package/out/src/storage/portable/index.js +171 -129
  256. package/out/src/storage/portable/index.js.map +1 -1
  257. package/out/src/storage/remoting/StorageClient.js +2 -3
  258. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  259. package/out/src/storage/remoting/StorageClientBase.js +6 -3
  260. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  261. package/out/src/storage/remoting/StorageServer.js +17 -11
  262. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  263. package/out/src/storage/schema/KnexMigrations.js +5 -1
  264. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  265. package/out/src/storage/schema/entities/EntityBase.js +1 -0
  266. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  267. package/out/src/storage/schema/entities/EntityOutputBasket.js +1 -1
  268. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  269. package/out/src/storage/schema/entities/EntityProvenTx.js +12 -13
  270. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  271. package/out/src/storage/schema/entities/EntityProvenTxReq.js +7 -9
  272. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  273. package/out/src/storage/schema/entities/EntitySyncState.js +6 -3
  274. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  275. package/out/src/storage/schema/entities/MergeEntity.js +4 -0
  276. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  277. package/out/src/storage/storageProviderHelpers.js +2 -3
  278. package/out/src/storage/storageProviderHelpers.js.map +1 -1
  279. package/out/src/storage/sync/StorageMySQLDojoReader.js +2 -2
  280. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  281. package/out/src/utility/Format.js +4 -5
  282. package/out/src/utility/Format.js.map +1 -1
  283. package/out/src/utility/ScriptTemplateBRC29.js +7 -6
  284. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  285. package/out/src/utility/brc114ActionTimeLabels.js +1 -1
  286. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  287. package/out/src/utility/identityUtils.js +2 -4
  288. package/out/src/utility/identityUtils.js.map +1 -1
  289. package/out/src/utility/utilityHelpers.buffer.js +3 -3
  290. package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
  291. package/out/src/utility/utilityHelpers.js +2 -2
  292. package/out/src/utility/utilityHelpers.js.map +1 -1
  293. package/out/src/utility/utilityHelpers.noBuffer.js +4 -4
  294. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  295. package/out/src/wab-client/WABClient.js +1 -0
  296. package/out/src/wab-client/WABClient.js.map +1 -1
  297. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +1 -4
  298. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
  299. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +1 -4
  300. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
  301. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +1 -4
  302. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
  303. package/package.json +19 -19
  304. package/out/src/__tests/CWIStyleWalletManager.test.d.ts +0 -2
  305. package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +0 -1
  306. package/out/src/__tests/CWIStyleWalletManager.test.js +0 -810
  307. package/out/src/__tests/CWIStyleWalletManager.test.js.map +0 -1
  308. package/out/src/__tests/ShamirWalletManager.test.d.ts +0 -2
  309. package/out/src/__tests/ShamirWalletManager.test.d.ts.map +0 -1
  310. package/out/src/__tests/ShamirWalletManager.test.js +0 -303
  311. package/out/src/__tests/ShamirWalletManager.test.js.map +0 -1
  312. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +0 -2
  313. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +0 -1
  314. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +0 -365
  315. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +0 -1
  316. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +0 -2
  317. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +0 -1
  318. package/out/src/__tests/WalletPermissionsManager.checks.test.js +0 -642
  319. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +0 -1
  320. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +0 -2
  321. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +0 -1
  322. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +0 -335
  323. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +0 -1
  324. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +0 -86
  325. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +0 -1
  326. package/out/src/__tests/WalletPermissionsManager.fixtures.js +0 -280
  327. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +0 -1
  328. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +0 -2
  329. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +0 -1
  330. package/out/src/__tests/WalletPermissionsManager.flows.test.js +0 -613
  331. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +0 -1
  332. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +0 -2
  333. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +0 -1
  334. package/out/src/__tests/WalletPermissionsManager.initialization.test.js +0 -227
  335. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +0 -1
  336. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts +0 -2
  337. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts.map +0 -1
  338. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +0 -735
  339. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +0 -1
  340. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +0 -2
  341. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +0 -1
  342. package/out/src/__tests/WalletPermissionsManager.proxying.test.js +0 -585
  343. package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +0 -1
  344. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +0 -2
  345. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +0 -1
  346. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +0 -416
  347. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +0 -1
  348. package/out/src/entropy/__tests/EntropyCollector.test.d.ts +0 -2
  349. package/out/src/entropy/__tests/EntropyCollector.test.d.ts.map +0 -1
  350. package/out/src/entropy/__tests/EntropyCollector.test.js +0 -137
  351. package/out/src/entropy/__tests/EntropyCollector.test.js.map +0 -1
  352. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts +0 -2
  353. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts.map +0 -1
  354. package/out/src/monitor/__test/MonitorDaemon.man.test.js +0 -41
  355. package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +0 -1
  356. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts +0 -2
  357. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts.map +0 -1
  358. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js +0 -257
  359. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js.map +0 -1
  360. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts +0 -2
  361. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts.map +0 -1
  362. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js +0 -161
  363. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js.map +0 -1
  364. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts +0 -2
  365. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts.map +0 -1
  366. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js +0 -214
  367. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js.map +0 -1
  368. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts +0 -2
  369. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts.map +0 -1
  370. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js +0 -92
  371. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js.map +0 -1
  372. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts +0 -2
  373. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts.map +0 -1
  374. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js +0 -139
  375. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js.map +0 -1
  376. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts +0 -2
  377. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts.map +0 -1
  378. package/out/src/sdk/__test/CertificateLifeCycle.test.js +0 -62
  379. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +0 -1
  380. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts +0 -2
  381. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts.map +0 -1
  382. package/out/src/sdk/__test/PrivilegedKeyManager.test.js +0 -647
  383. package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +0 -1
  384. package/out/src/sdk/__test/WalletError.test.d.ts +0 -2
  385. package/out/src/sdk/__test/WalletError.test.d.ts.map +0 -1
  386. package/out/src/sdk/__test/WalletError.test.js +0 -255
  387. package/out/src/sdk/__test/WalletError.test.js.map +0 -1
  388. package/out/src/sdk/__test/validationHelpers.test.d.ts +0 -2
  389. package/out/src/sdk/__test/validationHelpers.test.d.ts.map +0 -1
  390. package/out/src/sdk/__test/validationHelpers.test.js +0 -20
  391. package/out/src/sdk/__test/validationHelpers.test.js.map +0 -1
  392. package/out/src/services/__tests/ARC.man.test.d.ts +0 -2
  393. package/out/src/services/__tests/ARC.man.test.d.ts.map +0 -1
  394. package/out/src/services/__tests/ARC.man.test.js +0 -104
  395. package/out/src/services/__tests/ARC.man.test.js.map +0 -1
  396. package/out/src/services/__tests/ARC.timeout.man.test.d.ts +0 -2
  397. package/out/src/services/__tests/ARC.timeout.man.test.d.ts.map +0 -1
  398. package/out/src/services/__tests/ARC.timeout.man.test.js +0 -74
  399. package/out/src/services/__tests/ARC.timeout.man.test.js.map +0 -1
  400. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts +0 -2
  401. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts.map +0 -1
  402. package/out/src/services/__tests/ArcGorillaPool.man.test.js +0 -93
  403. package/out/src/services/__tests/ArcGorillaPool.man.test.js.map +0 -1
  404. package/out/src/services/__tests/arcServices.test.d.ts +0 -2
  405. package/out/src/services/__tests/arcServices.test.d.ts.map +0 -1
  406. package/out/src/services/__tests/arcServices.test.js +0 -7
  407. package/out/src/services/__tests/arcServices.test.js.map +0 -1
  408. package/out/src/services/__tests/bitrails.test.d.ts +0 -2
  409. package/out/src/services/__tests/bitrails.test.d.ts.map +0 -1
  410. package/out/src/services/__tests/bitrails.test.js +0 -60
  411. package/out/src/services/__tests/bitrails.test.js.map +0 -1
  412. package/out/src/services/__tests/getFiatExchangeRate.test.d.ts +0 -2
  413. package/out/src/services/__tests/getFiatExchangeRate.test.d.ts.map +0 -1
  414. package/out/src/services/__tests/getFiatExchangeRate.test.js +0 -156
  415. package/out/src/services/__tests/getFiatExchangeRate.test.js.map +0 -1
  416. package/out/src/services/__tests/getMerklePath.test.d.ts +0 -2
  417. package/out/src/services/__tests/getMerklePath.test.d.ts.map +0 -1
  418. package/out/src/services/__tests/getMerklePath.test.js +0 -16
  419. package/out/src/services/__tests/getMerklePath.test.js.map +0 -1
  420. package/out/src/services/__tests/getRawTx.test.d.ts +0 -2
  421. package/out/src/services/__tests/getRawTx.test.d.ts.map +0 -1
  422. package/out/src/services/__tests/getRawTx.test.js +0 -16
  423. package/out/src/services/__tests/getRawTx.test.js.map +0 -1
  424. package/out/src/services/__tests/postBeef.test.d.ts +0 -2
  425. package/out/src/services/__tests/postBeef.test.d.ts.map +0 -1
  426. package/out/src/services/__tests/postBeef.test.js +0 -101
  427. package/out/src/services/__tests/postBeef.test.js.map +0 -1
  428. package/out/src/services/__tests/verifyBeef.test.d.ts +0 -2
  429. package/out/src/services/__tests/verifyBeef.test.d.ts.map +0 -1
  430. package/out/src/services/__tests/verifyBeef.test.js +0 -43
  431. package/out/src/services/__tests/verifyBeef.test.js.map +0 -1
  432. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts +0 -2
  433. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts.map +0 -1
  434. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +0 -25
  435. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +0 -1
  436. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts +0 -2
  437. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts.map +0 -1
  438. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +0 -27
  439. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +0 -1
  440. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts +0 -2
  441. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts.map +0 -1
  442. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +0 -57
  443. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +0 -1
  444. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts +0 -2
  445. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts.map +0 -1
  446. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js +0 -41
  447. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js.map +0 -1
  448. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.d.ts +0 -2
  449. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.d.ts.map +0 -1
  450. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js +0 -109
  451. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js.map +0 -1
  452. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts +0 -2
  453. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts.map +0 -1
  454. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +0 -88
  455. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +0 -1
  456. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts +0 -2
  457. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts.map +0 -1
  458. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js +0 -39
  459. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js.map +0 -1
  460. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts +0 -2
  461. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts.map +0 -1
  462. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +0 -76
  463. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +0 -1
  464. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.d.ts +0 -2
  465. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.d.ts.map +0 -1
  466. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js +0 -44
  467. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js.map +0 -1
  468. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts +0 -2
  469. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts.map +0 -1
  470. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +0 -165
  471. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +0 -1
  472. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts +0 -12
  473. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts.map +0 -1
  474. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js +0 -66
  475. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js.map +0 -1
  476. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.d.ts +0 -2
  477. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.d.ts.map +0 -1
  478. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.js +0 -109
  479. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.js.map +0 -1
  480. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts +0 -2
  481. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts.map +0 -1
  482. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +0 -55
  483. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +0 -1
  484. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts +0 -2
  485. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts.map +0 -1
  486. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js +0 -255
  487. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js.map +0 -1
  488. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts +0 -2
  489. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts.map +0 -1
  490. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js +0 -56
  491. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js.map +0 -1
  492. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts +0 -2
  493. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts.map +0 -1
  494. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js +0 -69
  495. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js.map +0 -1
  496. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts +0 -2
  497. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts.map +0 -1
  498. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js +0 -51
  499. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js.map +0 -1
  500. package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts +0 -2
  501. package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts.map +0 -1
  502. package/out/src/services/providers/__tests/ArcSSEClient.test.js +0 -256
  503. package/out/src/services/providers/__tests/ArcSSEClient.test.js.map +0 -1
  504. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts +0 -2
  505. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts.map +0 -1
  506. package/out/src/services/providers/__tests/WhatsOnChain.test.js +0 -191
  507. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +0 -1
  508. package/out/src/services/providers/__tests/exchangeRates.test.d.ts +0 -2
  509. package/out/src/services/providers/__tests/exchangeRates.test.d.ts.map +0 -1
  510. package/out/src/services/providers/__tests/exchangeRates.test.js +0 -23
  511. package/out/src/services/providers/__tests/exchangeRates.test.js.map +0 -1
  512. package/out/src/storage/__test/StorageIdb.test.d.ts +0 -2
  513. package/out/src/storage/__test/StorageIdb.test.d.ts.map +0 -1
  514. package/out/src/storage/__test/StorageIdb.test.js +0 -44
  515. package/out/src/storage/__test/StorageIdb.test.js.map +0 -1
  516. package/out/src/storage/__test/WalletStorageManager.test.d.ts +0 -2
  517. package/out/src/storage/__test/WalletStorageManager.test.d.ts.map +0 -1
  518. package/out/src/storage/__test/WalletStorageManager.test.js +0 -254
  519. package/out/src/storage/__test/WalletStorageManager.test.js.map +0 -1
  520. package/out/src/storage/__test/adminStats.man.test.d.ts +0 -2
  521. package/out/src/storage/__test/adminStats.man.test.d.ts.map +0 -1
  522. package/out/src/storage/__test/adminStats.man.test.js +0 -78
  523. package/out/src/storage/__test/adminStats.man.test.js.map +0 -1
  524. package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts +0 -2
  525. package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts.map +0 -1
  526. package/out/src/storage/__test/findStaleMerkleRoots.test.js +0 -41
  527. package/out/src/storage/__test/findStaleMerkleRoots.test.js.map +0 -1
  528. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts +0 -2
  529. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts.map +0 -1
  530. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js +0 -73
  531. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js.map +0 -1
  532. package/out/src/storage/__test/getBeefForTransaction.test.d.ts +0 -2
  533. package/out/src/storage/__test/getBeefForTransaction.test.d.ts.map +0 -1
  534. package/out/src/storage/__test/getBeefForTransaction.test.js +0 -347
  535. package/out/src/storage/__test/getBeefForTransaction.test.js.map +0 -1
  536. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts +0 -2
  537. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts.map +0 -1
  538. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +0 -1111
  539. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +0 -1
  540. package/out/src/storage/methods/__test/offsetKey.test.d.ts +0 -2
  541. package/out/src/storage/methods/__test/offsetKey.test.d.ts.map +0 -1
  542. package/out/src/storage/methods/__test/offsetKey.test.js +0 -229
  543. package/out/src/storage/methods/__test/offsetKey.test.js.map +0 -1
  544. package/out/src/storage/remoting/__test/StorageClient.man.test.d.ts +0 -2
  545. package/out/src/storage/remoting/__test/StorageClient.man.test.d.ts.map +0 -1
  546. package/out/src/storage/remoting/__test/StorageClient.man.test.js +0 -487
  547. package/out/src/storage/remoting/__test/StorageClient.man.test.js.map +0 -1
  548. package/out/src/storage/remoting/__test/StorageClient.test.d.ts +0 -2
  549. package/out/src/storage/remoting/__test/StorageClient.test.d.ts.map +0 -1
  550. package/out/src/storage/remoting/__test/StorageClient.test.js +0 -119
  551. package/out/src/storage/remoting/__test/StorageClient.test.js.map +0 -1
  552. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts +0 -2
  553. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts.map +0 -1
  554. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js +0 -268
  555. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js.map +0 -1
  556. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts +0 -2
  557. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts.map +0 -1
  558. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +0 -301
  559. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +0 -1
  560. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts +0 -2
  561. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts.map +0 -1
  562. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js +0 -308
  563. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +0 -1
  564. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts +0 -2
  565. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts.map +0 -1
  566. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js +0 -316
  567. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +0 -1
  568. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts +0 -2
  569. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts.map +0 -1
  570. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js +0 -228
  571. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +0 -1
  572. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts +0 -2
  573. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts.map +0 -1
  574. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +0 -191
  575. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +0 -1
  576. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts +0 -2
  577. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts.map +0 -1
  578. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js +0 -226
  579. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +0 -1
  580. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts +0 -2
  581. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts.map +0 -1
  582. package/out/src/storage/schema/entities/__tests/OutputTests.test.js +0 -413
  583. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +0 -1
  584. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts +0 -2
  585. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts.map +0 -1
  586. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +0 -331
  587. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +0 -1
  588. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts +0 -2
  589. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts.map +0 -1
  590. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +0 -474
  591. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +0 -1
  592. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts +0 -2
  593. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts.map +0 -1
  594. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js +0 -234
  595. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +0 -1
  596. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts +0 -2
  597. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts.map +0 -1
  598. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +0 -539
  599. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +0 -1
  600. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts +0 -2
  601. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts.map +0 -1
  602. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js +0 -304
  603. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +0 -1
  604. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts +0 -2
  605. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts.map +0 -1
  606. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js +0 -170
  607. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +0 -1
  608. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts +0 -2
  609. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts.map +0 -1
  610. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +0 -81
  611. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +0 -1
  612. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts +0 -2
  613. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts.map +0 -1
  614. package/out/src/storage/schema/entities/__tests/usersTests.test.js +0 -277
  615. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +0 -1
  616. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts +0 -2
  617. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts.map +0 -1
  618. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js +0 -107
  619. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js.map +0 -1
  620. package/out/src/wab-client/__tests/WABClient.man.test.d.ts +0 -2
  621. package/out/src/wab-client/__tests/WABClient.man.test.d.ts.map +0 -1
  622. package/out/src/wab-client/__tests/WABClient.man.test.js +0 -52
  623. package/out/src/wab-client/__tests/WABClient.man.test.js.map +0 -1
@@ -1,735 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const WalletPermissionsManager_fixtures_1 = require("./WalletPermissionsManager.fixtures");
4
- const WalletPermissionsManager_1 = require("../WalletPermissionsManager");
5
- jest.mock('@bsv/sdk', () => WalletPermissionsManager_fixtures_1.MockedBSV_SDK);
6
- /**
7
- * Test suite for Permission Modules
8
- * Tests both P-basket and P-protocol delegation to custom permission modules.
9
- */
10
- describe('WalletPermissionsManager - Permission Module Support', () => {
11
- let underlying;
12
- beforeEach(() => {
13
- underlying = (0, WalletPermissionsManager_fixtures_1.mockUnderlyingWallet)();
14
- });
15
- describe('P-Label Delegation', () => {
16
- it('should delegate listActions through P-label modules in order and return responses in reverse order', async () => {
17
- const callOrder = [];
18
- const module1 = {
19
- onRequest: jest.fn(async (req) => {
20
- callOrder.push('req1');
21
- expect(req.args.req1Processed).toBeUndefined();
22
- return { ...req, args: { ...req.args, req1Processed: true } };
23
- }),
24
- onResponse: jest.fn(async (res) => {
25
- callOrder.push('res1');
26
- expect((res).processedBy).toBe('module2');
27
- return { ...res, finalProcessedBy: 'module1' };
28
- })
29
- };
30
- const module2 = {
31
- onRequest: jest.fn(async (req) => {
32
- callOrder.push('req2');
33
- expect(req.args.req1Processed).toBe(true);
34
- return { ...req, args: { ...req.args, req2Processed: true } };
35
- }),
36
- onResponse: jest.fn(async (res) => {
37
- callOrder.push('res2');
38
- expect((res).processedBy).toBeUndefined();
39
- return { ...res, processedBy: 'module2' };
40
- })
41
- };
42
- const config = {
43
- permissionModules: {
44
- scheme1: module1,
45
- scheme2: module2
46
- },
47
- seekPermissionWhenListingActionsByLabel: false
48
- };
49
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
50
- underlying.listActions.mockResolvedValue({ totalActions: 0, actions: [] });
51
- const result = await manager.listActions({
52
- labels: ['p scheme1 alpha', 'p scheme2 beta', 'regular-label']
53
- }, 'app.com');
54
- expect(module1.onRequest).toHaveBeenCalledTimes(1);
55
- expect(module2.onRequest).toHaveBeenCalledTimes(1);
56
- expect(module1.onResponse).toHaveBeenCalledTimes(1);
57
- expect(module2.onResponse).toHaveBeenCalledTimes(1);
58
- expect(callOrder).toEqual(['req1', 'req2', 'res2', 'res1']);
59
- expect(result.finalProcessedBy).toBe('module1');
60
- });
61
- it('should delegate createAction when a P-label is present', async () => {
62
- const testModule = {
63
- onRequest: jest.fn(async (req) => req),
64
- onResponse: jest.fn(async (res) => res)
65
- };
66
- const config = {
67
- permissionModules: {
68
- labels: testModule
69
- },
70
- seekSpendingPermissions: false,
71
- seekBasketInsertionPermissions: false,
72
- seekPermissionWhenApplyingActionLabels: false
73
- };
74
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
75
- underlying.createAction.mockResolvedValue({ txid: 'abc123', tx: [] });
76
- await manager.createAction({
77
- description: 'Label-based createAction',
78
- labels: ['p labels token', 'regular-label'],
79
- outputs: [
80
- {
81
- lockingScript: 'abcd',
82
- satoshis: 1000,
83
- basket: 'regular-basket',
84
- outputDescription: 'Test output'
85
- }
86
- ]
87
- }, 'app.com');
88
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
89
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
90
- });
91
- it('should delegate internalizeAction when a P-label is present', async () => {
92
- const testModule = {
93
- onRequest: jest.fn(async (req) => req),
94
- onResponse: jest.fn(async (res) => res)
95
- };
96
- const config = {
97
- permissionModules: {
98
- labels: testModule
99
- },
100
- seekPermissionWhenApplyingActionLabels: false
101
- };
102
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
103
- underlying.internalizeAction.mockResolvedValue({ accepted: true });
104
- await manager.internalizeAction({
105
- tx: [],
106
- description: 'Internalize with label',
107
- labels: ['p labels internal', 'regular-label'],
108
- outputs: []
109
- }, 'app.com');
110
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
111
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
112
- });
113
- });
114
- afterEach(() => {
115
- jest.clearAllMocks();
116
- });
117
- describe('Permission Module Registration', () => {
118
- it('should accept permissionModules in config', () => {
119
- var _a;
120
- const testModule = {
121
- onRequest: jest.fn(async (req) => req),
122
- onResponse: jest.fn(async (res) => res)
123
- };
124
- const config = {
125
- permissionModules: {
126
- 'test-scheme': testModule
127
- }
128
- };
129
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
130
- // Verify module is stored in config
131
- const storedConfig = manager.config;
132
- expect(storedConfig.permissionModules).toBeDefined();
133
- expect((_a = storedConfig.permissionModules) === null || _a === void 0 ? void 0 : _a['test-scheme']).toBe(testModule);
134
- });
135
- it('should support multiple permission modules for different schemes', () => {
136
- var _a, _b, _c;
137
- const module1 = {
138
- onRequest: jest.fn(async (req) => req),
139
- onResponse: jest.fn(async (res) => res)
140
- };
141
- const module2 = {
142
- onRequest: jest.fn(async (req) => req),
143
- onResponse: jest.fn(async (res) => res)
144
- };
145
- const config = {
146
- permissionModules: {
147
- scheme1: module1,
148
- scheme2: module2
149
- }
150
- };
151
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
152
- const storedConfig = manager.config;
153
- expect(Object.keys((_a = storedConfig.permissionModules) !== null && _a !== void 0 ? _a : {}).length).toBe(2);
154
- expect((_b = storedConfig.permissionModules) === null || _b === void 0 ? void 0 : _b.scheme1).toBe(module1);
155
- expect((_c = storedConfig.permissionModules) === null || _c === void 0 ? void 0 : _c.scheme2).toBe(module2);
156
- });
157
- });
158
- describe('P-Basket Delegation - listOutputs', () => {
159
- it('should delegate to permission when basket starts with "p "', async () => {
160
- const testModule = {
161
- onRequest: jest.fn(async (req) => {
162
- // Module can inspect and transform the request
163
- expect(req.method).toBe('listOutputs');
164
- expect(req.args.basket).toBe('p myscheme some-data');
165
- // Transform basket for underlying call
166
- return {
167
- ...req,
168
- args: { ...req.args, basket: 'transformed-basket' }
169
- };
170
- }),
171
- onResponse: jest.fn(async (res) => {
172
- // Module can transform the response
173
- return { ...res, transformedByModule: true };
174
- })
175
- };
176
- const config = {
177
- permissionModules: {
178
- myscheme: testModule
179
- }
180
- };
181
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
182
- // Mock underlying response
183
- underlying.listOutputs.mockResolvedValue({ outputs: [] });
184
- const result = await manager.listOutputs({ basket: 'p myscheme some-data' }, 'app.com');
185
- // Verify module's onRequest was called
186
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
187
- // Note: args array includes both the request args and originator
188
- expect(testModule.onRequest).toHaveBeenCalledWith({
189
- method: 'listOutputs',
190
- args: { basket: 'p myscheme some-data' },
191
- originator: 'app.com'
192
- });
193
- // Verify underlying was called with transformed basket
194
- // Note: originator stays as 'app.com' not changed to admin
195
- expect(underlying.listOutputs).toHaveBeenCalledWith({ basket: 'transformed-basket' }, 'app.com');
196
- // Verify module's onResponse was called
197
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
198
- // Verify response was transformed
199
- expect(result).toHaveProperty('transformedByModule', true);
200
- });
201
- it('should throw error if P-basket scheme has no registered module', async () => {
202
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com');
203
- await expect(manager.listOutputs({ basket: 'p unregistered-scheme data' }, 'app.com')).rejects.toThrow(/Unsupported P-module scheme: p unregistered-scheme/);
204
- });
205
- it('should handle normal baskets without delegation', async () => {
206
- const testModule = {
207
- onRequest: jest.fn(async (req) => req),
208
- onResponse: jest.fn(async (res) => res)
209
- };
210
- const config = {
211
- permissionModules: {
212
- myscheme: testModule
213
- },
214
- seekBasketListingPermissions: false
215
- };
216
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
217
- underlying.listOutputs.mockResolvedValue({ outputs: [] });
218
- await manager.listOutputs({ basket: 'normal-basket' }, 'app.com');
219
- // Module should NOT be called for normal baskets
220
- expect(testModule.onRequest).not.toHaveBeenCalled();
221
- expect(testModule.onResponse).not.toHaveBeenCalled();
222
- // Underlying should be called with original basket
223
- expect(underlying.listOutputs).toHaveBeenCalledWith({ basket: 'normal-basket' }, 'app.com');
224
- });
225
- it('should decrypt metadata in P-basket responses', async () => {
226
- const testModule = {
227
- onRequest: jest.fn(async (req) => req),
228
- onResponse: jest.fn(async (res) => res)
229
- };
230
- const config = {
231
- permissionModules: {
232
- myscheme: testModule
233
- },
234
- encryptWalletMetadata: true
235
- };
236
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
237
- // Mock decryption
238
- const decryptMetadata = jest.spyOn(manager, 'decryptListOutputsMetadata');
239
- decryptMetadata.mockImplementation(async (outputs) => outputs);
240
- underlying.listOutputs.mockResolvedValue({
241
- outputs: [{ outpoint: 'txid.0', satoshis: 100 }]
242
- });
243
- await manager.listOutputs({ basket: 'p myscheme data' }, 'app.com');
244
- // Verify metadata decryption was called
245
- expect(decryptMetadata).toHaveBeenCalled();
246
- });
247
- });
248
- describe('P-Basket Delegation - relinquishOutput', () => {
249
- it('should delegate to P-module when basket starts with "p "', async () => {
250
- const testModule = {
251
- onRequest: jest.fn(async (req) => {
252
- expect(req.method).toBe('relinquishOutput');
253
- expect(req.args.basket).toBe('p token admin-basket-data');
254
- return {
255
- ...req,
256
- args: { ...req.args, basket: 'admin-real-basket' }
257
- };
258
- }),
259
- onResponse: jest.fn(async (res) => res)
260
- };
261
- const config = {
262
- permissionModules: {
263
- token: testModule
264
- }
265
- };
266
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
267
- underlying.relinquishOutput.mockResolvedValue(undefined);
268
- await manager.relinquishOutput({ basket: 'p token admin-basket-data', output: 'txid.0' }, 'app.com');
269
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
270
- // Note: originator remains 'app.com' - only basket is transformed
271
- expect(underlying.relinquishOutput).toHaveBeenCalledWith({ basket: 'admin-real-basket', output: 'txid.0' }, 'app.com');
272
- });
273
- });
274
- describe('P-Basket Delegation - createAction', () => {
275
- it('should delegate to P-module for outputs with P-baskets', async () => {
276
- const testModule = {
277
- onRequest: jest.fn(async (req) => {
278
- // Verify we receive createAction request
279
- expect(req.method).toBe('createAction');
280
- return req;
281
- }),
282
- onResponse: jest.fn(async (res) => {
283
- // Module can inspect the transaction result
284
- return res;
285
- })
286
- };
287
- const config = {
288
- permissionModules: {
289
- bottle: testModule
290
- },
291
- seekSpendingPermissions: false,
292
- seekBasketInsertionPermissions: false
293
- };
294
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
295
- underlying.createAction.mockResolvedValue({
296
- txid: 'abc123',
297
- tx: []
298
- });
299
- await manager.createAction({
300
- description: 'Test action',
301
- outputs: [
302
- {
303
- lockingScript: 'abcd',
304
- satoshis: 1000,
305
- basket: 'p bottle token-data',
306
- outputDescription: 'Test output'
307
- }
308
- ]
309
- }, 'app.com');
310
- // Verify P-module was invoked
311
- expect(testModule.onRequest).toHaveBeenCalled();
312
- expect(testModule.onResponse).toHaveBeenCalled();
313
- });
314
- it('should chain multiple P-modules in correct order: req1->req2->req3 then res3->res2->res1', async () => {
315
- const callOrder = [];
316
- const module1 = {
317
- onRequest: jest.fn(async (req) => {
318
- callOrder.push('req1');
319
- // First module receives original args without any processing markers
320
- expect(req.args.req1Processed).toBeUndefined();
321
- expect(req.args.req2Processed).toBeUndefined();
322
- // Transform args - add marker to track this module processed them
323
- return {
324
- ...req,
325
- args: { ...req.args, req1Processed: true }
326
- };
327
- }),
328
- onResponse: jest.fn(async (res) => {
329
- callOrder.push('res1');
330
- // Last module in response chain should see transformations from res2 and res3
331
- expect((res).processedBy).toBe('module2');
332
- return { ...res, finalProcessedBy: 'module1' };
333
- })
334
- };
335
- const module2 = {
336
- onRequest: jest.fn(async (req) => {
337
- callOrder.push('req2');
338
- // Second module receives args transformed by module1
339
- // (each module gets fresh request object, but args are chained)
340
- expect(req.args.req1Processed).toBe(true);
341
- expect(req.args.req2Processed).toBeUndefined();
342
- return {
343
- ...req,
344
- args: { ...req.args, req2Processed: true }
345
- };
346
- }),
347
- onResponse: jest.fn(async (res) => {
348
- callOrder.push('res2');
349
- // Second-to-last in response chain should see transformation from res3
350
- expect((res).processedBy).toBe('module3');
351
- return { ...res, processedBy: 'module2' };
352
- })
353
- };
354
- const module3 = {
355
- onRequest: jest.fn(async (req) => {
356
- callOrder.push('req3');
357
- // Third module receives args with transformations from both module1 and module2
358
- expect(req.args.req1Processed).toBe(true);
359
- expect(req.args.req2Processed).toBe(true);
360
- expect(req.args.req3Processed).toBeUndefined();
361
- return {
362
- ...req,
363
- args: { ...req.args, req3Processed: true }
364
- };
365
- }),
366
- onResponse: jest.fn(async (res) => {
367
- callOrder.push('res3');
368
- // First module in response chain receives raw response from underlying wallet
369
- expect((res).processedBy).toBeUndefined();
370
- return { ...res, processedBy: 'module3' };
371
- })
372
- };
373
- const config = {
374
- permissionModules: {
375
- scheme1: module1,
376
- scheme2: module2,
377
- scheme3: module3
378
- },
379
- seekSpendingPermissions: false,
380
- seekBasketInsertionPermissions: false
381
- };
382
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
383
- underlying.createAction.mockResolvedValue({ txid: 'abc', tx: [] });
384
- const result = await manager.createAction({
385
- description: 'Multi-module chain test',
386
- outputs: [
387
- { lockingScript: '1234', satoshis: 100, basket: 'p scheme1 data1', outputDescription: 'Output 1' },
388
- { lockingScript: '5678', satoshis: 200, basket: 'p scheme2 data2', outputDescription: 'Output 2' },
389
- { lockingScript: '9abc', satoshis: 300, basket: 'p scheme3 data3', outputDescription: 'Output 3' }
390
- ]
391
- }, 'app.com');
392
- // Verify all modules were called
393
- expect(module1.onRequest).toHaveBeenCalledTimes(1);
394
- expect(module2.onRequest).toHaveBeenCalledTimes(1);
395
- expect(module3.onRequest).toHaveBeenCalledTimes(1);
396
- expect(module1.onResponse).toHaveBeenCalledTimes(1);
397
- expect(module2.onResponse).toHaveBeenCalledTimes(1);
398
- expect(module3.onResponse).toHaveBeenCalledTimes(1);
399
- // Verify correct order: req1 -> req2 -> req3 then res3 -> res2 -> res1
400
- expect(callOrder).toEqual(['req1', 'req2', 'req3', 'res3', 'res2', 'res1']);
401
- // Verify final result has the complete chain of transformations
402
- expect(result.finalProcessedBy).toBe('module1');
403
- });
404
- });
405
- describe('P-Basket Delegation - internalizeAction', () => {
406
- it('should delegate to P-module when P-basket is specified in insertionRemittance', async () => {
407
- const testModule = {
408
- onRequest: jest.fn(async (req) => {
409
- expect(req.method).toBe('internalizeAction');
410
- return req;
411
- }),
412
- onResponse: jest.fn(async (res) => res)
413
- };
414
- const config = {
415
- permissionModules: {
416
- myscheme: testModule
417
- },
418
- encryptWalletMetadata: false
419
- };
420
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
421
- underlying.internalizeAction.mockResolvedValue(undefined);
422
- await manager.internalizeAction({
423
- tx: [],
424
- description: 'Test internalize action',
425
- outputs: [
426
- {
427
- outputIndex: 0,
428
- protocol: 'basket insertion',
429
- paymentRemittance: { derivationPrefix: '', derivationSuffix: '', senderIdentityKey: '' },
430
- insertionRemittance: {
431
- basket: 'p myscheme data',
432
- customInstructions: ''
433
- }
434
- }
435
- ] // Use 'as any' to avoid strict type checking in test
436
- }, 'app.com');
437
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
438
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
439
- });
440
- });
441
- describe('P-Protocol Delegation', () => {
442
- it('should delegate getPublicKey to P-protocol module', async () => {
443
- const testModule = {
444
- onRequest: jest.fn(async (req) => {
445
- expect(req.method).toBe('getPublicKey');
446
- expect(req.args.protocolID).toEqual([0, 'p bottle test']);
447
- return req;
448
- }),
449
- onResponse: jest.fn(async (res) => {
450
- // Module can verify the key or add metadata
451
- return { ...res, verifiedByModule: true };
452
- })
453
- };
454
- const config = {
455
- permissionModules: {
456
- bottle: testModule
457
- },
458
- seekPermissionsForPublicKeyRevelation: false
459
- };
460
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
461
- underlying.getPublicKey.mockResolvedValue({ publicKey: '02abc...' });
462
- const result = await manager.getPublicKey({
463
- protocolID: [0, 'p bottle test'],
464
- keyID: '1',
465
- counterparty: 'self'
466
- }, 'app.com');
467
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
468
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
469
- expect(result).toHaveProperty('verifiedByModule', true);
470
- });
471
- it('should delegate createSignature to P-protocol module', async () => {
472
- const testModule = {
473
- onRequest: jest.fn(async (req) => {
474
- expect(req.method).toBe('createSignature');
475
- expect(req.args.protocolID).toEqual([1, 'p token spend']);
476
- // Module can validate spend amounts, check limits, etc.
477
- return req;
478
- }),
479
- onResponse: jest.fn(async (res) => res)
480
- };
481
- const config = {
482
- permissionModules: {
483
- token: testModule
484
- },
485
- seekProtocolPermissionsForSigning: false
486
- };
487
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
488
- underlying.createSignature.mockResolvedValue({ signature: 'abc123' });
489
- await manager.createSignature({
490
- protocolID: [1, 'p token spend'],
491
- keyID: '1',
492
- data: [0x01, 0x02]
493
- }, 'app.com');
494
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
495
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
496
- });
497
- it('should delegate verifySignature to P-protocol module', async () => {
498
- const testModule = {
499
- onRequest: jest.fn(async (req) => {
500
- expect(req.method).toBe('verifySignature');
501
- return req;
502
- }),
503
- onResponse: jest.fn(async (res) => res)
504
- };
505
- const config = {
506
- permissionModules: {
507
- secure: testModule
508
- }
509
- };
510
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
511
- underlying.verifySignature.mockResolvedValue(true);
512
- await manager.verifySignature({
513
- protocolID: [1, 'p secure verify'],
514
- keyID: '1',
515
- data: [0x01],
516
- signature: [0x02]
517
- }, 'app.com');
518
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
519
- });
520
- it('should delegate encrypt to P-protocol module', async () => {
521
- const testModule = {
522
- onRequest: jest.fn(async (req) => {
523
- expect(req.method).toBe('encrypt');
524
- expect(req.args.protocolID).toEqual([2, 'p secure encrypt']);
525
- return req;
526
- }),
527
- onResponse: jest.fn(async (res) => res)
528
- };
529
- const config = {
530
- permissionModules: {
531
- secure: testModule
532
- },
533
- seekProtocolPermissionsForEncrypting: false
534
- };
535
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
536
- underlying.encrypt.mockResolvedValue({ ciphertext: [0x01, 0x02] });
537
- await manager.encrypt({
538
- protocolID: [2, 'p secure encrypt'],
539
- keyID: '1',
540
- plaintext: [0x48, 0x65, 0x6c, 0x6c, 0x6f]
541
- }, 'app.com');
542
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
543
- });
544
- it('should delegate decrypt to P-protocol module', async () => {
545
- const testModule = {
546
- onRequest: jest.fn(async (req) => {
547
- expect(req.method).toBe('decrypt');
548
- return req;
549
- }),
550
- onResponse: jest.fn(async (res) => {
551
- // Module could verify decrypted content
552
- return res;
553
- })
554
- };
555
- const config = {
556
- permissionModules: {
557
- secure: testModule
558
- },
559
- seekProtocolPermissionsForEncrypting: false
560
- };
561
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
562
- underlying.decrypt.mockResolvedValue({ plaintext: [0x48, 0x65] });
563
- await manager.decrypt({
564
- protocolID: [2, 'p secure decrypt'],
565
- keyID: '1',
566
- ciphertext: [0x01, 0x02]
567
- }, 'app.com');
568
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
569
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
570
- });
571
- it('should delegate createHmac to P-protocol module', async () => {
572
- const testModule = {
573
- onRequest: jest.fn(async (req) => {
574
- expect(req.method).toBe('createHmac');
575
- return req;
576
- }),
577
- onResponse: jest.fn(async (res) => res)
578
- };
579
- const config = {
580
- permissionModules: {
581
- hmac: testModule
582
- },
583
- seekProtocolPermissionsForHMAC: false
584
- };
585
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
586
- underlying.createHmac.mockResolvedValue({ hmac: [0x01] });
587
- await manager.createHmac({
588
- protocolID: [2, 'p hmac test'],
589
- keyID: '1',
590
- data: [0x48]
591
- }, 'app.com');
592
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
593
- });
594
- it('should delegate verifyHmac to P-protocol module', async () => {
595
- const testModule = {
596
- onRequest: jest.fn(async (req) => {
597
- expect(req.method).toBe('verifyHmac');
598
- return req;
599
- }),
600
- onResponse: jest.fn(async (res) => res)
601
- };
602
- const config = {
603
- permissionModules: {
604
- hmac: testModule
605
- }
606
- };
607
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
608
- underlying.verifyHmac.mockResolvedValue(true);
609
- await manager.verifyHmac({
610
- protocolID: [2, 'p hmac verify'],
611
- keyID: '1',
612
- data: [0x48],
613
- hmac: [0x01]
614
- }, 'app.com');
615
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
616
- });
617
- });
618
- describe('P-Module Error Handling', () => {
619
- it('should reject invalid P-label formats', async () => {
620
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', {});
621
- await expect(manager.listActions({ labels: ['p schemeOnly'] }, 'app.com')).rejects.toThrow('Invalid P-label format');
622
- await expect(manager.listActions({ labels: ['p missingScheme'] }, 'app.com')).rejects.toThrow('Invalid P-label format');
623
- await expect(manager.listActions({ labels: ['p scheme '] }, 'app.com')).rejects.toThrow('Invalid P-label format');
624
- expect(underlying.listActions).not.toHaveBeenCalled();
625
- });
626
- it('should throw if P-label scheme is unsupported', async () => {
627
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', {});
628
- await expect(manager.listActions({ labels: ['p unknown scheme', 'regular-label'] }, 'app.com')).rejects.toThrow('Unsupported P-label scheme: p unknown');
629
- expect(underlying.listActions).not.toHaveBeenCalled();
630
- });
631
- it('should throw if P-module onRequest throws', async () => {
632
- const testModule = {
633
- onRequest: jest.fn(async () => {
634
- throw new Error('Module validation failed');
635
- }),
636
- onResponse: jest.fn(async (res) => res)
637
- };
638
- const config = {
639
- permissionModules: {
640
- failing: testModule
641
- }
642
- };
643
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
644
- await expect(manager.listOutputs({ basket: 'p failing data' }, 'app.com')).rejects.toThrow('Module validation failed');
645
- // Underlying should not be called if module fails
646
- expect(underlying.listOutputs).not.toHaveBeenCalled();
647
- });
648
- it('should throw if P-module onResponse throws', async () => {
649
- const testModule = {
650
- onRequest: jest.fn(async (req) => req),
651
- onResponse: jest.fn(async () => {
652
- throw new Error('Module response processing failed');
653
- })
654
- };
655
- const config = {
656
- permissionModules: {
657
- failing: testModule
658
- }
659
- };
660
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
661
- underlying.listOutputs.mockResolvedValue({ outputs: [] });
662
- await expect(manager.listOutputs({ basket: 'p failing data' }, 'app.com')).rejects.toThrow('Module response processing failed');
663
- // Underlying was called, but response processing failed
664
- expect(underlying.listOutputs).toHaveBeenCalled();
665
- });
666
- it('should call P-module onRequest even when permission checks are enabled', async () => {
667
- const testModule = {
668
- onRequest: jest.fn(async (req) => {
669
- // Module validation happens before permission checks
670
- return req;
671
- }),
672
- onResponse: jest.fn(async (res) => res)
673
- };
674
- const config = {
675
- permissionModules: {
676
- myscheme: testModule
677
- },
678
- seekProtocolPermissionsForSigning: false // Disable to simplify test
679
- };
680
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
681
- underlying.createSignature.mockResolvedValue({ signature: [0x01] });
682
- // Create a signature request with P-protocol
683
- await manager.createSignature({
684
- protocolID: [1, 'p myscheme sign'],
685
- keyID: '1',
686
- data: [0x01]
687
- }, 'app.com');
688
- // Module should have been called
689
- expect(testModule.onRequest).toHaveBeenCalled();
690
- expect(testModule.onResponse).toHaveBeenCalled();
691
- });
692
- });
693
- describe('P-Module Admin Bypass', () => {
694
- it('should still use P-module even for admin originator', async () => {
695
- const testModule = {
696
- onRequest: jest.fn(async (req) => {
697
- // Module should be called even for admin
698
- expect(req.originator).toBe('admin.com');
699
- return req;
700
- }),
701
- onResponse: jest.fn(async (res) => res)
702
- };
703
- const config = {
704
- permissionModules: {
705
- myscheme: testModule
706
- }
707
- };
708
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'admin.com', config);
709
- underlying.listOutputs.mockResolvedValue({ outputs: [] });
710
- await manager.listOutputs({ basket: 'p myscheme data' }, 'admin.com');
711
- // Module should be invoked even for admin calls
712
- expect(testModule.onRequest).toHaveBeenCalledTimes(1);
713
- expect(testModule.onResponse).toHaveBeenCalledTimes(1);
714
- });
715
- it('should still block non-admin access to admin baskets even with P-module', async () => {
716
- const testModule = {
717
- onRequest: jest.fn(async (req) => req),
718
- onResponse: jest.fn(async (res) => res)
719
- };
720
- const config = {
721
- permissionModules: {
722
- myscheme: testModule
723
- },
724
- seekBasketListingPermissions: false
725
- };
726
- const manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'customToken.domain.com', config);
727
- // Try to access admin basket with non-admin originator
728
- // Admin baskets are prefixed with 'admin_' by convention
729
- await expect(manager.listOutputs({ basket: 'admin_someAdminBasket' }, 'app.com')).rejects.toThrow(/admin-only/);
730
- // P-module should NOT have been called since admin check happens before P-module delegation
731
- expect(testModule.onRequest).not.toHaveBeenCalled();
732
- });
733
- });
734
- });
735
- //# sourceMappingURL=WalletPermissionsManager.pmodules.test.js.map