@@ -45,7 +45,7 @@ public struct ChannelManagerConstructionParameters {
4545 public var scoreParams : ProbabilisticScoringFeeParameters ?
4646 public var payerRetries : Retry = Retry . initWithAttempts ( a: UInt32 ( 3 ) )
4747 public var logger : Logger
48-
48+
4949 public init ( config: UserConfig , entropySource: EntropySource , nodeSigner: NodeSigner , signerProvider: SignerProvider , feeEstimator: FeeEstimator , chainMonitor: ChainMonitor , txBroadcaster: BroadcasterInterface , logger: Logger , enableP2PGossip: Bool = false , scorer: MultiThreadedLockableScore ? = nil , scoreParams: ProbabilisticScoringFeeParameters ? = nil , payerRetries: Retry = Retry . initWithAttempts ( a: UInt32 ( 3 ) ) ) {
5050 self . config = config
5151 self . entropySource = entropySource
@@ -55,7 +55,7 @@ public struct ChannelManagerConstructionParameters {
5555 self . chainMonitor = chainMonitor
5656 self . txBroadcaster = txBroadcaster
5757 self . logger = logger
58-
58+
5959 self . enableP2PGossip = enableP2PGossip
6060 self . scorer = scorer
6161 if scorer != nil && scoreParams == nil {
@@ -65,7 +65,7 @@ public struct ChannelManagerConstructionParameters {
6565 }
6666 self . payerRetries = payerRetries
6767 }
68-
68+
6969 private class CMCRouter : Router {
7070 override func findRoute( payer: [ UInt8 ] , routeParams: Bindings . RouteParameters , firstHops: [ Bindings . ChannelDetails ] ? , inflightHtlcs: Bindings . InFlightHtlcs ) -> Bindings . Result_RouteLightningErrorZ {
7171 let errorString = " Error: Router unavailable: ChannelManagerConstructor initialized without Scorer or NetworkGraph. "
@@ -78,7 +78,7 @@ public struct ChannelManagerConstructionParameters {
7878 return . initWithErr( e: LightningError ( errArg: errorString, actionArg: ErrorAction . initWithIgnoreAndLog ( a: . Error) ) )
7979 }
8080 }
81-
81+
8282 fileprivate func router( networkGraph: NetworkGraph ? ) -> Router {
8383 if let netGraph = networkGraph, let scorer = self . scorer, let scoreParams = self . scoreParams {
8484 return DefaultRouter ( networkGraph: netGraph, logger: self . logger, entropySource: self . entropySource, scorer: scorer. asLockableScore ( ) , scoreParams: scoreParams) . asRouter ( )
@@ -101,17 +101,17 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
101101 public let channel_manager_latest_block_hash : [ UInt8 ] ?
102102
103103 private let constructionParameters : ChannelManagerConstructionParameters
104-
104+
105105 fileprivate var customPersister : CustomChannelManagerPersister ?
106106 fileprivate var customEventHandler : EventHandler ?
107107 public private( set) var netGraph : NetworkGraph ?
108108 fileprivate var graphMessageHandler : GossipSync ?
109-
110-
111-
112-
109+
110+
111+
112+
113113 // public private(set) var payer: InvoicePayer?
114-
114+
115115 public let peerManager : PeerManager
116116 private var tcpPeerHandler : TCPPeerHandler ?
117117
@@ -127,7 +127,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
127127 public init ( channelManagerSerialized: [ UInt8 ] , channelMonitorsSerialized: [ [ UInt8 ] ] , networkGraph: NetworkGraphArgument , filter: Filter ? , params: ChannelManagerConstructionParameters , logger: Logger ) throws {
128128
129129 self . constructionParameters = params
130-
130+
131131 var monitors : [ ChannelMonitor ] = [ ]
132132 self . channel_monitors = [ ]
133133
@@ -155,7 +155,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
155155 }
156156
157157 print ( " Collected channel monitors, reading channel manager " )
158-
158+
159159 switch networkGraph {
160160 case . instance( let graph) :
161161 self . netGraph = graph
@@ -166,11 +166,11 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
166166 }
167167 self . netGraph = netGraphResult. getValue ( )
168168 }
169-
169+
170170 // TODO: figure out better way to obtain a router
171171 let router = params. router ( networkGraph: self . netGraph)
172172 let channelManagerReadArgs = ChannelManagerReadArgs ( entropySource: params. entropySource, nodeSigner: params. nodeSigner, signerProvider: params. signerProvider, feeEstimator: params. feeEstimator, chainMonitor: params. chainMonitor. asWatch ( ) , txBroadcaster: params. txBroadcaster, router: router, logger: params. logger, defaultConfig: params. config, channelMonitors: monitors)
173-
173+
174174 guard let ( latestBlockHash, channelManager) = Bindings . readThirtyTwoBytesChannelManager ( ser: channelManagerSerialized, arg: channelManagerReadArgs) . getValue ( ) else {
175175 throw InvalidSerializedDataError . invalidSerializedChannelManager
176176 }
@@ -222,17 +222,17 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
222222 public init ( network: Network , currentBlockchainTipHash: [ UInt8 ] , currentBlockchainTipHeight: UInt32 , netGraph: NetworkGraph ? , params: ChannelManagerConstructionParameters ) {
223223
224224 self . constructionParameters = params
225-
225+
226226 self . channel_monitors = [ ]
227227 self . channel_manager_latest_block_hash = nil
228228 let block = BestBlock ( blockHashArg: currentBlockchainTipHash, heightArg: currentBlockchainTipHeight)
229229 let chainParameters = ChainParameters ( networkArg: network, bestBlockArg: block)
230-
230+
231231 self . netGraph = netGraph
232232 let router = params. router ( networkGraph: self . netGraph)
233233 let timestampSeconds = UInt32 ( NSDate ( ) . timeIntervalSince1970)
234234 self . channelManager = ChannelManager ( feeEst: params. feeEstimator, chainMonitor: params. chainMonitor. asWatch ( ) , txBroadcaster: params. txBroadcaster, router: router, logger: params. logger, entropySource: params. entropySource, nodeSigner: params. nodeSigner, signerProvider: params. signerProvider, config: params. config, params: chainParameters, currentTimestamp: timestampSeconds)
235-
235+
236236 let channelMessageHandler = channelManager. asChannelMessageHandler ( )
237237 let noCustomMessages = IgnoringMessageHandler ( ) . asCustomMessageHandler ( )
238238 let noOnionMessages = IgnoringMessageHandler ( ) . asOnionMessageHandler ( )
@@ -246,7 +246,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
246246 } else {
247247 messageHandler = MessageHandler ( chanHandlerArg: channelMessageHandler, routeHandlerArg: noRoutingMessages, onionMessageHandlerArg: noOnionMessages, customMessageHandlerArg: noCustomMessages)
248248 }
249-
249+
250250 let random_data = params. entropySource. getSecureRandomBytes ( ) ;
251251
252252 self . peerManager = PeerManager ( messageHandler: messageHandler, currentTime: timestampSeconds, ephemeralRandomData: random_data, logger: params. logger, nodeSigner: params. nodeSigner)
@@ -290,10 +290,12 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
290290 self . customPersister = CustomChannelManagerPersister ( handler: persister)
291291 self . customEventHandler = CustomEventHandler ( handler: persister)
292292
293+ let ignoringMessageHandler = IgnoringMessageHandler ( )
294+ let onionMessenger = OnionMessenger . initWith ( entropySource: self . constructionParameters. entropySource, nodeSigner: self . constructionParameters. nodeSigner, logger: self . constructionParameters. logger, nodeIdLookup: NodeIdLookUp ( ) , messageRouter: MessageRouter ( ) , offersHandler: self . channelManager. asOffersMessageHandler ( ) , asyncPaymentsHandler: ignoringMessageHandler. asAsyncPaymentsMessageHandler ( ) , customHandler: ignoringMessageHandler. asCustomOnionMessageHandler ( ) )
295+
293296 // if there is a graph msg handler, set its is_owned to false
294297 // self.graph_msg_handler?.cOpaqueStruct?.is_owned = false
295-
296- self . backgroundProcessor = BackgroundProcessor . start ( persister: self . customPersister!, eventHandler: self . customEventHandler!, chainMonitor: self . constructionParameters. chainMonitor, channelManager: self . channelManager, gossipSync: self . graphMessageHandler ?? GossipSync . none ( ) , peerManager: self . peerManager, logger: self . constructionParameters. logger, scorer: self . constructionParameters. scorer? . asWriteableScore ( ) )
298+ self . backgroundProcessor = BackgroundProcessor . start ( persister: self . customPersister!, eventHandler: self . customEventHandler!, chainMonitor: self . constructionParameters. chainMonitor, channelManager: self . channelManager, onionMessenger: onionMessenger, gossipSync: self . graphMessageHandler ?? GossipSync . none ( ) , peerManager: self . peerManager, logger: self . constructionParameters. logger, scorer: self . constructionParameters. scorer? . asWriteableScore ( ) )
297299
298300 // restore it back to true
299301 // self.graph_msg_handler?.cOpaqueStruct?.is_owned = true
@@ -360,15 +362,15 @@ fileprivate class CustomChannelManagerPersister: Persister {
360362 self . handler = handler
361363 super. init ( )
362364 }
363-
365+
364366 override func persistManager( channelManager: Bindings . ChannelManager ) -> Bindings . Result_NoneIOErrorZ {
365367 return self . handler. persistManager ( channelManager: channelManager)
366368 }
367-
369+
368370 override func persistGraph( networkGraph: Bindings . NetworkGraph ) -> Bindings . Result_NoneIOErrorZ {
369371 return self . handler. persistGraph ( networkGraph: networkGraph)
370372 }
371-
373+
372374 override func persistScorer( scorer: Bindings . WriteableScore ) -> Bindings . Result_NoneIOErrorZ {
373375 return self . handler. persistScorer ( scorer: scorer)
374376 }
@@ -383,15 +385,15 @@ fileprivate class CustomEventHandler: EventHandler {
383385 super. init ( )
384386 }
385387
386- override func handleEvent( event: Bindings . Event ) {
388+ override func handleEvent( event: Bindings . Event ) -> Bindings . Result_NoneReplayEventZ {
387389 // self.handler.handle_event(event: event.clone())
388390 self . handler. handleEvent ( event: event)
389391 }
390392
391393}
392394
393395public protocol ExtendedChannelManagerPersister : Persister {
394- func handleEvent( event: Event ) -> Void ;
396+ func handleEvent( event: Event ) -> Result_NoneReplayEventZ ;
395397}
396398
397399public class TCPPeerHandler {
0 commit comments