@@ -11,7 +11,7 @@ use common::{
11
11
do_channel_full_cycle, expect_channel_ready_event, expect_event, expect_payment_received_event,
12
12
expect_payment_successful_event, generate_blocks_and_wait, open_channel,
13
13
premine_and_distribute_funds, random_config, setup_bitcoind_and_electrsd, setup_builder,
14
- setup_node, setup_two_nodes, wait_for_tx, TestSyncStore ,
14
+ setup_node, setup_two_nodes, wait_for_tx, TestChainSource , TestSyncStore ,
15
15
} ;
16
16
17
17
use ldk_node:: config:: EsploraSyncConfig ;
@@ -21,49 +21,63 @@ use ldk_node::{Builder, Event, NodeError};
21
21
use lightning:: ln:: channelmanager:: PaymentId ;
22
22
use lightning:: util:: persist:: KVStore ;
23
23
24
- use bitcoin:: { Amount , Network } ;
24
+ use bitcoin:: Amount ;
25
25
26
26
use std:: sync:: Arc ;
27
27
28
28
#[ test]
29
29
fn channel_full_cycle ( ) {
30
30
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
31
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
31
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
32
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
33
+ do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
34
+ }
35
+
36
+ #[ test]
37
+ fn channel_full_cycle_bitcoind ( ) {
38
+ let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
39
+ let chain_source = TestChainSource :: BitcoindRpc ( & bitcoind) ;
40
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
32
41
do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
33
42
}
34
43
35
44
#[ test]
36
45
fn channel_full_cycle_force_close ( ) {
37
46
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
38
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
47
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
48
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
39
49
do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
40
50
}
41
51
42
52
#[ test]
43
53
fn channel_full_cycle_force_close_trusted_no_reserve ( ) {
44
54
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
45
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , true ) ;
55
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
56
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , true ) ;
46
57
do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
47
58
}
48
59
49
60
#[ test]
50
61
fn channel_full_cycle_0conf ( ) {
51
62
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
52
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, true , true , false ) ;
63
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
64
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, true , true , false ) ;
53
65
do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , true , true , false )
54
66
}
55
67
56
68
#[ test]
57
69
fn channel_full_cycle_legacy_staticremotekey ( ) {
58
70
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
59
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , false , false ) ;
71
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
72
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
60
73
do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , false , false ) ;
61
74
}
62
75
63
76
#[ test]
64
77
fn channel_open_fails_when_funds_insufficient ( ) {
65
78
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
66
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
79
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
80
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
67
81
68
82
let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
69
83
let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -266,7 +280,8 @@ fn start_stop_reinit() {
266
280
#[ test]
267
281
fn onchain_spend_receive ( ) {
268
282
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
269
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
283
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
284
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
270
285
271
286
let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
272
287
let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -315,7 +330,8 @@ fn onchain_spend_receive() {
315
330
fn sign_verify_msg ( ) {
316
331
let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
317
332
let config = random_config ( true ) ;
318
- let node = setup_node ( & electrsd, config) ;
333
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
334
+ let node = setup_node ( & chain_source, config) ;
319
335
320
336
// Tests arbitrary message signing and later verification
321
337
let msg = "OK computer" . as_bytes ( ) ;
@@ -332,7 +348,8 @@ fn connection_restart_behavior() {
332
348
333
349
fn do_connection_restart_behavior ( persist : bool ) {
334
350
let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
335
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , false , false ) ;
351
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
352
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
336
353
337
354
let node_id_a = node_a. node_id ( ) ;
338
355
let node_id_b = node_b. node_id ( ) ;
@@ -383,7 +400,8 @@ fn do_connection_restart_behavior(persist: bool) {
383
400
#[ test]
384
401
fn concurrent_connections_succeed ( ) {
385
402
let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
386
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
403
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
404
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
387
405
388
406
let node_a = Arc :: new ( node_a) ;
389
407
let node_b = Arc :: new ( node_b) ;
@@ -413,7 +431,8 @@ fn concurrent_connections_succeed() {
413
431
#[ test]
414
432
fn simple_bolt12_send_receive ( ) {
415
433
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
416
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
434
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
435
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
417
436
418
437
let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
419
438
let premine_amount_sat = 5_000_000 ;
@@ -620,7 +639,8 @@ fn simple_bolt12_send_receive() {
620
639
#[ test]
621
640
fn generate_bip21_uri ( ) {
622
641
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
623
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
642
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
643
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
624
644
625
645
let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
626
646
let premined_sats = 5_000_000 ;
@@ -661,7 +681,8 @@ fn generate_bip21_uri() {
661
681
#[ test]
662
682
fn unified_qr_send_receive ( ) {
663
683
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
664
- let ( node_a, node_b) = setup_two_nodes ( & electrsd, false , true , false ) ;
684
+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
685
+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
665
686
666
687
let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
667
688
let premined_sats = 5_000_000 ;
0 commit comments