@cardano-sdk/tx-construction 0.18.7 → 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 +168 -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 +169 -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,72 @@
1
+ import { Cardano, Serialization } from '@cardano-sdk/core';
2
+ export const plutusV1CostModel = {
3
+ prices: [
4
+ 205665, 812, 1, 1, 1000, 571, 0, 1, 1000, 24177, 4, 1, 1000, 32, 117366, 10475, 4, 23000, 100, 23000, 100,
5
+ 23000, 100, 23000, 100, 23000, 100, 23000, 100, 100, 100, 23000, 100, 19537, 32, 175354, 32, 46417, 4,
6
+ 221973, 511, 0, 1, 89141, 32, 497525, 14068, 4, 2, 196500, 453240, 220, 0, 1, 1, 1000, 28662, 4, 2, 245000,
7
+ 216773, 62, 1, 1060367, 12586, 1, 208512, 421, 1, 187000, 1000, 52998, 1, 80436, 32, 43249, 32, 1000, 32,
8
+ 80556, 1, 57667, 4, 1000, 10, 197145, 156, 1, 197145, 156, 1, 204924, 473, 1, 208896, 511, 1, 52467, 32,
9
+ 64832, 32, 65493, 32, 22558, 32, 16563, 32, 76511, 32, 196500, 453240, 220, 0, 1, 1, 69522, 11687, 0, 1,
10
+ 60091, 32, 196500, 453240, 220, 0, 1, 1, 196500, 453240, 220, 0, 1, 1, 806990, 30482, 4, 1927926, 82523,
11
+ 4, 265318, 0, 4, 0, 85931, 32, 205665, 812, 1, 1, 41182, 32, 212342, 32, 31220, 32, 32696, 32, 43357, 32,
12
+ 32247, 32, 38314, 32, 57996947, 18975, 10
13
+ ],
14
+ version: Cardano.PlutusLanguageVersion.V1
15
+ };
16
+ export const plutusV2CostModel = {
17
+ prices: [
18
+ 205665, 812, 1, 1, 1000, 571, 0, 1, 1000, 24177, 4, 1, 1000, 32, 117366, 10475, 4, 23000, 100, 23000, 100,
19
+ 23000, 100, 23000, 100, 23000, 100, 23000, 100, 100, 100, 23000, 100, 19537, 32, 175354, 32, 46417, 4,
20
+ 221973, 511, 0, 1, 89141, 32, 497525, 14068, 4, 2, 196500, 453240, 220, 0, 1, 1, 1000, 28662, 4, 2, 245000,
21
+ 216773, 62, 1, 1060367, 12586, 1, 208512, 421, 1, 187000, 1000, 52998, 1, 80436, 32, 43249, 32, 1000, 32,
22
+ 80556, 1, 57667, 4, 1000, 10, 197145, 156, 1, 197145, 156, 1, 204924, 473, 1, 208896, 511, 1, 52467, 32,
23
+ 64832, 32, 65493, 32, 22558, 32, 16563, 32, 76511, 32, 196500, 453240, 220, 0, 1, 1, 69522, 11687, 0, 1,
24
+ 60091, 32, 196500, 453240, 220, 0, 1, 1, 196500, 453240, 220, 0, 1, 1, 1159724, 392670, 0, 2, 806990,
25
+ 30482, 4, 1927926, 82523, 4, 265318, 0, 4, 0, 85931, 32, 205665, 812, 1, 1, 41182, 32, 212342, 32, 31220,
26
+ 32, 32696, 32, 43357, 32, 32247, 32, 38314, 32, 35892428, 10, 57996947, 18975, 10, 38887044, 32947, 10
27
+ ],
28
+ version: Cardano.PlutusLanguageVersion.V2
29
+ };
30
+ export const plutusV3CostModel = {
31
+ prices: [
32
+ 205665, 812, 1, 1, 1000, 571, 0, 1, 1000, 24177, 4, 1, 1000, 32, 117366, 10475, 4, 23000, 100, 23000, 100,
33
+ 23000, 100, 23000, 100, 23000, 100, 23000, 100, 100, 100, 23000, 100, 19537, 32, 175354, 32, 46417, 4,
34
+ 221973, 511, 0, 1, 89141, 32, 497525, 14068, 4, 2, 196500, 453240, 220, 0, 1, 1, 1000, 28662, 4, 2, 245000,
35
+ 216773, 62, 1, 1060367, 12586, 1, 208512, 421, 1, 187000, 1000, 52998, 1, 80436, 32, 43249, 32, 1000, 32,
36
+ 80556, 1, 57667, 4, 1000, 10, 197145, 156, 1, 197145, 156, 1, 204924, 473, 1, 208896, 511, 1, 52467, 32,
37
+ 64832, 32, 65493, 32, 22558, 32, 16563, 32, 76511, 32, 196500, 453240, 220, 0, 1, 1, 69522, 11687, 0, 1,
38
+ 60091, 32, 196500, 453240, 220, 0, 1, 1, 196500, 453240, 220, 0, 1, 1, 1159724, 392670, 0, 2, 806990,
39
+ 30482, 4, 1927926, 82523, 4, 265318, 0, 4, 0, 85931, 32, 205665, 812, 1, 1, 41182, 32, 212342, 32, 31220,
40
+ 32, 32696, 32, 43357, 32, 32247, 32, 38314, 32, 35190005, 10, 57996947, 18975, 10, 39121781, 32260, 10,
41
+ 100, 23000, 100, 832808, 18, 3209094, 6, 331451, 1, 65990684, 23097, 18, 114242, 18, 94393407, 87060,
42
+ 18, 16420089, 18, 2145798, 36, 3795345, 12, 889023, 1, 204237282, 23271, 36, 129165, 36, 189977790,
43
+ 85902, 36, 33012864, 36, 388443360, 1, 401885761, 72, 2331379, 72, 1927926, 82523, 4, 117366, 10475,
44
+ 4, 1292075, 24469, 74, 0, 1, 936157, 49601, 237, 0, 1
45
+ ],
46
+ version: Cardano.PlutusLanguageVersion.V3
47
+ };
48
+ export const buildCostModels = (models) => {
49
+ const costModels = new Serialization.Costmdls();
50
+ for (const model of models) {
51
+ const costModel = new Serialization.CostModel(model.version, model.prices);
52
+ costModels.insert(costModel);
53
+ }
54
+ return costModels.toCore();
55
+ };
56
+ export const getDefaultCostModelsForVersions = (versions) => {
57
+ const uniqueVersions = [...new Set(versions)];
58
+ const models = uniqueVersions.map((version) => {
59
+ switch (version) {
60
+ case Cardano.PlutusLanguageVersion.V1:
61
+ return plutusV1CostModel;
62
+ case Cardano.PlutusLanguageVersion.V2:
63
+ return plutusV2CostModel;
64
+ case Cardano.PlutusLanguageVersion.V3:
65
+ return plutusV3CostModel;
66
+ default:
67
+ throw new Error('Invalid plutus language');
68
+ }
69
+ });
70
+ return buildCostModels(models);
71
+ };
72
+ //# 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"}
@@ -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.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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.js","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"}
@@ -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"}
@@ -1,7 +1,8 @@
1
1
  import { StaticChangeAddressResolver, roundRobinRandomImprove } from '@cardano-sdk/input-selection';
2
2
  import { Cardano, Serialization } from '@cardano-sdk/core';
3
- import { createPreInputSelectionTxBody, includeChangeAndInputs } from '../createTransactionInternals';
3
+ import { GreedyTxEvaluator } from './GreedyTxEvaluator';
4
4
  import { defaultSelectionConstraints } from '../input-selection';
5
+ import { createPreInputSelectionTxBody, includeChangeAndInputs } from '../createTransactionInternals';
5
6
  import { ensureValidityInterval } from '../ensureValidityInterval';
6
7
  import { util } from '@cardano-sdk/key-management';
7
8
  export const initializeTx = async (props, { txBuilderProviders, inputSelector, inputResolver, bip32Account: addressManager, witnesser, logger }) => {
@@ -13,6 +14,7 @@ export const initializeTx = async (props, { txBuilderProviders, inputSelector, i
13
14
  txBuilderProviders.utxoAvailable(),
14
15
  txBuilderProviders.addresses.get()
15
16
  ]);
17
+ const txEvaluator = props.txEvaluator ?? new GreedyTxEvaluator(() => txBuilderProviders.protocolParameters());
16
18
  inputSelector =
17
19
  inputSelector ??
18
20
  roundRobinRandomImprove({
@@ -21,9 +23,11 @@ export const initializeTx = async (props, { txBuilderProviders, inputSelector, i
21
23
  const { txBody, auxiliaryData } = createPreInputSelectionTxBody({
22
24
  auxiliaryData: props.auxiliaryData,
23
25
  certificates: props.certificates,
26
+ collateralReturn: props.collateralReturn,
24
27
  collaterals: props.collaterals,
25
28
  mint: props.mint,
26
29
  outputs: [...(props.outputs || [])],
30
+ referenceInputs: props.referenceInputs,
27
31
  requiredExtraSignatures: props.requiredExtraSignatures,
28
32
  scriptIntegrityHash: props.scriptIntegrityHash,
29
33
  validityInterval: ensureValidityInterval(tip.slot, genesisParameters, props.options?.validityInterval),
@@ -43,7 +47,9 @@ export const initializeTx = async (props, { txBuilderProviders, inputSelector, i
43
47
  }
44
48
  const unwitnessedTx = includeChangeAndInputs({
45
49
  bodyPreInputSelection,
46
- inputSelection
50
+ inputSelection,
51
+ scriptVersions: props.scriptVersions,
52
+ witness: props.witness
47
53
  });
48
54
  const dRepPublicKey = addressManager
49
55
  ? (await addressManager.derivePublicKey(util.DREP_KEY_DERIVATION_PATH)).hex()
@@ -59,23 +65,29 @@ export const initializeTx = async (props, { txBuilderProviders, inputSelector, i
59
65
  const { tx } = await witnesser.witness(transaction, signingContext, signingOptions);
60
66
  return tx;
61
67
  },
62
- protocolParameters
68
+ protocolParameters,
69
+ redeemersByType: props.redeemersByType ?? {},
70
+ txEvaluator
63
71
  });
64
72
  const implicitCoin = Cardano.util.computeImplicitCoin(protocolParameters, {
65
73
  certificates: bodyPreInputSelection.certificates,
66
74
  proposalProcedures: bodyPreInputSelection.proposalProcedures,
67
75
  withdrawals: bodyPreInputSelection.withdrawals
68
76
  });
69
- const { selection: inputSelection } = await inputSelector.select({
77
+ const { selection: inputSelection, redeemers } = await inputSelector.select({
70
78
  constraints,
71
79
  implicitValue: { coin: implicitCoin, mint: bodyPreInputSelection.mint },
72
80
  outputs: new Set(bodyPreInputSelection.outputs),
81
+ preSelectedUtxo: props.inputs || new Set(),
73
82
  utxo: new Set(utxo)
74
83
  });
84
+ const witness = { ...props.witness, redeemers };
75
85
  const { body, hash } = includeChangeAndInputs({
76
86
  bodyPreInputSelection,
77
- inputSelection
87
+ inputSelection,
88
+ scriptVersions: props.scriptVersions,
89
+ witness
78
90
  });
79
- return { body, hash, inputSelection };
91
+ return { body, hash, inputSelection, redeemers };
80
92
  };
81
93
  //# 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":"AAAA,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEpG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAmB,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAwB,EACxB,EACE,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EAAE,cAAc,EAC5B,SAAS,EACT,MAAM,EACgB,EACK,EAAE;IAC/B,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtG,kBAAkB,CAAC,GAAG,EAAE;QACxB,kBAAkB,CAAC,iBAAiB,EAAE;QACtC,kBAAkB,CAAC,kBAAkB,EAAE;QACvC,kBAAkB,CAAC,cAAc,EAAE;QACnC,kBAAkB,CAAC,aAAa,EAAE;QAClC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE;KACnC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE9G,aAAa;QACX,aAAa;YACb,uBAAuB,CAAC;gBACtB,qBAAqB,EAAE,IAAI,2BAA2B,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;aAC9E,CAAC,CAAC;IAGL,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,6BAA6B,CAAC;QAC9D,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACnC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;QACtD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,gBAAgB,EAAE,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACtG,WAAW,EAAE,cAAc;aACxB,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5D,QAAQ;YACR,YAAY;SACb,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;KACxC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzF,MAAM,WAAW,GAAG,2BAA2B,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YAChC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,cAAc,CAAC,CAAC;YACtE,IAAI,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE;gBAC7C,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;aACjG;YACD,MAAM,aAAa,GAAG,sBAAsB,CAAC;gBAC3C,qBAAqB;gBACrB,cAAc;gBACd,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,OAAO,EAAE,KAAK,CAAC,OAA0B;aAC1C,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,cAAc;gBAClC,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC7E,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,WAAW,CAC/C,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAC1D,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAC1C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,KAAK,CAAC,OAA2B,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,CAC/E,EACD,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAChF,CAAC;YAEF,MAAM,cAAc,GAAG;gBACrB,aAAa;gBACb,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,EAAE;gBAChD,cAAc,EAAE,SAAS;gBACzB,cAAc,EAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC;aAC9F,CAAC;YAEF,MAAM,cAAc,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAEnE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAEpF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,kBAAkB;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe,IAAK,EAAsB;QACjE,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE;QACxE,YAAY,EAAE,qBAAqB,CAAC,YAAY;QAChD,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB;QAC5D,WAAW,EAAE,qBAAqB,CAAC,WAAW;KAC/C,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;QAC1E,WAAW;QACX,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,qBAAqB,CAAC,IAAI,EAAE;QACvE,OAAO,EAAE,IAAI,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC;QAC/C,eAAe,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE;QAC1C,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC;KACpB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAqB,CAAC;IAEnE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAAC;QAC5C,qBAAqB;QACrB,cAAc;QACd,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC,CAAC"}
@@ -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,122 @@
1
+ import { Cardano, coalesceValueQuantities } from '@cardano-sdk/core';
2
+ import { GreedyInputSelector } from '@cardano-sdk/input-selection';
3
+ import { InvalidHereafterError } from './types';
4
+ import { computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit } from '../input-selection';
5
+ import minBy from 'lodash/minBy';
6
+ const COLLATERAL_AMOUNT_IN_LOVELACE = 5000000n;
7
+ const sortByCoins = (lhs, rhs) => {
8
+ if (lhs[1].value.coins > rhs[1].value.coins) {
9
+ return -1;
10
+ }
11
+ else if (lhs[1].value.coins < rhs[1].value.coins) {
12
+ return 1;
13
+ }
14
+ return 0;
15
+ };
16
+ const isValidValue = (out, computeCoinQuantity, computeBundleSizeExceedsLimit) => {
17
+ let isValid = out.value.coins >= computeCoinQuantity(out);
18
+ if (out.value.assets)
19
+ isValid = isValid && !computeBundleSizeExceedsLimit(out.value.assets);
20
+ return isValid;
21
+ };
22
+ export const createGreedyInputSelector = (rewardAccountsWithWeights, ownAddresses) => {
23
+ const addressesAndWeights = new Map([...rewardAccountsWithWeights].map(([rewardAccount, weight]) => {
24
+ const address = minBy(ownAddresses.filter((ownAddr) => ownAddr.rewardAccount === rewardAccount), ({ index }) => index);
25
+ if (!address) {
26
+ throw new Error(`Could not find any address associated with ${rewardAccount}.`);
27
+ }
28
+ return [address.address, weight];
29
+ }));
30
+ return new GreedyInputSelector({
31
+ getChangeAddresses: () => Promise.resolve(addressesAndWeights)
32
+ });
33
+ };
34
+ export const sortRewardAccountsDelegatedFirst = (a, b) => {
35
+ const getScore = (acct) => {
36
+ let score = 2;
37
+ if (acct.credentialStatus === Cardano.StakeCredentialStatus.Registered) {
38
+ score = 1;
39
+ if (acct.delegatee?.nextNextEpoch) {
40
+ score = 0;
41
+ }
42
+ }
43
+ return score;
44
+ };
45
+ return getScore(a) - getScore(b);
46
+ };
47
+ export const buildRedeemers = (redeemersData, maxExecutionUnits) => {
48
+ const redeemers = [];
49
+ const knownRedeemers = [
50
+ ...(redeemersData.mint ?? []),
51
+ ...(redeemersData.vote ?? []),
52
+ ...(redeemersData.propose ?? []),
53
+ ...(redeemersData.certificate ?? []),
54
+ ...(redeemersData.withdrawal ?? []),
55
+ ...(redeemersData.spend ? [...redeemersData.spend.values()] : [])
56
+ ];
57
+ for (const value of knownRedeemers) {
58
+ const index = Number.MAX_SAFE_INTEGER;
59
+ redeemers.push({
60
+ data: value.data,
61
+ executionUnits: value.executionUnits.memory === 0 && value.executionUnits.steps === 0
62
+ ? maxExecutionUnits
63
+ : value.executionUnits,
64
+ index,
65
+ purpose: value.purpose
66
+ });
67
+ }
68
+ return redeemers;
69
+ };
70
+ export const validateValidityInterval = (tip, validityInterval) => {
71
+ if (!validityInterval?.invalidHereafter) {
72
+ return;
73
+ }
74
+ if (tip.slot >= validityInterval.invalidHereafter) {
75
+ throw new InvalidHereafterError();
76
+ }
77
+ };
78
+ export const buildWitness = async (knownScripts, knownReferenceScripts, knownDatums, knownInlineDatums, knownRedeemers, providers) => {
79
+ const witnesses = { signatures: new Map() };
80
+ if (knownDatums) {
81
+ witnesses.datums = [];
82
+ for (const [key, value] of knownDatums) {
83
+ if (!knownInlineDatums.has(key))
84
+ witnesses.datums.push(value);
85
+ }
86
+ }
87
+ if (knownScripts) {
88
+ witnesses.scripts = [];
89
+ for (const [key, value] of knownScripts) {
90
+ if (!knownReferenceScripts.has(key))
91
+ witnesses.scripts.push(value);
92
+ }
93
+ }
94
+ const { maxExecutionUnitsPerTransaction } = await providers.protocolParameters();
95
+ if (knownRedeemers) {
96
+ witnesses.redeemers = buildRedeemers(knownRedeemers, maxExecutionUnitsPerTransaction);
97
+ }
98
+ return witnesses;
99
+ };
100
+ export const computeCollateral = async (providers) => {
101
+ const availableUtxo = (await providers.utxoAvailable()).sort(sortByCoins);
102
+ const selectedCollateral = [];
103
+ const { coinsPerUtxoByte, maxValueSize } = await providers.protocolParameters();
104
+ let totalCoins = 0n;
105
+ for (const utxo of availableUtxo) {
106
+ selectedCollateral.push(utxo);
107
+ totalCoins += utxo[1].value.coins;
108
+ if (totalCoins > COLLATERAL_AMOUNT_IN_LOVELACE) {
109
+ const returnAddress = selectedCollateral[0][1].address;
110
+ const collateralValues = selectedCollateral.map((x) => x[1].value);
111
+ const totalValueInCollateral = coalesceValueQuantities(collateralValues);
112
+ const collateralReturnValue = { ...totalValueInCollateral };
113
+ collateralReturnValue.coins -= COLLATERAL_AMOUNT_IN_LOVELACE;
114
+ const collateralReturn = { address: returnAddress, value: collateralReturnValue };
115
+ if (isValidValue(collateralReturn, computeMinimumCoinQuantity(coinsPerUtxoByte), tokenBundleSizeExceedsLimit(maxValueSize))) {
116
+ return { collateralReturn, collaterals: new Set(selectedCollateral.map((x) => x[0])) };
117
+ }
118
+ }
119
+ }
120
+ throw new Error('No suitable collateral found');
121
+ };
122
+ //# 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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"}
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/tx-construction",
3
- "version": "0.18.7",
3
+ "version": "0.19.0",
4
4
  "description": "Types and functions for constructing transactions on Cardano",
5
5
  "engines": {
6
6
  "node": ">=16.20.2"
@@ -38,7 +38,7 @@
38
38
  "prepack": "yarn build"
39
39
  },
40
40
  "devDependencies": {
41
- "@cardano-sdk/util-dev": "~0.20.4",
41
+ "@cardano-sdk/util-dev": "~0.21.0",
42
42
  "@types/lodash": "^4.14.182",
43
43
  "delay": "^5.0.0",
44
44
  "eslint": "^7.32.0",
@@ -49,12 +49,12 @@
49
49
  "typescript": "^4.7.4"
50
50
  },
51
51
  "dependencies": {
52
- "@cardano-sdk/core": "~0.32.0",
52
+ "@cardano-sdk/core": "~0.33.0",
53
53
  "@cardano-sdk/crypto": "~0.1.23",
54
- "@cardano-sdk/input-selection": "~0.12.31",
55
- "@cardano-sdk/key-management": "~0.20.5",
54
+ "@cardano-sdk/input-selection": "~0.13.0",
55
+ "@cardano-sdk/key-management": "~0.20.6",
56
56
  "@cardano-sdk/util": "~0.15.1",
57
- "@cardano-sdk/util-rxjs": "~0.7.14",
57
+ "@cardano-sdk/util-rxjs": "~0.7.15",
58
58
  "lodash": "^4.17.21",
59
59
  "npm": "^9.3.0",
60
60
  "rxjs": "^7.4.0",
@@ -67,5 +67,5 @@
67
67
  "LICENSE",
68
68
  "NOTICE"
69
69
  ],
70
- "gitHead": "6fb60f7638bb0d08ad7ba9ad2135669e86849ddb"
70
+ "gitHead": "4f0181a05a47cc61c98f0f8fba8bb6c4fd7979cb"
71
71
  }