Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🤖 I have created a release *beep* *boop* --- <details><summary>0.33.0</summary> ## [0.33.0](v0.32.0...v0.33.0) (2024-08-06) ### ⚠ BREAKING CHANGES * parse block and if statements independently of expressions in statements ([#5634](#5634)) * **frontend:** Restrict numeric generic types to unsigned ints up to `u32` ([#5581](#5581)) ### Features * **acir_gen:** Width aware ACIR gen addition ([#5493](#5493)) ([85fa592](85fa592)) * Add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` ([#5681](#5681)) ([d52fc05](d52fc05)) * Add `std::meta::type_of` and `impl Eq for Type` ([#5669](#5669)) ([0503956](0503956)) * Add `TraitDefinition::as_trait_constraint()` ([#5541](#5541)) ([0943223](0943223)) * Add `Type::as_struct` ([#5680](#5680)) ([ade69a9](ade69a9)) * Add `Type::is_field` and `Type::as_integer` ([#5670](#5670)) ([939357a](939357a)) * Add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` ([#5678](#5678)) ([604fa0d](604fa0d)) * Add a compile-time hash map type ([#5543](#5543)) ([c6e5c4b](c6e5c4b)) * Add a limited form of arithmetic on generics ([#5625](#5625)) ([0afb680](0afb680)) * Add parameter to call_data attribute ([#5599](#5599)) ([e8bb341](e8bb341)) * Allow inserting LSP inlay type hints ([#5620](#5620)) ([b33495d](b33495d)) * Avoid heap allocs when going to/from field (AztecProtocol/aztec-packages#7547) ([daad75c](daad75c)) * Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper ([#5683](#5683)) ([38397d3](38397d3)) * Don't eagerly error on cast expressions ([#5635](#5635)) ([0ca5d9d](0ca5d9d)) * Implement `poseidon2_permutation` in comptime interpreter ([#5590](#5590)) ([89dfbbf](89dfbbf)) * Implement `Value::Type` in comptime interpreter ([#5593](#5593)) ([4c3bf97](4c3bf97)) * Implement `zeroed` in the interpreter ([#5540](#5540)) ([ff8ca91](ff8ca91)) * Implement closures in the comptime interpreter ([#5682](#5682)) ([9e2a323](9e2a323)) * Implement format strings in the comptime interpreter ([#5596](#5596)) ([fd7002c](fd7002c)) * Integrate new proving systems in e2e (AztecProtocol/aztec-packages#6971) ([daad75c](daad75c)) * Let filenames in errors be relative to the current dir if possible ([#5642](#5642)) ([f656681](f656681)) * Let LSP work will with code generated by macros ([#5665](#5665)) ([8122624](8122624)) * LSP closing brace hints ([#5686](#5686)) ([2b18151](2b18151)) * LSP hover now includes "Go to" links ([#5677](#5677)) ([d466d49](d466d49)) * LSP inlay parameter hints ([#5553](#5553)) ([822fe2c](822fe2c)) * LSP inlay type hints on lambda parameters ([#5639](#5639)) ([80128ff](80128ff)) * Make Brillig do integer arithmetic operations using u128 instead of Bigint (AztecProtocol/aztec-packages#7518) ([daad75c](daad75c)) * **noir_js:** Expose UltraHonk and integration tests ([#5656](#5656)) ([4552b4f](4552b4f)) * Remove 'comptime or separate crate' restriction on comptime code ([#5609](#5609)) ([1cddf42](1cddf42)) * Resolve arguments to attributes ([#5649](#5649)) ([e139002](e139002)) * **ssa:** Simple serialization of unoptimized SSA to file ([#5679](#5679)) ([07ea107](07ea107)) * Sync from noir (AztecProtocol/aztec-packages#7432) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7444) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7454) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7512) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7577) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7583) ([daad75c](daad75c)) * Turbofish in struct pattern ([#5616](#5616)) ([b3c408b](b3c408b)) * Turbofish operator in struct constructor ([#5607](#5607)) ([106abd7](106abd7)) * Turbofish operator on path segments ([#5603](#5603)) ([0bb8372](0bb8372)) * Typing return values of embedded_curve_ops (AztecProtocol/aztec-packages#7413) ([daad75c](daad75c)) ### Bug Fixes * 'cannot eval non-comptime global' error ([#5586](#5586)) ([0a987c7](0a987c7)) * `NoMatchingImplFound` in comptime code only ([#5617](#5617)) ([28211a3](28211a3)) * Add trailing extra arguments for backend in gates_flamegraph (AztecProtocol/aztec-packages#7472) ([daad75c](daad75c)) * Allow calling a trait method with paths that don't consist of exactly two segments ([#5577](#5577)) ([88c0a40](88c0a40)) * Allow trailing comma when parsing where clauses ([#5594](#5594)) ([75bfe13](75bfe13)) * Allow using Self for function calls ([#5629](#5629)) ([b7e4f42](b7e4f42)) * Correct span for prefix operator ([#5624](#5624)) ([5824785](5824785)) * Correctly track sources for open LSP documents ([#5561](#5561)) ([9e61e97](9e61e97)) * Derive generic types ([#5674](#5674)) ([19e58a9](19e58a9)) * Don't panic when a macro fails to resolve ([#5537](#5537)) ([6109ddc](6109ddc)) * Elaborate struct & trait annotations in the correct module ([#5643](#5643)) ([d0a957b](d0a957b)) * Error on duplicate struct field ([#5585](#5585)) ([3aed671](3aed671)) * Error on incorrect generic count for impl and type alias ([#5623](#5623)) ([1f5d000](1f5d000)) * Error on trait impl generics count mismatch ([#5582](#5582)) ([da3d607](da3d607)) * Error on unbound generics in structs ([#5619](#5619)) ([efef6b4](efef6b4)) * Filter comptime globals ([#5538](#5538)) ([2adc6ac](2adc6ac)) * Fix `uhashmap` test name ([#5563](#5563)) ([d5de83f](d5de83f)) * Fix occurs check ([#5535](#5535)) ([51dd529](51dd529)) * Fix where clause issue in items generated from attributes ([#5673](#5673)) ([9a8cfc9](9a8cfc9)) * **frontend:** Disallow signed numeric generics ([#5572](#5572)) ([2b4853e](2b4853e)) * **frontend:** Error for when impl is stricter than trait ([#5343](#5343)) ([ece033f](ece033f)) * **frontend:** Restrict numeric generic types to unsigned ints up to `u32` ([#5581](#5581)) ([b85e764](b85e764)) * Let a trait impl that relies on another trait work ([#5646](#5646)) ([e00c370](e00c370)) * Let std::unsafe::zeroed() work for slices ([#5592](#5592)) ([7daee20](7daee20)) * Let trait calls work in globals ([#5602](#5602)) ([c02a6f6](c02a6f6)) * Let unary traits work at comptime ([#5507](#5507)) ([aa62d8a](aa62d8a)) * Lookup trait constraints methods in composite types ([#5595](#5595)) ([cec6390](cec6390)) * Parse block and if statements independently of expressions in statements ([#5634](#5634)) ([9341113](9341113)) * Revert "feat: Sync from noir (AztecProtocol/aztec-packages#7512)" (AztecProtocol/aztec-packages#7558) ([daad75c](daad75c)) * Run macros within comptime contexts ([#5576](#5576)) ([df44919](df44919)) * Speed up LSP ([#5650](#5650)) ([e5f1b36](e5f1b36)) * **ssa:** More robust array deduplication check ([#5547](#5547)) ([dd89b90](dd89b90)) * Switch verify proof to arrays ([#5664](#5664)) ([c1ed9fb](c1ed9fb)) * Type_of for pointer types ([#5536](#5536)) ([edb3810](edb3810)) * Workaround from_slice with nested slices ([#5648](#5648)) ([6310a55](6310a55)) </details> <details><summary>0.49.0</summary> ## [0.49.0](v0.48.0...v0.49.0) (2024-08-06) ### ⚠ BREAKING CHANGES * constant inputs for blackbox (AztecProtocol/aztec-packages#7222) * add session id to foreign call RPC requests ([#5205](#5205)) * restrict noir word size to u32 ([#5180](#5180)) * switch `bb` over to read ACIR from nargo artifacts (AztecProtocol/aztec-packages#6283) * specify databus arrays for BB (AztecProtocol/aztec-packages#6239) * remove `Opcode::Brillig` from ACIR (AztecProtocol/aztec-packages#5995) * AES blackbox (AztecProtocol/aztec-packages#6016) * Bit shift is restricted to u8 right operand ([#4907](#4907)) * 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) * Brillig typed memory (AztecProtocol/aztec-packages#5395) ### Features * `multi_scalar_mul` blackbox func (AztecProtocol/aztec-packages#6097) ([73a635e](73a635e)) * `variable_base_scalar_mul` blackbox func (AztecProtocol/aztec-packages#6039) ([73a635e](73a635e)) * **acir_gen:** Brillig stdlib ([#4848](#4848)) ([0c8175c](0c8175c)) * **acir_gen:** Fold attribute at compile-time and initial non inlined ACIR (AztecProtocol/aztec-packages#5341) ([a0f7474](a0f7474)) * **acir_gen:** Width aware ACIR gen addition ([#5493](#5493)) ([85fa592](85fa592)) * **acir:** Add predicate to call opcode (AztecProtocol/aztec-packages#5616) ([2bd006a](2bd006a)) * **acir:** BrilligCall opcode (AztecProtocol/aztec-packages#5709) ([0f9ae0a](0f9ae0a)) * Activate return_data in ACIR opcodes ([#5080](#5080)) ([c9fda3c](c9fda3c)) * **acvm_js:** Execute program ([#4694](#4694)) ([386f6d0](386f6d0)) * **acvm:** Execute multiple circuits (AztecProtocol/aztec-packages#5380) ([a0f7474](a0f7474)) * Add native rust implementation of schnorr signature verification ([#5053](#5053)) ([fab1c35](fab1c35)) * Add native rust implementations of pedersen functions ([#4871](#4871)) ([fb039f7](fb039f7)) * Add return values to aztec fns (AztecProtocol/aztec-packages#5389) ([2bd006a](2bd006a)) * Add session id to foreign call RPC requests ([#5205](#5205)) ([14adafc](14adafc)) * AES blackbox (AztecProtocol/aztec-packages#6016) ([73a635e](73a635e)) * **avm:** Integrate AVM with initializers (AztecProtocol/aztec-packages#5469) ([2bd006a](2bd006a)) * Avoid heap allocs when going to/from field (AztecProtocol/aztec-packages#7547) ([daad75c](daad75c)) * Bit shift is restricted to u8 right operand ([#4907](#4907)) ([c4b0369](c4b0369)) * Brillig heterogeneous memory cells (AztecProtocol/aztec-packages#5608) ([305bcdc](305bcdc)) * Brillig pointer codegen and execution (AztecProtocol/aztec-packages#5737) ([0f9ae0a](0f9ae0a)) * Brillig typed memory (AztecProtocol/aztec-packages#5395) ([0bc18c4](0bc18c4)) * Change backend width to 4 (AztecProtocol/aztec-packages#5374) ([0f9ae0a](0f9ae0a)) * Constant inputs for blackbox (AztecProtocol/aztec-packages#7222) ([fb97bb9](fb97bb9)) * Contract interfaces and better function calls (AztecProtocol/aztec-packages#5687) ([0f9ae0a](0f9ae0a)) * Contract_abi-exports (AztecProtocol/aztec-packages#5386) ([2bd006a](2bd006a)) * Dynamic assertion payloads v2 (AztecProtocol/aztec-packages#5949) ([73a635e](73a635e)) * Handle `BrilligCall` opcodes in the debugger ([#4897](#4897)) ([b380dc4](b380dc4)) * Impl of missing functionality in new key store (AztecProtocol/aztec-packages#5750) ([0f9ae0a](0f9ae0a)) * Increase default expression width to 4 ([#4995](#4995)) ([f01d309](f01d309)) * Integrate new proving systems in e2e (AztecProtocol/aztec-packages#6971) ([daad75c](daad75c)) * Make ACVM generic across fields ([#5114](#5114)) ([70f374c](70f374c)) * Make Brillig do integer arithmetic operations using u128 instead of Bigint (AztecProtocol/aztec-packages#7518) ([daad75c](daad75c)) * Move abi demonomorphizer to noir_codegen and use noir_codegen in protocol types (AztecProtocol/aztec-packages#6302) ([436bbda](436bbda)) * Move to_radix to a blackbox (AztecProtocol/aztec-packages#6294) ([436bbda](436bbda)) * **nargo:** Handle call stacks for multiple Acir calls ([#4711](#4711)) ([5b23171](5b23171)) * **nargo:** Hidden option to show contract artifact paths written by `nargo compile` (AztecProtocol/aztec-packages#6131) ([ff67e14](ff67e14)) * Parsing non-string assertion payloads in noir js (AztecProtocol/aztec-packages#6079) ([73a635e](73a635e)) * Private Kernel Recursion (AztecProtocol/aztec-packages#6278) ([436bbda](436bbda)) * Proper padding in ts AES and constrained AES in body and header computations (AztecProtocol/aztec-packages#6269) ([436bbda](436bbda)) * Remove conditional compilation of `bn254_blackbox_solver` ([#5058](#5058)) ([9420d7c](9420d7c)) * Remove external blackbox solver from acir simulator (AztecProtocol/aztec-packages#6586) ([a40a9a5](a40a9a5)) * Restore hashing args via slice for performance (AztecProtocol/aztec-packages#5539) ([2bd006a](2bd006a)) * Restrict noir word size to u32 ([#5180](#5180)) ([bdb2bc6](bdb2bc6)) * Separate runtimes of SSA functions before inlining ([#5121](#5121)) ([69eca9b](69eca9b)) * Set aztec private functions to be recursive (AztecProtocol/aztec-packages#6192) ([73a635e](73a635e)) * **simulator:** Fetch return values at circuit execution (AztecProtocol/aztec-packages#5642) ([305bcdc](305bcdc)) * Specify databus arrays for BB (AztecProtocol/aztec-packages#6239) ([436bbda](436bbda)) * Storage_layout and `#[aztec(storage)]` (AztecProtocol/aztec-packages#5387) ([2bd006a](2bd006a)) * Switch `bb` over to read ACIR from nargo artifacts (AztecProtocol/aztec-packages#6283) ([436bbda](436bbda)) * Sync from noir (AztecProtocol/aztec-packages#5572) ([2bd006a](2bd006a)) * Sync from noir (AztecProtocol/aztec-packages#5619) ([2bd006a](2bd006a)) * Sync from noir (AztecProtocol/aztec-packages#5697) ([305bcdc](305bcdc)) * Sync from noir (AztecProtocol/aztec-packages#5794) ([0f9ae0a](0f9ae0a)) * Sync from noir (AztecProtocol/aztec-packages#5814) ([0f9ae0a](0f9ae0a)) * Sync from noir (AztecProtocol/aztec-packages#5935) ([1b867b1](1b867b1)) * Sync from noir (AztecProtocol/aztec-packages#5955) ([1b867b1](1b867b1)) * Sync from noir (AztecProtocol/aztec-packages#5999) ([1b867b1](1b867b1)) * Sync from noir (AztecProtocol/aztec-packages#6280) ([436bbda](436bbda)) * Sync from noir (AztecProtocol/aztec-packages#6332) ([436bbda](436bbda)) * Sync from noir (AztecProtocol/aztec-packages#6573) ([436bbda](436bbda)) * Sync from noir (AztecProtocol/aztec-packages#7392) ([fb97bb9](fb97bb9)) * Sync from noir (AztecProtocol/aztec-packages#7400) ([fb97bb9](fb97bb9)) * Sync from noir (AztecProtocol/aztec-packages#7432) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7444) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7454) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7512) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7577) ([daad75c](daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7583) ([daad75c](daad75c)) * ToRadix BB + avm transpiler support (AztecProtocol/aztec-packages#6330) ([436bbda](436bbda)) * Trap with revert data (AztecProtocol/aztec-packages#5732) ([0f9ae0a](0f9ae0a)) * Typing return values of embedded_curve_ops (AztecProtocol/aztec-packages#7413) ([daad75c](daad75c)) * Use fixed size arrays in black box functions where sizes are known (AztecProtocol/aztec-packages#5620) ([0f9ae0a](0f9ae0a)) * Variable length returns (AztecProtocol/aztec-packages#5633) ([305bcdc](305bcdc)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable ([#4708](#4708)) ([8fea405](8fea405)) * Add support for nested arrays returned by oracles ([#5132](#5132)) ([f846879](f846879)) * Add trailing extra arguments for backend in gates_flamegraph (AztecProtocol/aztec-packages#7472) ([daad75c](daad75c)) * Avoid huge unrolling in hash_args (AztecProtocol/aztec-packages#5703) ([305bcdc](305bcdc)) * Avoid unnecessarily splitting expressions with multiplication terms with a shared term ([#5291](#5291)) ([19884f1](19884f1)) * Catch panics from EC point creation (e.g. the point is at infinity) ([#4790](#4790)) ([645dba1](645dba1)) * Check for public args in aztec functions (AztecProtocol/aztec-packages#6355) ([436bbda](436bbda)) * Don't reuse brillig with slice arguments (AztecProtocol/aztec-packages#5800) ([0f9ae0a](0f9ae0a)) * Handle struct with nested arrays in oracle return values ([#5244](#5244)) ([a30814f](a30814f)) * Issue 4682 and add solver for unconstrained bigintegers ([#4729](#4729)) ([e4d33c1](e4d33c1)) * Move BigInt modulus checks to runtime in brillig ([#5374](#5374)) ([741d339](741d339)) * Proper field inversion for bigints ([#4802](#4802)) ([b46d0e3](b46d0e3)) * Revert "feat: Sync from noir (AztecProtocol/aztec-packages#7512)" (AztecProtocol/aztec-packages#7558) ([daad75c](daad75c)) * Runtime brillig bigint id assignment ([#5369](#5369)) ([a8928dd](a8928dd)) * Temporarily revert to_radix blackbox (AztecProtocol/aztec-packages#6304) ([436bbda](436bbda)) ### Miscellaneous Chores * Remove `Opcode::Brillig` from ACIR (AztecProtocol/aztec-packages#5995) ([73a635e](73a635e)) * Remove fixed-length keccak256 (AztecProtocol/aztec-packages#5617) ([305bcdc](305bcdc)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: kevaundray <kevtheappdev@gmail.com>
- Loading branch information