Skip to content

Commit

Permalink
feat: add compact block filter client
Browse files Browse the repository at this point in the history
temp 2

temp 3

temp 4

pass wallet to builder

remove async builder

make ip a type, bump bdk-kyoto, add connections

add more configurations

fix datadir builder

bump kyoto

add trait bound for logger

update logger

update bdk-ffi
  • Loading branch information
thunderbiscuit authored and rustaceanrob committed Nov 14, 2024
1 parent 8cf23df commit 400ae85
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions bdk-python/tests/test_live_kyoto.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
from bdkpython import *
from bdkpython.bitcoin import *
import unittest
import os

network: Network = Network.SIGNET

ip: IpAddress = IpAddress.from_ipv4(68, 47, 229, 218)
peer: Peer = Peer(address=ip, port=None, v2_transport=False)

descriptor: Descriptor = Descriptor(
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/0/*)",
network=network
)
change_descriptor: Descriptor = Descriptor(
"wpkh(tprv8ZgxMBicQKsPf2qfrEygW6fdYseJDDrVnDv26PH5BHdvSuG6ecCbHqLVof9yZcMoM31z9ur3tTYbSnr1WBqbGX97CbXcmp5H6qeMpyvx35B/84h/1h/0h/1/*)",
network=network
)

class LiveKyotoTest(unittest.IsolatedAsyncioTestCase):

def tearDown(self) -> None:
if os.path.exists("./bdk_persistence.sqlite"):
os.remove("./bdk_persistence.sqlite")
if os.path.exists("./data/signet/headers.db"):
os.remove("./data/signet/headers.db")
if os.path.exists("./data/signet/peers.db"):
os.remove("./data/signet/peers.db")

async def testKyoto(self) -> None:
connection: Connection = Connection.new_in_memory()
wallet: Wallet = Wallet(
descriptor,
change_descriptor,
network,
connection
)
peers = [peer]
node_pair: NodePair = build_light_client(wallet, peers, 1, None, ".")
client: LightClient = node_pair.client
node: LightNode = node_pair.node
run_node(node)
update: Update = await client.update(None)
self.assertIsNotNone(update, "Update is None. This should not be possible.")
wallet.apply_update(update)
self.assertGreater(
wallet.balance().total.to_sat(),
0,
f"Wallet balance must be greater than 0! Please send funds to {wallet.reveal_next_address(KeychainKind.EXTERNAL).address} and try again."
)
await client.shutdown()

if __name__ == "__main__":
unittest.main()

0 comments on commit 400ae85

Please sign in to comment.