@bsv/wallet-toolbox 2.1.28 → 2.2.0

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 (610) hide show
  1. package/docs/client.md +327 -152
  2. package/docs/storage.md +340 -58
  3. package/docs/wallet.md +699 -27
  4. package/out/src/CWIStyleWalletManager.js +107 -41
  5. package/out/src/CWIStyleWalletManager.js.map +1 -1
  6. package/out/src/Setup.js +3 -3
  7. package/out/src/Setup.js.map +1 -1
  8. package/out/src/SetupClient.js +1 -1
  9. package/out/src/SetupClient.js.map +1 -1
  10. package/out/src/ShamirWalletManager.d.ts +2 -2
  11. package/out/src/ShamirWalletManager.js +10 -3
  12. package/out/src/ShamirWalletManager.js.map +1 -1
  13. package/out/src/SimpleWalletManager.js +29 -0
  14. package/out/src/SimpleWalletManager.js.map +1 -1
  15. package/out/src/Wallet.js +84 -66
  16. package/out/src/Wallet.js.map +1 -1
  17. package/out/src/WalletAuthenticationManager.js +6 -3
  18. package/out/src/WalletAuthenticationManager.js.map +1 -1
  19. package/out/src/WalletLogger.js +6 -4
  20. package/out/src/WalletLogger.js.map +1 -1
  21. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  22. package/out/src/WalletPermissionsManager.js +158 -167
  23. package/out/src/WalletPermissionsManager.js.map +1 -1
  24. package/out/src/WalletSettingsManager.js +3 -0
  25. package/out/src/WalletSettingsManager.js.map +1 -1
  26. package/out/src/entropy/EntropyCollector.js +9 -9
  27. package/out/src/entropy/EntropyCollector.js.map +1 -1
  28. package/out/src/fundWalletP2PKH.js +5 -6
  29. package/out/src/fundWalletP2PKH.js.map +1 -1
  30. package/out/src/mockchain/MockChainMigrations.js +1 -1
  31. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  32. package/out/src/mockchain/MockChainStorage.js +1 -0
  33. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  34. package/out/src/mockchain/MockChainTracker.js +2 -0
  35. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  36. package/out/src/mockchain/MockMiner.js +2 -2
  37. package/out/src/mockchain/MockMiner.js.map +1 -1
  38. package/out/src/mockchain/MockServices.js +21 -25
  39. package/out/src/mockchain/MockServices.js.map +1 -1
  40. package/out/src/monitor/Monitor.js +45 -33
  41. package/out/src/monitor/Monitor.js.map +1 -1
  42. package/out/src/monitor/MonitorDaemon.js +12 -10
  43. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  44. package/out/src/monitor/tasks/TaskArcSSE.js +10 -13
  45. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  46. package/out/src/monitor/tasks/TaskCheckForProofs.js +10 -11
  47. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  48. package/out/src/monitor/tasks/TaskCheckNoSends.js +22 -22
  49. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  50. package/out/src/monitor/tasks/TaskClock.js +3 -1
  51. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  52. package/out/src/monitor/tasks/TaskFailAbandoned.js +2 -1
  53. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  54. package/out/src/monitor/tasks/TaskMineBlock.js +3 -2
  55. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  56. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
  57. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  58. package/out/src/monitor/tasks/TaskNewHeader.js +12 -1
  59. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  60. package/out/src/monitor/tasks/TaskPurge.js +7 -5
  61. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  62. package/out/src/monitor/tasks/TaskReorg.js +4 -2
  63. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  64. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +12 -9
  65. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  66. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +8 -3
  67. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  68. package/out/src/monitor/tasks/TaskReviewStatus.js +7 -5
  69. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  70. package/out/src/monitor/tasks/TaskReviewUtxos.js +6 -2
  71. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  72. package/out/src/monitor/tasks/TaskSendWaiting.js +9 -2
  73. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  74. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +2 -1
  75. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -1
  76. package/out/src/monitor/tasks/TaskUnFail.js +6 -5
  77. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  78. package/out/src/monitor/tasks/WalletMonitorTask.js +7 -4
  79. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  80. package/out/src/sdk/PrivilegedKeyManager.js +44 -27
  81. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  82. package/out/src/sdk/WERR_errors.js +23 -8
  83. package/out/src/sdk/WERR_errors.js.map +1 -1
  84. package/out/src/sdk/WalletError.js +7 -7
  85. package/out/src/sdk/WalletError.js.map +1 -1
  86. package/out/src/services/ServiceCollection.js +9 -2
  87. package/out/src/services/ServiceCollection.js.map +1 -1
  88. package/out/src/services/Services.js +58 -54
  89. package/out/src/services/Services.js.map +1 -1
  90. package/out/src/services/chaintracker/BHServiceClient.js +8 -2
  91. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  92. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -2
  93. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  94. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +27 -21
  95. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  96. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +10 -5
  97. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  98. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +4 -1
  99. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  100. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +8 -1
  101. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  102. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +7 -0
  103. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  104. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +5 -3
  105. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  106. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +3 -1
  107. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  108. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
  109. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  110. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +3 -1
  111. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  112. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +4 -3
  113. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  114. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +1 -2
  115. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  116. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -5
  117. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  118. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +3 -1
  119. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  120. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +2 -1
  121. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  122. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +12 -6
  123. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  124. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +8 -7
  125. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  126. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +8 -8
  127. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  128. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +15 -16
  129. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  130. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +1 -1
  131. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  132. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +3 -3
  133. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  134. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +1 -1
  135. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  136. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -1
  137. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  138. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -1
  139. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  140. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -1
  141. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  142. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -16
  143. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  144. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +4 -0
  145. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  146. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +17 -4
  147. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  148. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +21 -0
  149. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  150. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +1 -3
  151. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  152. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +9 -3
  153. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  154. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +7 -5
  155. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  156. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +4 -6
  157. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +1 -1
  159. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +8 -8
  161. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  162. package/out/src/services/createDefaultWalletServicesOptions.js +8 -8
  163. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  164. package/out/src/services/providers/ARC.js +13 -5
  165. package/out/src/services/providers/ARC.js.map +1 -1
  166. package/out/src/services/providers/ArcSSEClient.js +9 -8
  167. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  168. package/out/src/services/providers/Bitails.js +6 -2
  169. package/out/src/services/providers/Bitails.js.map +1 -1
  170. package/out/src/services/providers/SdkWhatsOnChain.js +6 -2
  171. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  172. package/out/src/services/providers/WhatsOnChain.js +2 -1
  173. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  174. package/out/src/services/providers/getBeefForTxid.js +2 -1
  175. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  176. package/out/src/signer/WalletSigner.js +4 -1
  177. package/out/src/signer/WalletSigner.js.map +1 -1
  178. package/out/src/signer/methods/acquireDirectCertificate.js +1 -2
  179. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  180. package/out/src/signer/methods/buildSignableTransaction.js +1 -2
  181. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  182. package/out/src/signer/methods/completeSignedTransaction.js +4 -5
  183. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  184. package/out/src/signer/methods/createAction.js +9 -11
  185. package/out/src/signer/methods/createAction.js.map +1 -1
  186. package/out/src/signer/methods/signAction.js +5 -6
  187. package/out/src/signer/methods/signAction.js.map +1 -1
  188. package/out/src/storage/StorageIdb.js +84 -99
  189. package/out/src/storage/StorageIdb.js.map +1 -1
  190. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  191. package/out/src/storage/StorageKnex.js +22 -29
  192. package/out/src/storage/StorageKnex.js.map +1 -1
  193. package/out/src/storage/StorageProvider.d.ts +4 -1
  194. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  195. package/out/src/storage/StorageProvider.js +45 -33
  196. package/out/src/storage/StorageProvider.js.map +1 -1
  197. package/out/src/storage/StorageReader.js +4 -2
  198. package/out/src/storage/StorageReader.js.map +1 -1
  199. package/out/src/storage/StorageSyncReader.js +2 -0
  200. package/out/src/storage/StorageSyncReader.js.map +1 -1
  201. package/out/src/storage/WalletStorageManager.js +47 -25
  202. package/out/src/storage/WalletStorageManager.js.map +1 -1
  203. package/out/src/storage/adminServer/adminServer.js +35 -48
  204. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  205. package/out/src/storage/idbHelpers.js +1 -2
  206. package/out/src/storage/idbHelpers.js.map +1 -1
  207. package/out/src/storage/methods/ListActionsSpecOp.js +2 -2
  208. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  209. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  210. package/out/src/storage/methods/ListOutputsSpecOp.js +5 -2
  211. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  212. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +10 -12
  213. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  214. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  215. package/out/src/storage/methods/createAction.js +87 -59
  216. package/out/src/storage/methods/createAction.js.map +1 -1
  217. package/out/src/storage/methods/generateChange.js +2 -3
  218. package/out/src/storage/methods/generateChange.js.map +1 -1
  219. package/out/src/storage/methods/getBeefForTransaction.js +2 -4
  220. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  221. package/out/src/storage/methods/internalizeAction.js +27 -2
  222. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  223. package/out/src/storage/methods/listActionsIdb.js +7 -9
  224. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  225. package/out/src/storage/methods/listActionsKnex.js +7 -9
  226. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  227. package/out/src/storage/methods/listOutputsIdb.js +5 -7
  228. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  229. package/out/src/storage/methods/listOutputsKnex.js +9 -10
  230. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  231. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  232. package/out/src/storage/methods/processAction.js +12 -11
  233. package/out/src/storage/methods/processAction.js.map +1 -1
  234. package/out/src/storage/methods/reviewStatus.d.ts +3 -2
  235. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  236. package/out/src/storage/methods/reviewStatus.js +34 -2
  237. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  238. package/out/src/storage/methods/reviewStatusIdb.d.ts +2 -2
  239. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  240. package/out/src/storage/methods/reviewStatusIdb.js +54 -13
  241. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  242. package/out/src/storage/portable/index.js +11 -15
  243. package/out/src/storage/portable/index.js.map +1 -1
  244. package/out/src/storage/remoting/StorageClient.js +2 -3
  245. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  246. package/out/src/storage/remoting/StorageClientBase.js +6 -3
  247. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  248. package/out/src/storage/remoting/StorageServer.js +17 -11
  249. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  250. package/out/src/storage/schema/KnexMigrations.js +5 -1
  251. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  252. package/out/src/storage/schema/entities/EntityBase.js +1 -0
  253. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  254. package/out/src/storage/schema/entities/EntityOutputBasket.js +1 -1
  255. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  256. package/out/src/storage/schema/entities/EntityProvenTx.js +12 -13
  257. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  258. package/out/src/storage/schema/entities/EntityProvenTxReq.js +7 -9
  259. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  260. package/out/src/storage/schema/entities/EntitySyncState.js +6 -3
  261. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  262. package/out/src/storage/schema/entities/MergeEntity.js +4 -0
  263. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  264. package/out/src/storage/storageProviderHelpers.js +2 -3
  265. package/out/src/storage/storageProviderHelpers.js.map +1 -1
  266. package/out/src/storage/sync/StorageMySQLDojoReader.js +2 -2
  267. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  268. package/out/src/utility/Format.js +4 -5
  269. package/out/src/utility/Format.js.map +1 -1
  270. package/out/src/utility/ScriptTemplateBRC29.js +7 -6
  271. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  272. package/out/src/utility/brc114ActionTimeLabels.js +1 -1
  273. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  274. package/out/src/utility/identityUtils.js +2 -4
  275. package/out/src/utility/identityUtils.js.map +1 -1
  276. package/out/src/utility/utilityHelpers.buffer.js +3 -3
  277. package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
  278. package/out/src/utility/utilityHelpers.js +2 -2
  279. package/out/src/utility/utilityHelpers.js.map +1 -1
  280. package/out/src/utility/utilityHelpers.noBuffer.js +4 -4
  281. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  282. package/out/src/wab-client/WABClient.js +1 -0
  283. package/out/src/wab-client/WABClient.js.map +1 -1
  284. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +1 -4
  285. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
  286. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +1 -4
  287. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
  288. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +1 -4
  289. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
  290. package/package.json +26 -18
  291. package/out/src/__tests/CWIStyleWalletManager.test.d.ts +0 -2
  292. package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +0 -1
  293. package/out/src/__tests/CWIStyleWalletManager.test.js +0 -810
  294. package/out/src/__tests/CWIStyleWalletManager.test.js.map +0 -1
  295. package/out/src/__tests/ShamirWalletManager.test.d.ts +0 -2
  296. package/out/src/__tests/ShamirWalletManager.test.d.ts.map +0 -1
  297. package/out/src/__tests/ShamirWalletManager.test.js +0 -303
  298. package/out/src/__tests/ShamirWalletManager.test.js.map +0 -1
  299. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +0 -2
  300. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +0 -1
  301. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +0 -365
  302. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +0 -1
  303. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +0 -2
  304. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +0 -1
  305. package/out/src/__tests/WalletPermissionsManager.checks.test.js +0 -642
  306. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +0 -1
  307. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +0 -2
  308. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +0 -1
  309. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +0 -335
  310. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +0 -1
  311. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +0 -86
  312. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +0 -1
  313. package/out/src/__tests/WalletPermissionsManager.fixtures.js +0 -280
  314. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +0 -1
  315. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +0 -2
  316. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +0 -1
  317. package/out/src/__tests/WalletPermissionsManager.flows.test.js +0 -613
  318. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +0 -1
  319. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +0 -2
  320. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +0 -1
  321. package/out/src/__tests/WalletPermissionsManager.initialization.test.js +0 -227
  322. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +0 -1
  323. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts +0 -2
  324. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts.map +0 -1
  325. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +0 -735
  326. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +0 -1
  327. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +0 -2
  328. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +0 -1
  329. package/out/src/__tests/WalletPermissionsManager.proxying.test.js +0 -585
  330. package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +0 -1
  331. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +0 -2
  332. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +0 -1
  333. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +0 -416
  334. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +0 -1
  335. package/out/src/entropy/__tests/EntropyCollector.test.d.ts +0 -2
  336. package/out/src/entropy/__tests/EntropyCollector.test.d.ts.map +0 -1
  337. package/out/src/entropy/__tests/EntropyCollector.test.js +0 -137
  338. package/out/src/entropy/__tests/EntropyCollector.test.js.map +0 -1
  339. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts +0 -2
  340. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts.map +0 -1
  341. package/out/src/monitor/__test/MonitorDaemon.man.test.js +0 -41
  342. package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +0 -1
  343. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts +0 -2
  344. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts.map +0 -1
  345. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js +0 -257
  346. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js.map +0 -1
  347. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts +0 -2
  348. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts.map +0 -1
  349. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js +0 -161
  350. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js.map +0 -1
  351. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts +0 -2
  352. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts.map +0 -1
  353. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js +0 -214
  354. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js.map +0 -1
  355. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts +0 -2
  356. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts.map +0 -1
  357. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js +0 -92
  358. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js.map +0 -1
  359. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts +0 -2
  360. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts.map +0 -1
  361. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js +0 -139
  362. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js.map +0 -1
  363. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts +0 -2
  364. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts.map +0 -1
  365. package/out/src/sdk/__test/CertificateLifeCycle.test.js +0 -62
  366. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +0 -1
  367. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts +0 -2
  368. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts.map +0 -1
  369. package/out/src/sdk/__test/PrivilegedKeyManager.test.js +0 -647
  370. package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +0 -1
  371. package/out/src/sdk/__test/WalletError.test.d.ts +0 -2
  372. package/out/src/sdk/__test/WalletError.test.d.ts.map +0 -1
  373. package/out/src/sdk/__test/WalletError.test.js +0 -255
  374. package/out/src/sdk/__test/WalletError.test.js.map +0 -1
  375. package/out/src/sdk/__test/validationHelpers.test.d.ts +0 -2
  376. package/out/src/sdk/__test/validationHelpers.test.d.ts.map +0 -1
  377. package/out/src/sdk/__test/validationHelpers.test.js +0 -20
  378. package/out/src/sdk/__test/validationHelpers.test.js.map +0 -1
  379. package/out/src/services/__tests/ARC.man.test.d.ts +0 -2
  380. package/out/src/services/__tests/ARC.man.test.d.ts.map +0 -1
  381. package/out/src/services/__tests/ARC.man.test.js +0 -104
  382. package/out/src/services/__tests/ARC.man.test.js.map +0 -1
  383. package/out/src/services/__tests/ARC.timeout.man.test.d.ts +0 -2
  384. package/out/src/services/__tests/ARC.timeout.man.test.d.ts.map +0 -1
  385. package/out/src/services/__tests/ARC.timeout.man.test.js +0 -74
  386. package/out/src/services/__tests/ARC.timeout.man.test.js.map +0 -1
  387. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts +0 -2
  388. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts.map +0 -1
  389. package/out/src/services/__tests/ArcGorillaPool.man.test.js +0 -93
  390. package/out/src/services/__tests/ArcGorillaPool.man.test.js.map +0 -1
  391. package/out/src/services/__tests/arcServices.test.d.ts +0 -2
  392. package/out/src/services/__tests/arcServices.test.d.ts.map +0 -1
  393. package/out/src/services/__tests/arcServices.test.js +0 -7
  394. package/out/src/services/__tests/arcServices.test.js.map +0 -1
  395. package/out/src/services/__tests/bitrails.test.d.ts +0 -2
  396. package/out/src/services/__tests/bitrails.test.d.ts.map +0 -1
  397. package/out/src/services/__tests/bitrails.test.js +0 -60
  398. package/out/src/services/__tests/bitrails.test.js.map +0 -1
  399. package/out/src/services/__tests/getFiatExchangeRate.test.d.ts +0 -2
  400. package/out/src/services/__tests/getFiatExchangeRate.test.d.ts.map +0 -1
  401. package/out/src/services/__tests/getFiatExchangeRate.test.js +0 -181
  402. package/out/src/services/__tests/getFiatExchangeRate.test.js.map +0 -1
  403. package/out/src/services/__tests/getMerklePath.test.d.ts +0 -2
  404. package/out/src/services/__tests/getMerklePath.test.d.ts.map +0 -1
  405. package/out/src/services/__tests/getMerklePath.test.js +0 -24
  406. package/out/src/services/__tests/getMerklePath.test.js.map +0 -1
  407. package/out/src/services/__tests/getRawTx.test.d.ts +0 -2
  408. package/out/src/services/__tests/getRawTx.test.d.ts.map +0 -1
  409. package/out/src/services/__tests/getRawTx.test.js +0 -16
  410. package/out/src/services/__tests/getRawTx.test.js.map +0 -1
  411. package/out/src/services/__tests/postBeef.test.d.ts +0 -2
  412. package/out/src/services/__tests/postBeef.test.d.ts.map +0 -1
  413. package/out/src/services/__tests/postBeef.test.js +0 -101
  414. package/out/src/services/__tests/postBeef.test.js.map +0 -1
  415. package/out/src/services/__tests/verifyBeef.test.d.ts +0 -2
  416. package/out/src/services/__tests/verifyBeef.test.d.ts.map +0 -1
  417. package/out/src/services/__tests/verifyBeef.test.js +0 -80
  418. package/out/src/services/__tests/verifyBeef.test.js.map +0 -1
  419. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts +0 -2
  420. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts.map +0 -1
  421. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +0 -61
  422. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +0 -1
  423. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts +0 -2
  424. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts.map +0 -1
  425. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +0 -61
  426. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +0 -1
  427. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts +0 -2
  428. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts.map +0 -1
  429. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +0 -57
  430. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +0 -1
  431. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts +0 -2
  432. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts.map +0 -1
  433. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js +0 -41
  434. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js.map +0 -1
  435. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.d.ts +0 -2
  436. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.d.ts.map +0 -1
  437. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js +0 -109
  438. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js.map +0 -1
  439. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts +0 -2
  440. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts.map +0 -1
  441. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +0 -88
  442. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +0 -1
  443. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts +0 -2
  444. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts.map +0 -1
  445. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js +0 -39
  446. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js.map +0 -1
  447. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts +0 -2
  448. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts.map +0 -1
  449. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +0 -76
  450. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +0 -1
  451. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.d.ts +0 -2
  452. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.d.ts.map +0 -1
  453. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js +0 -44
  454. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js.map +0 -1
  455. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts +0 -2
  456. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts.map +0 -1
  457. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +0 -165
  458. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +0 -1
  459. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts +0 -12
  460. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts.map +0 -1
  461. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js +0 -66
  462. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js.map +0 -1
  463. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.d.ts +0 -2
  464. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.d.ts.map +0 -1
  465. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.js +0 -109
  466. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.js.map +0 -1
  467. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts +0 -2
  468. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts.map +0 -1
  469. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +0 -55
  470. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +0 -1
  471. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts +0 -2
  472. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts.map +0 -1
  473. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js +0 -255
  474. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js.map +0 -1
  475. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts +0 -2
  476. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts.map +0 -1
  477. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js +0 -56
  478. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js.map +0 -1
  479. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts +0 -2
  480. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts.map +0 -1
  481. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js +0 -69
  482. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js.map +0 -1
  483. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts +0 -2
  484. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts.map +0 -1
  485. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js +0 -51
  486. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js.map +0 -1
  487. package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts +0 -2
  488. package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts.map +0 -1
  489. package/out/src/services/providers/__tests/ArcSSEClient.test.js +0 -256
  490. package/out/src/services/providers/__tests/ArcSSEClient.test.js.map +0 -1
  491. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts +0 -2
  492. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts.map +0 -1
  493. package/out/src/services/providers/__tests/WhatsOnChain.test.js +0 -191
  494. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +0 -1
  495. package/out/src/services/providers/__tests/exchangeRates.test.d.ts +0 -2
  496. package/out/src/services/providers/__tests/exchangeRates.test.d.ts.map +0 -1
  497. package/out/src/services/providers/__tests/exchangeRates.test.js +0 -23
  498. package/out/src/services/providers/__tests/exchangeRates.test.js.map +0 -1
  499. package/out/src/storage/__test/StorageIdb.test.d.ts +0 -2
  500. package/out/src/storage/__test/StorageIdb.test.d.ts.map +0 -1
  501. package/out/src/storage/__test/StorageIdb.test.js +0 -44
  502. package/out/src/storage/__test/StorageIdb.test.js.map +0 -1
  503. package/out/src/storage/__test/WalletStorageManager.test.d.ts +0 -2
  504. package/out/src/storage/__test/WalletStorageManager.test.d.ts.map +0 -1
  505. package/out/src/storage/__test/WalletStorageManager.test.js +0 -254
  506. package/out/src/storage/__test/WalletStorageManager.test.js.map +0 -1
  507. package/out/src/storage/__test/adminStats.man.test.d.ts +0 -2
  508. package/out/src/storage/__test/adminStats.man.test.d.ts.map +0 -1
  509. package/out/src/storage/__test/adminStats.man.test.js +0 -78
  510. package/out/src/storage/__test/adminStats.man.test.js.map +0 -1
  511. package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts +0 -2
  512. package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts.map +0 -1
  513. package/out/src/storage/__test/findStaleMerkleRoots.test.js +0 -41
  514. package/out/src/storage/__test/findStaleMerkleRoots.test.js.map +0 -1
  515. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts +0 -2
  516. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts.map +0 -1
  517. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js +0 -73
  518. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js.map +0 -1
  519. package/out/src/storage/__test/getBeefForTransaction.test.d.ts +0 -2
  520. package/out/src/storage/__test/getBeefForTransaction.test.d.ts.map +0 -1
  521. package/out/src/storage/__test/getBeefForTransaction.test.js +0 -347
  522. package/out/src/storage/__test/getBeefForTransaction.test.js.map +0 -1
  523. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts +0 -2
  524. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts.map +0 -1
  525. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +0 -1111
  526. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +0 -1
  527. package/out/src/storage/methods/__test/offsetKey.test.d.ts +0 -2
  528. package/out/src/storage/methods/__test/offsetKey.test.d.ts.map +0 -1
  529. package/out/src/storage/methods/__test/offsetKey.test.js +0 -229
  530. package/out/src/storage/methods/__test/offsetKey.test.js.map +0 -1
  531. package/out/src/storage/remoting/__test/StorageClient.man.test.d.ts +0 -2
  532. package/out/src/storage/remoting/__test/StorageClient.man.test.d.ts.map +0 -1
  533. package/out/src/storage/remoting/__test/StorageClient.man.test.js +0 -487
  534. package/out/src/storage/remoting/__test/StorageClient.man.test.js.map +0 -1
  535. package/out/src/storage/remoting/__test/StorageClient.test.d.ts +0 -2
  536. package/out/src/storage/remoting/__test/StorageClient.test.d.ts.map +0 -1
  537. package/out/src/storage/remoting/__test/StorageClient.test.js +0 -119
  538. package/out/src/storage/remoting/__test/StorageClient.test.js.map +0 -1
  539. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts +0 -2
  540. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts.map +0 -1
  541. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js +0 -268
  542. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js.map +0 -1
  543. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts +0 -2
  544. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts.map +0 -1
  545. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +0 -301
  546. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +0 -1
  547. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts +0 -2
  548. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts.map +0 -1
  549. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js +0 -308
  550. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +0 -1
  551. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts +0 -2
  552. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts.map +0 -1
  553. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js +0 -316
  554. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +0 -1
  555. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts +0 -2
  556. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts.map +0 -1
  557. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js +0 -228
  558. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +0 -1
  559. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts +0 -2
  560. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts.map +0 -1
  561. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +0 -191
  562. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +0 -1
  563. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts +0 -2
  564. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts.map +0 -1
  565. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js +0 -226
  566. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +0 -1
  567. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts +0 -2
  568. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts.map +0 -1
  569. package/out/src/storage/schema/entities/__tests/OutputTests.test.js +0 -413
  570. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +0 -1
  571. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts +0 -2
  572. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts.map +0 -1
  573. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +0 -331
  574. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +0 -1
  575. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts +0 -2
  576. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts.map +0 -1
  577. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +0 -474
  578. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +0 -1
  579. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts +0 -2
  580. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts.map +0 -1
  581. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js +0 -234
  582. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +0 -1
  583. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts +0 -2
  584. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts.map +0 -1
  585. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +0 -539
  586. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +0 -1
  587. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts +0 -2
  588. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts.map +0 -1
  589. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js +0 -304
  590. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +0 -1
  591. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts +0 -2
  592. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts.map +0 -1
  593. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js +0 -170
  594. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +0 -1
  595. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts +0 -2
  596. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts.map +0 -1
  597. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +0 -81
  598. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +0 -1
  599. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts +0 -2
  600. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts.map +0 -1
  601. package/out/src/storage/schema/entities/__tests/usersTests.test.js +0 -277
  602. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +0 -1
  603. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts +0 -2
  604. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts.map +0 -1
  605. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js +0 -107
  606. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js.map +0 -1
  607. package/out/src/wab-client/__tests/WABClient.man.test.d.ts +0 -2
  608. package/out/src/wab-client/__tests/WABClient.man.test.d.ts.map +0 -1
  609. package/out/src/wab-client/__tests/WABClient.man.test.js +0 -52
  610. 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