pub trait Service<Config> {
const NAME: &'static str;
const VERSION: &'static str;
// Required methods
fn new_service(
btc_parachain: BtcParachain,
bitcoin_core: DynBitcoinCoreApi,
config: Config,
monitoring_config: MonitoringConfig,
shutdown: ShutdownSender,
constructor: Box<dyn Fn(VaultId) -> Result<DynBitcoinCoreApi, BitcoinError> + Send + Sync>,
keyname: String
) -> Self;
fn start<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), BackoffError<Error>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}