@bopen-io/wallet-toolbox 2.15.0-bopen.1 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/CHANGELOG.md +183 -45
  2. package/README.md +134 -98
  3. package/docs/client.md +2947 -3080
  4. package/docs/monitor.md +154 -165
  5. package/docs/no-send-expiry.md +7 -2
  6. package/docs/services.md +822 -885
  7. package/docs/setup.md +1 -46
  8. package/docs/storage.md +1636 -1654
  9. package/docs/wallet.md +1975 -2132
  10. package/out/src/CWIStyleWalletManager.d.ts +36 -5
  11. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  12. package/out/src/CWIStyleWalletManager.js +356 -60
  13. package/out/src/CWIStyleWalletManager.js.map +1 -1
  14. package/out/src/Setup.d.ts +0 -10
  15. package/out/src/Setup.d.ts.map +1 -1
  16. package/out/src/Setup.js +0 -24
  17. package/out/src/Setup.js.map +1 -1
  18. package/out/src/Wallet.d.ts.map +1 -1
  19. package/out/src/Wallet.js +8 -3
  20. package/out/src/Wallet.js.map +1 -1
  21. package/out/src/WalletAuthenticationManager.d.ts +3 -0
  22. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  23. package/out/src/WalletAuthenticationManager.js +86 -3
  24. package/out/src/WalletAuthenticationManager.js.map +1 -1
  25. package/out/src/WalletPermissionsManager.d.ts +63 -9
  26. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  27. package/out/src/WalletPermissionsManager.js +213 -49
  28. package/out/src/WalletPermissionsManager.js.map +1 -1
  29. package/out/src/monitor/Monitor.js +1 -1
  30. package/out/src/monitor/Monitor.js.map +1 -1
  31. package/out/src/monitor/MonitorDaemon.d.ts +0 -2
  32. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  33. package/out/src/monitor/MonitorDaemon.js +1 -9
  34. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  35. package/out/src/monitor/monitorValidation.d.ts +2 -1
  36. package/out/src/monitor/monitorValidation.d.ts.map +1 -1
  37. package/out/src/monitor/monitorValidation.js +2 -2
  38. package/out/src/monitor/monitorValidation.js.map +1 -1
  39. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  40. package/out/src/monitor/tasks/TaskNewHeader.js +1 -1
  41. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  42. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  43. package/out/src/monitor/tasks/TaskReviewUtxos.js +2 -1
  44. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  45. package/out/src/sdk/WERR_errors.d.ts +4 -0
  46. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  47. package/out/src/sdk/WERR_errors.js +4 -0
  48. package/out/src/sdk/WERR_errors.js.map +1 -1
  49. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  50. package/out/src/sdk/WalletErrorFromJson.js +23 -2
  51. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  52. package/out/src/sdk/WalletStorage.interfaces.d.ts +11 -0
  53. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  54. package/out/src/sdk/types.d.ts +12 -1
  55. package/out/src/sdk/types.d.ts.map +1 -1
  56. package/out/src/sdk/types.js +19 -2
  57. package/out/src/sdk/types.js.map +1 -1
  58. package/out/src/services/Services.d.ts.map +1 -1
  59. package/out/src/services/Services.js +5 -3
  60. package/out/src/services/Services.js.map +1 -1
  61. package/out/src/services/chaintracker/BHServiceClient.js +2 -2
  62. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  63. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +2 -2
  64. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  65. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  66. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +3 -1
  67. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  68. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  69. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +3 -1
  70. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  71. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
  72. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  73. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
  74. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  75. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +1 -1
  76. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  77. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  78. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +2 -0
  79. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  80. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -2
  81. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  82. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +6 -6
  83. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  84. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +2 -2
  85. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  86. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +0 -5
  87. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  88. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +5 -13
  89. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  90. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +1 -0
  91. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  92. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -3
  93. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  94. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  95. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +13 -9
  96. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  97. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  98. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +2 -2
  99. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  100. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
  101. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +2 -2
  102. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
  103. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +23 -5
  104. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  105. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +58 -16
  106. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  107. package/out/src/services/createDefaultWalletServicesOptions.d.ts +6 -3
  108. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  109. package/out/src/services/createDefaultWalletServicesOptions.js +18 -6
  110. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  111. package/out/src/services/networkConfig.d.ts +7 -0
  112. package/out/src/services/networkConfig.d.ts.map +1 -1
  113. package/out/src/services/networkConfig.js +25 -2
  114. package/out/src/services/networkConfig.js.map +1 -1
  115. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  116. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  117. package/out/src/services/providers/SdkWhatsOnChain.js +17 -6
  118. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  119. package/out/src/services/validateMerklePathResult.d.ts +4 -3
  120. package/out/src/services/validateMerklePathResult.d.ts.map +1 -1
  121. package/out/src/services/validateMerklePathResult.js +6 -6
  122. package/out/src/services/validateMerklePathResult.js.map +1 -1
  123. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  124. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +3 -2
  125. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  126. package/out/src/signer/methods/createAction.d.ts +32 -1
  127. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  128. package/out/src/signer/methods/createAction.js +56 -1
  129. package/out/src/signer/methods/createAction.js.map +1 -1
  130. package/out/src/signer/methods/internalizeAction.js +1 -1
  131. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  132. package/out/src/signer/methods/signAction.js +8 -1
  133. package/out/src/signer/methods/signAction.js.map +1 -1
  134. package/out/src/storage/StorageIdb.js +4 -4
  135. package/out/src/storage/StorageIdb.js.map +1 -1
  136. package/out/src/storage/StorageKnex.d.ts +6 -5
  137. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  138. package/out/src/storage/StorageKnex.js +321 -115
  139. package/out/src/storage/StorageKnex.js.map +1 -1
  140. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  141. package/out/src/storage/WalletStorageManager.js +5 -0
  142. package/out/src/storage/WalletStorageManager.js.map +1 -1
  143. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  144. package/out/src/storage/adminServer/adminServer.js +41 -3
  145. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  146. package/out/src/storage/index.all.d.ts +0 -1
  147. package/out/src/storage/index.all.d.ts.map +1 -1
  148. package/out/src/storage/index.all.js +0 -1
  149. package/out/src/storage/index.all.js.map +1 -1
  150. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  151. package/out/src/storage/methods/ListOutputsSpecOp.js +84 -0
  152. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  153. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  154. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +7 -3
  155. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  156. package/out/src/storage/methods/createAction.d.ts +5 -0
  157. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  158. package/out/src/storage/methods/createAction.js +13 -6
  159. package/out/src/storage/methods/createAction.js.map +1 -1
  160. package/out/src/storage/methods/generateChange.d.ts +6 -0
  161. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  162. package/out/src/storage/methods/generateChange.js +10 -3
  163. package/out/src/storage/methods/generateChange.js.map +1 -1
  164. package/out/src/storage/methods/internalizeAction.d.ts +8 -1
  165. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  166. package/out/src/storage/methods/internalizeAction.js +106 -42
  167. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  168. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  169. package/out/src/storage/methods/listActionsKnex.js +1 -0
  170. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  171. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  172. package/out/src/storage/methods/listOutputsKnex.js +2 -1
  173. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  174. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
  175. package/out/src/storage/methods/noSendExpiry.js +14 -4
  176. package/out/src/storage/methods/noSendExpiry.js.map +1 -1
  177. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  178. package/out/src/storage/methods/purgeData.js +3 -0
  179. package/out/src/storage/methods/purgeData.js.map +1 -1
  180. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  181. package/out/src/storage/methods/reviewStatus.js +3 -0
  182. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  183. package/out/src/storage/portable/index.js +12 -38
  184. package/out/src/storage/portable/index.js.map +1 -1
  185. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  186. package/out/src/storage/remoting/StorageClientBase.js +15 -5
  187. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  188. package/out/src/storage/remoting/StorageServer.d.ts +4 -17
  189. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  190. package/out/src/storage/remoting/StorageServer.js +25 -23
  191. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  192. package/out/src/storage/remoting/syncChunkBinary.d.ts +10 -0
  193. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -1
  194. package/out/src/storage/remoting/syncChunkBinary.js +15 -11
  195. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -1
  196. package/out/src/storage/schema/KnexMigrations.d.ts +3 -7
  197. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  198. package/out/src/storage/schema/KnexMigrations.js +86 -166
  199. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  200. package/out/src/storage/sync/liveSyncGuards.d.ts +11 -0
  201. package/out/src/storage/sync/liveSyncGuards.d.ts.map +1 -0
  202. package/out/src/storage/sync/liveSyncGuards.js +22 -0
  203. package/out/src/storage/sync/liveSyncGuards.js.map +1 -0
  204. package/out/src/utility/actionOutputAuthorizations.d.ts +10 -0
  205. package/out/src/utility/actionOutputAuthorizations.d.ts.map +1 -0
  206. package/out/src/utility/actionOutputAuthorizations.js +25 -0
  207. package/out/src/utility/actionOutputAuthorizations.js.map +1 -0
  208. package/out/src/utility/index.all.d.ts +1 -0
  209. package/out/src/utility/index.all.d.ts.map +1 -1
  210. package/out/src/utility/index.all.js +1 -0
  211. package/out/src/utility/index.all.js.map +1 -1
  212. package/out/src/utility/index.client.d.ts +1 -0
  213. package/out/src/utility/index.client.d.ts.map +1 -1
  214. package/out/src/utility/index.client.js +1 -0
  215. package/out/src/utility/index.client.js.map +1 -1
  216. package/out/src/utility/numericTotalOutputs.d.ts +7 -0
  217. package/out/src/utility/numericTotalOutputs.d.ts.map +1 -0
  218. package/out/src/utility/numericTotalOutputs.js +15 -0
  219. package/out/src/utility/numericTotalOutputs.js.map +1 -0
  220. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  221. package/out/src/utility/utilityHelpers.js +2 -0
  222. package/out/src/utility/utilityHelpers.js.map +1 -1
  223. package/package.json +19 -24
  224. package/out/src/storage/adminServer/reqReviewQuery.d.ts +0 -41
  225. package/out/src/storage/adminServer/reqReviewQuery.d.ts.map +0 -1
  226. package/out/src/storage/adminServer/reqReviewQuery.js +0 -67
  227. package/out/src/storage/adminServer/reqReviewQuery.js.map +0 -1
  228. package/out/src/storage/knexPostgres.d.ts +0 -16
  229. package/out/src/storage/knexPostgres.d.ts.map +0 -1
  230. package/out/src/storage/knexPostgres.js +0 -34
  231. package/out/src/storage/knexPostgres.js.map +0 -1
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KnexMigrations = exports.WALLET_SYNC_SOURCE_INDEX_MIGRATION = exports.BRC177_NO_SEND_EXPIRY_MIGRATION = exports.PREPARED_BEEF_MIGRATION = exports.MANAGED_CHANGE_POLICY_MIGRATION = exports.PAYMENT_REPLAY_MIGRATION = exports.CREATE_ACTION_FUNDING_INDEX_MIGRATION = exports.MONITOR_CREATED_AT_INDEX_MIGRATION = exports.AUTH_MESSAGE_NONCE_MIGRATION = exports.AUTH_SESSION_MIGRATION = exports.SYNC_TRANSFER_MIGRATION = void 0;
3
+ exports.KnexMigrations = exports.INTERNALIZE_RECEIPT_MIGRATION = exports.WALLET_SYNC_SOURCE_INDEX_MIGRATION = exports.BRC177_NO_SEND_EXPIRY_MIGRATION = exports.PREPARED_BEEF_MIGRATION = exports.MANAGED_CHANGE_POLICY_MIGRATION = exports.PAYMENT_REPLAY_MIGRATION = exports.CREATE_ACTION_FUNDING_INDEX_MIGRATION = exports.MONITOR_CREATED_AT_INDEX_MIGRATION = exports.AUTH_MESSAGE_NONCE_MIGRATION = exports.AUTH_SESSION_MIGRATION = exports.SYNC_TRANSFER_MIGRATION = void 0;
4
4
  exports.determineDBType = determineDBType;
5
5
  const StorageKnex_1 = require("../StorageKnex");
6
6
  const WalletError_1 = require("../../sdk/WalletError");
7
7
  const WERR_errors_1 = require("../../sdk/WERR_errors");
8
- const EntityBase_1 = require("./entities/EntityBase");
9
8
  const managedChangePolicy_1 = require("../methods/managedChangePolicy");
10
9
  exports.SYNC_TRANSFER_MIGRATION = '2026-09-09-001 add bounded sync transfers';
11
10
  exports.AUTH_SESSION_MIGRATION = '2026-07-14-001 add shared auth sessions';
@@ -17,29 +16,24 @@ exports.MANAGED_CHANGE_POLICY_MIGRATION = '2026-08-10-001 upgrade managed change
17
16
  exports.PREPARED_BEEF_MIGRATION = '2026-08-31-001 add prepared beef artifacts';
18
17
  exports.BRC177_NO_SEND_EXPIRY_MIGRATION = '2026-08-30-001 add brc177 nosend expiry state';
19
18
  exports.WALLET_SYNC_SOURCE_INDEX_MIGRATION = '2026-08-17-001 add wallet sync source indexes';
19
+ exports.INTERNALIZE_RECEIPT_MIGRATION = '2026-10-13-001 coordinate wallet receipt ownership';
20
20
  class KnexMigrations {
21
21
  chain;
22
22
  storageName;
23
23
  storageIdentityKey;
24
24
  maxOutputScriptLength;
25
- dbtype;
26
25
  migrations = {};
27
26
  /**
28
27
  * @param chain
29
28
  * @param storageName human readable name for this storage instance
30
29
  * @param maxOutputScriptLength limit for scripts kept in outputs table, longer scripts will be pulled from rawTx
31
- * @param dbtype when 'Postgres', migrations that add indexes to existing tables run outside a
32
- * transaction and build them with CREATE INDEX CONCURRENTLY. Run them one at a time
33
- * (`knex.migrate.up`), as `StorageKnex.migrate` does, so other migrations keep their journal
34
- * row in their own transaction.
35
30
  */
36
- constructor(chain, storageName, storageIdentityKey, maxOutputScriptLength, dbtype) {
31
+ constructor(chain, storageName, storageIdentityKey, maxOutputScriptLength) {
37
32
  this.chain = chain;
38
33
  this.storageName = storageName;
39
34
  this.storageIdentityKey = storageIdentityKey;
40
35
  this.maxOutputScriptLength = maxOutputScriptLength;
41
- this.dbtype = dbtype;
42
- this.migrations = this.setupMigrations(chain, storageName, storageIdentityKey, maxOutputScriptLength, dbtype);
36
+ this.migrations = this.setupMigrations(chain, storageName, storageIdentityKey, maxOutputScriptLength);
43
37
  }
44
38
  async getMigrations() {
45
39
  return Object.keys(this.migrations).sort((a, b) => a.localeCompare(b));
@@ -58,10 +52,29 @@ class KnexMigrations {
58
52
  const km = new KnexMigrations('test', 'dummy', '1'.repeat(64), 100);
59
53
  return await km.getLatestMigration();
60
54
  }
61
- setupMigrations(chain, storageName, storageIdentityKey, maxOutputScriptLength, dbtype) {
55
+ setupMigrations(chain, storageName, storageIdentityKey, maxOutputScriptLength) {
62
56
  const migrations = {};
63
- // Index migrations on existing tables run outside a transaction on Postgres; see addIndexes.
64
- const indexConfig = dbtype === 'Postgres' ? { transaction: false } : undefined;
57
+ migrations[exports.INTERNALIZE_RECEIPT_MIGRATION] = {
58
+ async up(knex) {
59
+ // Historical wallets can contain duplicate transaction identifiers.
60
+ // The receipt key serializes future internalizeAction calls without
61
+ // modifying or rejecting those existing financial records.
62
+ if (!(await knex.schema.hasTable('internalize_receipts'))) {
63
+ await knex.schema.createTable('internalize_receipts', table => {
64
+ table.integer('userId').unsigned().notNullable().references('userId').inTable('users');
65
+ table.string('txid', 64).notNullable();
66
+ table.string('ownerToken', 64).notNullable();
67
+ table.string('state', 16).notNullable();
68
+ table.bigInteger('leaseUntil').notNullable();
69
+ table.boolean('needsNewReceipt').notNullable().defaultTo(false);
70
+ table.primary(['userId', 'txid']);
71
+ });
72
+ }
73
+ },
74
+ async down(knex) {
75
+ await knex.schema.dropTableIfExists('internalize_receipts');
76
+ }
77
+ };
65
78
  const addTimeStamps = (knex, table, dbtype) => {
66
79
  if (dbtype === 'MySQL') {
67
80
  table.timestamp('created_at', { precision: 3 }).defaultTo(knex.fn.now(3)).notNullable();
@@ -72,61 +85,6 @@ class KnexMigrations {
72
85
  table.timestamp('updated_at', { precision: 3 }).defaultTo(knex.fn.now()).notNullable();
73
86
  }
74
87
  };
75
- migrations['2026-09-30-001 unique sync state per storage identity'] = {
76
- async up(knex) {
77
- // Concurrent findOrInsertSyncStateAuth calls could each insert a row,
78
- // after which every lookup for the pair failed. Keep the oldest row.
79
- const groups = await knex('sync_states')
80
- .select('userId', 'storageIdentityKey')
81
- .min({ keepId: 'syncStateId' })
82
- .countDistinct({ names: 'storageName' })
83
- .groupBy('userId', 'storageIdentityKey')
84
- .havingRaw('count(*) > 1');
85
- const restartAt = groups.length > 0 && (await determineDBType(knex)) === 'SQLite' ? new Date().toISOString() : knex.fn.now(3);
86
- for (const group of groups) {
87
- await knex('sync_states')
88
- .where({ userId: group.userId, storageIdentityKey: group.storageIdentityKey })
89
- .where('syncStateId', '>', group.keepId)
90
- .delete();
91
- // Rows with different names may track different source databases
92
- // that reused one identity key, so the kept checkpoint may not
93
- // belong to the next caller. Restart it as a new sync state.
94
- if (Number(group.names) > 1) {
95
- await knex('sync_states')
96
- .where({ syncStateId: group.keepId })
97
- .update({
98
- status: 'unknown',
99
- init: false,
100
- when: null,
101
- syncMap: JSON.stringify((0, EntityBase_1.createSyncMap)()),
102
- updated_at: restartAt
103
- });
104
- }
105
- }
106
- await knex.schema.alterTable('sync_states', table => {
107
- table.unique(['userId', 'storageIdentityKey'], { indexName: 'sync_states_user_storage_identity' });
108
- });
109
- },
110
- async down(knex) {
111
- // MySQL may discard the automatically-created userId foreign key
112
- // index once the unique index can support the foreign key.
113
- if ((await determineDBType(knex)) === 'MySQL') {
114
- const result = await knex.raw('SHOW INDEX FROM ?? WHERE Key_name = ?', [
115
- 'sync_states',
116
- 'sync_states_userid_foreign'
117
- ]);
118
- const indexes = result[0];
119
- if (indexes.length === 0) {
120
- await knex.schema.alterTable('sync_states', table => {
121
- table.index(['userId'], 'sync_states_userid_foreign');
122
- });
123
- }
124
- }
125
- await knex.schema.alterTable('sync_states', table => {
126
- table.dropUnique(['userId', 'storageIdentityKey'], 'sync_states_user_storage_identity');
127
- });
128
- }
129
- };
130
88
  migrations[exports.SYNC_TRANSFER_MIGRATION] = {
131
89
  config: { transaction: true },
132
90
  async up(knex) {
@@ -152,13 +110,13 @@ class KnexMigrations {
152
110
  .insert(Array.from({ length: 9 }, (_, slot) => ({ slot })))
153
111
  .onConflict('slot')
154
112
  .ignore();
113
+ const bytesTypes = { MySQL: 'mediumblob', Postgres: 'bytea' };
114
+ const bytesType = bytesTypes[dbtype] ?? 'blob';
155
115
  if (!(await knex.schema.hasTable('sync_transfer_parts')))
156
116
  await knex.schema.createTable('sync_transfer_parts', table => {
157
117
  table.integer('slot').notNullable().references('slot').inTable('sync_transfers');
158
118
  table.integer('offset').notNullable();
159
- table
160
- .specificType('bytes', dbtype === 'MySQL' ? 'mediumblob' : dbtype === 'Postgres' ? 'bytea' : 'blob')
161
- .notNullable();
119
+ table.specificType('bytes', bytesType).notNullable();
162
120
  table.primary(['slot', 'offset']);
163
121
  });
164
122
  },
@@ -216,9 +174,10 @@ class KnexMigrations {
216
174
  }
217
175
  };
218
176
  migrations[exports.MONITOR_CREATED_AT_INDEX_MIGRATION] = {
219
- config: indexConfig,
220
177
  async up(knex) {
221
- await addIndexes(knex, 'monitor_events', [{ columns: ['created_at'], name: 'idx_monitor_events_created_at' }]);
178
+ await knex.schema.alterTable('monitor_events', table => {
179
+ table.index('created_at', 'idx_monitor_events_created_at');
180
+ });
222
181
  },
223
182
  async down(knex) {
224
183
  await knex.schema.alterTable('monitor_events', table => {
@@ -227,14 +186,10 @@ class KnexMigrations {
227
186
  }
228
187
  };
229
188
  migrations[exports.CREATE_ACTION_FUNDING_INDEX_MIGRATION] = {
230
- config: indexConfig,
231
189
  async up(knex) {
232
- await addIndexes(knex, 'outputs', [
233
- {
234
- columns: ['userId', 'basketId', 'spendable', 'spentBy', 'satoshis', 'outputId'],
235
- name: 'idx_outputs_funding_selection'
236
- }
237
- ]);
190
+ await knex.schema.alterTable('outputs', table => {
191
+ table.index(['userId', 'basketId', 'spendable', 'spentBy', 'satoshis', 'outputId'], 'idx_outputs_funding_selection');
192
+ });
238
193
  },
239
194
  async down(knex) {
240
195
  await knex.schema.alterTable('outputs', table => {
@@ -267,12 +222,11 @@ class KnexMigrations {
267
222
  }
268
223
  };
269
224
  migrations[exports.WALLET_SYNC_SOURCE_INDEX_MIGRATION] = {
270
- config: indexConfig,
271
225
  async up(knex) {
272
- await addIndexes(knex, 'transactions', [
273
- { columns: ['userId', 'provenTxId'], name: 'idx_transactions_user_proven_tx' },
274
- { columns: ['userId', 'txid'], name: 'idx_transactions_user_txid' }
275
- ]);
226
+ await knex.schema.alterTable('transactions', table => {
227
+ table.index(['userId', 'provenTxId'], 'idx_transactions_user_proven_tx');
228
+ table.index(['userId', 'txid'], 'idx_transactions_user_txid');
229
+ });
276
230
  },
277
231
  async down(knex) {
278
232
  // MySQL may discard the automatically-created userId index after one
@@ -297,31 +251,24 @@ class KnexMigrations {
297
251
  }
298
252
  };
299
253
  migrations[exports.BRC177_NO_SEND_EXPIRY_MIGRATION] = {
300
- config: indexConfig,
301
254
  async up(knex) {
302
- // Outside a transaction a re-run after an interruption can find the
303
- // columns already added by the single ALTER TABLE below.
304
- if (!isConcurrentIndexBuild(knex) || !(await knex.schema.hasColumn('transactions', 'noSendExpiryMode'))) {
305
- await knex.schema.alterTable('transactions', table => {
306
- table.string('noSendExpiryMode', 16).nullable();
307
- table.bigInteger('noSendExpiryValue').unsigned().nullable();
308
- table.bigInteger('noSendExpiryDeadline').unsigned().nullable();
309
- table.string('noSendExpiryState', 24).nullable();
310
- table.string('noSendExpiryAnchorTxid', 64).nullable();
311
- table.integer('noSendExpiryAnchorVout').unsigned().nullable();
312
- table.bigInteger('noSendExpiryReleasedAt').unsigned().nullable();
313
- table.bigInteger('noSendExpiryObservedAt').unsigned().nullable();
314
- table.string('noSendExpiryReclaimTxid', 64).nullable();
315
- table.binary('noSendExpiryReclaimRawTx').nullable();
316
- table.string('noSendExpiryReclaimDerivationPrefix', 32).nullable();
317
- table.string('noSendExpiryReclaimDerivationSuffix', 32).nullable();
318
- table.bigInteger('noSendExpiryReclaimSatoshis').unsigned().nullable();
319
- });
320
- }
321
- await addIndexes(knex, 'transactions', [
322
- { columns: ['noSendExpiryState', 'noSendExpiryDeadline'], name: 'idx_transactions_nosend_expiry' },
323
- { columns: ['userId', 'noSendExpiryReclaimTxid'], name: 'idx_transactions_nosend_reclaim' }
324
- ]);
255
+ await knex.schema.alterTable('transactions', table => {
256
+ table.string('noSendExpiryMode', 16).nullable();
257
+ table.bigInteger('noSendExpiryValue').unsigned().nullable();
258
+ table.bigInteger('noSendExpiryDeadline').unsigned().nullable();
259
+ table.string('noSendExpiryState', 24).nullable();
260
+ table.string('noSendExpiryAnchorTxid', 64).nullable();
261
+ table.integer('noSendExpiryAnchorVout').unsigned().nullable();
262
+ table.bigInteger('noSendExpiryReleasedAt').unsigned().nullable();
263
+ table.bigInteger('noSendExpiryObservedAt').unsigned().nullable();
264
+ table.string('noSendExpiryReclaimTxid', 64).nullable();
265
+ table.binary('noSendExpiryReclaimRawTx').nullable();
266
+ table.string('noSendExpiryReclaimDerivationPrefix', 32).nullable();
267
+ table.string('noSendExpiryReclaimDerivationSuffix', 32).nullable();
268
+ table.bigInteger('noSendExpiryReclaimSatoshis').unsigned().nullable();
269
+ table.index(['noSendExpiryState', 'noSendExpiryDeadline'], 'idx_transactions_nosend_expiry');
270
+ table.index(['userId', 'noSendExpiryReclaimTxid'], 'idx_transactions_nosend_reclaim');
271
+ });
325
272
  if ((await determineDBType(knex)) === 'MySQL') {
326
273
  await knex.raw('ALTER TABLE transactions MODIFY COLUMN noSendExpiryReclaimRawTx LONGBLOB');
327
274
  }
@@ -440,9 +387,10 @@ class KnexMigrations {
440
387
  }
441
388
  };
442
389
  migrations['2025-10-13-001 add outputs spendable index'] = {
443
- config: indexConfig,
444
390
  async up(knex) {
445
- await addIndexes(knex, 'outputs', [{ columns: ['spendable'] }]);
391
+ await knex.schema.alterTable('outputs', table => {
392
+ table.index('spendable');
393
+ });
446
394
  },
447
395
  async down(knex) {
448
396
  await knex.schema.alterTable('outputs', table => {
@@ -451,18 +399,17 @@ class KnexMigrations {
451
399
  }
452
400
  };
453
401
  migrations['2026-02-27-001 add listOutputs path indexes'] = {
454
- config: indexConfig,
455
402
  async up(knex) {
456
- await addIndexes(knex, 'outputs', [
457
- { columns: ['userId', 'spendable', 'outputId'], name: 'idx_outputs_user_spendable_outputid' },
458
- { columns: ['userId', 'basketId', 'spendable', 'outputId'], name: 'idx_outputs_user_basket_spendable_outputid' }
459
- ]);
460
- await addIndexes(knex, 'output_tags_map', [
461
- { columns: ['outputId', 'isDeleted', 'outputTagId'], name: 'idx_output_tags_map_output_deleted_tag' }
462
- ]);
463
- await addIndexes(knex, 'tx_labels_map', [
464
- { columns: ['transactionId', 'isDeleted'], name: 'idx_tx_labels_map_tx_deleted' }
465
- ]);
403
+ await knex.schema.alterTable('outputs', table => {
404
+ table.index(['userId', 'spendable', 'outputId'], 'idx_outputs_user_spendable_outputid');
405
+ table.index(['userId', 'basketId', 'spendable', 'outputId'], 'idx_outputs_user_basket_spendable_outputid');
406
+ });
407
+ await knex.schema.alterTable('output_tags_map', table => {
408
+ table.index(['outputId', 'isDeleted', 'outputTagId'], 'idx_output_tags_map_output_deleted_tag');
409
+ });
410
+ await knex.schema.alterTable('tx_labels_map', table => {
411
+ table.index(['transactionId', 'isDeleted'], 'idx_tx_labels_map_tx_deleted');
412
+ });
466
413
  },
467
414
  async down(knex) {
468
415
  // MySQL may discard the automatically-created userId index once one
@@ -490,12 +437,11 @@ class KnexMigrations {
490
437
  }
491
438
  };
492
439
  migrations['2026-02-27-002 add createAction path indexes'] = {
493
- config: indexConfig,
494
440
  async up(knex) {
495
- await addIndexes(knex, 'outputs', [
496
- { columns: ['userId', 'basketId', 'spendable', 'satoshis'], name: 'idx_outputs_user_basket_spendable_satoshis' },
497
- { columns: ['spentBy'], name: 'idx_outputs_spentby' }
498
- ]);
441
+ await knex.schema.alterTable('outputs', table => {
442
+ table.index(['userId', 'basketId', 'spendable', 'satoshis'], 'idx_outputs_user_basket_spendable_satoshis');
443
+ table.index(['spentBy'], 'idx_outputs_spentby');
444
+ });
499
445
  },
500
446
  async down(knex) {
501
447
  // MySQL may discard the automatically-created index that supports the
@@ -518,9 +464,10 @@ class KnexMigrations {
518
464
  }
519
465
  };
520
466
  migrations['2025-10-18-002 add proven_tx_reqs txid index'] = {
521
- config: indexConfig,
522
467
  async up(knex) {
523
- await addIndexes(knex, 'proven_tx_reqs', [{ columns: ['txid'] }]);
468
+ await knex.schema.alterTable('proven_tx_reqs', table => {
469
+ table.index('txid');
470
+ });
524
471
  },
525
472
  async down(knex) {
526
473
  await knex.schema.alterTable('proven_tx_reqs', table => {
@@ -529,9 +476,10 @@ class KnexMigrations {
529
476
  }
530
477
  };
531
478
  migrations['2025-10-18-001 add transactions txid index'] = {
532
- config: indexConfig,
533
479
  async up(knex) {
534
- await addIndexes(knex, 'transactions', [{ columns: ['txid'] }]);
480
+ await knex.schema.alterTable('transactions', table => {
481
+ table.index('txid');
482
+ });
535
483
  },
536
484
  async down(knex) {
537
485
  await knex.schema.alterTable('transactions', table => {
@@ -540,9 +488,10 @@ class KnexMigrations {
540
488
  }
541
489
  };
542
490
  migrations['2025-09-06-001 add proven txs blockHash index'] = {
543
- config: indexConfig,
544
491
  async up(knex) {
545
- await addIndexes(knex, 'proven_txs', [{ columns: ['blockHash'] }]);
492
+ await knex.schema.alterTable('proven_txs', table => {
493
+ table.index('blockHash');
494
+ });
546
495
  },
547
496
  async down(knex) {
548
497
  await knex.schema.alterTable('proven_txs', table => {
@@ -551,9 +500,10 @@ class KnexMigrations {
551
500
  }
552
501
  };
553
502
  migrations['2025-05-13-001 add monitor events event index'] = {
554
- config: indexConfig,
555
503
  async up(knex) {
556
- await addIndexes(knex, 'monitor_events', [{ columns: ['event'] }]);
504
+ await knex.schema.alterTable('monitor_events', table => {
505
+ table.index('event');
506
+ });
557
507
  },
558
508
  async down(knex) {
559
509
  await knex.schema.alterTable('monitor_events', table => {
@@ -609,6 +559,7 @@ class KnexMigrations {
609
559
  knex
610
560
  });
611
561
  const settings = await storage.makeAvailable();
562
+ // ?? quotes identifiers: Postgres lowercases unquoted names, so camelCase columns must be quoted.
612
563
  await knex.raw('update users set ?? = ? where ?? is NULL', [
613
564
  'activeStorage',
614
565
  settings.storageIdentityKey,
@@ -884,37 +835,6 @@ class KnexMigrations {
884
835
  }
885
836
  }
886
837
  exports.KnexMigrations = KnexMigrations;
887
- /** Postgres outside a transaction: the migration runs with `config: { transaction: false }`. */
888
- function isConcurrentIndexBuild(knex) {
889
- return knex.client.dialect === 'postgresql' && knex.isTransaction !== true;
890
- }
891
- /**
892
- * Adds indexes to an existing table. On Postgres outside a transaction each
893
- * index is built with CREATE INDEX CONCURRENTLY IF NOT EXISTS, which does not
894
- * block writes to a populated table and can be re-run after an interruption.
895
- * Otherwise the knex schema builder issues the same statements as before.
896
- */
897
- async function addIndexes(knex, table, indexes) {
898
- if (!isConcurrentIndexBuild(knex)) {
899
- await knex.schema.alterTable(table, t => {
900
- for (const { columns, name } of indexes)
901
- t.index(columns, name);
902
- });
903
- return;
904
- }
905
- for (const { columns, name = `${table}_${columns.join('_')}_index`.toLowerCase() } of indexes) {
906
- // An interrupted concurrent build leaves an invalid index, which IF NOT EXISTS would keep.
907
- const invalid = await knex.raw(`select 1 from pg_index i join pg_class c on c.oid = i.indexrelid
908
- where c.relname = ? and c.relnamespace = current_schema()::regnamespace and not i.indisvalid`, [name]);
909
- if (invalid.rows.length > 0)
910
- await knex.raw('drop index concurrently if exists ??', [name]);
911
- await knex.raw(`create index concurrently if not exists ?? on ?? (${columns.map(() => '??').join(', ')})`, [
912
- name,
913
- table,
914
- ...columns
915
- ]);
916
- }
917
- }
918
838
  /**
919
839
  * @param knex
920
840
  * @returns {DBType} connected database engine variant
@@ -1 +1 @@
1
- {"version":3,"file":"KnexMigrations.js","sourceRoot":"","sources":["../../../../src/storage/schema/KnexMigrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KnexMigrations.js","sourceRoot":"","sources":["../../../../src/storage/schema/KnexMigrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ProcessSyncChunkResult } from '../../sdk/WalletStorage.interfaces';
2
+ import type { TableSettings } from '../schema/tables';
3
+ /**
4
+ * Live-sync handshake: compare reader and writer chain before any chunk moves.
5
+ */
6
+ export declare function assertLiveSyncChainsMatch(readerSettings: TableSettings, writerSettings: TableSettings): void;
7
+ /**
8
+ * Honor a custom writer's non-throwing `ProcessSyncChunkResult.error`.
9
+ */
10
+ export declare function throwIfProcessSyncChunkError(result: ProcessSyncChunkResult): void;
11
+ //# sourceMappingURL=liveSyncGuards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveSyncGuards.d.ts","sourceRoot":"","sources":["../../../../src/storage/sync/liveSyncGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,GAAG,IAAI,CAM5G;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAIjF"}