@bsv/wallet-toolbox 2.12.0 → 2.13.2

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 (693) hide show
  1. package/CHANGELOG.md +350 -1
  2. package/README.md +556 -6
  3. package/docs/README.md +8 -1
  4. package/docs/client.md +13057 -4632
  5. package/docs/identity-verification.md +196 -0
  6. package/docs/monitor.md +505 -190
  7. package/docs/services.md +4013 -1153
  8. package/docs/setup.md +98 -58
  9. package/docs/storage.md +5780 -1609
  10. package/docs/sync-transfer.md +144 -0
  11. package/docs/wallet.md +10155 -10871
  12. package/out/src/CWIStyleWalletManager.d.ts +6 -8
  13. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  14. package/out/src/CWIStyleWalletManager.js +170 -125
  15. package/out/src/CWIStyleWalletManager.js.map +1 -1
  16. package/out/src/Setup.d.ts +2 -0
  17. package/out/src/Setup.d.ts.map +1 -1
  18. package/out/src/Setup.js +3 -2
  19. package/out/src/Setup.js.map +1 -1
  20. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  21. package/out/src/ShamirWalletManager.js +34 -19
  22. package/out/src/ShamirWalletManager.js.map +1 -1
  23. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  24. package/out/src/SimpleWalletManager.js +7 -6
  25. package/out/src/SimpleWalletManager.js.map +1 -1
  26. package/out/src/Wallet.d.ts +50 -11
  27. package/out/src/Wallet.d.ts.map +1 -1
  28. package/out/src/Wallet.js +183 -107
  29. package/out/src/Wallet.js.map +1 -1
  30. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  31. package/out/src/WalletAuthenticationManager.js +282 -26
  32. package/out/src/WalletAuthenticationManager.js.map +1 -1
  33. package/out/src/WalletLogger.js +1 -1
  34. package/out/src/WalletLogger.js.map +1 -1
  35. package/out/src/WalletPermissionsManager.d.ts +30 -17
  36. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  37. package/out/src/WalletPermissionsManager.js +540 -312
  38. package/out/src/WalletPermissionsManager.js.map +1 -1
  39. package/out/src/WalletSettingsManager.d.ts +3 -2
  40. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  41. package/out/src/WalletSettingsManager.js +141 -6
  42. package/out/src/WalletSettingsManager.js.map +1 -1
  43. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  44. package/out/src/entropy/EntropyCollector.js +3 -2
  45. package/out/src/entropy/EntropyCollector.js.map +1 -1
  46. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  47. package/out/src/fundWalletP2PKH.js +143 -44
  48. package/out/src/fundWalletP2PKH.js.map +1 -1
  49. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  50. package/out/src/mockchain/MockChainTracker.js +5 -5
  51. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  52. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  53. package/out/src/mockchain/MockServices.js +32 -8
  54. package/out/src/mockchain/MockServices.js.map +1 -1
  55. package/out/src/monitor/Monitor.d.ts +17 -0
  56. package/out/src/monitor/Monitor.d.ts.map +1 -1
  57. package/out/src/monitor/Monitor.js +206 -42
  58. package/out/src/monitor/Monitor.js.map +1 -1
  59. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  60. package/out/src/monitor/MonitorDaemon.js +64 -16
  61. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  62. package/out/src/monitor/monitorValidation.d.ts +12 -0
  63. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  64. package/out/src/monitor/monitorValidation.js +133 -0
  65. package/out/src/monitor/monitorValidation.js.map +1 -0
  66. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -0
  67. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  68. package/out/src/monitor/tasks/TaskArcSSE.js +28 -12
  69. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  70. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  71. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  72. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  73. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  74. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  75. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  76. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  77. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  78. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  79. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  80. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  81. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  82. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  83. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -1
  84. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +9 -3
  85. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -1
  86. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  87. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  88. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  89. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  90. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +17 -7
  91. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  92. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  93. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  94. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  95. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  96. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +4 -4
  97. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  98. package/out/src/monitor/tasks/TaskReviewUtxos.js +41 -13
  99. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  100. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  101. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  102. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  103. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  104. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  105. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  106. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  107. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  108. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  109. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  110. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  111. package/out/src/sdk/WalletErrorFromJson.js +112 -2
  112. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  113. package/out/src/sdk/WalletServices.interfaces.d.ts +23 -1
  114. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  115. package/out/src/sdk/WalletStorage.interfaces.d.ts +49 -3
  116. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  117. package/out/src/services/ServiceCollection.js +2 -2
  118. package/out/src/services/ServiceCollection.js.map +1 -1
  119. package/out/src/services/Services.d.ts +5 -0
  120. package/out/src/services/Services.d.ts.map +1 -1
  121. package/out/src/services/Services.js +276 -110
  122. package/out/src/services/Services.js.map +1 -1
  123. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  124. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  125. package/out/src/services/chaintracker/BHServiceClient.js +267 -66
  126. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  127. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  128. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  129. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  130. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  131. package/out/src/services/chaintracker/LocalChainTracker.d.ts +26 -0
  132. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -1
  133. package/out/src/services/chaintracker/LocalChainTracker.js +180 -10
  134. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -1
  135. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  136. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  137. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  138. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  139. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  140. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +7 -0
  141. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  142. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +2 -0
  143. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  144. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  145. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  146. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +19 -0
  147. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  148. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +237 -61
  149. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  150. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  151. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  152. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  153. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  154. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  155. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  156. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +346 -30
  157. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  159. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +375 -43
  161. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  162. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  164. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  166. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  167. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  169. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  171. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  172. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  173. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  174. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  175. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  176. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  177. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  178. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  179. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  180. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  181. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  182. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  183. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  185. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  187. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  189. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  190. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  191. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  192. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  193. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  194. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  196. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  198. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  199. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  201. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  202. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  204. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  206. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  208. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  209. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  210. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  211. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  212. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  213. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  214. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  215. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  216. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +225 -24
  217. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  219. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  221. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  222. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -0
  223. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +225 -86
  225. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  227. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  229. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -2
  231. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  235. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  238. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  240. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  243. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  245. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  246. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  247. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +18 -0
  248. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
  249. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +204 -14
  250. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -1
  251. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  252. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +486 -82
  254. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  255. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  257. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -1
  259. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +12 -2
  260. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -1
  261. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  263. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  264. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +1 -0
  265. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  266. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  267. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  268. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +7 -0
  269. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  270. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +90 -24
  271. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  272. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  273. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  274. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  275. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +9 -0
  277. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -1
  278. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +100 -14
  279. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -1
  280. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  282. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +2 -0
  283. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
  284. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +104 -8
  285. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
  286. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +1 -0
  287. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -1
  288. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +79 -15
  289. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  291. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  293. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +6 -1
  295. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +311 -93
  297. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  299. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  300. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  301. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  302. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  303. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  304. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -1
  305. package/out/src/services/classifyOutputUtxo.js +19 -10
  306. package/out/src/services/classifyOutputUtxo.js.map +1 -1
  307. package/out/src/services/fiatRateValidation.d.ts +12 -0
  308. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  309. package/out/src/services/fiatRateValidation.js +138 -0
  310. package/out/src/services/fiatRateValidation.js.map +1 -0
  311. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  312. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  313. package/out/src/services/getCanonicalMerklePath.js +90 -0
  314. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  315. package/out/src/services/providers/ARC.d.ts +3 -16
  316. package/out/src/services/providers/ARC.d.ts.map +1 -1
  317. package/out/src/services/providers/ARC.js +36 -37
  318. package/out/src/services/providers/ARC.js.map +1 -1
  319. package/out/src/services/providers/ArcSSEClient.d.ts +25 -19
  320. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  321. package/out/src/services/providers/ArcSSEClient.js +352 -85
  322. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  323. package/out/src/services/providers/Arcade.d.ts +1 -0
  324. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  325. package/out/src/services/providers/Arcade.js +56 -41
  326. package/out/src/services/providers/Arcade.js.map +1 -1
  327. package/out/src/services/providers/Bitails.d.ts +3 -0
  328. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  329. package/out/src/services/providers/Bitails.js +79 -12
  330. package/out/src/services/providers/Bitails.js.map +1 -1
  331. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  332. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  333. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  334. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  335. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  336. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  337. package/out/src/services/providers/WhatsOnChain.js +221 -69
  338. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  339. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  340. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  341. package/out/src/services/providers/arcProviderConfig.js +83 -0
  342. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  343. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  344. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  345. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  346. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  347. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  348. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  349. package/out/src/services/providers/exchangeRates.js +153 -226
  350. package/out/src/services/providers/exchangeRates.js.map +1 -1
  351. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  352. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  353. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  354. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  355. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  356. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  357. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  358. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  359. package/out/src/services/validateMerklePathResult.js +272 -0
  360. package/out/src/services/validateMerklePathResult.js.map +1 -0
  361. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  362. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  363. package/out/src/services/validatePostBeefResult.js +334 -0
  364. package/out/src/services/validatePostBeefResult.js.map +1 -0
  365. package/out/src/services/validateRawTxResult.d.ts +6 -0
  366. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  367. package/out/src/services/validateRawTxResult.js +77 -0
  368. package/out/src/services/validateRawTxResult.js.map +1 -0
  369. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  370. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  371. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  372. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  373. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  374. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  375. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  376. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  377. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  378. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  379. package/out/src/services/validateUtxoStatusResult.js +126 -0
  380. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  381. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  382. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  383. package/out/src/signer/actionBatch/ActionBatchPlanner.js +4 -3
  384. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  385. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +6 -5
  386. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  387. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +70 -76
  388. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  389. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  390. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  391. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  392. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  393. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  394. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  395. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  396. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  397. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  398. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  399. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  400. package/out/src/signer/methods/createAction.d.ts +4 -3
  401. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  402. package/out/src/signer/methods/createAction.js +4 -2
  403. package/out/src/signer/methods/createAction.js.map +1 -1
  404. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +3 -3
  405. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -1
  406. package/out/src/signer/methods/createNoSendExpiryAction.js +9 -4
  407. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -1
  408. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  409. package/out/src/signer/methods/internalizeAction.js +2 -2
  410. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  411. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  412. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  413. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  414. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  415. package/out/src/signer/methods/signAction.js +3 -2
  416. package/out/src/signer/methods/signAction.js.map +1 -1
  417. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  418. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  419. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  420. package/out/src/storage/StorageIdb.d.ts +6 -3
  421. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  422. package/out/src/storage/StorageIdb.js +70 -42
  423. package/out/src/storage/StorageIdb.js.map +1 -1
  424. package/out/src/storage/StorageKnex.d.ts +8 -4
  425. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  426. package/out/src/storage/StorageKnex.js +185 -92
  427. package/out/src/storage/StorageKnex.js.map +1 -1
  428. package/out/src/storage/StorageProvider.d.ts +19 -9
  429. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  430. package/out/src/storage/StorageProvider.js +237 -138
  431. package/out/src/storage/StorageProvider.js.map +1 -1
  432. package/out/src/storage/StorageReader.d.ts +7 -1
  433. package/out/src/storage/StorageReader.d.ts.map +1 -1
  434. package/out/src/storage/StorageReader.js +17 -42
  435. package/out/src/storage/StorageReader.js.map +1 -1
  436. package/out/src/storage/StorageReaderWriter.d.ts +2 -0
  437. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  438. package/out/src/storage/StorageReaderWriter.js +63 -38
  439. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  440. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  441. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  442. package/out/src/storage/StorageSyncReader.js +3 -36
  443. package/out/src/storage/StorageSyncReader.js.map +1 -1
  444. package/out/src/storage/WalletStorageManager.d.ts +9 -7
  445. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  446. package/out/src/storage/WalletStorageManager.js +71 -65
  447. package/out/src/storage/WalletStorageManager.js.map +1 -1
  448. package/out/src/storage/adminServer/adminServer.d.ts +1 -1
  449. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  450. package/out/src/storage/adminServer/adminServer.js +16 -44
  451. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  452. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  453. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  454. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  455. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  456. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  457. package/out/src/storage/methods/ListOutputsSpecOp.js +1 -0
  458. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  459. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  460. package/out/src/storage/methods/actionBatch.js +3 -2
  461. package/out/src/storage/methods/actionBatch.js.map +1 -1
  462. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  463. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  464. package/out/src/storage/methods/actionBatchBlobs.js +40 -22
  465. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  466. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  467. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  468. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  469. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  470. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  471. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +57 -44
  472. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  473. package/out/src/storage/methods/createAction.d.ts +7 -6
  474. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  475. package/out/src/storage/methods/createAction.js +7 -5
  476. package/out/src/storage/methods/createAction.js.map +1 -1
  477. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  478. package/out/src/storage/methods/generateChange.js +12 -11
  479. package/out/src/storage/methods/generateChange.js.map +1 -1
  480. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  481. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  482. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  483. package/out/src/storage/methods/getSyncChunk.js +42 -11
  484. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  485. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  486. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  487. package/out/src/storage/methods/internalizeAction.js +134 -129
  488. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  489. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  490. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  491. package/out/src/storage/methods/listActionsIdb.js +2 -2
  492. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  493. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  494. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  495. package/out/src/storage/methods/listActionsKnex.js +10 -9
  496. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  497. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  498. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  499. package/out/src/storage/methods/listCertificates.js.map +1 -1
  500. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  501. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  502. package/out/src/storage/methods/listOutputsIdb.js +11 -11
  503. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  504. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  505. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  506. package/out/src/storage/methods/listOutputsKnex.js +15 -23
  507. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  508. package/out/src/storage/methods/noSendExpiry.d.ts +3 -3
  509. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
  510. package/out/src/storage/methods/noSendExpiry.js +10 -8
  511. package/out/src/storage/methods/noSendExpiry.js.map +1 -1
  512. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -1
  513. package/out/src/storage/methods/preparedBeef.js +13 -14
  514. package/out/src/storage/methods/preparedBeef.js.map +1 -1
  515. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  516. package/out/src/storage/methods/processAction.js +37 -6
  517. package/out/src/storage/methods/processAction.js.map +1 -1
  518. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +1 -1
  519. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -1
  520. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -1
  521. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  522. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  523. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  524. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +1 -0
  525. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -1
  526. package/out/src/storage/methods/reviewUtxoOutputs.js +51 -4
  527. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -1
  528. package/out/src/storage/methods/validateSyncProof.d.ts +10 -2
  529. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -1
  530. package/out/src/storage/methods/validateSyncProof.js +27 -4
  531. package/out/src/storage/methods/validateSyncProof.js.map +1 -1
  532. package/out/src/storage/portable/index.d.ts.map +1 -1
  533. package/out/src/storage/portable/index.js +21 -13
  534. package/out/src/storage/portable/index.js.map +1 -1
  535. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  536. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  537. package/out/src/storage/remoting/BinaryJson.js +94 -8
  538. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  539. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  540. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  541. package/out/src/storage/remoting/KnexSessionManager.js +222 -30
  542. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  543. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts +26 -0
  544. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
  545. package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
  546. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
  547. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  548. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  549. package/out/src/storage/remoting/StorageClient.js +65 -8
  550. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  551. package/out/src/storage/remoting/StorageClientBase.d.ts +53 -10
  552. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  553. package/out/src/storage/remoting/StorageClientBase.js +304 -9
  554. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  555. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  556. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  557. package/out/src/storage/remoting/StorageMobile.js +13 -11
  558. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  559. package/out/src/storage/remoting/StorageServer.d.ts +10 -1
  560. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  561. package/out/src/storage/remoting/StorageServer.js +206 -21
  562. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  563. package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
  564. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
  565. package/out/src/storage/remoting/SyncTransfer.js +153 -0
  566. package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
  567. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
  568. package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
  569. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
  570. package/out/src/storage/remoting/syncChunkBinary.d.ts +4 -0
  571. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
  572. package/out/src/storage/remoting/syncChunkBinary.js +38 -0
  573. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
  574. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
  575. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
  576. package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
  577. package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
  578. package/out/src/storage/schema/KnexMigrations.d.ts +3 -0
  579. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  580. package/out/src/storage/schema/KnexMigrations.js +89 -2
  581. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  582. package/out/src/storage/schema/StorageIdbSchema.d.ts +1 -0
  583. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  584. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  585. package/out/src/storage/schema/entities/EntityOutput.js +11 -4
  586. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  587. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
  588. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  589. package/out/src/storage/schema/entities/EntityProvenTx.js +95 -41
  590. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  591. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  592. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  593. package/out/src/storage/schema/entities/EntitySyncState.d.ts +3 -1
  594. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  595. package/out/src/storage/schema/entities/EntitySyncState.js +7 -1
  596. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  597. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  598. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  599. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  600. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  601. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  602. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  603. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  604. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  605. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  606. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  607. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  608. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  609. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  610. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  611. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  612. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  613. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  614. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  615. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  616. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  617. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  618. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  619. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  620. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  621. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  622. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  623. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  624. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  625. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  626. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  627. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  628. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  629. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  630. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  631. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  632. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  633. package/out/src/storage/sync/SyncPageBudget.d.ts +8 -0
  634. package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
  635. package/out/src/storage/sync/SyncPageBudget.js +24 -0
  636. package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
  637. package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
  638. package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
  639. package/out/src/storage/sync/syncCheckpoint.js +49 -0
  640. package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
  641. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  642. package/out/src/utility/actionBatchDigest.js +9 -7
  643. package/out/src/utility/actionBatchDigest.js.map +1 -1
  644. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  645. package/out/src/utility/actionBatchPack.js +7 -12
  646. package/out/src/utility/actionBatchPack.js.map +1 -1
  647. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  648. package/out/src/utility/brc153ReferenceLabels.js +4 -4
  649. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  650. package/out/src/utility/brc177NoSendExpiry.d.ts +2 -2
  651. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -1
  652. package/out/src/utility/canonicalizeAtomicBeef.js +2 -2
  653. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -1
  654. package/out/src/utility/exactActionSpend.d.ts +11 -0
  655. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  656. package/out/src/utility/exactActionSpend.js +11 -0
  657. package/out/src/utility/exactActionSpend.js.map +1 -0
  658. package/out/src/utility/identityUtils.d.ts +44 -4
  659. package/out/src/utility/identityUtils.d.ts.map +1 -1
  660. package/out/src/utility/identityUtils.js +376 -61
  661. package/out/src/utility/identityUtils.js.map +1 -1
  662. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  663. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  664. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  665. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  666. package/out/src/utility/tscProofToMerklePath.js +35 -4
  667. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  668. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  669. package/out/src/utility/utilityHelpers.js +8 -6
  670. package/out/src/utility/utilityHelpers.js.map +1 -1
  671. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  672. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  673. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  674. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  675. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  676. package/out/src/utility/verifyOverlayOutput.js +22 -0
  677. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  678. package/out/src/utility/walletResultGuards.d.ts +14 -0
  679. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  680. package/out/src/utility/walletResultGuards.js +28 -0
  681. package/out/src/utility/walletResultGuards.js.map +1 -0
  682. package/out/src/wab-client/WABClient.d.ts +3 -17
  683. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  684. package/out/src/wab-client/WABClient.js +30 -14
  685. package/out/src/wab-client/WABClient.js.map +1 -1
  686. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  687. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  688. package/out/src/wab-client/WABResponseValidation.js +321 -0
  689. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  690. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  691. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  692. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  693. package/package.json +6 -5
@@ -1,9 +1,14 @@
1
- import { LookupAnswer, VerifiableCertificate, LookupResolver, DiscoverCertificatesResult, IdentityCertificate, IdentityCertifier, Base64String } from '@bsv/sdk';
1
+ import { LookupAnswer, VerifiableCertificate, LookupResolver, DiscoverCertificatesResult, IdentityCertificate, IdentityCertifier, Base64String, ChainTracker, TransactionEvidenceLimits } from '@bsv/sdk';
2
2
  import { TrustSettings } from '../WalletSettingsManager';
3
+ import { OverlayOutputEvidence } from './verifyOverlayOutput';
3
4
  export interface ExtendedVerifiableCertificate extends IdentityCertificate {
4
5
  certifierInfo: IdentityCertifier;
5
6
  publiclyRevealedKeyring: Record<string, Base64String>;
6
7
  }
8
+ /** Re-bind authenticated certificates to the identity lookup they answered. */
9
+ export declare function filterCertificatesByIdentityKey(certificates: VerifiableCertificate[], identityKey: string): VerifiableCertificate[];
10
+ /** Re-bind authenticated certificates to the attribute lookup they answered. */
11
+ export declare function filterCertificatesByAttributes(certificates: VerifiableCertificate[], attributes: Record<string, string>): VerifiableCertificate[];
7
12
  /**
8
13
  * Transforms an array of VerifiableCertificate instances according to the trust settings.
9
14
  * Only certificates whose grouped total trust meets the threshold are returned,
@@ -16,22 +21,57 @@ export interface ExtendedVerifiableCertificate extends IdentityCertificate {
16
21
  export declare const transformVerifiableCertificatesWithTrust: (trustSettings: TrustSettings, certificates: VerifiableCertificate[]) => DiscoverCertificatesResult;
17
22
  /**
18
23
  * Performs an identity overlay service lookup query and returns the parsed results.
24
+ * Requires an independently maintained ChainTracker; missing context returns no identities.
19
25
  *
20
26
  * Identity paths benefit from a larger grace window (more hosts contribute outputs before the
21
27
  * query resolves) — 300 ms is well under the "instant" perception threshold and catches the long
22
28
  * tail of healthy-but-slightly-slow hosts.
23
29
  */
24
- export declare const queryOverlay: (query: unknown, resolver: LookupResolver) => Promise<VerifiableCertificate[]>;
30
+ export declare const queryOverlay: (query: unknown, resolver: LookupResolver, chainTracker?: ChainTracker) => Promise<VerifiableCertificate[]>;
31
+ /** Configurable identity intake bounds; share byte limits with IdentityEvidenceVerifier. */
32
+ export interface IdentityEvidenceIntakeLimits {
33
+ candidateBytes?: number;
34
+ retainedBytes?: number;
35
+ outputs?: number;
36
+ }
37
+ /**
38
+ * Fetch an owned snapshot of UNTRUSTED evidence, suitable only for revalidation.
39
+ * A limit rejects the lookup because this legacy result cannot represent partial completion.
40
+ */
41
+ export declare const queryOverlayEvidence: (query: unknown, resolver: LookupResolver, limits?: IdentityEvidenceIntakeLimits) => Promise<LookupAnswer>;
42
+ /**
43
+ * Wallet/session-owned identity validation. Chain evidence is checked on every
44
+ * use; bounded certificate crypto results are independent of mutable trust ratings.
45
+ */
46
+ export declare class IdentityEvidenceVerifier {
47
+ readonly chainTracker: ChainTracker;
48
+ readonly chainNamespace: string;
49
+ private disposed;
50
+ private readonly coordinator;
51
+ private readonly certificates;
52
+ private expiryTimer?;
53
+ constructor(chainTracker: ChainTracker, chainNamespace?: string, limits?: Partial<TransactionEvidenceLimits>);
54
+ private clone;
55
+ parse(output: OverlayOutputEvidence): Promise<{
56
+ outpoint: string;
57
+ certificate: VerifiableCertificate;
58
+ } | null>;
59
+ private prune;
60
+ private scheduleExpiry;
61
+ dispose(): void;
62
+ }
25
63
  /**
26
64
  * Parse the returned UTXOs, decrypting and verifying each certificate.
65
+ * An omitted ChainTracker fails closed. Each call revalidates transaction evidence;
66
+ * returned certificates carry no reusable chain-verdict or unspentness guarantee.
27
67
  *
28
68
  * On UI runtimes (browser / React Native), yields between iterations so the JS thread does not
29
69
  * own the frame for the full duration. On Node, runs straight through.
30
70
  */
31
- export declare const parseResults: (lookupResult: LookupAnswer) => Promise<VerifiableCertificate[]>;
71
+ export declare const parseResults: (lookupResult: LookupAnswer, chainTracker?: ChainTracker, verifier?: IdentityEvidenceVerifier) => Promise<VerifiableCertificate[]>;
32
72
  /**
33
73
  * Iterable variant of {@link parseResults}: emits each successfully parsed certificate as soon as
34
74
  * it's ready, so callers can render progressively instead of waiting for the full set.
35
75
  */
36
- export declare function parseResults$(lookupResult: LookupAnswer): AsyncIterable<VerifiableCertificate>;
76
+ export declare function parseResults$(lookupResult: LookupAnswer, chainTracker?: ChainTracker, verifier?: IdentityEvidenceVerifier): AsyncIterable<VerifiableCertificate>;
37
77
  //# sourceMappingURL=identityUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identityUtils.d.ts","sourceRoot":"","sources":["../../../src/utility/identityUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,qBAAqB,EAGrB,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAa,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGnE,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,aAAa,EAAE,iBAAiB,CAAA;IAChC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACtD;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,wCAAwC,kBACpC,aAAa,gBACd,qBAAqB,EAAE,KACpC,0BAwDF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,UAAiB,OAAO,YAAY,cAAc,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAO5G,CAAA;AAqDD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,iBAAwB,YAAY,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAU9F,CAAA;AAED;;;GAGG;AACH,wBAAwB,aAAa,CAAE,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAQvG"}
1
+ {"version":3,"file":"identityUtils.d.ts","sourceRoot":"","sources":["../../../src/utility/identityUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,qBAAqB,EAErB,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EAGZ,yBAAyB,EAG1B,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,aAAa,EAAyB,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AA+F7D,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,aAAa,EAAE,iBAAiB,CAAA;IAChC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACtD;AAMD,+EAA+E;AAC/E,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,qBAAqB,EAAE,EACrC,WAAW,EAAE,MAAM,GAClB,qBAAqB,EAAE,CAKzB;AAED,gFAAgF;AAChF,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,qBAAqB,EAAE,EACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,qBAAqB,EAAE,CASzB;AAWD;;;;;;;;GAQG;AACH,eAAO,MAAM,wCAAwC,kBACpC,aAAa,gBACd,qBAAqB,EAAE,KACpC,0BAqEF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,UAChB,OAAO,YACJ,cAAc,iBACT,YAAY,KAC1B,OAAO,CAAC,qBAAqB,EAAE,CAGjC,CAAA;AAED,4FAA4F;AAC5F,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,UACxB,OAAO,YACJ,cAAc,WAChB,4BAA4B,KACnC,OAAO,CAAC,YAAY,CAoDtB,CAAA;AA0FD;;;GAGG;AACH,qBAAa,wBAAwB;IAOjC,QAAQ,CAAC,YAAY,EAAE,YAAY;IACnC,QAAQ,CAAC,cAAc;IAPzB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyD;IACtF,OAAO,CAAC,WAAW,CAAC,CAA+B;IAEnD,YACW,YAAY,EAAE,YAAY,EAC1B,cAAc,SAAyB,EAChD,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAQ5C;IAED,OAAO,CAAC,KAAK;IAgBP,KAAK,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,qBAAqB,CAAA;KAAE,GAAG,IAAI,CAAC,CAmCnH;IAED,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,cAAc;IActB,OAAO,IAAI,IAAI,CAKd;CACF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,iBACT,YAAY,iBACX,YAAY,aAChB,wBAAwB,KAClC,OAAO,CAAC,qBAAqB,EAAE,CAIjC,CAAA;AAED;;;GAGG;AACH,wBAAuB,aAAa,CAClC,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,YAAY,EAC3B,QAAQ,CAAC,EAAE,wBAAwB,GAClC,aAAa,CAAC,qBAAqB,CAAC,CAmBtC"}
@@ -1,8 +1,118 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseResults = exports.queryOverlay = exports.transformVerifiableCertificatesWithTrust = void 0;
3
+ exports.parseResults = exports.IdentityEvidenceVerifier = exports.queryOverlayEvidence = exports.queryOverlay = exports.transformVerifiableCertificatesWithTrust = void 0;
4
+ exports.filterCertificatesByIdentityKey = filterCertificatesByIdentityKey;
5
+ exports.filterCertificatesByAttributes = filterCertificatesByAttributes;
4
6
  exports.parseResults$ = parseResults$;
5
7
  const sdk_1 = require("@bsv/sdk");
8
+ const utils_1 = require("@bsv/sdk/primitives/utils");
9
+ const WalletSettingsManager_1 = require("../WalletSettingsManager");
10
+ const MAX_IDENTITY_RESULTS = 256;
11
+ const MAX_IDENTITY_CERTIFICATE_BYTES = 256 * 1024;
12
+ const MAX_IDENTITY_FIELDS = 100;
13
+ const IDENTITY_PROTOCOL = [1, 'identity'];
14
+ const IDENTITY_KEY_ID = '1';
15
+ function isPlainRecord(value) {
16
+ if (value == null || typeof value !== 'object' || Array.isArray(value))
17
+ return false;
18
+ const prototype = Object.getPrototypeOf(value);
19
+ return prototype === Object.prototype || prototype === null;
20
+ }
21
+ function ownData(value, key) {
22
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
23
+ if (descriptor == null || !('value' in descriptor)) {
24
+ throw new Error(`Identity certificate ${key} must be an own data property`);
25
+ }
26
+ return descriptor.value;
27
+ }
28
+ function boundedBytes(value, field, minimum, maximum) {
29
+ const normalized = value instanceof Uint8Array ? Array.from(value) : value;
30
+ if (!Array.isArray(normalized) || normalized.length < minimum || normalized.length > maximum) {
31
+ throw new Error(`${field} must contain ${minimum}-${maximum} bytes`);
32
+ }
33
+ for (let index = 0; index < normalized.length; index++) {
34
+ if (!Object.prototype.hasOwnProperty.call(normalized, index) ||
35
+ !Number.isInteger(normalized[index]) ||
36
+ normalized[index] < 0 ||
37
+ normalized[index] > 255) {
38
+ throw new Error(`${field} must be a dense byte array`);
39
+ }
40
+ }
41
+ return Array.from(normalized);
42
+ }
43
+ function pushOpcode(value) {
44
+ if (value.length <= 75)
45
+ return value.length;
46
+ if (value.length <= 0xff)
47
+ return 0x4c;
48
+ if (value.length <= 0xffff)
49
+ return 0x4d;
50
+ return 0x4e;
51
+ }
52
+ function certificateRecord(encoded) {
53
+ const parsed = JSON.parse((0, utils_1.toUTF8Strict)(encoded));
54
+ if (!isPlainRecord(parsed))
55
+ throw new Error('Identity certificate must be a plain object');
56
+ const allowed = new Set([
57
+ 'type',
58
+ 'serialNumber',
59
+ 'subject',
60
+ 'certifier',
61
+ 'revocationOutpoint',
62
+ 'fields',
63
+ 'keyring',
64
+ 'signature'
65
+ ]);
66
+ for (const key of Reflect.ownKeys(parsed)) {
67
+ if (typeof key !== 'string' || !allowed.has(key)) {
68
+ throw new Error('Identity certificate contains an unexpected field');
69
+ }
70
+ ownData(parsed, key);
71
+ }
72
+ for (const key of allowed)
73
+ ownData(parsed, key);
74
+ const fields = ownData(parsed, 'fields');
75
+ const keyring = ownData(parsed, 'keyring');
76
+ if (!isPlainRecord(fields) || !isPlainRecord(keyring)) {
77
+ throw new Error('Identity certificate fields and keyring must be plain objects');
78
+ }
79
+ const fieldNames = Object.keys(fields);
80
+ const keyringNames = Object.keys(keyring);
81
+ if (fieldNames.length < 1 ||
82
+ fieldNames.length > MAX_IDENTITY_FIELDS ||
83
+ keyringNames.length < 1 ||
84
+ keyringNames.length > MAX_IDENTITY_FIELDS) {
85
+ throw new Error('Identity certificate fields or keyring have invalid cardinality');
86
+ }
87
+ for (const fieldName of keyringNames) {
88
+ if (!Object.prototype.hasOwnProperty.call(fields, fieldName)) {
89
+ throw new Error('Identity keyring refers to an absent certificate field');
90
+ }
91
+ const key = ownData(keyring, fieldName);
92
+ if (typeof key !== 'string' || key.length > 2048) {
93
+ throw new Error('Identity keyring value is missing or oversized');
94
+ }
95
+ }
96
+ return parsed;
97
+ }
98
+ function identityAttributeMatches(actual, expected) {
99
+ return typeof actual === 'string' && (actual === expected || actual.toLowerCase() === expected.toLowerCase());
100
+ }
101
+ /** Re-bind authenticated certificates to the identity lookup they answered. */
102
+ function filterCertificatesByIdentityKey(certificates, identityKey) {
103
+ const expected = identityKey.toLowerCase();
104
+ return certificates.filter(certificate => typeof certificate.subject === 'string' && certificate.subject.toLowerCase() === expected);
105
+ }
106
+ /** Re-bind authenticated certificates to the attribute lookup they answered. */
107
+ function filterCertificatesByAttributes(certificates, attributes) {
108
+ const expected = Object.entries(attributes);
109
+ return certificates.filter(certificate => {
110
+ const fields = certificate.decryptedFields;
111
+ if (fields == null || typeof fields !== 'object' || Array.isArray(fields))
112
+ return false;
113
+ return expected.every(([fieldName, value]) => identityAttributeMatches(fields[fieldName], value));
114
+ });
115
+ }
6
116
  /**
7
117
  * Transforms an array of VerifiableCertificate instances according to the trust settings.
8
118
  * Only certificates whose grouped total trust meets the threshold are returned,
@@ -13,46 +123,58 @@ const sdk_1 = require("@bsv/sdk");
13
123
  * @returns a DiscoverCertificatesResult with totalCertificates and ordered certificates.
14
124
  */
15
125
  const transformVerifiableCertificatesWithTrust = (trustSettings, certificates) => {
126
+ const validatedTrust = (0, WalletSettingsManager_1.validateTrustSettings)(trustSettings);
16
127
  // Group certificates by subject while accumulating trust.
17
- const identityGroups = {};
128
+ const identityGroups = new Map();
18
129
  // Cache certifier lookups.
19
- const certifierCache = {};
20
- certificates.forEach(cert => {
130
+ const certifierCache = new Map(validatedTrust.trustedCertifiers.map(certifier => [certifier.identityKey, certifier]));
131
+ certificates.slice(0, MAX_IDENTITY_RESULTS).forEach(cert => {
21
132
  const { subject, certifier } = cert;
22
133
  if (subject === '' || certifier === '')
23
134
  return;
24
- // Lookup and cache certifier details from trustSettings.
25
- if (certifierCache[certifier] == null) {
26
- const found = trustSettings.trustedCertifiers.find(x => x.identityKey === certifier);
27
- if (found == null)
28
- return; // Skip this certificate if its certifier is not trusted.
29
- certifierCache[certifier] = found;
30
- }
135
+ const trustedCertifier = certifierCache.get(certifier);
136
+ if (trustedCertifier == null)
137
+ return;
31
138
  // Create the IdentityCertifier object that we want to attach.
32
139
  const certifierInfo = {
33
- name: certifierCache[certifier].name,
34
- iconUrl: certifierCache[certifier].iconUrl ?? '',
35
- description: certifierCache[certifier].description,
36
- trust: certifierCache[certifier].trust
140
+ name: trustedCertifier.name,
141
+ iconUrl: trustedCertifier.iconUrl ?? 'https://bsvblockchain.org/favicon.ico',
142
+ description: trustedCertifier.description,
143
+ trust: trustedCertifier.trust
37
144
  };
38
145
  // Create an extended certificate that includes certifierInfo.
39
- // Note: We use object spread to copy over all properties from the original certificate.
40
146
  const extendedCert = {
41
- ...cert,
147
+ type: cert.type,
148
+ serialNumber: cert.serialNumber,
149
+ subject: cert.subject,
150
+ certifier: cert.certifier,
151
+ revocationOutpoint: cert.revocationOutpoint,
42
152
  signature: cert.signature, // We know it exists at this point
43
- decryptedFields: cert.decryptedFields,
44
- publiclyRevealedKeyring: cert.keyring,
153
+ fields: { ...cert.fields },
154
+ decryptedFields: { ...cert.decryptedFields },
155
+ publiclyRevealedKeyring: { ...cert.keyring },
45
156
  certifierInfo
46
157
  };
47
158
  // Group certificates by subject.
48
- identityGroups[subject] ??= { totalTrust: 0, members: [] };
49
- identityGroups[subject].totalTrust += certifierInfo.trust;
50
- identityGroups[subject].members.push(extendedCert);
159
+ let group = identityGroups.get(subject);
160
+ if (group == null) {
161
+ group = { totalTrust: 0, members: [], certifiers: new Set(), certificates: new Set() };
162
+ identityGroups.set(subject, group);
163
+ }
164
+ const certificateID = `${cert.type}\0${cert.serialNumber}\0${certifier}`;
165
+ if (group.certificates.has(certificateID))
166
+ return;
167
+ group.certificates.add(certificateID);
168
+ if (!group.certifiers.has(certifier)) {
169
+ group.certifiers.add(certifier);
170
+ group.totalTrust += certifierInfo.trust;
171
+ }
172
+ group.members.push(extendedCert);
51
173
  });
52
174
  // Filter out groups that do not meet the trust threshold and flatten the results.
53
175
  const finalResults = [];
54
- Object.values(identityGroups).forEach(group => {
55
- if (group.totalTrust >= trustSettings.trustLevel) {
176
+ identityGroups.forEach(group => {
177
+ if (group.totalTrust >= validatedTrust.trustLevel) {
56
178
  finalResults.push(...group.members);
57
179
  }
58
180
  });
@@ -66,19 +188,80 @@ const transformVerifiableCertificatesWithTrust = (trustSettings, certificates) =
66
188
  exports.transformVerifiableCertificatesWithTrust = transformVerifiableCertificatesWithTrust;
67
189
  /**
68
190
  * Performs an identity overlay service lookup query and returns the parsed results.
191
+ * Requires an independently maintained ChainTracker; missing context returns no identities.
69
192
  *
70
193
  * Identity paths benefit from a larger grace window (more hosts contribute outputs before the
71
194
  * query resolves) — 300 ms is well under the "instant" perception threshold and catches the long
72
195
  * tail of healthy-but-slightly-slow hosts.
73
196
  */
74
- const queryOverlay = async (query, resolver) => {
75
- const results = await resolver.query({
76
- service: 'ls_identity',
77
- query
78
- }, undefined, { graceMs: 300 });
79
- return await (0, exports.parseResults)(results);
197
+ const queryOverlay = async (query, resolver, chainTracker) => {
198
+ if (chainTracker == null)
199
+ return [];
200
+ return await (0, exports.parseResults)(await (0, exports.queryOverlayEvidence)(query, resolver), chainTracker);
80
201
  };
81
202
  exports.queryOverlay = queryOverlay;
203
+ /**
204
+ * Fetch an owned snapshot of UNTRUSTED evidence, suitable only for revalidation.
205
+ * A limit rejects the lookup because this legacy result cannot represent partial completion.
206
+ */
207
+ const queryOverlayEvidence = async (query, resolver, limits = {}) => {
208
+ const candidateBytes = limits.candidateBytes ?? sdk_1.defaultTransactionEvidenceLimits.candidateBytes;
209
+ const retainedBytes = limits.retainedBytes ?? sdk_1.defaultTransactionEvidenceLimits.retainedBytes;
210
+ const maxOutputs = limits.outputs ?? 512;
211
+ if (![candidateBytes, retainedBytes, maxOutputs].every(value => Number.isSafeInteger(value) && value > 0))
212
+ throw new sdk_1.TransactionEvidenceError('limit');
213
+ const outputs = [];
214
+ let bytes = 0;
215
+ let received = false;
216
+ let closed = false;
217
+ let limited = false;
218
+ const accept = (output) => {
219
+ const size = output.beef.length + (output.context?.length ?? 0);
220
+ if (outputs.length >= maxOutputs || output.beef.length > candidateBytes || bytes + size > retainedBytes) {
221
+ limited = true;
222
+ return;
223
+ }
224
+ bytes += size;
225
+ outputs.push({
226
+ ...output,
227
+ beef: output.beef.slice(),
228
+ ...(output.context === undefined ? {} : { context: output.context.slice() })
229
+ });
230
+ };
231
+ try {
232
+ const results = await resolver.query({
233
+ service: 'ls_identity',
234
+ query
235
+ }, undefined, {
236
+ graceMs: 300,
237
+ evidenceLimits: { maxOutputs, maxBytes: retainedBytes },
238
+ onEvidence: event => {
239
+ if (closed)
240
+ return;
241
+ received = true;
242
+ if (event.type === 'output')
243
+ accept(event.output);
244
+ else
245
+ limited = true;
246
+ }
247
+ });
248
+ if (limited)
249
+ throw new sdk_1.TransactionEvidenceError('limit');
250
+ if (results.type !== 'output-list')
251
+ return results;
252
+ // Custom/older resolvers may not implement the additive intake callback.
253
+ if (!received)
254
+ for (const output of results.outputs)
255
+ accept(output);
256
+ if (limited)
257
+ throw new sdk_1.TransactionEvidenceError('limit');
258
+ return { type: 'output-list', outputs };
259
+ }
260
+ finally {
261
+ closed = true;
262
+ }
263
+ };
264
+ exports.queryOverlayEvidence = queryOverlayEvidence;
82
265
  /**
83
266
  * Cooperative yield helper. On environments where the main thread also drives UI work
84
267
  * (React Native, browsers), parsing many certificates synchronously freezes input handling.
@@ -98,64 +281,196 @@ const isUiRuntime = () => {
98
281
  return false;
99
282
  };
100
283
  const yieldToUi = async () => {
101
- await new Promise((resolve) => setTimeout(resolve, 0));
284
+ await new Promise(resolve => setTimeout(resolve, 0));
102
285
  };
103
286
  /**
104
287
  * Parse a single overlay output into a verified, decrypted certificate. Returns `null` on any
105
288
  * parse / decrypt / verify failure so a malformed entry can never block the others.
106
289
  */
107
- const parseOne = async (output) => {
290
+ const decodeIdentityOutput = async (verifiedOutput) => {
108
291
  try {
109
- const tx = sdk_1.Transaction.fromBEEF(output.beef);
110
- const decodedOutput = sdk_1.PushDrop.decode(tx.outputs[output.outputIndex].lockingScript);
111
- const certificate = JSON.parse(sdk_1.Utils.toUTF8(decodedOutput.fields[0]));
112
- const verifiableCert = new sdk_1.VerifiableCertificate(certificate.type, certificate.serialNumber, certificate.subject, certificate.certifier, certificate.revocationOutpoint, certificate.fields, certificate.keyring, certificate.signature);
113
- if (!(await verifiableCert.verify()))
292
+ const decodedOutput = sdk_1.PushDrop.decode(verifiedOutput.lockingScript);
293
+ if (decodedOutput.fields.length !== 2)
294
+ return null;
295
+ const certificateBytes = boundedBytes(decodedOutput.fields[0], 'Identity certificate', 1, MAX_IDENTITY_CERTIFICATE_BYTES);
296
+ const fieldSignature = boundedBytes(decodedOutput.fields[1], 'Identity field signature', 8, 80);
297
+ const chunks = verifiedOutput.lockingScript.chunks;
298
+ if (chunks.length !== 5 ||
299
+ chunks[0].op !== 33 ||
300
+ chunks[0].data?.length !== 33 ||
301
+ chunks[1].op !== 0xac ||
302
+ chunks[2].op !== pushOpcode(certificateBytes) ||
303
+ chunks[3].op !== pushOpcode(fieldSignature) ||
304
+ chunks[4].op !== 0x6d) {
305
+ return null;
306
+ }
307
+ const certificate = certificateRecord(certificateBytes);
308
+ const subject = ownData(certificate, 'subject');
309
+ if (typeof subject !== 'string')
310
+ return null;
311
+ const anyoneWallet = new sdk_1.ProtoWallet('anyone');
312
+ const { publicKey: expectedLockingKey } = await anyoneWallet.getPublicKey({
313
+ protocolID: IDENTITY_PROTOCOL,
314
+ keyID: IDENTITY_KEY_ID,
315
+ counterparty: subject
316
+ });
317
+ if (decodedOutput.lockingPublicKey.toString() !== expectedLockingKey)
318
+ return null;
319
+ const { valid } = await anyoneWallet.verifySignature({
320
+ data: certificateBytes,
321
+ signature: fieldSignature,
322
+ counterparty: subject,
323
+ protocolID: IDENTITY_PROTOCOL,
324
+ keyID: IDENTITY_KEY_ID
325
+ });
326
+ if (valid !== true)
327
+ return null;
328
+ const verifiableCert = new sdk_1.VerifiableCertificate(ownData(certificate, 'type'), ownData(certificate, 'serialNumber'), subject, ownData(certificate, 'certifier'), ownData(certificate, 'revocationOutpoint'), ownData(certificate, 'fields'), ownData(certificate, 'keyring'), ownData(certificate, 'signature'));
329
+ if ((await verifiableCert.verify()) !== true)
330
+ return null;
331
+ const decryptedFields = await verifiableCert.decryptFields(anyoneWallet);
332
+ if (Object.keys(decryptedFields).length === 0)
114
333
  return null;
115
- const decryptedFields = await verifiableCert.decryptFields(new sdk_1.ProtoWallet('anyone'));
116
334
  verifiableCert.decryptedFields = decryptedFields;
117
335
  return verifiableCert;
118
336
  }
119
- catch (error) {
120
- console.error(error);
337
+ catch {
338
+ // Untrusted parsing/decryption errors can contain identity data. Do not log it.
121
339
  return null;
122
340
  }
123
341
  };
342
+ /**
343
+ * Wallet/session-owned identity validation. Chain evidence is checked on every
344
+ * use; bounded certificate crypto results are independent of mutable trust ratings.
345
+ */
346
+ class IdentityEvidenceVerifier {
347
+ chainTracker;
348
+ chainNamespace;
349
+ disposed = false;
350
+ coordinator;
351
+ certificates = new Map();
352
+ expiryTimer;
353
+ constructor(chainTracker, chainNamespace = 'caller-chain-tracker', limits) {
354
+ this.chainTracker = chainTracker;
355
+ this.chainNamespace = chainNamespace;
356
+ this.coordinator = new sdk_1.TransactionEvidenceCoordinator({
357
+ chainTracker,
358
+ chainNamespace,
359
+ limits,
360
+ policyId: 'sdk-spv-overlay-graph-v1'
361
+ });
362
+ }
363
+ clone(json) {
364
+ const cert = JSON.parse(json);
365
+ const copy = new sdk_1.VerifiableCertificate(cert.type, cert.serialNumber, cert.subject, cert.certifier, cert.revocationOutpoint, cert.fields, cert.keyring, cert.signature);
366
+ copy.decryptedFields = cert.decryptedFields;
367
+ return copy;
368
+ }
369
+ async parse(output) {
370
+ try {
371
+ const evidence = { ...output, beef: output.beef.slice() };
372
+ const verified = await this.coordinator.verify(evidence);
373
+ if (this.disposed)
374
+ return null;
375
+ const cached = this.certificates.get(verified.outpoint);
376
+ if (cached !== undefined && cached.expiresAt > Date.now()) {
377
+ return { outpoint: verified.outpoint, certificate: this.clone(cached.json) };
378
+ }
379
+ const certificate = await decodeIdentityOutput(verified);
380
+ if (certificate === null)
381
+ return null;
382
+ // Certificate crypto can await; fence its completion against current chain/session state.
383
+ await this.coordinator.verify(evidence);
384
+ if (this.disposed)
385
+ return null;
386
+ // Store owned bytes and return a separate object; callers cannot mutate future results.
387
+ const json = JSON.stringify(certificate);
388
+ this.prune();
389
+ let bytes = [...this.certificates.values()].reduce((total, value) => total + value.json.length * 2, 0);
390
+ while (this.certificates.size > 0 &&
391
+ (this.certificates.size >= 128 || bytes + json.length * 2 > 2 * 1024 * 1024)) {
392
+ const oldest = this.certificates.keys().next().value;
393
+ bytes -= this.certificates.get(oldest).json.length * 2;
394
+ this.certificates.delete(oldest);
395
+ }
396
+ if (json.length * 2 <= 2 * 1024 * 1024) {
397
+ this.certificates.set(verified.outpoint, { json, expiresAt: Date.now() + 60_000 });
398
+ this.scheduleExpiry();
399
+ }
400
+ return { outpoint: verified.outpoint, certificate: this.clone(json) };
401
+ }
402
+ catch (error) {
403
+ if (error instanceof sdk_1.TransactionEvidenceError && (error.code === 'limit' || error.code === 'timeout'))
404
+ throw error;
405
+ return null;
406
+ }
407
+ }
408
+ prune() {
409
+ for (const [key, cached] of this.certificates)
410
+ if (cached.expiresAt <= Date.now())
411
+ this.certificates.delete(key);
412
+ }
413
+ scheduleExpiry() {
414
+ clearTimeout(this.expiryTimer);
415
+ const expiresAt = Math.min(...[...this.certificates.values()].map(value => value.expiresAt));
416
+ if (!Number.isFinite(expiresAt))
417
+ return;
418
+ this.expiryTimer = setTimeout(() => {
419
+ this.prune();
420
+ this.scheduleExpiry();
421
+ }, Math.max(1, expiresAt - Date.now()));
422
+ this.expiryTimer.unref?.();
423
+ }
424
+ dispose() {
425
+ this.disposed = true;
426
+ this.coordinator.dispose();
427
+ this.certificates.clear();
428
+ clearTimeout(this.expiryTimer);
429
+ }
430
+ }
431
+ exports.IdentityEvidenceVerifier = IdentityEvidenceVerifier;
124
432
  /**
125
433
  * Parse the returned UTXOs, decrypting and verifying each certificate.
434
+ * An omitted ChainTracker fails closed. Each call revalidates transaction evidence;
435
+ * returned certificates carry no reusable chain-verdict or unspentness guarantee.
126
436
  *
127
437
  * On UI runtimes (browser / React Native), yields between iterations so the JS thread does not
128
438
  * own the frame for the full duration. On Node, runs straight through.
129
439
  */
130
- const parseResults = async (lookupResult) => {
131
- if (lookupResult.type !== 'output-list')
132
- return [];
133
- const parsedResults = [];
134
- const shouldYield = isUiRuntime();
135
- for (const output of lookupResult.outputs) {
136
- if (shouldYield)
137
- await yieldToUi();
138
- const cert = await parseOne(output);
139
- if (cert != null)
140
- parsedResults.push(cert);
141
- }
142
- return parsedResults;
440
+ const parseResults = async (lookupResult, chainTracker, verifier) => {
441
+ const certificates = [];
442
+ for await (const certificate of parseResults$(lookupResult, chainTracker, verifier))
443
+ certificates.push(certificate);
444
+ return certificates;
143
445
  };
144
446
  exports.parseResults = parseResults;
145
447
  /**
146
448
  * Iterable variant of {@link parseResults}: emits each successfully parsed certificate as soon as
147
449
  * it's ready, so callers can render progressively instead of waiting for the full set.
148
450
  */
149
- async function* parseResults$(lookupResult) {
150
- if (lookupResult.type !== 'output-list')
451
+ async function* parseResults$(lookupResult, chainTracker, verifier) {
452
+ if (lookupResult.type !== 'output-list' || chainTracker == null)
453
+ return;
454
+ if (verifier !== undefined && verifier.chainTracker !== chainTracker)
151
455
  return;
456
+ const owned = verifier === undefined;
457
+ verifier ??= new IdentityEvidenceVerifier(chainTracker);
152
458
  const shouldYield = isUiRuntime();
153
- for (const output of lookupResult.outputs) {
154
- if (shouldYield)
155
- await yieldToUi();
156
- const cert = await parseOne(output);
157
- if (cert != null)
158
- yield cert;
459
+ const seen = new Set();
460
+ try {
461
+ for (const output of lookupResult.outputs) {
462
+ if (shouldYield)
463
+ await yieldToUi();
464
+ const result = await verifier.parse(output);
465
+ if (result !== null && !seen.has(result.outpoint)) {
466
+ seen.add(result.outpoint);
467
+ yield result.certificate;
468
+ }
469
+ }
470
+ }
471
+ finally {
472
+ if (owned)
473
+ verifier.dispose();
159
474
  }
160
475
  }
161
476
  //# sourceMappingURL=identityUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identityUtils.js","sourceRoot":"","sources":["../../../src/utility/identityUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identityUtils.js","sourceRoot":"","sources":["../../../src/utility/identityUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseTxScriptOffsets.d.ts","sourceRoot":"","sources":["../../../src/utility/parseTxScriptOffsets.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9D,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjE;AAED,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,eAAe,CAqBnF"}
1
+ {"version":3,"file":"parseTxScriptOffsets.d.ts","sourceRoot":"","sources":["../../../src/utility/parseTxScriptOffsets.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9D,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjE;AAED,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,eAAe,CAEnF"}