Merge #318: fix gui: use address.is_valid_for_network

c7dd94b7488ddfbe96b91a9eb1f0430c7c0b3f3a fix gui: use address.is_valid_for_network (edouard)

Pull request description:

  Use this nice helper from rust-bitcoin, instead
  of wrong checks.

ACKs for top commit:
  edouardparis:
    Self-ACK c7dd94b7488ddfbe96b91a9eb1f0430c7c0b3f3a

Tree-SHA512: f71775c84bde155e6c30ef3b25a064feaf10b95ca9a50395afd0b1808eeb1a9739f66a657cf36754e7d0648324e08469d7ecf3d9bad427b151e6956ee68db7df
This commit is contained in:
edouard 2023-02-04 15:34:06 +01:00
commit 33e698b774
No known key found for this signature in database
GPG Key ID: E65F7A089C20DC8F
2 changed files with 3 additions and 9 deletions

View File

@ -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<Wallet>,
@ -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;
}

View File

@ -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();
}