v0.28.0
0.28.0 (2024-04-24)
⚠ BREAKING CHANGES
- Add
as_array
and remove_slice
variants of hash functions (#4675) - reserve keyword
super
(#4836) - contract interfaces and better function calls (AztecProtocol/aztec-packages#5687)
- change backend width to 4 (AztecProtocol/aztec-packages#5374)
- Use fixed size arrays in black box functions where sizes are known (AztecProtocol/aztec-packages#5620)
- trap with revert data (AztecProtocol/aztec-packages#5732)
- acir: BrilligCall opcode (AztecProtocol/aztec-packages#5709)
- remove fixed-length keccak256 (AztecProtocol/aztec-packages#5617)
- storage_layout and
#[aztec(storage)]
(AztecProtocol/aztec-packages#5387) - acir: Add predicate to call opcode (AztecProtocol/aztec-packages#5616)
- contract_abi-exports (AztecProtocol/aztec-packages#5386)
Features
- acir_gen: Brillig stdlib (#4848) (0c8175c)
- acir: Add predicate to call opcode (AztecProtocol/aztec-packages#5616) (2bd006a)
- acir: BrilligCall opcode (AztecProtocol/aztec-packages#5709) (0f9ae0a)
- Add
min
andmax
functions to the stdlib (#4839) (6cfb328) - Add
NARGO_FOREIGN_CALL_TIMEOUT
environment variable (#4780) (791f1c8) - Add comptime Interpreter (#4821) (5992436)
- Add return values to aztec fns (AztecProtocol/aztec-packages#5389) (2bd006a)
- Allow numeric generics to non inlined ACIR functions (#4834) (9cc03a4)
- avm: Integrate AVM with initializers (AztecProtocol/aztec-packages#5469) (2bd006a)
- Brillig heterogeneous memory cells (AztecProtocol/aztec-packages#5608) (305bcdc)
- Brillig pointer codegen and execution (AztecProtocol/aztec-packages#5737) (0f9ae0a)
- Change backend width to 4 (AztecProtocol/aztec-packages#5374) (0f9ae0a)
- Contract interfaces and better function calls (AztecProtocol/aztec-packages#5687) (0f9ae0a)
- Contract_abi-exports (AztecProtocol/aztec-packages#5386) (2bd006a)
- experimental: Add
comptime
keyword (#4840) (4dfd7f0) - Get last mock oracles params (#4789) (1d96937)
- Impl of missing functionality in new key store (AztecProtocol/aztec-packages#5750) (0f9ae0a)
- Implement
Eq
trait onBoundedVec
(#4830) (6cefe16) - Lalrpop lexer prototype (#4656) (25ad018)
- nargo: Handle call stacks for multiple Acir calls (#4711) (5b23171)
- Narrow ABI encoding errors down to target problem argument/field (#4798) (e412e6e)
- Proving the rollup circuits (AztecProtocol/aztec-packages#5599) (5b352d6)
- Reserve keyword
super
(#4836) (d5028a6) - Restore hashing args via slice for performance (AztecProtocol/aztec-packages#5539) (2bd006a)
- Simplify
BoundedVec::eq
(#4838) (3d33a33) - simulator: Fetch return values at circuit execution (AztecProtocol/aztec-packages#5642) (305bcdc)
- Split
backend_barretenburg
into prover and verifier classes (#4769) (ce1e662) - Storage_layout and
#[aztec(storage)]
(AztecProtocol/aztec-packages#5387) (2bd006a) - Sync from noir (AztecProtocol/aztec-packages#5572) (2bd006a)
- Sync from noir (AztecProtocol/aztec-packages#5619) (2bd006a)
- Sync from noir (AztecProtocol/aztec-packages#5697) (305bcdc)
- Sync from noir (AztecProtocol/aztec-packages#5725) (5b352d6)
- Sync from noir (AztecProtocol/aztec-packages#5794) (0f9ae0a)
- Sync from noir (AztecProtocol/aztec-packages#5814) (0f9ae0a)
- Sync from noir (AztecProtocol/aztec-packages#5935) (1b867b1)
- Sync from noir (AztecProtocol/aztec-packages#5955) (1b867b1)
- Sync from noir (AztecProtocol/aztec-packages#5999) (1b867b1)
- Trap with revert data (AztecProtocol/aztec-packages#5732) (0f9ae0a)
- Unroll loops iteratively (#4779) (f831b0b)
- Use fixed size arrays in black box functions where sizes are known (AztecProtocol/aztec-packages#5620) (0f9ae0a)
- Variable length returns (AztecProtocol/aztec-packages#5633) (305bcdc)
Bug Fixes
- ArrayGet and Set are not pure (#4783) (90ee479)
- Avoid huge unrolling in hash_args (AztecProtocol/aztec-packages#5703) (305bcdc)
- Catch panics from EC point creation (e.g. the point is at infinity) (#4790) (645dba1)
- Don't reuse brillig with slice arguments (AztecProtocol/aztec-packages#5800) (0f9ae0a)
- experimental: Skip over comptime functions in scan pass (#4893) (f267d42)
- Fix curve parameters for bigints (#4900) (5985e42)
- Fix panic when returning a zeroed unit value (#4797) (2ea9292)
- Issue 4682 and add solver for unconstrained bigintegers (#4729) (e4d33c1)
- Primary_message typo in errors.rs (AztecProtocol/aztec-packages#5646) (5b352d6)
- Proper field inversion for bigints (#4802) (b46d0e3)
- Reset the noir-gates-diff report on master (#4878) (50bc325)
- Update noir-gates-diff commit to use master reference report (#4891) (4a3ffb7)
Miscellaneous Chores
- Add
as_array
and remove_slice
variants of hash functions (#4675) (8e39706) - Remove fixed-length keccak256 (AztecProtocol/aztec-packages#5617) (305bcdc)