diff --git a/gui/src/app/state/recovery.rs b/gui/src/app/state/recovery.rs index ecf35c26..cd0d7dcb 100644 --- a/gui/src/app/state/recovery.rs +++ b/gui/src/app/state/recovery.rs @@ -21,7 +21,7 @@ use crate::{ ui::component::form, }; -use liana::miniscript::bitcoin::{Address, Amount, Network}; +use liana::miniscript::bitcoin::{Address, Amount}; pub struct RecoveryPanel { wallet: Arc, @@ -128,11 +128,7 @@ impl State for RecoveryPanel { )) => { self.recipient.value = address; if let Ok(address) = Address::from_str(&self.recipient.value) { - if cache.network == Network::Bitcoin { - self.recipient.valid = address.network == Network::Bitcoin; - } else { - self.recipient.valid = address.network == Network::Testnet; - } + self.recipient.valid = address.is_valid_for_network(cache.network); } else { self.recipient.valid = false; } diff --git a/gui/src/app/state/spend/step.rs b/gui/src/app/state/spend/step.rs index 0280b990..9ac59f3c 100644 --- a/gui/src/app/state/spend/step.rs +++ b/gui/src/app/state/spend/step.rs @@ -192,9 +192,7 @@ impl Recipient { view::CreateSpendMessage::RecipientEdited(_, "address", address) => { self.address.value = address; if let Ok(address) = Address::from_str(&self.address.value) { - self.address.valid = address.network == network - || (address.network == bitcoin::Network::Testnet - && network == bitcoin::Network::Signet); + self.address.valid = address.is_valid_for_network(network); if !self.amount.value.is_empty() { self.amount.valid = self.amount().is_ok(); }