Skip to content

Commit 039d289

Browse files
f programmatically create invreq in tests
1 parent 79f5218 commit 039d289

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

lightning/src/ln/outbound_payment.rs

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2270,29 +2270,27 @@ impl_writeable_tlv_based_enum_upgradable!(PendingOutboundPayment,
22702270
mod tests {
22712271
use bitcoin::hex::FromHex;
22722272
use bitcoin::network::Network;
2273-
use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
2273+
use bitcoin::secp256k1::{Keypair, PublicKey, Secp256k1, SecretKey};
22742274

22752275
use core::time::Duration;
22762276

22772277
use crate::blinded_path::EmptyNodeIdLookUp;
22782278
use crate::events::{Event, PathFailure, PaymentFailureReason};
2279-
use crate::io::Cursor;
22802279
use crate::types::payment::{PaymentHash, PaymentPreimage};
22812280
use crate::ln::channelmanager::{PaymentId, RecipientOnionFields};
22822281
use crate::types::features::{Bolt12InvoiceFeatures, ChannelFeatures, NodeFeatures};
22832282
use crate::ln::msgs::{ErrorAction, LightningError};
22842283
use crate::ln::outbound_payment::{Bolt12PaymentError, OutboundPayments, PendingOutboundPayment, Retry, RetryableSendFailure, StaleExpiration};
22852284
#[cfg(feature = "std")]
22862285
use crate::offers::invoice::DEFAULT_RELATIVE_EXPIRY;
2287-
use crate::offers::invoice_request::InvoiceRequest;
2286+
use crate::offers::invoice_request::{InvoiceRequest, UnsignedInvoiceRequest};
22882287
use crate::offers::offer::OfferBuilder;
22892288
use crate::offers::test_utils::*;
22902289
use crate::routing::gossip::NetworkGraph;
22912290
use crate::routing::router::{InFlightHtlcs, Path, PaymentParameters, Route, RouteHop, RouteParameters};
22922291
use crate::sync::{Arc, Mutex, RwLock};
22932292
use crate::util::errors::APIError;
22942293
use crate::util::hash_tables::new_hash_map;
2295-
use crate::util::ser::Readable;
22962294
use crate::util::test_utils;
22972295

22982296
use alloc::collections::VecDeque;
@@ -2834,9 +2832,28 @@ mod tests {
28342832
assert!(pending_events.lock().unwrap().is_empty());
28352833
}
28362834

2837-
fn invoice_request() -> InvoiceRequest {
2838-
let invreq_bytes = <Vec<u8>>::from_hex("00200101010101010101010101010101010101010101010101010101010101010101080203e80a00162102bb58b5feca505c74edc000d8282fc556e51a1024fc8e7d7e56c6f887c5c8d5f25821035be5e9478209674a96e60f1f037f6176540fd001fa1d64694770c56a7709c42cf040a31d68198578a5aa1fe57de5f6d33f89c1556752cb333dbb56ac727f751893804d3a26b42909f1952fb1db8080238f9476b829160387692df35ff85dfe72e2ed").unwrap();
2839-
Readable::read(&mut Cursor::new(&invreq_bytes[..])).unwrap()
2835+
fn dummy_invoice_request() -> InvoiceRequest {
2836+
let secp_ctx = Secp256k1::new();
2837+
let recipient_pubkey = {
2838+
let secret_key = SecretKey::from_slice(&<Vec<u8>>::from_hex("4141414141414141414141414141414141414141414141414141414141414141").unwrap()).unwrap();
2839+
Keypair::from_secret_key(&secp_ctx, &secret_key).public_key()
2840+
};
2841+
let payer_keys = {
2842+
let secret_key = SecretKey::from_slice(&<Vec<u8>>::from_hex("4242424242424242424242424242424242424242424242424242424242424242").unwrap()).unwrap();
2843+
Keypair::from_secret_key(&secp_ctx, &secret_key)
2844+
};
2845+
OfferBuilder::new(recipient_pubkey)
2846+
.description("test".into())
2847+
.amount_msats(1000)
2848+
.build()
2849+
.unwrap()
2850+
.request_invoice(vec![0; 8], payer_keys.public_key()).unwrap()
2851+
.build()
2852+
.unwrap()
2853+
.sign(|message: &UnsignedInvoiceRequest|
2854+
Ok(secp_ctx.sign_schnorr_no_aux_rand(message.as_ref().as_digest(), &payer_keys))
2855+
)
2856+
.unwrap()
28402857
}
28412858

28422859
#[test]
@@ -2860,7 +2877,7 @@ mod tests {
28602877
keysend_preimage: PaymentPreimage([0; 32]),
28612878
retry_strategy: Retry::Attempts(0),
28622879
route_params,
2863-
invoice_request: invoice_request(),
2880+
invoice_request: dummy_invoice_request(),
28642881
};
28652882
outbounds.insert(payment_id, outbound);
28662883
core::mem::drop(outbounds);
@@ -2907,7 +2924,7 @@ mod tests {
29072924
keysend_preimage: PaymentPreimage([0; 32]),
29082925
retry_strategy: Retry::Attempts(0),
29092926
route_params,
2910-
invoice_request: invoice_request(),
2927+
invoice_request: dummy_invoice_request(),
29112928
};
29122929
outbounds.insert(payment_id, outbound);
29132930
core::mem::drop(outbounds);

0 commit comments

Comments
 (0)