Skip to content

Commit 427cfba

Browse files
authored
Merge pull request #133 from arik-so/version-0.0.124
Upgrade to version 0.0.124
2 parents 484e79d + 9bb5c40 commit 427cfba

File tree

240 files changed

+31082
-13290
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+31082
-13290
lines changed

.github/actions/install-dependencies/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ runs:
2222
run: |
2323
echo `pwd`
2424
mkdir -p ${{ inputs.destination }}/bin
25-
git clone --branch 0.0.123-bindings https://github.com/lightningdevkit/rust-lightning ${{ inputs.destination }}/rust-lightning
25+
git clone --branch 0.0.124-bindings https://github.com/lightningdevkit/rust-lightning ${{ inputs.destination }}/rust-lightning
2626
git clone --branch main https://github.com/lightningdevkit/ldk-c-bindings ${{ inputs.destination }}/ldk-c-bindings
2727
- name: Install Rust, required targets
2828
if: ${{ inputs.configureRustNightly == 'true' }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ In order to generate these bindings from scratch, you will need to clone two dep
5858
**[rust-lightning](https://github.com/lightningdevkit/rust-lightning)**, (a specific branch built for bindings compatibility):
5959

6060
```shell
61-
git clone --branch 0.0.123-bindings https://github.com/lightningdevkit/rust-lightning /path/to/rust-lightning
61+
git clone --branch 0.0.124-bindings https://github.com/lightningdevkit/rust-lightning /path/to/rust-lightning
6262
```
6363

6464
**[ldk-c-bindings](https://github.com/lightningdevkit/ldk-c-bindings)**:

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

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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

393395
public protocol ExtendedChannelManagerPersister: Persister {
394-
func handleEvent(event: Event) -> Void;
396+
func handleEvent(event: Event) -> Result_NoneReplayEventZ;
395397
}
396398

397399
public class TCPPeerHandler {

ci/LDKSwift/Tests/LDKSwiftTests/HumanObjectPeerTestInstance.swift

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,8 @@ public class HumanObjectPeerTestInstance {
211211
self.interface = underlyingInterface
212212
super.init()
213213
}
214-
215-
override func deriveChannelSigner(channelValueSatoshis: UInt64, channelKeysId: [UInt8]) -> Bindings.WriteableEcdsaChannelSigner {
214+
215+
override func deriveChannelSigner(channelValueSatoshis: UInt64, channelKeysId: [UInt8]) -> Bindings.EcdsaChannelSigner {
216216
let ck = self.interface.deriveChannelSigner(channelValueSatoshis: channelValueSatoshis, channelKeysId: channelKeysId)
217217
return ck
218218
}
@@ -226,14 +226,14 @@ public class HumanObjectPeerTestInstance {
226226
self.master = master
227227
super.init()
228228
}
229-
230-
func handleEvent(event: Event) {
231-
// let eventClone = event.clone()
229+
230+
func handleEvent(event: Event) -> Result_NoneReplayEventZ {
232231
print("peer \(self.master.seed) received event: \(event.getValueType())")
233232
Task {
234233
// clone to avoid deallocation-related issues
235234
await master.pendingEventTracker.addEvent(event: event)
236235
}
236+
return .initWithOk()
237237
}
238238

239239
override func persistScorer(scorer: Bindings.WriteableScore) -> Bindings.Result_NoneIOErrorZ {
@@ -252,10 +252,12 @@ public class HumanObjectPeerTestInstance {
252252
}
253253

254254
fileprivate class TestPersister: Persist {
255-
override func persistNewChannel(channelFundingOutpoint channelId: Bindings.OutPoint, data: Bindings.ChannelMonitor, updateId: Bindings.MonitorUpdateId) -> Bindings.ChannelMonitorUpdateStatus {
255+
256+
override func persistNewChannel(channelFundingOutpoint: Bindings.OutPoint, monitor: Bindings.ChannelMonitor) -> Bindings.ChannelMonitorUpdateStatus {
256257
.Completed
257258
}
258-
override func updatePersistedChannel(channelFundingOutpoint channelId: Bindings.OutPoint, update: Bindings.ChannelMonitorUpdate, data: Bindings.ChannelMonitor, updateId: Bindings.MonitorUpdateId) -> Bindings.ChannelMonitorUpdateStatus {
259+
260+
override func updatePersistedChannel(channelFundingOutpoint: Bindings.OutPoint, monitorUpdate: Bindings.ChannelMonitorUpdate, monitor: Bindings.ChannelMonitor) -> Bindings.ChannelMonitorUpdateStatus {
259261
.Completed
260262
}
261263
}

ci/LDKSwift/Tests/LDKSwiftTests/TestChannelManagerPersister.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ class TestChannelManagerPersister : Persister, ExtendedChannelManagerPersister {
1818
self.channelManager = channelManager
1919
super.init()
2020
}
21-
22-
func handleEvent(event: Event) {
23-
// privateHandleEvent(event: event)
21+
22+
func handleEvent(event: Event) -> Result_NoneReplayEventZ {
23+
.initWithOk()
2424
}
2525

2626
override func persistScorer(scorer: Bindings.WriteableScore) -> Bindings.Result_NoneIOErrorZ {

ci/LDKSwift/Tests/LDKSwiftTests/TestPersister.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import LDKHeaders
1111
#endif
1212

1313
class TestPersister: Persist {
14-
15-
override func persistNewChannel(channelFundingOutpoint channelId: Bindings.OutPoint, data: Bindings.ChannelMonitor, updateId: Bindings.MonitorUpdateId) -> Bindings.ChannelMonitorUpdateStatus {
14+
15+
override func persistNewChannel(channelFundingOutpoint: Bindings.OutPoint, monitor: Bindings.ChannelMonitor) -> Bindings.ChannelMonitorUpdateStatus {
1616
.Completed
1717
}
1818

19-
override func updatePersistedChannel(channelFundingOutpoint channelId: Bindings.OutPoint, update: Bindings.ChannelMonitorUpdate, data: Bindings.ChannelMonitor, updateId: Bindings.MonitorUpdateId) -> Bindings.ChannelMonitorUpdateStatus {
19+
override func updatePersistedChannel(channelFundingOutpoint: Bindings.OutPoint, monitorUpdate: Bindings.ChannelMonitorUpdate, monitor: Bindings.ChannelMonitor) -> Bindings.ChannelMonitorUpdateStatus {
2020
.Completed
2121
}
2222

ci/LDKSwift/Tests/LDKSwiftTests/WrappedSignerProviderTests.swift

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class WrappedSignerProviderTests: XCTestCase {
3737

3838
let handshakeConfig = ChannelHandshakeConfig.initWithDefault()
3939
handshakeConfig.setMinimumDepth(val: 1)
40-
handshakeConfig.setAnnouncedChannel(val: false)
40+
// handshakeConfig.setAnnouncedChannel(val: false)
4141

4242
let handshakeLimits = ChannelHandshakeLimits.initWithDefault()
4343
handshakeLimits.setForceAnnouncedChannelPreference(val: false)
@@ -105,10 +105,10 @@ class WrappedSignerProviderTests: XCTestCase {
105105
print("entering wrapper: signGossipMessage()")
106106
return myKeysManager!.keysManager.asNodeSigner().signGossipMessage(msg: msg)
107107
}
108-
109-
override func signInvoice(hrpBytes: [UInt8], invoiceData: [UInt8], recipient: Bindings.Recipient) -> Bindings.Result_RecoverableSignatureNoneZ {
108+
109+
override func signInvoice(invoice: Bindings.RawBolt11Invoice, recipient: Bindings.Recipient) -> Bindings.Result_RecoverableSignatureNoneZ {
110110
print("entering wrapper: signInvoice()")
111-
return myKeysManager!.keysManager.asNodeSigner().signInvoice(hrpBytes: hrpBytes, invoiceData: invoiceData, recipient: recipient)
111+
return myKeysManager!.keysManager.asNodeSigner().signInvoice(invoice: invoice, recipient: recipient)
112112
}
113113
}
114114

@@ -122,17 +122,18 @@ class WrappedSignerProviderTests: XCTestCase {
122122

123123
class MySignerProvider: SignerProvider {
124124
weak var myKeysManager: MyKeysManager?
125-
override func deriveChannelSigner(channelValueSatoshis: UInt64, channelKeysId: [UInt8]) -> Bindings.WriteableEcdsaChannelSigner {
125+
126+
override func deriveChannelSigner(channelValueSatoshis: UInt64, channelKeysId: [UInt8]) -> Bindings.EcdsaChannelSigner {
126127
print("entering wrapper: deriveChannelSigner()")
127-
return myKeysManager!.keysManager.asSignerProvider().deriveChannelSigner(channelValueSatoshis: channelValueSatoshis, channelKeysId: channelKeysId)
128+
return myKeysManager!.keysManager.deriveChannelKeys(channelValueSatoshis: channelValueSatoshis, params: channelKeysId).asEcdsaChannelSigner()
128129
}
129130

130131
override func generateChannelKeysId(inbound: Bool, channelValueSatoshis: UInt64, userChannelId: [UInt8]) -> [UInt8] {
131132
print("entering wrapper: generateChannelKeysId()")
132133
return myKeysManager!.keysManager.asSignerProvider().generateChannelKeysId(inbound: inbound, channelValueSatoshis: channelValueSatoshis, userChannelId: userChannelId)
133134
}
134-
135-
override func readChanSigner(reader: [UInt8]) -> Bindings.Result_WriteableEcdsaChannelSignerDecodeErrorZ {
135+
136+
override func readChanSigner(reader: [UInt8]) -> Bindings.Result_EcdsaChannelSignerDecodeErrorZ {
136137
print("entering wrapper: readChanSigner()")
137138
return myKeysManager!.keysManager.asSignerProvider().readChanSigner(reader: reader)
138139
}

0 commit comments

Comments
 (0)