-
Notifications
You must be signed in to change notification settings - Fork 289
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 noir #7134
feat: Sync from noir #7134
Conversation
…etadata in elaborator (noir-lang/noir#5292) fix: fix incorrect return type being applied to stdlib functions `modulus_be_bytes()`, `modulus_be_bits()`, etc. (noir-lang/noir#5278) chore: refactor test case generation in build.rs (noir-lang/noir#5280) fix: handle struct with nested arrays in oracle return values (noir-lang/noir#5244) feat: build simple dictionary from inspecting ACIR program (noir-lang/noir#5264) fix: Add more thorough check for whether a type is valid when passing it from constrained code to unconstrained code (noir-lang/noir#5009) chore: Pedersen commitment in Noir (noir-lang/noir#5221) chore: pedersen hash in Noir (noir-lang/noir#5217) fix: Don't lazily elaborate functions (noir-lang/noir#5282) fix: avoid unnecessarily splitting expressions with multiplication terms with a shared term (noir-lang/noir#5291) fix: avoid duplicating constant arrays (noir-lang/noir#5287) feat: add fuzzer for Noir programs (noir-lang/noir#5251) feat: Run `comptime` code from annotations on a type definition (noir-lang/noir#5256) feat: implement comptime support for `as_slice` builtin (noir-lang/noir#5276) chore: create separate crate just for noir artifacts (noir-lang/noir#5162) feat: add support for wildcard types (noir-lang/noir#5275) chore: replace logical operators with bitwise in `DebugToString` (noir-lang/noir#5236) fix: use proper serialization in `AbiValue` (noir-lang/noir#5270) chore: simplify compilation flow to write to file immediately (noir-lang/noir#5265) feat: implement comptime support for `array_len` builtin (noir-lang/noir#5272) chore: Use the elaborator by default (noir-lang/noir#5246) chore: Release Noir(0.31.0) (noir-lang/noir#5166) feat!: remove `dep::` prefix (noir-lang/noir#4946) feat: Sync from aztec-packages (noir-lang/noir#5242) chore: replace `is_bn254` implementation to not rely on truncation of literals (noir-lang/noir#5247) chore: add no-predicate to hash implementations (noir-lang/noir#5253) feat(experimental): Implement macro calls & splicing into `Expr` values (noir-lang/noir#5203) feat: add BoundedVec::map (noir-lang/noir#5250) chore: add no predicate to poseidon2 (noir-lang/noir#5252) feat: add `set` and `set_unchecked` methods to `Vec` and `BoundedVec` (noir-lang/noir#5241) fix: Disable `if` optimization (noir-lang/noir#5240) chore: redo typo PR by dropbigfish (noir-lang/noir#5234) chore: add property tests for ABI encoding (noir-lang/noir#5216) chore: thread generics through ACIR/brillig gen (noir-lang/noir#5120) chore: copy across typo PR script from aztec-packages (noir-lang/noir#5235) chore(docs): fixing trailing slash issue (noir-lang/noir#5233) fix: add support for nested arrays returned by oracles (noir-lang/noir#5132) chore: Parse macros (noir-lang/noir#5229) chore: Optimize the elaborator (noir-lang/noir#5230) fix(elaborator): Fix regression introduced by lazy-global changes (noir-lang/noir#5223) fix(elaborator): Fix duplicate methods error (noir-lang/noir#5225) chore: fixing all relative paths (noir-lang/noir#5220) chore: push code related to ABI gen into `noirc_driver` (noir-lang/noir#5218)
* master: (62 commits) refactor: note hashing gate optimizations (#7130) chore: fix migration notes (#7133) feat(p2p): more comprehensive peer management, dial retries, persistence fix (#6953) feat: devnet deployments (#7024) chore(avm): renamings and comments (#7128) refactor: `destroy_note(...)` optimization (#7103) 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 chore: Ultra flavor cleanup (#7070) feat: Several updates in SMT verification module (#7105) fix: Fix bug for a unit test in full proving mode repated to MSM (#7104) feat!: make note_getter return BoundedVec instead of an Option array (#7050) chore: Remove unneeded public input folding (#7094) chore: reads the return data (#6669) test: Create workflow for full AVM tests (#7051) chore: Fix noir-projects dockerfile for CircleCI (#7093) fix: export event selector and replace function selector with event selector where appropriate (#7095) chore(avm): remove avm prefix from pil and executor (#7099) ...
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
I tried fixing the remaining issues and the problem is that the resulting contract artifacts now have null as a return_type and we try to map it to our TS interfaces which do not support that. I see that for other contracts and for functions which actually return something the return_type is not null so this looks like a conscious change and we should just update our TS interface. @TomAFrench can you please confirm that null return type is expected? Once I have the confirmation I'll update the types. |
Yes this is expected in the case where we don't have a return value as we can't assign it a type. |
The only thing that makes sense a potential cause for this issue is that we have an issue in how the new pedersen hash implementation deals with predicates. This could potentially screw up the calculation of the args_hash in the below code. aztec-packages/noir-projects/aztec-nr/aztec/src/hash.nr Lines 111 to 136 in fd92d46
|
One question, are the generators the same in noir's implementation of pedersen vs BB implementation of pedersen? we might be having a mismatch between typescript computed pedersen hashes vs noir computed pedersens |
Yeah, the issue seems to be that the separator was being applied to the length generator rather than the generators for the commitment. |
Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: update
in_contract
flag before handling function metadata in elaborator (noir-lang/noir#5292)fix: fix incorrect return type being applied to stdlib functions
modulus_be_bytes()
,modulus_be_bits()
, etc. (noir-lang/noir#5278)chore: refactor test case generation in build.rs (noir-lang/noir#5280)
fix: handle struct with nested arrays in oracle return values (noir-lang/noir#5244)
feat: build simple dictionary from inspecting ACIR program (noir-lang/noir#5264)
fix: Add more thorough check for whether a type is valid when passing it from constrained code to unconstrained code (noir-lang/noir#5009)
chore: Pedersen commitment in Noir (noir-lang/noir#5221)
chore: pedersen hash in Noir (noir-lang/noir#5217)
fix: Don't lazily elaborate functions (noir-lang/noir#5282)
fix: avoid unnecessarily splitting expressions with multiplication terms with a shared term (noir-lang/noir#5291)
fix: avoid duplicating constant arrays (noir-lang/noir#5287)
feat: add fuzzer for Noir programs (noir-lang/noir#5251)
feat: Run
comptime
code from annotations on a type definition (noir-lang/noir#5256)feat: implement comptime support for
as_slice
builtin (noir-lang/noir#5276)chore: create separate crate just for noir artifacts (noir-lang/noir#5162)
feat: add support for wildcard types (noir-lang/noir#5275)
chore: replace logical operators with bitwise in
DebugToString
(noir-lang/noir#5236)fix: use proper serialization in
AbiValue
(noir-lang/noir#5270)chore: simplify compilation flow to write to file immediately (noir-lang/noir#5265)
feat: implement comptime support for
array_len
builtin (noir-lang/noir#5272)chore: Use the elaborator by default (noir-lang/noir#5246)
chore: Release Noir(0.31.0) (noir-lang/noir#5166)
feat!: remove
dep::
prefix (noir-lang/noir#4946)feat: Sync from aztec-packages (noir-lang/noir#5242)
chore: replace
is_bn254
implementation to not rely on truncation of literals (noir-lang/noir#5247)chore: add no-predicate to hash implementations (noir-lang/noir#5253)
feat(experimental): Implement macro calls & splicing into
Expr
values (noir-lang/noir#5203)feat: add BoundedVec::map (noir-lang/noir#5250)
chore: add no predicate to poseidon2 (noir-lang/noir#5252)
feat: add
set
andset_unchecked
methods toVec
andBoundedVec
(noir-lang/noir#5241)fix: Disable
if
optimization (noir-lang/noir#5240)chore: redo typo PR by dropbigfish (noir-lang/noir#5234)
chore: add property tests for ABI encoding (noir-lang/noir#5216)
chore: thread generics through ACIR/brillig gen (noir-lang/noir#5120)
chore: copy across typo PR script from aztec-packages (noir-lang/noir#5235)
chore(docs): fixing trailing slash issue (noir-lang/noir#5233)
fix: add support for nested arrays returned by oracles (noir-lang/noir#5132)
chore: Parse macros (noir-lang/noir#5229)
chore: Optimize the elaborator (noir-lang/noir#5230)
fix(elaborator): Fix regression introduced by lazy-global changes (noir-lang/noir#5223)
fix(elaborator): Fix duplicate methods error (noir-lang/noir#5225)
chore: fixing all relative paths (noir-lang/noir#5220)
chore: push code related to ABI gen into
noirc_driver
(noir-lang/noir#5218)END_COMMIT_OVERRIDE