@@ -134,10 +134,17 @@ impl<'a> std::hash::Hash for Peer<'a> {
134
134
}
135
135
}
136
136
137
+ type ChannelMan = ChannelManager <
138
+ EnforcingChannelKeys ,
139
+ Arc < channelmonitor:: SimpleManyChannelMonitor < OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > ,
140
+ Arc < TestBroadcaster > , Arc < KeyProvider > , Arc < FuzzEstimator > , Arc < dyn Logger > > ;
141
+ type PeerMan < ' a > = PeerManager < Peer < ' a > , Arc < ChannelMan > , Arc < NetGraphMsgHandler < Arc < ChainWatchInterfaceUtil > , Arc < dyn Logger > > > , Arc < dyn Logger > > ;
142
+
137
143
struct MoneyLossDetector < ' a > {
138
- manager : Arc < ChannelManager < EnforcingChannelKeys , Arc < channelmonitor:: SimpleManyChannelMonitor < OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > , Arc < TestBroadcaster > , Arc < KeyProvider > , Arc < FuzzEstimator > , Arc < dyn Logger > > > ,
139
- monitor : Arc < channelmonitor:: SimpleManyChannelMonitor < OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > ,
140
- handler : PeerManager < Peer < ' a > , Arc < ChannelManager < EnforcingChannelKeys , Arc < channelmonitor:: SimpleManyChannelMonitor < OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > , Arc < TestBroadcaster > , Arc < KeyProvider > , Arc < FuzzEstimator > , Arc < dyn Logger > > > , Arc < dyn Logger > > ,
144
+ manager : Arc < ChannelMan > ,
145
+ monitor : Arc < channelmonitor:: SimpleManyChannelMonitor <
146
+ OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > ,
147
+ handler : PeerMan < ' a > ,
141
148
142
149
peers : & ' a RefCell < [ bool ; 256 ] > ,
143
150
funding_txn : Vec < Transaction > ,
@@ -149,9 +156,9 @@ struct MoneyLossDetector<'a> {
149
156
}
150
157
impl < ' a > MoneyLossDetector < ' a > {
151
158
pub fn new ( peers : & ' a RefCell < [ bool ; 256 ] > ,
152
- manager : Arc < ChannelManager < EnforcingChannelKeys , Arc < channelmonitor :: SimpleManyChannelMonitor < OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > , Arc < TestBroadcaster > , Arc < KeyProvider > , Arc < FuzzEstimator > , Arc < dyn Logger > > > ,
159
+ manager : Arc < ChannelMan > ,
153
160
monitor : Arc < channelmonitor:: SimpleManyChannelMonitor < OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > ,
154
- handler : PeerManager < Peer < ' a > , Arc < ChannelManager < EnforcingChannelKeys , Arc < channelmonitor :: SimpleManyChannelMonitor < OutPoint , EnforcingChannelKeys , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < ChainWatchInterfaceUtil > > > , Arc < TestBroadcaster > , Arc < KeyProvider > , Arc < FuzzEstimator > , Arc < dyn Logger > > > , Arc < dyn Logger > > ) -> Self {
161
+ handler : PeerMan < ' a > ) -> Self {
155
162
MoneyLossDetector {
156
163
manager,
157
164
monitor,
@@ -262,6 +269,7 @@ impl KeysInterface for KeyProvider {
262
269
SecretKey :: from_slice ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 5 , ctr] ) . unwrap ( ) ,
263
270
[ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 6 , ctr] ,
264
271
channel_value_satoshis,
272
+ ( 0 , 0 ) ,
265
273
)
266
274
} else {
267
275
InMemoryChannelKeys :: new (
@@ -273,6 +281,7 @@ impl KeysInterface for KeyProvider {
273
281
SecretKey :: from_slice ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 11 , ctr] ) . unwrap ( ) ,
274
282
[ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 12 , ctr] ,
275
283
channel_value_satoshis,
284
+ ( 0 , 0 ) ,
276
285
)
277
286
} )
278
287
}
@@ -332,7 +341,7 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
332
341
config. channel_options . fee_proportional_millionths = slice_to_be32 ( get_slice ! ( 4 ) ) ;
333
342
config. channel_options . announced_channel = get_slice ! ( 1 ) [ 0 ] != 0 ;
334
343
config. peer_channel_config_limits . min_dust_limit_satoshis = 0 ;
335
- let channelmanager = Arc :: new ( ChannelManager :: new ( Network :: Bitcoin , fee_est. clone ( ) , monitor. clone ( ) , broadcast. clone ( ) , Arc :: clone ( & logger) , keys_manager. clone ( ) , config, 0 ) . unwrap ( ) ) ;
344
+ let channelmanager = Arc :: new ( ChannelManager :: new ( Network :: Bitcoin , fee_est. clone ( ) , monitor. clone ( ) , broadcast. clone ( ) , Arc :: clone ( & logger) , keys_manager. clone ( ) , config, 0 ) ) ;
336
345
let our_id = PublicKey :: from_secret_key ( & Secp256k1 :: signing_only ( ) , & keys_manager. get_node_secret ( ) ) ;
337
346
let net_graph_msg_handler = Arc :: new ( NetGraphMsgHandler :: new ( watch. clone ( ) , Arc :: clone ( & logger) ) ) ;
338
347
@@ -476,7 +485,7 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
476
485
let funding_output = ' search_loop: loop {
477
486
let funding_txid = tx. txid ( ) ;
478
487
if let None = loss_detector. txids_confirmed . get ( & funding_txid) {
479
- let outpoint = OutPoint :: new ( funding_txid, 0 ) ;
488
+ let outpoint = OutPoint { txid : funding_txid, index : 0 } ;
480
489
for chan in channelmanager. list_channels ( ) {
481
490
if chan. channel_id == outpoint. to_channel_id ( ) {
482
491
tx. version += 1 ;
0 commit comments