diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000000..19882290cbe
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,40 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "android",
+ "request": "launch",
+ "name": "Launch App",
+ "preLaunchTask": "run build",
+ "appSrcRoot": "${workspaceRoot}/android/app/src/main",
+ "apkFile": "${workspaceRoot}/android/app/build/outputs/apk/debug/app-debug.apk",
+ "adbSocket": "localhost:5037",
+ "autoStartADB": true,
+ "staleBuild": "warn",
+ "targetDevice": "",
+ "manifestFile": "${workspaceRoot}/android/app/src/main/AndroidManifest.xml",
+ "pmInstallArgs": ["-r"],
+ "launchActivity": ".MainActivity",
+ "postLaunchPause": 1000,
+ "trace": false
+ },
+ {
+ "type": "android",
+ "request": "launch",
+ "name": "Sync gradle files",
+ "preLaunchTask": "run sync"
+ },
+ {
+ "type": "android",
+ "request": "launch",
+ "name": "Gradle clean",
+ "preLaunchTask": "run clean"
+ },
+ {
+ "type": "android",
+ "request": "launch",
+ "name": "Gradle invalidate",
+ "preLaunchTask": "run invalidate"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000000..4f4c6f3528c
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,15 @@
+{
+ "i18n-ally.localesPaths": [
+ "src/languages",
+ "ios/Pods/Flipper-Folly/folly/lang",
+ "ios/Pods/Flipper-Boost-iOSX/boost/locale",
+ "ios/Pods/RCT-Folly/folly/lang",
+ "ios/Pods/boost/boost/locale",
+ "ios/Pods/Flipper-Boost-iOSX/boost/predef/language",
+ "ios/Pods/boost/boost/predef/language",
+ "ios/Pods/Headers/Private/Flipper-Folly/folly/lang",
+ "ios/Pods/Headers/Private/RCT-Folly/folly/lang",
+ "ios/Pods/Headers/Public/Flipper-Folly/folly/lang",
+ "ios/Pods/Headers/Public/RCT-Folly/folly/lang"
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 00000000000..7cf28bc4f0e
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,77 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "run build",
+ "type": "shell",
+ "command": "cd ${workspaceFolder}/android && ./gradlew assembleDebug",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": false,
+ "panel": "shared",
+ "showReuseMessage": true,
+ "clear": false
+ },
+ "problemMatcher": [],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ },
+ {
+ "label": "run clean",
+ "type": "shell",
+ "command": "cd ${workspaceFolder}/android && ./gradlew clean",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": false,
+ "panel": "shared",
+ "showReuseMessage": true,
+ "clear": false
+ },
+ "problemMatcher": [],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ },
+ {
+ "label": "run sync",
+ "type": "shell",
+ "command": "cd ${workspaceFolder}/android && ./gradlew --refresh-dependencies",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": false,
+ "panel": "shared",
+ "showReuseMessage": true,
+ "clear": false
+ },
+ "problemMatcher": [],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ },
+ {
+ "label": "run invalidate",
+ "type": "shell",
+ "command": " rm -rf ~/.gradle/caches && rm -rf ~/.gradle && cd ${workspaceFolder}/android && ./gradlew --stop",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": false,
+ "panel": "shared",
+ "showReuseMessage": true,
+ "clear": false
+ },
+ "problemMatcher": [],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ }
+ ]
+}
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 3ea90ae5e80..ed21402f3ca 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -247,11 +247,6 @@
-
-
-
-
-
diff --git a/android/app/src/main/java/me/rainbow/MainActivity.java b/android/app/src/main/java/me/rainbow/MainActivity.java
index 6a328e75a0e..f1369e155cb 100644
--- a/android/app/src/main/java/me/rainbow/MainActivity.java
+++ b/android/app/src/main/java/me/rainbow/MainActivity.java
@@ -10,7 +10,6 @@
import me.rainbow.NativeModules.RNBackHandler.RNBackHandlerPackage;
import me.rainbow.NativeModules.Internals.*;
import android.webkit.WebView;
-import com.facebook.react.ReactActivityDelegate;
import com.zoontek.rnbootsplash.RNBootSplash;
import android.content.Intent;
@@ -19,7 +18,7 @@ public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
+ super.onCreate(null);
WebView.setWebContentsDebuggingEnabled(false);
}
diff --git a/android/build.gradle b/android/build.gradle
index 29cc1a364d1..e51f7463603 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -6,7 +6,7 @@ buildscript {
ext {
buildToolsVersion = "33.0.0"
- minSdkVersion = 30
+ minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 33
ndkVersion = "23.1.7779620"
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 6b5f02ef956..2816d1413d2 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -25,6 +25,11 @@ PODS:
- React-Core (= 0.72.3)
- React-jsi (= 0.72.3)
- ReactCommon/turbomodule/core (= 0.72.3)
+ - Firebase (10.12.0):
+ - Firebase/Core (= 10.12.0)
+ - Firebase/Core (10.12.0):
+ - Firebase/CoreOnly
+ - FirebaseAnalytics (~> 10.12.0)
- Firebase/CoreOnly (10.12.0):
- FirebaseCore (= 10.12.0)
- Firebase/Crashlytics (10.12.0):
@@ -38,6 +43,24 @@ PODS:
- FirebaseRemoteConfig (~> 10.12.0)
- FirebaseABTesting (10.13.0):
- FirebaseCore (~> 10.0)
+ - FirebaseAnalytics (10.12.0):
+ - FirebaseAnalytics/AdIdSupport (= 10.12.0)
+ - FirebaseCore (~> 10.0)
+ - FirebaseInstallations (~> 10.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
+ - GoogleUtilities/MethodSwizzler (~> 7.11)
+ - GoogleUtilities/Network (~> 7.11)
+ - "GoogleUtilities/NSData+zlib (~> 7.11)"
+ - nanopb (< 2.30910.0, >= 2.30908.0)
+ - FirebaseAnalytics/AdIdSupport (10.12.0):
+ - FirebaseCore (~> 10.0)
+ - FirebaseInstallations (~> 10.0)
+ - GoogleAppMeasurement (= 10.12.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
+ - GoogleUtilities/MethodSwizzler (~> 7.11)
+ - GoogleUtilities/Network (~> 7.11)
+ - "GoogleUtilities/NSData+zlib (~> 7.11)"
+ - nanopb (< 2.30910.0, >= 2.30908.0)
- FirebaseCore (10.12.0):
- FirebaseCoreInternal (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
@@ -83,20 +106,112 @@ PODS:
- nanopb (< 2.30910.0, >= 2.30908.0)
- PromisesSwift (~> 2.1)
- FLAnimatedImage (1.0.17)
+ - Flipper (0.182.0):
+ - Flipper-Folly (~> 2.6)
+ - Flipper-Boost-iOSX (1.76.0.1.11)
+ - Flipper-DoubleConversion (3.2.0.1)
+ - Flipper-Fmt (7.1.7)
+ - Flipper-Folly (2.6.10):
+ - Flipper-Boost-iOSX
+ - Flipper-DoubleConversion
+ - Flipper-Fmt (= 7.1.7)
+ - Flipper-Glog
+ - libevent (~> 2.1.12)
+ - OpenSSL-Universal (= 1.1.1100)
+ - Flipper-Glog (0.5.0.5)
+ - Flipper-PeerTalk (0.0.4)
+ - FlipperKit (0.182.0):
+ - FlipperKit/Core (= 0.182.0)
+ - FlipperKit/Core (0.182.0):
+ - Flipper (~> 0.182.0)
+ - FlipperKit/CppBridge
+ - FlipperKit/FBCxxFollyDynamicConvert
+ - FlipperKit/FBDefines
+ - FlipperKit/FKPortForwarding
+ - SocketRocket (~> 0.6.0)
+ - FlipperKit/CppBridge (0.182.0):
+ - Flipper (~> 0.182.0)
+ - FlipperKit/FBCxxFollyDynamicConvert (0.182.0):
+ - Flipper-Folly (~> 2.6)
+ - FlipperKit/FBDefines (0.182.0)
+ - FlipperKit/FKPortForwarding (0.182.0):
+ - CocoaAsyncSocket (~> 7.6)
+ - Flipper-PeerTalk (~> 0.0.4)
+ - FlipperKit/FlipperKitHighlightOverlay (0.182.0)
+ - FlipperKit/FlipperKitLayoutHelpers (0.182.0):
+ - FlipperKit/Core
+ - FlipperKit/FlipperKitHighlightOverlay
+ - FlipperKit/FlipperKitLayoutTextSearchable
+ - FlipperKit/FlipperKitLayoutIOSDescriptors (0.182.0):
+ - FlipperKit/Core
+ - FlipperKit/FlipperKitHighlightOverlay
+ - FlipperKit/FlipperKitLayoutHelpers
+ - YogaKit (~> 1.18)
+ - FlipperKit/FlipperKitLayoutPlugin (0.182.0):
+ - FlipperKit/Core
+ - FlipperKit/FlipperKitHighlightOverlay
+ - FlipperKit/FlipperKitLayoutHelpers
+ - FlipperKit/FlipperKitLayoutIOSDescriptors
+ - FlipperKit/FlipperKitLayoutTextSearchable
+ - YogaKit (~> 1.18)
+ - FlipperKit/FlipperKitLayoutTextSearchable (0.182.0)
+ - FlipperKit/FlipperKitNetworkPlugin (0.182.0):
+ - FlipperKit/Core
+ - FlipperKit/FlipperKitReactPlugin (0.182.0):
+ - FlipperKit/Core
+ - FlipperKit/FlipperKitUserDefaultsPlugin (0.182.0):
+ - FlipperKit/Core
+ - FlipperKit/SKIOSNetworkPlugin (0.182.0):
+ - FlipperKit/Core
+ - FlipperKit/FlipperKitNetworkPlugin
- fmt (6.2.1)
- glog (0.3.5)
+ - GoogleAppMeasurement (10.12.0):
+ - GoogleAppMeasurement/AdIdSupport (= 10.12.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
+ - GoogleUtilities/MethodSwizzler (~> 7.11)
+ - GoogleUtilities/Network (~> 7.11)
+ - "GoogleUtilities/NSData+zlib (~> 7.11)"
+ - nanopb (< 2.30910.0, >= 2.30908.0)
+ - GoogleAppMeasurement/AdIdSupport (10.12.0):
+ - GoogleAppMeasurement/WithoutAdIdSupport (= 10.12.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
+ - GoogleUtilities/MethodSwizzler (~> 7.11)
+ - GoogleUtilities/Network (~> 7.11)
+ - "GoogleUtilities/NSData+zlib (~> 7.11)"
+ - nanopb (< 2.30910.0, >= 2.30908.0)
+ - GoogleAppMeasurement/WithoutAdIdSupport (10.12.0):
+ - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
+ - GoogleUtilities/MethodSwizzler (~> 7.11)
+ - GoogleUtilities/Network (~> 7.11)
+ - "GoogleUtilities/NSData+zlib (~> 7.11)"
+ - nanopb (< 2.30910.0, >= 2.30908.0)
- GoogleDataTransport (9.2.5):
- GoogleUtilities/Environment (~> 7.7)
- nanopb (< 2.30910.0, >= 2.30908.0)
- PromisesObjC (< 3.0, >= 1.2)
+ - GoogleUtilities (7.11.5):
+ - GoogleUtilities/AppDelegateSwizzler (= 7.11.5)
+ - GoogleUtilities/Environment (= 7.11.5)
+ - GoogleUtilities/ISASwizzler (= 7.11.5)
+ - GoogleUtilities/Logger (= 7.11.5)
+ - GoogleUtilities/MethodSwizzler (= 7.11.5)
+ - GoogleUtilities/Network (= 7.11.5)
+ - "GoogleUtilities/NSData+zlib (= 7.11.5)"
+ - GoogleUtilities/Reachability (= 7.11.5)
+ - GoogleUtilities/SwizzlerTestHelpers (= 7.11.5)
+ - GoogleUtilities/UserDefaults (= 7.11.5)
- GoogleUtilities/AppDelegateSwizzler (7.11.5):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (7.11.5):
- PromisesObjC (< 3.0, >= 1.2)
+ - GoogleUtilities/ISASwizzler (7.11.5)
- GoogleUtilities/Logger (7.11.5):
- GoogleUtilities/Environment
+ - GoogleUtilities/MethodSwizzler (7.11.5):
+ - GoogleUtilities/Logger
- GoogleUtilities/Network (7.11.5):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
@@ -104,6 +219,8 @@ PODS:
- "GoogleUtilities/NSData+zlib (7.11.5)"
- GoogleUtilities/Reachability (7.11.5):
- GoogleUtilities/Logger
+ - GoogleUtilities/SwizzlerTestHelpers (7.11.5):
+ - GoogleUtilities/MethodSwizzler
- GoogleUtilities/UserDefaults (7.11.5):
- GoogleUtilities/Logger
- hermes-engine (0.72.3):
@@ -137,6 +254,7 @@ PODS:
- nanopb/encode (= 2.30909.0)
- nanopb/decode (2.30909.0)
- nanopb/encode (2.30909.0)
+ - OpenSSL-Universal (1.1.1100)
- PanModal (1.2.7)
- Permission-Camera (3.6.1):
- RNPermissions
@@ -455,7 +573,7 @@ PODS:
- react-native-ble-plx (2.0.3):
- MultiplatformBleAdapter (= 0.1.9)
- React-Core
- - react-native-blur (4.3.0):
+ - react-native-blur (4.3.2):
- React-Core
- react-native-branch (5.3.1):
- Branch (= 1.40.2)
@@ -788,6 +906,8 @@ PODS:
- ToolTipMenu (5.2.1):
- React
- Yoga (1.14.0)
+ - YogaKit (1.18.1):
+ - Yoga (~> 1.14)
DEPENDENCIES:
- appcenter-core (from `../node_modules/appcenter`)
@@ -797,12 +917,40 @@ DEPENDENCIES:
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
+ - Firebase
- Firebase/Messaging (~> 10.12.0)
+ - FirebaseCore
+ - FirebaseCoreExtension
+ - FirebaseInstallations
- FLAnimatedImage
+ - Flipper (= 0.182.0)
+ - Flipper-Boost-iOSX (= 1.76.0.1.11)
+ - Flipper-DoubleConversion (= 3.2.0.1)
+ - Flipper-Fmt (= 7.1.7)
+ - Flipper-Folly (= 2.6.10)
+ - Flipper-Glog (= 0.5.0.5)
+ - Flipper-PeerTalk (= 0.0.4)
+ - FlipperKit (= 0.182.0)
+ - FlipperKit/Core (= 0.182.0)
+ - FlipperKit/CppBridge (= 0.182.0)
+ - FlipperKit/FBCxxFollyDynamicConvert (= 0.182.0)
+ - FlipperKit/FBDefines (= 0.182.0)
+ - FlipperKit/FKPortForwarding (= 0.182.0)
+ - FlipperKit/FlipperKitHighlightOverlay (= 0.182.0)
+ - FlipperKit/FlipperKitLayoutPlugin (= 0.182.0)
+ - FlipperKit/FlipperKitLayoutTextSearchable (= 0.182.0)
+ - FlipperKit/FlipperKitNetworkPlugin (= 0.182.0)
+ - FlipperKit/FlipperKitReactPlugin (= 0.182.0)
+ - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0)
+ - FlipperKit/SKIOSNetworkPlugin (= 0.182.0)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
+ - GoogleDataTransport
+ - GoogleUtilities
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- libevent (~> 2.1.12)
- libwebp
+ - nanopb
+ - OpenSSL-Universal (= 1.1.1100)
- PanModal (from `https://github.com/rainbow-me/PanModal`, commit `ab97d74279ba28c2891b47a5dc767ed4dd7cf994`)
- Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera`)
- Permission-FaceID (from `../node_modules/react-native-permissions/ios/FaceID`)
@@ -816,6 +964,7 @@ DEPENDENCIES:
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Codegen (from `build/generated/ios`)
- React-Core (from `../node_modules/react-native/`)
+ - React-Core/DevSupport (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
@@ -923,6 +1072,7 @@ SPEC REPOS:
- CocoaAsyncSocket
- Firebase
- FirebaseABTesting
+ - FirebaseAnalytics
- FirebaseCore
- FirebaseCoreExtension
- FirebaseCoreInternal
@@ -932,7 +1082,16 @@ SPEC REPOS:
- FirebaseRemoteConfig
- FirebaseSessions
- FLAnimatedImage
+ - Flipper
+ - Flipper-Boost-iOSX
+ - Flipper-DoubleConversion
+ - Flipper-Fmt
+ - Flipper-Folly
+ - Flipper-Glog
+ - Flipper-PeerTalk
+ - FlipperKit
- fmt
+ - GoogleAppMeasurement
- GoogleDataTransport
- GoogleUtilities
- JWT
@@ -944,6 +1103,7 @@ SPEC REPOS:
- MMKVCore
- MultiplatformBleAdapter
- nanopb
+ - OpenSSL-Universal
- Plaid
- PromisesObjC
- PromisesSwift
@@ -955,6 +1115,7 @@ SPEC REPOS:
- SSZipArchive
- swift-vibrant
- TOCropViewController
+ - YogaKit
EXTERNAL SOURCES:
appcenter-core:
@@ -1210,6 +1371,7 @@ SPEC CHECKSUMS:
FBReactNativeSpec: c6bd9e179757b3c0ecf815864fae8032377903ef
Firebase: 07150e75d142fb9399f6777fa56a187b17f833a0
FirebaseABTesting: 86ac5a4fc749088bb4d55a1cbfb2c4cb42c6d5de
+ FirebaseAnalytics: 0270389efbe3022b54ec4588862dabec3477ee98
FirebaseCore: f86a1394906b97ac445ae49c92552a9425831bed
FirebaseCoreExtension: 0ce5ac36042001cfa233ce7bfa28e5c313cf80f4
FirebaseCoreInternal: b342e37cd4f5b4454ec34308f073420e7920858e
@@ -1219,8 +1381,17 @@ SPEC CHECKSUMS:
FirebaseRemoteConfig: bc7f260e6596956fafbb532443c19bd3c30f5258
FirebaseSessions: 991fb4c20b3505eef125f7cbfa20a5b5b189c2a4
FLAnimatedImage: bbf914596368867157cc71b38a8ec834b3eeb32b
+ Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818
+ Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
+ Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30
+ Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b
+ Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3
+ Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446
+ Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
+ FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
+ GoogleAppMeasurement: 2d800fab85e7848b1e66a6f8ce5bca06c5aad892
GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2
GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084
hermes-engine: 10fbd3f62405c41ea07e71973ea61e1878d07322
@@ -1233,6 +1404,7 @@ SPEC CHECKSUMS:
MMKVCore: 9bb7440b170181ac5b81f542ac258103542e693d
MultiplatformBleAdapter: 5a6a897b006764392f9cef785e4360f54fb9477d
nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
+ OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
PanModal: 421fe72d4af5b7e9016aaa3b4db94a2fb71756d3
Permission-Camera: bf6791b17c7f614b6826019fcfdcc286d3a107f6
Permission-FaceID: e70223280292a1a5e4b8ad943b70cd9229a7d2c3
@@ -1258,7 +1430,7 @@ SPEC CHECKSUMS:
React-logger: c5b527272d5f22eaa09bb3c3a690fee8f237ae95
react-native-aes-crypto: d7e87fd02cee7285983c00957a34063dfc4c94b3
react-native-ble-plx: f10240444452dfb2d2a13a0e4f58d7783e92d76e
- react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
+ react-native-blur: cfdad7b3c01d725ab62a8a729f42ea463998afa2
react-native-branch: 960c897d57b9f4912b08b9d06a25284b6e9879da
react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f
react-native-cameraroll: aff50ec1df9d054626dceca9336e6644e153d32f
@@ -1350,7 +1522,8 @@ SPEC CHECKSUMS:
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
ToolTipMenu: 8ac61aded0fbc4acfe7e84a7d0c9479d15a9a382
Yoga: 8796b55dba14d7004f980b54bcc9833ee45b28ce
+ YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
-PODFILE CHECKSUM: 272827e2f60f14ecd666f7f7e84caf937c008c8c
+PODFILE CHECKSUM: fbcce4e8b00962de3fda1a95b6da41d278f831f4
COCOAPODS: 1.12.1
diff --git a/ios/Rainbow.xcodeproj/project.pbxproj b/ios/Rainbow.xcodeproj/project.pbxproj
index b27763f8751..b16862fffd1 100644
--- a/ios/Rainbow.xcodeproj/project.pbxproj
+++ b/ios/Rainbow.xcodeproj/project.pbxproj
@@ -26,9 +26,8 @@
15E531D5242B28EF00797B89 /* UIImageViewWithPersistentAnimations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15E531D4242B28EF00797B89 /* UIImageViewWithPersistentAnimations.swift */; };
15E531DA242DAB7100797B89 /* NotificationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 15E531D9242DAB7100797B89 /* NotificationManager.m */; };
24979E8920F84250007EB0DA /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 24979E7720F84004007EB0DA /* GoogleService-Info.plist */; };
- 2B9ECA29ABC9C26E39B56774 /* libPods-Rainbow.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 755605E7F15BF8E0647F7C34 /* libPods-Rainbow.a */; };
4D098C2F2811A9A5006A801A /* RNStartTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D098C2E2811A9A5006A801A /* RNStartTime.m */; };
- 51FB6FD4B2BDBF81D7EDA3E2 /* libPods-PriceWidgetExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4362A3AC51C2BC85B04DD928 /* libPods-PriceWidgetExtension.a */; };
+ 59B13662037A0AA518ED788A /* libPods-PriceWidgetExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B620BFF9CCFEF5289233B3A /* libPods-PriceWidgetExtension.a */; };
6630540924A38A1900E5B030 /* RainbowText.m in Sources */ = {isa = PBXBuildFile; fileRef = 6630540824A38A1900E5B030 /* RainbowText.m */; };
6635730624939991006ACFA6 /* SafeStoreReview.m in Sources */ = {isa = PBXBuildFile; fileRef = 6635730524939991006ACFA6 /* SafeStoreReview.m */; };
6655FFB425BB2B0700642961 /* ThemeModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 6655FFB325BB2B0700642961 /* ThemeModule.m */; };
@@ -37,6 +36,7 @@
66A1FEB624AB641100C3F539 /* RNCMScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 66A1FEB324AB641100C3F539 /* RNCMScreen.m */; };
66A1FEBC24ACBBE600C3F539 /* RNCMPortal.m in Sources */ = {isa = PBXBuildFile; fileRef = 66A1FEBB24ACBBE600C3F539 /* RNCMPortal.m */; };
66A28EB024CAF1B500410A88 /* TestFlight.m in Sources */ = {isa = PBXBuildFile; fileRef = 66A28EAF24CAF1B500410A88 /* TestFlight.m */; };
+ 9D12B594B4E7147A95CFDFDD /* libPods-SelectTokenIntent.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6ED73D587E5DF791B446F106 /* libPods-SelectTokenIntent.a */; };
A4277D9F23CBD1910042BAF4 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4277D9E23CBD1910042BAF4 /* Extensions.swift */; };
A4277DA323CFE85F0042BAF4 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4277DA223CFE85F0042BAF4 /* Theme.swift */; };
A4D04BA923D12F99008C1DEC /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4D04BA823D12F99008C1DEC /* Button.swift */; };
@@ -65,7 +65,6 @@
B5D7F2F029E8D41E003D6A54 /* finiliar@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B5D7F2EE29E8D41D003D6A54 /* finiliar@3x.png */; };
B5D7F2F129E8D41E003D6A54 /* finiliar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B5D7F2EF29E8D41E003D6A54 /* finiliar@2x.png */; };
C04D10F025AFC8C1003BEF7A /* Extras.json in Resources */ = {isa = PBXBuildFile; fileRef = C04D10EF25AFC8C1003BEF7A /* Extras.json */; };
- C06E777E5410BF8DC0EE8B27 /* libPods-SelectTokenIntent.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E10CCBA658F04DC3703DD73F /* libPods-SelectTokenIntent.a */; };
C1038325273C2D0C00B18210 /* PriceWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C16DCF75272BA7AA00FF5C78 /* PriceWidgetView.swift */; };
C1038337273C5C4200B18210 /* PriceWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C16DCF62272BA6EF00FF5C78 /* PriceWidget.swift */; };
C11640E8274DC10B00C9120A /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C11640E7274DC10B00C9120A /* UIColor.swift */; };
@@ -126,8 +125,9 @@
C1EB01302731B68400830E70 /* TokenDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1EB012E2731B68400830E70 /* TokenDetails.swift */; };
C1EB01312731B68400830E70 /* TokenDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1EB012E2731B68400830E70 /* TokenDetails.swift */; };
C72F456C99A646399192517D /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 98AED33BAB4247CEBEF8464D /* libz.tbd */; };
- D6EF4FDDD6463587BF5E94D8 /* libPods-ImageNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F9CAED012A4301BE7026BA93 /* libPods-ImageNotification.a */; };
ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED2971642150620600B7C4FE /* JavaScriptCore.framework */; };
+ F87576A1062A472F285D268F /* libPods-Rainbow.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4FFFC395233702CB5FA89306 /* libPods-Rainbow.a */; };
+ FF37401FFB452A2FDEF9B7D0 /* libPods-ImageNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43ABA5A5037B6DDFD38BF482 /* libPods-ImageNotification.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -179,7 +179,8 @@
0299CE7A2886202800B5C7E7 /* NotificationService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationService.m; sourceTree = ""; };
0299CE7C2886202800B5C7E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0299CE852886246C00B5C7E7 /* libFirebaseCore.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libFirebaseCore.a; sourceTree = BUILT_PRODUCTS_DIR; };
- 073AD27F6E834317E01A28A8 /* Pods-ImageNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.release.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"; sourceTree = ""; };
+ 07D9081F1A3D141B5743AD6A /* Pods-Rainbow.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.staging.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.staging.xcconfig"; sourceTree = ""; };
+ 0B0248D71FA580AB3BB42C98 /* Pods-Rainbow.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.release.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.release.xcconfig"; sourceTree = ""; };
13B07F961A680F5B00A75B9A /* Rainbow.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rainbow.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Rainbow/AppDelegate.h; sourceTree = ""; };
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = Rainbow/AppDelegate.mm; sourceTree = ""; };
@@ -192,6 +193,7 @@
157155042418734C009B698B /* RainbowDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = RainbowDebug.entitlements; path = Rainbow/RainbowDebug.entitlements; sourceTree = ""; };
15C3987D2880EDFF006033AC /* og@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "og@3x.png"; sourceTree = ""; };
15C3987F2880EDFF006033AC /* og@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "og@2x.png"; sourceTree = ""; };
+ 15CEBD3ECDE53A106F220FED /* Pods-ImageNotification.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.localrelease.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.localrelease.xcconfig"; sourceTree = ""; };
15CF49BA2889AF7C005F92C9 /* optimism@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "optimism@3x.png"; sourceTree = ""; };
15CF49BB2889AF7C005F92C9 /* optimism@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "optimism@2x.png"; sourceTree = ""; };
15CF49BE2889AFAD005F92C9 /* pixel@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pixel@3x.png"; sourceTree = ""; };
@@ -206,6 +208,8 @@
15E531D4242B28EF00797B89 /* UIImageViewWithPersistentAnimations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIImageViewWithPersistentAnimations.swift; sourceTree = ""; };
15E531D8242DAB7100797B89 /* NotificationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificationManager.h; sourceTree = ""; };
15E531D9242DAB7100797B89 /* NotificationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationManager.m; sourceTree = ""; };
+ 1AD507C5F4494CFF7A0D59FC /* Pods-Rainbow.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.debug.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.debug.xcconfig"; sourceTree = ""; };
+ 21B4B425CF0D268DD0B9A0D9 /* Pods-PriceWidgetExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.debug.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.debug.xcconfig"; sourceTree = ""; };
24979E3620F84003007EB0DA /* Protobuf.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Protobuf.framework; path = Frameworks/Protobuf.framework; sourceTree = ""; };
24979E7420F84004007EB0DA /* FirebaseAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FirebaseAnalytics.framework; path = Frameworks/FirebaseAnalytics.framework; sourceTree = ""; };
24979E7520F84004007EB0DA /* FirebaseCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FirebaseCore.framework; path = Frameworks/FirebaseCore.framework; sourceTree = ""; };
@@ -218,12 +222,15 @@
24979E7C20F84004007EB0DA /* FirebaseCoreDiagnostics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FirebaseCoreDiagnostics.framework; path = Frameworks/FirebaseCoreDiagnostics.framework; sourceTree = ""; };
24979E7D20F84005007EB0DA /* module.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = Frameworks/module.modulemap; sourceTree = ""; };
24979E7E20F84005007EB0DA /* nanopb.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = nanopb.framework; path = Frameworks/nanopb.framework; sourceTree = ""; };
+ 2CC62F7848EAF1F136AF6A72 /* Pods-ImageNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.release.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"; sourceTree = ""; };
3C379D5D20FD1F92009AF81F /* Rainbow.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Rainbow.entitlements; path = Rainbow/Rainbow.entitlements; sourceTree = ""; };
3CBE29CB2381E43800BE05AC /* Rainbow-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Rainbow-Bridging-Header.h"; sourceTree = ""; };
- 4362A3AC51C2BC85B04DD928 /* libPods-PriceWidgetExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PriceWidgetExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- 4CCC3418515D59BBFACC31DB /* Pods-ImageNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.debug.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"; sourceTree = ""; };
+ 43ABA5A5037B6DDFD38BF482 /* libPods-ImageNotification.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ImageNotification.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 4BE7E8AB35ABF5C8C242FEFB /* Pods-PriceWidgetExtension.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.staging.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.staging.xcconfig"; sourceTree = ""; };
4D098C2D2811A979006A801A /* RNStartTime.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNStartTime.h; sourceTree = ""; };
4D098C2E2811A9A5006A801A /* RNStartTime.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNStartTime.m; sourceTree = ""; };
+ 4FFFC395233702CB5FA89306 /* libPods-Rainbow.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Rainbow.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 62BCEEEA4A27D23A2B9F5A29 /* Pods-SelectTokenIntent.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.release.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.release.xcconfig"; sourceTree = ""; };
6630540824A38A1900E5B030 /* RainbowText.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RainbowText.m; sourceTree = ""; };
6635730524939991006ACFA6 /* SafeStoreReview.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SafeStoreReview.m; sourceTree = ""; };
664612EC2748489B00B43F5A /* PriceWidgetExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = PriceWidgetExtension.entitlements; sourceTree = ""; };
@@ -239,18 +246,15 @@
66A1FEBB24ACBBE600C3F539 /* RNCMPortal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCMPortal.m; path = "../src/react-native-cool-modals/ios/RNCMPortal.m"; sourceTree = ""; };
66A28EAF24CAF1B500410A88 /* TestFlight.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestFlight.m; sourceTree = ""; };
66A29CCA2511074500481F4A /* ReaHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaHeader.h; sourceTree = SOURCE_ROOT; };
- 692A2F5C7BC3F27F0CF05FC1 /* Pods-SelectTokenIntent.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.release.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.release.xcconfig"; sourceTree = ""; };
- 755605E7F15BF8E0647F7C34 /* libPods-Rainbow.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Rainbow.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- 77871E05D457C95A1D5A936D /* Pods-SelectTokenIntent.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.staging.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.staging.xcconfig"; sourceTree = ""; };
- 84ABDA746161B5D3ABA2BAA1 /* Pods-PriceWidgetExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.release.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.release.xcconfig"; sourceTree = ""; };
- 8808D0FED47E821FDD338F93 /* Pods-Rainbow.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.localrelease.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.localrelease.xcconfig"; sourceTree = ""; };
- 9049EA0AD46A346B103781EB /* Pods-ImageNotification.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.staging.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.staging.xcconfig"; sourceTree = ""; };
+ 66D62E389EC8CBB0F55727A5 /* Pods-SelectTokenIntent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.debug.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.debug.xcconfig"; sourceTree = ""; };
+ 684CC019502210E9C8341D4E /* Pods-PriceWidgetExtension.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.localrelease.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.localrelease.xcconfig"; sourceTree = ""; };
+ 6B620BFF9CCFEF5289233B3A /* libPods-PriceWidgetExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PriceWidgetExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 6ED73D587E5DF791B446F106 /* libPods-SelectTokenIntent.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SelectTokenIntent.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 967160301541658586F831D4 /* Pods-ImageNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.debug.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"; sourceTree = ""; };
98AED33BAB4247CEBEF8464D /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
9DEADFA4826D4D0BAA950D21 /* libRNFIRMessaging.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFIRMessaging.a; sourceTree = ""; };
- A11FAF1FA469F24E2A95C16B /* Pods-Rainbow.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.debug.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.debug.xcconfig"; sourceTree = ""; };
A4277D9E23CBD1910042BAF4 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; };
A4277DA223CFE85F0042BAF4 /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; };
- A48FEAC8F67CA0E528A0CCE6 /* Pods-SelectTokenIntent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.debug.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.debug.xcconfig"; sourceTree = ""; };
A4D04BA823D12F99008C1DEC /* Button.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; };
A4D04BAB23D12FD5008C1DEC /* ButtonManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ButtonManager.m; sourceTree = ""; };
AA6228EA24272B200078BDAA /* SF-Pro-Rounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "SF-Pro-Rounded-Semibold.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Semibold.otf"; sourceTree = ""; };
@@ -277,7 +281,6 @@
B5CE8FFD29A5758100EB1EFA /* pooly@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pooly@3x.png"; sourceTree = ""; };
B5D7F2EE29E8D41D003D6A54 /* finiliar@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "finiliar@3x.png"; sourceTree = ""; };
B5D7F2EF29E8D41E003D6A54 /* finiliar@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "finiliar@2x.png"; sourceTree = ""; };
- BDBD2B849A59B6C652511C72 /* Pods-SelectTokenIntent.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.localrelease.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.localrelease.xcconfig"; sourceTree = ""; };
C04D10EF25AFC8C1003BEF7A /* Extras.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Extras.json; sourceTree = ""; };
C11640E7274DC10B00C9120A /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = ""; };
C1272389274EBBB6006AC743 /* CurrencyDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyDetails.swift; sourceTree = ""; };
@@ -305,17 +308,14 @@
C1C61A81272CBDA100E5C0B3 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
C1C61A902731A05700E5C0B3 /* RainbowTokenList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RainbowTokenList.swift; sourceTree = ""; };
C1EB012E2731B68400830E70 /* TokenDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenDetails.swift; sourceTree = ""; };
- C61835E76D1BA7980F7024DA /* Pods-PriceWidgetExtension.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.localrelease.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.localrelease.xcconfig"; sourceTree = ""; };
- D0F7AE58A40244ACBFCC08FF /* Pods-PriceWidgetExtension.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.staging.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.staging.xcconfig"; sourceTree = ""; };
+ C2E0B1A0DDF9F3216A8FFBBE /* Pods-SelectTokenIntent.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.localrelease.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.localrelease.xcconfig"; sourceTree = ""; };
D755E71324B04FEE9C691D14 /* libRNFirebase.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFirebase.a; sourceTree = ""; };
- E10CCBA658F04DC3703DD73F /* libPods-SelectTokenIntent.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SelectTokenIntent.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- E142BFD6E6B4544B808B514F /* Pods-Rainbow.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.staging.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.staging.xcconfig"; sourceTree = ""; };
- E41996D4BC32E1E57BA1E757 /* Pods-PriceWidgetExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.debug.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.debug.xcconfig"; sourceTree = ""; };
- EB38408446C1724CB36865BE /* Pods-ImageNotification.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.localrelease.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.localrelease.xcconfig"; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
- EFCC7AF0C3957A13524A400C /* Pods-Rainbow.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.release.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.release.xcconfig"; sourceTree = ""; };
- F9CAED012A4301BE7026BA93 /* libPods-ImageNotification.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ImageNotification.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ F24AF077A15E8BDC1EDE5E4A /* Pods-SelectTokenIntent.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SelectTokenIntent.staging.xcconfig"; path = "Target Support Files/Pods-SelectTokenIntent/Pods-SelectTokenIntent.staging.xcconfig"; sourceTree = ""; };
+ F9ECB6D6BA3DDCD2B10001F0 /* Pods-ImageNotification.staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.staging.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.staging.xcconfig"; sourceTree = ""; };
+ FA24878CC6F782B44F864B57 /* Pods-Rainbow.localrelease.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Rainbow.localrelease.xcconfig"; path = "Target Support Files/Pods-Rainbow/Pods-Rainbow.localrelease.xcconfig"; sourceTree = ""; };
+ FE8A7075202CA3D32D10AF89 /* Pods-PriceWidgetExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PriceWidgetExtension.release.xcconfig"; path = "Target Support Files/Pods-PriceWidgetExtension/Pods-PriceWidgetExtension.release.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -323,7 +323,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- D6EF4FDDD6463587BF5E94D8 /* libPods-ImageNotification.a in Frameworks */,
+ FF37401FFB452A2FDEF9B7D0 /* libPods-ImageNotification.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -333,7 +333,7 @@
files = (
ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */,
C72F456C99A646399192517D /* libz.tbd in Frameworks */,
- 2B9ECA29ABC9C26E39B56774 /* libPods-Rainbow.a in Frameworks */,
+ F87576A1062A472F285D268F /* libPods-Rainbow.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -343,7 +343,7 @@
files = (
C16DCF60272BA6EF00FF5C78 /* SwiftUI.framework in Frameworks */,
C16DCF5E272BA6EF00FF5C78 /* WidgetKit.framework in Frameworks */,
- 51FB6FD4B2BDBF81D7EDA3E2 /* libPods-PriceWidgetExtension.a in Frameworks */,
+ 59B13662037A0AA518ED788A /* libPods-PriceWidgetExtension.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -352,7 +352,7 @@
buildActionMask = 2147483647;
files = (
C16DCF81272BAB9500FF5C78 /* Intents.framework in Frameworks */,
- C06E777E5410BF8DC0EE8B27 /* libPods-SelectTokenIntent.a in Frameworks */,
+ 9D12B594B4E7147A95CFDFDD /* libPods-SelectTokenIntent.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -519,10 +519,10 @@
C16DCF5F272BA6EF00FF5C78 /* SwiftUI.framework */,
C16DCF80272BAB9500FF5C78 /* Intents.framework */,
C16DCF8B272BAB9600FF5C78 /* IntentsUI.framework */,
- F9CAED012A4301BE7026BA93 /* libPods-ImageNotification.a */,
- 4362A3AC51C2BC85B04DD928 /* libPods-PriceWidgetExtension.a */,
- 755605E7F15BF8E0647F7C34 /* libPods-Rainbow.a */,
- E10CCBA658F04DC3703DD73F /* libPods-SelectTokenIntent.a */,
+ 43ABA5A5037B6DDFD38BF482 /* libPods-ImageNotification.a */,
+ 6B620BFF9CCFEF5289233B3A /* libPods-PriceWidgetExtension.a */,
+ 4FFFC395233702CB5FA89306 /* libPods-Rainbow.a */,
+ 6ED73D587E5DF791B446F106 /* libPods-SelectTokenIntent.a */,
);
name = Frameworks;
sourceTree = "";
@@ -671,22 +671,22 @@
C640359C0E6575CE0A7ECD73 /* Pods */ = {
isa = PBXGroup;
children = (
- 4CCC3418515D59BBFACC31DB /* Pods-ImageNotification.debug.xcconfig */,
- 073AD27F6E834317E01A28A8 /* Pods-ImageNotification.release.xcconfig */,
- EB38408446C1724CB36865BE /* Pods-ImageNotification.localrelease.xcconfig */,
- 9049EA0AD46A346B103781EB /* Pods-ImageNotification.staging.xcconfig */,
- E41996D4BC32E1E57BA1E757 /* Pods-PriceWidgetExtension.debug.xcconfig */,
- 84ABDA746161B5D3ABA2BAA1 /* Pods-PriceWidgetExtension.release.xcconfig */,
- C61835E76D1BA7980F7024DA /* Pods-PriceWidgetExtension.localrelease.xcconfig */,
- D0F7AE58A40244ACBFCC08FF /* Pods-PriceWidgetExtension.staging.xcconfig */,
- A11FAF1FA469F24E2A95C16B /* Pods-Rainbow.debug.xcconfig */,
- EFCC7AF0C3957A13524A400C /* Pods-Rainbow.release.xcconfig */,
- 8808D0FED47E821FDD338F93 /* Pods-Rainbow.localrelease.xcconfig */,
- E142BFD6E6B4544B808B514F /* Pods-Rainbow.staging.xcconfig */,
- A48FEAC8F67CA0E528A0CCE6 /* Pods-SelectTokenIntent.debug.xcconfig */,
- 692A2F5C7BC3F27F0CF05FC1 /* Pods-SelectTokenIntent.release.xcconfig */,
- BDBD2B849A59B6C652511C72 /* Pods-SelectTokenIntent.localrelease.xcconfig */,
- 77871E05D457C95A1D5A936D /* Pods-SelectTokenIntent.staging.xcconfig */,
+ 967160301541658586F831D4 /* Pods-ImageNotification.debug.xcconfig */,
+ 2CC62F7848EAF1F136AF6A72 /* Pods-ImageNotification.release.xcconfig */,
+ 15CEBD3ECDE53A106F220FED /* Pods-ImageNotification.localrelease.xcconfig */,
+ F9ECB6D6BA3DDCD2B10001F0 /* Pods-ImageNotification.staging.xcconfig */,
+ 21B4B425CF0D268DD0B9A0D9 /* Pods-PriceWidgetExtension.debug.xcconfig */,
+ FE8A7075202CA3D32D10AF89 /* Pods-PriceWidgetExtension.release.xcconfig */,
+ 684CC019502210E9C8341D4E /* Pods-PriceWidgetExtension.localrelease.xcconfig */,
+ 4BE7E8AB35ABF5C8C242FEFB /* Pods-PriceWidgetExtension.staging.xcconfig */,
+ 1AD507C5F4494CFF7A0D59FC /* Pods-Rainbow.debug.xcconfig */,
+ 0B0248D71FA580AB3BB42C98 /* Pods-Rainbow.release.xcconfig */,
+ FA24878CC6F782B44F864B57 /* Pods-Rainbow.localrelease.xcconfig */,
+ 07D9081F1A3D141B5743AD6A /* Pods-Rainbow.staging.xcconfig */,
+ 66D62E389EC8CBB0F55727A5 /* Pods-SelectTokenIntent.debug.xcconfig */,
+ 62BCEEEA4A27D23A2B9F5A29 /* Pods-SelectTokenIntent.release.xcconfig */,
+ C2E0B1A0DDF9F3216A8FFBBE /* Pods-SelectTokenIntent.localrelease.xcconfig */,
+ F24AF077A15E8BDC1EDE5E4A /* Pods-SelectTokenIntent.staging.xcconfig */,
);
path = Pods;
sourceTree = "";
@@ -710,7 +710,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 0299CE842886202800B5C7E7 /* Build configuration list for PBXNativeTarget "ImageNotification" */;
buildPhases = (
- 3747F5371941E52A3753B519 /* [CP] Check Pods Manifest.lock */,
+ C0B13F288E83ECB8A9D2B64E /* [CP] Check Pods Manifest.lock */,
0299CE732886202800B5C7E7 /* Sources */,
0299CE742886202800B5C7E7 /* Frameworks */,
0299CE752886202800B5C7E7 /* Resources */,
@@ -728,17 +728,17 @@
isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Rainbow" */;
buildPhases = (
- B330D6603DB6AE9C8C91F0DD /* [CP] Check Pods Manifest.lock */,
+ A1E5EC36516AA3B0EE46BE1F /* [CP] Check Pods Manifest.lock */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
9FF961FEA7AF435FA18ED988 /* Upload Debug Symbols to Sentry */,
668ADB3225A4E3A40050859D /* Embed App Extensions */,
- F010853396E6360C376B8FDC /* [CP] Embed Pods Frameworks */,
- C5E3838D9E630518D3512D5F /* [CP] Copy Pods Resources */,
- 98CAB5E05DA304986A8718C2 /* [CP-User] [RNFB] Core Configuration */,
- D4D3F01B4615C3B50602674D /* [CP-User] [RNFB] Crashlytics Configuration */,
+ 50BEB9FB3B730622F0A5DD5D /* [CP] Embed Pods Frameworks */,
+ 04075CA33ECB51EC2A3F459F /* [CP] Copy Pods Resources */,
+ F035C5C329B8110C85DC7544 /* [CP-User] [RNFB] Core Configuration */,
+ 792D13AEA7A4007678CAECBD /* [CP-User] [RNFB] Crashlytics Configuration */,
);
buildRules = (
);
@@ -756,7 +756,7 @@
isa = PBXNativeTarget;
buildConfigurationList = C16DCF6E272BA6F100FF5C78 /* Build configuration list for PBXNativeTarget "PriceWidgetExtension" */;
buildPhases = (
- 1B8362B0E4CE2716A4039CC7 /* [CP] Check Pods Manifest.lock */,
+ 0C10E130249CCAAAED62F9A0 /* [CP] Check Pods Manifest.lock */,
C16DCF58272BA6EF00FF5C78 /* Sources */,
C16DCF59272BA6EF00FF5C78 /* Frameworks */,
C16DCF5A272BA6EF00FF5C78 /* Resources */,
@@ -774,7 +774,7 @@
isa = PBXNativeTarget;
buildConfigurationList = C16DCF9F272BAB9600FF5C78 /* Build configuration list for PBXNativeTarget "SelectTokenIntent" */;
buildPhases = (
- 226ABD4DA40A588E4E409594 /* [CP] Check Pods Manifest.lock */,
+ 4E7386828B9F396A3895DF71 /* [CP] Check Pods Manifest.lock */,
C16DCF7B272BAB9500FF5C78 /* Sources */,
C16DCF7C272BAB9500FF5C78 /* Frameworks */,
C16DCF7D272BAB9500FF5C78 /* Resources */,
@@ -940,7 +940,29 @@
shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\"\nset -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\nSENTRY_CLI=\"../node_modules/@sentry/cli/bin/sentry-cli\"\n\n\n/bin/sh -c \"$WITH_ENVIRONMENT \\\"$SENTRY_CLI react-native xcode $REACT_NATIVE_XCODE\\\"\"\n";
showEnvVarsInLog = 0;
};
- 1B8362B0E4CE2716A4039CC7 /* [CP] Check Pods Manifest.lock */ = {
+ 04075CA33ECB51EC2A3F459F /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-resources.sh",
+ "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 0C10E130249CCAAAED62F9A0 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -962,7 +984,7 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 226ABD4DA40A588E4E409594 /* [CP] Check Pods Manifest.lock */ = {
+ 4E7386828B9F396A3895DF71 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -984,40 +1006,45 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 3747F5371941E52A3753B519 /* [CP] Check Pods Manifest.lock */ = {
+ 50BEB9FB3B730622F0A5DD5D /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
- inputFileListPaths = (
- );
inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-frameworks.sh",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Plaid/LinkKit.framework/LinkKit",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
);
+ name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-ImageNotification-checkManifestLockResult.txt",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LinkKit.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 98CAB5E05DA304986A8718C2 /* [CP-User] [RNFB] Core Configuration */ = {
+ 792D13AEA7A4007678CAECBD /* [CP-User] [RNFB] Crashlytics Configuration */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
+ "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}",
+ "$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
);
- name = "[CP-User] [RNFB] Core Configuration";
+ name = "[CP-User] [RNFB] Crashlytics Configuration";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n";
+ shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\nif [[ ${PODS_ROOT} ]]; then\n echo \"info: Exec FirebaseCrashlytics Run from Pods\"\n \"${PODS_ROOT}/FirebaseCrashlytics/run\"\nelse\n echo \"info: Exec FirebaseCrashlytics Run from framework\"\n \"${PROJECT_DIR}/FirebaseCrashlytics.framework/run\"\nfi\n";
};
9FF961FEA7AF435FA18ED988 /* Upload Debug Symbols to Sentry */ = {
isa = PBXShellScriptBuildPhase;
@@ -1034,7 +1061,7 @@
shellPath = /bin/sh;
shellScript = "export SENTRY_PROPERTIES=sentry.properties\n../node_modules/@sentry/cli/bin/sentry-cli upload-dsym\n";
};
- B330D6603DB6AE9C8C91F0DD /* [CP] Check Pods Manifest.lock */ = {
+ A1E5EC36516AA3B0EE46BE1F /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1056,61 +1083,40 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- C5E3838D9E630518D3512D5F /* [CP] Copy Pods Resources */ = {
+ C0B13F288E83ECB8A9D2B64E /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
+ inputFileListPaths = (
+ );
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-resources.sh",
- "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
- "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
- "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
);
- name = "[CP] Copy Pods Resources";
outputPaths = (
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
+ "$(DERIVED_FILE_DIR)/Pods-ImageNotification-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-resources.sh\"\n";
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- D4D3F01B4615C3B50602674D /* [CP-User] [RNFB] Crashlytics Configuration */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}",
- "$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
- );
- name = "[CP-User] [RNFB] Crashlytics Configuration";
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\nif [[ ${PODS_ROOT} ]]; then\n echo \"info: Exec FirebaseCrashlytics Run from Pods\"\n \"${PODS_ROOT}/FirebaseCrashlytics/run\"\nelse\n echo \"info: Exec FirebaseCrashlytics Run from framework\"\n \"${PROJECT_DIR}/FirebaseCrashlytics.framework/run\"\nfi\n";
- };
- F010853396E6360C376B8FDC /* [CP] Embed Pods Frameworks */ = {
+ F035C5C329B8110C85DC7544 /* [CP-User] [RNFB] Core Configuration */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-frameworks.sh",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/Plaid/LinkKit.framework/LinkKit",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LinkKit.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
+ "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
);
+ name = "[CP-User] [RNFB] Core Configuration";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Rainbow/Pods-Rainbow-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
+ shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -1255,7 +1261,7 @@
/* Begin XCBuildConfiguration section */
0299CE802886202800B5C7E7 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 4CCC3418515D59BBFACC31DB /* Pods-ImageNotification.debug.xcconfig */;
+ baseConfigurationReference = 967160301541658586F831D4 /* Pods-ImageNotification.debug.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -1305,7 +1311,7 @@
};
0299CE812886202800B5C7E7 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 073AD27F6E834317E01A28A8 /* Pods-ImageNotification.release.xcconfig */;
+ baseConfigurationReference = 2CC62F7848EAF1F136AF6A72 /* Pods-ImageNotification.release.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -1353,7 +1359,7 @@
};
0299CE822886202800B5C7E7 /* LocalRelease */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = EB38408446C1724CB36865BE /* Pods-ImageNotification.localrelease.xcconfig */;
+ baseConfigurationReference = 15CEBD3ECDE53A106F220FED /* Pods-ImageNotification.localrelease.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -1401,7 +1407,7 @@
};
0299CE832886202800B5C7E7 /* Staging */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 9049EA0AD46A346B103781EB /* Pods-ImageNotification.staging.xcconfig */;
+ baseConfigurationReference = F9ECB6D6BA3DDCD2B10001F0 /* Pods-ImageNotification.staging.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -1449,7 +1455,7 @@
};
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = A11FAF1FA469F24E2A95C16B /* Pods-Rainbow.debug.xcconfig */;
+ baseConfigurationReference = 1AD507C5F4494CFF7A0D59FC /* Pods-Rainbow.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO;
@@ -1527,7 +1533,7 @@
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = EFCC7AF0C3957A13524A400C /* Pods-Rainbow.release.xcconfig */;
+ baseConfigurationReference = 0B0248D71FA580AB3BB42C98 /* Pods-Rainbow.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO;
@@ -1636,7 +1642,7 @@
};
2C6A799821127ED9003AFB37 /* Staging */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = E142BFD6E6B4544B808B514F /* Pods-Rainbow.staging.xcconfig */;
+ baseConfigurationReference = 07D9081F1A3D141B5743AD6A /* Pods-Rainbow.staging.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO;
@@ -1745,7 +1751,7 @@
};
2C87B79A2197FA1900682EC4 /* LocalRelease */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 8808D0FED47E821FDD338F93 /* Pods-Rainbow.localrelease.xcconfig */;
+ baseConfigurationReference = FA24878CC6F782B44F864B57 /* Pods-Rainbow.localrelease.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO;
@@ -1904,7 +1910,7 @@
};
C16DCF6A272BA6F100FF5C78 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = E41996D4BC32E1E57BA1E757 /* Pods-PriceWidgetExtension.debug.xcconfig */;
+ baseConfigurationReference = 21B4B425CF0D268DD0B9A0D9 /* Pods-PriceWidgetExtension.debug.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -1953,7 +1959,7 @@
};
C16DCF6B272BA6F100FF5C78 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 84ABDA746161B5D3ABA2BAA1 /* Pods-PriceWidgetExtension.release.xcconfig */;
+ baseConfigurationReference = FE8A7075202CA3D32D10AF89 /* Pods-PriceWidgetExtension.release.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -2000,7 +2006,7 @@
};
C16DCF6C272BA6F100FF5C78 /* LocalRelease */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = C61835E76D1BA7980F7024DA /* Pods-PriceWidgetExtension.localrelease.xcconfig */;
+ baseConfigurationReference = 684CC019502210E9C8341D4E /* Pods-PriceWidgetExtension.localrelease.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -2047,7 +2053,7 @@
};
C16DCF6D272BA6F100FF5C78 /* Staging */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = D0F7AE58A40244ACBFCC08FF /* Pods-PriceWidgetExtension.staging.xcconfig */;
+ baseConfigurationReference = 4BE7E8AB35ABF5C8C242FEFB /* Pods-PriceWidgetExtension.staging.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -2094,7 +2100,7 @@
};
C16DCFA0272BAB9600FF5C78 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = A48FEAC8F67CA0E528A0CCE6 /* Pods-SelectTokenIntent.debug.xcconfig */;
+ baseConfigurationReference = 66D62E389EC8CBB0F55727A5 /* Pods-SelectTokenIntent.debug.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -2141,7 +2147,7 @@
};
C16DCFA1272BAB9600FF5C78 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 692A2F5C7BC3F27F0CF05FC1 /* Pods-SelectTokenIntent.release.xcconfig */;
+ baseConfigurationReference = 62BCEEEA4A27D23A2B9F5A29 /* Pods-SelectTokenIntent.release.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -2186,7 +2192,7 @@
};
C16DCFA2272BAB9600FF5C78 /* LocalRelease */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = BDBD2B849A59B6C652511C72 /* Pods-SelectTokenIntent.localrelease.xcconfig */;
+ baseConfigurationReference = C2E0B1A0DDF9F3216A8FFBBE /* Pods-SelectTokenIntent.localrelease.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -2231,7 +2237,7 @@
};
C16DCFA3272BAB9600FF5C78 /* Staging */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 77871E05D457C95A1D5A936D /* Pods-SelectTokenIntent.staging.xcconfig */;
+ baseConfigurationReference = F24AF077A15E8BDC1EDE5E4A /* Pods-SelectTokenIntent.staging.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
diff --git a/package.json b/package.json
index ab074eda891..328a6f6266b 100644
--- a/package.json
+++ b/package.json
@@ -101,7 +101,7 @@
"@ratio.me/ratio-react-native-library": "0.8.5",
"@react-native-async-storage/async-storage": "1.18.2",
"@react-native-camera-roll/camera-roll": "5.7.1",
- "@react-native-community/blur": "4.3.0",
+ "@react-native-community/blur": "4.3.2",
"@react-native-community/clipboard": "git+https://github.com/rainbow-me/clipboard#01d1c13",
"@react-native-community/netinfo": "9.0.0",
"@react-native-firebase/app": "18.3.0",
diff --git a/src/components/asset-list/RecyclerAssetList2/FastComponents/FastCoinIcon.tsx b/src/components/asset-list/RecyclerAssetList2/FastComponents/FastCoinIcon.tsx
index e99447130f5..73a62443b35 100644
--- a/src/components/asset-list/RecyclerAssetList2/FastComponents/FastCoinIcon.tsx
+++ b/src/components/asset-list/RecyclerAssetList2/FastComponents/FastCoinIcon.tsx
@@ -84,22 +84,18 @@ export default React.memo(function FastCoinIcon({
mainnetAddress,
});
- const tokenMetadata = getTokenMetadata(resolvedAddress);
-
const fallbackIconColor = useColorForAsset({
address: resolvedAddress,
type: resolvedType,
});
- const shadowColor = theme.isDarkMode
- ? colors.shadow
- : tokenMetadata?.shadowColor ?? fallbackIconColor;
+ const shadowColor = theme.isDarkMode ? colors.shadow : fallbackIconColor;
const eth = isETH(resolvedAddress);
const formattedSymbol = formatSymbol(symbol);
- const shouldRenderFallback = !eth && !tokenMetadata;
+ const shouldRenderFallback = !eth;
const shouldRenderLocalCoinIconImage =
!shouldRenderFallback && !!CoinIconsImages[formattedSymbol];
const shouldRenderContract = symbol === 'contract';
diff --git a/src/components/coin-icon/CoinIcon.tsx b/src/components/coin-icon/CoinIcon.tsx
index 9236206a475..de467b9d627 100644
--- a/src/components/coin-icon/CoinIcon.tsx
+++ b/src/components/coin-icon/CoinIcon.tsx
@@ -57,14 +57,12 @@ const CoinIcon: React.FC = ({
mainnet_address,
...props
}) => {
- const tokenMetadata = getTokenMetadata(mainnet_address || address);
const color = useColorForAsset({
address: mainnet_address || address,
type: mainnet_address ? AssetTypes.token : type,
});
const { colors, isDarkMode } = useTheme();
- const forceFallback =
- !isETH(mainnet_address || address) && isNil(tokenMetadata);
+ const forceFallback = !isETH(mainnet_address || address);
const isNotContractInteraction = useMemo(() => symbol !== 'contract', [
symbol,
]);
@@ -83,8 +81,7 @@ const CoinIcon: React.FC = ({
// force update on change symbol due to ImageCache strategy
key={symbol}
shadowColor={
- forcedShadowColor ||
- (isDarkMode ? colors.shadow : tokenMetadata?.shadowColor || color)
+ forcedShadowColor || (isDarkMode ? colors.shadow : color)
}
size={size}
symbol={symbol}
diff --git a/src/languages/en_US.json b/src/languages/en_US.json
index 5bd5a49ef17..cac1667435a 100644
--- a/src/languages/en_US.json
+++ b/src/languages/en_US.json
@@ -2266,6 +2266,8 @@
"pairing_timeout": "This session timed-out before a connection could be established. This is usually due to a network error. Please try again.",
"pairing_unsupported_methods": "The dapp requested wallet RPC methods that are unsupported by Rainbow.",
"pairing_unsupported_networks": "The dapp requested network(s) that are unsupported by Rainbow.",
+ "read_only_wallet_on_signing_method": "It looks like you're using a read-only wallet, which is not allowed for this request.",
+ "namespaces_invalid": "There was an issue with the namespaces requested by the dapp. Please try again or contact Rainbow and/or dapp support teams.",
"request_invalid": "The request contained invalid parameters. Please try again or contact Rainbow and/or dapp support teams.",
"request_unsupported_network": "The network specified in this request is not supported by Rainbow.",
"request_unsupported_methods": "The RPC method(s) specified in this request are not supported by Rainbow."
diff --git a/src/redux/data.ts b/src/redux/data.ts
index b163bd8fae9..3a92aa7811f 100644
--- a/src/redux/data.ts
+++ b/src/redux/data.ts
@@ -2,7 +2,7 @@ import {
StaticJsonRpcProvider,
TransactionResponse,
} from '@ethersproject/providers';
-import { isEmpty, isNil, mapValues, partition, cloneDeep } from 'lodash';
+import { isEmpty, isNil, mapValues, partition } from 'lodash';
import { Dispatch } from 'redux';
import { ThunkDispatch } from 'redux-thunk';
import {
@@ -47,13 +47,9 @@ import {
getTransactionSocketStatus,
} from '@/handlers/transactions';
import { SwapType } from '@rainbow-me/swaps';
-import { FiatProviderName } from '@/entities/f2c';
-import { logger as loggr, RainbowError } from '@/logger';
-import { analyticsV2 } from '@/analytics';
+import { logger as loggr } from '@/logger';
import { queryClient } from '@/react-query';
import { nftsQueryKey } from '@/resources/nfts';
-import { QueryClient } from '@tanstack/react-query';
-import { ratioGetUserActivityItem } from '@/resources/f2c';
const BACKUP_SHEET_DELAY_MS = android ? 10000 : 3000;
@@ -618,11 +614,8 @@ export const transactionsReceived = (
}, 60000);
}
- const maybeUpdatedPendingTransactions = await maybeFetchF2CHashForPendingTransactions(
- cloneDeep(pendingTransactions)
- );
const txHashes = parsedTransactions.map(tx => ethereumUtils.getHash(tx));
- const updatedPendingTransactions = maybeUpdatedPendingTransactions.filter(
+ const updatedPendingTransactions = pendingTransactions.filter(
tx => !txHashes.includes(ethereumUtils.getHash(tx))
);
@@ -658,132 +651,6 @@ export const transactionsReceived = (
}
};
-/**
- * Maps over every pendingTransaction, and if it's a F2C transaction, fetches
- * the transaction has and updates the pendingTransaction with its hash.
- *
- * This method returns all pendingTransactions that were passed in, so 5 go in,
- * 5 come out, but they might have a tx hash added.
- */
-export const maybeFetchF2CHashForPendingTransactions = async (
- pendingTransactions: RainbowTransaction[]
-) => {
- loggr.debug(
- `maybeFetchF2CHashForPendingTransactions`,
- {},
- loggr.DebugContext.f2c
- );
-
- /**
- * A CUSTOM query client used for this query only. We don't need to store tx
- * data on this device.
- */
- const queryClient = new QueryClient();
-
- return Promise.all(
- pendingTransactions.map(async tx => {
- // If not from a F2C provider, return the original tx
- if (!tx.fiatProvider) return tx;
- if (tx.hash) {
- /**
- * Sometimes `transactionsReceived` gets called more than once in quick
- * succession, which can result it fetching order data more than once.
- *
- * So if we already have a tx hash, then we don't need to fetch
- * anything else.
- */
- return tx;
- }
-
- // If it is from an F2C provider, see if we can add the tx hash to it
- switch (tx.fiatProvider?.name) {
- // handle Ratio case
- case FiatProviderName.Ratio: {
- loggr.debug(
- `maybeFetchF2CHashForPendingTransactions`,
- { provider: tx.fiatProvider?.name },
- loggr.DebugContext.f2c
- );
-
- const { userId, orderId } = tx.fiatProvider;
-
- loggr.debug(
- `maybeFetchF2CHashForPendingTransactions: fetching order`
- );
-
- try {
- const data = await queryClient.fetchQuery({
- queryKey: ['f2c', 'ratio', 'pending_tx_check'],
- staleTime: 10_000, // only fetch AT MOST once every 10 seconds
- async queryFn() {
- const { data, error } = await ratioGetUserActivityItem({
- userId,
- orderId,
- });
-
- if (!data || error) {
- const [{ message }] = error.errors;
-
- if (error) {
- throw new Error(message);
- } else {
- throw new Error(
- 'Ratio API returned no data for this transaction'
- );
- }
- }
-
- return data;
- },
- });
-
- loggr.debug(
- `maybeFetchF2CHashForPendingTransactions: fetched order`,
- {
- hasData: Boolean(data),
- hasHash: Boolean(data?.crypto?.transactionHash),
- }
- );
-
- if (data.crypto.transactionHash) {
- tx.hash = data.crypto.transactionHash;
-
- analyticsV2.track(analyticsV2.event.f2cTransactionReceived, {
- provider: FiatProviderName.Ratio,
- sessionId: tx.fiatProvider.analyticsSessionId,
- });
-
- loggr.debug(
- `maybeFetchF2CHashForPendingTransactions: fetched order and updated hash on transaction`
- );
- } else {
- loggr.info(
- `maybeFetchF2CHashForPendingTransactions: fetcher returned no transaction data`
- );
- }
- } catch (e: any) {
- loggr.error(
- new RainbowError(
- `maybeFetchF2CHashForPendingTransactions: failed to fetch transaction data`
- ),
- {
- message: e.message,
- provider: tx.fiatProvider.name,
- }
- );
- }
-
- break;
- }
-
- // handle other cases here once we have more providers
- }
-
- return tx;
- })
- );
-};
-
const callbacksOnAssetReceived: {
[address: string]: ((asset: ParsedAddressAsset) => unknown) | undefined;
} = {};
diff --git a/src/resources/f2c/index.ts b/src/resources/f2c/index.ts
index 341a214185a..65423304d6f 100644
--- a/src/resources/f2c/index.ts
+++ b/src/resources/f2c/index.ts
@@ -1,5 +1,4 @@
import { create } from 'gretchen';
-import { ActivityItem } from '@ratio.me/ratio-react-native-library';
import qs from 'query-string';
import { IS_PROD } from '@/env';
@@ -39,18 +38,6 @@ export function ratioGetClientSession({
).json();
}
-export function ratioGetUserActivityItem({
- userId,
- orderId,
-}: {
- userId: string;
- orderId: string;
-}) {
- return gretch(
- `/v1/providers/ratio/users/${userId}/activity/${orderId}`
- ).json();
-}
-
export function coinbaseGetWidgetURL({
depositAddress,
}: {
diff --git a/src/utils/getTokenMetadata.ts b/src/utils/getTokenMetadata.ts
index 4b66144bc3f..7fe8d25d747 100644
--- a/src/utils/getTokenMetadata.ts
+++ b/src/utils/getTokenMetadata.ts
@@ -5,10 +5,5 @@ import { rainbowTokenList } from '@/references';
export default function getTokenMetadata(
tokenAddress: string | undefined
): Omit | undefined {
- if (!tokenAddress) return undefined;
- const metadata: TokenMetadata =
- rainbowTokenList.RAINBOW_TOKEN_LIST[tokenAddress.toLowerCase()];
-
- // delete chain metadata
- return omitFlatten(metadata, ['chainId', 'decimals']);
+ return undefined;
}
diff --git a/src/walletConnect/index.tsx b/src/walletConnect/index.tsx
index e9b210bcb94..a1933e71afa 100644
--- a/src/walletConnect/index.tsx
+++ b/src/walletConnect/index.tsx
@@ -570,7 +570,7 @@ export async function onSessionProposal(
showErrorSheet({
title: lang.t(T.errors.generic_title),
- body: `${lang.t(T.errors.generic_error)} \n \n ${
+ body: `${lang.t(T.errors.namespaces_invalid)} \n \n ${
namespaces.error.message
}`,
sheetHeight: 400,
@@ -621,6 +621,7 @@ export async function onSessionProposal(
}
}
+// For WC v2
export async function onSessionRequest(
event: SignClientTypes.EventArguments['session_request']
) {
@@ -692,7 +693,8 @@ export async function onSessionRequest(
const selectedWallet = findWalletWithAccount(allWallets, address);
- if (!selectedWallet || selectedWallet?.type === WalletTypes.readOnly) {
+ const isReadOnly = selectedWallet?.type === WalletTypes.readOnly;
+ if (!selectedWallet || isReadOnly) {
logger.error(
new RainbowError(
`WC v2: session_request exited, selectedWallet was falsy or read only`
@@ -702,6 +704,10 @@ export async function onSessionRequest(
}
);
+ const errorMessageBody = isReadOnly
+ ? lang.t(T.errors.read_only_wallet_on_signing_method)
+ : lang.t(T.errors.generic_error);
+
await client.respondSessionRequest({
topic,
response: formatJsonRpcError(id, `Wallet is read-only`),
@@ -709,7 +715,7 @@ export async function onSessionRequest(
showErrorSheet({
title: lang.t(T.errors.generic_title),
- body: lang.t(T.errors.request_invalid),
+ body: errorMessageBody,
sheetHeight: 270,
onClose: maybeGoBackAndClearHasPendingRedirect,
});
diff --git a/yarn.lock b/yarn.lock
index cbbc95298c9..1c3dcc54054 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3747,10 +3747,10 @@
resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.7.1.tgz#d275f1611e4e7ba8f2db5c34afa6b7d407f7035d"
integrity sha512-SQw/YaQmBqFw42SPSgbGBJZ2US9gszs3xIyHRcqCs15TwYqZ2He/HhB32rmW9IPQmtDqjFKko5yS1fYx8dSWJw==
-"@react-native-community/blur@4.3.0":
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.3.0.tgz#e5018b3b0bd6de9632ac6cf34e9f8e0f1a9a28ec"
- integrity sha512-d6phh39kKcbZ4IluDftiVWqfeFOgjl1AbQWzN47x+hLKQ5GvQJ6QhRvgAuDZ+xbJksrbXgNpMjVYkjsbcVehxg==
+"@react-native-community/blur@4.3.2":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.3.2.tgz#185a2c7dd03ba168cc95069bc4742e9505fd6c6c"
+ integrity sha512-0ID+pyZKdC4RdgC7HePxUQ6JmsbNrgz03u+6SgqYpmBoK/rE+7JffqIw7IEsfoKitLEcRNLGekIBsfwCqiEkew==
"@react-native-community/cli-clean@11.3.5":
version "11.3.5"