2021-12-07 10:25:42 -05:00
|
|
|
import bdkpython as bdk
|
2022-05-11 16:02:49 -04:00
|
|
|
import unittest
|
2021-12-07 10:25:42 -05:00
|
|
|
|
2023-10-25 15:25:16 -05:00
|
|
|
class TestSimpleWallet(unittest.TestCase):
|
2023-01-09 21:24:02 -05:00
|
|
|
|
2023-10-25 15:25:16 -05:00
|
|
|
def test_descriptor_bip86(self):
|
|
|
|
mnemonic: bdk.Mnemonic = bdk.Mnemonic(bdk.WordCount.WORDS12)
|
|
|
|
descriptor_secret_key: bdk.DescriptorSecretKey = bdk.DescriptorSecretKey(bdk.Network.TESTNET, mnemonic, None)
|
|
|
|
descriptor: bdk.Descriptor = bdk.Descriptor.new_bip86(descriptor_secret_key, bdk.KeychainKind.EXTERNAL, bdk.Network.TESTNET)
|
2021-12-07 10:25:42 -05:00
|
|
|
|
2023-10-25 15:25:16 -05:00
|
|
|
self.assertTrue(descriptor.as_string().startswith("tr"), "Bip86 Descriptor does not start with 'tr'")
|
2022-05-11 16:02:49 -04:00
|
|
|
|
2023-10-25 15:25:16 -05:00
|
|
|
def test_new_address(self):
|
|
|
|
descriptor: bdk.Descriptor = bdk.Descriptor(
|
|
|
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)",
|
|
|
|
bdk.Network.TESTNET
|
2022-05-11 16:02:49 -04:00
|
|
|
)
|
2023-10-25 15:25:16 -05:00
|
|
|
wallet: Wallet = bdk.Wallet.new_no_persist(
|
|
|
|
descriptor,
|
|
|
|
None,
|
|
|
|
bdk.Network.TESTNET
|
|
|
|
)
|
|
|
|
address_info: bdk.AddressInfo = wallet.get_address(bdk.AddressIndex.NEW())
|
|
|
|
|
|
|
|
self.assertEqual("tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e", address_info.address.as_string())
|
|
|
|
|
|
|
|
def test_balance(self):
|
|
|
|
descriptor: bdk.Descriptor = bdk.Descriptor(
|
|
|
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)",
|
|
|
|
bdk.Network.TESTNET
|
|
|
|
)
|
|
|
|
wallet: Wallet = bdk.Wallet.new_no_persist(
|
|
|
|
descriptor,
|
|
|
|
None,
|
|
|
|
bdk.Network.TESTNET
|
|
|
|
)
|
|
|
|
|
|
|
|
self.assertEqual(wallet.get_balance().total(), 0)
|
2021-12-07 10:25:42 -05:00
|
|
|
|
2022-05-11 16:02:49 -04:00
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|