Skip to content

Commit 5aa4ac7

Browse files
committed
add channelmanagerconstructor as reference to peer manager due to instance properties that are relied on
1 parent 49a9e28 commit 5aa4ac7

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

bindings/batteries/ChannelManagerConstructor.swift

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ enum InvalidSerializedDataError: Error {
1414
case invalidSerializedChannelManager
1515
}
1616

17-
public class ChannelManagerConstructor {
17+
public class ChannelManagerConstructor: NativeTypeWrapper {
1818

1919

2020
public let channelManager: ChannelManager
@@ -104,6 +104,9 @@ public class ChannelManagerConstructor {
104104
}
105105
}
106106

107+
super.init(conflictAvoidingVariableName: 0)
108+
try! self.peerManager.addAnchor(anchor: self)
109+
try! self.channelManager.addAnchor(anchor: self)
107110

108111
}
109112

@@ -124,11 +127,15 @@ public class ChannelManagerConstructor {
124127
let random_data = keys_interface.get_secure_random_bytes();
125128
if let router = router {
126129
let messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: router.as_RoutingMessageHandler())
127-
self.peerManager = PeerManager(message_handler: messageHandler, our_node_secret: keys_interface.get_node_secret(), ephemeral_random_data: random_data, logger: self.logger)
130+
self.peerManager = PeerManager(message_handler: messageHandler.dangle(), our_node_secret: keys_interface.get_node_secret(), ephemeral_random_data: random_data, logger: self.logger)
128131
} else {
129132
let messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: IgnoringMessageHandler().as_RoutingMessageHandler())
130-
self.peerManager = PeerManager(message_handler: messageHandler, our_node_secret: keys_interface.get_node_secret(), ephemeral_random_data: random_data, logger: self.logger)
133+
self.peerManager = PeerManager(message_handler: messageHandler.dangle(), our_node_secret: keys_interface.get_node_secret(), ephemeral_random_data: random_data, logger: self.logger)
131134
}
135+
136+
super.init(conflictAvoidingVariableName: 0)
137+
try! self.peerManager.addAnchor(anchor: self)
138+
try! self.channelManager.addAnchor(anchor: self)
132139
}
133140

134141

0 commit comments

Comments
 (0)