Skip to content

Commit

Permalink
docs(electrum): add info for fetch_prev_txouts argument on full_scan …
Browse files Browse the repository at this point in the history
…and sync methods
  • Loading branch information
thunderbiscuit committed Jul 2, 2024
1 parent ab9e0fe commit 0bd2643
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions crates/electrum/src/bdk_electrum_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,16 @@ impl<E: ElectrumApi> BdkElectrumClient<E> {
/// - `request`: struct with data required to perform a spk-based blockchain client full scan,
/// see [`FullScanRequest`]
/// - `stop_gap`: the full scan for each keychain stops after a gap of script pubkeys with no
/// associated transactions
/// associated transactions
/// - `batch_size`: specifies the max number of script pubkeys to request for in a single batch
/// request
/// - `fetch_prev_txouts`: specifies whether or not we want previous `TxOut`s for fee
/// request
/// - `fetch_prev_txouts`: specifies whether we want previous `TxOut`s for fee calculation. Note
/// that this requires additional calls to the Electrum server, but is
/// necessary for calculating the fee on a transaction if your wallet
/// does not own the inputs. Methods like Wallet.calculate_fee and
/// Wallet.calculate_fee_rate will return a
/// CalculateFeeError::MissingTxOut error if those TxOuts are not present
/// in the transaction graph.
pub fn full_scan<K: Ord + Clone>(
&self,
request: FullScanRequest<K>,
Expand Down Expand Up @@ -177,9 +183,14 @@ impl<E: ElectrumApi> BdkElectrumClient<E> {
/// - `request`: struct with data required to perform a spk-based blockchain client sync,
/// see [`SyncRequest`]
/// - `batch_size`: specifies the max number of script pubkeys to request for in a single batch
/// request
/// - `fetch_prev_txouts`: specifies whether or not we want previous `TxOut`s for fee
/// calculation
/// request
/// - `fetch_prev_txouts`: specifies whether we want previous `TxOut`s for fee calculation. Note
// that this requires additional calls to the Electrum server, but is
// necessary for calculating the fee on a transaction if your wallet
// does not own the inputs. Methods like Wallet.calculate_fee and
// Wallet.calculate_fee_rate will return a
// CalculateFeeError::MissingTxOut error if those TxOuts are not present
// in the transaction graph.
///
/// If the scripts to sync are unknown, such as when restoring or importing a keychain that
/// may include scripts that have been used, use [`full_scan`] with the keychain.
Expand Down Expand Up @@ -542,7 +553,7 @@ fn construct_update_tip(
Ok((new_tip, agreement_height))
}

/// A [tx status] comprises of a concatenation of `tx_hash:height:`s. We transform a single one of
/// A [tx status] consists of a concatenation of `tx_hash:height:`s. We transform a single one of
/// these concatenations into a [`ConfirmationHeightAnchor`] if possible.
///
/// We use the lowest possible checkpoint as the anchor block (from `cps`). If an anchor block
Expand Down

0 comments on commit 0bd2643

Please sign in to comment.