@openocean.finance/wallet 1.10.70 → 1.10.72

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 (64) hide show
  1. package/lib/TryWalletConnect/index.js +5 -6
  2. package/lib/Wallets/ArgentX.js +3 -3
  3. package/lib/Wallets/BifrostWallet.js +3 -3
  4. package/lib/Wallets/BinanceWallet.js +3 -3
  5. package/lib/Wallets/BitgetWallet.js +3 -3
  6. package/lib/Wallets/BlockWallet.js +3 -3
  7. package/lib/Wallets/BloctoWallet.js +25 -11
  8. package/lib/Wallets/Braavos.js +3 -3
  9. package/lib/Wallets/BraveWallet.js +3 -3
  10. package/lib/Wallets/BscWallet.js +3 -3
  11. package/lib/Wallets/CloverWallet.js +3 -3
  12. package/lib/Wallets/Coin98.js +3 -3
  13. package/lib/Wallets/CoinbaseWallet.js +3 -3
  14. package/lib/Wallets/CompassWallet.js +3 -3
  15. package/lib/Wallets/CryptoCom.js +3 -3
  16. package/lib/Wallets/Cyano.js +3 -3
  17. package/lib/Wallets/Fewcha.js +3 -3
  18. package/lib/Wallets/GnosisSafeWallet.js +3 -3
  19. package/lib/Wallets/HaHaWallet.js +8 -8
  20. package/lib/Wallets/ImTokenWallet.js +3 -3
  21. package/lib/Wallets/KeplrWallet.js +3 -3
  22. package/lib/Wallets/Krystal.js +8 -8
  23. package/lib/Wallets/LedgerEmbedWallet.js +3 -3
  24. package/lib/Wallets/LedgerWallet.js +3 -3
  25. package/lib/Wallets/MartianWallet.js +3 -3
  26. package/lib/Wallets/MathWallet.js +3 -3
  27. package/lib/Wallets/MetaMask.js +3 -3
  28. package/lib/Wallets/MeteorWallet.js +3 -3
  29. package/lib/Wallets/MyNearWallet.js +3 -3
  30. package/lib/Wallets/NearWallet.js +3 -3
  31. package/lib/Wallets/OKXBtcWallet.js +3 -3
  32. package/lib/Wallets/OKXWallet.js +3 -3
  33. package/lib/Wallets/OntoMobile.js +3 -3
  34. package/lib/Wallets/OntoWallet.js +3 -3
  35. package/lib/Wallets/PetraWallet.js +3 -3
  36. package/lib/Wallets/Phantom.js +3 -3
  37. package/lib/Wallets/PlenaWallet.js +8 -8
  38. package/lib/Wallets/PontemWallet.js +3 -3
  39. package/lib/Wallets/RabbyWallet.js +3 -3
  40. package/lib/Wallets/RainbowWallet.js +3 -3
  41. package/lib/Wallets/Risewallet.js +3 -3
  42. package/lib/Wallets/SafePalWallet.js +3 -3
  43. package/lib/Wallets/SenderWallet.js +3 -3
  44. package/lib/Wallets/SlopeWallet.js +3 -3
  45. package/lib/Wallets/SlushWallet.js +3 -3
  46. package/lib/Wallets/SolflareWallet.js +3 -3
  47. package/lib/Wallets/Sollet.js +3 -3
  48. package/lib/Wallets/SuietWallet.js +3 -3
  49. package/lib/Wallets/TokenPocket.js +3 -3
  50. package/lib/Wallets/TronLink.js +3 -3
  51. package/lib/Wallets/TrustWallet.js +3 -3
  52. package/lib/Wallets/UnisatWallet.js +3 -3
  53. package/lib/Wallets/UnstoppableDomains.js +3 -3
  54. package/lib/Wallets/WalletConnect.d.ts +52 -14
  55. package/lib/Wallets/WalletConnect.js +290 -28
  56. package/lib/Wallets/XDeFiWallet.js +3 -3
  57. package/lib/Wallets/ZerionWallet.js +3 -3
  58. package/lib/Wallets/index.js +2 -2
  59. package/lib/helper.js +2 -3
  60. package/lib/injectedTargets.js +2 -3
  61. package/lib/types.d.ts +3 -3
  62. package/lib/types.js +4 -4
  63. package/lib/util.js +2 -3
  64. package/package.json +1 -1
@@ -35,12 +35,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
35
35
  });
36
36
  };
37
37
  var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
39
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
40
  function verb(n) { return function (v) { return step([n, v]); }; }
41
41
  function step(op) {
42
42
  if (f) throw new TypeError("Generator is already executing.");
43
- while (_) try {
43
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
44
44
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
45
  if (y = 0, t) op = [op[0] & 2, t.value];
46
46
  switch (op[0]) {
@@ -69,7 +69,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
69
69
  * @name WalletConnect
70
70
  * @author openocean
71
71
  * @date 2021/4/21
72
- * @desc
72
+ * @desc WalletConnect wallet integration using AppKit and WalletConnect v2
73
73
  */
74
74
  // @ts-ignore
75
75
  var walletconnect_svg_1 = __importDefault(require("../assets/walletconnect.svg"));
@@ -81,6 +81,16 @@ var appkit_adapter_wagmi_1 = require("@reown/appkit-adapter-wagmi");
81
81
  var helper_1 = require("../helper");
82
82
  var chains_1 = require("viem/chains");
83
83
  var helper_2 = require("../helper");
84
+ var ethereum_provider_1 = __importDefault(require("@walletconnect/ethereum-provider"));
85
+ // Constants
86
+ var DEFAULT_PROJECT_ID = 'c1ca7adc83e89c7e7848440702f28f38';
87
+ var DEFAULT_METADATA = {
88
+ name: 'OpenOcean',
89
+ description: 'OpenOcean dex',
90
+ url: 'https://app.openocean.finance',
91
+ icons: ['https://s3.openocean.finance/token_logos/logos/1666922406718_40623932820124664.png'],
92
+ };
93
+ var NETWORK_SWITCH_DELAY = 1000;
84
94
  var WalletConnect = /** @class */ (function (_super) {
85
95
  __extends(WalletConnect, _super);
86
96
  function WalletConnect() {
@@ -140,18 +150,211 @@ var WalletConnect = /** @class */ (function (_super) {
140
150
  ];
141
151
  _this.type = types_1.EnumWalletType.WalletConnect;
142
152
  _this.sdk = null;
143
- return _this;
144
- }
145
- WalletConnect.prototype.init = function (chainId, config) {
146
- var _this = this;
147
- if (chainId === void 0) { chainId = 1; }
148
- var projectId = config && config.projectId ? config.projectId : 'c1ca7adc83e89c7e7848440702f28f38'; // '90304d7fbed3543fd7cac4b24f800264'
149
- var networks = this.networks = [
153
+ _this.modal = null;
154
+ _this.modalIsClosed = true;
155
+ _this.disconnected = false;
156
+ _this.wcProvider = null;
157
+ _this.modalIsClose = true;
158
+ _this.networks = [
150
159
  chains_1.mainnet, chains_1.telos, chains_1.opBNB, chains_1.mantle, chains_1.manta, chains_1.blast, chains_1.mode, chains_1.pulsechain, chains_1.merlin, chains_1.rootstock, chains_1.sei, chains_1.arbitrumSepolia,
151
160
  chains_1.gravity, chains_1.apeChain, chains_1.harmonyOne, chains_1.metis, chains_1.kava, chains_1.celo, chains_1.klaytn, chains_1.zksync, chains_1.linea, chains_1.lineaTestnet, chains_1.polygonZkEvm,
152
161
  chains_1.arbitrum, chains_1.bsc, chains_1.polygon, chains_1.okc, chains_1.xdc, chains_1.fantom, chains_1.avalanche, chains_1.optimism, chains_1.bob, chains_1.moonriver, chains_1.aurora, chains_1.cronos, chains_1.base,
153
162
  chains_1.flare, chains_1.unichain, chains_1.monadTestnet, chains_1.swellchain, chains_1.plume, chains_1.berachain, chains_1.sonic, chains_1.gnosis, chains_1.plumeMainnet, chains_1.monad, chains_1.injective, chains_1.tac,
154
163
  ];
164
+ return _this;
165
+ }
166
+ /**
167
+ * Check if running in a wallet WebView (iOS wallet apps)
168
+ */
169
+ WalletConnect.prototype.isInWalletWebView = function () {
170
+ var ua = navigator.userAgent || '';
171
+ var isIOS = /iPhone|iPad|iPod/i.test(ua);
172
+ if (!isIOS)
173
+ return false;
174
+ var isSafari = /Safari/i.test(ua) && !/CriOS|FxiOS|EdgiOS/i.test(ua);
175
+ var isChrome = /CriOS/i.test(ua);
176
+ var isFirefox = /FxiOS/i.test(ua);
177
+ var isEdge = /EdgiOS/i.test(ua);
178
+ // If not Safari, Chrome, Firefox, or Edge, assume it's a Wallet WebView
179
+ return !(isSafari || isChrome || isFirefox || isEdge);
180
+ };
181
+ /**
182
+ * Connect via WalletConnect v2 (used in wallet WebViews like Zerion/OKX/Trust iOS)
183
+ */
184
+ WalletConnect.prototype.connectViaWalletConnectV2 = function (chainId, config) {
185
+ return __awaiter(this, void 0, void 0, function () {
186
+ var projectId, metadata, _a, address, currentChainId;
187
+ return __generator(this, function (_b) {
188
+ switch (_b.label) {
189
+ case 0:
190
+ projectId = (config === null || config === void 0 ? void 0 : config.projectId) || DEFAULT_PROJECT_ID;
191
+ metadata = (config === null || config === void 0 ? void 0 : config.metadata) || DEFAULT_METADATA;
192
+ _a = this;
193
+ return [4 /*yield*/, ethereum_provider_1.default.init({
194
+ projectId: projectId,
195
+ chains: [chainId],
196
+ optionalChains: this.networks.map(function (n) { return n.id; }),
197
+ showQrModal: true, // Required for iOS / Zerion
198
+ metadata: metadata,
199
+ })];
200
+ case 1:
201
+ _a.wcProvider = _b.sent();
202
+ return [4 /*yield*/, this.wcProvider.connect()];
203
+ case 2:
204
+ _b.sent();
205
+ this.sdk = new web3_1.default(this.wcProvider);
206
+ return [4 /*yield*/, this.sdk.eth.getAccounts()];
207
+ case 3:
208
+ address = (_b.sent())[0];
209
+ this.address = address;
210
+ return [4 /*yield*/, this.sdk.eth.getChainId()];
211
+ case 4:
212
+ currentChainId = _b.sent();
213
+ if (!(chainId && currentChainId !== chainId)) return [3 /*break*/, 8];
214
+ return [4 /*yield*/, this.switchNetworkViaWC(chainId)];
215
+ case 5:
216
+ _b.sent();
217
+ return [4 /*yield*/, (0, helper_2.sleep)(NETWORK_SWITCH_DELAY)];
218
+ case 6:
219
+ _b.sent();
220
+ return [4 /*yield*/, this.sdk.eth.getChainId()];
221
+ case 7:
222
+ // Verify chain switch
223
+ currentChainId = _b.sent();
224
+ if (currentChainId !== chainId) {
225
+ throw new Error(types_1.EnumErrors.ChainIdNotMath);
226
+ }
227
+ _b.label = 8;
228
+ case 8:
229
+ this.chainId = currentChainId;
230
+ this.disconnected = false;
231
+ return [2 /*return*/, address];
232
+ }
233
+ });
234
+ });
235
+ };
236
+ /**
237
+ * Switch network using WalletConnect provider
238
+ */
239
+ WalletConnect.prototype.switchNetworkViaWC = function (chainId) {
240
+ return __awaiter(this, void 0, void 0, function () {
241
+ var chainIdHex, switchError_1;
242
+ var _a, _b;
243
+ return __generator(this, function (_c) {
244
+ switch (_c.label) {
245
+ case 0:
246
+ if (!this.wcProvider) {
247
+ throw new Error('WalletConnect provider not initialized');
248
+ }
249
+ _c.label = 1;
250
+ case 1:
251
+ _c.trys.push([1, 3, , 7]);
252
+ chainIdHex = "0x".concat(chainId.toString(16));
253
+ return [4 /*yield*/, this.wcProvider.request({
254
+ method: 'wallet_switchEthereumChain',
255
+ params: [{ chainId: chainIdHex }],
256
+ })];
257
+ case 2:
258
+ _c.sent();
259
+ return [3 /*break*/, 7];
260
+ case 3:
261
+ switchError_1 = _c.sent();
262
+ if (!(switchError_1.code === 4902 ||
263
+ (((_b = (_a = switchError_1.data) === null || _a === void 0 ? void 0 : _a.originalError) === null || _b === void 0 ? void 0 : _b.code) === 4902))) return [3 /*break*/, 5];
264
+ // Try to add the chain
265
+ return [4 /*yield*/, this.addNetworkViaWC(chainId)];
266
+ case 4:
267
+ // Try to add the chain
268
+ _c.sent();
269
+ return [3 /*break*/, 6];
270
+ case 5: throw switchError_1;
271
+ case 6: return [3 /*break*/, 7];
272
+ case 7: return [2 /*return*/];
273
+ }
274
+ });
275
+ });
276
+ };
277
+ /**
278
+ * Add network using WalletConnect provider
279
+ */
280
+ WalletConnect.prototype.addNetworkViaWC = function (chainId) {
281
+ return __awaiter(this, void 0, void 0, function () {
282
+ var chain, chainIdHex, rpcUrls, blockExplorerUrls, explorer, nativeCurrency, error_1;
283
+ var _a, _b, _c, _d;
284
+ return __generator(this, function (_e) {
285
+ switch (_e.label) {
286
+ case 0:
287
+ if (!this.wcProvider) {
288
+ throw new Error('WalletConnect provider not initialized');
289
+ }
290
+ chain = this.networks.find(function (item) { return item.id === chainId; });
291
+ if (!chain) {
292
+ throw new Error("Chain with id ".concat(chainId, " is not supported"));
293
+ }
294
+ chainIdHex = "0x".concat(chainId.toString(16));
295
+ rpcUrls = [];
296
+ if (chain.rpcUrls) {
297
+ if (Array.isArray(chain.rpcUrls)) {
298
+ rpcUrls = chain.rpcUrls;
299
+ }
300
+ else if ((_a = chain.rpcUrls.default) === null || _a === void 0 ? void 0 : _a.http) {
301
+ rpcUrls = Array.isArray(chain.rpcUrls.default.http)
302
+ ? chain.rpcUrls.default.http
303
+ : [chain.rpcUrls.default.http];
304
+ }
305
+ else if ((_b = chain.rpcUrls.public) === null || _b === void 0 ? void 0 : _b.http) {
306
+ rpcUrls = Array.isArray(chain.rpcUrls.public.http)
307
+ ? chain.rpcUrls.public.http
308
+ : [chain.rpcUrls.public.http];
309
+ }
310
+ }
311
+ blockExplorerUrls = [];
312
+ if ((_d = (_c = chain.blockExplorers) === null || _c === void 0 ? void 0 : _c.default) === null || _d === void 0 ? void 0 : _d.url) {
313
+ blockExplorerUrls = [chain.blockExplorers.default.url];
314
+ }
315
+ else if (chain.blockExplorers && typeof chain.blockExplorers === 'object') {
316
+ explorer = Object.values(chain.blockExplorers)[0];
317
+ if (explorer === null || explorer === void 0 ? void 0 : explorer.url) {
318
+ blockExplorerUrls = [explorer.url];
319
+ }
320
+ }
321
+ nativeCurrency = chain.nativeCurrency || {
322
+ name: 'ETH',
323
+ symbol: 'ETH',
324
+ decimals: 18,
325
+ };
326
+ _e.label = 1;
327
+ case 1:
328
+ _e.trys.push([1, 3, , 4]);
329
+ return [4 /*yield*/, this.wcProvider.request({
330
+ method: 'wallet_addEthereumChain',
331
+ params: [{
332
+ chainId: chainIdHex,
333
+ chainName: chain.name,
334
+ nativeCurrency: nativeCurrency,
335
+ rpcUrls: rpcUrls.length > 0 ? rpcUrls : undefined,
336
+ blockExplorerUrls: blockExplorerUrls.length > 0 ? blockExplorerUrls : undefined,
337
+ }],
338
+ })];
339
+ case 2:
340
+ _e.sent();
341
+ return [3 /*break*/, 4];
342
+ case 3:
343
+ error_1 = _e.sent();
344
+ throw new Error("Failed to add network: ".concat((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || error_1));
345
+ case 4: return [2 /*return*/];
346
+ }
347
+ });
348
+ });
349
+ };
350
+ WalletConnect.prototype.initModal = function (chainId, config) {
351
+ var _this = this;
352
+ // Prevent duplicate initialization
353
+ if (this.modal) {
354
+ return;
355
+ }
356
+ var projectId = config && config.projectId ? config.projectId : 'c1ca7adc83e89c7e7848440702f28f38'; // '90304d7fbed3543fd7cac4b24f800264'
357
+ var networks = this.networks;
155
358
  var wagmiAdapter = new appkit_adapter_wagmi_1.WagmiAdapter({
156
359
  projectId: projectId,
157
360
  networks: networks
@@ -196,17 +399,10 @@ var WalletConnect = /** @class */ (function (_super) {
196
399
  console.log(data);
197
400
  });
198
401
  };
199
- WalletConnect.prototype.getModalClose = function () {
200
- var open = this.modal.getState().open;
201
- return this.modalIsClose || !open;
202
- };
203
402
  /**
204
- * connect metamask and get wallet address
205
- * @param chainId specific chainId,throw error when not match
206
- * @param config
403
+ * Connect via AppKit (used in browser environments)
207
404
  */
208
- WalletConnect.prototype.requestConnect = function (chainId, config) {
209
- if (chainId === void 0) { chainId = 1; }
405
+ WalletConnect.prototype.connectViaAppKit = function (chainId, config) {
210
406
  return __awaiter(this, void 0, void 0, function () {
211
407
  var provider1_1, providerType, isConnected, currentChainId_1, modalChainId, currentChainId_2, modalChainId_1, address_1, address1, _a, provider1, currentChainId, currentChainId_3, modalChainId, address, _b;
212
408
  var _this = this;
@@ -216,7 +412,7 @@ var WalletConnect = /** @class */ (function (_super) {
216
412
  this.modalIsClose = false;
217
413
  console.log('requestConnect1111-----------------');
218
414
  if (!!this.modal) return [3 /*break*/, 2];
219
- this.init(chainId, config);
415
+ this.initModal(chainId, config);
220
416
  return [4 /*yield*/, (0, helper_2.sleep)(5000)];
221
417
  case 1:
222
418
  _c.sent();
@@ -225,7 +421,6 @@ var WalletConnect = /** @class */ (function (_super) {
225
421
  if (!this.modal) return [3 /*break*/, 10];
226
422
  console.log('requestConnect222-----------------');
227
423
  provider1_1 = this.modal.getWalletProvider();
228
- console.log(provider1_1);
229
424
  providerType = this.modal.getWalletProviderType();
230
425
  console.log('providerType', providerType);
231
426
  isConnected = this.modal.getIsConnectedState();
@@ -244,7 +439,7 @@ var WalletConnect = /** @class */ (function (_super) {
244
439
  console.log(modalChainId, currentChainId_1, chainId);
245
440
  if (!(chainId && currentChainId_1 != chainId)) return [3 /*break*/, 7];
246
441
  console.log('requestConnect-----*********');
247
- return [4 /*yield*/, this.switchNetwork(+chainId)];
442
+ return [4 /*yield*/, this.switchNetworkModal(+chainId)];
248
443
  case 4:
249
444
  _c.sent();
250
445
  return [4 /*yield*/, (0, helper_2.sleep)(1000)];
@@ -302,7 +497,7 @@ var WalletConnect = /** @class */ (function (_super) {
302
497
  console.log('autoWalletCheck333-----------------');
303
498
  this.disconnected = false;
304
499
  if (!(chainId && currentChainId != chainId)) return [3 /*break*/, 17];
305
- return [4 /*yield*/, this.switchNetwork(chainId)];
500
+ return [4 /*yield*/, this.switchNetworkModal(chainId)];
306
501
  case 14:
307
502
  _c.sent();
308
503
  return [4 /*yield*/, (0, helper_2.sleep)(1000)];
@@ -333,33 +528,100 @@ var WalletConnect = /** @class */ (function (_super) {
333
528
  });
334
529
  });
335
530
  };
336
- WalletConnect.prototype.switchNetwork = function (chainId) {
531
+ WalletConnect.prototype.getModalClose = function () {
532
+ var open = this.modal.getState().open;
533
+ return this.modalIsClose || !open;
534
+ };
535
+ /**
536
+ * Connect wallet - automatically chooses WalletConnect v2 for wallet WebViews or AppKit for browsers
537
+ */
538
+ WalletConnect.prototype.requestConnect = function () {
539
+ return __awaiter(this, arguments, void 0, function (chainId, config) {
540
+ var inWallet;
541
+ if (chainId === void 0) { chainId = 1; }
542
+ return __generator(this, function (_a) {
543
+ switch (_a.label) {
544
+ case 0:
545
+ inWallet = this.isInWalletWebView();
546
+ if (!inWallet) return [3 /*break*/, 2];
547
+ return [4 /*yield*/, this.connectViaWalletConnectV2(chainId, config)];
548
+ case 1: return [2 /*return*/, _a.sent()];
549
+ case 2: return [4 /*yield*/, this.connectViaAppKit(chainId, config)];
550
+ case 3:
551
+ // Use AppKit for browser environments
552
+ return [2 /*return*/, _a.sent()];
553
+ }
554
+ });
555
+ });
556
+ };
557
+ /**
558
+ * Switch to a different network
559
+ * Supports both AppKit modal and WalletConnect v2 provider
560
+ */
561
+ WalletConnect.prototype.switchNetworkModal = function (chainId) {
337
562
  return __awaiter(this, void 0, void 0, function () {
338
- var chain;
563
+ var chain, currentChainId;
339
564
  return __generator(this, function (_a) {
340
565
  switch (_a.label) {
341
566
  case 0:
342
- chain = this.networks.find(function (item) { return item.id == chainId; });
567
+ if (!this.sdk) {
568
+ throw new Error('Wallet not connected. Please connect first.');
569
+ }
570
+ chain = this.networks.find(function (item) { return item.id === chainId; });
343
571
  if (!chain) {
344
572
  throw new Error("Chain with id ".concat(chainId, " is not supported"));
345
573
  }
574
+ if (!this.modal) return [3 /*break*/, 2];
575
+ // AppKit modal (browser environment)
346
576
  return [4 /*yield*/, this.modal.switchNetwork(chain)];
347
577
  case 1:
578
+ // AppKit modal (browser environment)
348
579
  _a.sent();
580
+ return [3 /*break*/, 3];
581
+ case 2: throw new Error('Unable to determine connection type. Please reconnect.');
582
+ case 3:
583
+ // Wait for network switch to complete
584
+ return [4 /*yield*/, (0, helper_2.sleep)(NETWORK_SWITCH_DELAY)];
585
+ case 4:
586
+ // Wait for network switch to complete
587
+ _a.sent();
588
+ return [4 /*yield*/, this.sdk.eth.getChainId()];
589
+ case 5:
590
+ currentChainId = _a.sent();
591
+ if (currentChainId !== chainId) {
592
+ throw new Error(types_1.EnumErrors.ChainIdNotMath);
593
+ }
594
+ this.chainId = currentChainId;
349
595
  return [2 /*return*/];
350
596
  }
351
597
  });
352
598
  });
353
599
  };
600
+ /**
601
+ * Disconnect wallet
602
+ */
354
603
  WalletConnect.prototype.disconnect = function () {
355
604
  return __awaiter(this, void 0, void 0, function () {
356
605
  return __generator(this, function (_a) {
357
606
  switch (_a.label) {
358
607
  case 0:
359
608
  this.disconnected = true;
360
- return [4 /*yield*/, this.modal.disconnect()];
609
+ if (!this.wcProvider) return [3 /*break*/, 2];
610
+ return [4 /*yield*/, this.wcProvider.disconnect()];
361
611
  case 1:
362
612
  _a.sent();
613
+ this.wcProvider = null;
614
+ _a.label = 2;
615
+ case 2:
616
+ if (!this.modal) return [3 /*break*/, 4];
617
+ return [4 /*yield*/, this.modal.disconnect()];
618
+ case 3:
619
+ _a.sent();
620
+ _a.label = 4;
621
+ case 4:
622
+ this.sdk = null;
623
+ this.address = undefined;
624
+ this.chainId = undefined;
363
625
  return [2 /*return*/];
364
626
  }
365
627
  });
@@ -24,12 +24,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  });
25
25
  };
26
26
  var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
28
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
29
  function verb(n) { return function (v) { return step([n, v]); }; }
30
30
  function step(op) {
31
31
  if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
33
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
34
  if (y = 0, t) op = [op[0] & 2, t.value];
35
35
  switch (op[0]) {
@@ -24,12 +24,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  });
25
25
  };
26
26
  var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
28
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
29
  function verb(n) { return function (v) { return step([n, v]); }; }
30
30
  function step(op) {
31
31
  if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
33
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
34
  if (y = 0, t) op = [op[0] & 2, t.value];
35
35
  switch (op[0]) {
@@ -17,7 +17,7 @@ var OntoWallet_1 = __importDefault(require("./OntoWallet"));
17
17
  var SafePalWallet_1 = __importDefault(require("./SafePalWallet"));
18
18
  var ImTokenWallet_1 = __importDefault(require("./ImTokenWallet"));
19
19
  var TokenPocket_1 = __importDefault(require("./TokenPocket"));
20
- var TrustWallet_1 = __importDefault(require("./TrustWallet"));
20
+ // import TrustWallet from "./TrustWallet";
21
21
  var Coin98_1 = __importDefault(require("./Coin98"));
22
22
  var Phantom_1 = __importDefault(require("./Phantom"));
23
23
  var TerraStation_1 = __importDefault(require("./TerraStation"));
@@ -71,7 +71,7 @@ var WalletObj = {
71
71
  HaHaWallet: new HaHaWallet_1.default(),
72
72
  ZerionWallet: new ZerionWallet_1.default(),
73
73
  BitgetWallet: new BitgetWallet_1.default(),
74
- TrustWallet: new TrustWallet_1.default(),
74
+ // TrustWallet: new TrustWallet(),
75
75
  ArgentX: new ArgentX_1.default(),
76
76
  Braavos: new Braavos_1.default(),
77
77
  UnstoppableDomains: new UnstoppableDomains_1.default(),
package/lib/helper.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sleep = exports.autoWalletCheck = void 0;
3
+ exports.autoWalletCheck = autoWalletCheck;
4
+ exports.sleep = sleep;
4
5
  function autoWalletCheck(check, time, count) {
5
6
  return new Promise(function (resolve) {
6
7
  var i = 0;
@@ -21,10 +22,8 @@ function autoWalletCheck(check, time, count) {
21
22
  }, time / s);
22
23
  });
23
24
  }
24
- exports.autoWalletCheck = autoWalletCheck;
25
25
  function sleep(interval) {
26
26
  return new Promise(function (resolve) {
27
27
  setTimeout(resolve, interval);
28
28
  });
29
29
  }
30
- exports.sleep = sleep;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEthereumProvider = exports.setupEip6963Listener = void 0;
3
+ exports.setupEip6963Listener = setupEip6963Listener;
4
+ exports.getEthereumProvider = getEthereumProvider;
4
5
  var targetMap = {};
5
6
  function addTarget(target) {
6
7
  targetMap[target.id] = target;
@@ -50,9 +51,7 @@ function setupEip6963Listener() {
50
51
  }, { once: false });
51
52
  window.dispatchEvent(new Event("eip6963:requestProvider"));
52
53
  }
53
- exports.setupEip6963Listener = setupEip6963Listener;
54
54
  function getEthereumProvider(id) {
55
55
  var _a;
56
56
  return (_a = targetMap[id]) === null || _a === void 0 ? void 0 : _a.provider;
57
57
  }
58
- exports.getEthereumProvider = getEthereumProvider;
package/lib/types.d.ts CHANGED
@@ -205,6 +205,6 @@ export interface ConnectResult {
205
205
  onSuccess?: () => void;
206
206
  onError?: (e: any) => void;
207
207
  }
208
- export declare type SelectConnect = () => Promise<ConnectResult>;
209
- export declare type Wallet = MetaMask | BscWallet | Cyano | TronLink;
210
- export declare type WalletType = typeof MetaMask | typeof BscWallet | typeof Cyano | typeof TronLink;
208
+ export type SelectConnect = () => Promise<ConnectResult>;
209
+ export type Wallet = MetaMask | BscWallet | Cyano | TronLink;
210
+ export type WalletType = typeof MetaMask | typeof BscWallet | typeof Cyano | typeof TronLink;
package/lib/types.js CHANGED
@@ -77,14 +77,14 @@ var EnumChains;
77
77
  EnumChains["Plasma"] = "plasma";
78
78
  EnumChains["Injective"] = "injective";
79
79
  EnumChains["Gnosis"] = "gnosis";
80
- })(EnumChains = exports.EnumChains || (exports.EnumChains = {}));
80
+ })(EnumChains || (exports.EnumChains = EnumChains = {}));
81
81
  var EnumWalletType;
82
82
  (function (EnumWalletType) {
83
83
  EnumWalletType["Extension"] = "Extension";
84
84
  EnumWalletType["WalletConnect"] = "WalletConnect";
85
85
  EnumWalletType["Web"] = "Web";
86
86
  EnumWalletType["Mobile"] = "Mobile";
87
- })(EnumWalletType = exports.EnumWalletType || (exports.EnumWalletType = {}));
87
+ })(EnumWalletType || (exports.EnumWalletType = EnumWalletType = {}));
88
88
  var EnumWalletName;
89
89
  (function (EnumWalletName) {
90
90
  EnumWalletName["NearWallet"] = "NearWallet";
@@ -145,7 +145,7 @@ var EnumWalletName;
145
145
  EnumWalletName["SuietWallet"] = "Suiet Wallet";
146
146
  EnumWalletName["BifrostWallet"] = "Bifrost Wallet";
147
147
  EnumWalletName["RainbowWallet"] = "Rainbow Wallet";
148
- })(EnumWalletName = exports.EnumWalletName || (exports.EnumWalletName = {}));
148
+ })(EnumWalletName || (exports.EnumWalletName = EnumWalletName = {}));
149
149
  var EnumErrors;
150
150
  (function (EnumErrors) {
151
151
  EnumErrors["NotMetamask"] = "40001";
@@ -201,4 +201,4 @@ var EnumErrors;
201
201
  EnumErrors["NoBifrostWallet"] = "40053";
202
202
  EnumErrors["NoRainbowWallet"] = "40054";
203
203
  EnumErrors["NoBinanceWallet"] = "40055";
204
- })(EnumErrors = exports.EnumErrors || (exports.EnumErrors = {}));
204
+ })(EnumErrors || (exports.EnumErrors = EnumErrors = {}));
package/lib/util.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPc = exports.sleep = void 0;
3
+ exports.sleep = sleep;
4
+ exports.isPc = isPc;
4
5
  function sleep(interval) {
5
6
  return new Promise(function (resolve) {
6
7
  setTimeout(resolve, interval);
7
8
  });
8
9
  }
9
- exports.sleep = sleep;
10
10
  function isPc() {
11
11
  var userAgent = navigator.userAgent, Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
12
12
  console.log('userAgent:', userAgent);
@@ -14,4 +14,3 @@ function isPc() {
14
14
  return userAgent.includes(i);
15
15
  });
16
16
  }
17
- exports.isPc = isPc;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openocean.finance/wallet",
3
- "version": "1.10.70",
3
+ "version": "1.10.72",
4
4
  "description": "A multi-chain wallets manager",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {