diff --git a/apps/wallet-mobile/android/app/build.gradle b/apps/wallet-mobile/android/app/build.gradle
index 8b8bd057b8..e3e4527583 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
- versionCode 688
- versionName "4.27.0"
+ versionCode 690
+ versionName "4.28.0"
testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
diff --git a/apps/wallet-mobile/ios/nightly.plist b/apps/wallet-mobile/ios/nightly.plist
index 7699d820fd..3290f7974f 100644
--- a/apps/wallet-mobile/ios/nightly.plist
+++ b/apps/wallet-mobile/ios/nightly.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 4.27.0
+ 4.28.0
CFBundleSignature
????
CFBundleVersion
- 575
+ 577
ITSAppUsesNonExemptEncryption
LSApplicationCategoryType
diff --git a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj
index ca1914972d..6d6384ffb5 100644
--- a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj
+++ b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj
@@ -839,7 +839,7 @@
CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 575;
+ CURRENT_PROJECT_VERSION = 577;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENABLE_BITCODE = NO;
@@ -884,7 +884,7 @@
CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 575;
+ CURRENT_PROJECT_VERSION = 577;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENVFILE = "$(PODS_ROOT)/../../.env.production";
@@ -1079,7 +1079,7 @@
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 575;
+ CURRENT_PROJECT_VERSION = 577;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENABLE_BITCODE = NO;
@@ -1124,7 +1124,7 @@
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 575;
+ CURRENT_PROJECT_VERSION = 577;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4;
ENVFILE = "$(PODS_ROOT)/../../.env.nightly";
diff --git a/apps/wallet-mobile/ios/yoroi/Info.plist b/apps/wallet-mobile/ios/yoroi/Info.plist
index 1cd0b46d1a..37e8a934be 100644
--- a/apps/wallet-mobile/ios/yoroi/Info.plist
+++ b/apps/wallet-mobile/ios/yoroi/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 4.27.0
+ 4.28.0
CFBundleSignature
????
CFBundleURLTypes
@@ -34,7 +34,7 @@
CFBundleVersion
- 575
+ 577
ITSAppUsesNonExemptEncryption
LSApplicationCategoryType
diff --git a/apps/wallet-mobile/ios/yoroiTests/Info.plist b/apps/wallet-mobile/ios/yoroiTests/Info.plist
index 8c471fa3d6..432c87dda7 100644
--- a/apps/wallet-mobile/ios/yoroiTests/Info.plist
+++ b/apps/wallet-mobile/ios/yoroiTests/Info.plist
@@ -15,10 +15,10 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 4.27.0
+ 4.28.0
CFBundleSignature
????
CFBundleVersion
- 575
+ 577
diff --git a/apps/wallet-mobile/package.json b/apps/wallet-mobile/package.json
index e8c804a91e..8f8ff646dc 100644
--- a/apps/wallet-mobile/package.json
+++ b/apps/wallet-mobile/package.json
@@ -166,7 +166,7 @@
"react-intl": "^6.6.2",
"react-native": "~0.71.0",
"react-native-background-timer": "2.4.1",
- "react-native-ble-plx": "^2.0.3",
+ "react-native-ble-plx": "2.0.3",
"react-native-bootsplash": "^4.6.0",
"react-native-config": "^1.5.0",
"react-native-crypto": "2.2.0",
diff --git a/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx b/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx
index 41c5908de5..949de9ba0f 100644
--- a/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx
+++ b/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx
@@ -9,6 +9,7 @@ import * as React from 'react'
import type {IntlShape} from 'react-intl'
import {defineMessages, useIntl} from 'react-intl'
import {ActivityIndicator, Alert, FlatList, Image, RefreshControl, ScrollView, StyleSheet, View} from 'react-native'
+import {Observer} from 'rxjs'
import bleImage from '../../../assets/img/bluetooth.png'
import usbImage from '../../../assets/img/ledger-nano-usb.png'
@@ -66,10 +67,10 @@ class LedgerConnectInt extends React.Component {
// as it's just an empty method. Rather, we make sure sate is only
// modified when component is mounted
let previousAvailable = false
- TransportBLE.observeState({
- next: (e: {available: boolean}) => {
+ const observer: Observer<{available: boolean; type: string}> = {
+ next: (e: {available: boolean; type: string}) => {
if (this._isMounted) {
- logger.debug('BLE observeState event', e)
+ logger.debug('BLE observeState event', {event: e})
if (this._bluetoothEnabled == null && !e.available) {
this.setState({
error: new BluetoothDisabledError(),
@@ -91,7 +92,14 @@ class LedgerConnectInt extends React.Component {
}
}
},
- })
+ error: (e) => {
+ logger.error(e)
+ },
+ complete: () => {
+ logger.info('BLE observeState done')
+ },
+ }
+ TransportBLE.observeState(observer)
}
this.startScan()
}
diff --git a/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json b/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json
index 41de5b14bd..9e3836ab8f 100644
--- a/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json
+++ b/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json
@@ -4,14 +4,14 @@
"defaultMessage": "!!!Scanning bluetooth devices...",
"file": "src/HW/LedgerConnect/LedgerConnect.tsx",
"start": {
- "line": 317,
+ "line": 323,
"column": 11,
- "index": 10086
+ "index": 10191
},
"end": {
- "line": 320,
+ "line": 326,
"column": 3,
- "index": 10220
+ "index": 10325
}
},
{
@@ -59,4 +59,4 @@
"index": 10704
}
}
-]
\ No newline at end of file
+]
diff --git a/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json b/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json
index 623561062a..791f3dd401 100644
--- a/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json
+++ b/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json
@@ -4,14 +4,14 @@
"defaultMessage": "!!!Scanning bluetooth devices...",
"file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx",
"start": {
- "line": 318,
+ "line": 326,
"column": 11,
- "index": 10132
+ "index": 10408
},
"end": {
- "line": 321,
+ "line": 329,
"column": 3,
- "index": 10266
+ "index": 10542
}
},
{
@@ -19,14 +19,14 @@
"defaultMessage": "!!!You'll need to:",
"file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx",
"start": {
- "line": 322,
+ "line": 330,
"column": 13,
- "index": 10281
+ "index": 10557
},
"end": {
- "line": 325,
+ "line": 333,
"column": 3,
- "index": 10403
+ "index": 10679
}
},
{
@@ -34,14 +34,14 @@
"defaultMessage": "!!!USB device is ready, please tap on Confirm to continue.",
"file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx",
"start": {
- "line": 326,
+ "line": 334,
"column": 18,
- "index": 10423
+ "index": 10699
},
"end": {
- "line": 329,
+ "line": 337,
"column": 3,
- "index": 10568
+ "index": 10844
}
},
{
@@ -49,14 +49,14 @@
"defaultMessage": "!!!An error occurred while trying to connect with your hardware wallet:",
"file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx",
"start": {
- "line": 330,
+ "line": 338,
"column": 9,
- "index": 10579
+ "index": 10855
},
"end": {
- "line": 333,
+ "line": 341,
"column": 3,
- "index": 10750
+ "index": 11026
}
}
]
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 61c487c47b..f54f2f32a3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3540,12 +3540,27 @@
rxjs "6"
semver "^7.3.5"
+"@ledgerhq/devices@^8.4.2":
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.4.2.tgz#f1c56194cf1343d56cad49c8feba92ad93432e14"
+ integrity sha512-oWNTp3jCMaEvRHsXNYE/yo+PFMgXAJGFHLOU1UdE4/fYkniHbD9wdxwyZrZvrxr9hNw4/9wHiThyITwPtMzG7g==
+ dependencies:
+ "@ledgerhq/errors" "^6.18.0"
+ "@ledgerhq/logs" "^6.12.0"
+ rxjs "^7.8.1"
+ semver "^7.3.5"
+
"@ledgerhq/errors@^5.15.0", "@ledgerhq/errors@^5.50.0":
version "5.50.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-5.50.0.tgz#e3a6834cb8c19346efca214c1af84ed28e69dad9"
integrity sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow==
-"@ledgerhq/errors@^6.10.1", "@ledgerhq/errors@^6.12.3", "@ledgerhq/errors@^6.12.7":
+"@ledgerhq/errors@^6.10.1", "@ledgerhq/errors@^6.12.3", "@ledgerhq/errors@^6.18.0":
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.18.0.tgz#d55d6a57430d7a86532a9033ce0b45103264c620"
+ integrity sha512-L3jQWAGyooxRDk/MRlW2v4Ji9+kloBtdmz9wBkHaj2j0n+05rweJSV3GHw9oye1BYMbVFqFffmT4H3hlXlCasw==
+
+"@ledgerhq/errors@^6.12.7":
version "6.12.7"
resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.7.tgz#c7b630488d5713bc7b1e1682d6ab5d08918c69f1"
integrity sha512-1BpjzFErPK7qPFx0oItcX0mNLJMplVAm2Dpl5urZlubewnTyyw5sahIBjU+8LLCWJ2eGEh/0wyvh0jMtR0n2Mg==
@@ -3559,7 +3574,7 @@
"@ledgerhq/errors" "^5.50.0"
events "^3.3.0"
-"@ledgerhq/hw-transport@^6.27.10", "@ledgerhq/hw-transport@^6.27.2":
+"@ledgerhq/hw-transport@^6.27.10":
version "6.28.5"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.5.tgz#675193be2f695a596068145351da598316c25831"
integrity sha512-xmw5RhYbqExBBqTvOnOjN/RYNIGMBxFJ+zcYNfkfw/E+uEY3L7xq8Z7sC/n7URTT6xtEctElqduBJnBQE4OQtw==
@@ -3568,12 +3583,27 @@
"@ledgerhq/errors" "^6.12.7"
events "^3.3.0"
+"@ledgerhq/hw-transport@^6.27.2":
+ version "6.31.2"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.31.2.tgz#79c95f7928a64a0e3b5bc4ea7b5be04b9f738322"
+ integrity sha512-B27UIzMzm2IXPGYnEB95R7eHxpXBkTBHh6MUJJQZVknt8LilEz1tfpTYUdzAKDGQ+Z5MZyYb01Eh3Zqm3kn3uw==
+ dependencies:
+ "@ledgerhq/devices" "^8.4.2"
+ "@ledgerhq/errors" "^6.18.0"
+ "@ledgerhq/logs" "^6.12.0"
+ events "^3.3.0"
+
"@ledgerhq/logs@^5.15.0", "@ledgerhq/logs@^5.50.0":
version "5.50.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186"
integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA==
-"@ledgerhq/logs@^6.10.0", "@ledgerhq/logs@^6.10.1":
+"@ledgerhq/logs@^6.10.0", "@ledgerhq/logs@^6.12.0":
+ version "6.12.0"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.12.0.tgz#ad903528bf3687a44da435d7b2479d724d374f5d"
+ integrity sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA==
+
+"@ledgerhq/logs@^6.10.1":
version "6.10.1"
resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d"
integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w==
@@ -19182,7 +19212,7 @@ react-native-background-timer@2.4.1:
resolved "https://registry.yarnpkg.com/react-native-background-timer/-/react-native-background-timer-2.4.1.tgz#a3bc1cafa8c1e3aeefd0611de120298b67978a0f"
integrity sha512-TE4Kiy7jUyv+hugxDxitzu38sW1NqjCk4uE5IgU2WevLv7sZacaBc6PZKOShNRPGirLl1NWkaG3LDEkdb9Um5g==
-react-native-ble-plx@2.0.3, react-native-ble-plx@^2.0.3:
+react-native-ble-plx@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/react-native-ble-plx/-/react-native-ble-plx-2.0.3.tgz#b0a746f33389dbf7fd7b158513330d487d5d0fbb"
integrity sha512-62LRDBPf/03K7sge+qq2ZuF8PWCGB782G+SBrpgNm5fA5Hs3FCY1ExTJZ1G0tB5ZhBPYEXcKRxPLuFegcDFrqA==