@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.
Files changed (81) hide show
  1. package/dist/cjs/createTransactionInternals.d.ts +6 -2
  2. package/dist/cjs/createTransactionInternals.d.ts.map +1 -1
  3. package/dist/cjs/createTransactionInternals.js +11 -3
  4. package/dist/cjs/createTransactionInternals.js.map +1 -1
  5. package/dist/cjs/input-selection/selectionConstraints.d.ts +14 -3
  6. package/dist/cjs/input-selection/selectionConstraints.d.ts.map +1 -1
  7. package/dist/cjs/input-selection/selectionConstraints.js +61 -4
  8. package/dist/cjs/input-selection/selectionConstraints.js.map +1 -1
  9. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  10. package/dist/cjs/tx-builder/GreedyTxEvaluator.d.ts +8 -0
  11. package/dist/cjs/tx-builder/GreedyTxEvaluator.d.ts.map +1 -0
  12. package/dist/cjs/tx-builder/GreedyTxEvaluator.js +39 -0
  13. package/dist/cjs/tx-builder/GreedyTxEvaluator.js.map +1 -0
  14. package/dist/cjs/tx-builder/OutputBuilder.d.ts +2 -1
  15. package/dist/cjs/tx-builder/OutputBuilder.d.ts.map +1 -1
  16. package/dist/cjs/tx-builder/OutputBuilder.js +14 -2
  17. package/dist/cjs/tx-builder/OutputBuilder.js.map +1 -1
  18. package/dist/cjs/tx-builder/TxBuilder.d.ts +5 -1
  19. package/dist/cjs/tx-builder/TxBuilder.d.ts.map +1 -1
  20. package/dist/cjs/tx-builder/TxBuilder.js +170 -42
  21. package/dist/cjs/tx-builder/TxBuilder.js.map +1 -1
  22. package/dist/cjs/tx-builder/costModels.d.ts +11 -0
  23. package/dist/cjs/tx-builder/costModels.d.ts.map +1 -0
  24. package/dist/cjs/tx-builder/costModels.js +77 -0
  25. package/dist/cjs/tx-builder/costModels.js.map +1 -0
  26. package/dist/cjs/tx-builder/index.d.ts +1 -0
  27. package/dist/cjs/tx-builder/index.d.ts.map +1 -1
  28. package/dist/cjs/tx-builder/index.js +1 -0
  29. package/dist/cjs/tx-builder/index.js.map +1 -1
  30. package/dist/cjs/tx-builder/initializeTx.d.ts.map +1 -1
  31. package/dist/cjs/tx-builder/initializeTx.js +18 -6
  32. package/dist/cjs/tx-builder/initializeTx.js.map +1 -1
  33. package/dist/cjs/tx-builder/types.d.ts +23 -0
  34. package/dist/cjs/tx-builder/types.d.ts.map +1 -1
  35. package/dist/cjs/tx-builder/utils.d.ts +23 -0
  36. package/dist/cjs/tx-builder/utils.d.ts.map +1 -0
  37. package/dist/cjs/tx-builder/utils.js +134 -0
  38. package/dist/cjs/tx-builder/utils.js.map +1 -0
  39. package/dist/cjs/types.d.ts +9 -1
  40. package/dist/cjs/types.d.ts.map +1 -1
  41. package/dist/esm/createTransactionInternals.d.ts +6 -2
  42. package/dist/esm/createTransactionInternals.d.ts.map +1 -1
  43. package/dist/esm/createTransactionInternals.js +11 -3
  44. package/dist/esm/createTransactionInternals.js.map +1 -1
  45. package/dist/esm/input-selection/selectionConstraints.d.ts +14 -3
  46. package/dist/esm/input-selection/selectionConstraints.d.ts.map +1 -1
  47. package/dist/esm/input-selection/selectionConstraints.js +62 -5
  48. package/dist/esm/input-selection/selectionConstraints.js.map +1 -1
  49. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  50. package/dist/esm/tx-builder/GreedyTxEvaluator.d.ts +8 -0
  51. package/dist/esm/tx-builder/GreedyTxEvaluator.d.ts.map +1 -0
  52. package/dist/esm/tx-builder/GreedyTxEvaluator.js +35 -0
  53. package/dist/esm/tx-builder/GreedyTxEvaluator.js.map +1 -0
  54. package/dist/esm/tx-builder/OutputBuilder.d.ts +2 -1
  55. package/dist/esm/tx-builder/OutputBuilder.d.ts.map +1 -1
  56. package/dist/esm/tx-builder/OutputBuilder.js +14 -2
  57. package/dist/esm/tx-builder/OutputBuilder.js.map +1 -1
  58. package/dist/esm/tx-builder/TxBuilder.d.ts +5 -1
  59. package/dist/esm/tx-builder/TxBuilder.d.ts.map +1 -1
  60. package/dist/esm/tx-builder/TxBuilder.js +171 -43
  61. package/dist/esm/tx-builder/TxBuilder.js.map +1 -1
  62. package/dist/esm/tx-builder/costModels.d.ts +11 -0
  63. package/dist/esm/tx-builder/costModels.d.ts.map +1 -0
  64. package/dist/esm/tx-builder/costModels.js +72 -0
  65. package/dist/esm/tx-builder/costModels.js.map +1 -0
  66. package/dist/esm/tx-builder/index.d.ts +1 -0
  67. package/dist/esm/tx-builder/index.d.ts.map +1 -1
  68. package/dist/esm/tx-builder/index.js +1 -0
  69. package/dist/esm/tx-builder/index.js.map +1 -1
  70. package/dist/esm/tx-builder/initializeTx.d.ts.map +1 -1
  71. package/dist/esm/tx-builder/initializeTx.js +18 -6
  72. package/dist/esm/tx-builder/initializeTx.js.map +1 -1
  73. package/dist/esm/tx-builder/types.d.ts +23 -0
  74. package/dist/esm/tx-builder/types.d.ts.map +1 -1
  75. package/dist/esm/tx-builder/utils.d.ts +23 -0
  76. package/dist/esm/tx-builder/utils.d.ts.map +1 -0
  77. package/dist/esm/tx-builder/utils.js +122 -0
  78. package/dist/esm/tx-builder/utils.js.map +1 -0
  79. package/dist/esm/types.d.ts +9 -1
  80. package/dist/esm/types.d.ts.map +1 -1
  81. 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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"}
@@ -2,4 +2,5 @@ export * from './OutputBuilder';
2
2
  export * from './initializeTx';
3
3
  export * from './types';
4
4
  export * from './TxBuilder';
5
+ export * from './GreedyTxEvaluator';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -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":"AAGA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAMhD,eAAO,MAAM,YAAY,UAChB,iBAAiB,yGAQrB,qBAAqB,KACvB,QAAQ,kBAAkB,CA6F5B,CAAC"}
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 createTransactionInternals_1 = require("../createTransactionInternals");
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":"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"}
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":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,oBAAY,YAAY,GAAG,OAAO,CAChC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,iBAAiB,CAAC,GAAG;IAC3E,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CACF,CAAC;AAEF,oBAAY,eAAe;IACzB,WAAW,yBAAyB;IACpC,2BAA2B,+BAA+B;IAC1D,qBAAqB,iDAAiD;IACtE,0BAA0B,6BAA6B;IACvD,cAAc,qBAAqB;IACnC,gBAAgB,oCAAoC;CACrD;AAED,oBAAY,yBAAyB;IACnC,OAAO,wBAAwB;CAChC;AAED,qBAAa,yBAA0B,SAAQ,WAAW;IAC9B,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;CAG1C;AAED,qBAAa,mBAAoB,SAAQ,WAAW;IACxB,KAAK,EAAE,YAAY;gBAAnB,KAAK,EAAE,YAAY;CAG9C;AAED,qBAAa,0BAA2B,SAAQ,WAAW;gBACtC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE;CAKtF;AAGD,qBAAa,uBAAwB,SAAQ,WAAW;gBACnC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE;CAI3D;AAED,qBAAa,oCAAqC,SAAQ,WAAW;IACzC,KAAK,EAAE,YAAY;gBAAnB,KAAK,EAAE,YAAY;CAG9C;AAED,qBAAa,gCAAiC,SAAQ,WAAW;IACrC,KAAK,EAAE,YAAY;IAAS,gBAAgB,EAAE,gBAAgB;gBAA9D,KAAK,EAAE,YAAY,EAAS,gBAAgB,EAAE,gBAAgB;CAGzF;AAED,qBAAa,oCAAqC,SAAQ,WAAW;IACzC,KAAK,EAAE,YAAY;IAAS,gBAAgB,EAAE,gBAAgB;gBAA9D,KAAK,EAAE,YAAY,EAAS,gBAAgB,EAAE,gBAAgB;CAGzF;AAED,qBAAa,qCAAsC,SAAQ,WAAW;IAC1C,KAAK,EAAE,YAAY;IAAS,gBAAgB,EAAE,gBAAgB;gBAA9D,KAAK,EAAE,YAAY,EAAS,gBAAgB,EAAE,gBAAgB;CAGzF;AAED,qBAAa,qBAAsB,SAAQ,WAAW;;CAIrD;AAED,oBAAY,oBAAoB,GAC5B,oCAAoC,GACpC,gCAAgC,GAChC,oCAAoC,CAAC;AAEzC,oBAAY,iCAAiC,GAAG,qBAAqB,CAAC;AAEtE,oBAAY,qBAAqB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,iCAAiC,CAAC;AAOnH,oBAAY,kBAAkB,GAAG,OAAO,CAAC,KAAK,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAM1G,MAAM,WAAW,aAAa;IAI5B,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;IAE3C,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC;IAE5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC;IAUhD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;IAEjE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC;IAExD,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAAC;IAO9C,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IACtC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oBAAY,YAAY,GAAG,OAAO,CAAC,cAAc,GAAG;IAClD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IACtC,cAAc,EAAE,iBAAiB,CAAC;IAClC,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC,CAAC;AASF,MAAM,WAAW,aAAa;IAC5B,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IAExB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAK9B,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IACtC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,aAAK,gBAAgB,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;CAAE,CAAC;AACtE,oBAAY,WAAW,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,uBAAuB,CAAC;AAE/E,MAAM,WAAW,SAAS;IAIxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAG9B,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAK3C,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAO9C,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAOjD,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IA4BvE,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAEhG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAElD,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAEtD,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAU3D,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,CAAC;IAmBtC,KAAK,IAAI,aAAa,CAAC;IAGvB,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAY5E;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC"}
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":";;;;;;AACA,4CAAqE;AAErE,kEAIsC;AAEtC,mCAAgD;AAChD,wDAA8G;AAG9G,yDAAiC;AAEjC,MAAM,6BAA6B,GAAG,QAAU,CAAC;AAQjD,MAAM,WAAW,GAAG,CAAC,GAAiB,EAAE,GAAiB,EAAE,EAAE;IAC3D,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;QAC3C,OAAO,CAAC,CAAC,CAAC;KACX;SAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;QAClD,OAAO,CAAC,CAAC;KACV;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAUF,MAAM,YAAY,GAAG,CACnB,GAAkB,EAClB,mBAA+C,EAC/C,6BAA0D,EACjD,EAAE;IACX,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE1D,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,GAAG,OAAO,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5F,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAYK,MAAM,yBAAyB,GAAG,CACvC,yBAAmD,EACnD,YAA8B,EAC9B,EAAE;IAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,CAAC,GAAG,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,IAAA,eAAK,EACnB,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,aAAa,CAAC,EACzE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CACrB,CAAC;QACF,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,GAAG,CAAC,CAAC;SACjF;QACD,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,IAAI,qCAAmB,CAAC;QAC7B,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC,CAAC;AArBW,QAAA,yBAAyB,6BAqBpC;AAGK,MAAM,gCAAgC,GAAG,CAAC,CAA0B,EAAE,CAA0B,EAAU,EAAE;IACjH,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAE,EAAE;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,gBAAgB,KAAK,cAAO,CAAC,qBAAqB,CAAC,UAAU,EAAE;YACtE,KAAK,GAAG,CAAC,CAAC;YACV,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE;gBACjC,KAAK,GAAG,CAAC,CAAC;aACX;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAbW,QAAA,gCAAgC,oCAa3C;AAEK,MAAM,cAAc,GAAG,CAAC,aAA8B,EAAE,iBAAkC,EAAE,EAAE;IACnG,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,MAAM,cAAc,GAAG;QACrB,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;QAChC,GAAG,CAAC,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;QACpC,GAAG,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEtC,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EACZ,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC;gBACnE,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,KAAK,CAAC,cAAc;YAC1B,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;KACJ;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AA3BW,QAAA,cAAc,kBA2BzB;AAEK,MAAM,wBAAwB,GAAG,CAAC,GAAgB,EAAE,gBAAmC,EAAE,EAAE;IAChG,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE;QACvC,OAAO;KACR;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;QACjD,MAAM,IAAI,6BAAqB,EAAE,CAAC;KACnC;AACH,CAAC,CAAC;AARW,QAAA,wBAAwB,4BAQnC;AAEK,MAAM,YAAY,GAAG,KAAK,EAC/B,YAA0D,EAC1D,qBAAmD,EACnD,WAAuD,EACvD,iBAAyC,EACzC,cAA+B,EAC/B,SAA6B,EAEH,EAAE;IAC5B,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAqB,CAAC;IAE/D,IAAI,WAAW,EAAE;QACf,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC;QAEtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE;YACtC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/D;KACF;IAED,IAAI,YAAY,EAAE;QAChB,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;QAEvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE;YACvC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpE;KACF;IAED,MAAM,EAAE,+BAA+B,EAAE,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;IAEjF,IAAI,cAAc,EAAE;QAClB,SAAS,CAAC,SAAS,GAAG,IAAA,sBAAc,EAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;KACvF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB;AAEK,MAAM,iBAAiB,GAAG,KAAK,EACpC,SAA6B,EACiD,EAAE;IAChF,MAAM,aAAa,GAAG,CAAC,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE1E,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAE9B,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;IAEhF,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;QAChC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAElC,IAAI,UAAU,GAAG,6BAA6B,EAAE;YAC9C,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAEvD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,sBAAsB,GAAG,IAAA,8BAAuB,EAAC,gBAAgB,CAAC,CAAC;YACzE,MAAM,qBAAqB,GAAG,EAAE,GAAG,sBAAsB,EAAE,CAAC;YAE5D,qBAAqB,CAAC,KAAK,IAAI,6BAA6B,CAAC;YAE7D,MAAM,gBAAgB,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;YAElF,IACE,YAAY,CACV,gBAAgB,EAChB,IAAA,4CAA0B,EAAC,gBAAgB,CAAC,EAC5C,IAAA,6CAA2B,EAAC,YAAY,CAAC,CAC1C,EACD;gBACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF;SACF;KACF;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC,CAAC;AAtCW,QAAA,iBAAiB,qBAsC5B"}
@@ -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;
@@ -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;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,oBAAY,kBAAkB,GAAG,OAAO,CAAC,cAAc,GAAG;IAAE,cAAc,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEhG,oBAAY,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACnF,SAAS,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAMrC,GAAG,EAAE,CAAC,GAAG,SAAS,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,kBAAkB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9D,iBAAiB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACzD,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,oBAAY,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3D,oBAAY,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE;QACR,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;KAC7C,CAAC;IACF,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;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IACtC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAEjD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,iCAAiC;IAChD,qBAAqB,EAAE,4BAA4B,CAAC;CACrD"}
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;AAElD,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;AAGF,eAAO,MAAM,6BAA6B;;;YAWhC,uBAAuB;;CAe/B,CAAC;AAGH,eAAO,MAAM,sBAAsB;2BAIV,uBAAuB;MAC5C,QAAQ,cAeX,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAAW,sBAAsB,KAAG,QAAQ,cAGlF,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
- export const createPreInputSelectionTxBody = ({ auxiliaryData, withdrawals, certificates, validityInterval, collaterals, mint, scriptIntegrityHash, requiredExtraSignatures, outputs }) => ({
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;AAiBjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,IAAI,EACJ,mBAAmB,EACnB,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,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;KAC5D;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,qBAAqB,EACrB,cAAc,EAGf,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;IACF,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"}
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"}