Crate risc0_ethereum_contracts

Source

Re-exports§

Modules§

Structs§

  • @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.

Enums§

  • DecodingErrorNon-target_os="zkvm"
  • ErrorNon-target_os="zkvm"
  • @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.

Functions§

  • Encode the seal of the given receipt for use with EVM smart contract verifiers.