Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Deprecate write_recursion_inputs_ultra_honk #1253

Open
codygunton opened this issue Feb 14, 2025 · 0 comments
Open

Deprecate write_recursion_inputs_ultra_honk #1253

codygunton opened this issue Feb 14, 2025 · 0 comments
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>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
api Changes to the barretenberg library or binary API
Projects
None yet
Development

No branches or pull requests

1 participant