@cardano-sdk/input-selection 0.11.1 → 0.11.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AA6EnF,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,CA0C9B,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/GreedySelection/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAoKnF,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"}
@@ -26,6 +26,44 @@ const distributeAssets = (outputs, computeMinimumCoinQuantity, tokenBundleSizeEx
26
26
  }
27
27
  return adjustedOutputs;
28
28
  };
29
+ const getMinUtxoAmount = (amount) => {
30
+ const granularityFactor = new bignumber_js_1.BigNumber(0.03);
31
+ let tens = amount.toString().length - 1;
32
+ let minLovelaceStr = '1';
33
+ while (tens > 0) {
34
+ minLovelaceStr += '0';
35
+ --tens;
36
+ }
37
+ return BigInt(new bignumber_js_1.BigNumber(minLovelaceStr).multipliedBy(granularityFactor).toFixed(0, 0));
38
+ };
39
+ const splitChangeOutput = (output, computeMinimumCoinQuantity) => {
40
+ const amount = output.value.coins;
41
+ const minUtxoAdaAmount = getMinUtxoAmount(amount);
42
+ let remaining = amount;
43
+ let runningAmount = 0n;
44
+ const amounts = new Array();
45
+ const divisor = new bignumber_js_1.BigNumber(2);
46
+ while (remaining > minUtxoAdaAmount) {
47
+ const val = BigInt(new bignumber_js_1.BigNumber(remaining.toString()).dividedBy(divisor).toFixed(0, 0));
48
+ const updatedRemaining = remaining - val;
49
+ if (updatedRemaining <= minUtxoAdaAmount ||
50
+ updatedRemaining <=
51
+ computeMinimumCoinQuantity({
52
+ address: output.address,
53
+ value: { assets: output.value.assets, coins: amount - runningAmount }
54
+ })) {
55
+ amounts.push(amount - runningAmount);
56
+ break;
57
+ }
58
+ runningAmount += val;
59
+ amounts.push(val);
60
+ remaining -= val;
61
+ }
62
+ return amounts.map((coins) => ({
63
+ address: output.address,
64
+ value: { assets: output.value.assets, coins }
65
+ }));
66
+ };
29
67
  const splitChange = async (getChangeAddresses, totalChangeLovelace, totalChangeAssets, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit, fee) => {
30
68
  const changeAddresses = await getChangeAddresses();
31
69
  const totalWeight = [...changeAddresses.values()].reduce((sum, current) => sum + current, 0);
@@ -50,7 +88,8 @@ const splitChange = async (getChangeAddresses, totalChangeLovelace, totalChangeA
50
88
  const missingAllocation = totalChangeLovelace - runningTotal;
51
89
  changeOutputs[changeOutputs.length - 1].value.coins += missingAllocation;
52
90
  }
53
- const sortedOutputs = changeOutputs.sort(util_1.sortByCoins).filter((out) => out.value.coins > 0n);
91
+ const splitOutputs = changeOutputs.flatMap((output) => splitChangeOutput(output, computeMinimumCoinQuantity));
92
+ const sortedOutputs = splitOutputs.sort(util_1.sortByCoins).filter((out) => out.value.coins > 0n);
54
93
  if (sortedOutputs && sortedOutputs.length > 0)
55
94
  sortedOutputs[0].value.assets = totalChangeAssets;
56
95
  if (!totalChangeAssets || totalChangeAssets.size === 0)
@@ -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":"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"}