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

chore(constants): bump number of private reads and writes #2062

Merged
merged 10 commits into from
Sep 8, 2023

Conversation

dbanks12
Copy link
Collaborator

@dbanks12 dbanks12 commented Sep 6, 2023

Increases the constants to support wider set of applications. Specifically:

MAX_NEW_COMMITMENTS_PER_CALL = 4 $\longrightarrow$ 16
MAX_NEW_NULLIFIERS_PER_CALL = 4 $\longrightarrow$ 16
MAX_READ_REQUESTS_PER_CALL = 4 $\longrightarrow$ 32

Therefore, we have:

MAX_NEW_COMMITMENTS_PER_TX = 16 $\longrightarrow$ 64
MAX_NEW_NULLIFIERS_PER_TX = 16 $\longrightarrow$ 64
MAX_READ_REQUESTS_PER_TX = 16 $\longrightarrow$ 128

unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),
encrypted_log_preimages_length: fields[46],
unencrypted_log_preimages_length: fields[47],
new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 48),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nervous laughing

@@ -356,7 +356,7 @@ describe('sequencer/solo_block_builder', () => {
expect(contractTreeAfter.root).toEqual(expectedContractTreeAfter);
expect(contractTreeAfter.size).toEqual(BigInt(totalCount));
},
10000,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the tests significantly slower now?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It takes 2x time to run this test (most probably since number of nullifiers have increased 4x). Showed around 22s on mainframe to run this test so increased the timeout to 30s.

@ludamad
Copy link
Collaborator

ludamad commented Sep 7, 2023

We're getting to numbers where we'd want to consider tracking the size of these things instead of relying on nulls, I guess. LGTM. I notice like e2e-nested-contract takes 8:30 minutes now and looking at my other branch it's 6:42. Not sure how we feel on that one - I might suggest we're fine with it, but fast follow to use an array representation that also encodes length, then do something more clever with the null values at the end (if we need to do anything at all)

@jeanmon jeanmon self-requested a review September 8, 2023 07:24
Copy link
Contributor

@jeanmon jeanmon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@jeanmon jeanmon merged commit ab6c6b1 into master Sep 8, 2023
@jeanmon jeanmon deleted the db/2003-bump-private-reads-writes branch September 8, 2023 07:26
@suyash67
Copy link
Contributor

suyash67 commented Sep 8, 2023

We're getting to numbers where we'd want to consider tracking the size of these things instead of relying on nulls, I guess. LGTM. I notice like e2e-nested-contract takes 8:30 minutes now and looking at my other branch it's 6:42. Not sure how we feel on that one - I might suggest we're fine with it, but fast follow to use an array representation that also encodes length, then do something more clever with the null values at the end (if we need to do anything at all)

As you say, this increase in CI times should be fine - its not a dealbreaker. This increase in reads/commitments/nullifiers is a temporary work-around for initial public release to enable much more reads/etc than what we had. Once we have the data bus implemented, this is expected to reduce the actual public inputs significantly and allowing much more reads/etc at the same time.

PhilWindle pushed a commit that referenced this pull request Sep 8, 2023
🤖 I have created a new Aztec Packages release
---


##
[0.1.0-alpha63](v0.1.0-alpha62...v0.1.0-alpha63)
(2023-09-08)


### Features

* `GrumpkinScalar` type
([#1919](#1919))
([3a9238a](3a9238a))


### Bug Fixes

* add retry to tag and docker actions
([#2099](#2099))
([9f741f4](9f741f4))
* **breaking change:** change embedded curve scalar mul to use two limbs
to properly encode the scalar field
([#2105](#2105))
([070cc4c](070cc4c))
* broken bootstrap.sh after renaming `aztec-cli` dir as `cli`
([#2097](#2097))
([2386781](2386781))
* browser test in canary flow
([#2102](#2102))
([d52af6c](d52af6c)),
closes
[#2086](#2086)
* check a note is read before nullifying it.
([#2076](#2076))
([aabfb13](aabfb13)),
closes
[#1899](#1899)
* circuits issues when building with gcc
([#2107](#2107))
([4f5c4fe](4f5c4fe))
* COMMIT_TAG arg value in canary Dockerfile
([#2118](#2118))
([a3d6459](a3d6459))
* dont assume safety of nvm
([#2079](#2079))
([a4167e7](a4167e7))
* end-to-end aztec cli dependency issue
([#2092](#2092))
([16ee3e5](16ee3e5))
* minor annoyances
([#2115](#2115))
([a147582](a147582))
* padded printing for e2e-cli
([#2106](#2106))
([5988014](5988014))
* remaining refs to clang15
([#2077](#2077))
([2c16547](2c16547))
* run e2e tests without spot
([#2081](#2081))
([f0aa3ca](f0aa3ca))
* updated CLI readme
([#2098](#2098))
([2226091](2226091)),
closes
[#1784](#1784)


### Miscellaneous

* **circuits:** - remove dead code from cbind of private kernel circuit
([#2088](#2088))
([43dc9d7](43dc9d7))
* **circuits:** remove dead code in cbind.cpp for public kernel
([#2094](#2094))
([861f960](861f960))
* Conservatively raise the minimum supported clang version in CMakeList
([#2023](#2023))
([f49c416](f49c416))
* **constants:** bump number of private reads and writes
([#2062](#2062))
([ab6c6b1](ab6c6b1))
* **contracts:** Use autogenerated Noir interfaces where possible
([#2073](#2073))
([bd6368b](bd6368b)),
closes
[#1604](#1604)
* merge bb release-please
([#2080](#2080))
([e89b043](e89b043))
* move storage into main.nr.
([#2068](#2068))
([2c2d72b](2c2d72b))
* protogalaxy relations
([#1897](#1897))
([35407e2](35407e2))


### Documentation

* **limitations:** limitations on ordering and logs of chopped notes
([#2085](#2085))
([315ad3d](315ad3d)),
closes
[#1652](#1652)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants