aztec-packages: v0.22.0
Pre-release
Pre-release
0.22.0 (2024-02-06)
⚠ BREAKING CHANGES
- rename bigint_neg into bigint_sub (#4420)
- Add expression width into acir (#4014)
- Use NoteSerialize and NoteDeserialize traits for note specific serialization (#4383)
- Unencrypted logs are not strings (#4392)
- init storage macro (#4200)
- acir: Move
is_recursive
flag to be part of the circuit definition (#4221) - introduce compute_note_hash_for_(consumption/insertion) (#4344)
- replace Note::compute_note_hash with Note::compute_note_content_hash (#4342)
- Include contract class id in deployment info (#4223)
- Serialize, Deserialize and NoteInterface as Traits (#4135)
Features
- Add aztec node to client execution and nuke state info provider #4320 (#4401) (2dec0cc)
- Add bit size to const opcode (#4385) (b2a000e)
- Add expression width into acir (#4014) (f09e8fc)
- Add meta_hwm to PrivateCircuitPublicInputs (#4341) (4f248b5)
- Add poseidon2 hashing to native transcript (#3718) (afcfa71)
- Adding slitherin detectors (#4246) (7cdc186)
- Allow brillig to read arrays directly from memory (#4460) (f99392d)
- Allow using of current block in inclusion proofs (#4285) (728c5ac), closes #4274
- avm-transpiler: Brillig to AVM transpiler (#4227) (c366c6e)
- avm: Add command to call avm proving in bb binary (#4369) (4f6d607), closes #4039
- avm: Add revert tracking to the journal (#4349) (1615803)
- avm: Back in avm context with macro - refactor context (#4438) (ccf9b17)
- avm: Complete SET instruction (#4378) (013891f)
- avm: Implement avm state getter opcodes within noir contracts (#4402) (9f2a6eb)
- avm: Implement serialization for all existing operations (#4338) (13e0683)
- avm: Keep history of reads and writes in journal (#4315) (cdf1baf)
- aztec-nr: Initial work for aztec public vm macro (#4400) (0024590)
- bb: Wasmtime and remote benchmarking (#4204) (fd27808)
- Contract class registerer contract (#4403) (d953090), closes #4069 #4070
- Crude stable var implementation (#4289) (5f9eee4)
- docs: Docs deeper dive into unconstrained functions (#4233) (6af548e)
- Emit single functions from class registerer (#4429) (19e03ad), closes #4427
- Extend Historical Access APIs #4179 (#4375) (c918d8d)
- Folding
GoblinUltra
instances in ProtoGalaxy (#4340) (8569e7c) - Hashing output of
serialize()
in noir + more tests (#4365) (5a71bb9) - Implementation for bigint opcodes (#4288) (b61dace)
- Improve ivc bench (#4242) (9d28354)
- Include contract class id in deployment info (#4223) (0ed4126), closes #4054
- Init storage macro (#4200) (11d9697)
- Memory only brillig (#4215) (018177b)
- Nullified note retrieval in get_notes and view_notes (#4238) (8d02eb7)
- Private calls and initialization of undeployed contracts (#4362) (f31c181), closes #4057 #4058 #4059
- Revert early in verifier contract for malformed proof inputs (#4453) (d4a7716)
- Sequencer processes transactions in phases (#4345) (78cc709)
- Unencrypted logs are not strings (#4392) (25a7ea7)
- Validate verification key on contract deployment (#4450) (00f9966)
- Verify function against contract class id in private kernel (#4337) (e1d832d), closes #4056
Bug Fixes
- avm-transpiler: Avm-transpiler bootstrap by tying down rust version (#4347) (09d0730)
- avm-transpiler: Bump rust toolchain version for transpiler (#4356) (75e30b9)
- avm: Fix SendL2ToL1Message implementation (#4367) (ee560c3)
- Aztec binary fixes (#4273) (84e1f7d)
- Bb build (#4317) (82f5f03)
- docs: Another one (#4455) (538f308)
- docs: Update import (#4451) (a4bc954)
- Load contract artifact from json (#4352) (47a0a79)
- Mac build (#4336) (aeb4cf0)
- noir-contracts: Disable transpilation for now (#4372) (37662b7)
- Nr codegen to use new protocol types path (#4353) (84e63b1), closes #4193
- Relative LogFn import (#4328) (1faead5)
- Release the size of goblin translator (#4259) (6e1d958)
- Transpiler build (#4386) (032ddc5)
Miscellaneous
PublicCircuitPublicInputs
andPrivateCircuitPublicInputs
cleanup (#4360) (b92d690)toFields()
/fromFields(...)
methods in more classes (#4335) (433b9eb)- Acir-simulator -> simulator (#4439) (bccd809)
- acir: Move
is_recursive
flag to be part of the circuit definition (#4221) (9c965a7) - Add bigint solver in ACVM and add a unit test for bigints in Noir (#4415) (e4a2fe9)
- Add bootstrap_cache for avm-transpiler (#4357) (bfebebb)
- Add disclaimer (#4393) (6895f52)
- Add migration note for serialization change (#4414) (968a3a0)
- avm: Make interpreter a function not a class (#4272) (14e8c5c)
- avm: Refactor AVM Simulator and fix issues (#4424) (a6179bd)
- Call stack item cleanup (#4381) (341b0a1)
- Check loading Nargo artifacts works in the cli (#4355) (43b58b3)
- Cleanup + various doc improvements (#4282) (648229c), closes #4264
- Collapse bb::honk (#4318) (5853af4)
- Consistent naming of serialization method (#4379) (148d5dc)
- Do not run forge fmt because not everyone has forge installed (#4430) (ecb6c3f)
- docs: Update broken link ref in slow_updates_tree.md (#4339) (2599d7f)
- docs: Updating concepts/communication pages images (#4368) (92fb2b0), closes #3857
- Eth address tech debt cleanup (#4442) (153989f)
- Extract merge from UC and simplify (#4343) (54fd794)
- Fix bb wasm build when using remote cache (#4397) (14e57cb)
- Fix clippy warnings in
avm-transpiler
(#4416) (e54ecd2) - Fix some circular imports (#4445) (e6a9c68)
- Format l1-contracts after generating constants (#4448) (de11994)
- Git subrepo commit (merge) noir (#4321) (348d18a)
- Git subrepo pull (merge) noir (#4331) (683f782)
- Implementing
deserialize()
in Noir structs (#4384) (e63bbae) - Introduce compute_note_hash_for_(consumption/insertion) (#4344) (26a0d49)
- Optimize prove_note_validity #4418 (#4426) (4de2540)
- Poseidon2 hash uses span instead of vector (#4003) (f63e7a9)
- Reenable private kernel function tree checks (#4358) (e7db0da)
- Remove hardcoded storage slot values (#4398) (d2294a4)
- Rename bigint_neg into bigint_sub (#4420) (57824fe)
- Replace Note::compute_note_hash with Note::compute_note_content_hash (#4342) (8368659)
- Replace relative paths to noir-protocol-circuits (23de650)
- Replace relative paths to noir-protocol-circuits (b8d427f)
- Replace relative paths to noir-protocol-circuits (113dec1)
- Replace relative paths to noir-protocol-circuits (a79093b)
- Replace relative paths to noir-protocol-circuits (808b4eb)
- Serialize, Deserialize and NoteInterface as Traits (#4135) (9e6605c)
- Simpler noir sync (#4376) (665b35e)
- Surpress chained macro warning (#4396) (5e9c790)
- Switch to macos-14 for m1 runners (#3456) (ca5b6f8)
- Testing
toFields()
length (#4364) (5d3fce3) - Typing contents of
MessageLoadOracleInputs
(#4351) (433babd) - Update docs for historical state (#4461) (16a2eca)
- Update docs on comparators (#4281) (cc2ce9c)
- Updating block hash to be header.hash() (#4286) (d4125e1)
- Use NoteSerialize and NoteDeserialize traits for note specific serialization (#4383) (14dd0b8)
Documentation
- Add simple api description for note_getter_options.status (#4329) (cc17afe)
- Document stable public state usage (#4324) (13f709b), closes #4325
- Minor quickstart fixes (#4330) (f85a870)
- Update contract deployment section in YP (#4290) (e99a882)
- yellow-paper: Update kernel with changes from contract deployment (#4432) (201a80e)
- yp: AVM circuit - user memory section (#4323) (8928fb1), closes #4043