diff --git a/liana-gui/src/app/state/receive.rs b/liana-gui/src/app/state/receive.rs index 2135f5eb..4201c899 100644 --- a/liana-gui/src/app/state/receive.rs +++ b/liana-gui/src/app/state/receive.rs @@ -238,6 +238,11 @@ impl State for ReceivePanel { && (start_index.is_some() || self.prev_addresses.is_empty()) { for entry in revealed.addresses.iter() { + // A new wallet always has index 0 "revealed", but we ignore it as + // it was not generated by the user. + if entry.index == 0.into() { + continue; + } self.prev_addresses.list.push(entry.address.clone()); self.prev_addresses.derivation_indexes.push(entry.index); if let Some(label) = &entry.label { diff --git a/liana-gui/src/app/view/receive.rs b/liana-gui/src/app/view/receive.rs index 8b76314a..fbe723cd 100644 --- a/liana-gui/src/app/view/receive.rs +++ b/liana-gui/src/app/view/receive.rs @@ -126,27 +126,29 @@ pub fn receive<'a>( }, )), ) - .push( - Container::new( - Button::new( - Row::new() - .align_y(Alignment::Center) - .push( - p1_bold("Previously generated addresses still awaiting deposit") - .width(Length::Fill), - ) - .push(if show_prev_addresses { - icon::collapsed_icon() - } else { - icon::collapse_icon() - }), + .push_maybe( + (!prev_addresses.is_empty()).then_some( + Container::new( + Button::new( + Row::new() + .align_y(Alignment::Center) + .push( + p1_bold("Previously generated addresses still awaiting deposit") + .width(Length::Fill), + ) + .push(if show_prev_addresses { + icon::collapsed_icon() + } else { + icon::collapse_icon() + }), + ) + .on_press(Message::ToggleShowPreviousAddresses) + .padding(20) + .width(Length::Fill) + .style(theme::button::transparent_border), ) - .on_press(Message::ToggleShowPreviousAddresses) - .padding(20) - .width(Length::Fill) - .style(theme::button::transparent_border), - ) - .style(theme::card::simple), + .style(theme::card::simple), + ), ) .push_maybe(show_prev_addresses.then_some(Row::new().spacing(10).push( prev_addresses.iter().enumerate().fold(