mirror of
https://github.com/logos-blockchain/lssa.git
synced 2026-06-03 15:49:48 +00:00
BREAKING CHANGE: LEZ crates have been moved from top-level directories into
a dedicated `lez/` subdirectory. The following crates were relocated:
common → lez/common
indexer → lez/indexer
explorer_service→ lez/explorer_service
keycard_wallet → lez/keycard_wallet
mempool → lez/mempool
sequencer → lez/sequencer
storage → lez/storage
testnet_initial_state → lez/testnet_initial_state
wallet → lez/wallet
wallet-ffi → lez/wallet-ffi
Any external tooling, scripts, or paths referencing these crates at their
previous top-level locations must be updated.
34 lines
807 B
Rust
34 lines
807 B
Rust
use std::{ops::Deref, sync::Arc};
|
|
|
|
use anyhow::{Context as _, Result};
|
|
use log::info;
|
|
pub use url::Url;
|
|
|
|
pub trait IndexerClientTrait: Clone {
|
|
async fn new(indexer_url: &Url) -> Result<Self>;
|
|
}
|
|
|
|
#[derive(Clone)]
|
|
pub struct IndexerClient(Arc<jsonrpsee::ws_client::WsClient>);
|
|
|
|
impl IndexerClientTrait for IndexerClient {
|
|
async fn new(indexer_url: &Url) -> Result<Self> {
|
|
info!("Connecting to Indexer at {indexer_url}");
|
|
|
|
let client = jsonrpsee::ws_client::WsClientBuilder::default()
|
|
.build(indexer_url)
|
|
.await
|
|
.context("Failed to create websocket client")?;
|
|
|
|
Ok(Self(Arc::new(client)))
|
|
}
|
|
}
|
|
|
|
impl Deref for IndexerClient {
|
|
type Target = jsonrpsee::ws_client::WsClient;
|
|
|
|
fn deref(&self) -> &Self::Target {
|
|
&self.0
|
|
}
|
|
}
|