@cardano-sdk/tx-construction 0.4.1-nightly.1 → 0.5.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 (107) hide show
  1. package/dist/cjs/createTransactionInternals.d.ts +17 -0
  2. package/dist/cjs/createTransactionInternals.d.ts.map +1 -0
  3. package/dist/cjs/createTransactionInternals.js +35 -0
  4. package/dist/cjs/createTransactionInternals.js.map +1 -0
  5. package/dist/cjs/ensureValidityInterval.d.ts +4 -0
  6. package/dist/cjs/ensureValidityInterval.d.ts.map +1 -0
  7. package/dist/cjs/ensureValidityInterval.js +13 -0
  8. package/dist/cjs/ensureValidityInterval.js.map +1 -0
  9. package/dist/cjs/index.d.ts +5 -0
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js +5 -0
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/output-validation/index.d.ts +3 -0
  14. package/dist/cjs/output-validation/index.d.ts.map +1 -0
  15. package/dist/cjs/output-validation/index.js +19 -0
  16. package/dist/cjs/output-validation/index.js.map +1 -0
  17. package/dist/cjs/output-validation/outputValidator.d.ts +3 -0
  18. package/dist/cjs/output-validation/outputValidator.d.ts.map +1 -0
  19. package/dist/cjs/output-validation/outputValidator.js +51 -0
  20. package/dist/cjs/output-validation/outputValidator.js.map +1 -0
  21. package/dist/cjs/output-validation/types.d.ts +18 -0
  22. package/dist/cjs/output-validation/types.d.ts.map +1 -0
  23. package/dist/cjs/output-validation/types.js +3 -0
  24. package/dist/cjs/output-validation/types.js.map +1 -0
  25. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  26. package/dist/cjs/tx-builder/OutputBuilder.d.ts +25 -0
  27. package/dist/cjs/tx-builder/OutputBuilder.d.ts.map +1 -0
  28. package/dist/cjs/tx-builder/OutputBuilder.js +84 -0
  29. package/dist/cjs/tx-builder/OutputBuilder.js.map +1 -0
  30. package/dist/cjs/tx-builder/TxBuilder.d.ts +21 -0
  31. package/dist/cjs/tx-builder/TxBuilder.d.ts.map +1 -0
  32. package/dist/cjs/tx-builder/TxBuilder.js +201 -0
  33. package/dist/cjs/tx-builder/TxBuilder.js.map +1 -0
  34. package/dist/cjs/tx-builder/finalizeTx.d.ts +4 -0
  35. package/dist/cjs/tx-builder/finalizeTx.d.ts.map +1 -0
  36. package/dist/cjs/tx-builder/finalizeTx.js +33 -0
  37. package/dist/cjs/tx-builder/finalizeTx.js.map +1 -0
  38. package/dist/cjs/tx-builder/index.d.ts +6 -0
  39. package/dist/cjs/tx-builder/index.d.ts.map +1 -0
  40. package/dist/cjs/tx-builder/index.js +22 -0
  41. package/dist/cjs/tx-builder/index.js.map +1 -0
  42. package/dist/cjs/tx-builder/initializeTx.d.ts +4 -0
  43. package/dist/cjs/tx-builder/initializeTx.d.ts.map +1 -0
  44. package/dist/cjs/tx-builder/initializeTx.js +81 -0
  45. package/dist/cjs/tx-builder/initializeTx.js.map +1 -0
  46. package/dist/cjs/tx-builder/types.d.ts +89 -0
  47. package/dist/cjs/tx-builder/types.d.ts.map +1 -0
  48. package/dist/cjs/tx-builder/types.js +37 -0
  49. package/dist/cjs/tx-builder/types.js.map +1 -0
  50. package/dist/cjs/types.d.ts +37 -0
  51. package/dist/cjs/types.d.ts.map +1 -0
  52. package/dist/cjs/types.js +3 -0
  53. package/dist/cjs/types.js.map +1 -0
  54. package/dist/esm/createTransactionInternals.d.ts +17 -0
  55. package/dist/esm/createTransactionInternals.d.ts.map +1 -0
  56. package/dist/esm/createTransactionInternals.js +31 -0
  57. package/dist/esm/createTransactionInternals.js.map +1 -0
  58. package/dist/esm/ensureValidityInterval.d.ts +4 -0
  59. package/dist/esm/ensureValidityInterval.d.ts.map +1 -0
  60. package/dist/esm/ensureValidityInterval.js +8 -0
  61. package/dist/esm/ensureValidityInterval.js.map +1 -0
  62. package/dist/esm/index.d.ts +5 -0
  63. package/dist/esm/index.d.ts.map +1 -1
  64. package/dist/esm/index.js +5 -0
  65. package/dist/esm/index.js.map +1 -1
  66. package/dist/esm/output-validation/index.d.ts +3 -0
  67. package/dist/esm/output-validation/index.d.ts.map +1 -0
  68. package/dist/esm/output-validation/index.js +3 -0
  69. package/dist/esm/output-validation/index.js.map +1 -0
  70. package/dist/esm/output-validation/outputValidator.d.ts +3 -0
  71. package/dist/esm/output-validation/outputValidator.d.ts.map +1 -0
  72. package/dist/esm/output-validation/outputValidator.js +47 -0
  73. package/dist/esm/output-validation/outputValidator.js.map +1 -0
  74. package/dist/esm/output-validation/types.d.ts +18 -0
  75. package/dist/esm/output-validation/types.d.ts.map +1 -0
  76. package/dist/esm/output-validation/types.js +2 -0
  77. package/dist/esm/output-validation/types.js.map +1 -0
  78. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  79. package/dist/esm/tx-builder/OutputBuilder.d.ts +25 -0
  80. package/dist/esm/tx-builder/OutputBuilder.d.ts.map +1 -0
  81. package/dist/esm/tx-builder/OutputBuilder.js +80 -0
  82. package/dist/esm/tx-builder/OutputBuilder.js.map +1 -0
  83. package/dist/esm/tx-builder/TxBuilder.d.ts +21 -0
  84. package/dist/esm/tx-builder/TxBuilder.d.ts.map +1 -0
  85. package/dist/esm/tx-builder/TxBuilder.js +197 -0
  86. package/dist/esm/tx-builder/TxBuilder.js.map +1 -0
  87. package/dist/esm/tx-builder/finalizeTx.d.ts +4 -0
  88. package/dist/esm/tx-builder/finalizeTx.d.ts.map +1 -0
  89. package/dist/esm/tx-builder/finalizeTx.js +29 -0
  90. package/dist/esm/tx-builder/finalizeTx.js.map +1 -0
  91. package/dist/esm/tx-builder/index.d.ts +6 -0
  92. package/dist/esm/tx-builder/index.d.ts.map +1 -0
  93. package/dist/esm/tx-builder/index.js +6 -0
  94. package/dist/esm/tx-builder/index.js.map +1 -0
  95. package/dist/esm/tx-builder/initializeTx.d.ts +4 -0
  96. package/dist/esm/tx-builder/initializeTx.d.ts.map +1 -0
  97. package/dist/esm/tx-builder/initializeTx.js +77 -0
  98. package/dist/esm/tx-builder/initializeTx.js.map +1 -0
  99. package/dist/esm/tx-builder/types.d.ts +89 -0
  100. package/dist/esm/tx-builder/types.d.ts.map +1 -0
  101. package/dist/esm/tx-builder/types.js +30 -0
  102. package/dist/esm/tx-builder/types.js.map +1 -0
  103. package/dist/esm/types.d.ts +37 -0
  104. package/dist/esm/types.d.ts.map +1 -0
  105. package/dist/esm/types.js +2 -0
  106. package/dist/esm/types.js.map +1 -0
  107. package/package.json +9 -7
@@ -0,0 +1,25 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { Hash32ByteBase16 } from '@cardano-sdk/crypto';
3
+ import { Logger } from 'ts-log';
4
+ import { OutputBuilder, PartialTxOut } from './types';
5
+ import { OutputValidator } from '../output-validation';
6
+ export declare type OutputBuilderValidator = Pick<OutputValidator, 'validateOutput'>;
7
+ export interface OutputBuilderProps {
8
+ outputValidator: OutputBuilderValidator;
9
+ txOut?: PartialTxOut;
10
+ logger: Logger;
11
+ }
12
+ export declare class TxOutputBuilder implements OutputBuilder {
13
+ #private;
14
+ constructor({ outputValidator, txOut, logger }: OutputBuilderProps);
15
+ toTxOut(): Cardano.TxOut;
16
+ inspect(): Promise<PartialTxOut>;
17
+ value(value: Cardano.Value): OutputBuilder;
18
+ coin(coin: Cardano.Lovelace): OutputBuilder;
19
+ assets(assets: Cardano.TokenMap): OutputBuilder;
20
+ asset(assetId: Cardano.AssetId, quantity: bigint): OutputBuilder;
21
+ address(address: Cardano.PaymentAddress): OutputBuilder;
22
+ datum(datumHash: Hash32ByteBase16): OutputBuilder;
23
+ build(): Promise<Cardano.TxOut>;
24
+ }
25
+ //# sourceMappingURL=OutputBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputBuilder.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/OutputBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,aAAa,EAIb,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAoB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAG7E,MAAM,WAAW,kBAAkB;IAEjC,eAAe,EAAE,sBAAsB,CAAC;IAExC,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD,qBAAa,eAAgB,YAAW,aAAa;;gBASvC,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,kBAAkB;IAelE,OAAO,IAAI,OAAO,CAAC,KAAK;IAQlB,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAItC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,aAAa;IAK1C,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,GAAG,aAAa;IAK3C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,GAAG,aAAa;IAQ/C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa;IAOhE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,GAAG,aAAa;IAKvD,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG,aAAa;IAK3C,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;CAUtC"}
@@ -0,0 +1,80 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _TxOutputBuilder_partialOutput, _TxOutputBuilder_outputValidator, _TxOutputBuilder_logger;
13
+ import { OutputValidationMinimumCoinError, OutputValidationMissingRequiredError, OutputValidationTokenBundleSizeError } from './types';
14
+ const isViableTxOut = (txOut) => !!(txOut?.address && txOut?.value?.coins);
15
+ const toOutputValidationError = (txOut, validation) => {
16
+ if (validation.coinMissing) {
17
+ return new OutputValidationMinimumCoinError(txOut, validation);
18
+ }
19
+ if (validation.tokenBundleSizeExceedsLimit) {
20
+ return new OutputValidationTokenBundleSizeError(txOut, validation);
21
+ }
22
+ };
23
+ export class TxOutputBuilder {
24
+ constructor({ outputValidator, txOut, logger }) {
25
+ _TxOutputBuilder_partialOutput.set(this, void 0);
26
+ _TxOutputBuilder_outputValidator.set(this, void 0);
27
+ _TxOutputBuilder_logger.set(this, void 0);
28
+ __classPrivateFieldSet(this, _TxOutputBuilder_partialOutput, { ...txOut }, "f");
29
+ __classPrivateFieldSet(this, _TxOutputBuilder_outputValidator, outputValidator, "f");
30
+ __classPrivateFieldSet(this, _TxOutputBuilder_logger, logger, "f");
31
+ }
32
+ toTxOut() {
33
+ if (!isViableTxOut(__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"))) {
34
+ throw new OutputValidationMissingRequiredError(__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"));
35
+ }
36
+ __classPrivateFieldGet(this, _TxOutputBuilder_logger, "f").debug('toTxOut result:', __classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"));
37
+ return { ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f") };
38
+ }
39
+ async inspect() {
40
+ return __classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f");
41
+ }
42
+ value(value) {
43
+ __classPrivateFieldSet(this, _TxOutputBuilder_partialOutput, { ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"), value: { ...value } }, "f");
44
+ return this;
45
+ }
46
+ coin(coin) {
47
+ __classPrivateFieldSet(this, _TxOutputBuilder_partialOutput, { ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"), value: { ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f")?.value, coins: coin } }, "f");
48
+ return this;
49
+ }
50
+ assets(assets) {
51
+ __classPrivateFieldSet(this, _TxOutputBuilder_partialOutput, {
52
+ ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"),
53
+ value: { ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f")?.value, assets }
54
+ }, "f");
55
+ return this;
56
+ }
57
+ asset(assetId, quantity) {
58
+ const assets = new Map(__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f")?.value?.assets);
59
+ quantity === 0n ? assets.delete(assetId) : assets.set(assetId, quantity);
60
+ return this.assets(assets);
61
+ }
62
+ address(address) {
63
+ __classPrivateFieldSet(this, _TxOutputBuilder_partialOutput, { ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"), address }, "f");
64
+ return this;
65
+ }
66
+ datum(datumHash) {
67
+ __classPrivateFieldSet(this, _TxOutputBuilder_partialOutput, { ...__classPrivateFieldGet(this, _TxOutputBuilder_partialOutput, "f"), datumHash }, "f");
68
+ return this;
69
+ }
70
+ async build() {
71
+ const txOut = this.toTxOut();
72
+ const outputValidation = toOutputValidationError(txOut, await __classPrivateFieldGet(this, _TxOutputBuilder_outputValidator, "f").validateOutput(txOut));
73
+ if (outputValidation) {
74
+ throw outputValidation;
75
+ }
76
+ return txOut;
77
+ }
78
+ }
79
+ _TxOutputBuilder_partialOutput = new WeakMap(), _TxOutputBuilder_outputValidator = new WeakMap(), _TxOutputBuilder_logger = new WeakMap();
80
+ //# sourceMappingURL=OutputBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputBuilder.js","sourceRoot":"","sources":["../../../src/tx-builder/OutputBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { OutputBuilder, PartialTx, PartialTxOut, TxBuilder, TxBuilderDependencies, UnsignedTx } from './types';
3
+ import { SignTransactionOptions, TransactionSigner } from '@cardano-sdk/key-management';
4
+ export declare class GenericTxBuilder implements TxBuilder {
5
+ #private;
6
+ partialTxBody: Partial<Cardano.TxBody>;
7
+ partialAuxiliaryData?: Cardano.AuxiliaryData;
8
+ partialExtraSigners?: TransactionSigner[];
9
+ partialSigningOptions?: SignTransactionOptions;
10
+ constructor(dependencies: TxBuilderDependencies);
11
+ inspect(): Promise<PartialTx>;
12
+ addOutput(txOut: Cardano.TxOut): TxBuilder;
13
+ removeOutput(txOut: Cardano.TxOut): TxBuilder;
14
+ buildOutput(txOut?: PartialTxOut): OutputBuilder;
15
+ delegate(poolId?: Cardano.PoolId): TxBuilder;
16
+ metadata(metadata: Cardano.TxMetadata): TxBuilder;
17
+ extraSigners(signers: TransactionSigner[]): TxBuilder;
18
+ signingOptions(options: SignTransactionOptions): TxBuilder;
19
+ build(): UnsignedTx;
20
+ }
21
+ //# sourceMappingURL=TxBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxBuilder.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/TxBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EAGZ,SAAS,EACT,qBAAqB,EAIrB,UAAU,EACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AA4DxF,qBAAa,gBAAiB,YAAW,SAAS;;IAChD,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAM;IAC5C,oBAAoB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAC7C,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;gBAOnC,YAAY,EAAE,qBAAqB;IAUzC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IASnC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS;IAK1C,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS;IAQ7C,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,aAAa;IAQhD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS;IAK5C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS;IAKjD,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,SAAS;IAKrD,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS;IAK1D,KAAK,IAAI,UAAU;CAqIpB"}
@@ -0,0 +1,197 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _LazyTxSigner_instances, _LazyTxSigner_built, _LazyTxSigner_signer, _LazyTxSigner_builder, _LazyTxSigner_build, _GenericTxBuilder_instances, _a, _GenericTxBuilder_dependencies, _GenericTxBuilder_outputValidator, _GenericTxBuilder_delegateConfig, _GenericTxBuilder_logger, _GenericTxBuilder_validateOutputs, _GenericTxBuilder_addDelegationCertificates, _GenericTxBuilder_createDelegationCert;
13
+ import { Cardano } from '@cardano-sdk/core';
14
+ import { RewardAccountMissingError } from './types';
15
+ import { TxOutputBuilder } from './OutputBuilder';
16
+ import { contextLogger, deepEquals } from '@cardano-sdk/util';
17
+ import { createOutputValidator } from '../output-validation';
18
+ import { finalizeTx } from './finalizeTx';
19
+ import { firstValueFrom } from 'rxjs';
20
+ import { initializeTx } from './initializeTx';
21
+ class LazyTxSigner {
22
+ constructor({ builder, signer }) {
23
+ _LazyTxSigner_instances.add(this);
24
+ _LazyTxSigner_built.set(this, void 0);
25
+ _LazyTxSigner_signer.set(this, void 0);
26
+ _LazyTxSigner_builder.set(this, void 0);
27
+ __classPrivateFieldSet(this, _LazyTxSigner_builder, builder, "f");
28
+ __classPrivateFieldSet(this, _LazyTxSigner_signer, signer, "f");
29
+ }
30
+ async inspect() {
31
+ const { tx, ctx: { ownAddresses, auxiliaryData }, inputSelection } = await __classPrivateFieldGet(this, _LazyTxSigner_instances, "m", _LazyTxSigner_build).call(this);
32
+ return { ...tx, auxiliaryData, inputSelection, ownAddresses };
33
+ }
34
+ async sign() {
35
+ return __classPrivateFieldGet(this, _LazyTxSigner_signer, "f").sign(await __classPrivateFieldGet(this, _LazyTxSigner_instances, "m", _LazyTxSigner_build).call(this));
36
+ }
37
+ }
38
+ _LazyTxSigner_built = new WeakMap(), _LazyTxSigner_signer = new WeakMap(), _LazyTxSigner_builder = new WeakMap(), _LazyTxSigner_instances = new WeakSet(), _LazyTxSigner_build = async function _LazyTxSigner_build() {
39
+ return (__classPrivateFieldSet(this, _LazyTxSigner_built, __classPrivateFieldGet(this, _LazyTxSigner_built, "f") || await __classPrivateFieldGet(this, _LazyTxSigner_builder, "f").build(), "f"));
40
+ };
41
+ export class GenericTxBuilder {
42
+ constructor(dependencies) {
43
+ _GenericTxBuilder_instances.add(this);
44
+ this.partialTxBody = {};
45
+ _GenericTxBuilder_dependencies.set(this, void 0);
46
+ _GenericTxBuilder_outputValidator.set(this, void 0);
47
+ _GenericTxBuilder_delegateConfig.set(this, void 0);
48
+ _GenericTxBuilder_logger.set(this, void 0);
49
+ __classPrivateFieldSet(this, _GenericTxBuilder_outputValidator, dependencies.outputValidator ||
50
+ createOutputValidator({
51
+ protocolParameters: dependencies.txBuilderProviders.protocolParameters
52
+ }), "f");
53
+ __classPrivateFieldSet(this, _GenericTxBuilder_dependencies, dependencies, "f");
54
+ __classPrivateFieldSet(this, _GenericTxBuilder_logger, dependencies.logger, "f");
55
+ }
56
+ async inspect() {
57
+ return {
58
+ auxiliaryData: this.partialAuxiliaryData,
59
+ body: this.partialTxBody,
60
+ extraSigners: this.partialExtraSigners,
61
+ signingOptions: this.partialSigningOptions
62
+ };
63
+ }
64
+ addOutput(txOut) {
65
+ this.partialTxBody = { ...this.partialTxBody, outputs: [...(this.partialTxBody.outputs || []), txOut] };
66
+ return this;
67
+ }
68
+ removeOutput(txOut) {
69
+ this.partialTxBody = {
70
+ ...this.partialTxBody,
71
+ outputs: this.partialTxBody.outputs?.filter((output) => !deepEquals(output, txOut))
72
+ };
73
+ return this;
74
+ }
75
+ buildOutput(txOut) {
76
+ return new TxOutputBuilder({
77
+ logger: contextLogger(__classPrivateFieldGet(this, _GenericTxBuilder_logger, "f"), 'outputBuilder'),
78
+ outputValidator: __classPrivateFieldGet(this, _GenericTxBuilder_outputValidator, "f"),
79
+ txOut
80
+ });
81
+ }
82
+ delegate(poolId) {
83
+ __classPrivateFieldSet(this, _GenericTxBuilder_delegateConfig, poolId ? { poolId, type: 'delegate' } : { type: 'deregister' }, "f");
84
+ return this;
85
+ }
86
+ metadata(metadata) {
87
+ this.partialAuxiliaryData = { ...this.partialAuxiliaryData, blob: new Map(metadata) };
88
+ return this;
89
+ }
90
+ extraSigners(signers) {
91
+ this.partialExtraSigners = [...signers];
92
+ return this;
93
+ }
94
+ signingOptions(options) {
95
+ this.partialSigningOptions = { ...options };
96
+ return this;
97
+ }
98
+ build() {
99
+ return new LazyTxSigner({
100
+ builder: {
101
+ build: async () => {
102
+ __classPrivateFieldGet(this, _GenericTxBuilder_logger, "f").debug('Building');
103
+ try {
104
+ await __classPrivateFieldGet(this, _GenericTxBuilder_instances, "m", _GenericTxBuilder_addDelegationCertificates).call(this);
105
+ await __classPrivateFieldGet(this, _GenericTxBuilder_instances, "m", _GenericTxBuilder_validateOutputs).call(this);
106
+ const ownAddresses = await firstValueFrom(__classPrivateFieldGet(this, _GenericTxBuilder_dependencies, "f").keyAgent.knownAddresses$);
107
+ const auxiliaryData = this.partialAuxiliaryData && { ...this.partialAuxiliaryData };
108
+ const extraSigners = this.partialExtraSigners && [...this.partialExtraSigners];
109
+ const signingOptions = this.partialSigningOptions && { ...this.partialSigningOptions };
110
+ if (this.partialAuxiliaryData) {
111
+ this.partialTxBody.auxiliaryDataHash = Cardano.computeAuxiliaryDataHash(this.partialAuxiliaryData);
112
+ }
113
+ const { body, hash, inputSelection } = await initializeTx({
114
+ auxiliaryData,
115
+ certificates: this.partialTxBody.certificates,
116
+ outputs: new Set(this.partialTxBody.outputs || []),
117
+ signingOptions,
118
+ witness: { extraSigners }
119
+ }, __classPrivateFieldGet(this, _GenericTxBuilder_dependencies, "f"));
120
+ return {
121
+ ctx: {
122
+ auxiliaryData,
123
+ ownAddresses,
124
+ signingOptions,
125
+ witness: { extraSigners }
126
+ },
127
+ inputSelection,
128
+ tx: { body, hash }
129
+ };
130
+ }
131
+ catch (error) {
132
+ __classPrivateFieldGet(this, _GenericTxBuilder_logger, "f").debug('Transaction build error', error);
133
+ if (Array.isArray(error))
134
+ throw error[0];
135
+ throw error;
136
+ }
137
+ }
138
+ },
139
+ signer: {
140
+ sign: ({ tx, ctx }) => finalizeTx(tx, ctx, __classPrivateFieldGet(this, _GenericTxBuilder_dependencies, "f"))
141
+ }
142
+ });
143
+ }
144
+ }
145
+ _a = GenericTxBuilder, _GenericTxBuilder_dependencies = new WeakMap(), _GenericTxBuilder_outputValidator = new WeakMap(), _GenericTxBuilder_delegateConfig = new WeakMap(), _GenericTxBuilder_logger = new WeakMap(), _GenericTxBuilder_instances = new WeakSet(), _GenericTxBuilder_validateOutputs = async function _GenericTxBuilder_validateOutputs() {
146
+ if (this.partialTxBody.outputs) {
147
+ const errors = [];
148
+ await Promise.all(this.partialTxBody.outputs?.map((output) => this.buildOutput(output)
149
+ .build()
150
+ .catch((error) => errors.push(error))));
151
+ if (errors.length > 0) {
152
+ throw errors;
153
+ }
154
+ }
155
+ }, _GenericTxBuilder_addDelegationCertificates = async function _GenericTxBuilder_addDelegationCertificates() {
156
+ if (!__classPrivateFieldGet(this, _GenericTxBuilder_delegateConfig, "f")) {
157
+ return Promise.resolve();
158
+ }
159
+ const rewardAccounts = await __classPrivateFieldGet(this, _GenericTxBuilder_dependencies, "f").txBuilderProviders.rewardAccounts();
160
+ if (!rewardAccounts?.length) {
161
+ throw new RewardAccountMissingError();
162
+ }
163
+ this.partialTxBody = { ...this.partialTxBody, certificates: [] };
164
+ for (const rewardAccount of rewardAccounts) {
165
+ const stakeKeyHash = Cardano.RewardAccount.toHash(rewardAccount.address);
166
+ if (__classPrivateFieldGet(this, _GenericTxBuilder_delegateConfig, "f").type === 'deregister') {
167
+ if (rewardAccount.keyStatus === Cardano.StakeKeyStatus.Unregistered) {
168
+ __classPrivateFieldGet(this, _GenericTxBuilder_logger, "f").warn('Skipping stake key deregister. Stake key not registered.', rewardAccount.address, rewardAccount.keyStatus);
169
+ }
170
+ else {
171
+ this.partialTxBody.certificates.push({
172
+ __typename: Cardano.CertificateType.StakeKeyDeregistration,
173
+ stakeKeyHash
174
+ });
175
+ }
176
+ }
177
+ else if (__classPrivateFieldGet(this, _GenericTxBuilder_delegateConfig, "f").type === 'delegate') {
178
+ if (rewardAccount.keyStatus !== Cardano.StakeKeyStatus.Unregistered) {
179
+ __classPrivateFieldGet(this, _GenericTxBuilder_logger, "f").debug('Skipping stake key register. Stake key already registered', rewardAccount.address, rewardAccount.keyStatus);
180
+ }
181
+ else {
182
+ this.partialTxBody.certificates.push({
183
+ __typename: Cardano.CertificateType.StakeKeyRegistration,
184
+ stakeKeyHash
185
+ });
186
+ }
187
+ this.partialTxBody.certificates.push(__classPrivateFieldGet(GenericTxBuilder, _a, "m", _GenericTxBuilder_createDelegationCert).call(GenericTxBuilder, __classPrivateFieldGet(this, _GenericTxBuilder_delegateConfig, "f").poolId, stakeKeyHash));
188
+ }
189
+ }
190
+ }, _GenericTxBuilder_createDelegationCert = function _GenericTxBuilder_createDelegationCert(poolId, stakeKeyHash) {
191
+ return {
192
+ __typename: Cardano.CertificateType.StakeDelegation,
193
+ poolId,
194
+ stakeKeyHash
195
+ };
196
+ };
197
+ //# sourceMappingURL=TxBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxBuilder.js","sourceRoot":"","sources":["../../../src/tx-builder/TxBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { FinalizeTxDependencies, SignedTx, TxContext } from './types';
3
+ export declare const finalizeTx: (tx: Cardano.TxBodyWithHash, { ownAddresses, witness, signingOptions, auxiliaryData, isValid }: TxContext, { inputResolver, keyAgent }: FinalizeTxDependencies, stubSign?: boolean) => Promise<SignedTx>;
4
+ //# sourceMappingURL=finalizeTx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalizeTx.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/finalizeTx.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAoBtE,eAAO,MAAM,UAAU,OACjB,QAAQ,cAAc,qEACyC,SAAS,+BAC/C,sBAAsB,yBAElD,QAAQ,QAAQ,CAuBlB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { util as keyManagementUtil } from '@cardano-sdk/key-management';
2
+ const getSignatures = async (keyAgent, txInternals, extraSigners, signingOptions) => {
3
+ const signatures = await keyAgent.signTransaction(txInternals, signingOptions);
4
+ if (extraSigners) {
5
+ for (const extraSigner of extraSigners) {
6
+ const extraSignature = await extraSigner.sign(txInternals);
7
+ signatures.set(extraSignature.pubKey, extraSignature.signature);
8
+ }
9
+ }
10
+ return signatures;
11
+ };
12
+ export const finalizeTx = async (tx, { ownAddresses, witness, signingOptions, auxiliaryData, isValid }, { inputResolver, keyAgent }, stubSign = false) => {
13
+ const signatures = stubSign
14
+ ? await keyManagementUtil.stubSignTransaction(tx.body, ownAddresses, inputResolver, witness?.extraSigners, signingOptions)
15
+ : await getSignatures(keyAgent, tx, witness?.extraSigners, signingOptions);
16
+ return {
17
+ tx: {
18
+ auxiliaryData,
19
+ body: tx.body,
20
+ id: tx.hash,
21
+ isValid,
22
+ witness: {
23
+ ...witness,
24
+ signatures: new Map([...signatures.entries(), ...(witness?.signatures?.entries() || [])])
25
+ }
26
+ }
27
+ };
28
+ };
29
+ //# sourceMappingURL=finalizeTx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalizeTx.js","sourceRoot":"","sources":["../../../src/tx-builder/finalizeTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,IAAI,IAAI,iBAAiB,EAC1B,MAAM,6BAA6B,CAAC;AAIrC,MAAM,aAAa,GAAG,KAAK,EACzB,QAAuB,EACvB,WAAmC,EACnC,YAAkC,EAClC,cAAuC,EACvC,EAAE;IACF,MAAM,UAAU,GAAuB,MAAM,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEnG,IAAI,YAAY,EAAE;QAChB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;SACjE;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,EAA0B,EAC1B,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAa,EAC5E,EAAE,aAAa,EAAE,QAAQ,EAA0B,EACnD,QAAQ,GAAG,KAAK,EACG,EAAE;IACrB,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,MAAM,iBAAiB,CAAC,mBAAmB,CACzC,EAAE,CAAC,IAAI,EACP,YAAY,EACZ,aAAa,EACb,OAAO,EAAE,YAAY,EACrB,cAAc,CACf;QACH,CAAC,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAE7E,OAAO;QACL,EAAE,EAAE;YACF,aAAa;YACb,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,EAAE,EAAE,EAAE,CAAC,IAAI;YACX,OAAO;YACP,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAC1F;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './OutputBuilder';
2
+ export * from './finalizeTx';
3
+ export * from './initializeTx';
4
+ export * from './types';
5
+ export * from './TxBuilder';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './OutputBuilder';
2
+ export * from './finalizeTx';
3
+ export * from './initializeTx';
4
+ export * from './types';
5
+ export * from './TxBuilder';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tx-builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { InitializeTxProps, InitializeTxResult } from '../types';
2
+ import { TxBuilderDependencies } from './types';
3
+ export declare const initializeTx: (props: InitializeTxProps, { txBuilderProviders, inputSelector, inputResolver, keyAgent, logger }: TxBuilderDependencies) => Promise<InitializeTxResult>;
4
+ //# sourceMappingURL=initializeTx.d.ts.map
@@ -0,0 +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;AAOhD,eAAO,MAAM,YAAY,UAChB,iBAAiB,0EAOrB,qBAAqB,KACvB,QAAQ,kBAAkB,CA+E5B,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { roundRobinRandomImprove } from '@cardano-sdk/input-selection';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { createTransactionInternals } from '../createTransactionInternals';
4
+ import { defaultSelectionConstraints } from '../input-selection';
5
+ import { ensureValidityInterval } from '../ensureValidityInterval';
6
+ import { finalizeTx } from './finalizeTx';
7
+ import { firstValueFrom } from 'rxjs';
8
+ export const initializeTx = async (props, { txBuilderProviders, inputSelector = roundRobinRandomImprove(), inputResolver, keyAgent, logger }) => {
9
+ const [tip, genesisParameters, protocolParameters, addresses, changeAddress, rewardAccounts, utxo] = await Promise.all([
10
+ txBuilderProviders.tip(),
11
+ txBuilderProviders.genesisParameters(),
12
+ txBuilderProviders.protocolParameters(),
13
+ firstValueFrom(keyAgent.knownAddresses$),
14
+ txBuilderProviders.changeAddress(),
15
+ txBuilderProviders.rewardAccounts(),
16
+ txBuilderProviders.utxoAvailable()
17
+ ]);
18
+ const validityInterval = ensureValidityInterval(tip.slot, genesisParameters, props.options?.validityInterval);
19
+ const withdrawals = rewardAccounts
20
+ .map(({ rewardBalance: quantity, address: stakeAddress }) => ({
21
+ quantity,
22
+ stakeAddress
23
+ }))
24
+ .filter(({ quantity }) => !!quantity);
25
+ const constraints = defaultSelectionConstraints({
26
+ buildTx: async (inputSelection) => {
27
+ logger.debug('Building TX for selection constraints', inputSelection);
28
+ if (withdrawals.length > 0) {
29
+ logger.debug('Adding rewards withdrawal in the transaction', withdrawals);
30
+ }
31
+ const unsignedTx = await createTransactionInternals({
32
+ auxiliaryData: props.auxiliaryData,
33
+ certificates: props.certificates,
34
+ changeAddress,
35
+ collaterals: props.collaterals,
36
+ inputSelection,
37
+ mint: props.mint,
38
+ requiredExtraSignatures: props.requiredExtraSignatures,
39
+ scriptIntegrityHash: props.scriptIntegrityHash,
40
+ validityInterval,
41
+ ...(withdrawals.length > 0 ? { withdrawals } : {})
42
+ });
43
+ const { tx } = await finalizeTx(unsignedTx, {
44
+ auxiliaryData: props.auxiliaryData,
45
+ ownAddresses: addresses,
46
+ signingOptions: props.signingOptions,
47
+ witness: props.witness
48
+ }, { inputResolver, keyAgent }, true);
49
+ return tx;
50
+ },
51
+ protocolParameters
52
+ });
53
+ const implicitCoin = Cardano.util.computeImplicitCoin(protocolParameters, {
54
+ certificates: props.certificates,
55
+ withdrawals
56
+ });
57
+ const { selection: inputSelection } = await inputSelector.select({
58
+ constraints,
59
+ implicitValue: { coin: implicitCoin, mint: props.mint },
60
+ outputs: props.outputs || new Set(),
61
+ utxo: new Set(utxo)
62
+ });
63
+ const { body, hash } = await createTransactionInternals({
64
+ auxiliaryData: props.auxiliaryData,
65
+ certificates: props.certificates,
66
+ changeAddress,
67
+ collaterals: props.collaterals,
68
+ inputSelection,
69
+ mint: props.mint,
70
+ requiredExtraSignatures: props.requiredExtraSignatures,
71
+ scriptIntegrityHash: props.scriptIntegrityHash,
72
+ validityInterval,
73
+ ...(withdrawals.length > 0 ? { withdrawals } : {})
74
+ });
75
+ return { body, hash, inputSelection };
76
+ };
77
+ //# sourceMappingURL=initializeTx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initializeTx.js","sourceRoot":"","sources":["../../../src/tx-builder/initializeTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAwB,EACxB,EACE,kBAAkB,EAClB,aAAa,GAAG,uBAAuB,EAAE,EACzC,aAAa,EACb,QAAQ,EACR,MAAM,EACgB,EACK,EAAE;IAC/B,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,GAChG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,kBAAkB,CAAC,GAAG,EAAE;QACxB,kBAAkB,CAAC,iBAAiB,EAAE;QACtC,kBAAkB,CAAC,kBAAkB,EAAE;QACvC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;QACxC,kBAAkB,CAAC,aAAa,EAAE;QAClC,kBAAkB,CAAC,cAAc,EAAE;QACnC,kBAAkB,CAAC,aAAa,EAAE;KACnC,CAAC,CAAC;IACL,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC9G,MAAM,WAAW,GAAyB,cAAc;SACrD,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,QAAQ;QACR,YAAY;KACb,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAExC,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,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,WAAW,CAAC,CAAC;aAC3E;YACD,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC;gBAClD,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,aAAa;gBACb,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,cAAc;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;gBACtD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,gBAAgB;gBAChB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD,CAAC,CAAC;YAEH,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,UAAU,CAC7B,UAAU,EACV;gBACE,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,YAAY,EAAE,SAAS;gBACvB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,EACD,EAAE,aAAa,EAAE,QAAQ,EAAE,EAC3B,IAAI,CACL,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE;QACxE,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;QAC/D,WAAW;QACX,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,GAAG,EAAE;QACnC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACtD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,aAAa;QACb,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;QACtD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,gBAAgB;QAChB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;AACxC,CAAC,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { CustomError } from 'ts-custom-error';
3
+ import { InputSelectionError, InputSelector, SelectionSkeleton } from '@cardano-sdk/input-selection';
4
+ import { AsyncKeyAgent, GroupedAddress, SignTransactionOptions, TransactionSigner } from '@cardano-sdk/key-management';
5
+ import { Hash32ByteBase16 } from '@cardano-sdk/crypto';
6
+ import { InitializeTxWitness, TxBuilderProviders } from '../types';
7
+ import { Logger } from 'ts-log';
8
+ import { OutputBuilderValidator } from './OutputBuilder';
9
+ import { OutputValidation } from '../output-validation';
10
+ export declare type PartialTxOut = Partial<Pick<Cardano.TxOut, 'address' | 'datumHash' | 'datum' | 'scriptReference'> & {
11
+ value: Partial<Cardano.Value>;
12
+ }>;
13
+ export declare enum TxOutputFailure {
14
+ MinimumCoin = "Minimum coin not met",
15
+ TokenBundleSizeExceedsLimit = "Token Bundle Exceeds Limit",
16
+ MissingRequiredFields = "Mandatory fields address or coin are missing"
17
+ }
18
+ export declare class OutputValidationMissingRequiredError extends CustomError {
19
+ txOut: PartialTxOut;
20
+ constructor(txOut: PartialTxOut);
21
+ }
22
+ export declare class OutputValidationMinimumCoinError extends CustomError {
23
+ txOut: PartialTxOut;
24
+ outputValidation: OutputValidation;
25
+ constructor(txOut: PartialTxOut, outputValidation: OutputValidation);
26
+ }
27
+ export declare class OutputValidationTokenBundleSizeError extends CustomError {
28
+ txOut: PartialTxOut;
29
+ outputValidation: OutputValidation;
30
+ constructor(txOut: PartialTxOut, outputValidation: OutputValidation);
31
+ }
32
+ export declare class RewardAccountMissingError extends CustomError {
33
+ }
34
+ export declare type TxOutValidationError = OutputValidationMissingRequiredError | OutputValidationMinimumCoinError | OutputValidationTokenBundleSizeError;
35
+ export declare type TxBodyValidationError = TxOutValidationError | InputSelectionError | RewardAccountMissingError;
36
+ export interface OutputBuilder {
37
+ inspect(): Promise<PartialTxOut>;
38
+ value(value: Cardano.Value): OutputBuilder;
39
+ coin(coin: Cardano.Lovelace): OutputBuilder;
40
+ assets(assets: Cardano.TokenMap): OutputBuilder;
41
+ asset(assetId: Cardano.AssetId, quantity: bigint): OutputBuilder;
42
+ address(address: Cardano.PaymentAddress): OutputBuilder;
43
+ datum(datum: Hash32ByteBase16): OutputBuilder;
44
+ build(): Promise<Cardano.TxOut>;
45
+ }
46
+ export interface TxContext {
47
+ ownAddresses: GroupedAddress[];
48
+ signingOptions?: SignTransactionOptions;
49
+ auxiliaryData?: Cardano.AuxiliaryData;
50
+ witness?: InitializeTxWitness;
51
+ isValid?: boolean;
52
+ }
53
+ export declare type TxInspection = Cardano.TxBodyWithHash & Pick<TxContext, 'ownAddresses' | 'auxiliaryData'> & {
54
+ inputSelection: SelectionSkeleton;
55
+ };
56
+ export interface SignedTx {
57
+ tx: Cardano.Tx;
58
+ }
59
+ export interface UnsignedTx {
60
+ inspect(): Promise<TxInspection>;
61
+ sign(): Promise<SignedTx>;
62
+ }
63
+ export interface PartialTx {
64
+ body: Partial<Cardano.TxBody>;
65
+ auxiliaryData?: Cardano.AuxiliaryData;
66
+ extraSigners?: TransactionSigner[];
67
+ signingOptions?: SignTransactionOptions;
68
+ }
69
+ export interface TxBuilder {
70
+ inspect(): Promise<PartialTx>;
71
+ addOutput(txOut: Cardano.TxOut): TxBuilder;
72
+ removeOutput(txOut: Cardano.TxOut): TxBuilder;
73
+ buildOutput(txOut?: PartialTxOut): OutputBuilder;
74
+ delegate(poolId?: Cardano.PoolId): TxBuilder;
75
+ metadata(metadata: Cardano.TxMetadata): TxBuilder;
76
+ extraSigners(signers: TransactionSigner[]): TxBuilder;
77
+ signingOptions(options: SignTransactionOptions): TxBuilder;
78
+ build(): UnsignedTx;
79
+ }
80
+ export interface TxBuilderDependencies {
81
+ inputSelector?: InputSelector;
82
+ inputResolver: Cardano.InputResolver;
83
+ keyAgent: AsyncKeyAgent;
84
+ txBuilderProviders: TxBuilderProviders;
85
+ logger: Logger;
86
+ outputValidator?: OutputBuilderValidator;
87
+ }
88
+ export declare type FinalizeTxDependencies = Pick<TxBuilderDependencies, 'inputResolver' | 'keyAgent'>;
89
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tx-builder/types.ts"],"names":[],"mappings":"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"}