@@ -221,6 +221,7 @@ enum KeyStorage {
221
221
revocation_base_key : SecretKey ,
222
222
htlc_base_key : SecretKey ,
223
223
delayed_payment_base_key : SecretKey ,
224
+ payment_base_key : SecretKey ,
224
225
prev_latest_per_commitment_point : Option < PublicKey > ,
225
226
latest_per_commitment_point : Option < PublicKey > ,
226
227
} ,
@@ -340,7 +341,7 @@ impl PartialEq for ChannelMonitor {
340
341
}
341
342
342
343
impl ChannelMonitor {
343
- pub ( super ) fn new ( revocation_base_key : & SecretKey , delayed_payment_base_key : & SecretKey , htlc_base_key : & SecretKey , our_to_self_delay : u16 , destination_script : Script , logger : Arc < Logger > ) -> ChannelMonitor {
344
+ pub ( super ) fn new ( revocation_base_key : & SecretKey , delayed_payment_base_key : & SecretKey , htlc_base_key : & SecretKey , payment_base_key : & SecretKey , our_to_self_delay : u16 , destination_script : Script , logger : Arc < Logger > ) -> ChannelMonitor {
344
345
ChannelMonitor {
345
346
funding_txo : None ,
346
347
commitment_transaction_number_obscure_factor : 0 ,
@@ -349,6 +350,7 @@ impl ChannelMonitor {
349
350
revocation_base_key : revocation_base_key. clone ( ) ,
350
351
htlc_base_key : htlc_base_key. clone ( ) ,
351
352
delayed_payment_base_key : delayed_payment_base_key. clone ( ) ,
353
+ payment_base_key : payment_base_key. clone ( ) ,
352
354
prev_latest_per_commitment_point : None ,
353
355
latest_per_commitment_point : None ,
354
356
} ,
@@ -512,11 +514,12 @@ impl ChannelMonitor {
512
514
feerate_per_kw,
513
515
htlc_outputs,
514
516
} ) ;
515
- self . key_storage = if let KeyStorage :: PrivMode { ref revocation_base_key, ref htlc_base_key, ref delayed_payment_base_key, prev_latest_per_commitment_point : _, ref latest_per_commitment_point } = self . key_storage {
517
+ self . key_storage = if let KeyStorage :: PrivMode { ref revocation_base_key, ref htlc_base_key, ref delayed_payment_base_key, ref payment_base_key , prev_latest_per_commitment_point : _, ref latest_per_commitment_point } = self . key_storage {
516
518
KeyStorage :: PrivMode {
517
519
revocation_base_key : * revocation_base_key,
518
520
htlc_base_key : * htlc_base_key,
519
521
delayed_payment_base_key : * delayed_payment_base_key,
522
+ payment_base_key : * payment_base_key,
520
523
prev_latest_per_commitment_point : * latest_per_commitment_point,
521
524
latest_per_commitment_point : Some ( local_keys. per_commitment_point ) ,
522
525
}
@@ -642,11 +645,12 @@ impl ChannelMonitor {
642
645
U48 ( self . commitment_transaction_number_obscure_factor ) . write ( writer) ?;
643
646
644
647
match self . key_storage {
645
- KeyStorage :: PrivMode { ref revocation_base_key, ref htlc_base_key, ref delayed_payment_base_key, ref prev_latest_per_commitment_point, ref latest_per_commitment_point } => {
648
+ KeyStorage :: PrivMode { ref revocation_base_key, ref htlc_base_key, ref delayed_payment_base_key, ref payment_base_key , ref prev_latest_per_commitment_point, ref latest_per_commitment_point } => {
646
649
writer. write_all ( & [ 0 ; 1 ] ) ?;
647
650
writer. write_all ( & revocation_base_key[ ..] ) ?;
648
651
writer. write_all ( & htlc_base_key[ ..] ) ?;
649
652
writer. write_all ( & delayed_payment_base_key[ ..] ) ?;
653
+ writer. write_all ( & payment_base_key[ ..] ) ?;
650
654
if let Some ( ref prev_latest_per_commitment_point) = * prev_latest_per_commitment_point {
651
655
writer. write_all ( & [ 1 ; 1 ] ) ?;
652
656
writer. write_all ( & prev_latest_per_commitment_point. serialize ( ) ) ?;
@@ -911,7 +915,23 @@ impl ChannelMonitor {
911
915
htlc_idxs. push ( None ) ;
912
916
values. push ( outp. value ) ;
913
917
total_value += outp. value ;
914
- break ; // There can only be one of these
918
+ } else if outp. script_pubkey . is_v0_p2wpkh ( ) {
919
+ match self . key_storage {
920
+ KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, delayed_payment_base_key : _, ref payment_base_key, prev_latest_per_commitment_point : _, latest_per_commitment_point : _ } => {
921
+ let per_commitment_point = PublicKey :: from_secret_key ( & self . secp_ctx , & per_commitment_key) ;
922
+ if let Ok ( local_key) = chan_utils:: derive_private_key ( & self . secp_ctx , & per_commitment_point, & payment_base_key) {
923
+ spendable_outputs. push ( SpendableOutputDescriptor :: DynamicOutput {
924
+ outpoint : BitcoinOutPoint { txid : commitment_txid, vout : idx as u32 } ,
925
+ key : local_key,
926
+ witness_script : None ,
927
+ to_self_delay : 0 ,
928
+ } ) ;
929
+ }
930
+ }
931
+ KeyStorage :: SigsMode { .. } => {
932
+ unimplemented ! ( ) ;
933
+ }
934
+ }
915
935
}
916
936
}
917
937
@@ -1049,6 +1069,27 @@ impl ChannelMonitor {
1049
1069
Some ( their_htlc_base_key) => ignore_error ! ( chan_utils:: derive_public_key( & self . secp_ctx, revocation_point, & their_htlc_base_key) ) ,
1050
1070
} ;
1051
1071
1072
+
1073
+ for ( idx, outp) in tx. output . iter ( ) . enumerate ( ) {
1074
+ if outp. script_pubkey . is_v0_p2wpkh ( ) {
1075
+ match self . key_storage {
1076
+ KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, delayed_payment_base_key : _, ref payment_base_key, prev_latest_per_commitment_point : _, latest_per_commitment_point : _ } => {
1077
+ if let Ok ( local_key) = chan_utils:: derive_private_key ( & self . secp_ctx , & revocation_point, & payment_base_key) {
1078
+ spendable_outputs. push ( SpendableOutputDescriptor :: DynamicOutput {
1079
+ outpoint : BitcoinOutPoint { txid : commitment_txid, vout : idx as u32 } ,
1080
+ key : local_key,
1081
+ witness_script : None ,
1082
+ to_self_delay : 0 ,
1083
+ } ) ;
1084
+ }
1085
+ }
1086
+ KeyStorage :: SigsMode { .. } => {
1087
+ unimplemented ! ( ) ;
1088
+ }
1089
+ }
1090
+ }
1091
+ }
1092
+
1052
1093
let mut total_value = 0 ;
1053
1094
let mut values = Vec :: new ( ) ;
1054
1095
let mut inputs = Vec :: new ( ) ;
@@ -1242,8 +1283,8 @@ impl ChannelMonitor {
1242
1283
if let Ok ( local_delayedkey) = chan_utils:: derive_private_key( & self . secp_ctx, per_commitment_point, delayed_payment_base_key) {
1243
1284
spendable_outputs. push( SpendableOutputDescriptor :: DynamicOutput {
1244
1285
outpoint: BitcoinOutPoint { txid: $father_tx. txid( ) , vout: $vout } ,
1245
- local_delayedkey,
1246
- witness_script: chan_utils:: get_revokeable_redeemscript( & local_tx. revocation_key, self . our_to_self_delay, & local_tx. delayed_payment_key) ,
1286
+ key : local_delayedkey,
1287
+ witness_script: Some ( chan_utils:: get_revokeable_redeemscript( & local_tx. revocation_key, self . our_to_self_delay, & local_tx. delayed_payment_key) ) ,
1247
1288
to_self_delay: self . our_to_self_delay
1248
1289
} ) ;
1249
1290
}
@@ -1309,7 +1350,7 @@ impl ChannelMonitor {
1309
1350
if let & Some ( ref local_tx) = & self . current_local_signed_commitment_tx {
1310
1351
if local_tx. txid == commitment_txid {
1311
1352
match self . key_storage {
1312
- KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, ref delayed_payment_base_key, prev_latest_per_commitment_point : _, ref latest_per_commitment_point } => {
1353
+ KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, ref delayed_payment_base_key, payment_base_key : _ , prev_latest_per_commitment_point : _, ref latest_per_commitment_point } => {
1313
1354
return self . broadcast_by_local_state ( local_tx, latest_per_commitment_point, & Some ( * delayed_payment_base_key) ) ;
1314
1355
} ,
1315
1356
KeyStorage :: SigsMode { .. } => {
@@ -1321,7 +1362,7 @@ impl ChannelMonitor {
1321
1362
if let & Some ( ref local_tx) = & self . prev_local_signed_commitment_tx {
1322
1363
if local_tx. txid == commitment_txid {
1323
1364
match self . key_storage {
1324
- KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, ref delayed_payment_base_key, ref prev_latest_per_commitment_point, .. } => {
1365
+ KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, ref delayed_payment_base_key, payment_base_key : _ , ref prev_latest_per_commitment_point, .. } => {
1325
1366
return self . broadcast_by_local_state ( local_tx, prev_latest_per_commitment_point, & Some ( * delayed_payment_base_key) ) ;
1326
1367
} ,
1327
1368
KeyStorage :: SigsMode { .. } => {
@@ -1393,7 +1434,7 @@ impl ChannelMonitor {
1393
1434
if self . would_broadcast_at_height ( height) {
1394
1435
broadcaster. broadcast_transaction ( & cur_local_tx. tx ) ;
1395
1436
match self . key_storage {
1396
- KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, ref delayed_payment_base_key, prev_latest_per_commitment_point : _, ref latest_per_commitment_point } => {
1437
+ KeyStorage :: PrivMode { revocation_base_key : _, htlc_base_key : _, ref delayed_payment_base_key, payment_base_key : _ , prev_latest_per_commitment_point : _, ref latest_per_commitment_point } => {
1397
1438
let ( txs, mut outputs) = self . broadcast_by_local_state ( & cur_local_tx, latest_per_commitment_point, & Some ( * delayed_payment_base_key) ) ;
1398
1439
spendable_outputs. append ( & mut outputs) ;
1399
1440
for tx in txs {
@@ -1481,6 +1522,7 @@ impl<R: ::std::io::Read> ReadableArgs<R, Arc<Logger>> for (Sha256dHash, ChannelM
1481
1522
let revocation_base_key = Readable :: read ( reader) ?;
1482
1523
let htlc_base_key = Readable :: read ( reader) ?;
1483
1524
let delayed_payment_base_key = Readable :: read ( reader) ?;
1525
+ let payment_base_key = Readable :: read ( reader) ?;
1484
1526
let prev_latest_per_commitment_point = match <u8 as Readable < R > >:: read ( reader) ? {
1485
1527
0 => None ,
1486
1528
1 => Some ( Readable :: read ( reader) ?) ,
@@ -1495,6 +1537,7 @@ impl<R: ::std::io::Read> ReadableArgs<R, Arc<Logger>> for (Sha256dHash, ChannelM
1495
1537
revocation_base_key,
1496
1538
htlc_base_key,
1497
1539
delayed_payment_base_key,
1540
+ payment_base_key,
1498
1541
prev_latest_per_commitment_point,
1499
1542
latest_per_commitment_point,
1500
1543
}
@@ -1724,7 +1767,7 @@ mod tests {
1724
1767
1725
1768
{
1726
1769
// insert_secret correct sequence
1727
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1770
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1728
1771
secrets. clear ( ) ;
1729
1772
1730
1773
secrets. push ( [ 0 ; 32 ] ) ;
@@ -1770,7 +1813,7 @@ mod tests {
1770
1813
1771
1814
{
1772
1815
// insert_secret #1 incorrect
1773
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1816
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1774
1817
secrets. clear ( ) ;
1775
1818
1776
1819
secrets. push ( [ 0 ; 32 ] ) ;
@@ -1786,7 +1829,7 @@ mod tests {
1786
1829
1787
1830
{
1788
1831
// insert_secret #2 incorrect (#1 derived from incorrect)
1789
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1832
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1790
1833
secrets. clear ( ) ;
1791
1834
1792
1835
secrets. push ( [ 0 ; 32 ] ) ;
@@ -1812,7 +1855,7 @@ mod tests {
1812
1855
1813
1856
{
1814
1857
// insert_secret #3 incorrect
1815
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1858
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1816
1859
secrets. clear ( ) ;
1817
1860
1818
1861
secrets. push ( [ 0 ; 32 ] ) ;
@@ -1838,7 +1881,7 @@ mod tests {
1838
1881
1839
1882
{
1840
1883
// insert_secret #4 incorrect (1,2,3 derived from incorrect)
1841
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1884
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1842
1885
secrets. clear ( ) ;
1843
1886
1844
1887
secrets. push ( [ 0 ; 32 ] ) ;
@@ -1884,7 +1927,7 @@ mod tests {
1884
1927
1885
1928
{
1886
1929
// insert_secret #5 incorrect
1887
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1930
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1888
1931
secrets. clear ( ) ;
1889
1932
1890
1933
secrets. push ( [ 0 ; 32 ] ) ;
@@ -1920,7 +1963,7 @@ mod tests {
1920
1963
1921
1964
{
1922
1965
// insert_secret #6 incorrect (5 derived from incorrect)
1923
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1966
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1924
1967
secrets. clear ( ) ;
1925
1968
1926
1969
secrets. push ( [ 0 ; 32 ] ) ;
@@ -1966,7 +2009,7 @@ mod tests {
1966
2009
1967
2010
{
1968
2011
// insert_secret #7 incorrect
1969
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
2012
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
1970
2013
secrets. clear ( ) ;
1971
2014
1972
2015
secrets. push ( [ 0 ; 32 ] ) ;
@@ -2012,7 +2055,7 @@ mod tests {
2012
2055
2013
2056
{
2014
2057
// insert_secret #8 incorrect
2015
- monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
2058
+ monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
2016
2059
secrets. clear ( ) ;
2017
2060
2018
2061
secrets. push ( [ 0 ; 32 ] ) ;
@@ -2131,7 +2174,7 @@ mod tests {
2131
2174
2132
2175
// Prune with one old state and a local commitment tx holding a few overlaps with the
2133
2176
// old state.
2134
- let mut monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
2177
+ let mut monitor = ChannelMonitor :: new ( & SecretKey :: from_slice ( & secp_ctx, & [ 42 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 43 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx, & [ 44 ; 32 ] ) . unwrap ( ) , & SecretKey :: from_slice ( & secp_ctx , & [ 44 ; 32 ] ) . unwrap ( ) , 0 , Script :: new ( ) , logger. clone ( ) ) ;
2135
2178
monitor. set_their_to_self_delay ( 10 ) ;
2136
2179
2137
2180
monitor. provide_latest_local_commitment_tx_info ( dummy_tx. clone ( ) , dummy_keys ! ( ) , 0 , preimages_to_local_htlcs ! ( preimages[ 0 ..10 ] ) ) ;
0 commit comments