Open abi87 opened 2 weeks ago
The pull request introduces modifications to the blockchain processing logic, particularly in the management of blob sidecars. The ProcessBeaconBlock
method now uses asynchronous verification for blob availability through the verifyFinalBlobAvailability
method. The Service
struct has been updated to include new channels for blob finalization events. Improvements to event handling are made across various components, including the introduction of a new event constant for blob finalization.
File | Change Summary |
---|---|
mod/beacon/blockchain/process.go |
- Transitioned to asynchronous blob availability verification using verifyFinalBlobAvailability . - Adjusted error handling for blob verification. - Revised comments for clarity. |
mod/beacon/blockchain/service.go |
- Added blobFinalized and subBlobFinalized channels to Service struct. - Updated NewService to initialize these channels. - Modified Start method to subscribe to BlobSidecarsFinalized events. |
mod/da/pkg/da/service.go |
- Implemented publishing of BlobSidecarsFinalized event in handleFinalSidecarsReceived . - Enhanced error handling in handleSidecarsReceived . |
mod/node-core/pkg/components/dispatcher.go |
- Registered event handling for async.BlobSidecarsFinalized in ProvideDispatcher . |
mod/primitives/pkg/async/id.go |
- Added constant BlobSidecarsFinalized with value "blob-sidecars-finalized" . |
mod/beacon/blockchain/service.go
involve updates to the Service
struct, including the introduction of a new method verifyFinalBlobAvailability
, which is directly related to the asynchronous verification process introduced in the main PR.verifyFinalBlobAvailability
method in mod/beacon/blockchain/service.go
is relevant as it aligns with the changes made to the ProcessBeaconBlock
method in the main PR, enhancing the control flow for blob verification.mod/beacon/blockchain/process.go
regarding the ProcessBeaconBlock
function's logic and its handling of blob sidecars are directly related to the modifications made in the main PR.middleware.go
file regarding the handling of blob sidecars and the introduction of new channels for asynchronous processing are relevant to the changes made in the main PR, which also focuses on asynchronous operations.mod/da/pkg/da/service.go
that improve event handling for blob sidecars are related to the asynchronous verification process introduced in the main PR.mod/beacon/blockchain/process.go
that enhance the processing of beacon blocks and blob sidecars are relevant to the changes made in the main PR, which also focuses on improving the control flow for these operations.🐇 In the land of code where rabbits hop,
New blobs are checked, no need to stop.
With channels and events, we dance and play,
Asynchronous joy brightens the day!
Hooray for the changes, let’s celebrate,
In the world of blocks, we innovate! 🌟
[!WARNING] There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure.
🔧 golangci-lint
level=warning msg="[linters_context] running gomodguard failed: unable to read module file go.mod: current working directory must have a go.mod file: if you are not using go modules it is suggested to disable this linter" level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain modules listed in go.work or their selected dependencies"
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?
Attention: Patch coverage is 0%
with 33 lines
in your changes missing coverage. Please review.
Project coverage is 26.20%. Comparing base (
9cbce04
) to head (b26afa8
).
When we finalize a block, we verify that its associated sidecar has been stored. However block and sidecar finalization are handled concurrently, so we need wait for the blob to be persisted before checking. This PR solves the issue
Summary by CodeRabbit
Release Notes
New Features
BlobSidecarsFinalized
.BlobSidecarsFinalized
to improve event identification.Bug Fixes
Documentation