feat: Barretenberg C++ binary overhaul#11459
Conversation
|
Merging master as boxes to get CI passing here |
b5d2d7b to
4289384
Compare
| echo "Generating verification key for function $fn_name" | ||
| # BB outputs the verification key to stdout as raw bytes, however, we need to base64 encode it before storing it in the artifact | ||
| verification_key=$($BB write_vk_for_ivc -b ${fn_artifact_path} -o - | base64) | ||
| verification_key=$($BB write_vk --scheme client_ivc -b ${fn_artifact_path} -o - | base64) |
There was a problem hiding this comment.
I guess this is immediately going to become confusing when we add a flow to write a CIVC VK. I wonder if this should just become the write_vk for mega honk..
There was a problem hiding this comment.
Yeah I thought about this but then it's the only mega honk command which seems weird. It think it makes sense to put it behind the --input_type flag in CIVC?
| if (recursive) { | ||
| args.push('--init_kzg_accumulator'); | ||
| } | ||
| const result = await executeBB(pathToBB, `write_vk`, args, logFunction); |
There was a problem hiding this comment.
Is --scheme arg not needed for write_vk here?
earlier it used to be one of write_vk_mega_honk, write_vk_ultra_honk or write_vk_ultra_keccak_honk
There was a problem hiding this comment.
Oh looks like this computeVerificationKey method is not used anywhere
There was a problem hiding this comment.
Thanks for noticing--removed the function.
f07775f to
bbb8543
Compare
97a42a7 to
8f5ed5b
Compare
| debug_logging = flags.debug; | ||
| verbose_logging = debug_logging || flags.verbose; | ||
|
|
||
| // prob this construction is too much |
There was a problem hiding this comment.
It might be possible to avoid this chain of if-elses by using callbacks on each subcommand. At least that's what I would've expected and seems supported: https://github.com/CLIUtils/CLI11?tab=readme-ov-file#callbacks
(but of course I only skimmed through it)
I did e2e and e2e_all in #11459 and the darwin builds didn't fail there, but they fail in master. This is basically a typo fix.
* master: (300 commits) fix(ci): don't have checks go green immediately (#12168) fix: ASSERTS that should throw (#12167) fix: retry rm operation in cleanup (#12162) chore: Fix linter errors (#12164) feat: Barretenberg C++ binary overhaul (#11459) fix: call install_hooks in bootstrap (#12159) chore: @aztec/stdlib pt. 3: aztec-address out of foundation (#12140) test: verify proving is resumed after broker crash (#11122) chore(ci3): update ci.md with swc notes (#12147) fix: don't try to get bench artifacts on external PR (#12157) feat: partial note handling in aztec-nr (#12122) fix: external fixes pt 2 (#12153) chore: fix message path (#12150) chore(ci3): refactor ci3.yml, fix external PR flow (#12037) fix: Do not try flushing txs in bot setup if not set (#12144) chore: Silence warns on invalid bootnode enr (#12135) fix: don't early-out on test fails (#12143) feat(avm): deduplicating event emitters (#12137) chore: @aztec/stdlib pt.2 -> remove @aztec/types (#12133) test: kill prover node and see it recover (#11118) ...
I did e2e and e2e_all in AztecProtocol/aztec-packages#11459 and the darwin builds didn't fail there, but they fail in master. This is basically a typo fix.
Overhaul the Barretenberg binary and its API.
This could definitely use some more a help.
It was requested that the default change from UltraPlonk to UltraHonk, but we get rid of a default set of commands altogether. As a workaround, we can have users set
BB_SCHEME=ultra_honk.Newly created issues: AztecProtocol/barretenberg#1252, AztecProtocol/barretenberg#1253, AztecProtocol/barretenberg#1254, AztecProtocol/barretenberg#1255, AztecProtocol/barretenberg#1256, AztecProtocol/barretenberg#1257, AztecProtocol/barretenberg#1258, AztecProtocol/barretenberg#1259
Resolves AztecProtocol/barretenberg#1260
NB the line count is large because 1) CLI11 is a single 11k-line header; 2) I moved a lot of functions and some git mvs didn't show up as such. Main new code is api_ultra_honk.hpp.