diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index 1973e7c..21cfdc2 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -469,6 +469,8 @@ interface Address { string to_qr_uri(); + boolean is_valid_for_network(Network network); + string as_string(); }; diff --git a/bdk-ffi/src/lib.rs b/bdk-ffi/src/lib.rs index 6a43bd9..fdc1fbb 100644 --- a/bdk-ffi/src/lib.rs +++ b/bdk-ffi/src/lib.rs @@ -423,6 +423,15 @@ impl Address { self.inner.to_qr_uri() } + pub fn is_valid_for_network(&self, network: Network) -> bool { + let address_str = self.inner.to_string(); + if let Ok(unchecked_address) = address_str.parse::>() { + unchecked_address.is_valid_for_network(network.into()) + } else { + false + } + } + fn as_string(&self) -> String { self.inner.to_string() }