pub trait Provider {
    fn name(&self) -> &str;
    fn bootstrap_eta(&self) -> Duration;
    fn url(&self) -> SecretUrl;
    fn preflight(&self) -> Result<Vec<&Downloadable>>;
    fn credentials(&self) -> Vec<CredConfig> ;
    fn start<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn Server>>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; }

Required Methods§

The name of the provider, used for printing info Note, this really should be an associated constant but Rust doesn’t allow that (yet)

How long it typically takes to bootstrap

The url where the provided service will be found

Do any system checking: do we have the binary we need, is it possible to get it, etc.

An error is considered unrecoverable while a success can indicate work to be done

Credentials used to configure wallets

Starts a server according to the config. Assumes that preflights have been properly handled

Implementations§

Returns all configured wallets for this provider

Trait Implementations§

The type returned in the event of a conversion error.
Performs the conversion.

Implementors§