# Data Availability Client This crate contains a trait that has to be implemented by all the DA clients. ## Overview This trait assumes that every implementation follows these logical assumptions: - The DA client is only serving as a connector between the ZK chain's sequencer and the DA layer. - The DA client is not supposed to be a standalone application, but rather a library that is used by the `da_dispatcher`. - The logic of the retries is implemented in the `da_dispatcher`, not in the DA clients. - The `dispatch_blob` is supposed to be idempotent, and work correctly even if called multiple times with the same params. - The `get_inclusion_data` has to return the data only when the state roots are relayed to the L1 verification contract (if the DA solution has one).