plutus-tx-1.49.0.0: Libraries for Plutus Tx and its prelude
Safe HaskellSafe-Inferred
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 

Fields

  • ByteString

    Serialized UPLC program of type 'UPLC.Program NamedDeBruijn uni fun SrcSpans'.

  • (Maybe ByteString)

    Serialized PIR program of type 'PIR.Program PIR.TyName PIR.Name uni fun SrcSpans'.

  • CoverageIndex
     
DeserializedCode 

Fields

type CompiledCode = CompiledCodeIn DefaultUni DefaultFun Source #

CompiledCodeIn instantiated with default built-in types and functions.

applyCode ∷ (Closed uni, uni `Everywhere` Flat, Flat fun, Pretty fun, Everywhere uni PrettyConst, PrettyBy RenderContext (SomeTypeIn uni)) ⇒ CompiledCodeIn uni fun (a → b) → CompiledCodeIn uni fun a → Either String (CompiledCodeIn uni fun b) Source #

Apply a compiled function to a compiled argument. Will fail if the versions don't match.

unsafeApplyCode ∷ (Closed uni, uni `Everywhere` Flat, Flat fun, Pretty fun, Everywhere uni PrettyConst, PrettyBy RenderContext (SomeTypeIn uni)) ⇒ CompiledCodeIn uni fun (a → b) → CompiledCodeIn uni fun a → CompiledCodeIn uni fun b Source #

Apply a compiled function to a compiled argument. Will throw if the versions don't match, should only be used in non-production code.

countAstNodes ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Integer Source #

The size of a CompiledCodeIn as measured in AST nodes.

getPlc ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Program NamedDeBruijn uni fun SrcSpans Source #

Get the actual Plutus Core program out of a CompiledCodeIn.

getPlcNoAnn ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Program NamedDeBruijn uni fun () Source #

getPir ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Maybe (Program TyName Name uni fun SrcSpans) Source #

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

getPirNoAnn ∷ (Closed uni, uni `Everywhere` Flat, Flat fun) ⇒ CompiledCodeIn uni fun a → Maybe (Program TyName Name uni fun ()) Source #