From 4921410ef6f3c350210c5fbdbac3e0fbf85ef51a Mon Sep 17 00:00:00 2001 From: Edgar Khanzadian Date: Tue, 4 Jun 2024 16:43:29 +0400 Subject: [PATCH] feat: run expo prebuild, install detox, jest, expo config for detox --- .ls-lint.yml | 3 + apps/mobile/.detoxrc.cjs | 60 + apps/mobile/.gitignore | 2 + apps/mobile/android/.gitignore | 16 + apps/mobile/android/app/build.gradle | 181 + apps/mobile/android/app/debug.keystore | Bin 0 -> 2257 bytes apps/mobile/android/app/proguard-rules.pro | 14 + .../io/leather/mobilewallet/DetoxTest.java | 29 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 33 + .../io/leather/mobilewallet/MainActivity.kt | 61 + .../leather/mobilewallet/MainApplication.kt | 55 + .../res/drawable-hdpi/splashscreen_image.png | Bin 0 -> 31531 bytes .../res/drawable-mdpi/splashscreen_image.png | Bin 0 -> 31531 bytes .../res/drawable-xhdpi/splashscreen_image.png | Bin 0 -> 31531 bytes .../drawable-xxhdpi/splashscreen_image.png | Bin 0 -> 31531 bytes .../drawable-xxxhdpi/splashscreen_image.png | Bin 0 -> 31531 bytes .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/drawable/splashscreen.xml | 3 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 8377 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 8031 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 10372 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 5199 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 5079 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 6526 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 11624 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 11145 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 14257 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 18266 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 18064 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 22474 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 25203 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 25030 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 30705 bytes .../app/src/main/res/values-night/colors.xml | 1 + .../app/src/main/res/values/colors.xml | 6 + .../app/src/main/res/values/strings.xml | 6 + .../app/src/main/res/values/styles.xml | 17 + .../main/res/xml/network_security_config.xml | 8 + apps/mobile/android/build.gradle | 46 + apps/mobile/android/gradle.properties | 59 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43462 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + apps/mobile/android/gradlew | 249 + apps/mobile/android/gradlew.bat | 92 + apps/mobile/android/settings.gradle | 18 + apps/mobile/app.json | 10 +- apps/mobile/e2e/jest.config.cjs | 16 + apps/mobile/e2e/starter.test.ts | 44 + apps/mobile/eas-hooks/eas-build-on-success.sh | 45 + .../mobile/eas-hooks/eas-build-pre-install.sh | 40 + apps/mobile/eas.json | 9 + apps/mobile/ios/.gitignore | 30 + apps/mobile/ios/.xcode.env | 11 + apps/mobile/ios/Podfile | 60 + apps/mobile/ios/Podfile.lock | 1666 +++++++ apps/mobile/ios/Podfile.properties.json | 7 + apps/mobile/ios/PrivacyInfo.xcprivacy | 37 + .../project.pbxproj | 543 +++ .../xcschemes/leatherwalletmobile.xcscheme | 88 + .../contents.xcworkspacedata | 10 + .../ios/leatherwalletmobile/AppDelegate.h | 7 + .../ios/leatherwalletmobile/AppDelegate.mm | 62 + .../App-Icon-1024x1024@1x.png | Bin 0 -> 27061 bytes .../AppIcon.appiconset/Contents.json | 14 + .../Images.xcassets/Contents.json | 6 + .../SplashScreen.imageset/Contents.json | 21 + .../SplashScreen.imageset/image.png | Bin 0 -> 31531 bytes .../Contents.json | 21 + .../SplashScreenBackground.imageset/image.png | Bin 0 -> 68 bytes .../mobile/ios/leatherwalletmobile/Info.plist | 79 + .../SplashScreen.storyboard | 51 + .../leatherwalletmobile/Supporting/Expo.plist | 12 + .../leatherwalletmobile-Bridging-Header.h | 3 + .../leatherwalletmobile.entitlements | 5 + apps/mobile/ios/leatherwalletmobile/main.m | 10 + .../ios/leatherwalletmobile/noop-file.swift | 4 + apps/mobile/package.json | 16 +- .../src/components/welcome-screen/index.tsx | 7 +- apps/mobile/test-ids/index.ts | 6 + apps/mobile/tsconfig.json | 2 +- docs/e2e-testing.md | 15 + pnpm-lock.yaml | 3994 +++++++---------- 85 files changed, 5705 insertions(+), 2266 deletions(-) create mode 100644 apps/mobile/.detoxrc.cjs create mode 100644 apps/mobile/android/.gitignore create mode 100644 apps/mobile/android/app/build.gradle create mode 100644 apps/mobile/android/app/debug.keystore create mode 100644 apps/mobile/android/app/proguard-rules.pro create mode 100644 apps/mobile/android/app/src/androidTest/java/io/leather/mobilewallet/DetoxTest.java create mode 100644 apps/mobile/android/app/src/debug/AndroidManifest.xml create mode 100644 apps/mobile/android/app/src/main/AndroidManifest.xml create mode 100644 apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainActivity.kt create mode 100644 apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainApplication.kt create mode 100644 apps/mobile/android/app/src/main/res/drawable-hdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-mdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-xhdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-xxhdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-xxxhdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 apps/mobile/android/app/src/main/res/drawable/splashscreen.xml create mode 100644 apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/values-night/colors.xml create mode 100644 apps/mobile/android/app/src/main/res/values/colors.xml create mode 100644 apps/mobile/android/app/src/main/res/values/strings.xml create mode 100644 apps/mobile/android/app/src/main/res/values/styles.xml create mode 100644 apps/mobile/android/app/src/main/res/xml/network_security_config.xml create mode 100644 apps/mobile/android/build.gradle create mode 100644 apps/mobile/android/gradle.properties create mode 100644 apps/mobile/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 apps/mobile/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 apps/mobile/android/gradlew create mode 100644 apps/mobile/android/gradlew.bat create mode 100644 apps/mobile/android/settings.gradle create mode 100644 apps/mobile/e2e/jest.config.cjs create mode 100644 apps/mobile/e2e/starter.test.ts create mode 100755 apps/mobile/eas-hooks/eas-build-on-success.sh create mode 100755 apps/mobile/eas-hooks/eas-build-pre-install.sh create mode 100644 apps/mobile/ios/.gitignore create mode 100644 apps/mobile/ios/.xcode.env create mode 100644 apps/mobile/ios/Podfile create mode 100644 apps/mobile/ios/Podfile.lock create mode 100644 apps/mobile/ios/Podfile.properties.json create mode 100644 apps/mobile/ios/PrivacyInfo.xcprivacy create mode 100644 apps/mobile/ios/leatherwalletmobile.xcodeproj/project.pbxproj create mode 100644 apps/mobile/ios/leatherwalletmobile.xcodeproj/xcshareddata/xcschemes/leatherwalletmobile.xcscheme create mode 100644 apps/mobile/ios/leatherwalletmobile.xcworkspace/contents.xcworkspacedata create mode 100644 apps/mobile/ios/leatherwalletmobile/AppDelegate.h create mode 100644 apps/mobile/ios/leatherwalletmobile/AppDelegate.mm create mode 100644 apps/mobile/ios/leatherwalletmobile/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png create mode 100644 apps/mobile/ios/leatherwalletmobile/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 apps/mobile/ios/leatherwalletmobile/Images.xcassets/Contents.json create mode 100644 apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreen.imageset/Contents.json create mode 100644 apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreen.imageset/image.png create mode 100644 apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreenBackground.imageset/Contents.json create mode 100644 apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreenBackground.imageset/image.png create mode 100644 apps/mobile/ios/leatherwalletmobile/Info.plist create mode 100644 apps/mobile/ios/leatherwalletmobile/SplashScreen.storyboard create mode 100644 apps/mobile/ios/leatherwalletmobile/Supporting/Expo.plist create mode 100644 apps/mobile/ios/leatherwalletmobile/leatherwalletmobile-Bridging-Header.h create mode 100644 apps/mobile/ios/leatherwalletmobile/leatherwalletmobile.entitlements create mode 100644 apps/mobile/ios/leatherwalletmobile/main.m create mode 100644 apps/mobile/ios/leatherwalletmobile/noop-file.swift create mode 100644 apps/mobile/test-ids/index.ts create mode 100644 docs/e2e-testing.md diff --git a/.ls-lint.yml b/.ls-lint.yml index 205cd4bde..1a9bd218c 100644 --- a/.ls-lint.yml +++ b/.ls-lint.yml @@ -13,3 +13,6 @@ ignore: - packages/*/node_modules - apps/*/node_modules - storybook-static + - apps/mobile/ios + - apps/mobile/android + - apps/mobile/artifacts diff --git a/apps/mobile/.detoxrc.cjs b/apps/mobile/.detoxrc.cjs new file mode 100644 index 000000000..6b5682f8e --- /dev/null +++ b/apps/mobile/.detoxrc.cjs @@ -0,0 +1,60 @@ +/** @type {Detox.DetoxConfig} */ +module.exports = { + logger: { + level: process.env.CI ? 'debug' : undefined, + }, + testRunner: { + args: { + $0: 'jest', + config: 'e2e/jest.config.cjs', + }, + jest: { + setupTimeout: 120000, + }, + }, + artifacts: { + plugins: { + log: process.env.CI ? 'failing' : undefined, + screenshot: 'failing', + }, + }, + apps: { + 'ios.release': { + type: 'ios.app', + build: + 'xcodebuild -workspace ios/leatherwalletmobile.xcworkspace -scheme leatherwalletmobile -configuration Release -sdk iphonesimulator -arch x86_64 -derivedDataPath ios/build', + binaryPath: 'ios/build/Build/Products/Release-iphonesimulator/leatherwalletmobile.app', + }, + 'android.release': { + type: 'android.apk', + build: + 'cd android && ./gradlew :app:assembleRelease :app:assembleAndroidTest -DtestBuildType=release && cd ..', + binaryPath: 'android/app/build/outputs/apk/release/app-release.apk', + }, + }, + devices: { + simulator: { + type: 'ios.simulator', + device: { + type: 'iPhone 15', + os: '17.4', + }, + }, + emulator: { + type: 'android.emulator', + device: { + avdName: 'pixel_4', + }, + }, + }, + configurations: { + 'ios.release': { + device: 'simulator', + app: 'ios.release', + }, + 'android.release': { + device: 'emulator', + app: 'android.release', + }, + }, +}; diff --git a/apps/mobile/.gitignore b/apps/mobile/.gitignore index 535048730..e0a12e6fb 100644 --- a/apps/mobile/.gitignore +++ b/apps/mobile/.gitignore @@ -34,3 +34,5 @@ yarn-error.* # typescript *.tsbuildinfo +# Detox artifacts +artifacts/ \ No newline at end of file diff --git a/apps/mobile/android/.gitignore b/apps/mobile/android/.gitignore new file mode 100644 index 000000000..8a6be0771 --- /dev/null +++ b/apps/mobile/android/.gitignore @@ -0,0 +1,16 @@ +# OSX +# +.DS_Store + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof +.cxx/ + +# Bundle artifacts +*.jsbundle diff --git a/apps/mobile/android/app/build.gradle b/apps/mobile/android/app/build.gradle new file mode 100644 index 000000000..c706b0ae8 --- /dev/null +++ b/apps/mobile/android/app/build.gradle @@ -0,0 +1,181 @@ +apply plugin: "com.android.application" +apply plugin: "org.jetbrains.kotlin.android" +apply plugin: "com.facebook.react" + +def projectRoot = rootDir.getAbsoluteFile().getParentFile().getAbsolutePath() + +/** + * This is the configuration block to customize your React Native Android app. + * By default you don't need to apply any configuration, just uncomment the lines you need. + */ +react { + entryFile = file(["node", "-e", "require('expo/scripts/resolveAppEntry')", projectRoot, "android", "absolute"].execute(null, rootDir).text.trim()) + reactNativeDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile() + hermesCommand = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc" + codegenDir = new File(["node", "--print", "require.resolve('@react-native/codegen/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile() + + // Use Expo CLI to bundle the app, this ensures the Metro config + // works correctly with Expo projects. + cliFile = new File(["node", "--print", "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })"].execute(null, rootDir).text.trim()) + bundleCommand = "export:embed" + + /* Folders */ + // The root of your project, i.e. where "package.json" lives. Default is '..' + // root = file("../") + // The folder where the react-native NPM package is. Default is ../node_modules/react-native + // reactNativeDir = file("../node_modules/react-native") + // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen + // codegenDir = file("../node_modules/@react-native/codegen") + + /* Variants */ + // The list of variants to that are debuggable. For those we're going to + // skip the bundling of the JS bundle and the assets. By default is just 'debug'. + // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. + // debuggableVariants = ["liteDebug", "prodDebug"] + + /* Bundling */ + // A list containing the node command and its flags. Default is just 'node'. + // nodeExecutableAndArgs = ["node"] + + // + // The path to the CLI configuration file. Default is empty. + // bundleConfig = file(../rn-cli.config.js) + // + // The name of the generated asset file containing your JS bundle + // bundleAssetName = "MyApplication.android.bundle" + // + // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' + // entryFile = file("../js/MyApplication.android.js") + // + // A list of extra flags to pass to the 'bundle' commands. + // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle + // extraPackagerArgs = [] + + /* Hermes Commands */ + // The hermes compiler command to run. By default it is 'hermesc' + // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" + // + // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" + // hermesFlags = ["-O", "-output-source-map"] +} + +/** + * Set this to true to Run Proguard on Release builds to minify the Java bytecode. + */ +def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInReleaseBuilds') ?: false).toBoolean() + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +android { + ndkVersion rootProject.ext.ndkVersion + + buildToolsVersion rootProject.ext.buildToolsVersion + compileSdk rootProject.ext.compileSdkVersion + + namespace 'io.leather.mobilewallet' + defaultConfig { + // detox-plugin-default-config + testBuildType System.getProperty('testBuildType', 'debug') + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' + applicationId 'io.leather.mobilewallet' + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0.0" + } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } + buildTypes { + debug { + signingConfig signingConfigs.debug + } + release { + // Caution! In production, you need to generate your own keystore file. + // see https://reactnative.dev/docs/signed-apk-android. + signingConfig signingConfigs.debug + shrinkResources (findProperty('android.enableShrinkResourcesInReleaseBuilds')?.toBoolean() ?: false) + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + // Detox-specific additions to pro-guard + def detoxProguardRulesPath = new File(["node", "--print", "require.resolve('detox/package.json')"].execute(null, rootDir).text.trim(), "../android/detox/proguard-rules-app.pro") + proguardFile(detoxProguardRulesPath) + + } + } + packagingOptions { + jniLibs { + useLegacyPackaging (findProperty('expo.useLegacyPackaging')?.toBoolean() ?: false) + } + } +} + +// Apply static values from `gradle.properties` to the `android.packagingOptions` +// Accepts values in comma delimited lists, example: +// android.packagingOptions.pickFirsts=/LICENSE,**/picasa.ini +["pickFirsts", "excludes", "merges", "doNotStrip"].each { prop -> + // Split option: 'foo,bar' -> ['foo', 'bar'] + def options = (findProperty("android.packagingOptions.$prop") ?: "").split(","); + // Trim all elements in place. + for (i in 0.. 0) { + println "android.packagingOptions.$prop += $options ($options.length)" + // Ex: android.packagingOptions.pickFirsts += '**/SCCS/**' + options.each { + android.packagingOptions[prop] += it + } + } +} + +dependencies { + androidTestImplementation('com.wix:detox:+') + implementation 'androidx.appcompat:appcompat:1.6.1' + // The version of react-native is set by the React Native Gradle Plugin + implementation("com.facebook.react:react-android") + + def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true"; + def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true"; + def isWebpAnimatedEnabled = (findProperty('expo.webp.animated') ?: "") == "true"; + + if (isGifEnabled) { + // For animated gif support + implementation("com.facebook.fresco:animated-gif:${reactAndroidLibs.versions.fresco.get()}") + } + + if (isWebpEnabled) { + // For webp support + implementation("com.facebook.fresco:webpsupport:${reactAndroidLibs.versions.fresco.get()}") + if (isWebpAnimatedEnabled) { + // Animated webp support + implementation("com.facebook.fresco:animated-webp:${reactAndroidLibs.versions.fresco.get()}") + } + } + + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } +} + +apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); +applyNativeModulesAppBuildGradle(project) diff --git a/apps/mobile/android/app/debug.keystore b/apps/mobile/android/app/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..364e105ed39fbfd62001429a68140672b06ec0de GIT binary patch literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false); + + @Test + public void runDetoxTests() { + DetoxConfig detoxConfig = new DetoxConfig(); + detoxConfig.idlePolicyConfig.masterTimeoutSec = 90; + detoxConfig.idlePolicyConfig.idleResourceTimeoutSec = 60; + detoxConfig.rnContextLoadTimeoutSec = (io.leather.mobilewallet.BuildConfig.DEBUG ? 180 : 60); + + Detox.runTests(mActivityRule, detoxConfig); + } +} diff --git a/apps/mobile/android/app/src/debug/AndroidManifest.xml b/apps/mobile/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 000000000..3ec2507ba --- /dev/null +++ b/apps/mobile/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/apps/mobile/android/app/src/main/AndroidManifest.xml b/apps/mobile/android/app/src/main/AndroidManifest.xml new file mode 100644 index 000000000..6d64c527a --- /dev/null +++ b/apps/mobile/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainActivity.kt b/apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainActivity.kt new file mode 100644 index 000000000..610b2f313 --- /dev/null +++ b/apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainActivity.kt @@ -0,0 +1,61 @@ +package io.leather.mobilewallet + +import android.os.Build +import android.os.Bundle + +import com.facebook.react.ReactActivity +import com.facebook.react.ReactActivityDelegate +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled +import com.facebook.react.defaults.DefaultReactActivityDelegate + +import expo.modules.ReactActivityDelegateWrapper + +class MainActivity : ReactActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + // Set the theme to AppTheme BEFORE onCreate to support + // coloring the background, status bar, and navigation bar. + // This is required for expo-splash-screen. + setTheme(R.style.AppTheme); + super.onCreate(null) + } + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + override fun getMainComponentName(): String = "main" + + /** + * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] + * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] + */ + override fun createReactActivityDelegate(): ReactActivityDelegate { + return ReactActivityDelegateWrapper( + this, + BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, + object : DefaultReactActivityDelegate( + this, + mainComponentName, + fabricEnabled + ){}) + } + + /** + * Align the back button behavior with Android S + * where moving root activities to background instead of finishing activities. + * @see onBackPressed + */ + override fun invokeDefaultOnBackPressed() { + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) { + if (!moveTaskToBack(false)) { + // For non-root activities, use the default implementation to finish them. + super.invokeDefaultOnBackPressed() + } + return + } + + // Use the default back button implementation on Android S + // because it's doing more than [Activity.moveTaskToBack] in fact. + super.invokeDefaultOnBackPressed() + } +} diff --git a/apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainApplication.kt b/apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainApplication.kt new file mode 100644 index 000000000..b877ffa06 --- /dev/null +++ b/apps/mobile/android/app/src/main/java/io/leather/mobilewallet/MainApplication.kt @@ -0,0 +1,55 @@ +package io.leather.mobilewallet + +import android.app.Application +import android.content.res.Configuration + +import com.facebook.react.PackageList +import com.facebook.react.ReactApplication +import com.facebook.react.ReactNativeHost +import com.facebook.react.ReactPackage +import com.facebook.react.ReactHost +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load +import com.facebook.react.defaults.DefaultReactNativeHost +import com.facebook.soloader.SoLoader + +import expo.modules.ApplicationLifecycleDispatcher +import expo.modules.ReactNativeHostWrapper + +class MainApplication : Application(), ReactApplication { + + override val reactNativeHost: ReactNativeHost = ReactNativeHostWrapper( + this, + object : DefaultReactNativeHost(this) { + override fun getPackages(): List { + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return PackageList(this).packages + } + + override fun getJSMainModuleName(): String = ".expo/.virtual-metro-entry" + + override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG + + override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED + override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED + } + ) + + override val reactHost: ReactHost + get() = ReactNativeHostWrapper.createReactHost(applicationContext, reactNativeHost) + + override fun onCreate() { + super.onCreate() + SoLoader.init(this, false) + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + load() + } + ApplicationLifecycleDispatcher.onApplicationCreate(this) + } + + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig) + } +} diff --git a/apps/mobile/android/app/src/main/res/drawable-hdpi/splashscreen_image.png b/apps/mobile/android/app/src/main/res/drawable-hdpi/splashscreen_image.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b05b4efc04eec070a17f5d76a64d9f761c129e GIT binary patch literal 31531 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 + + + + + + + + + + diff --git a/apps/mobile/android/app/src/main/res/drawable/splashscreen.xml b/apps/mobile/android/app/src/main/res/drawable/splashscreen.xml new file mode 100644 index 000000000..c8568e162 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/drawable/splashscreen.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..3941bea9b --- /dev/null +++ b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..3941bea9b --- /dev/null +++ b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0a61c1b272eea7a762c3657ede11f4ce39a8cab0 GIT binary patch literal 8377 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 ap01I+?%QjQg+EDH;Oyw`z}f46`Tqd3=8|dv literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..ac03dbf69f0d7bfe4cd103b20ae5228aec2ce383 GIT binary patch literal 8031 zcmb_hdpy(s_utLtGHkg`Zc8bZ%S=M9tGN^@a*HrwN^+^(O&b#NVN%ScMp8^^$St?I zqzO?{?pA~(_fM|zd;9+W`Tqa=J@(l4cyF)Ud7anmJfF{V63$zh2@CEO1c5-pr_G5r z!1t5gH$NQsY+jO-0f7__o+c7(L&3kBgmU_V9xW_(uZD=+bgvG53vq64Qku$vZfzg1 zf12)Cl2P~K`xhsMz2nu)68jWq{UQ4|KG%MJ>iQk`WjhWIfpF~2ZOx&?bLt2_S5 zZo|c2l!e5Z5$~DW8tGuj(l)5oi|hm=26+V*NQ%2{7;RC0UcM4h$T4 zG!@rU_ue(HS=nb>W7qU4vyW-T(g*+BHtv1anF>cyyaYo8FELA^|D`Ve{w-$)x?7a~ z3OvXOW|X?bsv2u@?dNY^fBHw+Vy4krmE1H*jS%8SlGJd}E4*{DJI~9@6EkE9>V(*g zYu2hp;7WN%p~|+TAj0`V`bL_{VOtAC*1&1SITy}J9%$PFSqHL*$RjGL*P&I=?_V}H z7H?AX2L}iJVA7(C+dL6?HoOz0D|-df4xOT6o0nMyedOTh@mrraw{F(G_X>MxYXOzpQ~!3erfmnX)R}f_bRll5anb0!>IwQ)?9HZRi0)pU zJrllYU70Hmsyni?2Lp=h{AYM}${oc?K34@7-04b+migU6BqN+hLHx)(#T^mTx_J`0 z1zv*&APkz>`WIVAMQ)r3I1;dzdzIvDYoVRh{xt@>s`5(lqN|dvcAew|o-Ra%=R*G6 z z3!tyW_g68O<|$E{`#U!yW!MnMJf|$a8yalP@H^^iar&#fYfke*deSXrNiI*EBDJfp z(N58V*)pBOT7>icCm~_XF=XU1WTKmRUAC&DtQyNy;7i^g4)BvvDt0Ok?<;$1Ku7Cdx%ErW$C26n<%AK8u8eo9q0p-FW1)UW_#YiEzo9 zt6AUbyT`herzmrNn%ZA=R}Dx;yfHhA4%?2PB=p5LP@nK!P!(8+`a38{E2Qu9=UHFh zoQ7;duG0;a0&If5=df0gM;3XyR7s^p;_3Fh%Z?FZs>l`$_QqnbT0PFpqxop z)vb^a^()t}k10%?B>7?dbdK_qjk=UGydGRoo#c#wJ3&!GDy$;u5EUGg^7Ks;trN0p z#r7afo+9tvQOGMU&d%t}%~){5uk=50auwRzGwT9|&zNb`j(G_afjEPMAFtj?R}Q~V*>zQp$3gGJg$ydSCts)^7AQTT!8=Tn zVc*M(J5Wcy176?cY+fp#X{(}9q#R*$ zQY@Ks|2F(2m=>wzKbUFbBUhe@Z6|$=sr|h9j8Xs8=@zFQ%LIkV@Q7@AC3KWvZ4gA_zShN1;yest0%U)th}J^-wn)yE~d<4UBWtE>YJs zQzhRVlkN(=aVP*4V9@Vf&%C~p=2Ij;ag%e18c6b@AH_Ck@(XITDD!8Xph>W@{bJs? zV;#Wnj3>2OKYq~)MyCd+5%bH>oGuCC(bbq?IaYyo1oL*Bb+g8qLdjpmiMyO%P213F zV96iPv3?9-8~M}_gV+Yx0&o+;-QuP9jVhocn2k_RwE%%0_$BxYJ5{M^;L5`<3BCZ4 zsl(5lUU)nRNZLDR!GZAHd6DxsHU2(z3RhnM(V?}XM{d@sN50*RloI$xxlpxQ^9m$C zYls!q&jniiouH_}^+eZH*`Q$~%`-Zt;J#0aynIe@eD{*!*h!;8R$+Q0f0=9{)KDlm zdbON+Ag`|5z^_e@R$y$vz0tQMWoNf*n<|Pa?29mb;^fq-jQtOOc*yq?>27SP6DLkQ z&CkCk5MX?^tJ>{LU!S3I5Ff9iHn>9Hi~Kx+UrTEo2oqn1JFuGN7ZsN>IC99c@_D70%Yu7S5>J`&(0dcLmMiChySUlsAzL7EyBKoRN;|j9Q!z0 zW|ufR+_!*vBKcNhO6$1Q*jWkI5ycAsW18Xme8HF0 zw0~L0nTu;N!Jm&Gw{mMkS*yN;)VwM#-t5uwqm#hcE2$+-~#H{^*q78 z@0Rp#&~NM%f>4sCp~ipX5mo^5nU*GjgStKp#Lg5 z8T5!+3&)5?j&44~pE9q|M}OzzCF2uQP=UR{^L_^6jHgc96&LGFTCYd1?bEy{23vOl zf=Tv0){kqn?r0aG9D-f20e24xF#Sbs_-I{?+yP=bF*Oa?_U?NBK}!kp0H0zGd<$Hi zwGRL%&PlcsCxN$jdf)f8#_u|lO8ydoD}nJnPn;TrX0yq2+t@2C+*%3z160?pqMEbW zy!Q|ALGD}f;lWa8PjgaE^P4^4UJhq0s&2eZhls4zt=34wGkt#Q&=JOS@DR!K;7yHI zCdipTcr8}o->I{V^No<%0QMc!?dBu}uttC+*Ff)Fny9%2Mzs{^aJ?>H;lX3>LOZ(L6Hnvzk;j6+^&4{dQw;e zdJP;UWGJ#)wAwZ36x8zrOpR}n=KRuW>v5(F5aQiD>5PFc#T$HFJ=;Y8m4*de1gY(j zVjU<46;}X_!S2Wc1UWg4dV&`W@I>3y!0>^L80^<}thH)A7%xi85z>d&i5^&J2uNGK zBe~JOIiNZ^<%drT<7`r&H$6gR-nC6E#~dKg=V7&A6g|b-1T`^49ip9Jr1fY@B9KKmdh-M72V$GE9b`K|1E##ZLTH{=|3)O@k+eO0=q5exeH8h#F`Os(a zA7oajE?aEk1x`iYSb|)6UmhT#2V(bwZM8iK$%w(u*(lb1P1+)Gx3udy*z>C0kSak2 zq!Kx6JHI@HIWRg^^)@i_$bub7u-c9#GseL#MEwzAD}cvMhBIwLjC$ZI$QI#?fHL6s z6A1t<3}LyA=D3ZQ^Dk*O@kDJm-yy=Vq8N_=fpzB&>#c#D_Aq z=@!&lB17qWi8qSzb`{zUv}|ElE7%RZ`nfC#tOmLKb6JLUKc5z^X&*86`7Nj@JsBEi zv|z^jJE|R|*$NO}IPiFk?O1V37Ag)aukEZx6iTJ$7tQSpZ;#xy2akxS{cEfAuIE(i zoHw--1d!Ma$i11nt?df@VEuSIgfJ)Prxmq}^@JdC@$;|l~C zq#n<{Gc(z1Ay1+bbwn757l?Jkmd?%*L0?cZL=taI);DIZ+wS{b2~r1XHnSbO`EMrG z6&XVpriW{47zX?;m)nvCIDYIg4N_UG;n%P+am~)?+#<-9X1%8XFl!?;7`l#A@#>Gk za-|nAJs|u;^d!bz5&y{W-1(7fLkk+%2*e`qk|P@H?9B9uqT zgN7pe6=t<;S9J`Co+tKqYBYB;Ox1@@+WEl^I^!`|v?NHFJUmWmxP$&q$>Xb*x`ImO zL(-*FdM(K3Mwe7ivI^9*4ZTvPxc`;8sAe*WSJ~T=6jS&H%=UF0ZyRODYLS6XHm{c8gIz61N3L&v+$ z*$OSKfup}>W`fJ-v#7G{Xv*i&QH{Lv@?V1J_3_pO;hpBA*I=W_;pU?N!Ok8VanUtM zYk%Q)rLZx@0Qf~6px%w|bXPgC0^{=&je4Jx#E5IhTR0kTF!h$0V{Ke9cnUuy$@;)h zzs}zyaRhNKH<;yh-<&83^?WBoP^d*n$P}xs?cz?Gd|`SmE#y{+L)1s0>Cw7qK$dIZ z8cPE=?CKzWOQ$*4^iI5K%#(8&VKve0}$H8*B*fASC=t5rmjcpheKII zChD1;pv=-c@`_7RNjUVnP&lLX4lUbKJtCFmt4|rkxF@Gp#Taf{kCd;J#Ykh($3J!m zCg~jQITd>r$vB(W9n8A_ce*?VIE-Q4pE{laMm#@DGZg6ciQr zc9DZ5WyeP(&yahbXYSq-a;3x-FuBCJim-cq-jOT8g<`3)(2)HUH9MDi4B5RJkd8JR zk!iFJXb`z_bn{ZDeC)Rq2w9QWRNvim?}+O3gFXiR(Z1PRc#<^r~ zxkcfe!61->@1oAb|+B%3Unx|bRfwBBfjLofdLVec`ffv{!gWA z<{&c&qf|arUI&j%+_b(E{})j|AqyvCRpu4zfL^YR+~)l1F69(6Z)?b z=(ke|`=)^7v6Fibr(y+9hCN19Jq7~3F>2xsErJ$Kuexw2a|Em}n)B2t=RJ18aEFOv zB7LE1(V+!1afgw6`h+iV>>*O%A*|uR<`x-Fz(_s^9|CvB3=^c(dEQEIj7NMfr@qk!#t+WozSGUzHjJbIZp5POv$h~9C=V&V7 zUY#eeBXI>0b>^h!>3A&H=(*FjZa`MN9-m{AJdE(ox^GF4XF$Hhza`B2*9;CF6cX5N92X(G#nIvgaVh4ys+Sb)k46UNWC#wB?iTQzVB_W@AdzY9J5G z0}@s#fQR(>`W31T_?NmEZ%A8mN`vYzGNhz_EV7bDuAkMYb@U&4p_XbJHJU@Q(gvaAZ=u>pHTyf4Q6 z@R}8B;<1vutN>tJ233-j;IoKhEi|-uu3;AtJcHlAA1Sye%}h`0yT*n<8@0zzjcQBV z6-tUi)j+}E9U??`&y~@-f!nYKutE9rWen$FSs?HV@2xTW$FZ zMYat{#}pwz5*r&8rjH8b2r-I6LM_BaUmC^;fi=^Uq!C%#^JPf zde@tI`y-2cG@Swbjxu*~8QIGkYOJiBOf4yy3ksBF0_xPw*MC0r#&C6@5!W+EBffLi z7%eSo>4ma8BJp!(ChA;4^DR!!&9Rc=Vmbddee^RMlZc3S&YiQ4yc*vx6z#NjORrb` zP1p*KZ5$0}`J`}Nk>mql@X>w?R)Gn2M?@d7C{wR~tQ=vzGI5!{4ybE&8&!39gTQAR zMPXw9=u|M?9O#AQtpFN)3U6*}kw$$*%YnW=6-isYll`PHY+ryiFra2XwC~d``du2d zX}fK6OYo14xK=l!wybpV-*=iw*?j8ix&-GdEr#>*{78?nQ5dsUKu3NJ${mA<7N;jG z<=G~h#ppwBh%AT))B)p8ALEpT4sV~%e zbhVg{?1XFIlD2IkA{E6dfZBD8fkKRMV%1`dDIg{G7swkDCTlsVoV`4}slYpBATy)a zpUDx!ddJjS1*P=><5UpIT>tRLrCCH|z?!t{fzbR&T!IFRYwN#>9S$`x@_Q$bShY3%Nz32z~DkHQJQ^6FqYfys6K9%L(Q^ z0D^3n@_nxdi-r#Ns*ijQh9vZlL7%+&Sw5=ZzLK_D<4qL>a{Y*O$Zg@ReDg`cz9l)- zj!Zz+>Yd~8)R~R&fO*iWAx}J4B!1uaKJHX~w?9d}$Zrq(HmtTeNy=nbDS7Rt+vuz7 z2s?{I+3iQrn-OdQ)-Sbxqx?Eu7YrRBAM62PWeCrKsz9pv`wN`jh)%e&5!8Q1r-u54 zSZ~AW2ia9r6_~CF!<;Ec8jD+Vt7Fz@QgYvXAVkUqluE1L>u(2cvZwfa{29Q3`A#R$ zo=O24N!hG7+xqiUuh|)O-Phr2f-Rq(o9IZa$tyUhwS)~kH+M(vw_rb0~kLB{s6B`>@V7#^1*xj zJwO|uuUI)w*Q1%xDfK>q=uKt*rCQoNbWF5m35EtrAw!&G$YD?zUH`Ts5SKogB|phn zzz+e476skC?aEZ9iQ)*4kUgeb&-kwl7U7rNoquOaq+K` zz;T~oJcvLa5*`*FJ}cT6^g%__gh*x#91B1s;z}zk$!Y;aGqb6ex?zd4ec5tp7u zWUm^MQ9(gLQ%wd)S=bBOn&rGuH}1WcG&DMQ;kD1tQ2K4S;ioTO)*DJn-q*W3=AdAA zMv##CsWwh8r?<{>H@%fJ`uWzH7BUZjsQ&thRo%c&OAe<2z7#SlH7E@&OF{$Qq6yhq zG=kPmLqfdr;$K`)r2r+Fk)+E&sEv-)O3oCR1vvv*Y(5Y3bPeFz-s{R%VD=9Tgq;cr zDL}7f`m7&kp93~C$C_Ai3)A0+^@iMUul`T1LBuGsO|Xrj;&J}?uQ%lb8$a|y=C-vK zlz1xi3$`6&$I`CFn%#ii49C2SDq0x2U!!L8ASsOE{hk>oN-nL`+hE%4jr8HB9VJ_ z6xR6J#EQDXB>#l|BlFAGlK|P+mlz<(MNr3S$R5aI5Xo&R>W>0Yu30+rjpBE7VG*Zt z+ch=?WI+`p>VPNs`aYeZGXXJmC|u&ttd*rE%fIaeGK%A2INLA|Dnym!P>&DF>-u2js-mB z|99moqIM+d2dOwZx2L`Me7eKo`DHmy3RMBf+Z`)UBTk6Z$7vqM$$96HbwH9>d_sUE z)PI~VM|ue$!Aw!E(qNf0NjgY-PeHsTqFwl9-HvIgW7fzn#@ZfWiGH_Emy zkIWEJD?toVJc0pUI>#d%6z_GhN& z>A%{eQ*UTyRI|_oAkFT3gnLW#SwaAc8)ZxZa>xgHYyiIPjF0w<(7l@~AzdWrdiB?- zgZU~&th(+hFdDV!{lCC)X--}JP(}BD*Iu!^XcBivR&-XhGJ4-3e?BsGq_Za*fft=M zjmw#!-XUq@CMIwsbblW*Mui(0cjqkPDk!tNCmSpa!87whFu*z@<3{s1+t_7kpt_o7 oJgNDADVqL27li-2=DaPMDtG3DVeZaxpl}X4ZDK_%IZ2BCA1mLy>i_@% literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..26deb9725b93d28d1abab5f2ec9fa854347b7a24 GIT binary patch literal 10372 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..fd1a2c712acd1eaf5ffc3ba1ec9edcdc4a96197c GIT binary patch literal 5199 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 ULJ*w>3_FmIhrfIM_Q;I?0&7K2ZU6uP literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3ac7a4e63d1954fbf72d3bc9633ab895613e00 GIT binary patch literal 6526 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 Q|0*m59V6{3%^MH@2XeGXI|C&+GYoUe^^HYYQ>q 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 T!gB&9sDHtkS)0}z^Sb= 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 Za-wxV!t(TUd!WS@wBOc+(qO|#{9nh>`J4a% literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..95ac5824e9d715c20b2a4330889120c60bbfcd87 GIT binary patch literal 14257 zcmYMb2RxPk`#)}E&!a;~c5yiA&{2m@vU5)6F+xVi%E&lI9Yx3p*^a$uNhpPqWMoAo zNhLd}BuCz&q<+`w^L_mPj|X)+=RWuSTGw?w$5n#4=}A6rac(9iCO(3ZJ_-JQ!}#T7 zhd&df53VpV9iZL&TIwoHbbjA#5kW@sZuoM(_gOOwcS%XP={p*r&Yu zmZ4kEp7r13*cBZwfDYZ{l;=J(zo<^SAv>tZp-zKO(rQ; zr(Ies4s1#iCG4J&TsVBYRsi1?KV6f4aMn5M40MVM8HOkMvy8fnH-va6jl zZ1)z=>`2sv9o3ngXY~fxZzNrf&LuMaZK0ztY62ea%-YU<-;T-=9eZ&bNf(=S|7M8} zOZ&^UwTo^r>(h}F)o_n~AUf7ccuQ>7dbR>BF)`RN*wGSog87f=r!|Sg)b_`mza{AR zA_uz0zFW+mV12^%TZYcjv5ddQTWofM={F0Vn`hmPrG!n3CyZ@Nh;D{I$yYqkFIcSsdtd)u-j<55`DSDpVBK@c)WzgiM2g7_I5zzU*6xB;d>21 zhN6Z0OlEmH%42>|$;cX3Wkk;^;#6L#%&!=sX>#2SlUK{|cX7vZFd-BmeSj zl|=nDiW7Ake8T*PlbR5_G&;fx)A#R)P+-M2E?CbNbeuxtN1RyNx!Q>AqHf*(tR=4G zIW4}eLmd~H|8m^O?fh)R*3SDI$HTL_p)t!gdssWw(rDqoUrw{DQBvo~b2~dY`ew&w zAh%bc=?V7V`{+|>bl8Jc_CNevs-|MeV@roSoLPiLL?oTrwlwKtrikRR#XV6c+{trW ze~?=Srd-Km3+o+w>};ul&bzcmP^A>j-|Td89v-t1pALU|k{AAR1M`z-U0q|FwH-cq zJ@Jv({!At3$mA9Zu;(PC{ht8h1v(0_t%%(MR`0Uqj%~bX)h%K|odEatHU6k9! zmMR=uxnj0F;eRjZaoIT2H&ebS(y`MnD@yY1SADL3!uxzXXKM#l47m8I=5jgscHlISBTeu%Y{=GFV( z=czvoN_oQacDuat7B+p6${g`*JAOgGT(Q!oHo#tSvDUs$wvYvq049m?j(Cz`{nj7- zac|){BpvUZY*-9m)9NT;;pq7Loa+TnV}>UzD>nArYAviY3)a+7c#GSdOrCpN%jC>_ zYbdXGU`vg$?1hpud|`PSW4TXe*sm1E#*QuZMa_7mU_UNf&j!KAP9>~P?xwsSmu8qE zhPtkihzNsp?rx*2((;UPTTu#)BovfVc3Th;eX3+p)x7g^tHFGEa%9WAT9620KG6aY9wpV{=+_ zj)oQS95LH5EeM_9Df8x{%rLE!Wob9e`(5o0$aZyI_Uw>imRdp`&P|=+aB`V5A&b_` z1;}^LaZYS-T}``)kkpw_4|Y5`whLiFOwhN8@%lnU!M4rg4y5d!Hbupk8^Hrc`xj*f z)hLB5RT+9UR#w$soIC=Lcm39)ONA!#7PptMTq$015Zv|OCB0ue%=ODWsnRSD9r!1Q zQIpN`Irr|MdB(7+ypCS^2igpN?Z`xTragZi)HNwjC@)vcz$9^AjU13ai!Z*phD#f8 zyGm+9aq3ah9 z9(9~hM4nGH;OIl8jZAvx#~H6Vb-BL8nxF@}8qpFrI#|nTvIL>9h@|CTNrrNGe`5)S zN{5NQknnF)lQ(S9<_)K7tcaglhl9SJ>iEm^bqy(scXZw*jz4!GGtzX)DCALixuVE) zZzJ!sMcFK3o~}%4{c<4^p)(PZXmHJClZP4J?P&CB#zu?%VGhUllMw?Z=lcYmR%T+t(#7AO#VoJTRTC zL>ke6MtV>W3vpv&d3PU|1#+;nQ>JKGX52g07#J?uP>MRY#klTM{P-w0nIyD zx^q-RkTJX2H}&B=(wvLQNBvMUQtRe-ZO{7F)kxfsE+oh57T4ABQ5;hrKR!~Ceo~?j zl9Yy~IP59%+>B4hgvNnnh4oV%n-uo_gmObUvyE-Nun4rVUG~81*X%imoI5DoT|r$i zl822w@J_aS#`m4OU%!1jC1?zh(DQa9yyFnXSiEmy*OlbMo@#kFmnSa5IJqrl@3c8A z$w@ubhc(uxN?O;tYkf~Yg+4Tam@_FpI`?a1ADo`UUne3D^p#S=p0MBwWr(OtkG1^U zD5vlvd#a7c%um;!zuVrPSig*44R$;i9-gIqy19Q5O)6d*-0T0oa$;|Qp+-kT0Izu8 zy6Wsb#`k~xc;|ijat_Ya=xwt}6{(lPjprevx-g_nLgZ>H*Hv=^i>s@tdB!Zlaq0Q< zb^(Pfd-vAbW)mRwG`Fke-&-4C5(^Wm(0`O0U#Dw}(j~%-x#_K>Pj$w}+JxvIm z&JBg+6(`ev!UHdPSdznAjf?YYnqnfG;Iypq#x`qp3c{pcIV8j@Nm2|=fjX? z{`M0GvIgzW`}#u6!cqJv!>eZ~moxXm9s3;~*n;pt8l*!?T1x)BvGvz3n{d~*)D}%r z62_QhhTa@kdUGLVW#y6a0p{qa!Q{Qi9NHcvxaSqhG%!8k_$`+@aP~sULXv2z!k3TF zCxsv)AxeFG_H|>Z?_jZZ{zN)89I8KNi0Y{jjjKlwK5ay!2RkslqapiDb|1(ToY=5> z?39i(jbDhtrC15-$B;Xy5<-1<>Dq!Z68knZG{4Bn;!KOZn{F#*sX;zqC|J+)lOkhSx5Sg5H?PHz6`Sm{S`d=vP+Jh~ zCv4!9cz#$2l_Zp#6II1SlMIXD*jm;g$6u06AQ>X&yfD1cr*e*r7ahC&a^(jk{Jlpn zeE7b|150;!eyl@)>F-llOz!hT0gO@AJI~lyAbBjGdpOqB)fpw;kR}L0P=1)56`U!- z?8l$YXI~6VCstJ^8l1$MEHKY;C2&@Ix#U;V2KSQ)85r@0|4RcTvS6Kr2B7%SHmGz@=d9o;F=T~!Up!=!w$NI$9cse3xRYmdbd!kPF zKUkxdGnPm(F}5ZvYroCu0=1q@5^;1@;LYT*v;p~98AO?b%B`v@rJnNWYA+T}1?@5H zv&9S;M}|BZ`~B6ZMe3CZMItIJVrY0+1&ZSMIC~aR3^7ND=k)PWmMyQ@*-6p2Kp*w{ z8u0TwoBO1O%(fHrmEF`L0Wy8-N=g#X)wF`6{-;C@D{XADUw!emtfrFcmnjfDfsW2p z?THZa-icOE~!z93N(v}E%XLX-79OKb;M6eg~a-cy=k$c~;L8U#vvG=VmL>_r5jcnlvXty&$Bi^&JgW ztPgKJ3`+HxXr?$i=e`Ung4F30w#E&!aIq7)k?d}FyRNSPV)%qG#NDS>!)GDk4=?x@ z9J}}K3oukTIG-f&xVq+r?ZwP1SEXQ-!ba$)F z{2bF}(|+S-g{zKDC`4`>oL;Z{9mt%63s8 z4_~-==6ze}nJ$d{B96_8Iw!ll>?0bd^I9~n^Vct>Lu~;FDCOMU@vsep-~6u26OeuK zvgiHkA&h0zMIU@!X&Oh0Z7NCWE_8=;Zz+nwLG^4Ah^=uLcJc9Hh12HBeKn1dsBt*i z{j#?k8Uhxdv3(CMxIMV!Tkr6&^!3DP1cJoDaq|6xyLu4PIn`c36HQglrF*vsRLw|b zP^8$jdN^Ke1(e8C9LVIl`0c%1m6!OLGkal#l!x_wke(q+^H??)EyV6oX>4nYi4U;p zfAu}EXphr_c;6+XhxLah>ZcgT#vzV;r>QBb+N<*0`-gpQYBCF2-Eil#CbRBpiUgsi zdqHMB6kYG2pyaUWj}HJs!MPMPNXJ+=oPKa=L-uFebGxjONr%Um(l0&MRpOOTt8A!;8Qt|BcEF;CT8fTJ04;+nZ7pa-Sm^`L=P7%fV{=6ac>^8{*Z7+y@4#Z z9tLx{$Jrf^Gj%(6F2|`MmDD!S90bUxQ|DSHGEUV3Ip*D@L1?Xaoz&=E;3Aa2dHWWY zqik86kYQ9i?jb@cJZpDAM{qv0{k;E-1=L;z;XbY!o7(4G+o;)#p}V><##$YNg{6v# zQTn{y9|+Xqk$_L!mf7wv&#N$Z-JZu;6fa$0H8V=!92`_fEBD>mO( zV0cBQd#aFAeo~Xe>4SEnaRX>x)_jxe05qgIp-idrX6nj}WG2L*x-lB$L#$5*0GAfH^%lS>WU|e_f=K%3p_GT;B z_2#KY6&4G2sGRE%b~*9{C>Ebu>jAC>@WPsJEKe%3L6U_f?nm~02yOq4cZNGFeBIq~ zy<@rUdhhl&LG9+4hR}=@k7csqzCKid1eBGX9ezl552%!AQceGQy_Hhn+B|!Hb$Xzq z8DQVOIUJjKvL-;7Q-FwoV1DNmUtLw`&&4EpHfdI(2i-zK@)qd$lF63UGMcXb|J|o6 zyo!`wR~NEhw(`P-3jn(o03!7^8j}E1VR#2_mdqlsk}KSFidyx!_wGJbM%sB1Qe+oP zu7sj51RDftn^+~wvudT1^WptNVaV5a9*5^(l8}cXsle4nJrv{G5N*S7i3eSeJn`>t z^yjWoyC9KTLDjWCcvx9IWcx?`E*+y=KrQmwc~Y}SmKZ<<5(~V46Xju5LsJytspJ>9 z4EZGK7jm_H&9g+_72pcgv-{1jKj40B9#fNOtyId&@Wy(h!|p(BfWlB6r(jZXczh+E z_j7QHdE!y^f>T4@YIy*UG8$JTl$B2v9w4ITaWaXr8S*j&qy;ivo{NYw&CJS*gEIZ< z&mWo0ff&2G+gKx1)u-STmf-7 zF7)yfQQxL~Y5`H_%~OQAL%G?`gihN6O{lFM{M2e1*S5j^*=7P${8skgS(h< z&sT1Vc0g2~oIqCJ8gEn*;psYDO6v+ao|1Cuzim0FI?;-3ltRHiE*(KN(WFTJ)_MRb zH50WsQ)a|mrSNsOTjLpDHsW5c3iPap0b5%TLWn1~zHbjtRZN8BLuxoZkZZ;iF+l4) zwj(VDoKLQ5S$y0(&rY%G&5VDhP*hV>wJ{}wM&f1Hv#$eO`Ed%sTyv1E4S)BGgmQo{ zH%T>$7RcSZm>1S!puYA{hDI$)Dk`*KFP{;kiB*uiN%}EOO$T=Va8@DfYzj{0s7TA= z>%E(XzJ1f8NCXAHs&Hz^P(8uYn{ifSYYR7d@2Jq;$ z(NrgkrQy1G_dGmmun~8$9(Aal8f#c#NJJUbj?V!`*SB~|fQ+J))#w5^60wW<9$;V~ zV_!Bo+=kQw(oxARVFF@^xb(oOyBKSgJqUych5BZ(Y;mzQfCb_VFp?O*Bk5sb&v@;b z^XG4q^W*3=vAE9OUh&fneo#s(A=AJ`K#fehz6Y96XX$rtkfHWM{WJpWU& z8aw@6Rm}w_!6jg&wBMtwIwgg@5?}+AoHmmKjKYk`+r>x%ryHCA*9{dcAQ>e(i?lm*e}E~=@}g9&bKKEimzN-zfCQh{P(t^%SAjv3VU z(f-{Y=87LiLy}(w;ACB$+=vSYrDRzDNd}OlE0#6yecE8J)GsBW4x15CP&Z)aq*JG? zj~scOhBD1H_C0_5?tLpc^}JnQzkUS*QVdK+wykDjF9!4nIEEmQoJ7Gni-B=F>}Lfb zi&K}>Q{Ih!#dx5#A`)W~9r|wO#93T0!CGlQ+?Ezkza7sBeDf9wl`hWj2uCni;h%6+ z(|I-~--R8*0cHYKB+kK|xX^yUT!s}tvLw?taF_=wqF@YTWo5hC05d?^V_>&2&X%LIO3)-r{GWN^jRjQE1OUl&}3WqF*K-6QP1;+^}<{$6d+u7N) z)~9t+mzwDdlx?J&8R&|58^PcZp4B7Q907nT`1GgNK=F|mc zs+yavAe7=L0M7(kqTG$a)ftbaRaND?JlpJhP~X=EdMn8S2`fC*)qIewlp>cvi|OWCC8vi5pzhP+UwFQXv8*4xIe@IGsE}OG7@17uIFOm( z!v3((fQaJkHt$cV?hWTtgCR&ZqOaQ-AJ{F~=zA(RTAuJ}^CYlDjzKkz74%@aZLrbC zwj5A1$v}-$)U$a07%|)I9z7kw3>m)U?JsWHqH%b)eD-^}#=4~ZYI6R8_1RX)xtX_Y zPPrL0*~<#|sTMCC7RYul_Y$ueaO*-FkIj|=>`80w4YyX4=9TMVjUy|12*$~v#;}5j zkDVcol1f<;jpbH>R8MSR9xNu74-SkfPd5fB5JRr)Pr20_zF$o`#gz=n5o@yh|Gt~M zXJl_?BYO83c7S^fdl#KaTT0H`Gln&aCHJG@GRFykNoco|goSn%F~PnB7vfm3hp+(` z91mnrDa{4X528$Le44QARUiP#eX#Q%J2AXHR>=KB#EB3RrBJc4qLkuX%nN!ou(@Qr z{RCqe0hymhdP>oM))?ppj1B<3ECIP*x}1;6l2^U=5}Rx#p`d%=gZj67{Y+ItBw0ld zntURynrl5xo{Nx?rp8-z8~B+ORQD{506QQAfHe^ zrS-w$s0i@P0I4AiO{0)dEPciiut=0zWZiQKc%uYKIBSl^JlM zZ#)k<&K6I)^JK=N+KXFCHc^&Ftc2T9sMEOsoZt#OeG6kHPL^>$DehDTd4U&!#82Xz zUT8EL@0&k*UPU#FNqofiA3}#JBI%A1B?!id#u?sw_!JE=5jf*g5VqhHKEbYtQ^zOMFkXIWqjZZfQmg@=J`h^KoqgG1KADu=kls~m>5*$fec$=w8?o-wbt&tY1#70l5!=DeD+ErUsLgo1@!# zKzNr7Su{hKEXvTfbUQtqx-hct`EeMCJ~%G$?9*=7Zct{@crhk=RH(*ehOh~Q8kls@ zERJ7*@0yC8szfW^3avS$mmwcRhT~`K0iFdt(o0W#dR>~6+TUob_Q7bO zonP#1eznk?2^3WH`AOZFqo6E=0%okFk%BcHdr%XfgU69ImmWWB1HM7ygr`6PVn!h_ zCYI^@_9bt>bBiQ@Dqn__jORxl#_+=05kiYc+8}d>O&G{oMdNg8JFe4nm&z$S7Bu5MAXCv0XBt0 zw(E;`G_3j8RVmIJRzRX)`GF0BO!Mg|bCm~*d`9NJ<2g)r^(7k0F93v)A=mHrb z3n*CbBk|2C89B)RG!htS9u{a#JXSO*cMpOb9?pi40oHcBT=C<5kb{6yf~Ery6HX}v z-6-a+2vd%+m7Wx36jdgkYLbSw0$|dd_0xp}+xu6{%ldH!n+5aBWuq=EEA!I0ooJd3Etn zfSxz45-UMe06r56)vnqq5bA>7w`pIH3(vtlrXC&q426TZ|5{cS`#Ltyn7+dxt}*c# zsOJ0K?GC^RmI*JdTg&!wi;SPev4H>sWcS`p8)f{fl^=Nuh`FxVkU)*=uja@(k1n3M z2`DGO^>RxO{L@P19A&PH9e@^iIg+<*28U!*T=65YJ8b$fybpV6y=U6>3~5Au2sNPJ zj8h9v+O5fbY4Qm!DUf4cR;>fk{6fDo_~VCTLV0eckb&ytlk{AQ^yX)*E(>f&EP3{suj)JAdNs;yD4|0~F%DR*yLckaclz4}(pE zY3VcJ2W(>fW2+>nN5HT$o-LwPoZGck&Z+u$&oS&okc9*h9-xMX-n3FuYFrFqfL4G$ zSUyT29)K2XncXXIYpjXUK8au)*FQkK2bCoO4naqg&*b~Zk4_>D@V?*#KDxL{S$TIP zlVEhqD)7Ojkn0Y^^YXxy)1l_r*FA#*!OJd3O3CcQ^2wZO?}0V?lf_$O^{n!$^wW^z z9%NBXn8hoG1l>NrOEhk{>eP~*qobj|QHZ9aQ^bzu=C_qvY0gj(2?AD~PJymC0o@pI z20>7K82lL@M-C7I4mH{@2U7xE#^8|uFrb>)e+|ZBZHpoSOz2GJaqoo7n?DF4k66KL zvjckt#K|&R`M74<^*u)sh>s@vfS;-zR2m;WN?pG6lmZn^5rjSDb$<9JX`mBpq8}pw z{vWR%5CA9te$Nl(G$BbaMwXYA89sF4|6mxRZ1kqGcCJp#FB?_wk=@$%-oFJHzF=FL~e za{^a{z*)WoRs~=&p#DnWsY-uv1OZUeU?M~*OLpUua34xqwh+q@4OW!3t8MMP6k+-e zN2TG=!oKqUIv^n0Hg+OSCX2|`{lXgA^YU}Bb)8K*O7gTyPQ~a=Nurqeyb!mfkZZBrm7|K2OjxkJOOMKsPyhEi=2dU+E!*sY+YS>I6MH!= z!59XKS&YUM(LL$eHX*v@qvql6Zbv=q-*AwK^02PU_QHBsg30pd%1PTT?e-JBn|+la zk;36ycr)qqKV2rxB!Vv~bZ_#>ZDq9sB`tRLx6;Lv@j#^R2_c4y&RC>aN(;v!psw0d zE3ZUogXIDO(8C~QqJFORKY7Gxd|Cbcv6F^7!VF2#Ss~iy^j;96zDz$32cyL%zZz`Z zxJGp5tAI~0{iGV{rYk>WI5-?ZBm_Y}1TV8#iaCgcrWX+y&d4JG$nX*cF8q-4L^{+75YL3)ZtTHd9sL{}Diy)s*2^WH+6Q(1#@Hg4k(U3$wkz#wQIR76SM6MD z!Ckk^@ARzqDpozX=r1+1nYDoHIxM)0nNkRreyE7Ug!R-n?OY*5V$W5f(aN#UYR3#7 zg~vljMM(=3s=iEU=g9pM+=^$77?u;YKz`S9;%H|MySh6Ah(x&+GPY~?9dvZyTZ`x@ zWgS6SO;QbV6l7$1f^47Z%yT zTrwL2xUO80Ha>p948Rb$k>C^nV?}baK?Y!ed1`S3pqDDAhG%tWE`mdhNuswUynE+u zq>{5x33@(ogW6gX(`V2Sh76B2 z#U?8({_6~6eDlo&RZ3jyYpol2vVn758o`coA>d_$p7;PXpxVB0%UzKz4f5{G0+fm7yblZtacbS<)ZF%1pLD+XlDCch<)ZM1;)e&(;4= zeOFAxsf=MChW%^<(w+ek3HyBE!Z)F~^!X&%sg$rmC(P$!O)?=ds5sc31ok=g zE%NB}1K{=oRY* zY~|dKmCO1T^2S+2ez-CL8eQT896)J)|27k#9jJMBXMDKdZu-tHhcPAhtt+_Y#s|!G zX+rM01*x)S!p0Jx0N~{N;yQSMWy`HDV06|yPI_G4<}Y3fdiSvYhTl|cH=r9p%)qpp z9zN^^Ffy=+E{-83K7QQ%<-#^Y##>*SKp=)APt56w;)_qPU)hZrP;{JlNTp=Lh(UY1 zux(xqV8T!zr-C4R)fiThG9Wc{cS{mczjhD+++0S>-rlxQ%Ay%lxS@Xu+7%#0fb2NO z%(xzifF%?T0;#UGy)h#JWtXS)Y}ei<6F(3=uN ze){LiHB?h;E7}sz)s2BH55={1XNUFD<0wV8igfV!UF@n~En9mxH8!G8RpST@E@lpq z4*EK& zfGrqpu)WFqgbnV(mHH-ib?WYk3V`3i2Z_$gO3=jNXdsR=9#c843DpODe48wy1$gX` zvhrLcX(WinxbAd-hl`=EbG}%Uo8!;WhmPJ^DWuatln28XmNHk3*U_;(%;{ebL_~)x zh8otu>dfpUvjAH$m~*I~A$WGj!KcY}1NfY~+Z;PLonvsI zTZ7J-wNABT-1FIC?t3PiHT2q9+J+g;4>^&iajgFv&`pNvFBk*8C|#Hgu-jlSy`Z#v z1SKpkYPO%Ko>;Dh{)|k5HZ;@3btAgx;;&&%o?>{7$Dnh>U9{C0(FemIU%Z$qZ}F5; z-i4t-cU!j+jnr214+z}yZUQ$qIi7wWM1UVZ>Or3TJS%9}pL;m==$>UG0B@x`o(hiC9c??`AMIcRb6)IT(~b1kpqp^;^oZ)^CXUm)OTQd^Drori&o&@Y*Cc!;1JoS0b(pWgiTcyLi=;?$*e z-g~8=wDs@oQ{y&Z6K3DbX-GWzh>tklD0nCK4@JL{hgbLP+tNRx)%LkjiCv%SEp)5| zr(TQOdnM0Ts_i2j%4u7@ygIc${djd7?|jI&W4~{6@aFR4%OxWUua+x*RG^os+bdOX zyqls6l(G`vz7;!sc+BSXy*sV%5`MHy1iTYKHHEHkwT7e5^uHT=9+-nqp(obX8V=1dbQ)Py_=Gg#}|f%$}s97<{9!oGRhU<5!u<| zs)L%Ho4NV<@tf0^aWLk%p>^9kTs3uTyjlrfdS`=!pN4Pljg2tw%PcN?)ac%ta#Dvu^ zh!xP@iC?FRN1TsON>2VozqT|qEZKZN*s)?Xap#KU_qKo)`>`e;!0+Ro(H!t)(Y>{` zR!SEvi?ZERP<7?^Z_L#Qf-f|P7Z&A>eu*6|ELqqS6 zA3dHAOY+y*Ol~ZjC@bgfZJjEvs)~aj;(pa5HWz0*9;~gkUJ3^VS(md}FUi6Jsad36 zTbq}aWt<)IA$0Bn2mdP*GbuF<4FqhN%%<${Tb7!-5SAzLVtU}L<`x&L9Y0<*x#E3f z(!Or-LF+rNBOgM`rkuw88d_yy&bn241P9Bfq@={8rvtyKwyz_O5y6apzyoRU$_atT zPSE4p)INQ$xmj}J_3Q3mzgk5fH^7hv2DmIOImW%!t1hDFVh(1!v(KSOM0oVWJ10}# zFZ8Eh)@_(bUHL)uY&l(5?*Y@=>yq^P^=oKf<5(3|%F>6f3Hb!Ur=ohFHn$tUKADd* zM*^t)-o`nt{J^BnMqSJ4sH&=;i;JvHt(ST06vd(0fOKXRFZtA8`EiB4N%w#M(LR4h zsTxlCnPrE#*`2&`&%?KF?|Pe*OYn94Ay}E}+3G7#q{5_R%xfws!S_YJY*@IuhQLpg zy)|d2iO%N>BXeyBY40S><|`gJe-@G1B`2p2KiBw8T4j1gf9+iPy78-Qa^=g$uS<`e zhSp_2gd*14I8{Zyx4l^2NKQ%Nl(}h@VOt|#Mk2U0+4GHi-?FK#u^G#)_IgtqJmJ)n z*=*~*jgLB=rWo!lvkMl+s@57Ff0S*N+t0h{U3Si7isTOB-#>+ETJbDqZ`c!7f)J_7 zS?n_l4?OqEH&193S}5_=AI6<4kZ+!`q!MbdRHrV>W(${d_{5`G#OMVRym!I=3x>N> zORKEjg&)LUt@h16B7X4LhY);H&J^@(T|y_yV#N~dW!8@US9s*7N2aW zEXp+HchrwF*>F($)5fLFIKzrX4ytIwB(qm`$k$RHDsRMm_UQdo2^;l=nEka= z{PwL}CzB`EzVY_%rH>xb%rCr~4jyWG{`@&R>sfbq=!ujYX1taj)LeU(RZI5sJ3@_6 zpkLibd$aGHYJ=4~jdh&Qwfz@HQ21J_cUMN{X^v@c92F?Un)~6VbCr%6Z^GB9HZ}J* zihJ4|X`;LejPGc!ogrXPGl9oz4bjfZzR#|nbQ-^h7UnS}D zxBGOAil}r#XE3wCoJrM7fgcAXyVzI{s6KG&i-tuHK6hwNr_GOPKl_>8B^_c_FE1B$ zD!jm!k}h{!ZXFF{OL%!lnT{J43#fU#AmP+4HGidwyrERwVQ^X7#s6VE2fgqm<`Tca zZ2587rlZFbBA(`8D(=r5oWl)Ix{@wWg#JF>9`8!r9>0!@8vIfEYWjlMlc*=XUdGBR zdnVSf!*9Du+ua&r`T9P|D2Cs$gUG{6~axx14_q{Mmb*c30qxCwDezzMm|Cr~Xf#+s+}3oQSI643T)nLKbH!ihZ9eti{pQi< zUU`km88jpx&3ye?K6;2Gg&*?U+3}-&?f?1s|2-!QvTa^Y2JtcPW%aG1CeMFUJcW5z zDCwReQyEX}8r{fTAa4HQZs5V zzjc%4(I##aA|2}(jT&`tbo+8alt9;teUc*@uldFe_jOa!g$*j2j@-9S+7%Kn#V*x2 zX*%q!P2Iijb_~Otv|E*Y&sw2+VrZThPw;v{cXRXbIGr%U!}G&3YOvzPix-EYIXyh* zcZ9B{H?*}q{F|}Gr%HlG31L{u^Ne|s;YcO%D^Ya`8gDt zk*eWp)p))(Mz)_Ie;8Y1*dD84UMj5ID5JHz(gd zVZfCjs9{{V!zlkR`Dl$;gNQoI!V%8k0D^x|UV5H!)fFSA|0cFvTd_E;cQf)J)s0L*IBNRV2iUH>(<>aI{i6PdIMqb{-mU&hZHSZR3{JQ6Z67k|TPuoYGKWBz@t+ z+K=NK7X4#qT zT532|4^){&YGn332nhJh&I#EDBj zRndE_)-ig2xlngH6lx#RuXy?LpoWZ61My5{|9{Mi1n#QsBMfHlAfyXl2?)4TRi(t7 z3#_ax(at_nVk8nd6wG8Ec5>R_>Rfy-yTb^}LE4M=do+{Pkz{K2k0y_hpC-rbzw`Ti zs>EnnHW*^E;SH2=L4kBtFd+3g)P1acVN>7IDo}*?}A3G?8 zqBG9brb_L*54XxZed@%$O$e*8TlIji?+N$g;w1X#1^?=alCq9?r}8#0(%{#x(SjNx zDR|EOxbNunMsGfXHaE?E$r1JRJR>2w5kWtB#Nu07c~6g7(cwm7>hcNt5lrmM zez}Zy!TI?YOT}!p3@a-49!dIpx-0(@#wu^l%g2aBvgogLL-O!d4wnwa1XflmlIWbN zcaJn8W=7p9>>JKJEt)9qE=^!mq&~bPvqvkZ$3fnF7w&zO_rxwMvO&`zUWV|^{o^Yi z+BssVd|DdA`^Ut@`*9C!HVfHgUAZ(#q?R432lC|2+4yY7GVNM=dk>cND$gd_AN}&} z+by+>XeMJz{jCQN1h5c%N~SxSL>%(4I-fqV=NRzUNxklM+FMZRGo!ntDYe8)7{t zl`f}6alWt2kUh&5L0tk|iH!Fk?BVzn&Q z_NuJ?o~H0OE>X0WkABs|eb;LkZ7EiJ?(S*-J?Zj1Fi&RBU4;{s%7!8iwB%Rb%!rhf z6JO*l_U4M_T_q1A)Lc^U35wVy$7U&*B#^lh%*#y8rbMW=Y=O6={@ql6Pk3{#0l#Q` zgb($OG{2+Bz>F93YuKQ3o%?YsaV@v%`JakK=6wGd_uwF;W;2FJ3Wg)!?O#t%i(B*8 z)z(V*`rcFtzLuWH6=F?`Fp)?^qBhDmC>68nh^W)!!n0Rx(G+C!L++$e;(e;rXp~we zJAd8tNmBg<^L=i})m>fUc`fRBEu*6cHDcYIi-VAI#Q7K+CJqWGYc9*D>V2K3R{P%+ zE;L$8u-I$ta8yGtsqO3e>@7z5J5?>bHBAy8SR;ce@Oe{_)!sXH+sTa?h~D306)bd! z|Ht?=-mbk}LYBT|@Et~NlHly;7bd-dF*+-+bBMkLzXH~aGZZBV390K98hP30wYXMT zBK16MKd7PSFG**1GNWdzv#Tc}8QfTYBDtcRauAgygWSYaDKr#`2uv>?_I~PZc9v`` z9-%zDRn;Piz8jE2Lh?X_vK?*D$I)j9u)I%0;bCm!9uK5Q_h%+fax`sns2_|YUHIpf z!kZbz)a=0_QaDM{YvyO_oZo4a4D!(MaM*q}FHMbDDPA4!yIH`k0d-7Ly6}GxYVn$9 zk>NsDQyJmXYImjUbT-X6IsKf?8JN(^Hw;eO;ZR6%$P^Z{OI}(29Ze;TE~2XB$q8iK z@o`vu3g?v>)lAIg!rrVOw+<^hYL7?l+EWs0`#D__s{zVfEo>N`vZ(`Cus+iY@i z#`dMLSV*i#WiBQPB}ybm6p6L3??74a8pDwu%+Ou6yJ{JSrhOi=@Yq{LrPH%PQPP%C zwKJH8B0zJF%6%*25^ z2KnI=p-H4Bi*ol_m;Kqw{!Yx+jF%{XAj2Em8-J;+3}fMx;}6@f$Rw3e4lbn9TCT|8 zLFY1el$7^mblBxftIcw9TY1g@K8nO6O^h-|{h6W%RQJ>@jHvhx)Xy6c}bzX4LB_Sfj=1_L-Af4Iwn*rNDz)5WtYIbC^JAO-mk z0vbE^#R$plX$u<)PD4@Z=s5TE>CY?Ii?XZC)T5*qOjLq1GS;f7T)%#&E@MO{VWQ?_ zS5dW(K=s7nf`VV_Nmc4@)*@M!aB2RYnMe9>R$LP6rr-kij$$?Qp|6hxBY2{@V{9p0A-b_yB1m(tz9+5()aa~~!$~0y!nW-*4aEBC z>07i0%YzgDJY@bJm&Swr{FT~mZ3{>K{WlP+*SqAO78InY5_~c!PbN(gnA(P>IU6Uu zd35Fk-a2sq=L!zO_vt;;K6itHQc>{x`~O1CIu{#3)&d0{V1=XP)7`6de6zH#pk*D``5Z3&v5iC&)&Gv*EQzkndB@}Q&WI+&Qr5V zng=bf7h&La#CpZSq|Iy0fB*LQHdA>%`-qcM=u1k2a_oLME_q*HuZV0%*HS^1 zQ0@BO)~4$voAkH*$(qm8V*)Dc7|dTTN_$t5o3nhTqiuHU;9&KqAvb-)pFh=r4D88V zb#y=wBs{EWBhhRJo%zk<#IrteW+1UjT=t@EHDO#{7{4c0^Mmrp;1@g7{-=%G4=^+DK=n*P#iYX{QS+)8DIM- zf|-<66d(Yla6|pzU#Qw`Ol7Y)Mo4O!x%3{b;kFb3)E~DUgy`sPZ%a*u9wbeE`|~G3 zcxrU|rF`0*+BvbW%!9VJ7vhfYIjXH4jp-IL9Qo<=W?*?q2fslM|LK%ivpDY1+uvVH z6p-H@CH>>azq5S<)%PDh+{UlmYgzJTB4Am_(^J48p01&SwTV^BQ0wjO-5J@igTa)N z-xCx0!N ztIie@YFc+&(oYRI>w3*i`c>J-e-rETFI4(5+b-q;gDfWjNtp-Snm)(6)Ks3qdFqsKs|+59GHYAL-rkra3bgx>o>+jjGUwBzQ3l<}hH4p`25x!+ zZNwSo@2p<>vvqzRU+3)4M?V4>Gud`bh*D@IjBPtneZrbVeU#@X(PbafQ?z}A*8xBy zKmYbW^}RenWzr9tqx$+zJRbgh`HoS3Eh9b8)O^4NZ$svao1WiSJ@+*jjDy(}&PJmc zvi{~@bIyd!^(r8swykZI;fNcm2llqEhp(^DgJyPHH}-ZlAdk7ZOuhH^M|=DFPOHrF z7{o*30A|!R?2aO!nhej*?gV;p3}txp@bOK4Z9CA&=8)HdG;3?SJ4ZAvD6AMbKELb9 zkA(%z4ooup0HxKsgtMvnrQ)>kVBT**lZ(-)*sex+6 zIAj#?NXHXZ8^iJ%D6P-O+$q5pZ|7(DWLsqh-#N=a78Yx2Dni-J$#d43FmVXkDu4W= zZH1{Fl~GqkqL2Le5&PhQRTN=~omKcFXbFrr0jPV7?+6;~Z<{wR$|l4O*!j(j$-(+~ zFcNPw-LKxf@tVTNj(Pf71pA_3R14y--4rC;YsllqVwse}{rrBi#HcG$#1at;;#n%A zpv`7W_2Tb+7Q{*0Ju%t9-c-($Y<|=fvDP_ZHb13uu~u0PJr?@YD^zo&PT1}D8Mh{#5Gkt*G*4w+@B*D$y{g!knUDa^zXXQ+K zUO|_=;o_e$&R?YZtV^b*M|h%}nSrGbA4=T0Gmnj5eF`rN7y;JMX}_~twwqG*;zdI3 zTX!#CX#TR*bd${B;bZw&9;nDwX|lU<_`S&P&CBbbi%W z+KBZ)x?WU^jshCEI$jp3wdviv)s4hj?;VXqh2zIBLjyBec}AXNs&pvokaT0QT#7gp zGWmei+PO2OVnb6?Y9hUTWBU1qy|RW_(4ePA($1Ir!`|MTwMVE`3te0)CJ&ANWi-Qy3nQ;r&rOigX5 zy2Gp_rVd!kBuN8A9chHF*pzipqi%F`eO^m4gFCN_jZoX`M790qPWkQ~ikp7?2o%)# z@a#g72Wx)QB$Kpl16kj({1?rrsAyx{_{7Yn`deC}n_B^mS@RV5y2qw0I_$F_w@R=* zEikM&!MY-qYNp4PptZUF9;VP5b;#IZC*!1z^ODujFBNb&+Wtu(q!Nw1mg(t2C^{{u z0)p&kQY9l-sGT)<3Cd7a)1mR7zuC^D(d4zcW3mI8d`IM$2@Zv3m-_WQoQoqF-j44b z<$Ay@9uH4Cr?L2zwY{u87Mbkf<|YK<*1Mn11iBz=J}tTqhP513I~T)#$4a9kl?F)Q z(dVc~WuU%oJ_rPi^j^&C5)rOT; zRqczCc8th#b#c*37%5nP`Zd(sorF}$lrU$%g$OBj!iy38Y?UYNAp8>7t&;KkDx|fB|S> z54US4mI4kVBFEU2SkS|$s(6&j^_JNsAYtp3Ha}AXJ2Gmu&B>V;vFBJXuT3%Y~fDM8DK;|mh zL}k32@Puq)J^s__JZQ|^j9+TNVXY&F9&kG}vH>z`kquE$O1ewC9pza1(+@f$KW7HjlIN0JA(@v?q<|wZYG=y&Zqet1-TAV?Ve$ag0OOT&u-?#wCu|a&7 zs0E4o&HeZTdF|d{vDT#XU(X+MQ;JB}J^nDkZ;O<&mYo95|vN;I^-8iGg8mU)dfBa*@~BB#cKDT#cco` ziH(%}j?wcQf(}GBY&Hz03v1{BlDghheDp2{!b@hCJxI?vFhthd^xvI3YgkcT9S=;7 zdb$aqT`fZdgbo!vADMJ+Js;zNQNA&20}5}pleKpQsl0OhQn5{x1(s4WoMr^5hDm9* z-^p|URM$Khr+JV+Lb*-~WROIc;-wplB|t#xnz`A`OqFdr8yh9B9X6yAna-hPp=1ug zjn_ve1k%PNG$27i2uUyYlYJ;*ERl$4l6(9v2ilrO?9@B^on@2;y`mmxf5<~met9XI z6!n}|`LK?Kbx-xSYhS3B;;7~TZi$RMoY4ALK=ulE(#-GLAHn~N6cje;R@S@2irs>! zfz>{5D6;u5IBAObU+1$5j5eLz-Lxq?dp9H@MH1c-x>83Oeaa%vsjzok9_d3=lONaLNQzzF047Rp9 z{QTMYiPOJvMsa+FP$0s7{t7t24^leO1HB1A?4DrmwmVj#^?(O#2V1Sh2K?uvQ9gmW z2fcawoNTiXBZH(1&t5(L5HkS!C-=C+?tcto1R_tAwEW4Dp@llj62Vs2ZU`zC#A1>1 za!(dE3*3J>C6}ez0H4MRjxg$^E?+My>UUBn(I+dy*y1$>QCWb^WO%gy{c5w{E}1L` z&9!aUEC0m^V7jp4!odBH1}0ckaPk{OCLr4sj?mTM$a8+p>Lv+g#$tAId*x4BJNqNb z^{{aaR6Zcep`8|RTYW&vZZn8SvG*K!7%M1ZT|F_1-5)UD*8_O|hRGhV%ZeRh=p2Ch z*Kb$(24>=71vLOG^ilcpTI8V26RnK*#$;bH$#T3E_Mg#bak0%;LYe0_FoX=^SyLVM zAN!*rTcI-==NHiWwr;Jzb~^H)~hMBi+u6+8a0@+{hnTIKNAD z&pM@)M>C=I1nWir3qMQlMx=iR*sH80u->e%T>X`|8+3ffNGKl6ulJz(`3>l6;$5<{ z`Oqx7)`k5VJLnupGwQvypDo8oV1%4(0}!TS5(;=WGjo2ufJx#gFO#itq zkTf{57m1*m*A?LpiU7R>(i4FI33R}ZnP5*#j{_+52KG!B{-6e?YEP>Jj1${+*kY|p zut%jx9CBW2nvDEO>4)vY4sv6TEub6)Jq`jhA7r}os1GlVIzE3?(C;(_N`QVvT|&MA z{~XwkUHRTPfKQOwF3eF>*nh^KgN!sfYL@jray1_D z2!zLGPVn&6)DZ>zETW`cQBVDA&VUJq)n0~3qJ;=HD}u-y0yST*mZkFRW1XSyy7;3y zJ~I{*!Iad6BE7bN68G7Z7^6y`F{$kT{O#K*)nLi^FlTr7N8=trrIC?)(KzVK>aYWl z)9H<~DU*m3+qI>3?tbmuJHKi!O~AtxU9JS|4Me8Xu{d!(uJyLIiC~po_NoJ~AP5Nf z4Ms^%eQhJ)1Meq!z!I^H^?gse?DN8kpJON}!cbSjCNt*z!kLmA7^lg`U*xUD+5FHc zl-nO|g?>UI63={fu_{35+1R+F12g{)53|vkUJ@ia)HXJ3B6W>el&yNXO>4|CA_u$V z`-0)6tI1qn=9L^=QtipcseHuLjT*7KT}mtuZ9R#YE#xO2hERtgFp*Vl+25@&|k6!O!~0OioMJJ4Ta1Fy|;ZkdwWoqXjTDcc~f2sE0ntI zi^UD%BO@I$(bee~edhHP0s;0MX3&AwEqXB>eKA0BGEy0(Q13aVLH?wa{C1R?QiSdy z7Ju0>a(}{?f{==QceT!ydrOSpKnJ7`m0*UZiahC4{fy$sJ6G=3D>9tVRWf(vPWZND zU^T_DIOs%)dQrw9tYQ$YnKa0(0C|aT->)Q@D@XY zZ4KHV!La~^1+o(-DI&aBrpb~wE4rn0`)f09_J-f{Qaw><+CK9tN za%a9_og9*lN-(WU^qsGxGVT*_0A(4vReL}~=CNP|zuaj!p|lp(YYEhG zmUVykBJE^-g`^>dqM6l^YwQp&WD|8?D$2O5JJvd>c(nylFCmM28)lY!IK= zK3Qjyk4!*il!$m!OAf7}GMJrHBq7vn(fG4b(y!d9w&)2Bk`qRTz1#Jfr0oR%I0kph zets`1J(&i5f%O%+6hx_j6?;mo^?HX!wBM-|o^0s;2l(sG2_e?cn($Mkv~ ztWVN0)~ETztlSw$6D3WNVzdB=ZK6)Ac-h+}>!By!z8%E1R94H|o;@S+s9cie;f8Z#Wx&I;ljgRb)%xD#k`MfUtr(S}F!_ifsxF<=zl=yq@Ic zh)O;jY|uA|KT5FBFEAXuAGUwS%hH>wziXXR`*y#9i~?aX9j%|-0tF`db)jLzB~_Q# zc*+!KqgP8PHvSPc4gwW}kfAf3{Xcv2T6gav9VMI&<}+~sGg9$>vN^Bi93x^K2=%Q2Y9#aom^fTScaCywQe>3F2KJ){;ypJ;sg{N z^;D`qx*le|X1RG{ zbPbo5W&+TT;tOXpzd4<(g*J<6(@^f@x9PD9D&)7CenggPjhB-oxH%A2=N55DEOR+(UP3uZtp#kjcgtXZ!{(@R~R@Pzf^VG?=lt^4+i58Lxj}R;B z^3YqghIp%A){VV#bl_OsN<1}&g{=&gwO6_$_|*-2gZEF0v@%V-EvqMBX+S}|N;Woo znO^+HC7rZ+4M3>3{Yt#9PC@l{U~P(XwqAoO>sW=g8&(*(18jaR?`3yW{|ZB~VeRf% z!NJUPvBBxW!C2Gvgu&cQJGG>Vc}Hb*Me|wt0h`m-dGe;YaC50??=2~Ik=D|c!-q?Vg++Vb1oYVxpvH{rAfgc>ulX zM+!3SB3NkKo~GIBTA}y+R#*XRPPqac=>W-*`Ri$nN6wJ&kCC1nYTPcO1=-hV02ZlbxIhZQ=wcL=%!yu5$ z=^E~ejMqhrEPm_R4t9saNn!RgQH0vs&m<)HZi9Gv?GM3H?1JoTu_#0b@xIqY0hX!= zqMmHcO}~_2ZEC(fE*45yBk}od8mo~j&c3!ziUS2p4@@5p7{*3GL-=1DX_S&pjYNA| z-qc$PdSWHwAIG!0?F~oB)ZIX_L3vZAxj^B^hP{D)y7E4bKkwbuIT7p;{~i z0!i=x`MQdz|Dsx;cib}FJqY0yR&$rFyj0n=FBPWali+|V%7T0K+!~g!f#-VU31b7DWXTBjn zX$QfqM(GWc^t{=Nlu^*@n1h(Z{n))(@+ZNs@_NQJn;oC)%020KBFiP62f5LxG8=)` zSlWE0@y_-OC@8rG@!R>HqH9a`@Oq(BWoDg{Bl@5@4jZC53p_3J2}@Uq1hJ|zi}x)+ z{bEffOnt(eP0*_8619O*2b>vlkF}?#6{fVLThyHBP)JQP2TIRkwfx$(cM~j9KrEs2 zqrwABX+fegm0-775U@G|D&Cq83%a? z6C1>(TAP?Iy!oG+ntPR%($G21ZQnj)sPX}=zjcQGoukk0`Lgi!6T5awm01Imlo|j% z;+_3b;gq(oj+*6t$|@`dk8gP{-S~E_r|3yXWY3itZyBvT` z`SlpMdNiBuoXt66E@r~B2mPQK>eS`ORIr?q1U9Y!fO33EKV$UqWxAtBkgn$hpw~o!Mm%P zNi1H<(vhR2>k@Epsqve-jQx{#kD1b+@tx zR|t$jdoclFY<-%B6&2jN&&xU*uwJ+F!1F~M%2VWPhKCjqWCCn{@Xdn7Y9!kLnjHFf zUJ)9&CfQgi`MeE`3y`s%$A|srYUf3ciqRsa2d$~1}v+ys^V zZ;17Ymas`YY)2obxU$a{sQlg4^Cs{a%*jI7g_?v4hE}1HW^5d+5M{lWIqRgL_N`3O z)KoG8BNCnq4g#1Q1K5ofbzqAq^QL(Ri77&ED04f3_=qk3`&#K6~*h%7lBH`qOtgTlSV# zR<=3IyQ*4*_?DTxfgTI}DwSvjq5m0WE0UV*p2~Mu`88sH5nD#?*^~`plNpE}R0;O2 zJ930qC#j9!h(vem|M|T5Gz^~`+0q=Z(WDyLzDN3X^4XWCn3~UsY;Fzu<#h<|qtF8> z9P3tBR`$8x=&~IdYT~`CwiSYllS;5==J`y$gsQ5i=VA?D7>0_{z<;RKbt!uPWUf&w z;seW?srL;#^oSAH`U@8nyKhwX!LOYH_xFQlgV{GMyQj*cG~e_c$W*y=Dt9g9|(vi^68+@QA@}#fd@`2NJI3G*U17fRRHQnUbnfCD? zCpXVyHY2}(M>~}VA$!4U#KYr0H(q|uXhYEBXMI}mS4oD1VIod*tUB5~?Ng2h$;{z+jF2Z+f-0I}yWa8;u%+Sodr?uzqA^5p8D@>tMJz6?} zyQ8FG3a)=?cKsIE@yFg#Aa`Szb{GGp`y@J?bGcrNrR6Bb_*Sz6Tbp-qlJ=T|sj@^Su`b3IdK|z6|JF4l3Pu1%0-ruKL@@4lv zKEAWWP)9v77sA)1yk-EYIj6`{*SxUb>7}c}m4jMte-;m#}WE zBs5xG`WZ48=IbRg0IR`VcPP`Yv8_#f3?3%de#+h8?c0tlV^%HaPF`x`NHG3;B^-(ns0RYmCubgFXgpimaA%IetJxeBhmZ&$|o*C-8-SE zm=0ICT{lHSvdE-o^jVHkYv7+&_V1FMgx@ojv(*!`f)P7>sxI=vjq-VT_}&dNS8H#t zZ!_zAg7H20b9lP3v76TmbzC3~>o58VI|pX^SNidP#@N4KhY%SQ^t3pur_#D4%!?h# z78~KEaD>7MU!8=JoQcD&uI=sraH>j=AwV@V-&h%o@na>&ur3GL{5l8lQWvv3U}!I0 z*-RfHmdFww8*CPdSMF9Ni(Ma}ayEsZxw#wjTvq0mF1)MTAb%&mstIB>w&6os0?X8z z-J!gAbE%<0-7HzG)!W(IyUmJ|AT*QeM#2u6o9=NFjo*<1NdVgiMBOAjJs2J(p=qCe z^dqEW@MS(4sA(V$Dj;t<$~_>J7huN)zOGjwZc}%XO=jE6rMd}w){mc`7&JdQsOfd3 zo3in(7wHDN)?TL<@WfoK->>jE%>#g~rN$~GG>w~dMMFqXx#LOYXmQ~A)e}sfovNqF zla4rF!XqTlFuouff?L{447iLU>Pkht&5DgxSdTu1Zdmo|K`PA%R8Meetf%RfY+_>1 z6_a*EUn7w>g%-_ZZbvycdN1n+(^NPJd&~5VG9L*&vr~cbZQ7~-iVTO6o2%>VZllPJz~ne=apJ_qr)EW)_TFPC zoLpW=SsSc_zFd*nKAc<-2bn?#2?hd>%I0%l_F8%6MoAN`yc`=}H#Z-^)$JqR5}zPY zK(-o$Ls}(ROQtbQI&^#-26|SgLnW)Is5ls{@9F9)Ts`rtvsv+HI1&9VYi~1WmtXJh zHtAd3l@9Ib0IocAnE%Tv@5@nx0VAnHX!1iPQ2K9@iJ0*9!>(9Ms3q2)v(()S8*WpR zZ(VZp70se!uN9iCfFl=XhhRY}b|O(*Bx_#bl-cLhGmF<#-GEa4=SIYbei;~ZhOR!j zs^*B*bSKB|RA)|XgZTG}lJ1vgMfBcY1&!E}r$+fx9Xdtmf{?O6ny?}_`kk7f%yxbyb~c8w z!Nk@%W{71$(sd_uG5@NQ8otA)4KJVNL$~Psd?j1k2@^5?PIFFG0s|h@WMhY!tp%S79gC_l@Gq? zR)EF`Yrs7{iV=0`OQvMwr%!zrrdqH6Z9^Et@3FQn?$2Tv+`Re;BXBjwGD0Rbh#OL= zyo25wXeJwIE)f6zOcVI);Kxf%3wTXwwc0^={+zNfW_}%%uN22jU{y^E@Ne}Z)hgWi zv#h`X16o*MUPR?K9y7jBbYZTi#;mp5XbWLbn&m2A2J0#aW6RD~hZW%?DaeNl)BE7T z+HO|MjxO1+$a^uDYicN_=o1X?jl^zvG(b_1;uM+Q!EVt3#~D14s&6pq6aQR-wSFv0 z8lHt;xL!D3lO)IBVKDg62`)IHpn(2aI`5qrAK8l+#nDCnYV*1U9#Mey=;+@Z1l|Xq z`mi0k>|d}Bji8c1)HJ^|RA4NcEK0M>)IO3||KRXzVj!>6j3_7x& zp2zNk2<3M}|V=j*q&T|vqJM+NGP zF*;Ho1}6CVbDD-Sc+uYTd!<7jMlCf$7O!Yp^50DuED2}B%L2Ux)!y@8PDn2lUI=b#Yca9{1`=w8PIez$QvkSG`2;G&ZIm*c^DV#f$%iW=?XEf3-;f0H6#b zO!OoYA&d(!cwAC}5j`^AsX%!;7sZO8ALBQ0+4bg?2d1Q~9{WDMIXinJ(MmUlu6~mf z8S~HdCam#`InoX#aJI{ZZg=ify2f0`c`?|@KJ@mc57b!6zpAG+y_9Xk9?l%7$<)hz zfyQy6QIHfno-4!Pu}cQS13Qt3uyolrxJ4ycJG?|M5sOE;4%KWPGPxZ}-U6IDKPX=ms{@lm=6So}ZSI#x~GV7IARdsDc&K$ijTgw8yvsK9WZ*%f*A(1YBR^Iw5=)7Z>E&sX>T z<5XH!rp2+Y&hv9B41J-smxT*}y?-Kg{<_IGJwBUry=CSm;>O^gs!C_3x1itqi2=Bd zR6N?pL|7GQw6xs9is+ruku z3**y^7xwX^l0)q4u|EotRUUP4oeKHyxw(U=^-sIve3jB;YigdA_h1xS*u)=GHxflAG70 z+0)MB%6B;xtga?o4QKTc1`mwPk&!VH^eq-z*&SbIXVJ#~KL3k65HB72;K3P~{gK)< zsk^88uJa*5fMMPZo8%%|J<$`<&y7PN;|e*brN1jO3?whw>WlmhRWe)5TPEp(#KySR zohyWIXW)MLTGH5b!rY=k0;Z=|F;a_dV3t~3g!%GMwO^;F5D>JdNcmO0$P)v1BR;8noNocvjf~OJtCH0KrwQh<{+4@Kb!O=ISed3qr zYc6!!AMNb0)YZ`@hC(OPEUz4&J&!{J*eVVD%8FVmC8=WXHuXB&m;KSc%&&1$>|`Aj zg;=mVuNR<&AwaCGWFZ7JS+nG$UET*X8V<*OpD*ivKeqMTH2OXvN2@0)hlXy#dG5M> zT6Qi+=$s0a0lWu}OOI7_Nj^272 zfdKCdYSE^^Rnw%o9NWWee$g@8zqvpE)McoHxfw&<|MEp(aY-Ddw#VrhD`E5;jtCrd zeskFwrcgiV+(Vxqonslwb?J#QKHaP%(EPxLfC`xEQ(O(0yoh<;-KHgg@WGl)gv z(>_}Xry+#&Izn-99r|^?faa%>%LS?oIq0}m)T%%qf?sDOP9fvma%I0e++DCnBImSI zny$(MJSgXKL07t3j_q(OY*Gi5RO^UZ1_2gGL5&I_ztg!~p#E*$Mtcc^)JJAqeAE2g zR#$9oBge<(U{&-Fc#AXIZm`?j=wf`&gY<~U;_Mz~kuZ4Bwf(*|RGz;fXdsg=;7|wT z@W;IcC#<3#nThdDr-!o+(t+vu@w%Y$c#%Mm8Q3m3ibg=isl@u-ReR`K5iA|b_?vac z87g(-P!b{~)vb*z`*$NW)eomCRWMw4v=Sb=~ap8gkIfdTrK zL>GAa^iS|(9RxBuGpMQmm8Cds3ZbterS&@g{K^c0iZ4{hhdl3oTy%cw4^$YBM&jv3fw`OjF{>y52Y8hrAc0)KgbGxJ zGx9iy{lNMNgthI%RO!Ze&Bur1*8orkTc9Hf;th8O3TBA@kf5 zOgh&AAE`WJmSREtk7M^$S~9*rO4^Sf&*IDc$!!JvhH8}RhWd3y25$Ef<2Sfkpj{y% z{aypVB_K$YGo5AjKs&KIMtVO#Q2==jLfhCF?`P+Bi$XV53mi>Uy>C@GM4e0vF51tJ zx&6IA{?jg+@1Ul!in=g((teNFD zF?x|M{6^spt=nV_|8t9`hdb+V5TXb|mT!o_q>TA$xT85{|L>|&J)wZu?OcAVp1W15 z@hovqozy-1czU?oHiv!fCNAxRJTpA)wb1_H6|1Z~Q(^k$Hrv|?sYaY@v}MQA=>i)seBk?v!z4lB zRA~JPHG%qb_Zbz=*JYEX9=3anpdW}+cR~@CW;;$sbDHHr;0ccv+-bIJ&@9>Jl?rPL z6eP8%4Cs~TzVP9c(R=7-Z<&EGn%UyWTA2Sb3uIvNa5g3rG6vK_WWSb?9g+=RB#Yw@ z!6R~v@?UYGKZQ&JQzSe@v9ln0@59)(qhD*qE*bJ^$c#0Aug~E`_U(yz)}IEwscX?h z#A*6WbT>ER40HXh#5a%P^z57exBW4?yjn{laiVWaUJU-toK+gC+A2?#F9-f#0Bbt9 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f1d06908af8ba1320d9aa6474f792883db430a GIT binary patch literal 18064 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 KpUXO@geCyPqIRYL literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..6508f74207cc3a45391a22e58c598a273d863c3d GIT binary patch literal 22474 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..d54716bfad547896ba03ea9230518d615477fba2 GIT binary patch literal 30705 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/values-night/colors.xml b/apps/mobile/android/app/src/main/res/values-night/colors.xml new file mode 100644 index 000000000..3c05de5be --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values-night/colors.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/values/colors.xml b/apps/mobile/android/app/src/main/res/values/colors.xml new file mode 100644 index 000000000..f387b9011 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + #ffffff + #ffffff + #023c69 + #ffffff + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/values/strings.xml b/apps/mobile/android/app/src/main/res/values/strings.xml new file mode 100644 index 000000000..289666da2 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + \@leather-wallet/mobile + contain + false + automatic + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/values/styles.xml b/apps/mobile/android/app/src/main/res/values/styles.xml new file mode 100644 index 000000000..f03e23f85 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values/styles.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/xml/network_security_config.xml b/apps/mobile/android/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 000000000..2e1cbfcbe --- /dev/null +++ b/apps/mobile/android/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,8 @@ + + + + + 10.0.2.2localhost + + + \ No newline at end of file diff --git a/apps/mobile/android/build.gradle b/apps/mobile/android/build.gradle new file mode 100644 index 000000000..f7e98ccc9 --- /dev/null +++ b/apps/mobile/android/build.gradle @@ -0,0 +1,46 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext { + buildToolsVersion = findProperty('android.buildToolsVersion') ?: '34.0.0' + minSdkVersion = Integer.parseInt(findProperty('android.minSdkVersion') ?: '23') + compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '34') + targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '34') + kotlinVersion = findProperty('android.kotlinVersion') ?: '1.9.23' + + ndkVersion = "26.1.10909125" + } + repositories { + google() + mavenCentral() + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" + classpath('com.android.tools.build:gradle') + classpath('com.facebook.react:react-native-gradle-plugin') + classpath('org.jetbrains.kotlin:kotlin-gradle-plugin') + } +} + +apply plugin: "com.facebook.react.rootproject" + +allprojects { + repositories { + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url(new File(['node', '--print', "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), '../android')) + } + maven { + // Android JSC is installed from npm + url(new File(['node', '--print', "require.resolve('jsc-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), '../dist')) + } + + google() + mavenCentral() + maven { url 'https://www.jitpack.io' } + } +} +// @generated begin detox-import - expo prebuild (DO NOT MODIFY) sync-1c7ed0e9d1c19e4a2b5b79bb7ec877ac879fce8d +def detoxMavenPath = new File(["node", "--print", "require.resolve('detox/package.json')"].execute(null, rootDir).text.trim(), "../Detox-android") +allprojects { repositories { maven { url(detoxMavenPath) } } } +// @generated end detox-import \ No newline at end of file diff --git a/apps/mobile/android/gradle.properties b/apps/mobile/android/gradle.properties new file mode 100644 index 000000000..7fbbbebda --- /dev/null +++ b/apps/mobile/android/gradle.properties @@ -0,0 +1,59 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true + +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true + +# Enable GIF support in React Native images (~200 B increase) +expo.gif.enabled=true +# Enable webp support in React Native images (~85 KB increase) +expo.webp.enabled=true +# Enable animated webp support (~3.4 MB increase) +# Disabled by default because iOS doesn't support animated webp +expo.webp.animated=false + +# Enable network inspector +EX_DEV_CLIENT_NETWORK_INSPECTOR=true + +# Use legacy packaging to compress native libraries in the resulting APK. +expo.useLegacyPackaging=false + +android.kotlinVersion=1.8.22 +android.extraMavenRepos=[] \ No newline at end of file diff --git a/apps/mobile/android/gradle/wrapper/gradle-wrapper.jar b/apps/mobile/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..d64cd4917707c1f8861d8cb53dd15194d4248596 GIT binary patch literal 43462 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/gradle/wrapper/gradle-wrapper.properties b/apps/mobile/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..2ea3535dc --- /dev/null +++ b/apps/mobile/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/apps/mobile/android/gradlew b/apps/mobile/android/gradlew new file mode 100755 index 000000000..1aa94a426 --- /dev/null +++ b/apps/mobile/android/gradlew @@ -0,0 +1,249 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/apps/mobile/android/gradlew.bat b/apps/mobile/android/gradlew.bat new file mode 100644 index 000000000..25da30dbd --- /dev/null +++ b/apps/mobile/android/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/apps/mobile/android/settings.gradle b/apps/mobile/android/settings.gradle new file mode 100644 index 000000000..63d400337 --- /dev/null +++ b/apps/mobile/android/settings.gradle @@ -0,0 +1,18 @@ +rootProject.name = '@leather-walletmobile' + +dependencyResolutionManagement { + versionCatalogs { + reactAndroidLibs { + from(files(new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../gradle/libs.versions.toml"))) + } + } +} + +apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle"); +useExpoModules() + +apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); +applyNativeModulesSettingsGradle(settings) + +include ':app' +includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile()) diff --git a/apps/mobile/app.json b/apps/mobile/app.json index 4f20b93e6..ad8a88cf1 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -15,9 +15,7 @@ "updates": { "fallbackToCacheTimeout": 0 }, - "assetBundlePatterns": [ - "**/*" - ], + "assetBundlePatterns": ["**/*"], "ios": { "supportsTablet": false, "bundleIdentifier": "io.leather.mobilewallet", @@ -30,11 +28,7 @@ }, "package": "io.leather.mobilewallet" }, - "plugins": [ - "expo-font", - "expo-router", - "expo-secure-store" - ], + "plugins": ["expo-font", "expo-router", "expo-secure-store", "@config-plugins/detox"], "extra": { "router": { "origin": false diff --git a/apps/mobile/e2e/jest.config.cjs b/apps/mobile/e2e/jest.config.cjs new file mode 100644 index 000000000..66c6d3300 --- /dev/null +++ b/apps/mobile/e2e/jest.config.cjs @@ -0,0 +1,16 @@ +/** @type {import('@jest/types').Config.InitialOptions} */ +module.exports = { + preset: 'ts-jest', + rootDir: '..', + testMatch: ['/e2e/**/*.test.ts'], + testTimeout: 120000, + maxWorkers: 1, + globalSetup: 'detox/runners/jest/globalSetup', + globalTeardown: 'detox/runners/jest/globalTeardown', + reporters: ['detox/runners/jest/reporter'], + testEnvironment: 'detox/runners/jest/testEnvironment', + verbose: true, + transform: { + '\\.[jt]sx?$': 'babel-jest', + }, +}; diff --git a/apps/mobile/e2e/starter.test.ts b/apps/mobile/e2e/starter.test.ts new file mode 100644 index 000000000..500b5507f --- /dev/null +++ b/apps/mobile/e2e/starter.test.ts @@ -0,0 +1,44 @@ +import { expect } from 'detox'; + +import { WelcomeScreenTestIds } from '../test-ids'; + +describe('Example', () => { + beforeAll(async () => { + await device.launchApp(); + }); + + beforeEach(async () => { + await device.reloadReactNative(); + }); + it('should be able to submit email', async () => { + await expect(element(by.id(WelcomeScreenTestIds.SubmitEmailButton))).toBeVisible(); + await expect(element(by.id(WelcomeScreenTestIds.EmailInput))).toBeVisible(); + + await element(by.id(WelcomeScreenTestIds.EmailInput)).tap(); + await element(by.id(WelcomeScreenTestIds.EmailInput)).typeText('test@test.test'); + await element(by.id(WelcomeScreenTestIds.SubmitEmailButton)).tap(); + + await expect(element(by.id(WelcomeScreenTestIds.DoneButton))).toBeVisible(); + + await element(by.id(WelcomeScreenTestIds.DoneButton)).tap(); + + await expect(element(by.id(WelcomeScreenTestIds.SubmitEmailButton))).toBeVisible(); + await expect(element(by.id(WelcomeScreenTestIds.EmailInput))).toBeVisible(); + }); + + it('should be able to submit email and open link to X', async () => { + await expect(element(by.id(WelcomeScreenTestIds.SubmitEmailButton))).toBeVisible(); + await expect(element(by.id(WelcomeScreenTestIds.EmailInput))).toBeVisible(); + + await element(by.id(WelcomeScreenTestIds.EmailInput)).tap(); + await element(by.id(WelcomeScreenTestIds.EmailInput)).typeText('test@test.test'); + await element(by.id(WelcomeScreenTestIds.SubmitEmailButton)).tap(); + + await expect(element(by.id(WelcomeScreenTestIds.DoneButton))).toBeVisible(); + await expect(element(by.id(WelcomeScreenTestIds.OpenXButton))).toBeVisible(); + + await element(by.id(WelcomeScreenTestIds.OpenXButton)).tap(); + + // TODO: we need to find out if the user actually got redirected to Leather X + }); +}); diff --git a/apps/mobile/eas-hooks/eas-build-on-success.sh b/apps/mobile/eas-hooks/eas-build-on-success.sh new file mode 100755 index 000000000..925ab462e --- /dev/null +++ b/apps/mobile/eas-hooks/eas-build-on-success.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +function cleanup() +{ + echo 'Cleaning up...' + if [[ "$EAS_BUILD_PLATFORM" == "android" ]]; then + # Kill emulator + adb emu kill & + fi +} + +if [[ "$EAS_BUILD_PROFILE" != "test" ]]; then + exit +fi + +# Fail if anything errors +set -eox pipefail +# If this script exits, trap it first and clean up the emulator +trap cleanup EXIT + +ANDROID_EMULATOR=pixel_4 + +if [[ "$EAS_BUILD_PLATFORM" == "android" ]]; then + # Start emulator + $ANDROID_SDK_ROOT/emulator/emulator @$ANDROID_EMULATOR -no-audio -no-boot-anim -no-window -use-system-libs 2>&1 >/dev/null & + + # Wait for emulator + max_retry=10 + counter=0 + until adb shell getprop sys.boot_completed; do + sleep 10 + [[ counter -eq $max_retry ]] && echo "Failed to start the emulator!" && exit 1 + counter=$((counter + 1)) + done + + # Execute Android tests + if [[ "$EAS_BUILD_PROFILE" == "test" ]]; then + detox test --configuration android.release + fi +else + # Execute iOS tests + if [[ "$EAS_BUILD_PROFILE" == "test" ]]; then + detox test --configuration ios.release + fi +fi diff --git a/apps/mobile/eas-hooks/eas-build-pre-install.sh b/apps/mobile/eas-hooks/eas-build-pre-install.sh new file mode 100755 index 000000000..46fdd1a53 --- /dev/null +++ b/apps/mobile/eas-hooks/eas-build-pre-install.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +set -eox pipefail + +if [[ "$EAS_BUILD_RUNNER" == "eas-build" && "$EAS_BUILD_PROFILE" == "test"* ]]; then + if [[ "$EAS_BUILD_PLATFORM" == "android" ]]; then + sudo apt-get --quiet update --yes + + # Install emulator & video bridge dependencies + # Source: https://github.com/react-native-community/docker-android/blob/master/Dockerfile + sudo apt-get --quiet install --yes \ + libc6 \ + libdbus-1-3 \ + libfontconfig1 \ + libgcc1 \ + libpulse0 \ + libtinfo5 \ + libx11-6 \ + libxcb1 \ + libxdamage1 \ + libnss3 \ + libxcomposite1 \ + libxcursor1 \ + libxi6 \ + libxext6 \ + libxfixes3 \ + zlib1g \ + libgl1 \ + pulseaudio \ + socat + + # Emulator must be API 31 -- API 32 and 33 fail due to https://github.com/wix/Detox/issues/3762 + sdkmanager --install "system-images;android-31;google_apis;x86_64" + avdmanager --verbose create avd --force --name "pixel_4" --device "pixel_4" --package "system-images;android-31;google_apis;x86_64" + else + brew tap wix/brew + brew install applesimutils + fi +fi + diff --git a/apps/mobile/eas.json b/apps/mobile/eas.json index 106d87a18..bbe59ff56 100644 --- a/apps/mobile/eas.json +++ b/apps/mobile/eas.json @@ -4,6 +4,15 @@ "promptToConfigurePushNotifications": false }, "build": { + "test": { + "android": { + "gradleCommand": ":app:assembleRelease :app:assembleAndroidTest -DtestBuildType=release", + "withoutCredentials": true + }, + "ios": { + "simulator": true + } + }, "development": { "node": "20.11.0", "pnpm": "8.15.3", diff --git a/apps/mobile/ios/.gitignore b/apps/mobile/ios/.gitignore new file mode 100644 index 000000000..8beb34430 --- /dev/null +++ b/apps/mobile/ios/.gitignore @@ -0,0 +1,30 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace +.xcode.env.local + +# Bundle artifacts +*.jsbundle + +# CocoaPods +/Pods/ diff --git a/apps/mobile/ios/.xcode.env b/apps/mobile/ios/.xcode.env new file mode 100644 index 000000000..3d5782c71 --- /dev/null +++ b/apps/mobile/ios/.xcode.env @@ -0,0 +1,11 @@ +# This `.xcode.env` file is versioned and is used to source the environment +# used when running script phases inside Xcode. +# To customize your local environment, you can create an `.xcode.env.local` +# file that is not versioned. + +# NODE_BINARY variable contains the PATH to the node executable. +# +# Customize the NODE_BINARY variable here. +# For example, to use nvm with brew, add the following line +# . "$(brew --prefix nvm)/nvm.sh" --no-use +export NODE_BINARY=$(command -v node) diff --git a/apps/mobile/ios/Podfile b/apps/mobile/ios/Podfile new file mode 100644 index 000000000..44e1cba00 --- /dev/null +++ b/apps/mobile/ios/Podfile @@ -0,0 +1,60 @@ +require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") +require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") + +require 'json' +podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {} + +ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0' +ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR'] + +platform :ios, podfile_properties['ios.deploymentTarget'] || '13.4' +install! 'cocoapods', + :deterministic_uuids => false + +prepare_react_native_project! + +target 'leatherwalletmobile' do + use_expo_modules! + config = use_native_modules! + + use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] + use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS'] + + use_react_native!( + :path => config[:reactNativePath], + :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes', + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/..", + # Temporarily disable privacy file aggregation by default, until React + # Native 0.74.2 is released with fixes. + :privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] == 'true', + ) + + post_install do |installer| + react_native_post_install( + installer, + config[:reactNativePath], + :mac_catalyst_enabled => false, + :ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true', + ) + + # This is necessary for Xcode 14, because it signs resource bundles by default + # when building for devices. + installer.target_installation_results.pod_target_installation_results + .each do |pod_name, target_installation_result| + target_installation_result.resource_bundle_targets.each do |resource_bundle_target| + resource_bundle_target.build_configurations.each do |config| + config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' + end + end + end + end + + post_integrate do |installer| + begin + expo_patch_react_imports!(installer) + rescue => e + Pod::UI.warn e + end + end +end diff --git a/apps/mobile/ios/Podfile.lock b/apps/mobile/ios/Podfile.lock new file mode 100644 index 000000000..3075ca93c --- /dev/null +++ b/apps/mobile/ios/Podfile.lock @@ -0,0 +1,1666 @@ +PODS: + - boost (1.83.0) + - DoubleConversion (1.1.6) + - EXConstants (16.0.1): + - ExpoModulesCore + - Expo (51.0.8): + - ExpoModulesCore + - ExpoAsset (10.0.6): + - ExpoModulesCore + - ExpoFileSystem (17.0.1): + - ExpoModulesCore + - ExpoFont (12.0.5): + - ExpoModulesCore + - ExpoHead (3.5.14): + - ExpoModulesCore + - ExpoImage (1.12.9): + - ExpoModulesCore + - libavif/libdav1d + - SDWebImage (~> 5.19.1) + - SDWebImageAVIFCoder (~> 0.11.0) + - SDWebImageSVGCoder (~> 1.7.0) + - SDWebImageWebPCoder (~> 0.14.6) + - ExpoKeepAwake (13.0.2): + - ExpoModulesCore + - ExpoModulesCore (1.12.11): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsinspector + - React-NativeModulesApple + - React-RCTAppDelegate + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - ExpoSecureStore (13.0.1): + - ExpoModulesCore + - ExpoSystemUI (3.0.4): + - ExpoModulesCore + - ExpoWebBrowser (13.0.3): + - ExpoModulesCore + - EXSplashScreen (0.27.4): + - DoubleConversion + - ExpoModulesCore + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - FBLazyVector (0.74.1) + - fmt (9.1.0) + - glog (0.3.5) + - hermes-engine (0.74.1): + - hermes-engine/Pre-built (= 0.74.1) + - hermes-engine/Pre-built (0.74.1) + - libavif/core (0.11.1) + - libavif/libdav1d (0.11.1): + - libavif/core + - libdav1d (>= 0.6.0) + - libdav1d (1.2.0) + - libwebp (1.3.2): + - libwebp/demux (= 1.3.2) + - libwebp/mux (= 1.3.2) + - libwebp/sharpyuv (= 1.3.2) + - libwebp/webp (= 1.3.2) + - libwebp/demux (1.3.2): + - libwebp/webp + - libwebp/mux (1.3.2): + - libwebp/demux + - libwebp/sharpyuv (1.3.2) + - libwebp/webp (1.3.2): + - libwebp/sharpyuv + - lottie-ios (4.4.3) + - lottie-react-native (6.7.0): + - DoubleConversion + - glog + - hermes-engine + - lottie-ios (~> 4.4.1) + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RCT-Folly (2024.01.01.00): + - boost + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCT-Folly/Default (= 2024.01.01.00) + - RCT-Folly/Default (2024.01.01.00): + - boost + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCT-Folly/Fabric (2024.01.01.00): + - boost + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCTDeprecation (0.74.1) + - RCTRequired (0.74.1) + - RCTTypeSafety (0.74.1): + - FBLazyVector (= 0.74.1) + - RCTRequired (= 0.74.1) + - React-Core (= 0.74.1) + - React (0.74.1): + - React-Core (= 0.74.1) + - React-Core/DevSupport (= 0.74.1) + - React-Core/RCTWebSocket (= 0.74.1) + - React-RCTActionSheet (= 0.74.1) + - React-RCTAnimation (= 0.74.1) + - React-RCTBlob (= 0.74.1) + - React-RCTImage (= 0.74.1) + - React-RCTLinking (= 0.74.1) + - React-RCTNetwork (= 0.74.1) + - React-RCTSettings (= 0.74.1) + - React-RCTText (= 0.74.1) + - React-RCTVibration (= 0.74.1) + - React-callinvoker (0.74.1) + - React-Codegen (0.74.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-Core (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.74.1) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/CoreModulesHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/Default (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/DevSupport (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.74.1) + - React-Core/RCTWebSocket (= 0.74.1) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTActionSheetHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTAnimationHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTBlobHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTImageHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTLinkingHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTNetworkHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTSettingsHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTTextHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTVibrationHeaders (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTWebSocket (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.74.1) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-CoreModules (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety (= 0.74.1) + - React-Codegen + - React-Core/CoreModulesHeaders (= 0.74.1) + - React-jsi (= 0.74.1) + - React-jsinspector + - React-NativeModulesApple + - React-RCTBlob + - React-RCTImage (= 0.74.1) + - ReactCommon + - SocketRocket (= 0.7.0) + - React-cxxreact (0.74.1): + - boost (= 1.83.0) + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.1) + - React-debug (= 0.74.1) + - React-jsi (= 0.74.1) + - React-jsinspector + - React-logger (= 0.74.1) + - React-perflogger (= 0.74.1) + - React-runtimeexecutor (= 0.74.1) + - React-debug (0.74.1) + - React-Fabric (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.74.1) + - React-Fabric/attributedstring (= 0.74.1) + - React-Fabric/componentregistry (= 0.74.1) + - React-Fabric/componentregistrynative (= 0.74.1) + - React-Fabric/components (= 0.74.1) + - React-Fabric/core (= 0.74.1) + - React-Fabric/imagemanager (= 0.74.1) + - React-Fabric/leakchecker (= 0.74.1) + - React-Fabric/mounting (= 0.74.1) + - React-Fabric/scheduler (= 0.74.1) + - React-Fabric/telemetry (= 0.74.1) + - React-Fabric/templateprocessor (= 0.74.1) + - React-Fabric/textlayoutmanager (= 0.74.1) + - React-Fabric/uimanager (= 0.74.1) + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/animations (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/attributedstring (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistry (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistrynative (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/inputaccessory (= 0.74.1) + - React-Fabric/components/legacyviewmanagerinterop (= 0.74.1) + - React-Fabric/components/modal (= 0.74.1) + - React-Fabric/components/rncore (= 0.74.1) + - React-Fabric/components/root (= 0.74.1) + - React-Fabric/components/safeareaview (= 0.74.1) + - React-Fabric/components/scrollview (= 0.74.1) + - React-Fabric/components/text (= 0.74.1) + - React-Fabric/components/textinput (= 0.74.1) + - React-Fabric/components/unimplementedview (= 0.74.1) + - React-Fabric/components/view (= 0.74.1) + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/inputaccessory (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/legacyviewmanagerinterop (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/modal (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/rncore (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/root (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/safeareaview (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/scrollview (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/text (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/textinput (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/unimplementedview (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/view (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric/core (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/imagemanager (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/leakchecker (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/mounting (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/scheduler (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/telemetry (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/templateprocessor (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/textlayoutmanager (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-FabricImage (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired (= 0.74.1) + - RCTTypeSafety (= 0.74.1) + - React-Fabric + - React-graphics + - React-ImageManager + - React-jsi + - React-jsiexecutor (= 0.74.1) + - React-logger + - React-rendererdebug + - React-utils + - ReactCommon + - Yoga + - React-featureflags (0.74.1) + - React-graphics (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-Core/Default (= 0.74.1) + - React-utils + - React-hermes (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact (= 0.74.1) + - React-jsi + - React-jsiexecutor (= 0.74.1) + - React-jsinspector + - React-perflogger (= 0.74.1) + - React-runtimeexecutor + - React-ImageManager (0.74.1): + - glog + - RCT-Folly/Fabric + - React-Core/Default + - React-debug + - React-Fabric + - React-graphics + - React-rendererdebug + - React-utils + - React-jserrorhandler (0.74.1): + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-debug + - React-jsi + - React-Mapbuffer + - React-jsi (0.74.1): + - boost (= 1.83.0) + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-jsiexecutor (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact (= 0.74.1) + - React-jsi (= 0.74.1) + - React-jsinspector + - React-perflogger (= 0.74.1) + - React-jsinspector (0.74.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-featureflags + - React-jsi + - React-runtimeexecutor (= 0.74.1) + - React-jsitracing (0.74.1): + - React-jsi + - React-logger (0.74.1): + - glog + - React-Mapbuffer (0.74.1): + - glog + - React-debug + - react-native-safe-area-context (4.10.1): + - React-Core + - React-nativeconfig (0.74.1) + - React-NativeModulesApple (0.74.1): + - glog + - hermes-engine + - React-callinvoker + - React-Core + - React-cxxreact + - React-jsi + - React-jsinspector + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-perflogger (0.74.1) + - React-RCTActionSheet (0.74.1): + - React-Core/RCTActionSheetHeaders (= 0.74.1) + - React-RCTAnimation (0.74.1): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTAnimationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTAppDelegate (0.74.1): + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-CoreModules + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-nativeconfig + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-RCTNetwork + - React-rendererdebug + - React-RuntimeApple + - React-RuntimeCore + - React-RuntimeHermes + - React-runtimescheduler + - React-utils + - ReactCommon + - React-RCTBlob (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-Codegen + - React-Core/RCTBlobHeaders + - React-Core/RCTWebSocket + - React-jsi + - React-jsinspector + - React-NativeModulesApple + - React-RCTNetwork + - ReactCommon + - React-RCTFabric (0.74.1): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsi + - React-jsinspector + - React-nativeconfig + - React-RCTImage + - React-RCTText + - React-rendererdebug + - React-runtimescheduler + - React-utils + - Yoga + - React-RCTImage (0.74.1): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTImageHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTNetwork + - ReactCommon + - React-RCTLinking (0.74.1): + - React-Codegen + - React-Core/RCTLinkingHeaders (= 0.74.1) + - React-jsi (= 0.74.1) + - React-NativeModulesApple + - ReactCommon + - ReactCommon/turbomodule/core (= 0.74.1) + - React-RCTNetwork (0.74.1): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTNetworkHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTSettings (0.74.1): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTSettingsHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTText (0.74.1): + - React-Core/RCTTextHeaders (= 0.74.1) + - Yoga + - React-RCTVibration (0.74.1): + - RCT-Folly (= 2024.01.01.00) + - React-Codegen + - React-Core/RCTVibrationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-rendererdebug (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - RCT-Folly (= 2024.01.01.00) + - React-debug + - React-rncore (0.74.1) + - React-RuntimeApple (0.74.1): + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-RuntimeCore + - React-runtimeexecutor + - React-RuntimeHermes + - React-utils + - React-RuntimeCore (0.74.1): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-cxxreact + - React-featureflags + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-runtimeexecutor + - React-runtimescheduler + - React-utils + - React-runtimeexecutor (0.74.1): + - React-jsi (= 0.74.1) + - React-RuntimeHermes (0.74.1): + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsitracing + - React-nativeconfig + - React-RuntimeCore + - React-utils + - React-runtimescheduler (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker + - React-cxxreact + - React-debug + - React-featureflags + - React-jsi + - React-rendererdebug + - React-runtimeexecutor + - React-utils + - React-utils (0.74.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-debug + - React-jsi (= 0.74.1) + - ReactCommon (0.74.1): + - ReactCommon/turbomodule (= 0.74.1) + - ReactCommon/turbomodule (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.1) + - React-cxxreact (= 0.74.1) + - React-jsi (= 0.74.1) + - React-logger (= 0.74.1) + - React-perflogger (= 0.74.1) + - ReactCommon/turbomodule/bridging (= 0.74.1) + - ReactCommon/turbomodule/core (= 0.74.1) + - ReactCommon/turbomodule/bridging (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.1) + - React-cxxreact (= 0.74.1) + - React-jsi (= 0.74.1) + - React-logger (= 0.74.1) + - React-perflogger (= 0.74.1) + - ReactCommon/turbomodule/core (0.74.1): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.1) + - React-cxxreact (= 0.74.1) + - React-debug (= 0.74.1) + - React-jsi (= 0.74.1) + - React-logger (= 0.74.1) + - React-perflogger (= 0.74.1) + - React-utils (= 0.74.1) + - RNCAsyncStorage (1.23.1): + - React-Core + - RNReanimated (3.10.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNScreens (3.31.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNSVG (15.2.0): + - React-Core + - SDWebImage (5.19.1): + - SDWebImage/Core (= 5.19.1) + - SDWebImage/Core (5.19.1) + - SDWebImageAVIFCoder (0.11.0): + - libavif/core (>= 0.11.0) + - SDWebImage (~> 5.10) + - SDWebImageSVGCoder (1.7.0): + - SDWebImage/Core (~> 5.6) + - SDWebImageWebPCoder (0.14.6): + - libwebp (~> 1.0) + - SDWebImage/Core (~> 5.17) + - SocketRocket (0.7.0) + - Yoga (0.0.0) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - "EXConstants (from `../../../node_modules/.pnpm/expo-constants@16.0.1_expo@51.0.8/node_modules/expo-constants/ios`)" + - "Expo (from `../../../node_modules/.pnpm/expo@51.0.8_@babel+core@7.24.6_@babel+preset-env@7.24.4_@react-native+assets-registry@0.73.1__2syktkzz6ant5zjusbwy64wfbe/node_modules/expo`)" + - "ExpoAsset (from `../../../node_modules/.pnpm/expo-asset@10.0.6_@babel+core@7.24.6_@babel+preset-env@7.24.4_@react-native+assets-registry@0_js27kojreas4uorikozptn7vxq/node_modules/expo-asset/ios`)" + - "ExpoFileSystem (from `../../../node_modules/.pnpm/expo-file-system@17.0.1_expo@51.0.8/node_modules/expo-file-system/ios`)" + - "ExpoFont (from `../../../node_modules/.pnpm/expo-font@12.0.5_expo@51.0.8/node_modules/expo-font/ios`)" + - "ExpoHead (from `../../../node_modules/.pnpm/expo-router@3.5.14_@babel+core@7.24.6_@babel+preset-env@7.24.4_@react-native+assets-registry@_262tqg4lmviyv6enqadflim6z4/node_modules/expo-router/ios`)" + - "ExpoImage (from `../../../node_modules/.pnpm/expo-image@1.12.9_expo@51.0.8/node_modules/expo-image/ios`)" + - "ExpoKeepAwake (from `../../../node_modules/.pnpm/expo-keep-awake@13.0.2_expo@51.0.8/node_modules/expo-keep-awake/ios`)" + - "ExpoModulesCore (from `../../../node_modules/.pnpm/expo-modules-core@1.12.11/node_modules/expo-modules-core`)" + - "ExpoSecureStore (from `../../../node_modules/.pnpm/expo-secure-store@13.0.1_expo@51.0.8/node_modules/expo-secure-store/ios`)" + - "ExpoSystemUI (from `../../../node_modules/.pnpm/expo-system-ui@3.0.4_expo@51.0.8/node_modules/expo-system-ui/ios`)" + - "ExpoWebBrowser (from `../../../node_modules/.pnpm/expo-web-browser@13.0.3_expo@51.0.8/node_modules/expo-web-browser/ios`)" + - "EXSplashScreen (from `../../../node_modules/.pnpm/expo-splash-screen@0.27.4_expo-modules-autolinking@1.11.1_expo@51.0.8/node_modules/expo-splash-screen/ios`)" + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - lottie-react-native (from `../node_modules/lottie-react-native`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Codegen (from `build/generated/ios`) + - React-Core (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`) + - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" + - RNReanimated (from `../node_modules/react-native-reanimated`) + - RNScreens (from `../node_modules/react-native-screens`) + - RNSVG (from `../node_modules/react-native-svg`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - libavif + - libdav1d + - libwebp + - lottie-ios + - SDWebImage + - SDWebImageAVIFCoder + - SDWebImageSVGCoder + - SDWebImageWebPCoder + - SocketRocket + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + EXConstants: + :path: "../../../node_modules/.pnpm/expo-constants@16.0.1_expo@51.0.8/node_modules/expo-constants/ios" + Expo: + :path: "../../../node_modules/.pnpm/expo@51.0.8_@babel+core@7.24.6_@babel+preset-env@7.24.4_@react-native+assets-registry@0.73.1__2syktkzz6ant5zjusbwy64wfbe/node_modules/expo" + ExpoAsset: + :path: "../../../node_modules/.pnpm/expo-asset@10.0.6_@babel+core@7.24.6_@babel+preset-env@7.24.4_@react-native+assets-registry@0_js27kojreas4uorikozptn7vxq/node_modules/expo-asset/ios" + ExpoFileSystem: + :path: "../../../node_modules/.pnpm/expo-file-system@17.0.1_expo@51.0.8/node_modules/expo-file-system/ios" + ExpoFont: + :path: "../../../node_modules/.pnpm/expo-font@12.0.5_expo@51.0.8/node_modules/expo-font/ios" + ExpoHead: + :path: "../../../node_modules/.pnpm/expo-router@3.5.14_@babel+core@7.24.6_@babel+preset-env@7.24.4_@react-native+assets-registry@_262tqg4lmviyv6enqadflim6z4/node_modules/expo-router/ios" + ExpoImage: + :path: "../../../node_modules/.pnpm/expo-image@1.12.9_expo@51.0.8/node_modules/expo-image/ios" + ExpoKeepAwake: + :path: "../../../node_modules/.pnpm/expo-keep-awake@13.0.2_expo@51.0.8/node_modules/expo-keep-awake/ios" + ExpoModulesCore: + :path: "../../../node_modules/.pnpm/expo-modules-core@1.12.11/node_modules/expo-modules-core" + ExpoSecureStore: + :path: "../../../node_modules/.pnpm/expo-secure-store@13.0.1_expo@51.0.8/node_modules/expo-secure-store/ios" + ExpoSystemUI: + :path: "../../../node_modules/.pnpm/expo-system-ui@3.0.4_expo@51.0.8/node_modules/expo-system-ui/ios" + ExpoWebBrowser: + :path: "../../../node_modules/.pnpm/expo-web-browser@13.0.3_expo@51.0.8/node_modules/expo-web-browser/ios" + EXSplashScreen: + :path: "../../../node_modules/.pnpm/expo-splash-screen@0.27.4_expo-modules-autolinking@1.11.1_expo@51.0.8/node_modules/expo-splash-screen/ios" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + fmt: + :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2024-04-25-RNv0.74.1-b54a3a01c531f4f5f1904cb0770033e8b7153dff + lottie-react-native: + :path: "../node_modules/lottie-react-native" + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTDeprecation: + :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + RCTRequired: + :path: "../node_modules/react-native/Libraries/Required" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-callinvoker: + :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Codegen: + :path: build/generated/ios + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-debug: + :path: "../node_modules/react-native/ReactCommon/react/debug" + React-Fabric: + :path: "../node_modules/react-native/ReactCommon" + React-FabricImage: + :path: "../node_modules/react-native/ReactCommon" + React-featureflags: + :path: "../node_modules/react-native/ReactCommon/react/featureflags" + React-graphics: + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" + React-ImageManager: + :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jserrorhandler: + :path: "../node_modules/react-native/ReactCommon/jserrorhandler" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsitracing: + :path: "../node_modules/react-native/ReactCommon/hermes/executor/" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" + React-Mapbuffer: + :path: "../node_modules/react-native/ReactCommon" + react-native-safe-area-context: + :path: "../node_modules/react-native-safe-area-context" + React-nativeconfig: + :path: "../node_modules/react-native/ReactCommon" + React-NativeModulesApple: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTAppDelegate: + :path: "../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../node_modules/react-native/React" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + React-rendererdebug: + :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" + React-RuntimeApple: + :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + React-RuntimeCore: + :path: "../node_modules/react-native/ReactCommon/react/runtime" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + React-RuntimeHermes: + :path: "../node_modules/react-native/ReactCommon/react/runtime" + React-runtimescheduler: + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-utils: + :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + RNCAsyncStorage: + :path: "../node_modules/@react-native-async-storage/async-storage" + RNReanimated: + :path: "../node_modules/react-native-reanimated" + RNScreens: + :path: "../node_modules/react-native-screens" + RNSVG: + :path: "../node_modules/react-native-svg" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: d3f49c53809116a5d38da093a8aa78bf551aed09 + DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 + EXConstants: 9a008dbf262550884e6280dea95b81b51f65ea6f + Expo: c99f14ca53381d5399b88684c88e20ff7928d3c7 + ExpoAsset: 9b7433ecc5f1b608ccbb823492e062bde944abd2 + ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51 + ExpoFont: 690b76008be824e47907f200cb0764870108dfd1 + ExpoHead: 28ccee5977648d15f6a62b9a680a4bd169a1515b + ExpoImage: eab004b9363e388d3f6a118f18716de6dcfb8e8d + ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08 + ExpoModulesCore: 4eb2165cde325c8c121d495bb8beb0da9b30c92e + ExpoSecureStore: 5f6b712785986b54d95a92bd365aabb82a52088e + ExpoSystemUI: b5ecc4b6781b6369fb8b3a0903bea36fae3dd090 + ExpoWebBrowser: 7595ccac6938eb65b076385fd23d035db9ecdc8e + EXSplashScreen: d439ca817211886dc80a00f3761e3b6d861d7205 + FBLazyVector: 898d14d17bf19e2435cafd9ea2a1033efe445709 + fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 + glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 + hermes-engine: 16b8530de1b383cdada1476cf52d1b52f0692cbc + libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7 + libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f + libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 + lottie-ios: fcb5e73e17ba4c983140b7d21095c834b3087418 + lottie-react-native: f851c0e235f171d99083c803f728f644be1dcf65 + RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47 + RCTDeprecation: efb313d8126259e9294dc4ee0002f44a6f676aba + RCTRequired: f49ea29cece52aee20db633ae7edc4b271435562 + RCTTypeSafety: a11979ff0570d230d74de9f604f7d19692157bc4 + React: 88794fad7f460349dbc9df8a274d95f37a009f5d + React-callinvoker: 7a7023e34a55c89ea2aa62486bb3c1164ab0be0c + React-Codegen: af31a9323ce23988c255c9afd0ae9415ff894939 + React-Core: 60075333bc22b5a793d3f62e207368b79bff2e64 + React-CoreModules: 147c314d6b3b1e069c9ad64cbbbeba604854ff86 + React-cxxreact: 5de27fd8bff4764acb2eac3ee66001e0e2b910e7 + React-debug: 6397f0baf751b40511d01e984b01467d7e6d8127 + React-Fabric: 6fa475e16e0a37b38d462cec32b70fd5cf886305 + React-FabricImage: 7e09b3704e3fa084b4d44b5b5ef6e2e3d3334ec0 + React-featureflags: 2eb79dd9df4095bff519379f2a4c915069e330bb + React-graphics: 82a482a3aa5d9659b74cdf2c8b57faf67eaa10fb + React-hermes: d93936b02de2fd7e67c11e92c16d4278a14d0134 + React-ImageManager: ebb3c4812e2c5acba5a89728c2d77729471329ad + React-jserrorhandler: a08e0adcf1612900dde82b8bf8e93e7d2ad953b3 + React-jsi: f46d09ee5079a4f3b637d30d0e59b8ea6470632c + React-jsiexecutor: e73579560957aa3ca9dc02ab90e163454279d48c + React-jsinspector: e8ba20dde269c7c1d45784b858fa1cf4383f0bbb + React-jsitracing: 233d1a798fe0ff33b8e630b8f00f62c4a8115fbc + React-logger: 7e7403a2b14c97f847d90763af76b84b152b6fce + React-Mapbuffer: 11029dcd47c5c9e057a4092ab9c2a8d10a496a33 + react-native-safe-area-context: dcab599c527c2d7de2d76507a523d20a0b83823d + React-nativeconfig: b0073a590774e8b35192fead188a36d1dca23dec + React-NativeModulesApple: df46ff3e3de5b842b30b4ca8a6caae6d7c8ab09f + React-perflogger: 3d31e0d1e8ad891e43a09ac70b7b17a79773003a + React-RCTActionSheet: c4a3a134f3434c9d7b0c1054f1a8cfed30c7a093 + React-RCTAnimation: 0e5d15320eeece667fcceb6c785acf9a184e9da1 + React-RCTAppDelegate: c4f6c0700b8950a8b18c2e004996eec1807d430a + React-RCTBlob: c46aaaee693d371a1c7cae2a8c8ee2aa7fbc1adb + React-RCTFabric: 0dbf28ce96c7f2843483e32a725a5b5793584ff3 + React-RCTImage: a04dba5fcc823244f5822192c130ecf09623a57f + React-RCTLinking: 533bf13c745fcb2a0c14e0e49fd149586a7f0d14 + React-RCTNetwork: a29e371e0d363d7b4c10ab907bc4d6ae610541e9 + React-RCTSettings: 127813224780861d0d30ecda17a40d1dfebe7d73 + React-RCTText: 8a823f245ecf82edb7569646e3c4d8041deb800a + React-RCTVibration: 46b5fae74e63f240f22f39de16ad6433da3b65d9 + React-rendererdebug: 4653f8da6ab1d7b01af796bdf8ca47a927539e39 + React-rncore: 4f1e645acb5107bd4b4cf29eff17b04a7cd422f3 + React-RuntimeApple: 013b606e743efb5ee14ef03c32379b78bfe74354 + React-RuntimeCore: 7205be45a25713b5418bbf2db91ddfcca0761d8b + React-runtimeexecutor: a278d4249921853d4a3f24e4d6e0ff30688f3c16 + React-RuntimeHermes: 44c628568ce8feedc3acfbd48fc07b7f0f6d2731 + React-runtimescheduler: e2152ed146b6a35c07386fc2ac4827b27e6aad12 + React-utils: 3285151c9d1e3a28a9586571fc81d521678c196d + ReactCommon: f42444e384d82ab89184aed5d6f3142748b54768 + RNCAsyncStorage: 826b603ae9c0f88b5ac4e956801f755109fa4d5c + RNReanimated: bee2a34ab391254afdff77de9747c200774d0f04 + RNScreens: b32a9ff15bea7fcdbe5dff6477bc503f792b1208 + RNSVG: 43b64ed39c14ce830d840903774154ca0c1f27ec + SDWebImage: 40b0b4053e36c660a764958bff99eed16610acbb + SDWebImageAVIFCoder: 00310d246aab3232ce77f1d8f0076f8c4b021d90 + SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c + SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 + SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d + Yoga: 348f8b538c3ed4423eb58a8e5730feec50bce372 + +PODFILE CHECKSUM: 1183a5e3969c957f2df7140e9b85ba46d355b320 + +COCOAPODS: 1.15.2 diff --git a/apps/mobile/ios/Podfile.properties.json b/apps/mobile/ios/Podfile.properties.json new file mode 100644 index 000000000..0e3835ec0 --- /dev/null +++ b/apps/mobile/ios/Podfile.properties.json @@ -0,0 +1,7 @@ +{ + "expo.jsEngine": "hermes", + "EX_DEV_CLIENT_NETWORK_INSPECTOR": "true", + "apple.extraPods": "[]", + "apple.ccacheEnabled": "false", + "apple.privacyManifestAggregationEnabled": "false" +} diff --git a/apps/mobile/ios/PrivacyInfo.xcprivacy b/apps/mobile/ios/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..41b8317f0 --- /dev/null +++ b/apps/mobile/ios/PrivacyInfo.xcprivacy @@ -0,0 +1,37 @@ + + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyCollectedDataTypes + + NSPrivacyTracking + + + diff --git a/apps/mobile/ios/leatherwalletmobile.xcodeproj/project.pbxproj b/apps/mobile/ios/leatherwalletmobile.xcodeproj/project.pbxproj new file mode 100644 index 000000000..30465fcd8 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile.xcodeproj/project.pbxproj @@ -0,0 +1,543 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 3735F5722A7145C19BC65634 /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17F703D94F4B4BAE9007DC30 /* noop-file.swift */; }; + 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; }; + 96905EF65AED1B983A6B3ABC /* libPods-leatherwalletmobile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-leatherwalletmobile.a */; }; + B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; }; + BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 13B07F961A680F5B00A75B9A /* leatherwalletmobile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = leatherwalletmobile.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = leatherwalletmobile/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = leatherwalletmobile/AppDelegate.mm; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = leatherwalletmobile/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = leatherwalletmobile/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = leatherwalletmobile/main.m; sourceTree = ""; }; + 17F703D94F4B4BAE9007DC30 /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "leatherwalletmobile/noop-file.swift"; sourceTree = ""; }; + 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-leatherwalletmobile.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-leatherwalletmobile.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6C2E3173556A471DD304B334 /* Pods-leatherwalletmobile.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-leatherwalletmobile.debug.xcconfig"; path = "Target Support Files/Pods-leatherwalletmobile/Pods-leatherwalletmobile.debug.xcconfig"; sourceTree = ""; }; + 70C1354B3AEE44B3B957C23B /* leatherwalletmobile-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "leatherwalletmobile-Bridging-Header.h"; path = "leatherwalletmobile/leatherwalletmobile-Bridging-Header.h"; sourceTree = ""; }; + 7A4D352CD337FB3A3BF06240 /* Pods-leatherwalletmobile.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-leatherwalletmobile.release.xcconfig"; path = "Target Support Files/Pods-leatherwalletmobile/Pods-leatherwalletmobile.release.xcconfig"; sourceTree = ""; }; + AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = leatherwalletmobile/SplashScreen.storyboard; sourceTree = ""; }; + BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-leatherwalletmobile/ExpoModulesProvider.swift"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 96905EF65AED1B983A6B3ABC /* libPods-leatherwalletmobile.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 13B07FAE1A68108700A75B9A /* leatherwalletmobile */ = { + isa = PBXGroup; + children = ( + BB2F792B24A3F905000567C9 /* Supporting */, + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB71A68108700A75B9A /* main.m */, + AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */, + 17F703D94F4B4BAE9007DC30 /* noop-file.swift */, + 70C1354B3AEE44B3B957C23B /* leatherwalletmobile-Bridging-Header.h */, + ); + name = leatherwalletmobile; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-leatherwalletmobile.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* leatherwalletmobile */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + D65327D7A22EEC0BE12398D9 /* Pods */, + D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* leatherwalletmobile.app */, + ); + name = Products; + sourceTree = ""; + }; + 92DBD88DE9BF7D494EA9DA96 /* leatherwalletmobile */ = { + isa = PBXGroup; + children = ( + FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */, + ); + name = leatherwalletmobile; + sourceTree = ""; + }; + BB2F792B24A3F905000567C9 /* Supporting */ = { + isa = PBXGroup; + children = ( + BB2F792C24A3F905000567C9 /* Expo.plist */, + ); + name = Supporting; + path = leatherwalletmobile/Supporting; + sourceTree = ""; + }; + D65327D7A22EEC0BE12398D9 /* Pods */ = { + isa = PBXGroup; + children = ( + 6C2E3173556A471DD304B334 /* Pods-leatherwalletmobile.debug.xcconfig */, + 7A4D352CD337FB3A3BF06240 /* Pods-leatherwalletmobile.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */ = { + isa = PBXGroup; + children = ( + 92DBD88DE9BF7D494EA9DA96 /* leatherwalletmobile */, + ); + name = ExpoModulesProviders; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* leatherwalletmobile */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "leatherwalletmobile" */; + buildPhases = ( + 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */, + 23B1622EA6E9B2746F6466B7 /* [Expo] Configure project */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */, + 91C43F909E703397E63B0B20 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = leatherwalletmobile; + productName = leatherwalletmobile; + productReference = 13B07F961A680F5B00A75B9A /* leatherwalletmobile.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1130; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1250; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "leatherwalletmobile" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* leatherwalletmobile */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BB2F792D24A3F905000567C9 /* Expo.plist in Resources */, + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\"$PROJECT_DIR\"/..\n\nif [[ \"$CONFIGURATION\" = *Debug* ]]; then\n export SKIP_BUNDLING=1\nfi\nif [[ -z \"$ENTRY_FILE\" ]]; then\n # Set the entry JS file using the bundler's entry resolution.\n export ENTRY_FILE=\"$(\"$NODE_BINARY\" -e \"require('expo/scripts/resolveAppEntry')\" \"$PROJECT_ROOT\" ios absolute | tail -n 1)\"\nfi\n\nif [[ -z \"$CLI_PATH\" ]]; then\n # Use Expo CLI\n export CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })\")\"\nfi\nif [[ -z \"$BUNDLE_COMMAND\" ]]; then\n # Default Expo CLI command for bundling\n export BUNDLE_COMMAND=\"export:embed\"\nfi\n\n# Source .xcode.env.updates if it exists to allow\n# SKIP_BUNDLING to be unset if needed\nif [[ -f \"$PODS_ROOT/../.xcode.env.updates\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.updates\"\nfi\n# Source local changes to allow overrides\n# if needed\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n`\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\"`\n\n"; + }; + 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-leatherwalletmobile-checkManifestLockResult.txt", + ); + 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"; + showEnvVarsInLog = 0; + }; + 23B1622EA6E9B2746F6466B7 /* [Expo] Configure project */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[Expo] Configure project"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-leatherwalletmobile/expo-configure-project.sh\"\n"; + }; + 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-leatherwalletmobile/Pods-leatherwalletmobile-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/ExpoConstants_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ExpoFileSystem/ExpoFileSystem_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ExpoSystemUI/ExpoSystemUI_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage/RNCAsyncStorage_resources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/LottiePrivacyInfo.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/lottie-react-native/Lottie_React_Native_Privacy.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoConstants_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoFileSystem_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoSystemUI_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCAsyncStorage_resources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LottiePrivacyInfo.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Lottie_React_Native_Privacy.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-leatherwalletmobile/Pods-leatherwalletmobile-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 91C43F909E703397E63B0B20 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-leatherwalletmobile/Pods-leatherwalletmobile-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-leatherwalletmobile/Pods-leatherwalletmobile-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */, + 3735F5722A7145C19BC65634 /* noop-file.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6C2E3173556A471DD304B334 /* Pods-leatherwalletmobile.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = leatherwalletmobile/leatherwalletmobile.entitlements; + CURRENT_PROJECT_VERSION = 1; + ENABLE_BITCODE = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FB_SONARKIT_ENABLED=1", + ); + INFOPLIST_FILE = leatherwalletmobile/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; + PRODUCT_BUNDLE_IDENTIFIER = io.leather.mobilewallet; + PRODUCT_NAME = leatherwalletmobile; + SWIFT_OBJC_BRIDGING_HEADER = "leatherwalletmobile/leatherwalletmobile-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7A4D352CD337FB3A3BF06240 /* Pods-leatherwalletmobile.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = leatherwalletmobile/leatherwalletmobile.entitlements; + CURRENT_PROJECT_VERSION = 1; + INFOPLIST_FILE = leatherwalletmobile/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; + PRODUCT_BUNDLE_IDENTIFIER = io.leather.mobilewallet; + PRODUCT_NAME = leatherwalletmobile; + SWIFT_OBJC_BRIDGING_HEADER = "leatherwalletmobile/leatherwalletmobile-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CC = ""; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CXX = ""; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD = ""; + LDPLUSPLUS = ""; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + USE_HERMES = true; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CC = ""; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + CXX = ""; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD = ""; + LDPLUSPLUS = ""; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + USE_HERMES = true; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "leatherwalletmobile" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "leatherwalletmobile" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/apps/mobile/ios/leatherwalletmobile.xcodeproj/xcshareddata/xcschemes/leatherwalletmobile.xcscheme b/apps/mobile/ios/leatherwalletmobile.xcodeproj/xcshareddata/xcschemes/leatherwalletmobile.xcscheme new file mode 100644 index 000000000..5018fb8dc --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile.xcodeproj/xcshareddata/xcschemes/leatherwalletmobile.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/mobile/ios/leatherwalletmobile.xcworkspace/contents.xcworkspacedata b/apps/mobile/ios/leatherwalletmobile.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..5067e46ba --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/apps/mobile/ios/leatherwalletmobile/AppDelegate.h b/apps/mobile/ios/leatherwalletmobile/AppDelegate.h new file mode 100644 index 000000000..1658a437e --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/AppDelegate.h @@ -0,0 +1,7 @@ +#import +#import +#import + +@interface AppDelegate : EXAppDelegateWrapper + +@end diff --git a/apps/mobile/ios/leatherwalletmobile/AppDelegate.mm b/apps/mobile/ios/leatherwalletmobile/AppDelegate.mm new file mode 100644 index 000000000..b27f83286 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/AppDelegate.mm @@ -0,0 +1,62 @@ +#import "AppDelegate.h" + +#import +#import + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.moduleName = @"main"; + + // You can add your custom initial props in the dictionary below. + // They will be passed down to the ViewController used by React Native. + self.initialProps = @{}; + + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ + return [self bundleURL]; +} + +- (NSURL *)bundleURL +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@".expo/.virtual-metro-entry"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +// Linking API +- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options { + return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options]; +} + +// Universal Links +- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray> * _Nullable))restorationHandler { + BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; + return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken +{ + return [super application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error +{ + return [super application:application didFailToRegisterForRemoteNotificationsWithError:error]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler +{ + return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; +} + +@end diff --git a/apps/mobile/ios/leatherwalletmobile/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..7bdd77c12505f2f5c312f3ce6dff842bd9626695 GIT binary patch literal 27061 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/ios/leatherwalletmobile/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..90d8d4c2a --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "App-Icon-1024x1024@1x.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "version": 1, + "author": "expo" + } +} \ No newline at end of file diff --git a/apps/mobile/ios/leatherwalletmobile/Images.xcassets/Contents.json b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/Contents.json new file mode 100644 index 000000000..ed285c2e5 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "expo" + } +} diff --git a/apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreen.imageset/Contents.json b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreen.imageset/Contents.json new file mode 100644 index 000000000..3cf848977 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreen.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "filename": "image.png", + "scale": "1x" + }, + { + "idiom": "universal", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "expo" + } +} \ No newline at end of file diff --git a/apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreen.imageset/image.png b/apps/mobile/ios/leatherwalletmobile/Images.xcassets/SplashScreen.imageset/image.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b05b4efc04eec070a17f5d76a64d9f761c129e GIT binary patch literal 31531 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 Q0tz#Dy85}Sb4q9e0EL(iEdT%j literal 0 HcmV?d00001 diff --git a/apps/mobile/ios/leatherwalletmobile/Info.plist b/apps/mobile/ios/leatherwalletmobile/Info.plist new file mode 100644 index 000000000..d3764dc24 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/Info.plist @@ -0,0 +1,79 @@ + + + + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + @leather-wallet/mobile + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleURLSchemes + + myapp + io.leather.mobilewallet + + + + CFBundleVersion + 1.0.0 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAllowsLocalNetworking + + + NSFaceIDUsageDescription + Allow $(PRODUCT_NAME) to access your Face ID biometric data. + NSUserActivityTypes + + $(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route + + UILaunchStoryboardName + SplashScreen + UIRequiredDeviceCapabilities + + arm64 + + UIRequiresFullScreen + + UIStatusBarStyle + UIStatusBarStyleDefault + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIUserInterfaceStyle + Automatic + UIViewControllerBasedStatusBarAppearance + + + \ No newline at end of file diff --git a/apps/mobile/ios/leatherwalletmobile/SplashScreen.storyboard b/apps/mobile/ios/leatherwalletmobile/SplashScreen.storyboard new file mode 100644 index 000000000..ed03a5299 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/SplashScreen.storyboard @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/mobile/ios/leatherwalletmobile/Supporting/Expo.plist b/apps/mobile/ios/leatherwalletmobile/Supporting/Expo.plist new file mode 100644 index 000000000..750be020c --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/Supporting/Expo.plist @@ -0,0 +1,12 @@ + + + + + EXUpdatesCheckOnLaunch + ALWAYS + EXUpdatesEnabled + + EXUpdatesLaunchWaitMs + 0 + + \ No newline at end of file diff --git a/apps/mobile/ios/leatherwalletmobile/leatherwalletmobile-Bridging-Header.h b/apps/mobile/ios/leatherwalletmobile/leatherwalletmobile-Bridging-Header.h new file mode 100644 index 000000000..e11d920b1 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/leatherwalletmobile-Bridging-Header.h @@ -0,0 +1,3 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// diff --git a/apps/mobile/ios/leatherwalletmobile/leatherwalletmobile.entitlements b/apps/mobile/ios/leatherwalletmobile/leatherwalletmobile.entitlements new file mode 100644 index 000000000..f683276c5 --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/leatherwalletmobile.entitlements @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/mobile/ios/leatherwalletmobile/main.m b/apps/mobile/ios/leatherwalletmobile/main.m new file mode 100644 index 000000000..25181b6cc --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/main.m @@ -0,0 +1,10 @@ +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} + diff --git a/apps/mobile/ios/leatherwalletmobile/noop-file.swift b/apps/mobile/ios/leatherwalletmobile/noop-file.swift new file mode 100644 index 000000000..b2ffafbfc --- /dev/null +++ b/apps/mobile/ios/leatherwalletmobile/noop-file.swift @@ -0,0 +1,4 @@ +// +// @generated +// A blank Swift file must be created for native modules with Swift files to work correctly. +// diff --git a/apps/mobile/package.json b/apps/mobile/package.json index 05b3c396b..4ff98d999 100644 --- a/apps/mobile/package.json +++ b/apps/mobile/package.json @@ -3,10 +3,15 @@ "version": "1.4.1", "type": "module", "scripts": { - "android": "expo start --android", + "android": "expo run:android", + "e2e:build:ios-release": "detox build --configuration ios.release --config-path ./.detoxrc.cjs --loglevel debug", + "e2e:test:ios-release": "detox test --configuration ios.release --config-path ./.detoxrc.cjs --loglevel debug", + "eas-build-on-success": "./eas-hooks/eas-build-on-success.sh", "eas-build-post-install": "cd ../.. && pnpm ts:build", + "eas-build-pre-install": "./eas-hooks/eas-build-pre-install.sh", "format": "prettier --write \"src/**/*.{ts,tsx}\" --ignore-path ../../.prettierignore", - "ios": "expo start --ios", + "ios": "expo run:ios", + "ios:build": "expo run:ios --no-bundler", "lint": "eslint . --ignore-path ../../.eslintignore", "lint:fix": "pnpm lint --fix --ignore-path ../../.eslintignore", "start": "expo start", @@ -63,14 +68,21 @@ "devDependencies": { "@babel/core": "7.24.6", "@babel/runtime": "7.23.2", + "@config-plugins/detox": "8.0.0", "@leather-wallet/eslint-config": "workspace:*", + "@types/jest": "29.5.12", "@types/lodash.merge": "4.6.9", + "@types/node": "20.14.0", "@types/react": "18.2.79", "@types/react-dom": "18.2.25", + "babel-jest": "29.7.0", "babel-preset-expo": "11.0.6", + "detox": "20.22.2", "eslint": "8.53.0", "eslint-config-universe": "12.0.0", + "jest": "29.7.0", "react-test-renderer": "18.2.0", + "ts-jest": "29.1.4", "tslib": "2.6.2", "typescript": "5.3.3" }, diff --git a/apps/mobile/src/components/welcome-screen/index.tsx b/apps/mobile/src/components/welcome-screen/index.tsx index 2c94be5f4..1b0b6fd30 100644 --- a/apps/mobile/src/components/welcome-screen/index.tsx +++ b/apps/mobile/src/components/welcome-screen/index.tsx @@ -14,6 +14,7 @@ import { useTheme } from '@shopify/restyle'; import * as Linking from 'expo-linking'; import LottieView from 'lottie-react-native'; +import { WelcomeScreenTestIds } from '../../../test-ids'; import { BOTTOM_SHEET, BTC, @@ -150,7 +151,7 @@ export function WelcomeScreen() { // Show checkmark for 800ms before changing to the next screen state. useEffect(() => { - let timeout: number | undefined; + let timeout: ReturnType; if (isSubmitted) { setShowSuccess(true); timeout = setTimeout(() => { @@ -230,6 +231,7 @@ export function WelcomeScreen() {