@bsv/wallet-toolbox 2.6.5 → 2.7.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 (215) hide show
  1. package/CHANGELOG.md +68 -8
  2. package/README.md +68 -18
  3. package/docs/action-batch-planning.md +80 -37
  4. package/docs/managed-change-liquidity.md +251 -0
  5. package/out/src/Setup.d.ts +9 -0
  6. package/out/src/Setup.d.ts.map +1 -1
  7. package/out/src/Setup.js +2 -0
  8. package/out/src/Setup.js.map +1 -1
  9. package/out/src/SetupClient.d.ts +3 -0
  10. package/out/src/SetupClient.d.ts.map +1 -1
  11. package/out/src/SetupClient.js +1 -0
  12. package/out/src/SetupClient.js.map +1 -1
  13. package/out/src/SetupWallet.d.ts +3 -0
  14. package/out/src/SetupWallet.d.ts.map +1 -1
  15. package/out/src/Wallet.d.ts +4 -3
  16. package/out/src/Wallet.d.ts.map +1 -1
  17. package/out/src/Wallet.js +4 -3
  18. package/out/src/Wallet.js.map +1 -1
  19. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  20. package/out/src/WalletPermissionsManager.js +5 -8
  21. package/out/src/WalletPermissionsManager.js.map +1 -1
  22. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  23. package/out/src/mockchain/MockServices.js +2 -6
  24. package/out/src/mockchain/MockServices.js.map +1 -1
  25. package/out/src/monitor/Monitor.d.ts.map +1 -1
  26. package/out/src/monitor/Monitor.js +5 -4
  27. package/out/src/monitor/Monitor.js.map +1 -1
  28. package/out/src/monitor/tasks/TaskArcSSE.d.ts +4 -1
  29. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  30. package/out/src/monitor/tasks/TaskArcSSE.js +92 -65
  31. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  32. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts +25 -0
  33. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -0
  34. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +181 -0
  35. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -0
  36. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  37. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +15 -3
  38. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  39. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +29 -2
  40. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  41. package/out/src/monitor/tasks/TaskReviewUtxos.js +155 -7
  42. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  43. package/out/src/monitor/tasks/index.all.d.ts +1 -0
  44. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  45. package/out/src/monitor/tasks/index.all.js +1 -0
  46. package/out/src/monitor/tasks/index.all.js.map +1 -1
  47. package/out/src/sdk/ActionBatch.interfaces.d.ts +19 -0
  48. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -1
  49. package/out/src/sdk/WERR_errors.d.ts +23 -0
  50. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  51. package/out/src/sdk/WERR_errors.js +44 -1
  52. package/out/src/sdk/WERR_errors.js.map +1 -1
  53. package/out/src/sdk/WalletError.d.ts.map +1 -1
  54. package/out/src/sdk/WalletError.js +7 -21
  55. package/out/src/sdk/WalletError.js.map +1 -1
  56. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  57. package/out/src/sdk/WalletErrorFromJson.js +9 -1
  58. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  59. package/out/src/sdk/WalletServices.interfaces.d.ts +14 -1
  60. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  61. package/out/src/sdk/WalletStorage.interfaces.d.ts +3 -1
  62. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  63. package/out/src/sdk/types.d.ts +3 -2
  64. package/out/src/sdk/types.d.ts.map +1 -1
  65. package/out/src/sdk/types.js +3 -2
  66. package/out/src/sdk/types.js.map +1 -1
  67. package/out/src/services/Services.d.ts.map +1 -1
  68. package/out/src/services/Services.js +73 -15
  69. package/out/src/services/Services.js.map +1 -1
  70. package/out/src/services/classifyOutputUtxo.d.ts +25 -0
  71. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -0
  72. package/out/src/services/classifyOutputUtxo.js +87 -0
  73. package/out/src/services/classifyOutputUtxo.js.map +1 -0
  74. package/out/src/services/createDefaultWalletServicesOptions.d.ts +16 -3
  75. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  76. package/out/src/services/createDefaultWalletServicesOptions.js +38 -8
  77. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  78. package/out/src/services/providers/ArcSSEClient.d.ts +13 -4
  79. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  80. package/out/src/services/providers/ArcSSEClient.js +30 -7
  81. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  82. package/out/src/services/providers/Arcade.d.ts +10 -1
  83. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  84. package/out/src/services/providers/Arcade.js +63 -0
  85. package/out/src/services/providers/Arcade.js.map +1 -1
  86. package/out/src/services/providers/arcadeStatus.d.ts +18 -0
  87. package/out/src/services/providers/arcadeStatus.d.ts.map +1 -0
  88. package/out/src/services/providers/arcadeStatus.js +56 -0
  89. package/out/src/services/providers/arcadeStatus.js.map +1 -0
  90. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  91. package/out/src/signer/actionBatch/ActionBatchPlanner.js +25 -3
  92. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  93. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +2 -0
  94. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  95. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +135 -16
  96. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  97. package/out/src/storage/StorageIdb.d.ts +2 -0
  98. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  99. package/out/src/storage/StorageIdb.js +24 -1
  100. package/out/src/storage/StorageIdb.js.map +1 -1
  101. package/out/src/storage/StorageKnex.d.ts +1 -1
  102. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  103. package/out/src/storage/StorageKnex.js +4 -4
  104. package/out/src/storage/StorageKnex.js.map +1 -1
  105. package/out/src/storage/StorageProvider.d.ts +18 -2
  106. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  107. package/out/src/storage/StorageProvider.js +45 -14
  108. package/out/src/storage/StorageProvider.js.map +1 -1
  109. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  110. package/out/src/storage/StorageReaderWriter.js +3 -2
  111. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  112. package/out/src/storage/WalletStorageManager.d.ts +12 -0
  113. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  114. package/out/src/storage/WalletStorageManager.js +22 -2
  115. package/out/src/storage/WalletStorageManager.js.map +1 -1
  116. package/out/src/storage/adminServer/adminServer.d.ts +2 -0
  117. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  118. package/out/src/storage/adminServer/adminServer.js +25 -8
  119. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  120. package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
  121. package/out/src/storage/adminServer/adminUi.js +32 -9
  122. package/out/src/storage/adminServer/adminUi.js.map +1 -1
  123. package/out/src/storage/adminServer/reviewUtxos.d.ts +27 -0
  124. package/out/src/storage/adminServer/reviewUtxos.d.ts.map +1 -0
  125. package/out/src/storage/adminServer/reviewUtxos.js +62 -0
  126. package/out/src/storage/adminServer/reviewUtxos.js.map +1 -0
  127. package/out/src/storage/index.all.d.ts +1 -0
  128. package/out/src/storage/index.all.d.ts.map +1 -1
  129. package/out/src/storage/index.all.js +1 -0
  130. package/out/src/storage/index.all.js.map +1 -1
  131. package/out/src/storage/index.client.d.ts +1 -0
  132. package/out/src/storage/index.client.d.ts.map +1 -1
  133. package/out/src/storage/index.client.js +1 -0
  134. package/out/src/storage/index.client.js.map +1 -1
  135. package/out/src/storage/index.mobile.d.ts +1 -0
  136. package/out/src/storage/index.mobile.d.ts.map +1 -1
  137. package/out/src/storage/index.mobile.js +1 -0
  138. package/out/src/storage/index.mobile.js.map +1 -1
  139. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  140. package/out/src/storage/methods/ListOutputsSpecOp.js +4 -44
  141. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  142. package/out/src/storage/methods/actionBatch.d.ts +9 -2
  143. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  144. package/out/src/storage/methods/actionBatch.js +258 -66
  145. package/out/src/storage/methods/actionBatch.js.map +1 -1
  146. package/out/src/storage/methods/actionBatchBlobs.js +7 -4
  147. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  148. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  149. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +2 -66
  150. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  151. package/out/src/storage/methods/availableManagedChange.d.ts +8 -1
  152. package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -1
  153. package/out/src/storage/methods/availableManagedChange.js.map +1 -1
  154. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  155. package/out/src/storage/methods/createAction.js +176 -58
  156. package/out/src/storage/methods/createAction.js.map +1 -1
  157. package/out/src/storage/methods/generateChange.d.ts +13 -1
  158. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  159. package/out/src/storage/methods/generateChange.js +169 -12
  160. package/out/src/storage/methods/generateChange.js.map +1 -1
  161. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  162. package/out/src/storage/methods/listActionsIdb.js +4 -0
  163. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  164. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  165. package/out/src/storage/methods/listActionsKnex.js +4 -0
  166. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  167. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  168. package/out/src/storage/methods/listOutputsIdb.js +2 -1
  169. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  170. package/out/src/storage/methods/managedChangePolicy.d.ts +44 -0
  171. package/out/src/storage/methods/managedChangePolicy.d.ts.map +1 -0
  172. package/out/src/storage/methods/managedChangePolicy.js +58 -0
  173. package/out/src/storage/methods/managedChangePolicy.js.map +1 -0
  174. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +26 -0
  175. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -0
  176. package/out/src/storage/methods/reconcileFailedTransactionInputs.js +124 -0
  177. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -0
  178. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +37 -0
  179. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -0
  180. package/out/src/storage/methods/reviewUtxoOutputs.js +150 -0
  181. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -0
  182. package/out/src/storage/portable/index.d.ts.map +1 -1
  183. package/out/src/storage/portable/index.js +4 -2
  184. package/out/src/storage/portable/index.js.map +1 -1
  185. package/out/src/storage/remoting/StorageClientBase.d.ts +2 -1
  186. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  187. package/out/src/storage/remoting/StorageClientBase.js +3 -0
  188. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  189. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  190. package/out/src/storage/remoting/StorageServer.js +4 -1
  191. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  192. package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
  193. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  194. package/out/src/storage/schema/KnexMigrations.js +29 -3
  195. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  196. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  197. package/out/src/storage/schema/entities/EntityOutputBasket.js +5 -2
  198. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  199. package/out/src/utility/brc153ReferenceLabels.d.ts +21 -0
  200. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -0
  201. package/out/src/utility/brc153ReferenceLabels.js +45 -0
  202. package/out/src/utility/brc153ReferenceLabels.js.map +1 -0
  203. package/out/src/utility/index.all.d.ts +1 -0
  204. package/out/src/utility/index.all.d.ts.map +1 -1
  205. package/out/src/utility/index.all.js +1 -0
  206. package/out/src/utility/index.all.js.map +1 -1
  207. package/out/src/utility/index.client.d.ts +1 -0
  208. package/out/src/utility/index.client.d.ts.map +1 -1
  209. package/out/src/utility/index.client.js +1 -0
  210. package/out/src/utility/index.client.js.map +1 -1
  211. package/out/src/utility/utilityHelpers.d.ts +1 -1
  212. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  213. package/out/src/utility/utilityHelpers.js +2 -1
  214. package/out/src/utility/utilityHelpers.js.map +1 -1
  215. package/package.json +3 -3
@@ -68,7 +68,7 @@ async function createActionCore(storage, auth, vargs, parent) {
68
68
  * - Create result inputs with source locking scripts
69
69
  * - Create result outputs with new locking scripts.
70
70
  * - Create and return result.
71
- */
71
+ */
72
72
  const userId = auth.userId;
73
73
  const validated = await traceStorageStep(storage, 'wallet.storage.create_action.validate', parent, {
74
74
  'action.fixed_input_count': vargs.inputs.length,
@@ -98,7 +98,7 @@ async function createActionCore(storage, auth, vargs, parent) {
98
98
  const { storageBeef, beef, xinputs, xoutputs, changeBasket, noSendChangeIn } = validated;
99
99
  const feeModel = (0, StorageProvider_1.validateStorageFeeModel)(storage.feeModel);
100
100
  logger?.log(`validated fee model ${JSON.stringify(feeModel)}`);
101
- const initialFundingPlan = await prepareFundingPlanWithSendingFallback(storage, [userId, vargs, xinputs, xoutputs, changeBasket, noSendChangeIn, feeModel], parent);
101
+ const initialFundingPlan = await prepareFundingPlanWithLiquidityPolicy(storage, [userId, vargs, xinputs, xoutputs, changeBasket, noSendChangeIn, feeModel], parent);
102
102
  logger?.log(`planned funding from ${initialFundingPlan.availableChangeCount} change inputs`);
103
103
  // The selected source txids are known before the write transaction begins.
104
104
  // Start their one batched proof read now so PXC/network wait and BEEF
@@ -697,8 +697,8 @@ async function validateNoSendChange(storage, userId, vargs, changeBasket) {
697
697
  return r;
698
698
  }
699
699
  function fundingPlanSatoshis(plan) {
700
- return plan.result.changeOutputs.reduce((sum, output) => sum + output.satoshis, 0) -
701
- plan.selected.reduce((sum, output) => sum + output.satoshis, 0);
700
+ return (plan.result.changeOutputs.reduce((sum, output) => sum + output.satoshis, 0) -
701
+ plan.selected.reduce((sum, output) => sum + output.satoshis, 0));
702
702
  }
703
703
  class FundingClaimConflict extends Error {
704
704
  conflict;
@@ -712,7 +712,9 @@ async function traceStorageStep(storage, name, parent, attributes, callback) {
712
712
  return await callback();
713
713
  return await storage.telemetry.withSpan(name, { component: 'wallet-storage', parent: parent?.context, attributes }, async (span) => await callback(span));
714
714
  }
715
- function makeFundingParams(vargs, xinputs, xoutputs, changeBasket, feeModel, availableChangeCount) {
715
+ function makeFundingParams(args) {
716
+ const { storage, vargs, xinputs, xoutputs, changeBasket, feeModel, healthyChangeCount, compatibilityFallback } = args;
717
+ const preferredSatoshis = Math.max(1, changeBasket.minimumDesiredUTXOValue);
716
718
  return {
717
719
  fixedInputs: xinputs.map(input => ({
718
720
  satoshis: input.satoshis,
@@ -723,39 +725,60 @@ function makeFundingParams(vargs, xinputs, xoutputs, changeBasket, feeModel, ava
723
725
  lockingScriptLength: output.lockingScript.length / 2
724
726
  })),
725
727
  feeModel,
726
- changeInitialSatoshis: Math.max(1, changeBasket.minimumDesiredUTXOValue),
727
- changeFirstSatoshis: Math.max(1, Math.round(changeBasket.minimumDesiredUTXOValue / 4)),
728
+ changeInitialSatoshis: preferredSatoshis,
729
+ // The final compatibility shape uses the allocator's economic floor. This
730
+ // remains at least as permissive as every historical basket preference,
731
+ // including an exact 144/32 basket that has just migrated to 144/5000.
732
+ changeFirstSatoshis: compatibilityFallback ? 1 : preferredSatoshis,
728
733
  changeLockingScriptLength: 25,
729
734
  changeUnlockingScriptLength: 107,
730
- targetNetCount: changeBasket.numberOfDesiredUTXOs - availableChangeCount,
735
+ targetNetCount: changeBasket.numberOfDesiredUTXOs - healthyChangeCount,
736
+ maxChangeOutputs: storage.managedChangePolicy.maxOutputsPerAction,
737
+ surplusPoolShaping: !compatibilityFallback,
738
+ maxMigrationInputs: compatibilityFallback ? 0 : storage.managedChangePolicy.migrationInputsPerAction,
731
739
  randomVals: vargs.randomVals
732
740
  };
733
741
  }
734
- async function prepareFundingPlan(storage, context) {
735
- const [userId, vargs, xinputs, xoutputs, changeBasket, noSendChangeIn, feeModel, excludeSending, parent, trx] = context;
736
- const candidates = await traceStorageStep(storage, 'wallet.storage.create_action.funding_candidates', parent, { 'funding.exclude_sending': excludeSending }, async (span) => {
737
- const outputs = await storage.findAvailableManagedChangeInputCandidates(userId, changeBasket.basketId, excludeSending, trx);
738
- span?.end({
739
- attributes: {
740
- 'funding.candidate_count': outputs.length,
741
- 'funding.candidate_satoshis': outputs.reduce((sum, output) => sum + output.satoshis, 0)
742
- }
743
- });
744
- return outputs;
745
- });
742
+ async function buildFundingPlan(storage, context, candidates, eligibleStatuses, policyTier, compatibilityFallback, parent) {
743
+ const [userId, vargs, xinputs, xoutputs, changeBasket, noSendChangeIn, feeModel] = context;
746
744
  const noSendIds = new Set(noSendChangeIn.map(output => output.outputId));
747
- const available = candidates.filter(output => !noSendIds.has(output.outputId));
748
- // Preserve the legacy target-net-count input: noSendChange was included in
749
- // countChangeInputs before it was consumed by the allocator.
750
- const params = makeFundingParams(vargs, xinputs, xoutputs, changeBasket, feeModel, candidates.length);
745
+ const available = candidates.filter(output => !noSendIds.has(output.outputId) && eligibleStatuses.includes(output.transactionStatus));
746
+ const preferredSatoshis = Math.max(1, changeBasket.minimumDesiredUTXOValue);
747
+ const healthyChangeCount = compatibilityFallback
748
+ ? // Preserve the legacy target-count input exactly, including noSendChange
749
+ // that is removed from the allocator below but still belongs to this tier.
750
+ candidates.filter(output => eligibleStatuses.includes(output.transactionStatus)).length
751
+ : candidates.filter(output => output.satoshis >= preferredSatoshis).length;
752
+ const params = makeFundingParams({
753
+ storage,
754
+ vargs,
755
+ xinputs,
756
+ xoutputs,
757
+ changeBasket,
758
+ feeModel,
759
+ healthyChangeCount,
760
+ compatibilityFallback
761
+ });
762
+ const noSendStatuses = await storage.findTransactionStatusesByIds(userId, noSendChangeIn.map(output => output.transactionId));
763
+ const plannedNoSend = noSendChangeIn.map(output => ({
764
+ outputId: output.outputId,
765
+ transactionId: output.transactionId,
766
+ satoshis: output.satoshis,
767
+ txid: output.txid,
768
+ vout: output.vout,
769
+ transactionStatus: noSendStatuses.get(output.transactionId) ?? 'nosend'
770
+ }));
771
+ const claimStatuses = [...new Set([...eligibleStatuses, ...plannedNoSend.map(output => output.transactionStatus)])];
751
772
  return await traceStorageStep(storage, 'wallet.storage.create_action.funding_plan', parent, {
752
773
  'funding.candidate_count': available.length,
753
- 'funding.no_send_change_count': noSendChangeIn.length
774
+ 'funding.no_send_change_count': noSendChangeIn.length,
775
+ 'funding.policy_tier': policyTier,
776
+ 'funding.compatibility_fallback': compatibilityFallback
754
777
  }, async (span) => {
755
778
  const allocated = new Map();
756
779
  const availableSelector = new actionPlanning_1.CanonicalChangeSelector(available);
757
- const noSend = [...noSendChangeIn];
758
- const noSendById = new Map(noSendChangeIn.map(output => [output.outputId, output]));
780
+ const noSend = [...plannedNoSend];
781
+ const noSendById = new Map(plannedNoSend.map(output => [output.outputId, output]));
759
782
  const allocate = async (targetSatoshis, exactSatoshis) => {
760
783
  let output = noSend.pop();
761
784
  output ??= availableSelector.take(targetSatoshis, exactSatoshis);
@@ -789,37 +812,136 @@ async function prepareFundingPlan(storage, context) {
789
812
  result,
790
813
  selected,
791
814
  availableChangeCount: candidates.length,
792
- excludeSending
815
+ eligibleStatuses: claimStatuses,
816
+ policyTier,
817
+ compatibilityFallback
793
818
  };
794
819
  });
795
820
  }
796
- async function prepareFundingPlanWithSendingFallback(storage, context, parent, trx) {
797
- const excludeSending = !context[1].isDelayed;
821
+ async function fundingPlanSerializedCost(storage, plan, knownTxids) {
822
+ const txids = [...new Set(plan.selected.map(candidate => (0, utilityHelpers_1.verifyTruthy)(candidate.txid)))];
823
+ if (txids.length === 0)
824
+ return plan.result.size;
798
825
  try {
799
- return await prepareFundingPlan(storage, [...context, excludeSending, parent, trx]);
826
+ const beef = await storage.getBeefForTransactions(txids, {
827
+ knownTxids,
828
+ ignoreStorage: false,
829
+ ignoreServices: true,
830
+ ignoreNewProven: false
831
+ });
832
+ return plan.result.size + beef.toUint8Array().length;
833
+ }
834
+ catch {
835
+ return Number.MAX_SAFE_INTEGER;
836
+ }
837
+ }
838
+ const FUNDING_TIERS = [
839
+ { policyTier: 'completed', statuses: ['completed'] },
840
+ { policyTier: 'unproven', statuses: ['completed', 'unproven'] },
841
+ { policyTier: 'sending', statuses: ['completed', 'unproven', 'sending'] }
842
+ ];
843
+ async function resolveFundingCandidates(storage, userId, basketId, parent, trx) {
844
+ const rawCandidates = await traceStorageStep(storage, 'wallet.storage.create_action.funding_candidates', parent, { 'funding.include_pending': true }, async (span) => {
845
+ const outputs = await storage.findAvailableManagedChangeInputCandidates(userId, basketId, false, trx);
846
+ span?.end({
847
+ attributes: {
848
+ 'funding.candidate_count': outputs.length,
849
+ 'funding.candidate_satoshis': outputs.reduce((sum, output) => sum + output.satoshis, 0),
850
+ 'funding.completed_candidate_count': outputs.filter(output => output.transactionStatus === 'completed')
851
+ .length,
852
+ 'funding.unproven_candidate_count': outputs.filter(output => output.transactionStatus === 'unproven').length,
853
+ 'funding.sending_candidate_count': outputs.filter(output => output.transactionStatus === 'sending').length
854
+ }
855
+ });
856
+ return outputs;
857
+ });
858
+ const missingStatusIds = rawCandidates
859
+ .filter(output => output.transactionStatus == null)
860
+ .map(output => output.transactionId);
861
+ const missingStatuses = await storage.findTransactionStatusesByIds(userId, missingStatusIds, trx);
862
+ const candidates = rawCandidates.map(output => ({
863
+ ...output,
864
+ transactionStatus: output.transactionStatus ?? missingStatuses.get(output.transactionId)
865
+ }));
866
+ if (candidates.some(output => output.transactionStatus == null)) {
867
+ throw new WERR_errors_1.WERR_INTERNAL('managed change candidate is missing its source transaction status');
868
+ }
869
+ return candidates;
870
+ }
871
+ async function buildFundingPlanForTier(storage, context, candidates, tier, parent) {
872
+ try {
873
+ return {
874
+ plan: await buildFundingPlan(storage, context, candidates, tier.statuses, tier.policyTier, false, parent)
875
+ };
876
+ }
877
+ catch (error) {
878
+ if (!(error instanceof WERR_errors_1.WERR_INSUFFICIENT_FUNDS))
879
+ throw error;
880
+ }
881
+ // Pool shaping is optional. Before widening ancestry to unproven or sending
882
+ // parents, retry the same status tier with the former funding shape. This is
883
+ // the one-way compatibility guarantee: a preferred minimum can never
884
+ // manufacture starvation or force a pending chain.
885
+ try {
886
+ return {
887
+ plan: await buildFundingPlan(storage, context, candidates, tier.statuses, 'compatibility', true, parent)
888
+ };
800
889
  }
801
890
  catch (error) {
802
- if (!excludeSending || !(error instanceof WERR_errors_1.WERR_INSUFFICIENT_FUNDS))
891
+ if (!(error instanceof WERR_errors_1.WERR_INSUFFICIENT_FUNDS))
803
892
  throw error;
804
- // A transaction waiting for background broadcast already has a complete
805
- // raw transaction and input BEEF in storage. Its wallet-managed change is
806
- // safe to chain: the immediate broadcast path recursively merges that
807
- // ancestor into the child BEEF. Prefer settled change, then admit queued
808
- // change only when excluding it would report an underfunded wallet.
809
- return await prepareFundingPlan(storage, [...context, false, parent, trx]);
893
+ return { fundingError: error };
894
+ }
895
+ }
896
+ function firstPlanNeedsNoPendingComparison(storage, plan) {
897
+ const threshold = storage.managedChangePolicy.pendingComparisonInputs;
898
+ return threshold === -1 || plan.selected.length <= threshold;
899
+ }
900
+ async function chooseLowestSerializedFundingPlan(storage, plans, knownTxids) {
901
+ let chosen = plans[0];
902
+ let chosenCost = await fundingPlanSerializedCost(storage, chosen, knownTxids);
903
+ for (const alternative of plans.slice(1)) {
904
+ const cost = await fundingPlanSerializedCost(storage, alternative, knownTxids);
905
+ if (cost < chosenCost) {
906
+ chosen = alternative;
907
+ chosenCost = cost;
908
+ }
810
909
  }
910
+ return chosen;
911
+ }
912
+ async function prepareFundingPlanWithLiquidityPolicy(storage, context, parent, trx) {
913
+ const [userId, vargs, , , changeBasket] = context;
914
+ const candidates = await resolveFundingCandidates(storage, userId, changeBasket.basketId, parent, trx);
915
+ const successful = [];
916
+ let fundingError;
917
+ for (const tier of FUNDING_TIERS) {
918
+ const attempted = await buildFundingPlanForTier(storage, context, candidates, tier, parent);
919
+ fundingError = attempted.fundingError ?? fundingError;
920
+ const plan = attempted.plan;
921
+ if (plan != null) {
922
+ successful.push(plan);
923
+ if (successful.length === 1 && firstPlanNeedsNoPendingComparison(storage, plan))
924
+ return plan;
925
+ }
926
+ }
927
+ if (successful.length > 0) {
928
+ if (successful.length === 1)
929
+ return successful[0];
930
+ return await chooseLowestSerializedFundingPlan(storage, successful, vargs.options.knownTxids);
931
+ }
932
+ if (fundingError != null)
933
+ throw fundingError;
934
+ throw new WERR_errors_1.WERR_INTERNAL('funding policy produced neither a plan nor an error');
811
935
  }
812
936
  async function claimFundingPlan(storage, request) {
813
- const [userId, basketId, excludeSending, transactionId, noSendChangeIn, plan, trx] = request;
937
+ const [userId, basketId, eligibleStatuses, transactionId, noSendChangeIn, plan, trx] = request;
814
938
  if (plan.selected.length === 0) {
815
939
  return { outputs: [], sourceTransactionCount: 0, hydratedScriptCount: 0, scriptSourceTransactionCount: 0 };
816
940
  }
817
941
  const noSendIds = new Set(noSendChangeIn.map(output => output.outputId));
818
- const statuses = ['completed', 'unproven'];
819
- if (!excludeSending)
820
- statuses.push('sending');
821
- const claim = await storage.transaction(async (claimTrx) => {
822
- const currentById = await storage.findFundingOutputsForUpdate(userId, plan.selected.map(output => output.outputId), statuses, claimTrx);
942
+ const claim = await storage
943
+ .transaction(async (claimTrx) => {
944
+ const currentById = await storage.findFundingOutputsForUpdate(userId, plan.selected.map(output => output.outputId), eligibleStatuses, claimTrx);
823
945
  const transactionIds = [...new Set(Object.values(currentById).map(output => output.transactionId))];
824
946
  const claimed = [];
825
947
  for (const planned of plan.selected) {
@@ -843,7 +965,8 @@ async function claimFundingPlan(storage, request) {
843
965
  output.spentBy = transactionId;
844
966
  }
845
967
  return { outputs: claimed, sourceTransactionCount: transactionIds.length };
846
- }, trx).catch(error => {
968
+ }, trx)
969
+ .catch(error => {
847
970
  if (error instanceof FundingClaimConflict)
848
971
  return { conflict: error.conflict };
849
972
  throw error;
@@ -859,9 +982,12 @@ async function claimFundingPlan(storage, request) {
859
982
  }
860
983
  async function hydrateFundingInputScripts(storage, outputs, trx) {
861
984
  const missing = outputs.filter(output => output.lockingScript?.length !== output.scriptLength &&
862
- output.scriptLength != null && output.scriptLength > 0 &&
863
- output.scriptOffset != null && output.scriptOffset > 0 &&
864
- output.txid != null && output.txid !== '');
985
+ output.scriptLength != null &&
986
+ output.scriptLength > 0 &&
987
+ output.scriptOffset != null &&
988
+ output.scriptOffset > 0 &&
989
+ output.txid != null &&
990
+ output.txid !== '');
865
991
  if (missing.length === 0)
866
992
  return { hydratedScriptCount: 0, scriptSourceTransactionCount: 0 };
867
993
  const byTxid = new Map();
@@ -906,7 +1032,7 @@ async function fundNewTransactionSdk(storage, userId, vargs, ctx, initialPlan, p
906
1032
  const claim = await claimFundingPlan(storage, [
907
1033
  userId,
908
1034
  ctx.changeBasket.basketId,
909
- plan.excludeSending,
1035
+ plan.eligibleStatuses,
910
1036
  ctx.transactionId,
911
1037
  ctx.noSendChangeIn,
912
1038
  plan,
@@ -928,15 +1054,7 @@ async function fundNewTransactionSdk(storage, userId, vargs, ctx, initialPlan, p
928
1054
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('noSendChange', 'outputs that remain spendable during action planning');
929
1055
  }
930
1056
  retryCount++;
931
- plan = await prepareFundingPlanWithSendingFallback(storage, [
932
- userId,
933
- vargs,
934
- ctx.xinputs,
935
- ctx.xoutputs,
936
- ctx.changeBasket,
937
- ctx.noSendChangeIn,
938
- ctx.feeModel
939
- ], parent, trx);
1057
+ plan = await prepareFundingPlanWithLiquidityPolicy(storage, [userId, vargs, ctx.xinputs, ctx.xoutputs, ctx.changeBasket, ctx.noSendChangeIn, ctx.feeModel], parent, trx);
940
1058
  }
941
1059
  throw new WERR_errors_1.WERR_INVALID_OPERATION('wallet funding changed repeatedly during action planning; retry createAction');
942
1060
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createAction.js","sourceRoot":"","sources":["../../../../src/storage/methods/createAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAction.js","sourceRoot":"","sources":["../../../../src/storage/methods/createAction.ts"],"names":[],"mappings":"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"}
@@ -79,13 +79,25 @@ export interface GenerateChangeSdkParams {
79
79
  changeUnlockingScriptLength: number;
80
80
  /**
81
81
  * Maximum number of change outputs to create in this transaction.
82
- * Defaults to `maxChangeOutputsPerTransaction` (8).
82
+ * Defaults to `maxChangeOutputsPerTransaction` (8). Set to -1 only when an
83
+ * operator deliberately wants the basket target to be the sole bound.
83
84
  *
84
85
  * Callers may override this to allow more outputs in special cases (e.g.
85
86
  * consolidation transactions) or fewer outputs when a compact transaction
86
87
  * is preferred.
87
88
  */
88
89
  maxChangeOutputs?: number;
90
+ /**
91
+ * When true, targetNetCount shapes only genuine post-funding surplus. The
92
+ * planner will not add inputs merely to reach the desired pool count.
93
+ */
94
+ surplusPoolShaping?: boolean;
95
+ /**
96
+ * Soft bound on undersized, fee-positive inputs consumed after compulsory
97
+ * funding to migrate an old wallet gradually. Set to -1 for an intentionally
98
+ * unbounded migration pass. Ignored unless surplusPoolShaping is true.
99
+ */
100
+ maxMigrationInputs?: number;
89
101
  randomVals?: number[];
90
102
  noLogging?: boolean;
91
103
  log?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"generateChange.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/generateChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateChange.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/generateChange.ts"],"names":[],"mappings":"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"}