Skip to content

Commit 0c24fb0

Browse files
committed
Allow to specify a UserConfig for CMC
When reading in a serialized `ChannelManager` we previously would always use the default `UserConfig`. Here, we allow to specify a `UserConfig` and only use the default as a fallback.
1 parent 4077653 commit 0c24fb0

File tree

6 files changed

+14
-15
lines changed

6 files changed

+14
-15
lines changed

ci/LDKSwift/Sources/LDKSwift/batteries/ChannelManagerConstructor.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
5454
private let chain_monitor: ChainMonitor
5555

5656

57-
public init(channelManagerSerialized: [UInt8], channelMonitorsSerialized: [[UInt8]], keysInterface: KeysInterface, feeEstimator: FeeEstimator, chainMonitor: ChainMonitor, filter: Filter?, netGraphSerialized: [UInt8]?, txBroadcaster: BroadcasterInterface, logger: Logger, enableP2PGossip: Bool = false) throws {
57+
public init(channelManagerSerialized: [UInt8], channelMonitorsSerialized: [[UInt8]], keysInterface: KeysInterface, feeEstimator: FeeEstimator, chainMonitor: ChainMonitor, filter: Filter?, netGraphSerialized: [UInt8]?, txBroadcaster: BroadcasterInterface, logger: Logger, enableP2PGossip: Bool = false, userConfig: UserConfig = UserConfig.initWithDefault()) throws {
5858

5959
var monitors: [ChannelMonitor] = []
6060
self.channel_monitors = []
@@ -83,8 +83,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
8383
}
8484

8585
print("Collected channel monitors, reading channel manager")
86-
let channelManagerReadArgs = ChannelManagerReadArgs(keysManager: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor.asWatch(), txBroadcaster: txBroadcaster, logger: logger, defaultConfig: UserConfig.initWithDefault(), channelMonitors: monitors)
87-
86+
let channelManagerReadArgs = ChannelManagerReadArgs(keysManager: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor.asWatch(), txBroadcaster: txBroadcaster, logger: logger, defaultConfig: userConfig, channelMonitors: monitors)
8887

8988
guard let (latestBlockHash, channelManager) = Bindings.readBlockHashChannelManager(ser: channelManagerSerialized, arg: channelManagerReadArgs).getValue() else {
9089
throw InvalidSerializedDataError.invalidSerializedChannelManager
@@ -143,14 +142,14 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
143142
/**
144143
* Constructs a channel manager from the given interface implementations
145144
*/
146-
public init(network: Network, config: UserConfig, currentBlockchainTipHash: [UInt8], currentBlockchainTipHeight: UInt32, keysInterface: KeysInterface, feeEstimator: FeeEstimator, chainMonitor: ChainMonitor, netGraph: NetworkGraph?, txBroadcaster: BroadcasterInterface, logger: Logger, enableP2PGossip: Bool = false) {
145+
public init(network: Network, userConfig: UserConfig, currentBlockchainTipHash: [UInt8], currentBlockchainTipHeight: UInt32, keysInterface: KeysInterface, feeEstimator: FeeEstimator, chainMonitor: ChainMonitor, netGraph: NetworkGraph?, txBroadcaster: BroadcasterInterface, logger: Logger, enableP2PGossip: Bool = false) {
147146

148147
self.channel_monitors = []
149148
self.channel_manager_latest_block_hash = nil
150149
self.chain_monitor = chainMonitor
151150
let block = BestBlock(blockHash: currentBlockchainTipHash, height: currentBlockchainTipHeight)
152151
let chainParameters = ChainParameters(networkArg: network, bestBlockArg: block)
153-
self.channelManager = ChannelManager(feeEst: feeEstimator, chainMonitor: chainMonitor.asWatch(), txBroadcaster: txBroadcaster, logger: logger, keysManager: keysInterface, config: config, params: chainParameters)
152+
self.channelManager = ChannelManager(feeEst: feeEstimator, chainMonitor: chainMonitor.asWatch(), txBroadcaster: txBroadcaster, logger: logger, keysManager: keysInterface, config: userConfig, params: chainParameters)
154153
self.logger = logger
155154

156155
self.keysInterface = keysInterface

ci/LDKSwift/Tests/LDKSwiftTests/HumanObjectPeerTestInstance.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ public class HumanObjectPeerTestInstance {
304304

305305
let graph = NetworkGraph(genesisHash: [UInt8](repeating: 0, count: 32), logger: self.logger)
306306

307-
self.constructor = ChannelManagerConstructor(network: .Bitcoin, config: UserConfig.initWithDefault(), currentBlockchainTipHash: [UInt8](repeating: 0, count: 32), currentBlockchainTipHeight: 0, keysInterface: self.keysInterface, feeEstimator: self.feeEstimator, chainMonitor: self.chainMonitor!, netGraph: graph, txBroadcaster: self.txBroadcaster, logger: self.logger)
307+
self.constructor = ChannelManagerConstructor(network: .Bitcoin, userConfig: UserConfig.initWithDefault(), currentBlockchainTipHash: [UInt8](repeating: 0, count: 32), currentBlockchainTipHeight: 0, keysInterface: self.keysInterface, feeEstimator: self.feeEstimator, chainMonitor: self.chainMonitor!, netGraph: graph, txBroadcaster: self.txBroadcaster, logger: self.logger)
308308

309309
let scoringParams = ProbabilisticScoringParameters.initWithDefault()
310310
let probabalisticScorer = ProbabilisticScorer(params: scoringParams, networkGraph: graph, logger: self.logger)
@@ -325,7 +325,7 @@ public class HumanObjectPeerTestInstance {
325325
do {
326326
// channel manager constructor is mandatory
327327
let graph = NetworkGraph(genesisHash: [UInt8](repeating: 0, count: 32), logger: self.logger)
328-
self.constructor = ChannelManagerConstructor(network: .Bitcoin, config: UserConfig.initWithDefault(), currentBlockchainTipHash: [UInt8](repeating: 0, count: 32), currentBlockchainTipHeight: 0, keysInterface: self.keysInterface, feeEstimator: self.feeEstimator, chainMonitor: self.chainMonitor!, netGraph: graph, txBroadcaster: self.txBroadcaster, logger: self.logger)
328+
self.constructor = ChannelManagerConstructor(network: .Bitcoin, userConfig: UserConfig.initWithDefault(), currentBlockchainTipHash: [UInt8](repeating: 0, count: 32), currentBlockchainTipHeight: 0, keysInterface: self.keysInterface, feeEstimator: self.feeEstimator, chainMonitor: self.chainMonitor!, netGraph: graph, txBroadcaster: self.txBroadcaster, logger: self.logger)
329329
self.constructor?.chainSyncCompleted(persister: TestChannelManagerPersister(master: self), scorer: nil)
330330
self.channelManager = self.constructor!.channelManager
331331
Task {

ci/LDKSwift/Tests/LDKSwiftTests/LDKSwiftTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ class LDKSwiftTests: XCTestCase {
171171
let channelMonitorPersister = TestPersister()
172172
let chainMonitor = ChainMonitor(chainSource: nil, broadcaster: broadcaster, logger: logger, feeest: feeEstimator, persister: channelMonitorPersister)
173173

174-
let channelManagerConstructor = ChannelManagerConstructor(network: .Bitcoin, config: config, currentBlockchainTipHash: reversedGenesisHash, currentBlockchainTipHeight: 0, keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
174+
let channelManagerConstructor = ChannelManagerConstructor(network: .Bitcoin, userConfig: config, currentBlockchainTipHash: reversedGenesisHash, currentBlockchainTipHeight: 0, keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
175175
let channelManager = channelManagerConstructor.channelManager
176176
let peerManager = channelManagerConstructor.peerManager
177177
let tcpPeerHandler = channelManagerConstructor.getTCPPeerHandler()
@@ -210,7 +210,7 @@ class LDKSwiftTests: XCTestCase {
210210
let channelMonitorPersister = TestPersister()
211211
let chainMonitor = ChainMonitor(chainSource: nil, broadcaster: broadcaster, logger: logger, feeest: feeEstimator, persister: channelMonitorPersister)
212212

213-
let channelManagerConstructor = ChannelManagerConstructor(network: .Bitcoin, config: config, currentBlockchainTipHash: reversedGenesisHash, currentBlockchainTipHeight: 0, keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
213+
let channelManagerConstructor = ChannelManagerConstructor(network: .Bitcoin, userConfig: config, currentBlockchainTipHash: reversedGenesisHash, currentBlockchainTipHeight: 0, keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
214214
let channelManager = channelManagerConstructor.channelManager
215215

216216
let channelValue: UInt64 = 1_300_000 // 1.3 million satoshis, or 0.013 BTC
@@ -255,7 +255,7 @@ class LDKSwiftTests: XCTestCase {
255255
let channelMonitorPersister = TestPersister()
256256
let chainMonitor = ChainMonitor(chainSource: nil, broadcaster: broadcaster, logger: logger, feeest: feeEstimator, persister: channelMonitorPersister)
257257

258-
let channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, config: config, currentBlockchainTipHash: reversedGenesisHash, currentBlockchainTipHeight: 0, keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
258+
let channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, userConfig: config, currentBlockchainTipHash: reversedGenesisHash, currentBlockchainTipHeight: 0, keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
259259
let channelManager = channelManagerConstructor.channelManager
260260
let peerManager = channelManagerConstructor.peerManager
261261
let tcpPeerHandler = channelManagerConstructor.getTCPPeerHandler()

xcode/LDKFramework/DirectlyLinkedBindingsApp/PolarConnectionExperiment.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class PolarConnectionExperiment: ObservableObject {
6767

6868

6969

70-
self.channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, config: config, current_blockchain_tip_hash: chainTipHash, current_blockchain_tip_height: chainTipHeight, keys_interface: self.keysInterface, fee_estimator: self.feeEstimator, chain_monitor: self.chainMonitor, net_graph: networkGraph, tx_broadcaster: self.broadcaster, logger: self.logger)
70+
self.channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, userConfig: config, current_blockchain_tip_hash: chainTipHash, current_blockchain_tip_height: chainTipHeight, keys_interface: self.keysInterface, fee_estimator: self.feeEstimator, chain_monitor: self.chainMonitor, net_graph: networkGraph, tx_broadcaster: self.broadcaster, logger: self.logger)
7171
let userConfig = UserConfig()
7272
let latestBlockHash = [UInt8](Data(base64Encoded: "AAAAAAAAAAAABe5Xh25D12zkQuLAJQbBeLoF1tEQqR8=")!)
7373
let latestBlockHeight = 700123

xcode/LDKFramework/DirectlyLinkedBindingsApp/app-batteries/PolarIntegrationSample.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class PolarIntegrationSample {
7373
let channelManagerAndNetworkGraphPersisterAndEventHandler = LDKTraitImplementations.PolarChannelManagerAndNetworkGraphPersisterAndEventHandler()
7474
let chainMonitor = ChainMonitor(chainSource: nil, broadcaster: broadcaster, logger: logger, feeest: feeEstimator, persister: channelMonitorPersister)
7575

76-
let channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, config: config, currentBlockchainTipHash: reversedChaintipHash, currentBlockchainTipHeight: UInt32(chaintipHeight), keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
76+
let channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, userConfig: config, currentBlockchainTipHash: reversedChaintipHash, currentBlockchainTipHeight: UInt32(chaintipHeight), keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
7777
let channelManager = channelManagerConstructor.channelManager
7878
let peerManager = channelManagerConstructor.peerManager
7979
let tcpPeerHandler = channelManagerConstructor.getTCPPeerHandler()
@@ -473,7 +473,7 @@ public class PolarIntegrationSample {
473473
let channelManagerAndNetworkGraphPersisterAndEventHandler = LDKTraitImplementations.PolarChannelManagerAndNetworkGraphPersisterAndEventHandler()
474474
let chainMonitor = ChainMonitor(chainSource: nil, broadcaster: broadcaster, logger: logger, feeest: feeEstimator, persister: channelMonitorPersister)
475475

476-
channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, config: config, currentBlockchainTipHash: reversedChaintipHash, currentBlockchainTipHeight: UInt32(chaintipHeight), keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
476+
channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, userConfig: config, currentBlockchainTipHash: reversedChaintipHash, currentBlockchainTipHeight: UInt32(chaintipHeight), keysInterface: keysInterface, feeEstimator: feeEstimator, chainMonitor: chainMonitor, netGraph: networkGraph, txBroadcaster: broadcaster, logger: logger)
477477
let channelManager = channelManagerConstructor.channelManager
478478
let peerManager = channelManagerConstructor.peerManager
479479
let tcpPeerHandler = channelManagerConstructor.getTCPPeerHandler()

xcode/LDKFramework/DirectlyLinkedBindingsAppTests/polar/PolarIntegrationSample.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public class PolarIntegrationSample {
7272
let channelManagerAndNetworkGraphPersisterAndEventHandler = LDKTraitImplementations.PolarChannelManagerAndNetworkGraphPersisterAndEventHandler()
7373
let chainMonitor = ChainMonitor(chain_source: Option_FilterZ(value: nil), broadcaster: broadcaster, logger: logger, feeest: feeEstimator, persister: channelMonitorPersister)
7474

75-
let channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, config: config, current_blockchain_tip_hash: reversedChaintipHash, current_blockchain_tip_height: UInt32(chaintipHeight), keys_interface: keysInterface, fee_estimator: feeEstimator, chain_monitor: chainMonitor, net_graph: networkGraph, tx_broadcaster: broadcaster, logger: logger)
75+
let channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, userConfig: config, current_blockchain_tip_hash: reversedChaintipHash, current_blockchain_tip_height: UInt32(chaintipHeight), keys_interface: keysInterface, fee_estimator: feeEstimator, chain_monitor: chainMonitor, net_graph: networkGraph, tx_broadcaster: broadcaster, logger: logger)
7676
let channelManager = channelManagerConstructor.channelManager
7777
let peerManager = channelManagerConstructor.peerManager
7878
let tcpPeerHandler = channelManagerConstructor.getTCPPeerHandler()
@@ -466,7 +466,7 @@ public class PolarIntegrationSample {
466466
let channelManagerAndNetworkGraphPersisterAndEventHandler = LDKTraitImplementations.PolarChannelManagerAndNetworkGraphPersisterAndEventHandler()
467467
let chainMonitor = ChainMonitor(chain_source: Option_FilterZ(value: nil), broadcaster: broadcaster, logger: logger, feeest: feeEstimator, persister: channelMonitorPersister)
468468

469-
channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, config: config, current_blockchain_tip_hash: reversedChaintipHash, current_blockchain_tip_height: UInt32(chaintipHeight), keys_interface: keysInterface, fee_estimator: feeEstimator, chain_monitor: chainMonitor, net_graph: networkGraph, tx_broadcaster: broadcaster, logger: logger)
469+
channelManagerConstructor = ChannelManagerConstructor(network: lightningNetwork, userConfig: config, current_blockchain_tip_hash: reversedChaintipHash, current_blockchain_tip_height: UInt32(chaintipHeight), keys_interface: keysInterface, fee_estimator: feeEstimator, chain_monitor: chainMonitor, net_graph: networkGraph, tx_broadcaster: broadcaster, logger: logger)
470470
let channelManager = channelManagerConstructor.channelManager
471471
let peerManager = channelManagerConstructor.peerManager
472472
let tcpPeerHandler = channelManagerConstructor.getTCPPeerHandler()

0 commit comments

Comments
 (0)