v0.31.0
0.31.0 (2024-06-17)
⚠ BREAKING CHANGES
- remove
dep::
prefix (#4946) - remove
distinct
keyword (#5219) - remove
param_witnesses
andreturn_witnesses
from ABI (#5154) - add session id to foreign call RPC requests (#5205)
- restrict noir word size to u32 (#5180)
- separate proving from
noir_js
(#5072) - switch
bb
over to read ACIR from nargo artifacts (AztecProtocol/aztec-packages#6283) - specify databus arrays for BB (AztecProtocol/aztec-packages#6239)
- stdlib: eddsa function using turbofish (#5050)
Features
pxe.addNullifiedNote(...)
(AztecProtocol/aztec-packages#6948) (7de19f5)- Activate return_data in ACIR opcodes (#5080) (c9fda3c)
- Add
as_witness
builtin function in order to constrain a witness to be equal to a variable (#4641) (faf5bd8) - Add
set
andset_unchecked
methods toVec
andBoundedVec
(#5241) (1849389) - Add BoundedVec::map (#5250) (da1549c)
- Add intrinsic to get if running inside an unconstrained context (#5098) (281ebf2)
- Add native rust implementation of schnorr signature verification (#5053) (fab1c35)
- Add session id to foreign call RPC requests (#5205) (14adafc)
- Consider block parameters in variable liveness (#5097) (e4eb5f5)
- experimental: Implement macro calls & splicing into
Expr
values (#5203) (d9b4712) - Implement println in the comptime interpreter (#5197) (7f08343)
- Implement turbofish operator (#3542) (226724e)
- Make ACVM generic across fields (#5114) (70f374c)
- Move abi demonomorphizer to noir_codegen and use noir_codegen in protocol types (AztecProtocol/aztec-packages#6302) (436bbda)
- Move to_radix to a blackbox (AztecProtocol/aztec-packages#6294) (436bbda)
- nargo: Hidden option to show contract artifact paths written by
nargo compile
(AztecProtocol/aztec-packages#6131) (ff67e14) - Place return value witnesses directly after function arguments (#5142) (1252b5f)
- Private Kernel Recursion (AztecProtocol/aztec-packages#6278) (436bbda)
- Proper padding in ts AES and constrained AES in body and header computations (AztecProtocol/aztec-packages#6269) (436bbda)
- Remove
dep::
prefix (#4946) (d6d0ae2) - Remove conditional compilation of
bn254_blackbox_solver
(#5058) (9420d7c) - Remove external blackbox solver from acir simulator (AztecProtocol/aztec-packages#6586) (a40a9a5)
- Replace stdlib poseidon implementation with optimized version (#5122) (11e98f3)
- Restrict noir word size to u32 (#5180) (bdb2bc6)
- Separate proving from
noir_js
(#5072) (c93c738) - Separate runtimes of SSA functions before inlining (#5121) (69eca9b)
- Specify databus arrays for BB (AztecProtocol/aztec-packages#6239) (436bbda)
- Standardize pedersen functions to return
EmbeddedCurvePoint
(#5190) (3b85b36) - stdlib: Eddsa function using turbofish (#5050) (7936262)
- Support casting in globals (#5164) (6d3e732)
- Switch
bb
over to read ACIR from nargo artifacts (AztecProtocol/aztec-packages#6283) (436bbda) - Sync from noir (AztecProtocol/aztec-packages#6280) (436bbda)
- Sync from noir (AztecProtocol/aztec-packages#6332) (436bbda)
- Sync from noir (AztecProtocol/aztec-packages#6573) (436bbda)
- Sync from noir (AztecProtocol/aztec-packages#6986) (7de19f5)
- ToRadix BB + avm transpiler support (AztecProtocol/aztec-packages#6330) (436bbda)
Bug Fixes
- Add support for nested arrays returned by oracles (#5132) (f846879)
- Apply self type from generic trait constraint before instantiating identifiers (#5087) (2b4755c)
- Auto dereference trait methods in the elaborator (#5124) (56c1a85)
- Check for public args in aztec functions (AztecProtocol/aztec-packages#6355) (436bbda)
- Disable
if
optimization (#5240) (a2816db) - elaborator: Fix duplicate methods error (#5225) (87a1d8e)
- elaborator: Fix regression introduced by lazy-global changes (#5223) (fde432a)
- elaborator: Invert unconstrained check (#5176) (967c0fa)
- elaborator: Lazily elaborate globals (#5191) (9c99a97)
- Error for allocate instructions in acir-gen (#5200) (58c7532)
- experimental elaborator: Avoid calling
add_generics
twice on trait methods (#5108) (7d8c0a3) - experimental elaborator: Clear generics after elaborating type aliases (#5136) (b0a7d0b)
- experimental elaborator: Fix
impl Trait
when--use-elaborator
is selected (#5138) (7ea5962) - experimental elaborator: Fix definition kind of globals and tuple patterns with
--use-elaborator
flag (#5139) (a140dec) - experimental elaborator: Fix duplicate
resolve_type
on self type and don't leak a trait impl's generics (#5102) (db561e2) - experimental elaborator: Fix frontend tests when
--use-elaborator
flag is specified (#5145) (d6122eb) - experimental elaborator: Fix global values used in the elaborator (#5135) (e73cdbb)
- experimental elaborator: Fix globals which use function calls (#5172) (ab0b1a8)
- experimental elaborator: Fix panic in the elaborator (#5082) (ffcb410)
- experimental elaborator: Only call
add_generics
once (#5091) (f5d2946) - Fix panic in
get_global_let_statement
(#5177) (b769b01) - frontend: Call trait method with mut self from generic definition (#5041) (89846cf)
- frontend: Correctly monomorphize turbofish functions (#5049) (fd772e7)
- frontend: Resolve object types from method calls a single time (#5131) (3afe023)
- Temporarily revert to_radix blackbox (AztecProtocol/aztec-packages#6304) (436bbda)
- Use plain integer addresses for opcodes in DAP disassembly view (#4941) (d43ba1b)
- Use predicate for curve operations (#5076) (145b909)
- Wrapping in signed division (#5134) (29baeb4)