Skip to content

Commit f177b0e

Browse files
committed
chore: remove unused lightningdevkit and sqlite deps
1 parent 2f9e26b commit f177b0e

File tree

4 files changed

+9
-135
lines changed

4 files changed

+9
-135
lines changed

Bitkit.xcodeproj/project.pbxproj

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@
1313
4AFCA3702E05933800205CAE /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = 4AFCA36F2E05933800205CAE /* Zip */; };
1414
4AFCA3722E0596D900205CAE /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = 4AFCA3712E0596D900205CAE /* Zip */; };
1515
961058E32C355B5500E1F1D8 /* BitkitNotification.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 961058DC2C355B5500E1F1D8 /* BitkitNotification.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
16-
96204B762DE9A91A007BAA26 /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = 96204B752DE9A91A007BAA26 /* SQLite */; };
17-
96204B782DE9AA43007BAA26 /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = 96204B772DE9AA43007BAA26 /* SQLite */; };
18-
966DE6702C51210000A7B0EF /* LightningDevKit in Frameworks */ = {isa = PBXBuildFile; productRef = 966DE66F2C51210000A7B0EF /* LightningDevKit */; };
1916
968FDF162DFAFE230053CD7F /* LDKNode in Frameworks */ = {isa = PBXBuildFile; productRef = 9613018B2C5022D700878183 /* LDKNode */; };
2017
968FE1402DFB016B0053CD7F /* LDKNode in Frameworks */ = {isa = PBXBuildFile; productRef = 968FE13F2DFB016B0053CD7F /* LDKNode */; };
2118
96DEA03A2DE8BBA1009932BF /* BitkitCore in Frameworks */ = {isa = PBXBuildFile; productRef = 96DEA0392DE8BBA1009932BF /* BitkitCore */; };
@@ -161,10 +158,8 @@
161158
files = (
162159
4AFCA3702E05933800205CAE /* Zip in Frameworks */,
163160
968FDF162DFAFE230053CD7F /* LDKNode in Frameworks */,
164-
96204B782DE9AA43007BAA26 /* SQLite in Frameworks */,
165161
18D65E002EB964B500252335 /* VssRustClientFfi in Frameworks */,
166162
96E493A42C942FD1000E8BC2 /* secp256k1 in Frameworks */,
167-
966DE6702C51210000A7B0EF /* LightningDevKit in Frameworks */,
168163
96DEA03A2DE8BBA1009932BF /* BitkitCore in Frameworks */,
169164
96E20CD42CB6D91A00C24149 /* CodeScanner in Frameworks */,
170165
4AAB08CA2E1FE77600BA63DF /* Lottie in Frameworks */,
@@ -175,7 +170,6 @@
175170
isa = PBXFrameworksBuildPhase;
176171
buildActionMask = 2147483647;
177172
files = (
178-
96204B762DE9A91A007BAA26 /* SQLite in Frameworks */,
179173
96E493A62C94317D000E8BC2 /* secp256k1 in Frameworks */,
180174
);
181175
runOnlyForDeploymentPostprocessing = 0;
@@ -267,11 +261,9 @@
267261
name = Bitkit;
268262
packageProductDependencies = (
269263
9613018B2C5022D700878183 /* LDKNode */,
270-
966DE66F2C51210000A7B0EF /* LightningDevKit */,
271264
96E493A32C942FD1000E8BC2 /* secp256k1 */,
272265
96E20CD32CB6D91A00C24149 /* CodeScanner */,
273266
96DEA0392DE8BBA1009932BF /* BitkitCore */,
274-
96204B772DE9AA43007BAA26 /* SQLite */,
275267
4AFCA36F2E05933800205CAE /* Zip */,
276268
4AAB08C92E1FE77600BA63DF /* Lottie */,
277269
18D65DFF2EB964B500252335 /* VssRustClientFfi */,
@@ -299,7 +291,6 @@
299291
name = BitkitTests;
300292
packageProductDependencies = (
301293
96E493A52C94317D000E8BC2 /* secp256k1 */,
302-
96204B752DE9A91A007BAA26 /* SQLite */,
303294
);
304295
productName = BitkitTests;
305296
productReference = 96FE1F722C2DE6AC006D0C8B /* BitkitTests.xctest */;
@@ -376,8 +367,6 @@
376367
);
377368
mainGroup = 96FE1F582C2DE6AA006D0C8B;
378369
packageReferences = (
379-
961301892C50215500878183 /* XCRemoteSwiftPackageReference "SQLite.swift" */,
380-
966DE66E2C51210000A7B0EF /* XCRemoteSwiftPackageReference "ldk-swift" */,
381370
96E493A22C942FD1000E8BC2 /* XCRemoteSwiftPackageReference "swift-secp256k1" */,
382371
96E20CD22CB6D91A00C24149 /* XCRemoteSwiftPackageReference "CodeScanner" */,
383372
96DEA0382DE8BBA1009932BF /* XCRemoteSwiftPackageReference "bitkit-core" */,
@@ -899,14 +888,6 @@
899888
minimumVersion = 2.1.2;
900889
};
901890
};
902-
961301892C50215500878183 /* XCRemoteSwiftPackageReference "SQLite.swift" */ = {
903-
isa = XCRemoteSwiftPackageReference;
904-
repositoryURL = "https://github.com/stephencelis/SQLite.swift.git";
905-
requirement = {
906-
kind = upToNextMajorVersion;
907-
minimumVersion = 0.15.3;
908-
};
909-
};
910891
962045C92DE998F1007BAA26 /* XCRemoteSwiftPackageReference "ldk-node" */ = {
911892
isa = XCRemoteSwiftPackageReference;
912893
repositoryURL = "https://github.com/lightningdevkit/ldk-node";
@@ -915,14 +896,6 @@
915896
kind = branch;
916897
};
917898
};
918-
966DE66E2C51210000A7B0EF /* XCRemoteSwiftPackageReference "ldk-swift" */ = {
919-
isa = XCRemoteSwiftPackageReference;
920-
repositoryURL = "https://github.com/lightningdevkit/ldk-swift/";
921-
requirement = {
922-
kind = upToNextMajorVersion;
923-
minimumVersion = 0.0.123;
924-
};
925-
};
926899
968FE13E2DFB016B0053CD7F /* XCRemoteSwiftPackageReference "ldk-node" */ = {
927900
isa = XCRemoteSwiftPackageReference;
928901
repositoryURL = "https://github.com/synonymdev/ldk-node";
@@ -988,21 +961,6 @@
988961
package = 962045C92DE998F1007BAA26 /* XCRemoteSwiftPackageReference "ldk-node" */;
989962
productName = LDKNode;
990963
};
991-
96204B752DE9A91A007BAA26 /* SQLite */ = {
992-
isa = XCSwiftPackageProductDependency;
993-
package = 961301892C50215500878183 /* XCRemoteSwiftPackageReference "SQLite.swift" */;
994-
productName = SQLite;
995-
};
996-
96204B772DE9AA43007BAA26 /* SQLite */ = {
997-
isa = XCSwiftPackageProductDependency;
998-
package = 961301892C50215500878183 /* XCRemoteSwiftPackageReference "SQLite.swift" */;
999-
productName = SQLite;
1000-
};
1001-
966DE66F2C51210000A7B0EF /* LightningDevKit */ = {
1002-
isa = XCSwiftPackageProductDependency;
1003-
package = 966DE66E2C51210000A7B0EF /* XCRemoteSwiftPackageReference "ldk-swift" */;
1004-
productName = LightningDevKit;
1005-
};
1006964
968FE13F2DFB016B0053CD7F /* LDKNode */ = {
1007965
isa = XCSwiftPackageProductDependency;
1008966
package = 968FE13E2DFB016B0053CD7F /* XCRemoteSwiftPackageReference "ldk-node" */;

Bitkit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Bitkit/Services/RNBackupClient.swift

Lines changed: 4 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import CommonCrypto
21
import CryptoKit
32
import Foundation
4-
import LightningDevKit
3+
import LDKNode
54

65
enum RNBackupError: Error, LocalizedError {
76
case notSetup
@@ -63,9 +62,9 @@ class RNBackupClient {
6362
private init() {}
6463

6564
func setup(mnemonic: String, passphrase: String?) async throws {
66-
let seed = try deriveSeed(mnemonic: mnemonic, passphrase: passphrase)
67-
secretKey = seed
68-
publicKey = try Crypto.getPublicKey(privateKey: seed)
65+
let secretKeyBytes = try deriveNodeSecretFromMnemonic(mnemonic: mnemonic, passphrase: passphrase)
66+
secretKey = Data(secretKeyBytes)
67+
publicKey = try Crypto.getPublicKey(privateKey: secretKey!)
6968
serverHost = Env.rnBackupServerHost
7069
network = networkString()
7170
cachedBearer = nil
@@ -87,66 +86,6 @@ class RNBackupClient {
8786
}
8887
}
8988

90-
private func deriveSeed(mnemonic: String, passphrase: String?) throws -> Data {
91-
let mnemonicData = Data(mnemonic.utf8)
92-
let salt = "mnemonic" + (passphrase ?? "")
93-
let saltData = Data(salt.utf8)
94-
95-
var bip39Seed = [UInt8](repeating: 0, count: 64)
96-
let pbkdfResult = bip39Seed.withUnsafeMutableBytes { seedPtr in
97-
mnemonicData.withUnsafeBytes { mnemonicPtr in
98-
saltData.withUnsafeBytes { saltPtr in
99-
CCKeyDerivationPBKDF(
100-
CCPBKDFAlgorithm(kCCPBKDF2),
101-
mnemonicPtr.bindMemory(to: Int8.self).baseAddress!,
102-
mnemonicData.count,
103-
saltPtr.bindMemory(to: UInt8.self).baseAddress!,
104-
saltData.count,
105-
CCPseudoRandomAlgorithm(kCCPRFHmacAlgSHA512),
106-
2048,
107-
seedPtr.bindMemory(to: UInt8.self).baseAddress!,
108-
64
109-
)
110-
}
111-
}
112-
}
113-
114-
guard pbkdfResult == kCCSuccess else {
115-
throw RNBackupError.authFailed
116-
}
117-
118-
let hmacKey = Data("Bitcoin seed".utf8)
119-
let seedData = Data(bip39Seed)
120-
121-
var hmacOutput = [UInt8](repeating: 0, count: Int(CC_SHA512_DIGEST_LENGTH))
122-
hmacKey.withUnsafeBytes { keyPtr in
123-
seedData.withUnsafeBytes { seedPtr in
124-
CCHmac(
125-
CCHmacAlgorithm(kCCHmacAlgSHA512),
126-
keyPtr.baseAddress!,
127-
hmacKey.count,
128-
seedPtr.baseAddress!,
129-
seedData.count,
130-
&hmacOutput
131-
)
132-
}
133-
}
134-
135-
let bip32Seed = [UInt8](hmacOutput.prefix(32))
136-
137-
let currentTime = Date()
138-
let seconds = UInt64(currentTime.timeIntervalSince1970)
139-
let nanoSeconds = UInt32((currentTime.timeIntervalSince1970.truncatingRemainder(dividingBy: 1)) * 1_000_000_000)
140-
141-
let keysManager = KeysManager(
142-
seed: bip32Seed,
143-
startingTimeSecs: seconds,
144-
startingTimeNanos: nanoSeconds
145-
)
146-
147-
return Data(keysManager.getNodeSecretKey())
148-
}
149-
15089
// MARK: - Public API
15190

15291
func listFiles(fileGroup: String? = "ldk") async throws -> RNBackupListResponse {

Bitkit/Utilities/Errors.swift

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ enum CustomServiceError: Error {
55
case nodeNotSetup
66
case nodeNotStarted
77
case onchainWalletNotInitialized
8-
case ldkNodeSqliteAlreadyExists
9-
case ldkToLdkNodeMigration
108
case mnemonicNotFound
119
case nodeStillRunning
1210
case onchainWalletStillRunning
@@ -79,12 +77,6 @@ struct AppError: LocalizedError {
7977
case .onchainWalletNotInitialized:
8078
message = "Onchain wallet not created"
8179
debugMessage = nil
82-
case .ldkNodeSqliteAlreadyExists:
83-
message = "LDK-node SQLite file already exists"
84-
debugMessage = nil
85-
case .ldkToLdkNodeMigration:
86-
message = "LDK to LDK-node migration issue"
87-
debugMessage = nil
8880
case .mnemonicNotFound:
8981
message = "Mnemonic not found"
9082
debugMessage = nil
@@ -362,6 +354,9 @@ struct AppError: LocalizedError {
362354
case let .CoinSelectionFailed(ldkMessage):
363355
message = "Coin selection failed"
364356
debugMessage = ldkMessage
357+
case let .InvalidMnemonic(ldkMessage):
358+
message = "Invalid mnemonic"
359+
debugMessage = ldkMessage
365360
}
366361
Logger.error("\(message) [\(debugMessage ?? "")]", context: "ldk-node error")
367362
}

0 commit comments

Comments
 (0)