@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 Output field in the ReceiptClaim
, committing to a claimed journal and assumptions list.
@notice A receipt attesting to the execution of a guest program.
@dev A receipt contains two parts: a seal and a claim. The seal is a zero-knowledge proof
attesting to knowledge of a zkVM execution resulting in the claim. The claim is a set of public
outputs for the execution. Crucially, the claim includes the journal and the image ID. The
image ID identifies the program that was executed, and the journal is the public data written
by the program. Note that this struct only contains the claim digest, as can be obtained with
the digest()
function on ReceiptClaimLib
.
@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.
Seal of the SetInclusionReceipt.
@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
.