Crate acvm

Source

Re-exports§

pub use acir;
pub use brillig_vm;
pub use acvm_blackbox_solver as blackbox_solver;

Modules§

compiler
The compiler module contains several passes to transform an ACIR program. Roughly, the passes are separated into the optimizers which try to reduce the number of opcodes and the transformers which adapt the opcodes to the proving backend.
pwg
This module contains methods to implement the partial witness generation (PWG) of an ACIR program. The goal of ACIR execution is to compute the values of all the ACIR witnesses, or an error if it could not compute them all. A proving system will then be able to use the ACIR circuit and the values of the ACIR witnesses to generate a proof of this execution. The ACIR opcodes are not modified by the execution. Witness generation means getting valid values for the witnesses used by the ACIR opcodes of the program. They are called partial witness because a proving system may create additional witnesses on its own for generating the proof (and a corresponding low-level circuit). The PWG generates values for all the witnesses of the ACIR program, or returns an error if it cannot do it.

Macros§

assert_circuit_snapshot

Enums§

BlackBoxResolutionError

Traits§

AcirField
This trait is extremely unstable and WILL have breaking changes.
BlackBoxFunctionSolver
This component will generate outputs for Blackbox function calls where the underlying [acir::BlackBoxFunc] doesn’t have a canonical Rust implementation.

Type Aliases§

FieldElement