noir-lang/acvm

Replace BlackBox functions vendoring from backend to library

Closed this issue · 2 comments

As a Developer
I would like to be able to resolve BlackBox functions from library linked to execution
so that I am no tightly coupled with backend providing those (currently through Barretenberg backend).

AC:

  1. acvm-backend-barretenberg should be replaced while BlackBox functions are resolved with a library providing those.

We could approach this in two ways:

  • Move the barretenberg wasm binary from acvm_js to another crate which gets included in the acvm crate by default
  • Bring the barretenberg wasm binary up to nargo and then pass it in to ACVM similarly to how we do now but as a BlackBoxSolver rather than as a Backend.

The first is preferable but will need testing to ensure that this works across targets nicely. The second is definitely possible but prevents encapsulation of this barretenberg wasm.

This can be closed as acvm-blackbox-solver exposes these functions.