[wallet] Use TXIN_DEFAULT_WEIGHT constant in coin selection
Replace all the occurences of `serialize(&txin)` with TXIN_DEFAULT_WEIGHT.
This commit is contained in:
parent
36c5a4dc0c
commit
a86706d1a6
@ -42,7 +42,6 @@
|
|||||||
//! ```no_run
|
//! ```no_run
|
||||||
//! # use std::str::FromStr;
|
//! # use std::str::FromStr;
|
||||||
//! # use bitcoin::*;
|
//! # use bitcoin::*;
|
||||||
//! # use bitcoin::consensus::serialize;
|
|
||||||
//! # use bdk::wallet::coin_selection::*;
|
//! # use bdk::wallet::coin_selection::*;
|
||||||
//! # use bdk::database::Database;
|
//! # use bdk::database::Database;
|
||||||
//! # use bdk::*;
|
//! # use bdk::*;
|
||||||
@ -70,7 +69,7 @@
|
|||||||
//! };
|
//! };
|
||||||
//!
|
//!
|
||||||
//! **selected_amount += utxo.txout.value;
|
//! **selected_amount += utxo.txout.value;
|
||||||
//! **additional_weight += serialize(&txin).len() * 4 + weight;
|
//! **additional_weight += TXIN_BASE_WEIGHT + weight;
|
||||||
//!
|
//!
|
||||||
//! Some((
|
//! Some((
|
||||||
//! txin,
|
//! txin,
|
||||||
@ -106,7 +105,6 @@
|
|||||||
//! # Ok::<(), bdk::Error>(())
|
//! # Ok::<(), bdk::Error>(())
|
||||||
//! ```
|
//! ```
|
||||||
|
|
||||||
use bitcoin::consensus::encode::serialize;
|
|
||||||
use bitcoin::{Script, TxIn};
|
use bitcoin::{Script, TxIn};
|
||||||
|
|
||||||
use crate::database::Database;
|
use crate::database::Database;
|
||||||
@ -209,7 +207,7 @@ impl<D: Database> CoinSelectionAlgorithm<D> for LargestFirstCoinSelection {
|
|||||||
witness: vec![],
|
witness: vec![],
|
||||||
};
|
};
|
||||||
|
|
||||||
**fee_amount += calc_fee_bytes(serialize(&new_in).len() * 4 + weight);
|
**fee_amount += calc_fee_bytes(TXIN_BASE_WEIGHT + weight);
|
||||||
**selected_amount += utxo.txout.value;
|
**selected_amount += utxo.txout.value;
|
||||||
|
|
||||||
log::debug!(
|
log::debug!(
|
||||||
@ -238,6 +236,10 @@ impl<D: Database> CoinSelectionAlgorithm<D> for LargestFirstCoinSelection {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Base weight of a Txin, not counting the weight needed for satisfaying it.
|
||||||
|
// prev_txid (32 bytes) + prev_vout (4 bytes) + sequence (4 bytes) + script_len (1 bytes)
|
||||||
|
pub const TXIN_BASE_WEIGHT: usize = (32 + 4 + 4 + 1) * 4;
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user