@@ -38,10 +38,10 @@ use lightning::ln::peer_handler::{MessageHandler,PeerManager,SocketDescriptor,Ig
38
38
use lightning:: ln:: msgs:: DecodeError ;
39
39
use lightning:: ln:: script:: ShutdownScript ;
40
40
use lightning:: routing:: router:: get_route;
41
- use lightning:: routing:: network_graph:: NetGraphMsgHandler ;
41
+ use lightning:: routing:: network_graph:: { NetGraphMsgHandler , NetworkGraph } ;
42
42
use lightning:: util:: config:: UserConfig ;
43
43
use lightning:: util:: errors:: APIError ;
44
- use lightning:: util:: events:: Event ;
44
+ use lightning:: util:: events:: { Event , EventHandler } ;
45
45
use lightning:: util:: enforcing_trait_impls:: EnforcingSigner ;
46
46
use lightning:: util:: logger:: Logger ;
47
47
use lightning:: util:: ser:: Readable ;
@@ -160,12 +160,12 @@ type ChannelMan = ChannelManager<
160
160
EnforcingSigner ,
161
161
Arc < chainmonitor:: ChainMonitor < EnforcingSigner , Arc < dyn chain:: Filter > , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < TestPersister > > > ,
162
162
Arc < TestBroadcaster > , Arc < KeyProvider > , Arc < FuzzEstimator > , Arc < dyn Logger > > ;
163
- type PeerMan < ' a > = PeerManager < Peer < ' a > , Arc < ChannelMan > , Arc < NetGraphMsgHandler < Arc < dyn chain:: Access > , Arc < dyn Logger > > > , Arc < dyn Logger > , IgnoringMessageHandler > ;
163
+ type PeerMan < ' a , E > = PeerManager < Peer < ' a > , Arc < ChannelMan > , Arc < NetGraphMsgHandler < Arc < dyn chain:: Access > , Arc < dyn Logger > , E > > , Arc < dyn Logger > , IgnoringMessageHandler > ;
164
164
165
- struct MoneyLossDetector < ' a > {
165
+ struct MoneyLossDetector < ' a , E : EventHandler > {
166
166
manager : Arc < ChannelMan > ,
167
167
monitor : Arc < chainmonitor:: ChainMonitor < EnforcingSigner , Arc < dyn chain:: Filter > , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < TestPersister > > > ,
168
- handler : PeerMan < ' a > ,
168
+ handler : PeerMan < ' a , E > ,
169
169
170
170
peers : & ' a RefCell < [ bool ; 256 ] > ,
171
171
funding_txn : Vec < Transaction > ,
@@ -175,11 +175,11 @@ struct MoneyLossDetector<'a> {
175
175
max_height : usize ,
176
176
blocks_connected : u32 ,
177
177
}
178
- impl < ' a > MoneyLossDetector < ' a > {
178
+ impl < ' a , E : EventHandler > MoneyLossDetector < ' a , E > {
179
179
pub fn new ( peers : & ' a RefCell < [ bool ; 256 ] > ,
180
180
manager : Arc < ChannelMan > ,
181
181
monitor : Arc < chainmonitor:: ChainMonitor < EnforcingSigner , Arc < dyn chain:: Filter > , Arc < TestBroadcaster > , Arc < FuzzEstimator > , Arc < dyn Logger > , Arc < TestPersister > > > ,
182
- handler : PeerMan < ' a > ) -> Self {
182
+ handler : PeerMan < ' a , E > ) -> Self {
183
183
MoneyLossDetector {
184
184
manager,
185
185
monitor,
@@ -238,7 +238,7 @@ impl<'a> MoneyLossDetector<'a> {
238
238
}
239
239
}
240
240
241
- impl < ' a > Drop for MoneyLossDetector < ' a > {
241
+ impl < ' a , E : EventHandler > Drop for MoneyLossDetector < ' a , E > {
242
242
fn drop ( & mut self ) {
243
243
if !:: std:: thread:: panicking ( ) {
244
244
// Disconnect all peers
@@ -371,7 +371,8 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
371
371
} ;
372
372
let channelmanager = Arc :: new ( ChannelManager :: new ( fee_est. clone ( ) , monitor. clone ( ) , broadcast. clone ( ) , Arc :: clone ( & logger) , keys_manager. clone ( ) , config, params) ) ;
373
373
let our_id = PublicKey :: from_secret_key ( & Secp256k1 :: signing_only ( ) , & keys_manager. get_node_secret ( ) ) ;
374
- let net_graph_msg_handler = Arc :: new ( NetGraphMsgHandler :: new ( genesis_block ( network) . block_hash ( ) , None , Arc :: clone ( & logger) ) ) ;
374
+ let network_graph = NetworkGraph :: new ( genesis_block ( network) . block_hash ( ) ) ;
375
+ let net_graph_msg_handler = Arc :: new ( NetGraphMsgHandler :: new ( network_graph, None , Arc :: clone ( & logger) , |_: & _ | { } ) ) ;
375
376
376
377
let peers = RefCell :: new ( [ false ; 256 ] ) ;
377
378
let mut loss_detector = MoneyLossDetector :: new ( & peers, channelmanager. clone ( ) , monitor. clone ( ) , PeerManager :: new ( MessageHandler {
0 commit comments