@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
JavaScript
;
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;