refactor(acvm_js): Improve program handling and error messages in wit… #7232
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…ness extraction
Problem
Resolves #4428
Summary
This PR improves the handling of ACIR programs in the ACVM JS bindings witness extraction functions by:
Updating documentation to correctly refer to "program" instead of "circuit"
Improving error handling for multi-circuit programs
Making error messages more descriptive and consistent
Restructuring program validation logic for better maintainability
Preparing codebase for future multi-circuit support while maintaining current functionality
Additional Context
The changes maintain compatibility with the current single-circuit limitation of the native ACVM executor while making the code more maintainable and future-proof. The error messages have been improved to be more helpful for developers.
Documentation
[x] No documentation needed.
PR Checklist
[x] I have tested the changes locally.
[x] I have formatted the changes with cargo fmt on default settings.