fix(ssa): Do not use get_value_max_num_bits when we want pure type information#4700
fix(ssa): Do not use get_value_max_num_bits when we want pure type information#4700
Conversation
|
This optimisation won't ever trigger if we make this change so we may as well remove it entirely. |
I'm good with pushing an update to revert but if we don't see a circuit size increase to match the decrease we saw from the original optimization is it not being hit? |
|
Removing this code entirely doesn't seem to affect the gate counts either. |
Hmm ok. Do we just want to remove it then with this PR or keep it with #4699 (I made updates which goes back to using |
jfecher
left a comment
There was a problem hiding this comment.
Regardless of whether we want to remove the optimization or not, lets merge this now since it fixes the errors on master
…formation (#4700) # Description ## Problem\* No issue as this was found by @jfecher while testing in debug mode where we get overflow errors after #4691 Resolves #4699 (comment) ## Summary\* ## Additional Context ## Documentation\* Check one: - [ ] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [ ] I have tested the changes locally. - [ ] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings. --------- Co-authored-by: Tom French <tom@tomfren.ch>
…-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678)
…g/noir#4725) chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678)
chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix: unknown slice lengths coming from as_slice (noir-lang/noir#4725) chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) END_COMMIT_OVERRIDE --------- Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: sirasistant <sirasistant@gmail.com>
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix: unknown slice lengths coming from as_slice (#4725) chore: remove unused env vars from `Cross.toml` (#4717) feat: improve nargo check cli with --override flag and feedback for existing files (#4575) feat: Allow slices to brillig entry points (#4713) chore: simplify how `acvm_backend.wasm` is embedded (#4703) fix(acvm): Mark outputs of Opcode::Call solvable (#4708) fix: Field comparisons (#4704) feat(acvm_js): Execute program (#4694) chore: simplify how blns is loaded into tests (#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (#4700) chore: remove conditional compilation around `acvm_js` package (#4702) feat(docs): Documenting noir codegen (#4454) chore: check for references to private functions during path resolution (#4622) chore: fix clippy errors (#4684) fix: Last use analysis & make it an SSA pass (#4686) feat: improve SSA type-awareness in EQ and MUL instructions (#4691) feat: improve optimisations on range constraints (#4690) chore: remove last traces of nix (#4679) chore: Use is_entry_point helper on RuntimeType (#4678) END_COMMIT_OVERRIDE --------- Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: sirasistant <sirasistant@gmail.com>
…oir-lang/noir#4719) chore: update condition for clearing warning comment on release PRs (noir-lang/noir#4739) chore(ci): fix cutting new versions of the docs (noir-lang/noir#4737) chore(ci): replace `yarn build:js:only` script (noir-lang/noir#4735) chore: update JS publish workflow to upload build artifacts correctly. (noir-lang/noir#4734) feat: add `remove_enable_side_effects` SSA pass (noir-lang/noir#4224) chore: update from vulnerable version of h2 (noir-lang/noir#4714) chore(ci): stop updating version list before cutting new docs version (noir-lang/noir#4726) chore: remove `FunctionInput::dummy` (noir-lang/noir#4723) chore: remove docker CI flow (noir-lang/noir#4724) fix: unknown slice lengths coming from as_slice (noir-lang/noir#4725) chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix: unknown slice lengths coming from as_slice (noir-lang/noir#4725) chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) END_COMMIT_OVERRIDE --------- Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: sirasistant <sirasistant@gmail.com>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.33.0</summary> ## [0.33.0](aztec-package-v0.32.1...aztec-package-v0.33.0) (2024-04-09) ### Features * Jest fast transpile. no more ts-jest. ([#5530](#5530)) ([1912802](1912802)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](#5432)) ([0249737](0249737)) </details> <details><summary>barretenberg.js: 0.33.0</summary> ## [0.33.0](barretenberg.js-v0.32.1...barretenberg.js-v0.33.0) (2024-04-09) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.33.0</summary> ## [0.33.0](aztec-cli-v0.32.1...aztec-cli-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * contract_abi-exports ([#5386](#5386)) ### Features * **avm:** Integrate AVM with initializers ([#5469](#5469)) ([59799f2](59799f2)) * Contract_abi-exports ([#5386](#5386)) ([745d522](745d522)) * Jest fast transpile. no more ts-jest. ([#5530](#5530)) ([1912802](1912802)) ### Bug Fixes * Update CLI & terraforms with new contract addresses ([#5553](#5553)) ([eb73d20](eb73d20)) </details> <details><summary>aztec-packages: 0.33.0</summary> ## [0.33.0](aztec-packages-v0.32.1...aztec-packages-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](#5616)) * contract_abi-exports ([#5386](#5386)) * **avm:** rollback FunctionAbi isTranspiled changes ([#5561](#5561)) ### Features * /foundry is canoncial build of foundry. e2e tests can start own anvil. ([#5522](#5522)) ([510daa0](510daa0)) * `add` and `sub` methods of `EasyPrivateUint` throw when called in public ([#5581](#5581)) ([29f337d](29f337d)) * **acir:** Add predicate to call opcode ([#5616](#5616)) ([e8cec0a](e8cec0a)) * **acvm_js:** Execute program (noir-lang/noir#4694) ([8b30b95](8b30b95)) * Add return values to aztec fns ([#5389](#5389)) ([7b88bac](7b88bac)) * Allow slices to brillig entry points (noir-lang/noir#4713) ([8b30b95](8b30b95)) * Avm logup ([#5577](#5577)) ([7e4e9b9](7e4e9b9)) * **avm:** Add index to pedersen opcode ([#5486](#5486)) ([e1d7d11](e1d7d11)) * **avm:** Contract instance opcode ([#5487](#5487)) ([ceacba6](ceacba6)) * **avm:** Gas usage for nested calls ([#5495](#5495)) ([11699c8](11699c8)) * **avm:** Indirect memory for set opcode ([#5546](#5546)) ([e0e7200](e0e7200)), closes [#5542](#5542) * **avm:** Integrate AVM with initializers ([#5469](#5469)) ([59799f2](59799f2)) * **avm:** Set gas allowance in public calls ([#5567](#5567)) ([ee23415](ee23415)) * **avm:** Track gas from memory accesses explicitly ([#5563](#5563)) ([18c9128](18c9128)), closes [#5514](#5514) * Contract_abi-exports ([#5386](#5386)) ([745d522](745d522)) * DataBus notion with calldata/return data ([#5504](#5504)) ([95a1d8a](95a1d8a)) * DebugLog(...) in noir-protocol-circuits ([#5568](#5568)) ([a07bb92](a07bb92)) * **docs:** Documenting noir codegen (noir-lang/noir#4454) ([8b30b95](8b30b95)) * Improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) ([8b30b95](8b30b95)) * Improve optimisations on range constraints (noir-lang/noir#4690) ([8b30b95](8b30b95)) * Improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) ([8b30b95](8b30b95)) * Improve the proving orchestration lifecycle ([#5535](#5535)) ([4e4f843](4e4f843)) * Jest fast transpile. no more ts-jest. ([#5530](#5530)) ([1912802](1912802)) * Logging deployed contract address to help debug e2e account test ([#5571](#5571)) ([1907473](1907473)) * Only export values from accumulated data ([#5604](#5604)) ([a974ec8](a974ec8)) * Optimise relations ([#5552](#5552)) ([a581e80](a581e80)) * Optimize auxiliary relations slightly ([#5517](#5517)) ([30be431](30be431)) * Public inputs refactor ([#5500](#5500)) ([6b9a538](6b9a538)) * Restore hashing args via slice for performance ([#5539](#5539)) ([eb3acdf](eb3acdf)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](#5432)) ([0249737](0249737)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) ([8b30b95](8b30b95)) * **avm:** Nullifier handling ([#5488](#5488)) ([bc8211d](bc8211d)) * **ci:** Cache submodules in GA ([#5531](#5531)) ([75f2cc6](75f2cc6)) * **ci:** Install fixed foundry version in CI ([#5582](#5582)) ([46fdb37](46fdb37)) * Dependabot update ([#5547](#5547)) ([f7e6cc8](f7e6cc8)) * E2e earthly status ([#5564](#5564)) ([a5076ca](a5076ca)) * Field comparisons (noir-lang/noir#4704) ([8b30b95](8b30b95)) * Invalid fork terraform ([#5585](#5585)) ([826353b](826353b)) * Last use analysis & make it an SSA pass (noir-lang/noir#4686) ([8b30b95](8b30b95)) * Mainnet fork redeploys ([#5573](#5573)) ([88e8b6d](88e8b6d)) * Remove EFS lifecycle rule ([#5587](#5587)) ([eb66fc6](eb66fc6)) * **ssa:** Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) ([8b30b95](8b30b95)) * Taint fork file storage ([#5560](#5560)) ([f144f3b](f144f3b)) * Unknown slice lengths coming from as_slice (noir-lang/noir#4725) ([8b30b95](8b30b95)) * Update CLI & terraforms with new contract addresses ([#5553](#5553)) ([eb73d20](eb73d20)) ### Miscellaneous * **avm:** Rollback FunctionAbi isTranspiled changes ([#5561](#5561)) ([150932a](150932a)) * Check for references to private functions during path resolution (noir-lang/noir#4622) ([8b30b95](8b30b95)) * **docs:** Add file to prove ownership for google search console ([#5554](#5554)) ([dfa3998](dfa3998)) * **docs:** Fix indexed-merkle-tree docs images ([#4674](#4674)) ([8fc29d5](8fc29d5)) * **docs:** Random updates ([#5281](#5281)) ([b8c9273](b8c9273)) * ECCVM flavor depends on builder ([#5323](#5323)) ([a594683](a594683)) * Fix clippy errors (noir-lang/noir#4684) ([8b30b95](8b30b95)) * Get rid of ECCVM composer ([#5562](#5562)) ([43ed901](43ed901)) * Move e2e-avm-initializer test to e2e-avm-simulator ([#5570](#5570)) ([d827705](d827705)) * Nuking accounts from e2e setup ([#5574](#5574)) ([be6f843](be6f843)), closes [#5307](#5307) * Nuking L2BlockContext ([#5569](#5569)) ([1299190](1299190)) * Pad when needed and not sooner ([#5482](#5482)) ([e928c33](e928c33)), closes [#5357](#5357) * Remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) ([8b30b95](8b30b95)) * Remove debug log from watch.sh ([a9a349d](a9a349d)) * Remove last traces of nix (noir-lang/noir#4679) ([8b30b95](8b30b95)) * Remove unused boolean return values from stores ([#5470](#5470)) ([07794ee](07794ee)) * Remove unused env vars from `Cross.toml` (noir-lang/noir#4717) ([8b30b95](8b30b95)) * Replace relative paths to noir-protocol-circuits ([51a1983](51a1983)) * Replace relative paths to noir-protocol-circuits ([a716270](a716270)) * Replace relative paths to noir-protocol-circuits ([6827014](6827014)) * Replace relative paths to noir-protocol-circuits ([356caf7](356caf7)) * Simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) ([8b30b95](8b30b95)) * Simplify how blns is loaded into tests (noir-lang/noir#4705) ([8b30b95](8b30b95)) * Update snapshot ([#5626](#5626)) ([fb66426](fb66426)) * Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) ([8b30b95](8b30b95)) ### Documentation * Minor fixes in keys ([#5550](#5550)) ([ea48ad3](ea48ad3)) * **spec:** Hashing and keys ([#5478](#5478)) ([820ac8c](820ac8c)) * Update quickstart.md to use Docker daemon ([#5576](#5576)) ([42b9827](42b9827)) </details> <details><summary>barretenberg: 0.33.0</summary> ## [0.33.0](barretenberg-v0.32.1...barretenberg-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](#5616)) ### Features * **acir:** Add predicate to call opcode ([#5616](#5616)) ([e8cec0a](e8cec0a)) * Avm logup ([#5577](#5577)) ([7e4e9b9](7e4e9b9)) * **avm:** Contract instance opcode ([#5487](#5487)) ([ceacba6](ceacba6)) * **avm:** Indirect memory for set opcode ([#5546](#5546)) ([e0e7200](e0e7200)), closes [#5542](#5542) * DataBus notion with calldata/return data ([#5504](#5504)) ([95a1d8a](95a1d8a)) * Optimise relations ([#5552](#5552)) ([a581e80](a581e80)) * Optimize auxiliary relations slightly ([#5517](#5517)) ([30be431](30be431)) ### Miscellaneous * ECCVM flavor depends on builder ([#5323](#5323)) ([a594683](a594683)) * Get rid of ECCVM composer ([#5562](#5562)) ([43ed901](43ed901)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat(nargo): Multiple circuits info for binary programs (noir-lang/noir#4719) chore: update condition for clearing warning comment on release PRs (noir-lang/noir#4739) chore(ci): fix cutting new versions of the docs (noir-lang/noir#4737) chore(ci): replace `yarn build:js:only` script (noir-lang/noir#4735) chore: update JS publish workflow to upload build artifacts correctly. (noir-lang/noir#4734) feat: add `remove_enable_side_effects` SSA pass (noir-lang/noir#4224) chore: update from vulnerable version of h2 (noir-lang/noir#4714) chore(ci): stop updating version list before cutting new docs version (noir-lang/noir#4726) chore: remove `FunctionInput::dummy` (noir-lang/noir#4723) chore: remove docker CI flow (noir-lang/noir#4724) fix: unknown slice lengths coming from as_slice (noir-lang/noir#4725) chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) END_COMMIT_OVERRIDE --------- Co-authored-by: sirasistant <sirasistant@gmail.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: vezenovm <mvezenov@gmail.com>
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat(nargo): Multiple circuits info for binary programs (#4719) chore: update condition for clearing warning comment on release PRs (#4739) chore(ci): fix cutting new versions of the docs (#4737) chore(ci): replace `yarn build:js:only` script (#4735) chore: update JS publish workflow to upload build artifacts correctly. (#4734) feat: add `remove_enable_side_effects` SSA pass (#4224) chore: update from vulnerable version of h2 (#4714) chore(ci): stop updating version list before cutting new docs version (#4726) chore: remove `FunctionInput::dummy` (#4723) chore: remove docker CI flow (#4724) fix: unknown slice lengths coming from as_slice (#4725) chore: remove unused env vars from `Cross.toml` (#4717) feat: improve nargo check cli with --override flag and feedback for existing files (#4575) feat: Allow slices to brillig entry points (#4713) chore: simplify how `acvm_backend.wasm` is embedded (#4703) fix(acvm): Mark outputs of Opcode::Call solvable (#4708) fix: Field comparisons (#4704) feat(acvm_js): Execute program (#4694) chore: simplify how blns is loaded into tests (#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (#4700) chore: remove conditional compilation around `acvm_js` package (#4702) feat(docs): Documenting noir codegen (#4454) chore: check for references to private functions during path resolution (#4622) chore: fix clippy errors (#4684) fix: Last use analysis & make it an SSA pass (#4686) feat: improve SSA type-awareness in EQ and MUL instructions (#4691) feat: improve optimisations on range constraints (#4690) chore: remove last traces of nix (#4679) chore: Use is_entry_point helper on RuntimeType (#4678) END_COMMIT_OVERRIDE --------- Co-authored-by: sirasistant <sirasistant@gmail.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: vezenovm <mvezenov@gmail.com>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@aztec-package-v0.32.1...aztec-package-v0.33.0) (2024-04-09) ### Features * Jest fast transpile. no more ts-jest. ([#5530](AztecProtocol/aztec-packages#5530)) ([1912802](AztecProtocol/aztec-packages@1912802)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](AztecProtocol/aztec-packages#5432)) ([0249737](AztecProtocol/aztec-packages@0249737)) </details> <details><summary>barretenberg.js: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@barretenberg.js-v0.32.1...barretenberg.js-v0.33.0) (2024-04-09) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@aztec-cli-v0.32.1...aztec-cli-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) ### Features * **avm:** Integrate AVM with initializers ([#5469](AztecProtocol/aztec-packages#5469)) ([59799f2](AztecProtocol/aztec-packages@59799f2)) * Contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) ([745d522](AztecProtocol/aztec-packages@745d522)) * Jest fast transpile. no more ts-jest. ([#5530](AztecProtocol/aztec-packages#5530)) ([1912802](AztecProtocol/aztec-packages@1912802)) ### Bug Fixes * Update CLI & terraforms with new contract addresses ([#5553](AztecProtocol/aztec-packages#5553)) ([eb73d20](AztecProtocol/aztec-packages@eb73d20)) </details> <details><summary>aztec-packages: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@aztec-packages-v0.32.1...aztec-packages-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) * contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) * **avm:** rollback FunctionAbi isTranspiled changes ([#5561](AztecProtocol/aztec-packages#5561)) ### Features * /foundry is canoncial build of foundry. e2e tests can start own anvil. ([#5522](AztecProtocol/aztec-packages#5522)) ([510daa0](AztecProtocol/aztec-packages@510daa0)) * `add` and `sub` methods of `EasyPrivateUint` throw when called in public ([#5581](AztecProtocol/aztec-packages#5581)) ([29f337d](AztecProtocol/aztec-packages@29f337d)) * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) ([e8cec0a](AztecProtocol/aztec-packages@e8cec0a)) * **acvm_js:** Execute program (noir-lang/noir#4694) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Add return values to aztec fns ([#5389](AztecProtocol/aztec-packages#5389)) ([7b88bac](AztecProtocol/aztec-packages@7b88bac)) * Allow slices to brillig entry points (noir-lang/noir#4713) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Avm logup ([#5577](AztecProtocol/aztec-packages#5577)) ([7e4e9b9](AztecProtocol/aztec-packages@7e4e9b9)) * **avm:** Add index to pedersen opcode ([#5486](AztecProtocol/aztec-packages#5486)) ([e1d7d11](AztecProtocol/aztec-packages@e1d7d11)) * **avm:** Contract instance opcode ([#5487](AztecProtocol/aztec-packages#5487)) ([ceacba6](AztecProtocol/aztec-packages@ceacba6)) * **avm:** Gas usage for nested calls ([#5495](AztecProtocol/aztec-packages#5495)) ([11699c8](AztecProtocol/aztec-packages@11699c8)) * **avm:** Indirect memory for set opcode ([#5546](AztecProtocol/aztec-packages#5546)) ([e0e7200](AztecProtocol/aztec-packages@e0e7200)), closes [#5542](AztecProtocol/aztec-packages#5542) * **avm:** Integrate AVM with initializers ([#5469](AztecProtocol/aztec-packages#5469)) ([59799f2](AztecProtocol/aztec-packages@59799f2)) * **avm:** Set gas allowance in public calls ([#5567](AztecProtocol/aztec-packages#5567)) ([ee23415](AztecProtocol/aztec-packages@ee23415)) * **avm:** Track gas from memory accesses explicitly ([#5563](AztecProtocol/aztec-packages#5563)) ([18c9128](AztecProtocol/aztec-packages@18c9128)), closes [#5514](AztecProtocol/aztec-packages#5514) * Contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) ([745d522](AztecProtocol/aztec-packages@745d522)) * DataBus notion with calldata/return data ([#5504](AztecProtocol/aztec-packages#5504)) ([95a1d8a](AztecProtocol/aztec-packages@95a1d8a)) * DebugLog(...) in noir-protocol-circuits ([#5568](AztecProtocol/aztec-packages#5568)) ([a07bb92](AztecProtocol/aztec-packages@a07bb92)) * **docs:** Documenting noir codegen (noir-lang/noir#4454) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve optimisations on range constraints (noir-lang/noir#4690) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve the proving orchestration lifecycle ([#5535](AztecProtocol/aztec-packages#5535)) ([4e4f843](AztecProtocol/aztec-packages@4e4f843)) * Jest fast transpile. no more ts-jest. ([#5530](AztecProtocol/aztec-packages#5530)) ([1912802](AztecProtocol/aztec-packages@1912802)) * Logging deployed contract address to help debug e2e account test ([#5571](AztecProtocol/aztec-packages#5571)) ([1907473](AztecProtocol/aztec-packages@1907473)) * Only export values from accumulated data ([#5604](AztecProtocol/aztec-packages#5604)) ([a974ec8](AztecProtocol/aztec-packages@a974ec8)) * Optimise relations ([#5552](AztecProtocol/aztec-packages#5552)) ([a581e80](AztecProtocol/aztec-packages@a581e80)) * Optimize auxiliary relations slightly ([#5517](AztecProtocol/aztec-packages#5517)) ([30be431](AztecProtocol/aztec-packages@30be431)) * Public inputs refactor ([#5500](AztecProtocol/aztec-packages#5500)) ([6b9a538](AztecProtocol/aztec-packages@6b9a538)) * Restore hashing args via slice for performance ([#5539](AztecProtocol/aztec-packages#5539)) ([eb3acdf](AztecProtocol/aztec-packages@eb3acdf)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](AztecProtocol/aztec-packages#5432)) ([0249737](AztecProtocol/aztec-packages@0249737)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * **avm:** Nullifier handling ([#5488](AztecProtocol/aztec-packages#5488)) ([bc8211d](AztecProtocol/aztec-packages@bc8211d)) * **ci:** Cache submodules in GA ([#5531](AztecProtocol/aztec-packages#5531)) ([75f2cc6](AztecProtocol/aztec-packages@75f2cc6)) * **ci:** Install fixed foundry version in CI ([#5582](AztecProtocol/aztec-packages#5582)) ([46fdb37](AztecProtocol/aztec-packages@46fdb37)) * Dependabot update ([#5547](AztecProtocol/aztec-packages#5547)) ([f7e6cc8](AztecProtocol/aztec-packages@f7e6cc8)) * E2e earthly status ([#5564](AztecProtocol/aztec-packages#5564)) ([a5076ca](AztecProtocol/aztec-packages@a5076ca)) * Field comparisons (noir-lang/noir#4704) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Invalid fork terraform ([#5585](AztecProtocol/aztec-packages#5585)) ([826353b](AztecProtocol/aztec-packages@826353b)) * Last use analysis & make it an SSA pass (noir-lang/noir#4686) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Mainnet fork redeploys ([#5573](AztecProtocol/aztec-packages#5573)) ([88e8b6d](AztecProtocol/aztec-packages@88e8b6d)) * Remove EFS lifecycle rule ([#5587](AztecProtocol/aztec-packages#5587)) ([eb66fc6](AztecProtocol/aztec-packages@eb66fc6)) * **ssa:** Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Taint fork file storage ([#5560](AztecProtocol/aztec-packages#5560)) ([f144f3b](AztecProtocol/aztec-packages@f144f3b)) * Unknown slice lengths coming from as_slice (noir-lang/noir#4725) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Update CLI & terraforms with new contract addresses ([#5553](AztecProtocol/aztec-packages#5553)) ([eb73d20](AztecProtocol/aztec-packages@eb73d20)) ### Miscellaneous * **avm:** Rollback FunctionAbi isTranspiled changes ([#5561](AztecProtocol/aztec-packages#5561)) ([150932a](AztecProtocol/aztec-packages@150932a)) * Check for references to private functions during path resolution (noir-lang/noir#4622) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * **docs:** Add file to prove ownership for google search console ([#5554](AztecProtocol/aztec-packages#5554)) ([dfa3998](AztecProtocol/aztec-packages@dfa3998)) * **docs:** Fix indexed-merkle-tree docs images ([#4674](AztecProtocol/aztec-packages#4674)) ([8fc29d5](AztecProtocol/aztec-packages@8fc29d5)) * **docs:** Random updates ([#5281](AztecProtocol/aztec-packages#5281)) ([b8c9273](AztecProtocol/aztec-packages@b8c9273)) * ECCVM flavor depends on builder ([#5323](AztecProtocol/aztec-packages#5323)) ([a594683](AztecProtocol/aztec-packages@a594683)) * Fix clippy errors (noir-lang/noir#4684) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Get rid of ECCVM composer ([#5562](AztecProtocol/aztec-packages#5562)) ([43ed901](AztecProtocol/aztec-packages@43ed901)) * Move e2e-avm-initializer test to e2e-avm-simulator ([#5570](AztecProtocol/aztec-packages#5570)) ([d827705](AztecProtocol/aztec-packages@d827705)) * Nuking accounts from e2e setup ([#5574](AztecProtocol/aztec-packages#5574)) ([be6f843](AztecProtocol/aztec-packages@be6f843)), closes [#5307](AztecProtocol/aztec-packages#5307) * Nuking L2BlockContext ([#5569](AztecProtocol/aztec-packages#5569)) ([1299190](AztecProtocol/aztec-packages@1299190)) * Pad when needed and not sooner ([#5482](AztecProtocol/aztec-packages#5482)) ([e928c33](AztecProtocol/aztec-packages@e928c33)), closes [#5357](AztecProtocol/aztec-packages#5357) * Remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Remove debug log from watch.sh ([a9a349d](AztecProtocol/aztec-packages@a9a349d)) * Remove last traces of nix (noir-lang/noir#4679) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Remove unused boolean return values from stores ([#5470](AztecProtocol/aztec-packages#5470)) ([07794ee](AztecProtocol/aztec-packages@07794ee)) * Remove unused env vars from `Cross.toml` (noir-lang/noir#4717) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Replace relative paths to noir-protocol-circuits ([51a1983](AztecProtocol/aztec-packages@51a1983)) * Replace relative paths to noir-protocol-circuits ([a716270](AztecProtocol/aztec-packages@a716270)) * Replace relative paths to noir-protocol-circuits ([6827014](AztecProtocol/aztec-packages@6827014)) * Replace relative paths to noir-protocol-circuits ([356caf7](AztecProtocol/aztec-packages@356caf7)) * Simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Simplify how blns is loaded into tests (noir-lang/noir#4705) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Update snapshot ([#5626](AztecProtocol/aztec-packages#5626)) ([fb66426](AztecProtocol/aztec-packages@fb66426)) * Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) ### Documentation * Minor fixes in keys ([#5550](AztecProtocol/aztec-packages#5550)) ([ea48ad3](AztecProtocol/aztec-packages@ea48ad3)) * **spec:** Hashing and keys ([#5478](AztecProtocol/aztec-packages#5478)) ([820ac8c](AztecProtocol/aztec-packages@820ac8c)) * Update quickstart.md to use Docker daemon ([#5576](AztecProtocol/aztec-packages#5576)) ([42b9827](AztecProtocol/aztec-packages@42b9827)) </details> <details><summary>barretenberg: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@barretenberg-v0.32.1...barretenberg-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) ### Features * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) ([e8cec0a](AztecProtocol/aztec-packages@e8cec0a)) * Avm logup ([#5577](AztecProtocol/aztec-packages#5577)) ([7e4e9b9](AztecProtocol/aztec-packages@7e4e9b9)) * **avm:** Contract instance opcode ([#5487](AztecProtocol/aztec-packages#5487)) ([ceacba6](AztecProtocol/aztec-packages@ceacba6)) * **avm:** Indirect memory for set opcode ([#5546](AztecProtocol/aztec-packages#5546)) ([e0e7200](AztecProtocol/aztec-packages@e0e7200)), closes [#5542](AztecProtocol/aztec-packages#5542) * DataBus notion with calldata/return data ([#5504](AztecProtocol/aztec-packages#5504)) ([95a1d8a](AztecProtocol/aztec-packages@95a1d8a)) * Optimise relations ([#5552](AztecProtocol/aztec-packages#5552)) ([a581e80](AztecProtocol/aztec-packages@a581e80)) * Optimize auxiliary relations slightly ([#5517](AztecProtocol/aztec-packages#5517)) ([30be431](AztecProtocol/aztec-packages@30be431)) ### Miscellaneous * ECCVM flavor depends on builder ([#5323](AztecProtocol/aztec-packages#5323)) ([a594683](AztecProtocol/aztec-packages@a594683)) * Get rid of ECCVM composer ([#5562](AztecProtocol/aztec-packages#5562)) ([43ed901](AztecProtocol/aztec-packages@43ed901)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.34.0</summary> ## [0.34.0](aztec-package-v0.33.0...aztec-package-v0.34.0) (2024-04-10) ### Miscellaneous * Reduce log verbosity in local e2e tests ([#5622](#5622)) ([c496a10](c496a10)) </details> <details><summary>barretenberg.js: 0.34.0</summary> ## [0.34.0](barretenberg.js-v0.33.0...barretenberg.js-v0.34.0) (2024-04-10) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.34.0</summary> ## [0.34.0](aztec-cli-v0.33.0...aztec-cli-v0.34.0) (2024-04-10) ### Miscellaneous * Reduce log verbosity in local e2e tests ([#5622](#5622)) ([c496a10](c496a10)) </details> <details><summary>aztec-packages: 0.34.0</summary> ## [0.34.0](aztec-packages-v0.33.0...aztec-packages-v0.34.0) (2024-04-10) ### ⚠ BREAKING CHANGES * remove fixed-length keccak256 ([#5617](#5617)) ### Features * **acvm_js:** Execute program (noir-lang/noir#4694) ([ff28080](ff28080)) * Add `remove_enable_side_effects` SSA pass (noir-lang/noir#4224) ([ff28080](ff28080)) * Allow slices to brillig entry points (noir-lang/noir#4713) ([ff28080](ff28080)) * **avm:** Basic AVM-ACVM interoperability ([#5595](#5595)) ([d872445](d872445)) * **avm:** Make authwit work with avm ([#5594](#5594)) ([b02d1e1](b02d1e1)) * **docs:** Documenting noir codegen (noir-lang/noir#4454) ([ff28080](ff28080)) * Generalize protogalaxy to multiple instances ([#5510](#5510)) ([f038b70](f038b70)) * Improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) ([ff28080](ff28080)) * Improve optimisations on range constraints (noir-lang/noir#4690) ([ff28080](ff28080)) * Improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) ([ff28080](ff28080)) * **nargo:** Multiple circuits info for binary programs (noir-lang/noir#4719) ([ff28080](ff28080)) * Stdlib databus ([#5598](#5598)) ([633a711](633a711)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) ([ff28080](ff28080)) * Do not retry RPC requests on 4xx errors ([#5634](#5634)) ([5af2b95](5af2b95)) * Field comparisons (noir-lang/noir#4704) ([ff28080](ff28080)) * Last use analysis & make it an SSA pass (noir-lang/noir#4686) ([ff28080](ff28080)) * **ssa:** Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) ([ff28080](ff28080)) * Unknown slice lengths coming from as_slice (noir-lang/noir#4725) ([ff28080](ff28080)) * Use empty artifact in test ([#5640](#5640)) ([1d18a5e](1d18a5e)) ### Miscellaneous * Check for references to private functions during path resolution (noir-lang/noir#4622) ([ff28080](ff28080)) * **ci:** Fix cutting new versions of the docs (noir-lang/noir#4737) ([ff28080](ff28080)) * **ci:** Replace `yarn build:js:only` script (noir-lang/noir#4735) ([ff28080](ff28080)) * **ci:** Stop updating version list before cutting new docs version (noir-lang/noir#4726) ([ff28080](ff28080)) * Disable earthly cloud ([#5639](#5639)) ([47e9c25](47e9c25)) * Fix clippy errors (noir-lang/noir#4684) ([ff28080](ff28080)) * Reduce log verbosity in local e2e tests ([#5622](#5622)) ([c496a10](c496a10)) * Remove `FunctionInput::dummy` (noir-lang/noir#4723) ([ff28080](ff28080)) * Remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) ([ff28080](ff28080)) * Remove docker CI flow (noir-lang/noir#4724) ([ff28080](ff28080)) * Remove fixed-length keccak256 ([#5617](#5617)) ([40480b3](40480b3)) * Remove last traces of nix (noir-lang/noir#4679) ([ff28080](ff28080)) * Remove unused env vars from `Cross.toml` (noir-lang/noir#4717) ([ff28080](ff28080)) * Replace relative paths to noir-protocol-circuits ([bc214c5](bc214c5)) * Simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) ([ff28080](ff28080)) * Simplify how blns is loaded into tests (noir-lang/noir#4705) ([ff28080](ff28080)) * Update condition for clearing warning comment on release PRs (noir-lang/noir#4739) ([ff28080](ff28080)) * Update from vulnerable version of h2 (noir-lang/noir#4714) ([ff28080](ff28080)) * Update JS publish workflow to upload build artifacts correctly. (noir-lang/noir#4734) ([ff28080](ff28080)) * Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) ([ff28080](ff28080)) </details> <details><summary>barretenberg: 0.34.0</summary> ## [0.34.0](barretenberg-v0.33.0...barretenberg-v0.34.0) (2024-04-10) ### ⚠ BREAKING CHANGES * remove fixed-length keccak256 ([#5617](#5617)) ### Features * Generalize protogalaxy to multiple instances ([#5510](#5510)) ([f038b70](f038b70)) * Stdlib databus ([#5598](#5598)) ([633a711](633a711)) ### Miscellaneous * Remove fixed-length keccak256 ([#5617](#5617)) ([40480b3](40480b3)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>0.27.0</summary> ## [0.27.0](v0.26.0...v0.27.0) (2024-04-10) ### ⚠ BREAKING CHANGES * Brillig typed memory (AztecProtocol/aztec-packages#5395) ### Features * **acir_gen:** Fold attribute at compile-time and initial non inlined ACIR (AztecProtocol/aztec-packages#5341) ([a0f7474](a0f7474)) * **acvm_js:** Execute program ([#4694](#4694)) ([386f6d0](386f6d0)) * **acvm:** Execute multiple circuits (AztecProtocol/aztec-packages#5380) ([a0f7474](a0f7474)) * Add `remove_enable_side_effects` SSA pass ([#4224](#4224)) ([94952db](94952db)) * Allow slices to brillig entry points ([#4713](#4713)) ([62423d5](62423d5)) * Brillig typed memory (AztecProtocol/aztec-packages#5395) ([0bc18c4](0bc18c4)) * **docs:** Documenting noir codegen ([#4454](#4454)) ([24f6d85](24f6d85)) * Improve nargo check cli with --override flag and feedback for existing files ([#4575](#4575)) ([5e7fbd4](5e7fbd4)) * Improve optimisations on range constraints ([#4690](#4690)) ([96b8110](96b8110)) * Improve SSA type-awareness in EQ and MUL instructions ([#4691](#4691)) ([669f1a0](669f1a0)) * **nargo:** Multiple circuits info for binary programs ([#4719](#4719)) ([50d2735](50d2735)) ### Bug Fixes * "Types in a binary operation should match, but found T and T" ([#4648](#4648)) ([30c9f31](30c9f31)) * **acvm:** Mark outputs of Opcode::Call solvable ([#4708](#4708)) ([8fea405](8fea405)) * Correct ICE panic messages in brillig `convert_black_box_call` ([#4761](#4761)) ([f3eee6c](f3eee6c)) * Error when a type variable is unbound during monomorphization instead of defaulting to Field ([#4674](#4674)) ([03cdba4](03cdba4)) * Field comparisons ([#4704](#4704)) ([079cb2a](079cb2a)) * Impl search no longer selects an impl if multiple are applicable ([#4662](#4662)) ([0150600](0150600)) * Last use analysis & make it an SSA pass ([#4686](#4686)) ([0d3d5fd](0d3d5fd)) * Slice coercions ([#4640](#4640)) ([c0bae17](c0bae17)) * **ssa:** Accurate constant type for slice dummy data in flattening ([#4661](#4661)) ([b87654e](b87654e)) * **ssa:** Do not use get_value_max_num_bits when we want pure type information ([#4700](#4700)) ([b55a580](b55a580)) * **ssa:** Fix slice intrinsic handling in the capacity tracker ([#4643](#4643)) ([1b50ce1](1b50ce1)) * Unknown slice lengths coming from as_slice ([#4725](#4725)) ([f21129e](f21129e)) * Update commit for noir-gates-diff ([#4773](#4773)) ([a9766c5](a9766c5)) </details> <details><summary>0.43.0</summary> ## [0.43.0](v0.42.0...v0.43.0) (2024-04-10) ### ⚠ BREAKING CHANGES * Brillig typed memory (AztecProtocol/aztec-packages#5395) * **acir:** Program and witness stack structure (AztecProtocol/aztec-packages#5149) * automatic NoteInterface and NoteGetterOptions auto select (AztecProtocol/aztec-packages#4508) * Acir call opcode (AztecProtocol/aztec-packages#4773) * Support contracts with no constructor (AztecProtocol/aztec-packages#5175) * Internal as a macro (AztecProtocol/aztec-packages#4898) * move noir out of yarn-project (AztecProtocol/aztec-packages#4479) * note type ids (AztecProtocol/aztec-packages#4500) * rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) * Add expression width into acir (AztecProtocol/aztec-packages#4014) * init storage macro (AztecProtocol/aztec-packages#4200) * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) * Sync commits from `aztec-packages` ([#4144](#4144)) * Breaking changes from aztec-packages ([#3955](#3955)) * Rename Arithmetic opcode to AssertZero ([#3840](#3840)) * Remove unused methods on ACIR opcodes ([#3841](#3841)) ### Features * Acir call opcode (AztecProtocol/aztec-packages#4773) ([c3c9e19](c3c9e19)) * **acir_gen:** Fold attribute at compile-time and initial non inlined ACIR (AztecProtocol/aztec-packages#5341) ([a0f7474](a0f7474)) * **acir:** Program and witness stack structure (AztecProtocol/aztec-packages#5149) ([13eb71b](13eb71b)) * **acvm_js:** Execute program ([#4694](#4694)) ([386f6d0](386f6d0)) * **acvm:** Execute multiple circuits (AztecProtocol/aztec-packages#5380) ([a0f7474](a0f7474)) * Add bit size to const opcode (AztecProtocol/aztec-packages#4385) ([158c8ce](158c8ce)) * Add CMOV instruction to brillig and brillig gen (AztecProtocol/aztec-packages#5308) ([13eb71b](13eb71b)) * Add expression width into acir (AztecProtocol/aztec-packages#4014) ([158c8ce](158c8ce)) * Add instrumentation for tracking variables in debugging ([#4122](#4122)) ([c58d691](c58d691)) * Add poseidon2 opcode implementation for acvm/brillig, and Noir ([#4398](#4398)) ([10e8292](10e8292)) * Add support for overriding expression width ([#4117](#4117)) ([c8026d5](c8026d5)) * Added cast opcode and cast calldata (AztecProtocol/aztec-packages#4423) ([78ef013](78ef013)) * Allow brillig to read arrays directly from memory (AztecProtocol/aztec-packages#4460) ([158c8ce](158c8ce)) * Allow nested arrays and vectors in Brillig foreign calls (AztecProtocol/aztec-packages#4478) ([158c8ce](158c8ce)) * Allow variables and stack trace inspection in the debugger ([#4184](#4184)) ([bf263fc](bf263fc)) * Automatic NoteInterface and NoteGetterOptions auto select (AztecProtocol/aztec-packages#4508) ([13eb71b](13eb71b)) * **avm:** Back in avm context with macro - refactor context (AztecProtocol/aztec-packages#4438) ([158c8ce](158c8ce)) * **avm:** Brillig CONST of size > u128 (AztecProtocol/aztec-packages#5217) ([c3c9e19](c3c9e19)) * **aztec-nr:** Initial work for aztec public vm macro (AztecProtocol/aztec-packages#4400) ([158c8ce](158c8ce)) * Backpropagate constants in ACIR during optimization ([#3926](#3926)) ([aad0da0](aad0da0)) * Breaking changes from aztec-packages ([#3955](#3955)) ([5be049e](5be049e)) * Brillig IR refactor (AztecProtocol/aztec-packages#5233) ([c3c9e19](c3c9e19)) * Brillig typed memory (AztecProtocol/aztec-packages#5395) ([0bc18c4](0bc18c4)) * Check initializer msg.sender matches deployer from address preimage (AztecProtocol/aztec-packages#5222) ([c3c9e19](c3c9e19)) * Evaluation of dynamic assert messages ([#4101](#4101)) ([c284e01](c284e01)) * Init storage macro (AztecProtocol/aztec-packages#4200) ([158c8ce](158c8ce)) * Initial Earthly CI (AztecProtocol/aztec-packages#5069) ([c3c9e19](c3c9e19)) * Internal as a macro (AztecProtocol/aztec-packages#4898) ([5f57ebb](5f57ebb)) * New brillig field operations and refactor of binary operations (AztecProtocol/aztec-packages#5208) ([c3c9e19](c3c9e19)) * Note type ids (AztecProtocol/aztec-packages#4500) ([78ef013](78ef013)) * Remove range constraints from witnesses which are constrained to be constants ([#3928](#3928)) ([afe9c7a](afe9c7a)) * Remove replacement of boolean range opcodes with `AssertZero` opcodes ([#4107](#4107)) ([dac0e87](dac0e87)) * Signed integer division and modulus in brillig gen (AztecProtocol/aztec-packages#5279) ([c3c9e19](c3c9e19)) * Support contracts with no constructor (AztecProtocol/aztec-packages#5175) ([c3c9e19](c3c9e19)) * Sync `aztec-packages` ([#4011](#4011)) ([fee2452](fee2452)) * Sync commits from `aztec-packages` ([#4068](#4068)) ([7a8f3a3](7a8f3a3)) * Sync commits from `aztec-packages` ([#4144](#4144)) ([0205d3b](0205d3b)) * Sync from aztec-packages ([#4483](#4483)) ([fe8f277](fe8f277)) * Sync from noir (AztecProtocol/aztec-packages#5234) ([c3c9e19](c3c9e19)) * Sync from noir (AztecProtocol/aztec-packages#5286) ([c3c9e19](c3c9e19)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable ([#4708](#4708)) ([8fea405](8fea405)) * Noir test incorrect reporting (AztecProtocol/aztec-packages#4925) ([5f57ebb](5f57ebb)) * Remove panic from `init_log_level` in `acvm_js` ([#4195](#4195)) ([2e26530](2e26530)) * Return error rather instead of panicking on invalid circuit ([#3976](#3976)) ([67201bf](67201bf)) ### Miscellaneous Chores * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) ([158c8ce](158c8ce)) * Move noir out of yarn-project (AztecProtocol/aztec-packages#4479) ([78ef013](78ef013)) * Remove unused methods on ACIR opcodes ([#3841](#3841)) ([9e5d0e8](9e5d0e8)) * Rename Arithmetic opcode to AssertZero ([#3840](#3840)) ([836f171](836f171)) * Rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) ([158c8ce](158c8ce)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.34.0</summary> ## [0.34.0](AztecProtocol/aztec-packages@aztec-package-v0.33.0...aztec-package-v0.34.0) (2024-04-10) ### Miscellaneous * Reduce log verbosity in local e2e tests ([#5622](AztecProtocol/aztec-packages#5622)) ([c496a10](AztecProtocol/aztec-packages@c496a10)) </details> <details><summary>barretenberg.js: 0.34.0</summary> ## [0.34.0](AztecProtocol/aztec-packages@barretenberg.js-v0.33.0...barretenberg.js-v0.34.0) (2024-04-10) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.34.0</summary> ## [0.34.0](AztecProtocol/aztec-packages@aztec-cli-v0.33.0...aztec-cli-v0.34.0) (2024-04-10) ### Miscellaneous * Reduce log verbosity in local e2e tests ([#5622](AztecProtocol/aztec-packages#5622)) ([c496a10](AztecProtocol/aztec-packages@c496a10)) </details> <details><summary>aztec-packages: 0.34.0</summary> ## [0.34.0](AztecProtocol/aztec-packages@aztec-packages-v0.33.0...aztec-packages-v0.34.0) (2024-04-10) ### ⚠ BREAKING CHANGES * remove fixed-length keccak256 ([#5617](AztecProtocol/aztec-packages#5617)) ### Features * **acvm_js:** Execute program (noir-lang/noir#4694) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Add `remove_enable_side_effects` SSA pass (noir-lang/noir#4224) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Allow slices to brillig entry points (noir-lang/noir#4713) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * **avm:** Basic AVM-ACVM interoperability ([#5595](AztecProtocol/aztec-packages#5595)) ([d872445](AztecProtocol/aztec-packages@d872445)) * **avm:** Make authwit work with avm ([#5594](AztecProtocol/aztec-packages#5594)) ([b02d1e1](AztecProtocol/aztec-packages@b02d1e1)) * **docs:** Documenting noir codegen (noir-lang/noir#4454) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Generalize protogalaxy to multiple instances ([#5510](AztecProtocol/aztec-packages#5510)) ([f038b70](AztecProtocol/aztec-packages@f038b70)) * Improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Improve optimisations on range constraints (noir-lang/noir#4690) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * **nargo:** Multiple circuits info for binary programs (noir-lang/noir#4719) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Stdlib databus ([#5598](AztecProtocol/aztec-packages#5598)) ([633a711](AztecProtocol/aztec-packages@633a711)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Do not retry RPC requests on 4xx errors ([#5634](AztecProtocol/aztec-packages#5634)) ([5af2b95](AztecProtocol/aztec-packages@5af2b95)) * Field comparisons (noir-lang/noir#4704) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Last use analysis & make it an SSA pass (noir-lang/noir#4686) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * **ssa:** Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Unknown slice lengths coming from as_slice (noir-lang/noir#4725) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Use empty artifact in test ([#5640](AztecProtocol/aztec-packages#5640)) ([1d18a5e](AztecProtocol/aztec-packages@1d18a5e)) ### Miscellaneous * Check for references to private functions during path resolution (noir-lang/noir#4622) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * **ci:** Fix cutting new versions of the docs (noir-lang/noir#4737) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * **ci:** Replace `yarn build:js:only` script (noir-lang/noir#4735) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * **ci:** Stop updating version list before cutting new docs version (noir-lang/noir#4726) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Disable earthly cloud ([#5639](AztecProtocol/aztec-packages#5639)) ([47e9c25](AztecProtocol/aztec-packages@47e9c25)) * Fix clippy errors (noir-lang/noir#4684) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Reduce log verbosity in local e2e tests ([#5622](AztecProtocol/aztec-packages#5622)) ([c496a10](AztecProtocol/aztec-packages@c496a10)) * Remove `FunctionInput::dummy` (noir-lang/noir#4723) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Remove docker CI flow (noir-lang/noir#4724) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Remove fixed-length keccak256 ([#5617](AztecProtocol/aztec-packages#5617)) ([40480b3](AztecProtocol/aztec-packages@40480b3)) * Remove last traces of nix (noir-lang/noir#4679) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Remove unused env vars from `Cross.toml` (noir-lang/noir#4717) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Replace relative paths to noir-protocol-circuits ([bc214c5](AztecProtocol/aztec-packages@bc214c5)) * Simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Simplify how blns is loaded into tests (noir-lang/noir#4705) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Update condition for clearing warning comment on release PRs (noir-lang/noir#4739) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Update from vulnerable version of h2 (noir-lang/noir#4714) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Update JS publish workflow to upload build artifacts correctly. (noir-lang/noir#4734) ([ff28080](AztecProtocol/aztec-packages@ff28080)) * Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) ([ff28080](AztecProtocol/aztec-packages@ff28080)) </details> <details><summary>barretenberg: 0.34.0</summary> ## [0.34.0](AztecProtocol/aztec-packages@barretenberg-v0.33.0...barretenberg-v0.34.0) (2024-04-10) ### ⚠ BREAKING CHANGES * remove fixed-length keccak256 ([#5617](AztecProtocol/aztec-packages#5617)) ### Features * Generalize protogalaxy to multiple instances ([#5510](AztecProtocol/aztec-packages#5510)) ([f038b70](AztecProtocol/aztec-packages@f038b70)) * Stdlib databus ([#5598](AztecProtocol/aztec-packages#5598)) ([633a711](AztecProtocol/aztec-packages@633a711)) ### Miscellaneous * Remove fixed-length keccak256 ([#5617](AztecProtocol/aztec-packages#5617)) ([40480b3](AztecProtocol/aztec-packages@40480b3)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
chore: Release Noir(0.27.0) (noir-lang/noir#4632) fix: Update commit for noir-gates-diff (noir-lang/noir#4773) fix: correct ICE panic messages in brillig `convert_black_box_call` (noir-lang/noir#4761) chore(docs): Fix link in the Data Types page (noir-lang/noir#4527) chore(doc): Fix broken docs links (noir-lang/noir#4606) chore: Remove the old Value struct from the oracle docs (noir-lang/noir#4738) feat(nargo): Multiple circuits info for binary programs (noir-lang/noir#4719) chore: update condition for clearing warning comment on release PRs (noir-lang/noir#4739) chore(ci): fix cutting new versions of the docs (noir-lang/noir#4737) chore(ci): replace `yarn build:js:only` script (noir-lang/noir#4735) chore: update JS publish workflow to upload build artifacts correctly. (noir-lang/noir#4734) feat: add `remove_enable_side_effects` SSA pass (noir-lang/noir#4224) chore: update from vulnerable version of h2 (noir-lang/noir#4714) chore(ci): stop updating version list before cutting new docs version (noir-lang/noir#4726) chore: remove `FunctionInput::dummy` (noir-lang/noir#4723) chore: remove docker CI flow (noir-lang/noir#4724) fix: unknown slice lengths coming from as_slice (noir-lang/noir#4725) chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix: unknown slice lengths coming from as_slice (noir-lang/noir#4725) chore: remove unused env vars from `Cross.toml` (noir-lang/noir#4717) feat: improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) feat: Allow slices to brillig entry points (noir-lang/noir#4713) chore: simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) fix(acvm): Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) fix: Field comparisons (noir-lang/noir#4704) feat(acvm_js): Execute program (noir-lang/noir#4694) chore: simplify how blns is loaded into tests (noir-lang/noir#4705) fix(ssa): Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) chore: remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) feat(docs): Documenting noir codegen (noir-lang/noir#4454) chore: check for references to private functions during path resolution (noir-lang/noir#4622) chore: fix clippy errors (noir-lang/noir#4684) fix: Last use analysis & make it an SSA pass (noir-lang/noir#4686) feat: improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) feat: improve optimisations on range constraints (noir-lang/noir#4690) chore: remove last traces of nix (noir-lang/noir#4679) chore: Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) END_COMMIT_OVERRIDE --------- Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: sirasistant <sirasistant@gmail.com>
Description
Problem*
No issue as this was found by @jfecher while testing in debug mode where we get overflow errors after #4691
Resolves #4699 (comment)
Summary*
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmton default settings.