From 1905d8804d25aaca10466a3458cda0f81b5c34f3 Mon Sep 17 00:00:00 2001 From: Steve Myers Date: Tue, 5 Apr 2022 10:55:02 -0700 Subject: [PATCH] Add jvm walletTxBuilderDrainWallet test --- .../kotlin/org/bitcoindevkit/JvmLibTest.kt | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/jvm/src/test/kotlin/org/bitcoindevkit/JvmLibTest.kt b/jvm/src/test/kotlin/org/bitcoindevkit/JvmLibTest.kt index f738d21..87d8abb 100644 --- a/jvm/src/test/kotlin/org/bitcoindevkit/JvmLibTest.kt +++ b/jvm/src/test/kotlin/org/bitcoindevkit/JvmLibTest.kt @@ -136,8 +136,7 @@ class JvmLibTest { assertNotNull(txid) } else { val depositAddress = wallet.getLastUnusedAddress() - println("Send more testnet coins to: $depositAddress") - fail() + fail("Send more testnet coins to: $depositAddress") } } @@ -150,4 +149,27 @@ class JvmLibTest { txBuilder.build(wallet) } + @Test + fun walletTxBuilderDrainWallet() { + val descriptor = + "wpkh([8da6afbe/84'/1'/0'/0]tprv8hY7jbMbe17EH1cLw2feTyNDYvjcFYauLmbneBqVnDERBrV51LrxWjCYRZwWS5keYn3ijb7iHJuEzXQk7EzgPeKRBVNBgC4oFPDxGND5S3V/*)" + val wallet = Wallet(descriptor, null, Network.TESTNET, databaseConfig, blockchainConfig) + wallet.sync(LogProgress(), null) + val balance = wallet.getBalance() + if (balance > 2000u) { + println("balance $balance") + // send all coins back to https://bitcoinfaucet.uo1.net + val faucetAddress = "tb1ql7w62elx9ucw4pj5lgw4l028hmuw80sndtntxt" + val txBuilder = TxBuilder().drainWallet().drainTo(faucetAddress).feeRate(1.1f) + val psbt = txBuilder.build(wallet) + wallet.sign(psbt) + val txid = wallet.broadcast(psbt) + println("https://mempool.space/testnet/tx/$txid") + assertNotNull(txid) + } else { + val depositAddress = wallet.getLastUnusedAddress() + fail("Send more testnet coins to: $depositAddress") + } + } + }