-
Notifications
You must be signed in to change notification settings - Fork 295
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: allow get_notes to return zero notes #7621
Conversation
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.
lgtm
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Proof generationEach column represents the number of threads used in proof generation.
L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 8 txs.
Circuits statsStats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.
Stats on running time collected for app circuits
AVM SimulationTime to simulate various public functions in the AVM.
Public DB AccessTime to access various public DBs.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method | Metric | | |
Some of the tests were slightly trickier to fix: in doing so I also closed #7059. |
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.47.1</summary> ## [0.47.1](aztec-package-v0.47.0...aztec-package-v0.47.1) (2024-07-30) ### Features * Do not evict tx objects from p2p tx pool immediately ([#7652](#7652)) ([96492dc](96492dc)) * Min and max block times for sequencer ([#7630](#7630)) ([2a013b8](2a013b8)) * Transaction sender bot ([#7586](#7586)) ([176fd08](176fd08)), closes [#7562](#7562) ### Bug Fixes * Aztec start --prover ([#7617](#7617)) ([ac206a6](ac206a6)) ### Miscellaneous * Add tx bot to terraform ([#7609](#7609)) ([6caa914](6caa914)) * Merge Devnet back to Master ([#7611](#7611)) ([112961c](112961c)) </details> <details><summary>barretenberg.js: 0.47.1</summary> ## [0.47.1](barretenberg.js-v0.47.0...barretenberg.js-v0.47.1) (2024-07-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.47.1</summary> ## [0.47.1](aztec-packages-v0.47.0...aztec-packages-v0.47.1) (2024-07-30) ### Features * Add recursive aggregation object to proving/verification keys ([#6770](#6770)) ([f48b069](f48b069)) * Adding aggregation to honk and rollup ([#7466](#7466)) ([2633aa9](2633aa9)) * Allow get_notes to return zero notes ([#7621](#7621)) ([e16452a](e16452a)) * **avm:** Pedersen commit in avm ([#7634](#7634)) ([45e7867](45e7867)) * **avm:** Pedersen commitment sim ([#7632](#7632)) ([cc420a0](cc420a0)) * Do not evict tx objects from p2p tx pool immediately ([#7652](#7652)) ([96492dc](96492dc)) * Handle L1toL2 msgs in prover-node ([#7654](#7654)) ([f35bac5](f35bac5)) * Leonidas ([#7597](#7597)) ([eda498a](eda498a)) * Min and max block times for sequencer ([#7630](#7630)) ([2a013b8](2a013b8)) * **sol-honk:** Integrate solidity honk verifier with bb and acir tests ([#7573](#7573)) ([344ca6f](344ca6f)) * **sol-honk:** Test verifying recursive proof ([#7576](#7576)) ([26408c1](26408c1)) * Static.aztec.network ([#7649](#7649)) ([9dffef5](9dffef5)) * Transaction sender bot ([#7586](#7586)) ([176fd08](176fd08)), closes [#7562](#7562) ### Bug Fixes * Aztec start --prover ([#7617](#7617)) ([ac206a6](ac206a6)) * Bb mac build ([#7619](#7619)) ([e3c5602](e3c5602)) * Faucet correctly derives its account ([#7645](#7645)) ([921773f](921773f)) * Uniswap e2e test "nonce too low" ([#7633](#7633)) ([e9e2318](e9e2318)) ### Miscellaneous * Add tx bot to terraform ([#7609](#7609)) ([6caa914](6caa914)) * **bb readme:** Add installation instructions and TODOs ([#7601](#7601)) ([1a97698](1a97698)) * **bb readme:** Update versioning instructions and add Honk Solidity verifier commands ([#7608](#7608)) ([9dd9195](9dd9195)) * Bench client ivc proof verification ([#7553](#7553)) ([b060309](b060309)) * Call requests ([#7483](#7483)) ([ffedf39](ffedf39)) * Constant inputs for most blackboxes ([#7613](#7613)) ([3247058](3247058)) * **docs:** Fix links ([#7602](#7602)) ([f2029be](f2029be)) * Merge Devnet back to Master ([#7611](#7611)) ([112961c](112961c)) * **p2p:** Tx serialization cleanup ([#7620](#7620)) ([022a899](022a899)) * Replace relative paths to noir-protocol-circuits ([ebaafc7](ebaafc7)) * Replace relative paths to noir-protocol-circuits ([d3b818d](d3b818d)) * Replace relative paths to noir-protocol-circuits ([4a26a19](4a26a19)) </details> <details><summary>barretenberg: 0.47.1</summary> ## [0.47.1](barretenberg-v0.47.0...barretenberg-v0.47.1) (2024-07-30) ### Features * Add recursive aggregation object to proving/verification keys ([#6770](#6770)) ([f48b069](f48b069)) * Adding aggregation to honk and rollup ([#7466](#7466)) ([2633aa9](2633aa9)) * **avm:** Pedersen commit in avm ([#7634](#7634)) ([45e7867](45e7867)) * **avm:** Pedersen commitment sim ([#7632](#7632)) ([cc420a0](cc420a0)) * **sol-honk:** Integrate solidity honk verifier with bb and acir tests ([#7573](#7573)) ([344ca6f](344ca6f)) * **sol-honk:** Test verifying recursive proof ([#7576](#7576)) ([26408c1](26408c1)) ### Bug Fixes * Bb mac build ([#7619](#7619)) ([e3c5602](e3c5602)) ### Miscellaneous * **bb readme:** Add installation instructions and TODOs ([#7601](#7601)) ([1a97698](1a97698)) * **bb readme:** Update versioning instructions and add Honk Solidity verifier commands ([#7608](#7608)) ([9dd9195](9dd9195)) * Call requests ([#7483](#7483)) ([ffedf39](ffedf39)) * Constant inputs for most blackboxes ([#7613](#7613)) ([3247058](3247058)) * Merge Devnet back to Master ([#7611](#7611)) ([112961c](112961c)) </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.47.1</summary> ## [0.47.1](AztecProtocol/aztec-packages@aztec-package-v0.47.0...aztec-package-v0.47.1) (2024-07-30) ### Features * Do not evict tx objects from p2p tx pool immediately ([#7652](AztecProtocol/aztec-packages#7652)) ([96492dc](AztecProtocol/aztec-packages@96492dc)) * Min and max block times for sequencer ([#7630](AztecProtocol/aztec-packages#7630)) ([2a013b8](AztecProtocol/aztec-packages@2a013b8)) * Transaction sender bot ([#7586](AztecProtocol/aztec-packages#7586)) ([176fd08](AztecProtocol/aztec-packages@176fd08)), closes [#7562](AztecProtocol/aztec-packages#7562) ### Bug Fixes * Aztec start --prover ([#7617](AztecProtocol/aztec-packages#7617)) ([ac206a6](AztecProtocol/aztec-packages@ac206a6)) ### Miscellaneous * Add tx bot to terraform ([#7609](AztecProtocol/aztec-packages#7609)) ([6caa914](AztecProtocol/aztec-packages@6caa914)) * Merge Devnet back to Master ([#7611](AztecProtocol/aztec-packages#7611)) ([112961c](AztecProtocol/aztec-packages@112961c)) </details> <details><summary>barretenberg.js: 0.47.1</summary> ## [0.47.1](AztecProtocol/aztec-packages@barretenberg.js-v0.47.0...barretenberg.js-v0.47.1) (2024-07-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.47.1</summary> ## [0.47.1](AztecProtocol/aztec-packages@aztec-packages-v0.47.0...aztec-packages-v0.47.1) (2024-07-30) ### Features * Add recursive aggregation object to proving/verification keys ([#6770](AztecProtocol/aztec-packages#6770)) ([f48b069](AztecProtocol/aztec-packages@f48b069)) * Adding aggregation to honk and rollup ([#7466](AztecProtocol/aztec-packages#7466)) ([2633aa9](AztecProtocol/aztec-packages@2633aa9)) * Allow get_notes to return zero notes ([#7621](AztecProtocol/aztec-packages#7621)) ([e16452a](AztecProtocol/aztec-packages@e16452a)) * **avm:** Pedersen commit in avm ([#7634](AztecProtocol/aztec-packages#7634)) ([45e7867](AztecProtocol/aztec-packages@45e7867)) * **avm:** Pedersen commitment sim ([#7632](AztecProtocol/aztec-packages#7632)) ([cc420a0](AztecProtocol/aztec-packages@cc420a0)) * Do not evict tx objects from p2p tx pool immediately ([#7652](AztecProtocol/aztec-packages#7652)) ([96492dc](AztecProtocol/aztec-packages@96492dc)) * Handle L1toL2 msgs in prover-node ([#7654](AztecProtocol/aztec-packages#7654)) ([f35bac5](AztecProtocol/aztec-packages@f35bac5)) * Leonidas ([#7597](AztecProtocol/aztec-packages#7597)) ([eda498a](AztecProtocol/aztec-packages@eda498a)) * Min and max block times for sequencer ([#7630](AztecProtocol/aztec-packages#7630)) ([2a013b8](AztecProtocol/aztec-packages@2a013b8)) * **sol-honk:** Integrate solidity honk verifier with bb and acir tests ([#7573](AztecProtocol/aztec-packages#7573)) ([344ca6f](AztecProtocol/aztec-packages@344ca6f)) * **sol-honk:** Test verifying recursive proof ([#7576](AztecProtocol/aztec-packages#7576)) ([26408c1](AztecProtocol/aztec-packages@26408c1)) * Static.aztec.network ([#7649](AztecProtocol/aztec-packages#7649)) ([9dffef5](AztecProtocol/aztec-packages@9dffef5)) * Transaction sender bot ([#7586](AztecProtocol/aztec-packages#7586)) ([176fd08](AztecProtocol/aztec-packages@176fd08)), closes [#7562](AztecProtocol/aztec-packages#7562) ### Bug Fixes * Aztec start --prover ([#7617](AztecProtocol/aztec-packages#7617)) ([ac206a6](AztecProtocol/aztec-packages@ac206a6)) * Bb mac build ([#7619](AztecProtocol/aztec-packages#7619)) ([e3c5602](AztecProtocol/aztec-packages@e3c5602)) * Faucet correctly derives its account ([#7645](AztecProtocol/aztec-packages#7645)) ([921773f](AztecProtocol/aztec-packages@921773f)) * Uniswap e2e test "nonce too low" ([#7633](AztecProtocol/aztec-packages#7633)) ([e9e2318](AztecProtocol/aztec-packages@e9e2318)) ### Miscellaneous * Add tx bot to terraform ([#7609](AztecProtocol/aztec-packages#7609)) ([6caa914](AztecProtocol/aztec-packages@6caa914)) * **bb readme:** Add installation instructions and TODOs ([#7601](AztecProtocol/aztec-packages#7601)) ([1a97698](AztecProtocol/aztec-packages@1a97698)) * **bb readme:** Update versioning instructions and add Honk Solidity verifier commands ([#7608](AztecProtocol/aztec-packages#7608)) ([9dd9195](AztecProtocol/aztec-packages@9dd9195)) * Bench client ivc proof verification ([#7553](AztecProtocol/aztec-packages#7553)) ([b060309](AztecProtocol/aztec-packages@b060309)) * Call requests ([#7483](AztecProtocol/aztec-packages#7483)) ([ffedf39](AztecProtocol/aztec-packages@ffedf39)) * Constant inputs for most blackboxes ([#7613](AztecProtocol/aztec-packages#7613)) ([3247058](AztecProtocol/aztec-packages@3247058)) * **docs:** Fix links ([#7602](AztecProtocol/aztec-packages#7602)) ([f2029be](AztecProtocol/aztec-packages@f2029be)) * Merge Devnet back to Master ([#7611](AztecProtocol/aztec-packages#7611)) ([112961c](AztecProtocol/aztec-packages@112961c)) * **p2p:** Tx serialization cleanup ([#7620](AztecProtocol/aztec-packages#7620)) ([022a899](AztecProtocol/aztec-packages@022a899)) * Replace relative paths to noir-protocol-circuits ([ebaafc7](AztecProtocol/aztec-packages@ebaafc7)) * Replace relative paths to noir-protocol-circuits ([d3b818d](AztecProtocol/aztec-packages@d3b818d)) * Replace relative paths to noir-protocol-circuits ([4a26a19](AztecProtocol/aztec-packages@4a26a19)) </details> <details><summary>barretenberg: 0.47.1</summary> ## [0.47.1](AztecProtocol/aztec-packages@barretenberg-v0.47.0...barretenberg-v0.47.1) (2024-07-30) ### Features * Add recursive aggregation object to proving/verification keys ([#6770](AztecProtocol/aztec-packages#6770)) ([f48b069](AztecProtocol/aztec-packages@f48b069)) * Adding aggregation to honk and rollup ([#7466](AztecProtocol/aztec-packages#7466)) ([2633aa9](AztecProtocol/aztec-packages@2633aa9)) * **avm:** Pedersen commit in avm ([#7634](AztecProtocol/aztec-packages#7634)) ([45e7867](AztecProtocol/aztec-packages@45e7867)) * **avm:** Pedersen commitment sim ([#7632](AztecProtocol/aztec-packages#7632)) ([cc420a0](AztecProtocol/aztec-packages@cc420a0)) * **sol-honk:** Integrate solidity honk verifier with bb and acir tests ([#7573](AztecProtocol/aztec-packages#7573)) ([344ca6f](AztecProtocol/aztec-packages@344ca6f)) * **sol-honk:** Test verifying recursive proof ([#7576](AztecProtocol/aztec-packages#7576)) ([26408c1](AztecProtocol/aztec-packages@26408c1)) ### Bug Fixes * Bb mac build ([#7619](AztecProtocol/aztec-packages#7619)) ([e3c5602](AztecProtocol/aztec-packages@e3c5602)) ### Miscellaneous * **bb readme:** Add installation instructions and TODOs ([#7601](AztecProtocol/aztec-packages#7601)) ([1a97698](AztecProtocol/aztec-packages@1a97698)) * **bb readme:** Update versioning instructions and add Honk Solidity verifier commands ([#7608](AztecProtocol/aztec-packages#7608)) ([9dd9195](AztecProtocol/aztec-packages@9dd9195)) * Call requests ([#7483](AztecProtocol/aztec-packages#7483)) ([ffedf39](AztecProtocol/aztec-packages@ffedf39)) * Constant inputs for most blackboxes ([#7613](AztecProtocol/aztec-packages#7613)) ([3247058](AztecProtocol/aztec-packages@3247058)) * Merge Devnet back to Master ([#7611](AztecProtocol/aztec-packages#7611)) ([112961c](AztecProtocol/aztec-packages@112961c)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
get_notes
used to fail if no notes were found ever since #4988 was merged. The argument there was that since no constraints are applied, and note non-existence cannot be proved,get_notes
returning no notes is always a mistake.However, what that mistake means depends on the caller. Since we don't want for the caller to have to pass an error message to
get_notes
, I think it's better to return no notes and leave it up to the caller to decide what to do.BoundedVec
is a safe container:get
will result in errors if used with indices out of bounds.I changed the callsites where we did
get_unchecked(0)
toget(0)
- this means that the errors now change from 'got 0 notes' to 'out of bounds access'. Neither error message is great, so I didn't bother improving this. Maybe we could have aget
variant that received an error message (likeOption::expect
), but we don't need to worry about this for now.Closes #7059
(indirectly due to how we need to change certain tests to address this)