Skip to content

Commit 8fe3a56

Browse files
authored
Merge pull request #3182 from valentinewallace/2024-07-expose-advance-bp
Expose blinded paths' `advance_path_by_one`
2 parents 137cfea + b204a6a commit 8fe3a56

33 files changed

+843
-842
lines changed

fuzz/src/chanmon_consistency.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@ use bitcoin::hashes::sha256d::Hash as Sha256dHash;
3333
use bitcoin::hashes::Hash as TraitImport;
3434
use bitcoin::WPubkeyHash;
3535

36-
use lightning::blinded_path::message::MessageContext;
37-
use lightning::blinded_path::payment::ReceiveTlvs;
38-
use lightning::blinded_path::BlindedPath;
36+
use lightning::blinded_path::message::{BlindedMessagePath, MessageContext};
37+
use lightning::blinded_path::payment::{BlindedPaymentPath, ReceiveTlvs};
3938
use lightning::chain;
4039
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
4140
use lightning::chain::channelmonitor::{ChannelMonitor, MonitorEvent};
@@ -127,7 +126,7 @@ impl Router for FuzzRouter {
127126
fn create_blinded_payment_paths<T: secp256k1::Signing + secp256k1::Verification>(
128127
&self, _recipient: PublicKey, _first_hops: Vec<ChannelDetails>, _tlvs: ReceiveTlvs,
129128
_amount_msats: u64, _secp_ctx: &Secp256k1<T>,
130-
) -> Result<Vec<(BlindedPayInfo, BlindedPath)>, ()> {
129+
) -> Result<Vec<(BlindedPayInfo, BlindedPaymentPath)>, ()> {
131130
unreachable!()
132131
}
133132
}
@@ -142,7 +141,7 @@ impl MessageRouter for FuzzRouter {
142141
fn create_blinded_paths<T: secp256k1::Signing + secp256k1::Verification>(
143142
&self, _recipient: PublicKey, _context: MessageContext, _peers: Vec<PublicKey>,
144143
_secp_ctx: &Secp256k1<T>,
145-
) -> Result<Vec<BlindedPath>, ()> {
144+
) -> Result<Vec<BlindedMessagePath>, ()> {
146145
unreachable!()
147146
}
148147
}

fuzz/src/full_stack.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ use bitcoin::hashes::Hash as _;
3030
use bitcoin::hex::FromHex;
3131
use bitcoin::WPubkeyHash;
3232

33-
use lightning::blinded_path::message::MessageContext;
34-
use lightning::blinded_path::payment::ReceiveTlvs;
35-
use lightning::blinded_path::BlindedPath;
33+
use lightning::blinded_path::message::{BlindedMessagePath, MessageContext};
34+
use lightning::blinded_path::payment::{BlindedPaymentPath, ReceiveTlvs};
3635
use lightning::chain;
3736
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
3837
use lightning::chain::chainmonitor;
@@ -164,7 +163,7 @@ impl Router for FuzzRouter {
164163
fn create_blinded_payment_paths<T: secp256k1::Signing + secp256k1::Verification>(
165164
&self, _recipient: PublicKey, _first_hops: Vec<ChannelDetails>, _tlvs: ReceiveTlvs,
166165
_amount_msats: u64, _secp_ctx: &Secp256k1<T>,
167-
) -> Result<Vec<(BlindedPayInfo, BlindedPath)>, ()> {
166+
) -> Result<Vec<(BlindedPayInfo, BlindedPaymentPath)>, ()> {
168167
unreachable!()
169168
}
170169
}
@@ -179,7 +178,7 @@ impl MessageRouter for FuzzRouter {
179178
fn create_blinded_paths<T: secp256k1::Signing + secp256k1::Verification>(
180179
&self, _recipient: PublicKey, _context: MessageContext, _peers: Vec<PublicKey>,
181180
_secp_ctx: &Secp256k1<T>,
182-
) -> Result<Vec<BlindedPath>, ()> {
181+
) -> Result<Vec<BlindedMessagePath>, ()> {
183182
unreachable!()
184183
}
185184
}

fuzz/src/invoice_request_deser.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ use crate::utils::test_logger;
1111
use bitcoin::secp256k1::{self, Keypair, Parity, PublicKey, Secp256k1, SecretKey};
1212
use core::convert::TryFrom;
1313
use lightning::blinded_path::payment::{
14-
Bolt12OfferContext, ForwardNode, ForwardTlvs, PaymentConstraints, PaymentContext, PaymentRelay,
15-
ReceiveTlvs,
14+
BlindedPaymentPath, Bolt12OfferContext, ForwardNode, ForwardTlvs, PaymentConstraints,
15+
PaymentContext, PaymentRelay, ReceiveTlvs,
1616
};
17-
use lightning::blinded_path::BlindedPath;
1817
use lightning::ln::channelmanager::MIN_FINAL_CLTV_EXPIRY_DELTA;
1918
use lightning::ln::features::BlindedHopFeatures;
2019
use lightning::ln::types::PaymentSecret;
@@ -118,7 +117,7 @@ fn build_response<T: secp256k1::Signing + secp256k1::Verification>(
118117
node_id: pubkey(43),
119118
htlc_maximum_msat: 1_000_000_000_000,
120119
}];
121-
let payment_path = BlindedPath::new_for_payment(
120+
let payment_path = BlindedPaymentPath::new(
122121
&intermediate_nodes,
123122
pubkey(42),
124123
payee_tlvs,

fuzz/src/onion_message.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ use bitcoin::secp256k1::ecdsa::RecoverableSignature;
55
use bitcoin::secp256k1::schnorr;
66
use bitcoin::secp256k1::{self, PublicKey, Scalar, Secp256k1, SecretKey};
77

8-
use lightning::blinded_path::message::{MessageContext, OffersContext};
9-
use lightning::blinded_path::{BlindedPath, EmptyNodeIdLookUp};
8+
use lightning::blinded_path::message::{BlindedMessagePath, MessageContext, OffersContext};
9+
use lightning::blinded_path::EmptyNodeIdLookUp;
1010
use lightning::ln::features::InitFeatures;
1111
use lightning::ln::msgs::{self, DecodeError, OnionMessageHandler};
1212
use lightning::ln::script::ShutdownScript;
@@ -98,7 +98,7 @@ impl MessageRouter for TestMessageRouter {
9898
fn create_blinded_paths<T: secp256k1::Signing + secp256k1::Verification>(
9999
&self, _recipient: PublicKey, _context: MessageContext, _peers: Vec<PublicKey>,
100100
_secp_ctx: &Secp256k1<T>,
101-
) -> Result<Vec<BlindedPath>, ()> {
101+
) -> Result<Vec<BlindedMessagePath>, ()> {
102102
unreachable!()
103103
}
104104
}

fuzz/src/refund_deser.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ use crate::utils::test_logger;
1111
use bitcoin::secp256k1::{self, Keypair, PublicKey, Secp256k1, SecretKey};
1212
use core::convert::TryFrom;
1313
use lightning::blinded_path::payment::{
14-
Bolt12RefundContext, ForwardNode, ForwardTlvs, PaymentConstraints, PaymentContext,
15-
PaymentRelay, ReceiveTlvs,
14+
BlindedPaymentPath, Bolt12RefundContext, ForwardNode, ForwardTlvs, PaymentConstraints,
15+
PaymentContext, PaymentRelay, ReceiveTlvs,
1616
};
17-
use lightning::blinded_path::BlindedPath;
1817
use lightning::ln::channelmanager::MIN_FINAL_CLTV_EXPIRY_DELTA;
1918
use lightning::ln::features::BlindedHopFeatures;
2019
use lightning::ln::types::PaymentSecret;
@@ -96,7 +95,7 @@ fn build_response<T: secp256k1::Signing + secp256k1::Verification>(
9695
node_id: pubkey(43),
9796
htlc_maximum_msat: 1_000_000_000_000,
9897
}];
99-
let payment_path = BlindedPath::new_for_payment(
98+
let payment_path = BlindedPaymentPath::new(
10099
&intermediate_nodes,
101100
pubkey(42),
102101
payee_tlvs,

fuzz/src/router.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ use bitcoin::constants::ChainHash;
1212
use bitcoin::script::Builder;
1313
use bitcoin::transaction::TxOut;
1414

15-
use lightning::blinded_path::{BlindedHop, BlindedPath, IntroductionNode};
15+
use lightning::blinded_path::payment::BlindedPaymentPath;
16+
use lightning::blinded_path::BlindedHop;
1617
use lightning::chain::transaction::OutPoint;
1718
use lightning::ln::channel_state::{ChannelCounterparty, ChannelDetails, ChannelShutdownState};
1819
use lightning::ln::channelmanager;
@@ -380,7 +381,7 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
380381
let mut last_hops_unblinded = Vec::new();
381382
last_hops!(last_hops_unblinded);
382383
let dummy_pk = PublicKey::from_slice(&[2; 33]).unwrap();
383-
let last_hops: Vec<(BlindedPayInfo, BlindedPath)> = last_hops_unblinded
384+
let last_hops: Vec<(BlindedPayInfo, BlindedPaymentPath)> = last_hops_unblinded
384385
.into_iter()
385386
.map(|hint| {
386387
let hop = &hint.0[0];
@@ -402,11 +403,7 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
402403
}
403404
(
404405
payinfo,
405-
BlindedPath {
406-
introduction_node: IntroductionNode::NodeId(hop.src_node_id),
407-
blinding_point: dummy_pk,
408-
blinded_hops,
409-
},
406+
BlindedPaymentPath::from_raw(hop.src_node_id, dummy_pk, blinded_hops),
410407
)
411408
})
412409
.collect();

0 commit comments

Comments
 (0)