Skip to content

Commit 2f9d44a

Browse files
committed
f - avoid updating EXPERIMENTAL_TYPES in later commits
1 parent 94efd75 commit 2f9d44a

File tree

4 files changed

+15
-7
lines changed

4 files changed

+15
-7
lines changed

lightning/src/offers/invoice.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ use crate::ln::msgs::DecodeError;
121121
use crate::offers::invoice_macros::{invoice_accessors_common, invoice_builder_methods_common};
122122
#[cfg(test)]
123123
use crate::offers::invoice_macros::invoice_builder_methods_test;
124-
use crate::offers::invoice_request::{INVOICE_REQUEST_PAYER_ID_TYPE, INVOICE_REQUEST_TYPES, IV_BYTES as INVOICE_REQUEST_IV_BYTES, InvoiceRequest, InvoiceRequestContents, InvoiceRequestTlvStream, InvoiceRequestTlvStreamRef};
124+
use crate::offers::invoice_request::{EXPERIMENTAL_INVOICE_REQUEST_TYPES, INVOICE_REQUEST_PAYER_ID_TYPE, INVOICE_REQUEST_TYPES, IV_BYTES as INVOICE_REQUEST_IV_BYTES, InvoiceRequest, InvoiceRequestContents, InvoiceRequestTlvStream, InvoiceRequestTlvStreamRef};
125125
use crate::offers::merkle::{SignError, SignFn, SignatureTlvStream, SignatureTlvStreamRef, TaggedHash, TlvStream, self};
126126
use crate::offers::nonce::Nonce;
127-
use crate::offers::offer::{Amount, OFFER_TYPES, OfferTlvStream, OfferTlvStreamRef, Quantity};
127+
use crate::offers::offer::{Amount, EXPERIMENTAL_OFFER_TYPES, OFFER_TYPES, OfferTlvStream, OfferTlvStreamRef, Quantity};
128128
use crate::offers::parse::{Bolt12ParseError, Bolt12SemanticError, ParsedMessage};
129129
use crate::offers::payer::{PAYER_METADATA_TYPE, PayerTlvStream, PayerTlvStreamRef};
130130
use crate::offers::refund::{IV_BYTES_WITH_METADATA as REFUND_IV_BYTES_WITH_METADATA, IV_BYTES_WITHOUT_METADATA as REFUND_IV_BYTES_WITHOUT_METADATA, Refund, RefundContents};
@@ -493,7 +493,8 @@ where
493493
impl UnsignedBolt12Invoice {
494494
fn new(invreq_bytes: &[u8], contents: InvoiceContents) -> Self {
495495
const NON_EXPERIMENTAL_TYPES: core::ops::Range<u64> = 0..INVOICE_REQUEST_TYPES.end;
496-
const EXPERIMENTAL_TYPES: core::ops::Range<u64> = 0..0;
496+
const EXPERIMENTAL_TYPES: core::ops::Range<u64> =
497+
EXPERIMENTAL_OFFER_TYPES.start..EXPERIMENTAL_INVOICE_REQUEST_TYPES.end;
497498

498499
let mut bytes = Vec::new();
499500

lightning/src/offers/invoice_request.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ use crate::ln::inbound_payment::{ExpandedKey, IV_LEN};
7171
use crate::ln::msgs::DecodeError;
7272
use crate::offers::merkle::{SignError, SignFn, SignatureTlvStream, SignatureTlvStreamRef, TaggedHash, TlvStream, self};
7373
use crate::offers::nonce::Nonce;
74-
use crate::offers::offer::{OFFER_TYPES, Offer, OfferContents, OfferId, OfferTlvStream, OfferTlvStreamRef};
74+
use crate::offers::offer::{EXPERIMENTAL_OFFER_TYPES, OFFER_TYPES, Offer, OfferContents, OfferId, OfferTlvStream, OfferTlvStreamRef};
7575
use crate::offers::parse::{Bolt12ParseError, ParsedMessage, Bolt12SemanticError};
7676
use crate::offers::payer::{PayerContents, PayerTlvStream, PayerTlvStreamRef};
7777
use crate::offers::signer::{Metadata, MetadataMaterial};
@@ -535,7 +535,6 @@ impl UnsignedInvoiceRequest {
535535

536536
invoice_request_tlv_stream.write(&mut bytes).unwrap();
537537

538-
const EXPERIMENTAL_OFFER_TYPES: core::ops::Range<u64> = 0..0;
539538
let mut experimental_bytes = Vec::new();
540539

541540
for record in TlvStream::new(&offer.bytes).range(EXPERIMENTAL_OFFER_TYPES) {
@@ -1090,6 +1089,10 @@ tlv_stream!(InvoiceRequestTlvStream, InvoiceRequestTlvStreamRef<'a>, INVOICE_REQ
10901089
(90, paths: (Vec<BlindedMessagePath>, WithoutLength)),
10911090
});
10921091

1092+
/// Valid type range for experimental invoice_request TLV records.
1093+
pub(super) const EXPERIMENTAL_INVOICE_REQUEST_TYPES: core::ops::Range<u64> =
1094+
2_000_000_000..3_000_000_000;
1095+
10931096
type FullInvoiceRequestTlvStream =
10941097
(PayerTlvStream, OfferTlvStream, InvoiceRequestTlvStream, SignatureTlvStream);
10951098

lightning/src/offers/offer.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,6 +1091,9 @@ tlv_stream!(OfferTlvStream, OfferTlvStreamRef<'a>, OFFER_TYPES, {
10911091
(OFFER_ISSUER_ID_TYPE, issuer_id: PublicKey),
10921092
});
10931093

1094+
/// Valid type range for experimental offer TLV records.
1095+
pub(super) const EXPERIMENTAL_OFFER_TYPES: core::ops::Range<u64> = 1_000_000_000..2_000_000_000;
1096+
10941097
impl Bech32Encode for Offer {
10951098
const BECH32_HRP: &'static str = "lno";
10961099
}

lightning/src/offers/static_invoice.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ use crate::offers::merkle::{
2626
};
2727
use crate::offers::nonce::Nonce;
2828
use crate::offers::offer::{
29-
Amount, Offer, OfferContents, OfferTlvStream, OfferTlvStreamRef, Quantity, OFFER_TYPES,
29+
Amount, Offer, OfferContents, OfferTlvStream, OfferTlvStreamRef, Quantity,
30+
EXPERIMENTAL_OFFER_TYPES, OFFER_TYPES,
3031
};
3132
use crate::offers::parse::{Bolt12ParseError, Bolt12SemanticError, ParsedMessage};
3233
use crate::util::ser::{CursorReadable, Iterable, WithoutLength, Writeable, Writer};
@@ -277,7 +278,7 @@ macro_rules! invoice_accessors_signing_pubkey {
277278
impl UnsignedStaticInvoice {
278279
fn new(offer_bytes: &Vec<u8>, contents: InvoiceContents) -> Self {
279280
const NON_EXPERIMENTAL_TYPES: core::ops::Range<u64> = OFFER_TYPES;
280-
const EXPERIMENTAL_TYPES: core::ops::Range<u64> = 0..0;
281+
const EXPERIMENTAL_TYPES: core::ops::Range<u64> = EXPERIMENTAL_OFFER_TYPES;
281282

282283
let mut bytes = Vec::new();
283284

0 commit comments

Comments
 (0)