UNPKG

@harmoniclabs/plu-ts-onchain

Version:

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

23 lines (22 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.scriptToJsonFormat = exports.compile = void 0; var cbor_1 = require("@harmoniclabs/cbor"); var uplc_1 = require("@harmoniclabs/uplc"); var getValidVersion_1 = require("./getValidVersion.js"); function compile(term, version) { if (version === void 0) { version = getValidVersion_1.defaultVersion; } var v = (0, getValidVersion_1.getValidVersion)(version); return uplc_1.UPLCEncoder.compile(new uplc_1.UPLCProgram(new uplc_1.UPLCVersion(v[0], v[1], v[2]), term.toUPLC(0))).toBuffer().buffer; } exports.compile = compile; function scriptToJsonFormat(compiledScript, plutusScriptVersion, description) { if (plutusScriptVersion === void 0) { plutusScriptVersion = "PlutusScriptV2"; } if (description === void 0) { description = ""; } return { type: plutusScriptVersion, description: description, cborHex: cbor_1.Cbor.encode(new cbor_1.CborBytes(cbor_1.Cbor.encode(new cbor_1.CborBytes(compiledScript)).toBuffer())).toString() }; } exports.scriptToJsonFormat = scriptToJsonFormat;