{
  "name": "@interaxyz/mobile",
  "version": "1.0.0-alpha.1",
  "author": "Valora Inc",
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "https://github.com/interaxyz/intera-mobile",
    "directory": "packages/@interaxyz/mobile"
  },
  "bugs": {
    "url": "https://github.com/interaxyz/intera-mobile/issues"
  },
  "homepage": "https://github.com/interaxyz/intera-mobile",
  "main": "./src/public/index.ts",
  "publishConfig": {
    "access": "public",
    "provenance": true
  },
  "engines": {
    "node": ">=20"
  },
  "files": [
    "src",
    "plugin/build",
    "app.plugin.js"
  ],
  "scripts": {
    "lint": "eslint --ext=.tsx,.ts src/",
    "format": "prettier --loglevel error --write .",
    "format:check": "prettier --check .",
    "reset": "yarn reset-modules && yarn reset-cache",
    "reset-cache": "yarn reset-yarn && yarn reset-rn",
    "reset-modules": "rm -rf node_modules/",
    "reset-rn": "watchman watch-del-all; rm -rf $TMPDIR/metro-cache-*; rm -rf $TMPDIR/haste-map-*; rm -rf $TMPDIR/metro-symbolicate*",
    "reset-yarn": "yarn cache clean",
    "check-licenses": "yarn licenses list --prod | grep '\\(─ GPL\\|─ (GPL-[1-9]\\.[0-9]\\+ OR GPL-[1-9]\\.[0-9]\\+)\\)' && echo 'Found GPL license(s). Use 'yarn licenses list --prod' to look up the offending package' && exit 1 || echo 'No GPL licenses found'",
    "build": "yarn run build:ts",
    "build:ts": "tsc --noEmit",
    "build:metro": "yarn run react-native bundle --entry-file index.js --bundle-output bundle.js; rm bundle.js",
    "build:plugin": "rimraf plugin/build && tsc --build plugin",
    "dev:android": "./scripts/run_app.sh -p android",
    "dev:ios": "./scripts/run_app.sh -p ios",
    "dev:ios:mainnet": "yarn dev:ios -e mainnetdev",
    "dev:android:mainnet": "yarn dev:android -e mainnetdev",
    "dev:show-menu": "adb devices | grep '\t' | awk '{print $1}' | sed 's/\\s//g' | xargs -I {} adb -s {} shell input keyevent 82",
    "dev:clear-data": "adb shell pm clear org.celo.mobile.dev",
    "dev:clean-android": "cd android && ./gradlew clean",
    "dev:send-text": "adb shell input text",
    "dev:reload": "adb shell input text \"RR\"",
    "dev:pidcat": "pidcat org.celo.mobile.dev -t ReactNativeJs -t ReactNativeJS",
    "dev:emulator:list": "$ANDROID_HOME/emulator/emulator -list-avds",
    "dev:emulator:run": "$ANDROID_HOME/emulator/emulator -avd",
    "knip:depcheck": "knip --include dependencies",
    "test": "export TZ=UTC && jest --silent",
    "test:all": "yarn lint && yarn build:ts && yarn test",
    "test:ci": "yarn test --coverage --maxWorkers=3",
    "test:watch": "yarn test --watch --maxWorkers=4",
    "test:verbose": "export TZ=UTC && jest --verbose",
    "test:verify-locales": "./scripts/verify_locales.sh",
    "test:update-root-state-schema": "./scripts/update_root_state_schema.sh",
    "e2e:packager": "export CELO_TEST_CONFIG=e2e && yarn react-native start",
    "e2e:build:android-debug": "export CELO_TEST_CONFIG=e2e && yarn detox build -c android.debug",
    "e2e:build:android-release": "export CELO_TEST_CONFIG=e2e && detox build -c android.release",
    "e2e:build:ios-debug": "export CELO_TEST_CONFIG=e2e && detox build -c ios.debug",
    "e2e:build:ios-release": "export CELO_TEST_CONFIG=e2e && detox build -c ios.release",
    "e2e:test:android-debug": "detox test -c android.debug -l verbose",
    "e2e:test:android-release": "detox test -c android.release -l verbose",
    "e2e:test:ios-debug": "detox test -c ios.debug -l verbose",
    "e2e:test:ios-release": "detox test -c ios.release -l verbose",
    "pre-deploy": "./scripts/pre-deploy.sh",
    "generate-release-notes": "ts-node ./scripts/generate-release-notes.ts",
    "deploy:update-disclaimer": "yarn licenses generate-disclaimer --prod > src/account/LicenseDisclaimer.txt && ./scripts/copy_license_to_android_assets.sh",
    "//postinstall": "patch-package && yarn keys:decrypt && ./scripts/copy_license_to_android_assets.sh",
    "keys:decrypt": "bash scripts/key_placer.sh decrypt",
    "keys:encrypt": "bash scripts/key_placer.sh encrypt"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "pre-push": "node ./scripts/hooks/pre-push.js"
    }
  },
  "lint-staged": {
    "**/*.+(ts|tsx|js|jsx|json|sol|java|yml|yaml|md)": "prettier --write"
  },
  "rnpm": {
    "assets": [
      "./fonts"
    ]
  },
  "peerDependencies": {
    "@react-native-async-storage/async-storage": "^2.1.0",
    "@react-native-clipboard/clipboard": "^1.15.0",
    "@react-native-community/netinfo": "^11.4.1",
    "@react-native-cookies/cookies": "^6.2.1",
    "@react-native-firebase/analytics": "19.1.0",
    "@react-native-firebase/app": "19.1.0",
    "@react-native-firebase/auth": "19.1.0",
    "@react-native-firebase/database": "19.1.0",
    "@react-native-firebase/dynamic-links": "19.1.0",
    "@react-native-firebase/messaging": "19.1.0",
    "@react-native-firebase/remote-config": "19.1.0",
    "@react-native-masked-view/masked-view": "^0.3.2",
    "@react-native-picker/picker": "^2.10.2",
    "@react-navigation/bottom-tabs": "^7.2.0",
    "@react-navigation/devtools": "^7.0.15",
    "@react-navigation/elements": "^2.2.5",
    "@react-navigation/material-top-tabs": "^7.1.0",
    "@react-navigation/native": "^7.0.14",
    "@react-navigation/native-stack": "^7.2.0",
    "@segment/analytics-react-native": "^2.20.3",
    "@segment/analytics-react-native-plugin-adjust": "^0.7.0",
    "@segment/analytics-react-native-plugin-clevertap": "^1.1.0",
    "@segment/analytics-react-native-plugin-destination-filters": "^1.1.0",
    "@segment/analytics-react-native-plugin-firebase": "^0.4.3",
    "@segment/sovran-react-native": "^1.1.3",
    "@walletconnect/react-native-compat": "^2.16.2",
    "clevertap-react-native": "^2.2.1",
    "lottie-react-native": "^5.1.6",
    "react": "18.3.1",
    "react-native": "0.76.5",
    "react-native-adjust": "^4.38.1",
    "react-native-auth0": "^3.2.1",
    "react-native-camera": "^4.2.1",
    "react-native-config": "^1.5.3",
    "react-native-contacts": "https://github.com/valora-inc/react-native-contacts#9940121",
    "react-native-device-info": "^13.2.0",
    "react-native-exit-app": "^2.0.0",
    "react-native-fast-image": "^8.6.3",
    "react-native-fs": "^2.20.0",
    "react-native-gesture-handler": "^2.21.2",
    "react-native-haptic-feedback": "^2.3.3",
    "react-native-in-app-review": "^4.3.3",
    "react-native-keychain": "^8.2.0",
    "react-native-launch-arguments": "^4.0.2",
    "react-native-linear-gradient": "^2.8.3",
    "react-native-localize": "^3.3.0",
    "react-native-pager-view": "^6.4.1",
    "react-native-permissions": "^4.1.5",
    "react-native-persona": "^2.2.23",
    "react-native-quick-crypto": "0.7.7",
    "react-native-reanimated": "^3.15.1",
    "react-native-restart": "^0.0.27",
    "react-native-safe-area-context": "^4.14.1",
    "react-native-screens": "^4.3.0",
    "react-native-shake": "5.5.2",
    "react-native-share": "^11.1.0",
    "react-native-simple-toast": "^3.3.1",
    "react-native-sms-retriever": "^1.1.1",
    "react-native-svg": "^15.7.1",
    "react-native-video": "^6.6.4",
    "react-native-webview": "^13.12.5"
  },
  "dependencies": {
    "@badrap/result": "~0.2.13",
    "@crowdin/ota-client": "^0.7.0",
    "@fiatconnect/fiatconnect-sdk": "^0.5.66",
    "@fiatconnect/fiatconnect-types": "^13.3.10",
    "@gorhom/bottom-sheet": "^5.0.6",
    "@json-rpc-tools/utils": "^1.7.6",
    "@noble/secp256k1": "^1.7.1",
    "@reduxjs/toolkit": "^2.5.0",
    "@scure/bip39": "^1.5.0",
    "@sentry/react-native": "^5.36.0",
    "@th3rdwave/react-navigation-bottom-sheet": "^0.3.2",
    "@toruslabs/constants": "^14.2.0",
    "@toruslabs/fetch-node-details": "^14.2.0",
    "@toruslabs/torus.js": "^15.1.1",
    "@walletconnect/utils": "^2.16.2",
    "@walletconnect/web3wallet": "^1.15.2",
    "bignumber.js": "^9.1.2",
    "country-data": "^0.0.31",
    "date-fns": "^4.1.0",
    "dot-prop-immutable": "^2.1.1",
    "fast-levenshtein": "^3.0.0",
    "fp-ts": "2.16.9",
    "futoin-hkdf": "^1.5.3",
    "fuzzysort": "^3.1.0",
    "google-libphonenumber": "^3.2.40",
    "i18next": "^24.1.0",
    "ibantools": "^4.5.1",
    "intl-pluralrules": "^2.0.1",
    "io-ts": "2.2.22",
    "is-ip": "^3.1.0",
    "jwt-decode": "^4.0.0",
    "lodash": "^4.17.21",
    "react-async-hook": "^4.0.0",
    "react-i18next": "^15.2.0",
    "react-native-android-open-settings": "^1.3.0",
    "react-native-modal": "^13.0.1",
    "react-native-picker-select": "^9.3.1",
    "react-native-platform-touchable": "^1.1.1",
    "react-native-qrcode-svg": "^6.3.12",
    "react-native-skeleton-placeholder": "^5.2.4",
    "react-native-url-polyfill": "^2.0.0",
    "react-redux": "^9.2.0",
    "redux": "^5.0.1",
    "redux-persist": "^6.0.0",
    "redux-persist-fs-storage": "^1.3.0",
    "redux-saga": "^1.3.0",
    "reselect": "^4.1.8",
    "seedrandom": "^3.0.5",
    "statsig-react-native": "^4.15.0",
    "svgs": "^4.2.0",
    "tslib": "^2.8.1",
    "typed-redux-saga": "^1.5.0",
    "uuid": "^10.0.0",
    "victory-native": "^36.9.2",
    "viem": "^2.21.55",
    "web3-utils": "^4.3.3"
  },
  "devDependencies": {
    "@actions/github": "^5.1.1",
    "@react-native/metro-config": "0.76.5",
    "@sentry/types": "^7.111.0",
    "@testing-library/jest-native": "^5.4.3",
    "@testing-library/react-native": "^12.7.2",
    "@tsconfig/node-lts": "^22.0.1",
    "@types/country-data": "^0.0.5",
    "@types/fast-levenshtein": "^0.0.2",
    "@types/google-libphonenumber": "^7.4.30",
    "@types/hoist-non-react-statics": "^3.3.5",
    "@types/jest": "^29.5.3",
    "@types/lodash": "^4.14.136",
    "@types/node": "^20",
    "@types/react": "^18.0.24",
    "@types/react-native-auth0": "^2.17.5",
    "@types/react-native-fs": "^2.13.0",
    "@types/react-native-video": "^5.0.15",
    "@types/react-test-renderer": "^18.0.0",
    "@types/redux-mock-store": "^1.0.6",
    "@types/seedrandom": "^3.0.5",
    "@types/uuid": "^9.0.0",
    "@walletconnect/legacy-types": "^2.0.0",
    "@walletconnect/types": "^2.13.3",
    "ajv": "^8.10.0",
    "babel-jest": "^29.2.1",
    "babel-plugin-module-resolver": "^4.1.0",
    "detox": "^20.28.0",
    "escape-string-regexp": "^1.0.5",
    "husky": "^3.0.0",
    "jest": "^29.6.2",
    "jest-circus": "^29.6.2",
    "jest-fetch-mock": "^3.0.3",
    "jest-html-reporter": "^3.5.0",
    "jest-junit": "^10.0.0",
    "jest-snapshot": "^29.6.2",
    "knip": "^3.13.1",
    "lint-staged": "^15.2.0",
    "lokijs": "^1.5.12",
    "mockdate": "^3.0.5",
    "patch-package": "^6.2.2",
    "prettier": "3.3.3",
    "react": "18.3.1",
    "react-devtools": "^4.26.0",
    "react-native": "0.76.5",
    "react-native-contacts": "https://github.com/valora-inc/react-native-contacts#9940121",
    "react-native-flipper": "^0.212.0",
    "react-native-kill-packager": "^1.0.0",
    "react-native-svg-mock": "^2.0.0",
    "react-native-version": "^3.1.0",
    "react-test-renderer": "18.2.0",
    "redux-flipper": "^1.4.2",
    "redux-mock-store": "^1.5.3",
    "redux-saga-test-plan": "^4.0.6",
    "remote-redux-devtools": "^0.5.12",
    "rimraf": "^6.0.1",
    "ts-jest": "^29.1.1",
    "ts-node": "10.7.0",
    "typescript": "^5.6.2",
    "typescript-json-schema": "^0.59.0"
  },
  "resolutions": {
    "redux": "^5.0.1",
    "set-value": "^4.1.0"
  },
  "detox": {
    "testRunner": {
      "$0": "jest",
      "args": {
        "config": "./e2e/jest.config.js"
      },
      "forwardEnv": true
    },
    "artifacts": {
      "rootDir": "./e2e/artifacts"
    },
    "apps": {
      "android.debug": {
        "binaryPath": "android/app/build/outputs/apk/apptest/debug/app-apptest-debug.apk",
        "testBinaryPath": "android/app/build/outputs/apk/androidTest/apptest/debug/app-apptest-debug-androidTest.apk",
        "build": "cd android && ./gradlew assembleApptestDebug assembleApptestDebugAndroidTest -DtestBuildType=debug -PisDetoxBuild=true && cd ..",
        "type": "android.apk",
        "__comment": "Pixel_API_29_AOSP_x86_64 is currently hardcoded but it should be the result from $ANDROID_SDK_ROOT/emulator/emulator -list-avds | grep 'x86' | head -n 1`",
        "__comment2": "Specifying 'testBinaryPath' otherwise detox infers the wrong APK name because we're using split APKs"
      },
      "android.release": {
        "binaryPath": "android/app/build/outputs/apk/apptest/release/app-apptest-release.apk",
        "testBinaryPath": "android/app/build/outputs/apk/androidTest/apptest/release/app-apptest-release-androidTest.apk",
        "build": "cd android && ./gradlew assembleApptestRelease assembleApptestReleaseAndroidTest -DtestBuildType=release -PisDetoxBuild=true && cd ..",
        "type": "android.apk",
        "__comment": "Pixel_API_29_AOSP_x86_64 is currently hardcoded but it should be the result from $ANDROID_SDK_ROOT/emulator/emulator -list-avds | grep 'x86' | head -n 1`",
        "__comment2": "Specifying 'testBinaryPath' otherwise detox infers the wrong APK name because we're using split APKs"
      },
      "ios.debug": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/Valora.app",
        "build": "unset PREFIX && set -o pipefail && xcodebuild -workspace ios/MobileStack.xcworkspace -scheme MobileStack-test -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build | bundle exec xcpretty",
        "type": "ios.app"
      },
      "ios.release": {
        "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/Valora.app",
        "build": "unset PREFIX && set -o pipefail && xcodebuild -workspace ios/MobileStack.xcworkspace -scheme MobileStack-test -configuration Release -sdk iphonesimulator -derivedDataPath ios/build | bundle exec xcpretty",
        "type": "ios.app"
      }
    },
    "devices": {
      "simulator": {
        "type": "ios.simulator",
        "device": {
          "type": "iPhone SE (2nd generation)"
        }
      },
      "simulator.15.0": {
        "type": "ios.simulator",
        "device": {
          "type": "iPhone SE (2nd generation)",
          "os": "iOS 15.0"
        }
      },
      "simulator.17.2": {
        "type": "ios.simulator",
        "device": {
          "type": "iPhone SE (3rd generation)",
          "os": "iOS 17.2"
        }
      },
      "emulator": {
        "type": "android.emulator",
        "device": {
          "avdName": "Pixel_API_29_AOSP_x86_64"
        },
        "utilBinaryPaths": [
          "./e2e/test-butler-app.apk"
        ]
      }
    },
    "configurations": {
      "ios.debug": {
        "device": "simulator",
        "app": "ios.debug"
      },
      "ios.release": {
        "device": "simulator",
        "app": "ios.release"
      },
      "ios.release.15.0": {
        "device": "simulator.15.0",
        "app": "ios.release"
      },
      "ios.release.17.2": {
        "device": "simulator.17.2",
        "app": "ios.release"
      },
      "android.debug": {
        "device": "emulator",
        "app": "android.debug"
      },
      "android.release": {
        "device": "emulator",
        "app": "android.release"
      }
    }
  },
  "persona": {
    "androidTheme": {
      "backgroundColor": null,
      "primaryColor": "#1AB775",
      "darkPrimaryColor": "#1AB775",
      "accentColor": "#97DFC1",
      "titleTextColor": "#2E3338",
      "titleTextFont": "Inter-Bold",
      "bodyTextColor": "#2E3338",
      "bodyTextFont": "Inter-Regular",
      "footnoteTextColor": "#2E3338",
      "footnoteTextFont": "Inter-Regular",
      "textFieldTextColor": "#2E3338",
      "textFieldTextFont": "Inter-Regular",
      "pickerTextColor": "#2E3338",
      "pickerTextFont": "Inter-Regular",
      "buttonBackgroundColor": "#1AB775",
      "buttonDisabledBackgroundColor": "#97DFC1",
      "buttonTouchedBackgroundColor": "#97DFC1",
      "buttonTextColor": "#FFFFFF",
      "buttonDisabledTextColor": "#FFFFFF",
      "buttonCornerRadius": "25",
      "buttonFont": "Inter-SemiBold",
      "progressColor": null,
      "successAsset": null,
      "failAsset": null,
      "loadingAnimationAsset": null,
      "loadingAnimationWidthPercent": null,
      "selfieAnimationAsset": null,
      "selfieAnimationWidthPercent": null
    },
    "iosTheme": {
      "backgroundColor": null,
      "primaryColor": "#1AB775",
      "darkPrimaryColor": "#1AB775",
      "accentColor": "#97DFC1",
      "errorColor": null,
      "errorTextFont": null,
      "overlayBackgroundColor": null,
      "titleTextAlignment": null,
      "titleTextColor": "#2E3338",
      "titleTextFont": "Inter-Bold",
      "cardTitleTextFont": null,
      "bodyTextAlignment": null,
      "bodyTextColor": "#2E3338",
      "bodyTextFont": "Inter-Regular",
      "footnoteTextColor": "#2E3338",
      "footnoteTextFont": "Inter-Regular",
      "formLabelTextColor": "#2E3338",
      "formLabelTextFont": "Inter-SemiBold",
      "textFieldTextColor": "#2E3338",
      "textFieldBackgroundColor": null,
      "textFieldBorderColor": null,
      "textFieldCornerRadius": null,
      "textFieldFont": null,
      "textFieldPlaceholderFont": null,
      "pickerTextColor": "#2E3338",
      "pickerTextFont": "Inter-Regular",
      "buttonBackgroundColor": "#1AB775",
      "buttonDisabledBackgroundColor": "#97DFC1",
      "buttonTouchedBackgroundColor": "#97DFC1",
      "buttonTextColor": "#FFFFFF",
      "buttonDisabledTextColor": "#FFFFFF",
      "buttonTextAlignment": null,
      "buttonImageTintColor": null,
      "buttonCornerRadius": "25",
      "buttonBorderWidth": "2",
      "buttonBorderColor": "#1AB775",
      "buttonFont": "Inter-SemiBold",
      "buttonSecondaryBackgroundColor": null,
      "buttonSecondaryDisabledBackgroundColor": null,
      "buttonSecondaryTouchedBackgroundColor": null,
      "buttonSecondaryTextColor": "#1AB775",
      "buttonSecondaryDisabledTextColor": null,
      "buttonSecondaryTextAlignment": null,
      "buttonSecondaryImageTintColor": null,
      "buttonSecondaryCornerRadius": "25",
      "buttonSecondaryBorderWidth": "2",
      "buttonSecondaryBorderColor": "#1AB775",
      "buttonSecondaryFont": "Inter-SemiBold",
      "selectedCellBackgroundColor": null,
      "closeButtonTintColor": null,
      "cancelButtonBackgroundColor": "#1AB775",
      "cancelButtonTextColor": null,
      "cancelButtonAlternateBackgroundColor": "#FFFFFF",
      "cancelButtonAlternateTextColor": "#1AB775",
      "processingLabelsTextAlignment": null,
      "loadingAnimationAssetName": null,
      "loadingAnimationAssetWidth": null,
      "loadingAnimationAssetHeight": null,
      "processingAnimationAssetName": null,
      "processingAnimationAssetWidth": null,
      "processingAnimationAssetHeight": null,
      "selfieAnimationAssetName": null,
      "selfieAnimationAssetWidth": null,
      "selfieAnimationAssetHeight": null
    }
  }
}
