From 5b329ecd3e1d5572491b648aa64ea575f7552383 Mon Sep 17 00:00:00 2001 From: Rui Date: Tue, 10 Sep 2024 13:40:18 -0700 Subject: [PATCH 1/4] Bump Abacus --- dydx/Podfile.lock | 104 +++++++++--------- .../Sources/Amplitude/Amplitude.swift | 30 +++++ .../Sources/Amplitude/Configuration.swift | 3 + .../Sources/Amplitude/Constants.swift | 2 +- .../Amplitude/Utilities/EventPipeline.swift | 87 ++++++++------- dydx/Pods/Local Podspecs/abacus.podspec.json | 6 +- dydx/Pods/Manifest.lock | 104 +++++++++--------- dydx/Pods/Pods.xcodeproj/project.pbxproj | 100 ++++++++--------- .../AmplitudeSwift/AmplitudeSwift-Info.plist | 2 +- ...Bundle-Amplitude-AmplitudeSwift-Info.plist | 2 +- .../FirebaseABTesting-Info.plist | 2 +- ...sting_Privacy-FirebaseABTesting-Info.plist | 2 +- .../FirebaseCore/FirebaseCore-Info.plist | 2 +- .../FirebaseCore/FirebaseCore.debug.xcconfig | 2 +- .../FirebaseCore.release.xcconfig | 2 +- ...rebaseCore_Privacy-FirebaseCore-Info.plist | 2 +- .../FirebaseCoreExtension-Info.plist | 2 +- ...n_Privacy-FirebaseCoreExtension-Info.plist | 2 +- .../FirebaseCoreInternal-Info.plist | 2 +- ...al_Privacy-FirebaseCoreInternal-Info.plist | 2 +- .../FirebaseCrashlytics-Info.plist | 2 +- ...ics_Privacy-FirebaseCrashlytics-Info.plist | 2 +- .../FirebaseInstallations-Info.plist | 2 +- ...s_Privacy-FirebaseInstallations-Info.plist | 2 +- .../FirebaseMessaging-Info.plist | 2 +- ...aging_Privacy-FirebaseMessaging-Info.plist | 2 +- .../FirebasePerformance-Info.plist | 2 +- .../FirebasePerformance.debug.xcconfig | 2 +- .../FirebasePerformance.release.xcconfig | 2 +- .../FirebaseRemoteConfig-Info.plist | 2 +- ...ig_Privacy-FirebaseRemoteConfig-Info.plist | 2 +- .../FirebaseRemoteConfigInterop-Info.plist | 2 +- .../FirebaseSessions-Info.plist | 2 +- .../FirebaseSharedSwift-Info.plist | 2 +- .../xcshareddata/swiftpm/Package.resolved | 20 +++- ...positWithdrawConfirmationViewBuilder.swift | 20 ++-- .../dydxVaultDepositWithdrawViewBuilder.swift | 22 ++-- .../Vault/Landing/dydxVaultViewBuilder.swift | 6 +- .../SharedSteps/ERC20ApprovalStep.swift | 2 +- .../dydxTitledNumberField.swift | 2 +- .../VaultTransferType.swift | 20 ++-- ...DepositWithdrawConfirmationViewModel.swift | 44 ++++---- .../dydxVaultDepositWithdrawViewModel.swift | 30 ++--- .../Vault/Landing/dydxVaultViewModel.swift | 14 +-- podspecs/Abacus.podspec | 2 +- 45 files changed, 366 insertions(+), 304 deletions(-) diff --git a/dydx/Podfile.lock b/dydx/Podfile.lock index 8281c1f79..70bfe47b5 100644 --- a/dydx/Podfile.lock +++ b/dydx/Podfile.lock @@ -1,6 +1,6 @@ PODS: - - Abacus (1.9.7) - - AmplitudeSwift (1.9.0): + - Abacus (1.10.2) + - AmplitudeSwift (1.9.1): - AnalyticsConnector (~> 1.0.1) - AnalyticsConnector (1.0.3) - AppsFlyerFramework (6.15.2): @@ -21,24 +21,24 @@ PODS: - EasyTipView (2.1.0) - EFQRCode (6.2.1): - swift_qrcodejs (~> 2.2.2) - - Firebase/AnalyticsWithoutAdIdSupport (11.1.0): + - Firebase/AnalyticsWithoutAdIdSupport (11.2.0): - Firebase/CoreOnly - - FirebaseAnalytics/WithoutAdIdSupport (~> 11.1.0) - - Firebase/Core (11.1.0): + - FirebaseAnalytics/WithoutAdIdSupport (~> 11.2.0) + - Firebase/Core (11.2.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 11.1.0) - - Firebase/CoreOnly (11.1.0): - - FirebaseCore (= 11.1.0) - - Firebase/Messaging (11.1.0): + - FirebaseAnalytics (~> 11.2.0) + - Firebase/CoreOnly (11.2.0): + - FirebaseCore (= 11.2.0) + - Firebase/Messaging (11.2.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 11.1.0) - - Firebase/Performance (11.1.0): + - FirebaseMessaging (~> 11.2.0) + - Firebase/Performance (11.2.0): - Firebase/CoreOnly - - FirebasePerformance (~> 11.1.0) - - FirebaseABTesting (11.1.0): + - FirebasePerformance (~> 11.2.0) + - FirebaseABTesting (11.2.0): - FirebaseCore (~> 11.0) - - FirebaseAnalytics (11.1.0): - - FirebaseAnalytics/AdIdSupport (= 11.1.0) + - FirebaseAnalytics (11.2.0): + - FirebaseAnalytics/AdIdSupport (= 11.2.0) - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) @@ -46,33 +46,33 @@ PODS: - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - FirebaseAnalytics/AdIdSupport (11.1.0): + - FirebaseAnalytics/AdIdSupport (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - - GoogleAppMeasurement (= 11.1.0) + - GoogleAppMeasurement (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - FirebaseAnalytics/WithoutAdIdSupport (11.1.0): + - FirebaseAnalytics/WithoutAdIdSupport (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - - GoogleAppMeasurement/WithoutAdIdSupport (= 11.1.0) + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - FirebaseCore (11.1.0): + - FirebaseCore (11.2.0): - FirebaseCoreInternal (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - GoogleUtilities/Logger (~> 8.0) - - FirebaseCoreExtension (11.1.0): + - FirebaseCoreExtension (11.2.0): - FirebaseCore (~> 11.0) - - FirebaseCoreInternal (11.1.0): + - FirebaseCoreInternal (11.2.0): - "GoogleUtilities/NSData+zlib (~> 8.0)" - - FirebaseCrashlytics (11.1.0): + - FirebaseCrashlytics (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - FirebaseRemoteConfigInterop (~> 11.0) @@ -81,12 +81,12 @@ PODS: - GoogleUtilities/Environment (~> 8.0) - nanopb (~> 3.30910.0) - PromisesObjC (~> 2.4) - - FirebaseInstallations (11.1.0): + - FirebaseInstallations (11.2.0): - FirebaseCore (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - GoogleUtilities/UserDefaults (~> 8.0) - PromisesObjC (~> 2.4) - - FirebaseMessaging (11.1.0): + - FirebaseMessaging (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - GoogleDataTransport (~> 10.0) @@ -95,7 +95,7 @@ PODS: - GoogleUtilities/Reachability (~> 8.0) - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - - FirebasePerformance (11.1.0): + - FirebasePerformance (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - FirebaseRemoteConfig (~> 11.0) @@ -105,7 +105,7 @@ PODS: - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - - FirebaseRemoteConfig (11.1.0): + - FirebaseRemoteConfig (11.2.0): - FirebaseABTesting (~> 11.0) - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) @@ -113,8 +113,8 @@ PODS: - FirebaseSharedSwift (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - - FirebaseRemoteConfigInterop (11.1.0) - - FirebaseSessions (11.1.0): + - FirebaseRemoteConfigInterop (11.2.0) + - FirebaseSessions (11.2.0): - FirebaseCore (~> 11.0) - FirebaseCoreExtension (~> 11.0) - FirebaseInstallations (~> 11.0) @@ -123,23 +123,23 @@ PODS: - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - PromisesSwift (~> 2.1) - - FirebaseSharedSwift (11.1.0) + - FirebaseSharedSwift (11.2.0) - FloatingPanel (2.7.0) - - GoogleAppMeasurement (11.1.0): - - GoogleAppMeasurement/AdIdSupport (= 11.1.0) + - GoogleAppMeasurement (11.2.0): + - GoogleAppMeasurement/AdIdSupport (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - GoogleAppMeasurement/AdIdSupport (11.1.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 11.1.0) + - GoogleAppMeasurement/AdIdSupport (11.2.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - GoogleAppMeasurement/WithoutAdIdSupport (11.1.0): + - GoogleAppMeasurement/WithoutAdIdSupport (11.2.0): - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) @@ -382,8 +382,8 @@ CHECKOUT OPTIONS: :git: https://github.com/dydxprotocol/Charts.git SPEC CHECKSUMS: - Abacus: 2a1c939e93cef6ae544fc6b4034ed35b36d96c23 - AmplitudeSwift: 853ba36127560683432018ee6ef7e7551aadfdb4 + Abacus: 19aaf307228b07739932f54fffa6dee3e3ac6125 + AmplitudeSwift: f01a962a2cb28dee9807a5b8a362da339d86f00e AnalyticsConnector: a53214d38ae22734c6266106c0492b37832633a9 AppsFlyerFramework: 3c6c50b7b3f0f37f648a5b23114940e0766e65e8 Atributika: ecedf5259e4aa3c6278d840b6c18d60c1a8b6ca0 @@ -396,22 +396,22 @@ SPEC CHECKSUMS: DrawerMenu: f6ca91901e2b21086e3c19bcca278d3d3127e85f EasyTipView: a92b6edc377b81c5ac18e9fd35d5ee78e9409488 EFQRCode: a4d39ec3466b68dffa71de3b5caef7c9ceefdc53 - Firebase: fdb3bd378401f26a7adfcf446b0a630f8c20c0e8 - FirebaseABTesting: c2e22c3aab99afa81d0561708b2c1c356c556976 - FirebaseAnalytics: 9fcdb2e9844174bb405b34cc47092c9b91993d83 - FirebaseCore: 6e2a2782e234b14d48e880ed369ac55cda87fed7 - FirebaseCoreExtension: aa5c9779c2d0d39d83f1ceb3fdbafe80c4feecfa - FirebaseCoreInternal: adefedc9a88dbe393c4884640a73ec9e8e790f8c - FirebaseCrashlytics: 95cfe27373ff2edab39c28583d93cbf2dfff401d - FirebaseInstallations: d0a8fea5a6fa91abc661591cf57c0f0d70863e57 - FirebaseMessaging: 61014ecade746724664eee1f6c066c058a7c9fa7 - FirebasePerformance: 9303f34779bd99384838437c2b1fc1c1c9ff0d17 - FirebaseRemoteConfig: 05521e937b72e01847a7128da5a492327364c705 - FirebaseRemoteConfigInterop: abf8b1bbc0bf1b84abd22b66746926410bf91a87 - FirebaseSessions: 78f137e68dc01ca71606169ba4ac73b98c13752a - FirebaseSharedSwift: 260a35e08943ec810d820a70bc0359136351d0c5 + Firebase: 98e6bf5278170668a7983e12971a66b2cd57fc8c + FirebaseABTesting: 2104d957ce33888a3d6f3bde298cdee376dde8f1 + FirebaseAnalytics: c36efd5710c60c17558650fa58c2066eca7e9265 + FirebaseCore: a282032ae9295c795714ded2ec9c522fc237f8da + FirebaseCoreExtension: cda74ddfb001224bd8fd1d6e74698b4ed07803de + FirebaseCoreInternal: 0c569513412da9f3b31bd0b340013bbee8f295c5 + FirebaseCrashlytics: cfc69af5b53565dc6a5e563788809b5778ac4eac + FirebaseInstallations: 771177d89d6c451dc6e50085ec82e2fc77ed0a4a + FirebaseMessaging: c9ec7b90c399c7a6100297e9d16f8a27fc7f7152 + FirebasePerformance: c39138c0700b8ef6040f0b80b5707320808e2862 + FirebaseRemoteConfig: fca0b2d017fc1de52b28a4e5bcf2007c1a840457 + FirebaseRemoteConfigInterop: 477b26fdeb8fb5fbaf22fa9db5343b42289dc7db + FirebaseSessions: adcec8b72d0066a385e3affcd1bcb1ebb3908ce6 + FirebaseSharedSwift: 7a0d78d155ede78407f0fdc89fbc914014c7c540 FloatingPanel: c88e3fd981b7a74121ff48746fb14d496f5fd553 - GoogleAppMeasurement: 8bb20efc67c8fc1cff9c42a06c256caf55289bbf + GoogleAppMeasurement: 76d4f8b36b03bd8381fa9a7fe2cc7f99c0a2e93a GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleToolboxForMac: d1a2cbf009c453f4d6ded37c105e2f67a32206d8 GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Amplitude.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Amplitude.swift index ec301ee50..b995bd573 100644 --- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Amplitude.swift +++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Amplitude.swift @@ -72,6 +72,10 @@ public class Amplitude { configuration.optOutChanged = { [weak self] optOut in self?.timeline.onOptOutChanged(optOut) } + + trackingQueue.async { [self] in + self.trimQueuedEvents() + } } convenience init(apiKey: String, configuration: Configuration) { @@ -450,4 +454,30 @@ public class Amplitude { internal func isSandboxEnabled() -> Bool { return SandboxHelper().isSandboxEnabled() } + + func trimQueuedEvents() { + logger?.debug(message: "Trimming queued events..") + guard configuration.maxQueuedEventCount > 0, + let eventBlocks: [URL] = storage.read(key: .EVENTS), + !eventBlocks.isEmpty else { + return + } + + var eventCount = 0 + // Blocks are returned in sorted order, oldest -> newest. Reverse to count newest blocks first. + // Only whole blocks are deleted, meaning up to maxQueuedEventCount + flushQueueSize - 1 + // events may be left on device. + for eventBlock in eventBlocks.reversed() { + if eventCount < configuration.maxQueuedEventCount { + if let eventString = storage.getEventsString(eventBlock: eventBlock), + let eventArray = BaseEvent.fromArrayString(jsonString: eventString) { + eventCount += eventArray.count + } + } else { + logger?.debug(message: "Trimming \(eventBlock)") + storage.remove(eventBlock: eventBlock) + } + } + logger?.debug(message: "Completed trimming events, kept \(eventCount) most recent events") + } } diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Configuration.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Configuration.swift index 4fabd0153..01510628d 100644 --- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Configuration.swift +++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Configuration.swift @@ -48,6 +48,7 @@ public class Configuration { public internal(set) var autocapture: AutocaptureOptions public var offline: Bool? internal let diagonostics: Diagnostics + public var maxQueuedEventCount = -1 var optOutChanged: ((Bool) -> Void)? @available(*, deprecated, message: "Please use the `autocapture` parameter instead.") @@ -135,6 +136,7 @@ public class Configuration { // `trackingSessionEvents` has been replaced by `defaultTracking.sessions` autocapture: AutocaptureOptions = .sessions, identifyBatchIntervalMillis: Int = Constants.Configuration.IDENTIFY_BATCH_INTERVAL_MILLIS, + maxQueuedEventCount: Int = -1, migrateLegacyData: Bool = true, offline: Bool? = false ) { @@ -167,6 +169,7 @@ public class Configuration { self.minTimeBetweenSessionsMillis = minTimeBetweenSessionsMillis self.autocapture = autocapture self.identifyBatchIntervalMillis = identifyBatchIntervalMillis + self.maxQueuedEventCount = maxQueuedEventCount self.migrateLegacyData = migrateLegacyData // Logging is OFF by default self.loggerProvider.logLevel = logLevel.rawValue diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Constants.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Constants.swift index 732274dd4..a50ea6f62 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.9.0" + static let SDK_VERSION = "1.9.1" 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/Utilities/EventPipeline.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/EventPipeline.swift index 0639bf1c6..becc7313e 100644 --- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/EventPipeline.swift +++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Utilities/EventPipeline.swift @@ -17,11 +17,8 @@ public class EventPipeline { internal var flushTimer: QueueTimer? private let uploadsQueue = DispatchQueue(label: "uploadsQueue.amplitude.com") - internal struct UploadTaskInfo { - let events: String - let task: URLSessionDataTask - } - private var uploads = [URL: UploadTaskInfo]() + private var flushCompletions: [() -> Void] = [] + private var currentUpload: URLSessionTask? init(amplitude: Amplitude) { storage = amplitude.storage @@ -60,33 +57,58 @@ public class EventPipeline { eventCount = 0 guard let storage = self.storage else { return } storage.rollover() - guard let eventFiles: [URL] = storage.read(key: StorageKey.EVENTS) else { return } - for eventFile in eventFiles { - uploadsQueue.sync { - guard uploads[eventFile] == nil else { - logger?.log(message: "Existing upload in progress, skipping...") - return - } - guard let eventsString = storage.getEventsString(eventBlock: eventFile), - !eventsString.isEmpty else { + + uploadsQueue.async { [self] in + if let completion { + flushCompletions.append(completion) + } + self.sendNextEventFile() + } + } + + private func sendNextEventFile() { + guard currentUpload == nil else { + logger?.log(message: "Existing upload in progress, skipping...") + return + } + + guard let storage = storage, + let eventFiles: [URL] = storage.read(key: StorageKey.EVENTS), + let nextEventFile = eventFiles.first else { + flushCompletions.forEach { $0() } + flushCompletions.removeAll() + logger?.debug(message: "No event files to upload") + return + } + + guard configuration.offline != true else { + logger?.debug(message: "Skipping flush while offline.") + return + } + + guard let eventsString = storage.getEventsString(eventBlock: nextEventFile), + !eventsString.isEmpty else { + logger?.log(message: "Could not read events file: \(nextEventFile)") + return + } + + currentUpload = httpClient.upload(events: eventsString) { [self] result in + let responseHandler = storage.getResponseHandler( + configuration: self.configuration, + eventPipeline: self, + 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 uploadTask = httpClient.upload(events: eventsString) { [self] result in - let responseHandler = storage.getResponseHandler( - configuration: self.configuration, - eventPipeline: self, - eventBlock: eventFile, - eventsString: eventsString - ) - responseHandler.handle(result: result) - self.completeUpload(for: eventFile) - } - if let uploadTask { - uploads[eventFile] = UploadTaskInfo(events: eventsString, task: uploadTask) - } + self.currentUpload = nil + self.sendNextEventFile() } } - completion?() } func start() { @@ -106,12 +128,3 @@ public class EventPipeline { return count != 0 ? count : 1 } } - -extension EventPipeline { - - func completeUpload(for eventBlock: URL) { - uploadsQueue.sync { - uploads[eventBlock] = nil - } - } -} diff --git a/dydx/Pods/Local Podspecs/abacus.podspec.json b/dydx/Pods/Local Podspecs/abacus.podspec.json index f442ec65b..b7c2c09b0 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.9.7", + "version": "1.10.2", "homepage": "https://github.com/dydxprotocol/v4-abacus", "source": { "git": "git@github.com:dydxprotocol/v4-abacus.git", - "tag": "v1.9.7" + "tag": "v1.10.2" }, "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.9.7 $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.10.2 $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 8281c1f79..70bfe47b5 100644 --- a/dydx/Pods/Manifest.lock +++ b/dydx/Pods/Manifest.lock @@ -1,6 +1,6 @@ PODS: - - Abacus (1.9.7) - - AmplitudeSwift (1.9.0): + - Abacus (1.10.2) + - AmplitudeSwift (1.9.1): - AnalyticsConnector (~> 1.0.1) - AnalyticsConnector (1.0.3) - AppsFlyerFramework (6.15.2): @@ -21,24 +21,24 @@ PODS: - EasyTipView (2.1.0) - EFQRCode (6.2.1): - swift_qrcodejs (~> 2.2.2) - - Firebase/AnalyticsWithoutAdIdSupport (11.1.0): + - Firebase/AnalyticsWithoutAdIdSupport (11.2.0): - Firebase/CoreOnly - - FirebaseAnalytics/WithoutAdIdSupport (~> 11.1.0) - - Firebase/Core (11.1.0): + - FirebaseAnalytics/WithoutAdIdSupport (~> 11.2.0) + - Firebase/Core (11.2.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 11.1.0) - - Firebase/CoreOnly (11.1.0): - - FirebaseCore (= 11.1.0) - - Firebase/Messaging (11.1.0): + - FirebaseAnalytics (~> 11.2.0) + - Firebase/CoreOnly (11.2.0): + - FirebaseCore (= 11.2.0) + - Firebase/Messaging (11.2.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 11.1.0) - - Firebase/Performance (11.1.0): + - FirebaseMessaging (~> 11.2.0) + - Firebase/Performance (11.2.0): - Firebase/CoreOnly - - FirebasePerformance (~> 11.1.0) - - FirebaseABTesting (11.1.0): + - FirebasePerformance (~> 11.2.0) + - FirebaseABTesting (11.2.0): - FirebaseCore (~> 11.0) - - FirebaseAnalytics (11.1.0): - - FirebaseAnalytics/AdIdSupport (= 11.1.0) + - FirebaseAnalytics (11.2.0): + - FirebaseAnalytics/AdIdSupport (= 11.2.0) - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) @@ -46,33 +46,33 @@ PODS: - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - FirebaseAnalytics/AdIdSupport (11.1.0): + - FirebaseAnalytics/AdIdSupport (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - - GoogleAppMeasurement (= 11.1.0) + - GoogleAppMeasurement (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - FirebaseAnalytics/WithoutAdIdSupport (11.1.0): + - FirebaseAnalytics/WithoutAdIdSupport (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - - GoogleAppMeasurement/WithoutAdIdSupport (= 11.1.0) + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - FirebaseCore (11.1.0): + - FirebaseCore (11.2.0): - FirebaseCoreInternal (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - GoogleUtilities/Logger (~> 8.0) - - FirebaseCoreExtension (11.1.0): + - FirebaseCoreExtension (11.2.0): - FirebaseCore (~> 11.0) - - FirebaseCoreInternal (11.1.0): + - FirebaseCoreInternal (11.2.0): - "GoogleUtilities/NSData+zlib (~> 8.0)" - - FirebaseCrashlytics (11.1.0): + - FirebaseCrashlytics (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - FirebaseRemoteConfigInterop (~> 11.0) @@ -81,12 +81,12 @@ PODS: - GoogleUtilities/Environment (~> 8.0) - nanopb (~> 3.30910.0) - PromisesObjC (~> 2.4) - - FirebaseInstallations (11.1.0): + - FirebaseInstallations (11.2.0): - FirebaseCore (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - GoogleUtilities/UserDefaults (~> 8.0) - PromisesObjC (~> 2.4) - - FirebaseMessaging (11.1.0): + - FirebaseMessaging (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - GoogleDataTransport (~> 10.0) @@ -95,7 +95,7 @@ PODS: - GoogleUtilities/Reachability (~> 8.0) - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - - FirebasePerformance (11.1.0): + - FirebasePerformance (11.2.0): - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) - FirebaseRemoteConfig (~> 11.0) @@ -105,7 +105,7 @@ PODS: - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - - FirebaseRemoteConfig (11.1.0): + - FirebaseRemoteConfig (11.2.0): - FirebaseABTesting (~> 11.0) - FirebaseCore (~> 11.0) - FirebaseInstallations (~> 11.0) @@ -113,8 +113,8 @@ PODS: - FirebaseSharedSwift (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - - FirebaseRemoteConfigInterop (11.1.0) - - FirebaseSessions (11.1.0): + - FirebaseRemoteConfigInterop (11.2.0) + - FirebaseSessions (11.2.0): - FirebaseCore (~> 11.0) - FirebaseCoreExtension (~> 11.0) - FirebaseInstallations (~> 11.0) @@ -123,23 +123,23 @@ PODS: - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - PromisesSwift (~> 2.1) - - FirebaseSharedSwift (11.1.0) + - FirebaseSharedSwift (11.2.0) - FloatingPanel (2.7.0) - - GoogleAppMeasurement (11.1.0): - - GoogleAppMeasurement/AdIdSupport (= 11.1.0) + - GoogleAppMeasurement (11.2.0): + - GoogleAppMeasurement/AdIdSupport (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - GoogleAppMeasurement/AdIdSupport (11.1.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 11.1.0) + - GoogleAppMeasurement/AdIdSupport (11.2.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.2.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - GoogleAppMeasurement/WithoutAdIdSupport (11.1.0): + - GoogleAppMeasurement/WithoutAdIdSupport (11.2.0): - GoogleUtilities/AppDelegateSwizzler (~> 8.0) - GoogleUtilities/MethodSwizzler (~> 8.0) - GoogleUtilities/Network (~> 8.0) @@ -382,8 +382,8 @@ CHECKOUT OPTIONS: :git: https://github.com/dydxprotocol/Charts.git SPEC CHECKSUMS: - Abacus: 2a1c939e93cef6ae544fc6b4034ed35b36d96c23 - AmplitudeSwift: 853ba36127560683432018ee6ef7e7551aadfdb4 + Abacus: 19aaf307228b07739932f54fffa6dee3e3ac6125 + AmplitudeSwift: f01a962a2cb28dee9807a5b8a362da339d86f00e AnalyticsConnector: a53214d38ae22734c6266106c0492b37832633a9 AppsFlyerFramework: 3c6c50b7b3f0f37f648a5b23114940e0766e65e8 Atributika: ecedf5259e4aa3c6278d840b6c18d60c1a8b6ca0 @@ -396,22 +396,22 @@ SPEC CHECKSUMS: DrawerMenu: f6ca91901e2b21086e3c19bcca278d3d3127e85f EasyTipView: a92b6edc377b81c5ac18e9fd35d5ee78e9409488 EFQRCode: a4d39ec3466b68dffa71de3b5caef7c9ceefdc53 - Firebase: fdb3bd378401f26a7adfcf446b0a630f8c20c0e8 - FirebaseABTesting: c2e22c3aab99afa81d0561708b2c1c356c556976 - FirebaseAnalytics: 9fcdb2e9844174bb405b34cc47092c9b91993d83 - FirebaseCore: 6e2a2782e234b14d48e880ed369ac55cda87fed7 - FirebaseCoreExtension: aa5c9779c2d0d39d83f1ceb3fdbafe80c4feecfa - FirebaseCoreInternal: adefedc9a88dbe393c4884640a73ec9e8e790f8c - FirebaseCrashlytics: 95cfe27373ff2edab39c28583d93cbf2dfff401d - FirebaseInstallations: d0a8fea5a6fa91abc661591cf57c0f0d70863e57 - FirebaseMessaging: 61014ecade746724664eee1f6c066c058a7c9fa7 - FirebasePerformance: 9303f34779bd99384838437c2b1fc1c1c9ff0d17 - FirebaseRemoteConfig: 05521e937b72e01847a7128da5a492327364c705 - FirebaseRemoteConfigInterop: abf8b1bbc0bf1b84abd22b66746926410bf91a87 - FirebaseSessions: 78f137e68dc01ca71606169ba4ac73b98c13752a - FirebaseSharedSwift: 260a35e08943ec810d820a70bc0359136351d0c5 + Firebase: 98e6bf5278170668a7983e12971a66b2cd57fc8c + FirebaseABTesting: 2104d957ce33888a3d6f3bde298cdee376dde8f1 + FirebaseAnalytics: c36efd5710c60c17558650fa58c2066eca7e9265 + FirebaseCore: a282032ae9295c795714ded2ec9c522fc237f8da + FirebaseCoreExtension: cda74ddfb001224bd8fd1d6e74698b4ed07803de + FirebaseCoreInternal: 0c569513412da9f3b31bd0b340013bbee8f295c5 + FirebaseCrashlytics: cfc69af5b53565dc6a5e563788809b5778ac4eac + FirebaseInstallations: 771177d89d6c451dc6e50085ec82e2fc77ed0a4a + FirebaseMessaging: c9ec7b90c399c7a6100297e9d16f8a27fc7f7152 + FirebasePerformance: c39138c0700b8ef6040f0b80b5707320808e2862 + FirebaseRemoteConfig: fca0b2d017fc1de52b28a4e5bcf2007c1a840457 + FirebaseRemoteConfigInterop: 477b26fdeb8fb5fbaf22fa9db5343b42289dc7db + FirebaseSessions: adcec8b72d0066a385e3affcd1bcb1ebb3908ce6 + FirebaseSharedSwift: 7a0d78d155ede78407f0fdc89fbc914014c7c540 FloatingPanel: c88e3fd981b7a74121ff48746fb14d496f5fd553 - GoogleAppMeasurement: 8bb20efc67c8fc1cff9c42a06c256caf55289bbf + GoogleAppMeasurement: 76d4f8b36b03bd8381fa9a7fe2cc7f99c0a2e93a GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleToolboxForMac: d1a2cbf009c453f4d6ded37c105e2f67a32206d8 GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d diff --git a/dydx/Pods/Pods.xcodeproj/project.pbxproj b/dydx/Pods/Pods.xcodeproj/project.pbxproj index 4dc8441b1..6efcda734 100644 --- a/dydx/Pods/Pods.xcodeproj/project.pbxproj +++ b/dydx/Pods/Pods.xcodeproj/project.pbxproj @@ -22,10 +22,10 @@ }; 2B2AD932AF1A90828B4DFC5AC6955ADA /* Abacus */ = { isa = PBXAggregateTarget; - buildConfigurationList = A199A722CD10EE79B6CF0B7F0198E4A4 /* Build configuration list for PBXAggregateTarget "Abacus" */; + buildConfigurationList = D9CE32AC0440F58F43AF46B345C9D5D8 /* Build configuration list for PBXAggregateTarget "Abacus" */; buildPhases = ( - 4951085D961F210A4281A2CFEEB423EC /* [CP-User] Build abacus */, - F94894F8DE32E104ECD77EE7E44762A1 /* [CP] Copy dSYMs */, + 674144C62E5A1F3E11C870CE319F8581 /* [CP-User] Build abacus */, + E31AC69EE597A881243B80715637EE6B /* [CP] Copy dSYMs */, ); dependencies = ( ); @@ -24947,7 +24947,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; - 4951085D961F210A4281A2CFEEB423EC /* [CP-User] Build abacus */ = { + 674144C62E5A1F3E11C870CE319F8581 /* [CP-User] Build abacus */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -24955,7 +24955,7 @@ 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.9.7 $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"; + 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.10.2 $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"; }; DB7C100E6D7A5CF954757DB8962D9B72 /* [CP] Copy XCFrameworks */ = { isa = PBXShellScriptBuildPhase; @@ -24974,7 +24974,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/AppsFlyerFramework/AppsFlyerFramework-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; - F94894F8DE32E104ECD77EE7E44762A1 /* [CP] Copy dSYMs */ = { + E31AC69EE597A881243B80715637EE6B /* [CP] Copy dSYMs */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -34534,6 +34534,24 @@ }; name = Debug; }; + 1A09C1798014C4A0E2427D73218B3FAA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C04AB0409BFEEDA4532A2A0B538DA8A7 /* Abacus.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + IPHONEOS_DEPLOYMENT_TARGET = 15.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; + }; 1A38C9405D4B1F21B901E7D416A81C21 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 2E82CBDE7C402C15F46EF4C5356F1EF7 /* Pods-iOS-PlatformUI.debug.xcconfig */; @@ -35489,6 +35507,23 @@ }; name = Debug; }; + 39C1522FA3885FDAD78A0129D38275EB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 41314D7B95A0B34C71BD65F325E4C9F3 /* Abacus.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; 3C10B03ED812BE986CB7FB1256978730 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 540084C53E82F8A35DCE8A4BB3802B3A /* GoogleDataTransport.debug.xcconfig */; @@ -35987,24 +36022,6 @@ }; name = Release; }; - 439207EEE25E55B24D79EE3867090357 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C04AB0409BFEEDA4532A2A0B538DA8A7 /* Abacus.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 15.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; - }; 4445F181D7C6E73D9CDA6E8084A35490 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7E869B2BAF840C7E723222C026815B06 /* GTMSessionFetcher.debug.xcconfig */; @@ -41340,23 +41357,6 @@ }; name = Debug; }; - EA48DC338651BA6898FA8A5CAF1F8735 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 41314D7B95A0B34C71BD65F325E4C9F3 /* Abacus.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; EB64E6D90D11C123898366A6FC668CC4 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 1203BEE2950F5CD72D6FA125BE08334C /* Pods-iOS-ParticlesKit.release.xcconfig */; @@ -42892,15 +42892,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A199A722CD10EE79B6CF0B7F0198E4A4 /* Build configuration list for PBXAggregateTarget "Abacus" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - EA48DC338651BA6898FA8A5CAF1F8735 /* Debug */, - 439207EEE25E55B24D79EE3867090357 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; A1E175DEBF07EE55EE7BB7A87A20555B /* Build configuration list for PBXNativeTarget "nanopb-nanopb_Privacy" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -43126,6 +43117,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + D9CE32AC0440F58F43AF46B345C9D5D8 /* Build configuration list for PBXAggregateTarget "Abacus" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 39C1522FA3885FDAD78A0129D38275EB /* Debug */, + 1A09C1798014C4A0E2427D73218B3FAA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; DAF3A96E62754C8DFD08A42E5FA0B057 /* Build configuration list for PBXNativeTarget "CombineExt" */ = { 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 439bd15e9..84ef4f0d8 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.9.0 + 1.9.1 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 160f16790..7570aa812 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.9.0 + 1.9.1 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseABTesting/FirebaseABTesting-Info.plist b/dydx/Pods/Target Support Files/FirebaseABTesting/FirebaseABTesting-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseABTesting/FirebaseABTesting-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseABTesting/FirebaseABTesting-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseABTesting/ResourceBundle-FirebaseABTesting_Privacy-FirebaseABTesting-Info.plist b/dydx/Pods/Target Support Files/FirebaseABTesting/ResourceBundle-FirebaseABTesting_Privacy-FirebaseABTesting-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseABTesting/ResourceBundle-FirebaseABTesting_Privacy-FirebaseABTesting-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseABTesting/ResourceBundle-FirebaseABTesting_Privacy-FirebaseABTesting-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore-Info.plist b/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.debug.xcconfig b/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.debug.xcconfig index c05d1b4ec..cfaa15180 100644 --- a/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.debug.xcconfig +++ b/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.debug.xcconfig @@ -2,7 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" GCC_C_LANGUAGE_STANDARD = c99 -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 Firebase_VERSION=11.1.0 +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 Firebase_VERSION=11.2.0 HEADER_SEARCH_PATHS = $(inherited) "${PODS_TARGET_SRCROOT}" LD_RUNPATH_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" OTHER_CFLAGS = $(inherited) -fno-autolink diff --git a/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.release.xcconfig b/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.release.xcconfig index c05d1b4ec..cfaa15180 100644 --- a/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.release.xcconfig +++ b/dydx/Pods/Target Support Files/FirebaseCore/FirebaseCore.release.xcconfig @@ -2,7 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" GCC_C_LANGUAGE_STANDARD = c99 -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 Firebase_VERSION=11.1.0 +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 Firebase_VERSION=11.2.0 HEADER_SEARCH_PATHS = $(inherited) "${PODS_TARGET_SRCROOT}" LD_RUNPATH_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" OTHER_CFLAGS = $(inherited) -fno-autolink diff --git a/dydx/Pods/Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist b/dydx/Pods/Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist b/dydx/Pods/Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist b/dydx/Pods/Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist b/dydx/Pods/Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist b/dydx/Pods/Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCrashlytics/FirebaseCrashlytics-Info.plist b/dydx/Pods/Target Support Files/FirebaseCrashlytics/FirebaseCrashlytics-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseCrashlytics/FirebaseCrashlytics-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCrashlytics/FirebaseCrashlytics-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseCrashlytics/ResourceBundle-FirebaseCrashlytics_Privacy-FirebaseCrashlytics-Info.plist b/dydx/Pods/Target Support Files/FirebaseCrashlytics/ResourceBundle-FirebaseCrashlytics_Privacy-FirebaseCrashlytics-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseCrashlytics/ResourceBundle-FirebaseCrashlytics_Privacy-FirebaseCrashlytics-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseCrashlytics/ResourceBundle-FirebaseCrashlytics_Privacy-FirebaseCrashlytics-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist b/dydx/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist b/dydx/Pods/Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist b/dydx/Pods/Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist b/dydx/Pods/Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance-Info.plist b/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance-Info.plist +++ b/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.debug.xcconfig b/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.debug.xcconfig index fa8179eba..132d03554 100644 --- a/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.debug.xcconfig +++ b/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.debug.xcconfig @@ -2,7 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FirebasePerformance FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfigInterop" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSessions" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSharedSwift" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesSwift" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" GCC_C_LANGUAGE_STANDARD = c99 -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 FIRPerformance_LIB_VERSION=11.1.0 PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 FIRPerformance_LIB_VERSION=11.2.0 PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_TARGET_SRCROOT}" LD_RUNPATH_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfigInterop" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSessions" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSharedSwift" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesSwift" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" OTHER_LDFLAGS = $(inherited) -framework "CoreTelephony" -framework "FirebaseCore" -framework "FirebaseInstallations" -framework "FirebaseRemoteConfig" -framework "FirebaseSessions" -framework "Foundation" -framework "GoogleDataTransport" -framework "GoogleUtilities" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "nanopb" diff --git a/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.release.xcconfig b/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.release.xcconfig index fa8179eba..132d03554 100644 --- a/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.release.xcconfig +++ b/dydx/Pods/Target Support Files/FirebasePerformance/FirebasePerformance.release.xcconfig @@ -2,7 +2,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FirebasePerformance FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfigInterop" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSessions" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSharedSwift" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesSwift" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" GCC_C_LANGUAGE_STANDARD = c99 -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 FIRPerformance_LIB_VERSION=11.1.0 PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 FIRPerformance_LIB_VERSION=11.2.0 PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_TARGET_SRCROOT}" LD_RUNPATH_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfigInterop" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSessions" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSharedSwift" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesSwift" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" OTHER_LDFLAGS = $(inherited) -framework "CoreTelephony" -framework "FirebaseCore" -framework "FirebaseInstallations" -framework "FirebaseRemoteConfig" -framework "FirebaseSessions" -framework "Foundation" -framework "GoogleDataTransport" -framework "GoogleUtilities" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "nanopb" diff --git a/dydx/Pods/Target Support Files/FirebaseRemoteConfig/FirebaseRemoteConfig-Info.plist b/dydx/Pods/Target Support Files/FirebaseRemoteConfig/FirebaseRemoteConfig-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseRemoteConfig/FirebaseRemoteConfig-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseRemoteConfig/FirebaseRemoteConfig-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseRemoteConfig/ResourceBundle-FirebaseRemoteConfig_Privacy-FirebaseRemoteConfig-Info.plist b/dydx/Pods/Target Support Files/FirebaseRemoteConfig/ResourceBundle-FirebaseRemoteConfig_Privacy-FirebaseRemoteConfig-Info.plist index b1ec0473f..18ff00955 100644 --- a/dydx/Pods/Target Support Files/FirebaseRemoteConfig/ResourceBundle-FirebaseRemoteConfig_Privacy-FirebaseRemoteConfig-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseRemoteConfig/ResourceBundle-FirebaseRemoteConfig_Privacy-FirebaseRemoteConfig-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop-Info.plist b/dydx/Pods/Target Support Files/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseSessions/FirebaseSessions-Info.plist b/dydx/Pods/Target Support Files/FirebaseSessions/FirebaseSessions-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseSessions/FirebaseSessions-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseSessions/FirebaseSessions-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/Pods/Target Support Files/FirebaseSharedSwift/FirebaseSharedSwift-Info.plist b/dydx/Pods/Target Support Files/FirebaseSharedSwift/FirebaseSharedSwift-Info.plist index c9b5eb390..d0eeab3c1 100644 --- a/dydx/Pods/Target Support Files/FirebaseSharedSwift/FirebaseSharedSwift-Info.plist +++ b/dydx/Pods/Target Support Files/FirebaseSharedSwift/FirebaseSharedSwift-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 11.1.0 + 11.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved b/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved index 30adbe9ee..1601797ea 100644 --- a/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/dydx/dydx.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "3cd7346cace16cf660f9c22302c5ca6770335c67902f3fd155011356a9d43929", + "originHash" : "975d00e29efb8d2ca017c5e61df90418ac01f7d7143e85a3f9ddb4eb982154e4", "pins" : [ { "identity" : "bigint", @@ -37,6 +37,15 @@ "version" : "2.0.2" } }, + { + "identity" : "keyboardobserving", + "kind" : "remoteSourceControl", + "location" : "https://github.com/nickffox/KeyboardObserving", + "state" : { + "branch" : "master", + "revision" : "48134b5460435cc9d048223ad7560ee2e40f3d4a" + } + }, { "identity" : "percy-xcui-swift", "kind" : "remoteSourceControl", @@ -190,6 +199,15 @@ "version" : "9.0.9" } }, + { + "identity" : "swiftui-introspect", + "kind" : "remoteSourceControl", + "location" : "https://github.com/siteline/SwiftUI-Introspect.git", + "state" : { + "revision" : "121c146fe591b1320238d054ae35c81ffa45f45a", + "version" : "0.12.0" + } + }, { "identity" : "wallet-mobile-sdk", "kind" : "remoteSourceControl", diff --git a/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawConfirmationViewBuilder.swift b/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawConfirmationViewBuilder.swift index e93f52b9b..d1affc8a2 100644 --- a/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawConfirmationViewBuilder.swift +++ b/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawConfirmationViewBuilder.swift @@ -61,23 +61,23 @@ private class dydxVaultDepositWithdrawConfirmationViewPresenter: HostedViewPrese viewModel.cancelAction = { Router.shared?.navigate(to: RoutingRequest(path: "/action/dismiss"), animated: true, completion: nil) - } - - //TODO: replace + } + + // TODO: replace viewModel.elevatedSlippageAmount = 4.20 viewModel.requiresAcknowledgeHighSlippage = true - + self.viewModel = viewModel } - + override func start() { super.start() - - //TODO: replace with real hooks from abacus + + // TODO: replace with real hooks from abacus update() } - - //TODO: replace with real data from abacus + + // TODO: replace with real data from abacus func update() { let crossFreeCollateralReceiptItem = dydxReceiptChangeItemView(title: DataLocalizer.localize(path: "APP.GENERAL.CROSS_FREE_COLLATERAL"), value: AmountChangeModel(before: AmountTextModel(amount: 30.01), @@ -94,7 +94,7 @@ private class dydxVaultDepositWithdrawConfirmationViewPresenter: HostedViewPrese let crossMarginUsageItem = dydxReceiptChangeItemView(title: DataLocalizer.localize(path: "APP.GENERAL.CROSS_MARGIN_USAGE"), value: AmountChangeModel(before: AmountTextModel(amount: 30.01), after: AmountTextModel(amount: 30.02))) - + switch transferType { case .deposit: viewModel?.receiptItems = [crossFreeCollateralReceiptItem, crossMarginUsageItem, yourVaultBalanceReceiptItem] diff --git a/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawViewBuilder.swift b/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawViewBuilder.swift index 233410bd6..a0b36a9a4 100644 --- a/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawViewBuilder.swift +++ b/dydx/dydxPresenters/dydxPresenters/_v4/Vault/DepositsAndWithdrawals/dydxVaultDepositWithdrawViewBuilder.swift @@ -65,38 +65,38 @@ private class dydxVaultDepositWithdrawViewPresenter: HostedViewPresenter, dydxVaultViewBuilderPresenterProtocol { override init() { super.init() - + viewModel = dydxVaultViewModel() viewModel?.vaultChart = dydxVaultChartViewModel() - + let usdcToken = AbacusStateManager.shared.environment?.usdcTokenInfo?.denom AbacusStateManager.shared.state.accountBalance(of: usdcToken) .sink {[weak self] usdcBalance in @@ -55,7 +55,7 @@ private class dydxVaultViewBuilderPresenter: HostedViewPresenter Void)? public var cancelAction: (() -> Void)? public var elevatedSlippageAmount: Double? public var receiptItems: [dydxReceiptChangeItemView]? - + @Published public var transferType: VaultTransferType @Published public var requiresAcknowledgeHighSlippage: Bool = false - + @Published fileprivate var amount: Double? @Published fileprivate var hasAcknowledgedHighSlippage: Bool = false public init(transferType: VaultTransferType) { self.transferType = transferType - - + } - + public override func createView(parentStyle: ThemeStyle = ThemeStyle.defaultStyle, styleKey: String? = nil) -> PlatformView { - PlatformView(viewModel: self, parentStyle: parentStyle, styleKey: styleKey) { [weak self] style in + PlatformView(viewModel: self, parentStyle: parentStyle, styleKey: styleKey) { [weak self] _ in guard let self = self else { return AnyView(PlatformView.nilView) } return VaultDepositWithdrawConfirmationView(viewModel: self) .wrappedInAnyView() @@ -46,13 +45,13 @@ public class dydxVaultDepositWithdrawConfirmationViewModel: PlatformViewModel { } } -fileprivate struct VaultDepositWithdrawConfirmationView: View { +private struct VaultDepositWithdrawConfirmationView: View { @ObservedObject var viewModel: dydxVaultDepositWithdrawConfirmationViewModel - + var options = VaultTransferType.allCases - + var body: some View { - + VStack(spacing: 24) { titleRow transferVisualization @@ -70,7 +69,7 @@ fileprivate struct VaultDepositWithdrawConfirmationView: View { .themeColor(background: .layer3) .ignoresSafeArea(edges: [.bottom]) } - + private var titleRow: some View { HStack(spacing: 16) { backButton @@ -79,18 +78,18 @@ fileprivate struct VaultDepositWithdrawConfirmationView: View { } .padding(.horizontal, 8) } - + private var titleText: some View { Text(viewModel.transferType.confirmTransferText) .themeColor(foreground: .textPrimary) .themeFont(fontType: .plus, fontSize: .largest) } - + private var backButton: some View { ChevronBackButtonModel(onBackButtonTap: viewModel.cancelAction ?? {}) .createView() } - + private var transferVisualization: some View { return HStack(alignment: .center, spacing: 16) { generationTransferStep(title: viewModel.transferType.transferOriginTitleText, thumbnail: viewModel.transferType.transferOriginImage, subtitle: "placeholder") @@ -104,8 +103,7 @@ fileprivate struct VaultDepositWithdrawConfirmationView: View { .fixedSize(horizontal: false, vertical: true) } - - + private func generationTransferStep(title: String, thumbnail: Image?, subtitle: String) -> some View { VStack(spacing: 8) { Text(title) @@ -139,7 +137,7 @@ fileprivate struct VaultDepositWithdrawConfirmationView: View { .clipShape(.rect(cornerRadius: 10)) } } - + @ViewBuilder private var receipts: some View { if viewModel.receiptItems?.count ?? 0 > 0 { @@ -151,14 +149,14 @@ fileprivate struct VaultDepositWithdrawConfirmationView: View { .clipShape(.rect(cornerRadius: 10)) } } - + @ViewBuilder private var withdrawalSlippageInlineAlert: some View { if let elevatedSlippageAmount = viewModel.elevatedSlippageAmount { let withdrawalSlippageInlineAlertAttributedText = AttributedString(localizerPathKey: "APP.VAULTS.SLIPPAGE_WARNING", params: ["LINK": DataLocalizer.localize(path: "APP.VAULTS.VAULT_FAQS"), "AMOUNT": dydxFormatter.shared.percent(number: elevatedSlippageAmount, digits: 2) ?? "--"], - //TODO: Replace + // TODO: Replace hyperlinks: ["withdraw": "https://test.com", "APP.VAULTS.VAULT_FAQS": "https://purple.com"], foreground: .textPrimary) @@ -168,16 +166,16 @@ fileprivate struct VaultDepositWithdrawConfirmationView: View { .createView() } } - + @ViewBuilder private var checkboxRow: some View { if viewModel.requiresAcknowledgeHighSlippage { - dydxCheckboxView(isChecked: $viewModel.hasAcknowledgedHighSlippage, + dydxCheckboxView(isChecked: $viewModel.hasAcknowledgedHighSlippage, text: DataLocalizer.localize(path: "APP.VAULTS.SLIPPAGE_ACK", params: ["AMOUNT": dydxFormatter.shared.percent(number: viewModel.elevatedSlippageAmount, digits: 2) ?? "--"])) } } - + private var submitButton: some View { let content: Text let state: PlatformButtonState diff --git a/dydx/dydxViews/dydxViews/_v4/Vault/DepositAndWithdrawal/dydxVaultDepositWithdrawViewModel.swift b/dydx/dydxViews/dydxViews/_v4/Vault/DepositAndWithdrawal/dydxVaultDepositWithdrawViewModel.swift index 94b8e70bc..8515d6d43 100644 --- a/dydx/dydxViews/dydxViews/_v4/Vault/DepositAndWithdrawal/dydxVaultDepositWithdrawViewModel.swift +++ b/dydx/dydxViews/dydxViews/_v4/Vault/DepositAndWithdrawal/dydxVaultDepositWithdrawViewModel.swift @@ -15,27 +15,27 @@ public class dydxVaultDepositWithdrawViewModel: PlatformViewModel { case enabled case disabled } - + public let submitState: State public var submitAction: (() -> Void)? - + @Published public private(set) var numberFormatter = dydxNumberInputFormatter() - + @Published public fileprivate(set) var selectedTransferType: VaultTransferType @Published fileprivate var amount: Double? fileprivate var maxAmount: Double = 0 - + public var inputReceiptChangeItems: [dydxReceiptChangeItemView]? public var inputInlineAlert: InlineAlertViewModel? public var buttonReceiptChangeItems: [dydxReceiptChangeItemView]? - + public init(selectedTransferType: VaultTransferType, submitState: State) { self.selectedTransferType = selectedTransferType self.submitState = submitState } - + public override func createView(parentStyle: ThemeStyle = ThemeStyle.defaultStyle, styleKey: String? = nil) -> PlatformView { - PlatformView(viewModel: self, parentStyle: parentStyle, styleKey: styleKey) { [weak self] style in + PlatformView(viewModel: self, parentStyle: parentStyle, styleKey: styleKey) { [weak self] _ in guard let self = self else { return AnyView(PlatformView.nilView) } return VaultDepositWithdrawView(viewModel: self) .wrappedInAnyView() @@ -43,11 +43,11 @@ public class dydxVaultDepositWithdrawViewModel: PlatformViewModel { } } -fileprivate struct VaultDepositWithdrawView: View { +private struct VaultDepositWithdrawView: View { @ObservedObject var viewModel: dydxVaultDepositWithdrawViewModel - + var options = VaultTransferType.allCases - + private var radioButtonSelector: some View { RadioButtonGroup(selected: $viewModel.selectedTransferType, options: options, @@ -58,9 +58,9 @@ fileprivate struct VaultDepositWithdrawView: View { itemHeight: 44) .leftAligned() } - + var body: some View { - + VStack(spacing: 0) { radioButtonSelector Color.clear.frame(height: 24) @@ -83,7 +83,7 @@ fileprivate struct VaultDepositWithdrawView: View { PlatformView.hideKeyboard() } } - + private var inputArea: some View { VStack(spacing: 16) { dydxTitledNumberField(title: viewModel.selectedTransferType.inputFieldTitle, @@ -102,7 +102,7 @@ fileprivate struct VaultDepositWithdrawView: View { .themeColor(background: .layer2) .clipShape(.rect(cornerRadius: 10)) } - + private var submitButton: some View { let content: Text let state: PlatformButtonState @@ -121,7 +121,7 @@ fileprivate struct VaultDepositWithdrawView: View { return PlatformButtonViewModel(content: content.wrappedViewModel, state: state, action: viewModel.submitAction ?? {}) .createView() } - + private var buttonArea: some View { VStack(spacing: 16) { VStack(spacing: 8) { diff --git a/dydx/dydxViews/dydxViews/_v4/Vault/Landing/dydxVaultViewModel.swift b/dydx/dydxViews/dydxViews/_v4/Vault/Landing/dydxVaultViewModel.swift index 2fa855b1f..1a624d540 100644 --- a/dydx/dydxViews/dydxViews/_v4/Vault/Landing/dydxVaultViewModel.swift +++ b/dydx/dydxViews/dydxViews/_v4/Vault/Landing/dydxVaultViewModel.swift @@ -224,7 +224,7 @@ private struct dydxVaultView: View { } .themeColor(background: .layer2) } - + private var positionsColumnsHeader: some View { HStack(spacing: dydxVaultPositionViewModel.interSectionPadding) { Group { @@ -249,7 +249,7 @@ private struct dydxVaultView: View { } .padding(.horizontal, 16) } - + private var positionsList: some View { ForEach(viewModel.positions ?? [], id: \.id) { position in position.createView() @@ -259,7 +259,7 @@ private struct dydxVaultView: View { } .padding(.horizontal, 16) } - + // MARK: Floating Buttons @ViewBuilder private var withdrawButton: some View { @@ -268,7 +268,7 @@ private struct dydxVaultView: View { .themeFont(fontType: .plus, fontSize: .medium) .themeColor(foreground: .textPrimary) .wrappedViewModel - + PlatformButtonViewModel(content: content, type: .defaultType(), state: .secondary, @@ -276,7 +276,7 @@ private struct dydxVaultView: View { .createView() } } - + @ViewBuilder private var depositButton: some View { if let depositAction = viewModel.depositAction { @@ -284,7 +284,7 @@ private struct dydxVaultView: View { .themeFont(fontType: .plus, fontSize: .medium) .themeColor(foreground: .textPrimary) .wrappedViewModel - + PlatformButtonViewModel(content: content, type: .defaultType(), state: .primary, @@ -292,7 +292,7 @@ private struct dydxVaultView: View { .createView() } } - + private var buttonStack: some View { HStack(spacing: 12) { withdrawButton diff --git a/podspecs/Abacus.podspec b/podspecs/Abacus.podspec index 24d9330c0..2a683039f 100644 --- a/podspecs/Abacus.podspec +++ b/podspecs/Abacus.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'Abacus' -spec.version = '1.9.7' +spec.version = '1.10.2' spec.homepage = 'https://github.com/dydxprotocol/v4-abacus' spec.source = { :git => "git@github.com:dydxprotocol/v4-abacus.git", :tag => "v#{spec.version}" } spec.authors = '' From 6e746b9ea20eaa9243637e449c73c8e0bda4fcc5 Mon Sep 17 00:00:00 2001 From: Rui Date: Tue, 10 Sep 2024 13:40:57 -0700 Subject: [PATCH 2/4] Turn on static_typing as default --- dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift b/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift index eca826f11..69f1bb26f 100644 --- a/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift +++ b/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift @@ -30,7 +30,7 @@ public enum dydxBoolFeatureFlag: String, CaseIterable { case .showPredictionMarketsUI: return false case .abacus_static_typing: - return false + return true } } From a3aa2f8f4f077fb971a355617abb961707b97bfb Mon Sep 17 00:00:00 2001 From: Rui Date: Tue, 10 Sep 2024 17:40:37 -0700 Subject: [PATCH 3/4] WIP --- .../_Utils/dydxFeatureFlag.swift | 2 +- .../dydxMarketAssetListViewPresenter.swift | 79 ++++++++++++++++--- 2 files changed, 70 insertions(+), 11 deletions(-) diff --git a/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift b/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift index 69f1bb26f..a10a11f29 100644 --- a/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift +++ b/dydx/dydxFormatter/dydxFormatter/_Utils/dydxFeatureFlag.swift @@ -30,7 +30,7 @@ public enum dydxBoolFeatureFlag: String, CaseIterable { case .showPredictionMarketsUI: return false case .abacus_static_typing: - return true + return Installation.source == .debug } } diff --git a/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift b/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift index 0c51c10d2..601aaf7f6 100644 --- a/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift +++ b/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift @@ -231,16 +231,10 @@ struct FilterAction { dydxFavoriteStore().isFavorite(marketId: market.id) }), - FilterAction(type: .layer1, - content: .text(DataLocalizer.localize(path: "APP.GENERAL.LAYER_1")), - action: { market, assetMap in - assetMap[market.assetId]?.tags?.contains("Layer 1") ?? false - }), - - FilterAction(type: .defi, - content: .text(DataLocalizer.localize(path: "APP.GENERAL.DEFI")), - action: { market, assetMap in - assetMap[market.assetId]?.tags?.contains("Defi") ?? false + FilterAction(type: .new, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.RECENTLY_LISTED")), + action: { market, _ in + market.perpetual?.isNew ?? false }) ] if dydxBoolFeatureFlag.showPredictionMarketsUI.isEnabled { @@ -257,6 +251,64 @@ struct FilterAction { }) actions.insert(predictionMarketsAction, at: 2) } + actions.append(contentsOf: [ + FilterAction(type: .layer1, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.LAYER_1")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("Layer 1") ?? false + }), + + FilterAction(type: .layer2, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.LAYER_2")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("Layer 2") ?? false + }), + + FilterAction(type: .defi, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.DEFI")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("Defi") ?? false + }), + + FilterAction(type: .ai, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.AI")), + action: { market, assetMap in + if market.assetId == "RENDER" { + print(assetMap[market.assetId]?.tags?.first ?? "aa") + } + return assetMap[market.assetId]?.tags?.contains("AI") ?? false + }), + + FilterAction(type: .nft, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.NFT")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("NFT") ?? false + }), + + FilterAction(type: .gaming, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.GAMING")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("Gaming") ?? false + }), + + FilterAction(type: .meme, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.MEME")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("Meme") ?? false + }), + + FilterAction(type: .rwa, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.REAL_WORLD_ASSET_SHORT")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("RWA") ?? false + }), + + FilterAction(type: .ent, + content: .text(DataLocalizer.localize(path: "APP.GENERAL.ENTERTAINMENT")), + action: { market, assetMap in + assetMap[market.assetId]?.tags?.contains("ENT") ?? false + }) + ]) return actions } @@ -284,4 +336,11 @@ enum MarketFiltering { case layer1 case layer2 case defi + case new + case ai + case nft + case gaming + case meme + case rwa + case ent } From 3f02bbca83abf5c84b13bbca0c491cdffaf19197 Mon Sep 17 00:00:00 2001 From: Rui Date: Wed, 11 Sep 2024 13:03:02 -0700 Subject: [PATCH 4/4] Fix ordering --- .../Markets/Components/dydxMarketAssetListViewPresenter.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift b/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift index 601aaf7f6..1aa59b8d8 100644 --- a/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift +++ b/dydx/dydxPresenters/dydxPresenters/_v4/Markets/Components/dydxMarketAssetListViewPresenter.swift @@ -249,7 +249,7 @@ struct FilterAction { action: { market, assetMap in assetMap[market.assetId]?.tags?.contains("Prediction Market") ?? false }) - actions.insert(predictionMarketsAction, at: 2) + actions.append(predictionMarketsAction) } actions.append(contentsOf: [ FilterAction(type: .layer1,