From c32ce0063b089fc4a1e029ea704adda24fd640fc Mon Sep 17 00:00:00 2001 From: metalurgical <97008724+metalurgical@users.noreply.github.com> Date: Sun, 15 Sep 2024 17:13:57 +0200 Subject: [PATCH] wip: compiles --- .../project.pbxproj | 27 +-- .../xcshareddata/swiftpm/Package.resolved | 170 ++------------- .../UserInterfaceState.xcuserstate | Bin 0 -> 60757 bytes .../xcschemes/xcschememanagement.plist | 203 ++++++++++++++++++ .../Helpers/EthereumHelper.swift | 78 ------- .../Helpers/Extension.swift | 28 --- .../Models/MainViewModel.swift | 46 ++-- .../Views/LoginView.swift | 2 +- 8 files changed, 235 insertions(+), 319 deletions(-) create mode 100644 mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.xcworkspace/xcuserdata/dmstrider.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/xcuserdata/dmstrider.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift delete mode 100644 mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/Extension.swift diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.pbxproj b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.pbxproj index 9574f6c3..acf80f58 100644 --- a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.pbxproj +++ b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.pbxproj @@ -7,8 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 284712222BFB94220088411D /* MpcProviderSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 284712212BFB94220088411D /* MpcProviderSwift */; }; - 284712242BFB94450088411D /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284712232BFB94450088411D /* Extension.swift */; }; 284712272BFB97FE0088411D /* mpc-core-kit-swift in Frameworks */ = {isa = PBXBuildFile; productRef = 284712262BFB97FE0088411D /* mpc-core-kit-swift */; }; 284BE5FE2BC509500049C203 /* mpc_core_kit_ios_quick_startApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284BE5FD2BC509500049C203 /* mpc_core_kit_ios_quick_startApp.swift */; }; 284BE6002BC509500049C203 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284BE5FF2BC509500049C203 /* ContentView.swift */; }; @@ -22,7 +20,6 @@ 284BE6322BC50C4A0049C203 /* UserStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284BE6312BC50C4A0049C203 /* UserStorage.swift */; }; 284BE6342BC512A80049C203 /* RecoveryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284BE6332BC512A80049C203 /* RecoveryView.swift */; }; 284BE6362BC512B20049C203 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284BE6352BC512B20049C203 /* HomeView.swift */; }; - 284BE63E2BC55A080049C203 /* EthereumHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284BE63D2BC55A080049C203 /* EthereumHelper.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -43,7 +40,6 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 284712232BFB94450088411D /* Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; 284BE5FA2BC509500049C203 /* mpc-core-kit-ios-quick-start.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "mpc-core-kit-ios-quick-start.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 284BE5FD2BC509500049C203 /* mpc_core_kit_ios_quick_startApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = mpc_core_kit_ios_quick_startApp.swift; sourceTree = ""; }; 284BE5FF2BC509500049C203 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; @@ -59,7 +55,6 @@ 284BE6312BC50C4A0049C203 /* UserStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserStorage.swift; sourceTree = ""; }; 284BE6332BC512A80049C203 /* RecoveryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecoveryView.swift; sourceTree = ""; }; 284BE6352BC512B20049C203 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; - 284BE63D2BC55A080049C203 /* EthereumHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EthereumHelper.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -67,7 +62,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 284712222BFB94220088411D /* MpcProviderSwift in Frameworks */, 284712272BFB97FE0088411D /* mpc-core-kit-swift in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -170,8 +164,6 @@ isa = PBXGroup; children = ( 284BE6312BC50C4A0049C203 /* UserStorage.swift */, - 284BE63D2BC55A080049C203 /* EthereumHelper.swift */, - 284712232BFB94450088411D /* Extension.swift */, ); path = Helpers; sourceTree = ""; @@ -193,7 +185,6 @@ ); name = "mpc-core-kit-ios-quick-start"; packageProductDependencies = ( - 284712212BFB94220088411D /* MpcProviderSwift */, 284712262BFB97FE0088411D /* mpc-core-kit-swift */, ); productName = "mpc-core-kit-ios-quick-start"; @@ -269,7 +260,6 @@ ); mainGroup = 284BE5F12BC509500049C203; packageReferences = ( - 284712202BFB94220088411D /* XCRemoteSwiftPackageReference "MpcProviderSwift" */, 284712252BFB97FE0088411D /* XCRemoteSwiftPackageReference "mpc-core-kit-swift" */, ); productRefGroup = 284BE5FB2BC509500049C203 /* Products */; @@ -314,14 +304,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 284712242BFB94450088411D /* Extension.swift in Sources */, 284BE62D2BC50A1F0049C203 /* LoginView.swift in Sources */, 284BE6362BC512B20049C203 /* HomeView.swift in Sources */, 284BE6002BC509500049C203 /* ContentView.swift in Sources */, 284BE5FE2BC509500049C203 /* mpc_core_kit_ios_quick_startApp.swift in Sources */, 284BE6342BC512A80049C203 /* RecoveryView.swift in Sources */, 284BE62F2BC50A310049C203 /* MainViewModel.swift in Sources */, - 284BE63E2BC55A080049C203 /* EthereumHelper.swift in Sources */, 284BE6322BC50C4A0049C203 /* UserStorage.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -654,30 +642,17 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 284712202BFB94220088411D /* XCRemoteSwiftPackageReference "MpcProviderSwift" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/tkey/MpcProviderSwift"; - requirement = { - branch = main; - kind = branch; - }; - }; 284712252BFB97FE0088411D /* XCRemoteSwiftPackageReference "mpc-core-kit-swift" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/tkey/mpc-core-kit-swift"; requirement = { - branch = main; + branch = update_dependencies; kind = branch; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 284712212BFB94220088411D /* MpcProviderSwift */ = { - isa = XCSwiftPackageProductDependency; - package = 284712202BFB94220088411D /* XCRemoteSwiftPackageReference "MpcProviderSwift" */; - productName = MpcProviderSwift; - }; 284712262BFB97FE0088411D /* mpc-core-kit-swift */ = { isa = XCSwiftPackageProductDependency; package = 284712252BFB97FE0088411D /* XCRemoteSwiftPackageReference "mpc-core-kit-swift" */; diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 6c08f666..4729ba26 100644 --- a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,15 +1,6 @@ { - "originHash" : "d4e2e31ed5983dc7f95752b5f7cec96879f6838af173debe46909665a1b9adab", + "originHash" : "a1509d2a856212180557fe4f56258427a69e92170ff9076780949a6bad766059", "pins" : [ - { - "identity" : "anycodable", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Flight-School/AnyCodable", - "state" : { - "revision" : "862808b2070cd908cb04f9aafe7de83d35f81b05", - "version" : "0.6.7" - } - }, { "identity" : "bigint", "kind" : "remoteSourceControl", @@ -33,8 +24,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/torusresearch/customauth-swift-sdk", "state" : { - "revision" : "60b48acb161fb4341c353c27bc6dd96af76887ff", - "version" : "10.0.1" + "branch" : "features_update", + "revision" : "576139ce446e397bce4f2b68b9b7d28ab5b0082f" } }, { @@ -42,17 +33,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/torusresearch/fetch-node-details-swift.git", "state" : { - "revision" : "22bfadf7491d77a0bc1953af002cadbd61383e7d", - "version" : "6.0.2" - } - }, - { - "identity" : "generic-json-swift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/iwill/generic-json-swift", - "state" : { - "revision" : "0a06575f4038b504e78ac330913d920f1630f510", - "version" : "2.0.2" + "revision" : "4bd96c33ba8d02d9e27190c5c7cedf09cfdfd656", + "version" : "6.0.3" } }, { @@ -78,26 +60,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/tkey/mpc-core-kit-swift", "state" : { - "branch" : "main", - "revision" : "183f205cb24ff8aa9c6c59bea905f365fe03d34e" - } - }, - { - "identity" : "mpcproviderswift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/tkey/MpcProviderSwift", - "state" : { - "branch" : "main", - "revision" : "f087b89ee543710fc23b35dc05fa233b1d16b7e1" - } - }, - { - "identity" : "secp256k1.swift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/GigaBitcoin/secp256k1.swift.git", - "state" : { - "revision" : "9683e8e311c76d8114cd308b697dad2f9fc58fed", - "version" : "0.17.0" + "branch" : "update_dependencies", + "revision" : "ac05a42d98d26ee4a24ade9e3bd3f483eb844743" } }, { @@ -114,8 +78,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Web3Auth/single-factor-auth-swift", "state" : { - "revision" : "73c5066d369c7d2aa1057c56a89b7f1dcdda3270", - "version" : "5.0.0" + "branch" : "7.0.0", + "revision" : "d9a8fd7885e37e74e61010f8fb240cbbafd1e577" } }, { @@ -136,103 +100,13 @@ "version" : "4.0.6" } }, - { - "identity" : "swift-atomics", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-atomics.git", - "state" : { - "revision" : "cd142fd2f64be2100422d658e7411e39489da985", - "version" : "1.2.0" - } - }, - { - "identity" : "swift-collections", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-collections.git", - "state" : { - "revision" : "94cf62b3ba8d4bed62680a282d4c25f9c63c2efb", - "version" : "1.1.0" - } - }, - { - "identity" : "swift-http-types", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-http-types", - "state" : { - "revision" : "9bee2fdb79cc740081abd8ebd80738063d632286", - "version" : "1.1.0" - } - }, - { - "identity" : "swift-log", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-log.git", - "state" : { - "revision" : "e97a6fcb1ab07462881ac165fdbb37f067e205d5", - "version" : "1.5.4" - } - }, - { - "identity" : "swift-nio", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-nio.git", - "state" : { - "revision" : "359c461e5561d22c6334828806cc25d759ca7aa6", - "version" : "2.65.0" - } - }, - { - "identity" : "swift-nio-extras", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-nio-extras.git", - "state" : { - "revision" : "a3b640d7dc567225db7c94386a6e71aded1bfa63", - "version" : "1.22.0" - } - }, - { - "identity" : "swift-nio-http2", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-nio-http2.git", - "state" : { - "revision" : "c6afe04165c865faaa687b42c32ed76dfcc91076", - "version" : "1.31.0" - } - }, - { - "identity" : "swift-nio-ssl", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-nio-ssl.git", - "state" : { - "revision" : "7c381eb6083542b124a6c18fae742f55001dc2b5", - "version" : "2.26.0" - } - }, - { - "identity" : "swift-nio-transport-services", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-nio-transport-services.git", - "state" : { - "revision" : "38ac8221dd20674682148d6451367f89c2652980", - "version" : "1.21.0" - } - }, - { - "identity" : "swift-system", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-system.git", - "state" : { - "revision" : "f9266c85189c2751589a50ea5aec72799797e471", - "version" : "1.3.0" - } - }, { "identity" : "tkey-mpc-swift", "kind" : "remoteSourceControl", "location" : "https://github.com/tkey/tkey-mpc-swift", "state" : { - "revision" : "8fe0cc8d5cc2ad5d38bf068bc29f6af7e3146d08", - "version" : "3.0.0" + "branch" : "update_features", + "revision" : "00ed189447df83681092aabd5c64e65671ccd0d1" } }, { @@ -240,8 +114,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/torusresearch/torus-utils-swift.git", "state" : { - "revision" : "ff85c3e96bfa29013309b487875c4d9383e4ac80", - "version" : "8.1.1" + "revision" : "23083bf8196d1f78c05b085ba8347f94734b1a16", + "version" : "9.0.1" } }, { @@ -252,24 +126,6 @@ "revision" : "40246d5e3ff1d2c97d41846576f7a81d58858981", "version" : "4.0.0" } - }, - { - "identity" : "web3.swift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/argentlabs/web3.swift", - "state" : { - "revision" : "1e75f98a5738c470b23bbfffa9314e9f788df76b", - "version" : "1.6.1" - } - }, - { - "identity" : "websocket-kit", - "kind" : "remoteSourceControl", - "location" : "https://github.com/vapor/websocket-kit.git", - "state" : { - "revision" : "4232d34efa49f633ba61afde365d3896fc7f8740", - "version" : "2.15.0" - } } ], "version" : 3 diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.xcworkspace/xcuserdata/dmstrider.xcuserdatad/UserInterfaceState.xcuserstate b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start.xcodeproj/project.xcworkspace/xcuserdata/dmstrider.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..94e9433e41408c249ac7b0f1a35e9676e40d6d81 GIT binary patch literal 60757 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 + + + + SchemeUserState + + AnyCodable (Playground) 1.xcscheme + + isShown + + orderHint + 11 + + AnyCodable (Playground) 2.xcscheme + + isShown + + orderHint + 12 + + AnyCodable (Playground).xcscheme + + isShown + + orderHint + 10 + + Demo (Playground) 1.xcscheme + + isShown + + orderHint + 8 + + Demo (Playground) 10.xcscheme + + isShown + + orderHint + 32 + + Demo (Playground) 11.xcscheme + + isShown + + orderHint + 33 + + Demo (Playground) 2.xcscheme + + isShown + + orderHint + 9 + + Demo (Playground) 3.xcscheme + + isShown + + orderHint + 13 + + Demo (Playground) 4.xcscheme + + isShown + + orderHint + 14 + + Demo (Playground) 5.xcscheme + + isShown + + orderHint + 15 + + Demo (Playground) 6.xcscheme + + isShown + + orderHint + 28 + + Demo (Playground) 7.xcscheme + + isShown + + orderHint + 29 + + Demo (Playground) 8.xcscheme + + isShown + + orderHint + 30 + + Demo (Playground) 9.xcscheme + + isShown + + orderHint + 31 + + Demo (Playground).xcscheme + + isShown + + orderHint + 7 + + JWTDecode (Playground) 1.xcscheme + + isShown + + orderHint + 5 + + JWTDecode (Playground) 2.xcscheme + + isShown + + orderHint + 6 + + JWTDecode (Playground) 3.xcscheme + + isShown + + orderHint + 16 + + JWTDecode (Playground) 4.xcscheme + + isShown + + orderHint + 17 + + JWTDecode (Playground) 5.xcscheme + + isShown + + orderHint + 18 + + JWTDecode (Playground) 6.xcscheme + + isShown + + orderHint + 25 + + JWTDecode (Playground) 7.xcscheme + + isShown + + orderHint + 26 + + JWTDecode (Playground) 8.xcscheme + + isShown + + orderHint + 27 + + JWTDecode (Playground).xcscheme + + isShown + + orderHint + 4 + + Playground (Playground) 1.xcscheme + + isShown + + orderHint + 2 + + Playground (Playground) 2.xcscheme + + isShown + + orderHint + 3 + + Playground (Playground).xcscheme + + isShown + + orderHint + 1 + + mpc-core-kit-ios-quick-start.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift deleted file mode 100644 index 639b68a1..00000000 --- a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift +++ /dev/null @@ -1,78 +0,0 @@ -// -// EthereumHelper.swift -// mpc-core-kit-ios-quick-start -// -// Created by Ayush B on 09/04/24. -// - -import Foundation -import Foundation -import web3 -import BigInt - -struct EthereumClient { - let web3Client: EthereumHttpClient! - var networkId: String = "11155111" - - init() { - self.web3Client = EthereumHttpClient( - url: URL(string: "https://1rpc.io/sepolia")!, - network: .fromString(networkId) - ) - } - - func getNonce(address: EthereumAddress) async throws -> Int{ - do { - let nonce = try await web3Client.eth_getTransactionCount( - address: address, block: .Latest - ) - return nonce + 1 - } catch let error { - throw error - } - } - - func getGasPrice() async throws -> BigUInt { - do { - let gasPrice = try await web3Client.eth_gasPrice() - return gasPrice - } catch let error { - throw error - } - } - - func getGasLimit(transaction: EthereumTransaction) async throws -> BigUInt { - do { - let gasLimit = try await web3Client.eth_estimateGas(transaction) - return gasLimit - } catch let error { - throw error - } - } - - func broadcastSignedTransaction(transaction: SignedTransaction) async throws -> String { - do { - guard let transactionHex = transaction.raw?.web3.hexString else { - throw EthereumClientError.encodeIssue - } - - let data = try await web3Client.networkProvider.send( - method: "eth_sendRawTransaction", - params: [transactionHex], - receive: String.self - ) - - if let hash = data as? String { - return hash - } else { - throw EthereumClientError.unexpectedReturnValue - } - } catch let error { - throw error - } - } - - func getChainId() -> String { - return networkId - } -} diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/Extension.swift b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/Extension.swift deleted file mode 100644 index 2f100462..00000000 --- a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/Extension.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// Extension.swift -// mpc-core-kit-ios-quick-start -// -// Created by Ayush B on 20/05/24. -// - -import Foundation -import mpc_core_kit_swift -import tkey -import MpcProviderSwift -import web3 - -extension MpcCoreKit : EvmSigner { - public func sign(message: Data) throws -> Data { - let data = try self.tssSign(message: message) - return data - } - - public var publicKey: Data { - let fullAddress = try! KeyPoint( - address: self.getTssPubKey().hexString - ).getPublicKey(format: .FullAddress) - - return Data(hex: fullAddress).suffix(64) - } - -} diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Models/MainViewModel.swift b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Models/MainViewModel.swift index 291c5fee..d12893d7 100644 --- a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Models/MainViewModel.swift +++ b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Models/MainViewModel.swift @@ -7,8 +7,7 @@ import Foundation import mpc_core_kit_swift -import MpcProviderSwift -import web3 +import CustomAuth import UIKit class MainViewModel: ObservableObject { @@ -20,17 +19,14 @@ class MainViewModel: ObservableObject { private var mpcCoreKit: MpcCoreKit! - private var ethereumClient: EthereumClient! - private var mpcEthereumProvider: MPCEthereumProvider! func initialize() { - mpcCoreKit = MpcCoreKit( + mpcCoreKit = try! MpcCoreKit(options: Web3AuthOptions( web3AuthClientId: "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ", - web3AuthNetwork: .SAPPHIRE_MAINNET, - localStorage: UserStorage() + manualSync: true, + web3AuthNetwork: .sapphire(.SAPPHIRE_MAINNET), + localStorage: UserStorage()) ) - - ethereumClient = EthereumClient() } func loginWithJWT() { @@ -56,11 +52,7 @@ class MainViewModel: ObservableObject { func loginWithOAuth() { Task { do { - let result = try await mpcCoreKit.loginWithOAuth( - loginProvider: .google, - clientId: "519228911939-cri01h55lsjbsia1k7ll6qpalrus75ps.apps.googleusercontent.com", - verifier: "w3a-google-demo" - + let result = try await mpcCoreKit.loginWithOAuth(singleLoginParams: SingleLoginParams(typeOfLogin: .google, verifier: "w3a-google-demo", clientId: "519228911939-cri01h55lsjbsia1k7ll6qpalrus75ps.apps.googleusercontent.com") ) DispatchQueue.main.async { @@ -105,8 +97,8 @@ class MainViewModel: ObservableObject { Task { do { print(mpcCoreKit.debugDescription) - let signature = try mpcEthereumProvider.signMessage(message: "YOUR_MESSAGE".data(using: .ascii)!) - onSigned(signature, nil) + //let signature = try mpcEthereumProvider.signMessage(message: "YOUR_MESSAGE".data(using: .ascii)!) + //onSigned(signature, nil) } catch let error { onSigned(nil, error.localizedDescription) } @@ -116,7 +108,7 @@ class MainViewModel: ObservableObject { func sendTransaction(onSend: @escaping (String?, String?) -> ()) { Task { do { - + /* let address = EthereumAddress( stringLiteral: self.publicAddress ) @@ -151,7 +143,7 @@ class MainViewModel: ObservableObject { ) onSend(hash, nil) - + */ } catch let error { print(error.localizedDescription) @@ -164,17 +156,15 @@ class MainViewModel: ObservableObject { Task { do { let factor = try await mpcCoreKit.createFactor( - tssShareIndex: .RECOVERY, + tssShareIndex: .recovery, factorKey: nil, factorDescription: .SeedPhrase ) - guard let seedPhrase = mpcCoreKit.keyToMnemonic( + let seedPhrase = try mpcCoreKit.keyToMnemonic( factorKey: factor, format: "mnemonic" - ) else { - return - } + ) print(seedPhrase) @@ -187,12 +177,10 @@ class MainViewModel: ObservableObject { func recoverUsingSeedPhrase(seedPhrase: String) { Task { do { - guard let factorKey = mpcCoreKit.mnemonicToKey( + let factorKey = try mpcCoreKit.mnemonicToKey( shareMnemonic: seedPhrase, format: "mnemonic" - ) else { - return - } + ) print(factorKey.count) @@ -223,8 +211,8 @@ class MainViewModel: ObservableObject { } private func login() async throws { - mpcEthereumProvider = MPCEthereumProvider(evmSigner: mpcCoreKit) - publicAddress = mpcEthereumProvider.address.toChecksumAddress() + // mpcEthereumProvider = MPCEthereumProvider(evmSigner: mpcCoreKit) + // publicAddress = mpcEthereumProvider.address.toChecksumAddress() try await refreshFactorPubs() toggleIsLoggedIn() } diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Views/LoginView.swift b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Views/LoginView.swift index a7b41785..3281663c 100644 --- a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Views/LoginView.swift +++ b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Views/LoginView.swift @@ -26,7 +26,7 @@ struct LoginView: View { ).buttonStyle(.bordered) Spacer() }.onAppear { - viewModel.initialize() + viewModel.initialize() } }