Skip to content

Commit 65f616c

Browse files
authored
Merge pull request #8 from lightningdevkit/deallocation_edge_cases
Handle select deallocation edge cases better
2 parents 33343c7 + 496949c commit 65f616c

File tree

278 files changed

+1348
-581
lines changed

Some content is hidden

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

278 files changed

+1348
-581
lines changed

bindings/LDK/Bindings.swift

Lines changed: 182 additions & 112 deletions
Large diffs are not rendered by default.

bindings/LDK/options/APIError.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class APIError: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKAPIError?
6+
internal var cOpaqueStruct: LDKAPIError?
77

88

99

bindings/LDK/options/ErrorAction.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class ErrorAction: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKErrorAction?
6+
internal var cOpaqueStruct: LDKErrorAction?
77

88

99

bindings/LDK/options/Event.swift

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class Event: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKEvent?
6+
internal var cOpaqueStruct: LDKEvent?
77

88

99

@@ -166,9 +166,14 @@ Event_clone(origPointer)
166166
return Event(pointer: Event_pending_htlcs_forwardable(time_forwardable));
167167
}
168168

169-
public class func spendable_outputs(outputs: [LDKSpendableOutputDescriptor]) -> Event {
169+
public class func spendable_outputs(outputs: [SpendableOutputDescriptor]) -> Event {
170170

171-
let outputsWrapper = Bindings.new_LDKCVec_SpendableOutputDescriptorZWrapper(array: outputs)
171+
let outputsUnwrapped = outputs.map { (outputsCurrentValue) in
172+
outputsCurrentValue
173+
.danglingClone().cOpaqueStruct!
174+
}
175+
176+
let outputsWrapper = Bindings.new_LDKCVec_SpendableOutputDescriptorZWrapper(array: outputsUnwrapped)
172177
defer {
173178
outputsWrapper.noOpRetain()
174179
}
@@ -358,8 +363,12 @@ Event_write(objPointer)
358363

359364

360365

361-
public func getOutputs() -> [LDKSpendableOutputDescriptor] {
366+
public func getOutputs() -> [SpendableOutputDescriptor] {
362367
return Bindings.LDKCVec_SpendableOutputDescriptorZ_to_array(nativeType: self.cOpaqueStruct!.outputs, deallocate: false)
368+
.map { (cOpaqueStruct) in
369+
SpendableOutputDescriptor(pointer: cOpaqueStruct).dangle()
370+
}
371+
363372
}
364373

365374

bindings/LDK/options/Fallback.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class Fallback: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKFallback?
6+
internal var cOpaqueStruct: LDKFallback?
77

88

99

bindings/LDK/options/HTLCFailChannelUpdate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class HTLCFailChannelUpdate: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKHTLCFailChannelUpdate?
6+
internal var cOpaqueStruct: LDKHTLCFailChannelUpdate?
77

88

99

bindings/LDK/options/MessageSendEvent.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class MessageSendEvent: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKMessageSendEvent?
6+
internal var cOpaqueStruct: LDKMessageSendEvent?
77

88

99

bindings/LDK/options/MonitorEvent.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class MonitorEvent: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKMonitorEvent?
6+
internal var cOpaqueStruct: LDKMonitorEvent?
77

88

99

@@ -53,7 +53,16 @@ public class MonitorEvent: NativeTypeWrapper {
5353
if self.cOpaqueStruct?.tag != LDKMonitorEvent_CommitmentTxBroadcasted {
5454
return nil
5555
}
56-
return OutPoint(pointer: self.cOpaqueStruct!.commitment_tx_broadcasted, anchor: self)
56+
return
57+
{ () in
58+
let cStruct =
59+
self.cOpaqueStruct!.commitment_tx_broadcasted;
60+
if cStruct.inner == nil {
61+
return nil
62+
}
63+
return OutPoint(pointer: cStruct, anchor: self)
64+
}()
65+
5766
}
5867

5968

bindings/LDK/options/NetAddress.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class NetAddress: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKNetAddress?
6+
internal var cOpaqueStruct: LDKNetAddress?
77

88

99

bindings/LDK/options/Option_C2Tuple_usizeTransactionZZ.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class Option_C2Tuple_usizeTransactionZZ: NativeTypeWrapper {
33
private static var instanceCounter: UInt = 0
44
internal let instanceNumber: UInt
55

6-
public internal(set) var cOpaqueStruct: LDKCOption_C2Tuple_usizeTransactionZZ?
6+
internal var cOpaqueStruct: LDKCOption_C2Tuple_usizeTransactionZZ?
77

88
/* DEFAULT_CONSTRUCTOR_START */
99
public init(value: C2Tuple_usizeTransactionZ?) {

0 commit comments

Comments
 (0)