@bsv/wallet-toolbox-mobile 2.1.25 → 3.0.0-alpha.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 (205) hide show
  1. package/out/src/SetupClient.d.ts +135 -0
  2. package/out/src/SetupClient.d.ts.map +1 -0
  3. package/out/src/SetupClient.js +226 -0
  4. package/out/src/SetupClient.js.map +1 -0
  5. package/out/src/SetupWallet.d.ts +103 -0
  6. package/out/src/SetupWallet.d.ts.map +1 -0
  7. package/out/src/SetupWallet.js +3 -0
  8. package/out/src/SetupWallet.js.map +1 -0
  9. package/out/src/Wallet.d.ts.map +1 -1
  10. package/out/src/Wallet.js.map +1 -1
  11. package/out/src/WalletLogger.d.ts.map +1 -1
  12. package/out/src/WalletLogger.js.map +1 -1
  13. package/out/src/fundWalletP2PKH.d.ts +48 -0
  14. package/out/src/fundWalletP2PKH.d.ts.map +1 -0
  15. package/out/src/fundWalletP2PKH.js +239 -0
  16. package/out/src/fundWalletP2PKH.js.map +1 -0
  17. package/out/src/index.client.d.ts +23 -0
  18. package/out/src/index.client.d.ts.map +1 -0
  19. package/out/src/index.client.js +62 -0
  20. package/out/src/index.client.js.map +1 -0
  21. package/out/src/monitor/LeasedMonitorTask.d.ts +43 -0
  22. package/out/src/monitor/LeasedMonitorTask.d.ts.map +1 -0
  23. package/out/src/monitor/LeasedMonitorTask.js +89 -0
  24. package/out/src/monitor/LeasedMonitorTask.js.map +1 -0
  25. package/out/src/monitor/Monitor.d.ts +7 -0
  26. package/out/src/monitor/Monitor.d.ts.map +1 -1
  27. package/out/src/monitor/Monitor.js +7 -0
  28. package/out/src/monitor/Monitor.js.map +1 -1
  29. package/out/src/monitor/V7LeasedTask.d.ts +43 -0
  30. package/out/src/monitor/V7LeasedTask.d.ts.map +1 -0
  31. package/out/src/monitor/V7LeasedTask.js +89 -0
  32. package/out/src/monitor/V7LeasedTask.js.map +1 -0
  33. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +2 -0
  34. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  35. package/out/src/monitor/tasks/TaskCheckForProofs.js +55 -0
  36. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  37. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  38. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  39. package/out/src/sdk/WalletStorage.interfaces.d.ts +59 -59
  40. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  41. package/out/src/sdk/types.d.ts +32 -0
  42. package/out/src/sdk/types.d.ts.map +1 -1
  43. package/out/src/sdk/types.js +50 -1
  44. package/out/src/sdk/types.js.map +1 -1
  45. package/out/src/services/chaintracker/BHServiceClient.d.ts +39 -0
  46. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -0
  47. package/out/src/services/chaintracker/BHServiceClient.js +174 -0
  48. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -0
  49. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  50. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  51. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  52. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  53. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +5 -0
  54. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -0
  55. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +29 -0
  56. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -0
  57. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  58. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  59. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +13 -0
  60. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -0
  61. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +27 -0
  62. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -0
  63. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  64. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  65. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +4 -0
  66. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -0
  67. package/out/src/services/chaintracker/chaintracks/index.client.js +20 -0
  68. package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -0
  69. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  70. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  71. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  72. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  73. package/out/src/services/chaintracker/index.client.d.ts +4 -0
  74. package/out/src/services/chaintracker/index.client.d.ts.map +1 -0
  75. package/out/src/services/chaintracker/index.client.js +20 -0
  76. package/out/src/services/chaintracker/index.client.js.map +1 -0
  77. package/out/src/storage/StorageIdb.d.ts +210 -0
  78. package/out/src/storage/StorageIdb.d.ts.map +1 -0
  79. package/out/src/storage/StorageIdb.js +2314 -0
  80. package/out/src/storage/StorageIdb.js.map +1 -0
  81. package/out/src/storage/StorageProvider.d.ts +114 -1
  82. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  83. package/out/src/storage/StorageProvider.js +164 -4
  84. package/out/src/storage/StorageProvider.js.map +1 -1
  85. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  86. package/out/src/storage/WalletStorageManager.js.map +1 -1
  87. package/out/src/storage/index.client.d.ts +8 -0
  88. package/out/src/storage/index.client.d.ts.map +1 -0
  89. package/out/src/storage/index.client.js +24 -0
  90. package/out/src/storage/index.client.js.map +1 -0
  91. package/out/src/storage/methods/ListActionsSpecOp.d.ts +18 -0
  92. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  93. package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  94. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  95. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +40 -0
  96. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  97. package/out/src/storage/methods/ListOutputsSpecOp.js +142 -0
  98. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  99. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  100. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +116 -4
  101. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  102. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  103. package/out/src/storage/methods/createAction.js +22 -5
  104. package/out/src/storage/methods/createAction.js.map +1 -1
  105. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  106. package/out/src/storage/methods/internalizeAction.js +172 -5
  107. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  108. package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  109. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  110. package/out/src/storage/methods/listActionsIdb.js +169 -0
  111. package/out/src/storage/methods/listActionsIdb.js.map +1 -0
  112. package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  113. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  114. package/out/src/storage/methods/listOutputsIdb.js +178 -0
  115. package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  116. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  117. package/out/src/storage/methods/processAction.js +82 -14
  118. package/out/src/storage/methods/processAction.js.map +1 -1
  119. package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  120. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  121. package/out/src/storage/methods/purgeDataIdb.js +9 -0
  122. package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  123. package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  124. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  125. package/out/src/storage/methods/reviewStatusIdb.js +35 -0
  126. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  127. package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  128. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  129. package/out/src/storage/schema/StorageIdbSchema.js +3 -0
  130. package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  131. package/out/src/storage/schema/monitorLease.d.ts +57 -0
  132. package/out/src/storage/schema/monitorLease.d.ts.map +1 -0
  133. package/out/src/storage/schema/monitorLease.js +101 -0
  134. package/out/src/storage/schema/monitorLease.js.map +1 -0
  135. package/out/src/storage/schema/processingFsm.d.ts +27 -0
  136. package/out/src/storage/schema/processingFsm.d.ts.map +1 -0
  137. package/out/src/storage/schema/processingFsm.js +132 -0
  138. package/out/src/storage/schema/processingFsm.js.map +1 -0
  139. package/out/src/storage/schema/tables/TableAction.d.ts +38 -0
  140. package/out/src/storage/schema/tables/TableAction.d.ts.map +1 -0
  141. package/out/src/storage/schema/tables/TableAction.js +3 -0
  142. package/out/src/storage/schema/tables/TableAction.js.map +1 -0
  143. package/out/src/storage/schema/tables/TableChainTip.d.ts +17 -0
  144. package/out/src/storage/schema/tables/TableChainTip.d.ts.map +1 -0
  145. package/out/src/storage/schema/tables/TableChainTip.js +3 -0
  146. package/out/src/storage/schema/tables/TableChainTip.js.map +1 -0
  147. package/out/src/storage/schema/tables/TableMonitorLease.d.ts +23 -0
  148. package/out/src/storage/schema/tables/TableMonitorLease.d.ts.map +1 -0
  149. package/out/src/storage/schema/tables/TableMonitorLease.js +3 -0
  150. package/out/src/storage/schema/tables/TableMonitorLease.js.map +1 -0
  151. package/out/src/storage/schema/tables/TableOutput.d.ts +7 -0
  152. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  153. package/out/src/storage/schema/tables/TableOutput.js.map +1 -1
  154. package/out/src/storage/schema/tables/TableTransactionNew.d.ts +50 -0
  155. package/out/src/storage/schema/tables/TableTransactionNew.d.ts.map +1 -0
  156. package/out/src/storage/schema/tables/TableTransactionNew.js +3 -0
  157. package/out/src/storage/schema/tables/TableTransactionNew.js.map +1 -0
  158. package/out/src/storage/schema/tables/TableTransactionV7.d.ts +50 -0
  159. package/out/src/storage/schema/tables/TableTransactionV7.d.ts.map +1 -0
  160. package/out/src/storage/schema/tables/TableTransactionV7.js +3 -0
  161. package/out/src/storage/schema/tables/TableTransactionV7.js.map +1 -0
  162. package/out/src/storage/schema/tables/TableTxAudit.d.ts +26 -0
  163. package/out/src/storage/schema/tables/TableTxAudit.d.ts.map +1 -0
  164. package/out/src/storage/schema/tables/TableTxAudit.js +3 -0
  165. package/out/src/storage/schema/tables/TableTxAudit.js.map +1 -0
  166. package/out/src/storage/schema/tables/index.d.ts +5 -0
  167. package/out/src/storage/schema/tables/index.d.ts.map +1 -1
  168. package/out/src/storage/schema/tables/index.js +5 -0
  169. package/out/src/storage/schema/tables/index.js.map +1 -1
  170. package/out/src/storage/schema/transactionCrud.d.ts +41 -0
  171. package/out/src/storage/schema/transactionCrud.d.ts.map +1 -0
  172. package/out/src/storage/schema/transactionCrud.js +205 -0
  173. package/out/src/storage/schema/transactionCrud.js.map +1 -0
  174. package/out/src/storage/schema/transactionService.d.ts +315 -0
  175. package/out/src/storage/schema/transactionService.d.ts.map +1 -0
  176. package/out/src/storage/schema/transactionService.js +783 -0
  177. package/out/src/storage/schema/transactionService.js.map +1 -0
  178. package/out/src/storage/schema/txAudit.d.ts +33 -0
  179. package/out/src/storage/schema/txAudit.d.ts.map +1 -0
  180. package/out/src/storage/schema/txAudit.js +64 -0
  181. package/out/src/storage/schema/txAudit.js.map +1 -0
  182. package/out/src/storage/schema/v7Crud.d.ts +41 -0
  183. package/out/src/storage/schema/v7Crud.d.ts.map +1 -0
  184. package/out/src/storage/schema/v7Crud.js +205 -0
  185. package/out/src/storage/schema/v7Crud.js.map +1 -0
  186. package/out/src/storage/schema/v7Fsm.d.ts +27 -0
  187. package/out/src/storage/schema/v7Fsm.d.ts.map +1 -0
  188. package/out/src/storage/schema/v7Fsm.js +124 -0
  189. package/out/src/storage/schema/v7Fsm.js.map +1 -0
  190. package/out/src/storage/schema/v7MonitorLease.d.ts +57 -0
  191. package/out/src/storage/schema/v7MonitorLease.d.ts.map +1 -0
  192. package/out/src/storage/schema/v7MonitorLease.js +101 -0
  193. package/out/src/storage/schema/v7MonitorLease.js.map +1 -0
  194. package/out/src/storage/schema/v7Service.d.ts +305 -0
  195. package/out/src/storage/schema/v7Service.d.ts.map +1 -0
  196. package/out/src/storage/schema/v7Service.js +757 -0
  197. package/out/src/storage/schema/v7Service.js.map +1 -0
  198. package/out/src/storage/schema/v7TxAudit.d.ts +33 -0
  199. package/out/src/storage/schema/v7TxAudit.d.ts.map +1 -0
  200. package/out/src/storage/schema/v7TxAudit.js +64 -0
  201. package/out/src/storage/schema/v7TxAudit.js.map +1 -0
  202. package/out/src/storage/storageProviderHelpers.js +1 -1
  203. package/out/src/storage/storageProviderHelpers.js.map +1 -1
  204. package/out/tsconfig.mobile.tsbuildinfo +1 -1
  205. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageIdb.js","sourceRoot":"","sources":["../../../../src/storage/StorageIdb.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,19 @@ import { PostReqsToNetworkResult } from './methods/attemptToPostReqsToNetwork';
4
4
  import { StorageReaderWriter, StorageReaderWriterOptions } from './StorageReaderWriter';
5
5
  import { EntityProvenTxReq } from './schema/entities';
6
6
  import { ServicesCallHistory, WalletServices } from '../sdk/WalletServices.interfaces';
7
- import { AuthId, FindCertificatesArgs, FindOutputBasketsArgs, FindOutputsArgs, FindStaleMerkleRootsArgs, ProcessSyncChunkResult, ProvenOrRawTx, PurgeParams, PurgeResults, RequestSyncChunkArgs, StorageCreateActionResult, StorageFeeModel, StorageGetBeefOptions, StorageInternalizeActionResult, StorageProcessActionArgs, StorageProcessActionResults, StorageProvenOrReq, SyncChunk, TrxToken, UpdateProvenTxReqWithNewProvenTxArgs, UpdateProvenTxReqWithNewProvenTxResult, WalletStorageProvider } from '../sdk/WalletStorage.interfaces';
7
+ import { AuthId, FindCertificatesArgs, FindOutputBasketsArgs, FindOutputsArgs, FindStaleMerkleRootsArgs, FindTransactionsArgs, ProcessSyncChunkResult, ProvenOrRawTx, PurgeParams, PurgeResults, RequestSyncChunkArgs, StorageCreateActionResult, StorageFeeModel, StorageGetBeefOptions, StorageInternalizeActionResult, StorageProcessActionArgs, StorageProcessActionResults, StorageProvenOrReq, SyncChunk, TrxToken, UpdateProvenTxReqWithNewProvenTxArgs, UpdateProvenTxReqWithNewProvenTxResult, WalletStorageProvider } from '../sdk/WalletStorage.interfaces';
8
8
  import { Chain, TransactionStatus } from '../sdk/types';
9
9
  import { TableProvenTxReq, TableProvenTxReqDynamics } from '../../src/storage/schema/tables/TableProvenTxReq';
10
10
  import { TableOutputBasket } from '../../src/storage/schema/tables/TableOutputBasket';
11
+ import { TableTransaction } from '../../src/storage/schema/tables/TableTransaction';
11
12
  import { TableOutput, TableOutputX } from '../../src/storage/schema/tables/TableOutput';
12
13
  import { TableOutputTag } from '../../src/storage/schema/tables/TableOutputTag';
13
14
  import { TableTxLabel } from '../../src/storage/schema/tables/TableTxLabel';
15
+ import { TableTxLabelMap } from '../../src/storage/schema/tables/TableTxLabelMap';
14
16
  import { TableMonitorEvent } from '../../src/storage/schema/tables/TableMonitorEvent';
15
17
  import { TableUser } from '../../src/storage/schema/tables/TableUser';
16
18
  import { TableCertificateX } from './schema/tables/TableCertificate';
19
+ import { TransactionService } from './schema/transactionService';
17
20
  export declare abstract class StorageProvider extends StorageReaderWriter implements WalletStorageProvider {
18
21
  isDirty: boolean;
19
22
  _services?: WalletServices;
@@ -61,6 +64,116 @@ export declare abstract class StorageProvider extends StorageReaderWriter implem
61
64
  isStorageProvider(): boolean;
62
65
  setServices(v: WalletServices): void;
63
66
  getServices(): WalletServices;
67
+ /**
68
+ * Returns a TransactionService instance if this storage provider supports
69
+ * the the new schema (i.e. has a Knex handle). Returns undefined for providers
70
+ * that do not support the new schema layer (e.g. StorageIdb).
71
+ *
72
+ * StorageKnex overrides this to return `new TransactionService(this.knex)`.
73
+ */
74
+ getTransactionService(): TransactionService | undefined;
75
+ /**
76
+ * Insert a legacy-shaped transaction row.
77
+ *
78
+ * Post-cutover: writes into `transactions_legacy` (the renamed legacy table)
79
+ * so that `createAction` can still store unsigned rows before the real txid is
80
+ * known, without touching the new `transactions` table (which requires a non-null txid).
81
+ *
82
+ * Pre-cutover (or on providers that do not support the the new schema): falls back
83
+ * to the standard `insertTransaction` which targets the `transactions` table.
84
+ *
85
+ * StorageKnex overrides this to route to `transactions_legacy` when the table
86
+ * exists, otherwise falls through to the standard `transactions` insert.
87
+ */
88
+ insertLegacyTransaction(tx: TableTransaction, trx?: TrxToken): Promise<number>;
89
+ /**
90
+ * Insert a `tx_labels_map` row for a legacy transaction that does not yet
91
+ * have a `actions.actionId`.
92
+ *
93
+ * Post-cutover the `tx_labels_map.transactionId` column has a FK to
94
+ * `actions.actionId`. When `createAction` writes labels against a legacy
95
+ * transactionId (before processAction creates the actions row), the FK
96
+ * cannot be satisfied. This shim bypasses that constraint temporarily.
97
+ * `processAction` later rewrites the rows to the real actionId via
98
+ * `TransactionService.repointLabelsToActionId`.
99
+ *
100
+ * Pre-cutover: delegates to `insertTxLabelMap` with no FK bypass needed.
101
+ *
102
+ * StorageKnex overrides this to temporarily disable FK checks on SQLite
103
+ * when `transactions_legacy` is present (indicating post-cutover).
104
+ */
105
+ insertLegacyTxLabelMap(labelMap: TableTxLabelMap, trx?: TrxToken): Promise<void>;
106
+ /**
107
+ * Find-or-insert a `tx_labels_map` row using `insertLegacyTxLabelMap` so
108
+ * that post-cutover FK constraints are bypassed for new unsigned transactions.
109
+ *
110
+ * Mirrors the logic of `findOrInsertTxLabelMap` (StorageReaderWriter) but
111
+ * delegates the insert step to `insertLegacyTxLabelMap`.
112
+ */
113
+ findOrInsertLegacyTxLabelMap(transactionId: number, txLabelId: number, trx?: TrxToken): Promise<TableTxLabelMap>;
114
+ /**
115
+ * Find legacy-shaped transaction rows from the appropriate table.
116
+ *
117
+ * Post-cutover: queries `transactions_legacy` (the renamed legacy schema
118
+ * table that holds unsigned/unprocessed rows without a real txid).
119
+ * Pre-cutover (or on providers that do not support the the new schema): falls back
120
+ * to the standard `findTransactions` which targets the `transactions` table.
121
+ *
122
+ * Used by `processAction.validateCommitNewTxToStorageArgs` to locate the
123
+ * unsigned transaction row created by `createAction` via `insertLegacyTransaction`.
124
+ *
125
+ * StorageKnex overrides this to route to `transactions_legacy` when the
126
+ * table exists (post-cutover), otherwise falls through to `findTransactions`.
127
+ */
128
+ findLegacyTransactions(args: FindTransactionsArgs): Promise<TableTransaction[]>;
129
+ /**
130
+ * Update a legacy-shaped transaction row in the appropriate table.
131
+ *
132
+ * Post-cutover: updates `transactions_legacy` (where unsigned rows live).
133
+ * Pre-cutover: delegates to the standard `updateTransaction`.
134
+ *
135
+ * Used by `processAction.commitNewTxToStorage` to write back the final txid
136
+ * and status to the legacy row that was created by `createAction`.
137
+ *
138
+ * StorageKnex overrides this to route to `transactions_legacy` when the
139
+ * table exists (post-cutover), otherwise falls through to `updateTransaction`.
140
+ */
141
+ updateLegacyTransaction(id: number | number[], update: Partial<TableTransaction>, trx?: TrxToken): Promise<number>;
142
+ /**
143
+ * Mark an output as spent by a (potentially legacy) transaction.
144
+ *
145
+ * Post-cutover on SQLite: setting `outputs.spentBy = legacyTransactionId`
146
+ * violates the FK `outputs.spentBy → transactions.transactionId` because
147
+ * unsigned transactions created by `createAction` live in `transactions_legacy`.
148
+ * This method disables the FK constraint for the duration of the update.
149
+ * The constraint will be satisfied once `processAction` creates the new schema row and
150
+ * the bridge-period is complete.
151
+ *
152
+ * Pre-cutover: delegates to `updateOutput` with no FK bypass.
153
+ *
154
+ * StorageKnex overrides this to toggle `PRAGMA foreign_keys` around the UPDATE
155
+ * when `isPostCutover()` and the dbtype is `SQLite`.
156
+ *
157
+ * Mapping §2: bridge-period `outputs.spentBy` temporarily references
158
+ * `transactions_legacy.transactionId` during `createAction`; new-schema FK is bypassed.
159
+ */
160
+ markOutputAsSpentBy(outputId: number, update: Partial<TableOutput>, trx?: TrxToken): Promise<void>;
161
+ /**
162
+ * Disable FK enforcement on the underlying database connection.
163
+ *
164
+ * No-op on non-SQLite or pre-cutover databases. On post-cutover SQLite,
165
+ * `StorageKnex` overrides this to run `PRAGMA foreign_keys = OFF` on the
166
+ * bare knex connection BEFORE a transaction is opened (since PRAGMA changes
167
+ * inside SQLite transactions are silently ignored).
168
+ *
169
+ * Must be paired with a `enableForeignKeys()` call in a finally block.
170
+ */
171
+ disableForeignKeys(): Promise<void>;
172
+ /**
173
+ * Re-enable FK enforcement on the underlying database connection.
174
+ * Counterpart to `disableForeignKeys()`.
175
+ */
176
+ enableForeignKeys(): Promise<void>;
64
177
  abortAction(auth: AuthId, args: AbortActionArgs): Promise<AbortActionResult>;
65
178
  internalizeAction(auth: AuthId, args: InternalizeActionArgs): Promise<StorageInternalizeActionResult>;
66
179
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,157 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
121
121
  throw new WERR_errors_1.WERR_INVALID_OPERATION('Must setServices first.');
122
122
  return this._services;
123
123
  }
124
+ /**
125
+ * Returns a TransactionService instance if this storage provider supports
126
+ * the the new schema (i.e. has a Knex handle). Returns undefined for providers
127
+ * that do not support the new schema layer (e.g. StorageIdb).
128
+ *
129
+ * StorageKnex overrides this to return `new TransactionService(this.knex)`.
130
+ */
131
+ getTransactionService() {
132
+ return undefined;
133
+ }
134
+ /**
135
+ * Insert a legacy-shaped transaction row.
136
+ *
137
+ * Post-cutover: writes into `transactions_legacy` (the renamed legacy table)
138
+ * so that `createAction` can still store unsigned rows before the real txid is
139
+ * known, without touching the new `transactions` table (which requires a non-null txid).
140
+ *
141
+ * Pre-cutover (or on providers that do not support the the new schema): falls back
142
+ * to the standard `insertTransaction` which targets the `transactions` table.
143
+ *
144
+ * StorageKnex overrides this to route to `transactions_legacy` when the table
145
+ * exists, otherwise falls through to the standard `transactions` insert.
146
+ */
147
+ async insertLegacyTransaction(tx, trx) {
148
+ return await this.insertTransaction(tx, trx);
149
+ }
150
+ /**
151
+ * Insert a `tx_labels_map` row for a legacy transaction that does not yet
152
+ * have a `actions.actionId`.
153
+ *
154
+ * Post-cutover the `tx_labels_map.transactionId` column has a FK to
155
+ * `actions.actionId`. When `createAction` writes labels against a legacy
156
+ * transactionId (before processAction creates the actions row), the FK
157
+ * cannot be satisfied. This shim bypasses that constraint temporarily.
158
+ * `processAction` later rewrites the rows to the real actionId via
159
+ * `TransactionService.repointLabelsToActionId`.
160
+ *
161
+ * Pre-cutover: delegates to `insertTxLabelMap` with no FK bypass needed.
162
+ *
163
+ * StorageKnex overrides this to temporarily disable FK checks on SQLite
164
+ * when `transactions_legacy` is present (indicating post-cutover).
165
+ */
166
+ async insertLegacyTxLabelMap(labelMap, trx) {
167
+ return await this.insertTxLabelMap(labelMap, trx);
168
+ }
169
+ /**
170
+ * Find-or-insert a `tx_labels_map` row using `insertLegacyTxLabelMap` so
171
+ * that post-cutover FK constraints are bypassed for new unsigned transactions.
172
+ *
173
+ * Mirrors the logic of `findOrInsertTxLabelMap` (StorageReaderWriter) but
174
+ * delegates the insert step to `insertLegacyTxLabelMap`.
175
+ */
176
+ async findOrInsertLegacyTxLabelMap(transactionId, txLabelId, trx) {
177
+ const partial = { transactionId, txLabelId };
178
+ for (let retry = 0;; retry++) {
179
+ try {
180
+ const now = new Date();
181
+ let txLabelMap = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTxLabelMaps({ partial, trx }));
182
+ if (txLabelMap == null) {
183
+ txLabelMap = {
184
+ ...partial,
185
+ created_at: now,
186
+ updated_at: now,
187
+ isDeleted: false
188
+ };
189
+ await this.insertLegacyTxLabelMap(txLabelMap, trx);
190
+ }
191
+ if (txLabelMap.isDeleted) {
192
+ await this.updateTxLabelMap(transactionId, txLabelId, { isDeleted: false });
193
+ }
194
+ return txLabelMap;
195
+ }
196
+ catch (error_) {
197
+ if (retry > 0)
198
+ throw error_;
199
+ }
200
+ }
201
+ }
202
+ /**
203
+ * Find legacy-shaped transaction rows from the appropriate table.
204
+ *
205
+ * Post-cutover: queries `transactions_legacy` (the renamed legacy schema
206
+ * table that holds unsigned/unprocessed rows without a real txid).
207
+ * Pre-cutover (or on providers that do not support the the new schema): falls back
208
+ * to the standard `findTransactions` which targets the `transactions` table.
209
+ *
210
+ * Used by `processAction.validateCommitNewTxToStorageArgs` to locate the
211
+ * unsigned transaction row created by `createAction` via `insertLegacyTransaction`.
212
+ *
213
+ * StorageKnex overrides this to route to `transactions_legacy` when the
214
+ * table exists (post-cutover), otherwise falls through to `findTransactions`.
215
+ */
216
+ async findLegacyTransactions(args) {
217
+ return await this.findTransactions(args);
218
+ }
219
+ /**
220
+ * Update a legacy-shaped transaction row in the appropriate table.
221
+ *
222
+ * Post-cutover: updates `transactions_legacy` (where unsigned rows live).
223
+ * Pre-cutover: delegates to the standard `updateTransaction`.
224
+ *
225
+ * Used by `processAction.commitNewTxToStorage` to write back the final txid
226
+ * and status to the legacy row that was created by `createAction`.
227
+ *
228
+ * StorageKnex overrides this to route to `transactions_legacy` when the
229
+ * table exists (post-cutover), otherwise falls through to `updateTransaction`.
230
+ */
231
+ async updateLegacyTransaction(id, update, trx) {
232
+ return await this.updateTransaction(id, update, trx);
233
+ }
234
+ /**
235
+ * Mark an output as spent by a (potentially legacy) transaction.
236
+ *
237
+ * Post-cutover on SQLite: setting `outputs.spentBy = legacyTransactionId`
238
+ * violates the FK `outputs.spentBy → transactions.transactionId` because
239
+ * unsigned transactions created by `createAction` live in `transactions_legacy`.
240
+ * This method disables the FK constraint for the duration of the update.
241
+ * The constraint will be satisfied once `processAction` creates the new schema row and
242
+ * the bridge-period is complete.
243
+ *
244
+ * Pre-cutover: delegates to `updateOutput` with no FK bypass.
245
+ *
246
+ * StorageKnex overrides this to toggle `PRAGMA foreign_keys` around the UPDATE
247
+ * when `isPostCutover()` and the dbtype is `SQLite`.
248
+ *
249
+ * Mapping §2: bridge-period `outputs.spentBy` temporarily references
250
+ * `transactions_legacy.transactionId` during `createAction`; new-schema FK is bypassed.
251
+ */
252
+ async markOutputAsSpentBy(outputId, update, trx) {
253
+ await this.updateOutput(outputId, update, trx);
254
+ }
255
+ /**
256
+ * Disable FK enforcement on the underlying database connection.
257
+ *
258
+ * No-op on non-SQLite or pre-cutover databases. On post-cutover SQLite,
259
+ * `StorageKnex` overrides this to run `PRAGMA foreign_keys = OFF` on the
260
+ * bare knex connection BEFORE a transaction is opened (since PRAGMA changes
261
+ * inside SQLite transactions are silently ignored).
262
+ *
263
+ * Must be paired with a `enableForeignKeys()` call in a finally block.
264
+ */
265
+ async disableForeignKeys() {
266
+ // no-op by default (non-SQLite or pre-cutover)
267
+ }
268
+ /**
269
+ * Re-enable FK enforcement on the underlying database connection.
270
+ * Counterpart to `disableForeignKeys()`.
271
+ */
272
+ async enableForeignKeys() {
273
+ // no-op by default
274
+ }
124
275
  async abortAction(auth, args) {
125
276
  if (!auth.userId)
126
277
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('auth.userId', 'valid');
@@ -128,7 +279,10 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
128
279
  let reference = args.reference;
129
280
  let txid;
130
281
  const r = await this.transaction(async (trx) => {
131
- let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
282
+ // Post-cutover: unsigned/unprocessed rows live in transactions_legacy.
283
+ // findLegacyTransactions routes to the correct table.
284
+ // Mapping §2: legacy `unsigned` → no equivalent in new schema; must check transactions_legacy.
285
+ let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findLegacyTransactions({
132
286
  partial: { reference, userId },
133
287
  noRawTx: true,
134
288
  trx
@@ -137,7 +291,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
137
291
  // reference may also be a txid
138
292
  txid = reference;
139
293
  reference = undefined;
140
- tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
294
+ tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findLegacyTransactions({
141
295
  partial: { txid, userId },
142
296
  noRawTx: true,
143
297
  trx
@@ -302,7 +456,12 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
302
456
  where.userId = userId;
303
457
  if (reference)
304
458
  where.reference = reference;
305
- const tx = (0, utilityHelpers_1.verifyOne)(await this.findTransactions({ partial: where, noRawTx: true, trx }));
459
+ // Post-cutover: unsigned/unprocessed rows live in transactions_legacy.
460
+ // findLegacyTransactions routes to transactions_legacy when post-cutover,
461
+ // falls back to findTransactions pre-cutover.
462
+ // Mapping §2: legacy `unsigned`/`unprocessed` rows only exist in
463
+ // transactions_legacy post-cutover; new `transactions` has `processing`.
464
+ const tx = (0, utilityHelpers_1.verifyOne)(await this.findLegacyTransactions({ partial: where, noRawTx: true, trx }));
306
465
  // if (tx.status === status)
307
466
  // no change required. Assume inputs and outputs spendable and spentBy are valid for status.
308
467
  // return
@@ -338,7 +497,8 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
338
497
  default:
339
498
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('status', `not be ${status}`);
340
499
  }
341
- await this.updateTransaction(tx.transactionId, { status }, trx);
500
+ // Post-cutover: updateLegacyTransaction routes to transactions_legacy.
501
+ await this.updateLegacyTransaction(tx.transactionId, { status }, trx);
342
502
  }, trx);
343
503
  }
344
504
  async createAction(auth, args) {