diff --git a/dydx/Podfile.lock b/dydx/Podfile.lock index 49a57f8a..8111e8bb 100644 --- a/dydx/Podfile.lock +++ b/dydx/Podfile.lock @@ -1,6 +1,6 @@ PODS: - - Abacus (1.13.42) - - AmplitudeSwift (1.11.1): + - Abacus (1.13.43) + - AmplitudeSwift (1.11.2): - AnalyticsConnector (~> 1.3.0) - AnalyticsConnector (1.3.1) - AppsFlyerFramework (6.15.3): @@ -379,8 +379,8 @@ CHECKOUT OPTIONS: :git: https://github.com/dydxprotocol/Charts.git SPEC CHECKSUMS: - Abacus: 99c88e582edc8bbd17feab6ab9e2503ba5c4bf2b - AmplitudeSwift: e27c57acea01eceb4684346201ae3817bed5cf52 + Abacus: 35d2c5bcaf2129cc2fc0045875bc6ff9831a5e31 + AmplitudeSwift: ec670fe6f0a0b673bde44b6f02359993cc5513b1 AnalyticsConnector: 3def11199b4ddcad7202c778bde982ec5da0ebb3 AppsFlyerFramework: ad7ff0d22aa36c7f8cc4f71a5424e19b89ccb8ae Atributika: ecedf5259e4aa3c6278d840b6c18d60c1a8b6ca0 diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Constants.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Constants.swift index dc223623..ac0c78c9 100644 --- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Constants.swift +++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Constants.swift @@ -46,7 +46,7 @@ public enum ServerZone: Int { public struct Constants { static let SDK_LIBRARY = "amplitude-swift" - static let SDK_VERSION = "1.11.1" + static let SDK_VERSION = "1.11.2" public static let DEFAULT_API_HOST = "https://api2.amplitude.com/2/httpapi" public static let EU_DEFAULT_API_HOST = "https://api.eu.amplitude.com/2/httpapi" static let BATCH_API_HOST = "https://api2.amplitude.com/batch" diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Types.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Types.swift index 06a228b9..4bb8ab14 100644 --- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Types.swift +++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Types.swift @@ -157,6 +157,11 @@ public protocol ResponseHandler { func handleTooManyRequestsResponse(data: [String: Any]) func handleTimeoutResponse(data: [String: Any]) func handleFailedResponse(data: [String: Any]) + + // Added on v1.11.2. + // A replacement for handle(result: Result) -> Void + // Return true if some attempts to recover are implemented + func handle(result: Result) -> Bool } extension ResponseHandler { @@ -170,3 +175,11 @@ extension ResponseHandler { return indices } } + +// Provide compatibility for new `handle` function added on v1.11.2. +extension ResponseHandler { + public func handle(result: Result) -> Bool { + let _: Void = handle(result: result) + return false + } +} diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/EventPipeline.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/EventPipeline.swift index 611931a8..ccd509ea 100644 --- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/EventPipeline.swift +++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/EventPipeline.swift @@ -12,6 +12,8 @@ public class EventPipeline { let storage: Storage? let logger: (any Logger)? let configuration: Configuration + var maxRetryInterval: TimeInterval = 60 + var maxRetryCount: Int = 6 @Atomic internal var eventCount: Int = 0 internal var flushTimer: QueueTimer? @@ -66,7 +68,7 @@ public class EventPipeline { } } - private func sendNextEventFile() { + private func sendNextEventFile(failures: Int = 0) { autoreleasepool { guard currentUpload == nil else { logger?.log(message: "Existing upload in progress, skipping...") @@ -100,14 +102,41 @@ public class EventPipeline { eventBlock: nextEventFile, eventsString: eventsString ) - responseHandler.handle(result: result) - // Don't send the next event file if we're being deallocated - self.uploadsQueue.async { [weak self] in - guard let self = self else { - return + let handled: Bool = responseHandler.handle(result: result) + var failures = failures + + switch result { + case .success: + failures = 0 + case .failure: + if !handled { + failures += 1 + } + } + + if failures > self.maxRetryCount { + self.uploadsQueue.async { + self.currentUpload = nil + } + self.configuration.offline = true + self.logger?.log(message: "Request failed more than \(self.maxRetryCount) times, marking offline") + } else { + // Don't send the next event file if we're being deallocated + let nextFileBlock: () -> Void = { [weak self] in + guard let self = self else { + return + } + self.currentUpload = nil + self.sendNextEventFile(failures: failures) + } + + if failures == 0 || handled { + self.uploadsQueue.async(execute: nextFileBlock) + } else { + let sendingInterval = min(self.maxRetryInterval, pow(2, Double(failures - 1))) + self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock) + self.logger?.debug(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds") } - self.currentUpload = nil - self.sendNextEventFile() } } } diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/PersistentStorageResponseHandler.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/PersistentStorageResponseHandler.swift index 2d4ea0ca..dcdcef3d 100644 --- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/PersistentStorageResponseHandler.swift +++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/PersistentStorageResponseHandler.swift @@ -28,21 +28,22 @@ class PersistentStorageResponseHandler: ResponseHandler { self.eventsString = eventsString } - func handleSuccessResponse(code: Int) { + func handleSuccessResponse(code: Int) -> Bool { guard let events = BaseEvent.fromArrayString(jsonString: eventsString) else { storage.remove(eventBlock: eventBlock) removeEventCallbackByEventsString(eventsString: eventsString) - return + return true } triggerEventsCallback(events: events, code: code, message: "Successfully send event") storage.remove(eventBlock: eventBlock) + return true } - func handleBadRequestResponse(data: [String: Any]) { + func handleBadRequestResponse(data: [String: Any]) -> Bool { guard let events = BaseEvent.fromArrayString(jsonString: eventsString) else { storage.remove(eventBlock: eventBlock) removeEventCallbackByEventsString(eventsString: eventsString) - return + return true } let error = data["error"] as? String ?? "" @@ -55,7 +56,7 @@ class PersistentStorageResponseHandler: ResponseHandler { message: error ) storage.remove(eventBlock: eventBlock) - return + return true } var dropIndexes = Set() @@ -90,13 +91,14 @@ class PersistentStorageResponseHandler: ResponseHandler { } storage.remove(eventBlock: eventBlock) + return true } - func handlePayloadTooLargeResponse(data: [String: Any]) { + func handlePayloadTooLargeResponse(data: [String: Any]) -> Bool { guard let events = BaseEvent.fromArrayString(jsonString: eventsString) else { storage.remove(eventBlock: eventBlock) removeEventCallbackByEventsString(eventsString: eventsString) - return + return true } if events.count == 1 { let error = data["error"] as? String ?? "" @@ -106,28 +108,32 @@ class PersistentStorageResponseHandler: ResponseHandler { message: error ) storage.remove(eventBlock: eventBlock) - return + return true } storage.splitBlock(eventBlock: eventBlock, events: events) + return true } - func handleTooManyRequestsResponse(data: [String: Any]) { + func handleTooManyRequestsResponse(data: [String: Any]) -> Bool { // wait for next time to pick it up + return false } - func handleTimeoutResponse(data: [String: Any]) { + func handleTimeoutResponse(data: [String: Any]) -> Bool { // Wait for next time to pick it up + return false } - func handleFailedResponse(data: [String: Any]) { + func handleFailedResponse(data: [String: Any]) -> Bool { // wait for next time to try again + return false } - func handle(result: Result) { + func handle(result: Result) -> Bool { switch result { case .success(let code): // We don't care about the data when success - handleSuccessResponse(code: code) + return handleSuccessResponse(code: code) case .failure(let error): switch error { case HttpClient.Exception.httpError(let code, let data): @@ -137,20 +143,20 @@ class PersistentStorageResponseHandler: ResponseHandler { } switch code { case HttpClient.HttpStatus.BAD_REQUEST.rawValue: - handleBadRequestResponse(data: json) + return handleBadRequestResponse(data: json) case HttpClient.HttpStatus.PAYLOAD_TOO_LARGE.rawValue: - handlePayloadTooLargeResponse(data: json) + return handlePayloadTooLargeResponse(data: json) case HttpClient.HttpStatus.TIMEOUT.rawValue: - handleTimeoutResponse(data: json) + return handleTimeoutResponse(data: json) case HttpClient.HttpStatus.TOO_MANY_REQUESTS.rawValue: - handleTooManyRequestsResponse(data: json) + return handleTooManyRequestsResponse(data: json) case HttpClient.HttpStatus.FAILED.rawValue: - handleFailedResponse(data: json) + return handleFailedResponse(data: json) default: - handleFailedResponse(data: json) + return handleFailedResponse(data: json) } default: - break + return false } } } @@ -184,3 +190,33 @@ extension PersistentStorageResponseHandler { } } } + +extension PersistentStorageResponseHandler { + func handle(result: Result) { + let _: Bool = handle(result: result) + } + + func handleSuccessResponse(code: Int) { + let _: Bool = handleSuccessResponse(code: code) + } + + func handleBadRequestResponse(data: [String: Any]) { + let _: Bool = handleBadRequestResponse(data: data) + } + + func handlePayloadTooLargeResponse(data: [String: Any]) { + let _: Bool = handlePayloadTooLargeResponse(data: data) + } + + func handleTooManyRequestsResponse(data: [String: Any]) { + let _: Bool = handleTooManyRequestsResponse(data: data) + } + + func handleTimeoutResponse(data: [String: Any]) { + let _: Bool = handleTimeoutResponse(data: data) + } + + func handleFailedResponse(data: [String: Any]) { + let _: Bool = handleFailedResponse(data: data) + } +} diff --git a/dydx/Pods/Local Podspecs/abacus.podspec.json b/dydx/Pods/Local Podspecs/abacus.podspec.json index 9d8c65ed..5e10ddf7 100644 --- a/dydx/Pods/Local Podspecs/abacus.podspec.json +++ b/dydx/Pods/Local Podspecs/abacus.podspec.json @@ -1,10 +1,10 @@ { "name": "Abacus", - "version": "1.13.42", + "version": "1.13.43", "homepage": "https://github.com/dydxprotocol/v4-abacus", "source": { "git": "git@github.com:dydxprotocol/v4-abacus.git", - "tag": "v1.13.42" + "tag": "v1.13.43" }, "authors": "", "license": "", @@ -20,7 +20,7 @@ "name": "Build abacus", "execution_position": "before_compile", "shell_path": "/bin/sh", - "script": " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -evx\n \n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \n if [ ! -f $REPO_ROOT/gradlew ]; then\n rm -rf $PRODUCT_MODULE_NAME\n git clone git@github.com:dydxprotocol/v4-abacus.git --branch v1.13.42 $PRODUCT_MODULE_NAME\n \n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n \n # We will need to overwrite the dummy framework generated by cocoapods with the actual one from Kotlin\n \n TARGET_FRAMEWORK=\"${TARGET_BUILD_DIR}/${TARGET_NAME}.framework\"\n ABACUS_FRAMEWORK=\"$REPO_ROOT/build/cocoapods/framework/$PRODUCT_MODULE_NAME.framework\"\n rm -rf $TARGET_FRAMEWORK\n mkdir $TARGET_FRAMEWORK\n cp -rf $ABACUS_FRAMEWORK/* $TARGET_FRAMEWORK\n else\n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n fi\n" + "script": " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -evx\n \n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \n if [ ! -f $REPO_ROOT/gradlew ]; then\n rm -rf $PRODUCT_MODULE_NAME\n git clone git@github.com:dydxprotocol/v4-abacus.git --branch v1.13.43 $PRODUCT_MODULE_NAME\n \n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n \n # We will need to overwrite the dummy framework generated by cocoapods with the actual one from Kotlin\n \n TARGET_FRAMEWORK=\"${TARGET_BUILD_DIR}/${TARGET_NAME}.framework\"\n ABACUS_FRAMEWORK=\"$REPO_ROOT/build/cocoapods/framework/$PRODUCT_MODULE_NAME.framework\"\n rm -rf $TARGET_FRAMEWORK\n mkdir $TARGET_FRAMEWORK\n cp -rf $ABACUS_FRAMEWORK/* $TARGET_FRAMEWORK\n else\n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n fi\n" } ], "platforms": { diff --git a/dydx/Pods/Manifest.lock b/dydx/Pods/Manifest.lock index 49a57f8a..8111e8bb 100644 --- a/dydx/Pods/Manifest.lock +++ b/dydx/Pods/Manifest.lock @@ -1,6 +1,6 @@ PODS: - - Abacus (1.13.42) - - AmplitudeSwift (1.11.1): + - Abacus (1.13.43) + - AmplitudeSwift (1.11.2): - AnalyticsConnector (~> 1.3.0) - AnalyticsConnector (1.3.1) - AppsFlyerFramework (6.15.3): @@ -379,8 +379,8 @@ CHECKOUT OPTIONS: :git: https://github.com/dydxprotocol/Charts.git SPEC CHECKSUMS: - Abacus: 99c88e582edc8bbd17feab6ab9e2503ba5c4bf2b - AmplitudeSwift: e27c57acea01eceb4684346201ae3817bed5cf52 + Abacus: 35d2c5bcaf2129cc2fc0045875bc6ff9831a5e31 + AmplitudeSwift: ec670fe6f0a0b673bde44b6f02359993cc5513b1 AnalyticsConnector: 3def11199b4ddcad7202c778bde982ec5da0ebb3 AppsFlyerFramework: ad7ff0d22aa36c7f8cc4f71a5424e19b89ccb8ae Atributika: ecedf5259e4aa3c6278d840b6c18d60c1a8b6ca0 diff --git a/dydx/Pods/Pods.xcodeproj/project.pbxproj b/dydx/Pods/Pods.xcodeproj/project.pbxproj index ee3411ae..511e5dbc 100644 --- a/dydx/Pods/Pods.xcodeproj/project.pbxproj +++ b/dydx/Pods/Pods.xcodeproj/project.pbxproj @@ -22,10 +22,10 @@ }; 2B2AD932AF1A90828B4DFC5AC6955ADA /* Abacus */ = { isa = PBXAggregateTarget; - buildConfigurationList = EEF0366BFDC1324D72524AA55D378F6F /* Build configuration list for PBXAggregateTarget "Abacus" */; + buildConfigurationList = 925166792FC97706C493A99F556CA8C5 /* Build configuration list for PBXAggregateTarget "Abacus" */; buildPhases = ( - 1140742757E54FD86485A7F824BD8F67 /* [CP-User] Build abacus */, - 3745F473990FD856E3448CF2BA311A2C /* [CP] Copy dSYMs */, + F70339D3857B35324AAD2848E9E77B50 /* [CP-User] Build abacus */, + 8F7FB2D960DE2853EDBCE1CF2F9840C9 /* [CP] Copy dSYMs */, ); dependencies = ( ); @@ -24398,48 +24398,38 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1140742757E54FD86485A7F824BD8F67 /* [CP-User] Build abacus */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "[CP-User] Build abacus"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -evx\n \n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \n if [ ! -f $REPO_ROOT/gradlew ]; then\n rm -rf $PRODUCT_MODULE_NAME\n git clone git@github.com:dydxprotocol/v4-abacus.git --branch v1.13.42 $PRODUCT_MODULE_NAME\n \n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n \n # We will need to overwrite the dummy framework generated by cocoapods with the actual one from Kotlin\n \n TARGET_FRAMEWORK=\"${TARGET_BUILD_DIR}/${TARGET_NAME}.framework\"\n ABACUS_FRAMEWORK=\"$REPO_ROOT/build/cocoapods/framework/$PRODUCT_MODULE_NAME.framework\"\n rm -rf $TARGET_FRAMEWORK\n mkdir $TARGET_FRAMEWORK\n cp -rf $ABACUS_FRAMEWORK/* $TARGET_FRAMEWORK\n else\n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n fi\n"; - }; - 3745F473990FD856E3448CF2BA311A2C /* [CP] Copy dSYMs */ = { + 8E8D34C230FC9C9B9E5C6BD6D3637DB3 /* [CP] Copy XCFrameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-input-files.xcfilelist", ); - name = "[CP] Copy dSYMs"; + name = "[CP] Copy XCFrameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; - 8E8D34C230FC9C9B9E5C6BD6D3637DB3 /* [CP] Copy XCFrameworks */ = { + 8F7FB2D960DE2853EDBCE1CF2F9840C9 /* [CP] Copy dSYMs */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms-input-files.xcfilelist", ); - name = "[CP] Copy XCFrameworks"; + name = "[CP] Copy dSYMs"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms.sh\"\n"; showEnvVarsInLog = 0; }; DB7C100E6D7A5CF954757DB8962D9B72 /* [CP] Copy XCFrameworks */ = { @@ -24476,6 +24466,16 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; + F70339D3857B35324AAD2848E9E77B50 /* [CP-User] Build abacus */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "[CP-User] Build abacus"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -evx\n \n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \n if [ ! -f $REPO_ROOT/gradlew ]; then\n rm -rf $PRODUCT_MODULE_NAME\n git clone git@github.com:dydxprotocol/v4-abacus.git --branch v1.13.43 $PRODUCT_MODULE_NAME\n \n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n \n # We will need to overwrite the dummy framework generated by cocoapods with the actual one from Kotlin\n \n TARGET_FRAMEWORK=\"${TARGET_BUILD_DIR}/${TARGET_NAME}.framework\"\n ABACUS_FRAMEWORK=\"$REPO_ROOT/build/cocoapods/framework/$PRODUCT_MODULE_NAME.framework\"\n rm -rf $TARGET_FRAMEWORK\n mkdir $TARGET_FRAMEWORK\n cp -rf $ABACUS_FRAMEWORK/* $TARGET_FRAMEWORK\n else\n \"$REPO_ROOT/gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n fi\n"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -34260,23 +34260,6 @@ }; name = Debug; }; - 2C091ACCC57DE4D02C088A5373E0305F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3D745CCF4B22CD99369258B46BEC7099 /* Abacus.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 16.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; 2C59BD1DF505236F6ED0BD177FC40F56 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 882FE46ED704BB4CD7E834ECB9192AD1 /* Pods-iOS-dydxPresenters.debug.xcconfig */; @@ -34565,24 +34548,6 @@ }; name = Release; }; - 35B8C8CCEC31F60B6A9791BC42EC93F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5DC709D7414D72BDA4F4BE38D913028A /* Abacus.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 16.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; 3709A4D5E586E93C8878F0B7F0AB30DA /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6E422DFF0F433636D84B3EFC1A1D6DD9 /* GoogleToolboxForMac.release.xcconfig */; @@ -38885,6 +38850,24 @@ }; name = Debug; }; + B9D50002C6EFE073E2ADECCB12316FF0 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5DC709D7414D72BDA4F4BE38D913028A /* Abacus.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; BA769822B394D3DBE8C87326DE8461F9 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 42DD9F68DC98058184CBCF67284265B9 /* Pods-iOS-dydxChartTests.release.xcconfig */; @@ -40343,6 +40326,23 @@ }; name = Debug; }; + E93D3E7B4C96B5500B55B7E654BB06C4 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3D745CCF4B22CD99369258B46BEC7099 /* Abacus.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; E9E54556857E8B0B1D138B35A42C8426 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 286ED6DAF3E56042DDC51899FBC76525 /* Pods-iOS-FirebaseStaticInjectionsTests.release.xcconfig */; @@ -41814,6 +41814,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 925166792FC97706C493A99F556CA8C5 /* Build configuration list for PBXAggregateTarget "Abacus" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E93D3E7B4C96B5500B55B7E654BB06C4 /* Debug */, + B9D50002C6EFE073E2ADECCB12316FF0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 982F3119E89AA6FCB4A544E91BCAE388 /* Build configuration list for PBXNativeTarget "FirebaseCore" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -42264,15 +42273,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EEF0366BFDC1324D72524AA55D378F6F /* Build configuration list for PBXAggregateTarget "Abacus" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2C091ACCC57DE4D02C088A5373E0305F /* Debug */, - 35B8C8CCEC31F60B6A9791BC42EC93F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; EFECBE67AF0F011D4E7E5E937331F959 /* Build configuration list for PBXNativeTarget "Pods-iOS-dydxAnalytics" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/dydx/Pods/Target Support Files/AmplitudeSwift/AmplitudeSwift-Info.plist b/dydx/Pods/Target Support Files/AmplitudeSwift/AmplitudeSwift-Info.plist index d0819484..4f11cf48 100644 --- a/dydx/Pods/Target Support Files/AmplitudeSwift/AmplitudeSwift-Info.plist +++ b/dydx/Pods/Target Support Files/AmplitudeSwift/AmplitudeSwift-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.11.1 + 1.11.2 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/AmplitudeSwift/ResourceBundle-Amplitude-AmplitudeSwift-Info.plist b/dydx/Pods/Target Support Files/AmplitudeSwift/ResourceBundle-Amplitude-AmplitudeSwift-Info.plist index 5a7be0ce..cc15996b 100644 --- a/dydx/Pods/Target Support Files/AmplitudeSwift/ResourceBundle-Amplitude-AmplitudeSwift-Info.plist +++ b/dydx/Pods/Target Support Files/AmplitudeSwift/ResourceBundle-Amplitude-AmplitudeSwift-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.11.1 + 1.11.2 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved b/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved index 312fe705..26a4a84b 100644 --- a/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "4abc8b6e37ddb299948f224ccf7a7ccf9ed6d5156db6de917ea842dc596c3bbf", + "originHash" : "c6d13a8669c6f06bed5cd9f1fcb0fa88055a1be183797745f849e2658b63151d", "pins" : [ { "identity" : "bigint", @@ -15,7 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/dydxprotocol/cartera-ios", "state" : { - "revision" : "e3e29704ffce1b8d38ba758e6a982bec28e5a06f" + "branch" : "main", + "revision" : "da4dcffc9d295ccbba70d46df26a0d5a5ef45a83" } }, { @@ -150,7 +151,7 @@ "location" : "https://github.com/dydxprotocol/WalletConnectSwiftV2.git", "state" : { "branch" : "develop", - "revision" : "0b269efb6aa088042edf9e64d3c7f4a03a45a778" + "revision" : "0d9a566b375a29fcc36e3ce66824c49925fa72aa" } }, { diff --git a/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj b/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj index f823ca59..76006c12 100644 --- a/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj +++ b/dydx/dydxCartera/dydxCartera.xcodeproj/project.pbxproj @@ -487,7 +487,7 @@ ); mainGroup = 02439C8129B03E8A00A083FE; packageReferences = ( - 02D6DACB2D1208C2008AAEA1 /* XCRemoteSwiftPackageReference "cartera-ios" */, + 02AD39C02D14A28600CF0B70 /* XCRemoteSwiftPackageReference "cartera-ios" */, ); productRefGroup = 02439C8C29B03E8A00A083FE /* Products */; projectDirPath = ""; @@ -979,12 +979,12 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 02D6DACB2D1208C2008AAEA1 /* XCRemoteSwiftPackageReference "cartera-ios" */ = { + 02AD39C02D14A28600CF0B70 /* XCRemoteSwiftPackageReference "cartera-ios" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/dydxprotocol/cartera-ios"; requirement = { - kind = revision; - revision = e3e29704ffce1b8d38ba758e6a982bec28e5a06f; + branch = main; + kind = branch; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/dydx/dydxPresenters/dydxPresenters/_v4/GlobalWorkers/Workers/dydxCarteraConfigWorker.swift b/dydx/dydxPresenters/dydxPresenters/_v4/GlobalWorkers/Workers/dydxCarteraConfigWorker.swift index 62ec6937..12623bb5 100644 --- a/dydx/dydxPresenters/dydxPresenters/_v4/GlobalWorkers/Workers/dydxCarteraConfigWorker.swift +++ b/dydx/dydxPresenters/dydxPresenters/_v4/GlobalWorkers/Workers/dydxCarteraConfigWorker.swift @@ -44,6 +44,10 @@ final class dydxCarteraConfigWorker: BaseWorker { walletConnectV2: WalletConnectV2Config(environment: environment), walletSegue: WalletSegueConfig(environment: environment)) CarteraConfig.shared.walletProvidersConfig = config + + if let wallets = environment.walletConnection?.walletConnect?.v2?.wallets?.ios { + CarteraConfig.shared.wcModalWallets = wallets + } } } diff --git a/podspecs/Abacus.podspec b/podspecs/Abacus.podspec index 2750a421..cbd3138b 100644 --- a/podspecs/Abacus.podspec +++ b/podspecs/Abacus.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'Abacus' -spec.version = '1.13.42' +spec.version = '1.13.43' spec.homepage = 'https://github.com/dydxprotocol/v4-abacus' spec.source = { :git => "git@github.com:dydxprotocol/v4-abacus.git", :tag => "v#{spec.version}" } spec.authors = ''