UNPKG

@harmoniclabs/buildooor

Version:

Cardano transaction builder in typescript

115 lines (114 loc) 6.51 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 ints_1 = require("../utils/ints.js"); var ChangeInfos_1 = require("./ChangeInfos/ChangeInfos.js"); var ITxBuildVotingProcedure_1 = require("./ITxBuildVotingProcedure.js"); var ITxBuildProposalProcedure_1 = require("./ITxBuildProposalProcedure.js"); var cbor_1 = require("@harmoniclabs/cbor"); 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, fee = _a.fee, 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: normalizeChangeAddress(changeAddress), outputs: outputs === null || outputs === void 0 ? void 0 : outputs.map(normalizeTxBuildArgsOutputs), readonlyRefInputs: readonlyRefInputs === null || readonlyRefInputs === void 0 ? void 0 : readonlyRefInputs.map(nomalizeUTXOInput), requiredSigners: requiredSigners === null || requiredSigners === void 0 ? void 0 : requiredSigners.map(toPubKeyHash), collaterals: collaterals === null || collaterals === void 0 ? void 0 : collaterals.map(nomalizeUTXOInput), 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), fee: (0, ints_1.canBeUInteger)(fee) ? BigInt(fee) : undefined, 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; /** Check input type and convert to NormalizedITxBuildInput */ function normalizeITxBuildArgsInputs(input) { if ((0, cbor_1.canBeCborString)(input)) { var cborData = (0, cbor_1.forceCborString)(input); var iUtxo = cardano_ledger_ts_1.UTxO.fromCbor(cborData); return (0, ITxBuildInput_1.normalizeITxBuildInput)({ utxo: iUtxo }); } if ((0, cardano_ledger_ts_1.isIUTxO)(input)) { return { utxo: new cardano_ledger_ts_1.UTxO(input) }; } return (0, ITxBuildInput_1.normalizeITxBuildInput)(input); } /** Check Changeaddress type and convert to normalizeChangeAddress */ function normalizeChangeAddress(changeAddress) { if (changeAddress === undefined) { return undefined; } if ((0, cardano_ledger_ts_1.isAddressStr)(changeAddress)) { return cardano_ledger_ts_1.Address.fromString(changeAddress); } if ((0, cbor_1.canBeCborString)(changeAddress)) { var cborData = (0, cbor_1.forceCborString)(changeAddress); console.log("address cborData: ", cborData); return cardano_ledger_ts_1.Address.fromCbor(cborData); } if (changeAddress instanceof cardano_ledger_ts_1.Address) { return changeAddress; } } /** Check output type and convert to TxOut */ function normalizeTxBuildArgsOutputs(output) { if ((0, cbor_1.canBeCborString)(output)) { var cborData = (0, cbor_1.forceCborString)(output); var txout = cardano_ledger_ts_1.TxOut.fromCbor(cborData); return (0, ITxBuildOutput_1.txBuildOutToTxOut)(txout); } if ((0, cardano_ledger_ts_1.isITxOut)(output)) { return (0, ITxBuildOutput_1.txBuildOutToTxOut)(output); } return (0, ITxBuildOutput_1.txBuildOutToTxOut)(output); } function nomalizeUTXOInput(input) { if ((0, cbor_1.canBeCborString)(input)) { var cborData = (0, cbor_1.forceCborString)(input); return cardano_ledger_ts_1.UTxO.fromCbor(cborData); } return new cardano_ledger_ts_1.UTxO(input); } function toPubKeyHash(hash) { return new cardano_ledger_ts_1.PubKeyHash(hash); } /** @deprecated use `normalizeITxBuildArgs` instead */ function cloneITxBuildArgs(args) { return normalizeITxBuildArgs(args); } exports.cloneITxBuildArgs = cloneITxBuildArgs;