-
Notifications
You must be signed in to change notification settings - Fork 324
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: Barretenberg C++ binary overhaul #11459
Conversation
Merging master as boxes to get CI passing here |
b5d2d7b
to
4289384
Compare
@@ -40,7 +40,7 @@ for artifact in $artifacts_to_process; do | |||
|
|||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh looks like this computeVerificationKey
method is not used anywhere
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.