@@ -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