-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: honk flows exposed through wasm #6096
Conversation
a775601
to
c39f6d5
Compare
@@ -26,7 +26,7 @@ void ProtoGalaxyVerifier_<VerifierInstances>::prepare_for_folding(const std::vec | |||
if (!inst->is_accumulator) { | |||
receive_and_finalise_instance(inst, domain_separator); | |||
inst->target_sum = 0; | |||
inst->gate_challenges = std::vector<FF>(inst->verification_key->log_circuit_size, 0); | |||
inst->gate_challenges = std::vector<FF>(static_cast<size_t>(inst->verification_key->log_circuit_size), 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
adding static_cast<size_t> to fix compile errors
RUN BIN=../ts/dest/node/main.js FLOW=prove_and_verify_ultra_honk ./run_acir_tests.sh 6_array | ||
RUN BIN=../ts/dest/node/main.js FLOW=prove_and_verify_ultra_honk ./run_acir_tests.sh | ||
# RUn a single arbitrary test for separate prove and verify for UltraHonk | ||
RUN BIN=../ts/dest/node/main.js FLOW=prove_then_verify_ultra_honk ./run_acir_tests.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
currently runs all for safety. Can change to not
@@ -191,3 +191,43 @@ WASM_EXPORT void acir_serialize_verification_key_into_fields(in_ptr acir_compose | |||
*out_vkey = to_heap_buffer(vkey_as_fields); | |||
write(out_key_hash, vk_hash); | |||
} | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
core changes: adding functions that are callable by js that expose honk functionality
fr::out_buf out_key_hash); | ||
|
||
WASM_EXPORT void acir_prove_ultra_honk(uint8_t const* acir_vec, uint8_t const* witness_vec, uint8_t** out); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure why I don't have to add the other 2 functions in the hpp, but there aren't any errors from missing them
size_t circuit_size; | ||
size_t log_circuit_size; | ||
size_t num_public_inputs; | ||
uint64_t circuit_size; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
had to change these to serializable types (uint64_t), but this led to many compile errors relating to implicit conversions losing precision, so I had to add many static_casts as a temporary fix. The long term fix should be using uint32_t/uint64_t instead of size_t by default in most places that aren't accessing memory
@@ -567,6 +567,42 @@ export class BarretenbergApi { | |||
const out = result.map((r, i) => outTypes[i].fromBuffer(r)); | |||
return out as any; | |||
} | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
core change: adding the functions to the bb api
barretenberg/ts/src/main.ts
Outdated
@@ -71,6 +71,32 @@ async function init(bytecodePath: string, crsPath: string, subgroupSizeOverride | |||
return { api, acirComposer, circuitSize, subgroupSize }; | |||
} | |||
|
|||
async function initUltraHonk(bytecodePath: string, crsPath: string, subgroupSizeOverride = -1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could do away with this new init function by just using the existing one. The only difference is that this one doesn't create an acirComposer
@@ -358,6 +384,56 @@ export async function vkAsFields(vkPath: string, vkeyOutputPath: string) { | |||
} | |||
} | |||
|
|||
export async function proveUltraHonk(bytecodePath: string, witnessPath: string, crsPath: string, outputPath: string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
core change: exposing the functions in main
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM once passing
@@ -16,7 +16,9 @@ ENV VERBOSE=1 | |||
# Run double_verify_proof through bb.js on node to check 512k support. | |||
RUN BIN=../ts/dest/node/main.js FLOW=prove_then_verify ./run_acir_tests.sh double_verify_proof | |||
# Run a single arbitrary test not involving recursion through bb.js for UltraHonk | |||
RUN BIN=../ts/dest/node/main.js FLOW=prove_and_verify_ultra_honk ./run_acir_tests.sh 6_array | |||
RUN BIN=../ts/dest/node/main.js FLOW=prove_and_verify_ultra_honk ./run_acir_tests.sh | |||
# RUn a single arbitrary test for separate prove and verify for UltraHonk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RUn -> Run
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.37.1</summary> ## [0.37.1](aztec-package-v0.37.0...aztec-package-v0.37.1) (2024-05-07) ### Features * Proving benchmark ([#6051](#6051)) ([644bd85](644bd85)) </details> <details><summary>barretenberg.js: 0.37.1</summary> ## [0.37.1](barretenberg.js-v0.37.0...barretenberg.js-v0.37.1) (2024-05-07) ### Features * Honk flows exposed through wasm ([#6096](#6096)) ([c9b3206](c9b3206)) * Run noir-packages-test in Earthly ([#6174](#6174)) ([58e40c9](58e40c9)) ### Miscellaneous * Bump bb.js timeouts ([#6196](#6196)) ([acab3de](acab3de)) * Migrate acir tests to earthly ([#6142](#6142)) ([18c8ea8](18c8ea8)) </details> <details><summary>aztec-packages: 0.37.1</summary> ## [0.37.1](aztec-packages-v0.37.0...aztec-packages-v0.37.1) (2024-05-07) ### Features * Add ciphertext computation for log header ([#6175](#6175)) ([3e05534](3e05534)) * Add proving retries ([#6145](#6145)) ([39ab99c](39ab99c)) * Add public teardown to circuit structs ([#6191](#6191)) ([03e1b93](03e1b93)) * Always including debug data in a function artifact ([#6223](#6223)) ([5d6d22c](5d6d22c)) * **avm:** Add TransactionFee opcode to simulator ([#6210](#6210)) ([fcac844](fcac844)) * Complex outputs from acir call (noir-lang/noir#4952) ([3ed41a0](3ed41a0)) * Expose set_public_teardown_function in private context ([#6199](#6199)) ([4d8b51c](4d8b51c)) * Handle empty response foreign calls without an external resolver (noir-lang/noir#4959) ([3ed41a0](3ed41a0)) * Hash logs inside circuit ([#5934](#5934)) ([6b99527](6b99527)) * Honk flows exposed through wasm ([#6096](#6096)) ([c9b3206](c9b3206)) * Include transaction fee in txreceipt ([#6139](#6139)) ([6785512](6785512)) * Making keys getters complete ([#6171](#6171)) ([e85dde9](e85dde9)) * Move noir-tests to earthly ([#6185](#6185)) ([4daea40](4daea40)) * Note hash read requests fixes and refactoring ([#6125](#6125)) ([9d03f34](9d03f34)) * Optimize array sets in if conditions (alternate version) (noir-lang/noir#4716) ([3ed41a0](3ed41a0)) * Osxcross ([#6099](#6099)) ([6cc924d](6cc924d)) * Parsing non-string assertion payloads in noir js ([#6079](#6079)) ([fbd78fd](fbd78fd)) * Proving benchmark ([#6051](#6051)) ([644bd85](644bd85)) * Proving the private kernels and app circuits ([#6112](#6112)) ([4a43fab](4a43fab)) * Publish transaction_fee ([#6126](#6126)) ([6f3a036](6f3a036)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](#6150)) ([acc8641](acc8641)) * Run noir-packages-test in Earthly ([#6174](#6174)) ([58e40c9](58e40c9)) * Set aztec private functions to be recursive ([#6192](#6192)) ([22625f8](22625f8)) * Use actual tx fee in gas token when charging fee ([#6166](#6166)) ([8418eac](8418eac)) ### Bug Fixes * **abstract-phase-manager:** Get available gas from latest kernel output ([#6102](#6102)) ([0fa509b](0fa509b)) * Aztec-run not exposing port for builder ([#6241](#6241)) ([a80c091](a80c091)) * Boxes use base image ([#6120](#6120)) ([ef2589a](ef2589a)) * Correct circuit size estimation for UltraHonk ([#6164](#6164)) ([ed84fe3](ed84fe3)) * Docs release ci setup ([#6159](#6159)) ([6d5cfe6](6d5cfe6)) * **docs:** Fix broken link in tree implementations page ([#6143](#6143)) ([b39f1db](b39f1db)) * **docs:** Update sandbox reference ([#6094](#6094)) ([0641085](0641085)) * Increase default number of proving agents ([#6146](#6146)) ([5ade36e](5ade36e)) * Install aztec-builder ([#6149](#6149)) ([0497dcf](0497dcf)) * **public-kernel:** Only validate start-gas for execution requests ([#6100](#6100)) ([3ec9303](3ec9303)) * Scope netlify to yarn bin ([#6162](#6162)) ([be8e3c0](be8e3c0)) * Set up the ci runner for doc deployment ([#6160](#6160)) ([e295900](e295900)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](#6218)) ([f4ecea5](f4ecea5)) * Use annotated type when checking declaration (noir-lang/noir#4966) ([3ed41a0](3ed41a0)) * Use pushed build images. ([#6154](#6154)) ([426f7a7](426f7a7)) * Use random id for proving jobs ([#6084](#6084)) ([0e0fc58](0e0fc58)) * Various aztec-builder issues ([#6233](#6233)) ([9a644ba](9a644ba)) ### Miscellaneous * **avm-simulator:** Avm's nested calls now stay internal and properly track PublicExecutionResult ([#6165](#6165)) ([9fd4f39](9fd4f39)) * **avm-simulator:** Make shifts take u8 ([#5905](#5905)) ([4719ff1](4719ff1)) * **avm-simulator:** Track recursive public execution result in avm-simulator for integration with old kernel ([#6106](#6106)) ([df3bcc6](df3bcc6)) * Bump bb.js timeouts ([#6196](#6196)) ([acab3de](acab3de)) * Check root parity is only enqueued once its deps are ready ([#6015](#6015)) ([c1120d1](c1120d1)) * **ci:** Force earthly prune if corrupted cache ([#6152](#6152)) ([3910314](3910314)) * **ci:** Improve dependency structure ([#6200](#6200)) ([3abc862](3abc862)) * **ci:** Migrate `protocol-circuits-gate-diff` to earthly ([#6204](#6204)) ([4b43295](4b43295)) * **ci:** More stable spot request ([#6212](#6212)) ([00156b5](00156b5)) * **ci:** Optimize e2e build ([#6202](#6202)) ([4614059](4614059)) * **ci:** Rollback earthly prune ([#6208](#6208)) ([3ccc6ac](3ccc6ac)) * **ci:** Try to make base image more stable ([#6144](#6144)) ([979a22d](979a22d)) * E2e workaround ([#6158](#6158)) ([7794d78](7794d78)) * Migrate acir tests to earthly ([#6142](#6142)) ([18c8ea8](18c8ea8)) * Rename instruction checks for side effects (noir-lang/noir#4945) ([3ed41a0](3ed41a0)) * Replace relative paths to noir-protocol-circuits ([cf543a6](cf543a6)) * Replace relative paths to noir-protocol-circuits ([53cf7bb](53cf7bb)) * Replace relative paths to noir-protocol-circuits ([ca29cea](ca29cea)) * Replace relative paths to noir-protocol-circuits ([08e538b](08e538b)) * Speedup static_call test ([#6157](#6157)) ([abe8875](abe8875)) * Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) ([3ed41a0](3ed41a0)) * Use correct call type ([#6064](#6064)) ([b3ae289](b3ae289)) ### Documentation * Add GlobalVariables to CombinedConstantData ([#6071](#6071)) ([cf026d2](cf026d2)) * Update fees kernel tracking docs ([#6151](#6151)) ([7d80428](7d80428)) </details> <details><summary>barretenberg: 0.37.1</summary> ## [0.37.1](barretenberg-v0.37.0...barretenberg-v0.37.1) (2024-05-07) ### Features * **avm:** Add TransactionFee opcode to simulator ([#6210](#6210)) ([fcac844](fcac844)) * Honk flows exposed through wasm ([#6096](#6096)) ([c9b3206](c9b3206)) * Osxcross ([#6099](#6099)) ([6cc924d](6cc924d)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](#6150)) ([acc8641](acc8641)) ### Bug Fixes * Correct circuit size estimation for UltraHonk ([#6164](#6164)) ([ed84fe3](ed84fe3)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](#6218)) ([f4ecea5](f4ecea5)) ### Miscellaneous * Migrate acir tests to earthly ([#6142](#6142)) ([18c8ea8](18c8ea8)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@aztec-package-v0.37.0...aztec-package-v0.37.1) (2024-05-07) ### Features * Proving benchmark ([#6051](AztecProtocol/aztec-packages#6051)) ([644bd85](AztecProtocol/aztec-packages@644bd85)) </details> <details><summary>barretenberg.js: 0.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@barretenberg.js-v0.37.0...barretenberg.js-v0.37.1) (2024-05-07) ### Features * Honk flows exposed through wasm ([#6096](AztecProtocol/aztec-packages#6096)) ([c9b3206](AztecProtocol/aztec-packages@c9b3206)) * Run noir-packages-test in Earthly ([#6174](AztecProtocol/aztec-packages#6174)) ([58e40c9](AztecProtocol/aztec-packages@58e40c9)) ### Miscellaneous * Bump bb.js timeouts ([#6196](AztecProtocol/aztec-packages#6196)) ([acab3de](AztecProtocol/aztec-packages@acab3de)) * Migrate acir tests to earthly ([#6142](AztecProtocol/aztec-packages#6142)) ([18c8ea8](AztecProtocol/aztec-packages@18c8ea8)) </details> <details><summary>aztec-packages: 0.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@aztec-packages-v0.37.0...aztec-packages-v0.37.1) (2024-05-07) ### Features * Add ciphertext computation for log header ([#6175](AztecProtocol/aztec-packages#6175)) ([3e05534](AztecProtocol/aztec-packages@3e05534)) * Add proving retries ([#6145](AztecProtocol/aztec-packages#6145)) ([39ab99c](AztecProtocol/aztec-packages@39ab99c)) * Add public teardown to circuit structs ([#6191](AztecProtocol/aztec-packages#6191)) ([03e1b93](AztecProtocol/aztec-packages@03e1b93)) * Always including debug data in a function artifact ([#6223](AztecProtocol/aztec-packages#6223)) ([5d6d22c](AztecProtocol/aztec-packages@5d6d22c)) * **avm:** Add TransactionFee opcode to simulator ([#6210](AztecProtocol/aztec-packages#6210)) ([fcac844](AztecProtocol/aztec-packages@fcac844)) * Complex outputs from acir call (noir-lang/noir#4952) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Expose set_public_teardown_function in private context ([#6199](AztecProtocol/aztec-packages#6199)) ([4d8b51c](AztecProtocol/aztec-packages@4d8b51c)) * Handle empty response foreign calls without an external resolver (noir-lang/noir#4959) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Hash logs inside circuit ([#5934](AztecProtocol/aztec-packages#5934)) ([6b99527](AztecProtocol/aztec-packages@6b99527)) * Honk flows exposed through wasm ([#6096](AztecProtocol/aztec-packages#6096)) ([c9b3206](AztecProtocol/aztec-packages@c9b3206)) * Include transaction fee in txreceipt ([#6139](AztecProtocol/aztec-packages#6139)) ([6785512](AztecProtocol/aztec-packages@6785512)) * Making keys getters complete ([#6171](AztecProtocol/aztec-packages#6171)) ([e85dde9](AztecProtocol/aztec-packages@e85dde9)) * Move noir-tests to earthly ([#6185](AztecProtocol/aztec-packages#6185)) ([4daea40](AztecProtocol/aztec-packages@4daea40)) * Note hash read requests fixes and refactoring ([#6125](AztecProtocol/aztec-packages#6125)) ([9d03f34](AztecProtocol/aztec-packages@9d03f34)) * Optimize array sets in if conditions (alternate version) (noir-lang/noir#4716) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Osxcross ([#6099](AztecProtocol/aztec-packages#6099)) ([6cc924d](AztecProtocol/aztec-packages@6cc924d)) * Parsing non-string assertion payloads in noir js ([#6079](AztecProtocol/aztec-packages#6079)) ([fbd78fd](AztecProtocol/aztec-packages@fbd78fd)) * Proving benchmark ([#6051](AztecProtocol/aztec-packages#6051)) ([644bd85](AztecProtocol/aztec-packages@644bd85)) * Proving the private kernels and app circuits ([#6112](AztecProtocol/aztec-packages#6112)) ([4a43fab](AztecProtocol/aztec-packages@4a43fab)) * Publish transaction_fee ([#6126](AztecProtocol/aztec-packages#6126)) ([6f3a036](AztecProtocol/aztec-packages@6f3a036)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](AztecProtocol/aztec-packages#6150)) ([acc8641](AztecProtocol/aztec-packages@acc8641)) * Run noir-packages-test in Earthly ([#6174](AztecProtocol/aztec-packages#6174)) ([58e40c9](AztecProtocol/aztec-packages@58e40c9)) * Set aztec private functions to be recursive ([#6192](AztecProtocol/aztec-packages#6192)) ([22625f8](AztecProtocol/aztec-packages@22625f8)) * Use actual tx fee in gas token when charging fee ([#6166](AztecProtocol/aztec-packages#6166)) ([8418eac](AztecProtocol/aztec-packages@8418eac)) ### Bug Fixes * **abstract-phase-manager:** Get available gas from latest kernel output ([#6102](AztecProtocol/aztec-packages#6102)) ([0fa509b](AztecProtocol/aztec-packages@0fa509b)) * Aztec-run not exposing port for builder ([#6241](AztecProtocol/aztec-packages#6241)) ([a80c091](AztecProtocol/aztec-packages@a80c091)) * Boxes use base image ([#6120](AztecProtocol/aztec-packages#6120)) ([ef2589a](AztecProtocol/aztec-packages@ef2589a)) * Correct circuit size estimation for UltraHonk ([#6164](AztecProtocol/aztec-packages#6164)) ([ed84fe3](AztecProtocol/aztec-packages@ed84fe3)) * Docs release ci setup ([#6159](AztecProtocol/aztec-packages#6159)) ([6d5cfe6](AztecProtocol/aztec-packages@6d5cfe6)) * **docs:** Fix broken link in tree implementations page ([#6143](AztecProtocol/aztec-packages#6143)) ([b39f1db](AztecProtocol/aztec-packages@b39f1db)) * **docs:** Update sandbox reference ([#6094](AztecProtocol/aztec-packages#6094)) ([0641085](AztecProtocol/aztec-packages@0641085)) * Increase default number of proving agents ([#6146](AztecProtocol/aztec-packages#6146)) ([5ade36e](AztecProtocol/aztec-packages@5ade36e)) * Install aztec-builder ([#6149](AztecProtocol/aztec-packages#6149)) ([0497dcf](AztecProtocol/aztec-packages@0497dcf)) * **public-kernel:** Only validate start-gas for execution requests ([#6100](AztecProtocol/aztec-packages#6100)) ([3ec9303](AztecProtocol/aztec-packages@3ec9303)) * Scope netlify to yarn bin ([#6162](AztecProtocol/aztec-packages#6162)) ([be8e3c0](AztecProtocol/aztec-packages@be8e3c0)) * Set up the ci runner for doc deployment ([#6160](AztecProtocol/aztec-packages#6160)) ([e295900](AztecProtocol/aztec-packages@e295900)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](AztecProtocol/aztec-packages#6218)) ([f4ecea5](AztecProtocol/aztec-packages@f4ecea5)) * Use annotated type when checking declaration (noir-lang/noir#4966) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Use pushed build images. ([#6154](AztecProtocol/aztec-packages#6154)) ([426f7a7](AztecProtocol/aztec-packages@426f7a7)) * Use random id for proving jobs ([#6084](AztecProtocol/aztec-packages#6084)) ([0e0fc58](AztecProtocol/aztec-packages@0e0fc58)) * Various aztec-builder issues ([#6233](AztecProtocol/aztec-packages#6233)) ([9a644ba](AztecProtocol/aztec-packages@9a644ba)) ### Miscellaneous * **avm-simulator:** Avm's nested calls now stay internal and properly track PublicExecutionResult ([#6165](AztecProtocol/aztec-packages#6165)) ([9fd4f39](AztecProtocol/aztec-packages@9fd4f39)) * **avm-simulator:** Make shifts take u8 ([#5905](AztecProtocol/aztec-packages#5905)) ([4719ff1](AztecProtocol/aztec-packages@4719ff1)) * **avm-simulator:** Track recursive public execution result in avm-simulator for integration with old kernel ([#6106](AztecProtocol/aztec-packages#6106)) ([df3bcc6](AztecProtocol/aztec-packages@df3bcc6)) * Bump bb.js timeouts ([#6196](AztecProtocol/aztec-packages#6196)) ([acab3de](AztecProtocol/aztec-packages@acab3de)) * Check root parity is only enqueued once its deps are ready ([#6015](AztecProtocol/aztec-packages#6015)) ([c1120d1](AztecProtocol/aztec-packages@c1120d1)) * **ci:** Force earthly prune if corrupted cache ([#6152](AztecProtocol/aztec-packages#6152)) ([3910314](AztecProtocol/aztec-packages@3910314)) * **ci:** Improve dependency structure ([#6200](AztecProtocol/aztec-packages#6200)) ([3abc862](AztecProtocol/aztec-packages@3abc862)) * **ci:** Migrate `protocol-circuits-gate-diff` to earthly ([#6204](AztecProtocol/aztec-packages#6204)) ([4b43295](AztecProtocol/aztec-packages@4b43295)) * **ci:** More stable spot request ([#6212](AztecProtocol/aztec-packages#6212)) ([00156b5](AztecProtocol/aztec-packages@00156b5)) * **ci:** Optimize e2e build ([#6202](AztecProtocol/aztec-packages#6202)) ([4614059](AztecProtocol/aztec-packages@4614059)) * **ci:** Rollback earthly prune ([#6208](AztecProtocol/aztec-packages#6208)) ([3ccc6ac](AztecProtocol/aztec-packages@3ccc6ac)) * **ci:** Try to make base image more stable ([#6144](AztecProtocol/aztec-packages#6144)) ([979a22d](AztecProtocol/aztec-packages@979a22d)) * E2e workaround ([#6158](AztecProtocol/aztec-packages#6158)) ([7794d78](AztecProtocol/aztec-packages@7794d78)) * Migrate acir tests to earthly ([#6142](AztecProtocol/aztec-packages#6142)) ([18c8ea8](AztecProtocol/aztec-packages@18c8ea8)) * Rename instruction checks for side effects (noir-lang/noir#4945) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Replace relative paths to noir-protocol-circuits ([cf543a6](AztecProtocol/aztec-packages@cf543a6)) * Replace relative paths to noir-protocol-circuits ([53cf7bb](AztecProtocol/aztec-packages@53cf7bb)) * Replace relative paths to noir-protocol-circuits ([ca29cea](AztecProtocol/aztec-packages@ca29cea)) * Replace relative paths to noir-protocol-circuits ([08e538b](AztecProtocol/aztec-packages@08e538b)) * Speedup static_call test ([#6157](AztecProtocol/aztec-packages#6157)) ([abe8875](AztecProtocol/aztec-packages@abe8875)) * Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Use correct call type ([#6064](AztecProtocol/aztec-packages#6064)) ([b3ae289](AztecProtocol/aztec-packages@b3ae289)) ### Documentation * Add GlobalVariables to CombinedConstantData ([#6071](AztecProtocol/aztec-packages#6071)) ([cf026d2](AztecProtocol/aztec-packages@cf026d2)) * Update fees kernel tracking docs ([#6151](AztecProtocol/aztec-packages#6151)) ([7d80428](AztecProtocol/aztec-packages@7d80428)) </details> <details><summary>barretenberg: 0.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@barretenberg-v0.37.0...barretenberg-v0.37.1) (2024-05-07) ### Features * **avm:** Add TransactionFee opcode to simulator ([#6210](AztecProtocol/aztec-packages#6210)) ([fcac844](AztecProtocol/aztec-packages@fcac844)) * Honk flows exposed through wasm ([#6096](AztecProtocol/aztec-packages#6096)) ([c9b3206](AztecProtocol/aztec-packages@c9b3206)) * Osxcross ([#6099](AztecProtocol/aztec-packages#6099)) ([6cc924d](AztecProtocol/aztec-packages@6cc924d)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](AztecProtocol/aztec-packages#6150)) ([acc8641](AztecProtocol/aztec-packages@acc8641)) ### Bug Fixes * Correct circuit size estimation for UltraHonk ([#6164](AztecProtocol/aztec-packages#6164)) ([ed84fe3](AztecProtocol/aztec-packages@ed84fe3)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](AztecProtocol/aztec-packages#6218)) ([f4ecea5](AztecProtocol/aztec-packages@f4ecea5)) ### Miscellaneous * Migrate acir tests to earthly ([#6142](AztecProtocol/aztec-packages#6142)) ([18c8ea8](AztecProtocol/aztec-packages@18c8ea8)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.37.1</summary> [0.37.1](AztecProtocol/aztec-packages@aztec-package-v0.37.0...aztec-package-v0.37.1) (2024-05-07) * Proving benchmark ([AztecProtocol#6051](AztecProtocol#6051)) ([644bd85](AztecProtocol@644bd85)) </details> <details><summary>barretenberg.js: 0.37.1</summary> [0.37.1](AztecProtocol/aztec-packages@barretenberg.js-v0.37.0...barretenberg.js-v0.37.1) (2024-05-07) * Honk flows exposed through wasm ([AztecProtocol#6096](AztecProtocol#6096)) ([c9b3206](AztecProtocol@c9b3206)) * Run noir-packages-test in Earthly ([AztecProtocol#6174](AztecProtocol#6174)) ([58e40c9](AztecProtocol@58e40c9)) * Bump bb.js timeouts ([AztecProtocol#6196](AztecProtocol#6196)) ([acab3de](AztecProtocol@acab3de)) * Migrate acir tests to earthly ([AztecProtocol#6142](AztecProtocol#6142)) ([18c8ea8](AztecProtocol@18c8ea8)) </details> <details><summary>aztec-packages: 0.37.1</summary> [0.37.1](AztecProtocol/aztec-packages@aztec-packages-v0.37.0...aztec-packages-v0.37.1) (2024-05-07) * Add ciphertext computation for log header ([AztecProtocol#6175](AztecProtocol#6175)) ([3e05534](AztecProtocol@3e05534)) * Add proving retries ([AztecProtocol#6145](AztecProtocol#6145)) ([39ab99c](AztecProtocol@39ab99c)) * Add public teardown to circuit structs ([AztecProtocol#6191](AztecProtocol#6191)) ([03e1b93](AztecProtocol@03e1b93)) * Always including debug data in a function artifact ([AztecProtocol#6223](AztecProtocol#6223)) ([5d6d22c](AztecProtocol@5d6d22c)) * **avm:** Add TransactionFee opcode to simulator ([AztecProtocol#6210](AztecProtocol#6210)) ([fcac844](AztecProtocol@fcac844)) * Complex outputs from acir call (noir-lang/noir#4952) ([3ed41a0](AztecProtocol@3ed41a0)) * Expose set_public_teardown_function in private context ([AztecProtocol#6199](AztecProtocol#6199)) ([4d8b51c](AztecProtocol@4d8b51c)) * Handle empty response foreign calls without an external resolver (noir-lang/noir#4959) ([3ed41a0](AztecProtocol@3ed41a0)) * Hash logs inside circuit ([AztecProtocol#5934](AztecProtocol#5934)) ([6b99527](AztecProtocol@6b99527)) * Honk flows exposed through wasm ([AztecProtocol#6096](AztecProtocol#6096)) ([c9b3206](AztecProtocol@c9b3206)) * Include transaction fee in txreceipt ([AztecProtocol#6139](AztecProtocol#6139)) ([6785512](AztecProtocol@6785512)) * Making keys getters complete ([AztecProtocol#6171](AztecProtocol#6171)) ([e85dde9](AztecProtocol@e85dde9)) * Move noir-tests to earthly ([AztecProtocol#6185](AztecProtocol#6185)) ([4daea40](AztecProtocol@4daea40)) * Note hash read requests fixes and refactoring ([AztecProtocol#6125](AztecProtocol#6125)) ([9d03f34](AztecProtocol@9d03f34)) * Optimize array sets in if conditions (alternate version) (noir-lang/noir#4716) ([3ed41a0](AztecProtocol@3ed41a0)) * Osxcross ([AztecProtocol#6099](AztecProtocol#6099)) ([6cc924d](AztecProtocol@6cc924d)) * Parsing non-string assertion payloads in noir js ([AztecProtocol#6079](AztecProtocol#6079)) ([fbd78fd](AztecProtocol@fbd78fd)) * Proving benchmark ([AztecProtocol#6051](AztecProtocol#6051)) ([644bd85](AztecProtocol@644bd85)) * Proving the private kernels and app circuits ([AztecProtocol#6112](AztecProtocol#6112)) ([4a43fab](AztecProtocol@4a43fab)) * Publish transaction_fee ([AztecProtocol#6126](AztecProtocol#6126)) ([6f3a036](AztecProtocol@6f3a036)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([AztecProtocol#6150](AztecProtocol#6150)) ([acc8641](AztecProtocol@acc8641)) * Run noir-packages-test in Earthly ([AztecProtocol#6174](AztecProtocol#6174)) ([58e40c9](AztecProtocol@58e40c9)) * Set aztec private functions to be recursive ([AztecProtocol#6192](AztecProtocol#6192)) ([22625f8](AztecProtocol@22625f8)) * Use actual tx fee in gas token when charging fee ([AztecProtocol#6166](AztecProtocol#6166)) ([8418eac](AztecProtocol@8418eac)) * **abstract-phase-manager:** Get available gas from latest kernel output ([AztecProtocol#6102](AztecProtocol#6102)) ([0fa509b](AztecProtocol@0fa509b)) * Aztec-run not exposing port for builder ([AztecProtocol#6241](AztecProtocol#6241)) ([a80c091](AztecProtocol@a80c091)) * Boxes use base image ([AztecProtocol#6120](AztecProtocol#6120)) ([ef2589a](AztecProtocol@ef2589a)) * Correct circuit size estimation for UltraHonk ([AztecProtocol#6164](AztecProtocol#6164)) ([ed84fe3](AztecProtocol@ed84fe3)) * Docs release ci setup ([AztecProtocol#6159](AztecProtocol#6159)) ([6d5cfe6](AztecProtocol@6d5cfe6)) * **docs:** Fix broken link in tree implementations page ([AztecProtocol#6143](AztecProtocol#6143)) ([b39f1db](AztecProtocol@b39f1db)) * **docs:** Update sandbox reference ([AztecProtocol#6094](AztecProtocol#6094)) ([0641085](AztecProtocol@0641085)) * Increase default number of proving agents ([AztecProtocol#6146](AztecProtocol#6146)) ([5ade36e](AztecProtocol@5ade36e)) * Install aztec-builder ([AztecProtocol#6149](AztecProtocol#6149)) ([0497dcf](AztecProtocol@0497dcf)) * **public-kernel:** Only validate start-gas for execution requests ([AztecProtocol#6100](AztecProtocol#6100)) ([3ec9303](AztecProtocol@3ec9303)) * Scope netlify to yarn bin ([AztecProtocol#6162](AztecProtocol#6162)) ([be8e3c0](AztecProtocol@be8e3c0)) * Set up the ci runner for doc deployment ([AztecProtocol#6160](AztecProtocol#6160)) ([e295900](AztecProtocol@e295900)) * Sporadic failure of GoblinRecursionTests.Vanilla ([AztecProtocol#6218](AztecProtocol#6218)) ([f4ecea5](AztecProtocol@f4ecea5)) * Use annotated type when checking declaration (noir-lang/noir#4966) ([3ed41a0](AztecProtocol@3ed41a0)) * Use pushed build images. ([AztecProtocol#6154](AztecProtocol#6154)) ([426f7a7](AztecProtocol@426f7a7)) * Use random id for proving jobs ([AztecProtocol#6084](AztecProtocol#6084)) ([0e0fc58](AztecProtocol@0e0fc58)) * Various aztec-builder issues ([AztecProtocol#6233](AztecProtocol#6233)) ([9a644ba](AztecProtocol@9a644ba)) * **avm-simulator:** Avm's nested calls now stay internal and properly track PublicExecutionResult ([AztecProtocol#6165](AztecProtocol#6165)) ([9fd4f39](AztecProtocol@9fd4f39)) * **avm-simulator:** Make shifts take u8 ([AztecProtocol#5905](AztecProtocol#5905)) ([4719ff1](AztecProtocol@4719ff1)) * **avm-simulator:** Track recursive public execution result in avm-simulator for integration with old kernel ([AztecProtocol#6106](AztecProtocol#6106)) ([df3bcc6](AztecProtocol@df3bcc6)) * Bump bb.js timeouts ([AztecProtocol#6196](AztecProtocol#6196)) ([acab3de](AztecProtocol@acab3de)) * Check root parity is only enqueued once its deps are ready ([AztecProtocol#6015](AztecProtocol#6015)) ([c1120d1](AztecProtocol@c1120d1)) * **ci:** Force earthly prune if corrupted cache ([AztecProtocol#6152](AztecProtocol#6152)) ([3910314](AztecProtocol@3910314)) * **ci:** Improve dependency structure ([AztecProtocol#6200](AztecProtocol#6200)) ([3abc862](AztecProtocol@3abc862)) * **ci:** Migrate `protocol-circuits-gate-diff` to earthly ([AztecProtocol#6204](AztecProtocol#6204)) ([4b43295](AztecProtocol@4b43295)) * **ci:** More stable spot request ([AztecProtocol#6212](AztecProtocol#6212)) ([00156b5](AztecProtocol@00156b5)) * **ci:** Optimize e2e build ([AztecProtocol#6202](AztecProtocol#6202)) ([4614059](AztecProtocol@4614059)) * **ci:** Rollback earthly prune ([AztecProtocol#6208](AztecProtocol#6208)) ([3ccc6ac](AztecProtocol@3ccc6ac)) * **ci:** Try to make base image more stable ([AztecProtocol#6144](AztecProtocol#6144)) ([979a22d](AztecProtocol@979a22d)) * E2e workaround ([AztecProtocol#6158](AztecProtocol#6158)) ([7794d78](AztecProtocol@7794d78)) * Migrate acir tests to earthly ([AztecProtocol#6142](AztecProtocol#6142)) ([18c8ea8](AztecProtocol@18c8ea8)) * Rename instruction checks for side effects (noir-lang/noir#4945) ([3ed41a0](AztecProtocol@3ed41a0)) * Replace relative paths to noir-protocol-circuits ([cf543a6](AztecProtocol@cf543a6)) * Replace relative paths to noir-protocol-circuits ([53cf7bb](AztecProtocol@53cf7bb)) * Replace relative paths to noir-protocol-circuits ([ca29cea](AztecProtocol@ca29cea)) * Replace relative paths to noir-protocol-circuits ([08e538b](AztecProtocol@08e538b)) * Speedup static_call test ([AztecProtocol#6157](AztecProtocol#6157)) ([abe8875](AztecProtocol@abe8875)) * Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) ([3ed41a0](AztecProtocol@3ed41a0)) * Use correct call type ([AztecProtocol#6064](AztecProtocol#6064)) ([b3ae289](AztecProtocol@b3ae289)) * Add GlobalVariables to CombinedConstantData ([AztecProtocol#6071](AztecProtocol#6071)) ([cf026d2](AztecProtocol@cf026d2)) * Update fees kernel tracking docs ([AztecProtocol#6151](AztecProtocol#6151)) ([7d80428](AztecProtocol@7d80428)) </details> <details><summary>barretenberg: 0.37.1</summary> [0.37.1](AztecProtocol/aztec-packages@barretenberg-v0.37.0...barretenberg-v0.37.1) (2024-05-07) * **avm:** Add TransactionFee opcode to simulator ([AztecProtocol#6210](AztecProtocol#6210)) ([fcac844](AztecProtocol@fcac844)) * Honk flows exposed through wasm ([AztecProtocol#6096](AztecProtocol#6096)) ([c9b3206](AztecProtocol@c9b3206)) * Osxcross ([AztecProtocol#6099](AztecProtocol#6099)) ([6cc924d](AztecProtocol@6cc924d)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([AztecProtocol#6150](AztecProtocol#6150)) ([acc8641](AztecProtocol@acc8641)) * Correct circuit size estimation for UltraHonk ([AztecProtocol#6164](AztecProtocol#6164)) ([ed84fe3](AztecProtocol@ed84fe3)) * Sporadic failure of GoblinRecursionTests.Vanilla ([AztecProtocol#6218](AztecProtocol#6218)) ([f4ecea5](AztecProtocol@f4ecea5)) * Migrate acir tests to earthly ([AztecProtocol#6142](AztecProtocol#6142)) ([18c8ea8](AztecProtocol@18c8ea8)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Adds the Honk prove, verify, and store_vk flows for WASM (through bb.js).
Closes AztecProtocol/barretenberg#970.