-
Notifications
You must be signed in to change notification settings - Fork 219
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
feat: replace eval_global_as_array_length
with type/interpreter evaluation
#6469
Conversation
… name to Rc<String>
…rger than u32::MAX' tests, removed unused EvaluatedGlobalIsntU32 check and type, move (global -> type) one-step conversion to node interner for now, implement global types in the monomorphizer and printer
…andling for Value -> Type::Constant, wip cleanup
…es with Kind::Numeric
Discussed in 1:1 that we're going to require globals to have their type declared explicitly which also fixes the issues in this PR. |
Peak Memory Sample
|
Compilation Sample
|
Changes to Brillig bytecode sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
I think this broke Aztec-Packages contracts:
I captured an issue for this, I'll try to fix it: #6828 |
That said, I don't know what are the valid types |
…eter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
@asterite only the various integer types. It's an old builtin from before we had traits. We really should remove it and replace it with |
There's one issue: it seems At first I did this: impl From<Field> for u64 {
fn from(value: Field) -> u64 {
value.assert_max_bit_size::<64>();
value as u64
}
} but I don't know if that would break things because the old code truncated. Do you think we need a new private trait for this? |
I think panicking is fine but we should probably verify this. We should at least check the most common uses of this method. |
…r#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
* master: fix: detect cycles in globals (#6859) chore(ci): Execution time report (#6827) chore(ci): Add non determinism check and fixes (#6847) chore(docs): updating the solidity contract how-to guide (#6804) fix: double alias in path (#6855) feat: configurable external check failures (#6810) chore: move constant creation out of loop (#6836) fix: implement `as_field` and `from_field` in the interpreter (#6829) chore: Use Vec for callstacks (#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (#6823) chore(docs): updating noirjs tutorial for 1.0.0 (#6792)
chore(ci): Execution time report (noir-lang/noir#6827) chore(ci): Add non determinism check and fixes (noir-lang/noir#6847) chore(docs): updating the solidity contract how-to guide (noir-lang/noir#6804) fix: double alias in path (noir-lang/noir#6855) feat: configurable external check failures (noir-lang/noir#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
chore(ci): Execution time report (noir-lang/noir#6827) chore(ci): Add non determinism check and fixes (noir-lang/noir#6847) chore(docs): updating the solidity contract how-to guide (noir-lang/noir#6804) fix: double alias in path (noir-lang/noir#6855) feat: configurable external check failures (noir-lang/noir#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
chore: Avoid duplicate Not instructions during flattening (noir-lang/noir#6886) chore: Use smallvec for instruction results (noir-lang/noir#6877) chore(ci): Display times in compilation and execution reports only with seconds (noir-lang/noir#6880) feat: flatten nested if-else statements with equivalent conditions (noir-lang/noir#6875) chore(ci): Take averages for compilation and execution report of small programs (noir-lang/noir#6874) fix: don't deduplicate binary math of unsigned types (noir-lang/noir#6848) feat: warn on unnecessary unsafe blocks (noir-lang/noir#6867) chore: remove the `as_field` and `from_field` built-ins (noir-lang/noir#6845) chore: fix warnings (noir-lang/noir#6863) fix: detect cycles in globals (noir-lang/noir#6859) chore(ci): Execution time report (noir-lang/noir#6827) chore(ci): Add non determinism check and fixes (noir-lang/noir#6847) chore(docs): updating the solidity contract how-to guide (noir-lang/noir#6804) fix: double alias in path (noir-lang/noir#6855) feat: configurable external check failures (noir-lang/noir#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
chore: Avoid duplicate Not instructions during flattening (noir-lang/noir#6886) chore: Use smallvec for instruction results (noir-lang/noir#6877) chore(ci): Display times in compilation and execution reports only with seconds (noir-lang/noir#6880) feat: flatten nested if-else statements with equivalent conditions (noir-lang/noir#6875) chore(ci): Take averages for compilation and execution report of small programs (noir-lang/noir#6874) fix: don't deduplicate binary math of unsigned types (noir-lang/noir#6848) feat: warn on unnecessary unsafe blocks (noir-lang/noir#6867) chore: remove the `as_field` and `from_field` built-ins (noir-lang/noir#6845) chore: fix warnings (noir-lang/noir#6863) fix: detect cycles in globals (noir-lang/noir#6859) chore(ci): Execution time report (noir-lang/noir#6827) chore(ci): Add non determinism check and fixes (noir-lang/noir#6847) chore(docs): updating the solidity contract how-to guide (noir-lang/noir#6804) fix: double alias in path (noir-lang/noir#6855) feat: configurable external check failures (noir-lang/noir#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
…oir-lang/noir#6898) chore: clean up gates reports script (noir-lang/noir#6896) chore: move empty programs to `compile_success_empty` (noir-lang/noir#6891) feat: add a warning when using unsafe blocks without safety comments (noir-lang/noir#6860) chore: quick docs fix for #6839 (noir-lang/noir#6840) chore: Avoid duplicate Not instructions during flattening (noir-lang/noir#6886) chore: Use smallvec for instruction results (noir-lang/noir#6877) chore(ci): Display times in compilation and execution reports only with seconds (noir-lang/noir#6880) feat: flatten nested if-else statements with equivalent conditions (noir-lang/noir#6875) chore(ci): Take averages for compilation and execution report of small programs (noir-lang/noir#6874) fix: don't deduplicate binary math of unsigned types (noir-lang/noir#6848) feat: warn on unnecessary unsafe blocks (noir-lang/noir#6867) chore: remove the `as_field` and `from_field` built-ins (noir-lang/noir#6845) chore: fix warnings (noir-lang/noir#6863) fix: detect cycles in globals (noir-lang/noir#6859) chore(ci): Execution time report (noir-lang/noir#6827) chore(ci): Add non determinism check and fixes (noir-lang/noir#6847) chore(docs): updating the solidity contract how-to guide (noir-lang/noir#6804) fix: double alias in path (noir-lang/noir#6855) feat: configurable external check failures (noir-lang/noir#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
…r#6898) chore: clean up gates reports script (noir-lang/noir#6896) chore: move empty programs to `compile_success_empty` (noir-lang/noir#6891) feat: add a warning when using unsafe blocks without safety comments (noir-lang/noir#6860) chore: quick docs fix for #6839 (noir-lang/noir#6840) chore: Avoid duplicate Not instructions during flattening (noir-lang/noir#6886) chore: Use smallvec for instruction results (noir-lang/noir#6877) chore(ci): Display times in compilation and execution reports only with seconds (noir-lang/noir#6880) feat: flatten nested if-else statements with equivalent conditions (noir-lang/noir#6875) chore(ci): Take averages for compilation and execution report of small programs (noir-lang/noir#6874) fix: don't deduplicate binary math of unsigned types (noir-lang/noir#6848) feat: warn on unnecessary unsafe blocks (noir-lang/noir#6867) chore: remove the `as_field` and `from_field` built-ins (noir-lang/noir#6845) chore: fix warnings (noir-lang/noir#6863) fix: detect cycles in globals (noir-lang/noir#6859) chore(ci): Execution time report (noir-lang/noir#6827) chore(ci): Add non determinism check and fixes (noir-lang/noir#6847) chore(docs): updating the solidity contract how-to guide (noir-lang/noir#6804) fix: double alias in path (noir-lang/noir#6855) feat: configurable external check failures (noir-lang/noir#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: remove malformed functions from brillig reports (noir-lang/noir#6898) chore: clean up gates reports script (noir-lang/noir#6896) chore: move empty programs to `compile_success_empty` (noir-lang/noir#6891) feat: add a warning when using unsafe blocks without safety comments (noir-lang/noir#6860) chore: quick docs fix for #6839 (noir-lang/noir#6840) chore: Avoid duplicate Not instructions during flattening (noir-lang/noir#6886) chore: Use smallvec for instruction results (noir-lang/noir#6877) chore(ci): Display times in compilation and execution reports only with seconds (noir-lang/noir#6880) feat: flatten nested if-else statements with equivalent conditions (noir-lang/noir#6875) chore(ci): Take averages for compilation and execution report of small programs (noir-lang/noir#6874) fix: don't deduplicate binary math of unsigned types (noir-lang/noir#6848) feat: warn on unnecessary unsafe blocks (noir-lang/noir#6867) chore: remove the `as_field` and `from_field` built-ins (noir-lang/noir#6845) chore: fix warnings (noir-lang/noir#6863) fix: detect cycles in globals (noir-lang/noir#6859) chore(ci): Execution time report (noir-lang/noir#6827) chore(ci): Add non determinism check and fixes (noir-lang/noir#6847) chore(docs): updating the solidity contract how-to guide (noir-lang/noir#6804) fix: double alias in path (noir-lang/noir#6855) feat: configurable external check failures (noir-lang/noir#6810) chore: move constant creation out of loop (noir-lang/noir#6836) fix: implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) chore: Use Vec for callstacks (noir-lang/noir#6821) feat: replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) chore: refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) chore(docs): updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) feat: Sync from aztec-packages (noir-lang/noir#6824) chore: Have rust-analyzer use the stable toolchain (noir-lang/noir#6825) END_COMMIT_OVERRIDE --------- Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: Tom French <tom@tomfren.ch> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.68.1</summary> ## [0.68.1](aztec-package-v0.68.0...aztec-package-v0.68.1) (2024-12-23) ### Miscellaneous * Configurable parallelism in bootstrap ([#10909](#10909)) ([5260f1e](5260f1e)) </details> <details><summary>barretenberg.js: 0.68.1</summary> ## [0.68.1](barretenberg.js-v0.68.0...barretenberg.js-v0.68.1) (2024-12-23) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.68.1</summary> ## [0.68.1](aztec-packages-v0.68.0...aztec-packages-v0.68.1) (2024-12-23) ### Features * Add a warning when using unsafe blocks without safety comments (noir-lang/noir#6860) ([84a4005](84a4005)) * Add limit to unique contract call ([#10640](#10640)) ([d340f0b](d340f0b)) * Configurable external check failures (noir-lang/noir#6810) ([84a4005](84a4005)) * **docs:** Add aztec-wallet proving ([#10847](#10847)) ([3efae86](3efae86)) * Flatten nested if-else statements with equivalent conditions (noir-lang/noir#6875) ([84a4005](84a4005)) * **p2p:** Timeout peers, disconnect from badly scored peers ([#10907](#10907)) ([76a23eb](76a23eb)) * Replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) ([84a4005](84a4005)) * Revamped sequencer timetable and tx processing timeout ([#10870](#10870)) ([145122b](145122b)) * Sync from aztec-packages (noir-lang/noir#6824) ([84a4005](84a4005)) * Warn on unnecessary unsafe blocks (noir-lang/noir#6867) ([84a4005](84a4005)) ### Bug Fixes * Add devcoin to faucet after deployment ([#10903](#10903)) ([6aa5369](6aa5369)) * CI kind test fix ([#10932](#10932)) ([bda1ac7](bda1ac7)) * **ci:** Tester/builder start race conditions ([#10893](#10893)) ([4250782](4250782)) * Conditionally deploy deterministic deployment proxy ([#10936](#10936)) ([48624b7](48624b7)) * Degrade libp2p crypto package ([#10876](#10876)) ([9293f38](9293f38)) * Detect cycles in globals (noir-lang/noir#6859) ([84a4005](84a4005)) * Don't deduplicate binary math of unsigned types (noir-lang/noir#6848) ([84a4005](84a4005)) * Double alias in path (noir-lang/noir#6855) ([84a4005](84a4005)) * Implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) ([84a4005](84a4005)) * Install Yarn 4.5.2 to build WASM ([#10940](#10940)) ([2a76380](2a76380)) * Removed Sepolia stuff from devnet deploy action ([#10916](#10916)) ([fbf120b](fbf120b)) ### Miscellaneous * **avm:** Check that slice read/write are not out of memory range ([#10879](#10879)) ([ab3f318](ab3f318)), closes [#7385](#7385) * Avoid duplicate Not instructions during flattening (noir-lang/noir#6886) ([84a4005](84a4005)) * **ci:** Add non determinism check and fixes (noir-lang/noir#6847) ([84a4005](84a4005)) * **ci:** Display times in compilation and execution reports only with seconds (noir-lang/noir#6880) ([84a4005](84a4005)) * **ci:** Execution time report (noir-lang/noir#6827) ([84a4005](84a4005)) * **ci:** Take averages for compilation and execution report of small programs (noir-lang/noir#6874) ([84a4005](84a4005)) * Clean up gates reports script (noir-lang/noir#6896) ([84a4005](84a4005)) * Configurable parallelism in bootstrap ([#10909](#10909)) ([5260f1e](5260f1e)) * **docs:** Updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) ([84a4005](84a4005)) * **docs:** Updating the solidity contract how-to guide (noir-lang/noir#6804) ([84a4005](84a4005)) * Fix warnings (noir-lang/noir#6863) ([84a4005](84a4005)) * Have rust-analyzer use the stable toolchain (noir-lang/noir#6825) ([84a4005](84a4005)) * Move constant creation out of loop (noir-lang/noir#6836) ([84a4005](84a4005)) * Move empty programs to `compile_success_empty` (noir-lang/noir#6891) ([84a4005](84a4005)) * New default resource values for GKE ([#10928](#10928)) ([18e38d3](18e38d3)) * Quick docs fix for [#6839](#6839) (noir-lang/noir#6840) ([84a4005](84a4005)) * Refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) ([84a4005](84a4005)) * Remove get registered account from pxe ([#10479](#10479)) ([ee568ff](ee568ff)) * Remove malformed functions from brillig reports (noir-lang/noir#6898) ([84a4005](84a4005)) * Remove the `as_field` and `from_field` built-ins (noir-lang/noir#6845) ([84a4005](84a4005)) * Reorganise translator proving key construction ([#10853](#10853)) ([5da4d1b](5da4d1b)) * Replace relative paths to noir-protocol-circuits ([b9f9875](b9f9875)) * Update gates diff action ([#10917](#10917)) ([57439a7](57439a7)) * Use smallvec for instruction results (noir-lang/noir#6877) ([84a4005](84a4005)) * Use Vec for callstacks (noir-lang/noir#6821) ([84a4005](84a4005)) </details> <details><summary>barretenberg: 0.68.1</summary> ## [0.68.1](barretenberg-v0.68.0...barretenberg-v0.68.1) (2024-12-23) ### Features * Add limit to unique contract call ([#10640](#10640)) ([d340f0b](d340f0b)) ### Miscellaneous * **avm:** Check that slice read/write are not out of memory range ([#10879](#10879)) ([ab3f318](ab3f318)), closes [#7385](#7385) * Reorganise translator proving key construction ([#10853](#10853)) ([5da4d1b](5da4d1b)) </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.68.1</summary> ## [0.68.1](AztecProtocol/aztec-packages@aztec-package-v0.68.0...aztec-package-v0.68.1) (2024-12-23) ### Miscellaneous * Configurable parallelism in bootstrap ([#10909](AztecProtocol/aztec-packages#10909)) ([5260f1e](AztecProtocol/aztec-packages@5260f1e)) </details> <details><summary>barretenberg.js: 0.68.1</summary> ## [0.68.1](AztecProtocol/aztec-packages@barretenberg.js-v0.68.0...barretenberg.js-v0.68.1) (2024-12-23) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.68.1</summary> ## [0.68.1](AztecProtocol/aztec-packages@aztec-packages-v0.68.0...aztec-packages-v0.68.1) (2024-12-23) ### Features * Add a warning when using unsafe blocks without safety comments (noir-lang/noir#6860) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Add limit to unique contract call ([#10640](AztecProtocol/aztec-packages#10640)) ([d340f0b](AztecProtocol/aztec-packages@d340f0b)) * Configurable external check failures (noir-lang/noir#6810) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * **docs:** Add aztec-wallet proving ([#10847](AztecProtocol/aztec-packages#10847)) ([3efae86](AztecProtocol/aztec-packages@3efae86)) * Flatten nested if-else statements with equivalent conditions (noir-lang/noir#6875) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * **p2p:** Timeout peers, disconnect from badly scored peers ([#10907](AztecProtocol/aztec-packages#10907)) ([76a23eb](AztecProtocol/aztec-packages@76a23eb)) * Replace `eval_global_as_array_length` with type/interpreter evaluation (noir-lang/noir#6469) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Revamped sequencer timetable and tx processing timeout ([#10870](AztecProtocol/aztec-packages#10870)) ([145122b](AztecProtocol/aztec-packages@145122b)) * Sync from aztec-packages (noir-lang/noir#6824) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Warn on unnecessary unsafe blocks (noir-lang/noir#6867) ([84a4005](AztecProtocol/aztec-packages@84a4005)) ### Bug Fixes * Add devcoin to faucet after deployment ([#10903](AztecProtocol/aztec-packages#10903)) ([6aa5369](AztecProtocol/aztec-packages@6aa5369)) * CI kind test fix ([#10932](AztecProtocol/aztec-packages#10932)) ([bda1ac7](AztecProtocol/aztec-packages@bda1ac7)) * **ci:** Tester/builder start race conditions ([#10893](AztecProtocol/aztec-packages#10893)) ([4250782](AztecProtocol/aztec-packages@4250782)) * Conditionally deploy deterministic deployment proxy ([#10936](AztecProtocol/aztec-packages#10936)) ([48624b7](AztecProtocol/aztec-packages@48624b7)) * Degrade libp2p crypto package ([#10876](AztecProtocol/aztec-packages#10876)) ([9293f38](AztecProtocol/aztec-packages@9293f38)) * Detect cycles in globals (noir-lang/noir#6859) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Don't deduplicate binary math of unsigned types (noir-lang/noir#6848) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Double alias in path (noir-lang/noir#6855) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Implement `as_field` and `from_field` in the interpreter (noir-lang/noir#6829) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Install Yarn 4.5.2 to build WASM ([#10940](AztecProtocol/aztec-packages#10940)) ([2a76380](AztecProtocol/aztec-packages@2a76380)) * Removed Sepolia stuff from devnet deploy action ([#10916](AztecProtocol/aztec-packages#10916)) ([fbf120b](AztecProtocol/aztec-packages@fbf120b)) ### Miscellaneous * **avm:** Check that slice read/write are not out of memory range ([#10879](AztecProtocol/aztec-packages#10879)) ([ab3f318](AztecProtocol/aztec-packages@ab3f318)), closes [#7385](AztecProtocol/aztec-packages#7385) * Avoid duplicate Not instructions during flattening (noir-lang/noir#6886) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * **ci:** Add non determinism check and fixes (noir-lang/noir#6847) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * **ci:** Display times in compilation and execution reports only with seconds (noir-lang/noir#6880) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * **ci:** Execution time report (noir-lang/noir#6827) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * **ci:** Take averages for compilation and execution report of small programs (noir-lang/noir#6874) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Clean up gates reports script (noir-lang/noir#6896) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Configurable parallelism in bootstrap ([#10909](AztecProtocol/aztec-packages#10909)) ([5260f1e](AztecProtocol/aztec-packages@5260f1e)) * **docs:** Updating noirjs tutorial for 1.0.0 (noir-lang/noir#6792) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * **docs:** Updating the solidity contract how-to guide (noir-lang/noir#6804) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Fix warnings (noir-lang/noir#6863) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Have rust-analyzer use the stable toolchain (noir-lang/noir#6825) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Move constant creation out of loop (noir-lang/noir#6836) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Move empty programs to `compile_success_empty` (noir-lang/noir#6891) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * New default resource values for GKE ([#10928](AztecProtocol/aztec-packages#10928)) ([18e38d3](AztecProtocol/aztec-packages@18e38d3)) * Quick docs fix for [#6839](AztecProtocol/aztec-packages#6839) (noir-lang/noir#6840) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Refactor `DataFlowGraph.insert_instruction_and_results` (noir-lang/noir#6823) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Remove get registered account from pxe ([#10479](AztecProtocol/aztec-packages#10479)) ([ee568ff](AztecProtocol/aztec-packages@ee568ff)) * Remove malformed functions from brillig reports (noir-lang/noir#6898) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Remove the `as_field` and `from_field` built-ins (noir-lang/noir#6845) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Reorganise translator proving key construction ([#10853](AztecProtocol/aztec-packages#10853)) ([5da4d1b](AztecProtocol/aztec-packages@5da4d1b)) * Replace relative paths to noir-protocol-circuits ([b9f9875](AztecProtocol/aztec-packages@b9f9875)) * Update gates diff action ([#10917](AztecProtocol/aztec-packages#10917)) ([57439a7](AztecProtocol/aztec-packages@57439a7)) * Use smallvec for instruction results (noir-lang/noir#6877) ([84a4005](AztecProtocol/aztec-packages@84a4005)) * Use Vec for callstacks (noir-lang/noir#6821) ([84a4005](AztecProtocol/aztec-packages@84a4005)) </details> <details><summary>barretenberg: 0.68.1</summary> ## [0.68.1](AztecProtocol/aztec-packages@barretenberg-v0.68.0...barretenberg-v0.68.1) (2024-12-23) ### Features * Add limit to unique contract call ([#10640](AztecProtocol/aztec-packages#10640)) ([d340f0b](AztecProtocol/aztec-packages@d340f0b)) ### Miscellaneous * **avm:** Check that slice read/write are not out of memory range ([#10879](AztecProtocol/aztec-packages#10879)) ([ab3f318](AztecProtocol/aztec-packages@ab3f318)), closes [#7385](AztecProtocol/aztec-packages#7385) * Reorganise translator proving key construction ([#10853](AztecProtocol/aztec-packages#10853)) ([5da4d1b](AztecProtocol/aztec-packages@5da4d1b)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Description
Problem*
Field
's in numeric generics fails with "array length too large" #6125Field
computed to be larger thanu32::MAX
with arithmetic generics panics #6126eval_global_as_array_length
to support non-array-length types #6238Summary*
All globals are now
comptime
Additional Context
Cyclic globals now stack overflow since that's the behavior of
comptime
cyclic globals before this PR (#6780)Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.