@@ -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 { .. } => {
@@ -370,8 +372,6 @@ where
370
372
param. into_opening_fee_params ( & self . config . promise_secret )
371
373
} )
372
374
. collect ( ) ,
373
- min_payment_size_msat : self . config . min_payment_size_msat ,
374
- max_payment_size_msat : self . config . max_payment_size_msat ,
375
375
} ) ;
376
376
self . enqueue_response ( counterparty_node_id, request_id, response) ;
377
377
Ok ( ( ) )
@@ -472,7 +472,7 @@ where
472
472
peer_state. outbound_channels_by_intercept_scid . get_mut ( & intercept_scid)
473
473
{
474
474
let htlc = InterceptedHTLC { intercept_id, expected_outbound_amount_msat } ;
475
- match jit_channel. htlc_intercepted ( htlc, & self . config ) {
475
+ match jit_channel. htlc_intercepted ( htlc) {
476
476
Ok ( Some ( ( opening_fee_msat, amt_to_forward_msat) ) ) => {
477
477
self . enqueue_event ( Event :: LSPS2Service (
478
478
LSPS2ServiceEvent :: OpenChannel {
@@ -616,7 +616,7 @@ where
616
616
& self , request_id : RequestId , counterparty_node_id : & PublicKey , params : BuyRequest ,
617
617
) -> Result < ( ) , LightningError > {
618
618
if let Some ( payment_size_msat) = params. payment_size_msat {
619
- if payment_size_msat < self . config . min_payment_size_msat {
619
+ if payment_size_msat < params . opening_fee_params . min_payment_size_msat {
620
620
self . enqueue_response (
621
621
counterparty_node_id,
622
622
request_id,
@@ -633,7 +633,7 @@ where
633
633
} ) ;
634
634
}
635
635
636
- if payment_size_msat > self . config . max_payment_size_msat {
636
+ if payment_size_msat > params . opening_fee_params . max_payment_size_msat {
637
637
self . enqueue_response (
638
638
counterparty_node_id,
639
639
request_id,
0 commit comments