test: update tests for alpha 13 release
This commit is contained in:
@@ -5,6 +5,15 @@ import os
|
||||
SIGNET_ESPLORA_URL = "http://signet.bitcoindevkit.net"
|
||||
TESTNET_ESPLORA_URL = "https://esplora.testnet.kuutamo.cloud"
|
||||
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/0/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
change_descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/1/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
|
||||
class LiveTxBuilderTest(unittest.TestCase):
|
||||
|
||||
def tearDown(self) -> None:
|
||||
@@ -18,8 +27,7 @@ class LiveTxBuilderTest(unittest.TestCase):
|
||||
)
|
||||
wallet: bdk.Wallet = bdk.Wallet(
|
||||
descriptor,
|
||||
None,
|
||||
"./bdk_persistence.sqlite",
|
||||
change_descriptor,
|
||||
bdk.Network.SIGNET
|
||||
)
|
||||
esplora_client: bdk.EsploraClient = bdk.EsploraClient(url = SIGNET_ESPLORA_URL)
|
||||
@@ -30,10 +38,9 @@ class LiveTxBuilderTest(unittest.TestCase):
|
||||
parallel_requests=1
|
||||
)
|
||||
wallet.apply_update(update)
|
||||
wallet.commit()
|
||||
|
||||
self.assertGreater(
|
||||
wallet.get_balance().total.to_sat(),
|
||||
wallet.balance().total.to_sat(),
|
||||
0,
|
||||
f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again."
|
||||
)
|
||||
@@ -48,14 +55,9 @@ class LiveTxBuilderTest(unittest.TestCase):
|
||||
self.assertTrue(psbt.serialize().startswith("cHNi"), "The PSBT should start with cHNi")
|
||||
|
||||
def complex_tx_builder(self):
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/0/*)",
|
||||
bdk.Network.SIGNET
|
||||
)
|
||||
wallet: bdk.Wallet = bdk.Wallet(
|
||||
descriptor,
|
||||
None,
|
||||
"./bdk_persistence.sqlite",
|
||||
change_descriptor,
|
||||
bdk.Network.SIGNET
|
||||
)
|
||||
esplora_client: bdk.EsploraClient = bdk.EsploraClient(url = SIGNET_ESPLORA_URL)
|
||||
@@ -66,10 +68,9 @@ class LiveTxBuilderTest(unittest.TestCase):
|
||||
parallel_requests=1
|
||||
)
|
||||
wallet.apply_update(update)
|
||||
wallet.commit()
|
||||
|
||||
self.assertGreater(
|
||||
wallet.get_balance().total.to_sat(),
|
||||
wallet.balance().total.to_sat(),
|
||||
0,
|
||||
f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again."
|
||||
)
|
||||
|
||||
@@ -5,6 +5,15 @@ import os
|
||||
SIGNET_ESPLORA_URL = "http://signet.bitcoindevkit.net"
|
||||
TESTNET_ESPLORA_URL = "https://esplora.testnet.kuutamo.cloud"
|
||||
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/0/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
change_descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/1/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
|
||||
class LiveWalletTest(unittest.TestCase):
|
||||
|
||||
def tearDown(self) -> None:
|
||||
@@ -12,14 +21,9 @@ class LiveWalletTest(unittest.TestCase):
|
||||
os.remove("./bdk_persistence.sqlite")
|
||||
|
||||
def test_synced_balance(self):
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/0/*)",
|
||||
bdk.Network.SIGNET
|
||||
)
|
||||
wallet: bdk.Wallet = bdk.Wallet(
|
||||
descriptor,
|
||||
None,
|
||||
"./bdk_persistence.sqlite",
|
||||
change_descriptor,
|
||||
bdk.Network.SIGNET
|
||||
)
|
||||
esplora_client: bdk.EsploraClient = bdk.EsploraClient(url = SIGNET_ESPLORA_URL)
|
||||
@@ -30,10 +34,9 @@ class LiveWalletTest(unittest.TestCase):
|
||||
parallel_requests=1
|
||||
)
|
||||
wallet.apply_update(update)
|
||||
wallet.commit()
|
||||
|
||||
self.assertGreater(
|
||||
wallet.get_balance().total.to_sat(),
|
||||
wallet.balance().total.to_sat(),
|
||||
0,
|
||||
f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again."
|
||||
)
|
||||
@@ -42,20 +45,15 @@ class LiveWalletTest(unittest.TestCase):
|
||||
transactions = wallet.transactions()[:3]
|
||||
for tx in transactions:
|
||||
sent_and_received = wallet.sent_and_received(tx.transaction)
|
||||
print(f"Transaction: {tx.transaction.txid()}")
|
||||
print(f"Transaction: {tx.transaction.compute_txid()}")
|
||||
print(f"Sent {sent_and_received.sent.to_sat()}")
|
||||
print(f"Received {sent_and_received.received.to_sat()}")
|
||||
|
||||
|
||||
def test_broadcast_transaction(self):
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/0/*)",
|
||||
bdk.Network.SIGNET
|
||||
)
|
||||
wallet: bdk.Wallet = bdk.Wallet(
|
||||
descriptor,
|
||||
None,
|
||||
"./bdk_persistence.sqlite",
|
||||
change_descriptor,
|
||||
bdk.Network.SIGNET
|
||||
)
|
||||
esplora_client: bdk.EsploraClient = bdk.EsploraClient(url = SIGNET_ESPLORA_URL)
|
||||
@@ -66,10 +64,9 @@ class LiveWalletTest(unittest.TestCase):
|
||||
parallel_requests=1
|
||||
)
|
||||
wallet.apply_update(update)
|
||||
wallet.commit()
|
||||
|
||||
self.assertGreater(
|
||||
wallet.get_balance().total.to_sat(),
|
||||
wallet.balance().total.to_sat(),
|
||||
0,
|
||||
f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL).address} and try again."
|
||||
)
|
||||
@@ -85,9 +82,9 @@ class LiveWalletTest(unittest.TestCase):
|
||||
walletDidSign = wallet.sign(psbt)
|
||||
self.assertTrue(walletDidSign)
|
||||
tx = psbt.extract_tx()
|
||||
print(f"Transaction Id: {tx.txid()}")
|
||||
print(f"Transaction Id: {tx.compute_txid()}")
|
||||
fee = wallet.calculate_fee(tx)
|
||||
print(f"Transaction Fee: {fee}")
|
||||
print(f"Transaction Fee: {fee.to_sat()}")
|
||||
fee_rate = wallet.calculate_fee_rate(tx)
|
||||
print(f"Transaction Fee Rate: {fee_rate.to_sat_per_vb_ceil()} sat/vB")
|
||||
|
||||
|
||||
@@ -2,6 +2,15 @@ import bdkpython as bdk
|
||||
import unittest
|
||||
import os
|
||||
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/0/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
change_descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/1/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
|
||||
class OfflineWalletTest(unittest.TestCase):
|
||||
|
||||
def tearDown(self) -> None:
|
||||
@@ -9,14 +18,9 @@ class OfflineWalletTest(unittest.TestCase):
|
||||
os.remove("./bdk_persistence.sqlite")
|
||||
|
||||
def test_new_address(self):
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
wallet: Wallet = bdk.Wallet(
|
||||
descriptor,
|
||||
None,
|
||||
"./bdk_persistence.sqlite",
|
||||
change_descriptor,
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
address_info: bdk.AddressInfo = wallet.reveal_next_address(bdk.KeychainKind.EXTERNAL)
|
||||
@@ -26,21 +30,16 @@ class OfflineWalletTest(unittest.TestCase):
|
||||
self.assertFalse(address_info.address.is_valid_for_network(bdk.Network.REGTEST), "Address is valid for regtest network, but it shouldn't be")
|
||||
self.assertFalse(address_info.address.is_valid_for_network(bdk.Network.BITCOIN), "Address is valid for bitcoin network, but it shouldn't be")
|
||||
|
||||
self.assertEqual("tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e", address_info.address.__str__())
|
||||
self.assertEqual("tb1qrnfslnrve9uncz9pzpvf83k3ukz22ljgees989", address_info.address.__str__())
|
||||
|
||||
def test_balance(self):
|
||||
descriptor: bdk.Descriptor = bdk.Descriptor(
|
||||
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)",
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
wallet: bdk.Wallet = bdk.Wallet(
|
||||
descriptor,
|
||||
None,
|
||||
"./bdk_persistence.sqlite",
|
||||
change_descriptor,
|
||||
bdk.Network.TESTNET
|
||||
)
|
||||
|
||||
self.assertEqual(wallet.get_balance().total.to_sat(), 0)
|
||||
self.assertEqual(wallet.balance().total.to_sat(), 0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user