rust_mempool/api/
client.rs

1use bitcoin::Network;
2use reqwest::Client;
3
4pub struct MempoolClient {
5    pub client: Client,
6    pub base_url: String,
7}
8
9impl MempoolClient {
10    pub fn new(network: Network) -> Self {
11        let base_url = match network {
12            Network::Bitcoin => "https://mempool.space/api",
13            Network::Testnet => "https://mempool.space/testnet/api",
14            Network::Signet => "https://mempool.space/signet/api",
15            Network::Regtest => "https://mempool.space/regtest/api",
16            Network::Testnet4 => "https://mempool.space/testnet4/api",
17            _ => panic!("Unsupported network"),
18        }
19        .to_string();
20
21        Self {
22            client: Client::new(),
23            base_url,
24        }
25    }
26
27    pub fn new_with_endpoint(endpoint: &str) -> Self {
28        Self {
29            client: Client::new(),
30            base_url: endpoint.to_string(),
31        }
32    }
33}