chore(mobile): Expo 51 + deps update (#12666)

* chore(mobile): deps update

* fix(mobile): fix unit tests mocks

* feat(mobile): redux devtools
This commit is contained in:
Daniel Suchý
2024-05-31 13:32:26 +02:00
committed by GitHub
parent 1d975eb822
commit 5dcefbb3a0
49 changed files with 1718 additions and 1399 deletions

View File

@@ -41,6 +41,7 @@ module.exports = {
'<rootDir>/../../node_modules/react-native-gesture-handler/jestSetup.js',
'<rootDir>/../../suite-native/test-utils/src/setupReactReanimatedMock.js',
'<rootDir>/../../suite-native/test-utils/src/atomsMock.js',
'<rootDir>/../../suite-native/test-utils/src/expoMock.js',
],
moduleNameMapper: { '^uuid$': require.resolve('uuid') },
};

View File

@@ -92,7 +92,7 @@
},
"resolutions": {
"typescript": "5.3.3",
"react-native": "0.73.6",
"react-native": "0.74.1",
"prettier": "3.2.5",
"type-fest": "2.12.2",
"bcrypto": "5.4.0",

View File

@@ -28,6 +28,6 @@
"polished": "^4.3.1",
"react": "18.2.0",
"react-fela": "^12.2.1",
"react-native": "0.73.6"
"react-native": "0.74.1"
}
}

View File

@@ -11,15 +11,15 @@
"generate-icons": "yarn g:tsx generateIcons.js"
},
"dependencies": {
"@shopify/react-native-skia": "0.1.234",
"@shopify/react-native-skia": "1.3.2",
"@suite-common/wallet-config": "workspace:*",
"@suite-common/wallet-types": "workspace:*",
"@trezor/connect": "workspace:*",
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-svg": "^16.1.33",
"styled-components": "^6.1.8"
},

View File

@@ -12,7 +12,7 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@suite-common/formatters": "workspace:*",
"@suite-common/icons": "workspace:*",
"@suite-common/redux-utils": "workspace:*",
@@ -36,8 +36,8 @@
"@trezor/theme": "workspace:*",
"proxy-memoize": "2.0.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7"
}
}

View File

@@ -15,7 +15,7 @@
"@trezor/styles": "workspace:*",
"jotai": "1.9.1",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1"
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0"
}
}

View File

@@ -27,12 +27,6 @@ Transport layer not working for iOS but it's possible to run app in watch-only m
3. Open `ios/TrezorSuite.xcworkspace` in Xcode
4. Hit ▶️ `Run` button
## Debugging with Flipper - deprecated
Because of usage of new Fabric architecture, it is not possible to use Chrome debugger anymore. We are compiling our own version of Hermes core with added functions.
Best way how to debug app is download [Flipper](https://fbflipper.com).
### Installation
Make sure you have the latest version of the Xcode command line tools installed:

View File

@@ -88,7 +88,6 @@ const getPlugins = (): ExpoPlugins => {
},
ios: {
deploymentTarget: '14.0',
flipper: true,
},
},
],
@@ -99,7 +98,6 @@ const getPlugins = (): ExpoPlugins => {
'android:allowBackup': false,
},
],
// Define FLIPPER_VERSION
'./plugins/withGradleProperties.js',
[
'@config-plugins/detox',

View File

@@ -20,14 +20,14 @@
"reverse-ports": "adb reverse tcp:8081 tcp:8081 && adb reverse tcp:21325 tcp:21325 && adb reverse tcp:19121 tcp:19121"
},
"dependencies": {
"@react-native/metro-config": "0.73.4",
"@react-navigation/bottom-tabs": "6.5.12",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-native/metro-config": "0.74.83",
"@react-navigation/bottom-tabs": "6.5.20",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@sentry/react-native": "5.19.1",
"@shopify/flash-list": "1.6.3",
"@shopify/react-native-skia": "0.1.234",
"@sentry/react-native": "5.22.3",
"@shopify/flash-list": "1.6.4",
"@shopify/react-native-skia": "1.3.2",
"@suite-common/analytics": "workspace:*",
"@suite-common/connect-init": "workspace:*",
"@suite-common/formatters": "workspace:*",
@@ -73,36 +73,35 @@
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"buffer": "^6.0.3",
"expo": "50.0.6",
"expo-av": "13.10.5",
"expo-barcode-scanner": "12.9.2",
"expo-build-properties": "^0.11.1",
"expo-clipboard": "5.0.1",
"expo-constants": "15.4.5",
"expo-dev-client": "^3.3.7",
"expo-haptics": "12.8.1",
"expo-image": "1.10.6",
"expo-linear-gradient": "12.7.1",
"expo-localization": "14.8.3",
"expo-navigation-bar": "2.8.1",
"expo-secure-store": "12.8.1",
"expo-splash-screen": "0.26.4",
"expo-status-bar": "~1.11.1",
"expo-system-ui": "2.9.3",
"lottie-react-native": "6.6.0",
"expo": "51.0.9",
"expo-av": "14.0.5",
"expo-barcode-scanner": "13.0.1",
"expo-build-properties": "0.12.1",
"expo-clipboard": "6.0.3",
"expo-constants": "16.0.2",
"expo-dev-client": "4.0.15",
"expo-haptics": "13.0.1",
"expo-image": "1.12.9",
"expo-linear-gradient": "13.0.2",
"expo-localization": "15.0.3",
"expo-navigation-bar": "3.0.4",
"expo-secure-store": "13.0.1",
"expo-splash-screen": "0.27.4",
"expo-status-bar": "1.12.1",
"expo-system-ui": "3.0.4",
"lottie-react-native": "6.7.2",
"node-libs-browser": "^2.2.1",
"react": "18.2.0",
"react-intl": "^6.6.2",
"react-native": "0.73.6",
"react-native-flipper": "^0.212.0",
"react-native-gesture-handler": "2.15.0",
"react-native": "0.74.1",
"react-native-gesture-handler": "2.16.2",
"react-native-keyboard-aware-scroll-view": "0.9.5",
"react-native-mmkv": "2.11.0",
"react-native-reanimated": "3.8.1",
"react-native-mmkv": "2.12.2",
"react-native-reanimated": "3.11.0",
"react-native-restart": "0.0.27",
"react-native-safe-area-context": "4.9.0",
"react-native-screens": "3.29.0",
"react-native-svg": "14.1.0",
"react-native-safe-area-context": "4.10.3",
"react-native-screens": "3.31.1",
"react-native-svg": "15.3.0",
"react-redux": "8.0.7",
"redux-persist": "6.0.0"
},
@@ -110,7 +109,7 @@
"@babel/core": "^7.20.0",
"@babel/plugin-transform-export-namespace-from": "^7.23.4",
"@config-plugins/detox": "^7.0.0",
"@react-native/babel-preset": "0.73.21",
"@react-native/babel-preset": "^0.74.83",
"@types/jest": "^29.5.12",
"@types/node": "^20.11.24",
"babel-plugin-transform-inline-environment-variables": "^0.4.4",

View File

@@ -1,13 +1,7 @@
/* eslint-disable @typescript-eslint/no-shadow */
const { withGradleProperties } = require('expo/config-plugins');
const newGraddleProperties = [
{
type: 'property',
key: 'FLIPPER_VERSION',
value: '0.246.0',
},
];
const newGraddleProperties = [];
module.exports = config =>
withGradleProperties(config, config => {

View File

@@ -11,7 +11,7 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@suite-common/assets": "workspace:*",
"@suite-common/icons": "workspace:*",
"@suite-common/suite-config": "workspace:*",
@@ -31,8 +31,8 @@
"jotai": "1.9.1",
"proxy-memoize": "2.0.2",
"react": "^18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7"
}
}

View File

@@ -11,7 +11,7 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@shopify/react-native-skia": "0.1.234",
"@shopify/react-native-skia": "1.3.2",
"@suite-common/icons": "workspace:*",
"@suite-common/wallet-config": "workspace:*",
"@suite-common/wallet-types": "workspace:*",
@@ -21,15 +21,15 @@
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"@trezor/utils": "workspace:*",
"expo-image": "1.10.6",
"expo-image": "1.12.9",
"jotai": "1.9.1",
"lottie-react-native": "6.6.0",
"lottie-react-native": "6.7.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-gesture-handler": "2.15.0",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-gesture-handler": "2.16.2",
"react-native-reanimated": "3.11.0",
"react-native-root-toast": "^3.5.1",
"react-native-safe-area-context": "4.9.0",
"react-native-safe-area-context": "4.10.3",
"react-redux": "8.0.7"
}
}

View File

@@ -18,9 +18,9 @@
"@suite-native/intl": "workspace:*",
"@suite-native/storage": "workspace:*",
"@trezor/styles": "workspace:*",
"expo-local-authentication": "13.8.0",
"expo-local-authentication": "14.0.1",
"jotai": "1.9.1",
"react": "18.2.0",
"react-native": "0.73.6"
"react-native": "0.74.1"
}
}

View File

@@ -14,6 +14,6 @@
"@suite-common/wallet-config": "workspace:*",
"@suite-common/wallet-types": "workspace:*",
"@suite-common/wallet-utils": "workspace:*",
"expo-constants": "15.4.5"
"expo-constants": "16.0.2"
}
}

View File

@@ -11,7 +11,7 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/icons": "workspace:*",
"@suite-common/suite-types": "workspace:*",
@@ -30,9 +30,9 @@
"@trezor/theme": "workspace:*",
"jotai": "1.9.1",
"react": "^18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native-safe-area-context": "4.9.0",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-native-safe-area-context": "4.10.3",
"react-redux": "8.0.7"
}
}

View File

@@ -11,7 +11,7 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/icons": "workspace:*",
"@suite-common/redux-utils": "workspace:*",
@@ -32,9 +32,9 @@
"@trezor/connect": "workspace:*",
"@trezor/device-utils": "workspace:*",
"@trezor/styles": "workspace:*",
"lottie-react-native": "6.6.0",
"lottie-react-native": "6.7.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-redux": "8.0.7",
"semver": "^7.6.0"
}

View File

@@ -13,7 +13,7 @@
"@reduxjs/toolkit": "1.9.5",
"@suite-native/config": "workspace:*",
"@trezor/env-utils": "workspace:*",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-redux": "8.0.7"
}
}

View File

@@ -25,7 +25,7 @@
"@trezor/styles": "workspace:*",
"@trezor/utils": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-redux": "8.0.7",
"web3-utils": "^4.2.3"
}

View File

@@ -12,10 +12,10 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@reduxjs/toolkit": "1.9.5",
"@sentry/react-native": "5.19.1",
"@shopify/react-native-skia": "0.1.234",
"@sentry/react-native": "5.22.3",
"@shopify/react-native-skia": "1.3.2",
"@suite-common/formatters": "workspace:*",
"@suite-common/graph": "workspace:*",
"@suite-common/icons": "workspace:*",
@@ -35,12 +35,12 @@
"@trezor/suite-data": "workspace:*",
"@trezor/theme": "workspace:*",
"date-fns": "^2.30.0",
"expo-haptics": "12.8.1",
"expo-haptics": "13.0.1",
"jotai": "1.9.1",
"react": "18.2.0",
"react-intl": "^6.6.2",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7",
"redux-persist": "6.0.0"
}

View File

@@ -14,8 +14,8 @@
"@mobily/ts-belt": "^3.13.1",
"@suite-native/toasts": "workspace:*",
"@trezor/connect": "workspace:*",
"expo-clipboard": "5.0.1",
"expo-clipboard": "6.0.3",
"react": "18.2.0",
"react-native": "0.73.6"
"react-native": "0.74.1"
}
}

View File

@@ -14,6 +14,6 @@
"dependencies": {
"react": "18.2.0",
"react-intl": "^6.6.2",
"react-native": "0.73.6"
"react-native": "0.74.1"
}
}

View File

@@ -25,9 +25,9 @@
"@trezor/theme": "workspace:*",
"proxy-memoize": "2.0.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native-safe-area-context": "4.9.0",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-native-safe-area-context": "4.10.3",
"react-redux": "8.0.7"
}
}

View File

@@ -13,10 +13,10 @@
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/core": "^6.4.10",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@shopify/react-native-skia": "0.1.234",
"@shopify/react-native-skia": "1.3.2",
"@suite-common/formatters": "workspace:*",
"@suite-common/icons": "workspace:*",
"@suite-common/redux-utils": "workspace:*",
@@ -48,8 +48,8 @@
"@trezor/styles": "workspace:*",
"@trezor/utxo-lib": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7"
}
}

View File

@@ -11,8 +11,8 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/fiat-services": "workspace:*",
"@suite-common/graph": "workspace:*",
@@ -43,8 +43,8 @@
"jotai": "1.9.1",
"react": "18.2.0",
"react-hook-form": "^7.50.1",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7"
}
}

View File

@@ -12,8 +12,8 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/suite-types": "workspace:*",
"@suite-common/wallet-config": "workspace:*",
@@ -28,10 +28,10 @@
"@suite-native/navigation": "workspace:*",
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"expo-linear-gradient": "12.7.1",
"expo-linear-gradient": "13.0.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-safe-area-context": "4.9.0",
"react-native": "0.74.1",
"react-native-safe-area-context": "4.10.3",
"react-redux": "8.0.7"
},
"devDependencies": {

View File

@@ -11,8 +11,8 @@
},
"dependencies": {
"@react-navigation/core": "^6.4.10",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/icons": "workspace:*",
"@suite-common/validators": "workspace:*",
@@ -28,8 +28,8 @@
"@trezor/connect": "workspace:*",
"@trezor/styles": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7"
}
}

View File

@@ -11,8 +11,8 @@
},
"dependencies": {
"@react-navigation/core": "^6.4.10",
"@react-navigation/native-stack": "6.9.18",
"@sentry/react-native": "5.19.1",
"@react-navigation/native-stack": "6.9.26",
"@sentry/react-native": "5.22.3",
"@suite-common/icons": "workspace:*",
"@suite-common/logger": "workspace:*",
"@suite-common/wallet-config": "workspace:*",
@@ -35,7 +35,7 @@
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-redux": "8.0.7"
}
}

View File

@@ -11,8 +11,8 @@
"type-check": "yarn g:tsc --build"
},
"dependencies": {
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/formatters": "workspace:*",
"@suite-common/graph": "workspace:*",
@@ -37,11 +37,11 @@
"@suite-native/theme": "workspace:*",
"@suite-native/toasts": "workspace:*",
"@trezor/styles": "workspace:*",
"expo-local-authentication": "13.8.0",
"expo-local-authentication": "14.0.1",
"jotai": "1.9.1",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-svg": "14.1.0",
"react-native": "0.74.1",
"react-native-svg": "15.3.0",
"react-redux": "8.0.7"
}
}

View File

@@ -11,8 +11,8 @@
},
"dependencies": {
"@react-navigation/core": "^6.4.10",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/analytics": "workspace:*",
"@suite-common/icons": "workspace:*",
@@ -27,10 +27,10 @@
"@suite-native/theme": "workspace:*",
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"expo-linear-gradient": "12.7.1",
"expo-linear-gradient": "13.0.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-svg": "14.1.0",
"react-native": "0.74.1",
"react-native-svg": "15.3.0",
"react-redux": "8.0.7"
}
}

View File

@@ -10,8 +10,8 @@
"type-check": "yarn g:tsc --build"
},
"dependencies": {
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/icons": "workspace:*",
"@suite-common/redux-utils": "workspace:*",
@@ -31,9 +31,9 @@
"@trezor/connect": "workspace:*",
"@trezor/styles": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-reanimated": "3.8.1",
"react-native-svg": "14.1.0",
"react-native": "0.74.1",
"react-native-reanimated": "3.11.0",
"react-native-svg": "15.3.0",
"react-redux": "8.0.7"
}
}

View File

@@ -10,8 +10,8 @@
"type-check": "yarn g:tsc --build"
},
"dependencies": {
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@suite-common/icons": "workspace:*",
"@suite-common/wallet-core": "workspace:*",
"@suite-common/wallet-types": "workspace:*",
@@ -29,7 +29,7 @@
"@suite-native/receive": "workspace:*",
"@trezor/styles": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-redux": "8.0.7"
}
}

View File

@@ -11,8 +11,8 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/validators": "workspace:*",
"@suite-common/wallet-config": "workspace:*",

View File

@@ -13,8 +13,8 @@
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/core": "^6.4.10",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/analytics": "workspace:*",
"@suite-common/icons": "workspace:*",
@@ -42,8 +42,8 @@
"@trezor/theme": "workspace:*",
"jotai": "1.9.1",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-svg": "14.1.0",
"react-native": "0.74.1",
"react-native-svg": "15.3.0",
"react-redux": "8.0.7"
}
}

View File

@@ -11,10 +11,10 @@
"type-check": "yarn g:tsc --build"
},
"dependencies": {
"@react-navigation/bottom-tabs": "6.5.12",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@sentry/react-native": "5.19.1",
"@react-navigation/bottom-tabs": "6.5.20",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@sentry/react-native": "5.22.3",
"@suite-common/icons": "workspace:*",
"@suite-common/message-system": "workspace:*",
"@suite-common/suite-constants": "workspace:*",
@@ -26,12 +26,12 @@
"@trezor/connect": "workspace:*",
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"expo-navigation-bar": "2.8.1",
"expo-system-ui": "2.9.3",
"expo-navigation-bar": "3.0.4",
"expo-system-ui": "3.0.4",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-native-keyboard-aware-scroll-view": "0.9.5",
"react-native-safe-area-context": "4.9.0",
"react-native-safe-area-context": "4.10.3",
"react-redux": "8.0.7"
}
}

View File

@@ -10,7 +10,7 @@
"type-check": "yarn g:tsc --build"
},
"dependencies": {
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@suite-common/icons": "workspace:*",
"@suite-common/toast-notifications": "workspace:*",
"@suite-common/wallet-config": "workspace:*",
@@ -24,10 +24,10 @@
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-gesture-handler": "2.15.0",
"react-native-reanimated": "3.8.1",
"react-native-safe-area-context": "4.9.0",
"react-native": "0.74.1",
"react-native-gesture-handler": "2.16.2",
"react-native-reanimated": "3.11.0",
"react-native-safe-area-context": "4.10.3",
"react-redux": "8.0.7"
}
}

View File

@@ -10,7 +10,7 @@
"type-check": "yarn g:tsc --build"
},
"dependencies": {
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@reduxjs/toolkit": "1.9.5",
"@suite-common/redux-utils": "workspace:*",
"@suite-common/suite-types": "workspace:*",

View File

@@ -20,9 +20,9 @@
"@suite-native/intl": "workspace:*",
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"expo-barcode-scanner": "^12.3.1",
"expo-barcode-scanner": "13.0.1",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-qr-code": "2.0.12"
}
}

View File

@@ -11,11 +11,11 @@
"type-check": "yarn g:tsc --build"
},
"dependencies": {
"@shopify/react-native-skia": "0.1.234",
"@shopify/react-native-skia": "1.3.2",
"@types/react": "18.2.79",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-gesture-handler": "2.15.0",
"react-native-reanimated": "3.8.1"
"react-native": "0.74.1",
"react-native-gesture-handler": "2.16.2",
"react-native-reanimated": "3.11.0"
}
}

View File

@@ -11,10 +11,10 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native-stack": "6.9.18",
"@react-navigation/native": "6.1.17",
"@react-navigation/native-stack": "6.9.26",
"@reduxjs/toolkit": "1.9.5",
"@shopify/react-native-skia": "0.1.234",
"@shopify/react-native-skia": "1.3.2",
"@suite-common/icons": "workspace:*",
"@suite-common/wallet-config": "workspace:*",
"@suite-common/wallet-core": "workspace:*",
@@ -39,9 +39,9 @@
"@trezor/theme": "workspace:*",
"jotai": "1.9.1",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-gesture-handler": "2.15.0",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-gesture-handler": "2.16.2",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7"
}
}

View File

@@ -34,15 +34,11 @@
"@trezor/connect": "workspace:*",
"@trezor/transport-native": "workspace:*",
"@trezor/utils": "workspace:*",
"expo-device": "5.9.3",
"expo-device": "6.0.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native": "0.74.1",
"react-redux": "8.0.7",
"redux-flipper": "^2.0.2",
"redux-logger": "^3.0.6",
"redux-devtools-expo-dev-plugin": "^0.1.0",
"redux-persist": "6.0.0"
},
"devDependencies": {
"@types/redux-logger": "^3.0.11"
}
}

View File

@@ -1,5 +1,5 @@
import { configureStore, Middleware } from '@reduxjs/toolkit';
import logger from 'redux-logger';
import { configureStore, Middleware, StoreEnhancer } from '@reduxjs/toolkit';
import devToolsEnhancer from 'redux-devtools-expo-dev-plugin';
import { prepareFiatRatesMiddleware } from '@suite-common/wallet-core';
import { messageSystemMiddleware } from '@suite-native/message-system';
@@ -11,8 +11,6 @@ import { blockchainMiddleware } from '@suite-native/blockchain';
import { extraDependencies } from './extraDependencies';
import { prepareRootReducers } from './reducers';
const IS_REDUX_LOGGER_ENABLED = false;
const middlewares: Middleware[] = [
messageSystemMiddleware,
blockchainMiddleware,
@@ -23,10 +21,10 @@ const middlewares: Middleware[] = [
prepareTransactionCacheMiddleware(extraDependencies),
];
const enhancers: Array<StoreEnhancer<any, any>> = [];
if (__DEV__) {
const createDebugger = require('redux-flipper').default;
middlewares.push(createDebugger());
if (IS_REDUX_LOGGER_ENABLED) middlewares.push(logger);
enhancers.push(devToolsEnhancer()!);
}
export const initStore = async () =>
@@ -40,4 +38,5 @@ export const initStore = async () =>
serializableCheck: false,
immutableCheck: false,
}).concat(middlewares),
enhancers: defaultEnhancers => defaultEnhancers.concat(enhancers),
});

View File

@@ -13,20 +13,20 @@
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@reduxjs/toolkit": "1.9.5",
"@sentry/react-native": "5.19.1",
"@sentry/react-native": "5.22.3",
"@suite-common/suite-types": "workspace:*",
"@suite-common/wallet-config": "workspace:*",
"@suite-common/wallet-core": "workspace:*",
"@suite-common/wallet-types": "workspace:*",
"@trezor/utxo-lib": "workspace:*",
"bs58": "^5.0.0",
"expo-crypto": "^12.8.1",
"expo-secure-store": "12.8.1",
"expo-splash-screen": "0.26.4",
"expo-crypto": "13.0.2",
"expo-secure-store": "13.0.1",
"expo-splash-screen": "0.27.4",
"jotai": "1.9.1",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-mmkv": "2.11.0",
"react-native": "0.74.1",
"react-native-mmkv": "2.12.2",
"react-native-restart": "0.0.27",
"redux-persist": "6.0.0"
}

View File

@@ -14,9 +14,9 @@
"@trezor/styles": "workspace:*",
"@trezor/theme": "workspace:*",
"react": "18.2.0",
"react-native-gesture-handler": "2.15.0",
"react-native-reanimated": "3.8.1",
"react-native-safe-area-context": "4.9.0",
"react-native-gesture-handler": "2.16.2",
"react-native-reanimated": "3.11.0",
"react-native-safe-area-context": "4.10.3",
"react-redux": "8.0.7"
}
}

View File

@@ -0,0 +1,383 @@
jest.mock('expo-localization', () => {
const Localization = {
getLocales: () => [
{
languageTag: 'pl-PL',
languageCode: 'pl',
textDirection: 'ltr',
digitGroupingSeparator: ' ',
decimalSeparator: ',',
measurementSystem: 'metric',
currencyCode: 'PLN',
currencySymbol: 'zł',
regionCode: 'PL',
temperatureUnit: 'celsius',
},
],
};
return Localization;
});
jest.mock('expo-constants', () => {
const Constants = {
AppOwnership: {
Expo: 'expo',
},
ExecutionEnvironment: {
Bare: 'bare',
Standalone: 'standalone',
StoreClient: 'storeClient',
},
UserInterfaceIdiom: {
Handset: 'handset',
Tablet: 'tablet',
Desktop: 'desktop',
TV: 'tv',
Unsupported: 'unsupported',
},
default: {
sessionId: '6DBC68D3-4E59-4B4D-9B1F-067947CA4956',
debugMode: true,
statusBarHeight: 54,
platform: {
ios: {
buildNumber: '1',
},
},
executionEnvironment: 'bare',
deviceName: 'iPhone 14 Pro',
manifest: null,
systemFonts: [],
isHeadless: false,
appOwnership: null,
manifest2: {
assets: [],
createdAt: '2024-05-31T09:17:29.550Z',
metadata: {},
runtimeVersion: 'exposdk:51.0.0',
id: '907c2109-b4f8-4683-8a69-5f4e00408969',
launchAsset: {
key: 'bundle',
contentType: 'application/javascript',
url: 'http://127.0.0.1:8081/index.bundle?platform=ios&dev=true&hot=false&transform.engine=hermes&transform.bytecode=true&transform.routerRoot=app',
},
extra: {
eas: {
projectId: '',
},
scopeKey: '@anonymous/trezor-suite-debug-ed3e86b2-17a1-43f5-8f9d-1bea5bfc9120',
expoClient: {
extra: {
eas: {
projectId: '',
},
commitHash: '',
isDetoxTestBuild: false,
},
orientation: 'portrait',
version: '24.6.0',
userInterfaceStyle: 'automatic',
_internal: {
packageJsonPath:
'/Users/danielsuchy/javascript/trezor-suite/suite-native/app/package.json',
projectRoot:
'/Users/danielsuchy/javascript/trezor-suite/suite-native/app',
staticConfigPath: {},
pluginHistory: {
detox: {
name: 'detox',
version: '20.18.4',
},
'expo-font': {
name: 'expo-font',
version: '12.0.6',
},
'expo-barcode-scanner': {
name: 'expo-barcode-scanner',
version: '13.0.1',
},
},
isDebug: false,
dynamicConfigPath:
'/Users/danielsuchy/javascript/trezor-suite/suite-native/app/app.config.ts',
},
owner: 'trezorcompany',
ios: {
infoPlist: {
UIRequiredDeviceCapabilities: ['armv7'],
NSCameraUsageDescription:
'$(PRODUCT_NAME) needs access to your Camera to scan your XPUB.',
ITSAppUsesNonExemptEncryption: false,
NSMicrophoneUsageDescription:
'This app does not require access to the microphone.',
NSAppTransportSecurity: {
NSAllowsArbitraryLoads: true,
NSExceptionDomains: {
localhost: {
NSExceptionAllowsInsecureHTTPLoads: true,
},
'data.trezor.io': {
NSExceptionAllowsInsecureHTTPLoads: true,
NSIncludesSubdomains: true,
},
},
},
NSFaceIDUsageDescription:
'$(PRODUCT_NAME) needs Face ID and Touch ID to keep sensitive data about your portfolio private.',
},
icon: './assets/debug/appIcon.png',
supportsTablet: true,
iconUrl: 'http://127.0.0.1:8081/assets/./assets/debug/appIcon.png',
bundleIdentifier: 'io.trezor.suite.debug',
},
hostUri: '127.0.0.1:8081',
android: {
package: 'io.trezor.suite.debug',
permissions: ['android.permission.CAMERA'],
adaptiveIcon: {
monochromeImageUrl:
'http://127.0.0.1:8081/assets/./assets/appIcon_android.png',
backgroundColor: '#2587A5',
monochromeImage: './assets/appIcon_android.png',
foregroundImage: './assets/appIcon_android.png',
foregroundImageUrl:
'http://127.0.0.1:8081/assets/./assets/appIcon_android.png',
},
},
plugins: [
[
'expo-font',
{
fonts: [
'../../packages/theme/fonts/TTSatoshi-Medium.otf',
'../../packages/theme/fonts/TTSatoshi-DemiBold.otf',
],
},
],
[
'expo-barcode-scanner',
{
cameraPermission:
'Allow $(PRODUCT_NAME) to access camera for QR code scanning.',
},
],
[
'expo-build-properties',
{
android: {
minSdkVersion: 28,
},
ios: {
deploymentTarget: '14.0',
},
},
],
'@trezor/react-native-usb/plugins/withUSBDevice.js',
[
'./plugins/withAndroidMainActivityAttributes.js',
{
'android:allowBackup': false,
},
],
'./plugins/withGradleProperties.js',
[
'@config-plugins/detox',
{
subdomains: '*',
},
],
'./plugins/withRemoveXcodeLocalEnv.js',
[
'./plugins/withEnvFile.js',
{
buildType: 'debug',
},
],
'./plugins/withRemoveiOSNotificationEntitlement.js',
],
slug: 'trezor-suite-debug',
splash: {
resizeMode: 'contain',
backgroundColor: '#25292E',
image: './assets/splash_icon.png',
imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash_icon.png',
},
platforms: ['ios', 'android'],
sdkVersion: '51.0.0',
name: 'Trezor Suite Lite Debug',
},
expoGo: {
developer: {
projectRoot:
'/Users/danielsuchy/javascript/trezor-suite/suite-native/app',
tool: 'expo-cli',
},
__flipperHack: 'React Native packager is running',
mainModuleName: 'index',
packagerOpts: {
dev: true,
},
debuggerHost: '127.0.0.1:8081',
},
},
},
expoConfig: {
extra: {
eas: {
projectId: '',
},
commitHash: '',
isDetoxTestBuild: false,
},
orientation: 'portrait',
version: '24.6.0',
userInterfaceStyle: 'automatic',
_internal: {
packageJsonPath:
'/Users/danielsuchy/javascript/trezor-suite/suite-native/app/package.json',
projectRoot: '/Users/danielsuchy/javascript/trezor-suite/suite-native/app',
staticConfigPath: {},
pluginHistory: {
detox: {
name: 'detox',
version: '20.18.4',
},
'expo-font': {
name: 'expo-font',
version: '12.0.6',
},
'expo-barcode-scanner': {
name: 'expo-barcode-scanner',
version: '13.0.1',
},
},
isDebug: false,
dynamicConfigPath:
'/Users/danielsuchy/javascript/trezor-suite/suite-native/app/app.config.ts',
},
owner: 'trezorcompany',
ios: {
infoPlist: {
UIRequiredDeviceCapabilities: ['armv7'],
NSCameraUsageDescription:
'$(PRODUCT_NAME) needs access to your Camera to scan your XPUB.',
ITSAppUsesNonExemptEncryption: false,
NSMicrophoneUsageDescription:
'This app does not require access to the microphone.',
NSAppTransportSecurity: {
NSAllowsArbitraryLoads: true,
NSExceptionDomains: {
localhost: {
NSExceptionAllowsInsecureHTTPLoads: true,
},
'data.trezor.io': {
NSExceptionAllowsInsecureHTTPLoads: true,
NSIncludesSubdomains: true,
},
},
},
NSFaceIDUsageDescription:
'$(PRODUCT_NAME) needs Face ID and Touch ID to keep sensitive data about your portfolio private.',
},
icon: './assets/debug/appIcon.png',
supportsTablet: true,
iconUrl: 'http://127.0.0.1:8081/assets/./assets/debug/appIcon.png',
bundleIdentifier: 'io.trezor.suite.debug',
},
hostUri: '127.0.0.1:8081',
android: {
package: 'io.trezor.suite.debug',
permissions: ['android.permission.CAMERA'],
adaptiveIcon: {
monochromeImageUrl:
'http://127.0.0.1:8081/assets/./assets/appIcon_android.png',
backgroundColor: '#2587A5',
monochromeImage: './assets/appIcon_android.png',
foregroundImage: './assets/appIcon_android.png',
foregroundImageUrl:
'http://127.0.0.1:8081/assets/./assets/appIcon_android.png',
},
},
plugins: [
[
'expo-font',
{
fonts: [
'../../packages/theme/fonts/TTSatoshi-Medium.otf',
'../../packages/theme/fonts/TTSatoshi-DemiBold.otf',
],
},
],
[
'expo-barcode-scanner',
{
cameraPermission:
'Allow $(PRODUCT_NAME) to access camera for QR code scanning.',
},
],
[
'expo-build-properties',
{
android: {
minSdkVersion: 28,
},
ios: {
deploymentTarget: '14.0',
},
},
],
'@trezor/react-native-usb/plugins/withUSBDevice.js',
[
'./plugins/withAndroidMainActivityAttributes.js',
{
'android:allowBackup': false,
},
],
'./plugins/withGradleProperties.js',
[
'@config-plugins/detox',
{
subdomains: '*',
},
],
'./plugins/withRemoveXcodeLocalEnv.js',
[
'./plugins/withEnvFile.js',
{
buildType: 'debug',
},
],
'./plugins/withRemoveiOSNotificationEntitlement.js',
],
slug: 'trezor-suite-debug',
splash: {
resizeMode: 'contain',
backgroundColor: '#25292E',
image: './assets/splash_icon.png',
imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash_icon.png',
},
platforms: ['ios', 'android'],
sdkVersion: '51.0.0',
name: 'Trezor Suite Lite Debug',
},
expoGoConfig: {
developer: {
projectRoot: '/Users/danielsuchy/javascript/trezor-suite/suite-native/app',
tool: 'expo-cli',
},
__flipperHack: 'React Native packager is running',
mainModuleName: 'index',
packagerOpts: {
dev: true,
},
debuggerHost: '127.0.0.1:8081',
},
easConfig: {
projectId: '',
},
},
};
return Constants;
});

View File

@@ -16,6 +16,6 @@
"jotai": "1.9.1",
"react": "18.2.0",
"react-fela": "^12.2.1",
"react-native": "0.73.6"
"react-native": "0.74.1"
}
}

View File

@@ -18,8 +18,8 @@
"@trezor/theme": "workspace:*",
"jotai": "1.9.1",
"react": "18.2.0",
"react-native-gesture-handler": "2.15.0",
"react-native-reanimated": "3.8.1",
"react-native-safe-area-context": "4.9.0"
"react-native-gesture-handler": "2.16.2",
"react-native-reanimated": "3.11.0",
"react-native-safe-area-context": "4.10.3"
}
}

View File

@@ -12,10 +12,10 @@
},
"dependencies": {
"@mobily/ts-belt": "^3.13.1",
"@react-navigation/native": "6.1.10",
"@react-navigation/native": "6.1.17",
"@reduxjs/toolkit": "1.9.5",
"@shopify/flash-list": "1.6.3",
"@shopify/react-native-skia": "0.1.234",
"@shopify/flash-list": "1.6.4",
"@shopify/react-native-skia": "1.3.2",
"@suite-common/formatters": "workspace:*",
"@suite-common/icons": "workspace:*",
"@suite-common/suite-config": "workspace:*",
@@ -42,9 +42,9 @@
"jotai": "1.9.1",
"proxy-memoize": "2.0.2",
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-gesture-handler": "2.15.0",
"react-native-reanimated": "3.8.1",
"react-native": "0.74.1",
"react-native-gesture-handler": "2.16.2",
"react-native-reanimated": "3.11.0",
"react-redux": "8.0.7",
"web3-utils": "^4.2.3"
}

View File

@@ -14,9 +14,9 @@
"dependencies": {
"@suite-native/atoms": "workspace:*",
"@trezor/styles": "workspace:*",
"expo-av": "13.10.5",
"expo-av": "14.0.5",
"prettier": "3.2.5",
"react": "18.2.0",
"react-native": "0.73.6"
"react-native": "0.74.1"
}
}

2357
yarn.lock

File diff suppressed because it is too large Load Diff