@@ -186,7 +186,7 @@ where
186186 /// [`LSPS1ServiceEvent::RequestForPaymentDetails`]: crate::lsps1::event::LSPS1ServiceEvent::RequestForPaymentDetails
187187 pub fn send_payment_details (
188188 & self , request_id : LSPSRequestId , counterparty_node_id : & PublicKey ,
189- payment : LSPS1PaymentInfo , created_at : LSPSDateTime ,
189+ payment_details : LSPS1PaymentInfo , created_at : LSPSDateTime ,
190190 ) -> Result < ( ) , APIError > {
191191 let mut message_queue_notifier = self . pending_messages . notifier ( ) ;
192192
@@ -203,23 +203,21 @@ where
203203 match request {
204204 LSPS1Request :: CreateOrder ( params) => {
205205 let order_id = self . generate_order_id ( ) ;
206- peer_state_lock. new_order (
206+ let order = peer_state_lock. new_order (
207207 order_id. clone ( ) ,
208- params. order . clone ( ) ,
208+ params. order ,
209209 created_at,
210- payment . clone ( ) ,
210+ payment_details ,
211211 ) ;
212212
213213 let response = LSPS1Response :: CreateOrder ( LSPS1CreateOrderResponse {
214- order : params . order ,
214+ order : order. order_params ,
215215 order_id,
216216
217- // TODO, we need to set this in the peer/channel state, and send the
218- // set value here:
219- order_state : LSPS1OrderState :: Created ,
220- created_at,
221- payment,
222- channel : None ,
217+ order_state : order. order_state ,
218+ created_at : order. created_at ,
219+ payment : order. payment_details ,
220+ channel : order. channel_details ,
223221 } ) ;
224222 let msg = LSPS1Message :: Response ( request_id, response) . into ( ) ;
225223 message_queue_notifier. enqueue ( counterparty_node_id, msg) ;
@@ -289,30 +287,28 @@ where
289287 /// [`LSPS1ServiceEvent::CheckPaymentConfirmation`]: crate::lsps1::event::LSPS1ServiceEvent::CheckPaymentConfirmation
290288 pub fn update_order_status (
291289 & self , request_id : LSPSRequestId , counterparty_node_id : PublicKey , order_id : LSPS1OrderId ,
292- order_state : LSPS1OrderState , channel : Option < LSPS1ChannelInfo > ,
290+ order_state : LSPS1OrderState , channel_details : Option < LSPS1ChannelInfo > ,
293291 ) -> Result < ( ) , APIError > {
294292 let mut message_queue_notifier = self . pending_messages . notifier ( ) ;
295293
296294 let outer_state_lock = self . per_peer_state . read ( ) . unwrap ( ) ;
297295
298296 match outer_state_lock. get ( & counterparty_node_id) {
299297 Some ( inner_state_lock) => {
300- let peer_state_lock = inner_state_lock. lock ( ) . unwrap ( ) ;
301- let order =
302- peer_state_lock. get_order ( & order_id) . ok_or ( APIError :: APIMisuseError {
303- err : format ! ( "Channel with order_id {} not found" , order_id. 0 ) ,
304- } ) ?;
305-
306- // FIXME: we need to actually remember the order state (and eventually persist it)
307- // here.
298+ let mut peer_state_lock = inner_state_lock. lock ( ) . unwrap ( ) ;
299+ let order = peer_state_lock
300+ . update_order ( & order_id, order_state, channel_details)
301+ . map_err ( |e| APIError :: APIMisuseError {
302+ err : format ! ( "Failed to update order: {:?}" , e) ,
303+ } ) ?;
308304
309305 let response = LSPS1Response :: GetOrder ( LSPS1CreateOrderResponse {
310306 order_id,
311307 order : order. order_params . clone ( ) ,
312- order_state,
308+ order_state : order . order_state . clone ( ) ,
313309 created_at : order. created_at . clone ( ) ,
314310 payment : order. payment_details . clone ( ) ,
315- channel,
311+ channel : order . channel_details . clone ( ) ,
316312 } ) ;
317313 let msg = LSPS1Message :: Response ( request_id, response) . into ( ) ;
318314 message_queue_notifier. enqueue ( & counterparty_node_id, msg) ;
0 commit comments