UNPKG

@harmoniclabs/buildooor

Version:

Cardano transaction builder in typescript

63 lines (62 loc) 2.11 kB
"use strict"; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.shouldResolveToUTxO = exports.cloneCanResolveToUTxO = exports.canResolveToUTxO = void 0; var bytestring_1 = require("@harmoniclabs/bytestring"); var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts"); function isTxOutRefStr(stuff) { if (typeof stuff !== "string") return false; var _a = __read(stuff.split('#')), id = _a[0], idx = _a[1], rest = _a.slice(2); if (rest.length !== 0) return false; if (!(bytestring_1.ByteString.isValidHexValue(id) && id.length === 64)) return false; var n; try { n = parseInt(idx); } catch (_b) { return false; } return Number.isSafeInteger(n); } function canResolveToUTxO(stuff) { return ((0, cardano_ledger_ts_1.isIUTxO)(stuff) || (0, cardano_ledger_ts_1.isITxOutRef)(stuff) || isTxOutRefStr(stuff)); } exports.canResolveToUTxO = canResolveToUTxO; function cloneCanResolveToUTxO(stuff) { if (typeof stuff === "string") return stuff; if ((0, cardano_ledger_ts_1.isIUTxO)(stuff)) return new cardano_ledger_ts_1.UTxO(stuff); if ((0, cardano_ledger_ts_1.isITxOutRef)(stuff)) return new cardano_ledger_ts_1.TxOutRef(stuff); throw new Error("unexpected \"CanResolveToUTxO\""); } exports.cloneCanResolveToUTxO = cloneCanResolveToUTxO; function shouldResolveToUTxO(stuff) { return ( // isIUTxO( stuff ) || (0, cardano_ledger_ts_1.isITxOutRef)(stuff) || isTxOutRefStr(stuff)); } exports.shouldResolveToUTxO = shouldResolveToUTxO;