diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 62dba22579..7ed8b7a608 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -2,7 +2,4 @@
##### Ticket
-YOMO-
-
-> [!NOTE]
-> Please create the ticket if missing it.
+YV-
diff --git a/.github/workflows/wallet-mobile-gitlab.yml b/.github/workflows/wallet-mobile-gitlab.yml
deleted file mode 100644
index f6e6e5d2bf..0000000000
--- a/.github/workflows/wallet-mobile-gitlab.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: wallet-mobile-gitlab
-
-on: push
-
-jobs:
- Build_Request:
- name: Request building the app
- runs-on: ubuntu-latest
- steps:
- - name: Get branch name
- run: echo "branch_name=$(echo ${GITHUB_REF_NAME})" >> $GITHUB_OUTPUT
- id: get_branch_name
-
- - name: Trigger GitLab CI
- run: |
- echo Branch name is ${{ steps.get_branch_name.outputs.branch_name }}
- curl --request POST --form token=${{ secrets.GITLAB_TOKEN }} --form ref=main --form "variables[BUILD_BRANCH]=${{ steps.get_branch_name.outputs.branch_name }}" ${{ secrets.GITLAB_API_PIPELINE }} > response.json
\ No newline at end of file
diff --git a/apps/wallet-mobile/.storybook/storybook.requires.js b/apps/wallet-mobile/.storybook/storybook.requires.js
index 7046d09d9b..89604e728f 100644
--- a/apps/wallet-mobile/.storybook/storybook.requires.js
+++ b/apps/wallet-mobile/.storybook/storybook.requires.js
@@ -88,6 +88,7 @@ const getStories = () => {
"./src/components/PairedBalance/PairedBalance.stories.tsx": require("../src/components/PairedBalance/PairedBalance.stories.tsx"),
"./src/components/PressableIcon/PressableIcon.stories.tsx": require("../src/components/PressableIcon/PressableIcon.stories.tsx"),
"./src/components/ShareQRCodeCard/ShareQRCodeCard.stories.tsx": require("../src/components/ShareQRCodeCard/ShareQRCodeCard.stories.tsx"),
+ "./src/components/SimpleTab/SimpleTab.stories.tsx": require("../src/components/SimpleTab/SimpleTab.stories.tsx"),
"./src/components/SomethingWentWrong/SomethingWentWrong.stories.tsx": require("../src/components/SomethingWentWrong/SomethingWentWrong.stories.tsx"),
"./src/components/StepperProgress/StepperProgress.stories.tsx": require("../src/components/StepperProgress/StepperProgress.stories.tsx"),
"./src/components/TextInput/TextInput.stories.tsx": require("../src/components/TextInput/TextInput.stories.tsx"),
@@ -117,11 +118,9 @@ const getStories = () => {
"./src/features/Discover/useCases/BrowseDapp/BrowserTabsBar.stories.tsx": require("../src/features/Discover/useCases/BrowseDapp/BrowserTabsBar.stories.tsx"),
"./src/features/Discover/useCases/BrowseDapp/BrowserToolbar.stories.tsx": require("../src/features/Discover/useCases/BrowseDapp/BrowserToolbar.stories.tsx"),
"./src/features/Discover/useCases/BrowseDapp/WebViewItem.stories.tsx": require("../src/features/Discover/useCases/BrowseDapp/WebViewItem.stories.tsx"),
- "./src/features/Discover/useCases/ReviewTransaction/ReviewTransaction.stories.tsx": require("../src/features/Discover/useCases/ReviewTransaction/ReviewTransaction.stories.tsx"),
"./src/features/Discover/useCases/SearchDappInBrowser/SearchDappInBrowserScreen.stories.tsx": require("../src/features/Discover/useCases/SearchDappInBrowser/SearchDappInBrowserScreen.stories.tsx"),
"./src/features/Discover/useCases/SelectDappFromList/CountDAppsAvailable/CountDAppsAvailable.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/CountDAppsAvailable/CountDAppsAvailable.stories.tsx"),
"./src/features/Discover/useCases/SelectDappFromList/CountDAppsConnected/CountDAppsConnected.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/CountDAppsConnected/CountDAppsConnected.stories.tsx"),
- "./src/features/Discover/useCases/SelectDappFromList/DAppExplorerTabItem/DAppExplorerTabItem.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppExplorerTabItem/DAppExplorerTabItem.stories.tsx"),
"./src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppItemSkeleton.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppItemSkeleton.stories.tsx"),
"./src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppListItem.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppListItem.stories.tsx"),
"./src/features/Discover/useCases/SelectDappFromList/DAppTypes/DAppTypes.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppTypes/DAppTypes.stories.tsx"),
@@ -134,7 +133,6 @@ const getStories = () => {
"./src/features/Exchange/common/ShowBuyBanner/BuyBannerBig.stories.tsx": require("../src/features/Exchange/common/ShowBuyBanner/BuyBannerBig.stories.tsx"),
"./src/features/Exchange/common/ShowBuyBanner/BuyBannerSmall.stories.tsx": require("../src/features/Exchange/common/ShowBuyBanner/BuyBannerSmall.stories.tsx"),
"./src/features/Exchange/common/ShowBuyBanner/PreprodFaucetBanner.stories.tsx": require("../src/features/Exchange/common/ShowBuyBanner/PreprodFaucetBanner.stories.tsx"),
- "./src/features/Exchange/common/ShowBuyBanner/SanchonetFaucetBanner.stories.tsx": require("../src/features/Exchange/common/ShowBuyBanner/SanchonetFaucetBanner.stories.tsx"),
"./src/features/Exchange/common/ShowBuyBanner/ShowBuyBanner.stories.tsx": require("../src/features/Exchange/common/ShowBuyBanner/ShowBuyBanner.stories.tsx"),
"./src/features/Exchange/useCases/CreateExchangeOrderScreen/CreateExchangeOrderScreen.stories.tsx": require("../src/features/Exchange/useCases/CreateExchangeOrderScreen/CreateExchangeOrderScreen.stories.tsx"),
"./src/features/Exchange/useCases/CreateExchangeOrderScreen/EditAmount/EditAmount.stories.tsx": require("../src/features/Exchange/useCases/CreateExchangeOrderScreen/EditAmount/EditAmount.stories.tsx"),
@@ -166,16 +164,13 @@ const getStories = () => {
"./src/features/Receive/common/ShareDetailsCard/ShareDetailsCard.stories.tsx": require("../src/features/Receive/common/ShareDetailsCard/ShareDetailsCard.stories.tsx"),
"./src/features/Receive/common/SingleOrMultipleAddressesModal/SingleOrMultipleAddressesModal.stories.tsx": require("../src/features/Receive/common/SingleOrMultipleAddressesModal/SingleOrMultipleAddressesModal.stories.tsx"),
"./src/features/Receive/common/SmallAddressCard/SmallAddressCard.stories.tsx": require("../src/features/Receive/common/SmallAddressCard/SmallAddressCard.stories.tsx"),
- "./src/features/RegisterCatalyst/useCases/ConfirmVotingTx/ConfirmVotingTx.stories.tsx": require("../src/features/RegisterCatalyst/useCases/ConfirmVotingTx/ConfirmVotingTx.stories.tsx"),
"./src/features/RegisterCatalyst/useCases/ShowQrCode/ShowQrCode.stories.tsx": require("../src/features/RegisterCatalyst/useCases/ShowQrCode/ShowQrCode.stories.tsx"),
+ "./src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTx/ReviewTx.stories.tsx": require("../src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTx/ReviewTx.stories.tsx"),
"./src/features/Scan/illustrations/Ilustrations.stories.tsx": require("../src/features/Scan/illustrations/Ilustrations.stories.tsx"),
"./src/features/Scan/useCases/ScanCodeScreen.stories.tsx": require("../src/features/Scan/useCases/ScanCodeScreen.stories.tsx"),
"./src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/OpenDeviceAppSettingsButton.stories.tsx": require("../src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/OpenDeviceAppSettingsButton.stories.tsx"),
"./src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/ShowCameraPermissionDeniedScreen.stories.tsx": require("../src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/ShowCameraPermissionDeniedScreen.stories.tsx"),
"./src/features/Send/common/ButtonGroup/ButtonGroup.stories.tsx": require("../src/features/Send/common/ButtonGroup/ButtonGroup.stories.tsx"),
- "./src/features/Send/useCases/ConfirmTx/ConfirmTxScreen.stories.tsx": require("../src/features/Send/useCases/ConfirmTx/ConfirmTxScreen.stories.tsx"),
- "./src/features/Send/useCases/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx": require("../src/features/Send/useCases/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx"),
- "./src/features/Send/useCases/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx": require("../src/features/Send/useCases/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx"),
"./src/features/Send/useCases/ListAmountsToSend/AddToken/AddToken.stories.tsx": require("../src/features/Send/useCases/ListAmountsToSend/AddToken/AddToken.stories.tsx"),
"./src/features/Send/useCases/ListAmountsToSend/AddToken/SelectTokenFromListScreen.stories.tsx": require("../src/features/Send/useCases/ListAmountsToSend/AddToken/SelectTokenFromListScreen.stories.tsx"),
"./src/features/Send/useCases/ListAmountsToSend/AddToken/Show/MaxAmountsPerTx.stories.tsx": require("../src/features/Send/useCases/ListAmountsToSend/AddToken/Show/MaxAmountsPerTx.stories.tsx"),
@@ -186,25 +181,22 @@ const getStories = () => {
"./src/features/Send/useCases/StartMultiTokenTx/NotifySupportedNameServers/NotifySupportedNameServers.stories.tsx": require("../src/features/Send/useCases/StartMultiTokenTx/NotifySupportedNameServers/NotifySupportedNameServers.stories.tsx"),
"./src/features/Send/useCases/StartMultiTokenTx/SelectNameServer/SelectNameServer.stories.tsx": require("../src/features/Send/useCases/StartMultiTokenTx/SelectNameServer/SelectNameServer.stories.tsx"),
"./src/features/Send/useCases/StartMultiTokenTx/StartMultiTokenTxScreen.stories.tsx": require("../src/features/Send/useCases/StartMultiTokenTx/StartMultiTokenTxScreen.stories.tsx"),
- "./src/features/Settings/About/About.stories.tsx": require("../src/features/Settings/About/About.stories.tsx"),
- "./src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.stories.tsx": require("../src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.stories.tsx"),
- "./src/features/Settings/ChangeLanguage/ChangeLanguageScreen.stories.tsx": require("../src/features/Settings/ChangeLanguage/ChangeLanguageScreen.stories.tsx"),
- "./src/features/Settings/ChangeNetwork/ChangeNetworkScreen.stories.tsx": require("../src/features/Settings/ChangeNetwork/ChangeNetworkScreen.stories.tsx"),
- "./src/features/Settings/ChangePassword/ChangePasswordScreen.stories.tsx": require("../src/features/Settings/ChangePassword/ChangePasswordScreen.stories.tsx"),
- "./src/features/Settings/ChangeTheme/ChangeThemeScreen.stories.tsx": require("../src/features/Settings/ChangeTheme/ChangeThemeScreen.stories.tsx"),
- "./src/features/Settings/Currency/ChangeCurrencyScreen.stories.tsx": require("../src/features/Settings/Currency/ChangeCurrencyScreen.stories.tsx"),
- "./src/features/Settings/EasyConfirmation/EasyConfirmationScreen.stories.tsx": require("../src/features/Settings/EasyConfirmation/EasyConfirmationScreen.stories.tsx"),
- "./src/features/Settings/EnableLoginWithOs/EnableLoginWithOsScreen.stories.tsx": require("../src/features/Settings/EnableLoginWithOs/EnableLoginWithOsScreen.stories.tsx"),
- "./src/features/Settings/ManageCollateral/ConfirmTx/ConfirmTxScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ConfirmTx/ConfirmTxScreen.stories.tsx"),
- "./src/features/Settings/ManageCollateral/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx"),
- "./src/features/Settings/ManageCollateral/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx"),
- "./src/features/Settings/ManageCollateral/ManageCollateralScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ManageCollateralScreen.stories.tsx"),
- "./src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx": require("../src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx"),
- "./src/features/Settings/RemoveWallet/RemoveWalletScreen.stories.tsx": require("../src/features/Settings/RemoveWallet/RemoveWalletScreen.stories.tsx"),
- "./src/features/Settings/RenameWalletScreen/RenameWalletScreen.stories.tsx": require("../src/features/Settings/RenameWalletScreen/RenameWalletScreen.stories.tsx"),
- "./src/features/Settings/SystemLogScreen/SystemLogScreen.stories.tsx": require("../src/features/Settings/SystemLogScreen/SystemLogScreen.stories.tsx"),
- "./src/features/Settings/TermsOfService/TermsOfServiceScreen.stories.tsx": require("../src/features/Settings/TermsOfService/TermsOfServiceScreen.stories.tsx"),
- "./src/features/Settings/WalletSettings/WalletSettingsScreen.stories.tsx": require("../src/features/Settings/WalletSettings/WalletSettingsScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/About/About.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/About/About.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/ApplicationSettingsScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/ApplicationSettingsScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/ChangeLanguage/ChangeLanguageScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/ChangeLanguage/ChangeLanguageScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/ChangeNetwork/ChangeNetworkScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/ChangeNetwork/ChangeNetworkScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/ChangeTheme/ChangeThemeScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/ChangeTheme/ChangeThemeScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/Currency/ChangeCurrencyScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/Currency/ChangeCurrencyScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/EnableLoginWithOs/EnableLoginWithOsScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/EnableLoginWithOs/EnableLoginWithOsScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/SystemLogScreen/SystemLogScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/SystemLogScreen/SystemLogScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeAppSettings/TermsOfService/TermsOfServiceScreen.stories.tsx": require("../src/features/Settings/useCases/changeAppSettings/TermsOfService/TermsOfServiceScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeWalletSettings/ChangePassword/ChangePasswordScreen.stories.tsx": require("../src/features/Settings/useCases/changeWalletSettings/ChangePassword/ChangePasswordScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeWalletSettings/EasyConfirmation/EasyConfirmationScreen.stories.tsx": require("../src/features/Settings/useCases/changeWalletSettings/EasyConfirmation/EasyConfirmationScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeWalletSettings/ManageCollateral/ManageCollateralScreen.stories.tsx": require("../src/features/Settings/useCases/changeWalletSettings/ManageCollateral/ManageCollateralScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeWalletSettings/RemoveWallet/RemoveWalletScreen.stories.tsx": require("../src/features/Settings/useCases/changeWalletSettings/RemoveWallet/RemoveWalletScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeWalletSettings/RenameWalletScreen/RenameWalletScreen.stories.tsx": require("../src/features/Settings/useCases/changeWalletSettings/RenameWalletScreen/RenameWalletScreen.stories.tsx"),
+ "./src/features/Settings/useCases/changeWalletSettings/WalletSettingsScreen.stories.tsx": require("../src/features/Settings/useCases/changeWalletSettings/WalletSettingsScreen.stories.tsx"),
"./src/features/SetupWallet/common/ButtonCard/ButtonCard.stories.tsx": require("../src/features/SetupWallet/common/ButtonCard/ButtonCard.stories.tsx"),
"./src/features/SetupWallet/common/CardAboutPhrase/CardAboutPhrase.stories.tsx": require("../src/features/SetupWallet/common/CardAboutPhrase/CardAboutPhrase.stories.tsx"),
"./src/features/SetupWallet/common/LearnMoreButton/LearnMoreButton.stories.tsx": require("../src/features/SetupWallet/common/LearnMoreButton/LearnMoreButton.stories.tsx"),
@@ -229,13 +221,10 @@ const getStories = () => {
"./src/features/Staking/Governance/common/Action/Action.stories.tsx": require("../src/features/Staking/Governance/common/Action/Action.stories.tsx"),
"./src/features/Staking/Governance/common/LearnMoreLink/LearnMoreLink.stories.tsx": require("../src/features/Staking/Governance/common/LearnMoreLink/LearnMoreLink.stories.tsx"),
"./src/features/Staking/Governance/useCases/ChangeVote/ChangeVoteScreen.stories.tsx": require("../src/features/Staking/Governance/useCases/ChangeVote/ChangeVoteScreen.stories.tsx"),
- "./src/features/Staking/Governance/useCases/ConfirmTx/ConfirmTxScreen.stories.tsx": require("../src/features/Staking/Governance/useCases/ConfirmTx/ConfirmTxScreen.stories.tsx"),
"./src/features/Staking/Governance/useCases/EnterDrepIdModal/EnterDrepIdModal.stories.tsx": require("../src/features/Staking/Governance/useCases/EnterDrepIdModal/EnterDrepIdModal.stories.tsx"),
- "./src/features/Staking/Governance/useCases/FailedTx/FailedTxScreen.stories.tsx": require("../src/features/Staking/Governance/useCases/FailedTx/FailedTxScreen.stories.tsx"),
"./src/features/Staking/Governance/useCases/Home/HomeScreen.stories.tsx": require("../src/features/Staking/Governance/useCases/Home/HomeScreen.stories.tsx"),
"./src/features/Staking/Governance/useCases/NoFunds/NoFundsScreen.stories.tsx": require("../src/features/Staking/Governance/useCases/NoFunds/NoFundsScreen.stories.tsx"),
"./src/features/Staking/Governance/useCases/NotSupportedCardanoAppVersion/NotSupportedCardanoAppVersion.stories.tsx": require("../src/features/Staking/Governance/useCases/NotSupportedCardanoAppVersion/NotSupportedCardanoAppVersion.stories.tsx"),
- "./src/features/Staking/Governance/useCases/SuccessTx/SuccessTxScreen.stories.tsx": require("../src/features/Staking/Governance/useCases/SuccessTx/SuccessTxScreen.stories.tsx"),
"./src/features/Swap/common/AmountCard/AmountCard.stories.tsx": require("../src/features/Swap/common/AmountCard/AmountCard.stories.tsx"),
"./src/features/Swap/common/ButtonGroup/ButtonGroup.stories.tsx": require("../src/features/Swap/common/ButtonGroup/ButtonGroup.stories.tsx"),
"./src/features/Swap/common/ConfirmRawTx/ConfirmRawTx.stories.tsx": require("../src/features/Swap/common/ConfirmRawTx/ConfirmRawTx.stories.tsx"),
@@ -243,12 +232,8 @@ const getStories = () => {
"./src/features/Swap/common/LiquidityPool/LiquidityPool.stories.tsx": require("../src/features/Swap/common/LiquidityPool/LiquidityPool.stories.tsx"),
"./src/features/Swap/common/SelectPool/SelectPoolFromList/SelectPoolFromList.stories.tsx": require("../src/features/Swap/common/SelectPool/SelectPoolFromList/SelectPoolFromList.stories.tsx"),
"./src/features/Swap/common/ServiceUnavailable/ServiceUnavailable.stories.tsx": require("../src/features/Swap/common/ServiceUnavailable/ServiceUnavailable.stories.tsx"),
- "./src/features/Swap/useCases/ConfirmTxScreen/ConfirmTxScreen.stories.tsx": require("../src/features/Swap/useCases/ConfirmTxScreen/ConfirmTxScreen.stories.tsx"),
- "./src/features/Swap/useCases/ConfirmTxScreen/ShowFailedTxScreen/ShowFailedTxScreen.stories.tsx": require("../src/features/Swap/useCases/ConfirmTxScreen/ShowFailedTxScreen/ShowFailedTxScreen.stories.tsx"),
- "./src/features/Swap/useCases/ConfirmTxScreen/ShowSubmittedTxScreen/ShowSubmittedTxScreen.stories.tsx": require("../src/features/Swap/useCases/ConfirmTxScreen/ShowSubmittedTxScreen/ShowSubmittedTxScreen.stories.tsx"),
- "./src/features/Swap/useCases/ConfirmTxScreen/TransactionSummary.stories.tsx": require("../src/features/Swap/useCases/ConfirmTxScreen/TransactionSummary.stories.tsx"),
+ "./src/features/Swap/useCases/ReviewSwap/TransactionSummary.stories.tsx": require("../src/features/Swap/useCases/ReviewSwap/TransactionSummary.stories.tsx"),
"./src/features/Swap/useCases/ShowPreprodNoticeScreen/ShowPreprodNoticeScreen.stories.tsx": require("../src/features/Swap/useCases/ShowPreprodNoticeScreen/ShowPreprodNoticeScreen.stories.tsx"),
- "./src/features/Swap/useCases/ShowSanchoNoticeScreen/ShowSanchoNoticeScreen.stories.tsx": require("../src/features/Swap/useCases/ShowSanchoNoticeScreen/ShowSanchoNoticeScreen.stories.tsx"),
"./src/features/Swap/useCases/StartOrderSwapScreen/CreateOrder/Actions/AmountActions/AmountActions.stories.tsx": require("../src/features/Swap/useCases/StartOrderSwapScreen/CreateOrder/Actions/AmountActions/AmountActions.stories.tsx"),
"./src/features/Swap/useCases/StartOrderSwapScreen/CreateOrder/Actions/AmountActions/ResetQuantities.stories.tsx": require("../src/features/Swap/useCases/StartOrderSwapScreen/CreateOrder/Actions/AmountActions/ResetQuantities.stories.tsx"),
"./src/features/Swap/useCases/StartOrderSwapScreen/CreateOrder/Actions/AmountActions/SwitchTokens.stories.tsx": require("../src/features/Swap/useCases/StartOrderSwapScreen/CreateOrder/Actions/AmountActions/SwitchTokens.stories.tsx"),
@@ -290,8 +275,6 @@ const getStories = () => {
"./src/legacy/HW/LedgerConnect/DeviceItem/DeviceItem.stories.tsx": require("../src/legacy/HW/LedgerConnect/DeviceItem/DeviceItem.stories.tsx"),
"./src/legacy/HW/LedgerConnect/LedgerConnect.stories.tsx": require("../src/legacy/HW/LedgerConnect/LedgerConnect.stories.tsx"),
"./src/legacy/HW/LedgerTransportSwitchModal/LedgerTransportSwitchModal.stories.tsx": require("../src/legacy/HW/LedgerTransportSwitchModal/LedgerTransportSwitchModal.stories.tsx"),
- "./src/legacy/Staking/DelegationConfirmation/DelegationConfirmation.stories.tsx": require("../src/legacy/Staking/DelegationConfirmation/DelegationConfirmation.stories.tsx"),
- "./src/legacy/Staking/FailedTx/FailedTxScreen.stories.tsx": require("../src/legacy/Staking/FailedTx/FailedTxScreen.stories.tsx"),
"./src/legacy/Staking/PoolDetails/PoolDetailScreen.stories.tsx": require("../src/legacy/Staking/PoolDetails/PoolDetailScreen.stories.tsx"),
"./src/legacy/Staking/PoolTransition/PoolTransitionModal.stories.tsx": require("../src/legacy/Staking/PoolTransition/PoolTransitionModal.stories.tsx"),
"./src/legacy/Staking/StakingCenter/StakingCenter.stories.tsx": require("../src/legacy/Staking/StakingCenter/StakingCenter.stories.tsx"),
diff --git a/apps/wallet-mobile/android/app/build.gradle b/apps/wallet-mobile/android/app/build.gradle
index b0b3dd52f7..5aa9e6050d 100644
--- a/apps/wallet-mobile/android/app/build.gradle
+++ b/apps/wallet-mobile/android/app/build.gradle
@@ -108,8 +108,8 @@ android {
applicationId "com.emurgo"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
- versionName "5.0.2"
- versionCode 738
+ versionName "5.2.0"
+ versionCode 753
testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
@@ -217,6 +217,8 @@ dependencies {
exclude group:'com.squareup.okhttp3', module:'okhttp'
}
+ implementation project(':react-native-notifications')
+
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
diff --git a/apps/wallet-mobile/android/app/src/dev/AndroidManifest.xml b/apps/wallet-mobile/android/app/src/dev/AndroidManifest.xml
index 4b185bc159..b443da27ad 100644
--- a/apps/wallet-mobile/android/app/src/dev/AndroidManifest.xml
+++ b/apps/wallet-mobile/android/app/src/dev/AndroidManifest.xml
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools">
+
+
diff --git a/apps/wallet-mobile/android/app/src/main/java/com/emurgo/MainApplication.java b/apps/wallet-mobile/android/app/src/main/java/com/emurgo/MainApplication.java
index 15068c7e37..88dfe9af15 100644
--- a/apps/wallet-mobile/android/app/src/main/java/com/emurgo/MainApplication.java
+++ b/apps/wallet-mobile/android/app/src/main/java/com/emurgo/MainApplication.java
@@ -2,6 +2,7 @@
import android.content.res.Configuration;
import expo.modules.ApplicationLifecycleDispatcher;
import expo.modules.ReactNativeHostWrapper;
+import com.wix.reactnativenotifications.RNNotificationsPackage;
import android.app.Application;
import com.facebook.react.PackageList;
diff --git a/apps/wallet-mobile/android/settings.gradle b/apps/wallet-mobile/android/settings.gradle
index f9ab1cbddf..927140d6f2 100644
--- a/apps/wallet-mobile/android/settings.gradle
+++ b/apps/wallet-mobile/android/settings.gradle
@@ -4,4 +4,7 @@ include ':app'
includeBuild('../../../node_modules/react-native-gradle-plugin')
apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle")
-useExpoModules()
\ No newline at end of file
+useExpoModules()
+
+include ':react-native-notifications'
+project(':react-native-notifications').projectDir = new File(rootProject.projectDir, '../../../node_modules/@jamsinclair/react-native-notifications/lib/android/app')
\ No newline at end of file
diff --git a/apps/wallet-mobile/app.json b/apps/wallet-mobile/app.json
index cae303456c..09cea4ba2c 100644
--- a/apps/wallet-mobile/app.json
+++ b/apps/wallet-mobile/app.json
@@ -8,6 +8,16 @@
"sentry-expo"
],
"sdkVersion": "48.0.0",
- "entryPoint": ".vscode/exponentIndex.js"
+ "entryPoint": ".vscode/exponentIndex.js",
+ "ios": {
+ "infoPlist": {
+ "UIBackgroundModes": ["fetch", "remote-notification"]
+ },
+ "expo-build-properties": {
+ "ios": {
+ "deploymentTarget": "14.0"
+ }
+ }
+ }
}
-}
\ No newline at end of file
+}
diff --git a/apps/wallet-mobile/fastlane/Matchfile b/apps/wallet-mobile/fastlane/Matchfile
index 62e45f6a2d..9288fd9d32 100644
--- a/apps/wallet-mobile/fastlane/Matchfile
+++ b/apps/wallet-mobile/fastlane/Matchfile
@@ -1,4 +1,4 @@
-git_url("git@github.com:Emurgo/yoroi-certs.git")
+git_url("git@github.com:Emurgo/yoroi-certificates.git")
storage_mode("git")
diff --git a/apps/wallet-mobile/ios/Podfile b/apps/wallet-mobile/ios/Podfile
index 60d6d70081..bf837145f4 100644
--- a/apps/wallet-mobile/ios/Podfile
+++ b/apps/wallet-mobile/ios/Podfile
@@ -2,7 +2,7 @@ require File.join(File.dirname(`node --print "require.resolve('expo/package.json
require_relative '../../../node_modules/react-native/scripts/react_native_pods'
require_relative '../../../node_modules/@react-native-community/cli-platform-ios/native_modules'
-platform :ios, '13.0'
+platform :ios, '14.0'
prepare_react_native_project!
# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
diff --git a/apps/wallet-mobile/ios/Podfile.lock b/apps/wallet-mobile/ios/Podfile.lock
index f094a30104..ae5aa705ef 100644
--- a/apps/wallet-mobile/ios/Podfile.lock
+++ b/apps/wallet-mobile/ios/Podfile.lock
@@ -25,6 +25,8 @@ PODS:
- React-Core
- Expo (48.0.20):
- ExpoModulesCore
+ - ExpoBackgroundFetch (11.8.1):
+ - ExpoModulesCore
- ExpoBlur (12.9.2):
- ExpoModulesCore
- ExpoDevice (5.4.0):
@@ -43,6 +45,9 @@ PODS:
- ReactCommon/turbomodule/core
- ExpoSystemUI (2.2.1):
- ExpoModulesCore
+ - EXTaskManager (11.7.3):
+ - ExpoModulesCore
+ - UMAppLoader
- FBLazyVector (0.71.14)
- FBReactNativeSpec (0.71.14):
- RCT-Folly (= 2021.07.22.00)
@@ -354,13 +359,15 @@ PODS:
- react-native-config/App (= 1.5.1)
- react-native-config/App (1.5.1):
- React-Core
- - react-native-haskell-shelley (6.1.0-beta.1):
+ - react-native-haskell-shelley (7.1.0):
- React
- react-native-message_signing-library (1.0.4):
- React
- react-native-mmkv (2.11.0):
- MMKV (>= 1.2.13)
- React-Core
+ - react-native-notifications (5.1.1):
+ - React-Core
- react-native-pager-view (6.2.0):
- React-Core
- react-native-quick-base64 (2.0.6):
@@ -537,6 +544,7 @@ PODS:
- Sentry/HybridSDK (8.9.3):
- SentryPrivate (= 8.9.3)
- SentryPrivate (8.9.3)
+ - UMAppLoader (4.5.1)
- Yoga (1.14.0)
- ZXingObjC/Core (3.6.9)
- ZXingObjC/OneD (3.6.9):
@@ -557,12 +565,14 @@ DEPENDENCIES:
- EXFont (from `../../../node_modules/expo-font/ios`)
- EXImageLoader (from `../../../node_modules/expo-image-loader/ios`)
- Expo (from `../../../node_modules/expo`)
+ - ExpoBackgroundFetch (from `../../../node_modules/expo-background-fetch/ios`)
- ExpoBlur (from `../../../node_modules/expo-blur/ios`)
- ExpoDevice (from `../../../node_modules/expo-device/ios`)
- ExpoImage (from `../../../node_modules/expo-image/ios`)
- ExpoKeepAwake (from `../../../node_modules/expo-keep-awake/ios`)
- ExpoModulesCore (from `../../../node_modules/expo-modules-core`)
- ExpoSystemUI (from `../../../node_modules/expo-system-ui/ios`)
+ - EXTaskManager (from `../../../node_modules/expo-task-manager/ios`)
- FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../../../node_modules/react-native/React/FBReactNativeSpec`)
- glog (from `../../../node_modules/react-native/third-party-podspecs/glog.podspec`)
@@ -595,6 +605,7 @@ DEPENDENCIES:
- "react-native-haskell-shelley (from `../../../node_modules/@emurgo/csl-mobile-bridge`)"
- "react-native-message_signing-library (from `../../../node_modules/@emurgo/msl-mobile-bridge`)"
- react-native-mmkv (from `../../../node_modules/react-native-mmkv`)
+ - "react-native-notifications (from `../../../node_modules/@jamsinclair/react-native-notifications`)"
- react-native-pager-view (from `../../../node_modules/react-native-pager-view`)
- react-native-quick-base64 (from `../../../node_modules/react-native-quick-base64`)
- react-native-randombytes (from `../../../node_modules/react-native-randombytes`)
@@ -632,6 +643,7 @@ DEPENDENCIES:
- "RNSentry (from `../../../node_modules/@sentry/react-native`)"
- RNShare (from `../../../node_modules/react-native-share`)
- RNSVG (from `../../../node_modules/react-native-svg`)
+ - UMAppLoader (from `../../../node_modules/unimodules-app-loader/ios`)
- Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
@@ -678,6 +690,8 @@ EXTERNAL SOURCES:
:path: "../../../node_modules/expo-image-loader/ios"
Expo:
:path: "../../../node_modules/expo"
+ ExpoBackgroundFetch:
+ :path: "../../../node_modules/expo-background-fetch/ios"
ExpoBlur:
:path: "../../../node_modules/expo-blur/ios"
ExpoDevice:
@@ -690,6 +704,8 @@ EXTERNAL SOURCES:
:path: "../../../node_modules/expo-modules-core"
ExpoSystemUI:
:path: "../../../node_modules/expo-system-ui/ios"
+ EXTaskManager:
+ :path: "../../../node_modules/expo-task-manager/ios"
FBLazyVector:
:path: "../../../node_modules/react-native/Libraries/FBLazyVector"
FBReactNativeSpec:
@@ -750,6 +766,8 @@ EXTERNAL SOURCES:
:path: "../../../node_modules/@emurgo/msl-mobile-bridge"
react-native-mmkv:
:path: "../../../node_modules/react-native-mmkv"
+ react-native-notifications:
+ :path: "../../../node_modules/@jamsinclair/react-native-notifications"
react-native-pager-view:
:path: "../../../node_modules/react-native-pager-view"
react-native-quick-base64:
@@ -824,6 +842,8 @@ EXTERNAL SOURCES:
:path: "../../../node_modules/react-native-share"
RNSVG:
:path: "../../../node_modules/react-native-svg"
+ UMAppLoader:
+ :path: "../../../node_modules/unimodules-app-loader/ios"
Yoga:
:path: "../../../node_modules/react-native/ReactCommon/yoga"
@@ -840,12 +860,14 @@ SPEC CHECKSUMS:
EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272
EXImageLoader: fd053169a8ee932dd83bf1fe5487a50c26d27c2b
Expo: b7d2843b0a0027d0ce76121a63085764355a16ed
+ ExpoBackgroundFetch: 80d41ec15c6cce0bafb5d2326b8e85f42152eba7
ExpoBlur: e832d874bd94afc0645daddbd3162ec1ce172080
ExpoDevice: 1c1b0c9cad96c292c1de73948649cfd654b2b3c0
ExpoImage: bf714e0101812ccbbd1a4fdbfd34905feeefd9f5
ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a
ExpoModulesCore: 653958063a301098b541ae4dfed1ac0b98db607b
ExpoSystemUI: 0be5173ee2a7c01e9abc44f56d879a1eaaa16527
+ EXTaskManager: 07d427a5213dd275c13b6b6c07bba35a672e6698
FBLazyVector: 12ea01e587c9594e7b144e1bfc86ac4d9ac28fde
FBReactNativeSpec: faca7d16c37626ca5780a87adef703817722fe61
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
@@ -882,9 +904,10 @@ SPEC CHECKSUMS:
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
react-native-ble-plx: f10240444452dfb2d2a13a0e4f58d7783e92d76e
react-native-config: 86038147314e2e6d10ea9972022aa171e6b1d4d8
- react-native-haskell-shelley: f3eaa102ff7b60063a4aff8bd36d23cb4de49c2e
+ react-native-haskell-shelley: d69d9b9a7122067b9ee36b76c78c6436d4fc1aba
react-native-message_signing-library: 040317fed382be05d79e2ecbe5852d1a20ce68df
react-native-mmkv: e97c0c79403fb94577e5d902ab1ebd42b0715b43
+ react-native-notifications: 985b8e492eeceeaf697aa3f08a1ad30b76a21d9f
react-native-pager-view: 0ccb8bf60e2ebd38b1f3669fa3650ecce81db2df
react-native-quick-base64: 62290829c619fbabca4c41cfec75ae759d08fc1c
react-native-randombytes: b6677f7d495c27e9ee0dbd77ebc97b3c59173729
@@ -928,9 +951,10 @@ SPEC CHECKSUMS:
SDWebImageWebPCoder: 295a6573c512f54ad2dd58098e64e17dcf008499
Sentry: 97161cac725da1ecbe77d1445bf8a61c1e5667f1
SentryPrivate: 9a76def09fb08f9501997b8df946e8097947b94f
+ UMAppLoader: 79d3ee6aa2447a1fe2e8b0d07acf2de106e55b58
Yoga: e71803b4c1fff832ccf9b92541e00f9b873119b9
ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5
-PODFILE CHECKSUM: 31f344d67f1a9c35e34eb202e3cdfeb4907367e8
+PODFILE CHECKSUM: 09a3c8236b8655c1bc6f4dd9d56c009f5bdf0939
COCOAPODS: 1.15.2
diff --git a/apps/wallet-mobile/ios/nightly.plist b/apps/wallet-mobile/ios/nightly.plist
index 6bb41a517e..374af2bfb8 100644
--- a/apps/wallet-mobile/ios/nightly.plist
+++ b/apps/wallet-mobile/ios/nightly.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 5.0.2
+ 5.2.0
CFBundleSignature
????
CFBundleVersion
- 625
+ 640
ITSAppUsesNonExemptEncryption
LSApplicationCategoryType
diff --git a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj
index 35787d399b..022f92534e 100644
--- a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj
+++ b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj
@@ -761,7 +761,7 @@
"$(inherited)",
);
INFOPLIST_FILE = yoroiTests/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -802,7 +802,7 @@
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENVFILE = "$(PODS_ROOT)/../../.env";
INFOPLIST_FILE = yoroiTests/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -839,13 +839,14 @@
CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 625;
+ CURRENT_PROJECT_VERSION = 640;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENABLE_BITCODE = NO;
ENVFILE = "$(PODS_ROOT)/../../.env";
INFOPLIST_FILE = yoroi/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Yoroi;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -884,12 +885,13 @@
CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 625;
+ CURRENT_PROJECT_VERSION = 640;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENVFILE = "$(PODS_ROOT)/../../.env.production";
INFOPLIST_FILE = yoroi/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Yoroi;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -968,7 +970,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
"$(inherited)",
@@ -1042,7 +1044,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
"$(inherited)",
@@ -1079,13 +1081,14 @@
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 625;
+ CURRENT_PROJECT_VERSION = 640;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENABLE_BITCODE = NO;
ENVFILE = "$(PODS_ROOT)/../../.env.nightly";
INFOPLIST_FILE = nightly.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Yoroi Nightly";
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -1124,12 +1127,13 @@
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 625;
+ CURRENT_PROJECT_VERSION = 640;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENVFILE = "$(PODS_ROOT)/../../.env.nightly";
INFOPLIST_FILE = nightly.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Yoroi Nightly";
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
diff --git a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..919434a625
--- /dev/null
+++ b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/apps/wallet-mobile/ios/yoroi/AppDelegate.mm b/apps/wallet-mobile/ios/yoroi/AppDelegate.mm
index 46777d340f..ceb7b7d1ee 100644
--- a/apps/wallet-mobile/ios/yoroi/AppDelegate.mm
+++ b/apps/wallet-mobile/ios/yoroi/AppDelegate.mm
@@ -1,6 +1,7 @@
#import
#import "AppDelegate.h"
#import "RNBootSplash.h"
+#import "RNNotifications.h"
#import
@@ -16,6 +17,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
// react-native-bootsplash
UIView *rootView = self.window.rootViewController.view;
[RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView];
+ [RNNotifications startMonitorNotifications];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
@@ -53,4 +55,17 @@ - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull N
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}
+
+- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
+ [RNNotifications didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
+}
+
+- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
+ [RNNotifications didFailToRegisterForRemoteNotificationsWithError:error];
+}
+
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
+ [RNNotifications didReceiveBackgroundNotification:userInfo withCompletionHandler:completionHandler];
+}
+
@end
diff --git a/apps/wallet-mobile/ios/yoroi/Info.plist b/apps/wallet-mobile/ios/yoroi/Info.plist
index 9f9955f86c..1b29e23a76 100644
--- a/apps/wallet-mobile/ios/yoroi/Info.plist
+++ b/apps/wallet-mobile/ios/yoroi/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 5.0.2
+ 5.2.0
CFBundleSignature
????
CFBundleURLTypes
@@ -34,7 +34,7 @@
CFBundleVersion
- 625
+ 640
ITSAppUsesNonExemptEncryption
LSApplicationCategoryType
@@ -107,5 +107,9 @@
Light
UIViewControllerBasedStatusBarAppearance
+ UIBackgroundModes
+
+ fetch
+
diff --git a/apps/wallet-mobile/ios/yoroiTests/Info.plist b/apps/wallet-mobile/ios/yoroiTests/Info.plist
index 1c2cd6c190..9195f915ad 100644
--- a/apps/wallet-mobile/ios/yoroiTests/Info.plist
+++ b/apps/wallet-mobile/ios/yoroiTests/Info.plist
@@ -15,10 +15,10 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 5.0.2
+ 5.2.0
CFBundleSignature
????
CFBundleVersion
- 625
+ 640
diff --git a/apps/wallet-mobile/package.json b/apps/wallet-mobile/package.json
index 727ca7819e..498bb35d7f 100644
--- a/apps/wallet-mobile/package.json
+++ b/apps/wallet-mobile/package.json
@@ -1,6 +1,6 @@
{
"name": "@yoroi/wallet-mobile",
- "version": "5.0.2",
+ "version": "5.2.0",
"private": true,
"scripts": {
"android-bundle": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res",
@@ -95,13 +95,13 @@
"@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.3",
"@emurgo/cip14-js": "^3.0.1",
"@emurgo/cip4-js": "1.0.7",
- "@emurgo/cross-csl-core": "^5.1.0-beta.1",
- "@emurgo/cross-csl-mobile": "^5.1.0-beta.1",
+ "@emurgo/cross-csl-core": "^6.1.0",
+ "@emurgo/cross-csl-mobile": "^6.1.0",
"@emurgo/cross-msl-mobile": "^1.0.1",
- "@emurgo/csl-mobile-bridge": "6.1.0-beta.1",
+ "@emurgo/csl-mobile-bridge": "^7.1.0",
"@emurgo/msl-mobile-bridge": "^1.0.4",
"@emurgo/react-native-hid": "5.15.8",
- "@emurgo/yoroi-lib": "^1.2.1",
+ "@emurgo/yoroi-lib": "^2.2.3",
"@formatjs/intl-datetimeformat": "^6.7.0",
"@formatjs/intl-getcanonicallocales": "^2.1.0",
"@formatjs/intl-locale": "^3.2.1",
@@ -109,6 +109,7 @@
"@formatjs/intl-pluralrules": "^5.2.1",
"@formatjs/intl-relativetimeformat": "^11.2.1",
"@gorhom/bottom-sheet": "^4",
+ "@jamsinclair/react-native-notifications": "^5.1.1",
"@ledgerhq/react-native-hw-transport-ble": "6.27.3",
"@react-native-async-storage/async-storage": "^1.19.3",
"@react-native-community/clipboard": "^1.5.1",
@@ -124,13 +125,14 @@
"@shopify/flash-list": "^1.4.1",
"@types/bip39": "^3.0.0",
"@types/pbkdf2": "^3.1.2",
- "@yoroi/api": "^1.5.2",
+ "@yoroi/api": "1.5.3",
"@yoroi/claim": "1.0.0",
"@yoroi/common": "^1.5.4",
"@yoroi/exchange": "^2.1.1",
"@yoroi/explorers": "^1.0.2",
"@yoroi/identicon": "^1.0.1",
"@yoroi/links": "^1.5.7",
+ "@yoroi/notifications": "^1.0.0",
"@yoroi/portfolio": "1.0.3",
"@yoroi/resolver": "^2.0.6",
"@yoroi/setup-wallet": "^1.0.1",
@@ -139,7 +141,6 @@
"@yoroi/theme": "^2.0.0",
"@yoroi/transfer": "^1.0.1",
"add": "2.0.6",
- "assert": "^2.0.0",
"axios": "^1.5.0",
"base-64": "^1.0.0",
"bignumber.js": "^9.0.1",
@@ -153,6 +154,7 @@
"crypto-random-string": "3.3.0",
"d3-shape": "^3.2.0",
"expo": ">=48.0.0-0 <49.0.0",
+ "expo-background-fetch": "^11.8.1",
"expo-barcode-scanner": "~12.3.2",
"expo-blur": "12.9.2",
"expo-camera": "^13.2.1",
@@ -160,6 +162,7 @@
"expo-image": "1.3.0",
"expo-status-bar": "~1.4.4",
"expo-system-ui": "~2.2.1",
+ "expo-task-manager": "11.7.3",
"immer": "^10.0.2",
"jsc-android": "241213.1.0",
"lodash": "^4.17.21",
@@ -225,8 +228,8 @@
"@babel/preset-env": "^7.20.0",
"@babel/preset-react": "^7.16.7",
"@babel/runtime": "^7.20.0",
- "@emurgo/cardano-serialization-lib-nodejs": "~12.1.0-beta.1",
- "@emurgo/cross-csl-nodejs": "^5.1.0-beta.1",
+ "@emurgo/cardano-serialization-lib-nodejs": "^13.1.0",
+ "@emurgo/cross-csl-nodejs": "^6.1.0",
"@emurgo/cross-msl-nodejs": "^1.0.0",
"@formatjs/cli": "^6.1.0",
"@formatjs/ts-transformer": "^3.13.0",
@@ -260,7 +263,7 @@
"@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^5.0.0",
"@typescript-eslint/parser": "^5.32.0",
- "@yoroi/types": "1.5.8",
+ "@yoroi/types": "1.5.9",
"babel-eslint": "^10.1.0",
"babel-jest": "^29.2.1",
"babel-loader": "8.2.2",
diff --git a/apps/wallet-mobile/src/AppNavigator.tsx b/apps/wallet-mobile/src/AppNavigator.tsx
index 216dc554f3..b8f09c03f2 100644
--- a/apps/wallet-mobile/src/AppNavigator.tsx
+++ b/apps/wallet-mobile/src/AppNavigator.tsx
@@ -32,11 +32,14 @@ import {
useShowDarkThemeAnnouncementScreen,
} from './features/Initialization/DarkThemeAnnouncement/DarkThemeAnnouncement'
import {useDeepLinkWatcher} from './features/Links/common/useDeepLinkWatcher'
+import {useInitNotifications} from './features/Notifications/useCases/common/hooks'
+import {NotificationsDevScreen} from './features/Notifications/useCases/NotificationsDevScreen'
import {SearchProvider} from './features/Search/SearchContext'
import {SetupWalletNavigator} from './features/SetupWallet/SetupWalletNavigator'
import {useHasWallets} from './features/WalletManager/common/hooks/useHasWallets'
import {useStatusBar} from './hooks/useStatusBar'
import {agreementDate} from './kernel/config'
+import {features} from './kernel/features'
import {AppRoutes, defaultStackNavigationOptions} from './kernel/navigation'
import {WalletNavigator} from './WalletNavigator'
@@ -52,6 +55,7 @@ const changeNavigationBarColor = (colorScheme: 'default-dark' | 'default-light',
}
export const AppNavigator = () => {
+ useInitNotifications({enabled: features.notifications})
useDeepLinkWatcher()
const strings = useStrings()
const [routeName, setRouteName] = React.useState()
@@ -216,6 +220,8 @@ export const AppNavigator = () => {
+
+
)}
diff --git a/apps/wallet-mobile/src/InitApp.tsx b/apps/wallet-mobile/src/InitApp.tsx
index cbda481e8a..e0c8b7e3e7 100644
--- a/apps/wallet-mobile/src/InitApp.tsx
+++ b/apps/wallet-mobile/src/InitApp.tsx
@@ -5,7 +5,7 @@ import {Platform, UIManager} from 'react-native'
import uuid from 'uuid'
import {AppNavigator} from './AppNavigator'
-import {useInitScreenShare} from './features/Settings/ScreenShare'
+import {useInitScreenShare} from './features/Settings/useCases/changeAppSettings/ScreenShare'
import {useWalletManager} from './features/WalletManager/context/WalletManagerProvider'
import {storageVersionMaker} from './kernel/storage/migrations/storageVersion'
diff --git a/apps/wallet-mobile/src/WalletNavigator.tsx b/apps/wallet-mobile/src/WalletNavigator.tsx
index b67c47d16a..2fcf6cc04d 100644
--- a/apps/wallet-mobile/src/WalletNavigator.tsx
+++ b/apps/wallet-mobile/src/WalletNavigator.tsx
@@ -24,9 +24,10 @@ import {useLinksShowActionResult} from './features/Links/common/useLinksShowActi
import {MenuNavigator} from './features/Menu/Menu'
import {PortfolioNavigator} from './features/Portfolio/PortfolioNavigator'
import {CatalystNavigator} from './features/RegisterCatalyst/CatalystNavigator'
+import {ReviewTxNavigator} from './features/ReviewTx/ReviewTxNavigator'
import {SearchProvider} from './features/Search/SearchContext'
-import {SettingsScreenNavigator} from './features/Settings'
-import {NetworkTag} from './features/Settings/ChangeNetwork/NetworkTag'
+import {SettingsScreenNavigator} from './features/Settings/SettingsScreenNavigator'
+import {NetworkTag} from './features/Settings/useCases/changeAppSettings/ChangeNetwork/NetworkTag'
import {SetupWalletNavigator} from './features/SetupWallet/SetupWalletNavigator'
import {GovernanceNavigator} from './features/Staking/Governance/GovernanceNavigator'
import {SwapFormProvider} from './features/Swap/common/SwapFormProvider'
@@ -258,6 +259,8 @@ export const WalletNavigator = () => {
+
+
{
divider: color.gray_200,
}
- return {colors, styles}
+ return {colors, styles} as const
}
const messages = defineMessages({
diff --git a/apps/wallet-mobile/src/YoroiApp.tsx b/apps/wallet-mobile/src/YoroiApp.tsx
index fc98586531..6bebd5f46a 100644
--- a/apps/wallet-mobile/src/YoroiApp.tsx
+++ b/apps/wallet-mobile/src/YoroiApp.tsx
@@ -1,21 +1,26 @@
import {AsyncStorageProvider} from '@yoroi/common'
import {LinksProvider} from '@yoroi/links'
+import {NotificationProvider} from '@yoroi/notifications'
import {SetupWalletProvider} from '@yoroi/setup-wallet'
+import {catalystApiMaker, catalystManagerMaker, CatalystProvider} from '@yoroi/staking'
import {ThemeProvider} from '@yoroi/theme'
import {TransferProvider} from '@yoroi/transfer'
import React from 'react'
import {LogBox, StyleSheet} from 'react-native'
import * as RNP from 'react-native-paper'
import {initialWindowMetrics, SafeAreaProvider} from 'react-native-safe-area-context'
-import {enableFreeze, enableScreens} from 'react-native-screens'
+import {enableScreens} from 'react-native-screens'
import {QueryClientProvider} from 'react-query'
import {LoadingBoundary} from './components/Boundary/Boundary'
+import {ClipboardProvider} from './components/Clipboard/ClipboardProvider'
import {ErrorBoundary} from './components/ErrorBoundary/ErrorBoundary'
import {AuthProvider} from './features/Auth/AuthProvider'
import {BrowserProvider} from './features/Discover/common/BrowserProvider'
+import {notificationManager} from './features/Notifications/useCases/common/notification-manager'
import {PortfolioTokenActivityProvider} from './features/Portfolio/common/PortfolioTokenActivityProvider'
-import {CurrencyProvider} from './features/Settings/Currency/CurrencyContext'
+import {ReviewTxProvider} from './features/ReviewTx/common/ReviewTxProvider'
+import {CurrencyProvider} from './features/Settings/useCases/changeAppSettings/Currency/CurrencyContext'
import {AutomaticWalletOpenerProvider} from './features/WalletManager/context/AutomaticWalletOpeningProvider'
import {WalletManagerProvider} from './features/WalletManager/context/WalletManagerProvider'
import {walletManager} from './features/WalletManager/wallet-manager'
@@ -31,13 +36,16 @@ import {PoolTransitionProvider} from './legacy/Staking/PoolTransition/PoolTransi
import {useThemeStorageMaker} from './yoroi-wallets/hooks'
enableScreens(true)
-enableFreeze(true)
if (disableLogbox) {
LogBox.ignoreAllLogs()
} else {
LogBox.ignoreLogs(['Require cycle:'])
}
+const catalystApi = catalystApiMaker()
+const catalystManager = catalystManagerMaker({
+ api: catalystApi,
+})
const metricsManager = makeMetricsManager()
@@ -50,37 +58,45 @@ const Yoroi = () => {
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
diff --git a/apps/wallet-mobile/src/components/Analytics/Analytics.tsx b/apps/wallet-mobile/src/components/Analytics/Analytics.tsx
index 1f580b428f..0e433a0a40 100644
--- a/apps/wallet-mobile/src/components/Analytics/Analytics.tsx
+++ b/apps/wallet-mobile/src/components/Analytics/Analytics.tsx
@@ -4,12 +4,12 @@ import {defineMessages, useIntl} from 'react-intl'
import {StyleSheet, TextStyle, TouchableOpacity, useWindowDimensions, View} from 'react-native'
import {ScrollView} from 'react-native-gesture-handler'
-import {Button} from '../../components/Button/Button'
import {Spacer} from '../../components/Spacer/Spacer'
import {Text} from '../../components/Text'
import {YoroiLogo} from '../../components/YoroiLogo/YoroiLogo'
import {SettingsSwitch} from '../../features/Settings/common/SettingsSwitch'
import {useMetrics} from '../../kernel/metrics/metricsManager'
+import {Button, ButtonType} from '../Button/Button'
import {AnalyticsImage} from './AnalyticsImage'
type Props = {
@@ -64,15 +64,13 @@ const Notice = ({onClose, onReadMore}: {onClose?: () => void; onReadMore?: () =>