pub trait DispatchStatusProvider: Send + Sync {
// Required methods
fn transport_id(&self) -> &str;
fn transport_key_epoch(&self) -> u64;
fn status(
&self,
query: &DispatchStatusQuery,
) -> Result<ProviderDispatchStatusObservation, DispatchStatusProviderError>;
fn fetch_acceptance(
&self,
binding: &ProviderAcceptanceBindingV1,
) -> Result<AuthenticatedProviderAcceptance, DispatchStatusProviderError>;
fn fetch_not_accepted(
&self,
binding: &ProviderCancellationBindingV1,
) -> Result<AuthenticatedProviderNotAccepted, DispatchStatusProviderError>;
fn fetch_completed_outcome(
&self,
binding: &ProviderCompletionBindingV1,
) -> Result<AuthenticatedProviderCompletedOutcome, DispatchStatusProviderError>;
}Expand description
Untrusted provider transport surface.
Implementing this trait does not qualify an adapter. Only the private, provider-owning qualification boundary below can make these responses eligible for verification.
Required Methods§
fn transport_id(&self) -> &str
fn transport_key_epoch(&self) -> u64
fn status( &self, query: &DispatchStatusQuery, ) -> Result<ProviderDispatchStatusObservation, DispatchStatusProviderError>
fn fetch_acceptance( &self, binding: &ProviderAcceptanceBindingV1, ) -> Result<AuthenticatedProviderAcceptance, DispatchStatusProviderError>
fn fetch_not_accepted( &self, binding: &ProviderCancellationBindingV1, ) -> Result<AuthenticatedProviderNotAccepted, DispatchStatusProviderError>
Sourcefn fetch_completed_outcome(
&self,
binding: &ProviderCompletionBindingV1,
) -> Result<AuthenticatedProviderCompletedOutcome, DispatchStatusProviderError>
fn fetch_completed_outcome( &self, binding: &ProviderCompletionBindingV1, ) -> Result<AuthenticatedProviderCompletedOutcome, DispatchStatusProviderError>
Fetch the exact authenticated bytes, cost, currency, and terminal evidence bound by a completed checkpoint. A reference alone is never a completed result.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".