From 3dc6596aa250430940c6946ce4b0b3146e717184 Mon Sep 17 00:00:00 2001 From: thunderbiscuit Date: Thu, 23 Mar 2023 12:32:54 -0400 Subject: [PATCH] Add include_raw boolean parameter on wallet list_transactions method --- .../src/main/kotlin/org/bitcoindevkit/bdk.kt | 2 +- bdk-ffi/src/bdk.udl | 2 +- bdk-ffi/src/wallet.rs | 32 ++++++------------- 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/api-docs/kotlin/src/main/kotlin/org/bitcoindevkit/bdk.kt b/api-docs/kotlin/src/main/kotlin/org/bitcoindevkit/bdk.kt index a343eeb..271d66c 100644 --- a/api-docs/kotlin/src/main/kotlin/org/bitcoindevkit/bdk.kt +++ b/api-docs/kotlin/src/main/kotlin/org/bitcoindevkit/bdk.kt @@ -491,7 +491,7 @@ class Wallet( fun sign(psbt: PartiallySignedTransaction): Boolean {} /** Return the list of transactions made and received by the wallet. Note that this method only operate on the internal database, which first needs to be [Wallet.sync] manually. */ - fun listTransactions(): List {} + fun listTransactions(includeRaw: Boolean): List {} /** Get the Bitcoin network the wallet is using. */ fun network(): Network {} diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index 2cac22e..da76097 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -233,7 +233,7 @@ interface Wallet { boolean sign([ByRef] PartiallySignedTransaction psbt); [Throws=BdkError] - sequence list_transactions(); + sequence list_transactions(boolean include_raw); Network network(); diff --git a/bdk-ffi/src/wallet.rs b/bdk-ffi/src/wallet.rs index 26ebeae..1c2b959 100644 --- a/bdk-ffi/src/wallet.rs +++ b/bdk-ffi/src/wallet.rs @@ -120,8 +120,11 @@ impl Wallet { } /// Return the list of transactions made and received by the wallet. Note that this method only operate on the internal database, which first needs to be [Wallet.sync] manually. - pub(crate) fn list_transactions(&self) -> Result, BdkError> { - let transaction_details = self.get_wallet().list_transactions(true)?; + pub(crate) fn list_transactions( + &self, + include_raw: bool, + ) -> Result, BdkError> { + let transaction_details = self.get_wallet().list_transactions(include_raw)?; Ok(transaction_details .iter() .map(TransactionDetails::from) @@ -577,28 +580,19 @@ mod test { // new index still 0 assert_eq!( - wallet - .get_address(AddressIndex::New) - .unwrap() - .address, + wallet.get_address(AddressIndex::New).unwrap().address, "bcrt1qqjn9gky9mkrm3c28e5e87t5akd3twg6xezp0tv" ); // new index now 1 assert_eq!( - wallet - .get_address(AddressIndex::New) - .unwrap() - .address, + wallet.get_address(AddressIndex::New).unwrap().address, "bcrt1q0xs7dau8af22rspp4klya4f7lhggcnqfun2y3a" ); // new index now 2 assert_eq!( - wallet - .get_address(AddressIndex::New) - .unwrap() - .address, + wallet.get_address(AddressIndex::New).unwrap().address, "bcrt1q5g0mq6dkmwzvxscqwgc932jhgcxuqqkjv09tkj" ); @@ -646,18 +640,12 @@ mod test { .unwrap(); assert_eq!( - wallet - .get_address(AddressIndex::New) - .unwrap() - .address, + wallet.get_address(AddressIndex::New).unwrap().address, "bcrt1qqjn9gky9mkrm3c28e5e87t5akd3twg6xezp0tv" ); assert_eq!( - wallet - .get_address(AddressIndex::New) - .unwrap() - .address, + wallet.get_address(AddressIndex::New).unwrap().address, "bcrt1q0xs7dau8af22rspp4klya4f7lhggcnqfun2y3a" );