@@ -44,10 +44,6 @@ pub struct LSPS2ServiceConfig {
44
44
///
45
45
/// Note: If this changes then old promises given out will be considered invalid.
46
46
pub promise_secret : [ u8 ; 32 ] ,
47
- /// The minimum payment size you are willing to accept.
48
- pub min_payment_size_msat : u64 ,
49
- /// The maximum payment size you are willing to accept.
50
- pub max_payment_size_msat : u64 ,
51
47
}
52
48
53
49
#[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
@@ -69,6 +65,8 @@ enum OutboundJITChannelState {
69
65
AwaitingPayment {
70
66
min_fee_msat : u64 ,
71
67
proportional_fee : u32 ,
68
+ min_payment_size_msat : u64 ,
69
+ max_payment_size_msat : u64 ,
72
70
htlcs : Vec < InterceptedHTLC > ,
73
71
payment_size_msat : Option < u64 > ,
74
72
} ,
@@ -88,18 +86,20 @@ impl OutboundJITChannelState {
88
86
OutboundJITChannelState :: AwaitingPayment {
89
87
min_fee_msat : opening_fee_params. min_fee_msat ,
90
88
proportional_fee : opening_fee_params. proportional ,
89
+ min_payment_size_msat : opening_fee_params. min_payment_size_msat ,
90
+ max_payment_size_msat : opening_fee_params. max_payment_size_msat ,
91
91
htlcs : vec ! [ ] ,
92
92
payment_size_msat,
93
93
}
94
94
}
95
95
96
- fn htlc_intercepted (
97
- & self , htlc : InterceptedHTLC , config : & LSPS2ServiceConfig ,
98
- ) -> Result < Self , ChannelStateError > {
96
+ fn htlc_intercepted ( & self , htlc : InterceptedHTLC ) -> Result < Self , ChannelStateError > {
99
97
match self {
100
98
OutboundJITChannelState :: AwaitingPayment {
101
99
htlcs,
102
100
payment_size_msat,
101
+ min_payment_size_msat,
102
+ max_payment_size_msat,
103
103
min_fee_msat,
104
104
proportional_fee,
105
105
} => {
@@ -122,14 +122,14 @@ impl OutboundJITChannelState {
122
122
( total_expected_outbound_amount_msat, false )
123
123
} ;
124
124
125
- if expected_payment_size_msat < config . min_payment_size_msat
126
- || expected_payment_size_msat > config . max_payment_size_msat
125
+ if expected_payment_size_msat < * min_payment_size_msat
126
+ || expected_payment_size_msat > * max_payment_size_msat
127
127
{
128
128
return Err ( ChannelStateError (
129
129
format ! ( "Payment size violates our limits: expected_payment_size_msat = {}, min_payment_size_msat = {}, max_payment_size_msat = {}" ,
130
130
expected_payment_size_msat,
131
- config . min_payment_size_msat,
132
- config . max_payment_size_msat
131
+ min_payment_size_msat,
132
+ max_payment_size_msat
133
133
) ) ) ;
134
134
}
135
135
@@ -164,6 +164,8 @@ impl OutboundJITChannelState {
164
164
proportional_fee : * proportional_fee,
165
165
htlcs,
166
166
payment_size_msat : * payment_size_msat,
167
+ min_payment_size_msat : * min_payment_size_msat,
168
+ max_payment_size_msat : * max_payment_size_msat,
167
169
} )
168
170
} else {
169
171
Err ( ChannelStateError (
@@ -211,9 +213,9 @@ impl OutboundJITChannel {
211
213
}
212
214
213
215
fn htlc_intercepted (
214
- & mut self , htlc : InterceptedHTLC , config : & LSPS2ServiceConfig ,
216
+ & mut self , htlc : InterceptedHTLC ,
215
217
) -> Result < Option < ( u64 , u64 ) > , LightningError > {
216
- self . state = self . state . htlc_intercepted ( htlc, config ) ?;
218
+ self . state = self . state . htlc_intercepted ( htlc) ?;
217
219
218
220
match & self . state {
219
221
OutboundJITChannelState :: AwaitingPayment { .. } => {
@@ -354,13 +356,7 @@ where
354
356
pub fn opening_fee_params_generated (
355
357
& self , counterparty_node_id : & PublicKey , request_id : RequestId ,
356
358
opening_fee_params_menu : Vec < RawOpeningFeeParams > ,
357
- min_payment_size_msat_override : Option < u64 > , max_payment_size_msat_override : Option < u64 > ,
358
359
) -> Result < ( ) , APIError > {
359
- let min_payment_size_msat =
360
- min_payment_size_msat_override. unwrap_or ( self . config . min_payment_size_msat ) ;
361
- let max_payment_size_msat =
362
- max_payment_size_msat_override. unwrap_or ( self . config . max_payment_size_msat ) ;
363
-
364
360
let outer_state_lock = self . per_peer_state . read ( ) . unwrap ( ) ;
365
361
366
362
match outer_state_lock. get ( counterparty_node_id) {
@@ -376,8 +372,6 @@ where
376
372
param. into_opening_fee_params ( & self . config . promise_secret )
377
373
} )
378
374
. collect ( ) ,
379
- min_payment_size_msat,
380
- max_payment_size_msat,
381
375
} ) ;
382
376
self . enqueue_response ( counterparty_node_id, request_id, response) ;
383
377
Ok ( ( ) )
@@ -478,7 +472,7 @@ where
478
472
peer_state. outbound_channels_by_intercept_scid . get_mut ( & intercept_scid)
479
473
{
480
474
let htlc = InterceptedHTLC { intercept_id, expected_outbound_amount_msat } ;
481
- match jit_channel. htlc_intercepted ( htlc, & self . config ) {
475
+ match jit_channel. htlc_intercepted ( htlc) {
482
476
Ok ( Some ( ( opening_fee_msat, amt_to_forward_msat) ) ) => {
483
477
self . enqueue_event ( Event :: LSPS2Service (
484
478
LSPS2ServiceEvent :: OpenChannel {
@@ -622,7 +616,7 @@ where
622
616
& self , request_id : RequestId , counterparty_node_id : & PublicKey , params : BuyRequest ,
623
617
) -> Result < ( ) , LightningError > {
624
618
if let Some ( payment_size_msat) = params. payment_size_msat {
625
- if payment_size_msat < self . config . min_payment_size_msat {
619
+ if payment_size_msat < params . opening_fee_params . min_payment_size_msat {
626
620
self . enqueue_response (
627
621
counterparty_node_id,
628
622
request_id,
@@ -639,7 +633,7 @@ where
639
633
} ) ;
640
634
}
641
635
642
- if payment_size_msat > self . config . max_payment_size_msat {
636
+ if payment_size_msat > params . opening_fee_params . max_payment_size_msat {
643
637
self . enqueue_response (
644
638
counterparty_node_id,
645
639
request_id,
0 commit comments