@@ -40,7 +40,7 @@ public class HumanObjectPeerTestInstance {
40
40
let seed : UInt8
41
41
var filterAdditions : Set < String >
42
42
let monitors : [ String : ChannelMonitor ]
43
- private( set) var filter : Filter !
43
+ private( set) var filter : Option_FilterZ !
44
44
private( set) var keysInterface : KeysInterface !
45
45
private( set) var explicitKeysManager : KeysManager ?
46
46
private( set) var router : NetGraphMsgHandler !
@@ -60,8 +60,9 @@ public class HumanObjectPeerTestInstance {
60
60
61
61
fileprivate class TestBroadcaster : BroadcasterInterface {
62
62
weak var master : Peer !
63
- fileprivate init ( master: Peer ) {
64
- self . master = master
63
+
64
+ fileprivate init ( master: Peer ) {
65
+ self . master = master
65
66
super. init ( )
66
67
}
67
68
}
@@ -74,10 +75,14 @@ public class HumanObjectPeerTestInstance {
74
75
self . master = master
75
76
super. init ( )
76
77
}
78
+
77
79
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
+ }
79
83
return Option_C2Tuple_usizeTransactionZZ ( value: nil )
80
84
}
85
+
81
86
override func register_tx( txid: [ UInt8 ] ? , script_pubkey: [ UInt8 ] ) {
82
87
self . master. filterAdditions. insert ( " \( txid) " )
83
88
}
@@ -88,7 +93,7 @@ public class HumanObjectPeerTestInstance {
88
93
weak var master : Peer !
89
94
let interface : KeysInterface
90
95
91
- fileprivate init ( master: Peer , underlyingInterface: KeysInterface ) {
96
+ fileprivate init ( master: Peer , underlyingInterface: KeysInterface ) {
92
97
self . master = master
93
98
self . interface = underlyingInterface
94
99
super. init ( )
@@ -113,17 +118,14 @@ public class HumanObjectPeerTestInstance {
113
118
func handle_event( event: Event ) {
114
119
master. pendingManagerEvents. append ( event)
115
120
}
116
-
117
- // override func persist_manager(channel_manager: ChannelManager) -> Result_NoneErrorZ {
118
- // return Result_NoneErrorZ.ok()
119
- // }
120
121
121
122
}
122
123
123
124
fileprivate class TestPersister : Persist {
124
125
override func persist_new_channel( id: OutPoint , data: ChannelMonitor ) -> Result_NoneChannelMonitorUpdateErrZ {
125
126
return Result_NoneChannelMonitorUpdateErrZ . ok ( )
126
127
}
128
+
127
129
override func update_persisted_channel( id: OutPoint , update: ChannelMonitorUpdate , data: ChannelMonitor ) -> Result_NoneChannelMonitorUpdateErrZ {
128
130
return Result_NoneChannelMonitorUpdateErrZ . ok ( )
129
131
}
@@ -142,12 +144,14 @@ public class HumanObjectPeerTestInstance {
142
144
self . txBroadcaster = TestBroadcaster ( master: self )
143
145
144
146
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 )
146
150
}
147
151
148
152
if master. use_manual_watch || false { // don't support manual watch yet
149
153
// self.chainMonitor
150
- } else {
154
+ } else {
151
155
self . chainMonitor = ChainMonitor ( chain_source: self . filter, broadcaster: self . txBroadcaster, logger: self . logger, feeest: self . feeEstimator, persister: persister)
152
156
self . chainWatch = self . chainMonitor!. as_Watch ( )
153
157
}
@@ -163,16 +167,15 @@ public class HumanObjectPeerTestInstance {
163
167
164
168
if master. use_km_wrapper {
165
169
// self.keysInterface = manual_
166
- } else {
170
+ } else {
167
171
self . keysInterface = keysManager. as_KeysInterface ( )
168
172
self . explicitKeysManager = keysManager
169
173
}
170
174
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)
173
176
}
174
177
175
- fileprivate convenience init ( master: HumanObjectPeerTestInstance , seed: UInt8 ) {
178
+ fileprivate convenience init ( master: HumanObjectPeerTestInstance , seed: UInt8 ) {
176
179
self . init ( master: master, _dummy: ( ) , seed: seed)
177
180
178
181
if master. use_chan_manager_constructor {
@@ -185,13 +188,13 @@ public class HumanObjectPeerTestInstance {
185
188
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)
186
189
let randomData = self . keysInterface. get_secure_random_bytes ( )
187
190
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 ( ) )
189
192
}
190
193
self . nodeId = self . channelManager. get_our_node_id ( )
191
194
self . bindSocketHandler ( )
192
195
}
193
196
194
- fileprivate convenience init ( original: Peer ) {
197
+ fileprivate convenience init ( original: Peer ) {
195
198
self . init ( master: original. master, _dummy: ( ) , seed: original. seed)
196
199
197
200
if master. use_chan_manager_constructor {
@@ -231,7 +234,7 @@ public class HumanObjectPeerTestInstance {
231
234
fileprivate func getManualWatch( ) {
232
235
233
236
}
234
-
237
+
235
238
deinit {
236
239
print ( " deiniting Peer " )
237
240
}
@@ -248,12 +251,13 @@ public class HumanObjectPeerTestInstance {
248
251
if self . use_nio_peer_handler {
249
252
let connectionResult = peerA. tcpSocketHandler? . connect ( address: " 127.0.0.1 " , port: peerB. tcpPort!, theirNodeId: peerB. nodeId!)
250
253
print ( " connection result: \( connectionResult) " )
251
- } else {
254
+ } else {
252
255
// not currently relevant; we need the TCP connection simulation
253
256
}
254
257
}
255
258
256
259
func do_test_message_handler( ) {
260
+
257
261
let peer1 = Peer ( master: self , seed: 1 )
258
262
let peer2 = Peer ( master: self , seed: 2 )
259
263
@@ -270,30 +274,29 @@ public class HumanObjectPeerTestInstance {
270
274
print ( " waiting five seconds " )
271
275
sleep ( 5 )
272
276
semaphore. signal ( )
277
+ print ( " finished waiting five seconds " )
273
278
}
274
279
275
280
semaphore. wait ( )
276
- print ( " finished waiting five seconds " )
277
281
278
282
let connectedPeersA = peer1. peerManager. get_peer_node_ids ( )
279
283
let connectedPeersB = peer2. peerManager. get_peer_node_ids ( )
280
284
XCTAssertEqual ( connectedPeersA. count, 1 )
281
285
XCTAssertEqual ( connectedPeersB. count, 1 )
282
-
286
+
283
287
let config = UserConfig ( )
284
288
let theirNodeId = peer2. channelManager. get_our_node_id ( )
285
289
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
+
287
291
XCTAssertTrue ( channelOpenResult. isOk ( ) )
288
292
let channels = peer1. channelManager. list_channels ( )
289
293
let firstChannel = channels [ 0 ]
290
294
let fundingTxo = firstChannel. get_funding_txo ( )
291
295
XCTAssertNil ( fundingTxo)
292
296
293
- peer1. constructor? . interrupt ( )
294
- peer2. constructor? . interrupt ( )
295
-
297
+ peer1. constructor? . interrupt ( tcpPeerHandler : peer1 . tcpSocketHandler )
298
+ peer2. constructor? . interrupt ( tcpPeerHandler : peer2 . tcpSocketHandler )
299
+
296
300
}
297
301
298
302
}
299
-
0 commit comments