PlutusVM

scalus.uplc.eval.PlutusVM
class PlutusVM(platformSpecific: PlatformSpecific)

Plutus VM facade.

Value parameters

platformSpecific

The platform specific implementation of certain functions used by VM builtins

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object VM

Members list

Type members

Types

type ScriptForEvaluation = Array[Byte]

Value members

Concrete methods

def evaluateDebug(term: Term, params: MachineParams): Result

Evaluates a UPLC term, capturing the execution budget, evaluation logs and costs.

Evaluates a UPLC term, capturing the execution budget, evaluation logs and costs.

Attributes

Returns

Result with the resulting term, the execution budget, evaluation logs and costs, and an exception if the evaluation failed

Evaluates a UPLC Program using default CEK machine parameters and no budget calculation.

Evaluates a UPLC Program using default CEK machine parameters and no budget calculation.

Useful for testing and debugging.

Attributes

Evaluates a script, returning the minimum budget that the script would need to evaluate. This will take as long as the script takes.

Evaluates a script, returning the minimum budget that the script would need to evaluate. This will take as long as the script takes.

Value parameters

args

The arguments to the script

params

The machine parameters

script

Flat encoded script to evaluate

Attributes

Returns

CekResult with the resulting term and the execution budget

Evaluates a script, returning the execution budget and logs.

Evaluates a script, returning the execution budget and logs.

Value parameters

args

The arguments to the script

budget

The budget to restrict the evaluation

params

The machine parameters

script

Flat encoded script to evaluate

Attributes

Returns

CekResult with the resulting term and the execution budget

def evaluateTerm(term: Term, params: MachineParams): Term

Evaluates a UPLC term using default CEK machine parameters and no budget calculation.

Evaluates a UPLC term using default CEK machine parameters and no budget calculation.

Useful for testing and debugging.

Value parameters

term

The debruijned term to evaluate

Attributes

Returns

The resulting term

Throws
StackTraceMachineError

subtypes if the evaluation fails