UNPKG

@harmoniclabs/plu-ts-offchain

Version:

An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript

72 lines (71 loc) 4.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneITxBuildArgs = exports.normalizeITxBuildArgs = void 0; var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts"); var ITxBuildCert_1 = require("./ITxBuildCert.js"); var ITxBuildInput_1 = require("./ITxBuildInput/ITxBuildInput.js"); var ITxBuildMint_1 = require("./ITxBuildMint.js"); var ITxBuildOutput_1 = require("./ITxBuildOutput.js"); var ITxBuildWithdrawal_1 = require("./ITxBuildWithdrawal.js"); var ChangeInfos_1 = require("./ChangeInfos/ChangeInfos.js"); var ITxBuildVotingProcedure_1 = require("./ITxBuildVotingProcedure.js"); var ITxBuildProposalProcedure_1 = require("./ITxBuildProposalProcedure.js"); function normalizeITxBuildArgs(_a) { 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; return { inputs: inputs.map(normalizeITxBuildArgsInputs), change: change ? (0, ChangeInfos_1.normalizeChangeInfos)(change) : undefined, changeAddress: changeAddress ? (typeof changeAddress === "string" ? cardano_ledger_ts_1.Address.fromString(changeAddress) : changeAddress) : undefined, outputs: outputs === null || outputs === void 0 ? void 0 : outputs.map(ITxBuildOutput_1.txBuildOutToTxOut), readonlyRefInputs: readonlyRefInputs === null || readonlyRefInputs === void 0 ? void 0 : readonlyRefInputs.map(toUTxONoClone), requiredSigners: requiredSigners === null || requiredSigners === void 0 ? void 0 : requiredSigners.map(toPubKeyHash), collaterals: collaterals === null || collaterals === void 0 ? void 0 : collaterals.map(toUTxONoClone), collateralReturn: collateralReturn ? (0, ITxBuildOutput_1.txBuildOutToTxOut)(collateralReturn) : undefined, mints: mints === null || mints === void 0 ? void 0 : mints.map(ITxBuildMint_1.normalizeITxBuildMint), invalidBefore: invalidBefore === undefined ? undefined : BigInt(invalidBefore), invalidAfter: invalidAfter === undefined ? undefined : BigInt(invalidAfter), certificates: certificates === null || certificates === void 0 ? void 0 : certificates.map(ITxBuildCert_1.normalizeITxBuildCert), withdrawals: withdrawals === null || withdrawals === void 0 ? void 0 : withdrawals.map(ITxBuildWithdrawal_1.normalizeITxBuildWithdrawal), memo: memo ? String(memo) : undefined, metadata: metadata, votingProcedures: Array.isArray(votingProcedures) ? votingProcedures.map(function (entry) { if ((0, cardano_ledger_ts_1.isIVotingProceduresEntry)(entry)) entry = { votingProcedure: entry, script: undefined // for js shape optimization }; return (0, ITxBuildVotingProcedure_1.normalizeITxBuildVotingProcedure)(entry); }) : undefined, proposalProcedures: Array.isArray(proposalProcedures) ? proposalProcedures.map(function (entry) { if ((0, cardano_ledger_ts_1.isIProposalProcedure)(entry)) entry = { proposalProcedure: entry, script: undefined }; return (0, ITxBuildProposalProcedure_1.normalizeITxBuildProposalProcedure)(entry); }) : undefined, currentTreasuryValue: currentTreasuryValue === undefined ? undefined : BigInt(currentTreasuryValue), paymentToTreasury: paymentToTreasury === undefined ? undefined : BigInt(paymentToTreasury), }; } exports.normalizeITxBuildArgs = normalizeITxBuildArgs; function normalizeITxBuildArgsInputs(input) { if ((0, cardano_ledger_ts_1.isIUTxO)(input)) return { utxo: new cardano_ledger_ts_1.UTxO(input) }; return (0, ITxBuildInput_1.normalizeITxBuildInput)(input); } function toUTxONoClone(utxo) { return utxo instanceof cardano_ledger_ts_1.UTxO ? utxo : new cardano_ledger_ts_1.UTxO(utxo); } function toPubKeyHash(hash) { return new cardano_ledger_ts_1.PubKeyHash(hash); } /** @deprecated use `normalizeITxBuildArgs` instead */ function cloneITxBuildArgs(args) { return normalizeITxBuildArgs(args); } exports.cloneITxBuildArgs = cloneITxBuildArgs;