zksync_da_dispatcher 29.4.0-non-semver-compat

ZKsync data availability dispatcher
docs.rs failed to build zksync_da_dispatcher-29.4.0-non-semver-compat
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: zksync_da_dispatcher-28.1.0-non-semver-compat

DA dispatcher

This crate contains an implementation of the DataAvailability dispatcher component, which sends a blobs of data to the corresponding DA layer.

Overview

The implementation of the DA clients is abstracted away from the dispatcher. The dispatcher is responsible for storing the DA blobs info in the Postgres database and use it to get the inclusion proofs for the blobs. The retries logic is also part of the DA dispatcher.

This component assumes that batches are being sent to the L1 sequentially and that there is no need to fetch the inclusion data for their DA in parallel. Same with dispatching DA blobs, there is no need to do that in parallel unless we are facing performance issues when the sequencer is trying to catch up after some outage.

This is a singleton component, only one instance of the DA dispatcher should be running at a time. In case multiple instances are started, they will be dispatching the same pubdata blobs to the DA layer. It is not going to cause any critical issues, but it is wasteful.