-
Notifications
You must be signed in to change notification settings - Fork 292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: fixed number of pub inputs for databus commitment propagation #9336
Conversation
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looks good - added a questions and some thoughts on the stdlib code
/** | ||
* @brief A DataBus column | ||
* | ||
*/ | ||
struct BusVector { | ||
|
||
// TODO(https://github.com/AztecProtocol/barretenberg/issues/1138): A default value added to every databus column to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we, at some hypothetic point in the future, fix all the remaining issues with point at infinity, would this default value still be needed for the consistency checks?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, the issue describes it clearly
* these checks: (1) extract commitments [R] from proofs received as private witnesses and propagate them to the | ||
* next circuit via adding them to the public inputs. (2) Assert equality of commitments. | ||
* form \pi_i.public_inputs.[R_{i-1}] = \pi_i.[C_i]. This method performs these consistency checks. It also prepares | ||
* return data commitments [R] to be propagated via the public inputs of the present circuit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this means the public inputs that will be passed along, supposingly to a next circuit, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
right, by making something a public input of the circuit A, I'm passing to the circuit that verifies the proof of circuit A since it will be present in the public inputs of the proof pi_A
assert_equality_of_commitments(app_return_data, commitments.secondary_calldata); | ||
// Set the kernel/app return data commitment to be propagated via the public inputs | ||
if (propagation_data.is_kernel) { | ||
kernel_return_data_commitment = return_data; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not something that is a priority now but I wonder whether the *_exists
variables shouldn't be bool_t and the kernel_return_data_commitment
be set via conditional assigns.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a note of this to the larger issue for these default commitments
if (app_return_data_commitment_exists) { | ||
propagate_commitment_via_public_inputs(app_return_data_commitment, /*is_kernel=*/false); | ||
} else { | ||
Commitment default_commitment = Commitment::from_witness(&builder, default_commitment_val); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we shouldn't use from_witness
here since the default_commitment_val is a constant (also above)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added some logic for converting constants to fixed witnesses as we discussed
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
* master: (62 commits) chore: dont show aws creds in docker fast (#9465) fix: make sure kind tests run every master commit (#9478) feat: simulate latency with network chaos (#9469) feat: fixed number of pub inputs for databus commitment propagation (#9336) chore(CI): remove end-to-end/Earthfile (#9364) chore!: use Brillig opcode when possible for less-than operations on fields (#9416) fix: remove unnecessary ivpk's from aztec-nr (#9460) feat: Sync from noir (#9425) chore!: split base rollup and remove public kernel proving (#9434) refactor: clean up note processor after changes due to address (#9401) feat(avm): merkle tree gadget (#9205) fix: docker fast (#9467) chore(avm:): Fix execution tests in proving mode (#9466) chore: remove unnecessary trait (#9437) fix: yarn build:fast (#9464) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg fix: cleanup of janky encryption apis (#9390) ...
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.61.0</summary> ## [0.61.0](aztec-package-v0.60.0...aztec-package-v0.61.0) (2024-10-30) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.61.0</summary> ## [0.61.0](barretenberg.js-v0.60.0...barretenberg.js-v0.61.0) (2024-10-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.61.0</summary> ## [0.61.0](aztec-packages-v0.60.0...aztec-packages-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](#9551)) * **avm:** returndatasize + returndatacopy ([#9475](#9475)) * use Brillig opcode when possible for less-than operations on fields ([#9416](#9416)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) * split base rollup and remove public kernel proving ([#9434](#9434)) * getcontractinstance instruction returns only a specified member ([#9300](#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](#9408)) ### Features * `bytes_to_fields` requiring only 1 generic param ([#9417](#9417)) ([2217da6](2217da6)) * 20-30% cost reduction in recursive ipa algorithm ([#9420](#9420)) ([a4bd3e1](a4bd3e1)) * Add capacities to brillig vectors and use them in slice ops (noir-lang/noir#6332) ([b82f3d1](b82f3d1)) * Added indexes and a way to store/retrieve tagged secrets ([#9468](#9468)) ([1c685b1](1c685b1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](#9408)) ([1bbd724](1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](#9389)) ([07d6dc2](07d6dc2)) * **avm:** Cleanup CALL ([#9551](#9551)) ([26adc55](26adc55)) * **avm:** Merkle tree gadget ([#9205](#9205)) ([d52b616](d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](#9475)) ([8f71006](8f71006)) * **avm:** Trace contract class and contract instance ([#8840](#8840)) ([84205d8](84205d8)) * Better LSP hover for functions (noir-lang/noir#6376) ([b82f3d1](b82f3d1)) * Bytecode hashing init ([#8535](#8535)) ([2bb09e5](2bb09e5)) * Check trait where clause (noir-lang/noir#6325) ([d67381b](d67381b)) * Comptime deriving generators in macros ([#9195](#9195)) ([c4b629c](c4b629c)) * Derive address and class id in avm ([#8897](#8897)) ([2ebe361](2ebe361)) * Do not increment reference counts on arrays through references (noir-lang/noir#6375) ([f386612](f386612)) * **docs:** Function transforms (hidden macros) ([#7784](#7784)) ([831cc66](831cc66)) * Fee pricing to 0 for old instances ([#9296](#9296)) ([7bc3a21](7bc3a21)) * Fixed number of pub inputs for databus commitment propagation ([#9336](#9336)) ([8658abd](8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](#9300)) ([29b692f](29b692f)) * Implement encryption to an address point and decryption from an address secret ([#9272](#9272)) ([6d77dd0](6d77dd0)) * Initial block reward + external libraries ([#9297](#9297)) ([240e9b5](240e9b5)) * Let LSP suggest traits in trait bounds (noir-lang/noir#6370) ([f386612](f386612)) * Let the formatter remove lambda block braces for single-statement blocks (noir-lang/noir#6335) ([d67381b](d67381b)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([f386612](f386612)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([d67381b](d67381b)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([f386612](f386612)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([d67381b](d67381b)) * Merge and sort imports (noir-lang/noir#6322) ([b4db379](b4db379)) * Note tagging oracle ([#9429](#9429)) ([cec6306](cec6306)) * Ownable sysstia ([#9398](#9398)) ([30314ec](30314ec)), closes [#9351](#9351) * **perf:** Use [u32;16] for message block in sha256 (noir-lang/noir#6324) ([d67381b](d67381b)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](#9411)) ([84fdc52](84fdc52)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) ([d67381b](d67381b)) * Prover coordination test with a reorg ([#9405](#9405)) ([9efe288](9efe288)) * **prover:** Perform prover coordination via p2p layer ([#9325](#9325)) ([2132bc2](2132bc2)), closes [#9264](#9264) * Reject programs with unconditional recursion (noir-lang/noir#6292) ([b4db379](b4db379)) * Remove 'single use' intermediate variables (noir-lang/noir#6268) ([d67381b](d67381b)) * Reorder blocks for efficiency ([#9560](#9560)) ([10874f4](10874f4)) * Simulate latency with network chaos ([#9469](#9469)) ([10aefbb](10aefbb)) * Sol shplemini in acir tests + contract_gen ([#8874](#8874)) ([1c0275d](1c0275d)) * Suggest removing `!` from macro call that doesn't return Quoted (noir-lang/noir#6384) ([b82f3d1](b82f3d1)) * Support specifying generics on a struct when calling an associated function (noir-lang/noir#6306) ([b82f3d1](b82f3d1)) * Sync from aztec-packages (noir-lang/noir#6345) ([d67381b](d67381b)) * Tally AVM opcodes executed in simulator ([#9473](#9473)) ([9a06ada](9a06ada)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([f386612](f386612)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([d67381b](d67381b)) ### Bug Fixes * (formatter) correctly format quote delimiters (noir-lang/noir#6377) ([b82f3d1](b82f3d1)) * (formatter) indent after infix lhs (noir-lang/noir#6331) ([b4db379](b4db379)) * (LSP) check visibility of module that re-exports item, if any (noir-lang/noir#6371) ([f386612](f386612)) * Add native verification test to honk keccak ([#9501](#9501)) ([59810e0](59810e0)) * Allow globals in format strings (noir-lang/noir#6382) ([b82f3d1](b82f3d1)) * Allow more resources for 4epochs tests ([#9418](#9418)) ([74a8ad1](74a8ad1)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([f386612](f386612)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([d67381b](d67381b)) * Always inline `derive_generators` (noir-lang/noir#6350) ([f386612](f386612)) * Always inline `derive_generators` (noir-lang/noir#6350) ([d67381b](d67381b)) * **avm:** Address bytecode hashing comments ([#9436](#9436)) ([a85f92a](a85f92a)) * **avm:** Disable sha256 in bulk test until we debug it ([#9482](#9482)) ([078c318](078c318)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](#9496)) ([0fe64df](0fe64df)) * Bb-only-change fix e2e build instability ([#9441](#9441)) ([ca3abaa](ca3abaa)) * Better formatting of leading/trailing line/block comments in expression lists (noir-lang/noir#6338) ([d67381b](d67381b)) * Cleanup of janky encryption apis ([#9390](#9390)) ([9e3e536](9e3e536)) * Deploy & version aztec-up scripts ([#9435](#9435)) ([ad80169](ad80169)) * Display every bit in integer tokens (noir-lang/noir#6360) ([b82f3d1](b82f3d1)) * Docker fast ([#9467](#9467)) ([34e6dd0](34e6dd0)) * **docs:** Update getting started docs ([#9426](#9426)) ([985190b](985190b)) * Fix panic in comptime code (noir-lang/noir#6361) ([f386612](f386612)) * Fix panic in comptime code (noir-lang/noir#6361) ([d67381b](d67381b)) * Formatter didn't format `>>=` well (noir-lang/noir#6337) ([b4db379](b4db379)) * Honk shplemini acir artifacts ([#9550](#9550)) ([468c100](468c100)) * Issue in partial notes API ([#9555](#9555)) ([9d66c1a](9d66c1a)) * LSP auto-import would import public item inside private module (noir-lang/noir#6366) ([f386612](f386612)) * Make keccak256 work with input lengths greater than 136 bytes (noir-lang/noir#6393) ([b82f3d1](b82f3d1)) * Make sure kind tests run every master commit ([#9478](#9478)) ([78de316](78de316)) * Mutable global pattern didn't have a span (noir-lang/noir#6328) ([b4db379](b4db379)) * Remove assumed parent traits (noir-lang/noir#6365) ([f386612](f386612)) * Remove unnecessary ivpk's from aztec-nr ([#9460](#9460)) ([c6437cc](c6437cc)) * Replace npk_m_hash with addresses ([#9461](#9461)) ([f4ed55b](f4ed55b)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](#9505)) ([3351217](3351217)) * Slightly better formatting of empty blocks with comments (noir-lang/noir#6367) ([f386612](f386612)) * Spot_strategy passing ([#9428](#9428)) ([1e38d3e](1e38d3e)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([f386612](f386612)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([d67381b](d67381b)) * Yarn build:fast ([#9464](#9464)) ([bbe6d06](bbe6d06)) * Yarn project bootstrap fast ([#9440](#9440)) ([c1ebed5](c1ebed5)) ### Miscellaneous * Add serdes and eq for address note ([#9544](#9544)) ([74bcfab](74bcfab)) * Add some tests for type aliases ([d67381b](d67381b)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([f386612](f386612)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([d67381b](d67381b)) * Align debug logging between AVM sim & witgen ([#9498](#9498)) ([7c2d67a](7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](#9466)) ([8e07de8](8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](#9345)) ([a67d0e2](a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](#9431)) ([91c50dd](91c50dd)) * **CI:** Remove end-to-end/Earthfile ([#9364](#9364)) ([2823cbb](2823cbb)), closes [#9221](#9221) * Clean up note processor after changes due to address ([#9401](#9401)) ([d33c988](d33c988)) * Disable e2e_fees_dapp_subscription ([#9489](#9489)) ([26416b6](26416b6)) * Disable flakey e2e_synching.test.ts ([#9439](#9439)) ([01147a5](01147a5)) * Dont show aws creds in docker fast ([#9465](#9465)) ([a6d8f48](a6d8f48)) * Fix sync scripts ([#9423](#9423)) ([7766c8e](7766c8e)) * Have 'aztec' honour the 'DEBUG' env var ([#9413](#9413)) ([771a2ac](771a2ac)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([f386612](f386612)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([d67381b](d67381b)) * Minting only private or public balance in Token TXE tests ([#9491](#9491)) ([b8c015b](b8c015b)) * Node follow prune and extend chain ([#9328](#9328)) ([a653fd3](a653fd3)) * Noir bug workaround ([#9443](#9443)) ([f619687](f619687)) * Passing partial note logs through transient storage ([#9356](#9356)) ([8835b31](8835b31)) * Redo typo PR by defitricks ([#9571](#9571)) ([9a5dce3](9a5dce3)) * Remove ovpk as param in boxes contracts ([#9495](#9495)) ([2b24b98](2b24b98)) * Remove unnecessary trait ([#9437](#9437)) ([1db2eec](1db2eec)) * Rename private function in L2 block stream ([#9481](#9481)) ([a34d4aa](a34d4aa)), closes [#9314](#9314) * Replace relative paths to noir-protocol-circuits ([4f2d67c](4f2d67c)) * Replace relative paths to noir-protocol-circuits ([33f2151](33f2151)) * Replace relative paths to noir-protocol-circuits ([5247be2](5247be2)) * Replace relative paths to noir-protocol-circuits ([49467ba](49467ba)) * Replace relative paths to noir-protocol-circuits ([f6d714f](f6d714f)) * Replace relative paths to noir-protocol-circuits ([b4841ad](b4841ad)) * Replace token note with uint note ([#8143](#8143)) ([493a3f3](493a3f3)) * Run tests in metaprogramming.rs (noir-lang/noir#6339) ([d67381b](d67381b)) * Split base rollup and remove public kernel proving ([#9434](#9434)) ([4316242](4316242)) * Switch to btreeset for deterministic ordering (noir-lang/noir#6348) ([d67381b](d67381b)) * Update title from feedback (noir-lang/noir#6334) ([b4db379](b4db379)) * Use array instead of Vec in keccak256 (noir-lang/noir#6395) ([b82f3d1](b82f3d1)) * Use big endian in sha ([#9471](#9471)) ([bc9828e](bc9828e)) * Use Brillig opcode when possible for less-than operations on fields ([#9416](#9416)) ([e50303d](e50303d)) ### Documentation * Clean up docker messaging ([#9419](#9419)) ([4c4974f](4c4974f)) </details> <details><summary>barretenberg: 0.61.0</summary> ## [0.61.0](barretenberg-v0.60.0...barretenberg-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](#9551)) * **avm:** returndatasize + returndatacopy ([#9475](#9475)) * getcontractinstance instruction returns only a specified member ([#9300](#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](#9408)) ### Features * 20-30% cost reduction in recursive ipa algorithm ([#9420](#9420)) ([a4bd3e1](a4bd3e1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](#9408)) ([1bbd724](1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](#9389)) ([07d6dc2](07d6dc2)) * **avm:** Cleanup CALL ([#9551](#9551)) ([26adc55](26adc55)) * **avm:** Merkle tree gadget ([#9205](#9205)) ([d52b616](d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](#9475)) ([8f71006](8f71006)) * **avm:** Trace contract class and contract instance ([#8840](#8840)) ([84205d8](84205d8)) * Bytecode hashing init ([#8535](#8535)) ([2bb09e5](2bb09e5)) * Derive address and class id in avm ([#8897](#8897)) ([2ebe361](2ebe361)) * Fixed number of pub inputs for databus commitment propagation ([#9336](#9336)) ([8658abd](8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](#9300)) ([29b692f](29b692f)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](#9411)) ([84fdc52](84fdc52)) * Reorder blocks for efficiency ([#9560](#9560)) ([10874f4](10874f4)) * Sol shplemini in acir tests + contract_gen ([#8874](#8874)) ([1c0275d](1c0275d)) ### Bug Fixes * Add native verification test to honk keccak ([#9501](#9501)) ([59810e0](59810e0)) * **avm:** Address bytecode hashing comments ([#9436](#9436)) ([a85f92a](a85f92a)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](#9496)) ([0fe64df](0fe64df)) * Honk shplemini acir artifacts ([#9550](#9550)) ([468c100](468c100)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](#9505)) ([3351217](3351217)) ### Miscellaneous * Align debug logging between AVM sim & witgen ([#9498](#9498)) ([7c2d67a](7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](#9466)) ([8e07de8](8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](#9345)) ([a67d0e2](a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](#9431)) ([91c50dd](91c50dd)) * Use big endian in sha ([#9471](#9471)) ([bc9828e](bc9828e)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@aztec-package-v0.60.0...aztec-package-v0.61.0) (2024-10-30) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@barretenberg.js-v0.60.0...barretenberg.js-v0.61.0) (2024-10-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@aztec-packages-v0.60.0...aztec-packages-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) * **avm:** returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) * use Brillig opcode when possible for less-than operations on fields ([#9416](AztecProtocol/aztec-packages#9416)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) * split base rollup and remove public kernel proving ([#9434](AztecProtocol/aztec-packages#9434)) * getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ### Features * `bytes_to_fields` requiring only 1 generic param ([#9417](AztecProtocol/aztec-packages#9417)) ([2217da6](AztecProtocol/aztec-packages@2217da6)) * 20-30% cost reduction in recursive ipa algorithm ([#9420](AztecProtocol/aztec-packages#9420)) ([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1)) * Add capacities to brillig vectors and use them in slice ops (noir-lang/noir#6332) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Added indexes and a way to store/retrieve tagged secrets ([#9468](AztecProtocol/aztec-packages#9468)) ([1c685b1](AztecProtocol/aztec-packages@1c685b1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ([1bbd724](AztecProtocol/aztec-packages@1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](AztecProtocol/aztec-packages#9389)) ([07d6dc2](AztecProtocol/aztec-packages@07d6dc2)) * **avm:** Cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) ([26adc55](AztecProtocol/aztec-packages@26adc55)) * **avm:** Merkle tree gadget ([#9205](AztecProtocol/aztec-packages#9205)) ([d52b616](AztecProtocol/aztec-packages@d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) ([8f71006](AztecProtocol/aztec-packages@8f71006)) * **avm:** Trace contract class and contract instance ([#8840](AztecProtocol/aztec-packages#8840)) ([84205d8](AztecProtocol/aztec-packages@84205d8)) * Better LSP hover for functions (noir-lang/noir#6376) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Bytecode hashing init ([#8535](AztecProtocol/aztec-packages#8535)) ([2bb09e5](AztecProtocol/aztec-packages@2bb09e5)) * Check trait where clause (noir-lang/noir#6325) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Comptime deriving generators in macros ([#9195](AztecProtocol/aztec-packages#9195)) ([c4b629c](AztecProtocol/aztec-packages@c4b629c)) * Derive address and class id in avm ([#8897](AztecProtocol/aztec-packages#8897)) ([2ebe361](AztecProtocol/aztec-packages@2ebe361)) * Do not increment reference counts on arrays through references (noir-lang/noir#6375) ([f386612](AztecProtocol/aztec-packages@f386612)) * **docs:** Function transforms (hidden macros) ([#7784](AztecProtocol/aztec-packages#7784)) ([831cc66](AztecProtocol/aztec-packages@831cc66)) * Fee pricing to 0 for old instances ([#9296](AztecProtocol/aztec-packages#9296)) ([7bc3a21](AztecProtocol/aztec-packages@7bc3a21)) * Fixed number of pub inputs for databus commitment propagation ([#9336](AztecProtocol/aztec-packages#9336)) ([8658abd](AztecProtocol/aztec-packages@8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) ([29b692f](AztecProtocol/aztec-packages@29b692f)) * Implement encryption to an address point and decryption from an address secret ([#9272](AztecProtocol/aztec-packages#9272)) ([6d77dd0](AztecProtocol/aztec-packages@6d77dd0)) * Initial block reward + external libraries ([#9297](AztecProtocol/aztec-packages#9297)) ([240e9b5](AztecProtocol/aztec-packages@240e9b5)) * Let LSP suggest traits in trait bounds (noir-lang/noir#6370) ([f386612](AztecProtocol/aztec-packages@f386612)) * Let the formatter remove lambda block braces for single-statement blocks (noir-lang/noir#6335) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([f386612](AztecProtocol/aztec-packages@f386612)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([f386612](AztecProtocol/aztec-packages@f386612)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Merge and sort imports (noir-lang/noir#6322) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Note tagging oracle ([#9429](AztecProtocol/aztec-packages#9429)) ([cec6306](AztecProtocol/aztec-packages@cec6306)) * Ownable sysstia ([#9398](AztecProtocol/aztec-packages#9398)) ([30314ec](AztecProtocol/aztec-packages@30314ec)), closes [#9351](AztecProtocol/aztec-packages#9351) * **perf:** Use [u32;16] for message block in sha256 (noir-lang/noir#6324) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](AztecProtocol/aztec-packages#9411)) ([84fdc52](AztecProtocol/aztec-packages@84fdc52)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Prover coordination test with a reorg ([#9405](AztecProtocol/aztec-packages#9405)) ([9efe288](AztecProtocol/aztec-packages@9efe288)) * **prover:** Perform prover coordination via p2p layer ([#9325](AztecProtocol/aztec-packages#9325)) ([2132bc2](AztecProtocol/aztec-packages@2132bc2)), closes [#9264](AztecProtocol/aztec-packages#9264) * Reject programs with unconditional recursion (noir-lang/noir#6292) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Remove 'single use' intermediate variables (noir-lang/noir#6268) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Reorder blocks for efficiency ([#9560](AztecProtocol/aztec-packages#9560)) ([10874f4](AztecProtocol/aztec-packages@10874f4)) * Simulate latency with network chaos ([#9469](AztecProtocol/aztec-packages#9469)) ([10aefbb](AztecProtocol/aztec-packages@10aefbb)) * Sol shplemini in acir tests + contract_gen ([#8874](AztecProtocol/aztec-packages#8874)) ([1c0275d](AztecProtocol/aztec-packages@1c0275d)) * Suggest removing `!` from macro call that doesn't return Quoted (noir-lang/noir#6384) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Support specifying generics on a struct when calling an associated function (noir-lang/noir#6306) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Sync from aztec-packages (noir-lang/noir#6345) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Tally AVM opcodes executed in simulator ([#9473](AztecProtocol/aztec-packages#9473)) ([9a06ada](AztecProtocol/aztec-packages@9a06ada)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([f386612](AztecProtocol/aztec-packages@f386612)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([d67381b](AztecProtocol/aztec-packages@d67381b)) ### Bug Fixes * (formatter) correctly format quote delimiters (noir-lang/noir#6377) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * (formatter) indent after infix lhs (noir-lang/noir#6331) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * (LSP) check visibility of module that re-exports item, if any (noir-lang/noir#6371) ([f386612](AztecProtocol/aztec-packages@f386612)) * Add native verification test to honk keccak ([#9501](AztecProtocol/aztec-packages#9501)) ([59810e0](AztecProtocol/aztec-packages@59810e0)) * Allow globals in format strings (noir-lang/noir#6382) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Allow more resources for 4epochs tests ([#9418](AztecProtocol/aztec-packages#9418)) ([74a8ad1](AztecProtocol/aztec-packages@74a8ad1)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([f386612](AztecProtocol/aztec-packages@f386612)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Always inline `derive_generators` (noir-lang/noir#6350) ([f386612](AztecProtocol/aztec-packages@f386612)) * Always inline `derive_generators` (noir-lang/noir#6350) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * **avm:** Address bytecode hashing comments ([#9436](AztecProtocol/aztec-packages#9436)) ([a85f92a](AztecProtocol/aztec-packages@a85f92a)) * **avm:** Disable sha256 in bulk test until we debug it ([#9482](AztecProtocol/aztec-packages#9482)) ([078c318](AztecProtocol/aztec-packages@078c318)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](AztecProtocol/aztec-packages#9496)) ([0fe64df](AztecProtocol/aztec-packages@0fe64df)) * Bb-only-change fix e2e build instability ([#9441](AztecProtocol/aztec-packages#9441)) ([ca3abaa](AztecProtocol/aztec-packages@ca3abaa)) * Better formatting of leading/trailing line/block comments in expression lists (noir-lang/noir#6338) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Cleanup of janky encryption apis ([#9390](AztecProtocol/aztec-packages#9390)) ([9e3e536](AztecProtocol/aztec-packages@9e3e536)) * Deploy & version aztec-up scripts ([#9435](AztecProtocol/aztec-packages#9435)) ([ad80169](AztecProtocol/aztec-packages@ad80169)) * Display every bit in integer tokens (noir-lang/noir#6360) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Docker fast ([#9467](AztecProtocol/aztec-packages#9467)) ([34e6dd0](AztecProtocol/aztec-packages@34e6dd0)) * **docs:** Update getting started docs ([#9426](AztecProtocol/aztec-packages#9426)) ([985190b](AztecProtocol/aztec-packages@985190b)) * Fix panic in comptime code (noir-lang/noir#6361) ([f386612](AztecProtocol/aztec-packages@f386612)) * Fix panic in comptime code (noir-lang/noir#6361) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Formatter didn't format `>>=` well (noir-lang/noir#6337) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Honk shplemini acir artifacts ([#9550](AztecProtocol/aztec-packages#9550)) ([468c100](AztecProtocol/aztec-packages@468c100)) * Issue in partial notes API ([#9555](AztecProtocol/aztec-packages#9555)) ([9d66c1a](AztecProtocol/aztec-packages@9d66c1a)) * LSP auto-import would import public item inside private module (noir-lang/noir#6366) ([f386612](AztecProtocol/aztec-packages@f386612)) * Make keccak256 work with input lengths greater than 136 bytes (noir-lang/noir#6393) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Make sure kind tests run every master commit ([#9478](AztecProtocol/aztec-packages#9478)) ([78de316](AztecProtocol/aztec-packages@78de316)) * Mutable global pattern didn't have a span (noir-lang/noir#6328) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Remove assumed parent traits (noir-lang/noir#6365) ([f386612](AztecProtocol/aztec-packages@f386612)) * Remove unnecessary ivpk's from aztec-nr ([#9460](AztecProtocol/aztec-packages#9460)) ([c6437cc](AztecProtocol/aztec-packages@c6437cc)) * Replace npk_m_hash with addresses ([#9461](AztecProtocol/aztec-packages#9461)) ([f4ed55b](AztecProtocol/aztec-packages@f4ed55b)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](AztecProtocol/aztec-packages#9505)) ([3351217](AztecProtocol/aztec-packages@3351217)) * Slightly better formatting of empty blocks with comments (noir-lang/noir#6367) ([f386612](AztecProtocol/aztec-packages@f386612)) * Spot_strategy passing ([#9428](AztecProtocol/aztec-packages#9428)) ([1e38d3e](AztecProtocol/aztec-packages@1e38d3e)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([f386612](AztecProtocol/aztec-packages@f386612)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Yarn build:fast ([#9464](AztecProtocol/aztec-packages#9464)) ([bbe6d06](AztecProtocol/aztec-packages@bbe6d06)) * Yarn project bootstrap fast ([#9440](AztecProtocol/aztec-packages#9440)) ([c1ebed5](AztecProtocol/aztec-packages@c1ebed5)) ### Miscellaneous * Add serdes and eq for address note ([#9544](AztecProtocol/aztec-packages#9544)) ([74bcfab](AztecProtocol/aztec-packages@74bcfab)) * Add some tests for type aliases ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([f386612](AztecProtocol/aztec-packages@f386612)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Align debug logging between AVM sim & witgen ([#9498](AztecProtocol/aztec-packages#9498)) ([7c2d67a](AztecProtocol/aztec-packages@7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](AztecProtocol/aztec-packages#9466)) ([8e07de8](AztecProtocol/aztec-packages@8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](AztecProtocol/aztec-packages#9345)) ([a67d0e2](AztecProtocol/aztec-packages@a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](AztecProtocol/aztec-packages#9431)) ([91c50dd](AztecProtocol/aztec-packages@91c50dd)) * **CI:** Remove end-to-end/Earthfile ([#9364](AztecProtocol/aztec-packages#9364)) ([2823cbb](AztecProtocol/aztec-packages@2823cbb)), closes [#9221](AztecProtocol/aztec-packages#9221) * Clean up note processor after changes due to address ([#9401](AztecProtocol/aztec-packages#9401)) ([d33c988](AztecProtocol/aztec-packages@d33c988)) * Disable e2e_fees_dapp_subscription ([#9489](AztecProtocol/aztec-packages#9489)) ([26416b6](AztecProtocol/aztec-packages@26416b6)) * Disable flakey e2e_synching.test.ts ([#9439](AztecProtocol/aztec-packages#9439)) ([01147a5](AztecProtocol/aztec-packages@01147a5)) * Dont show aws creds in docker fast ([#9465](AztecProtocol/aztec-packages#9465)) ([a6d8f48](AztecProtocol/aztec-packages@a6d8f48)) * Fix sync scripts ([#9423](AztecProtocol/aztec-packages#9423)) ([7766c8e](AztecProtocol/aztec-packages@7766c8e)) * Have 'aztec' honour the 'DEBUG' env var ([#9413](AztecProtocol/aztec-packages#9413)) ([771a2ac](AztecProtocol/aztec-packages@771a2ac)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([f386612](AztecProtocol/aztec-packages@f386612)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Minting only private or public balance in Token TXE tests ([#9491](AztecProtocol/aztec-packages#9491)) ([b8c015b](AztecProtocol/aztec-packages@b8c015b)) * Node follow prune and extend chain ([#9328](AztecProtocol/aztec-packages#9328)) ([a653fd3](AztecProtocol/aztec-packages@a653fd3)) * Noir bug workaround ([#9443](AztecProtocol/aztec-packages#9443)) ([f619687](AztecProtocol/aztec-packages@f619687)) * Passing partial note logs through transient storage ([#9356](AztecProtocol/aztec-packages#9356)) ([8835b31](AztecProtocol/aztec-packages@8835b31)) * Redo typo PR by defitricks ([#9571](AztecProtocol/aztec-packages#9571)) ([9a5dce3](AztecProtocol/aztec-packages@9a5dce3)) * Remove ovpk as param in boxes contracts ([#9495](AztecProtocol/aztec-packages#9495)) ([2b24b98](AztecProtocol/aztec-packages@2b24b98)) * Remove unnecessary trait ([#9437](AztecProtocol/aztec-packages#9437)) ([1db2eec](AztecProtocol/aztec-packages@1db2eec)) * Rename private function in L2 block stream ([#9481](AztecProtocol/aztec-packages#9481)) ([a34d4aa](AztecProtocol/aztec-packages@a34d4aa)), closes [#9314](AztecProtocol/aztec-packages#9314) * Replace relative paths to noir-protocol-circuits ([4f2d67c](AztecProtocol/aztec-packages@4f2d67c)) * Replace relative paths to noir-protocol-circuits ([33f2151](AztecProtocol/aztec-packages@33f2151)) * Replace relative paths to noir-protocol-circuits ([5247be2](AztecProtocol/aztec-packages@5247be2)) * Replace relative paths to noir-protocol-circuits ([49467ba](AztecProtocol/aztec-packages@49467ba)) * Replace relative paths to noir-protocol-circuits ([f6d714f](AztecProtocol/aztec-packages@f6d714f)) * Replace relative paths to noir-protocol-circuits ([b4841ad](AztecProtocol/aztec-packages@b4841ad)) * Replace token note with uint note ([#8143](AztecProtocol/aztec-packages#8143)) ([493a3f3](AztecProtocol/aztec-packages@493a3f3)) * Run tests in metaprogramming.rs (noir-lang/noir#6339) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Split base rollup and remove public kernel proving ([#9434](AztecProtocol/aztec-packages#9434)) ([4316242](AztecProtocol/aztec-packages@4316242)) * Switch to btreeset for deterministic ordering (noir-lang/noir#6348) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Update title from feedback (noir-lang/noir#6334) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Use array instead of Vec in keccak256 (noir-lang/noir#6395) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Use big endian in sha ([#9471](AztecProtocol/aztec-packages#9471)) ([bc9828e](AztecProtocol/aztec-packages@bc9828e)) * Use Brillig opcode when possible for less-than operations on fields ([#9416](AztecProtocol/aztec-packages#9416)) ([e50303d](AztecProtocol/aztec-packages@e50303d)) ### Documentation * Clean up docker messaging ([#9419](AztecProtocol/aztec-packages#9419)) ([4c4974f](AztecProtocol/aztec-packages@4c4974f)) </details> <details><summary>barretenberg: 0.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@barretenberg-v0.60.0...barretenberg-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) * **avm:** returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) * getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ### Features * 20-30% cost reduction in recursive ipa algorithm ([#9420](AztecProtocol/aztec-packages#9420)) ([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ([1bbd724](AztecProtocol/aztec-packages@1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](AztecProtocol/aztec-packages#9389)) ([07d6dc2](AztecProtocol/aztec-packages@07d6dc2)) * **avm:** Cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) ([26adc55](AztecProtocol/aztec-packages@26adc55)) * **avm:** Merkle tree gadget ([#9205](AztecProtocol/aztec-packages#9205)) ([d52b616](AztecProtocol/aztec-packages@d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) ([8f71006](AztecProtocol/aztec-packages@8f71006)) * **avm:** Trace contract class and contract instance ([#8840](AztecProtocol/aztec-packages#8840)) ([84205d8](AztecProtocol/aztec-packages@84205d8)) * Bytecode hashing init ([#8535](AztecProtocol/aztec-packages#8535)) ([2bb09e5](AztecProtocol/aztec-packages@2bb09e5)) * Derive address and class id in avm ([#8897](AztecProtocol/aztec-packages#8897)) ([2ebe361](AztecProtocol/aztec-packages@2ebe361)) * Fixed number of pub inputs for databus commitment propagation ([#9336](AztecProtocol/aztec-packages#9336)) ([8658abd](AztecProtocol/aztec-packages@8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) ([29b692f](AztecProtocol/aztec-packages@29b692f)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](AztecProtocol/aztec-packages#9411)) ([84fdc52](AztecProtocol/aztec-packages@84fdc52)) * Reorder blocks for efficiency ([#9560](AztecProtocol/aztec-packages#9560)) ([10874f4](AztecProtocol/aztec-packages@10874f4)) * Sol shplemini in acir tests + contract_gen ([#8874](AztecProtocol/aztec-packages#8874)) ([1c0275d](AztecProtocol/aztec-packages@1c0275d)) ### Bug Fixes * Add native verification test to honk keccak ([#9501](AztecProtocol/aztec-packages#9501)) ([59810e0](AztecProtocol/aztec-packages@59810e0)) * **avm:** Address bytecode hashing comments ([#9436](AztecProtocol/aztec-packages#9436)) ([a85f92a](AztecProtocol/aztec-packages@a85f92a)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](AztecProtocol/aztec-packages#9496)) ([0fe64df](AztecProtocol/aztec-packages@0fe64df)) * Honk shplemini acir artifacts ([#9550](AztecProtocol/aztec-packages#9550)) ([468c100](AztecProtocol/aztec-packages@468c100)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](AztecProtocol/aztec-packages#9505)) ([3351217](AztecProtocol/aztec-packages@3351217)) ### Miscellaneous * Align debug logging between AVM sim & witgen ([#9498](AztecProtocol/aztec-packages#9498)) ([7c2d67a](AztecProtocol/aztec-packages@7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](AztecProtocol/aztec-packages#9466)) ([8e07de8](AztecProtocol/aztec-packages@8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](AztecProtocol/aztec-packages#9345)) ([a67d0e2](AztecProtocol/aztec-packages@a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](AztecProtocol/aztec-packages#9431)) ([91c50dd](AztecProtocol/aztec-packages@91c50dd)) * Use big endian in sha ([#9471](AztecProtocol/aztec-packages#9471)) ([bc9828e](AztecProtocol/aztec-packages@bc9828e)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This work is motivated by the need to have a "write vk" method for kernel circuits that depends only on acir constraints (no witness data or historical data about the previously accumulated circuits). This is made difficult by the inter-circuit databus consistency check mechanism which, until now, added structure to a present circuit based on the structure of previous circuits. This PR makes updates to the mechanism so that the constraints associated with the databus consistency checks are consistent across all kernel circuits. There are two components to this:
(1) Every kernel propagates 2 commitments worth of data (one for app return data, one for kernel return data) on its public inputs. (Previously this was allowed to be 0, 1 or 2 depending on the number of recursive verifications performed by the kernel). If data does not exist for either of these (e.g. if the kernel is only verifying a proof of one or the other), a default value is propagated. (This value is set to match the commitment to the "empty" calldata that will correspond to the missing return data).
(2) Every kernel performs two commitment consistency checks: one that checks that the app
return_data
is equal to thesecondary_calldata
and one that checks that the previous kernelreturn_data
is equal to thecalldata
. (Previously there could be 0, 1, or 2 such checks depending on the data propagated on the public inputs of the kernel being recursively verified - hence the need for knowledge of history / witness data).Closes AztecProtocol/barretenberg#1125 (had to do with dynamically determining the number of public inputs associated with databus commitments which is now fixed in size to 16).