Crate miden_core

Crate miden_core 

Source

Re-exports§

pub use stack::StackInputs;
pub use stack::StackOutputs;

Modules§

chiplets
crypto
errors
mast
polynom
Basic polynomial operations.
precompile
Precompile framework for deferred verification in the Miden VM.
prettier
stack
sys_events
utils

Macros§

assert_matches
This is an implementation of std::assert_matches::assert_matches so it can be removed when that feature stabilizes upstream
newtype_id
Macro to create a newtyped ID that implements Idx.

Structs§

AdviceMap
Defines a set of non-deterministic (advice) inputs which the VM can access by their keys.
AssemblyOp
Contains information corresponding to an assembly instruction (only applicable in debug mode).
DenseIdMap
A dense mapping from ID to ID.
EventId
A type-safe wrapper around a Felt that represents an event identifier.
EventName
A human-readable name for an event.
Felt
Represents base field element in the field using Montgomery representation.
IndexVec
A dense vector indexed by ID types.
Kernel
A list of procedure hashes defining a VM kernel.
LexicographicWord
A Word wrapper with lexicographic ordering.
Program
An executable program for Miden VM.
ProgramInfo
A program information set consisting of its MAST root and set of kernel procedure roots used for its compilation.
QuadExtension
Represents an element in a quadratic extension of a StarkField.
Word
A unit of data consisting of 4 field elements.

Enums§

DebugOptions
Options of the Debug decorator.
Decorator
A set of decorators which can be executed by the VM.
IndexedVecError
Error returned when too many items are added to an IndexedVec.
Operation
A set of native VM operations which take exactly one cycle to execute.

Constants§

EMPTY_WORD
Array of field elements representing word of ZEROs in the Miden base field.
FMP_ADDR
The address where the frame pointer is stored in memory.
FMP_INIT_VALUE
The initial value for the frame pointer, corresponding to the start address for procedure locals.
ONE
Field element representing ONE in the Miden base filed.
OPCODE_ADD
OPCODE_ADVPOP
OPCODE_ADVPOPW
OPCODE_AND
OPCODE_ASSERT
OPCODE_CALL
OPCODE_CALLER
OPCODE_CLK
OPCODE_CSWAP
OPCODE_CSWAPW
OPCODE_DROP
OPCODE_DUP0
OPCODE_DUP1
OPCODE_DUP2
OPCODE_DUP3
OPCODE_DUP4
OPCODE_DUP5
OPCODE_DUP6
OPCODE_DUP7
OPCODE_DUP9
OPCODE_DUP11
OPCODE_DUP13
OPCODE_DUP15
OPCODE_DYN
OPCODE_DYNCALL
OPCODE_EMIT
OPCODE_END
OPCODE_EQ
OPCODE_EQZ
OPCODE_EVALCIRCUIT
OPCODE_EXPACC
OPCODE_EXT2MUL
OPCODE_FRIE2F4
OPCODE_HALT
OPCODE_HORNERBASE
OPCODE_HORNEREXT
OPCODE_HPERM
OPCODE_INCR
OPCODE_INV
OPCODE_JOIN
OPCODE_LOGPRECOMPILE
OPCODE_LOOP
OPCODE_MLOAD
OPCODE_MLOADW
OPCODE_MOVDN2
OPCODE_MOVDN3
OPCODE_MOVDN4
OPCODE_MOVDN5
OPCODE_MOVDN6
OPCODE_MOVDN7
OPCODE_MOVDN8
OPCODE_MOVUP2
OPCODE_MOVUP3
OPCODE_MOVUP4
OPCODE_MOVUP5
OPCODE_MOVUP6
OPCODE_MOVUP7
OPCODE_MOVUP8
OPCODE_MPVERIFY
OPCODE_MRUPDATE
OPCODE_MSTORE
OPCODE_MSTOREW
OPCODE_MSTREAM
OPCODE_MUL
OPCODE_NEG
OPCODE_NOOP
OPCODE_NOT
OPCODE_OR
OPCODE_PAD
OPCODE_PIPE
OPCODE_PUSH
OPCODE_REPEAT
OPCODE_RESPAN
OPCODE_SDEPTH
OPCODE_SPAN
OPCODE_SPLIT
OPCODE_SWAP
OPCODE_SWAPDW
OPCODE_SWAPW
OPCODE_SWAPW2
OPCODE_SWAPW3
OPCODE_SYSCALL
OPCODE_U32ADD
OPCODE_U32ADD3
OPCODE_U32AND
OPCODE_U32ASSERT2
OPCODE_U32DIV
OPCODE_U32MADD
OPCODE_U32MUL
OPCODE_U32SPLIT
OPCODE_U32SUB
OPCODE_U32XOR
WORD_SIZE
Number of field elements in a word.
ZERO
Field element representing ZERO in the Miden base filed.

Traits§

ExtensionOf
Specifies that a field is an extension of another field.
FieldElement
Defines an element in a finite field.
Idx
A trait for u32-backed, 0-based IDs.
LookupByIdx
A trait for looking up values by ID.
StarkField
Defines an element in a STARK-friendly finite field.
ToElements
Defines how to convert a struct to a vector of field elements.

Type Aliases§

DecoratorList
Vector consisting of a tuple of operation index (within a span block) and decorator at that index.
QuadFelt