UNPKG

@harmoniclabs/buildooor

Version:

Cardano transaction builder in typescript

71 lines (70 loc) 3.02 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneITxBuildInput = exports.normalizeITxBuildInput = void 0; var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts"); var ITxBuildInputRefScript_1 = require("./ITxBuildInputRefScript.js"); var ITxBuildInputInlineScript_1 = require("./ITxBuildInputInlineScript.js"); function normalizeITxBuildInput(input) { input = __assign({}, input); // do not modify input object. var result = {}; if (!input.referenceScript && input.referenceScriptV2) input.referenceScript = input.referenceScriptV2; // support deprecated name, but do not override result.utxo = input.utxo instanceof cardano_ledger_ts_1.UTxO ? input.utxo.clone() : new cardano_ledger_ts_1.UTxO(input.utxo); result.referenceScript = input.referenceScript ? (0, ITxBuildInputRefScript_1.normalizeITxBuildInputRefScript)(input.referenceScript) : undefined; result.inputScript = input.inputScript ? (0, ITxBuildInputInlineScript_1.normalizeITxBuildInputInlineScript)(input.inputScript) : undefined; result.nativeScript = normalizeNativeScriptEntry(input.nativeScript); return result; } exports.normalizeITxBuildInput = normalizeITxBuildInput; function isNativeScript(stuff) { try { (0, cardano_ledger_ts_1.nativeScriptFromCbor)((0, cardano_ledger_ts_1.nativeScriptToCbor)(stuff)); return true; } catch (_a) { return false; } } function normalizeNativeScriptEntry(scr) { if (!scr) return undefined; if (isNativeScript(scr)) { return new cardano_ledger_ts_1.Script("NativeScript", (0, cardano_ledger_ts_1.nativeScriptToCbor)(scr).toBuffer()); } if (scr instanceof cardano_ledger_ts_1.Script && scr.type === cardano_ledger_ts_1.ScriptType.NativeScript) return scr.clone(); return undefined; } /** * @deprecated * use `normalizeITxBuildInput` instead */ function cloneITxBuildInput(_a) { var utxo = _a.utxo, ref = _a.referenceScript, inScript = _a.inputScript, nativeScript = _a.nativeScript; var referenceScript = ref === undefined ? undefined : (0, ITxBuildInputRefScript_1.normalizeITxBuildInputRefScript)(ref); var inputScript = inScript === undefined ? undefined : (0, ITxBuildInputInlineScript_1.normalizeITxBuildInputInlineScript)(inScript); return { utxo: new cardano_ledger_ts_1.UTxO(utxo), referenceScript: referenceScript, inputScript: inputScript, nativeScript: normalizeNativeScriptEntry(nativeScript) }; } exports.cloneITxBuildInput = cloneITxBuildInput;