Skip to content
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

chore: remove the as_field and from_field built-ins #6845

Merged
merged 9 commits into from
Dec 19, 2024

Conversation

asterite
Copy link
Collaborator

Description

Problem

Resolves #6838

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 and/or cargo fmt on default settings.

Copy link
Contributor

github-actions bot commented Dec 17, 2024

Peak Memory Sample

Program Peak Memory
keccak256 78.57M
workspace 123.47M
regression_4709 423.68M
ram_blowup_regression 1.58G
private-kernel-tail 207.24M
private-kernel-reset 720.82M
private-kernel-inner 292.44M
parity-root 172.24M

Copy link
Contributor

github-actions bot commented Dec 17, 2024

Compilation Sample

Program Compilation Time %
sha256_regression 0m1.478s 9%
regression_4709 0m0.833s 7%
ram_blowup_regression 0m14.716s 3%
rollup-base-public 3m25.431s -2%
rollup-base-private 3m2.519s 0%
private-kernel-tail 0m1.225s -19%
private-kernel-reset 0m8.478s 12%
private-kernel-inner 0m2.675s 10%
parity-root 0m1.155s 20%
noir-contracts 2m55.161s 1%

noir_stdlib/src/lib.nr Outdated Show resolved Hide resolved
@asterite asterite changed the title Remove the as_field and from_field built-ins chore: remove the as_field and from_field built-ins Dec 18, 2024
Copy link
Contributor

github-actions bot commented Dec 18, 2024

Execution Sample

Program Execution Time %
sha256_regression 0m0.622s 4%
regression_4709 0m0.395s 0%
ram_blowup_regression 0m4.478s 2%
rollup-base-public 0m28.769s -2%
rollup-base-private 0m26.523s 1%
private-kernel-tail 0m0.739s 9%
private-kernel-reset 0m1.489s -2%
private-kernel-inner 0m1.022s 0%
parity-root 0m0.528s 2%

@asterite
Copy link
Collaborator Author

Aztec-Packages is failing now, but I think this uncovered a bug. There's code that does something like this:

fn main() {
    let u = U128::from_integer(184467440737095516152);
    let y = U128::from_integer(u);
    println(y);
}

That is, it's calling U128::from_integer(x) with x being U128 itself. That seems to work in master but just truncates the U128 value. Just using x here is fine.

TomAFrench pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 19, 2024
In Noir we are removing the (private) built-ins `as_field` and
`from_field`, which allowed casting any type to and from Field by
truncating its bits. This uncovered two bugs where we were doing
`U128::from_integer(x)` with `x` itself being a `U128`. That code won't
compile anymore (and I think it was incorrect) so I'm doing those
changes in this PR.

See noir-lang/noir#6845
@TomAFrench
Copy link
Member

Looks good to me with a private trait (although in reality it's not really private until we require traits to be in scope in order to use its methods).

@asterite
Copy link
Collaborator Author

Rust has, in a crate, an AsPrimitive trait that's essentially the as keyword but in a programmatic way. In the end that's what as_field and from_field end up doing, and this PR so far too. I just tried introducing such trait and using it, and it works fine. The benefits are that it's just one trait, it's a more general trait, and it could also be a public trait. What do you think?

@asterite asterite marked this pull request as ready for review December 19, 2024 13:32
@TomAFrench TomAFrench enabled auto-merge December 19, 2024 13:47
@TomAFrench TomAFrench added this pull request to the merge queue Dec 19, 2024
Merged via the queue into master with commit 0558607 Dec 19, 2024
85 checks passed
@TomAFrench TomAFrench deleted the ab/remove-as_field-and-from_field branch December 19, 2024 13:55
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 20, 2024
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)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 20, 2024
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)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 20, 2024
…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)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 20, 2024
…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)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 20, 2024
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>
PhilWindle pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 23, 2024
🤖 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).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Dec 24, 2024
🤖 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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace the as_field and from_field built-ins with the From<Field> and Into<Field> traits
3 participants