@keplr-wallet/chain-validator 0.12.87 → 0.12.88-rc.0

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.
@@ -7,3 +7,4 @@ export declare function checkRPCConnectivity(chainId: string, rpc: string, wsObj
7
7
  close(): void;
8
8
  }): Promise<void>;
9
9
  export declare function checkRestConnectivity(chainId: string, rest: string): Promise<void>;
10
+ export declare function checkEvmRpcConnectivity(evmChainId: number, evmRpc: string): Promise<void>;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.checkRestConnectivity = exports.checkRPCConnectivity = exports.DifferentChainVersionError = void 0;
12
+ exports.checkEvmRpcConnectivity = exports.checkRestConnectivity = exports.checkRPCConnectivity = exports.DifferentChainVersionError = void 0;
13
13
  const cosmos_1 = require("@keplr-wallet/cosmos");
14
14
  const simple_fetch_1 = require("@keplr-wallet/simple-fetch");
15
15
  class DifferentChainVersionError extends Error {
@@ -108,4 +108,33 @@ function checkRestConnectivity(chainId, rest) {
108
108
  });
109
109
  }
110
110
  exports.checkRestConnectivity = checkRestConnectivity;
111
+ function checkEvmRpcConnectivity(evmChainId, evmRpc) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ let resultEvmChainId;
114
+ try {
115
+ // get the EVM chain id.
116
+ resultEvmChainId = yield (0, simple_fetch_1.simpleFetch)(evmRpc, {
117
+ method: "POST",
118
+ headers: {
119
+ "content-type": "application/json",
120
+ },
121
+ body: JSON.stringify({
122
+ jsonrpc: "2.0",
123
+ method: "eth_chainId",
124
+ params: [],
125
+ id: 1,
126
+ }),
127
+ });
128
+ }
129
+ catch (e) {
130
+ console.log(e);
131
+ throw new Error("Failed to get response eth_chainId from EVM RPC endpoint");
132
+ }
133
+ const evmChainIdFromResult = Number(resultEvmChainId.data.result);
134
+ if (evmChainIdFromResult !== evmChainId) {
135
+ throw new Error(`EVM RPC endpoint has different chain id (expected: ${evmChainId}, actual: ${evmChainIdFromResult})`);
136
+ }
137
+ });
138
+ }
139
+ exports.checkEvmRpcConnectivity = checkEvmRpcConnectivity;
111
140
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/chain-validator",
3
- "version": "0.12.87",
3
+ "version": "0.12.88-rc.0",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -16,11 +16,11 @@
16
16
  "lint-fix": "eslint --fix \"src/**/*\" && prettier --write \"src/**/*\""
17
17
  },
18
18
  "dependencies": {
19
- "@keplr-wallet/cosmos": "0.12.87",
20
- "@keplr-wallet/simple-fetch": "0.12.87",
21
- "@keplr-wallet/types": "0.12.87",
19
+ "@keplr-wallet/cosmos": "0.12.88-rc.0",
20
+ "@keplr-wallet/simple-fetch": "0.12.88-rc.0",
21
+ "@keplr-wallet/types": "0.12.88-rc.0",
22
22
  "joi": "^17.5.0",
23
23
  "utility-types": "^3.10.0"
24
24
  },
25
- "gitHead": "160ebd8cea4ed373cbce5bbd2c24c88e69d97679"
25
+ "gitHead": "e5b507e7773babf680db0fb8669fff66a9130310"
26
26
  }
package/src/connection.ts CHANGED
@@ -148,3 +148,41 @@ export async function checkRestConnectivity(
148
148
  );
149
149
  }
150
150
  }
151
+
152
+ export async function checkEvmRpcConnectivity(
153
+ evmChainId: number,
154
+ evmRpc: string
155
+ ) {
156
+ let resultEvmChainId: SimpleFetchResponse<{
157
+ result: string;
158
+ }>;
159
+
160
+ try {
161
+ // get the EVM chain id.
162
+ resultEvmChainId = await simpleFetch<{
163
+ result: string;
164
+ }>(evmRpc, {
165
+ method: "POST",
166
+ headers: {
167
+ "content-type": "application/json",
168
+ },
169
+ body: JSON.stringify({
170
+ jsonrpc: "2.0",
171
+ method: "eth_chainId",
172
+ params: [],
173
+ id: 1,
174
+ }),
175
+ });
176
+ } catch (e) {
177
+ console.log(e);
178
+ throw new Error("Failed to get response eth_chainId from EVM RPC endpoint");
179
+ }
180
+
181
+ const evmChainIdFromResult = Number(resultEvmChainId.data.result);
182
+
183
+ if (evmChainIdFromResult !== evmChainId) {
184
+ throw new Error(
185
+ `EVM RPC endpoint has different chain id (expected: ${evmChainId}, actual: ${evmChainIdFromResult})`
186
+ );
187
+ }
188
+ }