Module mast

Source

Structs§

BasicBlockNode
Block for a linear sequence of operations (i.e., no branching or loops).
CallNode
A Call node describes a function call such that the callee is executed in a different execution context from the currently executing code.
DecoratorId
An opaque handle to a Decorator in some MastForest. It is the responsibility of the user to use a given DecoratorId with the corresponding MastForest.
DynNode
A Dyn node specifies that the node to be executed next is defined dynamically via the stack.
ExternalNode
Node for referencing procedures not present in a given MastForest (hence “external”).
JoinNode
A Join node describe sequential execution. When the VM encounters a Join node, it executes the first child first and the second child second.
LoopNode
A Loop node defines condition-controlled iterative execution. When the VM encounters a Loop node, it will keep executing the body of the loop as long as the top of the stack is `1``.
MastForest
Represents one or more procedures, represented as a collection of MastNodes.
MastForestRootMap
A mapping for the new location of the roots of a MastForest after a merge.
MastNodeFingerprint
Represents the hash used to test for equality between MastNodes.
MastNodeId
An opaque handle to a MastNode in some MastForest. It is the responsibility of the user to use a given MastNodeId with the corresponding MastForest.
OpBatch
A batch of operations in a span block.
SplitNode
A Split node defines conditional execution. When the VM encounters a Split node it executes either the on_true child or on_false child.
SubtreeIterator
Iterates over all the nodes a root depends on, in pre-order. The iteration can include other roots in the same forest.

Enums§

MastForestError
Represents the types of errors that can occur when dealing with MAST forest.
MastNode
OperationOrDecorator
Encodes either an Operation or a crate::Decorator.

Constants§

OP_BATCH_SIZE
Maximum number of groups per batch.
OP_GROUP_SIZE
Maximum number of operations per group.

Traits§

MastNodeExt
A trait for extending the functionality of all MastNodes.

Functions§

error_code_from_msg
Derives an error code from an error message by hashing the message and interpreting the first 64 bits as a Felt.

Type Aliases§

DecoratorFingerprint
Remapping
Operations that mutate a MAST often produce this mapping between old and new NodeIds.