@harmoniclabs/buildooor 0.1.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 (83) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +22 -0
  3. package/dist/TxBuilder/CanResolveToUTxO/CanResolveToUTxO.d.ts +5 -0
  4. package/dist/TxBuilder/CanResolveToUTxO/CanResolveToUTxO.js +62 -0
  5. package/dist/TxBuilder/CanResolveToUTxO/index.d.ts +1 -0
  6. package/dist/TxBuilder/CanResolveToUTxO/index.js +17 -0
  7. package/dist/TxBuilder/GenesisInfos.d.ts +54 -0
  8. package/dist/TxBuilder/GenesisInfos.js +56 -0
  9. package/dist/TxBuilder/IProvider/IProvider.d.ts +42 -0
  10. package/dist/TxBuilder/IProvider/IProvider.js +2 -0
  11. package/dist/TxBuilder/IProvider/index.d.ts +1 -0
  12. package/dist/TxBuilder/IProvider/index.js +17 -0
  13. package/dist/TxBuilder/TxBuilder.d.ts +106 -0
  14. package/dist/TxBuilder/TxBuilder.js +1251 -0
  15. package/dist/TxBuilder/TxBuilderProtocolParams.d.ts +42 -0
  16. package/dist/TxBuilder/TxBuilderProtocolParams.js +121 -0
  17. package/dist/TxBuilder/TxBuilderRunner/CanBePoolKeyHash.d.ts +3 -0
  18. package/dist/TxBuilder/TxBuilderRunner/CanBePoolKeyHash.js +33 -0
  19. package/dist/TxBuilder/TxBuilderRunner/CanBeStakeCreds.d.ts +3 -0
  20. package/dist/TxBuilder/TxBuilderRunner/CanBeStakeCreds.js +25 -0
  21. package/dist/TxBuilder/TxBuilderRunner/TxBuilderRunner.d.ts +280 -0
  22. package/dist/TxBuilder/TxBuilderRunner/TxBuilderRunner.js +1366 -0
  23. package/dist/TxBuilder/TxBuilderRunner/forceAddr.d.ts +2 -0
  24. package/dist/TxBuilder/TxBuilderRunner/forceAddr.js +8 -0
  25. package/dist/TxBuilder/TxBuilderRunner/index.d.ts +2 -0
  26. package/dist/TxBuilder/TxBuilderRunner/index.js +18 -0
  27. package/dist/TxBuilder/TxBuilderRunner/jsonToMetadata.d.ts +2 -0
  28. package/dist/TxBuilder/TxBuilderRunner/jsonToMetadata.js +35 -0
  29. package/dist/TxBuilder/index.d.ts +5 -0
  30. package/dist/TxBuilder/index.js +21 -0
  31. package/dist/TxBuilder/keepRelevant.d.ts +4 -0
  32. package/dist/TxBuilder/keepRelevant.js +79 -0
  33. package/dist/TxBuilder/utils.d.ts +4 -0
  34. package/dist/TxBuilder/utils.js +66 -0
  35. package/dist/index.d.ts +15 -0
  36. package/dist/index.js +31 -0
  37. package/dist/toOnChain/getSpendingPurposeData.d.ts +5 -0
  38. package/dist/toOnChain/getSpendingPurposeData.js +98 -0
  39. package/dist/toOnChain/getTxInfos.d.ts +8 -0
  40. package/dist/toOnChain/getTxInfos.js +126 -0
  41. package/dist/toOnChain/getTxIntervalData.d.ts +19 -0
  42. package/dist/toOnChain/getTxIntervalData.js +85 -0
  43. package/dist/toOnChain/index.d.ts +2 -0
  44. package/dist/toOnChain/index.js +18 -0
  45. package/dist/txBuild/ChangeInfos/ChangeInfos.d.ts +15 -0
  46. package/dist/txBuild/ChangeInfos/ChangeInfos.js +27 -0
  47. package/dist/txBuild/ITxBuildArgs.d.ts +74 -0
  48. package/dist/txBuild/ITxBuildArgs.js +71 -0
  49. package/dist/txBuild/ITxBuildCert.d.ts +13 -0
  50. package/dist/txBuild/ITxBuildCert.js +37 -0
  51. package/dist/txBuild/ITxBuildInput/ITxBuildInput.d.ts +25 -0
  52. package/dist/txBuild/ITxBuildInput/ITxBuildInput.js +70 -0
  53. package/dist/txBuild/ITxBuildInput/ITxBuildInputInlineScript.d.ts +14 -0
  54. package/dist/txBuild/ITxBuildInput/ITxBuildInputInlineScript.js +14 -0
  55. package/dist/txBuild/ITxBuildInput/ITxBuildInputRefScript.d.ts +14 -0
  56. package/dist/txBuild/ITxBuildInput/ITxBuildInputRefScript.js +15 -0
  57. package/dist/txBuild/ITxBuildMint.d.ts +30 -0
  58. package/dist/txBuild/ITxBuildMint.js +54 -0
  59. package/dist/txBuild/ITxBuildOptions.d.ts +11 -0
  60. package/dist/txBuild/ITxBuildOptions.js +2 -0
  61. package/dist/txBuild/ITxBuildOutput.d.ts +10 -0
  62. package/dist/txBuild/ITxBuildOutput.js +27 -0
  63. package/dist/txBuild/ITxBuildProposalProcedure.d.ts +11 -0
  64. package/dist/txBuild/ITxBuildProposalProcedure.js +13 -0
  65. package/dist/txBuild/ITxBuildVotingProcedure.d.ts +13 -0
  66. package/dist/txBuild/ITxBuildVotingProcedure.js +40 -0
  67. package/dist/txBuild/ITxBuildWithdrawal.d.ts +29 -0
  68. package/dist/txBuild/ITxBuildWithdrawal.js +34 -0
  69. package/dist/txBuild/ScriptWithRedeemer.d.ts +18 -0
  70. package/dist/txBuild/ScriptWithRedeemer.js +16 -0
  71. package/dist/txBuild/index.d.ts +7 -0
  72. package/dist/txBuild/index.js +23 -0
  73. package/dist/utils/CanBeData.d.ts +7 -0
  74. package/dist/utils/CanBeData.js +68 -0
  75. package/dist/utils/Rational.d.ts +8 -0
  76. package/dist/utils/Rational.js +34 -0
  77. package/dist/utils/assert.d.ts +1 -0
  78. package/dist/utils/assert.js +44 -0
  79. package/dist/utils/ints.d.ts +4 -0
  80. package/dist/utils/ints.js +25 -0
  81. package/dist/utils/stringify.d.ts +2 -0
  82. package/dist/utils/stringify.js +38 -0
  83. package/package.json +72 -0
@@ -0,0 +1,1366 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __values = (this && this.__values) || function(o) {
50
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
51
+ if (m) return m.call(o);
52
+ if (o && typeof o.length === "number") return {
53
+ next: function () {
54
+ if (o && i >= o.length) o = void 0;
55
+ return { value: o && o[i++], done: !o };
56
+ }
57
+ };
58
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
59
+ };
60
+ var __read = (this && this.__read) || function (o, n) {
61
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
62
+ if (!m) return o;
63
+ var i = m.call(o), r, ar = [], e;
64
+ try {
65
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
66
+ }
67
+ catch (error) { e = { error: error }; }
68
+ finally {
69
+ try {
70
+ if (r && !r.done && (m = i["return"])) m.call(i);
71
+ }
72
+ finally { if (e) throw e.error; }
73
+ }
74
+ return ar;
75
+ };
76
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
77
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
78
+ if (ar || !(i in from)) {
79
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
80
+ ar[i] = from[i];
81
+ }
82
+ }
83
+ return to.concat(ar || Array.prototype.slice.call(from));
84
+ };
85
+ Object.defineProperty(exports, "__esModule", { value: true });
86
+ exports.TxBuilderRunner = void 0;
87
+ var obj_utils_1 = require("@harmoniclabs/obj-utils");
88
+ var txBuild_1 = require("../../txBuild/index.js");
89
+ var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
90
+ var ints_1 = require("../../utils/ints.js");
91
+ var CanResolveToUTxO_1 = require("../CanResolveToUTxO/CanResolveToUTxO.js");
92
+ var jsonToMetadata_1 = require("./jsonToMetadata.js");
93
+ var GenesisInfos_1 = require("../GenesisInfos.js");
94
+ var crypto_1 = require("@harmoniclabs/crypto");
95
+ var uint8array_utils_1 = require("@harmoniclabs/uint8array-utils");
96
+ var plutus_data_1 = require("@harmoniclabs/plutus-data");
97
+ var bytestring_1 = require("@harmoniclabs/bytestring");
98
+ var CanBeData_1 = require("../../utils/CanBeData.js");
99
+ var CanBePoolKeyHash_1 = require("./CanBePoolKeyHash.js");
100
+ var CanBeStakeCreds_1 = require("./CanBeStakeCreds.js");
101
+ var forceAddr_1 = require("./forceAddr.js");
102
+ var ITxBuildVotingProcedure_1 = require("../../txBuild/ITxBuildVotingProcedure.js");
103
+ function cloneTask(task) {
104
+ if (task.kind === 0 /* TxBuilderTaskKind.ResolveUTxO */ || task.kind === 1 /* TxBuilderTaskKind.ResolveTxIn */) {
105
+ var _a = task, kind = _a.kind, arg = _a.arg, onResolved = _a.onResolved;
106
+ return {
107
+ kind: kind,
108
+ arg: (0, CanResolveToUTxO_1.cloneCanResolveToUTxO)(arg),
109
+ onResolved: onResolved
110
+ };
111
+ }
112
+ return {
113
+ kind: task.kind,
114
+ getPromise: task.getPromise
115
+ };
116
+ }
117
+ var readonlyValueDescriptor = Object.freeze({
118
+ writable: false,
119
+ enumerable: true,
120
+ configurable: false
121
+ });
122
+ var _datumsCache = {};
123
+ var _datumsHashes = [];
124
+ var _MAX_DATUMS_CACHE_SIZE = 20;
125
+ function _saveResolvedDatum(datum, hash) {
126
+ var theData = (0, plutus_data_1.cloneData)(datum);
127
+ var actualHash = (0, uint8array_utils_1.toHex)(new Uint8Array((0, crypto_1.sha2_256)((0, plutus_data_1.dataToCbor)(datum).toBuffer())));
128
+ var actualHashIdx = _datumsHashes.lastIndexOf(actualHash);
129
+ if (actualHashIdx < 0) {
130
+ _datumsHashes.push(actualHash);
131
+ _datumsCache[actualHash] = theData;
132
+ }
133
+ if (hash) {
134
+ var hashIdx = _datumsHashes.lastIndexOf(hash);
135
+ if (hashIdx < 0) {
136
+ _datumsHashes.push(hash);
137
+ _datumsCache[hash] = theData;
138
+ }
139
+ }
140
+ while (_datumsHashes.length > _MAX_DATUMS_CACHE_SIZE) {
141
+ var h = _datumsHashes.shift();
142
+ delete _datumsCache[h];
143
+ }
144
+ }
145
+ function _getResolvedDatum(hash) {
146
+ // no need to `cloneData` because this datum is used only internally
147
+ return _datumsCache[hash];
148
+ }
149
+ var TxBuilderRunner = /** @class */ (function () {
150
+ function TxBuilderRunner(txBuilder, provider) {
151
+ if (!(0, obj_utils_1.isObject)(provider))
152
+ provider = {};
153
+ var self = this;
154
+ var tasks = [];
155
+ var buildArgs = {};
156
+ var scripts = [];
157
+ var scriptHashesStr = [];
158
+ var refUtxos = [];
159
+ var _collateralAmount = 5000000;
160
+ var _setCollateralTask = undefined;
161
+ (0, obj_utils_1.defineReadOnlyProperty)(this, "reset", function () {
162
+ tasks.length = 0;
163
+ // steps.length = 0;
164
+ buildArgs = {};
165
+ scripts.length = 0;
166
+ scriptHashesStr.length = 0;
167
+ refUtxos.length = 0;
168
+ _collateralAmount = 5000000;
169
+ _setCollateralTask = undefined;
170
+ return self;
171
+ });
172
+ function _addRefUtxo(u) {
173
+ if ((0, cardano_ledger_ts_1.isIUTxO)(u)) {
174
+ refUtxos.push(new cardano_ledger_ts_1.UTxO(u));
175
+ return;
176
+ }
177
+ // add before other resolveUtxOs (`unshift`)
178
+ tasks.unshift({
179
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
180
+ arg: u,
181
+ onResolved: function (utxo) { return refUtxos.push(utxo); }
182
+ });
183
+ }
184
+ function _addAviableScript(scrpt) {
185
+ var hStr = scrpt.hash.toString();
186
+ if (!scriptHashesStr.includes(hStr)) {
187
+ scripts.push(scrpt);
188
+ scriptHashesStr.push(hStr);
189
+ }
190
+ return self;
191
+ }
192
+ Object.defineProperties(this, {
193
+ tasks: {
194
+ get: function () { return tasks.map(cloneTask); },
195
+ set: function () { },
196
+ enumerable: true,
197
+ configurable: false
198
+ },
199
+ // steps: {
200
+ // get: () => steps.map( cloneStep ),
201
+ // set: () => {},
202
+ // enumerable: true,
203
+ // configurable: false
204
+ // },
205
+ buildArgs: {
206
+ get: function () { return (0, txBuild_1.normalizeITxBuildArgs)(buildArgs); },
207
+ set: function () { },
208
+ enumerable: true,
209
+ configurable: false
210
+ }
211
+ });
212
+ function _addRequiredSignerKey(key) {
213
+ key = new cardano_ledger_ts_1.PubKeyHash(key);
214
+ if (buildArgs.requiredSigners === undefined) {
215
+ buildArgs.requiredSigners = [key];
216
+ return self;
217
+ }
218
+ if (!buildArgs.requiredSigners.some(function (sig) { return sig.toString() === key.toString(); })) {
219
+ buildArgs.requiredSigners.push(key);
220
+ }
221
+ return self;
222
+ }
223
+ function _addRequiredSigner(signer) {
224
+ if (typeof signer === "string") {
225
+ if (signer.startsWith("addr")) {
226
+ signer = cardano_ledger_ts_1.Address.fromString(signer);
227
+ }
228
+ else if (signer.startsWith("stake")) {
229
+ signer = cardano_ledger_ts_1.StakeAddress.fromString(signer);
230
+ }
231
+ else
232
+ throw new Error("invalid string passed as address: " + signer);
233
+ }
234
+ if (signer instanceof cardano_ledger_ts_1.Address) {
235
+ void _addRequiredSignerKey(signer.paymentCreds.hash);
236
+ if (signer.stakeCreds !== undefined &&
237
+ !Array.isArray(signer.stakeCreds.hash)) {
238
+ void _addRequiredSignerKey(signer.stakeCreds.hash);
239
+ }
240
+ return self;
241
+ }
242
+ if (signer instanceof cardano_ledger_ts_1.StakeAddress) {
243
+ return _addRequiredSignerKey(signer.credentials);
244
+ }
245
+ throw new Error("invalid required signer");
246
+ }
247
+ function _attachMemo(memo) {
248
+ buildArgs.memo = memo;
249
+ return self;
250
+ }
251
+ function _attachMetadata(label, metadatum) {
252
+ var _a;
253
+ var _b;
254
+ var meta = (_b = buildArgs.metadata) === null || _b === void 0 ? void 0 : _b.metadata;
255
+ var labelStr = (0, ints_1.forceBigUInt)(label).toString();
256
+ buildArgs.metadata = new cardano_ledger_ts_1.TxMetadata(__assign(__assign({}, meta), (_a = {}, _a[labelStr] = metadatum, _a)));
257
+ return self;
258
+ }
259
+ function _attachMetadataJson(label, json) {
260
+ return _attachMetadata(label, (0, jsonToMetadata_1.jsonToMetadata)(json));
261
+ }
262
+ function _attachMetadataJsonWithConversion(label, json) {
263
+ return _attachMetadata(label, (0, jsonToMetadata_1.jsonToMetadata)(json, true));
264
+ }
265
+ function _setChangeAddress(addr) {
266
+ buildArgs.changeAddress = addr;
267
+ return self;
268
+ }
269
+ function _validFromSlot(slot) {
270
+ tasks = tasks.filter(function (_a) {
271
+ var kind = _a.kind;
272
+ return kind !== 2 /* TxBuilderTaskKind.ValidFromPOSIX */;
273
+ });
274
+ buildArgs.invalidBefore = (0, ints_1.forceBigUInt)(slot);
275
+ return self;
276
+ }
277
+ function _validFromPOSIX(POSIX) {
278
+ var _this = this;
279
+ tasks.push({
280
+ kind: 2 /* TxBuilderTaskKind.ValidFromPOSIX */,
281
+ getPromise: function () { return __awaiter(_this, void 0, void 0, function () {
282
+ var _a, _b;
283
+ return __generator(this, function (_c) {
284
+ switch (_c.label) {
285
+ case 0:
286
+ if (!!(0, GenesisInfos_1.isGenesisInfos)(txBuilder.genesisInfos)) return [3 /*break*/, 2];
287
+ if (typeof provider.getGenesisInfos !== "function") {
288
+ throw new Error("validFromPOSIX requires either a tx builder with genesis infos or a provider that can fetch them; but none is present");
289
+ }
290
+ _b = (_a = txBuilder).setGenesisInfos;
291
+ return [4 /*yield*/, provider.getGenesisInfos()];
292
+ case 1:
293
+ _b.apply(_a, [_c.sent()]);
294
+ _c.label = 2;
295
+ case 2:
296
+ buildArgs.invalidBefore = (0, ints_1.forceBigUInt)(txBuilder.posixToSlot(POSIX));
297
+ return [2 /*return*/];
298
+ }
299
+ });
300
+ }); }
301
+ });
302
+ return self;
303
+ }
304
+ function _validToSlot(slot) {
305
+ tasks = tasks.filter(function (_a) {
306
+ var kind = _a.kind;
307
+ return kind !== 3 /* TxBuilderTaskKind.ValidToPOSIX */;
308
+ });
309
+ buildArgs.invalidAfter = (0, ints_1.forceBigUInt)(slot);
310
+ return self;
311
+ }
312
+ function _validToPOSIX(POSIX) {
313
+ var _this = this;
314
+ tasks.push({
315
+ kind: 3 /* TxBuilderTaskKind.ValidToPOSIX */,
316
+ getPromise: function () { return __awaiter(_this, void 0, void 0, function () {
317
+ var _a, _b;
318
+ return __generator(this, function (_c) {
319
+ switch (_c.label) {
320
+ case 0:
321
+ if (!!(0, GenesisInfos_1.isGenesisInfos)(txBuilder.genesisInfos)) return [3 /*break*/, 2];
322
+ if (typeof provider.getGenesisInfos !== "function") {
323
+ throw new Error("validToPOSIX requires either a tx builder with genesis infos or a provider that can fetch them; but none is present");
324
+ }
325
+ _b = (_a = txBuilder).setGenesisInfos;
326
+ return [4 /*yield*/, provider.getGenesisInfos()];
327
+ case 1:
328
+ _b.apply(_a, [_c.sent()]);
329
+ _c.label = 2;
330
+ case 2:
331
+ buildArgs.invalidAfter = (0, ints_1.forceBigUInt)(txBuilder.posixToSlot(POSIX));
332
+ return [2 /*return*/];
333
+ }
334
+ });
335
+ }); }
336
+ });
337
+ return self;
338
+ }
339
+ function _referenceUTxOs(utxos) {
340
+ var e_1, _a;
341
+ if (utxos.length <= 0)
342
+ return self;
343
+ try {
344
+ for (var utxos_1 = __values(utxos), utxos_1_1 = utxos_1.next(); !utxos_1_1.done; utxos_1_1 = utxos_1.next()) {
345
+ var u = utxos_1_1.value;
346
+ _addRefUtxo(u);
347
+ }
348
+ }
349
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
350
+ finally {
351
+ try {
352
+ if (utxos_1_1 && !utxos_1_1.done && (_a = utxos_1.return)) _a.call(utxos_1);
353
+ }
354
+ finally { if (e_1) throw e_1.error; }
355
+ }
356
+ return self;
357
+ }
358
+ function _addCertificate(cert, script) {
359
+ if (!(buildArgs.certificates)) {
360
+ buildArgs.certificates = [{
361
+ cert: cert,
362
+ script: script
363
+ }];
364
+ return;
365
+ }
366
+ else {
367
+ buildArgs.certificates.push({
368
+ cert: cert,
369
+ script: script
370
+ });
371
+ }
372
+ }
373
+ function _addWithdraw(withdrawal, script) {
374
+ if (!(buildArgs.withdrawals)) {
375
+ buildArgs.withdrawals = [{
376
+ withdrawal: withdrawal,
377
+ script: script
378
+ }];
379
+ return;
380
+ }
381
+ else {
382
+ buildArgs.withdrawals.push({
383
+ withdrawal: withdrawal,
384
+ script: script
385
+ });
386
+ }
387
+ }
388
+ function _tryGetRefScript(scriptHashStr) {
389
+ var theRef = refUtxos.find(function (ref) { var _a, _b; return ((_b = (_a = ref.resolved.refScript) === null || _a === void 0 ? void 0 : _a.hash) === null || _b === void 0 ? void 0 : _b.toString()) === scriptHashStr; });
390
+ if (theRef === undefined)
391
+ return undefined;
392
+ return theRef;
393
+ }
394
+ function _tryGetScript(scriptHashStr) {
395
+ var theScript = scripts.find(function (scr) { return scr.hash.toString() === scriptHashStr; });
396
+ if (theScript === undefined)
397
+ return undefined;
398
+ return theScript;
399
+ }
400
+ function _tryGetRefStakeScript(stakeCreds) {
401
+ var scriptHash = stakeCreds.hash;
402
+ if (Array.isArray(scriptHash))
403
+ return undefined;
404
+ return _tryGetRefScript(scriptHash.toString());
405
+ }
406
+ function _tryGetStakeScript(stakeCreds) {
407
+ var scriptHash = stakeCreds.hash;
408
+ if (Array.isArray(scriptHash))
409
+ return undefined;
410
+ return _tryGetScript(scriptHash.toString());
411
+ }
412
+ function _ensureStakeScript(stakeCreds, script_or_ref, redeemer, script) {
413
+ if (stakeCreds.type === cardano_ledger_ts_1.CredentialType.Script) {
414
+ if (redeemer === undefined) {
415
+ throw new Error("stake credenials are \"script\" but \"redeemer\" is missing");
416
+ }
417
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
418
+ throw new Error("unresolved TxOutRef used as ref UTxO");
419
+ }
420
+ if (!(script)) {
421
+ script_or_ref = _tryGetRefStakeScript(stakeCreds);
422
+ if (script_or_ref === undefined) {
423
+ script_or_ref = _tryGetStakeScript(stakeCreds);
424
+ }
425
+ if (script_or_ref === undefined) {
426
+ throw new Error("missing script with hash: " + stakeCreds.hash);
427
+ }
428
+ if ((0, cardano_ledger_ts_1.isIUTxO)(script_or_ref)) {
429
+ script = {
430
+ ref: new cardano_ledger_ts_1.UTxO(script_or_ref),
431
+ redeemer: redeemer
432
+ };
433
+ }
434
+ else {
435
+ script = {
436
+ inline: script_or_ref,
437
+ redeemer: redeemer
438
+ };
439
+ }
440
+ }
441
+ }
442
+ return script;
443
+ }
444
+ function _delegateTo(delegator, poolId, redeemer, script_or_ref) {
445
+ var _this = this;
446
+ var stakeCreds = (0, CanBeStakeCreds_1.forceStakeCreds)(delegator);
447
+ var poolKeyHash = (0, CanBePoolKeyHash_1.forcePoolKeyHash)(poolId);
448
+ var script = undefined;
449
+ if (delegator instanceof cardano_ledger_ts_1.Script &&
450
+ (script_or_ref === undefined || script_or_ref instanceof cardano_ledger_ts_1.Script)) {
451
+ script_or_ref = delegator;
452
+ }
453
+ if (stakeCreds.type === cardano_ledger_ts_1.CredentialType.Script) {
454
+ if (redeemer === undefined) {
455
+ throw new Error("in \"delegateTo\"; stake credenials are \"script\" but \"redeemer\" is missing");
456
+ }
457
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
458
+ _addRefUtxo;
459
+ tasks.unshift({
460
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
461
+ arg: script_or_ref,
462
+ onResolved: function (utxo) {
463
+ script_or_ref = utxo;
464
+ script = {
465
+ ref: utxo,
466
+ redeemer: redeemer
467
+ };
468
+ }
469
+ });
470
+ }
471
+ }
472
+ tasks.push({
473
+ kind: 4 /* TxBuilderTaskKind.DelegateTo */,
474
+ getPromise: function () { return __awaiter(_this, void 0, void 0, function () {
475
+ return __generator(this, function (_a) {
476
+ script = _ensureStakeScript(stakeCreds, script_or_ref, redeemer, script);
477
+ _addCertificate(new cardano_ledger_ts_1.CertStakeDelegation({
478
+ stakeCredential: stakeCreds,
479
+ poolKeyHash: poolKeyHash
480
+ }), script);
481
+ return [2 /*return*/];
482
+ });
483
+ }); }
484
+ });
485
+ return self;
486
+ }
487
+ function _deregisterStake(delegator, redeemer, script_or_ref) {
488
+ var _this = this;
489
+ var stakeCreds = (0, CanBeStakeCreds_1.forceStakeCreds)(delegator);
490
+ var script = undefined;
491
+ if (delegator instanceof cardano_ledger_ts_1.Script &&
492
+ (script_or_ref === undefined || script_or_ref instanceof cardano_ledger_ts_1.Script)) {
493
+ script_or_ref = delegator;
494
+ }
495
+ if (stakeCreds.type === cardano_ledger_ts_1.CredentialType.Script) {
496
+ if (redeemer === undefined) {
497
+ throw new Error("in \"deregisterStake\"; stake credenials are \"script\" but \"redeemer\" is missing");
498
+ }
499
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
500
+ tasks.push({
501
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
502
+ arg: script_or_ref,
503
+ onResolved: function (utxo) {
504
+ script_or_ref = utxo;
505
+ script = {
506
+ ref: utxo,
507
+ redeemer: redeemer
508
+ };
509
+ }
510
+ });
511
+ }
512
+ }
513
+ tasks.push({
514
+ kind: 5 /* TxBuilderTaskKind.DeregisterStake */,
515
+ getPromise: function () { return __awaiter(_this, void 0, void 0, function () {
516
+ return __generator(this, function (_a) {
517
+ script = _ensureStakeScript(stakeCreds, script_or_ref, redeemer, script);
518
+ _addCertificate(new cardano_ledger_ts_1.CertStakeDeRegistration({
519
+ stakeCredential: stakeCreds,
520
+ }), script);
521
+ return [2 /*return*/];
522
+ });
523
+ }); }
524
+ });
525
+ return self;
526
+ }
527
+ function _registerStake(delegator, redeemer, script_or_ref) {
528
+ var _this = this;
529
+ var stakeCreds = (0, CanBeStakeCreds_1.forceStakeCreds)(delegator);
530
+ var script = undefined;
531
+ if (delegator instanceof cardano_ledger_ts_1.Script &&
532
+ (script_or_ref === undefined || script_or_ref instanceof cardano_ledger_ts_1.Script)) {
533
+ script_or_ref = delegator;
534
+ }
535
+ if (stakeCreds.type === cardano_ledger_ts_1.CredentialType.Script) {
536
+ if (redeemer === undefined) {
537
+ throw new Error("in \"registerStake\"; stake credenials are \"script\" but \"redeemer\" is missing");
538
+ }
539
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
540
+ tasks.push({
541
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
542
+ arg: script_or_ref,
543
+ onResolved: function (utxo) {
544
+ script_or_ref = utxo;
545
+ script = {
546
+ ref: utxo,
547
+ redeemer: redeemer
548
+ };
549
+ }
550
+ });
551
+ }
552
+ }
553
+ tasks.push({
554
+ kind: 7 /* TxBuilderTaskKind.RegisterStake */,
555
+ getPromise: function () { return __awaiter(_this, void 0, void 0, function () {
556
+ return __generator(this, function (_a) {
557
+ script = _ensureStakeScript(stakeCreds, script_or_ref, redeemer, script);
558
+ _addCertificate(new cardano_ledger_ts_1.CertStakeRegistration({
559
+ stakeCredential: stakeCreds,
560
+ }), script);
561
+ return [2 /*return*/];
562
+ });
563
+ }); }
564
+ });
565
+ return self;
566
+ }
567
+ function _registerPool(poolParams) {
568
+ _addCertificate(new cardano_ledger_ts_1.CertPoolRegistration({
569
+ poolParams: new cardano_ledger_ts_1.PoolParams(poolParams)
570
+ }));
571
+ return self;
572
+ }
573
+ function _retirePool(poolId, epoch) {
574
+ _addCertificate(new cardano_ledger_ts_1.CertPoolRetirement({
575
+ poolHash: new cardano_ledger_ts_1.PoolKeyHash(poolId),
576
+ epoch: epoch
577
+ }));
578
+ return self;
579
+ }
580
+ function _withdraw(stakeAddress, amount, redeemer, script_or_ref) {
581
+ var _this = this;
582
+ var stakeCreds = (0, CanBeStakeCreds_1.forceStakeCreds)(stakeAddress);
583
+ var script = undefined;
584
+ if (stakeAddress instanceof cardano_ledger_ts_1.Script &&
585
+ (script_or_ref === undefined || script_or_ref instanceof cardano_ledger_ts_1.Script)) {
586
+ script_or_ref = stakeAddress;
587
+ }
588
+ if (stakeCreds.type === cardano_ledger_ts_1.CredentialType.Script) {
589
+ if (redeemer === undefined) {
590
+ throw new Error("in \"withdraw\"; stake credenials are \"script\" but \"redeemer\" is missing");
591
+ }
592
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
593
+ tasks.push({
594
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
595
+ arg: script_or_ref,
596
+ onResolved: function (utxo) {
597
+ script_or_ref = utxo;
598
+ script = {
599
+ ref: utxo,
600
+ redeemer: redeemer
601
+ };
602
+ }
603
+ });
604
+ }
605
+ }
606
+ tasks.push({
607
+ kind: 6 /* TxBuilderTaskKind.Withdraw */,
608
+ getPromise: function () { return __awaiter(_this, void 0, void 0, function () {
609
+ return __generator(this, function (_a) {
610
+ script = _ensureStakeScript(stakeCreds, script_or_ref, redeemer, script);
611
+ if (Array.isArray(stakeCreds.hash)) {
612
+ throw new Error("unexpected pointer stake credentials");
613
+ }
614
+ _addWithdraw({
615
+ rewardAccount: stakeCreds.hash,
616
+ amount: amount
617
+ }, script);
618
+ return [2 /*return*/];
619
+ });
620
+ }); }
621
+ });
622
+ return self;
623
+ }
624
+ function _pushInput(utxo, redeemer, script_or_ref) {
625
+ var _a, _b, _c;
626
+ var paymentCreds = utxo.resolved.address.paymentCreds;
627
+ if (paymentCreds.type === cardano_ledger_ts_1.CredentialType.Script) {
628
+ if (!(0, CanBeData_1.canBeData)(redeemer))
629
+ throw new Error("script input " + utxo.utxoRef.toString() + " is missing a redeemer");
630
+ else
631
+ redeemer = (0, CanBeData_1.forceData)(redeemer);
632
+ if ((0, cardano_ledger_ts_1.isIUTxO)(script_or_ref)) {
633
+ refUtxos.push(new cardano_ledger_ts_1.UTxO(script_or_ref));
634
+ }
635
+ if (script_or_ref instanceof cardano_ledger_ts_1.Script) {
636
+ _addAviableScript(script_or_ref);
637
+ }
638
+ if (!(0, cardano_ledger_ts_1.isIUTxO)(script_or_ref) || !(script_or_ref instanceof cardano_ledger_ts_1.Script)) {
639
+ var scriptHash = paymentCreds.hash.toString();
640
+ script_or_ref = (_a = _tryGetRefScript(scriptHash)) !== null && _a !== void 0 ? _a : _tryGetScript(scriptHash);
641
+ if (!!(0, cardano_ledger_ts_1.isIUTxO)(script_or_ref) || !(script_or_ref instanceof cardano_ledger_ts_1.Script)) {
642
+ throw new Error("script input " + utxo.utxoRef.toString() + " is missing the script source");
643
+ }
644
+ }
645
+ if (!Array.isArray(buildArgs.inputs)) {
646
+ buildArgs.inputs = [];
647
+ }
648
+ var isInlineDatum = (0, plutus_data_1.isData)(utxo.resolved.datum);
649
+ var datumHashStr = (_c = (_b = utxo.resolved.datum) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : "undefined";
650
+ var datum = bytestring_1.ByteString.isValidHexValue(datumHashStr) &&
651
+ datumHashStr.length === 64 ?
652
+ _getResolvedDatum(datumHashStr) : undefined;
653
+ if (!isInlineDatum && !(0, plutus_data_1.isData)(datum))
654
+ throw new Error("missing datum for script input " + +utxo.utxoRef.toString());
655
+ if ((0, cardano_ledger_ts_1.isIUTxO)(script_or_ref)) {
656
+ var ref = script_or_ref instanceof cardano_ledger_ts_1.UTxO ? script_or_ref : new cardano_ledger_ts_1.UTxO(script_or_ref);
657
+ buildArgs.inputs.push({
658
+ utxo: utxo,
659
+ referenceScript: {
660
+ refUtxo: ref,
661
+ redeemer: redeemer,
662
+ datum: isInlineDatum ? "inline" : datum
663
+ }
664
+ });
665
+ }
666
+ else {
667
+ buildArgs.inputs.push({
668
+ utxo: utxo,
669
+ inputScript: {
670
+ script: script_or_ref,
671
+ redeemer: redeemer,
672
+ datum: isInlineDatum ? "inline" : datum
673
+ }
674
+ });
675
+ }
676
+ return;
677
+ }
678
+ // not script
679
+ if (!Array.isArray(buildArgs.inputs)) {
680
+ buildArgs.inputs = [{ utxo: utxo }];
681
+ }
682
+ else {
683
+ buildArgs.inputs.push({ utxo: utxo });
684
+ }
685
+ }
686
+ function _addInput(utxo, redeemer, script_or_ref, datum) {
687
+ var _a;
688
+ if (datum && (0, CanBeData_1.canBeData)(datum)) {
689
+ try {
690
+ datum = (0, CanBeData_1.forceData)(datum);
691
+ _saveResolvedDatum(datum);
692
+ }
693
+ catch (_b) { }
694
+ }
695
+ utxo = utxo instanceof cardano_ledger_ts_1.UTxO ? utxo : new cardano_ledger_ts_1.UTxO(utxo);
696
+ var paymentCreds = utxo.resolved.address.paymentCreds;
697
+ if (paymentCreds.type === cardano_ledger_ts_1.CredentialType.Script) {
698
+ var hashStr = paymentCreds.hash.toString();
699
+ if (!(0, cardano_ledger_ts_1.isIUTxO)(script_or_ref))
700
+ script_or_ref = (_a = _tryGetRefScript(hashStr)) !== null && _a !== void 0 ? _a : script_or_ref;
701
+ if (!script_or_ref)
702
+ script_or_ref = _tryGetScript(hashStr);
703
+ if (!script_or_ref)
704
+ throw new Error("missing script for utxo: " + utxo.utxoRef.toString());
705
+ if ((0, cardano_ledger_ts_1.isIUTxO)(script_or_ref))
706
+ script_or_ref = new cardano_ledger_ts_1.UTxO(script_or_ref);
707
+ }
708
+ _pushInput(utxo, redeemer, script_or_ref);
709
+ }
710
+ function __addInptus(utxos, redeemer, script_or_ref, datum) {
711
+ var e_2, _a;
712
+ // save datum before resolving utxo
713
+ if (datum && (0, CanBeData_1.canBeData)(datum)) {
714
+ try {
715
+ datum = (0, CanBeData_1.forceData)(datum);
716
+ _saveResolvedDatum(datum);
717
+ }
718
+ catch (_b) { }
719
+ }
720
+ try {
721
+ for (var utxos_2 = __values(utxos), utxos_2_1 = utxos_2.next(); !utxos_2_1.done; utxos_2_1 = utxos_2.next()) {
722
+ var _utxo = utxos_2_1.value;
723
+ tasks.push({
724
+ kind: 1 /* TxBuilderTaskKind.ResolveTxIn */,
725
+ arg: _utxo,
726
+ onResolved: function (txIn) {
727
+ _addInput(txIn, redeemer, script_or_ref);
728
+ }
729
+ });
730
+ }
731
+ }
732
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
733
+ finally {
734
+ try {
735
+ if (utxos_2_1 && !utxos_2_1.done && (_a = utxos_2.return)) _a.call(utxos_2);
736
+ }
737
+ finally { if (e_2) throw e_2.error; }
738
+ }
739
+ return self;
740
+ }
741
+ function _addInputs(utxos, redeemer, script_or_ref, datum) {
742
+ datum = datum === "inline" ? undefined : datum;
743
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
744
+ // save datum before resolving utxo
745
+ if (datum && (0, CanBeData_1.canBeData)(datum)) {
746
+ try {
747
+ datum = (0, CanBeData_1.forceData)(datum);
748
+ _saveResolvedDatum(datum);
749
+ }
750
+ catch (_a) { }
751
+ }
752
+ tasks.push({
753
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
754
+ arg: script_or_ref,
755
+ onResolved: function (ref) {
756
+ __addInptus(utxos, redeemer, ref);
757
+ }
758
+ });
759
+ return self;
760
+ }
761
+ return __addInptus(utxos, redeemer, script_or_ref, datum);
762
+ }
763
+ function _addSingleInput(utxo, redeemer, script_or_ref, datum) {
764
+ return _addInputs([utxo], redeemer, script_or_ref, datum);
765
+ }
766
+ function _payTo(address, amount, datum, refScript) {
767
+ if (!Array.isArray(buildArgs.outputs)) {
768
+ buildArgs.outputs = [];
769
+ }
770
+ buildArgs.outputs.push({
771
+ address: typeof address === "string" ? cardano_ledger_ts_1.Address.fromString(address) : address,
772
+ value: (0, ints_1.canBeUInteger)(amount) ? cardano_ledger_ts_1.Value.lovelaces(amount) : amount,
773
+ datum: datum !== undefined && (0, CanBeData_1.canBeData)(datum) ? (0, CanBeData_1.forceData)(datum) : undefined,
774
+ refScript: refScript
775
+ });
776
+ return self;
777
+ }
778
+ function _setCollateral(collateral, collateralOutput) {
779
+ _setCollateralTask = {
780
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
781
+ arg: collateral,
782
+ onResolved: function (utxo) {
783
+ if (!cardano_ledger_ts_1.Value.isAdaOnly(utxo.resolved.value) && !(0, cardano_ledger_ts_1.isITxOut)(collateralOutput)) {
784
+ collateralOutput = {
785
+ address: utxo.resolved.address,
786
+ value: cardano_ledger_ts_1.Value.sub(utxo.resolved.value, cardano_ledger_ts_1.Value.lovelaces((0, ints_1.forceBigUInt)(_collateralAmount)))
787
+ };
788
+ }
789
+ buildArgs.collaterals = [utxo];
790
+ if ((0, cardano_ledger_ts_1.isITxOut)(collateralOutput)) {
791
+ if (typeof collateralOutput.address === "string")
792
+ collateralOutput.address = cardano_ledger_ts_1.Address.fromString(collateralOutput.address);
793
+ buildArgs.collateralReturn = collateralOutput;
794
+ }
795
+ }
796
+ };
797
+ return self;
798
+ }
799
+ function _setCollateralAmount(amount) {
800
+ if ((0, ints_1.canBeUInteger)(amount))
801
+ _collateralAmount = amount;
802
+ return self;
803
+ }
804
+ function __mintAssets(assets, script_or_ref, redeemer) {
805
+ redeemer = redeemer === undefined ? new plutus_data_1.DataI(0) : (0, CanBeData_1.forceData)(redeemer);
806
+ if (!Array.isArray(buildArgs.mints)) {
807
+ buildArgs.mints = [];
808
+ }
809
+ buildArgs.mints.push({
810
+ value: assets,
811
+ script: (0, cardano_ledger_ts_1.isIUTxO)(script_or_ref) ?
812
+ {
813
+ ref: new cardano_ledger_ts_1.UTxO(script_or_ref),
814
+ // policyId: assets.policy,
815
+ redeemer: redeemer
816
+ } : {
817
+ inline: script_or_ref,
818
+ // policyId: assets.policy,
819
+ redeemer: redeemer
820
+ }
821
+ });
822
+ return self;
823
+ }
824
+ function _mintAssets(assets, script_or_ref, redeemer) {
825
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
826
+ tasks.push({
827
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
828
+ arg: script_or_ref,
829
+ onResolved: function (ref) {
830
+ __mintAssets(assets, ref, redeemer);
831
+ }
832
+ });
833
+ return self;
834
+ }
835
+ else
836
+ return __mintAssets(assets, script_or_ref, redeemer);
837
+ }
838
+ function __vote(voter, govActionId, vote, anchor, redeemer, script_or_ref) {
839
+ govActionId = (0, cardano_ledger_ts_1.forceTxOutRef)(govActionId);
840
+ if (!Array.isArray(buildArgs.votingProcedures))
841
+ buildArgs.votingProcedures = [];
842
+ var govActionVote = {
843
+ govActionId: govActionId,
844
+ vote: {
845
+ vote: vote,
846
+ anchor: anchor
847
+ },
848
+ };
849
+ var votingProcedure = {
850
+ voter: voter,
851
+ votes: [govActionVote]
852
+ };
853
+ var entry = buildArgs.votingProcedures.find(function (elem) {
854
+ var votingProcedure = (0, cardano_ledger_ts_1.isIVotingProceduresEntry)(elem) ? elem : elem.votingProcedure;
855
+ return (0, ITxBuildVotingProcedure_1.eqIVoter)(voter, votingProcedure.voter);
856
+ });
857
+ if (!entry) {
858
+ buildArgs.votingProcedures.push({
859
+ votingProcedure: votingProcedure,
860
+ script: redeemer === undefined ? undefined :
861
+ (0, cardano_ledger_ts_1.isIUTxO)(script_or_ref) ? {
862
+ ref: script_or_ref,
863
+ redeemer: redeemer
864
+ } : (script_or_ref instanceof cardano_ledger_ts_1.Script ? {
865
+ inline: script_or_ref,
866
+ redeemer: redeemer
867
+ } : undefined)
868
+ });
869
+ }
870
+ else {
871
+ var votingProcedure_1 = (0, cardano_ledger_ts_1.isIVotingProceduresEntry)(entry) ? entry : entry.votingProcedure;
872
+ var govActionEntry = votingProcedure_1.votes.find(function (_a) {
873
+ var entryGovActionId = _a.govActionId;
874
+ return (0, cardano_ledger_ts_1.eqITxOutRef)(govActionId, entryGovActionId);
875
+ });
876
+ if (!govActionEntry) {
877
+ votingProcedure_1.votes.push(govActionVote);
878
+ }
879
+ else {
880
+ govActionEntry.vote = {
881
+ vote: vote,
882
+ anchor: anchor
883
+ };
884
+ }
885
+ }
886
+ return self;
887
+ }
888
+ function _vote(voter, governanceActionId, vote, anchor, redeemer, script_or_ref) {
889
+ redeemer = redeemer && (0, CanBeData_1.canBeData)(redeemer) ? (0, CanBeData_1.forceData)(redeemer) : undefined;
890
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
891
+ tasks.push({
892
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
893
+ arg: script_or_ref,
894
+ onResolved: function (ref) {
895
+ __vote(voter, governanceActionId, vote, anchor, redeemer, ref);
896
+ }
897
+ });
898
+ return self;
899
+ }
900
+ else
901
+ return __vote(voter, governanceActionId, vote, anchor, redeemer, script_or_ref);
902
+ }
903
+ function _voteDRep(drepKeyHash, governanceActionId, vote, anchor) {
904
+ return _vote({
905
+ kind: cardano_ledger_ts_1.VoterKind.DRepKeyHash,
906
+ hash: drepKeyHash
907
+ }, governanceActionId, vote, anchor);
908
+ }
909
+ function _voteScriptDRep(drepScriptHash, governanceActionId, vote, anchor, redeemer, script_or_ref) {
910
+ return _vote({
911
+ kind: cardano_ledger_ts_1.VoterKind.DRepScript,
912
+ hash: drepScriptHash
913
+ }, governanceActionId, vote, anchor, redeemer, script_or_ref);
914
+ }
915
+ function _voteConstitutionalComittee(memberKeyHash, governanceActionId, vote, anchor) {
916
+ return _vote({
917
+ kind: cardano_ledger_ts_1.VoterKind.ConstitutionalCommitteKeyHash,
918
+ hash: memberKeyHash
919
+ }, governanceActionId, vote, anchor);
920
+ }
921
+ function _voteScriptConstitutionalComittee(memberScriptHash, governanceActionId, vote, anchor, redeemer, script_or_ref) {
922
+ return _vote({
923
+ kind: cardano_ledger_ts_1.VoterKind.ConstitutionalCommitteScript,
924
+ hash: memberScriptHash
925
+ }, governanceActionId, vote, anchor, redeemer, script_or_ref);
926
+ }
927
+ function _voteStakePool(poolId, governanceActionId, vote, anchor) {
928
+ return _vote({
929
+ kind: cardano_ledger_ts_1.VoterKind.StakingPoolKeyHash,
930
+ hash: poolId
931
+ }, governanceActionId, vote, anchor);
932
+ }
933
+ function __propose(proposal, redeemer, script_or_ref) {
934
+ if (!Array.isArray(buildArgs.proposalProcedures))
935
+ buildArgs.proposalProcedures = [];
936
+ buildArgs.proposalProcedures.push({
937
+ proposalProcedure: proposal,
938
+ script: redeemer === undefined ? undefined :
939
+ (0, cardano_ledger_ts_1.isIUTxO)(script_or_ref) ? {
940
+ ref: script_or_ref,
941
+ redeemer: redeemer
942
+ } : ((script_or_ref instanceof cardano_ledger_ts_1.Script) ? {
943
+ inline: script_or_ref,
944
+ redeemer: redeemer
945
+ } : undefined)
946
+ });
947
+ var _proposalProcedure = buildArgs.proposalProcedures[buildArgs.proposalProcedures.length - 1];
948
+ var govActionRef = (0, cardano_ledger_ts_1.isIProposalProcedure)(_proposalProcedure) ?
949
+ _proposalProcedure.govAction :
950
+ _proposalProcedure.proposalProcedure.govAction;
951
+ if ((govActionRef.govActionType === cardano_ledger_ts_1.GovActionType.ParameterChange ||
952
+ govActionRef.govActionType === cardano_ledger_ts_1.GovActionType.TreasuryWithdrawals) &&
953
+ govActionRef.policyHash === undefined) {
954
+ if ((0, cardano_ledger_ts_1.isIUTxO)(script_or_ref) &&
955
+ script_or_ref.resolved.refScript instanceof cardano_ledger_ts_1.Script) {
956
+ govActionRef.policyHash = script_or_ref.resolved.refScript.hash;
957
+ }
958
+ else if (script_or_ref instanceof cardano_ledger_ts_1.Script) {
959
+ govActionRef.policyHash = script_or_ref.hash;
960
+ }
961
+ }
962
+ return self;
963
+ }
964
+ function _propose(proposal, redeemer, script_or_ref) {
965
+ redeemer = redeemer && (0, CanBeData_1.canBeData)(redeemer) ? (0, CanBeData_1.forceData)(redeemer) : undefined;
966
+ if ((0, CanResolveToUTxO_1.shouldResolveToUTxO)(script_or_ref)) {
967
+ tasks.push({
968
+ kind: 0 /* TxBuilderTaskKind.ResolveUTxO */,
969
+ arg: script_or_ref,
970
+ onResolved: function (ref) {
971
+ __propose(proposal, redeemer, ref);
972
+ }
973
+ });
974
+ return self;
975
+ }
976
+ else
977
+ return __propose(proposal, redeemer, script_or_ref);
978
+ }
979
+ function _proposeParametersChanges(changes, procedureInfos, govActionId, redeemer, script_or_ref) {
980
+ return _propose(__assign(__assign({}, procedureInfos), { govAction: {
981
+ govActionType: cardano_ledger_ts_1.GovActionType.ParameterChange,
982
+ protocolParamsUpdate: changes,
983
+ govActionId: govActionId ? (0, cardano_ledger_ts_1.forceTxOutRef)(govActionId) : undefined,
984
+ // policyHash // script hash if any specified
985
+ } }), redeemer, script_or_ref);
986
+ }
987
+ function _proposeHardForkInitiation(nextProtocolVersion, procedureInfos, govActionId, redeemer, script_or_ref) {
988
+ return _propose(__assign(__assign({}, procedureInfos), { govAction: {
989
+ govActionType: cardano_ledger_ts_1.GovActionType.InitHardFork,
990
+ protocolVersion: nextProtocolVersion,
991
+ govActionId: govActionId ? (0, cardano_ledger_ts_1.forceTxOutRef)(govActionId) : undefined,
992
+ } }), redeemer, script_or_ref);
993
+ }
994
+ function _proposeTreasuryWithdrawal(withdrawals, procedureInfos, redeemer, script_or_ref) {
995
+ return _propose(__assign(__assign({}, procedureInfos), { govAction: {
996
+ govActionType: cardano_ledger_ts_1.GovActionType.TreasuryWithdrawals,
997
+ withdrawals: withdrawals,
998
+ // policyHash // script hash if any specified
999
+ } }), redeemer, script_or_ref);
1000
+ }
1001
+ function _proposeNoConfidence(procedureInfos, govActionId, redeemer, script_or_ref) {
1002
+ return _propose(__assign(__assign({}, procedureInfos), { govAction: {
1003
+ govActionType: cardano_ledger_ts_1.GovActionType.NoConfidence,
1004
+ govActionId: govActionId ? (0, cardano_ledger_ts_1.forceTxOutRef)(govActionId) : undefined,
1005
+ // policyHash // script hash if any specified
1006
+ } }), redeemer, script_or_ref);
1007
+ }
1008
+ function _proposeComitteeUpdate(toRemove, toAdd, threshold, procedureInfos, govActionId, redeemer, script_or_ref) {
1009
+ return _propose(__assign(__assign({}, procedureInfos), { govAction: {
1010
+ govActionType: cardano_ledger_ts_1.GovActionType.UpdateCommittee,
1011
+ toRemove: toRemove,
1012
+ toAdd: toAdd,
1013
+ threshold: threshold,
1014
+ govActionId: govActionId ? (0, cardano_ledger_ts_1.forceTxOutRef)(govActionId) : undefined,
1015
+ } }), redeemer, script_or_ref);
1016
+ }
1017
+ function _proposeNewConstitution(constitution, procedureInfos, govActionId, redeemer, script_or_ref) {
1018
+ return _propose(__assign(__assign({}, procedureInfos), { govAction: {
1019
+ govActionType: cardano_ledger_ts_1.GovActionType.NewConstitution,
1020
+ constitution: constitution,
1021
+ govActionId: govActionId ? (0, cardano_ledger_ts_1.forceTxOutRef)(govActionId) : undefined,
1022
+ } }), redeemer, script_or_ref);
1023
+ }
1024
+ function _proposeInfos(procedureInfos, redeemer, script_or_ref) {
1025
+ return _propose(__assign(__assign({}, procedureInfos), { govAction: {
1026
+ govActionType: cardano_ledger_ts_1.GovActionType.Info,
1027
+ } }), redeemer, script_or_ref);
1028
+ }
1029
+ function _build() {
1030
+ var _a, _b, _c, _d;
1031
+ return __awaiter(this, void 0, void 0, function () {
1032
+ function resolveUtxos(_tasks) {
1033
+ return __awaiter(this, void 0, void 0, function () {
1034
+ var utxosToFind, uLen, resolvedUtxos, iLen, _tasks_1, _tasks_1_1, arg, _a, _b, _c, _d, datumHashesToResolve, resolvedDatums, resolvedDatums_1, resolvedDatums_1_1, _e, hash, datum, forced, _loop_1, resolvedUtxos_1, resolvedUtxos_1_1, u;
1035
+ var e_5, _f, e_6, _g, e_7, _h;
1036
+ return __generator(this, function (_j) {
1037
+ switch (_j.label) {
1038
+ case 0:
1039
+ utxosToFind = new Array(_tasks.length);
1040
+ uLen = 0;
1041
+ resolvedUtxos = new Array(_tasks.length);
1042
+ iLen = 0;
1043
+ try {
1044
+ for (_tasks_1 = __values(_tasks), _tasks_1_1 = _tasks_1.next(); !_tasks_1_1.done; _tasks_1_1 = _tasks_1.next()) {
1045
+ arg = _tasks_1_1.value.arg;
1046
+ if (arg instanceof cardano_ledger_ts_1.UTxO)
1047
+ resolvedUtxos[iLen++] = arg;
1048
+ else if ((0, cardano_ledger_ts_1.isIUTxO)(arg))
1049
+ resolvedUtxos[iLen++] = new cardano_ledger_ts_1.UTxO(arg);
1050
+ else
1051
+ utxosToFind[uLen++] = arg;
1052
+ }
1053
+ }
1054
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
1055
+ finally {
1056
+ try {
1057
+ if (_tasks_1_1 && !_tasks_1_1.done && (_f = _tasks_1.return)) _f.call(_tasks_1);
1058
+ }
1059
+ finally { if (e_5) throw e_5.error; }
1060
+ }
1061
+ utxosToFind.length = uLen;
1062
+ resolvedUtxos.length = iLen;
1063
+ if (!(uLen > 0)) return [3 /*break*/, 2];
1064
+ if (typeof provider.resolveUtxos !== "function") {
1065
+ throw new Error("some unresolved utxos where used and the provider is missing the 'resolveUtxos' method to resolve them");
1066
+ }
1067
+ _b = (_a = resolvedUtxos.push).apply;
1068
+ _c = [resolvedUtxos];
1069
+ _d = [[]];
1070
+ return [4 /*yield*/, provider.resolveUtxos(utxosToFind)];
1071
+ case 1:
1072
+ _b.apply(_a, _c.concat([__spreadArray.apply(void 0, _d.concat([__read.apply(void 0, [(_j.sent())]), false]))]));
1073
+ _j.label = 2;
1074
+ case 2:
1075
+ datumHashesToResolve = resolvedUtxos.filter(function (u) {
1076
+ var _a, _b;
1077
+ var dat = (_b = (_a = u.resolved.datum) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : "undefined";
1078
+ return (bytestring_1.ByteString.isValidHexValue(dat) &&
1079
+ dat.length === 64 && // 32 * 2
1080
+ !_datumsHashes.includes(dat));
1081
+ })
1082
+ .map(function (u) { return u.resolved.datum; });
1083
+ if (!(datumHashesToResolve.length > 0)) return [3 /*break*/, 4];
1084
+ if (typeof provider.resolveDatumHashes !== "function") {
1085
+ throw new Error("provider is missing 'resolveDatumHashes' function but some unresolved datum hashes where found");
1086
+ }
1087
+ return [4 /*yield*/, provider.resolveDatumHashes(datumHashesToResolve)];
1088
+ case 3:
1089
+ resolvedDatums = _j.sent();
1090
+ try {
1091
+ for (resolvedDatums_1 = __values(resolvedDatums), resolvedDatums_1_1 = resolvedDatums_1.next(); !resolvedDatums_1_1.done; resolvedDatums_1_1 = resolvedDatums_1.next()) {
1092
+ _e = resolvedDatums_1_1.value, hash = _e.hash, datum = _e.datum;
1093
+ try {
1094
+ forced = (0, CanBeData_1.forceData)(datum);
1095
+ _saveResolvedDatum(forced, hash.toString());
1096
+ }
1097
+ catch (_k) { }
1098
+ }
1099
+ }
1100
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
1101
+ finally {
1102
+ try {
1103
+ if (resolvedDatums_1_1 && !resolvedDatums_1_1.done && (_g = resolvedDatums_1.return)) _g.call(resolvedDatums_1);
1104
+ }
1105
+ finally { if (e_6) throw e_6.error; }
1106
+ }
1107
+ _j.label = 4;
1108
+ case 4:
1109
+ _loop_1 = function (u) {
1110
+ var resolvedIdx = _tasks.findIndex(function (t) { return (0, cardano_ledger_ts_1.forceTxOutRefStr)(t.arg) === u.utxoRef.toString(); });
1111
+ if (resolvedIdx < 0) {
1112
+ return "continue";
1113
+ }
1114
+ var task = void 0;
1115
+ if (resolvedIdx === 0) {
1116
+ task = _tasks.shift();
1117
+ }
1118
+ else {
1119
+ task = _tasks[resolvedIdx];
1120
+ // remove in-place
1121
+ void _tasks.splice(resolvedIdx, 1);
1122
+ }
1123
+ task.onResolved(u);
1124
+ };
1125
+ try {
1126
+ for (resolvedUtxos_1 = __values(resolvedUtxos), resolvedUtxos_1_1 = resolvedUtxos_1.next(); !resolvedUtxos_1_1.done; resolvedUtxos_1_1 = resolvedUtxos_1.next()) {
1127
+ u = resolvedUtxos_1_1.value;
1128
+ _loop_1(u);
1129
+ }
1130
+ }
1131
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
1132
+ finally {
1133
+ try {
1134
+ if (resolvedUtxos_1_1 && !resolvedUtxos_1_1.done && (_h = resolvedUtxos_1.return)) _h.call(resolvedUtxos_1);
1135
+ }
1136
+ finally { if (e_7) throw e_7.error; }
1137
+ }
1138
+ // should already be 0 but just to be sure;
1139
+ _tasks.length = 0;
1140
+ return [2 /*return*/];
1141
+ }
1142
+ });
1143
+ });
1144
+ }
1145
+ var otherTasks, oLen, utxoTasks, uLen, insTasks, iLen, tasks_1, tasks_1_1, task, hasUTxOTasks, tasks_2, tasks_2_1, task, _e, _f, _g, kind, getPromise, _h, _j, _k, _changeInput, tx;
1146
+ var e_3, _l, e_4, _m, _o;
1147
+ return __generator(this, function (_p) {
1148
+ switch (_p.label) {
1149
+ case 0:
1150
+ otherTasks = new Array(tasks.length);
1151
+ oLen = 0;
1152
+ utxoTasks = new Array(tasks.length);
1153
+ uLen = 0;
1154
+ insTasks = new Array(tasks.length);
1155
+ iLen = 0;
1156
+ try {
1157
+ // collect tasks first time
1158
+ for (tasks_1 = __values(tasks), tasks_1_1 = tasks_1.next(); !tasks_1_1.done; tasks_1_1 = tasks_1.next()) {
1159
+ task = tasks_1_1.value;
1160
+ switch (task.kind) {
1161
+ case 0 /* TxBuilderTaskKind.ResolveUTxO */:
1162
+ utxoTasks[uLen++] = task;
1163
+ break;
1164
+ case 1 /* TxBuilderTaskKind.ResolveTxIn */:
1165
+ insTasks[iLen++] = task;
1166
+ break;
1167
+ default:
1168
+ otherTasks[oLen++] = task;
1169
+ break;
1170
+ }
1171
+ }
1172
+ }
1173
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
1174
+ finally {
1175
+ try {
1176
+ if (tasks_1_1 && !tasks_1_1.done && (_l = tasks_1.return)) _l.call(tasks_1);
1177
+ }
1178
+ finally { if (e_3) throw e_3.error; }
1179
+ }
1180
+ tasks.length = 0;
1181
+ utxoTasks.length = uLen;
1182
+ insTasks.length = iLen;
1183
+ otherTasks.length = oLen;
1184
+ _setCollateralTask && utxoTasks.push(_setCollateralTask);
1185
+ return [4 /*yield*/, resolveUtxos(utxoTasks)];
1186
+ case 1:
1187
+ _p.sent();
1188
+ hasUTxOTasks = utxoTasks.length > 0;
1189
+ _p.label = 2;
1190
+ case 2:
1191
+ try {
1192
+ // collect any other thasks
1193
+ for (tasks_2 = (e_4 = void 0, __values(tasks)), tasks_2_1 = tasks_2.next(); !tasks_2_1.done; tasks_2_1 = tasks_2.next()) {
1194
+ task = tasks_2_1.value;
1195
+ switch (task.kind) {
1196
+ case 0 /* TxBuilderTaskKind.ResolveUTxO */:
1197
+ utxoTasks.push(task);
1198
+ break;
1199
+ case 1 /* TxBuilderTaskKind.ResolveTxIn */:
1200
+ insTasks.push(task);
1201
+ break;
1202
+ default:
1203
+ otherTasks.push(task);
1204
+ break;
1205
+ }
1206
+ }
1207
+ }
1208
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
1209
+ finally {
1210
+ try {
1211
+ if (tasks_2_1 && !tasks_2_1.done && (_m = tasks_2.return)) _m.call(tasks_2);
1212
+ }
1213
+ finally { if (e_4) throw e_4.error; }
1214
+ }
1215
+ // clear all tasks
1216
+ tasks.length = 0;
1217
+ hasUTxOTasks = utxoTasks.length > 0;
1218
+ _e = hasUTxOTasks;
1219
+ if (!_e) return [3 /*break*/, 4];
1220
+ return [4 /*yield*/, resolveUtxos(utxoTasks)];
1221
+ case 3:
1222
+ _e = (_p.sent());
1223
+ _p.label = 4;
1224
+ case 4:
1225
+ _e;
1226
+ _p.label = 5;
1227
+ case 5:
1228
+ if (hasUTxOTasks) return [3 /*break*/, 2];
1229
+ _p.label = 6;
1230
+ case 6:
1231
+ _f = insTasks.length > 0;
1232
+ if (!_f) return [3 /*break*/, 8];
1233
+ return [4 /*yield*/, resolveUtxos(insTasks)];
1234
+ case 7:
1235
+ _f = (_p.sent());
1236
+ _p.label = 8;
1237
+ case 8:
1238
+ _f;
1239
+ _p.label = 9;
1240
+ case 9:
1241
+ if (!(otherTasks.length > 0)) return [3 /*break*/, 13];
1242
+ _g = otherTasks.pop(), kind = _g.kind, getPromise = _g.getPromise;
1243
+ if (!((kind === 2 /* TxBuilderTaskKind.ValidFromPOSIX */ || kind === 3 /* TxBuilderTaskKind.ValidToPOSIX */) &&
1244
+ !(0, GenesisInfos_1.isGenesisInfos)(txBuilder.genesisInfos))) return [3 /*break*/, 11];
1245
+ if (typeof provider.getGenesisInfos !== "function") {
1246
+ throw new Error("POSIX operatoins do require either a tx builder with genesis infos or a provider that can fetch them; but none is present");
1247
+ }
1248
+ _j = (_h = txBuilder).setGenesisInfos;
1249
+ return [4 /*yield*/, provider.getGenesisInfos()];
1250
+ case 10:
1251
+ _j.apply(_h, [_p.sent()]);
1252
+ _p.label = 11;
1253
+ case 11: return [4 /*yield*/, getPromise()];
1254
+ case 12:
1255
+ _p.sent();
1256
+ return [3 /*break*/, 9];
1257
+ case 13:
1258
+ ;
1259
+ if (!!buildArgs.changeAddress) return [3 /*break*/, 16];
1260
+ if (!(typeof provider.getChangeAddress === "function")) return [3 /*break*/, 15];
1261
+ _k = buildArgs;
1262
+ return [4 /*yield*/, provider.getChangeAddress()];
1263
+ case 14:
1264
+ _k.changeAddress = _p.sent();
1265
+ return [3 /*break*/, 16];
1266
+ case 15:
1267
+ if (!Array.isArray(buildArgs.inputs) ||
1268
+ buildArgs.inputs.length === 0) {
1269
+ throw new Error("can't deduce change Address; missing inputs");
1270
+ }
1271
+ _changeInput = (_a = buildArgs.inputs) === null || _a === void 0 ? void 0 : _a.find(function (_in) {
1272
+ var addr = ((0, cardano_ledger_ts_1.isIUTxO)(_in) ? _in : _in.utxo).resolved.address;
1273
+ return (addr instanceof cardano_ledger_ts_1.Address ?
1274
+ addr : cardano_ledger_ts_1.Address.fromString(addr)).paymentCreds.type === cardano_ledger_ts_1.CredentialType.KeyHash;
1275
+ });
1276
+ buildArgs.changeAddress =
1277
+ (_b = ((0, cardano_ledger_ts_1.isIUTxO)(_changeInput) ?
1278
+ _changeInput :
1279
+ _changeInput === null || _changeInput === void 0 ? void 0 : _changeInput.utxo)) === null || _b === void 0 ? void 0 : _b.resolved.address;
1280
+ if (!buildArgs.changeAddress) {
1281
+ console.log(buildArgs.outputs);
1282
+ console.log(Array.isArray(buildArgs.outputs));
1283
+ if (Array.isArray(buildArgs.outputs)) {
1284
+ buildArgs.changeAddress = (_d = (_c = buildArgs.outputs) === null || _c === void 0 ? void 0 : _c.find(function (out) { return (0, forceAddr_1.forceAddr)(out.address).paymentCreds.type === cardano_ledger_ts_1.CredentialType.KeyHash; })) === null || _d === void 0 ? void 0 : _d.address;
1285
+ }
1286
+ else
1287
+ throw new Error("can't deduce change Address; only script inputs");
1288
+ if (!buildArgs.changeAddress) {
1289
+ throw new Error("can't deduce change Address; only script inputs and scripts outputs");
1290
+ }
1291
+ }
1292
+ _p.label = 16;
1293
+ case 16:
1294
+ if (refUtxos.length > 0) {
1295
+ if (!Array.isArray(buildArgs.readonlyRefInputs)) {
1296
+ buildArgs.readonlyRefInputs = [];
1297
+ }
1298
+ void (_o = buildArgs.readonlyRefInputs).push.apply(_o, __spreadArray([], __read(refUtxos), false));
1299
+ }
1300
+ return [4 /*yield*/, txBuilder.build(buildArgs)];
1301
+ case 17:
1302
+ tx = _p.sent();
1303
+ self.reset();
1304
+ return [2 /*return*/, tx];
1305
+ }
1306
+ });
1307
+ });
1308
+ }
1309
+ ;
1310
+ Object.defineProperties(this, {
1311
+ addSigner: __assign({ value: _addRequiredSigner }, readonlyValueDescriptor),
1312
+ addRequiredSigner: __assign({ value: _addRequiredSigner }, readonlyValueDescriptor),
1313
+ addSignerKey: __assign({ value: _addRequiredSignerKey }, readonlyValueDescriptor),
1314
+ addRequiredSignerKey: __assign({ value: _addRequiredSignerKey }, readonlyValueDescriptor),
1315
+ attachMetadata: __assign({ value: _attachMetadata }, readonlyValueDescriptor),
1316
+ setMetadata: __assign({ value: _attachMetadata }, readonlyValueDescriptor),
1317
+ attachMetadataJson: __assign({ value: _attachMetadataJson }, readonlyValueDescriptor),
1318
+ attachMetadataJsonWithConversion: __assign({ value: _attachMetadataJsonWithConversion }, readonlyValueDescriptor),
1319
+ setChangeAddress: __assign({ value: _setChangeAddress }, readonlyValueDescriptor),
1320
+ validFrom: __assign({ value: _validFromPOSIX }, readonlyValueDescriptor),
1321
+ validFromSlot: __assign({ value: _validFromSlot }, readonlyValueDescriptor),
1322
+ invalidBeforeSlot: __assign({ value: _validFromSlot }, readonlyValueDescriptor),
1323
+ validTo: __assign({ value: _validToPOSIX }, readonlyValueDescriptor),
1324
+ validToSlot: __assign({ value: _validToSlot }, readonlyValueDescriptor),
1325
+ invalidAfterSlot: __assign({ value: _validToSlot }, readonlyValueDescriptor),
1326
+ delegateTo: __assign({ value: _delegateTo }, readonlyValueDescriptor),
1327
+ deregisterStake: __assign({ value: _deregisterStake }, readonlyValueDescriptor),
1328
+ mintAssets: __assign({ value: _mintAssets }, readonlyValueDescriptor),
1329
+ registerStake: __assign({ value: _registerStake }, readonlyValueDescriptor),
1330
+ registerStakeAddress: __assign({ value: _registerStake }, readonlyValueDescriptor),
1331
+ registerPool: __assign({ value: _registerPool }, readonlyValueDescriptor),
1332
+ retirePool: __assign({ value: _retirePool }, readonlyValueDescriptor),
1333
+ withdraw: __assign({ value: _withdraw }, readonlyValueDescriptor),
1334
+ attachCertificateValidator: __assign({ value: _addAviableScript }, readonlyValueDescriptor),
1335
+ attachMintingValidator: __assign({ value: _addAviableScript }, readonlyValueDescriptor),
1336
+ attachSpendingValidator: __assign({ value: _addAviableScript }, readonlyValueDescriptor),
1337
+ attachWithdrawalValidator: __assign({ value: _addAviableScript }, readonlyValueDescriptor),
1338
+ attachValidator: __assign({ value: _addAviableScript }, readonlyValueDescriptor),
1339
+ readFrom: __assign({ value: _referenceUTxOs }, readonlyValueDescriptor),
1340
+ referenceUtxos: __assign({ value: _referenceUTxOs }, readonlyValueDescriptor),
1341
+ collectFrom: __assign({ value: _addInputs }, readonlyValueDescriptor),
1342
+ addInputs: __assign({ value: _addInputs }, readonlyValueDescriptor),
1343
+ addInput: __assign({ value: _addSingleInput }, readonlyValueDescriptor),
1344
+ payTo: __assign({ value: _payTo }, readonlyValueDescriptor),
1345
+ setCollateral: __assign({ value: _setCollateral }, readonlyValueDescriptor),
1346
+ setCollateralAmount: __assign({ value: _setCollateralAmount }, readonlyValueDescriptor),
1347
+ vote: __assign({ value: _vote }, readonlyValueDescriptor),
1348
+ voteDRep: __assign({ value: _voteDRep }, readonlyValueDescriptor),
1349
+ voteScriptDRep: __assign({ value: _voteScriptDRep }, readonlyValueDescriptor),
1350
+ voteConstitutionalComittee: __assign({ value: _voteConstitutionalComittee }, readonlyValueDescriptor),
1351
+ voteScriptConstitutionalComittee: __assign({ value: _voteScriptConstitutionalComittee }, readonlyValueDescriptor),
1352
+ voteStakePool: __assign({ value: _voteStakePool }, readonlyValueDescriptor),
1353
+ propose: __assign({ value: _propose }, readonlyValueDescriptor),
1354
+ proposeParametersChanges: __assign({ value: _proposeParametersChanges }, readonlyValueDescriptor),
1355
+ proposeHardForkInitiation: __assign({ value: _proposeHardForkInitiation }, readonlyValueDescriptor),
1356
+ proposeTreasuryWithdrawal: __assign({ value: _proposeTreasuryWithdrawal }, readonlyValueDescriptor),
1357
+ proposeNoConfidence: __assign({ value: _proposeNoConfidence }, readonlyValueDescriptor),
1358
+ proposeComitteeUpdate: __assign({ value: _proposeComitteeUpdate }, readonlyValueDescriptor),
1359
+ proposeNewConstitution: __assign({ value: _proposeNewConstitution }, readonlyValueDescriptor),
1360
+ proposeInfos: __assign({ value: _proposeInfos }, readonlyValueDescriptor),
1361
+ build: __assign({ value: _build }, readonlyValueDescriptor)
1362
+ });
1363
+ }
1364
+ return TxBuilderRunner;
1365
+ }());
1366
+ exports.TxBuilderRunner = TxBuilderRunner;