@@ -29,6 +29,15 @@ pub struct BdkElectrumClient<E> {
2929
3030impl < E : ElectrumApi > BdkElectrumClient < E > {
3131 /// Creates a new bdk client from a [`electrum_client::ElectrumApi`]
32+ ///
33+ /// # Example
34+ /// ```ignore
35+ /// use bdk_electrum::{electrum_client, BdkElectrumClient};
36+ ///
37+ /// let client = electrum_client::Client::new("ssl://electrum.blockstream.info:50002")?;
38+ /// let bdk_client = BdkElectrumClient::new(client);
39+ /// # Ok::<_, electrum_client::Error>(())
40+ /// ```
3241 pub fn new ( client : E ) -> Self {
3342 Self {
3443 inner : client,
@@ -107,6 +116,28 @@ impl<E: ElectrumApi> BdkElectrumClient<E> {
107116 /// [`CalculateFeeError::MissingTxOut`] error if those `TxOut`s are not present in the
108117 /// transaction graph.
109118 ///
119+ /// # Example
120+ /// ```ignore
121+ /// use bdk_core::{spk_client::FullScanRequest, CheckPoint};
122+ /// use bdk_electrum::BdkElectrumClient;
123+ /// # use bdk_electrum::electrum_client;
124+ /// # use electrum_client::bitcoin::{constants, Network};
125+ ///
126+ /// # let client = electrum_client::Client::new("ssl://electrum.blockstream.info:50002")?;
127+ /// # let bdk_client = BdkElectrumClient::new(client);
128+ /// let spk = electrum_client::bitcoin::ScriptBuf::new_op_return(&[0x00; 20]);
129+ /// let request = FullScanRequest::<&str>::builder()
130+ /// .spks_for_keychain("alice", [(0u32, spk)])
131+ /// .chain_tip(CheckPoint::new(
132+ /// 0,
133+ /// constants::genesis_block(Network::Bitcoin).block_hash(),
134+ /// ))
135+ /// .build();
136+ ///
137+ /// let response = bdk_client.full_scan(request, 10, 50, true)?;
138+ /// # Ok::<_, electrum_client::Error>(())
139+ /// ```
140+ ///
110141 /// [`bdk_chain`]: ../bdk_chain/index.html
111142 /// [`CalculateFeeError::MissingTxOut`]: ../bdk_chain/tx_graph/enum.CalculateFeeError.html#variant.MissingTxOut
112143 /// [`Wallet.calculate_fee`]: ../bdk_wallet/struct.Wallet.html#method.calculate_fee
@@ -190,6 +221,23 @@ impl<E: ElectrumApi> BdkElectrumClient<E> {
190221 /// If the scripts to sync are unknown, such as when restoring or importing a keychain that
191222 /// may include scripts that have been used, use [`full_scan`] with the keychain.
192223 ///
224+ /// # Example
225+ /// ```ignore
226+ /// use bdk_core::bitcoin::ScriptBuf;
227+ /// use bdk_core::spk_client::SyncRequest;
228+ /// use bdk_electrum::BdkElectrumClient;
229+ /// # use bdk_electrum::electrum_client;
230+ ///
231+ /// # let client = electrum_client::Client::new("ssl://electrum.blockstream.info:50002")?;
232+ /// # let bdk_client = BdkElectrumClient::new(client);
233+ /// let request = SyncRequest::builder()
234+ /// .spks([ScriptBuf::new_op_return(&[0x00; 20])])
235+ /// .build();
236+ ///
237+ /// let response = bdk_client.sync(request, 50, true)?;
238+ /// # Ok::<_, electrum_client::Error>(())
239+ /// ```
240+ ///
193241 /// [`full_scan`]: Self::full_scan
194242 /// [`bdk_chain`]: ../bdk_chain/index.html
195243 /// [`CalculateFeeError::MissingTxOut`]: ../bdk_chain/tx_graph/enum.CalculateFeeError.html#variant.MissingTxOut
0 commit comments