@harmoniclabs/uplc
Typescript/Javascript representation of UPLC (Untyped PLutus Core).
Install
npm install @harmoniclabs/uplc
Getting started
parse and print uplc form flat hex (@harmoniclabs/uint8array-utils
works in every js runtime)
import { fromHex } from "@harmoniclabs/uint8array-utils";
import { parseUPLC, prettyUPLC } from "@harmoniclabs/uplc";
const serialized: Uint8Array = fromHex( "0100003233700900219b8248050005200801" );
const program = parseUPLC( serialized, "flat" );
console.log(
prettyUPLC(
program.body,
4
)
);
compile UPLC
import { toHex } from "@harmoniclabs/uint8array-utils";
import { Application, Builtin, UPLCConst, compileUPLC, UPLCProgram } from "@harmoniclabs/uplc";
const body = new Application(
new Application(
Builtin.addInteger,
UPLCConst.int( 2 )
),
UPLCConst.int( 2 )
);
const compiled = compileUPLC(
new UPLCProgram(
[1,0,0],
body
)
).toBuffer().buffer;
console.log( toHex( compiled ) );