@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.
- package/build/keyring/service.js +31 -42
- package/build/keyring/service.js.map +1 -1
- package/build/keyring/service.spec.d.ts +1 -0
- package/build/keyring/service.spec.js +106 -0
- package/build/keyring/service.spec.js.map +1 -0
- package/build/tx-executor/index.d.ts +1 -0
- package/build/tx-executor/index.js +1 -0
- package/build/tx-executor/index.js.map +1 -1
- package/build/tx-executor/service.d.ts +8 -5
- package/build/tx-executor/service.js +56 -11
- package/build/tx-executor/service.js.map +1 -1
- package/build/tx-executor/types.d.ts +20 -1
- package/build/tx-executor/utils/diagnostics.d.ts +14 -0
- package/build/tx-executor/utils/diagnostics.js +215 -0
- package/build/tx-executor/utils/diagnostics.js.map +1 -0
- package/build/tx-executor/utils/diagnostics.spec.d.ts +1 -0
- package/build/tx-executor/utils/diagnostics.spec.js +48 -0
- package/build/tx-executor/utils/diagnostics.spec.js.map +1 -0
- package/build/tx-executor/utils/evm.js +7 -3
- package/build/tx-executor/utils/evm.js.map +1 -1
- package/build/tx-executor/utils/evm.spec.d.ts +1 -0
- package/build/tx-executor/utils/evm.spec.js +59 -0
- package/build/tx-executor/utils/evm.spec.js.map +1 -0
- package/package.json +13 -13
- package/src/keyring/service.spec.ts +141 -0
- package/src/keyring/service.ts +47 -59
- package/src/tx-executor/index.ts +1 -0
- package/src/tx-executor/service.ts +72 -17
- package/src/tx-executor/types.ts +42 -1
- package/src/tx-executor/utils/diagnostics.spec.ts +89 -0
- package/src/tx-executor/utils/diagnostics.ts +298 -0
- package/src/tx-executor/utils/evm.spec.ts +62 -0
- 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
|
|
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 = (
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;AAEA,6CAAyC;AAGzC,mCAAyC;
|
|
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.
|
|
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.
|
|
37
|
-
"@keplr-wallet/common": "0.13.
|
|
38
|
-
"@keplr-wallet/cosmos": "0.13.
|
|
39
|
-
"@keplr-wallet/crypto": "0.13.
|
|
40
|
-
"@keplr-wallet/ledger-cosmos": "0.13.
|
|
41
|
-
"@keplr-wallet/popup": "0.13.
|
|
42
|
-
"@keplr-wallet/proto-types": "0.13.
|
|
43
|
-
"@keplr-wallet/router": "0.13.
|
|
44
|
-
"@keplr-wallet/simple-fetch": "0.13.
|
|
45
|
-
"@keplr-wallet/types": "0.13.
|
|
46
|
-
"@keplr-wallet/unit": "0.13.
|
|
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": "
|
|
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
|
+
}
|
package/src/keyring/service.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
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
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
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
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
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
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
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
|
|
package/src/tx-executor/index.ts
CHANGED