Skip to content

Commit cdc21f1

Browse files
committed
Remove PayerSigningPubkeyStrategy
Now that InvoiceRequest::payer_signing_pubkey is always a derived pubkey, there is no longer a need for PayerSigningPubkeyStrategy.
1 parent ad39980 commit cdc21f1

File tree

3 files changed

+11
-29
lines changed

3 files changed

+11
-29
lines changed

lightning/src/ln/channelmanager.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ use crate::ln::outbound_payment::{OutboundPayments, PaymentAttempts, PendingOutb
6565
use crate::ln::wire::Encode;
6666
use crate::offers::invoice::{Bolt12Invoice, DEFAULT_RELATIVE_EXPIRY, DerivedSigningPubkey, ExplicitSigningPubkey, InvoiceBuilder, UnsignedBolt12Invoice};
6767
use crate::offers::invoice_error::InvoiceError;
68-
use crate::offers::invoice_request::{DerivedPayerSigningPubkey, InvoiceRequest, InvoiceRequestBuilder};
68+
use crate::offers::invoice_request::{InvoiceRequest, InvoiceRequestBuilder};
6969
use crate::offers::nonce::Nonce;
7070
use crate::offers::offer::{Offer, OfferBuilder};
7171
use crate::offers::parse::Bolt12SemanticError;
@@ -9226,7 +9226,7 @@ where
92269226
let secp_ctx = &self.secp_ctx;
92279227

92289228
let nonce = Nonce::from_entropy_source(entropy);
9229-
let builder: InvoiceRequestBuilder<DerivedPayerSigningPubkey, secp256k1::All> = offer
9229+
let builder: InvoiceRequestBuilder<secp256k1::All> = offer
92309230
.request_invoice(expanded_key, nonce, secp_ctx, payment_id)?
92319231
.into();
92329232
let builder = builder.chain_hash(self.chain_hash)?;

lightning/src/offers/invoice_request.rs

+7-25
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@
4949
//! let payment_id = PaymentId([1; 32]);
5050
//! let mut buffer = Vec::new();
5151
//!
52-
//! # use lightning::offers::invoice_request::{DerivedPayerSigningPubkey, InvoiceRequestBuilder};
53-
//! # <InvoiceRequestBuilder<DerivedPayerSigningPubkey, _>>::from(
52+
//! # use lightning::offers::invoice_request::InvoiceRequestBuilder;
53+
//! # <InvoiceRequestBuilder<_>>::from(
5454
//! "lno1qcp4256ypq"
5555
//! .parse::<Offer>()?
5656
//! .request_invoice(&expanded_key, nonce, &secp_ctx, payment_id)?
@@ -111,11 +111,10 @@ pub(super) const IV_BYTES: &[u8; IV_LEN] = b"LDK Invreq ~~~~~";
111111
/// This is not exported to bindings users as builder patterns don't map outside of move semantics.
112112
///
113113
/// [module-level documentation]: self
114-
pub struct InvoiceRequestBuilder<'a, 'b, P: PayerSigningPubkeyStrategy, T: secp256k1::Signing> {
114+
pub struct InvoiceRequestBuilder<'a, 'b, T: secp256k1::Signing> {
115115
offer: &'a Offer,
116116
invoice_request: InvoiceRequestContentsWithoutPayerSigningPubkey,
117117
payer_signing_pubkey: Option<PublicKey>,
118-
payer_signing_pubkey_strategy: core::marker::PhantomData<P>,
119118
secp_ctx: Option<&'b Secp256k1<T>>,
120119
}
121120

@@ -129,22 +128,9 @@ pub struct InvoiceRequestWithDerivedPayerSigningPubkeyBuilder<'a, 'b> {
129128
offer: &'a Offer,
130129
invoice_request: InvoiceRequestContentsWithoutPayerSigningPubkey,
131130
payer_signing_pubkey: Option<PublicKey>,
132-
payer_signing_pubkey_strategy: core::marker::PhantomData<DerivedPayerSigningPubkey>,
133131
secp_ctx: Option<&'b Secp256k1<secp256k1::All>>,
134132
}
135133

136-
/// Indicates how [`InvoiceRequest::payer_signing_pubkey`] will be set.
137-
///
138-
/// This is not exported to bindings users as builder patterns don't map outside of move semantics.
139-
pub trait PayerSigningPubkeyStrategy {}
140-
141-
/// [`InvoiceRequest::payer_signing_pubkey`] will be derived.
142-
///
143-
/// This is not exported to bindings users as builder patterns don't map outside of move semantics.
144-
pub struct DerivedPayerSigningPubkey {}
145-
146-
impl PayerSigningPubkeyStrategy for DerivedPayerSigningPubkey {}
147-
148134
macro_rules! invoice_request_derived_payer_signing_pubkey_builder_methods { (
149135
$self: ident, $self_type: ty, $secp_context: ty
150136
) => {
@@ -160,7 +146,6 @@ macro_rules! invoice_request_derived_payer_signing_pubkey_builder_methods { (
160146
offer,
161147
invoice_request: Self::create_contents(offer, metadata),
162148
payer_signing_pubkey: None,
163-
payer_signing_pubkey_strategy: core::marker::PhantomData,
164149
secp_ctx: Some(secp_ctx),
165150
}
166151
}
@@ -397,11 +382,8 @@ macro_rules! invoice_request_builder_test_methods { (
397382
}
398383
} }
399384

400-
impl<'a, 'b, T: secp256k1::Signing> InvoiceRequestBuilder<'a, 'b, DerivedPayerSigningPubkey, T> {
385+
impl<'a, 'b, T: secp256k1::Signing> InvoiceRequestBuilder<'a, 'b, T> {
401386
invoice_request_derived_payer_signing_pubkey_builder_methods!(self, Self, T);
402-
}
403-
404-
impl<'a, 'b, P: PayerSigningPubkeyStrategy, T: secp256k1::Signing> InvoiceRequestBuilder<'a, 'b, P, T> {
405387
invoice_request_builder_methods!(self, Self, Self, self, T, mut);
406388

407389
#[cfg(test)]
@@ -423,14 +405,14 @@ impl<'a, 'b> InvoiceRequestWithDerivedPayerSigningPubkeyBuilder<'a, 'b> {
423405

424406
#[cfg(c_bindings)]
425407
impl<'a, 'b> From<InvoiceRequestWithDerivedPayerSigningPubkeyBuilder<'a, 'b>>
426-
for InvoiceRequestBuilder<'a, 'b, DerivedPayerSigningPubkey, secp256k1::All> {
408+
for InvoiceRequestBuilder<'a, 'b, secp256k1::All> {
427409
fn from(builder: InvoiceRequestWithDerivedPayerSigningPubkeyBuilder<'a, 'b>) -> Self {
428410
let InvoiceRequestWithDerivedPayerSigningPubkeyBuilder {
429-
offer, invoice_request, payer_signing_pubkey, payer_signing_pubkey_strategy, secp_ctx,
411+
offer, invoice_request, payer_signing_pubkey, secp_ctx,
430412
} = builder;
431413

432414
Self {
433-
offer, invoice_request, payer_signing_pubkey, payer_signing_pubkey_strategy, secp_ctx,
415+
offer, invoice_request, payer_signing_pubkey, secp_ctx,
434416
}
435417
}
436418
}

lightning/src/offers/offer.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ use crate::util::string::PrintableString;
9999

100100
#[cfg(not(c_bindings))]
101101
use {
102-
crate::offers::invoice_request::{DerivedPayerSigningPubkey, InvoiceRequestBuilder},
102+
crate::offers::invoice_request::InvoiceRequestBuilder,
103103
};
104104
#[cfg(c_bindings)]
105105
use {
@@ -753,7 +753,7 @@ macro_rules! request_invoice_derived_signing_pubkey { ($self: ident, $builder: t
753753

754754
#[cfg(not(c_bindings))]
755755
impl Offer {
756-
request_invoice_derived_signing_pubkey!(self, InvoiceRequestBuilder<'a, 'b, DerivedPayerSigningPubkey, T>);
756+
request_invoice_derived_signing_pubkey!(self, InvoiceRequestBuilder<'a, 'b, T>);
757757
}
758758

759759
#[cfg(c_bindings)]

0 commit comments

Comments
 (0)