Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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(storage): cleanup
NotFound
errors #2065base: main
Are you sure you want to change the base?
chore(storage): cleanup
NotFound
errors #2065Changes from 24 commits
a19b0d1
06aee0d
7bfea6b
bba5071
3afed77
3917a9a
64d2f3e
dc50cc1
034f7d1
b0f9050
55ce71e
b32f9d8
86da4a8
c9b579a
b998227
ec89f97
7c5e4ad
23e5a13
35e893c
30b680f
fbd9772
4acb893
3e88d11
db3bee6
c2d9108
c1a1986
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Update the placeholder version for the storage module.
The
github.com/berachain/beacon-kit/mod/storage
module is added with a placeholder version (v0.0.0-00010101000000-000000000000
). This is likely due to the local replacement directive. Before merging, ensure that this is replaced with a proper version or commit hash to maintain reproducible builds.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.
💡 Codebase verification
SetActiveForkVersion Does Not Validate Version Inputs
The
SetActiveForkVersion
method inmod/storage/pkg/encoding/ssz.go
assigns the provided version directly without validating whether it is valid or supported. This lack of validation may lead to unexpected behavior if an invalid or unsupported version is set.mod/storage/pkg/encoding/ssz.go
SetActiveForkVersion
lacks error handling for invalid versions.🔗 Analysis chain
Ensure
SetActiveForkVersion
handles invalid versionsWhen setting the active fork version with
kv.latestExecutionPayloadCodec.SetActiveForkVersion(v)
, it's important to verify that invalid or unsupported versions are properly handled. Lack of validation may lead to unexpected behavior elsewhere in the code.Run the following script to check the implementation of
SetActiveForkVersion
:🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
Length of output: 1081
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.
🛠️ Refactor suggestion
Simplify
SetLatestExecutionPayloadHeader
by removing unnecessary variableThe variable
ctx
is assignedkv.ctx
but is used only once. You can simplify the code by usingkv.ctx
directly, eliminating the need for the extra variable.Apply this diff to streamline the function:
📝 Committable suggestion
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.
Avoid including uninitialized variables in error messages
In the
GetEth1DepositIndex
method, includingidx
in the error message before it's successfully retrieved could be misleading, as it may contain a default value (e.g., zero). For clarity, consider modifying the error message to excludeidx
.Apply this diff to adjust the error message:
📝 Committable suggestion
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.
🧹 Nitpick (assertive)
LGTM with a minor suggestion for consistency.
The error handling improvements in
GetBlockRootAtIndex
align well with the PR objectives. The use oferrors.MapError
likely handles the mapping to the newErrNotFound
type, and the error message now includes the index, providing more context.For consistency with other error messages, consider updating the error message:
This minor change would make the error messages more uniform across the file.
📝 Committable suggestion
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.
🧹 Nitpick (assertive)
LGTM with a minor suggestion for consistency.
The error handling improvements in
GetLatestBlockHeader
are well-aligned with the PR objectives. The use oferrors.MapError
likely handles the mapping to the newErrNotFound
type, and the error message is now more descriptive.For consistency with the suggested changes in other methods, consider updating the error message:
This minor change would make the error messages more uniform across the file.
📝 Committable suggestion
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.
🧹 Nitpick (assertive)
LGTM with minor suggestions for consistency and clarity.
The error handling improvements in
StateRootAtIndex
align well with the PR objectives. The use oferrors.MapError
likely handles the mapping to the newErrNotFound
type, and the error message now includes the index, providing more context.For consistency with other error messages and to improve clarity, consider the following changes:
Apply this diff to implement these changes:
These changes will make the error messages more uniform and clear across the file.
📝 Committable suggestion
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.
🧹 Nitpick (assertive)
Improved error handling, but consider explicit ErrNotFound check
The changes improve error handling by using
errors.MapError
and providing a formatted error message. This aligns with the PR objectives to enhance error reporting.However, to fully meet the PR objectives, consider explicitly checking for
collections.ErrNotFound
and returningbeacondb.ErrNotFound
. This would ensure thatcollections.ErrNotFound
is never returned to clients, as specified in the PR summary.Here's a suggested implementation:
This change would make the use of
beacondb.ErrNotFound
explicit and ensure thatcollections.ErrNotFound
is never returned to clients.