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

public-vm: accept bytecode as input to witness generation ("main" call execution & prove) #3791

Closed
dbanks12 opened this issue Jan 2, 2024 · 0 comments · Fixed by #4191 or #4182
Closed
Assignees
Labels
C-avm Component: AVM related tickets (aka public VM)

Comments

@dbanks12
Copy link
Contributor

dbanks12 commented Jan 2, 2024

Port the following deserialization of the bytecode TS functions:

https://github.com/AztecProtocol/aztec-packages/blob/2989c80c45f14b7ae0452a8b64d16a86fbe668ad/yarn-project/acir-simulator/src/avm/opcodes/from_bytecode.ts

Execution of bytecode will be limited to the opcodes supported by our trace generation AND will only support flattened bytecode, i.e., every instruction is executed exactly once after the other. Control flow opcodes like JUMP, INTERNALCALL are therefore not fully supported. Issue #4209 will implement this.

@dbanks12 dbanks12 added the C-avm Component: AVM related tickets (aka public VM) label Jan 2, 2024
rahul-kothari pushed a commit that referenced this issue Jan 30, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-packages: 0.21.0</summary>

##
[0.21.0](aztec-packages-v0.20.0...aztec-packages-v0.21.0)
(2024-01-30)


### ⚠ BREAKING CHANGES

* aztec binary
([#3927](#3927))
* add opcode for sha256 compression function
([#4229](#4229))
* add opcode for poseidon2 permutation
([#4214](#4214))
* remove ec_double opcode
([#4210](#4210))
* Updates singleton usage
([#4186](#4186))
* Add big int opcodes (without implementation)
([#4050](#4050))

### Features

* **3738:** AVM basic arithmetic operations for non ff types
([#3881](#3881))
([457a3f9](457a3f9)),
closes
[#3996](#3996)
* Accrued substate instructions
([#4197](#4197))
([bfe30d2](bfe30d2))
* Add big int opcodes (without implementation)
([#4050](#4050))
([bcab9ce](bcab9ce))
* Add comparators to get/view note
([#3136](#3136))
([#4205](#4205))
([6de36b3](6de36b3))
* Add inclusion check l1-&gt;l2
([#4141](#4141))
([bef65c3](bef65c3))
* Add opcode for poseidon2 permutation
([#4214](#4214))
([53c5ba5](53c5ba5))
* Add opcode for sha256 compression function
([#4229](#4229))
([ac25ff7](ac25ff7))
* Adding slither to l1-contracts
([#4226](#4226))
([b4dc31d](b4dc31d))
* **avm:** Add tests for memory and bitwise instructions
([#4184](#4184))
([6dac650](6dac650))
* **avm:** Bytecode avm control flow
([#4253](#4253))
([fb1d742](fb1d742)),
closes
[#4209](#4209)
* **avm:** Bytecode parsing and proof generation
([#4191](#4191))
([6c70548](6c70548)),
closes
[#3791](#3791)
* **avm:** Environment getters
([#4203](#4203))
([60d2377](60d2377))
* **avm:** Implement comparator opcodes
([#4232](#4232))
([973ff2f](973ff2f))
* **avm:** Initial external calls
([#4194](#4194))
([d8aa966](d8aa966))
* **avm:** Link up storage
([#4150](#4150))
([3e86870](3e86870))
* **avm:** Revert instruction
([#4206](#4206))
([bd6e797](bd6e797))
* **avm:** Tagged memory
([#4213](#4213))
([e5ff2f6](e5ff2f6))
* Aztec binary
([#3927](#3927))
([12356d9](12356d9))
* Contract classes and instances
([#4192](#4192))
([1858126](1858126)),
closes
[#4053](#4053)
* Deserialize AztecAddress when contract's view function returns it in
Aztec.js
[#3641](#3641)
([#4224](#4224))
([11f400f](11f400f))
* **docs:** DIP1: Extract Explanations
([#4228](#4228))
([3b25737](3b25737))
* **docs:** Historical trees docs
([#3895](#3895))
([8c3efba](8c3efba))
* **docs:** PXE docs
([#4021](#4021))
([a656034](a656034))
* Implement bigint in Noir, using bigint opcodes
([#4198](#4198))
([3720415](3720415))
* Implement Embedded EC add and double opcodes
([#3982](#3982))
([ccb7bff](ccb7bff))
* Limit exposed functions on note utils
([#4207](#4207))
([8338f39](8338f39))
* Nullifier key validation
([#4176](#4176))
([1c72c0d](1c72c0d))
* Produce graph of internal Barretenberg dependencies
([#4225](#4225))
([88e7923](88e7923))
* Recursive folding and decider verifier for Protogalaxy
([#4156](#4156))
([9342048](9342048))
* Remove ec_double opcode
([#4210](#4210))
([75f26c4](75f26c4))
* Replace single bit range constraints with basic bool gates
([#4164](#4164))
([0a3553b](0a3553b))
* Updates singleton usage
([#4186](#4186))
([301f0e6](301f0e6))


### Bug Fixes

* **avm:** Fix usage of Fr with tagged memory
([#4240](#4240))
([b82e70c](b82e70c))
* **bb:** .gitignore
([#4201](#4201))
([a56e418](a56e418))
* **docs:** Add missing deps to token tutorial references
([#4265](#4265))
([d7e2d9c](d7e2d9c))
* Generic Honk dependencies
([#4239](#4239))
([382dfbe](382dfbe))


### Miscellaneous

* Add note getter test to cci
([#4236](#4236))
([e1184ff](e1184ff))
* **avm-simulator:** Cleanup, tags as first instruction constructor args
([#4244](#4244))
([e46b865](e46b865))
* **avm:** Remove the state manager in favour of journal
([#4195](#4195))
([40f9324](40f9324))
* **bb:** Rearrange namespaces
([#4147](#4147))
([5de0a8e](5de0a8e))
* Cleaning up circuits test setup
([#4235](#4235))
([fa6915a](fa6915a)),
closes
[#4237](#4237)
* Delete C++ PK circuits
([#4219](#4219))
([9136d32](9136d32))
* Delete MemoryDB
([#4241](#4241))
([9e6250a](9e6250a))
* **docs:** Fix a few links to docs
([#4260](#4260))
([1c8ea49](1c8ea49))
* **docs:** Fix autogen docs
([#4261](#4261))
([3b9927a](3b9927a))
* **docs:** Fix public and private storage not in docs
([#4257](#4257))
([48ceafd](48ceafd))
* **docs:** Fix token bridge tutorial
([#3935](#3935))
([84c9fdb](84c9fdb))
* **docs:** Split contract storage pages
([#4202](#4202))
([1e05f33](1e05f33))
* Fix typo in yellow paper
([#4247](#4247))
([ac82e6b](ac82e6b))
* Fixes test file from
[#4205](#4205)
([#4216](#4216))
([18a9b72](18a9b72))
* Git subrepo pull (merge) noir
([#4252](#4252))
([80be57d](80be57d))
* Nuking old `BlockHeader`
([#4154](#4154))
([997791a](997791a)),
closes
[#3937](#3937)
[#3564](#3564)
[#4134](#4134)
* Remove flaky e2e p2p test
([#4181](#4181))
([688e4af](688e4af))
* Remove mandatory jsdoc
([#4180](#4180))
([9625b43](9625b43)),
closes
[#3860](#3860)
* Remove stubbed docs
([#4196](#4196))
([25a4bc4](25a4bc4))
* Replace leveldb with lmdb for merkle trees
([#4119](#4119))
([84967b2](84967b2)),
closes
[#3362](#3362)
* Replace relative paths to noir-protocol-circuits
([a9839a8](a9839a8))
* Replace relative paths to noir-protocol-circuits
([2ef6e56](2ef6e56))
* Replace relative paths to noir-protocol-circuits
([426c17d](426c17d))
* Replace relative paths to noir-protocol-circuits
([12adb71](12adb71))
* Replace relative paths to noir-protocol-circuits
([fcd048d](fcd048d))
* Unifying Header serialization accross domains
([#4230](#4230))
([92080a0](92080a0))
* Update .gitrepo with correct parent hash
([#4279](#4279))
([9253c8a](9253c8a))


### Documentation

* **bb:** How to use docker_interactive.sh
([#4220](#4220))
([f44c6b1](f44c6b1))
* Update welcome page and dev pages
([#4143](#4143))
([d2a86ff](d2a86ff))
</details>

<details><summary>barretenberg.js: 0.21.0</summary>

##
[0.21.0](barretenberg.js-v0.20.0...barretenberg.js-v0.21.0)
(2024-01-30)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg: 0.21.0</summary>

##
[0.21.0](barretenberg-v0.20.0...barretenberg-v0.21.0)
(2024-01-30)


### ⚠ BREAKING CHANGES

* add opcode for sha256 compression function
([#4229](#4229))
* add opcode for poseidon2 permutation
([#4214](#4214))
* remove ec_double opcode
([#4210](#4210))
* Add big int opcodes (without implementation)
([#4050](#4050))

### Features

* **3738:** AVM basic arithmetic operations for non ff types
([#3881](#3881))
([457a3f9](457a3f9)),
closes
[#3996](#3996)
* Add big int opcodes (without implementation)
([#4050](#4050))
([bcab9ce](bcab9ce))
* Add opcode for poseidon2 permutation
([#4214](#4214))
([53c5ba5](53c5ba5))
* Add opcode for sha256 compression function
([#4229](#4229))
([ac25ff7](ac25ff7))
* **avm:** Bytecode avm control flow
([#4253](#4253))
([fb1d742](fb1d742)),
closes
[#4209](#4209)
* **avm:** Bytecode parsing and proof generation
([#4191](#4191))
([6c70548](6c70548)),
closes
[#3791](#3791)
* Implement Embedded EC add and double opcodes
([#3982](#3982))
([ccb7bff](ccb7bff))
* Produce graph of internal Barretenberg dependencies
([#4225](#4225))
([88e7923](88e7923))
* Recursive folding and decider verifier for Protogalaxy
([#4156](#4156))
([9342048](9342048))
* Remove ec_double opcode
([#4210](#4210))
([75f26c4](75f26c4))
* Replace single bit range constraints with basic bool gates
([#4164](#4164))
([0a3553b](0a3553b))


### Bug Fixes

* **bb:** .gitignore
([#4201](#4201))
([a56e418](a56e418))
* Generic Honk dependencies
([#4239](#4239))
([382dfbe](382dfbe))


### Miscellaneous

* **bb:** Rearrange namespaces
([#4147](#4147))
([5de0a8e](5de0a8e))
* Delete C++ PK circuits
([#4219](#4219))
([9136d32](9136d32))


### Documentation

* **bb:** How to use docker_interactive.sh
([#4220](#4220))
([f44c6b1](f44c6b1))
</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 issue Jan 31, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-packages: 0.21.0</summary>

##
[0.21.0](AztecProtocol/aztec-packages@aztec-packages-v0.20.0...aztec-packages-v0.21.0)
(2024-01-30)


### ⚠ BREAKING CHANGES

* aztec binary
([#3927](AztecProtocol/aztec-packages#3927))
* add opcode for sha256 compression function
([#4229](AztecProtocol/aztec-packages#4229))
* add opcode for poseidon2 permutation
([#4214](AztecProtocol/aztec-packages#4214))
* remove ec_double opcode
([#4210](AztecProtocol/aztec-packages#4210))
* Updates singleton usage
([#4186](AztecProtocol/aztec-packages#4186))
* Add big int opcodes (without implementation)
([#4050](AztecProtocol/aztec-packages#4050))

### Features

* **3738:** AVM basic arithmetic operations for non ff types
([#3881](AztecProtocol/aztec-packages#3881))
([457a3f9](AztecProtocol/aztec-packages@457a3f9)),
closes
[#3996](AztecProtocol/aztec-packages#3996)
* Accrued substate instructions
([#4197](AztecProtocol/aztec-packages#4197))
([bfe30d2](AztecProtocol/aztec-packages@bfe30d2))
* Add big int opcodes (without implementation)
([#4050](AztecProtocol/aztec-packages#4050))
([bcab9ce](AztecProtocol/aztec-packages@bcab9ce))
* Add comparators to get/view note
([#3136](AztecProtocol/aztec-packages#3136))
([#4205](AztecProtocol/aztec-packages#4205))
([6de36b3](AztecProtocol/aztec-packages@6de36b3))
* Add inclusion check l1-&gt;l2
([#4141](AztecProtocol/aztec-packages#4141))
([bef65c3](AztecProtocol/aztec-packages@bef65c3))
* Add opcode for poseidon2 permutation
([#4214](AztecProtocol/aztec-packages#4214))
([53c5ba5](AztecProtocol/aztec-packages@53c5ba5))
* Add opcode for sha256 compression function
([#4229](AztecProtocol/aztec-packages#4229))
([ac25ff7](AztecProtocol/aztec-packages@ac25ff7))
* Adding slither to l1-contracts
([#4226](AztecProtocol/aztec-packages#4226))
([b4dc31d](AztecProtocol/aztec-packages@b4dc31d))
* **avm:** Add tests for memory and bitwise instructions
([#4184](AztecProtocol/aztec-packages#4184))
([6dac650](AztecProtocol/aztec-packages@6dac650))
* **avm:** Bytecode avm control flow
([#4253](AztecProtocol/aztec-packages#4253))
([fb1d742](AztecProtocol/aztec-packages@fb1d742)),
closes
[#4209](AztecProtocol/aztec-packages#4209)
* **avm:** Bytecode parsing and proof generation
([#4191](AztecProtocol/aztec-packages#4191))
([6c70548](AztecProtocol/aztec-packages@6c70548)),
closes
[#3791](AztecProtocol/aztec-packages#3791)
* **avm:** Environment getters
([#4203](AztecProtocol/aztec-packages#4203))
([60d2377](AztecProtocol/aztec-packages@60d2377))
* **avm:** Implement comparator opcodes
([#4232](AztecProtocol/aztec-packages#4232))
([973ff2f](AztecProtocol/aztec-packages@973ff2f))
* **avm:** Initial external calls
([#4194](AztecProtocol/aztec-packages#4194))
([d8aa966](AztecProtocol/aztec-packages@d8aa966))
* **avm:** Link up storage
([#4150](AztecProtocol/aztec-packages#4150))
([3e86870](AztecProtocol/aztec-packages@3e86870))
* **avm:** Revert instruction
([#4206](AztecProtocol/aztec-packages#4206))
([bd6e797](AztecProtocol/aztec-packages@bd6e797))
* **avm:** Tagged memory
([#4213](AztecProtocol/aztec-packages#4213))
([e5ff2f6](AztecProtocol/aztec-packages@e5ff2f6))
* Aztec binary
([#3927](AztecProtocol/aztec-packages#3927))
([12356d9](AztecProtocol/aztec-packages@12356d9))
* Contract classes and instances
([#4192](AztecProtocol/aztec-packages#4192))
([1858126](AztecProtocol/aztec-packages@1858126)),
closes
[#4053](AztecProtocol/aztec-packages#4053)
* Deserialize AztecAddress when contract's view function returns it in
Aztec.js
[#3641](AztecProtocol/aztec-packages#3641)
([#4224](AztecProtocol/aztec-packages#4224))
([11f400f](AztecProtocol/aztec-packages@11f400f))
* **docs:** DIP1: Extract Explanations
([#4228](AztecProtocol/aztec-packages#4228))
([3b25737](AztecProtocol/aztec-packages@3b25737))
* **docs:** Historical trees docs
([#3895](AztecProtocol/aztec-packages#3895))
([8c3efba](AztecProtocol/aztec-packages@8c3efba))
* **docs:** PXE docs
([#4021](AztecProtocol/aztec-packages#4021))
([a656034](AztecProtocol/aztec-packages@a656034))
* Implement bigint in Noir, using bigint opcodes
([#4198](AztecProtocol/aztec-packages#4198))
([3720415](AztecProtocol/aztec-packages@3720415))
* Implement Embedded EC add and double opcodes
([#3982](AztecProtocol/aztec-packages#3982))
([ccb7bff](AztecProtocol/aztec-packages@ccb7bff))
* Limit exposed functions on note utils
([#4207](AztecProtocol/aztec-packages#4207))
([8338f39](AztecProtocol/aztec-packages@8338f39))
* Nullifier key validation
([#4176](AztecProtocol/aztec-packages#4176))
([1c72c0d](AztecProtocol/aztec-packages@1c72c0d))
* Produce graph of internal Barretenberg dependencies
([#4225](AztecProtocol/aztec-packages#4225))
([88e7923](AztecProtocol/aztec-packages@88e7923))
* Recursive folding and decider verifier for Protogalaxy
([#4156](AztecProtocol/aztec-packages#4156))
([9342048](AztecProtocol/aztec-packages@9342048))
* Remove ec_double opcode
([#4210](AztecProtocol/aztec-packages#4210))
([75f26c4](AztecProtocol/aztec-packages@75f26c4))
* Replace single bit range constraints with basic bool gates
([#4164](AztecProtocol/aztec-packages#4164))
([0a3553b](AztecProtocol/aztec-packages@0a3553b))
* Updates singleton usage
([#4186](AztecProtocol/aztec-packages#4186))
([301f0e6](AztecProtocol/aztec-packages@301f0e6))


### Bug Fixes

* **avm:** Fix usage of Fr with tagged memory
([#4240](AztecProtocol/aztec-packages#4240))
([b82e70c](AztecProtocol/aztec-packages@b82e70c))
* **bb:** .gitignore
([#4201](AztecProtocol/aztec-packages#4201))
([a56e418](AztecProtocol/aztec-packages@a56e418))
* **docs:** Add missing deps to token tutorial references
([#4265](AztecProtocol/aztec-packages#4265))
([d7e2d9c](AztecProtocol/aztec-packages@d7e2d9c))
* Generic Honk dependencies
([#4239](AztecProtocol/aztec-packages#4239))
([382dfbe](AztecProtocol/aztec-packages@382dfbe))


### Miscellaneous

* Add note getter test to cci
([#4236](AztecProtocol/aztec-packages#4236))
([e1184ff](AztecProtocol/aztec-packages@e1184ff))
* **avm-simulator:** Cleanup, tags as first instruction constructor args
([#4244](AztecProtocol/aztec-packages#4244))
([e46b865](AztecProtocol/aztec-packages@e46b865))
* **avm:** Remove the state manager in favour of journal
([#4195](AztecProtocol/aztec-packages#4195))
([40f9324](AztecProtocol/aztec-packages@40f9324))
* **bb:** Rearrange namespaces
([#4147](AztecProtocol/aztec-packages#4147))
([5de0a8e](AztecProtocol/aztec-packages@5de0a8e))
* Cleaning up circuits test setup
([#4235](AztecProtocol/aztec-packages#4235))
([fa6915a](AztecProtocol/aztec-packages@fa6915a)),
closes
[#4237](AztecProtocol/aztec-packages#4237)
* Delete C++ PK circuits
([#4219](AztecProtocol/aztec-packages#4219))
([9136d32](AztecProtocol/aztec-packages@9136d32))
* Delete MemoryDB
([#4241](AztecProtocol/aztec-packages#4241))
([9e6250a](AztecProtocol/aztec-packages@9e6250a))
* **docs:** Fix a few links to docs
([#4260](AztecProtocol/aztec-packages#4260))
([1c8ea49](AztecProtocol/aztec-packages@1c8ea49))
* **docs:** Fix autogen docs
([#4261](AztecProtocol/aztec-packages#4261))
([3b9927a](AztecProtocol/aztec-packages@3b9927a))
* **docs:** Fix public and private storage not in docs
([#4257](AztecProtocol/aztec-packages#4257))
([48ceafd](AztecProtocol/aztec-packages@48ceafd))
* **docs:** Fix token bridge tutorial
([#3935](AztecProtocol/aztec-packages#3935))
([84c9fdb](AztecProtocol/aztec-packages@84c9fdb))
* **docs:** Split contract storage pages
([#4202](AztecProtocol/aztec-packages#4202))
([1e05f33](AztecProtocol/aztec-packages@1e05f33))
* Fix typo in yellow paper
([#4247](AztecProtocol/aztec-packages#4247))
([ac82e6b](AztecProtocol/aztec-packages@ac82e6b))
* Fixes test file from
[#4205](AztecProtocol/aztec-packages#4205)
([#4216](AztecProtocol/aztec-packages#4216))
([18a9b72](AztecProtocol/aztec-packages@18a9b72))
* Git subrepo pull (merge) noir
([#4252](AztecProtocol/aztec-packages#4252))
([80be57d](AztecProtocol/aztec-packages@80be57d))
* Nuking old `BlockHeader`
([#4154](AztecProtocol/aztec-packages#4154))
([997791a](AztecProtocol/aztec-packages@997791a)),
closes
[#3937](AztecProtocol/aztec-packages#3937)
[#3564](AztecProtocol/aztec-packages#3564)
[#4134](AztecProtocol/aztec-packages#4134)
* Remove flaky e2e p2p test
([#4181](AztecProtocol/aztec-packages#4181))
([688e4af](AztecProtocol/aztec-packages@688e4af))
* Remove mandatory jsdoc
([#4180](AztecProtocol/aztec-packages#4180))
([9625b43](AztecProtocol/aztec-packages@9625b43)),
closes
[#3860](AztecProtocol/aztec-packages#3860)
* Remove stubbed docs
([#4196](AztecProtocol/aztec-packages#4196))
([25a4bc4](AztecProtocol/aztec-packages@25a4bc4))
* Replace leveldb with lmdb for merkle trees
([#4119](AztecProtocol/aztec-packages#4119))
([84967b2](AztecProtocol/aztec-packages@84967b2)),
closes
[#3362](AztecProtocol/aztec-packages#3362)
* Replace relative paths to noir-protocol-circuits
([a9839a8](AztecProtocol/aztec-packages@a9839a8))
* Replace relative paths to noir-protocol-circuits
([2ef6e56](AztecProtocol/aztec-packages@2ef6e56))
* Replace relative paths to noir-protocol-circuits
([426c17d](AztecProtocol/aztec-packages@426c17d))
* Replace relative paths to noir-protocol-circuits
([12adb71](AztecProtocol/aztec-packages@12adb71))
* Replace relative paths to noir-protocol-circuits
([fcd048d](AztecProtocol/aztec-packages@fcd048d))
* Unifying Header serialization accross domains
([#4230](AztecProtocol/aztec-packages#4230))
([92080a0](AztecProtocol/aztec-packages@92080a0))
* Update .gitrepo with correct parent hash
([#4279](AztecProtocol/aztec-packages#4279))
([9253c8a](AztecProtocol/aztec-packages@9253c8a))


### Documentation

* **bb:** How to use docker_interactive.sh
([#4220](AztecProtocol/aztec-packages#4220))
([f44c6b1](AztecProtocol/aztec-packages@f44c6b1))
* Update welcome page and dev pages
([#4143](AztecProtocol/aztec-packages#4143))
([d2a86ff](AztecProtocol/aztec-packages@d2a86ff))
</details>

<details><summary>barretenberg.js: 0.21.0</summary>

##
[0.21.0](AztecProtocol/aztec-packages@barretenberg.js-v0.20.0...barretenberg.js-v0.21.0)
(2024-01-30)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg: 0.21.0</summary>

##
[0.21.0](AztecProtocol/aztec-packages@barretenberg-v0.20.0...barretenberg-v0.21.0)
(2024-01-30)


### ⚠ BREAKING CHANGES

* add opcode for sha256 compression function
([#4229](AztecProtocol/aztec-packages#4229))
* add opcode for poseidon2 permutation
([#4214](AztecProtocol/aztec-packages#4214))
* remove ec_double opcode
([#4210](AztecProtocol/aztec-packages#4210))
* Add big int opcodes (without implementation)
([#4050](AztecProtocol/aztec-packages#4050))

### Features

* **3738:** AVM basic arithmetic operations for non ff types
([#3881](AztecProtocol/aztec-packages#3881))
([457a3f9](AztecProtocol/aztec-packages@457a3f9)),
closes
[#3996](AztecProtocol/aztec-packages#3996)
* Add big int opcodes (without implementation)
([#4050](AztecProtocol/aztec-packages#4050))
([bcab9ce](AztecProtocol/aztec-packages@bcab9ce))
* Add opcode for poseidon2 permutation
([#4214](AztecProtocol/aztec-packages#4214))
([53c5ba5](AztecProtocol/aztec-packages@53c5ba5))
* Add opcode for sha256 compression function
([#4229](AztecProtocol/aztec-packages#4229))
([ac25ff7](AztecProtocol/aztec-packages@ac25ff7))
* **avm:** Bytecode avm control flow
([#4253](AztecProtocol/aztec-packages#4253))
([fb1d742](AztecProtocol/aztec-packages@fb1d742)),
closes
[#4209](AztecProtocol/aztec-packages#4209)
* **avm:** Bytecode parsing and proof generation
([#4191](AztecProtocol/aztec-packages#4191))
([6c70548](AztecProtocol/aztec-packages@6c70548)),
closes
[#3791](AztecProtocol/aztec-packages#3791)
* Implement Embedded EC add and double opcodes
([#3982](AztecProtocol/aztec-packages#3982))
([ccb7bff](AztecProtocol/aztec-packages@ccb7bff))
* Produce graph of internal Barretenberg dependencies
([#4225](AztecProtocol/aztec-packages#4225))
([88e7923](AztecProtocol/aztec-packages@88e7923))
* Recursive folding and decider verifier for Protogalaxy
([#4156](AztecProtocol/aztec-packages#4156))
([9342048](AztecProtocol/aztec-packages@9342048))
* Remove ec_double opcode
([#4210](AztecProtocol/aztec-packages#4210))
([75f26c4](AztecProtocol/aztec-packages@75f26c4))
* Replace single bit range constraints with basic bool gates
([#4164](AztecProtocol/aztec-packages#4164))
([0a3553b](AztecProtocol/aztec-packages@0a3553b))


### Bug Fixes

* **bb:** .gitignore
([#4201](AztecProtocol/aztec-packages#4201))
([a56e418](AztecProtocol/aztec-packages@a56e418))
* Generic Honk dependencies
([#4239](AztecProtocol/aztec-packages#4239))
([382dfbe](AztecProtocol/aztec-packages@382dfbe))


### Miscellaneous

* **bb:** Rearrange namespaces
([#4147](AztecProtocol/aztec-packages#4147))
([5de0a8e](AztecProtocol/aztec-packages@5de0a8e))
* Delete C++ PK circuits
([#4219](AztecProtocol/aztec-packages#4219))
([9136d32](AztecProtocol/aztec-packages@9136d32))


### Documentation

* **bb:** How to use docker_interactive.sh
([#4220](AztecProtocol/aztec-packages#4220))
([f44c6b1](AztecProtocol/aztec-packages@f44c6b1))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
michaelelliot pushed a commit to Swoir/noir_rs that referenced this issue Feb 28, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-packages: 0.21.0</summary>

##
[0.21.0](AztecProtocol/aztec-packages@aztec-packages-v0.20.0...aztec-packages-v0.21.0)
(2024-01-30)


### ⚠ BREAKING CHANGES

* aztec binary
([AztecProtocol#3927](AztecProtocol#3927))
* add opcode for sha256 compression function
([AztecProtocol#4229](AztecProtocol#4229))
* add opcode for poseidon2 permutation
([AztecProtocol#4214](AztecProtocol#4214))
* remove ec_double opcode
([AztecProtocol#4210](AztecProtocol#4210))
* Updates singleton usage
([AztecProtocol#4186](AztecProtocol#4186))
* Add big int opcodes (without implementation)
([AztecProtocol#4050](AztecProtocol#4050))

### Features

* **3738:** AVM basic arithmetic operations for non ff types
([AztecProtocol#3881](AztecProtocol#3881))
([457a3f9](AztecProtocol@457a3f9)),
closes
[AztecProtocol#3996](AztecProtocol#3996)
* Accrued substate instructions
([AztecProtocol#4197](AztecProtocol#4197))
([bfe30d2](AztecProtocol@bfe30d2))
* Add big int opcodes (without implementation)
([AztecProtocol#4050](AztecProtocol#4050))
([bcab9ce](AztecProtocol@bcab9ce))
* Add comparators to get/view note
([AztecProtocol#3136](AztecProtocol#3136))
([AztecProtocol#4205](AztecProtocol#4205))
([6de36b3](AztecProtocol@6de36b3))
* Add inclusion check l1-&gt;l2
([AztecProtocol#4141](AztecProtocol#4141))
([bef65c3](AztecProtocol@bef65c3))
* Add opcode for poseidon2 permutation
([AztecProtocol#4214](AztecProtocol#4214))
([53c5ba5](AztecProtocol@53c5ba5))
* Add opcode for sha256 compression function
([AztecProtocol#4229](AztecProtocol#4229))
([ac25ff7](AztecProtocol@ac25ff7))
* Adding slither to l1-contracts
([AztecProtocol#4226](AztecProtocol#4226))
([b4dc31d](AztecProtocol@b4dc31d))
* **avm:** Add tests for memory and bitwise instructions
([AztecProtocol#4184](AztecProtocol#4184))
([6dac650](AztecProtocol@6dac650))
* **avm:** Bytecode avm control flow
([AztecProtocol#4253](AztecProtocol#4253))
([fb1d742](AztecProtocol@fb1d742)),
closes
[AztecProtocol#4209](AztecProtocol#4209)
* **avm:** Bytecode parsing and proof generation
([AztecProtocol#4191](AztecProtocol#4191))
([6c70548](AztecProtocol@6c70548)),
closes
[AztecProtocol#3791](AztecProtocol#3791)
* **avm:** Environment getters
([AztecProtocol#4203](AztecProtocol#4203))
([60d2377](AztecProtocol@60d2377))
* **avm:** Implement comparator opcodes
([AztecProtocol#4232](AztecProtocol#4232))
([973ff2f](AztecProtocol@973ff2f))
* **avm:** Initial external calls
([AztecProtocol#4194](AztecProtocol#4194))
([d8aa966](AztecProtocol@d8aa966))
* **avm:** Link up storage
([AztecProtocol#4150](AztecProtocol#4150))
([3e86870](AztecProtocol@3e86870))
* **avm:** Revert instruction
([AztecProtocol#4206](AztecProtocol#4206))
([bd6e797](AztecProtocol@bd6e797))
* **avm:** Tagged memory
([AztecProtocol#4213](AztecProtocol#4213))
([e5ff2f6](AztecProtocol@e5ff2f6))
* Aztec binary
([AztecProtocol#3927](AztecProtocol#3927))
([12356d9](AztecProtocol@12356d9))
* Contract classes and instances
([AztecProtocol#4192](AztecProtocol#4192))
([1858126](AztecProtocol@1858126)),
closes
[AztecProtocol#4053](AztecProtocol#4053)
* Deserialize AztecAddress when contract's view function returns it in
Aztec.js
[AztecProtocol#3641](AztecProtocol#3641)
([AztecProtocol#4224](AztecProtocol#4224))
([11f400f](AztecProtocol@11f400f))
* **docs:** DIP1: Extract Explanations
([AztecProtocol#4228](AztecProtocol#4228))
([3b25737](AztecProtocol@3b25737))
* **docs:** Historical trees docs
([AztecProtocol#3895](AztecProtocol#3895))
([8c3efba](AztecProtocol@8c3efba))
* **docs:** PXE docs
([AztecProtocol#4021](AztecProtocol#4021))
([a656034](AztecProtocol@a656034))
* Implement bigint in Noir, using bigint opcodes
([AztecProtocol#4198](AztecProtocol#4198))
([3720415](AztecProtocol@3720415))
* Implement Embedded EC add and double opcodes
([AztecProtocol#3982](AztecProtocol#3982))
([ccb7bff](AztecProtocol@ccb7bff))
* Limit exposed functions on note utils
([AztecProtocol#4207](AztecProtocol#4207))
([8338f39](AztecProtocol@8338f39))
* Nullifier key validation
([AztecProtocol#4176](AztecProtocol#4176))
([1c72c0d](AztecProtocol@1c72c0d))
* Produce graph of internal Barretenberg dependencies
([AztecProtocol#4225](AztecProtocol#4225))
([88e7923](AztecProtocol@88e7923))
* Recursive folding and decider verifier for Protogalaxy
([AztecProtocol#4156](AztecProtocol#4156))
([9342048](AztecProtocol@9342048))
* Remove ec_double opcode
([AztecProtocol#4210](AztecProtocol#4210))
([75f26c4](AztecProtocol@75f26c4))
* Replace single bit range constraints with basic bool gates
([AztecProtocol#4164](AztecProtocol#4164))
([0a3553b](AztecProtocol@0a3553b))
* Updates singleton usage
([AztecProtocol#4186](AztecProtocol#4186))
([301f0e6](AztecProtocol@301f0e6))


### Bug Fixes

* **avm:** Fix usage of Fr with tagged memory
([AztecProtocol#4240](AztecProtocol#4240))
([b82e70c](AztecProtocol@b82e70c))
* **bb:** .gitignore
([AztecProtocol#4201](AztecProtocol#4201))
([a56e418](AztecProtocol@a56e418))
* **docs:** Add missing deps to token tutorial references
([AztecProtocol#4265](AztecProtocol#4265))
([d7e2d9c](AztecProtocol@d7e2d9c))
* Generic Honk dependencies
([AztecProtocol#4239](AztecProtocol#4239))
([382dfbe](AztecProtocol@382dfbe))


### Miscellaneous

* Add note getter test to cci
([AztecProtocol#4236](AztecProtocol#4236))
([e1184ff](AztecProtocol@e1184ff))
* **avm-simulator:** Cleanup, tags as first instruction constructor args
([AztecProtocol#4244](AztecProtocol#4244))
([e46b865](AztecProtocol@e46b865))
* **avm:** Remove the state manager in favour of journal
([AztecProtocol#4195](AztecProtocol#4195))
([40f9324](AztecProtocol@40f9324))
* **bb:** Rearrange namespaces
([AztecProtocol#4147](AztecProtocol#4147))
([5de0a8e](AztecProtocol@5de0a8e))
* Cleaning up circuits test setup
([AztecProtocol#4235](AztecProtocol#4235))
([fa6915a](AztecProtocol@fa6915a)),
closes
[AztecProtocol#4237](AztecProtocol#4237)
* Delete C++ PK circuits
([AztecProtocol#4219](AztecProtocol#4219))
([9136d32](AztecProtocol@9136d32))
* Delete MemoryDB
([AztecProtocol#4241](AztecProtocol#4241))
([9e6250a](AztecProtocol@9e6250a))
* **docs:** Fix a few links to docs
([AztecProtocol#4260](AztecProtocol#4260))
([1c8ea49](AztecProtocol@1c8ea49))
* **docs:** Fix autogen docs
([AztecProtocol#4261](AztecProtocol#4261))
([3b9927a](AztecProtocol@3b9927a))
* **docs:** Fix public and private storage not in docs
([AztecProtocol#4257](AztecProtocol#4257))
([48ceafd](AztecProtocol@48ceafd))
* **docs:** Fix token bridge tutorial
([AztecProtocol#3935](AztecProtocol#3935))
([84c9fdb](AztecProtocol@84c9fdb))
* **docs:** Split contract storage pages
([AztecProtocol#4202](AztecProtocol#4202))
([1e05f33](AztecProtocol@1e05f33))
* Fix typo in yellow paper
([AztecProtocol#4247](AztecProtocol#4247))
([ac82e6b](AztecProtocol@ac82e6b))
* Fixes test file from
[AztecProtocol#4205](AztecProtocol#4205)
([AztecProtocol#4216](AztecProtocol#4216))
([18a9b72](AztecProtocol@18a9b72))
* Git subrepo pull (merge) noir
([AztecProtocol#4252](AztecProtocol#4252))
([80be57d](AztecProtocol@80be57d))
* Nuking old `BlockHeader`
([AztecProtocol#4154](AztecProtocol#4154))
([997791a](AztecProtocol@997791a)),
closes
[AztecProtocol#3937](AztecProtocol#3937)
[AztecProtocol#3564](AztecProtocol#3564)
[AztecProtocol#4134](AztecProtocol#4134)
* Remove flaky e2e p2p test
([AztecProtocol#4181](AztecProtocol#4181))
([688e4af](AztecProtocol@688e4af))
* Remove mandatory jsdoc
([AztecProtocol#4180](AztecProtocol#4180))
([9625b43](AztecProtocol@9625b43)),
closes
[AztecProtocol#3860](AztecProtocol#3860)
* Remove stubbed docs
([AztecProtocol#4196](AztecProtocol#4196))
([25a4bc4](AztecProtocol@25a4bc4))
* Replace leveldb with lmdb for merkle trees
([AztecProtocol#4119](AztecProtocol#4119))
([84967b2](AztecProtocol@84967b2)),
closes
[AztecProtocol#3362](AztecProtocol#3362)
* Replace relative paths to noir-protocol-circuits
([a9839a8](AztecProtocol@a9839a8))
* Replace relative paths to noir-protocol-circuits
([2ef6e56](AztecProtocol@2ef6e56))
* Replace relative paths to noir-protocol-circuits
([426c17d](AztecProtocol@426c17d))
* Replace relative paths to noir-protocol-circuits
([12adb71](AztecProtocol@12adb71))
* Replace relative paths to noir-protocol-circuits
([fcd048d](AztecProtocol@fcd048d))
* Unifying Header serialization accross domains
([AztecProtocol#4230](AztecProtocol#4230))
([92080a0](AztecProtocol@92080a0))
* Update .gitrepo with correct parent hash
([AztecProtocol#4279](AztecProtocol#4279))
([9253c8a](AztecProtocol@9253c8a))


### Documentation

* **bb:** How to use docker_interactive.sh
([AztecProtocol#4220](AztecProtocol#4220))
([f44c6b1](AztecProtocol@f44c6b1))
* Update welcome page and dev pages
([AztecProtocol#4143](AztecProtocol#4143))
([d2a86ff](AztecProtocol@d2a86ff))
</details>

<details><summary>barretenberg.js: 0.21.0</summary>

##
[0.21.0](AztecProtocol/aztec-packages@barretenberg.js-v0.20.0...barretenberg.js-v0.21.0)
(2024-01-30)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg: 0.21.0</summary>

##
[0.21.0](AztecProtocol/aztec-packages@barretenberg-v0.20.0...barretenberg-v0.21.0)
(2024-01-30)


### ⚠ BREAKING CHANGES

* add opcode for sha256 compression function
([AztecProtocol#4229](AztecProtocol#4229))
* add opcode for poseidon2 permutation
([AztecProtocol#4214](AztecProtocol#4214))
* remove ec_double opcode
([AztecProtocol#4210](AztecProtocol#4210))
* Add big int opcodes (without implementation)
([AztecProtocol#4050](AztecProtocol#4050))

### Features

* **3738:** AVM basic arithmetic operations for non ff types
([AztecProtocol#3881](AztecProtocol#3881))
([457a3f9](AztecProtocol@457a3f9)),
closes
[AztecProtocol#3996](AztecProtocol#3996)
* Add big int opcodes (without implementation)
([AztecProtocol#4050](AztecProtocol#4050))
([bcab9ce](AztecProtocol@bcab9ce))
* Add opcode for poseidon2 permutation
([AztecProtocol#4214](AztecProtocol#4214))
([53c5ba5](AztecProtocol@53c5ba5))
* Add opcode for sha256 compression function
([AztecProtocol#4229](AztecProtocol#4229))
([ac25ff7](AztecProtocol@ac25ff7))
* **avm:** Bytecode avm control flow
([AztecProtocol#4253](AztecProtocol#4253))
([fb1d742](AztecProtocol@fb1d742)),
closes
[AztecProtocol#4209](AztecProtocol#4209)
* **avm:** Bytecode parsing and proof generation
([AztecProtocol#4191](AztecProtocol#4191))
([6c70548](AztecProtocol@6c70548)),
closes
[AztecProtocol#3791](AztecProtocol#3791)
* Implement Embedded EC add and double opcodes
([AztecProtocol#3982](AztecProtocol#3982))
([ccb7bff](AztecProtocol@ccb7bff))
* Produce graph of internal Barretenberg dependencies
([AztecProtocol#4225](AztecProtocol#4225))
([88e7923](AztecProtocol@88e7923))
* Recursive folding and decider verifier for Protogalaxy
([AztecProtocol#4156](AztecProtocol#4156))
([9342048](AztecProtocol@9342048))
* Remove ec_double opcode
([AztecProtocol#4210](AztecProtocol#4210))
([75f26c4](AztecProtocol@75f26c4))
* Replace single bit range constraints with basic bool gates
([AztecProtocol#4164](AztecProtocol#4164))
([0a3553b](AztecProtocol@0a3553b))


### Bug Fixes

* **bb:** .gitignore
([AztecProtocol#4201](AztecProtocol#4201))
([a56e418](AztecProtocol@a56e418))
* Generic Honk dependencies
([AztecProtocol#4239](AztecProtocol#4239))
([382dfbe](AztecProtocol@382dfbe))


### Miscellaneous

* **bb:** Rearrange namespaces
([AztecProtocol#4147](AztecProtocol#4147))
([5de0a8e](AztecProtocol@5de0a8e))
* Delete C++ PK circuits
([AztecProtocol#4219](AztecProtocol#4219))
([9136d32](AztecProtocol@9136d32))


### Documentation

* **bb:** How to use docker_interactive.sh
([AztecProtocol#4220](AztecProtocol#4220))
([f44c6b1](AztecProtocol@f44c6b1))
</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
C-avm Component: AVM related tickets (aka public VM)
Projects
Archived in project
2 participants