Keep syncing until confirmation

This commit is contained in:
Sudarsan Balaji 2021-10-17 02:36:58 +05:30
parent 9d3b31b56e
commit 25977408df

View File

@ -6,6 +6,12 @@ class LogProgress: BdkProgress {
} }
} }
fun getConfirmedTransaction(wallet: OnlineWalletInterface, transactionId: String): ConfirmedTransaction? {
println("Syncing...")
wallet.sync(LogProgress(), null)
return wallet.getTransactions().stream().filter({ it.id.equals(transactionId) }).findFirst().orElse(null)
}
fun main(args: Array<String>) { fun main(args: Array<String>) {
println("Configuring an in-memory wallet on electrum..") println("Configuring an in-memory wallet on electrum..")
val descriptor = val descriptor =
@ -33,9 +39,10 @@ fun main(args: Array<String>) {
val transactionId = wallet.broadcast(transaction) val transactionId = wallet.broadcast(transaction)
println("Refunded $amount satoshis to $recipient via transaction id $transactionId") println("Refunded $amount satoshis to $recipient via transaction id $transactionId")
println("Confirming transaction...") println("Confirming transaction...")
println("Syncing...") var confirmedTransaction = getConfirmedTransaction(wallet, transactionId)
wallet.sync(LogProgress(), null) while(confirmedTransaction == null) {
val confirmedTransaction = wallet.getTransactions().stream().filter({ it.id.equals(transactionId) }).findFirst().orElse(null) confirmedTransaction = getConfirmedTransaction(wallet, transactionId)
}
println("Confirmed transaction: $confirmedTransaction") println("Confirmed transaction: $confirmedTransaction")
println("Final wallet balance: ${wallet.getBalance()}") println("Final wallet balance: ${wallet.getBalance()}")
} }