-
Notifications
You must be signed in to change notification settings - Fork 324
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Public Logs --- Unencrypted logs -> public logs #9589 Like `private_logs`, public logs are introduced in this PR and replace unencrypted logs. They: - Are no longer treated as bytes in ts/sol - Are no longer treated as log hashes in kernels/rollups - Are treated as arrays of fields (with contract address) everywhere AVM team: I've made some limited changes with help from Ilyas (tyvm) just so we have tests passing and logs being emitted, this is not complete! I've added #11124 to help track where changes need to be made in areas of the code I have no familiarity with. I didn't want to touch too many areas so I haven't fully renamed unencrypted -> public. Ofc I'm happy to help anywhere that's needed. Aztec-nr/Noir-contracts: This PR also addresses #9835. I don't know much about how partial notes work or should work, so I tried to touch the least I could to convert these logs to fields. One big change is that the first field now contains the length of private fields and ciphertext bytes along with the public fields. This is because now we don't emit logs as an array of bytes with a set length to ts, there isn't a way to tell when a log 'ends'. We also can't just discard zero values, because in many cases zeros are emitted as real log values. --- ~TODO:~ Completed - ~Some more renaming (e.g. `UnencryptedLogsResponse`, prefixes, public context, noir contracts)~ - ~`MAX_UNENCRYPTED_LOGS_PER_CALL` -> `MAX_PUBLIC_LOGS_PER_CALL` (not done yet, because `PublicCircuitPublicInputs` is linked to `AvmCircuitInputs` which goes into bb)~ - ~Test and cleanup anything touching partial notes~ --- TODO in follow-up PRS: - Tightly pack individual logs when adding to blob: This is relatively complex because of the hacks we have in place (#10323) and the requirement to overhaul blob field decoding, to avoid bloating this PR I'll make a new one. - Rename `emit_unencrypted`: This will touch a lot of files and just make it difficult to review, so I'll add a follow up PR with just this renaming. - Convert contract class logs to fields: Note that some classes like `UnencryptedL2Log` still exist. This is solely for contract class logs which have thousands of fields and so are still hashed to a single value in the kernels/rollups/ts. In a follow up PR I'll separately convert these to fields to benchmark the effects.
- Loading branch information
1 parent
1f36a04
commit f4725d2
Showing
123 changed files
with
1,896 additions
and
1,811 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
f4725d2
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.
Possible performance regression was detected for benchmark 'C++ Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold
1.05
.commit(t)
3557581850
ns/iter3104952680
ns/iter1.15
Goblin::merge(t)
146190272
ns/iter135468036
ns/iter1.08
This comment was automatically generated by workflow using github-action-benchmark.
CC: @ludamad @codygunton