Crate acvm

Source

Re-exports§

Modules§

  • The compiler module contains several pass to transform an ACIR program. Roughly, the passes are spearated into the optimizers which try to reduce the number of opcodes and the transformers which adapt the opcodes to the proving backend.
  • 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§

Enums§

Traits§

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

Type Aliases§