aztec-packages: v0.57.0
Pre-release
Pre-release
0.57.0 (2024-10-07)
⚠ BREAKING CHANGES
- refactor contract interaction pt.1 (#8938)
- avm: remove CMOV opcode (#9030)
- public: only deploy/register public_dispatch (#8988)
- Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
- public: reroute public calls to dispatch function (#8972)
- avm: make indirects big enough for relative addressing (#9000)
- keccak_ultra -> ultra_keccak (#8878)
- rename unsafe_rand, misc log unsafe changes (#8844)
- switch slot derivation to poseidon2 instead of pedersen (#8801)
- fix storage layout export (#8880)
- remove SharedMutablePrivateGetter (#8749)
Features
- Add CLI command to advance epoch (#9014) (36f6187)
- Add crsPath to BackendOptions (#8775) (78fa676)
- Add support for unlimited width in ACIR (#8960) (3e05e22)
- Adding CPU / RAM configurations to helm network deployments (#8786) (7790ede)
- Allow silencing an unused variable defined via
let
(noir-lang/noir#6149) (6bd5b7e) - avm: Integrate public inputs in AVM recursive verifier (#8846) (4354ae0), closes #8714
- avm: Simulator relative addr (#8837) (dda528a)
- avm: Skip gas accounting for fake rows (#8944) (818325a), closes #8903
- aztec-nr/public: Dispatch function (#8821) (3af2381)
- CI/local S3 build cache (#8802) (06be26e)
- Connect the public inputs but not the proof in ivc recursion constraints (#8973) (4f1af9a)
- Consolidate spartan metrics (#9037) (0cff28b)
- Delivering partial fields via unencrypted logs (#8725) (8a59b17)
- Detect unconstructed structs (noir-lang/noir#6061) (6bd5b7e)
- Documenting note macros (#9009) (623b1dd)
- Empty block root circuit (#8805) (b5fc91c)
- Enforce limits for each side effect type in AVM (#8889) (57d5cfd)
- Expose
derived_generators
andpedersen_commitment_with_separator
from the stdlib (noir-lang/noir#6154) (6bd5b7e) - Faster CIV benching with mocked VKs (#8843) (fad3d6e)
- Handle consecutive kernels in IVC (#8924) (0be9f25)
- Handle epoch proofs on L1 (#8704) (730f23c)
- Hoist constant allocation outside of loops (noir-lang/noir#6158) (6bd5b7e)
- Inclusive for loop (noir-lang/noir#6200) (0d5b116)
- Lazy commitment key allocation for better memory (#9017) (527d820)
- Let
Module::functions
andModule::structs
return them in definition order (noir-lang/noir#6178) (2e6340b) - Make shplemini proof constant (#8826) (c8cbc33)
- New Tracy Time preset and more efficient univariate extension (#8789) (ead4649)
- Note fields in TS artifact (#8906) (7f40411)
- Nullable note fields info in ABI (#8901) (e0d5e06)
- Origin Tags part 1 (#8787) (ed1e23e)
- Origin Tags Part 2 (#8936) (77c05f5)
- Partial note log support in macros (#8951) (f3c1eaa)
- perf: Handle array set optimization across blocks for Brillig functions (noir-lang/noir#6153) (6bd5b7e)
- perf: Optimize array set from get (noir-lang/noir#6207) (0d5b116)
- perf: Remove inc_rc instructions for arrays which are never mutably borrowed (noir-lang/noir#6168) (2e6340b)
- perf: Remove redundant inc rc without instructions between (noir-lang/noir#6183) (2e6340b)
- perf: Remove useless paired RC instructions within a block during DIE (noir-lang/noir#6160) (6bd5b7e)
- perf: Simplify the cfg after DIE (noir-lang/noir#6184) (0d5b116)
- Proposers claim proving rights (#8832) (f8b0802)
- Prover escrow and 712-signed quotes (#8877) (2f1d19a)
- Prover node sends quotes on new epochs (#8864) (4adf860), closes #8684 #8683
- Prover node stakes to escrow contract (#8975) (9eb8815)
- Prover node submits epoch proofs (#8794) (1612909)
- public: Only deploy/register public_dispatch (#8988) (6c30453)
- public: Reroute public calls to dispatch function (#8972) (c4297ce)
- Refactor contract interaction pt.1 (#8938) (62963f9)
- Refactor SSA passes to run on individual functions (noir-lang/noir#6072) (0d5b116)
- Remote quote provider (#8946) (1c3cb63)
- Remove orphaned blocks from cfg to improve
simplify_cfg
pass. (noir-lang/noir#6198) (0d5b116) - Remove SharedMutablePrivateGetter (#8749) (154d396)
- Rename unsafe_rand, misc log unsafe changes (#8844) (81a4d74)
- Reset circuit variants (#8876) (415d78f)
- Simplify sha256 implementation (noir-lang/noir#6142) (6bd5b7e)
- Skip
remove_enable_side_effects
pass on brillig functions (noir-lang/noir#6199) (0d5b116) - Snapshotting for e2e p2p tests (#8896) (ebb86b7)
- sol: Add shplemini transcript (#8865) (089dbad)
- sol: Shplemini verification (#8866) (989eb08)
- ssa: Simplify signed casts (noir-lang/noir#6166) (2e6340b)
- Stronger typing in L1 contracts (#8841) (0b5aaea)
- Switch slot derivation to poseidon2 instead of pedersen (#8801) (e3e0b6f)
- Sync from aztec-packages (noir-lang/noir#6151) (6bd5b7e)
- Sync from aztec-packages (noir-lang/noir#6210) (0d5b116)
- Syncing TypeVariableKind with Kind (noir-lang/noir#6094) (0d5b116)
- Trace AVM side effects per enqueued call (#8918) (c1a95db)
- Ultra honk on Shplemini (#8886) (d8d04f6)
- Use structured polys to reduce prover memory (#8587) (59e3dd9)
- Visibility for globals (noir-lang/noir#6161) (6bd5b7e)
- Visibility for impl functions (noir-lang/noir#6179) (0d5b116)
- Visibility for modules (noir-lang/noir#6165) (2e6340b)
- Visibility for type aliases (noir-lang/noir#6058) (6bd5b7e)
Bug Fixes
- (LSP) make goto and hover work well for attributes (noir-lang/noir#6152) (6bd5b7e)
- Add epoch proof quote to json rpc serialization (#9013) (da2106f)
- Add missing visibility for auto-import names (noir-lang/noir#6205) (0d5b116)
- Add persistent storage for aztec nodes in the spartan cluster (#8923) (23786be)
- Add values file as an arg to the earthly command (#8857) (3c15da3)
- Archiver getBlocksForEpoch and EpochProvingJob on block 1 (#9016) (9669db0)
- Arm build (#8870) (e4c5be8)
- Assign one_idx in the same place as zero_idx in
UltraCircuitBuilder
(#9029) (fe11d9a) - Attestation pool (#8854) (ffbad35)
- Attestations are requested based on their proposal not just slot (#8442) (08d8578)
- avm: CALL operand resolution (#9018) (7f2e29f)
- avm: Kernel out full proving fix (#8873) (784d483)
- avm: MSM not including enough operands (#9004) (830c6ab)
- Bb.js acir tests (#8862) (d8d0541)
- Bug in slot to timestamp conversion (#8839) (d9baebe)
- Call generate-variants on noir-projects bootstrap fast (#8956) (2570b59)
- ci: Do not post public functions report when empty (#8790) (507710f)
- Circleci (#9056) (5c77c4f)
- CI: Yarn-project publish_npm script (#8996) (dc87b0e)
- Databus panic for fns with empty params (#8847) (6a13290)
- Disable flakey test (#8927) (151bb79)
- Do not assume blocks as proven in e2e-prover tests (#8848) (2d5ae66)
- Do not duplicate constant arrays in brillig (noir-lang/noir#6155) (6bd5b7e)
- Do not start block root rollup proof before block is built (#8952) (af1a6af)
- docs: Rename recursion.md to recursion.mdx (noir-lang/noir#6195) (0d5b116)
- docs: Update private_voting_contract.md (#9010) (86afa81)
- Don't warn twice when referring to private item (noir-lang/noir#6216) (0d5b116)
- Earthly-local (#8915) (9b3da97)
- Earthly-script output (#8871) (a02370c)
- Ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084) (0d5b116)
- external PR, twt--: Remove quotes $artifacts_to_transpile in the for loop list of compile_then_transpile.sh (#8932) (95cb977)
- external PR, twt--: Un-nest docker compose variable substitution in sandbox config (#8930) (12b8526)
- external PR, twt--: Update .aztec-run to run in non-interactive mode if NON_INTERACTIVE is set to non-zero (#8931) (d85a66d)
- Fix storage layout export (#8880) (c8f43b3)
- Flaky e2e sample dapp and quick start (#8768) (48914ba)
- Handle more types in size_in_fields, and panic on unexpected type (#8887) (03280e9)
- Ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206) (0d5b116)
- L1 request intervals (#8997) (780fd62)
- Nightly-kind-test.yml (#8899) (2bb9ca6)
- Pass radix directly to the blackbox (noir-lang/noir#6164) (6bd5b7e)
- public: Stack trace short term hack (#9024) (f2ea42c)
- Reenable CI reruns on master (#8907) (124307d)
- Remove extra
crate::
(#8909) (fd0e945) - Rerun.yml (#8913) (b363738)
- Setup publish action (#8992) (65f7e9f)
- Spartan kubernetes cluster IaC (#8893) (7f5ff5e)
- Specify correct env var in prover node helm (#8916) (6e855a4)
- ssa: Check if result of array set is used in value of another array set (noir-lang/noir#6197) (0d5b116)
- Temporarily disable problematic test (#9051) (7ee7f55)
- Type variables by default should have Any kind (noir-lang/noir#6203) (0d5b116)
- Use different rust toolchain for foundry builds (#8869) (096a0b2)
- Use properly sized p2p id (#9040) (9fe7436)
- Use tree calculator in world state synchronizer (#8902) (2fd4be9)
Miscellaneous
- Add comments to log oracles (#8981) (8efa7ac)
- Add memoize decorator (#8976) (1d9711b)
- Archiver identifies prune (#8666) (4cf0f70)
- Autumn cleaning (#8818) (c1a9c6b)
- avm: Make indirects big enough for relative addressing (#9000) (39b9e78)
- avm: Remove CMOV opcode (#9030) (ec9dfdf)
- avm: Remove mem accounting from gas (#8904) (38b485e)
- bb.js: Strip wasm-threads again (#8833) (68ba5d4)
- Big synching case + stability (#9022) (931c59b)
- Bump foundry (#8868) (bfd0b8e)
- ci: Another earthly corruption retry case (#8799) (c78b2cb)
- ci: Finally isolate bb-native-tests (#9039) (9c9c385)
- ci: Increase timeout for ARM build (#9041) (c505b02)
- ci: Turn on S3 caching for all PRs (#8898) (c68a5ef)
- ci: Update gates diff action to not post Brillig sizes report with no changes (noir-lang/noir#6157) (6bd5b7e)
- Cleanup of
Aztec.nr
encryption code (#8780) (0bfcbba) - Delay proof quote collection (#8967) (640b661)
- deploy: Use docker run instead of helm test, metrics dashboard scripts (#8926) (797d0ca)
- Deprecate various items in stdlib (noir-lang/noir#6156) (6bd5b7e)
- Disable block building e2e (#8895) (ada6220)
- Disable e2e-fees-failure (#8784) (10b87d1)
- Do not start prover node in e2e tests if not needed (#9008) (a2d3f8a)
- docs: Add link to more info about proving backend to Solidity verifier page (noir-lang/noir#5754) (2e6340b)
- Enable tests on aztec-nr and contracts (noir-lang/noir#6162) (6bd5b7e)
- Event encryption funcs working as note ones (#8819) (77636f0)
- Final partial notes related cleanup (#8987) (880c45f), closes #8238
- Fix flakey e2e fees failures test (#8807) (99bac95)
- Fix some more imports (#8804) (ffe70ec)
- Fix the transfer test we run in kind clusters (#8796) (7c42ef0)
- Fix typo in code snippet (noir-lang/noir#6211) (0d5b116)
- Have prover-node self-mint L1 fee juice (#9007) (9f1e73a)
- Increase timeout of AVM full tests job to 75 minutes (#8883) (b70a728)
- Keccak_ultra -> ultra_keccak (#8878) (670af8a)
- Minor archiver refactor (#8715) (b0d1bab)
- Misc unsafe improvements (#8803) (cfe907c)
- Move governance out of core (#8823) (7411acc)
- Nuking
encode_and_encrypt_note(...)
(#8815) (2da9695) - Nuking
log_traits.nr
(#8797) (5d4accf) - Nuking encryption oracles (#8817) (8c98757)
- Nuking L2Block.fromFields (#8882) (b6551a9)
- Optimise l1 to l2 message fetching (#8672) (7b1fb45)
- Partial notes macros (#8993) (567e9a8)
- Protogalaxy only instantiated with Mega (#8949) (b8d87f1)
- Prove_then_verify_ultra_honk on all existing acir tests (#9042) (62f6b8a)
- Publish bb.js in github action (#8959) (a21ab89)
- Push proof splitting helpers into bb.js (#8795) (951ce6d)
- Rebuild fixtures (#8995) (96b6cfc)
- Redo typo PR by bravesasha (#9003) (b516d3a)
- Redo typo PR by sfyll (#9002) (c970ced)
- Redo typo PR by skaunov (#8933) (7ef1643)
- Reduce number of gates in stdlib/sha256 hash function (#8905) (dd3a27e)
- Reexport
CrateName
throughnargo
(noir-lang/noir#6177) (2e6340b) - refactor: Array set optimization context struct for analysis (noir-lang/noir#6204) (0d5b116)
- Release from Github Actions (#8820) (0354706)
- Release Noir(0.35.0) (noir-lang/noir#6030) (0d5b116)
- Remove
DefCollectorErrorKind::MacroError
(noir-lang/noir#6174) (2e6340b) - Remove copy from
compute_row_evaluations
(#8875) (9cd450e) - Remove macros_api module (noir-lang/noir#6190) (0d5b116)
- Remove mock proof commitment escrow (#9011) (4873c7b)
- Remove single block proving (#8856) (aadd9d5)
- Remove unused header in public executor (#8990) (8e35125)
- Remove unused import (#8835) (dbf2c13)
- Remove unused methods and small state cleanup (#8968) (9b66a3e)
- Removing hack commitment from eccvm (#8825) (5e4cfa7)
- Rename
DefinitionKind::GenericType
(noir-lang/noir#6182) (0d5b116) - Replace relative paths to noir-protocol-circuits (e062c5b)
- Replace relative paths to noir-protocol-circuits (a0ce8cc)
- Replace relative paths to noir-protocol-circuits (240f408)
- Replace relative paths to noir-protocol-circuits (4589b79)
- Replace relative paths to noir-protocol-circuits (42d4dde)
- Replace relative paths to noir-protocol-circuits (8cd9eee)
- Replace relative paths to noir-protocol-circuits (a79bbdd)
- Replace relative paths to noir-protocol-circuits (fd693fe)
- Replace relative paths to noir-protocol-circuits (c93bb8f)
- Revert "feat: partial notes log encoding (#8538)" (#8712) (ef1a41e)
- Revert "fix: assign one_idx in the same place as zero_idx in
UltraCircuitBuilder
" (#9049) (ebb6a2d) - Revert mistaken stack size change (noir-lang/noir#6212) (0d5b116)
- Set assume proven in e2e (#8830) (f4453ce)
- Shared mutable slots use poseidon2 with separator (#8919) (36431d7)
- Small cleanup (#8965) (8031ef4)
- Spartan kubernetes documentation (#9012) (75efafc)
- Split
test_program
s into modules (noir-lang/noir#6101) (2e6340b) - Untangled TS encryption functionality (#8827) (048a848)
- Update migration notes with version # (#9045) (02a0bc1)
- Use Noir implementation of pedersen in public (uses MSM instead of pedersen BBs) (#8798) (02821d0)
- Use require(predicate, custom_error) (#8859) (84e5e0c)