From a0109b8c1b8ce3bb77933ba2b2e29fd679ca4ca5 Mon Sep 17 00:00:00 2001
From: Rui <102453770+ruixhuang@users.noreply.github.com>
Date: Wed, 11 Sep 2024 12:31:09 -0700
Subject: [PATCH] Bump Abacus (#244)
---
dydx/Podfile.lock | 104 +++++++-------
.../Sources/Amplitude/Amplitude.swift | 31 ++++-
.../Sources/Amplitude/Configuration.swift | 3 +
.../Sources/Amplitude/Constants.swift | 2 +-
.../Sources/Amplitude/ObjC/ObjCPlugin.swift | 2 +-
.../Sources/Amplitude/Sessions.swift | 3 +
.../Amplitude/Utilities/EventPipeline.swift | 87 +++++++-----
dydx/Pods/Local Podspecs/abacus.podspec.json | 6 +-
dydx/Pods/Manifest.lock | 104 +++++++-------
dydx/Pods/Pods.xcodeproj/project.pbxproj | 130 +++++++++---------
.../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 +-
47 files changed, 385 insertions(+), 321 deletions(-)
diff --git a/dydx/Podfile.lock b/dydx/Podfile.lock
index 8281c1f79..9f61ff496 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.3)
+ - AmplitudeSwift (1.9.2):
- 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: 8e4875792b01c8eb94543a351a5d6876d22062e0
+ AmplitudeSwift: 6c2c689f7dc83e6d9d90b7f53b93433c1436196a
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..077d1fc33 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) {
@@ -300,7 +304,6 @@ public class Amplitude {
} else {
sessionEvents = self.sessions.endCurrentSession()
}
- self.timeline.onSessionIdChanged(sessionId)
self.sessions.assignEventId(events: sessionEvents).forEach { e in
self.timeline.processEvent(event: e)
}
@@ -450,4 +453,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..1b7451fd7 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.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/ObjC/ObjCPlugin.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/ObjC/ObjCPlugin.swift
index 1d0d91652..4fca3f36d 100644
--- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/ObjC/ObjCPlugin.swift
+++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/ObjC/ObjCPlugin.swift
@@ -80,7 +80,7 @@ public class ObjCPlugin: NSObject {
public init(
type: PluginType,
execute: @escaping (ObjCBaseEvent) -> ObjCBaseEvent?,
- flush: @escaping() -> Void)
+ flush: @escaping () -> Void)
{
self.type = type
self.setup = nil
diff --git a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Sessions.swift b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Sessions.swift
index a73ea5a64..46fc1d1f5 100644
--- a/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Sessions.swift
+++ b/dydx/Pods/AmplitudeSwift/Sources/Amplitude/Sessions.swift
@@ -4,6 +4,7 @@ public class Sessions {
private let configuration: Configuration
private let storage: Storage
private let logger: (any Logger)?
+ private let timeline: Timeline
private var _sessionId: Int64 = -1
private(set) var sessionId: Int64 {
get { _sessionId }
@@ -14,6 +15,7 @@ public class Sessions {
} catch {
logger?.warn(message: "Can't write PREVIOUS_SESSION_ID to storage: \(error)")
}
+ timeline.onSessionIdChanged(_sessionId)
}
}
@@ -47,6 +49,7 @@ public class Sessions {
configuration = amplitude.configuration
storage = amplitude.storage
logger = amplitude.logger
+ timeline = amplitude.timeline
self._sessionId = amplitude.storage.read(key: .PREVIOUS_SESSION_ID) ?? -1
self._lastEventId = amplitude.storage.read(key: .LAST_EVENT_ID) ?? 0
self._lastEventTime = amplitude.storage.read(key: .LAST_EVENT_TIME) ?? -1
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..7d76b117b 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.3",
"homepage": "https://github.com/dydxprotocol/v4-abacus",
"source": {
"git": "git@github.com:dydxprotocol/v4-abacus.git",
- "tag": "v1.9.7"
+ "tag": "v1.10.3"
},
"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.3 $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..9f61ff496 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.3)
+ - AmplitudeSwift (1.9.2):
- 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: 8e4875792b01c8eb94543a351a5d6876d22062e0
+ AmplitudeSwift: 6c2c689f7dc83e6d9d90b7f53b93433c1436196a
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..688187f2e 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 = B4F18E871ED3F113491F42ED916FEC2C /* Build configuration list for PBXAggregateTarget "Abacus" */;
buildPhases = (
- 4951085D961F210A4281A2CFEEB423EC /* [CP-User] Build abacus */,
- F94894F8DE32E104ECD77EE7E44762A1 /* [CP] Copy dSYMs */,
+ C3F16F30D825CDD67CE3B145F7F0C8A9 /* [CP-User] Build abacus */,
+ 5A7E57A260DAC4507FD710564D8726CF /* [CP] Copy dSYMs */,
);
dependencies = (
);
@@ -24947,48 +24947,48 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 4951085D961F210A4281A2CFEEB423EC /* [CP-User] Build abacus */ = {
+ 5A7E57A260DAC4507FD710564D8726CF /* [CP] Copy dSYMs */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
- name = "[CP-User] Build abacus";
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms-input-files.xcfilelist",
+ );
+ name = "[CP] Copy dSYMs";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms-output-files.xcfilelist",
+ );
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 = "\"${PODS_ROOT}/Target Support Files/Abacus/Abacus-copy-dsyms.sh\"\n";
+ showEnvVarsInLog = 0;
};
- DB7C100E6D7A5CF954757DB8962D9B72 /* [CP] Copy XCFrameworks */ = {
+ C3F16F30D825CDD67CE3B145F7F0C8A9 /* [CP-User] Build abacus */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
- inputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/AppsFlyerFramework/AppsFlyerFramework-xcframeworks-input-files.xcfilelist",
- );
- name = "[CP] Copy XCFrameworks";
- outputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/AppsFlyerFramework/AppsFlyerFramework-xcframeworks-output-files.xcfilelist",
- );
+ name = "[CP-User] Build abacus";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/AppsFlyerFramework/AppsFlyerFramework-xcframeworks.sh\"\n";
- showEnvVarsInLog = 0;
+ 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.3 $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";
};
- F94894F8DE32E104ECD77EE7E44762A1 /* [CP] Copy dSYMs */ = {
+ DB7C100E6D7A5CF954757DB8962D9B72 /* [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/AppsFlyerFramework/AppsFlyerFramework-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/AppsFlyerFramework/AppsFlyerFramework-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/AppsFlyerFramework/AppsFlyerFramework-xcframeworks.sh\"\n";
showEnvVarsInLog = 0;
};
FFDD48E54DD558244332DE1F099D408D /* [CP] Copy XCFrameworks */ = {
@@ -35987,24 +35987,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 */;
@@ -37164,6 +37146,23 @@
};
name = Debug;
};
+ 78EC28C8124B2535D7BD6F373E775ACB /* 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;
+ };
7B7820CF1A2FBD8D59E3CF85F81D37C8 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9D4E6CF0A1A7F0B65DC52FDF225F01E3 /* Pods-iOS-dydxViews.release.xcconfig */;
@@ -38153,6 +38152,24 @@
};
name = Release;
};
+ 8FF420BF22998F15D065BBC8A2AD05A4 /* 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;
+ };
90AD26875DEEFBE90599E13461B3B2ED /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 083BC216DCA0FF40AE0113AAB1A37FA0 /* GoogleAppMeasurement.release.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 = (
@@ -43009,6 +43000,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ B4F18E871ED3F113491F42ED916FEC2C /* Build configuration list for PBXAggregateTarget "Abacus" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 78EC28C8124B2535D7BD6F373E775ACB /* Debug */,
+ 8FF420BF22998F15D065BBC8A2AD05A4 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
B731205F7F75AD0610A9C1E6AC983D63 /* Build configuration list for PBXNativeTarget "FirebaseInstallations-FirebaseInstallations_Privacy" */ = {
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..81ea1e864 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.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 160f16790..e7f2ef6cf 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.2
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..73fc4557d 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.3'
spec.homepage = 'https://github.com/dydxprotocol/v4-abacus'
spec.source = { :git => "git@github.com:dydxprotocol/v4-abacus.git", :tag => "v#{spec.version}" }
spec.authors = ''