@notice Exit condition indicated by the zkVM at the end of the guest execution.
@dev Exit codes have a “system” part and a “user” part. Semantically, the system part is set to
indicate the type of exit (e.g. halt, pause, or system split) and is directly controlled by the
zkVM. The user part is an exit code, similar to exit codes used in Linux, chosen by the guest
program to indicate additional information (e.g. 0 to indicate success or 1 to indicate an
error).
@notice Public claims about a zkVM guest execution, such as the journal committed to by the guest.
@dev Also includes important information such as the exit code and the starting and ending system
state (i.e. the state of memory). ReceiptClaim is a “Merkle-ized struct” supporting
partial openings of the underlying fields from a hash commitment to the full structure.
@notice Commitment to the memory state and program counter (pc) of the zkVM.
@dev The “pre” and “post” fields of the ReceiptClaim are digests of the system state at the
start are stop of execution. Programs are loaded into the zkVM by creating a memory image
of the loaded program, and creating a system state for initializing the zkVM. This is
known as the “image ID”.
@notice Error raised when cryptographic verification of the zero-knowledge proof fails.
Custom error with signature VerificationFailed() and selector 0x439cc0cd.
@notice Exit condition indicated by the zkVM at the end of the execution covered by this proof.
@dev
Halted indicates normal termination of a program with an interior exit code returned from the
guest program. A halted program cannot be resumed.