@cardano-sdk/tx-construction 0.11.2 → 0.12.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 (55) hide show
  1. package/dist/cjs/createTransactionInternals.d.ts.map +1 -1
  2. package/dist/cjs/createTransactionInternals.js +28 -5
  3. package/dist/cjs/createTransactionInternals.js.map +1 -1
  4. package/dist/cjs/fees/fees.d.ts.map +1 -1
  5. package/dist/cjs/fees/fees.js +9 -6
  6. package/dist/cjs/fees/fees.js.map +1 -1
  7. package/dist/cjs/input-selection/selectionConstraints.d.ts +1 -0
  8. package/dist/cjs/input-selection/selectionConstraints.d.ts.map +1 -1
  9. package/dist/cjs/input-selection/selectionConstraints.js +8 -10
  10. package/dist/cjs/input-selection/selectionConstraints.js.map +1 -1
  11. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  12. package/dist/cjs/tx-builder/OutputBuilder.js +1 -1
  13. package/dist/cjs/tx-builder/OutputBuilder.js.map +1 -1
  14. package/dist/cjs/tx-builder/TxBuilder.d.ts +1 -1
  15. package/dist/cjs/tx-builder/TxBuilder.d.ts.map +1 -1
  16. package/dist/cjs/tx-builder/TxBuilder.js +25 -12
  17. package/dist/cjs/tx-builder/TxBuilder.js.map +1 -1
  18. package/dist/cjs/tx-builder/finalizeTx.d.ts +1 -1
  19. package/dist/cjs/tx-builder/finalizeTx.d.ts.map +1 -1
  20. package/dist/cjs/tx-builder/finalizeTx.js +2 -2
  21. package/dist/cjs/tx-builder/finalizeTx.js.map +1 -1
  22. package/dist/cjs/tx-builder/initializeTx.js +1 -1
  23. package/dist/cjs/tx-builder/initializeTx.js.map +1 -1
  24. package/dist/cjs/tx-builder/types.d.ts +5 -4
  25. package/dist/cjs/tx-builder/types.d.ts.map +1 -1
  26. package/dist/cjs/types.d.ts +1 -1
  27. package/dist/cjs/types.d.ts.map +1 -1
  28. package/dist/esm/createTransactionInternals.d.ts.map +1 -1
  29. package/dist/esm/createTransactionInternals.js +6 -6
  30. package/dist/esm/createTransactionInternals.js.map +1 -1
  31. package/dist/esm/fees/fees.d.ts.map +1 -1
  32. package/dist/esm/fees/fees.js +10 -7
  33. package/dist/esm/fees/fees.js.map +1 -1
  34. package/dist/esm/input-selection/selectionConstraints.d.ts +1 -0
  35. package/dist/esm/input-selection/selectionConstraints.d.ts.map +1 -1
  36. package/dist/esm/input-selection/selectionConstraints.js +8 -10
  37. package/dist/esm/input-selection/selectionConstraints.js.map +1 -1
  38. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  39. package/dist/esm/tx-builder/OutputBuilder.js +1 -1
  40. package/dist/esm/tx-builder/OutputBuilder.js.map +1 -1
  41. package/dist/esm/tx-builder/TxBuilder.d.ts +1 -1
  42. package/dist/esm/tx-builder/TxBuilder.d.ts.map +1 -1
  43. package/dist/esm/tx-builder/TxBuilder.js +26 -13
  44. package/dist/esm/tx-builder/TxBuilder.js.map +1 -1
  45. package/dist/esm/tx-builder/finalizeTx.d.ts +1 -1
  46. package/dist/esm/tx-builder/finalizeTx.d.ts.map +1 -1
  47. package/dist/esm/tx-builder/finalizeTx.js +2 -2
  48. package/dist/esm/tx-builder/finalizeTx.js.map +1 -1
  49. package/dist/esm/tx-builder/initializeTx.js +1 -1
  50. package/dist/esm/tx-builder/initializeTx.js.map +1 -1
  51. package/dist/esm/tx-builder/types.d.ts +5 -4
  52. package/dist/esm/tx-builder/types.d.ts.map +1 -1
  53. package/dist/esm/types.d.ts +1 -1
  54. package/dist/esm/types.d.ts.map +1 -1
  55. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"createTransactionInternals.d.ts","sourceRoot":"","sources":["../../src/createTransactionInternals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAO,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,oBAAY,sBAAsB,GAAG;IACnC,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;IAC9C,uBAAuB,CAAC,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,0BAA0B,oJAUpC,sBAAsB,KAAG,QAAQ,QAAQ,cAAc,CAyBtD,CAAC"}
1
+ {"version":3,"file":"createTransactionInternals.d.ts","sourceRoot":"","sources":["../../src/createTransactionInternals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,oBAAY,sBAAsB,GAAG;IACnC,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;IAC9C,uBAAuB,CAAC,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,0BAA0B,oJAUpC,sBAAsB,KAAG,QAAQ,QAAQ,cAAc,CA0BzD,CAAC"}
@@ -1,9 +1,32 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.createTransactionInternals = void 0;
27
+ const Crypto = __importStar(require("@cardano-sdk/crypto"));
4
28
  const core_1 = require("@cardano-sdk/core");
5
- const util_1 = require("@cardano-sdk/util");
6
- const createTransactionInternals = async ({ auxiliaryData, withdrawals, certificates, validityInterval, inputSelection, collaterals, mint, scriptIntegrityHash, requiredExtraSignatures }) => (0, util_1.usingAutoFree)((scope) => {
29
+ const createTransactionInternals = async ({ auxiliaryData, withdrawals, certificates, validityInterval, inputSelection, collaterals, mint, scriptIntegrityHash, requiredExtraSignatures }) => {
7
30
  const outputs = [...inputSelection.outputs];
8
31
  for (const changeOutput of inputSelection.change) {
9
32
  outputs.push(changeOutput);
@@ -22,11 +45,11 @@ const createTransactionInternals = async ({ auxiliaryData, withdrawals, certific
22
45
  };
23
46
  if (collaterals)
24
47
  body.collaterals = [...collaterals];
25
- const cslBody = core_1.coreToCml.txBody(scope, body);
48
+ const serializableBody = core_1.Serialization.TransactionBody.fromCore(body);
26
49
  return {
27
50
  body,
28
- hash: core_1.Cardano.TransactionId.fromHexBlob(core_1.util.bytesToHex(scope.manage(core_1.CML.hash_transaction(cslBody)).to_bytes()))
51
+ hash: core_1.Cardano.TransactionId.fromHexBlob(core_1.util.bytesToHex(Crypto.blake2b(Crypto.blake2b.BYTES).update(core_1.util.hexToBytes(serializableBody.toCbor())).digest()))
29
52
  };
30
- });
53
+ };
31
54
  exports.createTransactionInternals = createTransactionInternals;
32
55
  //# sourceMappingURL=createTransactionInternals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createTransactionInternals.js","sourceRoot":"","sources":["../../src/createTransactionInternals.ts"],"names":[],"mappings":";;;AACA,4CAAkE;AAElE,4CAAkD;AAc3C,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAC/C,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,IAAI,EACJ,mBAAmB,EACnB,uBAAuB,EACA,EAAmC,EAAE,CAC5D,IAAA,oBAAa,EAAC,CAAC,KAAK,EAAE,EAAE;IACtB,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,MAAM,EAAE;QAChD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5B;IACD,MAAM,IAAI,GAAmB;QAC3B,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,cAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9F,YAAY;QACZ,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QACxD,IAAI;QACJ,OAAO;QACP,uBAAuB;QACvB,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;KACZ,CAAC;IACF,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,gBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,cAAO,CAAC,aAAa,CAAC,WAAW,CAAC,WAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjH,CAAC;AACJ,CAAC,CAAC,CAAC;AAnCQ,QAAA,0BAA0B,8BAmClC"}
1
+ {"version":3,"file":"createTransactionInternals.js","sourceRoot":"","sources":["../../src/createTransactionInternals.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAC9C,4CAAiE;AAe1D,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAC/C,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,IAAI,EACJ,mBAAmB,EACnB,uBAAuB,EACA,EAAmC,EAAE;IAC5D,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,MAAM,EAAE;QAChD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5B;IACD,MAAM,IAAI,GAAmB;QAC3B,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,cAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9F,YAAY;QACZ,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QACxD,IAAI;QACJ,OAAO;QACP,uBAAuB;QACvB,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;KACZ,CAAC;IACF,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,oBAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtE,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,cAAO,CAAC,aAAa,CAAC,WAAW,CACrC,WAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAClH;KACF,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,0BAA0B,8BAoCrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/fees/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAuEhE,oBAAY,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAC5D,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,cAAoD,CAAC;AAMpG,oBAAY,iBAAiB,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAClE,eAAO,MAAM,iBAAiB,UAAW,MAAM,KAAG,iBAA0D,CAAC;AAwB7G,eAAO,MAAM,cAAc,WAAY,QAAQ,KAAK,oBAAoB,MAAM,KAAG,MAqBhF,CAAC;AAUF,eAAO,MAAM,MAAM,OACb,QAAQ,EAAE,gBACA,QAAQ,MAAM,kBACZ,cAAc,qBACX,iBAAiB,WACqD,CAAC"}
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/fees/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwEjD,oBAAY,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAC5D,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,cAAoD,CAAC;AAMpG,oBAAY,iBAAiB,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAClE,eAAO,MAAM,iBAAiB,UAAW,MAAM,KAAG,iBAA0D,CAAC;AAwB7G,eAAO,MAAM,cAAc,WAAY,QAAQ,KAAK,oBAAoB,MAAM,KAAG,MAqBhF,CAAC;AAUF,eAAO,MAAM,MAAM,OACb,QAAQ,EAAE,gBACA,QAAQ,MAAM,kBACZ,cAAc,qBACX,iBAAiB,WACqD,CAAC"}
@@ -2,11 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.minFee = exports.minAdaRequired = exports.MinFeeCoefficient = exports.MinFeeConstant = void 0;
4
4
  const core_1 = require("@cardano-sdk/core");
5
- const util_1 = require("@cardano-sdk/util");
6
5
  const MIN_ADA_CONSTANT_OVERHEAD = 160;
7
- const serializeBigInt = (bigInt) => (0, util_1.usingAutoFree)((scope) => scope.manage(core_1.CML.BigNum.from_str(bigInt)).to_bytes());
8
- const serializeTxOutput = (output) => (0, util_1.usingAutoFree)((scope) => core_1.coreToCml.txOut(scope, output).to_bytes());
9
- const serializeTx = (tx) => (0, util_1.usingAutoFree)((scope) => Buffer.from(scope.manage(core_1.Serialization.Transaction.fromCore(scope, tx)).toCbor(), 'hex'));
6
+ const serializeBigInt = (bigInt) => {
7
+ const writer = new core_1.Serialization.CborWriter();
8
+ writer.writeInt(BigInt(bigInt));
9
+ return writer.encode();
10
+ };
11
+ const serializeTxOutputSize = (output) => core_1.Serialization.TransactionOutput.fromCore(output).toCbor().length / 2;
12
+ const serializeTx = (tx) => Buffer.from(core_1.Serialization.Transaction.fromCore(tx).toCbor(), 'hex');
10
13
  const getTotalExUnits = (redeemers) => {
11
14
  const totalExUnits = { memory: 0, steps: 0 };
12
15
  for (const redeemer of redeemers) {
@@ -35,13 +38,13 @@ const minAdaRequired = (output, coinsPerUtxoByte) => {
35
38
  let isDone = false;
36
39
  while (!isDone) {
37
40
  const sizeDiff = latestSize - oldCoinSize;
38
- const tentativeMinAda = BigInt(serializeTxOutput(output).length + MIN_ADA_CONSTANT_OVERHEAD + sizeDiff) * coinsPerUtxoByte;
41
+ const tentativeMinAda = BigInt(serializeTxOutputSize(output) + MIN_ADA_CONSTANT_OVERHEAD + sizeDiff) * coinsPerUtxoByte;
39
42
  const newCoinSize = serializeBigInt(tentativeMinAda.toString()).length;
40
43
  isDone = latestSize === newCoinSize;
41
44
  latestSize = newCoinSize;
42
45
  }
43
46
  const sizeChange = latestSize - oldCoinSize;
44
- return BigInt(serializeTxOutput(output).length + MIN_ADA_CONSTANT_OVERHEAD + sizeChange) * coinsPerUtxoByte;
47
+ return BigInt(serializeTxOutputSize(output) + MIN_ADA_CONSTANT_OVERHEAD + sizeChange) * coinsPerUtxoByte;
45
48
  };
46
49
  exports.minAdaRequired = minAdaRequired;
47
50
  const minFee = (tx, exUnitsPrice, minFeeConstant, minFeeCoefficient) => minNoScriptFee(tx, minFeeConstant, minFeeCoefficient) + minScriptFee(tx, exUnitsPrice);
@@ -1 +1 @@
1
- {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../src/fees/fees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../src/fees/fees.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
2
  import { ComputeMinimumCoinQuantity, ComputeSelectionLimit, EstimateTxFee, ProtocolParametersForInputSelection, ProtocolParametersRequiredByInputSelection, SelectionConstraints, SelectionSkeleton, TokenBundleSizeExceedsLimit } from '@cardano-sdk/input-selection';
3
+ export declare const MAX_U64 = 18446744073709551615n;
3
4
  export declare type BuildTx = (selection: SelectionSkeleton) => Promise<Cardano.Tx>;
4
5
  export interface DefaultSelectionConstraintsProps {
5
6
  protocolParameters: ProtocolParametersForInputSelection;
@@ -1 +1 @@
1
- {"version":3,"file":"selectionConstraints.d.ts","sourceRoot":"","sources":["../../../src/input-selection/selectionConstraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAqE,MAAM,mBAAmB,CAAC;AACpH,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACb,mCAAmC,EACnC,0CAA0C,EAC1C,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,8BAA8B,CAAC;AAItC,oBAAY,OAAO,GAAG,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,WAAW,gCAAgC;IAC/C,kBAAkB,EAAE,mCAAmC,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,kDAMxB,KAAK,0CAA0C,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CAAC,WAC7F,OAAO,KACf,aAKF,CAAC;AAEJ,eAAO,MAAM,0BAA0B,qBAClB,0CAA0C,CAAC,kBAAkB,CAAC,KAAG,0BAElC,CAAC;AAErD,eAAO,MAAM,2BAA2B,iBACvB,0CAA0C,CAAC,cAAc,CAAC,KAAG,2BAW3E,CAAC;AAWJ,eAAO,MAAM,qBAAqB,cACpB,0CAA0C,CAAC,WAAW,CAAC,WAAW,OAAO,KAAG,qBASpF,CAAC;AAEP,eAAO,MAAM,2BAA2B,8HAGrC,gCAAgC,KAAG,oBAYrC,CAAC"}
1
+ {"version":3,"file":"selectionConstraints.d.ts","sourceRoot":"","sources":["../../../src/input-selection/selectionConstraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiD,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACb,mCAAmC,EACnC,0CAA0C,EAC1C,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,8BAA8B,CAAC;AAGtC,eAAO,MAAM,OAAO,wBAA8B,CAAC;AAEnD,oBAAY,OAAO,GAAG,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,WAAW,gCAAgC;IAC/C,kBAAkB,EAAE,mCAAmC,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,kDAMxB,KAAK,0CAA0C,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CAAC,WAC7F,OAAO,KACf,aAKF,CAAC;AAEJ,eAAO,MAAM,0BAA0B,qBAClB,0CAA0C,CAAC,kBAAkB,CAAC,KAAG,0BAElC,CAAC;AAErD,eAAO,MAAM,2BAA2B,iBACvB,0CAA0C,CAAC,cAAc,CAAC,KAAG,2BAU3E,CAAC;AAWJ,eAAO,MAAM,qBAAqB,cACpB,0CAA0C,CAAC,WAAW,CAAC,WAAW,OAAO,KAAG,qBAQvF,CAAC;AAEJ,eAAO,MAAM,2BAA2B,8HAGrC,gCAAgC,KAAG,oBAYrC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultSelectionConstraints = exports.computeSelectionLimit = exports.tokenBundleSizeExceedsLimit = exports.computeMinimumCoinQuantity = exports.computeMinimumCost = void 0;
3
+ exports.defaultSelectionConstraints = exports.computeSelectionLimit = exports.tokenBundleSizeExceedsLimit = exports.computeMinimumCoinQuantity = exports.computeMinimumCost = exports.MAX_U64 = void 0;
4
4
  const core_1 = require("@cardano-sdk/core");
5
5
  const fees_1 = require("../fees");
6
- const util_1 = require("@cardano-sdk/util");
6
+ exports.MAX_U64 = 18446744073709551615n;
7
7
  const computeMinimumCost = ({ minFeeCoefficient, minFeeConstant, prices }, buildTx) => async (selection) => {
8
8
  const tx = await buildTx(selection);
9
9
  return (0, fees_1.minFee)(tx, prices, (0, fees_1.MinFeeConstant)(minFeeConstant), (0, fees_1.MinFeeCoefficient)(minFeeCoefficient));
@@ -15,22 +15,20 @@ const tokenBundleSizeExceedsLimit = (maxValueSize) => (tokenBundle) => {
15
15
  if (!tokenBundle) {
16
16
  return false;
17
17
  }
18
- return (0, util_1.usingAutoFree)((scope) => {
19
- const value = scope.manage(core_1.CML.Value.new(core_1.cmlUtil.maxBigNum(scope)));
20
- value.set_multiasset(core_1.coreToCml.tokenMap(scope, tokenBundle));
21
- return value.to_bytes().length > maxValueSize;
22
- });
18
+ const value = new core_1.Serialization.Value(exports.MAX_U64);
19
+ value.setMultiasset(tokenBundle);
20
+ return value.toCbor().length / 2 > maxValueSize;
23
21
  };
24
22
  exports.tokenBundleSizeExceedsLimit = tokenBundleSizeExceedsLimit;
25
23
  const getTxSize = (tx) => Buffer.from(tx.toCbor(), 'hex').length;
26
- const computeSelectionLimit = (maxTxSize, buildTx) => (selectionSkeleton) => (0, util_1.usingAutoFree)(async (scope) => {
24
+ const computeSelectionLimit = (maxTxSize, buildTx) => async (selectionSkeleton) => {
27
25
  const tx = await buildTx(selectionSkeleton);
28
- const txSize = getTxSize(scope.manage(core_1.Serialization.Transaction.fromCore(scope, tx)));
26
+ const txSize = getTxSize(core_1.Serialization.Transaction.fromCore(tx));
29
27
  if (txSize <= maxTxSize) {
30
28
  return selectionSkeleton.inputs.size;
31
29
  }
32
30
  return selectionSkeleton.inputs.size - 1;
33
- });
31
+ };
34
32
  exports.computeSelectionLimit = computeSelectionLimit;
35
33
  const defaultSelectionConstraints = ({ protocolParameters: { coinsPerUtxoByte, maxTxSize, maxValueSize, minFeeCoefficient, minFeeConstant, prices }, buildTx }) => {
36
34
  if (!coinsPerUtxoByte || !maxTxSize || !maxValueSize || !minFeeCoefficient || !minFeeConstant || !prices) {
@@ -1 +1 @@
1
- {"version":3,"file":"selectionConstraints.js","sourceRoot":"","sources":["../../../src/input-selection/selectionConstraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectionConstraints.js","sourceRoot":"","sources":["../../../src/input-selection/selectionConstraints.ts"],"names":[],"mappings":";;;AAAA,4CAA2F;AAW3F,kCAAoF;AAEvE,QAAA,OAAO,GAAG,qBAA2B,CAAC;AAS5C,MAAM,kBAAkB,GAC7B,CACE,EACE,iBAAiB,EACjB,cAAc,EACd,MAAM,EAC8F,EACtG,OAAgB,EACD,EAAE,CACnB,KAAK,EAAE,SAAS,EAAE,EAAE;IAClB,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,IAAA,aAAM,EAAC,EAAE,EAAE,MAAM,EAAE,IAAA,qBAAc,EAAC,cAAc,CAAC,EAAE,IAAA,wBAAiB,EAAC,iBAAiB,CAAC,CAAC,CAAC;AAClG,CAAC,CAAC;AAbS,QAAA,kBAAkB,sBAa3B;AAEG,MAAM,0BAA0B,GACrC,CAAC,gBAAgF,EAA8B,EAAE,CACjH,CAAC,MAAM,EAAE,EAAE,CACT,IAAA,qBAAc,EAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAHxC,QAAA,0BAA0B,8BAGc;AAE9C,MAAM,2BAA2B,GACtC,CAAC,YAAwE,EAA+B,EAAE,CAC1G,CAAC,WAAW,EAAE,EAAE;IACd,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,IAAI,oBAAa,CAAC,KAAK,CAAC,eAAO,CAAC,CAAC;IAC/C,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC;AAClD,CAAC,CAAC;AAXS,QAAA,2BAA2B,+BAWpC;AAEJ,MAAM,SAAS,GAAG,CAAC,EAA6B,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;AASrF,MAAM,qBAAqB,GAChC,CAAC,SAAkE,EAAE,OAAgB,EAAyB,EAAE,CAChH,KAAK,EAAE,iBAAiB,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,IAAI,SAAS,EAAE;QACvB,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;KACtC;IACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC;AATS,QAAA,qBAAqB,yBAS9B;AAEG,MAAM,2BAA2B,GAAG,CAAC,EAC1C,kBAAkB,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,EAC5G,OAAO,EAC0B,EAAwB,EAAE;IAC3D,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE;QACxG,MAAM,IAAI,qCAA8B,CACtC,sGAAsG,CACvG,CAAC;KACH;IACD,OAAO;QACL,0BAA0B,EAAE,IAAA,kCAA0B,EAAC,gBAAgB,CAAC;QACxE,kBAAkB,EAAE,IAAA,0BAAkB,EAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;QAC9F,qBAAqB,EAAE,IAAA,6BAAqB,EAAC,SAAS,EAAE,OAAO,CAAC;QAChE,2BAA2B,EAAE,IAAA,mCAA2B,EAAC,YAAY,CAAC;KACvE,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,2BAA2B,+BAetC"}