@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.
- package/LICENSE +201 -0
- package/README.md +22 -0
- package/dist/TxBuilder/CanResolveToUTxO/CanResolveToUTxO.d.ts +5 -0
- package/dist/TxBuilder/CanResolveToUTxO/CanResolveToUTxO.js +62 -0
- package/dist/TxBuilder/CanResolveToUTxO/index.d.ts +1 -0
- package/dist/TxBuilder/CanResolveToUTxO/index.js +17 -0
- package/dist/TxBuilder/GenesisInfos.d.ts +54 -0
- package/dist/TxBuilder/GenesisInfos.js +56 -0
- package/dist/TxBuilder/IProvider/IProvider.d.ts +42 -0
- package/dist/TxBuilder/IProvider/IProvider.js +2 -0
- package/dist/TxBuilder/IProvider/index.d.ts +1 -0
- package/dist/TxBuilder/IProvider/index.js +17 -0
- package/dist/TxBuilder/TxBuilder.d.ts +106 -0
- package/dist/TxBuilder/TxBuilder.js +1251 -0
- package/dist/TxBuilder/TxBuilderProtocolParams.d.ts +42 -0
- package/dist/TxBuilder/TxBuilderProtocolParams.js +121 -0
- package/dist/TxBuilder/TxBuilderRunner/CanBePoolKeyHash.d.ts +3 -0
- package/dist/TxBuilder/TxBuilderRunner/CanBePoolKeyHash.js +33 -0
- package/dist/TxBuilder/TxBuilderRunner/CanBeStakeCreds.d.ts +3 -0
- package/dist/TxBuilder/TxBuilderRunner/CanBeStakeCreds.js +25 -0
- package/dist/TxBuilder/TxBuilderRunner/TxBuilderRunner.d.ts +280 -0
- package/dist/TxBuilder/TxBuilderRunner/TxBuilderRunner.js +1366 -0
- package/dist/TxBuilder/TxBuilderRunner/forceAddr.d.ts +2 -0
- package/dist/TxBuilder/TxBuilderRunner/forceAddr.js +8 -0
- package/dist/TxBuilder/TxBuilderRunner/index.d.ts +2 -0
- package/dist/TxBuilder/TxBuilderRunner/index.js +18 -0
- package/dist/TxBuilder/TxBuilderRunner/jsonToMetadata.d.ts +2 -0
- package/dist/TxBuilder/TxBuilderRunner/jsonToMetadata.js +35 -0
- package/dist/TxBuilder/index.d.ts +5 -0
- package/dist/TxBuilder/index.js +21 -0
- package/dist/TxBuilder/keepRelevant.d.ts +4 -0
- package/dist/TxBuilder/keepRelevant.js +79 -0
- package/dist/TxBuilder/utils.d.ts +4 -0
- package/dist/TxBuilder/utils.js +66 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +31 -0
- package/dist/toOnChain/getSpendingPurposeData.d.ts +5 -0
- package/dist/toOnChain/getSpendingPurposeData.js +98 -0
- package/dist/toOnChain/getTxInfos.d.ts +8 -0
- package/dist/toOnChain/getTxInfos.js +126 -0
- package/dist/toOnChain/getTxIntervalData.d.ts +19 -0
- package/dist/toOnChain/getTxIntervalData.js +85 -0
- package/dist/toOnChain/index.d.ts +2 -0
- package/dist/toOnChain/index.js +18 -0
- package/dist/txBuild/ChangeInfos/ChangeInfos.d.ts +15 -0
- package/dist/txBuild/ChangeInfos/ChangeInfos.js +27 -0
- package/dist/txBuild/ITxBuildArgs.d.ts +74 -0
- package/dist/txBuild/ITxBuildArgs.js +71 -0
- package/dist/txBuild/ITxBuildCert.d.ts +13 -0
- package/dist/txBuild/ITxBuildCert.js +37 -0
- package/dist/txBuild/ITxBuildInput/ITxBuildInput.d.ts +25 -0
- package/dist/txBuild/ITxBuildInput/ITxBuildInput.js +70 -0
- package/dist/txBuild/ITxBuildInput/ITxBuildInputInlineScript.d.ts +14 -0
- package/dist/txBuild/ITxBuildInput/ITxBuildInputInlineScript.js +14 -0
- package/dist/txBuild/ITxBuildInput/ITxBuildInputRefScript.d.ts +14 -0
- package/dist/txBuild/ITxBuildInput/ITxBuildInputRefScript.js +15 -0
- package/dist/txBuild/ITxBuildMint.d.ts +30 -0
- package/dist/txBuild/ITxBuildMint.js +54 -0
- package/dist/txBuild/ITxBuildOptions.d.ts +11 -0
- package/dist/txBuild/ITxBuildOptions.js +2 -0
- package/dist/txBuild/ITxBuildOutput.d.ts +10 -0
- package/dist/txBuild/ITxBuildOutput.js +27 -0
- package/dist/txBuild/ITxBuildProposalProcedure.d.ts +11 -0
- package/dist/txBuild/ITxBuildProposalProcedure.js +13 -0
- package/dist/txBuild/ITxBuildVotingProcedure.d.ts +13 -0
- package/dist/txBuild/ITxBuildVotingProcedure.js +40 -0
- package/dist/txBuild/ITxBuildWithdrawal.d.ts +29 -0
- package/dist/txBuild/ITxBuildWithdrawal.js +34 -0
- package/dist/txBuild/ScriptWithRedeemer.d.ts +18 -0
- package/dist/txBuild/ScriptWithRedeemer.js +16 -0
- package/dist/txBuild/index.d.ts +7 -0
- package/dist/txBuild/index.js +23 -0
- package/dist/utils/CanBeData.d.ts +7 -0
- package/dist/utils/CanBeData.js +68 -0
- package/dist/utils/Rational.d.ts +8 -0
- package/dist/utils/Rational.js +34 -0
- package/dist/utils/assert.d.ts +1 -0
- package/dist/utils/assert.js +44 -0
- package/dist/utils/ints.d.ts +4 -0
- package/dist/utils/ints.js +25 -0
- package/dist/utils/stringify.d.ts +2 -0
- package/dist/utils/stringify.js +38 -0
- package/package.json +72 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTxIntervalData = exports.slotToPOSIX = exports.POSIXToSlot = void 0;
|
|
4
|
+
var plutus_data_1 = require("@harmoniclabs/plutus-data");
|
|
5
|
+
var GenesisInfos_1 = require("../TxBuilder/GenesisInfos.js");
|
|
6
|
+
var ints_1 = require("../utils/ints.js");
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param POSIX POSIX time in milliseconds
|
|
10
|
+
* @param sysStartPOSIX blockchain start POSIX time in milliseconds
|
|
11
|
+
* @param slotLenMs milliseconds per slot
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
function POSIXToSlot(unixTime, gInfos) {
|
|
15
|
+
var timePassed = unixTime - gInfos.systemStartPosixMs;
|
|
16
|
+
var slotsPassed = Math.floor(timePassed / gInfos.slotLengthMs);
|
|
17
|
+
return slotsPassed + gInfos.startSlotNo;
|
|
18
|
+
}
|
|
19
|
+
exports.POSIXToSlot = POSIXToSlot;
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @param slotN number of the slot
|
|
23
|
+
* @param sysStartPOSIX blockchain start POSIX time in milliseconds
|
|
24
|
+
* @param slotLenMs milliseconds per slot
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
function slotToPOSIX(slot, gInfos) {
|
|
28
|
+
var msAfterBegin = (slot - gInfos.startSlotNo) * gInfos.slotLengthMs;
|
|
29
|
+
return gInfos.systemStartPosixMs + msAfterBegin;
|
|
30
|
+
}
|
|
31
|
+
exports.slotToPOSIX = slotToPOSIX;
|
|
32
|
+
function getTxIntervalData(startSlot, ttlSlot, geneisInfos) {
|
|
33
|
+
geneisInfos = geneisInfos ? (0, GenesisInfos_1.normalizedGenesisInfos)(geneisInfos) : undefined;
|
|
34
|
+
var lowerBoundData = undefined;
|
|
35
|
+
if (startSlot === undefined) {
|
|
36
|
+
lowerBoundData = new plutus_data_1.DataConstr(0, []); // PNegInf
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
if (!(0, GenesisInfos_1.isNormalizedGenesisInfos)(geneisInfos)) {
|
|
40
|
+
throw new Error("missing genesis infos requried to translate slot number to posix");
|
|
41
|
+
}
|
|
42
|
+
lowerBoundData = new plutus_data_1.DataConstr(// PExtended
|
|
43
|
+
1, // PFinite
|
|
44
|
+
[
|
|
45
|
+
new plutus_data_1.DataI(slotToPOSIX((0, ints_1.unsafeForceUInt)(startSlot), geneisInfos))
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
var endSlot = ttlSlot;
|
|
49
|
+
var upperBoundData = undefined;
|
|
50
|
+
if (endSlot === undefined) {
|
|
51
|
+
upperBoundData = new plutus_data_1.DataConstr(2, []); // PPosInf
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (!(0, GenesisInfos_1.isNormalizedGenesisInfos)(geneisInfos)) {
|
|
55
|
+
throw new Error("missing genesis infos requried to translate slot number to posix");
|
|
56
|
+
}
|
|
57
|
+
upperBoundData = new plutus_data_1.DataConstr(// PExtended
|
|
58
|
+
1, // PFinite
|
|
59
|
+
[
|
|
60
|
+
new plutus_data_1.DataI(slotToPOSIX((0, ints_1.unsafeForceUInt)(endSlot), geneisInfos))
|
|
61
|
+
]);
|
|
62
|
+
}
|
|
63
|
+
return new plutus_data_1.DataConstr(0, // PPosixTimeRange (PInterval) only constructor
|
|
64
|
+
[
|
|
65
|
+
// from
|
|
66
|
+
new plutus_data_1.DataConstr(// PBound
|
|
67
|
+
0, // only constructor
|
|
68
|
+
[
|
|
69
|
+
// bound
|
|
70
|
+
lowerBoundData,
|
|
71
|
+
// inclusive
|
|
72
|
+
new plutus_data_1.DataConstr(0, []) // PDataBool; True
|
|
73
|
+
]),
|
|
74
|
+
// to
|
|
75
|
+
new plutus_data_1.DataConstr(// PBound
|
|
76
|
+
0, // only constructor
|
|
77
|
+
[
|
|
78
|
+
// bound
|
|
79
|
+
upperBoundData,
|
|
80
|
+
// inclusive
|
|
81
|
+
new plutus_data_1.DataConstr(0, []) // PDataBool; True
|
|
82
|
+
]),
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
85
|
+
exports.getTxIntervalData = getTxIntervalData;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./getTxInfos.js"), exports);
|
|
18
|
+
__exportStar(require("./getTxIntervalData.js"), exports);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Address, AddressStr, CanBeHash32, Hash32, Script } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { Data } from "@harmoniclabs/plutus-data";
|
|
3
|
+
import { CanBeData } from "../../utils/CanBeData.js";
|
|
4
|
+
export interface ChangeInfos {
|
|
5
|
+
address: Address | AddressStr;
|
|
6
|
+
datum?: CanBeHash32 | CanBeData | undefined;
|
|
7
|
+
refScript?: Script;
|
|
8
|
+
}
|
|
9
|
+
export interface NormalizedChangeInfos {
|
|
10
|
+
address: Address;
|
|
11
|
+
datum?: Hash32 | Data | undefined;
|
|
12
|
+
refScript?: Script;
|
|
13
|
+
}
|
|
14
|
+
export declare function normalizeChangeInfos(change: ChangeInfos): NormalizedChangeInfos;
|
|
15
|
+
export declare function cloneChangeInfos(change: ChangeInfos): ChangeInfos;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloneChangeInfos = exports.normalizeChangeInfos = void 0;
|
|
4
|
+
var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
|
|
5
|
+
var CanBeData_1 = require("../../utils/CanBeData.js");
|
|
6
|
+
function normalizeChangeInfos(change) {
|
|
7
|
+
return {
|
|
8
|
+
address: typeof change.address === "string" ? cardano_ledger_ts_1.Address.fromString(change.address) : change.address.clone(),
|
|
9
|
+
datum: change.datum ? ((0, cardano_ledger_ts_1.canBeHash32)(change.datum) ?
|
|
10
|
+
new cardano_ledger_ts_1.Hash32(change.datum) :
|
|
11
|
+
(0, CanBeData_1.forceData)(change.datum)) :
|
|
12
|
+
undefined,
|
|
13
|
+
refScript: change.refScript ? change.refScript.clone() : undefined
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.normalizeChangeInfos = normalizeChangeInfos;
|
|
17
|
+
function cloneChangeInfos(change) {
|
|
18
|
+
return {
|
|
19
|
+
address: change.address.toString(),
|
|
20
|
+
datum: change.datum ? ((0, cardano_ledger_ts_1.canBeHash32)(change.datum) ?
|
|
21
|
+
new cardano_ledger_ts_1.Hash32(change.datum) :
|
|
22
|
+
(0, CanBeData_1.cloneCanBeData)(change.datum)) :
|
|
23
|
+
undefined,
|
|
24
|
+
refScript: change.refScript ? change.refScript.clone() : undefined
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.cloneChangeInfos = cloneChangeInfos;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Address, AddressStr, CanBeHash28, IProposalProcedure, IUTxO, IVotingProceduresEntry, PubKeyHash, TxMetadata, TxOut, UTxO } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { NormalizedITxBuildCert, type ITxBuildCert } from "./ITxBuildCert.js";
|
|
3
|
+
import { NormalizedITxBuildInput, type ITxBuildInput } from "./ITxBuildInput/ITxBuildInput.js";
|
|
4
|
+
import { NormalizedITxBuildMint, type ITxBuildMint } from "./ITxBuildMint.js";
|
|
5
|
+
import { type ITxBuildOutput } from "./ITxBuildOutput.js";
|
|
6
|
+
import { NormalizedITxBuildWithdrawal, type ITxBuildWithdrawal } from "./ITxBuildWithdrawal.js";
|
|
7
|
+
import { CanBeUInteger } from "../utils/ints.js";
|
|
8
|
+
import { ChangeInfos, NormalizedChangeInfos } from "./ChangeInfos/ChangeInfos.js";
|
|
9
|
+
import { ITxBuildVotingProcedure, NormalizedITxBuildVotingProcedure } from "./ITxBuildVotingProcedure.js";
|
|
10
|
+
import { ITxBuildProposalProcedure, NormalizedITxBuildProposalProcedure } from "./ITxBuildProposalProcedure.js";
|
|
11
|
+
export interface ITxBuildArgs {
|
|
12
|
+
inputs: (ITxBuildInput | IUTxO)[];
|
|
13
|
+
/**
|
|
14
|
+
* same as `changeAddress` but allows to specify datums and ref scripts
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* txBuilder.build({
|
|
18
|
+
* change: { address: "your_address" }
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
changeAddress?: Address | AddressStr;
|
|
23
|
+
change?: ChangeInfos;
|
|
24
|
+
outputs?: ITxBuildOutput[];
|
|
25
|
+
readonlyRefInputs?: IUTxO[];
|
|
26
|
+
requiredSigners?: CanBeHash28[];
|
|
27
|
+
collaterals?: IUTxO[];
|
|
28
|
+
collateralReturn?: ITxBuildOutput;
|
|
29
|
+
mints?: ITxBuildMint[];
|
|
30
|
+
invalidBefore?: CanBeUInteger;
|
|
31
|
+
invalidAfter?: CanBeUInteger;
|
|
32
|
+
certificates?: ITxBuildCert[];
|
|
33
|
+
withdrawals?: ITxBuildWithdrawal[];
|
|
34
|
+
/**
|
|
35
|
+
* # metadata message following cip20
|
|
36
|
+
*
|
|
37
|
+
* overwrites the metadata at label 674 if already present.
|
|
38
|
+
**/
|
|
39
|
+
memo?: string;
|
|
40
|
+
metadata?: TxMetadata;
|
|
41
|
+
votingProcedures?: (IVotingProceduresEntry | ITxBuildVotingProcedure)[];
|
|
42
|
+
proposalProcedures?: (IProposalProcedure | ITxBuildProposalProcedure)[];
|
|
43
|
+
currentTreasuryValue?: CanBeUInteger;
|
|
44
|
+
paymentToTreasury?: CanBeUInteger;
|
|
45
|
+
}
|
|
46
|
+
export interface NormalizedITxBuildArgs extends ITxBuildArgs {
|
|
47
|
+
inputs: NormalizedITxBuildInput[];
|
|
48
|
+
changeAddress?: Address;
|
|
49
|
+
change?: NormalizedChangeInfos;
|
|
50
|
+
outputs?: TxOut[];
|
|
51
|
+
readonlyRefInputs?: UTxO[];
|
|
52
|
+
requiredSigners?: PubKeyHash[];
|
|
53
|
+
collaterals?: UTxO[];
|
|
54
|
+
collateralReturn?: TxOut;
|
|
55
|
+
mints?: NormalizedITxBuildMint[];
|
|
56
|
+
invalidBefore?: CanBeUInteger;
|
|
57
|
+
invalidAfter?: CanBeUInteger;
|
|
58
|
+
certificates?: NormalizedITxBuildCert[];
|
|
59
|
+
withdrawals?: NormalizedITxBuildWithdrawal[];
|
|
60
|
+
/**
|
|
61
|
+
* # metadata message following cip20
|
|
62
|
+
*
|
|
63
|
+
* overwrites the metadata at label 674 if already present.
|
|
64
|
+
**/
|
|
65
|
+
memo?: string;
|
|
66
|
+
metadata?: TxMetadata;
|
|
67
|
+
votingProcedures?: NormalizedITxBuildVotingProcedure[];
|
|
68
|
+
proposalProcedures?: NormalizedITxBuildProposalProcedure[];
|
|
69
|
+
currentTreasuryValue?: bigint;
|
|
70
|
+
paymentToTreasury?: bigint;
|
|
71
|
+
}
|
|
72
|
+
export declare function normalizeITxBuildArgs({ inputs, change, changeAddress, outputs, readonlyRefInputs, requiredSigners, collaterals, collateralReturn, mints, invalidBefore, invalidAfter, certificates, withdrawals, memo, metadata, votingProcedures, proposalProcedures, currentTreasuryValue, paymentToTreasury }: ITxBuildArgs): NormalizedITxBuildArgs;
|
|
73
|
+
/** @deprecated use `normalizeITxBuildArgs` instead */
|
|
74
|
+
export declare function cloneITxBuildArgs(args: ITxBuildArgs): ITxBuildArgs;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloneITxBuildArgs = exports.normalizeITxBuildArgs = void 0;
|
|
4
|
+
var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
|
|
5
|
+
var ITxBuildCert_1 = require("./ITxBuildCert.js");
|
|
6
|
+
var ITxBuildInput_1 = require("./ITxBuildInput/ITxBuildInput.js");
|
|
7
|
+
var ITxBuildMint_1 = require("./ITxBuildMint.js");
|
|
8
|
+
var ITxBuildOutput_1 = require("./ITxBuildOutput.js");
|
|
9
|
+
var ITxBuildWithdrawal_1 = require("./ITxBuildWithdrawal.js");
|
|
10
|
+
var ChangeInfos_1 = require("./ChangeInfos/ChangeInfos.js");
|
|
11
|
+
var ITxBuildVotingProcedure_1 = require("./ITxBuildVotingProcedure.js");
|
|
12
|
+
var ITxBuildProposalProcedure_1 = require("./ITxBuildProposalProcedure.js");
|
|
13
|
+
function normalizeITxBuildArgs(_a) {
|
|
14
|
+
var inputs = _a.inputs, change = _a.change, changeAddress = _a.changeAddress, outputs = _a.outputs, readonlyRefInputs = _a.readonlyRefInputs, requiredSigners = _a.requiredSigners, collaterals = _a.collaterals, collateralReturn = _a.collateralReturn, mints = _a.mints, invalidBefore = _a.invalidBefore, invalidAfter = _a.invalidAfter, certificates = _a.certificates, withdrawals = _a.withdrawals, memo = _a.memo, metadata = _a.metadata, votingProcedures = _a.votingProcedures, proposalProcedures = _a.proposalProcedures, currentTreasuryValue = _a.currentTreasuryValue, paymentToTreasury = _a.paymentToTreasury;
|
|
15
|
+
return {
|
|
16
|
+
inputs: inputs.map(normalizeITxBuildArgsInputs),
|
|
17
|
+
change: change ? (0, ChangeInfos_1.normalizeChangeInfos)(change) : undefined,
|
|
18
|
+
changeAddress: changeAddress ? (typeof changeAddress === "string" ?
|
|
19
|
+
cardano_ledger_ts_1.Address.fromString(changeAddress) :
|
|
20
|
+
changeAddress) : undefined,
|
|
21
|
+
outputs: outputs === null || outputs === void 0 ? void 0 : outputs.map(ITxBuildOutput_1.txBuildOutToTxOut),
|
|
22
|
+
readonlyRefInputs: readonlyRefInputs === null || readonlyRefInputs === void 0 ? void 0 : readonlyRefInputs.map(toUTxONoClone),
|
|
23
|
+
requiredSigners: requiredSigners === null || requiredSigners === void 0 ? void 0 : requiredSigners.map(toPubKeyHash),
|
|
24
|
+
collaterals: collaterals === null || collaterals === void 0 ? void 0 : collaterals.map(toUTxONoClone),
|
|
25
|
+
collateralReturn: collateralReturn ? (0, ITxBuildOutput_1.txBuildOutToTxOut)(collateralReturn) : undefined,
|
|
26
|
+
mints: mints === null || mints === void 0 ? void 0 : mints.map(ITxBuildMint_1.normalizeITxBuildMint),
|
|
27
|
+
invalidBefore: invalidBefore === undefined ? undefined : BigInt(invalidBefore),
|
|
28
|
+
invalidAfter: invalidAfter === undefined ? undefined : BigInt(invalidAfter),
|
|
29
|
+
certificates: certificates === null || certificates === void 0 ? void 0 : certificates.map(ITxBuildCert_1.normalizeITxBuildCert),
|
|
30
|
+
withdrawals: withdrawals === null || withdrawals === void 0 ? void 0 : withdrawals.map(ITxBuildWithdrawal_1.normalizeITxBuildWithdrawal),
|
|
31
|
+
memo: memo ? String(memo) : undefined,
|
|
32
|
+
metadata: metadata,
|
|
33
|
+
votingProcedures: Array.isArray(votingProcedures) ?
|
|
34
|
+
votingProcedures.map(function (entry) {
|
|
35
|
+
if ((0, cardano_ledger_ts_1.isIVotingProceduresEntry)(entry))
|
|
36
|
+
entry = {
|
|
37
|
+
votingProcedure: entry,
|
|
38
|
+
script: undefined // for js shape optimization
|
|
39
|
+
};
|
|
40
|
+
return (0, ITxBuildVotingProcedure_1.normalizeITxBuildVotingProcedure)(entry);
|
|
41
|
+
}) : undefined,
|
|
42
|
+
proposalProcedures: Array.isArray(proposalProcedures) ?
|
|
43
|
+
proposalProcedures.map(function (entry) {
|
|
44
|
+
if ((0, cardano_ledger_ts_1.isIProposalProcedure)(entry))
|
|
45
|
+
entry = {
|
|
46
|
+
proposalProcedure: entry,
|
|
47
|
+
script: undefined
|
|
48
|
+
};
|
|
49
|
+
return (0, ITxBuildProposalProcedure_1.normalizeITxBuildProposalProcedure)(entry);
|
|
50
|
+
}) : undefined,
|
|
51
|
+
currentTreasuryValue: currentTreasuryValue === undefined ? undefined : BigInt(currentTreasuryValue),
|
|
52
|
+
paymentToTreasury: paymentToTreasury === undefined ? undefined : BigInt(paymentToTreasury),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
exports.normalizeITxBuildArgs = normalizeITxBuildArgs;
|
|
56
|
+
function normalizeITxBuildArgsInputs(input) {
|
|
57
|
+
if ((0, cardano_ledger_ts_1.isIUTxO)(input))
|
|
58
|
+
return { utxo: new cardano_ledger_ts_1.UTxO(input) };
|
|
59
|
+
return (0, ITxBuildInput_1.normalizeITxBuildInput)(input);
|
|
60
|
+
}
|
|
61
|
+
function toUTxONoClone(utxo) {
|
|
62
|
+
return utxo instanceof cardano_ledger_ts_1.UTxO ? utxo : new cardano_ledger_ts_1.UTxO(utxo);
|
|
63
|
+
}
|
|
64
|
+
function toPubKeyHash(hash) {
|
|
65
|
+
return new cardano_ledger_ts_1.PubKeyHash(hash);
|
|
66
|
+
}
|
|
67
|
+
/** @deprecated use `normalizeITxBuildArgs` instead */
|
|
68
|
+
function cloneITxBuildArgs(args) {
|
|
69
|
+
return normalizeITxBuildArgs(args);
|
|
70
|
+
}
|
|
71
|
+
exports.cloneITxBuildArgs = cloneITxBuildArgs;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Certificate, CertificateLike } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { IScriptWithRedeemer, ScriptWithRedeemer } from "./ScriptWithRedeemer.js";
|
|
3
|
+
export interface ITxBuildCert {
|
|
4
|
+
cert: CertificateLike;
|
|
5
|
+
script?: IScriptWithRedeemer;
|
|
6
|
+
}
|
|
7
|
+
export interface NormalizedITxBuildCert extends ITxBuildCert {
|
|
8
|
+
cert: Certificate;
|
|
9
|
+
script?: ScriptWithRedeemer;
|
|
10
|
+
}
|
|
11
|
+
export declare function normalizeITxBuildCert({ cert, script }: ITxBuildCert): NormalizedITxBuildCert;
|
|
12
|
+
/** @deprecated use `normalizeITxBuildCert` instead */
|
|
13
|
+
export declare function cloneITxBuildCert(cert: ITxBuildCert): ITxBuildCert;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloneITxBuildCert = exports.normalizeITxBuildCert = void 0;
|
|
4
|
+
var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
|
|
5
|
+
var CanBeData_1 = require("../utils/CanBeData.js");
|
|
6
|
+
var obj_utils_1 = require("@harmoniclabs/obj-utils");
|
|
7
|
+
;
|
|
8
|
+
;
|
|
9
|
+
function normalizeITxBuildCert(_a) {
|
|
10
|
+
var cert = _a.cert, script = _a.script;
|
|
11
|
+
if (!(0, obj_utils_1.isObject)(script) ||
|
|
12
|
+
!(0, CanBeData_1.canBeData)(script.redeemer)) {
|
|
13
|
+
script = undefined;
|
|
14
|
+
}
|
|
15
|
+
else if ((0, cardano_ledger_ts_1.isIUTxO)(script.ref)) {
|
|
16
|
+
script = {
|
|
17
|
+
ref: new cardano_ledger_ts_1.UTxO(script.ref),
|
|
18
|
+
redeemer: (0, CanBeData_1.forceData)(script.redeemer)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
script = {
|
|
23
|
+
inline: script.inline.clone(),
|
|
24
|
+
redeemer: (0, CanBeData_1.forceData)(script.redeemer)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
cert: (0, cardano_ledger_ts_1.certificateFromCertificateLike)(cert),
|
|
29
|
+
script: script
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.normalizeITxBuildCert = normalizeITxBuildCert;
|
|
33
|
+
/** @deprecated use `normalizeITxBuildCert` instead */
|
|
34
|
+
function cloneITxBuildCert(cert) {
|
|
35
|
+
return normalizeITxBuildCert(cert);
|
|
36
|
+
}
|
|
37
|
+
exports.cloneITxBuildCert = cloneITxBuildCert;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { UTxO, Script, IUTxO, NativeScript, ScriptType } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { ITxBuildInputRefScript, NormalizedITxBuildInputRefScript } from "./ITxBuildInputRefScript.js";
|
|
3
|
+
import { ITxBuildInputInlineScript, NormalizedITxBuildInputInlineScript } from "./ITxBuildInputInlineScript.js";
|
|
4
|
+
export interface ITxBuildInput {
|
|
5
|
+
utxo: IUTxO;
|
|
6
|
+
/** @deprecated use `referenceScript` instead */
|
|
7
|
+
referenceScriptV2?: ITxBuildInputRefScript;
|
|
8
|
+
/** can have undefined datum only if plutus script is v3 or higher */
|
|
9
|
+
referenceScript?: ITxBuildInputRefScript;
|
|
10
|
+
/** can have undefined datum only if plutus script is v3 or higher */
|
|
11
|
+
inputScript?: ITxBuildInputInlineScript;
|
|
12
|
+
nativeScript?: NativeScript | Script;
|
|
13
|
+
}
|
|
14
|
+
export interface NormalizedITxBuildInput extends ITxBuildInput {
|
|
15
|
+
utxo: UTxO;
|
|
16
|
+
referenceScript?: NormalizedITxBuildInputRefScript;
|
|
17
|
+
inputScript?: NormalizedITxBuildInputInlineScript;
|
|
18
|
+
nativeScript?: Script<"NativeScript" | ScriptType.NativeScript>;
|
|
19
|
+
}
|
|
20
|
+
export declare function normalizeITxBuildInput(input: ITxBuildInput): NormalizedITxBuildInput;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated
|
|
23
|
+
* use `normalizeITxBuildInput` instead
|
|
24
|
+
*/
|
|
25
|
+
export declare function cloneITxBuildInput({ utxo, referenceScript: ref, inputScript: inScript, nativeScript }: ITxBuildInput): ITxBuildInput;
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.cloneITxBuildInput = exports.normalizeITxBuildInput = void 0;
|
|
15
|
+
var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
|
|
16
|
+
var ITxBuildInputRefScript_1 = require("./ITxBuildInputRefScript.js");
|
|
17
|
+
var ITxBuildInputInlineScript_1 = require("./ITxBuildInputInlineScript.js");
|
|
18
|
+
function normalizeITxBuildInput(input) {
|
|
19
|
+
input = __assign({}, input); // do not modify input object.
|
|
20
|
+
var result = {};
|
|
21
|
+
if (!input.referenceScript && input.referenceScriptV2)
|
|
22
|
+
input.referenceScript = input.referenceScriptV2; // support deprecated name, but do not override
|
|
23
|
+
result.utxo = input.utxo instanceof cardano_ledger_ts_1.UTxO ? input.utxo.clone() : new cardano_ledger_ts_1.UTxO(input.utxo);
|
|
24
|
+
result.referenceScript = input.referenceScript ?
|
|
25
|
+
(0, ITxBuildInputRefScript_1.normalizeITxBuildInputRefScript)(input.referenceScript) :
|
|
26
|
+
undefined;
|
|
27
|
+
result.inputScript = input.inputScript ?
|
|
28
|
+
(0, ITxBuildInputInlineScript_1.normalizeITxBuildInputInlineScript)(input.inputScript) :
|
|
29
|
+
undefined;
|
|
30
|
+
result.nativeScript = normalizeNativeScriptEntry(input.nativeScript);
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
exports.normalizeITxBuildInput = normalizeITxBuildInput;
|
|
34
|
+
function isNativeScript(stuff) {
|
|
35
|
+
try {
|
|
36
|
+
(0, cardano_ledger_ts_1.nativeScriptFromCbor)((0, cardano_ledger_ts_1.nativeScriptToCbor)(stuff));
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
catch (_a) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function normalizeNativeScriptEntry(scr) {
|
|
44
|
+
if (!scr)
|
|
45
|
+
return undefined;
|
|
46
|
+
if (isNativeScript(scr)) {
|
|
47
|
+
return new cardano_ledger_ts_1.Script("NativeScript", (0, cardano_ledger_ts_1.nativeScriptToCbor)(scr).toBuffer());
|
|
48
|
+
}
|
|
49
|
+
if (scr instanceof cardano_ledger_ts_1.Script && scr.type === cardano_ledger_ts_1.ScriptType.NativeScript)
|
|
50
|
+
return scr.clone();
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated
|
|
55
|
+
* use `normalizeITxBuildInput` instead
|
|
56
|
+
*/
|
|
57
|
+
function cloneITxBuildInput(_a) {
|
|
58
|
+
var utxo = _a.utxo, ref = _a.referenceScript, inScript = _a.inputScript, nativeScript = _a.nativeScript;
|
|
59
|
+
var referenceScript = ref === undefined ? undefined :
|
|
60
|
+
(0, ITxBuildInputRefScript_1.normalizeITxBuildInputRefScript)(ref);
|
|
61
|
+
var inputScript = inScript === undefined ? undefined :
|
|
62
|
+
(0, ITxBuildInputInlineScript_1.normalizeITxBuildInputInlineScript)(inScript);
|
|
63
|
+
return {
|
|
64
|
+
utxo: new cardano_ledger_ts_1.UTxO(utxo),
|
|
65
|
+
referenceScript: referenceScript,
|
|
66
|
+
inputScript: inputScript,
|
|
67
|
+
nativeScript: normalizeNativeScriptEntry(nativeScript)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
exports.cloneITxBuildInput = cloneITxBuildInput;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Script } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { Data } from "@harmoniclabs/plutus-data";
|
|
3
|
+
import { CanBeData } from "../../utils/CanBeData.js";
|
|
4
|
+
export interface ITxBuildInputInlineScript {
|
|
5
|
+
script: Script;
|
|
6
|
+
datum?: CanBeData | "inline" | undefined;
|
|
7
|
+
redeemer: CanBeData;
|
|
8
|
+
}
|
|
9
|
+
export interface NormalizedITxBuildInputInlineScript {
|
|
10
|
+
script: Script;
|
|
11
|
+
datum: Data | "inline" | undefined;
|
|
12
|
+
redeemer: Data;
|
|
13
|
+
}
|
|
14
|
+
export declare function normalizeITxBuildInputInlineScript(input: ITxBuildInputInlineScript): NormalizedITxBuildInputInlineScript;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeITxBuildInputInlineScript = void 0;
|
|
4
|
+
var CanBeData_1 = require("../../utils/CanBeData.js");
|
|
5
|
+
function normalizeITxBuildInputInlineScript(input) {
|
|
6
|
+
var result = {};
|
|
7
|
+
result.script = input.script.clone();
|
|
8
|
+
result.datum = (input.datum === "inline" ? "inline" :
|
|
9
|
+
((0, CanBeData_1.canBeData)(input.datum) ? (0, CanBeData_1.forceData)(input.datum) :
|
|
10
|
+
undefined));
|
|
11
|
+
result.redeemer = (0, CanBeData_1.forceData)(input.redeemer);
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
exports.normalizeITxBuildInputInlineScript = normalizeITxBuildInputInlineScript;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IUTxO, UTxO } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { Data } from "@harmoniclabs/plutus-data";
|
|
3
|
+
import { CanBeData } from "../../utils/CanBeData.js";
|
|
4
|
+
export interface ITxBuildInputRefScript {
|
|
5
|
+
refUtxo: IUTxO;
|
|
6
|
+
datum?: CanBeData | "inline";
|
|
7
|
+
redeemer: CanBeData;
|
|
8
|
+
}
|
|
9
|
+
export interface NormalizedITxBuildInputRefScript extends ITxBuildInputRefScript {
|
|
10
|
+
refUtxo: UTxO;
|
|
11
|
+
datum: Data | "inline" | undefined;
|
|
12
|
+
redeemer: Data;
|
|
13
|
+
}
|
|
14
|
+
export declare function normalizeITxBuildInputRefScript(input: ITxBuildInputRefScript): NormalizedITxBuildInputRefScript;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeITxBuildInputRefScript = void 0;
|
|
4
|
+
var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
|
|
5
|
+
var CanBeData_1 = require("../../utils/CanBeData.js");
|
|
6
|
+
function normalizeITxBuildInputRefScript(input) {
|
|
7
|
+
var result = {};
|
|
8
|
+
result.refUtxo = new cardano_ledger_ts_1.UTxO(input.refUtxo);
|
|
9
|
+
result.datum = (input.datum === "inline" ? "inline" :
|
|
10
|
+
((0, CanBeData_1.canBeData)(input.datum) ? (0, CanBeData_1.forceData)(input.datum) :
|
|
11
|
+
undefined));
|
|
12
|
+
result.redeemer = (0, CanBeData_1.forceData)(input.redeemer);
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
exports.normalizeITxBuildInputRefScript = normalizeITxBuildInputRefScript;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Value, Script, UTxO, Hash28, IUTxO, IValuePolicyEntry, NormalizedIValuePolicyEntry } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { CanBeData } from "../utils/CanBeData.js";
|
|
3
|
+
import { Data } from "@harmoniclabs/plutus-data";
|
|
4
|
+
export interface ITxBuildMint {
|
|
5
|
+
value: IValuePolicyEntry | Value;
|
|
6
|
+
script: {
|
|
7
|
+
inline: Script;
|
|
8
|
+
/** @deprecated, policy inferred from value */
|
|
9
|
+
policyId?: Hash28;
|
|
10
|
+
redeemer: CanBeData;
|
|
11
|
+
} | {
|
|
12
|
+
ref: IUTxO;
|
|
13
|
+
/** @deprecated, policy inferred from value */
|
|
14
|
+
policyId?: Hash28;
|
|
15
|
+
redeemer: CanBeData;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface NormalizedITxBuildMint extends ITxBuildMint {
|
|
19
|
+
value: NormalizedIValuePolicyEntry;
|
|
20
|
+
script: {
|
|
21
|
+
inline: Script;
|
|
22
|
+
redeemer: Data;
|
|
23
|
+
} | {
|
|
24
|
+
ref: UTxO;
|
|
25
|
+
redeemer: Data;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare function normalizeITxBuildMint({ value, script }: ITxBuildMint): NormalizedITxBuildMint;
|
|
29
|
+
/** @deprecated use `normalizeITxBuildMint` instead */
|
|
30
|
+
export declare function cloneITxBuildMint(mint: ITxBuildMint): ITxBuildMint;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloneITxBuildMint = exports.normalizeITxBuildMint = void 0;
|
|
4
|
+
var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
|
|
5
|
+
var CanBeData_1 = require("../utils/CanBeData.js");
|
|
6
|
+
var obj_utils_1 = require("@harmoniclabs/obj-utils");
|
|
7
|
+
;
|
|
8
|
+
function normalizeITxBuildMint(_a) {
|
|
9
|
+
var value = _a.value, script = _a.script;
|
|
10
|
+
if (value instanceof cardano_ledger_ts_1.Value) {
|
|
11
|
+
if (value.map.length !== 2)
|
|
12
|
+
throw new Error("invalid mint value, only single policy allowed");
|
|
13
|
+
value = value.map[1];
|
|
14
|
+
}
|
|
15
|
+
if (!isNormalizedIValuePolicyEntry(value)) {
|
|
16
|
+
value = {
|
|
17
|
+
policy: new cardano_ledger_ts_1.Hash28(value.policy),
|
|
18
|
+
assets: value.assets.map(cardano_ledger_ts_1.normalizeIValueAsset)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (!(0, obj_utils_1.isObject)(script) || !(0, CanBeData_1.canBeData)(script.redeemer))
|
|
22
|
+
throw new Error("invalid ITxBuildMint to normalize");
|
|
23
|
+
if ((0, cardano_ledger_ts_1.isIUTxO)(script.ref)) {
|
|
24
|
+
script = {
|
|
25
|
+
ref: new cardano_ledger_ts_1.UTxO(script.ref),
|
|
26
|
+
redeemer: (0, CanBeData_1.forceData)(script.redeemer)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
script = {
|
|
31
|
+
inline: script.inline.clone(),
|
|
32
|
+
redeemer: (0, CanBeData_1.forceData)(script.redeemer)
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
value: value,
|
|
37
|
+
script: script
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
exports.normalizeITxBuildMint = normalizeITxBuildMint;
|
|
41
|
+
function isNormalizedIValuePolicyEntry(stuff) {
|
|
42
|
+
return (0, obj_utils_1.isObject)(stuff) && (stuff.policy instanceof cardano_ledger_ts_1.Hash28 &&
|
|
43
|
+
Array.isArray(stuff.assets) &&
|
|
44
|
+
stuff.assets.every(isIValueAssetBI));
|
|
45
|
+
}
|
|
46
|
+
function isIValueAssetBI(stuff) {
|
|
47
|
+
return (0, obj_utils_1.isObject)(stuff) && (stuff.name instanceof Uint8Array &&
|
|
48
|
+
typeof stuff.quantity === "bigint");
|
|
49
|
+
}
|
|
50
|
+
/** @deprecated use `normalizeITxBuildMint` instead */
|
|
51
|
+
function cloneITxBuildMint(mint) {
|
|
52
|
+
return normalizeITxBuildMint(mint);
|
|
53
|
+
}
|
|
54
|
+
exports.cloneITxBuildMint = cloneITxBuildMint;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TxRedeemer } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { Data } from "@harmoniclabs/plutus-data";
|
|
3
|
+
import { ExBudget } from "@harmoniclabs/plutus-machine";
|
|
4
|
+
import { PureUPLCTerm } from "@harmoniclabs/uplc";
|
|
5
|
+
export interface ITxBuildSyncOptions {
|
|
6
|
+
onScriptInvalid?: (rdmr: TxRedeemer, logs: string[], callArgs: Data[]) => void;
|
|
7
|
+
onScriptResult?: (rdmr: TxRedeemer, result: PureUPLCTerm, exBudget: ExBudget, logs: string[], callArgs: Data[]) => void;
|
|
8
|
+
}
|
|
9
|
+
export interface ITxBuildOptions extends ITxBuildSyncOptions {
|
|
10
|
+
keepWorkersAlive?: boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Address, Value, Script, TxOut, CanBeHash32, AddressStr, IValue } from "@harmoniclabs/cardano-ledger-ts";
|
|
2
|
+
import { CanBeData } from "../utils/CanBeData.js";
|
|
3
|
+
export interface ITxBuildOutput {
|
|
4
|
+
address: Address | AddressStr;
|
|
5
|
+
value: Value | IValue;
|
|
6
|
+
datum?: CanBeHash32 | CanBeData;
|
|
7
|
+
refScript?: Script;
|
|
8
|
+
}
|
|
9
|
+
export declare function txBuildOutToTxOut({ address, value, datum, refScript }: ITxBuildOutput): TxOut;
|
|
10
|
+
export declare function cloneITxBuildOutput({ address, value, datum, refScript }: ITxBuildOutput): ITxBuildOutput;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloneITxBuildOutput = exports.txBuildOutToTxOut = void 0;
|
|
4
|
+
var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts");
|
|
5
|
+
var CanBeData_1 = require("../utils/CanBeData.js");
|
|
6
|
+
function txBuildOutToTxOut(_a) {
|
|
7
|
+
var address = _a.address, value = _a.value, datum = _a.datum, refScript = _a.refScript;
|
|
8
|
+
return new cardano_ledger_ts_1.TxOut({
|
|
9
|
+
address: typeof address === "string" ? cardano_ledger_ts_1.Address.fromString(address) : address.clone(),
|
|
10
|
+
value: value instanceof cardano_ledger_ts_1.Value ? value.clone() : new cardano_ledger_ts_1.Value(value),
|
|
11
|
+
datum: (0, CanBeData_1.canBeData)(datum) ? (0, CanBeData_1.forceData)(datum) :
|
|
12
|
+
((0, cardano_ledger_ts_1.canBeHash32)(datum) ? new cardano_ledger_ts_1.Hash32(datum) : undefined),
|
|
13
|
+
refScript: refScript
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
exports.txBuildOutToTxOut = txBuildOutToTxOut;
|
|
17
|
+
function cloneITxBuildOutput(_a) {
|
|
18
|
+
var address = _a.address, value = _a.value, datum = _a.datum, refScript = _a.refScript;
|
|
19
|
+
return {
|
|
20
|
+
address: typeof address === "string" ? cardano_ledger_ts_1.Address.fromString(address) : address.clone(),
|
|
21
|
+
value: value instanceof cardano_ledger_ts_1.Value ? value.clone() : new cardano_ledger_ts_1.Value(value),
|
|
22
|
+
datum: (0, CanBeData_1.canBeData)(datum) ? (0, CanBeData_1.forceData)(datum) :
|
|
23
|
+
((0, cardano_ledger_ts_1.canBeHash32)(datum) ? new cardano_ledger_ts_1.Hash32(datum) : undefined),
|
|
24
|
+
refScript: refScript === undefined ? undefined : refScript.clone()
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.cloneITxBuildOutput = cloneITxBuildOutput;
|