plutus-tx-0.1.0.0: Libraries for Plutus Tx and its prelude
Safe HaskellNone
LanguageHaskell2010

PlutusTx.Code

Synopsis

Documentation

data CompiledCodeIn uni fun a Source #

A compiled Plutus Tx program. The last type parameter indicates the type of the Haskell expression that was compiled, and hence the type of the compiled code.

Note: the compiled PLC program does *not* have normalized types, if you want to put it on the chain you must normalize the types first.

Constructors

SerializedCode ByteString (Maybe ByteString) CoverageIndex

Serialized UPLC code and possibly serialized PIR code with metadata used for program coverage.

DeserializedCode (Program NamedDeBruijn uni fun ()) (Maybe (Program TyName Name uni fun ())) CoverageIndex

Deserialized UPLC program, and possibly deserialized PIR program with metadata used for program coverage.

Instances

Instances details
(Closed uni, Everywhere uni Flat, Flat fun, Everywhere uni PrettyConst, GShow uni, Pretty fun) => Flat (CompiledCodeIn uni fun a) Source # 
Instance details

Defined in PlutusTx.Code

Methods

encode :: CompiledCodeIn uni fun a -> Encoding Source #

decode :: Get (CompiledCodeIn uni fun a) Source #

size :: CompiledCodeIn uni fun a -> NumBits -> NumBits Source #

type CompiledCode = CompiledCodeIn DefaultUni DefaultFun Source #

CompiledCodeIn instantiated with default built-in types and functions.

applyCode :: (Closed uni, uni `Everywhere` Flat, Flat fun, uni `Everywhere` PrettyConst, GShow uni, Pretty fun) => CompiledCodeIn uni fun (a -> b) -> CompiledCodeIn uni fun a -> CompiledCodeIn uni fun b Source #

Apply a compiled function to a compiled argument.

sizePlc :: (Closed uni, uni `Everywhere` Flat, Flat fun, uni `Everywhere` PrettyConst, GShow uni, Pretty fun) => CompiledCodeIn uni fun a -> Integer Source #

The size of a CompiledCodeIn, in AST nodes.

getPlc :: (Closed uni, uni `Everywhere` Flat, Flat fun, uni `Everywhere` PrettyConst, GShow uni, Pretty fun) => CompiledCodeIn uni fun a -> Program NamedDeBruijn uni fun () Source #

Get the actual Plutus Core program out of a CompiledCodeIn.

getPir :: (Closed uni, uni `Everywhere` Flat, Flat fun) => CompiledCodeIn uni fun a -> Maybe (Program TyName Name uni fun ()) Source #

Get the Plutus IR program, if there is one, out of a CompiledCodeIn.