plutus-core-1.50.0.0: Language library for Plutus Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

UntypedPlutusCore.Evaluation.Machine.Cek.EmitterMode

Synopsis

Documentation

noEmitterEmitterMode uni fun Source #

No emitter.

logEmitterEmitterMode uni fun Source #

Emits log only.

logWithTimeEmitterEmitterMode uni fun Source #

Emits log with timestamp.

logWithBudgetEmitterEmitterMode uni fun Source #

Emits log with the budget.

logWithCallTraceEmitterEmitterMode uni fun Source #

Emits log and, when script evaluation fails, call trace.

This requires script to be compiled with `PlutusTx.Plugin:profile-all` turned on because this relies on compiler-generated trace calls that notifies entrance and exit of a function call. These traces that mark entrance and exit are ordinary traces like "-> rob:Example.hs:3:1-3:15" and "<- bob:Example.hs:1:1-1:13" with "->" and "<-" prefixies, where "bob" and "rob" is the name of the function with source span. If regular script with no entrance/exit marker is given, this emitter will behave identically to logEmitter.

When script evaluation fails, this emitter will give call trace of the functions that led to the evaluation failure. This is useful for pin-pointing specific area of the codebase that caused failure when debugging a script. When script evaluation passes, every trace message generated by `profile-all` flag will be removed, and this emitter will behave identically to logEmitter.

Orphan instances

ToField ExCPU Source # 
Instance details

Methods

toFieldExCPU → Field

ToField ExMemory Source # 
Instance details

Methods

toFieldExMemory → Field