diff --git a/ios/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved index cc09cef1..ccf21406 100644 --- a/ios/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/ios/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "f383129d4e5d2ce87d3cb34e690050bbe3cf0c785091724315dd059be884b1a9", + "originHash" : "3c629a845b69774be4a7f2a6eece7b4801a0ce36e41b880682b08e003775f813", "pins" : [ { "identity" : "base58swift", @@ -22,7 +22,7 @@ { "identity" : "cryptoswift", "kind" : "remoteSourceControl", - "location" : "https://github.com/krzyzanowskim/CryptoSwift", + "location" : "https://github.com/krzyzanowskim/CryptoSwift.git", "state" : { "revision" : "e45a26384239e028ec87fbcc788f513b67e10d8f", "version" : "1.9.0" @@ -73,6 +73,15 @@ "version" : "14.3.1" } }, + { + "identity" : "reown-swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/reown-com/reown-swift", + "state" : { + "revision" : "7590a3f421c0679dce49364ab44869a7c4d0290f", + "version" : "1.7.3" + } + }, { "identity" : "secp256k1.swift", "kind" : "remoteSourceControl", @@ -159,26 +168,26 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/coinbase/wallet-mobile-sdk", "state" : { - "branch" : "1.0.5", - "revision" : "4aa89e682f8d7ab1515d85d0797f0d25306bb56a" + "revision" : "4293df51d3500b8e876ca4bf0d7548adf097569a", + "version" : "1.1.2" } }, { - "identity" : "walletconnectswiftv2", + "identity" : "web3.swift", "kind" : "remoteSourceControl", - "location" : "https://github.com/dydxprotocol/WalletConnectSwiftV2.git", + "location" : "https://github.com/WalletConnect/Web3.swift", "state" : { - "branch" : "develop", - "revision" : "0d9a566b375a29fcc36e3ce66824c49925fa72aa" + "revision" : "569255adcfff0b37e4cb8004aea29d0e2d6266df", + "version" : "1.0.2" } }, { - "identity" : "web3.swift", + "identity" : "yttrium", "kind" : "remoteSourceControl", - "location" : "https://github.com/WalletConnect/Web3.swift", + "location" : "https://github.com/reown-com/yttrium", "state" : { - "revision" : "569255adcfff0b37e4cb8004aea29d0e2d6266df", - "version" : "1.0.2" + "revision" : "ed8e8f5af2029406263be5993e484c3a69c1db7a", + "version" : "0.9.68" } } ], diff --git a/ios/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj b/ios/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj index 4ac34607..0a5b244c 100644 --- a/ios/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj +++ b/ios/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj @@ -45,11 +45,9 @@ 02446C5D2EA6983C00AF6FF5 /* Web3 in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C5C2EA6983C00AF6FF5 /* Web3 */; }; 02446C602EA6988900AF6FF5 /* TweetNacl in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C5F2EA6988900AF6FF5 /* TweetNacl */; }; 02446C632EA699BB00AF6FF5 /* SolanaSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C622EA699BB00AF6FF5 /* SolanaSwift */; }; - 02446C662EA69A5600AF6FF5 /* WalletConnect in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C652EA69A5600AF6FF5 /* WalletConnect */; }; - 02446C682EA69A5600AF6FF5 /* WalletConnectIdentity in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C672EA69A5600AF6FF5 /* WalletConnectIdentity */; }; - 02446C6A2EA69A5600AF6FF5 /* WalletConnectModal in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C692EA69A5600AF6FF5 /* WalletConnectModal */; }; - 02446C6C2EA69A5600AF6FF5 /* WalletConnectNetworking in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C6B2EA69A5600AF6FF5 /* WalletConnectNetworking */; }; - 02446C6E2EA69A5600AF6FF5 /* WalletConnectNotify in Frameworks */ = {isa = PBXBuildFile; productRef = 02446C6D2EA69A5600AF6FF5 /* WalletConnectNotify */; }; + 02446C792EA6CA8B00AF6FF5 /* SolanaSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 02886C762D84B766005EF461 /* SolanaSwift */; }; + 02446E5B2EA6E11600AF6FF5 /* ReownAppKit in Frameworks */ = {isa = PBXBuildFile; productRef = 02446E5A2EA6E11600AF6FF5 /* ReownAppKit */; }; + 02446E5D2EA6E11600AF6FF5 /* WalletConnect in Frameworks */ = {isa = PBXBuildFile; productRef = 02446E5C2EA6E11600AF6FF5 /* WalletConnect */; }; 0274248429E74CA5004C89AE /* Parser+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0274248329E74CA5004C89AE /* Parser+Eth.swift */; }; 0274248729E76718004C89AE /* EthConversions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0274248629E76718004C89AE /* EthConversions.swift */; }; 0274248929E78576004C89AE /* ERC20Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0274248829E78576004C89AE /* ERC20Token.swift */; }; @@ -255,22 +253,20 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 02446E5D2EA6E11600AF6FF5 /* WalletConnect in Frameworks */, + 02446C792EA6CA8B00AF6FF5 /* SolanaSwift in Frameworks */, 02446C5A2EA697FB00AF6FF5 /* CoinbaseWalletSDK in Frameworks */, 02446C602EA6988900AF6FF5 /* TweetNacl in Frameworks */, - 02446C682EA69A5600AF6FF5 /* WalletConnectIdentity in Frameworks */, 023F7F0D2AD09732006CC4CD /* ParticlesKit.framework in Frameworks */, 023F7F082AD09725006CC4CD /* Utilities.framework in Frameworks */, 380B90E0F0184BA5387AC70A /* Pods_iOS_dydxCartera.framework in Frameworks */, 0294C8912D7930EB00F62FB5 /* Base58Swift in Frameworks */, + 02446E5B2EA6E11600AF6FF5 /* ReownAppKit in Frameworks */, 02844D7D2DC187EF006F51CE /* Privy in Frameworks */, - 02446C6A2EA69A5600AF6FF5 /* WalletConnectModal in Frameworks */, 02446C4D2EA6974E00AF6FF5 /* Starscream in Frameworks */, - 02446C662EA69A5600AF6FF5 /* WalletConnect in Frameworks */, 02446C632EA699BB00AF6FF5 /* SolanaSwift in Frameworks */, 02446C5D2EA6983C00AF6FF5 /* Web3 in Frameworks */, 02446C502EA6976400AF6FF5 /* CryptoSwift in Frameworks */, - 02446C6C2EA69A5600AF6FF5 /* WalletConnectNetworking in Frameworks */, - 02446C6E2EA69A5600AF6FF5 /* WalletConnectNotify in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -621,11 +617,8 @@ 02446C5C2EA6983C00AF6FF5 /* Web3 */, 02446C5F2EA6988900AF6FF5 /* TweetNacl */, 02446C622EA699BB00AF6FF5 /* SolanaSwift */, - 02446C652EA69A5600AF6FF5 /* WalletConnect */, - 02446C672EA69A5600AF6FF5 /* WalletConnectIdentity */, - 02446C692EA69A5600AF6FF5 /* WalletConnectModal */, - 02446C6B2EA69A5600AF6FF5 /* WalletConnectNetworking */, - 02446C6D2EA69A5600AF6FF5 /* WalletConnectNotify */, + 02446E5A2EA6E11600AF6FF5 /* ReownAppKit */, + 02446E5C2EA6E11600AF6FF5 /* WalletConnect */, ); productName = dydxCartera; productReference = 02439C8B29B03E8A00A083FE /* dydxCartera.framework */; @@ -686,7 +679,7 @@ 02446C5B2EA6983C00AF6FF5 /* XCRemoteSwiftPackageReference "Web3" */, 02446C5E2EA6988800AF6FF5 /* XCRemoteSwiftPackageReference "tweetnacl-swiftwrap" */, 02446C612EA699BB00AF6FF5 /* XCRemoteSwiftPackageReference "solana-swift" */, - 02446C642EA69A5600AF6FF5 /* XCRemoteSwiftPackageReference "WalletConnectSwiftV2" */, + 02446E592EA6E11600AF6FF5 /* XCRemoteSwiftPackageReference "reown-swift" */, ); preferredProjectObjectVersion = 77; productRefGroup = 02439C8C29B03E8A00A083FE /* Products */; @@ -1266,8 +1259,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/coinbase/wallet-mobile-sdk"; requirement = { - branch = 1.0.5; - kind = branch; + kind = upToNextMajorVersion; + minimumVersion = 1.0.0; }; }; 02446C5B2EA6983C00AF6FF5 /* XCRemoteSwiftPackageReference "Web3" */ = { @@ -1294,12 +1287,12 @@ kind = branch; }; }; - 02446C642EA69A5600AF6FF5 /* XCRemoteSwiftPackageReference "WalletConnectSwiftV2" */ = { + 02446E592EA6E11600AF6FF5 /* XCRemoteSwiftPackageReference "reown-swift" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/dydxprotocol/WalletConnectSwiftV2.git"; + repositoryURL = "https://github.com/reown-com/reown-swift"; requirement = { - branch = develop; - kind = branch; + kind = upToNextMajorVersion; + minimumVersion = 1.7.3; }; }; 02844D7B2DC187EF006F51CE /* XCRemoteSwiftPackageReference "privy-ios" */ = { @@ -1351,34 +1344,15 @@ package = 02446C612EA699BB00AF6FF5 /* XCRemoteSwiftPackageReference "solana-swift" */; productName = SolanaSwift; }; - 02446C652EA69A5600AF6FF5 /* WalletConnect */ = { - isa = XCSwiftPackageProductDependency; - package = 02446C642EA69A5600AF6FF5 /* XCRemoteSwiftPackageReference "WalletConnectSwiftV2" */; - productName = WalletConnect; - }; - 02446C672EA69A5600AF6FF5 /* WalletConnectIdentity */ = { - isa = XCSwiftPackageProductDependency; - package = 02446C642EA69A5600AF6FF5 /* XCRemoteSwiftPackageReference "WalletConnectSwiftV2" */; - productName = WalletConnectIdentity; - }; - 02446C692EA69A5600AF6FF5 /* WalletConnectModal */ = { - isa = XCSwiftPackageProductDependency; - package = 02446C642EA69A5600AF6FF5 /* XCRemoteSwiftPackageReference "WalletConnectSwiftV2" */; - productName = WalletConnectModal; - }; - 02446C6B2EA69A5600AF6FF5 /* WalletConnectNetworking */ = { + 02446E5A2EA6E11600AF6FF5 /* ReownAppKit */ = { isa = XCSwiftPackageProductDependency; - package = 02446C642EA69A5600AF6FF5 /* XCRemoteSwiftPackageReference "WalletConnectSwiftV2" */; - productName = WalletConnectNetworking; + package = 02446E592EA6E11600AF6FF5 /* XCRemoteSwiftPackageReference "reown-swift" */; + productName = ReownAppKit; }; - 02446C6D2EA69A5600AF6FF5 /* WalletConnectNotify */ = { + 02446E5C2EA6E11600AF6FF5 /* WalletConnect */ = { isa = XCSwiftPackageProductDependency; - package = 02446C642EA69A5600AF6FF5 /* XCRemoteSwiftPackageReference "WalletConnectSwiftV2" */; - productName = WalletConnectNotify; - }; - 02669B922AD872A300A756AA /* Cartera */ = { - isa = XCSwiftPackageProductDependency; - productName = Cartera; + package = 02446E592EA6E11600AF6FF5 /* XCRemoteSwiftPackageReference "reown-swift" */; + productName = WalletConnect; }; 02844D7C2DC187EF006F51CE /* Privy */ = { isa = XCSwiftPackageProductDependency; @@ -1389,27 +1363,11 @@ isa = XCSwiftPackageProductDependency; productName = SolanaSwift; }; - 0294C5FF2D790BD900F62FB5 /* Cartera */ = { - isa = XCSwiftPackageProductDependency; - productName = Cartera; - }; - 0294C6022D790C3C00F62FB5 /* Cartera */ = { - isa = XCSwiftPackageProductDependency; - productName = Cartera; - }; 0294C8902D7930EB00F62FB5 /* Base58Swift */ = { isa = XCSwiftPackageProductDependency; package = 0294C88F2D7930EB00F62FB5 /* XCRemoteSwiftPackageReference "Base58Swift" */; productName = Base58Swift; }; - 029E51A22D08966E005D4DC5 /* Cartera */ = { - isa = XCSwiftPackageProductDependency; - productName = Cartera; - }; - 02A50EE02E3424E20086ED2C /* Cartera */ = { - isa = XCSwiftPackageProductDependency; - productName = Cartera; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 02439C8229B03E8A00A083FE /* Project object */; diff --git a/ios/dydx/dydxCartera/dydxCartera/Cartera/CarteraConfig.swift b/ios/dydx/dydxCartera/dydxCartera/Cartera/CarteraConfig.swift index 22e3242e..7c6ae846 100644 --- a/ios/dydx/dydxCartera/dydxCartera/Cartera/CarteraConfig.swift +++ b/ios/dydx/dydxCartera/dydxCartera/Cartera/CarteraConfig.swift @@ -8,8 +8,7 @@ import Foundation import CoinbaseWalletSDK import UIKit -import WalletConnectSign -import WalletConnectModal +import ReownAppKit import Utilities public enum WalletConnectionType: Hashable { @@ -183,12 +182,17 @@ public struct CarteraConfig: SingletonProtocol { Sign.configure(crypto: DefaultCryptoProvider()) - WalletConnectModal.configure( + AppKit.configure( projectId: walletConnectV2Config.projectId, metadata: metadata, + crypto: DefaultCryptoProvider(), + authRequestParams: nil, + includeWebWallets: false, recommendedWalletIds: wcModalWallets, + includedWalletIds: wcModalWallets, excludedWalletIds: [ - ] + ], + coinbaseEnabled: false // we manage Coinbase ourselves ) } diff --git a/ios/dydx/dydxCartera/dydxCartera/Cartera/Utilities/DefaultSocketFactory.swift b/ios/dydx/dydxCartera/dydxCartera/Cartera/Utilities/DefaultSocketFactory.swift index 98b602ac..d93a4d41 100644 --- a/ios/dydx/dydxCartera/dydxCartera/Cartera/Utilities/DefaultSocketFactory.swift +++ b/ios/dydx/dydxCartera/dydxCartera/Cartera/Utilities/DefaultSocketFactory.swift @@ -7,7 +7,7 @@ import Foundation import Starscream -import WalletConnectRelay +import ReownAppKit extension Starscream.WebSocket: @retroactive WebSocketConnecting { } diff --git a/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/DefaultCryptoProvider.swift b/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/DefaultCryptoProvider.swift index 114446ca..eb434b2d 100644 --- a/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/DefaultCryptoProvider.swift +++ b/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/DefaultCryptoProvider.swift @@ -1,7 +1,7 @@ import Foundation import Web3 import CryptoSwift -import WalletConnectSigner +import ReownAppKit struct DefaultCryptoProvider: CryptoProvider { diff --git a/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletConnectV2Provider.swift b/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletConnectV2Provider.swift index 15802258..5ba170fb 100644 --- a/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletConnectV2Provider.swift +++ b/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletConnectV2Provider.swift @@ -7,11 +7,10 @@ import BigInt import CryptoKit -import WalletConnectSign import UIKit import Combine -import WalletConnectModal import Utilities +@preconcurrency import ReownAppKit final class WalletConnectV2Provider: NSObject, WalletOperationProviderProtocol { private var backgroundTaskId: UIBackgroundTaskIdentifier = .invalid @@ -114,7 +113,7 @@ final class WalletConnectV2Provider: NSObject, WalletOperationProviderProtocol { connectCompletions.append(completion) if request.useModal { - WalletConnectModal.present() + AppKit.present() } } @@ -187,7 +186,7 @@ final class WalletConnectV2Provider: NSObject, WalletOperationProviderProtocol { if success { self?.reallySign(typedDataProvider: typedDataProvider, accountAddress: request.address, - chainId: request.chainId) { [weak self] signed, error in + chainId: request.chainId) { signed, error in LocalAuthenticator.shared?.paused = false completion(signed, error) } @@ -223,7 +222,7 @@ final class WalletConnectV2Provider: NSObject, WalletOperationProviderProtocol { if success { self?.reallySend(transaction: transaction, accountAddress: request.walletRequest.address, - chainId: request.walletRequest.chainId) { [weak self] response, error in + chainId: request.walletRequest.chainId) { response, error in LocalAuthenticator.shared?.paused = false completion(response, error) } diff --git a/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletSegueProvider.swift b/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletSegueProvider.swift index a0fef123..9f87b73d 100644 --- a/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletSegueProvider.swift +++ b/ios/dydx/dydxCartera/dydxCartera/Cartera/WalletProvider/Providers/WalletSegueProvider.swift @@ -263,7 +263,8 @@ private extension Action { maxFeePerGas: nil, maxPriorityFeePerGas: nil, gasLimit: nil, - chainId: chainIdText) + chainId: chainIdText, + actionSource: nil) ) } else { return nil diff --git a/ios/dydxV4/dydxV4.xcodeproj/project.pbxproj b/ios/dydxV4/dydxV4.xcodeproj/project.pbxproj index eb6b85f3..8f0fb8c9 100644 --- a/ios/dydxV4/dydxV4.xcodeproj/project.pbxproj +++ b/ios/dydxV4/dydxV4.xcodeproj/project.pbxproj @@ -924,8 +924,6 @@ /* Begin PBXFileSystemSynchronizedRootGroup section */ 02F511882E258D00002402A0 /* ../dydx/ios */ = { isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - ); path = ../dydx/ios; sourceTree = SOURCE_ROOT; }; @@ -2382,10 +2380,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4Tests/Pods-iOS-dydxV4Tests-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4Tests/Pods-iOS-dydxV4Tests-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4Tests/Pods-iOS-dydxV4Tests-resources.sh\"\n"; @@ -2399,10 +2401,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4/Pods-iOS-dydxV4-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4/Pods-iOS-dydxV4-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4/Pods-iOS-dydxV4-frameworks.sh\"\n"; @@ -2458,10 +2464,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4/Pods-iOS-dydxV4-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4/Pods-iOS-dydxV4-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4/Pods-iOS-dydxV4-resources.sh\"\n"; @@ -2475,10 +2485,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4Tests/Pods-iOS-dydxV4Tests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4Tests/Pods-iOS-dydxV4Tests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iOS-dydxV4Tests/Pods-iOS-dydxV4Tests-frameworks.sh\"\n"; @@ -2804,10 +2818,7 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; PRODUCT_BUNDLE_IDENTIFIER = exchangeV4.dydx.trading; REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos; @@ -2882,10 +2893,7 @@ LDPLUSPLUS = ""; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; PRODUCT_BUNDLE_IDENTIFIER = exchangeV4.dydx.trading; REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos;