Skip to content

Commit 2b4c821

Browse files
committed
fix(swift-sdk): drop legacy headers pre-processing in build_ios.sh
1 parent 87f6b73 commit 2b4c821

24 files changed

Lines changed: 175 additions & 208 deletions

packages/swift-sdk/Sources/SwiftDashSDK/Address/AddressSyncService.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,15 +119,15 @@ extension SDK {
119119
if var cfg = ffiConfig {
120120
return withUnsafePointer(to: &cfg) { cfgPtr in
121121
dash_sdk_sync_addresses_batch_with_result(
122-
UnsafePointer(sdkPtr.ptr),
122+
sdkPtr.ptr,
123123
keysBase, indicesBase, count, keySizeU32, gapLimit,
124124
kbKeysPtr, kbIndPtr, kbNonPtr, kbAmtPtr, kbCount,
125125
cfgPtr, syncHeight, syncTimestamp, recentBlock
126126
)
127127
}
128128
} else {
129129
return dash_sdk_sync_addresses_batch_with_result(
130-
UnsafePointer(sdkPtr.ptr),
130+
sdkPtr.ptr,
131131
keysBase, indicesBase, count, keySizeU32, gapLimit,
132132
kbKeysPtr, kbIndPtr, kbNonPtr, kbAmtPtr, kbCount,
133133
nil, syncHeight, syncTimestamp, recentBlock
@@ -182,6 +182,6 @@ extension SDK {
182182
// MARK: - Private Sendable Wrapper
183183

184184
private final class AddressSyncSendableSdkPtr: @unchecked Sendable {
185-
let ptr: UnsafeMutablePointer<SDKHandle>
186-
init(_ p: UnsafeMutablePointer<SDKHandle>) { self.ptr = p }
185+
let ptr: OpaquePointer
186+
init(_ p: OpaquePointer) { self.ptr = p }
187187
}

packages/swift-sdk/Sources/SwiftDashSDK/Address/Addresses.swift

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,7 +1293,7 @@ public class Addresses: @unchecked Sendable {
12931293
throw SDKError.internalError("Failed to parse identity")
12941294
}
12951295

1296-
let identityHandle = identityHandlePtr.assumingMemoryBound(to: IdentityHandle.self)
1296+
let identityHandle = OpaquePointer(identityHandlePtr)
12971297
defer { dash_sdk_identity_destroy(identityHandle) }
12981298

12991299
// Prepare FFI inputs
@@ -1332,7 +1332,7 @@ public class Addresses: @unchecked Sendable {
13321332
let result = ffiInputs.withUnsafeMutableBufferPointer { inputsBuffer -> DashSDKResult in
13331333
dash_sdk_identity_top_up_from_addresses(
13341334
handle,
1335-
UnsafePointer(identityHandle),
1335+
identityHandle,
13361336
inputsBuffer.baseAddress,
13371337
UInt(inputs.count),
13381338
nil // put_settings
@@ -1433,7 +1433,7 @@ public class Addresses: @unchecked Sendable {
14331433
throw SDKError.internalError("Failed to parse identity")
14341434
}
14351435

1436-
let identityHandle = identityHandlePtr.assumingMemoryBound(to: IdentityHandle.self)
1436+
let identityHandle = OpaquePointer(identityHandlePtr)
14371437
defer { dash_sdk_identity_destroy(identityHandle) }
14381438

14391439
// Create signer from private key
@@ -1456,7 +1456,7 @@ public class Addresses: @unchecked Sendable {
14561456
}
14571457

14581458
defer {
1459-
dash_sdk_signer_destroy(signer.assumingMemoryBound(to: SignerHandle.self))
1459+
dash_sdk_signer_destroy(OpaquePointer(signer))
14601460
}
14611461

14621462
// Prepare FFI outputs
@@ -1483,11 +1483,11 @@ public class Addresses: @unchecked Sendable {
14831483
let result = ffiOutputs.withUnsafeMutableBufferPointer { outputsBuffer -> DashSDKResult in
14841484
dash_sdk_identity_transfer_credits_to_addresses(
14851485
handle,
1486-
UnsafePointer(identityHandle),
1486+
identityHandle,
14871487
outputsBuffer.baseAddress,
14881488
UInt(outputs.count),
14891489
publicKeyId,
1490-
signer.assumingMemoryBound(to: SignerHandle.self),
1490+
OpaquePointer(signer),
14911491
nil // put_settings
14921492
)
14931493
}
@@ -1587,7 +1587,7 @@ public class Addresses: @unchecked Sendable {
15871587
throw SDKError.internalError("Failed to parse identity")
15881588
}
15891589

1590-
let identityHandle = identityHandlePtr.assumingMemoryBound(to: IdentityHandle.self)
1590+
let identityHandle = OpaquePointer(identityHandlePtr)
15911591
// Note: We don't destroy this handle here because it will be replaced by the created identity
15921592

15931593
// Create signer from private key
@@ -1611,7 +1611,7 @@ public class Addresses: @unchecked Sendable {
16111611
}
16121612

16131613
defer {
1614-
dash_sdk_signer_destroy(signer.assumingMemoryBound(to: SignerHandle.self))
1614+
dash_sdk_signer_destroy(OpaquePointer(signer))
16151615
}
16161616

16171617
// Prepare FFI inputs
@@ -1669,11 +1669,11 @@ public class Addresses: @unchecked Sendable {
16691669
let result = ffiInputs.withUnsafeMutableBufferPointer { inputsBuffer -> DashSDKResult in
16701670
dash_sdk_identity_create_from_addresses(
16711671
handle,
1672-
UnsafePointer(identityHandle),
1672+
identityHandle,
16731673
inputsBuffer.baseAddress,
16741674
UInt(inputs.count),
16751675
ffiOutput,
1676-
signer.assumingMemoryBound(to: SignerHandle.self),
1676+
OpaquePointer(signer),
16771677
nil // put_settings
16781678
)
16791679
}
@@ -1728,10 +1728,6 @@ public class Addresses: @unchecked Sendable {
17281728
// Free the result (but keep the identity handle - caller must free it)
17291729
dash_sdk_identity_create_from_addresses_result_free(resultPtr)
17301730

1731-
// Convert UnsafeMutablePointer<IdentityHandle> to OpaquePointer
1732-
// OpaquePointer initializer returns optional, so we force unwrap since we know it's valid
1733-
let createdIdentityHandle = OpaquePointer(UnsafeRawPointer(identityHandlePtr))!
1734-
1735-
return (createdIdentityHandle, PlatformAddressInfosResult(infos: infos))
1731+
return (identityHandlePtr, PlatformAddressInfosResult(infos: infos))
17361732
}
17371733
}

packages/swift-sdk/Sources/SwiftDashSDK/FFI/KeychainSigner.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@ public final class KeychainSigner: Signer, @unchecked Sendable {
8888

8989
/// FFI signer handle. Pass to any `*_with_signer` entry point;
9090
/// the underlying pointer is the C-imported
91-
/// `UnsafeMutablePointer<SignerHandle>` from `platform-wallet-ffi.h`
91+
/// `OpaquePointer` from `platform-wallet-ffi.h`
9292
/// (and equivalently `rs-sdk-ffi.h`). Owned by this object —
9393
/// freed in `deinit` via `dash_sdk_signer_destroy`. Caller must
9494
/// keep the `KeychainSigner` alive for the duration of any FFI
9595
/// call that captured this pointer (see the keepalive contract
9696
/// above).
97-
public var handle: UnsafeMutablePointer<SignerHandle> {
97+
public var handle: OpaquePointer {
9898
handlePtr
9999
}
100100

@@ -182,7 +182,7 @@ public final class KeychainSigner: Signer, @unchecked Sendable {
182182

183183
/// Raw pointer to the FFI signer handle. Boxed by Rust and freed
184184
/// in `deinit`.
185-
private var handlePtr: UnsafeMutablePointer<SignerHandle>!
185+
private var handlePtr: OpaquePointer!
186186

187187
// MARK: Init
188188

@@ -603,7 +603,7 @@ public final class KeychainSigner: Signer, @unchecked Sendable {
603603
guard let rawSigner = signerResult.data else {
604604
return .failure(.ffiSignerCreationFailed(message: "null handle"))
605605
}
606-
let signerHandle = rawSigner.assumingMemoryBound(to: SignerHandle.self)
606+
let signerHandle = OpaquePointer(rawSigner)
607607
defer { dash_sdk_signer_destroy(signerHandle) }
608608

609609
let signResult = data.withUnsafeBytes { dataBuf -> DashSDKResult in

packages/swift-sdk/Sources/SwiftDashSDK/FFI/PlatformQueryExtensions.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ extension SDK {
499499

500500
defer {
501501
// Clean up contract handle when done
502-
let contractPtr = contractHandle.assumingMemoryBound(to: DataContractHandle.self)
502+
let contractPtr = OpaquePointer(contractHandle)
503503
dash_sdk_data_contract_destroy(contractPtr)
504504
}
505505

@@ -514,7 +514,7 @@ extension SDK {
514514
if let orderByClause = orderByClauseCString {
515515
return orderByClause.withUnsafeBufferPointer { orderByPtr in
516516
var searchParams = DashSDKDocumentSearchParams()
517-
searchParams.data_contract_handle = UnsafePointer(contractHandle.assumingMemoryBound(to: DataContractHandle.self))
517+
searchParams.data_contract_handle = OpaquePointer(contractHandle)
518518
searchParams.document_type = documentTypePtr.baseAddress
519519
searchParams.where_json = wherePtr.baseAddress
520520
searchParams.order_by_json = orderByPtr.baseAddress
@@ -534,7 +534,7 @@ extension SDK {
534534
}
535535
} else {
536536
var searchParams = DashSDKDocumentSearchParams()
537-
searchParams.data_contract_handle = UnsafePointer(contractHandle.assumingMemoryBound(to: DataContractHandle.self))
537+
searchParams.data_contract_handle = OpaquePointer(contractHandle)
538538
searchParams.document_type = documentTypePtr.baseAddress
539539
searchParams.where_json = wherePtr.baseAddress
540540
searchParams.order_by_json = nil
@@ -555,7 +555,7 @@ extension SDK {
555555
}
556556
} else {
557557
var searchParams = DashSDKDocumentSearchParams()
558-
searchParams.data_contract_handle = UnsafePointer(contractHandle.assumingMemoryBound(to: DataContractHandle.self))
558+
searchParams.data_contract_handle = OpaquePointer(contractHandle)
559559
searchParams.document_type = documentTypePtr.baseAddress
560560
searchParams.where_json = nil
561561
searchParams.order_by_json = nil
@@ -590,12 +590,12 @@ extension SDK {
590590

591591
defer {
592592
// Clean up contract handle when done
593-
let contractPtr = contractHandle.assumingMemoryBound(to: DataContractHandle.self)
593+
let contractPtr = OpaquePointer(contractHandle)
594594
dash_sdk_data_contract_destroy(contractPtr)
595595
}
596596

597597
// Now fetch the document
598-
let documentResult = dash_sdk_document_fetch(handle, contractHandle.assumingMemoryBound(to: DataContractHandle.self), documentType, documentId)
598+
let documentResult = dash_sdk_document_fetch(handle, OpaquePointer(contractHandle), documentType, documentId)
599599

600600
if let error = documentResult.error {
601601
let errorMessage = error.pointee.message != nil ? String(cString: error.pointee.message!) : "Unknown error"
@@ -609,11 +609,11 @@ extension SDK {
609609

610610
defer {
611611
// Clean up document handle
612-
dash_sdk_document_destroy(handle, documentHandle.assumingMemoryBound(to: DocumentHandle.self))
612+
dash_sdk_document_destroy(handle, OpaquePointer(documentHandle))
613613
}
614614

615615
// Get document info to convert to JSON
616-
let info = dash_sdk_document_get_info(documentHandle.assumingMemoryBound(to: DocumentHandle.self))
616+
let info = dash_sdk_document_get_info(OpaquePointer(documentHandle))
617617
defer {
618618
if let info = info {
619619
dash_sdk_document_info_free(info)

0 commit comments

Comments
 (0)