@@ -1278,10 +1278,9 @@ impl TryFrom<ParsedMessage<FullInvoiceTlvStream>> for Bolt12Invoice {
1278
1278
( payer_tlv_stream, offer_tlv_stream, invoice_request_tlv_stream, invoice_tlv_stream)
1279
1279
) ?;
1280
1280
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
+ ) ?;
1285
1284
let tagged_hash = TaggedHash :: from_valid_tlv_stream_bytes ( SIGNATURE_TAG , & bytes) ;
1286
1285
let pubkey = contents. fields ( ) . signing_pubkey ;
1287
1286
merkle:: verify_signature ( & signature, & tagged_hash, pubkey) ?;
@@ -1315,22 +1314,13 @@ impl TryFrom<PartialInvoiceTlvStream> for InvoiceContents {
1315
1314
. map ( Into :: < u64 > :: into)
1316
1315
. map ( Duration :: from_secs) ;
1317
1316
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 ) ?;
1322
1318
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 ) ?;
1327
1320
1328
1321
let features = features. unwrap_or_else ( Bolt12InvoiceFeatures :: empty) ;
1329
1322
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 ) ?;
1334
1324
1335
1325
let fields = InvoiceFields {
1336
1326
payment_paths, created_at, relative_expiry, payment_hash, amount_msats, fallbacks,
0 commit comments