Skip to content

Commit 214cd4e

Browse files
authored
Merge branch 'master' into fix/backup-wallet-id-migration
2 parents 8cd698d + efc853c commit 214cd4e

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

Bitkit/Utilities/TrezorErrorPresenter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ enum TrezorErrorPresenter {
5454
if message.contains("Pairing required") {
5555
return "Bluetooth pairing required. Please put your Trezor in pairing mode."
5656
}
57-
if message.contains("Code verification failed") || message.contains("verification failed") {
57+
if message.contains("Code verification failed") {
5858
return t("hardware__pairing_code_invalid")
5959
}
6060
if message.contains("DeviceBusy") || message.contains("Device is busy") {

BitkitTests/TrezorDeviceBusyTests.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,16 @@ final class TrezorDeviceBusyTests: XCTestCase {
3939
func testPresenterPassesUnrelatedMessageThrough() {
4040
XCTAssertEqual(TrezorErrorPresenter.mapMessage("some unmapped detail"), "some unmapped detail")
4141
}
42+
43+
func testPresenterMapsPairingCodeFailureToInvalidPrompt() {
44+
XCTAssertEqual(TrezorErrorPresenter.mapMessage("Code verification failed"), t("hardware__pairing_code_invalid"))
45+
}
46+
47+
/// A message-signature verification error shares the "verification failed" phrasing but is not a
48+
/// pairing failure, so it must fall through rather than showing the pairing-code prompt.
49+
func testPresenterDoesNotMapMessageVerificationToPairingPrompt() {
50+
let message = "Bitcoin message verification failed"
51+
XCTAssertNotEqual(TrezorErrorPresenter.mapMessage(message), t("hardware__pairing_code_invalid"))
52+
XCTAssertEqual(TrezorErrorPresenter.mapMessage(message), message)
53+
}
4254
}

0 commit comments

Comments
 (0)