coinbase transaction outputs may not have valid scripts

This commit is contained in:
edouard 2023-10-24 17:09:33 +02:00
parent 26d750d09c
commit 2f2975c279
3 changed files with 15 additions and 18 deletions

View File

@ -158,17 +158,14 @@ fn event_list_view(i: usize, event: &HistoryTransaction) -> Column<'_, Message>
.to_string(),
) {
Some(p1_regular(label))
} else if let Ok(addr) =
bitcoin::Address::from_script(&output.script_pubkey, event.network)
{
event.labels.get(&addr.to_string()).map(|label| {
p1_regular(format!("address label: {}", label)).style(color::GREY_3)
})
} else {
event
.labels
.get(
&bitcoin::Address::from_script(&output.script_pubkey, event.network)
.unwrap()
.to_string(),
)
.map(|label| {
p1_regular(format!("address label: {}", label)).style(color::GREY_3)
})
None
};
if event.is_external() {
if !event.change_indexes.contains(&output_index) {

View File

@ -820,8 +820,8 @@ fn payment_view<'a>(
labels_editing: &'a HashMap<String, form::Value<String>>,
) -> Element<'a, Message> {
let addr = Address::from_script(&output.script_pubkey, network)
.unwrap()
.to_string();
.ok()
.map(|a| a.to_string());
let outpoint = OutPoint {
txid,
vout: i as u32,
@ -848,7 +848,7 @@ fn payment_view<'a>(
)
.push(amount(&Amount::from_sat(output.value))),
)
.push(
.push_maybe(addr.map(|addr| {
Column::new()
.push(
Row::new()
@ -880,8 +880,8 @@ fn payment_view<'a>(
.push(p1_bold("Address label:").style(color::GREY_3))
.push(p2_regular(label).style(color::GREY_3)),
)
})),
)
}))
}))
.into()
}

View File

@ -365,9 +365,9 @@ impl Labelled for HistoryTransaction {
txid,
vout: vout as u32,
}));
items.push(LabelItem::Address(
Address::from_script(&output.script_pubkey, self.network).unwrap(),
));
if let Ok(addr) = Address::from_script(&output.script_pubkey, self.network) {
items.push(LabelItem::Address(addr));
}
}
items
}