Skip to content
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: Sync from aztec-packages #4811

Closed
wants to merge 9 commits into from
Closed

feat: Sync from aztec-packages #4811

wants to merge 9 commits into from

Conversation

AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Apr 16, 2024

Automated pull of Noir development from aztec-packages.
BEGIN_COMMIT_OVERRIDE
feat!: change backend width to 4 (AztecProtocol/aztec-packages#5374)
feat!: Use fixed size arrays in black box functions where sizes are known (AztecProtocol/aztec-packages#5620)
feat!: trap with revert data (AztecProtocol/aztec-packages#5732)
feat: impl of missing functionality in new key store (AztecProtocol/aztec-packages#5750)
feat(acir)!: BrilligCall opcode (AztecProtocol/aztec-packages#5709)
END_COMMIT_OVERRIDE

This starts work towards #3907
but is only the breaking serialization change.

Codegen and evaluation will come in a follow-up. This PR is purely
additive and does not remove the current way we do Brillig gen during
ACIR gen. Codegen for normal Brillig functions is working in my
follow-up, however, removing the existing Brillig opcode will most
likely have to come once we settle on how to [handle the brillig std
lib](noir-lang/acvm#471) as we are currently
generating code such as calculating a quotient during ACIR gen.

---------

Co-authored-by: Tom French <[email protected]>
Copy link

socket-security bot commented Apr 16, 2024

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@eslint-community/[email protected] None 0 379 kB eslint-community-bot
npm/@eslint-community/[email protected] None 0 431 kB eslint-community-bot
npm/@types/[email protected] None 0 31.7 kB types
npm/@types/[email protected] None 0 23.3 kB types
npm/@typescript-eslint/[email protected] None 0 2.59 MB jameshenry
npm/@typescript-eslint/[email protected] None 0 17.8 kB jameshenry
npm/@typescript-eslint/[email protected] None 0 612 kB jameshenry
npm/@typescript-eslint/[email protected] None 0 109 kB jameshenry
npm/@typescript-eslint/[email protected] None 0 156 kB jameshenry
npm/@typescript-eslint/[email protected] None 0 565 kB jameshenry
npm/@typescript-eslint/[email protected] None 0 321 kB jameshenry
npm/@typescript-eslint/[email protected] None 0 19.3 kB jameshenry
npm/[email protected] None 0 5.64 kB chaijs
npm/[email protected] None 0 754 kB keithamus
npm/[email protected] None 0 13.7 kB sindresorhus
npm/[email protected] None 0 14.4 kB keithamus
npm/[email protected] environment, filesystem, shell 0 181 kB abetomo
npm/[email protected] filesystem 0 26.5 kB jason-dent
npm/[email protected] None 0 28.4 kB jason-dent
npm/[email protected] filesystem, network 0 108 kB jason-dent
npm/[email protected] environment, filesystem 0 426 kB jason-dent
npm/[email protected] environment, filesystem, network 0 319 kB jason-dent
npm/[email protected] environment 0 42.4 kB qix
npm/[email protected] None 0 24.2 kB chai
npm/[email protected] None 0 33.9 kB jounqin
npm/[email protected] None 0 32.3 kB eslintbot
npm/[email protected] environment, filesystem 0 3.04 MB eslintbot
npm/[email protected] filesystem 0 96.7 kB mrmlnc
npm/[email protected] None 0 17 kB esp
npm/[email protected] filesystem 0 16 kB jaredwray
npm/[email protected] None 0 8.68 kB keithamus
npm/[email protected] None 0 4.54 kB sindresorhus
npm/[email protected] filesystem 0 21.8 kB sindresorhus
npm/[email protected] None 0 812 kB mattpauldavies
npm/[email protected] None 0 51.5 kB kael
npm/[email protected] None 0 76.9 kB wooorm
npm/[email protected] None 0 13.6 kB phated
npm/[email protected] None 0 58.1 kB keithamus
npm/[email protected] environment 0 434 kB isaacs
npm/[email protected] environment, eval, filesystem 0 2.09 MB voxpelli
npm/[email protected] None 0 5.65 kB megawac
npm/[email protected] None 0 15.8 kB chai
npm/[email protected] environment, filesystem, unsafe 0 8.39 MB prettier-bot
npm/[email protected] None 0 4.32 kB sindresorhus
npm/[email protected] None 0 828 kB joshuakgoldberg
npm/[email protected] environment, filesystem, unsafe 0 757 kB blakeembrey
npm/[email protected] None 0 42.1 kB chaijs
npm/[email protected] None 0 32.4 MB typescript-bot
npm/[email protected] None 0 204 kB vscode-bot

🚮 Removed packages: npm/@75lb/[email protected], npm/@aashutoshrathi/[email protected], npm/@adraffy/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@algolia/[email protected], npm/@ampproject/[email protected], npm/@aztec/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3, npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2, npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@chainsafe/[email protected], npm/@chainsafe/[email protected], npm/@chainsafe/[email protected], npm/@colors/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspell/[email protected], npm/@cspotcode/[email protected], npm/@discoveryjs/[email protected], npm/@docsearch/[email protected], npm/@docsearch/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@docusaurus/[email protected], npm/@types/[email protected], npm/@web/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]

View full report↗︎

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Apr 16, 2024
AztecBot and others added 8 commits April 16, 2024 06:10
This PR adds revert data for user-defined messages in the TRAP opcode.
Not all messages are returned as revert data, since compiler intrinsic
messages are spammed all over SSA and codegening revert data for all
those makes brillig function size blow up and impacts performance in a
hard way due to deserializing load.
This is currently only for static assert messages, since dynamic ones
are implemented as an oracle and probably need a rework to be able to
return them as revert data.

---------

Co-authored-by: Maxim Vezenov <[email protected]>
This PR adds revert data for user-defined messages in the TRAP opcode.
Not all messages are returned as revert data, since compiler intrinsic
messages are spammed all over SSA and codegening revert data for all
those makes brillig function size blow up and impacts performance in a
hard way due to deserializing load.
This is currently only for static assert messages, since dynamic ones
are implemented as an oracle and probably need a rework to be able to
return them as revert data.

---------

Co-authored-by: Maxim Vezenov <[email protected]>
…nown (AztecProtocol/aztec-packages#5620)

This PR enforces the sizes of inputs/outputs of blackbox functions to
remove some runtime checks and allocations.

---------

Co-authored-by: guipublic <[email protected]>
Co-authored-by: vezenovm <[email protected]>
…nown (AztecProtocol/aztec-packages#5620)

This PR enforces the sizes of inputs/outputs of blackbox functions to
remove some runtime checks and allocations.

---------

Co-authored-by: guipublic <[email protected]>
Co-authored-by: vezenovm <[email protected]>
This is a breaking change because it will change the acir opcode
compiled by Noir. If they are not updated, proving and verification will
fail.

---------

Co-authored-by: Tom French <[email protected]>
This is a breaking change because it will change the acir opcode
compiled by Noir. If they are not updated, proving and verification will
fail.

---------

Co-authored-by: Tom French <[email protected]>
@TomAFrench TomAFrench closed this Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants