@cardano-sdk/tx-construction 0.11.3 → 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.
- package/dist/cjs/createTransactionInternals.d.ts.map +1 -1
- package/dist/cjs/createTransactionInternals.js +28 -5
- package/dist/cjs/createTransactionInternals.js.map +1 -1
- package/dist/cjs/fees/fees.d.ts.map +1 -1
- package/dist/cjs/fees/fees.js +9 -6
- package/dist/cjs/fees/fees.js.map +1 -1
- package/dist/cjs/input-selection/selectionConstraints.d.ts +1 -0
- package/dist/cjs/input-selection/selectionConstraints.d.ts.map +1 -1
- package/dist/cjs/input-selection/selectionConstraints.js +8 -10
- package/dist/cjs/input-selection/selectionConstraints.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/tx-builder/OutputBuilder.js +1 -1
- package/dist/cjs/tx-builder/OutputBuilder.js.map +1 -1
- package/dist/cjs/tx-builder/TxBuilder.d.ts +1 -1
- package/dist/cjs/tx-builder/TxBuilder.d.ts.map +1 -1
- package/dist/cjs/tx-builder/TxBuilder.js +25 -12
- package/dist/cjs/tx-builder/TxBuilder.js.map +1 -1
- package/dist/cjs/tx-builder/finalizeTx.d.ts +1 -1
- package/dist/cjs/tx-builder/finalizeTx.d.ts.map +1 -1
- package/dist/cjs/tx-builder/finalizeTx.js +10 -3
- package/dist/cjs/tx-builder/finalizeTx.js.map +1 -1
- package/dist/cjs/tx-builder/initializeTx.js +1 -1
- package/dist/cjs/tx-builder/initializeTx.js.map +1 -1
- package/dist/cjs/tx-builder/types.d.ts +5 -4
- package/dist/cjs/tx-builder/types.d.ts.map +1 -1
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/createTransactionInternals.d.ts.map +1 -1
- package/dist/esm/createTransactionInternals.js +6 -6
- package/dist/esm/createTransactionInternals.js.map +1 -1
- package/dist/esm/fees/fees.d.ts.map +1 -1
- package/dist/esm/fees/fees.js +10 -7
- package/dist/esm/fees/fees.js.map +1 -1
- package/dist/esm/input-selection/selectionConstraints.d.ts +1 -0
- package/dist/esm/input-selection/selectionConstraints.d.ts.map +1 -1
- package/dist/esm/input-selection/selectionConstraints.js +8 -10
- package/dist/esm/input-selection/selectionConstraints.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/tx-builder/OutputBuilder.js +1 -1
- package/dist/esm/tx-builder/OutputBuilder.js.map +1 -1
- package/dist/esm/tx-builder/TxBuilder.d.ts +1 -1
- package/dist/esm/tx-builder/TxBuilder.d.ts.map +1 -1
- package/dist/esm/tx-builder/TxBuilder.js +26 -13
- package/dist/esm/tx-builder/TxBuilder.js.map +1 -1
- package/dist/esm/tx-builder/finalizeTx.d.ts +1 -1
- package/dist/esm/tx-builder/finalizeTx.d.ts.map +1 -1
- package/dist/esm/tx-builder/finalizeTx.js +10 -3
- package/dist/esm/tx-builder/finalizeTx.js.map +1 -1
- package/dist/esm/tx-builder/initializeTx.js +1 -1
- package/dist/esm/tx-builder/initializeTx.js.map +1 -1
- package/dist/esm/tx-builder/types.d.ts +5 -4
- package/dist/esm/tx-builder/types.d.ts.map +1 -1
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +10 -10
|
@@ -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,
|
|
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
|
|
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
|
|
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(
|
|
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":"
|
|
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,
|
|
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"}
|
package/dist/cjs/fees/fees.js
CHANGED
|
@@ -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) =>
|
|
8
|
-
const
|
|
9
|
-
|
|
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(
|
|
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(
|
|
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":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../src/fees/fees.ts"],"names":[],"mappings":";;;AAAA,4CAA2D;AAO3D,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAOtC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,IAAI,oBAAa,CAAC,UAAU,EAAE,CAAC;IAE9C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AAOF,MAAM,qBAAqB,GAAG,CAAC,MAAqB,EAAE,EAAE,CACtD,oBAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAOvE,MAAM,WAAW,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAO5G,MAAM,eAAe,GAAG,CAAC,SAA6B,EAAmB,EAAE;IACzE,MAAM,YAAY,GAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAE9D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;QACtD,YAAY,CAAC,KAAK,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;KACrD;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAQF,MAAM,YAAY,GAAG,CAAC,EAAc,EAAE,YAA4B,EAAU,EAAE;IAC5E,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE3D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AAChH,CAAC,CAAC;AASK,MAAM,cAAc,GAAG,CAAC,KAAa,EAAkB,EAAE,CAAC,KAAkC,CAAC;AAAvF,QAAA,cAAc,kBAAyE;AAO7F,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAqB,EAAE,CAAC,KAAqC,CAAC;AAAhG,QAAA,iBAAiB,qBAA+E;AAS7G,MAAM,cAAc,GAAG,CAAC,EAAc,EAAE,cAA8B,EAAE,iBAAoC,EAAE,EAAE;IAC9G,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AAYK,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAE,gBAAwB,EAAU,EAAE;IACxF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;IAE1E,IAAI,UAAU,GAAG,WAAW,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;QAE1C,MAAM,eAAe,GACnB,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,yBAAyB,GAAG,QAAQ,CAAC,GAAG,gBAAgB,CAAC;QAElG,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QAEvE,MAAM,GAAG,UAAU,KAAK,WAAW,CAAC;QACpC,UAAU,GAAG,WAAW,CAAC;KAC1B;IAED,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAE5C,OAAO,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,yBAAyB,GAAG,UAAU,CAAC,GAAG,gBAAgB,CAAC;AAC3G,CAAC,CAAC;AArBW,QAAA,cAAc,kBAqBzB;AAUK,MAAM,MAAM,GAAG,CACpB,EAAc,EACd,YAA4B,EAC5B,cAA8B,EAC9B,iBAAoC,EACpC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,iBAAiB,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AAL/E,QAAA,MAAM,UAKyE"}
|
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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) =>
|
|
24
|
+
const computeSelectionLimit = (maxTxSize, buildTx) => async (selectionSkeleton) => {
|
|
27
25
|
const tx = await buildTx(selectionSkeleton);
|
|
28
|
-
const txSize = getTxSize(
|
|
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":";;;AAAA,
|
|
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"}
|