@keplr-wallet/background 0.13.35 → 0.13.37

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 (36) 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/recent-send-history/service.js +7 -3
  7. package/build/recent-send-history/service.js.map +1 -1
  8. package/build/tx-executor/index.d.ts +1 -0
  9. package/build/tx-executor/index.js +1 -0
  10. package/build/tx-executor/index.js.map +1 -1
  11. package/build/tx-executor/service.d.ts +8 -5
  12. package/build/tx-executor/service.js +56 -11
  13. package/build/tx-executor/service.js.map +1 -1
  14. package/build/tx-executor/types.d.ts +20 -1
  15. package/build/tx-executor/utils/diagnostics.d.ts +14 -0
  16. package/build/tx-executor/utils/diagnostics.js +215 -0
  17. package/build/tx-executor/utils/diagnostics.js.map +1 -0
  18. package/build/tx-executor/utils/diagnostics.spec.d.ts +1 -0
  19. package/build/tx-executor/utils/diagnostics.spec.js +48 -0
  20. package/build/tx-executor/utils/diagnostics.spec.js.map +1 -0
  21. package/build/tx-executor/utils/evm.js +7 -3
  22. package/build/tx-executor/utils/evm.js.map +1 -1
  23. package/build/tx-executor/utils/evm.spec.d.ts +1 -0
  24. package/build/tx-executor/utils/evm.spec.js +59 -0
  25. package/build/tx-executor/utils/evm.spec.js.map +1 -0
  26. package/package.json +13 -13
  27. package/src/keyring/service.spec.ts +141 -0
  28. package/src/keyring/service.ts +47 -59
  29. package/src/recent-send-history/service.ts +7 -4
  30. package/src/tx-executor/index.ts +1 -0
  31. package/src/tx-executor/service.ts +72 -17
  32. package/src/tx-executor/types.ts +42 -1
  33. package/src/tx-executor/utils/diagnostics.spec.ts +89 -0
  34. package/src/tx-executor/utils/diagnostics.ts +298 -0
  35. package/src/tx-executor/utils/evm.spec.ts +62 -0
  36. 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.35",
3
+ "version": "0.13.37",
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.35",
37
- "@keplr-wallet/common": "0.13.35",
38
- "@keplr-wallet/cosmos": "0.13.35",
39
- "@keplr-wallet/crypto": "0.13.35",
40
- "@keplr-wallet/ledger-cosmos": "0.13.35",
41
- "@keplr-wallet/popup": "0.13.35",
42
- "@keplr-wallet/proto-types": "0.13.35",
43
- "@keplr-wallet/router": "0.13.35",
44
- "@keplr-wallet/simple-fetch": "0.13.35",
45
- "@keplr-wallet/types": "0.13.35",
46
- "@keplr-wallet/unit": "0.13.35",
36
+ "@keplr-wallet/chain-validator": "0.13.37",
37
+ "@keplr-wallet/common": "0.13.37",
38
+ "@keplr-wallet/cosmos": "0.13.37",
39
+ "@keplr-wallet/crypto": "0.13.37",
40
+ "@keplr-wallet/ledger-cosmos": "0.13.37",
41
+ "@keplr-wallet/popup": "0.13.37",
42
+ "@keplr-wallet/proto-types": "0.13.37",
43
+ "@keplr-wallet/router": "0.13.37",
44
+ "@keplr-wallet/simple-fetch": "0.13.37",
45
+ "@keplr-wallet/types": "0.13.37",
46
+ "@keplr-wallet/unit": "0.13.37",
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": "d6feb9514cc94558d0567593f426ea03c3cabaf0"
73
+ "gitHead": "128f19e42aa0fea5cff29c860d7fa7534a2aa955"
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
 
@@ -966,7 +966,8 @@ export class RecentSendHistoryService {
966
966
  chainId: string,
967
967
  txHash: string
968
968
  ): Promise<"success" | "failed" | "pending" | "error"> {
969
- if (this.chainsService.isEvmChain(chainId)) {
969
+ const isEvmOnlyChain = this.chainsService.isEvmOnlyChain(chainId);
970
+ if (isEvmOnlyChain) {
970
971
  if (
971
972
  modularChainInfo.type !== "evm" &&
972
973
  modularChainInfo.type !== "ethermint"
@@ -1024,6 +1025,10 @@ export class RecentSendHistoryService {
1024
1025
  if (!txResult) {
1025
1026
  return "pending";
1026
1027
  }
1028
+ // Tendermint/CometBFT can omit `code` for successful txs.
1029
+ if (txResult.code == null) {
1030
+ return "success";
1031
+ }
1027
1032
  if (typeof txResult.code !== "number") {
1028
1033
  return "error";
1029
1034
  }
@@ -1066,7 +1071,7 @@ export class RecentSendHistoryService {
1066
1071
  return;
1067
1072
  }
1068
1073
 
1069
- if (this.chainsService.isEvmChain(chainId)) {
1074
+ if (this.chainsService.isEvmOnlyChain(chainId)) {
1070
1075
  this.traceEVMTransactionResult({
1071
1076
  chainId,
1072
1077
  txHash,
@@ -2391,8 +2396,6 @@ export class RecentSendHistoryService {
2391
2396
 
2392
2397
  // resAmount 또는 assetLocationInfo가 없으면 추가적으로 자산 추적을 해야 한다.
2393
2398
  if (targetTxHash && !skipAssetTracking && isAtDestinationChain) {
2394
- console.log("trackSwapV2ReleasedAssetAmount", id, targetTxHash);
2395
-
2396
2399
  this.trackSwapV2ReleasedAssetAmount(
2397
2400
  id,
2398
2401
  targetTxHash,
@@ -1,3 +1,4 @@
1
1
  export * from "./service";
2
2
  export * from "./messages";
3
3
  export * from "./types";
4
+ export * from "./utils/diagnostics";