@openocean.finance/openocean-sdk 0.1.67 → 0.1.68

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.
@@ -215,64 +215,93 @@ var ConnectWallet = /** @class */ (function () {
215
215
  };
216
216
  ConnectWallet.linkAddOrSwitch = function (reqConnectWalletVo, wallet, chain) {
217
217
  return __awaiter(this, void 0, void 0, function () {
218
- var _a, currentProvider, utilsEht, chainId, params, address, address, address, address;
218
+ var _a, currentProvider, utilsEht, chainId, params, address, address, switchError_1, address, address, address, address;
219
219
  return __generator(this, function (_b) {
220
220
  switch (_b.label) {
221
221
  case 0:
222
222
  _a = wallet.sdk || {}, currentProvider = _a.currentProvider, utilsEht = _a.utils;
223
223
  chainId = chain.chainId;
224
224
  params = Chains_1.chains.ethereumChainParams[reqConnectWalletVo.chain];
225
- if (!params) return [3 /*break*/, 8];
225
+ if (!params) return [3 /*break*/, 18];
226
+ _b.label = 1;
227
+ case 1:
228
+ _b.trys.push([1, 9, , 17]);
229
+ return [4 /*yield*/, currentProvider.request({
230
+ method: 'wallet_switchEthereumChain',
231
+ params: [{ chainId: params[0].chainId }],
232
+ })];
233
+ case 2:
234
+ _b.sent();
235
+ return [4 /*yield*/, this.isChainIdEq(wallet, chainId, utilsEht)];
236
+ case 3:
237
+ if (!_b.sent()) return [3 /*break*/, 8];
238
+ if (!(wallet.type === 'WalletConnect')) return [3 /*break*/, 5];
239
+ return [4 /*yield*/, wallet.sdk.eth.getAccounts()];
240
+ case 4:
241
+ address = (_b.sent())[0];
242
+ wallet.address = address;
243
+ return [3 /*break*/, 7];
244
+ case 5: return [4 /*yield*/, wallet.sdk.eth.requestAccounts()];
245
+ case 6:
246
+ address = (_b.sent())[0];
247
+ wallet.address = address;
248
+ _b.label = 7;
249
+ case 7: return [2 /*return*/, { chain: chain, wallet: wallet }];
250
+ case 8: return [3 /*break*/, 17];
251
+ case 9:
252
+ switchError_1 = _b.sent();
253
+ if (!(switchError_1.code === 4902)) return [3 /*break*/, 16];
226
254
  return [4 /*yield*/, currentProvider.request({
227
255
  method: "wallet_addEthereumChain",
228
256
  params: params
229
257
  })];
230
- case 1:
258
+ case 10:
231
259
  _b.sent();
232
260
  return [4 /*yield*/, this.isChainIdEq(wallet, chainId, utilsEht)];
233
- case 2:
234
- if (!_b.sent()) return [3 /*break*/, 7];
235
- if (!(wallet.type === 'WalletConnect')) return [3 /*break*/, 4];
261
+ case 11:
262
+ if (!_b.sent()) return [3 /*break*/, 16];
263
+ if (!(wallet.type === 'WalletConnect')) return [3 /*break*/, 13];
236
264
  return [4 /*yield*/, wallet.sdk.eth.getAccounts()];
237
- case 3:
265
+ case 12:
238
266
  address = (_b.sent())[0];
239
267
  wallet.address = address;
240
- return [3 /*break*/, 6];
241
- case 4: return [4 /*yield*/, wallet.sdk.eth.requestAccounts()];
242
- case 5:
268
+ return [3 /*break*/, 15];
269
+ case 13: return [4 /*yield*/, wallet.sdk.eth.requestAccounts()];
270
+ case 14:
243
271
  address = (_b.sent())[0];
244
272
  wallet.address = address;
245
- _b.label = 6;
246
- case 6: return [2 /*return*/, { chain: chain, wallet: wallet }];
247
- case 7: return [3 /*break*/, 17];
248
- case 8:
249
- if (!(chainId == '1' || chainId == '3' || chainId == '4')) return [3 /*break*/, 16];
273
+ _b.label = 15;
274
+ case 15: return [2 /*return*/, { chain: chain, wallet: wallet }];
275
+ case 16: return [3 /*break*/, 17];
276
+ case 17: return [3 /*break*/, 27];
277
+ case 18:
278
+ if (!(chainId == '1' || chainId == '3' || chainId == '4')) return [3 /*break*/, 26];
250
279
  return [4 /*yield*/, currentProvider.request({
251
280
  method: 'wallet_switchEthereumChain',
252
281
  params: [{
253
282
  chainId: utilsEht.toHex(chainId)
254
283
  }],
255
284
  })];
256
- case 9:
285
+ case 19:
257
286
  _b.sent();
258
287
  return [4 /*yield*/, this.isChainIdEq(wallet, chainId, utilsEht)];
259
- case 10:
260
- if (!_b.sent()) return [3 /*break*/, 15];
261
- if (!(wallet.type === 'WalletConnect')) return [3 /*break*/, 12];
288
+ case 20:
289
+ if (!_b.sent()) return [3 /*break*/, 25];
290
+ if (!(wallet.type === 'WalletConnect')) return [3 /*break*/, 22];
262
291
  return [4 /*yield*/, wallet.sdk.eth.getAccounts()];
263
- case 11:
292
+ case 21:
264
293
  address = (_b.sent())[0];
265
294
  wallet.address = address;
266
- return [3 /*break*/, 14];
267
- case 12: return [4 /*yield*/, wallet.sdk.eth.requestAccounts()];
268
- case 13:
295
+ return [3 /*break*/, 24];
296
+ case 22: return [4 /*yield*/, wallet.sdk.eth.requestAccounts()];
297
+ case 23:
269
298
  address = (_b.sent())[0];
270
299
  wallet.address = address;
271
- _b.label = 14;
272
- case 14: return [2 /*return*/, { chain: chain, wallet: wallet }];
273
- case 15: return [3 /*break*/, 17];
274
- case 16: throw new Error('Network error');
275
- case 17: return [2 /*return*/];
300
+ _b.label = 24;
301
+ case 24: return [2 /*return*/, { chain: chain, wallet: wallet }];
302
+ case 25: return [3 /*break*/, 27];
303
+ case 26: throw new Error('Network error');
304
+ case 27: return [2 /*return*/];
276
305
  }
277
306
  });
278
307
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openocean.finance/openocean-sdk",
3
- "version": "0.1.67",
3
+ "version": "0.1.68",
4
4
  "description": "Openocean sdk",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {