Skip to content

Commit 922fd60

Browse files
Use ? instead of matching in BOLT 12 invoice parsing.
Minor cleanup to be more concise.
1 parent f6bd1eb commit 922fd60

File tree

1 file changed

+6
-16
lines changed

1 file changed

+6
-16
lines changed

lightning/src/offers/invoice.rs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,10 +1278,9 @@ impl TryFrom<ParsedMessage<FullInvoiceTlvStream>> for Bolt12Invoice {
12781278
(payer_tlv_stream, offer_tlv_stream, invoice_request_tlv_stream, invoice_tlv_stream)
12791279
)?;
12801280

1281-
let signature = match signature {
1282-
None => return Err(Bolt12ParseError::InvalidSemantics(Bolt12SemanticError::MissingSignature)),
1283-
Some(signature) => signature,
1284-
};
1281+
let signature = signature.ok_or(
1282+
Bolt12ParseError::InvalidSemantics(Bolt12SemanticError::MissingSignature)
1283+
)?;
12851284
let tagged_hash = TaggedHash::from_valid_tlv_stream_bytes(SIGNATURE_TAG, &bytes);
12861285
let pubkey = contents.fields().signing_pubkey;
12871286
merkle::verify_signature(&signature, &tagged_hash, pubkey)?;
@@ -1315,22 +1314,13 @@ impl TryFrom<PartialInvoiceTlvStream> for InvoiceContents {
13151314
.map(Into::<u64>::into)
13161315
.map(Duration::from_secs);
13171316

1318-
let payment_hash = match payment_hash {
1319-
None => return Err(Bolt12SemanticError::MissingPaymentHash),
1320-
Some(payment_hash) => payment_hash,
1321-
};
1317+
let payment_hash = payment_hash.ok_or(Bolt12SemanticError::MissingPaymentHash)?;
13221318

1323-
let amount_msats = match amount {
1324-
None => return Err(Bolt12SemanticError::MissingAmount),
1325-
Some(amount) => amount,
1326-
};
1319+
let amount_msats = amount.ok_or(Bolt12SemanticError::MissingAmount)?;
13271320

13281321
let features = features.unwrap_or_else(Bolt12InvoiceFeatures::empty);
13291322

1330-
let signing_pubkey = match node_id {
1331-
None => return Err(Bolt12SemanticError::MissingSigningPubkey),
1332-
Some(node_id) => node_id,
1333-
};
1323+
let signing_pubkey = node_id.ok_or(Bolt12SemanticError::MissingSigningPubkey)?;
13341324

13351325
let fields = InvoiceFields {
13361326
payment_paths, created_at, relative_expiry, payment_hash, amount_msats, fallbacks,

0 commit comments

Comments
 (0)