@@ -40,7 +40,7 @@ public class HumanObjectPeerTestInstance {
4040 let seed : UInt8
4141 var filterAdditions : Set < String >
4242 let monitors : [ String : ChannelMonitor ]
43- private( set) var filter : Filter !
43+ private( set) var filter : Option_FilterZ !
4444 private( set) var keysInterface : KeysInterface !
4545 private( set) var explicitKeysManager : KeysManager ?
4646 private( set) var router : NetGraphMsgHandler !
@@ -60,8 +60,9 @@ public class HumanObjectPeerTestInstance {
6060
6161 fileprivate class TestBroadcaster : BroadcasterInterface {
6262 weak var master : Peer !
63- fileprivate init ( master: Peer ) {
64- self . master = master
63+
64+ fileprivate init ( master: Peer ) {
65+ self . master = master
6566 super. init ( )
6667 }
6768 }
@@ -74,10 +75,14 @@ public class HumanObjectPeerTestInstance {
7475 self . master = master
7576 super. init ( )
7677 }
78+
7779 override func register_output( output: WatchedOutput ) -> Option_C2Tuple_usizeTransactionZZ {
78- self . master. filterAdditions. insert ( " \( output. get_outpoint ( ) !. get_txid ( ) ) : \( output. get_outpoint ( ) !. get_index ( ) ) " )
80+ if let outpoint = output. get_outpoint ( ) {
81+ self . master. filterAdditions. insert ( " \( outpoint. get_txid ( ) ) : \( outpoint. get_index ( ) ) " )
82+ }
7983 return Option_C2Tuple_usizeTransactionZZ ( value: nil )
8084 }
85+
8186 override func register_tx( txid: [ UInt8 ] ? , script_pubkey: [ UInt8 ] ) {
8287 self . master. filterAdditions. insert ( " \( txid) " )
8388 }
@@ -88,7 +93,7 @@ public class HumanObjectPeerTestInstance {
8893 weak var master : Peer !
8994 let interface : KeysInterface
9095
91- fileprivate init ( master: Peer , underlyingInterface: KeysInterface ) {
96+ fileprivate init ( master: Peer , underlyingInterface: KeysInterface ) {
9297 self . master = master
9398 self . interface = underlyingInterface
9499 super. init ( )
@@ -113,17 +118,14 @@ public class HumanObjectPeerTestInstance {
113118 func handle_event( event: Event ) {
114119 master. pendingManagerEvents. append ( event)
115120 }
116-
117- // override func persist_manager(channel_manager: ChannelManager) -> Result_NoneErrorZ {
118- // return Result_NoneErrorZ.ok()
119- // }
120121
121122 }
122123
123124 fileprivate class TestPersister : Persist {
124125 override func persist_new_channel( id: OutPoint , data: ChannelMonitor ) -> Result_NoneChannelMonitorUpdateErrZ {
125126 return Result_NoneChannelMonitorUpdateErrZ . ok ( )
126127 }
128+
127129 override func update_persisted_channel( id: OutPoint , update: ChannelMonitorUpdate , data: ChannelMonitor ) -> Result_NoneChannelMonitorUpdateErrZ {
128130 return Result_NoneChannelMonitorUpdateErrZ . ok ( )
129131 }
@@ -142,12 +144,14 @@ public class HumanObjectPeerTestInstance {
142144 self . txBroadcaster = TestBroadcaster ( master: self )
143145
144146 if master. use_filter {
145- self . filter = TestFilter ( master: self )
147+ self . filter = Option_FilterZ ( value: TestFilter ( master: self ) )
148+ } else {
149+ self . filter = Option_FilterZ ( value: nil )
146150 }
147151
148152 if master. use_manual_watch || false { // don't support manual watch yet
149153 // self.chainMonitor
150- } else {
154+ } else {
151155 self . chainMonitor = ChainMonitor ( chain_source: self . filter, broadcaster: self . txBroadcaster, logger: self . logger, feeest: self . feeEstimator, persister: persister)
152156 self . chainWatch = self . chainMonitor!. as_Watch ( )
153157 }
@@ -163,16 +167,15 @@ public class HumanObjectPeerTestInstance {
163167
164168 if master. use_km_wrapper {
165169 // self.keysInterface = manual_
166- } else {
170+ } else {
167171 self . keysInterface = keysManager. as_KeysInterface ( )
168172 self . explicitKeysManager = keysManager
169173 }
170174
171- self . router = NetGraphMsgHandler ( chain_access: nil , logger: self . logger, network_graph: NetworkGraph ( genesis_hash: [ UInt8] ( repeating: 0 , count: 32 ) ) )
172-
175+ self . router = NetGraphMsgHandlerConstructor . initNetGraphMsgHandler ( networkGraph: NetworkGraph ( genesis_hash: [ UInt8] ( repeating: 0 , count: 32 ) ) , chainAccess: nil , logger: self . logger)
173176 }
174177
175- fileprivate convenience init ( master: HumanObjectPeerTestInstance , seed: UInt8 ) {
178+ fileprivate convenience init ( master: HumanObjectPeerTestInstance , seed: UInt8 ) {
176179 self . init ( master: master, _dummy: ( ) , seed: seed)
177180
178181 if master. use_chan_manager_constructor {
@@ -185,13 +188,13 @@ public class HumanObjectPeerTestInstance {
185188 self . channelManager = ChannelManager ( fee_est: self . feeEstimator, chain_monitor: self . chainWatch!, tx_broadcaster: self . txBroadcaster, logger: self . logger, keys_manager: self . keysInterface, config: UserConfig ( ) , params: chainParameters)
186189 let randomData = self . keysInterface. get_secure_random_bytes ( )
187190 let messageHandler = MessageHandler ( chan_handler_arg: self . channelManager. as_ChannelMessageHandler ( ) , route_handler_arg: self . router. as_RoutingMessageHandler ( ) )
188- self . peerManager = PeerManager ( message_handler: messageHandler, our_node_secret: self . keysInterface. get_node_secret ( ) , ephemeral_random_data: randomData, logger: self . logger)
191+ self . peerManager = PeerManager ( message_handler: messageHandler, our_node_secret: self . keysInterface. get_node_secret ( ) , ephemeral_random_data: randomData, logger: self . logger, custom_message_handler : IgnoringMessageHandler ( ) . as_CustomMessageHandler ( ) )
189192 }
190193 self . nodeId = self . channelManager. get_our_node_id ( )
191194 self . bindSocketHandler ( )
192195 }
193196
194- fileprivate convenience init ( original: Peer ) {
197+ fileprivate convenience init ( original: Peer ) {
195198 self . init ( master: original. master, _dummy: ( ) , seed: original. seed)
196199
197200 if master. use_chan_manager_constructor {
@@ -231,7 +234,7 @@ public class HumanObjectPeerTestInstance {
231234 fileprivate func getManualWatch( ) {
232235
233236 }
234-
237+
235238 deinit {
236239 print ( " deiniting Peer " )
237240 }
@@ -248,12 +251,13 @@ public class HumanObjectPeerTestInstance {
248251 if self . use_nio_peer_handler {
249252 let connectionResult = peerA. tcpSocketHandler? . connect ( address: " 127.0.0.1 " , port: peerB. tcpPort!, theirNodeId: peerB. nodeId!)
250253 print ( " connection result: \( connectionResult) " )
251- } else {
254+ } else {
252255 // not currently relevant; we need the TCP connection simulation
253256 }
254257 }
255258
256259 func do_test_message_handler( ) {
260+
257261 let peer1 = Peer ( master: self , seed: 1 )
258262 let peer2 = Peer ( master: self , seed: 2 )
259263
@@ -270,30 +274,29 @@ public class HumanObjectPeerTestInstance {
270274 print ( " waiting five seconds " )
271275 sleep ( 5 )
272276 semaphore. signal ( )
277+ print ( " finished waiting five seconds " )
273278 }
274279
275280 semaphore. wait ( )
276- print ( " finished waiting five seconds " )
277281
278282 let connectedPeersA = peer1. peerManager. get_peer_node_ids ( )
279283 let connectedPeersB = peer2. peerManager. get_peer_node_ids ( )
280284 XCTAssertEqual ( connectedPeersA. count, 1 )
281285 XCTAssertEqual ( connectedPeersB. count, 1 )
282-
286+
283287 let config = UserConfig ( )
284288 let theirNodeId = peer2. channelManager. get_our_node_id ( )
285289 let channelOpenResult = peer1. channelManager. create_channel ( their_network_key: theirNodeId, channel_value_satoshis: 4000000 , push_msat: 2000000 , user_id: 42 , override_config: config)
286-
290+
287291 XCTAssertTrue ( channelOpenResult. isOk ( ) )
288292 let channels = peer1. channelManager. list_channels ( )
289293 let firstChannel = channels [ 0 ]
290294 let fundingTxo = firstChannel. get_funding_txo ( )
291295 XCTAssertNil ( fundingTxo)
292296
293- peer1. constructor? . interrupt ( )
294- peer2. constructor? . interrupt ( )
295-
297+ peer1. constructor? . interrupt ( tcpPeerHandler : peer1 . tcpSocketHandler )
298+ peer2. constructor? . interrupt ( tcpPeerHandler : peer2 . tcpSocketHandler )
299+
296300 }
297301
298302}
299-
0 commit comments