barretenberg: v0.43.0
Pre-release
Pre-release
0.43.0 (2024-06-18)
Features
- Add gate profiler for noir circuits (#7004) (a2f6876)
- Add standard form function to biggroup (#6899) (3e44be5)
- Affine_element read/write with proper handling of point at infinity (#6963) (c6cbe39)
- Avm e2e nested call + alu fix + cast fix (#6974) (b150b61)
- avm-simulator: Msm blackbox (#7048) (0ce27e0)
- avm: Add get_contract_instance (#6871) (b3a86bf)
- avm: Deserialise execution hints in bb main (#6848) (d3be85f)
- avm: E2e proving of storage (#6967) (6a7be0c)
- avm: E2e send l1 msg (#6880) (deb972d)
- avm: Gas remaining range check and handling of out of gas (#6944) (5647571), closes #6902
- avm: Get contract instance now works e2e with avm proving (#6911) (662187d)
- avm: Indirect support for kernel output opcodes (#6962) (f330bff)
- avm: Indirect support for kernel read opcodes (#6940) (ccc474d)
- avm: L2gasleft and dagasleft opcodes (#6884) (fbab612)
- avm: Nullifier non exist (#6877) (05697f2)
- avm: Plumb externalcall hints (#6890) (3a97f08)
- avm: Plumb start side effect counter in circuit (#7007) (fa8f12f)
- avm: Revert opcode (#6909) (620d3da)
- avm: Use hints in gas accounting (circuit) (#6895) (c3746f5)
- bb: Stack traces for check_circuit (#6851) (eb35e62)
- Contract storage reads serialize with side effect counter (#6961) (db49ed5)
- Ecadd op code (#6906) (03a9064)
- Flows and tests for the tube component (#6934) (4b45438)
- Place return value witnesses directly after function arguments (noir-lang/noir#5142) (a44b8c8)
- Separate runtimes of SSA functions before inlining (noir-lang/noir#5121) (a44b8c8)
- SMT Standard Circuit separation (#6904) (f970732)
- SMT Verification Module Update (#6849) (6c98529)
- SMT Verifier for Ultra Arithmetization (#7067) (6692ac8)
- Standard form for cycle_group (#6915) (e6cba16)
- Support disabling aztec vm in non-wasm builds (#6965) (f7a46c0)
Bug Fixes
- ALU pil relation TWO_LINE_OP_NO_OVERLAP (#6968) (4ba553b)
- avm: Bugfix related to pc increment in calldatacopy of avm circuit (#6891) (5fe59d2)
- avm: Correctly generate public inputs in verifier (#7018) (4c4c17f)
- Biggroup batch mul handles collisions (#6780) (e61c40e)
- Bugfix for Keccak opcode related to reading bytes from input (#6989) (5713f4e)
- Dirty merge 6880 (#6905) (fc6ec3f)
- experimental elaborator: Clear generics after elaborating type aliases (noir-lang/noir#5136) (a44b8c8)
- experimental elaborator: Fix
impl Trait
when--use-elaborator
is selected (noir-lang/noir#5138) (a44b8c8) - experimental elaborator: Fix definition kind of globals and tuple patterns with
--use-elaborator
flag (noir-lang/noir#5139) (a44b8c8) - experimental elaborator: Fix frontend tests when
--use-elaborator
flag is specified (noir-lang/noir#5145) (a44b8c8) - experimental elaborator: Fix global values used in the elaborator (noir-lang/noir#5135) (a44b8c8)
- Fix avm unit test with proving by passing the public_inputs (#7062) (2d7c097)
- Fix client ivc incorrect srs size issue and parallelise srs generation for grumpkin (#6913) (f015736)
- Fix for the flaky issue (I hope) (#6923) (39747b9)
- Fixing 0 naf (#6950) (d35ee2e)
- frontend: Resolve object types from method calls a single time (noir-lang/noir#5131) (a44b8c8)
- Initialize side_effect_counter based on the initial value passed to builder (#7017) (46d166b)
- Stop squashing storage accesses in avm simulator - all need to be validated in kernel (#7036) (6ffc4b4)
- Use predicate for curve operations (noir-lang/noir#5076) (a44b8c8)
- Wrapping in signed division (noir-lang/noir#5134) (a44b8c8)
Miscellaneous
- Add negative tests for cast and U128 multiplication related to TWO_LINE_OP_NO_OVERLAP (#7041) (7f14ca1), closes #6969
- avm: Add debugging info and trace dump (#6979) (e11f880)
- avm: Fix proving for kernel tests (#7033) (f5e1106)
- avm: Gas alignments with simulator (#6873) (54339d4), closes #6860
- avm: Modify unit test to have a calldatacopy over 4 elements (#6893) (9f5b113)
- Bb repo warning (#7023) (c3d7053)
- bb: Hide
debug()
logs under--debug
flag (#7008) (a8c3c3f) - ci: Don't raise MSRV issue if workflow cancelled (noir-lang/noir#5143) (a44b8c8)
- Default to using bn254 in
noirc_frontend
(noir-lang/noir#5144) (a44b8c8) - Fix issue #6929 (off-by-one error in
UltraCircuitBuilder::create_range_constraint
) (#6931) (16deef6) - Lookups cleanup/documentation (#7002) (92b1349)
- Opcodes l2gasleft and dagasleft return value with tag ff (#6896) (5890845)
- Remove hir to ast pass (noir-lang/noir#5147) (a44b8c8)
- Remove unused
new_variables
argument fromresolve_type_inner
(noir-lang/noir#5148) (a44b8c8) - Run all test programs in brillig as well as ACIR (noir-lang/noir#5128) (a44b8c8)
- Small fixes for the tube flows (#7014) (838ceed)