@@ -33,9 +33,10 @@ use core::time::Duration;
3333/// with the same [`PaymentHash`] is never sent. 
3434/// 
3535/// If you wish to use a different payment idempotency token, see [`pay_invoice_with_id`]. 
36- pub  fn  pay_invoice < C :  AChannelManager > ( 
37- 	invoice :  & Bolt11Invoice ,  retry_strategy :  Retry ,  channelmanager :  & C 
36+ pub  fn  pay_invoice < C :  Deref > ( 
37+ 	invoice :  & Bolt11Invoice ,  retry_strategy :  Retry ,  channelmanager :  C 
3838)  -> Result < PaymentId ,  PaymentError > 
39+ where  C :: Target :  AChannelManager , 
3940{ 
4041	let  payment_id = PaymentId ( invoice. payment_hash ( ) . into_inner ( ) ) ; 
4142	pay_invoice_with_id ( invoice,  payment_id,  retry_strategy,  channelmanager. get_cm ( ) ) 
@@ -52,9 +53,10 @@ pub fn pay_invoice<C: AChannelManager>(
5253/// [`PaymentHash`] has never been paid before. 
5354/// 
5455/// See [`pay_invoice`] for a variant which uses the [`PaymentHash`] for the idempotency token. 
55- pub  fn  pay_invoice_with_id < C :  AChannelManager > ( 
56- 	invoice :  & Bolt11Invoice ,  payment_id :  PaymentId ,  retry_strategy :  Retry ,  channelmanager :  & C 
56+ pub  fn  pay_invoice_with_id < C :  Deref > ( 
57+ 	invoice :  & Bolt11Invoice ,  payment_id :  PaymentId ,  retry_strategy :  Retry ,  channelmanager :  C 
5758)  -> Result < ( ) ,  PaymentError > 
59+ where  C :: Target :  AChannelManager , 
5860{ 
5961	let  amt_msat = invoice. amount_milli_satoshis ( ) . ok_or ( PaymentError :: Invoice ( "amount missing" ) ) ?; 
6062	pay_invoice_using_amount ( invoice,  amt_msat,  payment_id,  retry_strategy,  channelmanager. get_cm ( ) ) 
@@ -69,9 +71,10 @@ pub fn pay_invoice_with_id<C: AChannelManager>(
6971/// 
7072/// If you wish to use a different payment idempotency token, see 
7173/// [`pay_zero_value_invoice_with_id`]. 
72- pub  fn  pay_zero_value_invoice < C :  AChannelManager > ( 
73- 	invoice :  & Bolt11Invoice ,  amount_msats :  u64 ,  retry_strategy :  Retry ,  channelmanager :  & C 
74+ pub  fn  pay_zero_value_invoice < C :  Deref > ( 
75+ 	invoice :  & Bolt11Invoice ,  amount_msats :  u64 ,  retry_strategy :  Retry ,  channelmanager :  C 
7476)  -> Result < PaymentId ,  PaymentError > 
77+ where  C :: Target :  AChannelManager , 
7578{ 
7679	let  payment_id = PaymentId ( invoice. payment_hash ( ) . into_inner ( ) ) ; 
7780	pay_zero_value_invoice_with_id ( invoice,  amount_msats,  payment_id,  retry_strategy, 
@@ -90,10 +93,11 @@ pub fn pay_zero_value_invoice<C: AChannelManager>(
9093/// 
9194/// See [`pay_zero_value_invoice`] for a variant which uses the [`PaymentHash`] for the 
9295/// idempotency token. 
93- pub  fn  pay_zero_value_invoice_with_id < C :  AChannelManager > ( 
96+ pub  fn  pay_zero_value_invoice_with_id < C :  Deref > ( 
9497	invoice :  & Bolt11Invoice ,  amount_msats :  u64 ,  payment_id :  PaymentId ,  retry_strategy :  Retry , 
95- 	channelmanager :  & C 
98+ 	channelmanager :  C 
9699)  -> Result < ( ) ,  PaymentError > 
100+ where  C :: Target :  AChannelManager , 
97101{ 
98102	if  invoice. amount_milli_satoshis ( ) . is_some ( )  { 
99103		Err ( PaymentError :: Invoice ( "amount unexpected" ) ) 
@@ -125,9 +129,10 @@ fn pay_invoice_using_amount<P: Deref>(
125129/// Sends payment probes over all paths of a route that would be used to pay the given invoice. 
126130/// 
127131/// See [`ChannelManager::send_preflight_probes`] for more information. 
128- pub  fn  preflight_probe_invoice < C :  AChannelManager > ( 
129- 	invoice :  & Bolt11Invoice ,  channelmanager :  & C ,  liquidity_limit_multiplier :  Option < u64 > , 
132+ pub  fn  preflight_probe_invoice < C :  Deref > ( 
133+ 	invoice :  & Bolt11Invoice ,  channelmanager :  C ,  liquidity_limit_multiplier :  Option < u64 > , 
130134)  -> Result < Vec < ( PaymentHash ,  PaymentId ) > ,  ProbingError > 
135+ where  C :: Target :  AChannelManager , 
131136{ 
132137	let  amount_msat = if  let  Some ( invoice_amount_msat)  = invoice. amount_milli_satoshis ( )  { 
133138		invoice_amount_msat
@@ -156,10 +161,11 @@ pub fn preflight_probe_invoice<C: AChannelManager>(
156161/// invoice using the given amount. 
157162/// 
158163/// See [`ChannelManager::send_preflight_probes`] for more information. 
159- pub  fn  preflight_probe_zero_value_invoice < C :  AChannelManager > ( 
160- 	invoice :  & Bolt11Invoice ,  amount_msat :  u64 ,  channelmanager :  & C , 
164+ pub  fn  preflight_probe_zero_value_invoice < C :  Deref > ( 
165+ 	invoice :  & Bolt11Invoice ,  amount_msat :  u64 ,  channelmanager :  C , 
161166	liquidity_limit_multiplier :  Option < u64 > , 
162167)  -> Result < Vec < ( PaymentHash ,  PaymentId ) > ,  ProbingError > 
168+ where  C :: Target :  AChannelManager , 
163169{ 
164170	if  invoice. amount_milli_satoshis ( ) . is_some ( )  { 
165171		return  Err ( ProbingError :: Invoice ( "amount unexpected" ) ) ; 
0 commit comments