refactor(bdk)!: rename LocalUtxo to LocalOutput

This commit is contained in:
志宇 2023-11-01 12:33:57 +08:00
parent 46d39beb2c
commit 82632897aa
No known key found for this signature in database
GPG Key ID: F6345C9837C2BDE8
5 changed files with 18 additions and 18 deletions

View File

@ -161,7 +161,7 @@ impl Vbytes for usize {
/// ///
/// [`Wallet`]: crate::Wallet /// [`Wallet`]: crate::Wallet
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash)] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash)]
pub struct LocalUtxo { pub struct LocalOutput {
/// Reference to a transaction output /// Reference to a transaction output
pub outpoint: OutPoint, pub outpoint: OutPoint,
/// Transaction output /// Transaction output
@ -192,7 +192,7 @@ pub struct WeightedUtxo {
/// An unspent transaction output (UTXO). /// An unspent transaction output (UTXO).
pub enum Utxo { pub enum Utxo {
/// A UTXO owned by the local wallet. /// A UTXO owned by the local wallet.
Local(LocalUtxo), Local(LocalOutput),
/// A UTXO owned by another wallet. /// A UTXO owned by another wallet.
Foreign { Foreign {
/// The location of the output. /// The location of the output.

View File

@ -755,7 +755,7 @@ mod test {
.unwrap(); .unwrap();
WeightedUtxo { WeightedUtxo {
satisfaction_weight: P2WPKH_SATISFACTION_SIZE, satisfaction_weight: P2WPKH_SATISFACTION_SIZE,
utxo: Utxo::Local(LocalUtxo { utxo: Utxo::Local(LocalOutput {
outpoint, outpoint,
txout: TxOut { txout: TxOut {
value, value,
@ -815,7 +815,7 @@ mod test {
for _ in 0..utxos_number { for _ in 0..utxos_number {
res.push(WeightedUtxo { res.push(WeightedUtxo {
satisfaction_weight: P2WPKH_SATISFACTION_SIZE, satisfaction_weight: P2WPKH_SATISFACTION_SIZE,
utxo: Utxo::Local(LocalUtxo { utxo: Utxo::Local(LocalOutput {
outpoint: OutPoint::from_str( outpoint: OutPoint::from_str(
"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0", "ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0",
) )
@ -844,7 +844,7 @@ mod test {
fn generate_same_value_utxos(utxos_value: u64, utxos_number: usize) -> Vec<WeightedUtxo> { fn generate_same_value_utxos(utxos_value: u64, utxos_number: usize) -> Vec<WeightedUtxo> {
let utxo = WeightedUtxo { let utxo = WeightedUtxo {
satisfaction_weight: P2WPKH_SATISFACTION_SIZE, satisfaction_weight: P2WPKH_SATISFACTION_SIZE,
utxo: Utxo::Local(LocalUtxo { utxo: Utxo::Local(LocalOutput {
outpoint: OutPoint::from_str( outpoint: OutPoint::from_str(
"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0", "ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0",
) )

View File

@ -737,7 +737,7 @@ impl<D> Wallet<D> {
} }
/// Return the list of unspent outputs of this wallet /// Return the list of unspent outputs of this wallet
pub fn list_unspent(&self) -> impl Iterator<Item = LocalUtxo> + '_ { pub fn list_unspent(&self) -> impl Iterator<Item = LocalOutput> + '_ {
self.indexed_graph self.indexed_graph
.graph() .graph()
.filter_chain_unspents( .filter_chain_unspents(
@ -786,7 +786,7 @@ impl<D> Wallet<D> {
/// Returns the utxo owned by this wallet corresponding to `outpoint` if it exists in the /// Returns the utxo owned by this wallet corresponding to `outpoint` if it exists in the
/// wallet's database. /// wallet's database.
pub fn get_utxo(&self, op: OutPoint) -> Option<LocalUtxo> { pub fn get_utxo(&self, op: OutPoint) -> Option<LocalOutput> {
let (&spk_i, _) = self.indexed_graph.index.txout(op)?; let (&spk_i, _) = self.indexed_graph.index.txout(op)?;
self.indexed_graph self.indexed_graph
.graph() .graph()
@ -1617,7 +1617,7 @@ impl<D> Wallet<D> {
.max_satisfaction_weight() .max_satisfaction_weight()
.unwrap(); .unwrap();
WeightedUtxo { WeightedUtxo {
utxo: Utxo::Local(LocalUtxo { utxo: Utxo::Local(LocalOutput {
outpoint: txin.previous_output, outpoint: txin.previous_output,
txout: txout.clone(), txout: txout.clone(),
keychain, keychain,
@ -1944,7 +1944,7 @@ impl<D> Wallet<D> {
descriptor.at_derivation_index(child).ok() descriptor.at_derivation_index(child).ok()
} }
fn get_available_utxos(&self) -> Vec<(LocalUtxo, usize)> { fn get_available_utxos(&self) -> Vec<(LocalOutput, usize)> {
self.list_unspent() self.list_unspent()
.map(|utxo| { .map(|utxo| {
let keychain = utxo.keychain; let keychain = utxo.keychain;
@ -2141,7 +2141,7 @@ impl<D> Wallet<D> {
/// get the corresponding PSBT Input for a LocalUtxo /// get the corresponding PSBT Input for a LocalUtxo
pub fn get_psbt_input( pub fn get_psbt_input(
&self, &self,
utxo: LocalUtxo, utxo: LocalOutput,
sighash_type: Option<psbt::PsbtSighashType>, sighash_type: Option<psbt::PsbtSighashType>,
only_witness_utxo: bool, only_witness_utxo: bool,
) -> Result<psbt::Input, CreateTxError<D::WriteError>> ) -> Result<psbt::Input, CreateTxError<D::WriteError>>
@ -2352,8 +2352,8 @@ fn new_local_utxo(
keychain: KeychainKind, keychain: KeychainKind,
derivation_index: u32, derivation_index: u32,
full_txo: FullTxOut<ConfirmationTimeHeightAnchor>, full_txo: FullTxOut<ConfirmationTimeHeightAnchor>,
) -> LocalUtxo { ) -> LocalOutput {
LocalUtxo { LocalOutput {
outpoint: full_txo.outpoint, outpoint: full_txo.outpoint,
txout: full_txo.txout, txout: full_txo.txout,
is_spent: full_txo.spent_by.is_some(), is_spent: full_txo.spent_by.is_some(),

View File

@ -53,7 +53,7 @@ use bitcoin::{absolute, script::PushBytes, OutPoint, ScriptBuf, Sequence, Transa
use super::coin_selection::{CoinSelectionAlgorithm, DefaultCoinSelectionAlgorithm}; use super::coin_selection::{CoinSelectionAlgorithm, DefaultCoinSelectionAlgorithm};
use super::ChangeSet; use super::ChangeSet;
use crate::types::{FeeRate, KeychainKind, LocalUtxo, WeightedUtxo}; use crate::types::{FeeRate, KeychainKind, LocalOutput, WeightedUtxo};
use crate::wallet::CreateTxError; use crate::wallet::CreateTxError;
use crate::{Utxo, Wallet}; use crate::{Utxo, Wallet};
@ -889,7 +889,7 @@ impl Default for ChangeSpendPolicy {
} }
impl ChangeSpendPolicy { impl ChangeSpendPolicy {
pub(crate) fn is_satisfied_by(&self, utxo: &LocalUtxo) -> bool { pub(crate) fn is_satisfied_by(&self, utxo: &LocalOutput) -> bool {
match self { match self {
ChangeSpendPolicy::ChangeAllowed => true, ChangeSpendPolicy::ChangeAllowed => true,
ChangeSpendPolicy::OnlyChange => utxo.keychain == KeychainKind::Internal, ChangeSpendPolicy::OnlyChange => utxo.keychain == KeychainKind::Internal,
@ -994,11 +994,11 @@ mod test {
); );
} }
fn get_test_utxos() -> Vec<LocalUtxo> { fn get_test_utxos() -> Vec<LocalOutput> {
use bitcoin::hashes::Hash; use bitcoin::hashes::Hash;
vec![ vec![
LocalUtxo { LocalOutput {
outpoint: OutPoint { outpoint: OutPoint {
txid: bitcoin::Txid::from_slice(&[0; 32]).unwrap(), txid: bitcoin::Txid::from_slice(&[0; 32]).unwrap(),
vout: 0, vout: 0,
@ -1009,7 +1009,7 @@ mod test {
confirmation_time: ConfirmationTime::Unconfirmed { last_seen: 0 }, confirmation_time: ConfirmationTime::Unconfirmed { last_seen: 0 },
derivation_index: 0, derivation_index: 0,
}, },
LocalUtxo { LocalOutput {
outpoint: OutPoint { outpoint: OutPoint {
txid: bitcoin::Txid::from_slice(&[0; 32]).unwrap(), txid: bitcoin::Txid::from_slice(&[0; 32]).unwrap(),
vout: 1, vout: 1,

View File

@ -1,6 +1,6 @@
#![allow(unused)] #![allow(unused)]
use bdk::{wallet::AddressIndex, KeychainKind, LocalUtxo, Wallet}; use bdk::{wallet::AddressIndex, KeychainKind, LocalOutput, Wallet};
use bdk_chain::indexed_tx_graph::Indexer; use bdk_chain::indexed_tx_graph::Indexer;
use bdk_chain::{BlockId, ConfirmationTime}; use bdk_chain::{BlockId, ConfirmationTime};
use bitcoin::hashes::Hash; use bitcoin::hashes::Hash;