mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 12:29:51 +00:00
fix: refine Ledger error code interpretation and enhance error handling [skip-ci]
This commit is contained in:
parent
6260c4cf3a
commit
b53cd162c8
4 changed files with 12 additions and 14 deletions
|
@ -30,6 +30,7 @@ dependencies:
|
|||
git:
|
||||
url: https://github.com/cake-tech/ledger-flutter-plus-plugins
|
||||
path: packages/ledger-ethereum
|
||||
ref: f4761cd5171d4c1e2e42fd3298261650539fb2db
|
||||
|
||||
dependency_overrides:
|
||||
web3dart:
|
||||
|
|
|
@ -212,6 +212,8 @@ class ExceptionHandler {
|
|||
return null;
|
||||
}
|
||||
|
||||
printV(errorDetails.exception);
|
||||
|
||||
if (navigatorKey.currentContext != null) {
|
||||
await showPopUp<void>(
|
||||
context: navigatorKey.currentContext!,
|
||||
|
|
|
@ -177,17 +177,14 @@ abstract class LedgerViewModelBase with Store {
|
|||
}
|
||||
|
||||
String? interpretErrorCode(String errorCode) {
|
||||
switch (errorCode) {
|
||||
case "6985":
|
||||
return S.current.ledger_error_tx_rejected_by_user;
|
||||
case "5515":
|
||||
return S.current.ledger_error_device_locked;
|
||||
case "6d02": // UNKNOWN_APDU
|
||||
case "6511":
|
||||
case "6e00":
|
||||
return S.current.ledger_error_wrong_app;
|
||||
default:
|
||||
return null;
|
||||
if (errorCode.contains("6985")) {
|
||||
return S.current.ledger_error_tx_rejected_by_user;
|
||||
} else if (errorCode.contains("5515")) {
|
||||
return S.current.ledger_error_device_locked;
|
||||
} else
|
||||
if (["6e01", "6a87", "6d02", "6511", "6e00"].any((e) => errorCode.contains(e))) {
|
||||
return S.current.ledger_error_wrong_app;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,11 +80,9 @@ abstract class WalletHardwareRestoreViewModelBase extends WalletCreationVM with
|
|||
|
||||
availableAccounts.addAll(accounts);
|
||||
_nextIndex += limit;
|
||||
// } on LedgerException catch (e) {
|
||||
// error = ledgerViewModel.interpretErrorCode(e.errorCode.toRadixString(16));
|
||||
} catch (e) {
|
||||
printV(e);
|
||||
error = S.current.ledger_connection_error;
|
||||
error = ledgerViewModel.interpretErrorCode(e.toString()) ?? S.current.ledger_connection_error;
|
||||
}
|
||||
|
||||
isLoadingMoreAccounts = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue