-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Blob verification spectest #13707
Blob verification spectest #13707
Conversation
beacon-chain/verification/blob.go
Outdated
@@ -261,7 +277,7 @@ func (bv *ROBlobVerifier) SidecarDescendsFromFinalized() (err error) { | |||
func (bv *ROBlobVerifier) SidecarInclusionProven() (err error) { | |||
defer bv.recordResult(RequireSidecarInclusionProven, &err) | |||
if err = blocks.VerifyKZGInclusionProof(bv.blob); err != nil { | |||
log.WithError(err).WithFields(logging.BlobFields(bv.blob)).Debug("sidecar inclusion proof verification failed") | |||
log.WithError(err).WithFields(logging.BlobFields(bv.blob)).Error("sidecar inclusion proof verification failed") |
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.
Sorry, I changed this to Error
in my PR. I think we can revert this back to Debug
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.
updated
ab4bbf8
to
069786b
Compare
beacon-chain/verification/blob.go
Outdated
//RequireSidecarParentSeen, | ||
//RequireSidecarParentValid, |
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.
Did you mean to comment these out?
If so, consider adding some method like
var SpectestSidecarRequirements = xor(GossipSidecarRequirements, []Requirement{
// Requiring parent checks in spectest is not possible.
RequireSidecarParentSeen,
RequireSidecarParentValid,
})
This way we won't have to ensure two slices are updated in the future.
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.
implemented this, please take a look!
fwiw the main downside I see is that it makes it a little hard to make out what requirements you're keeping for lists where you're excluding most things, like initial-sync/backfill. but otherwise I'm good with it if you are.
58de343
to
8023ea0
Compare
8023ea0
to
4a697a1
Compare
What type of PR is this?
Bug fix
What does this PR do? Why is it needed?
This fixes an oversight in our spectest coverage that was not exercising blob verification paths in the forkchoice tests. This issue was further compounded by a test Skip in the spectests. This PR unskips the on_block tests and sets up the necessary dependencies to verify blobs like sync.