@bsv/wallet-toolbox-mobile 2.1.27 → 2.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/README.md +83 -0
  2. package/out/src/CWIStyleWalletManager.js +107 -41
  3. package/out/src/CWIStyleWalletManager.js.map +1 -1
  4. package/out/src/SimpleWalletManager.js +29 -0
  5. package/out/src/SimpleWalletManager.js.map +1 -1
  6. package/out/src/Wallet.js +84 -66
  7. package/out/src/Wallet.js.map +1 -1
  8. package/out/src/WalletAuthenticationManager.js +6 -3
  9. package/out/src/WalletAuthenticationManager.js.map +1 -1
  10. package/out/src/WalletLogger.js +6 -4
  11. package/out/src/WalletLogger.js.map +1 -1
  12. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  13. package/out/src/WalletPermissionsManager.js +158 -167
  14. package/out/src/WalletPermissionsManager.js.map +1 -1
  15. package/out/src/WalletSettingsManager.js +3 -0
  16. package/out/src/WalletSettingsManager.js.map +1 -1
  17. package/out/src/mockchain/MockChainMigrations.js +1 -1
  18. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  19. package/out/src/mockchain/MockChainStorage.js +1 -0
  20. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  21. package/out/src/mockchain/MockChainTracker.js +2 -0
  22. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  23. package/out/src/mockchain/MockMiner.js +2 -2
  24. package/out/src/mockchain/MockMiner.js.map +1 -1
  25. package/out/src/mockchain/MockServices.js +21 -25
  26. package/out/src/mockchain/MockServices.js.map +1 -1
  27. package/out/src/monitor/Monitor.d.ts.map +1 -1
  28. package/out/src/monitor/Monitor.js +57 -33
  29. package/out/src/monitor/Monitor.js.map +1 -1
  30. package/out/src/monitor/tasks/TaskArcSSE.js +10 -13
  31. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  32. package/out/src/monitor/tasks/TaskCheckForProofs.js +10 -11
  33. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  34. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +59 -1
  35. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  36. package/out/src/monitor/tasks/TaskCheckNoSends.js +101 -12
  37. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  38. package/out/src/monitor/tasks/TaskClock.js +3 -1
  39. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  40. package/out/src/monitor/tasks/TaskFailAbandoned.js +2 -1
  41. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  42. package/out/src/monitor/tasks/TaskMineBlock.js +3 -2
  43. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  44. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
  45. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  46. package/out/src/monitor/tasks/TaskNewHeader.js +12 -1
  47. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  48. package/out/src/monitor/tasks/TaskPurge.js +7 -5
  49. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  50. package/out/src/monitor/tasks/TaskReorg.js +4 -2
  51. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  52. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +12 -9
  53. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  54. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +8 -3
  55. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  56. package/out/src/monitor/tasks/TaskReviewStatus.js +7 -5
  57. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  58. package/out/src/monitor/tasks/TaskReviewUtxos.js +6 -2
  59. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  60. package/out/src/monitor/tasks/TaskSendWaiting.js +9 -2
  61. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  62. package/out/src/monitor/tasks/TaskUnFail.js +6 -5
  63. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  64. package/out/src/monitor/tasks/WalletMonitorTask.js +7 -4
  65. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  66. package/out/src/sdk/PrivilegedKeyManager.js +44 -27
  67. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  68. package/out/src/sdk/WERR_errors.js +23 -8
  69. package/out/src/sdk/WERR_errors.js.map +1 -1
  70. package/out/src/sdk/WalletError.js +7 -7
  71. package/out/src/sdk/WalletError.js.map +1 -1
  72. package/out/src/services/ServiceCollection.js +9 -2
  73. package/out/src/services/ServiceCollection.js.map +1 -1
  74. package/out/src/services/Services.js +58 -54
  75. package/out/src/services/Services.js.map +1 -1
  76. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -2
  77. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  78. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +27 -21
  79. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  80. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +4 -1
  81. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  82. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +8 -1
  83. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  84. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +7 -0
  85. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  86. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +5 -3
  87. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  88. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
  89. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  90. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +3 -1
  91. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  92. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +1 -2
  93. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  94. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -5
  95. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  96. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +3 -1
  97. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  98. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +12 -6
  99. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  100. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +8 -7
  101. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  102. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +15 -16
  103. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  104. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +1 -1
  105. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  106. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -1
  107. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  108. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -16
  109. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  110. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +4 -0
  111. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  112. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +17 -4
  113. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  114. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +21 -0
  115. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  116. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +1 -3
  117. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  118. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +7 -5
  119. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  120. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +4 -6
  121. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  122. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +1 -1
  123. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  124. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +8 -8
  125. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  126. package/out/src/services/createDefaultWalletServicesOptions.js +8 -8
  127. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  128. package/out/src/services/providers/ARC.js +13 -5
  129. package/out/src/services/providers/ARC.js.map +1 -1
  130. package/out/src/services/providers/ArcSSEClient.js +9 -8
  131. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  132. package/out/src/services/providers/Bitails.js +6 -2
  133. package/out/src/services/providers/Bitails.js.map +1 -1
  134. package/out/src/services/providers/SdkWhatsOnChain.js +6 -2
  135. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  136. package/out/src/services/providers/WhatsOnChain.js +2 -1
  137. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  138. package/out/src/services/providers/getBeefForTxid.js +2 -1
  139. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  140. package/out/src/signer/WalletSigner.js +4 -1
  141. package/out/src/signer/WalletSigner.js.map +1 -1
  142. package/out/src/signer/methods/acquireDirectCertificate.js +1 -2
  143. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  144. package/out/src/signer/methods/buildSignableTransaction.js +1 -2
  145. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  146. package/out/src/signer/methods/completeSignedTransaction.js +4 -5
  147. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  148. package/out/src/signer/methods/createAction.js +9 -11
  149. package/out/src/signer/methods/createAction.js.map +1 -1
  150. package/out/src/signer/methods/internalizeAction.d.ts +8 -1
  151. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  152. package/out/src/signer/methods/internalizeAction.js +8 -1
  153. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  154. package/out/src/signer/methods/signAction.js +5 -6
  155. package/out/src/signer/methods/signAction.js.map +1 -1
  156. package/out/src/storage/StorageProvider.d.ts +4 -1
  157. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  158. package/out/src/storage/StorageProvider.js +122 -32
  159. package/out/src/storage/StorageProvider.js.map +1 -1
  160. package/out/src/storage/StorageReader.js +4 -2
  161. package/out/src/storage/StorageReader.js.map +1 -1
  162. package/out/src/storage/StorageSyncReader.js +2 -0
  163. package/out/src/storage/StorageSyncReader.js.map +1 -1
  164. package/out/src/storage/WalletStorageManager.js +47 -25
  165. package/out/src/storage/WalletStorageManager.js.map +1 -1
  166. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  167. package/out/src/storage/methods/ListActionsSpecOp.js +69 -6
  168. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  169. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  170. package/out/src/storage/methods/ListOutputsSpecOp.js +5 -2
  171. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  172. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +10 -12
  173. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  174. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  175. package/out/src/storage/methods/createAction.js +111 -69
  176. package/out/src/storage/methods/createAction.js.map +1 -1
  177. package/out/src/storage/methods/generateChange.js +2 -3
  178. package/out/src/storage/methods/generateChange.js.map +1 -1
  179. package/out/src/storage/methods/getBeefForTransaction.js +2 -4
  180. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  181. package/out/src/storage/methods/internalizeAction.d.ts +69 -2
  182. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  183. package/out/src/storage/methods/internalizeAction.js +232 -27
  184. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  185. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  186. package/out/src/storage/methods/processAction.js +12 -11
  187. package/out/src/storage/methods/processAction.js.map +1 -1
  188. package/out/src/storage/portable/index.d.ts.map +1 -1
  189. package/out/src/storage/portable/index.js +171 -129
  190. package/out/src/storage/portable/index.js.map +1 -1
  191. package/out/src/storage/remoting/StorageClient.js +2 -3
  192. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  193. package/out/src/storage/remoting/StorageClientBase.js +6 -3
  194. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  195. package/out/src/storage/schema/entities/EntityBase.js +1 -0
  196. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  197. package/out/src/storage/schema/entities/EntityOutputBasket.js +1 -1
  198. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  199. package/out/src/storage/schema/entities/EntityProvenTx.js +12 -13
  200. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  201. package/out/src/storage/schema/entities/EntityProvenTxReq.js +7 -9
  202. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  203. package/out/src/storage/schema/entities/EntitySyncState.js +6 -3
  204. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  205. package/out/src/storage/schema/entities/MergeEntity.js +4 -0
  206. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  207. package/out/src/storage/storageProviderHelpers.js +2 -3
  208. package/out/src/storage/storageProviderHelpers.js.map +1 -1
  209. package/out/src/utility/ScriptTemplateBRC29.js +7 -6
  210. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  211. package/out/src/utility/brc114ActionTimeLabels.js +1 -1
  212. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  213. package/out/src/utility/identityUtils.js +2 -4
  214. package/out/src/utility/identityUtils.js.map +1 -1
  215. package/out/src/utility/utilityHelpers.js +2 -2
  216. package/out/src/utility/utilityHelpers.js.map +1 -1
  217. package/out/src/utility/utilityHelpers.noBuffer.js +4 -4
  218. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  219. package/out/src/wab-client/WABClient.js +1 -0
  220. package/out/src/wab-client/WABClient.js.map +1 -1
  221. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +1 -4
  222. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
  223. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +1 -4
  224. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
  225. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +1 -4
  226. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
  227. package/out/tsconfig.mobile.tsbuildinfo +1 -1
  228. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"processAction.js","sourceRoot":"","sources":["../../../../../src/storage/methods/processAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processAction.js","sourceRoot":"","sources":["../../../../../src/storage/methods/processAction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/storage/portable/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/storage/portable/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAC9C,KAAK,SAAS,GAAG,aAAa,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAC3E,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAE5C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,aAAa,EAAE,WAAW,EAAE,CAAA;IAC5B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,WAAW,EAAE,WAAW,EAAE,CAAA;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,aAAa,EAAE,WAAW,EAAE,CAAA;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,WAAW,EAAE,WAAW,EAAE,CAAA;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,UAAU,EAAE,WAAW,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,EAAE,CAAA;IACP,KAAK,EAAE,yBAAyB,CAAA;IAChC,aAAa,EAAE,CAAC,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,WAAW,CAAA;IAC1B,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA6FD,wBAAsB,WAAW,CAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAgE1G;AAED,wBAAsB,eAAe,CAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErG;AAED,wBAAgB,cAAc,CAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAQ7D;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,eAAe,GAAG,MAAM,EACxC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnB;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,eAAe,GAAG,MAAM,EACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB;AAwCD,wBAAsB,YAAY,CAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAa5G"}
@@ -180,14 +180,13 @@ async function importBRC39(storage, bytes, password, options) {
180
180
  return await importBRC38(storage, await decryptBRC39(bytes, password), options);
181
181
  }
182
182
  async function encryptBRC39(documentOrJson, password, options) {
183
- var _a, _b, _c;
184
183
  const data = typeof documentOrJson === 'string' ? parseBRC38Json(documentOrJson) : validateBRC38(documentOrJson);
185
184
  const plaintext = new Uint8Array(sdk_1.Utils.toArray(canonicalize(data), 'utf8'));
186
185
  const salt = new Uint8Array((0, sdk_1.Random)(BRC39_SALT_LENGTH));
187
186
  const nonce = new Uint8Array((0, sdk_1.Random)(BRC39_NONCE_LENGTH));
188
- const iterations = (_a = options === null || options === void 0 ? void 0 : options.iterations) !== null && _a !== void 0 ? _a : BRC39_DEFAULT_ITERATIONS;
189
- const memoryKiB = (_b = options === null || options === void 0 ? void 0 : options.memoryKiB) !== null && _b !== void 0 ? _b : BRC39_DEFAULT_MEMORY_KIB;
190
- const parallelism = (_c = options === null || options === void 0 ? void 0 : options.parallelism) !== null && _c !== void 0 ? _c : BRC39_DEFAULT_PARALLELISM;
187
+ const iterations = options?.iterations ?? BRC39_DEFAULT_ITERATIONS;
188
+ const memoryKiB = options?.memoryKiB ?? BRC39_DEFAULT_MEMORY_KIB;
189
+ const parallelism = options?.parallelism ?? BRC39_DEFAULT_PARALLELISM;
191
190
  validateKdfParams(iterations, memoryKiB, parallelism, BRC39_HASH_LENGTH);
192
191
  validateExportKdfParams(iterations, memoryKiB);
193
192
  const key = await deriveBRC39Key(password, salt, iterations, memoryKiB, parallelism);
@@ -209,14 +208,32 @@ async function encryptBRC39(documentOrJson, password, options) {
209
208
  header.set(nonce, BRC39_HEADER_LENGTH + salt.length);
210
209
  return Array.from(concatBytes(header, result, authenticationTag));
211
210
  }
212
- async function decryptBRC39(bytes, password) {
213
- const file = new Uint8Array(bytes);
211
+ function parseBRC39Header(file) {
214
212
  if (file.length < BRC39_HEADER_LENGTH + BRC39_TAG_LENGTH + 2)
215
213
  throw new Error('Invalid BRC-39 file: too short');
216
214
  for (let i = 0; i < BRC39_MAGIC.length; i++) {
217
215
  if (file[i] !== BRC39_MAGIC[i])
218
216
  throw new Error('Invalid BRC-39 file: bad magic');
219
217
  }
218
+ assertHeaderConstants(file);
219
+ for (let i = 21; i < BRC39_HEADER_LENGTH; i++) {
220
+ if (file[i] !== 0)
221
+ throw new Error('Invalid BRC-39 reserved bytes');
222
+ }
223
+ const saltLength = file[9];
224
+ const nonceLength = file[10];
225
+ if (saltLength === 0)
226
+ throw new Error('Invalid BRC-39 salt length');
227
+ if (nonceLength === 0)
228
+ throw new Error('Invalid BRC-39 nonce length');
229
+ const iterations = readUInt32BE(file, 11);
230
+ const memoryKiB = readUInt32BE(file, 15);
231
+ const parallelism = file[19];
232
+ const hashLength = file[20];
233
+ validateKdfParams(iterations, memoryKiB, parallelism, hashLength);
234
+ return { saltLength, nonceLength, iterations, memoryKiB, parallelism, hashLength };
235
+ }
236
+ function assertHeaderConstants(file) {
220
237
  if (file[4] !== 1)
221
238
  throw new Error('Unsupported BRC-39 format version');
222
239
  if (file[5] !== 1)
@@ -227,29 +244,18 @@ async function decryptBRC39(bytes, password) {
227
244
  throw new Error('Unsupported BRC-39 KDF type');
228
245
  if (file[8] !== 0)
229
246
  throw new Error('Invalid BRC-39 flags');
230
- const saltLength = file[9];
231
- const nonceLength = file[10];
232
- const iterations = readUInt32BE(file, 11);
233
- const memoryKiB = readUInt32BE(file, 15);
234
- const parallelism = file[19];
235
- const hashLength = file[20];
236
- for (let i = 21; i < BRC39_HEADER_LENGTH; i++) {
237
- if (file[i] !== 0)
238
- throw new Error('Invalid BRC-39 reserved bytes');
239
- }
240
- if (saltLength === 0)
241
- throw new Error('Invalid BRC-39 salt length');
242
- if (nonceLength === 0)
243
- throw new Error('Invalid BRC-39 nonce length');
244
- validateKdfParams(iterations, memoryKiB, parallelism, hashLength);
245
- const payloadStart = BRC39_HEADER_LENGTH + saltLength + nonceLength;
247
+ }
248
+ async function decryptBRC39(bytes, password) {
249
+ const file = new Uint8Array(bytes);
250
+ const header = parseBRC39Header(file);
251
+ const payloadStart = BRC39_HEADER_LENGTH + header.saltLength + header.nonceLength;
246
252
  if (file.length <= payloadStart + BRC39_TAG_LENGTH)
247
253
  throw new Error('Invalid BRC-39 ciphertext');
248
- const salt = file.slice(BRC39_HEADER_LENGTH, BRC39_HEADER_LENGTH + saltLength);
249
- const nonce = file.slice(BRC39_HEADER_LENGTH + saltLength, payloadStart);
254
+ const salt = file.slice(BRC39_HEADER_LENGTH, BRC39_HEADER_LENGTH + header.saltLength);
255
+ const nonce = file.slice(BRC39_HEADER_LENGTH + header.saltLength, payloadStart);
250
256
  const ciphertext = file.slice(payloadStart, file.length - BRC39_TAG_LENGTH);
251
257
  const tag = file.slice(file.length - BRC39_TAG_LENGTH);
252
- const key = await deriveBRC39Key(password, salt, iterations, memoryKiB, parallelism);
258
+ const key = await deriveBRC39Key(password, salt, header.iterations, header.memoryKiB, header.parallelism);
253
259
  const plaintext = (0, AESGCM_1.AESGCMDecrypt)(ciphertext, nonce, tag, key);
254
260
  if (plaintext == null)
255
261
  throw new Error('BRC-39 authentication failed');
@@ -469,33 +475,40 @@ function normalizeSyncMap(source) {
469
475
  return normalized;
470
476
  for (const key of Object.keys(normalized)) {
471
477
  const incoming = source[key];
472
- if (!isObject(incoming))
473
- continue;
474
- const target = normalized[key];
475
- if (typeof incoming.entityName === 'string')
476
- target.entityName = incoming.entityName;
477
- if (Number.isInteger(incoming.count))
478
- target.count = incoming.count;
479
- if (isObject(incoming.idMap)) {
480
- target.idMap = {};
481
- for (const [remoteId, localId] of Object.entries(incoming.idMap)) {
482
- const parsedRemoteId = Number(remoteId);
483
- if (Number.isInteger(parsedRemoteId) && Number.isInteger(localId)) {
484
- target.idMap[parsedRemoteId] = localId;
485
- }
486
- }
487
- }
488
- if (typeof incoming.maxUpdated_at === 'string') {
489
- const maxUpdatedAt = new Date(incoming.maxUpdated_at);
490
- if (!Number.isNaN(maxUpdatedAt.getTime()))
491
- target.maxUpdated_at = maxUpdatedAt;
492
- }
493
- else if (incoming.maxUpdated_at instanceof Date) {
494
- target.maxUpdated_at = incoming.maxUpdated_at;
495
- }
478
+ if (isObject(incoming))
479
+ mergeSyncMapEntry(normalized[key], incoming);
496
480
  }
497
481
  return normalized;
498
482
  }
483
+ function mergeSyncMapEntry(target, incoming) {
484
+ if (typeof incoming.entityName === 'string')
485
+ target.entityName = incoming.entityName;
486
+ if (Number.isInteger(incoming.count))
487
+ target.count = incoming.count;
488
+ if (isObject(incoming.idMap))
489
+ target.idMap = parseIdMap(incoming.idMap);
490
+ applyMaxUpdatedAt(target, incoming.maxUpdated_at);
491
+ }
492
+ function parseIdMap(incoming) {
493
+ const idMap = {};
494
+ for (const [remoteId, localId] of Object.entries(incoming)) {
495
+ const parsedRemoteId = Number(remoteId);
496
+ if (Number.isInteger(parsedRemoteId) && Number.isInteger(localId)) {
497
+ idMap[parsedRemoteId] = localId;
498
+ }
499
+ }
500
+ return idMap;
501
+ }
502
+ function applyMaxUpdatedAt(target, value) {
503
+ if (typeof value === 'string') {
504
+ const maxUpdatedAt = new Date(value);
505
+ if (!Number.isNaN(maxUpdatedAt.getTime()))
506
+ target.maxUpdated_at = maxUpdatedAt;
507
+ }
508
+ else if (value instanceof Date) {
509
+ target.maxUpdated_at = value;
510
+ }
511
+ }
499
512
  function remapEntityIdMap(idMap, importIdMap) {
500
513
  for (const key of Object.keys(idMap)) {
501
514
  const targetId = importIdMap[idMap[Number(key)]];
@@ -530,108 +543,125 @@ function countDecodedRows(data) {
530
543
  data.txLabels.length + data.txLabelMaps.length + data.certificates.length + data.certificateFields.length +
531
544
  data.syncStates.length;
532
545
  }
533
- function validateRelationships(data) {
534
- const userId = requireNumber(data.user.userId, 'user.userId');
535
- const txIds = ids(data.tables.transactions, 'transactionId', 'transactions');
536
- const txidValues = new Set(data.tables.transactions.map(t => t.txid).filter((v) => typeof v === 'string'));
537
- const provenTxIds = ids(data.tables.provenTxs, 'provenTxId', 'provenTxs');
538
- const basketIds = ids(data.tables.outputBaskets, 'basketId', 'outputBaskets');
539
- const outputIds = ids(data.tables.outputs, 'outputId', 'outputs');
540
- const outputTagIds = ids(data.tables.outputTags, 'outputTagId', 'outputTags');
541
- const txLabelIds = ids(data.tables.txLabels, 'txLabelId', 'txLabels');
542
- const certificateIds = ids(data.tables.certificates, 'certificateId', 'certificates');
546
+ function buildRelationshipIndex(data) {
547
+ return {
548
+ userId: requireNumber(data.user.userId, 'user.userId'),
549
+ txIds: ids(data.tables.transactions, 'transactionId', 'transactions'),
550
+ txidValues: new Set(data.tables.transactions.map(t => t.txid).filter((v) => typeof v === 'string')),
551
+ provenTxIds: ids(data.tables.provenTxs, 'provenTxId', 'provenTxs'),
552
+ basketIds: ids(data.tables.outputBaskets, 'basketId', 'outputBaskets'),
553
+ outputIds: ids(data.tables.outputs, 'outputId', 'outputs'),
554
+ outputTagIds: ids(data.tables.outputTags, 'outputTagId', 'outputTags'),
555
+ txLabelIds: ids(data.tables.txLabels, 'txLabelId', 'txLabels'),
556
+ certificateIds: ids(data.tables.certificates, 'certificateId', 'certificates')
557
+ };
558
+ }
559
+ function requireRef(set, value, path, message) {
560
+ if (!set.has(requireNumber(value, path)))
561
+ throw new Error(message);
562
+ }
563
+ function validateTransactions(data, idx) {
543
564
  for (const row of data.tables.transactions) {
544
- requireUserId(row, userId, 'transactions');
545
- if (row.provenTxId != null && !provenTxIds.has(requireNumber(row.provenTxId, 'transaction.provenTxId'))) {
546
- throw new Error('BRC-38 transaction.provenTxId does not reference an exported provenTx');
565
+ requireUserId(row, idx.userId, 'transactions');
566
+ if (row.provenTxId != null) {
567
+ requireRef(idx.provenTxIds, row.provenTxId, 'transaction.provenTxId', 'BRC-38 transaction.provenTxId does not reference an exported provenTx');
547
568
  }
548
569
  }
549
- for (const row of data.tables.outputBaskets)
550
- requireUserId(row, userId, 'outputBaskets');
551
- for (const row of data.tables.outputTags)
552
- requireUserId(row, userId, 'outputTags');
553
- for (const row of data.tables.txLabels)
554
- requireUserId(row, userId, 'txLabels');
555
- for (const row of data.tables.certificates)
556
- requireUserId(row, userId, 'certificates');
557
- for (const row of data.tables.syncStates)
558
- requireUserId(row, userId, 'syncStates');
570
+ }
571
+ function validateOutputs(data, idx) {
559
572
  for (const row of data.tables.outputs) {
560
- requireUserId(row, userId, 'outputs');
561
- if (!txIds.has(requireNumber(row.transactionId, 'output.transactionId'))) {
562
- throw new Error('BRC-38 output.transactionId does not reference an exported transaction');
563
- }
564
- if (row.basketId != null && !basketIds.has(requireNumber(row.basketId, 'output.basketId'))) {
565
- throw new Error('BRC-38 output.basketId does not reference an exported output basket');
573
+ requireUserId(row, idx.userId, 'outputs');
574
+ requireRef(idx.txIds, row.transactionId, 'output.transactionId', 'BRC-38 output.transactionId does not reference an exported transaction');
575
+ if (row.basketId != null) {
576
+ requireRef(idx.basketIds, row.basketId, 'output.basketId', 'BRC-38 output.basketId does not reference an exported output basket');
566
577
  }
567
- if (row.spentBy != null && !txIds.has(requireNumber(row.spentBy, 'output.spentBy'))) {
568
- throw new Error('BRC-38 output.spentBy does not reference an exported transaction');
578
+ if (row.spentBy != null) {
579
+ requireRef(idx.txIds, row.spentBy, 'output.spentBy', 'BRC-38 output.spentBy does not reference an exported transaction');
569
580
  }
570
581
  }
582
+ }
583
+ function validateCommissions(data, idx) {
571
584
  for (const row of data.tables.commissions) {
572
- requireUserId(row, userId, 'commissions');
573
- if (!txIds.has(requireNumber(row.transactionId, 'commission.transactionId'))) {
574
- throw new Error('BRC-38 commission.transactionId does not reference an exported transaction');
575
- }
585
+ requireUserId(row, idx.userId, 'commissions');
586
+ requireRef(idx.txIds, row.transactionId, 'commission.transactionId', 'BRC-38 commission.transactionId does not reference an exported transaction');
576
587
  }
588
+ }
589
+ function validateTxLabelMaps(data, idx) {
577
590
  for (const row of data.tables.txLabelMaps) {
578
- if (!txIds.has(requireNumber(row.transactionId, 'txLabelMap.transactionId'))) {
579
- throw new Error('BRC-38 txLabelMap.transactionId does not reference an exported transaction');
580
- }
581
- if (!txLabelIds.has(requireNumber(row.txLabelId, 'txLabelMap.txLabelId'))) {
582
- throw new Error('BRC-38 txLabelMap.txLabelId does not reference an exported transaction label');
583
- }
591
+ requireRef(idx.txIds, row.transactionId, 'txLabelMap.transactionId', 'BRC-38 txLabelMap.transactionId does not reference an exported transaction');
592
+ requireRef(idx.txLabelIds, row.txLabelId, 'txLabelMap.txLabelId', 'BRC-38 txLabelMap.txLabelId does not reference an exported transaction label');
584
593
  }
594
+ }
595
+ function validateOutputTagMaps(data, idx) {
585
596
  for (const row of data.tables.outputTagMaps) {
586
- if (!outputIds.has(requireNumber(row.outputId, 'outputTagMap.outputId'))) {
587
- throw new Error('BRC-38 outputTagMap.outputId does not reference an exported output');
588
- }
589
- if (!outputTagIds.has(requireNumber(row.outputTagId, 'outputTagMap.outputTagId'))) {
590
- throw new Error('BRC-38 outputTagMap.outputTagId does not reference an exported output tag');
591
- }
597
+ requireRef(idx.outputIds, row.outputId, 'outputTagMap.outputId', 'BRC-38 outputTagMap.outputId does not reference an exported output');
598
+ requireRef(idx.outputTagIds, row.outputTagId, 'outputTagMap.outputTagId', 'BRC-38 outputTagMap.outputTagId does not reference an exported output tag');
592
599
  }
600
+ }
601
+ function validateCertificateFields(data, idx) {
593
602
  for (const row of data.tables.certificateFields) {
594
- requireUserId(row, userId, 'certificateFields');
595
- if (!certificateIds.has(requireNumber(row.certificateId, 'certificateField.certificateId'))) {
596
- throw new Error('BRC-38 certificateField.certificateId does not reference an exported certificate');
597
- }
603
+ requireUserId(row, idx.userId, 'certificateFields');
604
+ requireRef(idx.certificateIds, row.certificateId, 'certificateField.certificateId', 'BRC-38 certificateField.certificateId does not reference an exported certificate');
598
605
  }
606
+ }
607
+ function validateProvenTxReqs(data, idx) {
599
608
  for (const row of data.tables.provenTxReqs) {
600
- if (!txidValues.has(requireString(row.txid, 'provenTxReq.txid'))) {
609
+ if (!idx.txidValues.has(requireString(row.txid, 'provenTxReq.txid'))) {
601
610
  throw new Error('BRC-38 provenTxReq.txid does not match an exported transaction');
602
611
  }
603
- if (row.provenTxId != null && !provenTxIds.has(requireNumber(row.provenTxId, 'provenTxReq.provenTxId'))) {
604
- throw new Error('BRC-38 provenTxReq.provenTxId does not reference an exported provenTx');
612
+ if (row.provenTxId != null) {
613
+ requireRef(idx.provenTxIds, row.provenTxId, 'provenTxReq.provenTxId', 'BRC-38 provenTxReq.provenTxId does not reference an exported provenTx');
605
614
  }
606
615
  }
607
616
  }
617
+ function validateRelationships(data) {
618
+ const idx = buildRelationshipIndex(data);
619
+ validateTransactions(data, idx);
620
+ for (const row of data.tables.outputBaskets)
621
+ requireUserId(row, idx.userId, 'outputBaskets');
622
+ for (const row of data.tables.outputTags)
623
+ requireUserId(row, idx.userId, 'outputTags');
624
+ for (const row of data.tables.txLabels)
625
+ requireUserId(row, idx.userId, 'txLabels');
626
+ for (const row of data.tables.certificates)
627
+ requireUserId(row, idx.userId, 'certificates');
628
+ for (const row of data.tables.syncStates)
629
+ requireUserId(row, idx.userId, 'syncStates');
630
+ validateOutputs(data, idx);
631
+ validateCommissions(data, idx);
632
+ validateTxLabelMaps(data, idx);
633
+ validateOutputTagMaps(data, idx);
634
+ validateCertificateFields(data, idx);
635
+ validateProvenTxReqs(data, idx);
636
+ }
608
637
  function validatePortableRows(kind, rows, path) {
609
- var _a, _b, _c;
610
- const dateFields = new Set((_a = dateFieldsByKind[kind]) !== null && _a !== void 0 ? _a : []);
611
- const binaryFields = new Set((_b = binaryFieldsByKind[kind]) !== null && _b !== void 0 ? _b : []);
612
- const jsonFields = new Set((_c = jsonFieldsByKind[kind]) !== null && _c !== void 0 ? _c : []);
638
+ const dateFields = new Set(dateFieldsByKind[kind] ?? []);
639
+ const binaryFields = new Set(binaryFieldsByKind[kind] ?? []);
640
+ const jsonFields = new Set(jsonFieldsByKind[kind] ?? []);
613
641
  for (const [index, row] of rows.entries()) {
614
- if (!isObject(row))
615
- throw new Error(`BRC-38 ${path}[${index}] must be an object`);
616
- for (const field of dateFields) {
617
- if (field in row)
618
- assertIsoDate(row[field], `${path}[${index}].${field}`);
619
- }
620
- for (const field of binaryFields) {
621
- if (field in row)
622
- assertBase64(row[field], `${path}[${index}].${field}`);
623
- }
624
- for (const field of jsonFields) {
625
- if (field in row && !isObject(row[field]))
626
- throw new Error(`BRC-38 ${path}[${index}].${field} must be an object`);
627
- }
642
+ validatePortableRow(row, `${path}[${index}]`, dateFields, binaryFields, jsonFields);
643
+ }
644
+ }
645
+ function validatePortableRow(row, rowPath, dateFields, binaryFields, jsonFields) {
646
+ if (!isObject(row))
647
+ throw new Error(`BRC-38 ${rowPath} must be an object`);
648
+ for (const field of dateFields) {
649
+ if (field in row)
650
+ assertIsoDate(row[field], `${rowPath}.${field}`);
651
+ }
652
+ for (const field of binaryFields) {
653
+ if (field in row)
654
+ assertBase64(row[field], `${rowPath}.${field}`);
655
+ }
656
+ for (const field of jsonFields) {
657
+ if (field in row && !isObject(row[field]))
658
+ throw new Error(`BRC-38 ${rowPath}.${field} must be an object`);
628
659
  }
629
660
  }
630
661
  function portableRow(kind, row) {
631
- var _a, _b;
632
662
  const out = {};
633
- const binaryFields = new Set((_a = binaryFieldsByKind[kind]) !== null && _a !== void 0 ? _a : []);
634
- const jsonFields = new Set((_b = jsonFieldsByKind[kind]) !== null && _b !== void 0 ? _b : []);
663
+ const binaryFields = new Set(binaryFieldsByKind[kind] ?? []);
664
+ const jsonFields = new Set(jsonFieldsByKind[kind] ?? []);
635
665
  for (const [key, value] of Object.entries(row)) {
636
666
  if (value == null)
637
667
  continue;
@@ -653,11 +683,10 @@ function portableRow(kind, row) {
653
683
  return out;
654
684
  }
655
685
  function fromPortableRow(kind, row) {
656
- var _a, _b, _c;
657
686
  const out = {};
658
- const dateFields = new Set((_a = dateFieldsByKind[kind]) !== null && _a !== void 0 ? _a : []);
659
- const binaryFields = new Set((_b = binaryFieldsByKind[kind]) !== null && _b !== void 0 ? _b : []);
660
- const jsonFields = new Set((_c = jsonFieldsByKind[kind]) !== null && _c !== void 0 ? _c : []);
687
+ const dateFields = new Set(dateFieldsByKind[kind] ?? []);
688
+ const binaryFields = new Set(binaryFieldsByKind[kind] ?? []);
689
+ const jsonFields = new Set(jsonFieldsByKind[kind] ?? []);
661
690
  for (const [key, value] of Object.entries(row)) {
662
691
  if (dateFields.has(key))
663
692
  out[key] = new Date(value);
@@ -762,10 +791,23 @@ function canonicalize(value) {
762
791
  if (Array.isArray(value))
763
792
  return `[${value.map(canonicalize).join(',')}]`;
764
793
  if (isObject(value)) {
765
- return `{${Object.keys(value).sort().map(key => `${JSON.stringify(key)}:${canonicalize(value[key])}`).join(',')}}`;
794
+ const entries = Object.keys(value)
795
+ .sort(compareCodepoints)
796
+ .map(key => canonicalizeEntry(key, value[key]));
797
+ return `{${entries.join(',')}}`;
766
798
  }
767
799
  throw new Error(`Unsupported JSON value type: ${typeof value}`);
768
800
  }
801
+ function canonicalizeEntry(key, value) {
802
+ return `${JSON.stringify(key)}:${canonicalize(value)}`;
803
+ }
804
+ function compareCodepoints(a, b) {
805
+ if (a < b)
806
+ return -1;
807
+ if (a > b)
808
+ return 1;
809
+ return 0;
810
+ }
769
811
  function isoDate(date) {
770
812
  return date.toISOString();
771
813
  }