Skip to content
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

Deprecate write_recursion_inputs_ultra_honk #1253

Open
codygunton opened this issue Feb 14, 2025 · 0 comments · May be fixed by AztecProtocol/aztec-packages#12457
Open

Deprecate write_recursion_inputs_ultra_honk #1253

codygunton opened this issue Feb 14, 2025 · 0 comments · May be fixed by AztecProtocol/aztec-packages#12457
Labels
api Changes to the barretenberg library or binary API

Comments

@codygunton
Copy link
Collaborator

We should simplify Bb's responsibilities and follow the pattern that already exists elsewhere in CI of constructing configuration files from command line. For instance, in noir-protocol-circuits bootstrap, we have

    jq -n --arg vk "$vk" --argjson vkf "$vk_fields" '{keyAsBytes: $vk, keyAsFields: $vkf}' > $key_path

And we could similarly construct a TOML file.

@codygunton codygunton added the api Changes to the barretenberg library or binary API label Feb 14, 2025
codygunton added a commit to AztecProtocol/aztec-packages that referenced this issue Feb 20, 2025
Overhaul the Barretenberg binary and its API.
- Breaks up bb main into different files organized by proving system /
IVC scheme.
- Make UltraHonk conform to the new API interface introduced earlier for
Client IVC.
- Refines the API a bit.
- Introduces [CLI11](https://github.com/CLIUtils/CLI11) to: provide help
/ documentation; validate opts (options can be required, exlusive of
each other, validated against predicates like "path exists" or "string
is in list"); also allows for easy environment variable aliasing.

This could definitely use some more a help. 
 - Lots of documentation needed
- Defaults are set in a weird and inconsistent way and that information
isn't included in the documentation.
- The help menus are perhaps too verbose. Subcommands can't inherit
options or flags so we end up repeating.
- Empty string cannot be passed and parsed to a "nothing argument" which
can lead to frustrating debugging...
 - Little option validation is actually implemented.
 - Deprecated options aren't noted but they could be.

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.

---------

Co-authored-by: ludamad <adam.domurad@gmail.com>
AztecBot pushed a commit that referenced this issue Feb 21, 2025
Overhaul the Barretenberg binary and its API.
- Breaks up bb main into different files organized by proving system /
IVC scheme.
- Make UltraHonk conform to the new API interface introduced earlier for
Client IVC.
- Refines the API a bit.
- Introduces [CLI11](https://github.com/CLIUtils/CLI11) to: provide help
/ documentation; validate opts (options can be required, exlusive of
each other, validated against predicates like "path exists" or "string
is in list"); also allows for easy environment variable aliasing.

This could definitely use some more a help. 
 - Lots of documentation needed
- Defaults are set in a weird and inconsistent way and that information
isn't included in the documentation.
- The help menus are perhaps too verbose. Subcommands can't inherit
options or flags so we end up repeating.
- Empty string cannot be passed and parsed to a "nothing argument" which
can lead to frustrating debugging...
 - Little option validation is actually implemented.
 - Deprecated options aren't noted but they could be.

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:
#1252,
#1253,
#1254,
#1255,
#1256,
#1257,
#1258,
#1259

Resolves #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.

---------

Co-authored-by: ludamad <adam.domurad@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Changes to the barretenberg library or binary API
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant