Skip to content

Commit 29f32d8

Browse files
committed
moving get_funded_wallet out of the test section to make it available for bdk-reserves
1 parent adceafa commit 29f32d8

File tree

3 files changed

+55
-55
lines changed

3 files changed

+55
-55
lines changed

src/psbt/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ impl PsbtUtils for Psbt {
4343
mod test {
4444
use crate::bitcoin::TxIn;
4545
use crate::psbt::Psbt;
46-
use crate::wallet::test::{get_funded_wallet, get_test_wpkh};
4746
use crate::wallet::AddressIndex;
47+
use crate::wallet::{get_funded_wallet, test::get_test_wpkh};
4848
use crate::SignOptions;
4949
use std::str::FromStr;
5050

src/wallet/address_validator.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ mod test {
115115
use std::sync::Arc;
116116

117117
use super::*;
118-
use crate::wallet::test::{get_funded_wallet, get_test_wpkh};
119118
use crate::wallet::AddressIndex::New;
119+
use crate::wallet::{get_funded_wallet, test::get_test_wpkh};
120120

121121
#[derive(Debug)]
122122
struct TestValidator;

src/wallet/mod.rs

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ use std::collections::HashMap;
1818
use std::collections::{BTreeMap, HashSet};
1919
use std::fmt;
2020
use std::ops::{Deref, DerefMut};
21+
use std::str::FromStr;
2122
use std::sync::Arc;
2223

2324
use bitcoin::secp256k1::Secp256k1;
@@ -55,6 +56,7 @@ use tx_builder::{BumpFee, CreateTx, FeePolicy, TxBuilder, TxParams};
5556
use utils::{check_nlocktime, check_nsequence_rbf, After, Older, SecpCtx, DUST_LIMIT_SATOSHI};
5657

5758
use crate::blockchain::{Blockchain, Progress};
59+
use crate::database::memory::MemoryDatabase;
5860
use crate::database::{BatchDatabase, BatchOperations, DatabaseUtils};
5961
use crate::descriptor::derived::AsDerived;
6062
use crate::descriptor::policy::BuildSatisfaction;
@@ -66,6 +68,7 @@ use crate::descriptor::{
6668
use crate::error::Error;
6769
use crate::psbt::PsbtUtils;
6870
use crate::signer::SignerError;
71+
use crate::testutils;
6972
use crate::types::*;
7073

7174
const CACHE_ADDR_BATCH_SIZE: u32 = 100;
@@ -167,6 +170,11 @@ where
167170
secp,
168171
})
169172
}
173+
174+
/// Get the Bitcoin network the wallet is using.
175+
pub fn network(&self) -> Network {
176+
self.network
177+
}
170178
}
171179

172180
/// The address index selection strategy to use to derived an address from the wallet's external
@@ -1534,11 +1542,6 @@ where
15341542
&self.client
15351543
}
15361544

1537-
/// Get the Bitcoin network the wallet is using.
1538-
pub fn network(&self) -> Network {
1539-
self.network
1540-
}
1541-
15421545
/// Broadcast a transaction to the network
15431546
#[maybe_async]
15441547
pub fn broadcast(&self, tx: Transaction) -> Result<Txid, Error> {
@@ -1548,19 +1551,60 @@ where
15481551
}
15491552
}
15501553

1554+
/// Return a fake wallet that appears to be funded for testing.
1555+
pub fn get_funded_wallet(
1556+
descriptor: &str,
1557+
) -> (
1558+
Wallet<(), MemoryDatabase>,
1559+
(String, Option<String>),
1560+
bitcoin::Txid,
1561+
) {
1562+
let descriptors = testutils!(@descriptors (descriptor));
1563+
let wallet = Wallet::new_offline(
1564+
&descriptors.0,
1565+
None,
1566+
Network::Regtest,
1567+
MemoryDatabase::new(),
1568+
)
1569+
.unwrap();
1570+
1571+
let funding_address_kix = 0;
1572+
1573+
let tx_meta = testutils! {
1574+
@tx ( (@external descriptors, funding_address_kix) => 50_000 ) (@confirmations 1)
1575+
};
1576+
1577+
wallet
1578+
.database
1579+
.borrow_mut()
1580+
.set_script_pubkey(
1581+
&bitcoin::Address::from_str(&tx_meta.output.get(0).unwrap().to_address)
1582+
.unwrap()
1583+
.script_pubkey(),
1584+
KeychainKind::External,
1585+
funding_address_kix,
1586+
)
1587+
.unwrap();
1588+
wallet
1589+
.database
1590+
.borrow_mut()
1591+
.set_last_index(KeychainKind::External, funding_address_kix)
1592+
.unwrap();
1593+
1594+
let txid = crate::populate_test_db!(wallet.database.borrow_mut(), tx_meta, Some(100));
1595+
1596+
(wallet, descriptors, txid)
1597+
}
1598+
15511599
#[cfg(test)]
15521600
pub(crate) mod test {
1553-
use std::str::FromStr;
1554-
15551601
use bitcoin::{util::psbt, Network};
15561602

1557-
use crate::database::memory::MemoryDatabase;
15581603
use crate::database::Database;
15591604
use crate::types::KeychainKind;
15601605

15611606
use super::*;
15621607
use crate::signer::{SignOptions, SignerError};
1563-
use crate::testutils;
15641608
use crate::wallet::AddressIndex::{LastUnused, New, Peek, Reset};
15651609

15661610
#[test]
@@ -1672,50 +1716,6 @@ pub(crate) mod test {
16721716
"wsh(and_v(v:pk(cVpPVruEDdmutPzisEsYvtST1usBR3ntr8pXSyt6D2YYqXRyPcFW),after(100000)))"
16731717
}
16741718

1675-
pub(crate) fn get_funded_wallet(
1676-
descriptor: &str,
1677-
) -> (
1678-
Wallet<(), MemoryDatabase>,
1679-
(String, Option<String>),
1680-
bitcoin::Txid,
1681-
) {
1682-
let descriptors = testutils!(@descriptors (descriptor));
1683-
let wallet = Wallet::new_offline(
1684-
&descriptors.0,
1685-
None,
1686-
Network::Regtest,
1687-
MemoryDatabase::new(),
1688-
)
1689-
.unwrap();
1690-
1691-
let funding_address_kix = 0;
1692-
1693-
let tx_meta = testutils! {
1694-
@tx ( (@external descriptors, funding_address_kix) => 50_000 ) (@confirmations 1)
1695-
};
1696-
1697-
wallet
1698-
.database
1699-
.borrow_mut()
1700-
.set_script_pubkey(
1701-
&bitcoin::Address::from_str(&tx_meta.output.get(0).unwrap().to_address)
1702-
.unwrap()
1703-
.script_pubkey(),
1704-
KeychainKind::External,
1705-
funding_address_kix,
1706-
)
1707-
.unwrap();
1708-
wallet
1709-
.database
1710-
.borrow_mut()
1711-
.set_last_index(KeychainKind::External, funding_address_kix)
1712-
.unwrap();
1713-
1714-
let txid = crate::populate_test_db!(wallet.database.borrow_mut(), tx_meta, Some(100));
1715-
1716-
(wallet, descriptors, txid)
1717-
}
1718-
17191719
macro_rules! assert_fee_rate {
17201720
($tx:expr, $fees:expr, $fee_rate:expr $( ,@dust_change $( $dust_change:expr )* )* $( ,@add_signature $( $add_signature:expr )* )* ) => ({
17211721
let mut tx = $tx.clone();

0 commit comments

Comments
 (0)