@cardano-sdk/input-selection 0.12.31 → 0.13.1

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 (61) hide show
  1. package/dist/cjs/GreedySelection/GreedyInputSelector.d.ts.map +1 -1
  2. package/dist/cjs/GreedySelection/GreedyInputSelector.js +11 -10
  3. package/dist/cjs/GreedySelection/GreedyInputSelector.js.map +1 -1
  4. package/dist/cjs/GreedySelection/util.d.ts +2 -0
  5. package/dist/cjs/GreedySelection/util.d.ts.map +1 -1
  6. package/dist/cjs/GreedySelection/util.js +10 -1
  7. package/dist/cjs/GreedySelection/util.js.map +1 -1
  8. package/dist/cjs/RoundRobinRandomImprove/change.d.ts +5 -4
  9. package/dist/cjs/RoundRobinRandomImprove/change.d.ts.map +1 -1
  10. package/dist/cjs/RoundRobinRandomImprove/change.js +15 -14
  11. package/dist/cjs/RoundRobinRandomImprove/change.js.map +1 -1
  12. package/dist/cjs/RoundRobinRandomImprove/index.d.ts.map +1 -1
  13. package/dist/cjs/RoundRobinRandomImprove/index.js +8 -4
  14. package/dist/cjs/RoundRobinRandomImprove/index.js.map +1 -1
  15. package/dist/cjs/RoundRobinRandomImprove/roundRobin.d.ts +1 -1
  16. package/dist/cjs/RoundRobinRandomImprove/roundRobin.d.ts.map +1 -1
  17. package/dist/cjs/RoundRobinRandomImprove/roundRobin.js +2 -2
  18. package/dist/cjs/RoundRobinRandomImprove/roundRobin.js.map +1 -1
  19. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  20. package/dist/cjs/types.d.ts +8 -2
  21. package/dist/cjs/types.d.ts.map +1 -1
  22. package/dist/cjs/util.d.ts +3 -2
  23. package/dist/cjs/util.d.ts.map +1 -1
  24. package/dist/cjs/util.js +10 -9
  25. package/dist/cjs/util.js.map +1 -1
  26. package/dist/esm/ChangeAddress/ChangeAddressResolver.d.ts +1 -1
  27. package/dist/esm/ChangeAddress/StaticChangeAddressResolver.d.ts +1 -1
  28. package/dist/esm/ChangeAddress/index.d.ts +2 -2
  29. package/dist/esm/ChangeAddress/index.js +2 -2
  30. package/dist/esm/GreedySelection/GreedyInputSelector.d.ts +1 -1
  31. package/dist/esm/GreedySelection/GreedyInputSelector.d.ts.map +1 -1
  32. package/dist/esm/GreedySelection/GreedyInputSelector.js +14 -13
  33. package/dist/esm/GreedySelection/GreedyInputSelector.js.map +1 -1
  34. package/dist/esm/GreedySelection/index.d.ts +2 -2
  35. package/dist/esm/GreedySelection/index.js +2 -2
  36. package/dist/esm/GreedySelection/util.d.ts +3 -1
  37. package/dist/esm/GreedySelection/util.d.ts.map +1 -1
  38. package/dist/esm/GreedySelection/util.js +9 -2
  39. package/dist/esm/GreedySelection/util.js.map +1 -1
  40. package/dist/esm/RoundRobinRandomImprove/change.d.ts +6 -5
  41. package/dist/esm/RoundRobinRandomImprove/change.d.ts.map +1 -1
  42. package/dist/esm/RoundRobinRandomImprove/change.js +12 -11
  43. package/dist/esm/RoundRobinRandomImprove/change.js.map +1 -1
  44. package/dist/esm/RoundRobinRandomImprove/index.d.ts +2 -2
  45. package/dist/esm/RoundRobinRandomImprove/index.d.ts.map +1 -1
  46. package/dist/esm/RoundRobinRandomImprove/index.js +12 -8
  47. package/dist/esm/RoundRobinRandomImprove/index.js.map +1 -1
  48. package/dist/esm/RoundRobinRandomImprove/roundRobin.d.ts +2 -2
  49. package/dist/esm/RoundRobinRandomImprove/roundRobin.d.ts.map +1 -1
  50. package/dist/esm/RoundRobinRandomImprove/roundRobin.js +3 -3
  51. package/dist/esm/RoundRobinRandomImprove/roundRobin.js.map +1 -1
  52. package/dist/esm/index.d.ts +5 -5
  53. package/dist/esm/index.js +5 -5
  54. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  55. package/dist/esm/types.d.ts +8 -2
  56. package/dist/esm/types.d.ts.map +1 -1
  57. package/dist/esm/util.d.ts +4 -3
  58. package/dist/esm/util.d.ts.map +1 -1
  59. package/dist/esm/util.js +7 -6
  60. package/dist/esm/util.js.map +1 -1
  61. package/package.json +9 -10
@@ -1 +1 @@
1
- {"version":3,"file":"GreedyInputSelector.d.ts","sourceRoot":"","sources":["../../../src/GreedySelection/GreedyInputSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAwB,eAAe,EAAE,MAAM,UAAU,CAAC;AAa1G,MAAM,WAAW,mBAAmB;IAalC,kBAAkB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;CACxE;AA0ID,qBAAa,mBAAoB,YAAW,aAAa;;gBAG3C,KAAK,EAAE,mBAAmB;IAIhC,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;CAuDzE"}
1
+ {"version":3,"file":"GreedyInputSelector.d.ts","sourceRoot":"","sources":["../../../src/GreedySelection/GreedyInputSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAwB,eAAe,EAAE,MAAM,UAAU,CAAC;AAa1G,MAAM,WAAW,mBAAmB;IAalC,kBAAkB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;CACxE;AA+ID,qBAAa,mBAAoB,YAAW,aAAa;;gBAG3C,KAAK,EAAE,mBAAmB;IAIhC,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;CAwDzE"}
@@ -19,14 +19,14 @@ const util_1 = require("../util");
19
19
  const util_2 = require("./util");
20
20
  const adjustOutputsForFee = async (changeLovelace, constraints, inputs, outputs, changeOutputs, currentFee) => {
21
21
  const totalOutputs = new Set([...outputs, ...changeOutputs]);
22
- const fee = await constraints.computeMinimumCost({
22
+ const { fee, redeemers } = await constraints.computeMinimumCost({
23
23
  change: [],
24
24
  fee: currentFee,
25
25
  inputs,
26
26
  outputs: totalOutputs
27
27
  });
28
28
  if (fee === changeLovelace)
29
- return { change: [], fee, feeAccountedFor: true };
29
+ return { change: [], fee, feeAccountedFor: true, redeemers };
30
30
  if (changeLovelace < fee)
31
31
  throw new InputSelectionError_1.InputSelectionError(InputSelectionError_1.InputSelectionFailure.UtxoBalanceInsufficient);
32
32
  const updatedOutputs = [...changeOutputs];
@@ -40,7 +40,7 @@ const adjustOutputsForFee = async (changeLovelace, constraints, inputs, outputs,
40
40
  break;
41
41
  }
42
42
  }
43
- return { change: [...updatedOutputs], fee, feeAccountedFor };
43
+ return { change: [...updatedOutputs], fee, feeAccountedFor, redeemers };
44
44
  };
45
45
  const splitChangeAndComputeFee = async (inputs, outputs, changeLovelace, changeAssets, constraints, getChangeAddresses, fee) => {
46
46
  const changeOutputs = await (0, util_2.splitChange)(getChangeAddresses, changeLovelace, changeAssets, constraints.computeMinimumCoinQuantity, constraints.tokenBundleSizeExceedsLimit, fee);
@@ -82,8 +82,9 @@ class GreedyInputSelector {
82
82
  __classPrivateFieldSet(this, _GreedyInputSelector_props, props, "f");
83
83
  }
84
84
  async select(params) {
85
- const { utxo: inputs, outputs, constraints, implicitValue } = params;
86
- const utxoValues = (0, util_1.toValues)([...inputs]);
85
+ const { preSelectedUtxo, utxo: inputs, outputs, constraints, implicitValue } = params;
86
+ const allInputs = new Set([...inputs, ...preSelectedUtxo]);
87
+ const utxoValues = (0, util_1.toValues)([...allInputs]);
87
88
  const outputsValues = (0, util_1.toValues)([...outputs]);
88
89
  const totalLovelaceInUtxoSet = (0, util_1.getCoinQuantity)(utxoValues);
89
90
  const totalLovelaceInOutputSet = (0, util_1.getCoinQuantity)(outputsValues);
@@ -97,14 +98,14 @@ class GreedyInputSelector {
97
98
  const totalAssetsInput = (0, util_1.addTokenMaps)(totalAssetsInUtxoSet, implicitAssetInput);
98
99
  const changeLovelace = totalLovelaceInput - totalLovelaceOutput;
99
100
  const changeAssets = (0, util_1.subtractTokenMaps)(totalAssetsInput, totalAssetsInOutputSet);
100
- if (inputs.size === 0 || totalLovelaceOutput > totalLovelaceInput || (0, util_1.hasNegativeAssetValue)(changeAssets))
101
+ if (allInputs.size === 0 || totalLovelaceOutput > totalLovelaceInput || (0, util_1.hasNegativeAssetValue)(changeAssets))
101
102
  throw new InputSelectionError_1.InputSelectionError(InputSelectionError_1.InputSelectionFailure.UtxoBalanceInsufficient);
102
- const adjustedChangeOutputs = await splitChangeAndComputeFee(inputs, outputs, changeLovelace, changeAssets, constraints, __classPrivateFieldGet(this, _GreedyInputSelector_props, "f").getChangeAddresses, 0n);
103
+ const adjustedChangeOutputs = await splitChangeAndComputeFee(allInputs, outputs, changeLovelace, changeAssets, constraints, __classPrivateFieldGet(this, _GreedyInputSelector_props, "f").getChangeAddresses, 0n);
103
104
  const change = adjustedChangeOutputs.change.filter((out) => out.value.coins > 0n || (out.value.assets?.size || 0) > 0);
104
105
  if (changeLovelace - adjustedChangeOutputs.fee < 0n)
105
106
  throw new InputSelectionError_1.InputSelectionError(InputSelectionError_1.InputSelectionFailure.UtxoBalanceInsufficient);
106
- if (inputs.size >
107
- (await constraints.computeSelectionLimit({ change, fee: adjustedChangeOutputs.fee, inputs, outputs }))) {
107
+ if (allInputs.size >
108
+ (await constraints.computeSelectionLimit({ change, fee: adjustedChangeOutputs.fee, inputs: allInputs, outputs }))) {
108
109
  throw new InputSelectionError_1.InputSelectionError(InputSelectionError_1.InputSelectionFailure.MaximumInputCountExceeded);
109
110
  }
110
111
  return {
@@ -112,7 +113,7 @@ class GreedyInputSelector {
112
113
  selection: {
113
114
  change,
114
115
  fee: adjustedChangeOutputs.fee,
115
- inputs,
116
+ inputs: new Set([...allInputs].sort(util_2.sortUtxoByTxIn)),
116
117
  outputs
117
118
  }
118
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GreedyInputSelector.js","sourceRoot":"","sources":["../../../src/GreedySelection/GreedyInputSelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GreedyInputSelector.js","sourceRoot":"","sources":["../../../src/GreedySelection/GreedyInputSelector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
2
  import { ComputeMinimumCoinQuantity, TokenBundleSizeExceedsLimit } from '../types';
3
3
  export declare const splitChange: (getChangeAddresses: () => Promise<Map<Cardano.PaymentAddress, number>>, totalChangeLovelace: bigint, totalChangeAssets: Cardano.TokenMap | undefined, computeMinimumCoinQuantity: ComputeMinimumCoinQuantity, tokenBundleSizeExceedsLimit: TokenBundleSizeExceedsLimit, fee: bigint) => Promise<Array<Cardano.TxOut>>;
4
+ export declare const sortTxIn: (lhs: Cardano.TxIn, rhs: Cardano.TxIn) => number;
5
+ export declare const sortUtxoByTxIn: (lhs: Cardano.Utxo, rhs: Cardano.Utxo) => number;
4
6
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AA6KnF,eAAO,MAAM,WAAW,uBACF,MAAM,QAAQ,IAAI,QAAQ,cAAc,EAAE,MAAM,CAAC,CAAC,uBACjD,MAAM,qBACR,QAAQ,QAAQ,GAAG,SAAS,8BACnB,0BAA0B,+BACzB,2BAA2B,OACnD,MAAM,KACV,QAAQ,MAAM,QAAQ,KAAK,CAAC,CA2C9B,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AA6KnF,eAAO,MAAM,WAAW,uBACF,MAAM,QAAQ,IAAI,QAAQ,cAAc,EAAE,MAAM,CAAC,CAAC,uBACjD,MAAM,qBACR,QAAQ,QAAQ,GAAG,SAAS,8BACnB,0BAA0B,+BACzB,2BAA2B,OACnD,MAAM,KACV,QAAQ,MAAM,QAAQ,KAAK,CAAC,CA2C9B,CAAC;AAQF,eAAO,MAAM,QAAQ,QAAS,QAAQ,IAAI,OAAO,QAAQ,IAAI,WAK5D,CAAC;AAQF,eAAO,MAAM,cAAc,kDAAqE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitChange = void 0;
3
+ exports.sortUtxoByTxIn = exports.sortTxIn = exports.splitChange = void 0;
4
4
  const bignumber_js_1 = require("bignumber.js");
5
5
  const core_1 = require("@cardano-sdk/core");
6
6
  const InputSelectionError_1 = require("../InputSelectionError");
@@ -108,4 +108,13 @@ const splitChange = async (getChangeAddresses, totalChangeLovelace, totalChangeA
108
108
  return distributeAssets(sortedOutputs, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, fee);
109
109
  };
110
110
  exports.splitChange = splitChange;
111
+ const sortTxIn = (lhs, rhs) => {
112
+ const txIdComparison = lhs.txId.localeCompare(rhs.txId);
113
+ if (txIdComparison !== 0)
114
+ return txIdComparison;
115
+ return lhs.index - rhs.index;
116
+ };
117
+ exports.sortTxIn = sortTxIn;
118
+ const sortUtxoByTxIn = (lhs, rhs) => (0, exports.sortTxIn)(lhs[0], rhs[0]);
119
+ exports.sortUtxoByTxIn = sortUtxoByTxIn;
111
120
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AACzC,4CAAqE;AAErE,gEAAoF;AACpF,kCAAkE;AAElE,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAiBlC,MAAM,gBAAgB,GAAG,CACvB,OAA6B,EAC7B,0BAAsD,EACtD,2BAAwD,EACxD,GAAW,EACW,EAAE;IACxB,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAErC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IAEzD,MAAM,WAAW,GAAG,IAAA,8BAAuB,EAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5F,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IAEnE,KAAK,MAAM,IAAI,IAAI,eAAe;QAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IAElE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,gBAAgB,GAAG,eAAe,CAAC;IACzC,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAE9B,OAAO,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACrD,MAAM,YAAY,GAAG,EAAE,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QAErE,YAAY,CAAC,MAAM,GAAG,IAAA,mBAAY,EAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAA,mBAAY,EAAC,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,GAAG,CAAC,EAAE;YAC7F,kBAAkB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;SAC1E;aAAM;YACL,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC;YACxD,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,yCAAmB,CAAC,2CAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC1G,EAAE,CAAC,CAAC;KACL;IAED,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC;AAQF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE;IAElD,MAAM,iBAAiB,GAAG,IAAI,wBAAS,CAAC,IAAI,CAAC,CAAC;IAG9C,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,IAAI,cAAc,GAAG,GAAG,CAAC;IAEzB,OAAO,IAAI,GAAG,CAAC,EAAE;QACf,cAAc,IAAI,GAAG,CAAC;QACtB,EAAE,IAAI,CAAC;KACR;IAED,OAAO,MAAM,CAAC,IAAI,wBAAS,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC;AA2BF,MAAM,iBAAiB,GAAG,CACxB,MAAqB,EACrB,0BAAsD,EACtD,GAAW,EACW,EAAE;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAClC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAElD,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,KAAK,EAAU,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO,SAAS,IAAI,gBAAgB,EAAE;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,wBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzF,MAAM,gBAAgB,GAAG,SAAS,GAAG,GAAG,CAAC;QACzC,IACE,gBAAgB,IAAI,gBAAgB;YACpC,gBAAgB;gBACd,0BAA0B,CAAC;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE;iBACtE,CAAC;oBACA,GAAG,EACP;YACA,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;YACrC,MAAM;SACP;QAED,aAAa,IAAI,GAAG,CAAC;QAErB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElB,SAAS,IAAI,GAAG,CAAC;KAClB;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;KAC9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAuBK,MAAM,WAAW,GAAG,KAAK,EAC9B,kBAAsE,EACtE,mBAA2B,EAC3B,iBAA+C,EAC/C,0BAAsD,EACtD,2BAAwD,EACxD,GAAW,EACoB,EAAE;IACjC,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,eAAe,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;IAGjG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,oBAAoB;QACtD,MAAM,IAAI,yCAAmB,CAAC,2CAAqB,CAAC,uBAAuB,CAAC,CAAC;IAE/E,MAAM,aAAa,GAAyB,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACf,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;KACrB,CAAC,CAAC,CAAC;IAEJ,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,MAAM,mBAAmB,GAAG,IAAI,wBAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;QACjC,MAAM,MAAM,GAAG,IAAI,wBAAS,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtF,YAAY,IAAI,cAAc,CAAC;QAG/B,KAAK,CAAC,KAAK,CAAC,KAAK;YACf,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;KAC/G;IAED,IAAI,YAAY,GAAG,mBAAmB,EAAE;QAGtC,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,YAAY,CAAC;QAC7D,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,iBAAiB,CAAC;KAC1E;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAC;IACnH,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,kBAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAE3F,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC;IAEjG,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IAE7E,OAAO,gBAAgB,CAAC,aAAa,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACvG,CAAC,CAAC;AAlDW,QAAA,WAAW,eAkDtB"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
- import { ComputeMinimumCoinQuantity, TokenBundleSizeExceedsLimit } from '../types';
2
+ import { ComputeMinimumCoinQuantity, TokenBundleSizeExceedsLimit, TxCosts } from '../types';
3
3
  import { RequiredImplicitValue, UtxoSelection } from '../util';
4
- declare type EstimateTxFeeWithOriginalOutputs = (utxo: Cardano.Utxo[], change: Cardano.Value[]) => Promise<Cardano.Lovelace>;
4
+ declare type EstimateTxCostsWithOriginalOutputs = (utxo: Cardano.Utxo[], change: Cardano.Value[]) => Promise<TxCosts>;
5
5
  interface ChangeComputationArgs {
6
6
  utxoSelection: UtxoSelection;
7
7
  outputValues: Cardano.Value[];
8
8
  uniqueTxAssetIDs: Cardano.AssetId[];
9
9
  implicitValue: RequiredImplicitValue;
10
- estimateTxFee: EstimateTxFeeWithOriginalOutputs;
10
+ estimateTxCosts: EstimateTxCostsWithOriginalOutputs;
11
11
  computeMinimumCoinQuantity: ComputeMinimumCoinQuantity;
12
12
  tokenBundleSizeExceedsLimit: TokenBundleSizeExceedsLimit;
13
13
  random: typeof Math.random;
@@ -17,8 +17,9 @@ interface ChangeComputationResult {
17
17
  inputs: Cardano.Utxo[];
18
18
  change: Cardano.Value[];
19
19
  fee: Cardano.Lovelace;
20
+ redeemers?: Array<Cardano.Redeemer>;
20
21
  }
21
22
  export declare const coalesceChangeBundlesForMinCoinRequirement: (changeBundles: Cardano.Value[], computeMinimumCoinQuantity: ComputeMinimumCoinQuantity) => Cardano.Value[] | undefined;
22
- export declare const computeChangeAndAdjustForFee: ({ computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, estimateTxFee, outputValues, uniqueTxAssetIDs, implicitValue, random, utxoSelection }: ChangeComputationArgs) => Promise<ChangeComputationResult>;
23
+ export declare const computeChangeAndAdjustForFee: ({ computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, estimateTxCosts, outputValues, uniqueTxAssetIDs, implicitValue, random, utxoSelection }: ChangeComputationArgs) => Promise<ChangeComputationResult>;
23
24
  export {};
24
25
  //# sourceMappingURL=change.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAEnF,OAAO,EACL,qBAAqB,EACrB,aAAa,EAKd,MAAM,SAAS,CAAC;AAKjB,aAAK,gCAAgC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAErH,UAAU,qBAAqB;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACpC,aAAa,EAAE,qBAAqB,CAAC;IACrC,aAAa,EAAE,gCAAgC,CAAC;IAChD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;CACvB;AA+LD,eAAO,MAAM,0CAA0C,kBACtC,QAAQ,KAAK,EAAE,8BACF,0BAA0B,KACrD,QAAQ,KAAK,EAAE,GAAG,SA0CpB,CAAC;AA+DF,eAAO,MAAM,4BAA4B,qJAStC,qBAAqB,KAAG,QAAQ,uBAAuB,CAuEzD,CAAC"}
1
+ {"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,EACL,qBAAqB,EACrB,aAAa,EAKd,MAAM,SAAS,CAAC;AAKjB,aAAK,kCAAkC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9G,UAAU,qBAAqB;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACpC,aAAa,EAAE,qBAAqB,CAAC;IACrC,eAAe,EAAE,kCAAkC,CAAC;IACpD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrC;AA+LD,eAAO,MAAM,0CAA0C,kBACtC,QAAQ,KAAK,EAAE,8BACF,0BAA0B,KACrD,QAAQ,KAAK,EAAE,GAAG,SA0CpB,CAAC;AA+DF,eAAO,MAAM,4BAA4B,uJAStC,qBAAqB,KAAG,QAAQ,uBAAuB,CAwEzD,CAAC"}
@@ -7,9 +7,9 @@ exports.computeChangeAndAdjustForFee = exports.coalesceChangeBundlesForMinCoinRe
7
7
  const core_1 = require("@cardano-sdk/core");
8
8
  const InputSelectionError_1 = require("../InputSelectionError");
9
9
  const util_1 = require("../util");
10
- const minBy_1 = __importDefault(require("lodash/minBy"));
11
- const orderBy_1 = __importDefault(require("lodash/orderBy"));
12
- const pick_1 = __importDefault(require("lodash/pick"));
10
+ const minBy_js_1 = __importDefault(require("lodash/minBy.js"));
11
+ const orderBy_js_1 = __importDefault(require("lodash/orderBy.js"));
12
+ const pick_js_1 = __importDefault(require("lodash/pick.js"));
13
13
  const getLeftoverAssets = (utxoSelected, uniqueTxAssetIDs) => {
14
14
  const leftovers = new Map();
15
15
  for (const [_, { value: { assets } }] of utxoSelected) {
@@ -30,7 +30,7 @@ const redistributeLeftoverAssets = (utxoSelected, requestedAssetChangeBundles, u
30
30
  const leftovers = getLeftoverAssets(utxoSelected, uniqueTxAssetIDs);
31
31
  const resultBundles = [...requestedAssetChangeBundles];
32
32
  for (const assetId of leftovers.keys()) {
33
- const quantities = (0, orderBy_1.default)(leftovers.get(assetId), (q) => q, 'desc');
33
+ const quantities = (0, orderBy_js_1.default)(leftovers.get(assetId), (q) => q, 'desc');
34
34
  if (resultBundles.length === 0) {
35
35
  resultBundles.push({ coins: 0n });
36
36
  }
@@ -76,7 +76,7 @@ const smallestBundleTokenMap = (bundles) => {
76
76
  bundles.push(bundle);
77
77
  return bundle.assets;
78
78
  }
79
- const bundle = (0, minBy_1.default)(bundles, ({ assets }) => assets?.size || 0);
79
+ const bundle = (0, minBy_js_1.default)(bundles, ({ assets }) => assets?.size || 0);
80
80
  if (!bundle.assets)
81
81
  bundle.assets = new Map();
82
82
  return bundle.assets;
@@ -132,7 +132,7 @@ const mergeWithSmallestBundle = (values, index) => {
132
132
  const last = result.splice(-1, 1)[0];
133
133
  const merged = (0, core_1.coalesceValueQuantities)([toBeMerged, last]);
134
134
  result = [...result, merged];
135
- result = (0, orderBy_1.default)(result, ({ coins }) => coins, 'desc');
135
+ result = (0, orderBy_js_1.default)(result, ({ coins }) => coins, 'desc');
136
136
  return result;
137
137
  };
138
138
  const coalesceChangeBundlesForMinCoinRequirement = (changeBundles, computeMinimumCoinQuantity) => {
@@ -143,7 +143,7 @@ const coalesceChangeBundlesForMinCoinRequirement = (changeBundles, computeMinimu
143
143
  assets: assets ? new Map([...assets.entries()].filter(([_, quantity]) => quantity > 0n)) : undefined,
144
144
  coins
145
145
  }));
146
- let sortedBundles = (0, orderBy_1.default)(noZeroQuantityAssetChangeBundles, ({ coins }) => coins, 'desc');
146
+ let sortedBundles = (0, orderBy_js_1.default)(noZeroQuantityAssetChangeBundles, ({ coins }) => coins, 'desc');
147
147
  const satisfiesMinCoinRequirement = (value) => {
148
148
  const stubTxOut = { address: util_1.stubMaxSizeAddress, value };
149
149
  return value.coins >= computeMinimumCoinQuantity(stubTxOut);
@@ -185,12 +185,12 @@ const validateChangeBundles = (changeBundles, tokenBundleSizeExceedsLimit) => {
185
185
  }
186
186
  return changeBundles;
187
187
  };
188
- const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, estimateTxFee, outputValues, uniqueTxAssetIDs, implicitValue, random, utxoSelection }) => {
188
+ const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, estimateTxCosts, outputValues, uniqueTxAssetIDs, implicitValue, random, utxoSelection }) => {
189
189
  const recomputeChangeAndAdjustForFeeWithExtraUtxo = (currentUtxoSelection) => {
190
190
  if (currentUtxoSelection.utxoRemaining.length > 0) {
191
191
  return (0, exports.computeChangeAndAdjustForFee)({
192
192
  computeMinimumCoinQuantity,
193
- estimateTxFee,
193
+ estimateTxCosts,
194
194
  implicitValue,
195
195
  outputValues,
196
196
  random,
@@ -210,8 +210,8 @@ const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity, tokenB
210
210
  });
211
211
  if (!selectionWithChangeAndFee)
212
212
  return recomputeChangeAndAdjustForFeeWithExtraUtxo(utxoSelection);
213
- const fee = await estimateTxFee(selectionWithChangeAndFee.utxoSelected, validateChangeBundles(selectionWithChangeAndFee.changeBundles, tokenBundleSizeExceedsLimit));
214
- const totalOutputCoin = (0, util_1.getCoinQuantity)(outputValues) + fee + implicitValue.implicitCoin.deposit;
213
+ const estimatedCosts = await estimateTxCosts(selectionWithChangeAndFee.utxoSelected, validateChangeBundles(selectionWithChangeAndFee.changeBundles, tokenBundleSizeExceedsLimit));
214
+ const totalOutputCoin = (0, util_1.getCoinQuantity)(outputValues) + estimatedCosts.fee + implicitValue.implicitCoin.deposit;
215
215
  const totalInputCoin = (0, util_1.getCoinQuantity)((0, util_1.toValues)(selectionWithChangeAndFee.utxoSelected)) + implicitValue.implicitCoin.input;
216
216
  if (totalOutputCoin > totalInputCoin) {
217
217
  if (selectionWithChangeAndFee.utxoRemaining.length === 0) {
@@ -221,11 +221,11 @@ const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity, tokenB
221
221
  }
222
222
  const finalSelection = computeChangeBundles({
223
223
  computeMinimumCoinQuantity,
224
- fee,
224
+ fee: estimatedCosts.fee,
225
225
  implicitValue,
226
226
  outputValues,
227
227
  uniqueTxAssetIDs,
228
- utxoSelection: (0, pick_1.default)(selectionWithChangeAndFee, ['utxoRemaining', 'utxoSelected'])
228
+ utxoSelection: (0, pick_js_1.default)(selectionWithChangeAndFee, ['utxoRemaining', 'utxoSelected'])
229
229
  });
230
230
  if (!finalSelection) {
231
231
  return recomputeChangeAndAdjustForFeeWithExtraUtxo(selectionWithChangeAndFee);
@@ -233,8 +233,9 @@ const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity, tokenB
233
233
  const { changeBundles, utxoSelected, utxoRemaining } = finalSelection;
234
234
  return {
235
235
  change: validateChangeBundles(changeBundles, tokenBundleSizeExceedsLimit),
236
- fee,
236
+ fee: estimatedCosts.fee,
237
237
  inputs: utxoSelected,
238
+ redeemers: estimatedCosts.redeemers,
238
239
  remainingUTxO: utxoRemaining
239
240
  };
240
241
  };
@@ -1 +1 @@
1
- {"version":3,"file":"change.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/change.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/change.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA4B,aAAa,EAAmB,MAAM,UAAU,CAAC;AAKpF,eAAO,MAAM,OAAO,wBAA8B,CAAC;AAEnD,UAAU,8BAA8B;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,uBAAuB,sCAGjC,8BAA8B,KAAG,aA2ElC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA4B,aAAa,EAAmB,MAAM,UAAU,CAAC;AAMpF,eAAO,MAAM,OAAO,wBAA8B,CAAC;AAEnD,UAAU,8BAA8B;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,uBAAuB,sCAGjC,8BAA8B,KAAG,aAiFlC,CAAC"}
@@ -5,23 +5,25 @@ const InputSelectionError_1 = require("../InputSelectionError");
5
5
  const util_1 = require("../util");
6
6
  const change_1 = require("./change");
7
7
  const roundRobin_1 = require("./roundRobin");
8
+ const GreedySelection_1 = require("../GreedySelection");
8
9
  exports.MAX_U64 = 18446744073709551615n;
9
10
  const roundRobinRandomImprove = ({ changeAddressResolver, random = Math.random }) => ({
10
- select: async ({ utxo: utxoSet, outputs: outputSet, constraints: { computeMinimumCost, computeSelectionLimit, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit }, implicitValue: partialImplicitValue = {} }) => {
11
+ select: async ({ preSelectedUtxo: preSelectedUtxoSet, utxo: utxoSet, outputs: outputSet, constraints: { computeMinimumCost, computeSelectionLimit, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit }, implicitValue: partialImplicitValue = {} }) => {
11
12
  const changeAddress = util_1.stubMaxSizeAddress;
12
- const { utxo, outputs, uniqueTxAssetIDs, implicitValue } = (0, util_1.preProcessArgs)(utxoSet, outputSet, changeAddress, partialImplicitValue);
13
- (0, util_1.assertIsBalanceSufficient)(uniqueTxAssetIDs, utxo, outputs, implicitValue);
13
+ const { requiredUtxo, utxo, outputs, uniqueTxAssetIDs, implicitValue } = (0, util_1.preProcessArgs)(preSelectedUtxoSet, utxoSet, outputSet, changeAddress, partialImplicitValue);
14
+ (0, util_1.assertIsBalanceSufficient)(uniqueTxAssetIDs, requiredUtxo, utxo, outputs, implicitValue);
14
15
  const roundRobinSelectionResult = (0, roundRobin_1.roundRobinSelection)({
15
16
  changeAddress,
16
17
  implicitValue,
17
18
  outputs,
18
19
  random,
20
+ requiredUtxo,
19
21
  uniqueTxAssetIDs,
20
22
  utxo
21
23
  });
22
24
  const result = await (0, change_1.computeChangeAndAdjustForFee)({
23
25
  computeMinimumCoinQuantity,
24
- estimateTxFee: (utxos, changeValues) => computeMinimumCost({
26
+ estimateTxCosts: (utxos, changeValues) => computeMinimumCost({
25
27
  change: changeValues.map((value) => ({
26
28
  address: changeAddress,
27
29
  value
@@ -52,7 +54,9 @@ const roundRobinRandomImprove = ({ changeAddressResolver, random = Math.random }
52
54
  (await computeSelectionLimit({ change: selection.change, fee: selection.fee, inputs, outputs: outputSet }))) {
53
55
  throw new InputSelectionError_1.InputSelectionError(InputSelectionError_1.InputSelectionFailure.MaximumInputCountExceeded);
54
56
  }
57
+ selection.inputs = new Set([...selection.inputs].sort(GreedySelection_1.sortUtxoByTxIn));
55
58
  return {
59
+ redeemers: result.redeemers,
56
60
  remainingUTxO: new Set(result.remainingUTxO),
57
61
  selection
58
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":";;;AAEA,gEAAoF;AAEpF,kCAAkG;AAClG,qCAAwD;AACxD,6CAAmD;AAEtC,QAAA,OAAO,GAAG,qBAA2B,CAAC;AAO5C,MAAM,uBAAuB,GAAG,CAAC,EACtC,qBAAqB,EACrB,MAAM,GAAG,IAAI,CAAC,MAAM,EACW,EAAiB,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,KAAK,EAAE,EACb,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,EACnH,aAAa,EAAE,oBAAoB,GAAG,EAAE,EACf,EAA4B,EAAE;QACvD,MAAM,aAAa,GAAG,yBAAkB,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAA,qBAAc,EACvE,OAAO,EACP,SAAS,EACT,aAAa,EACb,oBAAoB,CACrB,CAAC;QAEF,IAAA,gCAAyB,EAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAE1E,MAAM,yBAAyB,GAAG,IAAA,gCAAmB,EAAC;YACpD,aAAa;YACb,aAAa;YACb,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,qCAA4B,EAAC;YAChD,0BAA0B;YAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CACrC,kBAAkB,CAAC;gBACjB,MAAM,EAAE,YAAY,CAAC,GAAG,CACtB,CAAC,KAAK,EAAE,EAAE,CACR,CAAC;oBACC,OAAO,EAAE,aAAa;oBACtB,KAAK;iBACY,CAAA,CACtB;gBACD,GAAG,EAAE,eAAO;gBACZ,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,SAAS;aACnB,CAAC;YACJ,aAAa;YACb,YAAY,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC;YAC/B,MAAM;YACN,2BAA2B;YAC3B,gBAAgB;YAChB,aAAa,EAAE,yBAAyB;SACzC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpC,OAAO,EAAE,aAAa;gBACtB,KAAK;aACN,CAAC,CAAC;YACH,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM;YACN,OAAO,EAAE,SAAS;SACnB,CAAC;QAEF,SAAS,CAAC,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAElE,IACE,MAAM,CAAC,MAAM,CAAC,MAAM;YACpB,CAAC,MAAM,qBAAqB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3G;YACA,MAAM,IAAI,yCAAmB,CAAC,2CAAqB,CAAC,yBAAyB,CAAC,CAAC;SAChF;QAED,OAAO;YACL,aAAa,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5C,SAAS;SACV,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AA9EU,QAAA,uBAAuB,2BA8EjC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { RoundRobinRandomImproveArgs, UtxoSelection } from '../util';
2
- export declare const roundRobinSelection: ({ utxo: utxosWithValue, outputs: outputsWithValue, uniqueTxAssetIDs, random, implicitValue }: RoundRobinRandomImproveArgs) => UtxoSelection;
2
+ export declare const roundRobinSelection: ({ requiredUtxo: requiredUtxoWithValue, utxo: utxosWithValue, outputs: outputsWithValue, uniqueTxAssetIDs, random, implicitValue }: RoundRobinRandomImproveArgs) => UtxoSelection;
3
3
  //# sourceMappingURL=roundRobin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"roundRobin.d.ts","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/roundRobin.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,2BAA2B,EAC3B,aAAa,EAId,MAAM,SAAS,CAAC;AAiEjB,eAAO,MAAM,mBAAmB,iGAM7B,2BAA2B,KAAG,aA2ChC,CAAC"}
1
+ {"version":3,"file":"roundRobin.d.ts","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/roundRobin.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,2BAA2B,EAC3B,aAAa,EAId,MAAM,SAAS,CAAC;AAiEjB,eAAO,MAAM,mBAAmB,sIAO7B,2BAA2B,KAAG,aA2ChC,CAAC"}
@@ -32,8 +32,8 @@ const listTokensWithin = (uniqueOutputAssetIDs, outputs, { implicitCoin, implici
32
32
  minimumTarget: (0, util_2.getCoinQuantity)((0, util_2.toValues)(outputs)) + implicitCoin.deposit
33
33
  }
34
34
  ];
35
- const roundRobinSelection = ({ utxo: utxosWithValue, outputs: outputsWithValue, uniqueTxAssetIDs, random, implicitValue }) => {
36
- const utxoSelected = [];
35
+ const roundRobinSelection = ({ requiredUtxo: requiredUtxoWithValue, utxo: utxosWithValue, outputs: outputsWithValue, uniqueTxAssetIDs, random, implicitValue }) => {
36
+ const utxoSelected = requiredUtxoWithValue;
37
37
  const utxoRemaining = [...utxosWithValue];
38
38
  const tokensRemaining = listTokensWithin(uniqueTxAssetIDs, outputsWithValue, implicitValue);
39
39
  while (tokensRemaining.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"roundRobin.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/roundRobin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roundRobin.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/roundRobin.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAE/C,kCAOiB;AAEjB,MAAM,iBAAiB,GAAG,CACxB,mBAAmC,EACnC,KAAmB,EACnB,aAAqB,EACrB,WAA6C,EACpC,EAAE;IACX,MAAM,WAAW,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAIrD,IAAI,WAAW,GAAG,aAAa;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,EAAE,GAAG,aAAa,CAAC;IACvC,MAAM,WAAW,GAAG,iBAAU,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,iBAAU,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;IAG9D,IAAI,WAAW,GAAG,WAAW;QAAE,OAAO,IAAI,CAAC;IAM3C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,oBAAuC,EACvC,OAAwB,EACxB,EAAE,YAAY,EAAE,cAAc,EAAyB,EACvD,EAAE,CAAC;IACH,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,IAAA,4BAAqB,EAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/C,OAAO;YACL,UAAU,EAAE,CAAC,IAAoB,EAAE,EAAE,CACnC,IAAI,CAAC,MAAM,CACT,CAAC,CACC,CAAC,EACD,EACE,KAAK,EAAE,EAAE,MAAM,EAAE,EAClB,CACF,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CACtB;YACH,wBAAwB,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,aAAa;YAC/F,aAAa,EAAE,WAAW,CAAC,IAAA,eAAQ,EAAC,OAAO,CAAC,CAAC,GAAG,aAAa;SAC9D,CAAC;IACJ,CAAC,CAAC;IACF;QACE,UAAU,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI;QAE1C,wBAAwB,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAA,sBAAe,EAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK;QACxG,aAAa,EAAE,IAAA,sBAAe,EAAC,IAAA,eAAQ,EAAC,OAAO,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO;KACzE;CACF,CAAC;AAQK,MAAM,mBAAmB,GAAG,CAAC,EAClC,YAAY,EAAE,qBAAqB,EACnC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAChB,MAAM,EACN,aAAa,EACe,EAAiB,EAAE;IAE/C,MAAM,YAAY,GAAmB,qBAAqB,CAAC;IAE3D,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IAE1C,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC5F,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QAEjC,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,wBAAwB,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE;YAG3G,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,IAAI,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,wBAAwB,CAAC,EAAE;oBACnF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACzB,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;iBACvD;qBAAM;oBAML,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;iBACrC;aACF;iBAAM;gBAOL,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;aACrC;SACF;KACF;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AACzC,CAAC,CAAC;AAlDW,QAAA,mBAAmB,uBAkD9B"}