@keplr-wallet/background 0.13.34 → 0.13.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/build/keyring/service.js +31 -42
  2. package/build/keyring/service.js.map +1 -1
  3. package/build/keyring/service.spec.d.ts +1 -0
  4. package/build/keyring/service.spec.js +106 -0
  5. package/build/keyring/service.spec.js.map +1 -0
  6. package/build/tx-executor/index.d.ts +1 -0
  7. package/build/tx-executor/index.js +1 -0
  8. package/build/tx-executor/index.js.map +1 -1
  9. package/build/tx-executor/service.d.ts +8 -5
  10. package/build/tx-executor/service.js +56 -11
  11. package/build/tx-executor/service.js.map +1 -1
  12. package/build/tx-executor/types.d.ts +20 -1
  13. package/build/tx-executor/utils/diagnostics.d.ts +14 -0
  14. package/build/tx-executor/utils/diagnostics.js +215 -0
  15. package/build/tx-executor/utils/diagnostics.js.map +1 -0
  16. package/build/tx-executor/utils/diagnostics.spec.d.ts +1 -0
  17. package/build/tx-executor/utils/diagnostics.spec.js +48 -0
  18. package/build/tx-executor/utils/diagnostics.spec.js.map +1 -0
  19. package/build/tx-executor/utils/evm.js +7 -3
  20. package/build/tx-executor/utils/evm.js.map +1 -1
  21. package/build/tx-executor/utils/evm.spec.d.ts +1 -0
  22. package/build/tx-executor/utils/evm.spec.js +59 -0
  23. package/build/tx-executor/utils/evm.spec.js.map +1 -0
  24. package/package.json +13 -13
  25. package/src/keyring/service.spec.ts +141 -0
  26. package/src/keyring/service.ts +47 -59
  27. package/src/tx-executor/index.ts +1 -0
  28. package/src/tx-executor/service.ts +72 -17
  29. package/src/tx-executor/types.ts +42 -1
  30. package/src/tx-executor/utils/diagnostics.spec.ts +89 -0
  31. package/src/tx-executor/utils/diagnostics.ts +298 -0
  32. package/src/tx-executor/utils/evm.spec.ts +62 -0
  33. package/src/tx-executor/utils/evm.ts +18 -1
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.fillUnsignedEVMTx = void 0;
24
24
  const unit_1 = require("@keplr-wallet/unit");
25
25
  const fetch_1 = require("./fetch");
26
+ const diagnostics_1 = require("./diagnostics");
26
27
  const ETH_FEE_HISTORY_REWARD_PERCENTILES = [20, 40, 60];
27
28
  const ETH_FEE_SETTINGS_BY_FEE_TYPE = {
28
29
  low: {
@@ -60,7 +61,7 @@ const toBigIntFromTxField = (value) => {
60
61
  throw new Error("Unsupported numeric value in unsigned transaction");
61
62
  };
62
63
  function fillUnsignedEVMTx(origin, evmInfo, signer, tx, feeType = "average", customPriorityFee, customGasPrice) {
63
- var _a;
64
+ var _a, _b, _c;
64
65
  return __awaiter(this, void 0, void 0, function* () {
65
66
  const hasProvidedPriorityFee = tx.maxPriorityFeePerGas != null;
66
67
  const hasProvidedGasLimit = tx.gasLimit != null;
@@ -164,6 +165,9 @@ function fillUnsignedEVMTx(origin, evmInfo, signer, tx, feeType = "average", cus
164
165
  const finalNonce = tx.nonce != null
165
166
  ? Math.max(Number(tx.nonce), parseInt(nonceHex, 16))
166
167
  : parseInt(nonceHex, 16);
168
+ const estimateGasResponse = hasProvidedGasLimit
169
+ ? undefined
170
+ : rpcResponses.find((r) => r.id === ESTIMATE_GAS_ID);
167
171
  const gasLimitHex = hasProvidedGasLimit
168
172
  ? undefined
169
173
  : getResult(ESTIMATE_GAS_ID, true);
@@ -178,7 +182,7 @@ function fillUnsignedEVMTx(origin, evmInfo, signer, tx, feeType = "average", cus
178
182
  finalGasLimit = `0x${adjustedGas.toString(16)}`;
179
183
  }
180
184
  else {
181
- throw new Error("Failed to estimate gas to fill unsigned transaction");
185
+ throw new diagnostics_1.TxExecutionDiagnosticsError("Failed to estimate gas to fill unsigned transaction", (0, diagnostics_1.createGasEstimateDiagnostics)(new Error((_b = (_a = estimateGasResponse === null || estimateGasResponse === void 0 ? void 0 : estimateGasResponse.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : "Missing eth_estimateGas result"), "background_fill_unsigned_tx", tx));
182
186
  }
183
187
  // Legacy chain detection: baseFeePerGas missing or zero
184
188
  const isLegacy = !latestBlock.baseFeePerGas || parseInt(latestBlock.baseFeePerGas, 16) === 0;
@@ -222,7 +226,7 @@ function fillUnsignedEVMTx(origin, evmInfo, signer, tx, feeType = "average", cus
222
226
  maxPriorityFeePerGasDec = new unit_1.Dec(customPriorityFee);
223
227
  }
224
228
  else if ((feeHistory === null || feeHistory === void 0 ? void 0 : feeHistory.reward) && feeHistory.reward.length > 0) {
225
- const percentile = (_a = ETH_FEE_SETTINGS_BY_FEE_TYPE[innerFeeType].percentile) !== null && _a !== void 0 ? _a : ETH_FEE_HISTORY_REWARD_PERCENTILES[1];
229
+ const percentile = (_c = ETH_FEE_SETTINGS_BY_FEE_TYPE[innerFeeType].percentile) !== null && _c !== void 0 ? _c : ETH_FEE_HISTORY_REWARD_PERCENTILES[1];
226
230
  const percentileIndex = ETH_FEE_HISTORY_REWARD_PERCENTILES.indexOf(percentile);
227
231
  if (percentileIndex >= 0) {
228
232
  const rewards = feeHistory.reward
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../src/tx-executor/utils/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../src/tx-executor/utils/evm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const diagnostics_1 = require("./diagnostics");
13
+ const evm_1 = require("./evm");
14
+ const fetch_1 = require("./fetch");
15
+ jest.mock("./fetch", () => ({
16
+ fetchWithRetry: jest.fn(),
17
+ }));
18
+ const mockFetchWithRetry = fetch_1.fetchWithRetry;
19
+ describe("fillUnsignedEVMTx", () => {
20
+ beforeEach(() => {
21
+ mockFetchWithRetry.mockReset();
22
+ });
23
+ it("keeps eth_estimateGas optional and adds diagnostics only at final gas failure", () => __awaiter(void 0, void 0, void 0, function* () {
24
+ mockFetchWithRetry.mockResolvedValue({
25
+ data: [
26
+ { id: 1, result: "0x1" },
27
+ { id: 2, result: { baseFeePerGas: "0x1" } },
28
+ { id: 3, result: {} },
29
+ {
30
+ id: 4,
31
+ error: {
32
+ code: -32000,
33
+ message: "execution reverted: ERC20: transfer amount exceeds allowance",
34
+ },
35
+ },
36
+ { id: 5, result: "0x1" },
37
+ { id: 6, result: "0x1" },
38
+ ],
39
+ });
40
+ try {
41
+ yield (0, evm_1.fillUnsignedEVMTx)("extension", { rpc: "https://example.invalid" }, "0xsender", {
42
+ to: "0xrouter",
43
+ value: "0x0",
44
+ data: "0x",
45
+ });
46
+ throw new Error("Expected fillUnsignedEVMTx to fail");
47
+ }
48
+ catch (e) {
49
+ expect(e.message).toBe("Failed to estimate gas to fill unsigned transaction");
50
+ expect((0, diagnostics_1.getTxExecutionDiagnostics)(e)).toEqual({
51
+ gas_estimate_context: "background_fill_unsigned_tx",
52
+ gas_estimate_error_category: "allowance_insufficient",
53
+ failed_tx_has_required_erc20_approval: false,
54
+ failed_tx_has_native_value: false,
55
+ });
56
+ }
57
+ }));
58
+ });
59
+ //# sourceMappingURL=evm.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.spec.js","sourceRoot":"","sources":["../../../src/tx-executor/utils/evm.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+CAA0D;AAC1D,+BAA0C;AAC1C,mCAAyC;AAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;CAC1B,CAAC,CAAC,CAAC;AAEJ,MAAM,kBAAkB,GAAG,sBAE1B,CAAC;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAS,EAAE;QAC7F,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,IAAI,EAAE;gBACJ,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;gBACxB,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE;gBAC3C,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBACrB;oBACE,EAAE,EAAE,CAAC;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EACL,8DAA8D;qBACjE;iBACF;gBACD,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;gBACxB,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;aACzB;SACK,CAAC,CAAC;QAEV,IAAI;YACF,MAAM,IAAA,uBAAiB,EACrB,WAAW,EACX,EAAE,GAAG,EAAE,yBAAyB,EAAa,EAC7C,UAAU,EACV;gBACE,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;aACX,CACF,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/B,qDAAqD,CACtD,CAAC;YACF,MAAM,CAAC,IAAA,uCAAyB,EAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3C,oBAAoB,EAAE,6BAA6B;gBACnD,2BAA2B,EAAE,wBAAwB;gBACrD,qCAAqC,EAAE,KAAK;gBAC5C,0BAA0B,EAAE,KAAK;aAClC,CAAC,CAAC;SACJ;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/background",
3
- "version": "0.13.34",
3
+ "version": "0.13.36",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -33,17 +33,17 @@
33
33
  "@ethersproject/hash": "^5.7.0",
34
34
  "@ethersproject/transactions": "^5.7.0",
35
35
  "@ethersproject/wallet": "^5.7.0",
36
- "@keplr-wallet/chain-validator": "0.13.34",
37
- "@keplr-wallet/common": "0.13.34",
38
- "@keplr-wallet/cosmos": "0.13.34",
39
- "@keplr-wallet/crypto": "0.13.34",
40
- "@keplr-wallet/ledger-cosmos": "0.13.34",
41
- "@keplr-wallet/popup": "0.13.34",
42
- "@keplr-wallet/proto-types": "0.13.34",
43
- "@keplr-wallet/router": "0.13.34",
44
- "@keplr-wallet/simple-fetch": "0.13.34",
45
- "@keplr-wallet/types": "0.13.34",
46
- "@keplr-wallet/unit": "0.13.34",
36
+ "@keplr-wallet/chain-validator": "0.13.36",
37
+ "@keplr-wallet/common": "0.13.36",
38
+ "@keplr-wallet/cosmos": "0.13.36",
39
+ "@keplr-wallet/crypto": "0.13.36",
40
+ "@keplr-wallet/ledger-cosmos": "0.13.36",
41
+ "@keplr-wallet/popup": "0.13.36",
42
+ "@keplr-wallet/proto-types": "0.13.36",
43
+ "@keplr-wallet/router": "0.13.36",
44
+ "@keplr-wallet/simple-fetch": "0.13.36",
45
+ "@keplr-wallet/types": "0.13.36",
46
+ "@keplr-wallet/unit": "0.13.36",
47
47
  "@ledgerhq/hw-app-eth": "6.42.8",
48
48
  "@ledgerhq/hw-app-starknet": "^3.0.1",
49
49
  "@ledgerhq/hw-transport": "^6.35.0",
@@ -70,5 +70,5 @@
70
70
  "mobx-utils": "^6",
71
71
  "starknet": "^7"
72
72
  },
73
- "gitHead": "261583540739c6e916c78905e587a2d82575bdc0"
73
+ "gitHead": "43bf315aca3d27f9e5965a8caf9eaa0ae4ad2529"
74
74
  }
@@ -0,0 +1,141 @@
1
+ jest.mock("../keyring-bitcoin", () => ({}));
2
+
3
+ import { KeyRingService } from "./service";
4
+ import { KeyInfo } from "./types";
5
+
6
+ const getAddressHexStringFromKeyInfo = (KeyRingService as any)
7
+ .getAddressHexStringFromKeyInfo;
8
+
9
+ describe("KeyRingService", () => {
10
+ afterEach(() => {
11
+ (KeyRingService as any).getAddressHexStringFromKeyInfo =
12
+ getAddressHexStringFromKeyInfo;
13
+ jest.restoreAllMocks();
14
+ });
15
+
16
+ describe("searchKeyRings", () => {
17
+ it("does not run bech32 address search for name-like queries", () => {
18
+ const keyInfos: KeyInfo[] = [
19
+ createKeyInfo("1", "devx"),
20
+ createKeyInfo("2", "deva"),
21
+ createKeyInfo("3", "dev2"),
22
+ createKeyInfo("4", "main"),
23
+ ];
24
+ const service = createSearchService(keyInfos, {
25
+ getModularChainInfos: jest.fn(() => {
26
+ throw new Error("bech32 address search should not run");
27
+ }),
28
+ });
29
+
30
+ const searched = KeyRingService.prototype.searchKeyRings.call(
31
+ service,
32
+ "dev"
33
+ );
34
+
35
+ expect(searched.map((keyInfo) => keyInfo.name)).toEqual([
36
+ "devx",
37
+ "deva",
38
+ "dev2",
39
+ ]);
40
+ expect(service.chainsService.getModularChainInfos).not.toHaveBeenCalled();
41
+ expect(
42
+ service.chainsUIService.enabledModularChainInfosForVault
43
+ ).not.toHaveBeenCalled();
44
+ });
45
+
46
+ it("does not fall back to enabled chain address scans for invalid bech32 prefixes", () => {
47
+ const keyInfos: KeyInfo[] = [createKeyInfo("1", "main")];
48
+ const service = createSearchService(keyInfos);
49
+
50
+ const searched = KeyRingService.prototype.searchKeyRings.call(
51
+ service,
52
+ "dev1x"
53
+ );
54
+
55
+ expect(searched).toEqual([]);
56
+ expect(service.chainsService.getModularChainInfos).toHaveBeenCalledTimes(
57
+ 1
58
+ );
59
+ expect(
60
+ service.chainsUIService.enabledModularChainInfosForVault
61
+ ).not.toHaveBeenCalled();
62
+ });
63
+
64
+ it("still runs bech32 address search for recognized address prefixes", () => {
65
+ const keyInfos: KeyInfo[] = [createKeyInfo("1", "main")];
66
+ const service = createSearchService(keyInfos);
67
+ const getAddressHexString = jest.fn().mockReturnValue("00".repeat(20));
68
+ (KeyRingService as any).getAddressHexStringFromKeyInfo =
69
+ getAddressHexString;
70
+
71
+ const searched = KeyRingService.prototype.searchKeyRings.call(
72
+ service,
73
+ "cosmos1"
74
+ );
75
+
76
+ expect(searched.map((keyInfo) => keyInfo.name)).toEqual(["main"]);
77
+ expect(getAddressHexString).toHaveBeenCalled();
78
+ });
79
+ });
80
+ });
81
+
82
+ function createKeyInfo(id: string, name: string): KeyInfo {
83
+ return {
84
+ id,
85
+ name,
86
+ type: "mnemonic",
87
+ isSelected: false,
88
+ insensitive: {
89
+ publicKey: "unused",
90
+ },
91
+ };
92
+ }
93
+
94
+ function createSearchService(
95
+ keyInfos: KeyInfo[],
96
+ overrides?: {
97
+ getModularChainInfos?: jest.Mock;
98
+ }
99
+ ) {
100
+ const cosmosModularChainInfo = {
101
+ type: "cosmos",
102
+ chainId: "cosmoshub-4",
103
+ chainName: "Cosmos Hub",
104
+ cosmos: {
105
+ chainId: "cosmoshub-4",
106
+ chainName: "Cosmos Hub",
107
+ rpc: "",
108
+ rest: "",
109
+ bip44: {
110
+ coinType: 118,
111
+ },
112
+ bech32Config: {
113
+ bech32PrefixAccAddr: "cosmos",
114
+ },
115
+ currencies: [],
116
+ feeCurrencies: [],
117
+ stakeCurrency: {
118
+ coinDenom: "ATOM",
119
+ coinMinimalDenom: "uatom",
120
+ coinDecimals: 6,
121
+ },
122
+ features: [],
123
+ },
124
+ };
125
+ const service = Object.create(KeyRingService.prototype) as any;
126
+
127
+ service.getKeyInfos = jest.fn(() => keyInfos);
128
+ service.chainsService = {
129
+ getModularChainInfos:
130
+ overrides?.getModularChainInfos ??
131
+ jest.fn(() => [cosmosModularChainInfo]),
132
+ getModularChainInfoOrThrow: jest.fn(() => cosmosModularChainInfo),
133
+ };
134
+ service.chainsUIService = {
135
+ enabledModularChainInfosForVault: jest.fn(() => [cosmosModularChainInfo]),
136
+ isEnabled: jest.fn(() => true),
137
+ };
138
+ service.cacheKeySearchHexToBech32 = new Map();
139
+
140
+ return service;
141
+ }
@@ -1965,7 +1965,7 @@ export class KeyRingService {
1965
1965
  if (!isHex) {
1966
1966
  const targetModularChainInfos: ModularChainInfo[] = (() => {
1967
1967
  const i = searchText.indexOf("1");
1968
- if (i < 0) {
1968
+ if (i <= 0) {
1969
1969
  return [];
1970
1970
  }
1971
1971
  const prefix = searchText.slice(0, i);
@@ -1983,78 +1983,66 @@ export class KeyRingService {
1983
1983
  return result;
1984
1984
  })();
1985
1985
 
1986
- bech32AddressSearchKeyInfos = keyInfos.filter((keyInfo) => {
1987
- let filteredModularChainInfos = targetModularChainInfos;
1988
- if (!ignoreChainEnabled) {
1989
- filteredModularChainInfos = filteredModularChainInfos.filter(
1990
- (m) => {
1991
- return this.chainsUIService.isEnabled(keyInfo.id, m.chainId);
1992
- }
1993
- );
1994
- }
1986
+ if (targetModularChainInfos.length > 0) {
1987
+ bech32AddressSearchKeyInfos = keyInfos.filter((keyInfo) => {
1988
+ let filteredModularChainInfos = targetModularChainInfos;
1989
+ if (!ignoreChainEnabled) {
1990
+ filteredModularChainInfos = filteredModularChainInfos.filter(
1991
+ (m) => {
1992
+ return this.chainsUIService.isEnabled(keyInfo.id, m.chainId);
1993
+ }
1994
+ );
1995
+ }
1995
1996
 
1996
- const chainInfos = (() => {
1997
- if (ignoreChainEnabled) {
1998
- return this.chainsService
1999
- .getModularChainInfos()
2000
- .filter((c) => c.type === "cosmos" || c.type === "ethermint")
2001
- .flatMap((c) => {
1997
+ const chainInfos = (() => {
1998
+ if (ignoreChainEnabled) {
1999
+ return targetModularChainInfos.flatMap((c) => {
2002
2000
  const ci = convertModularChainInfoToChainInfo(c);
2003
2001
  return ci ? [ci] : [];
2004
2002
  });
2005
- }
2006
- if (filteredModularChainInfos.length > 0) {
2003
+ }
2007
2004
  return filteredModularChainInfos.flatMap((c) => {
2008
2005
  const ci = convertModularChainInfoToChainInfo(c);
2009
2006
  return ci ? [ci] : [];
2010
2007
  });
2011
- }
2012
- const modularChainInfos =
2013
- this.chainsUIService.enabledModularChainInfosForVault(keyInfo.id);
2014
- // TODO: 다른 체인도 지원하기
2015
- return modularChainInfos
2016
- .filter((c) => c.type === "cosmos" || c.type === "ethermint")
2017
- .flatMap((c) => {
2018
- const ci = convertModularChainInfoToChainInfo(c);
2019
- return ci ? [ci] : [];
2020
- });
2021
- })();
2022
-
2023
- for (const chainInfo of chainInfos) {
2024
- for (const [key, value] of Object.entries(keyInfo.insensitive)) {
2025
- try {
2026
- const isEVM = isEthSignChain(
2027
- this.chainsService.getModularChainInfoOrThrow(
2028
- chainInfo.chainId
2029
- )
2030
- );
2008
+ })();
2031
2009
 
2032
- const hexAddress =
2033
- KeyRingService.getAddressHexStringFromKeyInfo(
2034
- chainInfo,
2035
- keyInfo,
2036
- key,
2037
- value,
2038
- isEVM
2010
+ for (const chainInfo of chainInfos) {
2011
+ for (const [key, value] of Object.entries(keyInfo.insensitive)) {
2012
+ try {
2013
+ const isEVM = isEthSignChain(
2014
+ this.chainsService.getModularChainInfoOrThrow(
2015
+ chainInfo.chainId
2016
+ )
2039
2017
  );
2040
2018
 
2041
- if (chainInfo.bech32Config == null) {
2042
- return false;
2043
- }
2044
-
2045
- const bech32Address = this.getKeySearchBech32FromHex(
2046
- chainInfo.bech32Config.bech32PrefixAccAddr,
2047
- hexAddress
2048
- );
2049
- if (bech32Address.includes(searchText.toLowerCase())) {
2050
- return true;
2019
+ const hexAddress =
2020
+ KeyRingService.getAddressHexStringFromKeyInfo(
2021
+ chainInfo,
2022
+ keyInfo,
2023
+ key,
2024
+ value,
2025
+ isEVM
2026
+ );
2027
+
2028
+ if (chainInfo.bech32Config == null) {
2029
+ return false;
2030
+ }
2031
+
2032
+ const bech32Address = this.getKeySearchBech32FromHex(
2033
+ chainInfo.bech32Config.bech32PrefixAccAddr,
2034
+ hexAddress
2035
+ );
2036
+ if (bech32Address.includes(searchText.toLowerCase())) {
2037
+ return true;
2038
+ }
2039
+ } catch {
2040
+ // noop
2051
2041
  }
2052
- } catch {
2053
- // noop
2054
2042
  }
2055
2043
  }
2056
- }
2057
- });
2044
+ });
2045
+ }
2058
2046
  }
2059
2047
  }
2060
2048
 
@@ -1,3 +1,4 @@
1
1
  export * from "./service";
2
2
  export * from "./messages";
3
3
  export * from "./types";
4
+ export * from "./utils/diagnostics";