Skip to content

Commit 554ad48

Browse files
Rename StaticInvoice::message_paths to be more specific.
1 parent 0df740f commit 554ad48

File tree

2 files changed

+40
-30
lines changed

2 files changed

+40
-30
lines changed

lightning/src/offers/invoice.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,7 +1102,7 @@ impl InvoiceFields {
11021102
fallbacks: self.fallbacks.as_ref(),
11031103
features,
11041104
node_id: Some(&self.signing_pubkey),
1105-
message_paths: None,
1105+
async_receive_message_paths: None,
11061106
}
11071107
}
11081108
}
@@ -1164,7 +1164,7 @@ tlv_stream!(InvoiceTlvStream, InvoiceTlvStreamRef, 160..240, {
11641164
(174, features: (Bolt12InvoiceFeatures, WithoutLength)),
11651165
(176, node_id: PublicKey),
11661166
// Only present in `StaticInvoice`s.
1167-
(238, message_paths: (Vec<BlindedPath>, WithoutLength)),
1167+
(238, async_receive_message_paths: (Vec<BlindedPath>, WithoutLength)),
11681168
});
11691169

11701170
pub(super) type BlindedPathIter<'a> = core::iter::Map<
@@ -1302,11 +1302,11 @@ impl TryFrom<PartialInvoiceTlvStream> for InvoiceContents {
13021302
invoice_request_tlv_stream,
13031303
InvoiceTlvStream {
13041304
paths, blindedpay, created_at, relative_expiry, payment_hash, amount, fallbacks,
1305-
features, node_id, message_paths,
1305+
features, node_id, async_receive_message_paths,
13061306
},
13071307
) = tlv_stream;
13081308

1309-
if message_paths.is_some() { return Err(Bolt12SemanticError::UnexpectedPaths) }
1309+
if async_receive_message_paths.is_some() { return Err(Bolt12SemanticError::UnexpectedPaths) }
13101310

13111311
let payment_paths = construct_payment_paths(blindedpay, paths)?;
13121312

@@ -1573,7 +1573,7 @@ mod tests {
15731573
fallbacks: None,
15741574
features: None,
15751575
node_id: Some(&recipient_pubkey()),
1576-
message_paths: None,
1576+
async_receive_message_paths: None,
15771577
},
15781578
SignatureTlvStreamRef { signature: Some(&invoice.signature()) },
15791579
),
@@ -1665,7 +1665,7 @@ mod tests {
16651665
fallbacks: None,
16661666
features: None,
16671667
node_id: Some(&recipient_pubkey()),
1668-
message_paths: None,
1668+
async_receive_message_paths: None,
16691669
},
16701670
SignatureTlvStreamRef { signature: Some(&invoice.signature()) },
16711671
),
@@ -2438,7 +2438,7 @@ mod tests {
24382438
}
24392439

24402440
#[test]
2441-
fn fails_parsing_invoice_with_message_paths() {
2441+
fn fails_parsing_invoice_with_async_receive_message_paths() {
24422442
let invoice = OfferBuilder::new(recipient_pubkey())
24432443
.amount_msats(1000)
24442444
.build().unwrap()
@@ -2459,8 +2459,8 @@ mod tests {
24592459
};
24602460

24612461
let mut tlv_stream = invoice.as_tlv_stream();
2462-
let message_paths = vec![blinded_path];
2463-
tlv_stream.3.message_paths = Some(&message_paths);
2462+
let async_receive_message_paths = vec![blinded_path];
2463+
tlv_stream.3.async_receive_message_paths = Some(&async_receive_message_paths);
24642464

24652465
match Bolt12Invoice::try_from(tlv_stream.to_bytes()) {
24662466
Ok(_) => panic!("expected error"),

lightning/src/offers/static_invoice.rs

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ struct InvoiceContents {
7777
fallbacks: Option<Vec<FallbackAddress>>,
7878
features: Bolt12InvoiceFeatures,
7979
signing_pubkey: PublicKey,
80-
message_paths: Vec<BlindedPath>,
80+
async_receive_message_paths: Vec<BlindedPath>,
8181
}
8282

8383
/// Builds a [`StaticInvoice`] from an [`Offer`].
@@ -101,14 +101,17 @@ impl<'a> StaticInvoiceBuilder<'a> {
101101
/// after `created_at`.
102102
pub fn for_offer_using_derived_keys<T: secp256k1::Signing>(
103103
offer: &'a Offer, payment_paths: Vec<(BlindedPayInfo, BlindedPath)>,
104-
message_paths: Vec<BlindedPath>, created_at: Duration, expanded_key: &ExpandedKey,
105-
secp_ctx: &Secp256k1<T>,
104+
async_receive_message_paths: Vec<BlindedPath>, created_at: Duration,
105+
expanded_key: &ExpandedKey, secp_ctx: &Secp256k1<T>,
106106
) -> Result<Self, Bolt12SemanticError> {
107107
if offer.chains().len() > 1 {
108108
return Err(Bolt12SemanticError::UnexpectedChain);
109109
}
110110

111-
if payment_paths.is_empty() || message_paths.is_empty() || offer.paths().is_empty() {
111+
if payment_paths.is_empty()
112+
|| async_receive_message_paths.is_empty()
113+
|| offer.paths().is_empty()
114+
{
112115
return Err(Bolt12SemanticError::MissingPaths);
113116
}
114117

@@ -126,8 +129,13 @@ impl<'a> StaticInvoiceBuilder<'a> {
126129
return Err(Bolt12SemanticError::InvalidSigningPubkey);
127130
}
128131

129-
let invoice =
130-
InvoiceContents::new(offer, payment_paths, message_paths, created_at, signing_pubkey);
132+
let invoice = InvoiceContents::new(
133+
offer,
134+
payment_paths,
135+
async_receive_message_paths,
136+
created_at,
137+
signing_pubkey,
138+
);
131139

132140
Ok(Self { offer_bytes: &offer.bytes, invoice, keys })
133141
}
@@ -233,8 +241,8 @@ macro_rules! invoice_accessors { ($self: ident, $contents: expr) => {
233241

234242
/// Paths to the recipient for indicating that a held HTLC is available to claim when they next
235243
/// come online.
236-
pub fn message_paths(&$self) -> &[BlindedPath] {
237-
$contents.message_paths()
244+
pub fn async_receive_message_paths(&$self) -> &[BlindedPath] {
245+
$contents.async_receive_message_paths()
238246
}
239247

240248
/// The quantity of items supported, from [`Offer::supported_quantity`].
@@ -330,12 +338,13 @@ impl InvoiceContents {
330338

331339
fn new(
332340
offer: &Offer, payment_paths: Vec<(BlindedPayInfo, BlindedPath)>,
333-
message_paths: Vec<BlindedPath>, created_at: Duration, signing_pubkey: PublicKey,
341+
async_receive_message_paths: Vec<BlindedPath>, created_at: Duration,
342+
signing_pubkey: PublicKey,
334343
) -> Self {
335344
Self {
336345
offer: offer.contents.clone(),
337346
payment_paths,
338-
message_paths,
347+
async_receive_message_paths,
339348
created_at,
340349
relative_expiry: None,
341350
fallbacks: None,
@@ -355,7 +364,7 @@ impl InvoiceContents {
355364

356365
let invoice = InvoiceTlvStreamRef {
357366
paths: Some(Iterable(self.payment_paths.iter().map(|(_, path)| path))),
358-
message_paths: Some(self.message_paths.as_ref()),
367+
async_receive_message_paths: Some(self.async_receive_message_paths.as_ref()),
359368
blindedpay: Some(Iterable(self.payment_paths.iter().map(|(payinfo, _)| payinfo))),
360369
created_at: Some(self.created_at.as_secs()),
361370
relative_expiry: self.relative_expiry.map(|duration| duration.as_secs() as u32),
@@ -402,8 +411,8 @@ impl InvoiceContents {
402411
self.offer.paths()
403412
}
404413

405-
fn message_paths(&self) -> &[BlindedPath] {
406-
&self.message_paths[..]
414+
fn async_receive_message_paths(&self) -> &[BlindedPath] {
415+
&self.async_receive_message_paths[..]
407416
}
408417

409418
fn supported_quantity(&self) -> Quantity {
@@ -514,7 +523,7 @@ impl TryFrom<PartialInvoiceTlvStream> for InvoiceContents {
514523
fallbacks,
515524
features,
516525
node_id,
517-
message_paths,
526+
async_receive_message_paths,
518527
payment_hash,
519528
amount,
520529
},
@@ -528,7 +537,8 @@ impl TryFrom<PartialInvoiceTlvStream> for InvoiceContents {
528537
}
529538

530539
let payment_paths = construct_payment_paths(blindedpay, paths)?;
531-
let message_paths = message_paths.ok_or(Bolt12SemanticError::MissingPaths)?;
540+
let async_receive_message_paths =
541+
async_receive_message_paths.ok_or(Bolt12SemanticError::MissingPaths)?;
532542

533543
let created_at = match created_at {
534544
None => return Err(Bolt12SemanticError::MissingCreationTime),
@@ -552,7 +562,7 @@ impl TryFrom<PartialInvoiceTlvStream> for InvoiceContents {
552562
Ok(InvoiceContents {
553563
offer: OfferContents::try_from(offer_tlv_stream)?,
554564
payment_paths,
555-
message_paths,
565+
async_receive_message_paths,
556566
created_at,
557567
relative_expiry,
558568
fallbacks,
@@ -683,7 +693,7 @@ mod tests {
683693
assert_eq!(invoice.offer_features(), &OfferFeatures::empty());
684694
assert_eq!(invoice.absolute_expiry(), None);
685695
assert_eq!(invoice.request_paths(), &[blinded_path()]);
686-
assert_eq!(invoice.message_paths(), &[blinded_path()]);
696+
assert_eq!(invoice.async_receive_message_paths(), &[blinded_path()]);
687697
assert_eq!(invoice.issuer(), None);
688698
assert_eq!(invoice.supported_quantity(), Quantity::One);
689699
assert_ne!(invoice.signing_pubkey(), recipient_pubkey());
@@ -730,7 +740,7 @@ mod tests {
730740
fallbacks: None,
731741
features: None,
732742
node_id: Some(&offer_signing_pubkey),
733-
message_paths: Some(&paths),
743+
async_receive_message_paths: Some(&paths),
734744
},
735745
SignatureTlvStreamRef { signature: Some(&invoice.signature()) },
736746
)
@@ -1059,9 +1069,9 @@ mod tests {
10591069
}
10601070

10611071
// Error if message paths are missing.
1062-
let missing_message_paths_invoice = invoice();
1063-
let mut tlv_stream = missing_message_paths_invoice.as_tlv_stream();
1064-
tlv_stream.1.message_paths = None;
1072+
let missing_async_receive_message_paths_invoice = invoice();
1073+
let mut tlv_stream = missing_async_receive_message_paths_invoice.as_tlv_stream();
1074+
tlv_stream.1.async_receive_message_paths = None;
10651075
match StaticInvoice::try_from(tlv_stream_to_bytes(&tlv_stream)) {
10661076
Ok(_) => panic!("expected error"),
10671077
Err(e) => {

0 commit comments

Comments
 (0)