Use case and current behavior
Currently, OnlineEigenDAPreimageProvider does not implement EigenDAPreimageProvider. However, EigenDAPreimageSource requires its parameter to implement EigenDAPreimageProvider. As a result, OnlineEigenDAPreimageProvider cannot be used with EigenDAPreimageSource.
/// A data iterator that reads from a preimage.
#[derive(Debug, Clone)]
pub struct EigenDAPreimageSource<B>
where
B: EigenDAPreimageProvider + Send,
{
/// Fetches eigenda preimage.
pub eigenda_fetcher: B,
}
Enhancement
This feature allows us to write EigenDAPreimageSource::new(online_eigenda_preimage_provider), which is useful when creating a pipeline without oracle-related components.
Solution proposal
https://github.com/succinctlabs/op-succinct/blob/f290dbf004a8aa9d77081708091de0285b08d247/fault-proof/src/eigenda_provider.rs#L19
This is a working solution. You can use it as a reference.
Additional Information
No response
Use case and current behavior
Currently,
OnlineEigenDAPreimageProviderdoes not implementEigenDAPreimageProvider. However,EigenDAPreimageSourcerequires its parameter to implementEigenDAPreimageProvider. As a result,OnlineEigenDAPreimageProvidercannot be used withEigenDAPreimageSource.Enhancement
This feature allows us to write
EigenDAPreimageSource::new(online_eigenda_preimage_provider), which is useful when creating a pipeline without oracle-related components.Solution proposal
https://github.com/succinctlabs/op-succinct/blob/f290dbf004a8aa9d77081708091de0285b08d247/fault-proof/src/eigenda_provider.rs#L19
This is a working solution. You can use it as a reference.
Additional Information
No response