@@ -186,4 +186,66 @@ async fn swap_reverse_same_channel() {
186186 assert_eq ! ( swaps_taker. taker. len( ) , 1 ) ;
187187 let swap_taker = swaps_taker. taker . first ( ) . unwrap ( ) ;
188188 assert_eq ! ( swap_taker. status, SwapStatus :: Succeeded ) ;
189+
190+ let private_asset_id = issue_asset_nia ( node1_addr) . await . asset_id ;
191+ open_channel_funded_raw (
192+ node1_addr,
193+ & node2_pubkey,
194+ Some ( NODE2_PEER_PORT ) ,
195+ Some ( 100000 ) ,
196+ Some ( 50000000 ) ,
197+ Some ( 100 ) ,
198+ Some ( & private_asset_id) ,
199+ None ,
200+ None ,
201+ None ,
202+ None ,
203+ true ,
204+ false ,
205+ )
206+ . await
207+ . expect ( "private channel opening should succeed" ) ;
208+
209+ println ! ( "\n setup private channel swap" ) ;
210+ let maker_addr = node1_addr;
211+ let taker_addr = node2_addr;
212+ let qty_from = 25000 ;
213+ let qty_to = 10 ;
214+ let maker_init_response = maker_init (
215+ maker_addr,
216+ qty_from,
217+ None ,
218+ qty_to,
219+ Some ( & private_asset_id) ,
220+ 3600 ,
221+ )
222+ . await ;
223+ taker ( taker_addr, maker_init_response. swapstring . clone ( ) ) . await ;
224+
225+ println ! ( "\n execute private channel swap" ) ;
226+ maker_execute (
227+ maker_addr,
228+ maker_init_response. swapstring ,
229+ maker_init_response. payment_secret ,
230+ node2_pubkey,
231+ )
232+ . await ;
233+
234+ let swaps_maker = list_swaps ( maker_addr) . await ;
235+ assert_eq ! ( swaps_maker. maker. len( ) , 2 ) ;
236+ let swap_maker = swaps_maker
237+ . maker
238+ . iter ( )
239+ . find ( |s| s. payment_hash == maker_init_response. payment_hash )
240+ . unwrap ( ) ;
241+ assert_eq ! ( swap_maker. status, SwapStatus :: Pending ) ;
242+ wait_for_swap_status (
243+ taker_addr,
244+ & maker_init_response. payment_hash ,
245+ SwapStatus :: Pending ,
246+ )
247+ . await ;
248+
249+ wait_for_ln_balance ( maker_addr, & private_asset_id, 90 ) . await ;
250+ wait_for_ln_balance ( taker_addr, & private_asset_id, 10 ) . await ;
189251}
0 commit comments