@@ -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+ /// ```no_run
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,26 @@ 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+ /// ```no_run
121+ /// use bdk_core::{spk_client::FullScanRequest, BlockId, 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 request = FullScanRequest::<&str>::builder()
129+ /// .chain_tip(CheckPoint::new(BlockId {
130+ /// height: 0,
131+ /// hash: constants::genesis_block(Network::Bitcoin).block_hash(),
132+ /// }))
133+ /// .build();
134+ ///
135+ /// let response = bdk_client.full_scan(request, 10, 50, false)?;
136+ /// # Ok::<_, electrum_client::Error>(())
137+ /// ```
138+ ///
110139 /// [`bdk_chain`]: ../bdk_chain/index.html
111140 /// [`CalculateFeeError::MissingTxOut`]: ../bdk_chain/tx_graph/enum.CalculateFeeError.html#variant.MissingTxOut
112141 /// [`Wallet.calculate_fee`]: ../bdk_wallet/struct.Wallet.html#method.calculate_fee
@@ -190,6 +219,23 @@ impl<E: ElectrumApi> BdkElectrumClient<E> {
190219 /// If the scripts to sync are unknown, such as when restoring or importing a keychain that
191220 /// may include scripts that have been used, use [`full_scan`] with the keychain.
192221 ///
222+ /// # Example
223+ /// ```no_run
224+ /// use bdk_core::bitcoin::ScriptBuf;
225+ /// use bdk_core::spk_client::SyncRequest;
226+ /// use bdk_electrum::BdkElectrumClient;
227+ /// # use bdk_electrum::electrum_client;
228+ ///
229+ /// # let client = electrum_client::Client::new("ssl://electrum.blockstream.info:50002")?;
230+ /// # let bdk_client = BdkElectrumClient::new(client);
231+ /// let request = SyncRequest::builder()
232+ /// .spks([ScriptBuf::new_op_return(&[0x00; 20])])
233+ /// .build();
234+ ///
235+ /// let response = bdk_client.sync(request, 50, false)?;
236+ /// # Ok::<_, electrum_client::Error>(())
237+ /// ```
238+ ///
193239 /// [`full_scan`]: Self::full_scan
194240 /// [`bdk_chain`]: ../bdk_chain/index.html
195241 /// [`CalculateFeeError::MissingTxOut`]: ../bdk_chain/tx_graph/enum.CalculateFeeError.html#variant.MissingTxOut
0 commit comments