@cardano-sdk/input-selection 0.12.31 → 0.13.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 (51) 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 +7 -6
  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 +5 -4
  25. package/dist/cjs/util.js.map +1 -1
  26. package/dist/esm/GreedySelection/GreedyInputSelector.d.ts.map +1 -1
  27. package/dist/esm/GreedySelection/GreedyInputSelector.js +12 -11
  28. package/dist/esm/GreedySelection/GreedyInputSelector.js.map +1 -1
  29. package/dist/esm/GreedySelection/util.d.ts +2 -0
  30. package/dist/esm/GreedySelection/util.d.ts.map +1 -1
  31. package/dist/esm/GreedySelection/util.js +7 -0
  32. package/dist/esm/GreedySelection/util.js.map +1 -1
  33. package/dist/esm/RoundRobinRandomImprove/change.d.ts +5 -4
  34. package/dist/esm/RoundRobinRandomImprove/change.d.ts.map +1 -1
  35. package/dist/esm/RoundRobinRandomImprove/change.js +7 -6
  36. package/dist/esm/RoundRobinRandomImprove/change.js.map +1 -1
  37. package/dist/esm/RoundRobinRandomImprove/index.d.ts.map +1 -1
  38. package/dist/esm/RoundRobinRandomImprove/index.js +8 -4
  39. package/dist/esm/RoundRobinRandomImprove/index.js.map +1 -1
  40. package/dist/esm/RoundRobinRandomImprove/roundRobin.d.ts +1 -1
  41. package/dist/esm/RoundRobinRandomImprove/roundRobin.d.ts.map +1 -1
  42. package/dist/esm/RoundRobinRandomImprove/roundRobin.js +2 -2
  43. package/dist/esm/RoundRobinRandomImprove/roundRobin.js.map +1 -1
  44. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  45. package/dist/esm/types.d.ts +8 -2
  46. package/dist/esm/types.d.ts.map +1 -1
  47. package/dist/esm/util.d.ts +3 -2
  48. package/dist/esm/util.d.ts.map +1 -1
  49. package/dist/esm/util.js +5 -4
  50. package/dist/esm/util.js.map +1 -1
  51. package/package.json +5 -5
@@ -9,13 +9,18 @@ export declare type Selection = SelectionSkeleton;
9
9
  export interface SelectionResult {
10
10
  selection: Selection;
11
11
  remainingUTxO: Set<Cardano.Utxo>;
12
+ redeemers?: Array<Cardano.Redeemer>;
12
13
  }
13
- export declare type EstimateTxFee = (selectionSkeleton: SelectionSkeleton) => Promise<Cardano.Lovelace>;
14
+ export declare type TxCosts = {
15
+ fee: bigint;
16
+ redeemers?: Array<Cardano.Redeemer>;
17
+ };
18
+ export declare type EstimateTxCosts = (selectionSkeleton: SelectionSkeleton) => Promise<TxCosts>;
14
19
  export declare type TokenBundleSizeExceedsLimit = (tokenBundle?: Cardano.TokenMap) => boolean;
15
20
  export declare type ComputeMinimumCoinQuantity = (output: Cardano.TxOut) => Cardano.Lovelace;
16
21
  export declare type ComputeSelectionLimit = (selectionSkeleton: SelectionSkeleton) => Promise<number>;
17
22
  export interface SelectionConstraints {
18
- computeMinimumCost: EstimateTxFee;
23
+ computeMinimumCost: EstimateTxCosts;
19
24
  tokenBundleSizeExceedsLimit: TokenBundleSizeExceedsLimit;
20
25
  computeMinimumCoinQuantity: ComputeMinimumCoinQuantity;
21
26
  computeSelectionLimit: ComputeSelectionLimit;
@@ -25,6 +30,7 @@ export interface ImplicitValue {
25
30
  mint?: Cardano.TokenMap;
26
31
  }
27
32
  export interface InputSelectionParameters {
33
+ preSelectedUtxo: Set<Cardano.Utxo>;
28
34
  utxo: Set<Cardano.Utxo>;
29
35
  outputs: Set<Cardano.TxOut>;
30
36
  constraints: SelectionConstraints;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAOhC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM7B,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;CACvB;AAED,oBAAY,SAAS,GAAG,iBAAiB,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IAOrB,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAKD,oBAAY,aAAa,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAKhG,oBAAY,2BAA2B,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAKtF,oBAAY,0BAA0B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,QAAQ,CAAC;AAMrF,oBAAY,qBAAqB,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9F,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,aAAa,CAAC;IAClC,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAE5B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAEjC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IAEvC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE5B,WAAW,EAAE,oBAAoB,CAAC;IAElC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAM5B,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACpE;AAED,oBAAY,mCAAmC,GAAG,IAAI,CACpD,OAAO,CAAC,kBAAkB,EAC1B,kBAAkB,GAAG,WAAW,GAAG,cAAc,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CACtG,CAAC;AAEF,oBAAY,0CAA0C,GAAG,QAAQ,CAAC;KAC/D,CAAC,IAAI,MAAM,mCAAmC,GAAG,mCAAmC,CAAC,CAAC,CAAC;CACzF,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAOhC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM7B,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;CACvB;AAED,oBAAY,SAAS,GAAG,iBAAiB,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IAOrB,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjC,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrC;AAED,oBAAY,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,CAAC;AAK3E,oBAAY,eAAe,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAKzF,oBAAY,2BAA2B,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAKtF,oBAAY,0BAA0B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,QAAQ,CAAC;AAMrF,oBAAY,qBAAqB,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9F,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,eAAe,CAAC;IACpC,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAE5B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAEjC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IAEvC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE5B,WAAW,EAAE,oBAAoB,CAAC;IAElC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAM5B,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACpE;AAED,oBAAY,mCAAmC,GAAG,IAAI,CACpD,OAAO,CAAC,kBAAkB,EAC1B,kBAAkB,GAAG,WAAW,GAAG,cAAc,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CACtG,CAAC;AAEF,oBAAY,0CAA0C,GAAG,QAAQ,CAAC;KAC/D,CAAC,IAAI,MAAM,mCAAmC,GAAG,mCAAmC,CAAC,CAAC,CAAC;CACzF,CAAC,CAAC"}
@@ -10,6 +10,7 @@ export interface RequiredImplicitValue {
10
10
  implicitTokens: ImplicitTokens;
11
11
  }
12
12
  export interface RoundRobinRandomImproveArgs {
13
+ requiredUtxo: Cardano.Utxo[];
13
14
  utxo: Cardano.Utxo[];
14
15
  outputs: Cardano.TxOut[];
15
16
  changeAddress: Cardano.PaymentAddress;
@@ -26,13 +27,13 @@ export declare const mintToImplicitTokens: (mintMap?: Cardano.TokenMap) => {
26
27
  implicitTokensInput: Map<Cardano.AssetId, bigint>;
27
28
  implicitTokensSpend: Map<Cardano.AssetId, bigint>;
28
29
  };
29
- export declare const preProcessArgs: (availableUtxo: Set<Cardano.Utxo>, outputSet: Set<Cardano.TxOut>, changeAddress: Cardano.PaymentAddress, partialImplicitValue?: ImplicitValue) => PreProcessedArgs;
30
+ export declare const preProcessArgs: (preSelectedUtxo: Set<Cardano.Utxo>, availableUtxo: Set<Cardano.Utxo>, outputSet: Set<Cardano.TxOut>, changeAddress: Cardano.PaymentAddress, partialImplicitValue?: ImplicitValue) => PreProcessedArgs;
30
31
  export declare function toValues(outputs: Cardano.TxOut[]): Cardano.Value[];
31
32
  export declare function toValues(utxo: Cardano.Utxo[]): Cardano.Value[];
32
33
  export declare const assetQuantitySelector: (id: Cardano.AssetId) => (quantities: Cardano.Value[]) => bigint;
33
34
  export declare const getCoinQuantity: (quantities: Cardano.Value[]) => bigint;
34
35
  export declare const assertIsCoinBalanceSufficient: (utxoValues: Cardano.Value[], outputValues: Cardano.Value[], implicitCoin: Required<Cardano.util.ImplicitCoin>) => void;
35
- export declare const assertIsBalanceSufficient: (uniqueTxAssetIDs: Cardano.AssetId[], utxo: Cardano.Utxo[], outputs: Cardano.TxOut[], { implicitCoin, implicitTokens }: RequiredImplicitValue) => void;
36
+ export declare const assertIsBalanceSufficient: (uniqueTxAssetIDs: Cardano.AssetId[], preSelectedUtxo: Cardano.Utxo[], utxo: Cardano.Utxo[], outputs: Cardano.TxOut[], { implicitCoin, implicitTokens }: RequiredImplicitValue) => void;
36
37
  export declare const sortByCoins: (lhs: Cardano.TxOut, rhs: Cardano.TxOut) => 0 | 1 | -1;
37
38
  export declare const subtractTokenMaps: (lhs: Cardano.TokenMap | undefined, rhs: Cardano.TokenMap | undefined) => Cardano.TokenMap | undefined;
38
39
  export declare const addTokenMaps: (lhs: Cardano.TokenMap | undefined, rhs: Cardano.TokenMap | undefined) => Cardano.TokenMap | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAIjG,eAAO,MAAM,kBAAkB,wBAE9B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;IACxC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClD,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC;IACtC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACpC,aAAa,EAAE,qBAAqB,CAAC;IACrC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;CAC5B;AAED,oBAAY,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,oBAAoB;;;CAOhC,CAAC;AAEF,eAAO,MAAM,cAAc,kBACV,IAAI,QAAQ,IAAI,CAAC,aACrB,IAAI,QAAQ,KAAK,CAAC,iBACd,QAAQ,cAAc,yBACd,aAAa,KACnC,gBAuBF,CAAC;AAKF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AACpE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AAShE,eAAO,MAAM,qBAAqB,OAC3B,QAAQ,OAAO,kBACP,QAAQ,KAAK,EAAE,KAAG,MACwC,CAAC;AAE1E,eAAO,MAAM,eAAe,eAAgB,QAAQ,KAAK,EAAE,KAAG,MACR,CAAC;AAEvD,eAAO,MAAM,6BAA6B,eAC5B,QAAQ,KAAK,EAAE,gBACb,QAAQ,KAAK,EAAE,gBACf,SAAS,QAAQ,IAAI,CAAC,YAAY,CAAC,SAOlD,CAAC;AAQF,eAAO,MAAM,yBAAyB,qBAClB,QAAQ,OAAO,EAAE,QAC7B,QAAQ,IAAI,EAAE,WACX,QAAQ,KAAK,EAAE,oCACU,qBAAqB,KACtD,IAeF,CAAC;AAQF,eAAO,MAAM,WAAW,QAAS,QAAQ,KAAK,OAAO,QAAQ,KAAK,eAOjE,CAAC;AASF,eAAO,MAAM,iBAAiB,QACvB,QAAQ,QAAQ,GAAG,SAAS,OAC5B,QAAQ,QAAQ,GAAG,SAAS,KAChC,QAAQ,QAAQ,GAAG,SA0DrB,CAAC;AASF,eAAO,MAAM,YAAY,QAClB,QAAQ,QAAQ,GAAG,SAAS,OAC5B,QAAQ,QAAQ,GAAG,SAAS,KAChC,QAAQ,QAAQ,GAAG,SAoCrB,CAAC;AAQF,eAAO,MAAM,qBAAqB,WAAY,QAAQ,QAAQ,GAAG,SAAS,KAAG,OAK5E,CAAC;AAWF,eAAO,MAAM,YAAY,UAChB,QAAQ,KAAK,8BACQ,0BAA0B,+BACzB,2BAA2B,iBACzC,MAAM,KACpB,OAMF,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
package/dist/cjs/util.js CHANGED
@@ -16,7 +16,7 @@ const mintToImplicitTokens = (mintMap = new Map()) => {
16
16
  return { implicitTokensInput, implicitTokensSpend };
17
17
  };
18
18
  exports.mintToImplicitTokens = mintToImplicitTokens;
19
- const preProcessArgs = (availableUtxo, outputSet, changeAddress, partialImplicitValue) => {
19
+ const preProcessArgs = (preSelectedUtxo, availableUtxo, outputSet, changeAddress, partialImplicitValue) => {
20
20
  const outputs = [...outputSet];
21
21
  const implicitCoin = {
22
22
  deposit: partialImplicitValue?.coin?.deposit || 0n,
@@ -36,6 +36,7 @@ const preProcessArgs = (availableUtxo, outputSet, changeAddress, partialImplicit
36
36
  changeAddress,
37
37
  implicitValue: { implicitCoin, implicitTokens },
38
38
  outputs,
39
+ requiredUtxo: [...preSelectedUtxo],
39
40
  uniqueTxAssetIDs,
40
41
  utxo: [...availableUtxo]
41
42
  };
@@ -61,11 +62,11 @@ const assertIsCoinBalanceSufficient = (utxoValues, outputValues, implicitCoin) =
61
62
  }
62
63
  };
63
64
  exports.assertIsCoinBalanceSufficient = assertIsCoinBalanceSufficient;
64
- const assertIsBalanceSufficient = (uniqueTxAssetIDs, utxo, outputs, { implicitCoin, implicitTokens }) => {
65
- if (utxo.length === 0) {
65
+ const assertIsBalanceSufficient = (uniqueTxAssetIDs, preSelectedUtxo, utxo, outputs, { implicitCoin, implicitTokens }) => {
66
+ if (preSelectedUtxo.length + utxo.length === 0) {
66
67
  throw new InputSelectionError_1.InputSelectionError(InputSelectionError_1.InputSelectionFailure.UtxoBalanceInsufficient);
67
68
  }
68
- const utxoValues = toValues(utxo);
69
+ const utxoValues = [...toValues(utxo), ...toValues(preSelectedUtxo)];
69
70
  const outputsValues = toValues(outputs);
70
71
  for (const assetId of uniqueTxAssetIDs) {
71
72
  const getAssetQuantity = (0, exports.assetQuantitySelector)(assetId);
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -13,17 +13,17 @@ var _GreedyInputSelector_props;
13
13
  import { coalesceValueQuantities } from '@cardano-sdk/core';
14
14
  import { InputSelectionError, InputSelectionFailure } from '../InputSelectionError';
15
15
  import { addTokenMaps, getCoinQuantity, hasNegativeAssetValue, sortByCoins, stubMaxSizeAddress, subtractTokenMaps, toValues } from '../util';
16
- import { splitChange } from './util';
16
+ import { sortUtxoByTxIn, splitChange } from './util';
17
17
  const adjustOutputsForFee = async (changeLovelace, constraints, inputs, outputs, changeOutputs, currentFee) => {
18
18
  const totalOutputs = new Set([...outputs, ...changeOutputs]);
19
- const fee = await constraints.computeMinimumCost({
19
+ const { fee, redeemers } = await constraints.computeMinimumCost({
20
20
  change: [],
21
21
  fee: currentFee,
22
22
  inputs,
23
23
  outputs: totalOutputs
24
24
  });
25
25
  if (fee === changeLovelace)
26
- return { change: [], fee, feeAccountedFor: true };
26
+ return { change: [], fee, feeAccountedFor: true, redeemers };
27
27
  if (changeLovelace < fee)
28
28
  throw new InputSelectionError(InputSelectionFailure.UtxoBalanceInsufficient);
29
29
  const updatedOutputs = [...changeOutputs];
@@ -37,7 +37,7 @@ const adjustOutputsForFee = async (changeLovelace, constraints, inputs, outputs,
37
37
  break;
38
38
  }
39
39
  }
40
- return { change: [...updatedOutputs], fee, feeAccountedFor };
40
+ return { change: [...updatedOutputs], fee, feeAccountedFor, redeemers };
41
41
  };
42
42
  const splitChangeAndComputeFee = async (inputs, outputs, changeLovelace, changeAssets, constraints, getChangeAddresses, fee) => {
43
43
  const changeOutputs = await splitChange(getChangeAddresses, changeLovelace, changeAssets, constraints.computeMinimumCoinQuantity, constraints.tokenBundleSizeExceedsLimit, fee);
@@ -79,8 +79,9 @@ export class GreedyInputSelector {
79
79
  __classPrivateFieldSet(this, _GreedyInputSelector_props, props, "f");
80
80
  }
81
81
  async select(params) {
82
- const { utxo: inputs, outputs, constraints, implicitValue } = params;
83
- const utxoValues = toValues([...inputs]);
82
+ const { preSelectedUtxo, utxo: inputs, outputs, constraints, implicitValue } = params;
83
+ const allInputs = new Set([...inputs, ...preSelectedUtxo]);
84
+ const utxoValues = toValues([...allInputs]);
84
85
  const outputsValues = toValues([...outputs]);
85
86
  const totalLovelaceInUtxoSet = getCoinQuantity(utxoValues);
86
87
  const totalLovelaceInOutputSet = getCoinQuantity(outputsValues);
@@ -94,14 +95,14 @@ export class GreedyInputSelector {
94
95
  const totalAssetsInput = addTokenMaps(totalAssetsInUtxoSet, implicitAssetInput);
95
96
  const changeLovelace = totalLovelaceInput - totalLovelaceOutput;
96
97
  const changeAssets = subtractTokenMaps(totalAssetsInput, totalAssetsInOutputSet);
97
- if (inputs.size === 0 || totalLovelaceOutput > totalLovelaceInput || hasNegativeAssetValue(changeAssets))
98
+ if (allInputs.size === 0 || totalLovelaceOutput > totalLovelaceInput || hasNegativeAssetValue(changeAssets))
98
99
  throw new InputSelectionError(InputSelectionFailure.UtxoBalanceInsufficient);
99
- const adjustedChangeOutputs = await splitChangeAndComputeFee(inputs, outputs, changeLovelace, changeAssets, constraints, __classPrivateFieldGet(this, _GreedyInputSelector_props, "f").getChangeAddresses, 0n);
100
+ const adjustedChangeOutputs = await splitChangeAndComputeFee(allInputs, outputs, changeLovelace, changeAssets, constraints, __classPrivateFieldGet(this, _GreedyInputSelector_props, "f").getChangeAddresses, 0n);
100
101
  const change = adjustedChangeOutputs.change.filter((out) => out.value.coins > 0n || (out.value.assets?.size || 0) > 0);
101
102
  if (changeLovelace - adjustedChangeOutputs.fee < 0n)
102
103
  throw new InputSelectionError(InputSelectionFailure.UtxoBalanceInsufficient);
103
- if (inputs.size >
104
- (await constraints.computeSelectionLimit({ change, fee: adjustedChangeOutputs.fee, inputs, outputs }))) {
104
+ if (allInputs.size >
105
+ (await constraints.computeSelectionLimit({ change, fee: adjustedChangeOutputs.fee, inputs: allInputs, outputs }))) {
105
106
  throw new InputSelectionError(InputSelectionFailure.MaximumInputCountExceeded);
106
107
  }
107
108
  return {
@@ -109,7 +110,7 @@ export class GreedyInputSelector {
109
110
  selection: {
110
111
  change,
111
112
  fee: adjustedChangeOutputs.fee,
112
- inputs,
113
+ inputs: new Set([...allInputs].sort(sortUtxoByTxIn)),
113
114
  outputs
114
115
  }
115
116
  };
@@ -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"}
@@ -104,4 +104,11 @@ export const splitChange = async (getChangeAddresses, totalChangeLovelace, total
104
104
  return sortedOutputs;
105
105
  return distributeAssets(sortedOutputs, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, fee);
106
106
  };
107
+ export const sortTxIn = (lhs, rhs) => {
108
+ const txIdComparison = lhs.txId.localeCompare(rhs.txId);
109
+ if (txIdComparison !== 0)
110
+ return txIdComparison;
111
+ return lhs.index - rhs.index;
112
+ };
113
+ export const sortUtxoByTxIn = (lhs, rhs) => sortTxIn(lhs[0], rhs[0]);
107
114
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAW,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;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,uBAAuB,CAAC,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,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,CAAC,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,mBAAmB,CAAC,qBAAqB,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,SAAS,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,SAAS,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,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO,SAAS,IAAI,gBAAgB,EAAE;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,SAAS,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;AAuBF,MAAM,CAAC,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,mBAAmB,CAAC,qBAAqB,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,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,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,WAAW,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;AAQF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAiB,EAAE,GAAiB,EAAE,EAAE;IAC/D,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,cAAc,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAEhD,OAAO,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAiB,EAAE,GAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -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"}
@@ -178,12 +178,12 @@ const validateChangeBundles = (changeBundles, tokenBundleSizeExceedsLimit) => {
178
178
  }
179
179
  return changeBundles;
180
180
  };
181
- export const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, estimateTxFee, outputValues, uniqueTxAssetIDs, implicitValue, random, utxoSelection }) => {
181
+ export const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, estimateTxCosts, outputValues, uniqueTxAssetIDs, implicitValue, random, utxoSelection }) => {
182
182
  const recomputeChangeAndAdjustForFeeWithExtraUtxo = (currentUtxoSelection) => {
183
183
  if (currentUtxoSelection.utxoRemaining.length > 0) {
184
184
  return computeChangeAndAdjustForFee({
185
185
  computeMinimumCoinQuantity,
186
- estimateTxFee,
186
+ estimateTxCosts,
187
187
  implicitValue,
188
188
  outputValues,
189
189
  random,
@@ -203,8 +203,8 @@ export const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity,
203
203
  });
204
204
  if (!selectionWithChangeAndFee)
205
205
  return recomputeChangeAndAdjustForFeeWithExtraUtxo(utxoSelection);
206
- const fee = await estimateTxFee(selectionWithChangeAndFee.utxoSelected, validateChangeBundles(selectionWithChangeAndFee.changeBundles, tokenBundleSizeExceedsLimit));
207
- const totalOutputCoin = getCoinQuantity(outputValues) + fee + implicitValue.implicitCoin.deposit;
206
+ const estimatedCosts = await estimateTxCosts(selectionWithChangeAndFee.utxoSelected, validateChangeBundles(selectionWithChangeAndFee.changeBundles, tokenBundleSizeExceedsLimit));
207
+ const totalOutputCoin = getCoinQuantity(outputValues) + estimatedCosts.fee + implicitValue.implicitCoin.deposit;
208
208
  const totalInputCoin = getCoinQuantity(toValues(selectionWithChangeAndFee.utxoSelected)) + implicitValue.implicitCoin.input;
209
209
  if (totalOutputCoin > totalInputCoin) {
210
210
  if (selectionWithChangeAndFee.utxoRemaining.length === 0) {
@@ -214,7 +214,7 @@ export const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity,
214
214
  }
215
215
  const finalSelection = computeChangeBundles({
216
216
  computeMinimumCoinQuantity,
217
- fee,
217
+ fee: estimatedCosts.fee,
218
218
  implicitValue,
219
219
  outputValues,
220
220
  uniqueTxAssetIDs,
@@ -226,8 +226,9 @@ export const computeChangeAndAdjustForFee = async ({ computeMinimumCoinQuantity,
226
226
  const { changeBundles, utxoSelected, utxoRemaining } = finalSelection;
227
227
  return {
228
228
  change: validateChangeBundles(changeBundles, tokenBundleSizeExceedsLimit),
229
- fee,
229
+ fee: estimatedCosts.fee,
230
230
  inputs: utxoSelected,
231
+ redeemers: estimatedCosts.redeemers,
231
232
  remainingUTxO: utxoRemaining
232
233
  };
233
234
  };
@@ -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":"AAAA,OAAO,EAAW,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAGL,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACT,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,IAAI,MAAM,aAAa,CAAC;AAuB/B,MAAM,iBAAiB,GAAG,CAAC,YAA4B,EAAE,gBAAmC,EAAE,EAAE;IAC9F,MAAM,SAAS,GAAwC,IAAI,GAAG,EAAE,CAAC;IACjE,KAAK,MAAM,CACT,CAAC,EACD,EACE,KAAK,EAAE,EAAE,MAAM,EAAE,EAClB,CACF,IAAI,YAAY,EAAE;QACjB,IAAI,MAAM,EAAE;YACV,MAAM,iBAAiB,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE;gBACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;gBACvC,IAAI,QAAQ,KAAK,EAAE;oBAAE,SAAS;gBAC9B,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;aACxD;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AASF,MAAM,0BAA0B,GAAG,CACjC,YAA4B,EAC5B,2BAA4C,EAC5C,gBAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,CAAC,GAAG,2BAA2B,CAAC,CAAC;IACvD,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;SACnC;QACD,OAAO,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE;YAE/C,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAG,CAAC;YAC3C,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,gBAAgB,CAAC;SACvD;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;YAClD,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACpE,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE;gBAC3B,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,oBAAoB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC/D,KAAK,EAAE,cAAc,CAAC,KAAK;aAC5B,CAAC,CAAC;SACJ;KACF;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,YAA6B,EAC7B,kBAA0B,EAC1B,eAAuB,EACvB,WAA0E,EAC1E,EAAE;IACF,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,MAAM,kBAAkB,GAAqB,IAAI,GAAG,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,gBAAgB,IAAI,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE,KAAK,EAAE,CAAC;SAClB;QACD,MAAM,MAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;YAC5D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YAC1D,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAC;YAC9C,MAAM,WAAW,GAAG,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAG,QAAQ,CAAC;YACjE,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;YACvF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAClC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAC3D,CAAC,CAAC;AAQF,MAAM,sBAAsB,GAAG,CAAC,OAAwB,EAAE,EAAE;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC,MAAO,CAAC;KACvB;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAE,CAAC;IAClE,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAO,CAAC;AACxB,CAAC,CAAC;AAUF,MAAM,kCAAkC,GAAG,CACzC,YAA4B,EAC5B,YAA6B,EAC7B,gBAAmC,EACnC,EAAE,YAAY,EAAE,cAAc,EAAyB,EACvD,GAAqB,EACJ,EAAE;IACnB,MAAM,WAAW,GAAkE,IAAI,GAAG,EAAE,CAAC;IAC7F,MAAM,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClD,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;QACtC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE;YACvB,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;YACvF,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;SAC7F,CAAC,CAAC;KACJ;IACD,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;IACnF,MAAM,kBAAkB,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;IACtF,MAAM,eAAe,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;IAE/D,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,qBAAqB,CAC7E,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,WAAW,CACZ,CAAC;IAGF,MAAM,QAAQ,GAAG,eAAe,GAAG,gBAAgB,CAAC;IACpD,IAAI,QAAQ,GAAG,CAAC,EAAE;QAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SACnC;aAAM;YACL,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC;SAC9B;KACF;IACD,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;QACtC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;QACvE,IAAI,SAAS,GAAG,EAAE,EAAE;YAClB,MAAM,oBAAoB,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAChG,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7E,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,GAAG,SAAS,CAAC,CAAC;SAC7E;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAGF,MAAM,mBAAmB,GAAG,CAC1B,EAAE,aAAa,EAAE,YAAY,EAAiB,EAC9C,MAA0B,EACX,EAAE;IACjB,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,CAAC,GAAG,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3G,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,MAAuB,EAAE,KAAa,EAAmB,EAAE;IAC1F,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3D,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEvD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0CAA0C,GAAG,CACxD,aAA8B,EAC9B,0BAAsD,EACzB,EAAE;IAC/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,gCAAgC,GAAG,aAAa,CAAC,GAAG,CACxD,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAiB,EAAE,CAAC,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACpG,KAAK;KACN,CAAC,CACH,CAAC;IACF,IAAI,aAAa,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAI5F,MAAM,2BAA2B,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC3D,MAAM,SAAS,GAAkB,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,KAAK,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,IAAI,wBAAwB,GAAG,KAAK,CAAC;IAErC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;QAC5D,wBAAwB,GAAG,IAAI,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAClD,MAAM,SAAS,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhE,wBAAwB,GAAG,wBAAwB,IAAI,SAAS,CAAC;YAEjE,IAAI,CAAC,SAAS,EAAE;gBACd,aAAa,GAAG,uBAAuB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM;aACP;SACF;KACF;IAED,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;QAElD,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,EAC5B,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,0BAA0B,EAC1B,GAAG,GAAG,EAAE,EAQT,EAAgE,EAAE;IACjE,MAAM,2BAA2B,GAAG,kCAAkC,CACpE,aAAa,CAAC,YAAY,EAC1B,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,GAAG,CACJ,CAAC;IACF,MAAM,6CAA6C,GAAG,0BAA0B,CAC9E,aAAa,CAAC,YAAY,EAC1B,2BAA2B,EAC3B,gBAAgB,CACjB,CAAC;IACF,MAAM,aAAa,GAAG,0CAA0C,CAC9D,6CAA6C,EAC7C,0BAA0B,CAC3B,CAAC;IACF,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,KAAK,CAAC;KACd;IACD,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,aAA8B,EAC9B,2BAAwD,EACxD,EAAE;IACF,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,aAAa,EAAE;QACtC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE;YAEvC,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;SACxE;KACF;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,EACjD,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,aAAa,EACS,EAAoC,EAAE;IAC5D,MAAM,2CAA2C,GAAG,CAAC,oBAAmC,EAAE,EAAE;QAC1F,IAAI,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,OAAO,4BAA4B,CAAC;gBAClC,0BAA0B;gBAC1B,eAAe;gBACf,aAAa;gBACb,YAAY;gBACZ,MAAM;gBACN,2BAA2B;gBAC3B,gBAAgB;gBAChB,aAAa,EAAE,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,CAAC;aACjE,CAAC,CAAC;SACJ;QAKD,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;QACrD,0BAA0B;QAC1B,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,aAAa;KACd,CAAC,CAAC;IACH,IAAI,CAAC,yBAAyB;QAAE,OAAO,2CAA2C,CAAC,aAAa,CAAC,CAAC;IAKlG,MAAM,cAAc,GAAG,MAAM,eAAe,CAC1C,yBAAyB,CAAC,YAAY,EACtC,qBAAqB,CAAC,yBAAyB,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAC5F,CAAC;IAGF,MAAM,eAAe,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC;IAChH,MAAM,cAAc,GAClB,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC;IACvG,IAAI,eAAe,GAAG,cAAc,EAAE;QACpC,IAAI,yBAAyB,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACxD,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;SAC9E;QAED,OAAO,2CAA2C,CAAC,yBAAyB,CAAC,CAAC;KAC/E;IAED,MAAM,cAAc,GAAG,oBAAoB,CAAC;QAC1C,0BAA0B;QAC1B,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,aAAa,EAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;KAClF,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,2CAA2C,CAAC,yBAAyB,CAAC,CAAC;KAC/E;IAED,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;IAEtE,OAAO;QACL,MAAM,EAAE,qBAAqB,CAAC,aAAa,EAAE,2BAA2B,CAAC;QACzE,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,aAAa,EAAE,aAAa;KAC7B,CAAC;AACJ,CAAC,CAAC"}
@@ -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"}
@@ -2,23 +2,25 @@ import { InputSelectionError, InputSelectionFailure } from '../InputSelectionErr
2
2
  import { assertIsBalanceSufficient, preProcessArgs, stubMaxSizeAddress, toValues } from '../util';
3
3
  import { computeChangeAndAdjustForFee } from './change';
4
4
  import { roundRobinSelection } from './roundRobin';
5
+ import { sortUtxoByTxIn } from '../GreedySelection';
5
6
  export const MAX_U64 = 18446744073709551615n;
6
7
  export const roundRobinRandomImprove = ({ changeAddressResolver, random = Math.random }) => ({
7
- select: async ({ utxo: utxoSet, outputs: outputSet, constraints: { computeMinimumCost, computeSelectionLimit, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit }, implicitValue: partialImplicitValue = {} }) => {
8
+ select: async ({ preSelectedUtxo: preSelectedUtxoSet, utxo: utxoSet, outputs: outputSet, constraints: { computeMinimumCost, computeSelectionLimit, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit }, implicitValue: partialImplicitValue = {} }) => {
8
9
  const changeAddress = stubMaxSizeAddress;
9
- const { utxo, outputs, uniqueTxAssetIDs, implicitValue } = preProcessArgs(utxoSet, outputSet, changeAddress, partialImplicitValue);
10
- assertIsBalanceSufficient(uniqueTxAssetIDs, utxo, outputs, implicitValue);
10
+ const { requiredUtxo, utxo, outputs, uniqueTxAssetIDs, implicitValue } = preProcessArgs(preSelectedUtxoSet, utxoSet, outputSet, changeAddress, partialImplicitValue);
11
+ assertIsBalanceSufficient(uniqueTxAssetIDs, requiredUtxo, utxo, outputs, implicitValue);
11
12
  const roundRobinSelectionResult = roundRobinSelection({
12
13
  changeAddress,
13
14
  implicitValue,
14
15
  outputs,
15
16
  random,
17
+ requiredUtxo,
16
18
  uniqueTxAssetIDs,
17
19
  utxo
18
20
  });
19
21
  const result = await computeChangeAndAdjustForFee({
20
22
  computeMinimumCoinQuantity,
21
- estimateTxFee: (utxos, changeValues) => computeMinimumCost({
23
+ estimateTxCosts: (utxos, changeValues) => computeMinimumCost({
22
24
  change: changeValues.map((value) => ({
23
25
  address: changeAddress,
24
26
  value
@@ -49,7 +51,9 @@ export const roundRobinRandomImprove = ({ changeAddressResolver, random = Math.r
49
51
  (await computeSelectionLimit({ change: selection.change, fee: selection.fee, inputs, outputs: outputSet }))) {
50
52
  throw new InputSelectionError(InputSelectionFailure.MaximumInputCountExceeded);
51
53
  }
54
+ selection.inputs = new Set([...selection.inputs].sort(sortUtxoByTxIn));
52
55
  return {
56
+ redeemers: result.redeemers,
53
57
  remainingUTxO: new Set(result.remainingUTxO),
54
58
  selection
55
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,OAAO,GAAG,qBAA2B,CAAC;AAOnD,MAAM,CAAC,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,kBAAkB,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,cAAc,CACvE,OAAO,EACP,SAAS,EACT,aAAa,EACb,oBAAoB,CACrB,CAAC;QAEF,yBAAyB,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAE1E,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;YACpD,aAAa;YACb,aAAa;YACb,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;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,OAAO;gBACZ,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,SAAS;aACnB,CAAC;YACJ,aAAa;YACb,YAAY,EAAE,QAAQ,CAAC,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,mBAAmB,CAAC,qBAAqB,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAG,qBAA2B,CAAC;AAOnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,qBAAqB,EACrB,MAAM,GAAG,IAAI,CAAC,MAAM,EACW,EAAiB,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,KAAK,EAAE,EACb,eAAe,EAAE,kBAAkB,EACnC,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,kBAAkB,CAAC;QACzC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,cAAc,CACrF,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,aAAa,EACb,oBAAoB,CACrB,CAAC;QAEF,yBAAyB,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAExF,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;YACpD,aAAa;YACb,aAAa;YACb,OAAO;YACP,MAAM;YACN,YAAY;YACZ,gBAAgB;YAChB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;YAChD,0BAA0B;YAC1B,eAAe,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CACvC,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,OAAO;gBACZ,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,SAAS;aACnB,CAAC;YACJ,aAAa;YACb,YAAY,EAAE,QAAQ,CAAC,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,mBAAmB,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAC;SAChF;QAED,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAEvE,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5C,SAAS;SACV,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -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"}
@@ -29,8 +29,8 @@ const listTokensWithin = (uniqueOutputAssetIDs, outputs, { implicitCoin, implici
29
29
  minimumTarget: getCoinQuantity(toValues(outputs)) + implicitCoin.deposit
30
30
  }
31
31
  ];
32
- export const roundRobinSelection = ({ utxo: utxosWithValue, outputs: outputsWithValue, uniqueTxAssetIDs, random, implicitValue }) => {
33
- const utxoSelected = [];
32
+ export const roundRobinSelection = ({ requiredUtxo: requiredUtxoWithValue, utxo: utxosWithValue, outputs: outputsWithValue, uniqueTxAssetIDs, random, implicitValue }) => {
33
+ const utxoSelected = requiredUtxoWithValue;
34
34
  const utxoRemaining = [...utxosWithValue];
35
35
  const tokensRemaining = listTokensWithin(uniqueTxAssetIDs, outputsWithValue, implicitValue);
36
36
  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":"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"}