-
Notifications
You must be signed in to change notification settings - Fork 18
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
Fix: rolling hash implementation #42
Conversation
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
* add initial CodecV6 and daBatchV6 * feat: add codecv5 and codecv6 for Euclid fork * implement blob encoding and decoding according to new blob layout * rename to CodecV7 * add NewDABatchFromParams * add DecodeBlob to Codec * Update da.go * Update interfaces.go * fixes after merge * address review comments * add sanity checks for blob payload generation * fix few small bugs uncovered by unit tests * upgrade to latest l2geth version and add correct getter for CodecV7 in CodecFromConfig * fix linter warnings * add unit tests * go mod tidy * fix linter warnings * add function MessageQueueV2ApplyL1MessagesFromBlocks to compute the L1 message hash from a given set of blocks * fix lint and unit test errors * call checkCompressedDataCompatibility only once -> constructBlobPayload only once * address review comments * update BlobEnvelopeV7 documentation * add CodecV7 to general util functions * add InitialL1MessageQueueHash and LastL1MessageQueueHash to encoding.Chunk * go mod tidy * upgrade go-ethereum dependency to latest develop * implement estimate functions * update TestMain and run go mod tidy * add NewDAChunk to CodecV7 for easier use in relayer * add daChunkV7 type to calculate chunk hash * allow batch.chunks but check consistency with batch.blocks * fix off-by-one error with L1 messages * Fix: rolling hash implementation (#42) * fix: clear 32 bits instead of 36 * fix: test expectations for rolling hash * fix: tests * fix tests --------- Co-authored-by: jonastheis <4181434+jonastheis@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com> * rename initialL1MessageQueueHash -> prevL1MessageQueueHash and lastL1MessageQueueHash -> postL1MessageQueueHash * address review comments * address review comments * add challenge digest computation for batch * remove InitialL1MessageIndex from CodecV7 * address review comments * fix tests * refactoring to minimize duplicate code and increase maintainability * fix nil pointer * address review comments --------- Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com> Co-authored-by: Péter Garamvölgyi <peter@ip-192-168-0-18.us-west-2.compute.internal> Co-authored-by: Péter Garamvölgyi <peter@scroll.io> Co-authored-by: Rohit Narurkar <rohit.narurkar@proton.me> Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Purpose or design rationale of this PR
Describe your change. Make sure to answer these three questions: What does this PR do? Why does it do it? How does it do it?
The rolling hash computation clears 32-bits instead of 36-bits. Reference.
PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:
Breaking change label
Does this PR have the
breaking-change
label?