From b382511a9e825a7c2d8c118700e1769512990a5b Mon Sep 17 00:00:00 2001 From: thunderbiscuit Date: Wed, 3 May 2023 14:19:50 -0400 Subject: [PATCH] Add is_mine method on Wallet type Closes #354 --- bdk-ffi/src/bdk.udl | 19 +++++++++------- bdk-ffi/src/wallet.rs | 51 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 8 deletions(-) diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index e10d911..6a31dea 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -221,28 +221,31 @@ interface Wallet { [Throws=BdkError] constructor(Descriptor descriptor, Descriptor? change_descriptor, Network network, DatabaseConfig database_config); + Network network(); + [Throws=BdkError] AddressInfo get_address(AddressIndex address_index); [Throws=BdkError] AddressInfo get_internal_address(AddressIndex address_index); + [Throws=BdkError] + boolean is_mine(Script script); + + [Throws=BdkError] + sequence list_unspent(); + + [Throws=BdkError] + sequence list_transactions(boolean include_raw); + [Throws=BdkError] Balance get_balance(); [Throws=BdkError] boolean sign([ByRef] PartiallySignedTransaction psbt, SignOptions? sign_options); - [Throws=BdkError] - sequence list_transactions(boolean include_raw); - - Network network(); - [Throws=BdkError] void sync([ByRef] Blockchain blockchain, Progress? progress); - - [Throws=BdkError] - sequence list_unspent(); }; interface FeeRate { diff --git a/bdk-ffi/src/wallet.rs b/bdk-ffi/src/wallet.rs index a973b71..21bbe5f 100644 --- a/bdk-ffi/src/wallet.rs +++ b/bdk-ffi/src/wallet.rs @@ -65,6 +65,11 @@ impl Wallet { self.get_wallet().network() } + /// Return whether or not a script is part of this wallet (either internal or external). + pub(crate) fn is_mine(&self, script: Arc