@@ -835,6 +835,7 @@ mod test {
835
835
use lightning:: util:: config:: UserConfig ;
836
836
use crate :: utils:: { create_invoice_from_channelmanager_and_duration_since_epoch, rotate_through_iterators} ;
837
837
use std:: collections:: HashSet ;
838
+ use lightning:: util:: dyn_signer:: { DynKeysInterface , DynPhantomKeysInterface } ;
838
839
use lightning:: util:: string:: UntrustedString ;
839
840
840
841
#[ test]
@@ -1295,6 +1296,13 @@ mod test {
1295
1296
do_test_multi_node_receive ( false ) ;
1296
1297
}
1297
1298
1299
+ fn make_dyn_keys_interface ( seed : & [ u8 ; 32 ] ) -> DynKeysInterface {
1300
+ let cross_node_seed = [ 44u8 ; 32 ] ;
1301
+ let inner = PhantomKeysManager :: new ( & seed, 43 , 44 , & cross_node_seed) ;
1302
+ let dyn_inner = DynPhantomKeysInterface :: new ( inner) ;
1303
+ DynKeysInterface :: new ( Box :: new ( dyn_inner) )
1304
+ }
1305
+
1298
1306
#[ cfg( feature = "std" ) ]
1299
1307
fn do_test_multi_node_receive ( user_generated_pmt_hash : bool ) {
1300
1308
use lightning:: events:: { Event , EventsProvider } ;
@@ -1303,9 +1311,8 @@ mod test {
1303
1311
let mut chanmon_cfgs = create_chanmon_cfgs ( 3 ) ;
1304
1312
let seed_1 = [ 42u8 ; 32 ] ;
1305
1313
let seed_2 = [ 43u8 ; 32 ] ;
1306
- let cross_node_seed = [ 44u8 ; 32 ] ;
1307
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1308
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1314
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1315
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1309
1316
let node_cfgs = create_node_cfgs ( 3 , & chanmon_cfgs) ;
1310
1317
let node_chanmgrs = create_node_chanmgrs ( 3 , & node_cfgs, & [ None , None , None ] ) ;
1311
1318
let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
@@ -1407,9 +1414,8 @@ mod test {
1407
1414
let mut chanmon_cfgs = create_chanmon_cfgs ( 3 ) ;
1408
1415
let seed_1 = [ 42u8 ; 32 ] ;
1409
1416
let seed_2 = [ 43u8 ; 32 ] ;
1410
- let cross_node_seed = [ 44u8 ; 32 ] ;
1411
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1412
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1417
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1418
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1413
1419
let node_cfgs = create_node_cfgs ( 3 , & chanmon_cfgs) ;
1414
1420
let node_chanmgrs = create_node_chanmgrs ( 3 , & node_cfgs, & [ None , None , None ] ) ;
1415
1421
let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
@@ -1501,9 +1507,8 @@ mod test {
1501
1507
let mut chanmon_cfgs = create_chanmon_cfgs ( 3 ) ;
1502
1508
let seed_1 = [ 42u8 ; 32 ] ;
1503
1509
let seed_2 = [ 43u8 ; 32 ] ;
1504
- let cross_node_seed = [ 44u8 ; 32 ] ;
1505
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1506
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1510
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1511
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1507
1512
let node_cfgs = create_node_cfgs ( 3 , & chanmon_cfgs) ;
1508
1513
let node_chanmgrs = create_node_chanmgrs ( 3 , & node_cfgs, & [ None , None , None ] ) ;
1509
1514
let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
@@ -1530,9 +1535,8 @@ mod test {
1530
1535
let mut chanmon_cfgs = create_chanmon_cfgs ( 4 ) ;
1531
1536
let seed_1 = [ 42u8 ; 32 ] ;
1532
1537
let seed_2 = [ 43u8 ; 32 ] ;
1533
- let cross_node_seed = [ 44u8 ; 32 ] ;
1534
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1535
- chanmon_cfgs[ 3 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1538
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1539
+ chanmon_cfgs[ 3 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1536
1540
let node_cfgs = create_node_cfgs ( 4 , & chanmon_cfgs) ;
1537
1541
let node_chanmgrs = create_node_chanmgrs ( 4 , & node_cfgs, & [ None , None , None , None ] ) ;
1538
1542
let nodes = create_network ( 4 , & node_cfgs, & node_chanmgrs) ;
@@ -1561,9 +1565,8 @@ mod test {
1561
1565
let mut chanmon_cfgs = create_chanmon_cfgs ( 4 ) ;
1562
1566
let seed_1 = [ 42u8 ; 32 ] ;
1563
1567
let seed_2 = [ 43u8 ; 32 ] ;
1564
- let cross_node_seed = [ 44u8 ; 32 ] ;
1565
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1566
- chanmon_cfgs[ 3 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1568
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1569
+ chanmon_cfgs[ 3 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1567
1570
let node_cfgs = create_node_cfgs ( 4 , & chanmon_cfgs) ;
1568
1571
let node_chanmgrs = create_node_chanmgrs ( 4 , & node_cfgs, & [ None , None , None , None ] ) ;
1569
1572
let nodes = create_network ( 4 , & node_cfgs, & node_chanmgrs) ;
@@ -1619,9 +1622,8 @@ mod test {
1619
1622
let mut chanmon_cfgs = create_chanmon_cfgs ( 3 ) ;
1620
1623
let seed_1 = [ 42u8 ; 32 ] ;
1621
1624
let seed_2 = [ 43u8 ; 32 ] ;
1622
- let cross_node_seed = [ 44u8 ; 32 ] ;
1623
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1624
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1625
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1626
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1625
1627
let node_cfgs = create_node_cfgs ( 3 , & chanmon_cfgs) ;
1626
1628
let node_chanmgrs = create_node_chanmgrs ( 3 , & node_cfgs, & [ None , None , None ] ) ;
1627
1629
let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
@@ -1652,9 +1654,8 @@ mod test {
1652
1654
let mut chanmon_cfgs = create_chanmon_cfgs ( 4 ) ;
1653
1655
let seed_1 = [ 42u8 ; 32 ] ;
1654
1656
let seed_2 = [ 43u8 ; 32 ] ;
1655
- let cross_node_seed = [ 44u8 ; 32 ] ;
1656
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1657
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1657
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1658
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1658
1659
let node_cfgs = create_node_cfgs ( 4 , & chanmon_cfgs) ;
1659
1660
let node_chanmgrs = create_node_chanmgrs ( 4 , & node_cfgs, & [ None , None , None , None ] ) ;
1660
1661
let nodes = create_network ( 4 , & node_cfgs, & node_chanmgrs) ;
@@ -1686,9 +1687,8 @@ mod test {
1686
1687
let mut chanmon_cfgs = create_chanmon_cfgs ( 3 ) ;
1687
1688
let seed_1 = [ 42u8 ; 32 ] ;
1688
1689
let seed_2 = [ 43u8 ; 32 ] ;
1689
- let cross_node_seed = [ 44u8 ; 32 ] ;
1690
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1691
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1690
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1691
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1692
1692
let node_cfgs = create_node_cfgs ( 3 , & chanmon_cfgs) ;
1693
1693
let node_chanmgrs = create_node_chanmgrs ( 3 , & node_cfgs, & [ None , None , None ] ) ;
1694
1694
let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
@@ -1717,9 +1717,8 @@ mod test {
1717
1717
let mut chanmon_cfgs = create_chanmon_cfgs ( 4 ) ;
1718
1718
let seed_1 = [ 42u8 ; 32 ] ;
1719
1719
let seed_2 = [ 43u8 ; 32 ] ;
1720
- let cross_node_seed = [ 44u8 ; 32 ] ;
1721
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1722
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1720
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1721
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1723
1722
let node_cfgs = create_node_cfgs ( 4 , & chanmon_cfgs) ;
1724
1723
let node_chanmgrs = create_node_chanmgrs ( 4 , & node_cfgs, & [ None , None , None , None ] ) ;
1725
1724
let nodes = create_network ( 4 , & node_cfgs, & node_chanmgrs) ;
@@ -1792,11 +1791,10 @@ mod test {
1792
1791
let seed_2 = [ 43 as u8 ; 32 ] ;
1793
1792
let seed_3 = [ 44 as u8 ; 32 ] ;
1794
1793
let seed_4 = [ 45 as u8 ; 32 ] ;
1795
- let cross_node_seed = [ 44 as u8 ; 32 ] ;
1796
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1797
- chanmon_cfgs[ 3 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1798
- chanmon_cfgs[ 4 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_3, 43 , 44 , & cross_node_seed) ;
1799
- chanmon_cfgs[ 5 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_4, 43 , 44 , & cross_node_seed) ;
1794
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1795
+ chanmon_cfgs[ 3 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1796
+ chanmon_cfgs[ 4 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_3) ;
1797
+ chanmon_cfgs[ 4 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_4) ;
1800
1798
let node_cfgs = create_node_cfgs ( 6 , & chanmon_cfgs) ;
1801
1799
let node_chanmgrs = create_node_chanmgrs ( 6 , & node_cfgs, & [ None , None , None , None , None , None ] ) ;
1802
1800
let nodes = create_network ( 6 , & node_cfgs, & node_chanmgrs) ;
@@ -1849,9 +1847,8 @@ mod test {
1849
1847
let mut chanmon_cfgs = create_chanmon_cfgs ( 5 ) ;
1850
1848
let seed_1 = [ 42 as u8 ; 32 ] ;
1851
1849
let seed_2 = [ 43 as u8 ; 32 ] ;
1852
- let cross_node_seed = [ 44 as u8 ; 32 ] ;
1853
- chanmon_cfgs[ 1 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_1, 43 , 44 , & cross_node_seed) ;
1854
- chanmon_cfgs[ 2 ] . keys_manager . backing = PhantomKeysManager :: new ( & seed_2, 43 , 44 , & cross_node_seed) ;
1850
+ chanmon_cfgs[ 1 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_1) ;
1851
+ chanmon_cfgs[ 2 ] . keys_manager . backing = make_dyn_keys_interface ( & seed_2) ;
1855
1852
let node_cfgs = create_node_cfgs ( 5 , & chanmon_cfgs) ;
1856
1853
let node_chanmgrs = create_node_chanmgrs ( 5 , & node_cfgs, & [ None , None , None , None , None ] ) ;
1857
1854
let nodes = create_network ( 5 , & node_cfgs, & node_chanmgrs) ;
0 commit comments