refactor: rename methods in EsploraExt and EsploraExtAsync

This commit is contained in:
Vladimir Fomene 2023-08-09 12:42:04 +03:00
parent 2867e88b64
commit 20900218ce
No known key found for this signature in database
GPG Key ID: 4D8AB1DF0F7BFBC3
5 changed files with 17 additions and 21 deletions

View File

@ -48,7 +48,7 @@ pub trait EsploraAsyncExt {
/// transactions. `parallel_requests` specifies the max number of HTTP requests to make in /// transactions. `parallel_requests` specifies the max number of HTTP requests to make in
/// parallel. /// parallel.
#[allow(clippy::result_large_err)] #[allow(clippy::result_large_err)]
async fn update_tx_graph<K: Ord + Clone + Send>( async fn scan_txs_with_keychains<K: Ord + Clone + Send>(
&self, &self,
keychain_spks: BTreeMap< keychain_spks: BTreeMap<
K, K,
@ -60,18 +60,18 @@ pub trait EsploraAsyncExt {
parallel_requests: usize, parallel_requests: usize,
) -> Result<(TxGraph<ConfirmationTimeAnchor>, BTreeMap<K, u32>), Error>; ) -> Result<(TxGraph<ConfirmationTimeAnchor>, BTreeMap<K, u32>), Error>;
/// Convenience method to call [`update_tx_graph`] without requiring a keychain. /// Convenience method to call [`scan_txs_with_keychains`] without requiring a keychain.
/// ///
/// [`update_tx_graph`]: EsploraAsyncExt::update_tx_graph /// [`scan_txs_with_keychains`]: EsploraAsyncExt::scan_txs_with_keychains
#[allow(clippy::result_large_err)] #[allow(clippy::result_large_err)]
async fn update_tx_graph_without_keychain( async fn scan_txs(
&self, &self,
misc_spks: impl IntoIterator<IntoIter = impl Iterator<Item = ScriptBuf> + Send> + Send, misc_spks: impl IntoIterator<IntoIter = impl Iterator<Item = ScriptBuf> + Send> + Send,
txids: impl IntoIterator<IntoIter = impl Iterator<Item = Txid> + Send> + Send, txids: impl IntoIterator<IntoIter = impl Iterator<Item = Txid> + Send> + Send,
outpoints: impl IntoIterator<IntoIter = impl Iterator<Item = OutPoint> + Send> + Send, outpoints: impl IntoIterator<IntoIter = impl Iterator<Item = OutPoint> + Send> + Send,
parallel_requests: usize, parallel_requests: usize,
) -> Result<TxGraph<ConfirmationTimeAnchor>, Error> { ) -> Result<TxGraph<ConfirmationTimeAnchor>, Error> {
self.update_tx_graph( self.scan_txs_with_keychains(
[( [(
(), (),
misc_spks misc_spks
@ -201,7 +201,7 @@ impl EsploraAsyncExt for esplora_client::AsyncClient {
}) })
} }
async fn update_tx_graph<K: Ord + Clone + Send>( async fn scan_txs_with_keychains<K: Ord + Clone + Send>(
&self, &self,
keychain_spks: BTreeMap< keychain_spks: BTreeMap<
K, K,

View File

@ -46,7 +46,7 @@ pub trait EsploraExt {
/// transactions. `parallel_requests` specifies the max number of HTTP requests to make in /// transactions. `parallel_requests` specifies the max number of HTTP requests to make in
/// parallel. /// parallel.
#[allow(clippy::result_large_err)] #[allow(clippy::result_large_err)]
fn update_tx_graph<K: Ord + Clone>( fn scan_txs_with_keychains<K: Ord + Clone>(
&self, &self,
keychain_spks: BTreeMap<K, impl IntoIterator<Item = (u32, ScriptBuf)>>, keychain_spks: BTreeMap<K, impl IntoIterator<Item = (u32, ScriptBuf)>>,
txids: impl IntoIterator<Item = Txid>, txids: impl IntoIterator<Item = Txid>,
@ -55,18 +55,18 @@ pub trait EsploraExt {
parallel_requests: usize, parallel_requests: usize,
) -> Result<(TxGraph<ConfirmationTimeAnchor>, BTreeMap<K, u32>), Error>; ) -> Result<(TxGraph<ConfirmationTimeAnchor>, BTreeMap<K, u32>), Error>;
/// Convenience method to call [`update_tx_graph`] without requiring a keychain. /// Convenience method to call [`scan_txs_with_keychains`] without requiring a keychain.
/// ///
/// [`update_tx_graph`]: EsploraExt::update_tx_graph /// [`scan_txs_with_keychains`]: EsploraExt::scan_txs_with_keychains
#[allow(clippy::result_large_err)] #[allow(clippy::result_large_err)]
fn update_tx_graph_without_keychain( fn scan_txs(
&self, &self,
misc_spks: impl IntoIterator<Item = ScriptBuf>, misc_spks: impl IntoIterator<Item = ScriptBuf>,
txids: impl IntoIterator<Item = Txid>, txids: impl IntoIterator<Item = Txid>,
outpoints: impl IntoIterator<Item = OutPoint>, outpoints: impl IntoIterator<Item = OutPoint>,
parallel_requests: usize, parallel_requests: usize,
) -> Result<TxGraph<ConfirmationTimeAnchor>, Error> { ) -> Result<TxGraph<ConfirmationTimeAnchor>, Error> {
self.update_tx_graph( self.scan_txs_with_keychains(
[( [(
(), (),
misc_spks misc_spks
@ -192,7 +192,7 @@ impl EsploraExt for esplora_client::BlockingClient {
}) })
} }
fn update_tx_graph<K: Ord + Clone>( fn scan_txs_with_keychains<K: Ord + Clone>(
&self, &self,
keychain_spks: BTreeMap<K, impl IntoIterator<Item = (u32, ScriptBuf)>>, keychain_spks: BTreeMap<K, impl IntoIterator<Item = (u32, ScriptBuf)>>,
txids: impl IntoIterator<Item = Txid>, txids: impl IntoIterator<Item = Txid>,

View File

@ -154,7 +154,7 @@ fn main() -> anyhow::Result<()> {
// represents the last active spk derivation indices of keychains // represents the last active spk derivation indices of keychains
// (`keychain_indices_update`). // (`keychain_indices_update`).
let (graph_update, last_active_indices) = client let (graph_update, last_active_indices) = client
.update_tx_graph( .scan_txs_with_keychains(
keychain_spks, keychain_spks,
core::iter::empty(), core::iter::empty(),
core::iter::empty(), core::iter::empty(),
@ -276,12 +276,8 @@ fn main() -> anyhow::Result<()> {
} }
} }
let graph_update = client.update_tx_graph_without_keychain( let graph_update =
spks, client.scan_txs(spks, txids, outpoints, scan_options.parallel_requests)?;
txids,
outpoints,
scan_options.parallel_requests,
)?;
graph.lock().unwrap().apply_update(graph_update) graph.lock().unwrap().apply_update(graph_update)
} }

View File

@ -55,7 +55,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
}) })
.collect(); .collect();
let (update_graph, last_active_indices) = client let (update_graph, last_active_indices) = client
.update_tx_graph(keychain_spks, None, None, STOP_GAP, PARALLEL_REQUESTS) .scan_txs_with_keychains(keychain_spks, None, None, STOP_GAP, PARALLEL_REQUESTS)
.await?; .await?;
let missing_heights = wallet.tx_graph().missing_heights(wallet.local_chain()); let missing_heights = wallet.tx_graph().missing_heights(wallet.local_chain());
let chain_update = client.update_local_chain(prev_tip, missing_heights).await?; let chain_update = client.update_local_chain(prev_tip, missing_heights).await?;

View File

@ -55,7 +55,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
.collect(); .collect();
let (update_graph, last_active_indices) = let (update_graph, last_active_indices) =
client.update_tx_graph(keychain_spks, None, None, STOP_GAP, PARALLEL_REQUESTS)?; client.scan_txs_with_keychains(keychain_spks, None, None, STOP_GAP, PARALLEL_REQUESTS)?;
let missing_heights = wallet.tx_graph().missing_heights(wallet.local_chain()); let missing_heights = wallet.tx_graph().missing_heights(wallet.local_chain());
let chain_update = client.update_local_chain(prev_tip, missing_heights)?; let chain_update = client.update_local_chain(prev_tip, missing_heights)?;
let update = WalletUpdate { let update = WalletUpdate {