diff --git a/Package.resolved b/Package.resolved index b858466..9135586 100644 --- a/Package.resolved +++ b/Package.resolved @@ -28,13 +28,22 @@ "version": "1.7.2" } }, + { + "package": "curvelib.swift", + "repositoryURL": "https://github.com/tkey/curvelib.swift", + "state": { + "branch": null, + "revision": "508322dbd3b18a92c1e9c4eb68da6a228acb1d7d", + "version": "0.1.1" + } + }, { "package": "FetchNodeDetails", "repositoryURL": "https://github.com/torusresearch/fetch-node-details-swift.git", "state": { "branch": null, - "revision": "68459eb481c382bfbbe28345b8eb25b3897c7447", - "version": "5.0.0" + "revision": "d591af500f32ce3c88d04af9bb74d746585acfea", + "version": "5.1.0" } }, { @@ -55,15 +64,6 @@ "version": "3.1.0" } }, - { - "package": "secp256k1", - "repositoryURL": "https://github.com/GigaBitcoin/secp256k1.swift.git", - "state": { - "branch": null, - "revision": "1a14e189def5eaa92f839afdd2faad8e43b61a6e", - "version": "0.12.2" - } - }, { "package": "swift-crypto", "repositoryURL": "https://github.com/apple/swift-crypto.git", @@ -78,8 +78,8 @@ "repositoryURL": "https://github.com/torusresearch/torus-utils-swift.git", "state": { "branch": null, - "revision": "61b36686c2def5f2f40d8cb0d5bc3af34559c1d5", - "version": "6.0.1" + "revision": "76c9b17b461152e98216dddbbf320071011cf1cb", + "version": "7.0.0" } } ] diff --git a/Package.swift b/Package.swift index 621481c..d6dbb64 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.2 +// swift-tools-version:5.5 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -6,7 +6,7 @@ import PackageDescription let package = Package( name: "CustomAuth", platforms: [ - .iOS(.v13), .macOS(.v10_15) + .iOS(.v13), .macOS(.v11) ], products: [ .library( @@ -14,7 +14,7 @@ let package = Package( targets: ["CustomAuth"]) ], dependencies: [ - .package(name: "TorusUtils", url: "https://github.com/torusresearch/torus-utils-swift.git", from: "6.0.1"), + .package(name: "TorusUtils", url: "https://github.com/torusresearch/torus-utils-swift.git", from: "7.0.0"), .package(name: "jwt-kit", url: "https://github.com/vapor/jwt-kit.git", from: "4.13.0"), .package(name: "JWTDecode", url: "https://github.com/auth0/JWTDecode.swift.git", from: "3.1.0") ], diff --git a/Tests/CustomAuthTests/CustomAuthTests.swift b/Tests/CustomAuthTests/CustomAuthTests.swift index 0545035..495a1b8 100644 --- a/Tests/CustomAuthTests/CustomAuthTests.swift +++ b/Tests/CustomAuthTests/CustomAuthTests.swift @@ -3,6 +3,7 @@ import JWTDecode import TorusUtils import UIKit import XCTest +import curveSecp256k1 final class MockSDKTest: XCTestCase { func test_jwtDecodeTest() { @@ -11,11 +12,11 @@ final class MockSDKTest: XCTestCase { print(decodedData) } - func testGetTorusKey() async { + func testGetTorusKey() async throws { let expectation = XCTestExpectation(description: "getTorusKey should correctly proxy input and output to/from TorusUtils") - let expectedPrivateKey = fakeData.generatePrivateKey() - let expectedPublicAddress = fakeData.generatePublicKey() + let expectedPrivateKey = try fakeData.generatePrivateKey() + let expectedPublicAddress = try fakeData.generatePublicKey() let expectedVerifier = fakeData.generateVerifier() let expectedVerfierId = fakeData.generateRandomEmail(of: 6) @@ -48,11 +49,11 @@ final class MockSDKTest: XCTestCase { } } - func testGetAggregateTorusKey() async { + func testGetAggregateTorusKey() async throws { let expectation = XCTestExpectation(description: "getAggregateTorusKey should correctly proxy input and output to/from TorusUtils") - let expectedPrivateKey = fakeData.generatePrivateKey() - let expectedPublicAddress = fakeData.generatePublicKey() + let expectedPrivateKey = try fakeData.generatePrivateKey() + let expectedPublicAddress = try fakeData.generatePublicKey() let expectedVerifier = fakeData.generateVerifier() let expectedVerfierId = fakeData.generateRandomEmail(of: 6) @@ -96,15 +97,14 @@ class fakeData { return String.randomString(length: 10) } - static func generatePrivateKey() -> String { - let privateKey = Data.randomOfLength(32) - return (privateKey?.toHexString())! + static func generatePrivateKey() throws -> String { + let privateKey = curveSecp256k1.SecretKey() + return try privateKey.serialize() } - static func generatePublicKey() -> String { - let privateKey = Data.randomOfLength(32)! - let publicKey = SECP256K1.privateToPublic(privateKey: privateKey)?.subdata(in: 1 ..< 65) - return publicKey!.toHexString() + static func generatePublicKey() throws -> String { + // drop "04" + return try String(curveSecp256k1.SecretKey().toPublic().serialize(compressed: false).dropFirst(2)) } static func generateRandomEmail(of length: Int) -> String { diff --git a/Tests/CustomAuthTests/StubURLProtocolTests.swift b/Tests/CustomAuthTests/StubURLProtocolTests.swift index 0a6717f..af835e2 100644 --- a/Tests/CustomAuthTests/StubURLProtocolTests.swift +++ b/Tests/CustomAuthTests/StubURLProtocolTests.swift @@ -39,7 +39,7 @@ public class StubMockTorusUtils: TorusUtils { return ret } - override open func generatePrivateKeyData() -> Data? { + open func generatePrivateKeyData() -> Data? { // empty bytes // let ret = Data(count: 32)