Skip to content

fix: verify_honk_proof inputs generation in bootstrap#12457

Merged
ludamad merged 6 commits intomasterfrom
lx/fix-acir-tests-inputs-generation
Mar 14, 2025
Merged

fix: verify_honk_proof inputs generation in bootstrap#12457
ludamad merged 6 commits intomasterfrom
lx/fix-acir-tests-inputs-generation

Conversation

@lucasxia01
Copy link
Contributor

@lucasxia01 lucasxia01 commented Mar 4, 2025

Closes AztecProtocol/barretenberg#1279, fixing the acir test input generation workflow.
Closes AztecProtocol/barretenberg#1253, deprecating the write_recursion_inputs_ultra_honk flows.
Closes AztecProtocol/barretenberg#1285, adding support for generating double_verify_honk_proof inputs.

Reorders compilation so that we compile verify_honk_proof and verify_rollup_honk_proof only after compiling the rest of the programs and running write_recursion_inputs_honk to generate new Prover.tomls.

Also adds input generation for double_verify_honk_proof. This style of input generation is an easier flow for future updating.

@lucasxia01 lucasxia01 self-assigned this Mar 4, 2025
cd ../..


# $bb OLD_API write_recursion_inputs_ultra_honk -b ./target/program.json -o ../verify_honk_proof --recursive
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can delete these flows

trap "rm -rf $outdir" EXIT
local key_hash="0x0000000000000000000000000000000000000000000000000000000000000000"

local prove_uh_cmd="$bb prove --scheme ultra_honk --init_kzg_accumulator --output_format fields --write_vk -o $outdir -b ./target/program.json -w ./target/witness.gz"
Copy link
Contributor Author

@lucasxia01 lucasxia01 Mar 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this as a whole is honestly a little more complicated than I would've liked... unclear if this that much better than the write_recursion_inputs_ultra_honk flows

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its probably easier to have all the logic here though instead of having to modify both bootstrap and cpp files, even if this is quite annoying logic to handle in bash/jq

@lucasxia01 lucasxia01 requested a review from ludamad March 6, 2025 22:50
Copy link
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving with request to clean up this jq logic. It needs some helpers to be readable. Ideally a helper for generating public inputs, with comments to how, and another for generating proof etc.

@lucasxia01 lucasxia01 marked this pull request as ready for review March 12, 2025 19:42
@lucasxia01 lucasxia01 requested a review from charlielye as a code owner March 12, 2025 19:42
Copy link
Contributor

@charlielye charlielye left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC, what I would have done is just compile assert_statement, then generate the proof inputs, then just compile everything.
But this works too.

@ludamad
Copy link
Collaborator

ludamad commented Mar 14, 2025

Good with me

@ludamad ludamad merged commit 090bd5b into master Mar 14, 2025
9 of 11 checks passed
@ludamad ludamad deleted the lx/fix-acir-tests-inputs-generation branch March 14, 2025 01:14
TomAFrench added a commit that referenced this pull request Mar 14, 2025
* master:
  fix: filter for empty attestations when pulling from block (#12740)
  feat: one-way noir sync (#12592)
  feat(avm): Address derivation gadget (#12721)
  chore(ci): add workflow dispatch to masternet (#12739)
  feat: add default accounts (#12734)
  feat: gas reports and snapshots (#12724)
  fix(avm): fix vm1 fake proof size (#12733)
  feat(bb): extend_edges optimization for zero values past end_index (#12703)
  fix: remove hard coding of constructor for account manager (#12678)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  chore: replace relative paths to noir-protocol-circuits
  git subrepo push --branch=master barretenberg
  fix: verify_honk_proof inputs generation in bootstrap (#12457)
  fix: Patches to cycle_group and cycle_group fuzzer (#12385)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants