Skip to content

Commit a9d23ff

Browse files
authored
Merge pull request #30 from Web3Auth/update_dependencies
update dependencies
2 parents 5331918 + 2b126ca commit a9d23ff

22 files changed

+664
-440
lines changed

Package.resolved

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

Package.swift

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,26 @@ import PackageDescription
55

66
let package = Package(
77
name: "mpc-core-kit-swift",
8-
platforms: [ .iOS(.v14) ],
8+
platforms: [ .iOS(.v14), .macOS(.v11) ],
99
products: [
10-
// Products define the executables and libraries a package produces, making them visible to other packages.
1110
.library(
1211
name: "mpc-core-kit-swift",
1312
targets: ["mpc-core-kit-swift"]),
1413
],
1514
dependencies: [
16-
.package(url: "https://github.com/vapor/jwt-kit.git", from: "4.0.0"),
17-
.package(url: "https://github.com/torusresearch/tss-client-swift.git", from: "4.0.0"),
18-
.package(url: "https://github.com/tkey/tkey-mpc-swift", from: "3.0.1"),
19-
.package(url: "https://github.com/torusresearch/customauth-swift-sdk", from: "10.0.1"),
20-
.package(url: "https://github.com/Web3Auth/single-factor-auth-swift", from: "5.0.0"),
21-
.package(url: "https://github.com/auth0/JWTDecode.swift", from: "3.1.0")
15+
.package(url: "https://github.com/torusresearch/tss-client-swift.git", from: "5.0.1"),
16+
.package(url: "https://github.com/tkey/tkey-mpc-swift", from: "4.0.2"),
17+
.package(url: "https://github.com/torusresearch/customauth-swift-sdk", from: "11.0.2"),
18+
.package(url: "https://github.com/vapor/jwt-kit.git", from: "4.0.0")
2219
],
2320

2421
targets: [
25-
// Targets are the basic building blocks of a package, defining a module or a test suite.
26-
// Targets can depend on other targets in this package and products from dependencies.
2722
.target(
2823
name: "mpc-core-kit-swift",
2924
dependencies: [
3025
.product(name: "CustomAuth", package: "customauth-swift-sdk"),
31-
.product(name: "SingleFactorAuth", package: "single-factor-auth-swift"),
3226
.product(name: "tkey", package: "tkey-mpc-swift" ),
33-
.product(name: "tssClientSwift", package: "tss-client-swift" ),
34-
.product(name: "JWTDecode", package: "JWTDecode.swift")
27+
.product(name: "tssClientSwift", package: "tss-client-swift" )
3528
]
3629
),
3730
.testTarget(

Sources/mpc-core-kit-swift/CoreKitError.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ public enum CoreKitError: Error {
55
case invalidInput
66
case notFound(msg: String)
77
case factorKeyUnavailable
8+
case tssIndexUnavailable
89
case metadataPubKeyUnavailable
910
case shareIndexNotFound
1011
case notLoggedIn
@@ -18,7 +19,6 @@ public enum CoreKitError: Error {
1819
case invalidTKey
1920
case nodeDetailsMissing
2021
case invalidMetadataUrl
21-
case invalidOAuthKey
2222
case invalidHashKey
2323
case invalidAuthSignatures
2424
case invalidFactorKey
@@ -28,6 +28,10 @@ public enum CoreKitError: Error {
2828
case requireUncompressedPublicKey
2929
case invalidStore
3030
case noTssTags
31+
case invalidDeviceFactorKey
32+
case invalidTssPubKey
33+
case invalidClientId
34+
case runtime(_ msg: String)
3135

3236
public var errorDescription: String {
3337
switch self {
@@ -41,6 +45,8 @@ public enum CoreKitError: Error {
4145
return "Invalid input"
4246
case .factorKeyUnavailable:
4347
return "Factor key unavailable"
48+
case .tssIndexUnavailable:
49+
return "TSS index unavailable"
4450
case .shareIndexNotFound:
4551
return "Share index not found"
4652
case .notLoggedIn:
@@ -65,8 +71,6 @@ public enum CoreKitError: Error {
6571
return "Node details absent"
6672
case .invalidMetadataUrl:
6773
return "Invalid metadata url"
68-
case .invalidOAuthKey:
69-
return "Invalid OAuthKey"
7074
case .invalidHashKey:
7175
return "Invalid hash key"
7276
case .invalidAuthSignatures:
@@ -85,6 +89,14 @@ public enum CoreKitError: Error {
8589
return "Invalid Store"
8690
case .noTssTags:
8791
return "No Tss tags have been set"
92+
case .invalidDeviceFactorKey:
93+
return "Device factor key not found"
94+
case let .runtime(msg: msg):
95+
return msg
96+
case .invalidTssPubKey:
97+
return "Invalid tss public key"
98+
case .invalidClientId:
99+
return "Invalid client id"
88100
}
89101
}
90102
}

Sources/mpc-core-kit-swift/CoreKitStorage.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import Foundation
22

33
public class CoreKitStorage {
4-
public var storage: ILocalStorage
4+
public var storage: IStorage
55
private var storeKey: String
66

7-
public init(storeKey: String, storage: ILocalStorage) {
7+
public init(storeKey: String, storage: IStorage) {
88
self.storage = storage
99
self.storeKey = storeKey
1010
}
@@ -27,28 +27,28 @@ public class CoreKitStorage {
2727
return resultStr
2828
}
2929

30-
public func getStore() async throws -> [String: Any] {
30+
public func getStore() async throws -> [String: String] {
3131
let result = try await storage.get(key: storeKey)
3232
if result.isEmpty { return [:] }
33-
let store = try JSONSerialization.jsonObject(with: result) as? [String: Any]
33+
let store = try JSONSerialization.jsonObject(with: result) as? [String: String]
3434
guard let storeUnwrapped = store else {
3535
throw CoreKitError.invalidStore
3636
}
3737
return storeUnwrapped
3838
}
3939

40-
public func get<T>(key: String) async throws -> T {
40+
public func get(key: String) async throws -> Data {
4141
let store = try await getStore()
42-
guard let item = store[key] as? T else {
42+
guard let item = store[key] else {
4343
throw CoreKitError.notFound(msg: "key \(key) value not found")
4444
}
45-
return item
45+
return Data(base64Encoded: item) ?? Data()
4646
}
4747

48-
public func set<T>(key: String, payload: T) async throws {
48+
public func set(key: String, payload: Data) async throws {
4949
var store: [String: Any] = try await getStore()
50-
store.updateValue(payload, forKey: key)
51-
let jsonData = try JSONSerialization.data(withJSONObject: store)
50+
store.updateValue(payload.base64EncodedString(), forKey: key)
51+
let jsonData = try JSONSerialization.data(withJSONObject: store, options: [])
5252
try await storage.set(key: storeKey, payload: jsonData)
5353
}
5454

Sources/mpc-core-kit-swift/DeviceFactorStorage.swift

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,14 @@ public class DeviceFactorStorage: IFactorStorage {
88
}
99

1010
public func setFactor(metadataPubKey: String, factorKey: String) async throws {
11-
var localMetadata: [String: Any] = try await storage.get(key: metadataPubKey)
12-
13-
localMetadata["factorKey"] = factorKey
14-
try await storage.set(key: metadataPubKey, payload: localMetadata)
11+
guard let factorKeyData = Data(hexString: factorKey) else {
12+
throw CoreKitError.invalidFactorKey
13+
}
14+
try await storage.set(key: metadataPubKey, payload: factorKeyData)
1515
}
1616

1717
public func getFactor(metadataPubKey: String) async throws -> String {
18-
let localMetadata: [String: Any] = try await storage.get(key: metadataPubKey)
19-
guard let deviceFactor = localMetadata["factorKey"] as? String else {
20-
throw CoreKitError.notFound(msg: "device factor not found")
21-
}
22-
return deviceFactor
18+
let localMetadata: Data = try await storage.get(key: metadataPubKey)
19+
return localMetadata.hexString
2320
}
2421
}
25-
Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import BigInt
22
import FetchNodeDetails
33
import Foundation
4-
import SingleFactorAuth
54

65
#if canImport(tkey)
76
import tkey
@@ -15,40 +14,28 @@ import SingleFactorAuth
1514
import tssClientSwift
1615
#endif
1716

17+
public class FactorDescription: Codable {
18+
public let module: FactorType
19+
public let tssIndex: TssShareType
20+
public let description: String?
21+
public let dateAdded: Int
22+
23+
public init(module: FactorType, tssIndex: TssShareType, description: String?, dateAdded: Int) {
24+
self.module = module
25+
self.tssIndex = tssIndex
26+
self.description = description
27+
self.dateAdded = dateAdded
28+
}
29+
}
1830

19-
public func createCoreKitFactorDescription(module: FactorType, tssIndex: TssShareType, additional: [String: Any] = [:]) -> [String: Any] {
20-
var description = additional
21-
22-
description["module"] = module
23-
description["tssShareIndex"] = tssIndex
24-
description["dateAdded"] = Date().timeIntervalSince1970
25-
26-
return description
31+
public func createCoreKitFactorDescription(module: FactorType, tssIndex: TssShareType, dateAdded: Int, description: String? = nil) -> FactorDescription {
32+
return FactorDescription(module: module, tssIndex: tssIndex, description: description, dateAdded: dateAdded)
2733
}
2834

29-
func factorDescriptionToJsonStr(dataObj: [String: Any]) throws -> String {
30-
let json = try JSONSerialization.data(withJSONObject: dataObj)
35+
func factorDescriptionToJsonStr(dataObj: FactorDescription) throws -> String {
36+
let json = try JSONEncoder().encode(dataObj)
3137
guard let jsonStr = String(data: json, encoding: .utf8) else {
3238
throw CoreKitError.invalidResult
3339
}
3440
return jsonStr
3541
}
36-
37-
func convertWeb3AuthNetworkToTorusNetWork(network: Web3AuthNetwork) -> TorusNetwork {
38-
switch network {
39-
case Web3AuthNetwork.SAPPHIRE_DEVNET: return .sapphire(.SAPPHIRE_DEVNET)
40-
case Web3AuthNetwork.SAPPHIRE_MAINNET: return .sapphire(.SAPPHIRE_MAINNET)
41-
case Web3AuthNetwork.MAINNET: return .legacy(.MAINNET)
42-
case Web3AuthNetwork.TESTNET: return .legacy(.TESTNET)
43-
case Web3AuthNetwork.CYAN: return .legacy(.CYAN)
44-
case Web3AuthNetwork.AQUA: return .legacy(.AQUA)
45-
case Web3AuthNetwork.CELESTE: return .legacy(.CELESTE)
46-
case Web3AuthNetwork.CUSTOM: return .sapphire(.SAPPHIRE_MAINNET)
47-
}
48-
}
49-
50-
public extension Web3AuthNetwork {
51-
func toTorusNetwork() -> TorusNetwork {
52-
return convertWeb3AuthNetworkToTorusNetWork(network: self)
53-
}
54-
}

0 commit comments

Comments
 (0)