@cardano-sdk/tx-construction 0.18.6 → 0.19.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 +6 -2
- package/dist/cjs/createTransactionInternals.d.ts.map +1 -1
- package/dist/cjs/createTransactionInternals.js +11 -3
- package/dist/cjs/createTransactionInternals.js.map +1 -1
- package/dist/cjs/input-selection/selectionConstraints.d.ts +14 -3
- package/dist/cjs/input-selection/selectionConstraints.d.ts.map +1 -1
- package/dist/cjs/input-selection/selectionConstraints.js +61 -4
- package/dist/cjs/input-selection/selectionConstraints.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/tx-builder/GreedyTxEvaluator.d.ts +8 -0
- package/dist/cjs/tx-builder/GreedyTxEvaluator.d.ts.map +1 -0
- package/dist/cjs/tx-builder/GreedyTxEvaluator.js +39 -0
- package/dist/cjs/tx-builder/GreedyTxEvaluator.js.map +1 -0
- package/dist/cjs/tx-builder/OutputBuilder.d.ts +2 -1
- package/dist/cjs/tx-builder/OutputBuilder.d.ts.map +1 -1
- package/dist/cjs/tx-builder/OutputBuilder.js +14 -2
- package/dist/cjs/tx-builder/OutputBuilder.js.map +1 -1
- package/dist/cjs/tx-builder/TxBuilder.d.ts +5 -1
- package/dist/cjs/tx-builder/TxBuilder.d.ts.map +1 -1
- package/dist/cjs/tx-builder/TxBuilder.js +170 -42
- package/dist/cjs/tx-builder/TxBuilder.js.map +1 -1
- package/dist/cjs/tx-builder/costModels.d.ts +11 -0
- package/dist/cjs/tx-builder/costModels.d.ts.map +1 -0
- package/dist/cjs/tx-builder/costModels.js +77 -0
- package/dist/cjs/tx-builder/costModels.js.map +1 -0
- package/dist/cjs/tx-builder/index.d.ts +1 -0
- package/dist/cjs/tx-builder/index.d.ts.map +1 -1
- package/dist/cjs/tx-builder/index.js +1 -0
- package/dist/cjs/tx-builder/index.js.map +1 -1
- package/dist/cjs/tx-builder/initializeTx.d.ts.map +1 -1
- package/dist/cjs/tx-builder/initializeTx.js +18 -6
- package/dist/cjs/tx-builder/initializeTx.js.map +1 -1
- package/dist/cjs/tx-builder/types.d.ts +23 -0
- package/dist/cjs/tx-builder/types.d.ts.map +1 -1
- package/dist/cjs/tx-builder/utils.d.ts +23 -0
- package/dist/cjs/tx-builder/utils.d.ts.map +1 -0
- package/dist/cjs/tx-builder/utils.js +134 -0
- package/dist/cjs/tx-builder/utils.js.map +1 -0
- package/dist/cjs/types.d.ts +9 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/createTransactionInternals.d.ts +6 -2
- package/dist/esm/createTransactionInternals.d.ts.map +1 -1
- package/dist/esm/createTransactionInternals.js +11 -3
- package/dist/esm/createTransactionInternals.js.map +1 -1
- package/dist/esm/input-selection/selectionConstraints.d.ts +14 -3
- package/dist/esm/input-selection/selectionConstraints.d.ts.map +1 -1
- package/dist/esm/input-selection/selectionConstraints.js +62 -5
- package/dist/esm/input-selection/selectionConstraints.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/tx-builder/GreedyTxEvaluator.d.ts +8 -0
- package/dist/esm/tx-builder/GreedyTxEvaluator.d.ts.map +1 -0
- package/dist/esm/tx-builder/GreedyTxEvaluator.js +35 -0
- package/dist/esm/tx-builder/GreedyTxEvaluator.js.map +1 -0
- package/dist/esm/tx-builder/OutputBuilder.d.ts +2 -1
- package/dist/esm/tx-builder/OutputBuilder.d.ts.map +1 -1
- package/dist/esm/tx-builder/OutputBuilder.js +14 -2
- package/dist/esm/tx-builder/OutputBuilder.js.map +1 -1
- package/dist/esm/tx-builder/TxBuilder.d.ts +5 -1
- package/dist/esm/tx-builder/TxBuilder.d.ts.map +1 -1
- package/dist/esm/tx-builder/TxBuilder.js +171 -43
- package/dist/esm/tx-builder/TxBuilder.js.map +1 -1
- package/dist/esm/tx-builder/costModels.d.ts +11 -0
- package/dist/esm/tx-builder/costModels.d.ts.map +1 -0
- package/dist/esm/tx-builder/costModels.js +72 -0
- package/dist/esm/tx-builder/costModels.js.map +1 -0
- package/dist/esm/tx-builder/index.d.ts +1 -0
- package/dist/esm/tx-builder/index.d.ts.map +1 -1
- package/dist/esm/tx-builder/index.js +1 -0
- package/dist/esm/tx-builder/index.js.map +1 -1
- package/dist/esm/tx-builder/initializeTx.d.ts.map +1 -1
- package/dist/esm/tx-builder/initializeTx.js +18 -6
- package/dist/esm/tx-builder/initializeTx.js.map +1 -1
- package/dist/esm/tx-builder/types.d.ts +23 -0
- package/dist/esm/tx-builder/types.d.ts.map +1 -1
- package/dist/esm/tx-builder/utils.d.ts +23 -0
- package/dist/esm/tx-builder/utils.d.ts.map +1 -0
- package/dist/esm/tx-builder/utils.js +122 -0
- package/dist/esm/tx-builder/utils.js.map +1 -0
- package/dist/esm/types.d.ts +9 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDefaultCostModelsForVersions = exports.buildCostModels = exports.plutusV3CostModel = exports.plutusV2CostModel = exports.plutusV1CostModel = void 0;
|
|
4
|
+
const core_1 = require("@cardano-sdk/core");
|
|
5
|
+
exports.plutusV1CostModel = {
|
|
6
|
+
prices: [
|
|
7
|
+
205665, 812, 1, 1, 1000, 571, 0, 1, 1000, 24177, 4, 1, 1000, 32, 117366, 10475, 4, 23000, 100, 23000, 100,
|
|
8
|
+
23000, 100, 23000, 100, 23000, 100, 23000, 100, 100, 100, 23000, 100, 19537, 32, 175354, 32, 46417, 4,
|
|
9
|
+
221973, 511, 0, 1, 89141, 32, 497525, 14068, 4, 2, 196500, 453240, 220, 0, 1, 1, 1000, 28662, 4, 2, 245000,
|
|
10
|
+
216773, 62, 1, 1060367, 12586, 1, 208512, 421, 1, 187000, 1000, 52998, 1, 80436, 32, 43249, 32, 1000, 32,
|
|
11
|
+
80556, 1, 57667, 4, 1000, 10, 197145, 156, 1, 197145, 156, 1, 204924, 473, 1, 208896, 511, 1, 52467, 32,
|
|
12
|
+
64832, 32, 65493, 32, 22558, 32, 16563, 32, 76511, 32, 196500, 453240, 220, 0, 1, 1, 69522, 11687, 0, 1,
|
|
13
|
+
60091, 32, 196500, 453240, 220, 0, 1, 1, 196500, 453240, 220, 0, 1, 1, 806990, 30482, 4, 1927926, 82523,
|
|
14
|
+
4, 265318, 0, 4, 0, 85931, 32, 205665, 812, 1, 1, 41182, 32, 212342, 32, 31220, 32, 32696, 32, 43357, 32,
|
|
15
|
+
32247, 32, 38314, 32, 57996947, 18975, 10
|
|
16
|
+
],
|
|
17
|
+
version: core_1.Cardano.PlutusLanguageVersion.V1
|
|
18
|
+
};
|
|
19
|
+
exports.plutusV2CostModel = {
|
|
20
|
+
prices: [
|
|
21
|
+
205665, 812, 1, 1, 1000, 571, 0, 1, 1000, 24177, 4, 1, 1000, 32, 117366, 10475, 4, 23000, 100, 23000, 100,
|
|
22
|
+
23000, 100, 23000, 100, 23000, 100, 23000, 100, 100, 100, 23000, 100, 19537, 32, 175354, 32, 46417, 4,
|
|
23
|
+
221973, 511, 0, 1, 89141, 32, 497525, 14068, 4, 2, 196500, 453240, 220, 0, 1, 1, 1000, 28662, 4, 2, 245000,
|
|
24
|
+
216773, 62, 1, 1060367, 12586, 1, 208512, 421, 1, 187000, 1000, 52998, 1, 80436, 32, 43249, 32, 1000, 32,
|
|
25
|
+
80556, 1, 57667, 4, 1000, 10, 197145, 156, 1, 197145, 156, 1, 204924, 473, 1, 208896, 511, 1, 52467, 32,
|
|
26
|
+
64832, 32, 65493, 32, 22558, 32, 16563, 32, 76511, 32, 196500, 453240, 220, 0, 1, 1, 69522, 11687, 0, 1,
|
|
27
|
+
60091, 32, 196500, 453240, 220, 0, 1, 1, 196500, 453240, 220, 0, 1, 1, 1159724, 392670, 0, 2, 806990,
|
|
28
|
+
30482, 4, 1927926, 82523, 4, 265318, 0, 4, 0, 85931, 32, 205665, 812, 1, 1, 41182, 32, 212342, 32, 31220,
|
|
29
|
+
32, 32696, 32, 43357, 32, 32247, 32, 38314, 32, 35892428, 10, 57996947, 18975, 10, 38887044, 32947, 10
|
|
30
|
+
],
|
|
31
|
+
version: core_1.Cardano.PlutusLanguageVersion.V2
|
|
32
|
+
};
|
|
33
|
+
exports.plutusV3CostModel = {
|
|
34
|
+
prices: [
|
|
35
|
+
205665, 812, 1, 1, 1000, 571, 0, 1, 1000, 24177, 4, 1, 1000, 32, 117366, 10475, 4, 23000, 100, 23000, 100,
|
|
36
|
+
23000, 100, 23000, 100, 23000, 100, 23000, 100, 100, 100, 23000, 100, 19537, 32, 175354, 32, 46417, 4,
|
|
37
|
+
221973, 511, 0, 1, 89141, 32, 497525, 14068, 4, 2, 196500, 453240, 220, 0, 1, 1, 1000, 28662, 4, 2, 245000,
|
|
38
|
+
216773, 62, 1, 1060367, 12586, 1, 208512, 421, 1, 187000, 1000, 52998, 1, 80436, 32, 43249, 32, 1000, 32,
|
|
39
|
+
80556, 1, 57667, 4, 1000, 10, 197145, 156, 1, 197145, 156, 1, 204924, 473, 1, 208896, 511, 1, 52467, 32,
|
|
40
|
+
64832, 32, 65493, 32, 22558, 32, 16563, 32, 76511, 32, 196500, 453240, 220, 0, 1, 1, 69522, 11687, 0, 1,
|
|
41
|
+
60091, 32, 196500, 453240, 220, 0, 1, 1, 196500, 453240, 220, 0, 1, 1, 1159724, 392670, 0, 2, 806990,
|
|
42
|
+
30482, 4, 1927926, 82523, 4, 265318, 0, 4, 0, 85931, 32, 205665, 812, 1, 1, 41182, 32, 212342, 32, 31220,
|
|
43
|
+
32, 32696, 32, 43357, 32, 32247, 32, 38314, 32, 35190005, 10, 57996947, 18975, 10, 39121781, 32260, 10,
|
|
44
|
+
100, 23000, 100, 832808, 18, 3209094, 6, 331451, 1, 65990684, 23097, 18, 114242, 18, 94393407, 87060,
|
|
45
|
+
18, 16420089, 18, 2145798, 36, 3795345, 12, 889023, 1, 204237282, 23271, 36, 129165, 36, 189977790,
|
|
46
|
+
85902, 36, 33012864, 36, 388443360, 1, 401885761, 72, 2331379, 72, 1927926, 82523, 4, 117366, 10475,
|
|
47
|
+
4, 1292075, 24469, 74, 0, 1, 936157, 49601, 237, 0, 1
|
|
48
|
+
],
|
|
49
|
+
version: core_1.Cardano.PlutusLanguageVersion.V3
|
|
50
|
+
};
|
|
51
|
+
const buildCostModels = (models) => {
|
|
52
|
+
const costModels = new core_1.Serialization.Costmdls();
|
|
53
|
+
for (const model of models) {
|
|
54
|
+
const costModel = new core_1.Serialization.CostModel(model.version, model.prices);
|
|
55
|
+
costModels.insert(costModel);
|
|
56
|
+
}
|
|
57
|
+
return costModels.toCore();
|
|
58
|
+
};
|
|
59
|
+
exports.buildCostModels = buildCostModels;
|
|
60
|
+
const getDefaultCostModelsForVersions = (versions) => {
|
|
61
|
+
const uniqueVersions = [...new Set(versions)];
|
|
62
|
+
const models = uniqueVersions.map((version) => {
|
|
63
|
+
switch (version) {
|
|
64
|
+
case core_1.Cardano.PlutusLanguageVersion.V1:
|
|
65
|
+
return exports.plutusV1CostModel;
|
|
66
|
+
case core_1.Cardano.PlutusLanguageVersion.V2:
|
|
67
|
+
return exports.plutusV2CostModel;
|
|
68
|
+
case core_1.Cardano.PlutusLanguageVersion.V3:
|
|
69
|
+
return exports.plutusV3CostModel;
|
|
70
|
+
default:
|
|
71
|
+
throw new Error('Invalid plutus language');
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return (0, exports.buildCostModels)(models);
|
|
75
|
+
};
|
|
76
|
+
exports.getDefaultCostModelsForVersions = getDefaultCostModelsForVersions;
|
|
77
|
+
//# sourceMappingURL=costModels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"costModels.js","sourceRoot":"","sources":["../../../src/tx-builder/costModels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|
|
@@ -18,4 +18,5 @@ __exportStar(require("./OutputBuilder"), exports);
|
|
|
18
18
|
__exportStar(require("./initializeTx"), exports);
|
|
19
19
|
__exportStar(require("./types"), exports);
|
|
20
20
|
__exportStar(require("./TxBuilder"), exports);
|
|
21
|
+
__exportStar(require("./GreedyTxEvaluator"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tx-builder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,0CAAwB;AACxB,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tx-builder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,0CAAwB;AACxB,8CAA4B;AAC5B,sDAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializeTx.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/initializeTx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initializeTx.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/initializeTx.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKhD,eAAO,MAAM,YAAY,UAChB,iBAAiB,yGAQrB,qBAAqB,KACvB,QAAQ,kBAAkB,CA2G5B,CAAC"}
|
|
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.initializeTx = void 0;
|
|
4
4
|
const input_selection_1 = require("@cardano-sdk/input-selection");
|
|
5
5
|
const core_1 = require("@cardano-sdk/core");
|
|
6
|
-
const
|
|
6
|
+
const GreedyTxEvaluator_1 = require("./GreedyTxEvaluator");
|
|
7
7
|
const input_selection_2 = require("../input-selection");
|
|
8
|
+
const createTransactionInternals_1 = require("../createTransactionInternals");
|
|
8
9
|
const ensureValidityInterval_1 = require("../ensureValidityInterval");
|
|
9
10
|
const key_management_1 = require("@cardano-sdk/key-management");
|
|
10
11
|
const initializeTx = async (props, { txBuilderProviders, inputSelector, inputResolver, bip32Account: addressManager, witnesser, logger }) => {
|
|
@@ -16,6 +17,7 @@ const initializeTx = async (props, { txBuilderProviders, inputSelector, inputRes
|
|
|
16
17
|
txBuilderProviders.utxoAvailable(),
|
|
17
18
|
txBuilderProviders.addresses.get()
|
|
18
19
|
]);
|
|
20
|
+
const txEvaluator = props.txEvaluator ?? new GreedyTxEvaluator_1.GreedyTxEvaluator(() => txBuilderProviders.protocolParameters());
|
|
19
21
|
inputSelector =
|
|
20
22
|
inputSelector ??
|
|
21
23
|
(0, input_selection_1.roundRobinRandomImprove)({
|
|
@@ -24,9 +26,11 @@ const initializeTx = async (props, { txBuilderProviders, inputSelector, inputRes
|
|
|
24
26
|
const { txBody, auxiliaryData } = (0, createTransactionInternals_1.createPreInputSelectionTxBody)({
|
|
25
27
|
auxiliaryData: props.auxiliaryData,
|
|
26
28
|
certificates: props.certificates,
|
|
29
|
+
collateralReturn: props.collateralReturn,
|
|
27
30
|
collaterals: props.collaterals,
|
|
28
31
|
mint: props.mint,
|
|
29
32
|
outputs: [...(props.outputs || [])],
|
|
33
|
+
referenceInputs: props.referenceInputs,
|
|
30
34
|
requiredExtraSignatures: props.requiredExtraSignatures,
|
|
31
35
|
scriptIntegrityHash: props.scriptIntegrityHash,
|
|
32
36
|
validityInterval: (0, ensureValidityInterval_1.ensureValidityInterval)(tip.slot, genesisParameters, props.options?.validityInterval),
|
|
@@ -46,7 +50,9 @@ const initializeTx = async (props, { txBuilderProviders, inputSelector, inputRes
|
|
|
46
50
|
}
|
|
47
51
|
const unwitnessedTx = (0, createTransactionInternals_1.includeChangeAndInputs)({
|
|
48
52
|
bodyPreInputSelection,
|
|
49
|
-
inputSelection
|
|
53
|
+
inputSelection,
|
|
54
|
+
scriptVersions: props.scriptVersions,
|
|
55
|
+
witness: props.witness
|
|
50
56
|
});
|
|
51
57
|
const dRepPublicKey = addressManager
|
|
52
58
|
? (await addressManager.derivePublicKey(key_management_1.util.DREP_KEY_DERIVATION_PATH)).hex()
|
|
@@ -62,24 +68,30 @@ const initializeTx = async (props, { txBuilderProviders, inputSelector, inputRes
|
|
|
62
68
|
const { tx } = await witnesser.witness(transaction, signingContext, signingOptions);
|
|
63
69
|
return tx;
|
|
64
70
|
},
|
|
65
|
-
protocolParameters
|
|
71
|
+
protocolParameters,
|
|
72
|
+
redeemersByType: props.redeemersByType ?? {},
|
|
73
|
+
txEvaluator
|
|
66
74
|
});
|
|
67
75
|
const implicitCoin = core_1.Cardano.util.computeImplicitCoin(protocolParameters, {
|
|
68
76
|
certificates: bodyPreInputSelection.certificates,
|
|
69
77
|
proposalProcedures: bodyPreInputSelection.proposalProcedures,
|
|
70
78
|
withdrawals: bodyPreInputSelection.withdrawals
|
|
71
79
|
});
|
|
72
|
-
const { selection: inputSelection } = await inputSelector.select({
|
|
80
|
+
const { selection: inputSelection, redeemers } = await inputSelector.select({
|
|
73
81
|
constraints,
|
|
74
82
|
implicitValue: { coin: implicitCoin, mint: bodyPreInputSelection.mint },
|
|
75
83
|
outputs: new Set(bodyPreInputSelection.outputs),
|
|
84
|
+
preSelectedUtxo: props.inputs || new Set(),
|
|
76
85
|
utxo: new Set(utxo)
|
|
77
86
|
});
|
|
87
|
+
const witness = { ...props.witness, redeemers };
|
|
78
88
|
const { body, hash } = (0, createTransactionInternals_1.includeChangeAndInputs)({
|
|
79
89
|
bodyPreInputSelection,
|
|
80
|
-
inputSelection
|
|
90
|
+
inputSelection,
|
|
91
|
+
scriptVersions: props.scriptVersions,
|
|
92
|
+
witness
|
|
81
93
|
});
|
|
82
|
-
return { body, hash, inputSelection };
|
|
94
|
+
return { body, hash, inputSelection, redeemers };
|
|
83
95
|
};
|
|
84
96
|
exports.initializeTx = initializeTx;
|
|
85
97
|
//# sourceMappingURL=initializeTx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializeTx.js","sourceRoot":"","sources":["../../../src/tx-builder/initializeTx.ts"],"names":[],"mappings":";;;AAAA,kEAAoG;AAEpG,4CAA2D;
|
|
1
|
+
{"version":3,"file":"initializeTx.js","sourceRoot":"","sources":["../../../src/tx-builder/initializeTx.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,6 +88,7 @@ export declare type TxInspection = Cardano.TxBodyWithHash & {
|
|
|
88
88
|
auxiliaryData?: Cardano.AuxiliaryData;
|
|
89
89
|
inputSelection: SelectionSkeleton;
|
|
90
90
|
ownAddresses: GroupedAddress[];
|
|
91
|
+
witness?: Cardano.Witness;
|
|
91
92
|
};
|
|
92
93
|
export interface UnwitnessedTx {
|
|
93
94
|
inspect(): Promise<TxInspection>;
|
|
@@ -103,8 +104,28 @@ declare type CustomizeCbProps = {
|
|
|
103
104
|
txBody: Readonly<TxBodyPreInputSelection>;
|
|
104
105
|
};
|
|
105
106
|
export declare type CustomizeCb = (props: CustomizeCbProps) => TxBodyPreInputSelection;
|
|
107
|
+
export declare type ResolveDatum = (datumHash: Cardano.DatumHash) => Promise<Cardano.PlutusData | null>;
|
|
108
|
+
export interface DatumResolver {
|
|
109
|
+
resolve: ResolveDatum;
|
|
110
|
+
}
|
|
111
|
+
export declare type TxEvaluationResult = Array<{
|
|
112
|
+
purpose: Cardano.RedeemerPurpose;
|
|
113
|
+
index: number;
|
|
114
|
+
budget: Cardano.ExUnits;
|
|
115
|
+
}>;
|
|
116
|
+
export interface TxEvaluator {
|
|
117
|
+
evaluate(tx: Cardano.Tx, resolvedInputs: Array<Cardano.Utxo>): Promise<TxEvaluationResult>;
|
|
118
|
+
}
|
|
119
|
+
export declare type ScriptUnlockProps = {
|
|
120
|
+
redeemer?: Cardano.PlutusData;
|
|
121
|
+
script?: Cardano.Script;
|
|
122
|
+
datum?: Cardano.PlutusData;
|
|
123
|
+
};
|
|
106
124
|
export interface TxBuilder {
|
|
107
125
|
inspect(): Promise<PartialTx>;
|
|
126
|
+
addReferenceInput(input: Cardano.TxIn | Cardano.Utxo): TxBuilder;
|
|
127
|
+
addInput(input: Cardano.TxIn | Cardano.Utxo, scriptUnlockProps?: ScriptUnlockProps): TxBuilder;
|
|
128
|
+
addDatum(datum: Cardano.PlutusData): TxBuilder;
|
|
108
129
|
addOutput(txOut: Cardano.TxOut): TxBuilder;
|
|
109
130
|
removeOutput(txOut: Cardano.TxOut): TxBuilder;
|
|
110
131
|
buildOutput(txOut?: PartialTxOut): OutputBuilder;
|
|
@@ -119,6 +140,8 @@ export interface TxBuilder {
|
|
|
119
140
|
}
|
|
120
141
|
export interface TxBuilderDependencies {
|
|
121
142
|
inputSelector?: InputSelector;
|
|
143
|
+
datumResolver?: DatumResolver;
|
|
144
|
+
txEvaluator: TxEvaluator;
|
|
122
145
|
inputResolver: Cardano.InputResolver;
|
|
123
146
|
bip32Account?: Bip32Account;
|
|
124
147
|
witnesser: Witnesser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as Crypto from '@cardano-sdk/crypto';
|
|
2
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
3
|
+
import { GreedyInputSelector } from '@cardano-sdk/input-selection';
|
|
4
|
+
import { GroupedAddress } from '@cardano-sdk/key-management';
|
|
5
|
+
import { RedeemersByType } from '../input-selection';
|
|
6
|
+
import { RewardAccountWithPoolId, TxBuilderProviders } from '../types';
|
|
7
|
+
import { ValidityInterval } from '@cardano-sdk/core/dist/cjs/Cardano';
|
|
8
|
+
export declare type RewardAccountsAndWeights = Map<Cardano.RewardAccount, number>;
|
|
9
|
+
export declare const createGreedyInputSelector: (rewardAccountsWithWeights: RewardAccountsAndWeights, ownAddresses: GroupedAddress[]) => GreedyInputSelector;
|
|
10
|
+
export declare const sortRewardAccountsDelegatedFirst: (a: RewardAccountWithPoolId, b: RewardAccountWithPoolId) => number;
|
|
11
|
+
export declare const buildRedeemers: (redeemersData: RedeemersByType, maxExecutionUnits: Cardano.ExUnits) => {
|
|
12
|
+
data: Cardano.PlutusData;
|
|
13
|
+
executionUnits: Cardano.ExUnits;
|
|
14
|
+
index: number;
|
|
15
|
+
purpose: Cardano.RedeemerPurpose;
|
|
16
|
+
}[];
|
|
17
|
+
export declare const validateValidityInterval: (tip: Cardano.Tip, validityInterval?: ValidityInterval) => void;
|
|
18
|
+
export declare const buildWitness: (knownScripts: Map<Crypto.Hash28ByteBase16, Cardano.Script>, knownReferenceScripts: Set<Crypto.Hash28ByteBase16>, knownDatums: Map<Cardano.DatumHash, Cardano.PlutusData>, knownInlineDatums: Set<Cardano.DatumHash>, knownRedeemers: RedeemersByType, providers: TxBuilderProviders) => Promise<Cardano.Witness>;
|
|
19
|
+
export declare const computeCollateral: (providers: TxBuilderProviders) => Promise<{
|
|
20
|
+
collaterals: Set<Cardano.TxIn>;
|
|
21
|
+
collateralReturn: Cardano.TxOut;
|
|
22
|
+
}>;
|
|
23
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAEL,mBAAmB,EAEpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAwCtE,oBAAY,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAU1E,eAAO,MAAM,yBAAyB,sEAEtB,cAAc,EAAE,wBAmB/B,CAAC;AAGF,eAAO,MAAM,gCAAgC,MAAO,uBAAuB,KAAK,uBAAuB,KAAG,MAazG,CAAC;AAEF,eAAO,MAAM,cAAc,kBAAmB,eAAe,qBAAqB,QAAQ,OAAO;;;;;GA2BhG,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAS,QAAQ,GAAG,qBAAqB,gBAAgB,SAQ7F,CAAC;AAEF,eAAO,MAAM,YAAY,iBACT,IAAI,OAAO,gBAAgB,EAAE,QAAQ,MAAM,CAAC,yBACnC,IAAI,OAAO,gBAAgB,CAAC,eACtC,IAAI,QAAQ,SAAS,EAAE,QAAQ,UAAU,CAAC,qBACpC,IAAI,QAAQ,SAAS,CAAC,kBACzB,eAAe,aACpB,kBAAkB,KAE5B,QAAQ,QAAQ,OAAO,CA0BzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,cACjB,kBAAkB,KAC5B,QAAQ;IAAE,WAAW,EAAE,IAAI,QAAQ,IAAI,CAAC,CAAC;IAAC,gBAAgB,EAAE,QAAQ,KAAK,CAAA;CAAE,CAoC7E,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.computeCollateral = exports.buildWitness = exports.validateValidityInterval = exports.buildRedeemers = exports.sortRewardAccountsDelegatedFirst = exports.createGreedyInputSelector = void 0;
|
|
7
|
+
const core_1 = require("@cardano-sdk/core");
|
|
8
|
+
const input_selection_1 = require("@cardano-sdk/input-selection");
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
const input_selection_2 = require("../input-selection");
|
|
11
|
+
const minBy_1 = __importDefault(require("lodash/minBy"));
|
|
12
|
+
const COLLATERAL_AMOUNT_IN_LOVELACE = 5000000n;
|
|
13
|
+
const sortByCoins = (lhs, rhs) => {
|
|
14
|
+
if (lhs[1].value.coins > rhs[1].value.coins) {
|
|
15
|
+
return -1;
|
|
16
|
+
}
|
|
17
|
+
else if (lhs[1].value.coins < rhs[1].value.coins) {
|
|
18
|
+
return 1;
|
|
19
|
+
}
|
|
20
|
+
return 0;
|
|
21
|
+
};
|
|
22
|
+
const isValidValue = (out, computeCoinQuantity, computeBundleSizeExceedsLimit) => {
|
|
23
|
+
let isValid = out.value.coins >= computeCoinQuantity(out);
|
|
24
|
+
if (out.value.assets)
|
|
25
|
+
isValid = isValid && !computeBundleSizeExceedsLimit(out.value.assets);
|
|
26
|
+
return isValid;
|
|
27
|
+
};
|
|
28
|
+
const createGreedyInputSelector = (rewardAccountsWithWeights, ownAddresses) => {
|
|
29
|
+
const addressesAndWeights = new Map([...rewardAccountsWithWeights].map(([rewardAccount, weight]) => {
|
|
30
|
+
const address = (0, minBy_1.default)(ownAddresses.filter((ownAddr) => ownAddr.rewardAccount === rewardAccount), ({ index }) => index);
|
|
31
|
+
if (!address) {
|
|
32
|
+
throw new Error(`Could not find any address associated with ${rewardAccount}.`);
|
|
33
|
+
}
|
|
34
|
+
return [address.address, weight];
|
|
35
|
+
}));
|
|
36
|
+
return new input_selection_1.GreedyInputSelector({
|
|
37
|
+
getChangeAddresses: () => Promise.resolve(addressesAndWeights)
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.createGreedyInputSelector = createGreedyInputSelector;
|
|
41
|
+
const sortRewardAccountsDelegatedFirst = (a, b) => {
|
|
42
|
+
const getScore = (acct) => {
|
|
43
|
+
let score = 2;
|
|
44
|
+
if (acct.credentialStatus === core_1.Cardano.StakeCredentialStatus.Registered) {
|
|
45
|
+
score = 1;
|
|
46
|
+
if (acct.delegatee?.nextNextEpoch) {
|
|
47
|
+
score = 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return score;
|
|
51
|
+
};
|
|
52
|
+
return getScore(a) - getScore(b);
|
|
53
|
+
};
|
|
54
|
+
exports.sortRewardAccountsDelegatedFirst = sortRewardAccountsDelegatedFirst;
|
|
55
|
+
const buildRedeemers = (redeemersData, maxExecutionUnits) => {
|
|
56
|
+
const redeemers = [];
|
|
57
|
+
const knownRedeemers = [
|
|
58
|
+
...(redeemersData.mint ?? []),
|
|
59
|
+
...(redeemersData.vote ?? []),
|
|
60
|
+
...(redeemersData.propose ?? []),
|
|
61
|
+
...(redeemersData.certificate ?? []),
|
|
62
|
+
...(redeemersData.withdrawal ?? []),
|
|
63
|
+
...(redeemersData.spend ? [...redeemersData.spend.values()] : [])
|
|
64
|
+
];
|
|
65
|
+
for (const value of knownRedeemers) {
|
|
66
|
+
const index = Number.MAX_SAFE_INTEGER;
|
|
67
|
+
redeemers.push({
|
|
68
|
+
data: value.data,
|
|
69
|
+
executionUnits: value.executionUnits.memory === 0 && value.executionUnits.steps === 0
|
|
70
|
+
? maxExecutionUnits
|
|
71
|
+
: value.executionUnits,
|
|
72
|
+
index,
|
|
73
|
+
purpose: value.purpose
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return redeemers;
|
|
77
|
+
};
|
|
78
|
+
exports.buildRedeemers = buildRedeemers;
|
|
79
|
+
const validateValidityInterval = (tip, validityInterval) => {
|
|
80
|
+
if (!validityInterval?.invalidHereafter) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (tip.slot >= validityInterval.invalidHereafter) {
|
|
84
|
+
throw new types_1.InvalidHereafterError();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
exports.validateValidityInterval = validateValidityInterval;
|
|
88
|
+
const buildWitness = async (knownScripts, knownReferenceScripts, knownDatums, knownInlineDatums, knownRedeemers, providers) => {
|
|
89
|
+
const witnesses = { signatures: new Map() };
|
|
90
|
+
if (knownDatums) {
|
|
91
|
+
witnesses.datums = [];
|
|
92
|
+
for (const [key, value] of knownDatums) {
|
|
93
|
+
if (!knownInlineDatums.has(key))
|
|
94
|
+
witnesses.datums.push(value);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (knownScripts) {
|
|
98
|
+
witnesses.scripts = [];
|
|
99
|
+
for (const [key, value] of knownScripts) {
|
|
100
|
+
if (!knownReferenceScripts.has(key))
|
|
101
|
+
witnesses.scripts.push(value);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const { maxExecutionUnitsPerTransaction } = await providers.protocolParameters();
|
|
105
|
+
if (knownRedeemers) {
|
|
106
|
+
witnesses.redeemers = (0, exports.buildRedeemers)(knownRedeemers, maxExecutionUnitsPerTransaction);
|
|
107
|
+
}
|
|
108
|
+
return witnesses;
|
|
109
|
+
};
|
|
110
|
+
exports.buildWitness = buildWitness;
|
|
111
|
+
const computeCollateral = async (providers) => {
|
|
112
|
+
const availableUtxo = (await providers.utxoAvailable()).sort(sortByCoins);
|
|
113
|
+
const selectedCollateral = [];
|
|
114
|
+
const { coinsPerUtxoByte, maxValueSize } = await providers.protocolParameters();
|
|
115
|
+
let totalCoins = 0n;
|
|
116
|
+
for (const utxo of availableUtxo) {
|
|
117
|
+
selectedCollateral.push(utxo);
|
|
118
|
+
totalCoins += utxo[1].value.coins;
|
|
119
|
+
if (totalCoins > COLLATERAL_AMOUNT_IN_LOVELACE) {
|
|
120
|
+
const returnAddress = selectedCollateral[0][1].address;
|
|
121
|
+
const collateralValues = selectedCollateral.map((x) => x[1].value);
|
|
122
|
+
const totalValueInCollateral = (0, core_1.coalesceValueQuantities)(collateralValues);
|
|
123
|
+
const collateralReturnValue = { ...totalValueInCollateral };
|
|
124
|
+
collateralReturnValue.coins -= COLLATERAL_AMOUNT_IN_LOVELACE;
|
|
125
|
+
const collateralReturn = { address: returnAddress, value: collateralReturnValue };
|
|
126
|
+
if (isValidValue(collateralReturn, (0, input_selection_2.computeMinimumCoinQuantity)(coinsPerUtxoByte), (0, input_selection_2.tokenBundleSizeExceedsLimit)(maxValueSize))) {
|
|
127
|
+
return { collateralReturn, collaterals: new Set(selectedCollateral.map((x) => x[0])) };
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
throw new Error('No suitable collateral found');
|
|
132
|
+
};
|
|
133
|
+
exports.computeCollateral = computeCollateral;
|
|
134
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/tx-builder/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -2,10 +2,12 @@ import * as Crypto from '@cardano-sdk/crypto';
|
|
|
2
2
|
import { Cardano, HandleResolution } from '@cardano-sdk/core';
|
|
3
3
|
import { GroupedAddress, SignTransactionOptions } from '@cardano-sdk/key-management';
|
|
4
4
|
import { SelectionSkeleton } from '@cardano-sdk/input-selection';
|
|
5
|
-
import { CustomizeCb } from './tx-builder';
|
|
5
|
+
import { CustomizeCb, TxEvaluator } from './tx-builder';
|
|
6
6
|
import { MinimumCoinQuantityPerOutput } from './output-validation';
|
|
7
|
+
import { RedeemersByType } from './input-selection';
|
|
7
8
|
export declare type InitializeTxResult = Cardano.TxBodyWithHash & {
|
|
8
9
|
inputSelection: SelectionSkeleton;
|
|
10
|
+
redeemers?: Array<Cardano.Redeemer>;
|
|
9
11
|
};
|
|
10
12
|
export declare type RewardAccountWithPoolId = Omit<Cardano.RewardAccountInfo, 'delegatee'> & {
|
|
11
13
|
delegatee?: {
|
|
@@ -29,12 +31,15 @@ export interface TxBuilderProviders {
|
|
|
29
31
|
export declare type InitializeTxWitness = Partial<Cardano.Witness>;
|
|
30
32
|
export declare type TxBodyPreInputSelection = Omit<Cardano.TxBody, 'inputs' | 'fee'>;
|
|
31
33
|
export interface InitializeTxProps {
|
|
34
|
+
inputs?: Set<Cardano.Utxo>;
|
|
35
|
+
referenceInputs?: Set<Cardano.TxIn>;
|
|
32
36
|
outputs?: Set<Cardano.TxOut>;
|
|
33
37
|
certificates?: Cardano.Certificate[];
|
|
34
38
|
options?: {
|
|
35
39
|
validityInterval?: Cardano.ValidityInterval;
|
|
36
40
|
};
|
|
37
41
|
collaterals?: Set<Cardano.TxIn>;
|
|
42
|
+
collateralReturn?: Cardano.TxOut;
|
|
38
43
|
mint?: Cardano.TokenMap;
|
|
39
44
|
scriptIntegrityHash?: Crypto.Hash32ByteBase16;
|
|
40
45
|
requiredExtraSignatures?: Crypto.Ed25519KeyHashHex[];
|
|
@@ -44,6 +49,9 @@ export interface InitializeTxProps {
|
|
|
44
49
|
handleResolutions?: HandleResolution[];
|
|
45
50
|
proposalProcedures?: Cardano.ProposalProcedure[];
|
|
46
51
|
customizeCb?: CustomizeCb;
|
|
52
|
+
txEvaluator?: TxEvaluator;
|
|
53
|
+
redeemersByType?: RedeemersByType;
|
|
54
|
+
scriptVersions?: Set<Cardano.PlutusLanguageVersion>;
|
|
47
55
|
}
|
|
48
56
|
export interface InitializeTxPropsValidationResult {
|
|
49
57
|
minimumCoinQuantities: MinimumCoinQuantityPerOutput;
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,23 +4,27 @@ import { SelectionResult } from '@cardano-sdk/input-selection';
|
|
|
4
4
|
import { TxBodyPreInputSelection } from './types';
|
|
5
5
|
export declare type CreateTxInternalsProps = {
|
|
6
6
|
inputSelection: SelectionResult['selection'];
|
|
7
|
+
referenceInputs?: Set<Cardano.TxIn>;
|
|
7
8
|
validityInterval: Cardano.ValidityInterval;
|
|
8
9
|
certificates?: Cardano.Certificate[];
|
|
9
10
|
withdrawals?: Cardano.Withdrawal[];
|
|
10
11
|
auxiliaryData?: Cardano.AuxiliaryData;
|
|
11
12
|
collaterals?: Set<Cardano.TxIn>;
|
|
13
|
+
collateralReturn?: Cardano.TxOut;
|
|
12
14
|
mint?: Cardano.TokenMap;
|
|
13
15
|
scriptIntegrityHash?: Crypto.Hash32ByteBase16;
|
|
14
16
|
requiredExtraSignatures?: Crypto.Ed25519KeyHashHex[];
|
|
15
17
|
};
|
|
16
|
-
export declare const createPreInputSelectionTxBody: ({ auxiliaryData, withdrawals, certificates, validityInterval, collaterals, mint, scriptIntegrityHash, requiredExtraSignatures, outputs }: Omit<CreateTxInternalsProps, "inputSelection"> & {
|
|
18
|
+
export declare const createPreInputSelectionTxBody: ({ auxiliaryData, withdrawals, certificates, validityInterval, collaterals, collateralReturn, mint, scriptIntegrityHash, referenceInputs, requiredExtraSignatures, outputs }: Omit<CreateTxInternalsProps, "inputSelection"> & {
|
|
17
19
|
outputs?: Cardano.TxOut[] | undefined;
|
|
18
20
|
}) => {
|
|
19
21
|
txBody: TxBodyPreInputSelection;
|
|
20
22
|
auxiliaryData?: Cardano.AuxiliaryData | undefined;
|
|
21
23
|
};
|
|
22
|
-
export declare const includeChangeAndInputs: ({ bodyPreInputSelection, inputSelection }: Pick<CreateTxInternalsProps, "inputSelection"> & {
|
|
24
|
+
export declare const includeChangeAndInputs: ({ bodyPreInputSelection, inputSelection, scriptVersions, witness }: Pick<CreateTxInternalsProps, "inputSelection"> & {
|
|
23
25
|
bodyPreInputSelection: TxBodyPreInputSelection;
|
|
26
|
+
witness?: Cardano.Witness | undefined;
|
|
27
|
+
scriptVersions?: Set<Cardano.PlutusLanguageVersion> | undefined;
|
|
24
28
|
}) => Cardano.TxBodyWithHash;
|
|
25
29
|
export declare const createTransactionInternals: (props: CreateTxInternalsProps) => Cardano.TxBodyWithHash;
|
|
26
30
|
//# sourceMappingURL=createTransactionInternals.d.ts.map
|
|
@@ -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,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,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;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAIlD,oBAAY,sBAAsB,GAAG;IACnC,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7C,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,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,gBAAgB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;IACjC,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;AAGF,eAAO,MAAM,6BAA6B;;;YAahC,uBAAuB;;CAiB/B,CAAC;AAGH,eAAO,MAAM,sBAAsB;2BAMV,uBAAuB;;;MAG5C,QAAQ,cA0BX,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAAW,sBAAsB,KAAG,QAAQ,cAGlF,CAAC"}
|
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
import * as Crypto from '@cardano-sdk/crypto';
|
|
2
2
|
import { Cardano, Serialization, util } from '@cardano-sdk/core';
|
|
3
|
-
|
|
3
|
+
import { computeScriptDataHash } from './computeScriptDataHash';
|
|
4
|
+
import { getDefaultCostModelsForVersions } from './tx-builder/costModels';
|
|
5
|
+
export const createPreInputSelectionTxBody = ({ auxiliaryData, withdrawals, certificates, validityInterval, collaterals, collateralReturn, mint, scriptIntegrityHash, referenceInputs, requiredExtraSignatures, outputs }) => ({
|
|
4
6
|
auxiliaryData,
|
|
5
7
|
txBody: {
|
|
6
8
|
auxiliaryDataHash: auxiliaryData ? Cardano.computeAuxiliaryDataHash(auxiliaryData) : undefined,
|
|
7
9
|
certificates,
|
|
8
10
|
mint,
|
|
9
11
|
outputs: outputs || [],
|
|
12
|
+
referenceInputs: referenceInputs ? [...referenceInputs] : undefined,
|
|
10
13
|
requiredExtraSignatures,
|
|
11
14
|
scriptIntegrityHash,
|
|
12
15
|
validityInterval,
|
|
13
16
|
...(withdrawals?.length && { withdrawals }),
|
|
14
|
-
...(collaterals?.size && { collaterals: [...collaterals] })
|
|
17
|
+
...(collaterals?.size && { collaterals: [...collaterals] }),
|
|
18
|
+
collateralReturn
|
|
15
19
|
}
|
|
16
20
|
});
|
|
17
|
-
export const includeChangeAndInputs = ({ bodyPreInputSelection, inputSelection }) => {
|
|
21
|
+
export const includeChangeAndInputs = ({ bodyPreInputSelection, inputSelection, scriptVersions, witness }) => {
|
|
18
22
|
const body = {
|
|
19
23
|
...bodyPreInputSelection,
|
|
20
24
|
fee: inputSelection.fee,
|
|
21
25
|
inputs: [...inputSelection.inputs].map(([txIn]) => txIn),
|
|
22
26
|
outputs: [...inputSelection.outputs, ...inputSelection.change]
|
|
23
27
|
};
|
|
28
|
+
if (scriptVersions && witness) {
|
|
29
|
+
const costModels = getDefaultCostModelsForVersions([...scriptVersions]);
|
|
30
|
+
body.scriptIntegrityHash = computeScriptDataHash(costModels, [...scriptVersions], witness.redeemers, witness.datums);
|
|
31
|
+
}
|
|
24
32
|
const serializableBody = Serialization.TransactionBody.fromCore(body);
|
|
25
33
|
return {
|
|
26
34
|
body,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransactionInternals.js","sourceRoot":"","sources":["../../src/createTransactionInternals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"createTransactionInternals.js","sourceRoot":"","sources":["../../src/createTransactionInternals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAiB1E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,IAAI,EACJ,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,OAAO,EACwE,EAG/E,EAAE,CAAC,CAAC;IACJ,aAAa;IACb,MAAM,EAAE;QACN,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9F,YAAY;QACZ,IAAI;QACJ,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;QACnE,uBAAuB;QACvB,mBAAmB;QACnB,gBAAgB;QAChB,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3C,GAAG,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;QAC3D,gBAAgB;KACjB;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,OAAO,EAKR,EAA0B,EAAE;IAC3B,MAAM,IAAI,GAAmB;QAC3B,GAAG,qBAAqB;QACxB,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,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC;KAC/D,CAAC;IAEF,IAAI,cAAc,IAAI,OAAO,EAAE;QAC7B,MAAM,UAAU,GAAG,+BAA+B,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAC9C,UAAU,EACV,CAAC,GAAG,cAAc,CAAC,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,CACf,CAAC;KACH;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtE,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,WAAW,CACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAClH;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAA6B,EAA0B,EAAE;IAClG,MAAM,EAAE,MAAM,EAAE,GAAG,6BAA6B,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC/D,OAAO,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AACzG,CAAC,CAAC"}
|