Skip to content

Commit 1814a22

Browse files
committed
Don't require Refund::description in API
Refunds currently require a description, though this may change to be optional. Remove the description requirement from the API, setting and empty string by default.
1 parent 728ce39 commit 1814a22

File tree

4 files changed

+64
-69
lines changed

4 files changed

+64
-69
lines changed

lightning/src/ln/channelmanager.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1658,13 +1658,13 @@ where
16581658
/// let payment_id = PaymentId([42; 32]);
16591659
/// let refund = channel_manager
16601660
/// .create_refund_builder(
1661-
/// "coffee".to_string(), amount_msats, absolute_expiry, payment_id, retry,
1662-
/// max_total_routing_fee_msat
1661+
/// amount_msats, absolute_expiry, payment_id, retry, max_total_routing_fee_msat
16631662
/// )?
16641663
/// # ;
16651664
/// # // Needed for compiling for c_bindings
16661665
/// # let builder: lightning::offers::refund::RefundBuilder<_> = refund.into();
16671666
/// # let refund = builder
1667+
/// .description("coffee".to_string())
16681668
/// .payer_note("refund for order 1234".to_string())
16691669
/// .build()?;
16701670
/// let bech32_refund = refund.to_string();
@@ -8621,8 +8621,8 @@ macro_rules! create_refund_builder { ($self: ident, $builder: ty) => {
86218621
/// [`Bolt12Invoice::payment_paths`]: crate::offers::invoice::Bolt12Invoice::payment_paths
86228622
/// [Avoiding Duplicate Payments]: #avoiding-duplicate-payments
86238623
pub fn create_refund_builder(
8624-
&$self, description: String, amount_msats: u64, absolute_expiry: Duration,
8625-
payment_id: PaymentId, retry_strategy: Retry, max_total_routing_fee_msat: Option<u64>
8624+
&$self, amount_msats: u64, absolute_expiry: Duration, payment_id: PaymentId,
8625+
retry_strategy: Retry, max_total_routing_fee_msat: Option<u64>
86268626
) -> Result<$builder, Bolt12SemanticError> {
86278627
let node_id = $self.get_our_node_id();
86288628
let expanded_key = &$self.inbound_payment_key;
@@ -8631,7 +8631,7 @@ macro_rules! create_refund_builder { ($self: ident, $builder: ty) => {
86318631

86328632
let path = $self.create_blinded_path().map_err(|_| Bolt12SemanticError::MissingPaths)?;
86338633
let builder = RefundBuilder::deriving_payer_id(
8634-
description, node_id, expanded_key, entropy, secp_ctx, amount_msats, payment_id
8634+
node_id, expanded_key, entropy, secp_ctx, amount_msats, payment_id
86358635
)?
86368636
.chain_hash($self.chain_hash)
86378637
.absolute_expiry(absolute_expiry)

lightning/src/ln/offers_tests.rs

+9-21
Original file line numberDiff line numberDiff line change
@@ -484,9 +484,7 @@ fn creates_and_pays_for_refund_using_two_hop_blinded_path() {
484484
let absolute_expiry = Duration::from_secs(u64::MAX);
485485
let payment_id = PaymentId([1; 32]);
486486
let refund = david.node
487-
.create_refund_builder(
488-
"refund".to_string(), 10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None
489-
)
487+
.create_refund_builder(10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None)
490488
.unwrap()
491489
.build().unwrap();
492490
assert_eq!(refund.amount_msats(), 10_000_000);
@@ -613,9 +611,7 @@ fn creates_and_pays_for_refund_using_one_hop_blinded_path() {
613611
let absolute_expiry = Duration::from_secs(u64::MAX);
614612
let payment_id = PaymentId([1; 32]);
615613
let refund = bob.node
616-
.create_refund_builder(
617-
"refund".to_string(), 10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None
618-
)
614+
.create_refund_builder(10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None)
619615
.unwrap()
620616
.build().unwrap();
621617
assert_eq!(refund.amount_msats(), 10_000_000);
@@ -724,9 +720,7 @@ fn pays_for_refund_without_blinded_paths() {
724720
let absolute_expiry = Duration::from_secs(u64::MAX);
725721
let payment_id = PaymentId([1; 32]);
726722
let refund = bob.node
727-
.create_refund_builder(
728-
"refund".to_string(), 10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None
729-
)
723+
.create_refund_builder(10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None)
730724
.unwrap()
731725
.clear_paths()
732726
.build().unwrap();
@@ -780,7 +774,7 @@ fn fails_creating_refund_without_blinded_paths() {
780774
let payment_id = PaymentId([1; 32]);
781775

782776
match nodes[0].node.create_refund_builder(
783-
"refund".to_string(), 10_000, absolute_expiry, payment_id, Retry::Attempts(0), None
777+
10_000, absolute_expiry, payment_id, Retry::Attempts(0), None
784778
) {
785779
Ok(_) => panic!("Expected error"),
786780
Err(e) => assert_eq!(e, Bolt12SemanticError::MissingPaths),
@@ -831,9 +825,7 @@ fn fails_sending_invoice_with_unsupported_chain_for_refund() {
831825
let absolute_expiry = Duration::from_secs(u64::MAX);
832826
let payment_id = PaymentId([1; 32]);
833827
let refund = bob.node
834-
.create_refund_builder(
835-
"refund".to_string(), 10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None
836-
)
828+
.create_refund_builder(10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None)
837829
.unwrap()
838830
.chain(Network::Signet)
839831
.build().unwrap();
@@ -932,13 +924,13 @@ fn fails_creating_refund_with_duplicate_payment_id() {
932924
let payment_id = PaymentId([1; 32]);
933925
assert!(
934926
nodes[0].node.create_refund_builder(
935-
"refund".to_string(), 10_000, absolute_expiry, payment_id, Retry::Attempts(0), None
927+
10_000, absolute_expiry, payment_id, Retry::Attempts(0), None
936928
).is_ok()
937929
);
938930
expect_recent_payment!(nodes[0], RecentPaymentDetails::AwaitingInvoice, payment_id);
939931

940932
match nodes[0].node.create_refund_builder(
941-
"refund".to_string(), 10_000, absolute_expiry, payment_id, Retry::Attempts(0), None
933+
10_000, absolute_expiry, payment_id, Retry::Attempts(0), None
942934
) {
943935
Ok(_) => panic!("Expected error"),
944936
Err(e) => assert_eq!(e, Bolt12SemanticError::DuplicatePaymentId),
@@ -1049,9 +1041,7 @@ fn fails_sending_invoice_without_blinded_payment_paths_for_refund() {
10491041
let absolute_expiry = Duration::from_secs(u64::MAX);
10501042
let payment_id = PaymentId([1; 32]);
10511043
let refund = david.node
1052-
.create_refund_builder(
1053-
"refund".to_string(), 10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None
1054-
)
1044+
.create_refund_builder(10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None)
10551045
.unwrap()
10561046
.build().unwrap();
10571047

@@ -1100,9 +1090,7 @@ fn fails_paying_invoice_more_than_once() {
11001090
let absolute_expiry = Duration::from_secs(u64::MAX);
11011091
let payment_id = PaymentId([1; 32]);
11021092
let refund = david.node
1103-
.create_refund_builder(
1104-
"refund".to_string(), 10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None
1105-
)
1093+
.create_refund_builder(10_000_000, absolute_expiry, payment_id, Retry::Attempts(0), None)
11061094
.unwrap()
11071095
.build().unwrap();
11081096
expect_recent_payment!(david, RecentPaymentDetails::AwaitingInvoice, payment_id);

lightning/src/offers/invoice.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1673,7 +1673,7 @@ mod tests {
16731673
let payment_paths = payment_paths();
16741674
let payment_hash = payment_hash();
16751675
let now = now();
1676-
let invoice = RefundBuilder::new("foo".into(), vec![1; 32], payer_pubkey(), 1000).unwrap()
1676+
let invoice = RefundBuilder::new(vec![1; 32], payer_pubkey(), 1000).unwrap()
16771677
.build().unwrap()
16781678
.respond_with_no_std(payment_paths.clone(), payment_hash, recipient_pubkey(), now)
16791679
.unwrap()
@@ -1688,7 +1688,7 @@ mod tests {
16881688
assert_eq!(invoice.offer_chains(), None);
16891689
assert_eq!(invoice.metadata(), None);
16901690
assert_eq!(invoice.amount(), None);
1691-
assert_eq!(invoice.description(), PrintableString("foo"));
1691+
assert_eq!(invoice.description(), PrintableString(""));
16921692
assert_eq!(invoice.offer_features(), None);
16931693
assert_eq!(invoice.absolute_expiry(), None);
16941694
assert_eq!(invoice.message_paths(), &[]);
@@ -1724,7 +1724,7 @@ mod tests {
17241724
metadata: None,
17251725
currency: None,
17261726
amount: None,
1727-
description: Some(&String::from("foo")),
1727+
description: Some(&String::from("")),
17281728
features: None,
17291729
absolute_expiry: None,
17301730
paths: None,
@@ -1803,7 +1803,7 @@ mod tests {
18031803
let future_expiry = Duration::from_secs(u64::max_value());
18041804
let past_expiry = Duration::from_secs(0);
18051805

1806-
if let Err(e) = RefundBuilder::new("foo".into(), vec![1; 32], payer_pubkey(), 1000).unwrap()
1806+
if let Err(e) = RefundBuilder::new(vec![1; 32], payer_pubkey(), 1000).unwrap()
18071807
.absolute_expiry(future_expiry)
18081808
.build().unwrap()
18091809
.respond_with(payment_paths(), payment_hash(), recipient_pubkey())
@@ -1813,7 +1813,7 @@ mod tests {
18131813
panic!("error building invoice: {:?}", e);
18141814
}
18151815

1816-
match RefundBuilder::new("foo".into(), vec![1; 32], payer_pubkey(), 1000).unwrap()
1816+
match RefundBuilder::new(vec![1; 32], payer_pubkey(), 1000).unwrap()
18171817
.absolute_expiry(past_expiry)
18181818
.build().unwrap()
18191819
.respond_with(payment_paths(), payment_hash(), recipient_pubkey())
@@ -1887,7 +1887,7 @@ mod tests {
18871887
let entropy = FixedEntropy {};
18881888
let secp_ctx = Secp256k1::new();
18891889

1890-
let refund = RefundBuilder::new("foo".into(), vec![1; 32], payer_pubkey(), 1000).unwrap()
1890+
let refund = RefundBuilder::new(vec![1; 32], payer_pubkey(), 1000).unwrap()
18911891
.build().unwrap();
18921892

18931893
if let Err(e) = refund

0 commit comments

Comments
 (0)