@tronweb3/tronwallet-adapter-tokenpocket 1.0.9 → 1.2.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.
package/README.md CHANGED
@@ -44,6 +44,8 @@ interface TokenPocketConfig {
44
44
  /**
45
45
  * Timeout in millisecond for checking if TokenPocket wallet is supported.
46
46
  * Default is 2 * 1000ms
47
+ * Must be a finite number between 0 and 600000 (10 minutes);
48
+ * anything else throws at construction.
47
49
  */
48
50
  checkTimeout?: number;
49
51
  /**
@@ -76,6 +78,25 @@ interface TokenPocketConfig {
76
78
  };
77
79
  ```
78
80
 
81
+ ### Security Check
82
+
83
+ `TokenPocketAdapter` supports an optional `securityOptions` field for detecting wallet risks before `connect()`. When enabled, the adapter fetches a remote risk configuration and calls `onRiskDetected` if the wallet is flagged.
84
+
85
+ ```typescript
86
+ const adapter = new TokenPocketAdapter({
87
+ securityOptions: {
88
+ enabled: true,
89
+ configUrls: ['https://your-server.com/security-config.json'],
90
+ onRiskDetected: async ({ risks }) => {
91
+ // Throw to block the connection, or log a warning
92
+ throw new Error(`Wallet risk detected: ${risks[0].title}`);
93
+ },
94
+ },
95
+ });
96
+ ```
97
+
98
+ For the full `SecurityOptions` API reference, see [walletadapter.org/docs](https://walletadapter.org/docs/index.html).
99
+
79
100
  ### Caveats
80
101
 
81
102
  - TokenPocket Wallet doesn't implement `multiSign()` and `switchChain()` and will throw error when call them.
@@ -15,15 +15,24 @@ const tronwallet_adapter_tronlink_1 = require("@tronweb3/tronwallet-adapter-tron
15
15
  const utils_js_1 = require("./utils.js");
16
16
  const tronwallet_abstract_adapter_2 = require("@tronweb3/tronwallet-abstract-adapter");
17
17
  exports.TokenPocketAdapterName = 'TokenPocket';
18
- class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
18
+ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.AddonAdapter {
19
19
  constructor(config = {}) {
20
- super();
20
+ super(config);
21
21
  this.name = exports.TokenPocketAdapterName;
22
22
  this.url = 'https://tokenpocket.pro/';
23
23
  this.icon = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGc+CjxwYXRoIGQ9Ik0xMDQxLjUyIDBILTI3VjEwMjRIMTA0MS41MlYwWiIgZmlsbD0iIzI5ODBGRSIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDA4XzIyNSkiPgo8cGF0aCBkPSJNNDA2Ljc5NiA0MzguNjQzSDQwNi45MjdDNDA2Ljc5NiA0MzcuODU3IDQwNi43OTYgNDM2Ljk0IDQwNi43OTYgNDM2LjE1NFY0MzguNjQzWiIgZmlsbD0iIzI5QUVGRiIvPgo8cGF0aCBkPSJNNjY3LjYwMiA0NjMuNTMzSDUyMy4yNDlWNzI0LjA3NkM1MjMuMjQ5IDczNi4zODkgNTMzLjIwNCA3NDYuMzQ1IDU0NS41MTcgNzQ2LjM0NUg2NDUuMzMzQzY1Ny42NDcgNzQ2LjM0NSA2NjcuNjAyIDczNi4zODkgNjY3LjYwMiA3MjQuMDc2VjQ2My41MzNaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNDUzLjU2MyAyNzdINDQ4LjcxNkgxOTAuMjY5QzE3Ny45NTUgMjc3IDE2OCAyODYuOTU1IDE2OCAyOTkuMjY5VjM4OS42NTNDMTY4IDQwMS45NjcgMTc3Ljk1NSA0MTEuOTIyIDE5MC4yNjkgNDExLjkyMkgyNTAuOTE4SDI3NS4wMjFWNDM4LjY0NFY3MjQuNzMxQzI3NS4wMjEgNzM3LjA0NSAyODQuOTc2IDc0NyAyOTcuMjg5IDc0N0gzOTIuMTI4QzQwNC40NDEgNzQ3IDQxNC4zOTYgNzM3LjA0NSA0MTQuMzk2IDcyNC43MzFWNDM4LjY0NFY0MzYuMTU2VjQxMS45MjJINDM4LjQ5OUg0NDguMzIzSDQ1My4xN0M0OTAuMzcyIDQxMS45MjIgNTIwLjYzMSAzODEuNjYzIDUyMC42MzEgMzQ0LjQ2MUM1MjEuMDI0IDMwNy4yNTkgNDkwLjc2NSAyNzcgNDUzLjU2MyAyNzdaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNjY3LjczNSA0NjMuNTMzVjY0NS4zNUM2NzIuNzEzIDY0Ni41MjkgNjc3LjgyMSA2NDcuNDQ2IDY4My4wNjEgNjQ4LjIzMkM2OTAuMzk3IDY0OS4yOCA2OTcuOTk0IDY0OS45MzUgNzA1LjU5MiA2NTAuMDY2QzcwNS45ODUgNjUwLjA2NiA3MDYuMzc4IDY1MC4wNjYgNzA2LjkwMiA2NTAuMDY2VjUwNS40NUM2ODUuMDI2IDUwNC4wMDkgNjY3LjczNSA0ODUuODAxIDY2Ny43MzUgNDYzLjUzM1oiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl80MDhfMjI1KSIvPgo8cGF0aCBkPSJNNzA5Ljc4MSAyNzdDNjA2LjgyMiAyNzcgNTIzLjI0OSAzNjAuNTczIDUyMy4yNDkgNDYzLjUzM0M1MjMuMjQ5IDU1Mi4wODQgNTg0Ljk0NiA2MjYuMjI1IDY2Ny43MzMgNjQ1LjM1VjQ2My41MzNDNjY3LjczMyA0NDAuMzQ3IDY4Ni41OTYgNDIxLjQ4NCA3MDkuNzgxIDQyMS40ODRDNzMyLjk2NyA0MjEuNDg0IDc1MS44MyA0NDAuMzQ3IDc1MS44MyA0NjMuNTMzQzc1MS44MyA0ODMuMDUxIDczOC42IDQ5OS40MjUgNzIwLjUyMyA1MDQuMTRDNzE3LjExNyA1MDUuMDU3IDcxMy40NDkgNTA1LjU4MSA3MDkuNzgxIDUwNS41ODFWNjUwLjA2NkM3MTMuNDQ5IDY1MC4wNjYgNzE2Ljk4NiA2NDkuOTM1IDcyMC41MjMgNjQ5LjgwNEM4MTguNTA1IDY0NC4xNzEgODk2LjMxNCA1NjIuOTU2IDg5Ni4zMTQgNDYzLjUzM0M4OTYuNDQ1IDM2MC41NzMgODEyLjg3MiAyNzcgNzA5Ljc4MSAyNzdaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNzA5Ljc4IDY1MC4wNjZWNTA1LjU4MUM3MDguNzMzIDUwNS41ODEgNzA3LjgxNiA1MDUuNTgxIDcwNi43NjggNTA1LjQ1VjY1MC4wNjZDNzA3LjgxNiA2NTAuMDY2IDcwOC44NjQgNjUwLjA2NiA3MDkuNzggNjUwLjA2NloiIGZpbGw9IndoaXRlIi8+CjwvZz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzQwOF8yMjUiIHgxPSI3MDkuODQ0IiB5MT0iNTU2LjgyNyIgeDI9IjY2Ny43NTMiIHkyPSI1NTYuODI3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IndoaXRlIi8+CjxzdG9wIG9mZnNldD0iMC45NjY3IiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwLjMyMzMiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwLjMiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF80MDhfMjI1Ij4KPHJlY3Qgd2lkdGg9IjcyOC40NDgiIGhlaWdodD0iNDcwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTY4IDI3NykiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K';
24
24
  this._readyState = (0, tronwallet_abstract_adapter_1.isInBrowser)() ? tronwallet_abstract_adapter_1.WalletReadyState.Loading : tronwallet_abstract_adapter_1.WalletReadyState.NotFound;
25
25
  this._state = tronwallet_abstract_adapter_1.AdapterState.Loading;
26
+ /**
27
+ * Whether the most recent security check passed. Gates the auto-connect
28
+ * paths (e.g. `onAccountsChanged`) so a wallet that failed the security
29
+ * check cannot silently connect when the extension emits account events.
30
+ */
31
+ this._securityPassed = false;
26
32
  this.onAccountsChanged = (accounts) => {
33
+ // Do not auto-connect via account events when the security check has not passed.
34
+ if (!this._securityPassed)
35
+ return;
27
36
  const preAddr = this.address || '';
28
37
  const curAddr = (accounts === null || accounts === void 0 ? void 0 : accounts[0]) || '';
29
38
  if (!curAddr) {
@@ -45,11 +54,22 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
45
54
  };
46
55
  this.checkReadyInterval = null;
47
56
  this._checkPromise = null;
48
- this._updateWallet = () => {
57
+ this._updateWallet = () => __awaiter(this, void 0, void 0, function* () {
49
58
  var _a, _b, _c, _d, _e;
50
- let state = this.state;
51
- let address = this.address;
59
+ let state;
60
+ let address;
52
61
  if ((0, utils_js_1.supportTokenPocket)()) {
62
+ try {
63
+ yield this.checkSecurity();
64
+ this._securityPassed = true;
65
+ }
66
+ catch (_f) {
67
+ this._securityPassed = false;
68
+ this.stopListenTronEvent();
69
+ this.setAddress(null);
70
+ this.setState(tronwallet_abstract_adapter_1.AdapterState.Disconnect);
71
+ return;
72
+ }
53
73
  const tron = (_a = window.tokenpocket) === null || _a === void 0 ? void 0 : _a.tron;
54
74
  this._wallet = (0, tronwallet_abstract_adapter_1.isInMobileBrowser)()
55
75
  ? {
@@ -75,22 +95,18 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
75
95
  }
76
96
  this.setAddress(address);
77
97
  this.setState(state);
78
- };
79
- const { checkTimeout = 2 * 1000, openUrlWhenWalletNotFound = true, openAppWithDeeplink = true } = config;
80
- if (typeof checkTimeout !== 'number') {
81
- throw new Error('[TokenPocketAdapter] config.checkTimeout should be a number');
82
- }
83
- this.config = {
84
- checkTimeout,
85
- openAppWithDeeplink,
86
- openUrlWhenWalletNotFound,
87
- };
98
+ });
99
+ this.config = Object.assign({}, this.commonConfig);
88
100
  this._connecting = false;
89
101
  this._wallet = null;
90
102
  this._address = null;
91
103
  if ((0, tronwallet_abstract_adapter_1.isInMobileBrowser)() && (0, utils_js_1.supportTokenPocket)()) {
92
104
  this._readyState = tronwallet_abstract_adapter_1.WalletReadyState.Found;
93
- this._updateWallet();
105
+ this._updateWallet().then(() => {
106
+ if (this.connected) {
107
+ this.emit('connect', this.address || '');
108
+ }
109
+ });
94
110
  }
95
111
  else {
96
112
  this._checkWallet().then(() => {
@@ -138,45 +154,29 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
138
154
  }
139
155
  });
140
156
  }
141
- connect() {
157
+ _connect() {
142
158
  return __awaiter(this, void 0, void 0, function* () {
143
159
  try {
144
- this.checkIfOpenApp();
145
- if (this.connected || this.connecting)
160
+ if (!(yield this._beforeConnect()))
146
161
  return;
147
- yield this._checkWallet();
148
- if (this.readyState === tronwallet_abstract_adapter_1.WalletReadyState.NotFound) {
149
- if (this.config.openUrlWhenWalletNotFound !== false && (0, tronwallet_abstract_adapter_1.isInBrowser)()) {
150
- window.open(this.url, '_blank');
151
- }
152
- throw new tronwallet_abstract_adapter_1.WalletNotFoundError();
153
- }
162
+ this._securityPassed = true;
154
163
  if (!this._wallet)
155
164
  return;
156
165
  this._connecting = true;
157
166
  const wallet = this._wallet;
158
- try {
159
- const res = yield wallet.tron.request({ method: 'eth_requestAccounts' });
160
- if (!(res === null || res === void 0 ? void 0 : res[0])) {
161
- throw new tronwallet_abstract_adapter_1.WalletConnectionError('Request connect error.');
162
- }
163
- const address = res[0];
164
- this.setAddress(address);
165
- this.setState(tronwallet_abstract_adapter_1.AdapterState.Connected);
166
- this.emit('connect', this.address || '');
167
- }
168
- catch (e) {
169
- if (e instanceof tronwallet_abstract_adapter_1.WalletError) {
170
- throw e;
171
- }
172
- else {
173
- throw new tronwallet_abstract_adapter_1.WalletConnectionError(e === null || e === void 0 ? void 0 : e.message, e);
174
- }
167
+ const res = yield wallet.tron.request({ method: 'eth_requestAccounts' });
168
+ if (!(res === null || res === void 0 ? void 0 : res[0])) {
169
+ throw new tronwallet_abstract_adapter_1.WalletConnectionError('Request connect error.');
175
170
  }
171
+ const address = res[0];
172
+ this.setAddress(address);
173
+ this.setState(tronwallet_abstract_adapter_1.AdapterState.Connected);
174
+ this.emit('connect', this.address || '');
176
175
  }
177
176
  catch (error) {
178
- this.emit('error', error);
179
- throw error;
177
+ const err = error instanceof tronwallet_abstract_adapter_1.WalletError ? error : new tronwallet_abstract_adapter_1.WalletConnectionError(error === null || error === void 0 ? void 0 : error.message, error);
178
+ this.emit('error', err);
179
+ throw err;
180
180
  }
181
181
  finally {
182
182
  this._connecting = false;
@@ -188,6 +188,7 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
188
188
  if (this.state !== tronwallet_abstract_adapter_1.AdapterState.Connected) {
189
189
  return;
190
190
  }
191
+ this._securityPassed = false;
191
192
  this.setAddress(null);
192
193
  this.setState(tronwallet_abstract_adapter_1.AdapterState.Disconnect);
193
194
  this.emit('disconnect');
@@ -307,6 +308,12 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
307
308
  throw new tronwallet_abstract_adapter_1.WalletNotFoundError();
308
309
  }
309
310
  }
311
+ _openAppByDeepLinkIfNeed() {
312
+ if (this.config.openAppWithDeeplink === false) {
313
+ return false;
314
+ }
315
+ return (0, utils_js_1.openTokenPocket)();
316
+ }
310
317
  checkForWalletReady() {
311
318
  if (this.checkReadyInterval) {
312
319
  return;
@@ -353,7 +360,7 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
353
360
  return this._checkPromise;
354
361
  }
355
362
  if ((0, tronwallet_abstract_adapter_1.isInBrowser)() && !(0, tronwallet_abstract_adapter_1.isInMobileBrowser)()) {
356
- this._checkPromise = new Promise((resolve) => {
363
+ const detection = new Promise((resolve) => {
357
364
  const timer = setTimeout(() => {
358
365
  window.removeEventListener(tronwallet_abstract_adapter_2.TIP6963AnnounceProviderEventName, handler);
359
366
  this._updateWallet();
@@ -367,7 +374,7 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
367
374
  }
368
375
  this.emit('readyStateChanged', this._readyState);
369
376
  }, this.config.checkTimeout);
370
- const handler = (event) => {
377
+ const handler = (event) => __awaiter(this, void 0, void 0, function* () {
371
378
  var _a, _b, _c;
372
379
  const { info, provider } = event.detail;
373
380
  if (info.name === 'TokenPocket') {
@@ -380,6 +387,19 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
380
387
  this._readyState = tronwallet_abstract_adapter_1.WalletReadyState.Found;
381
388
  const address = ((_c = this._wallet.tronWeb.defaultAddress) === null || _c === void 0 ? void 0 : _c.base58) || null;
382
389
  const state = address ? tronwallet_abstract_adapter_1.AdapterState.Connected : tronwallet_abstract_adapter_1.AdapterState.Disconnect;
390
+ try {
391
+ yield this.checkSecurity();
392
+ this._securityPassed = true;
393
+ }
394
+ catch (_d) {
395
+ this._securityPassed = false;
396
+ this.stopListenTronEvent();
397
+ this.setAddress(null);
398
+ this.setState(tronwallet_abstract_adapter_1.AdapterState.Disconnect);
399
+ clearTimeout(timer);
400
+ resolve(true);
401
+ return;
402
+ }
383
403
  this.setState(state);
384
404
  this.setAddress(address);
385
405
  this.emit('readyStateChanged', this.readyState);
@@ -390,17 +410,27 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
390
410
  this.checkForWalletReady();
391
411
  }
392
412
  }
393
- };
413
+ });
394
414
  window.addEventListener(tronwallet_abstract_adapter_2.TIP6963AnnounceProviderEventName, handler);
395
415
  window.dispatchEvent(new Event(tronwallet_abstract_adapter_2.TIP6963RequestProviderEventName));
396
416
  });
397
- return this._checkPromise;
417
+ this._checkPromise = detection;
418
+ // Never cache a failed detection: the wallet may inject late or be enabled at
419
+ // runtime. Unlike the polling adapters this keeps the full detection window on a
420
+ // retry, because the TIP-6963 announce is asynchronous and a shortened window
421
+ // would race it.
422
+ void detection.then((found) => {
423
+ if (!found && this._checkPromise === detection) {
424
+ this._checkPromise = null;
425
+ }
426
+ });
427
+ return detection;
398
428
  }
399
429
  // Support TIP-6963 with wallet extension
400
430
  const interval = 100;
401
431
  const maxTimes = Math.floor(this.config.checkTimeout / interval);
402
432
  let times = 0, timer;
403
- this._checkPromise = new Promise((resolve) => {
433
+ const detection = new Promise((resolve) => {
404
434
  const check = () => {
405
435
  times++;
406
436
  const isSupport = (0, utils_js_1.supportTokenPocket)();
@@ -415,7 +445,17 @@ class TokenPocketAdapter extends tronwallet_abstract_adapter_1.Adapter {
415
445
  timer = setInterval(check, interval);
416
446
  check();
417
447
  });
418
- return this._checkPromise;
448
+ this._checkPromise = detection;
449
+ // Never cache a failed detection: the wallet may inject late or be enabled at
450
+ // runtime. Unlike the polling adapters this keeps the full detection window on a
451
+ // retry, because the TIP-6963 announce is asynchronous and a shortened window
452
+ // would race it.
453
+ void detection.then((found) => {
454
+ if (!found && this._checkPromise === detection) {
455
+ this._checkPromise = null;
456
+ }
457
+ });
458
+ return detection;
419
459
  }
420
460
  setAddress(address) {
421
461
  this._address = address;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -7,20 +7,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { Adapter, AdapterState, isInBrowser, WalletReadyState, WalletSignMessageError, WalletNotFoundError, WalletDisconnectedError, WalletSignTransactionError, WalletGetNetworkError, WalletConnectionError, isInMobileBrowser, WalletError, } from '@tronweb3/tronwallet-abstract-adapter';
10
+ import { AdapterState, isInBrowser, WalletReadyState, WalletSignMessageError, WalletNotFoundError, WalletDisconnectedError, WalletSignTransactionError, WalletGetNetworkError, WalletConnectionError, isInMobileBrowser, WalletError, AddonAdapter, } from '@tronweb3/tronwallet-abstract-adapter';
11
11
  import { getNetworkInfoByTronWeb } from '@tronweb3/tronwallet-adapter-tronlink';
12
12
  import { openTokenPocket, supportTokenPocket } from './utils.js';
13
13
  import { TIP6963AnnounceProviderEventName, TIP6963RequestProviderEventName, } from '@tronweb3/tronwallet-abstract-adapter';
14
14
  export const TokenPocketAdapterName = 'TokenPocket';
15
- export class TokenPocketAdapter extends Adapter {
15
+ export class TokenPocketAdapter extends AddonAdapter {
16
16
  constructor(config = {}) {
17
- super();
17
+ super(config);
18
18
  this.name = TokenPocketAdapterName;
19
19
  this.url = 'https://tokenpocket.pro/';
20
20
  this.icon = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGc+CjxwYXRoIGQ9Ik0xMDQxLjUyIDBILTI3VjEwMjRIMTA0MS41MlYwWiIgZmlsbD0iIzI5ODBGRSIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDA4XzIyNSkiPgo8cGF0aCBkPSJNNDA2Ljc5NiA0MzguNjQzSDQwNi45MjdDNDA2Ljc5NiA0MzcuODU3IDQwNi43OTYgNDM2Ljk0IDQwNi43OTYgNDM2LjE1NFY0MzguNjQzWiIgZmlsbD0iIzI5QUVGRiIvPgo8cGF0aCBkPSJNNjY3LjYwMiA0NjMuNTMzSDUyMy4yNDlWNzI0LjA3NkM1MjMuMjQ5IDczNi4zODkgNTMzLjIwNCA3NDYuMzQ1IDU0NS41MTcgNzQ2LjM0NUg2NDUuMzMzQzY1Ny42NDcgNzQ2LjM0NSA2NjcuNjAyIDczNi4zODkgNjY3LjYwMiA3MjQuMDc2VjQ2My41MzNaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNDUzLjU2MyAyNzdINDQ4LjcxNkgxOTAuMjY5QzE3Ny45NTUgMjc3IDE2OCAyODYuOTU1IDE2OCAyOTkuMjY5VjM4OS42NTNDMTY4IDQwMS45NjcgMTc3Ljk1NSA0MTEuOTIyIDE5MC4yNjkgNDExLjkyMkgyNTAuOTE4SDI3NS4wMjFWNDM4LjY0NFY3MjQuNzMxQzI3NS4wMjEgNzM3LjA0NSAyODQuOTc2IDc0NyAyOTcuMjg5IDc0N0gzOTIuMTI4QzQwNC40NDEgNzQ3IDQxNC4zOTYgNzM3LjA0NSA0MTQuMzk2IDcyNC43MzFWNDM4LjY0NFY0MzYuMTU2VjQxMS45MjJINDM4LjQ5OUg0NDguMzIzSDQ1My4xN0M0OTAuMzcyIDQxMS45MjIgNTIwLjYzMSAzODEuNjYzIDUyMC42MzEgMzQ0LjQ2MUM1MjEuMDI0IDMwNy4yNTkgNDkwLjc2NSAyNzcgNDUzLjU2MyAyNzdaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNjY3LjczNSA0NjMuNTMzVjY0NS4zNUM2NzIuNzEzIDY0Ni41MjkgNjc3LjgyMSA2NDcuNDQ2IDY4My4wNjEgNjQ4LjIzMkM2OTAuMzk3IDY0OS4yOCA2OTcuOTk0IDY0OS45MzUgNzA1LjU5MiA2NTAuMDY2QzcwNS45ODUgNjUwLjA2NiA3MDYuMzc4IDY1MC4wNjYgNzA2LjkwMiA2NTAuMDY2VjUwNS40NUM2ODUuMDI2IDUwNC4wMDkgNjY3LjczNSA0ODUuODAxIDY2Ny43MzUgNDYzLjUzM1oiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl80MDhfMjI1KSIvPgo8cGF0aCBkPSJNNzA5Ljc4MSAyNzdDNjA2LjgyMiAyNzcgNTIzLjI0OSAzNjAuNTczIDUyMy4yNDkgNDYzLjUzM0M1MjMuMjQ5IDU1Mi4wODQgNTg0Ljk0NiA2MjYuMjI1IDY2Ny43MzMgNjQ1LjM1VjQ2My41MzNDNjY3LjczMyA0NDAuMzQ3IDY4Ni41OTYgNDIxLjQ4NCA3MDkuNzgxIDQyMS40ODRDNzMyLjk2NyA0MjEuNDg0IDc1MS44MyA0NDAuMzQ3IDc1MS44MyA0NjMuNTMzQzc1MS44MyA0ODMuMDUxIDczOC42IDQ5OS40MjUgNzIwLjUyMyA1MDQuMTRDNzE3LjExNyA1MDUuMDU3IDcxMy40NDkgNTA1LjU4MSA3MDkuNzgxIDUwNS41ODFWNjUwLjA2NkM3MTMuNDQ5IDY1MC4wNjYgNzE2Ljk4NiA2NDkuOTM1IDcyMC41MjMgNjQ5LjgwNEM4MTguNTA1IDY0NC4xNzEgODk2LjMxNCA1NjIuOTU2IDg5Ni4zMTQgNDYzLjUzM0M4OTYuNDQ1IDM2MC41NzMgODEyLjg3MiAyNzcgNzA5Ljc4MSAyNzdaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNzA5Ljc4IDY1MC4wNjZWNTA1LjU4MUM3MDguNzMzIDUwNS41ODEgNzA3LjgxNiA1MDUuNTgxIDcwNi43NjggNTA1LjQ1VjY1MC4wNjZDNzA3LjgxNiA2NTAuMDY2IDcwOC44NjQgNjUwLjA2NiA3MDkuNzggNjUwLjA2NloiIGZpbGw9IndoaXRlIi8+CjwvZz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzQwOF8yMjUiIHgxPSI3MDkuODQ0IiB5MT0iNTU2LjgyNyIgeDI9IjY2Ny43NTMiIHkyPSI1NTYuODI3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IndoaXRlIi8+CjxzdG9wIG9mZnNldD0iMC45NjY3IiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwLjMyMzMiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwLjMiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF80MDhfMjI1Ij4KPHJlY3Qgd2lkdGg9IjcyOC40NDgiIGhlaWdodD0iNDcwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTY4IDI3NykiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K';
21
21
  this._readyState = isInBrowser() ? WalletReadyState.Loading : WalletReadyState.NotFound;
22
22
  this._state = AdapterState.Loading;
23
+ /**
24
+ * Whether the most recent security check passed. Gates the auto-connect
25
+ * paths (e.g. `onAccountsChanged`) so a wallet that failed the security
26
+ * check cannot silently connect when the extension emits account events.
27
+ */
28
+ this._securityPassed = false;
23
29
  this.onAccountsChanged = (accounts) => {
30
+ // Do not auto-connect via account events when the security check has not passed.
31
+ if (!this._securityPassed)
32
+ return;
24
33
  const preAddr = this.address || '';
25
34
  const curAddr = (accounts === null || accounts === void 0 ? void 0 : accounts[0]) || '';
26
35
  if (!curAddr) {
@@ -42,11 +51,22 @@ export class TokenPocketAdapter extends Adapter {
42
51
  };
43
52
  this.checkReadyInterval = null;
44
53
  this._checkPromise = null;
45
- this._updateWallet = () => {
54
+ this._updateWallet = () => __awaiter(this, void 0, void 0, function* () {
46
55
  var _a, _b, _c, _d, _e;
47
- let state = this.state;
48
- let address = this.address;
56
+ let state;
57
+ let address;
49
58
  if (supportTokenPocket()) {
59
+ try {
60
+ yield this.checkSecurity();
61
+ this._securityPassed = true;
62
+ }
63
+ catch (_f) {
64
+ this._securityPassed = false;
65
+ this.stopListenTronEvent();
66
+ this.setAddress(null);
67
+ this.setState(AdapterState.Disconnect);
68
+ return;
69
+ }
50
70
  const tron = (_a = window.tokenpocket) === null || _a === void 0 ? void 0 : _a.tron;
51
71
  this._wallet = isInMobileBrowser()
52
72
  ? {
@@ -72,22 +92,18 @@ export class TokenPocketAdapter extends Adapter {
72
92
  }
73
93
  this.setAddress(address);
74
94
  this.setState(state);
75
- };
76
- const { checkTimeout = 2 * 1000, openUrlWhenWalletNotFound = true, openAppWithDeeplink = true } = config;
77
- if (typeof checkTimeout !== 'number') {
78
- throw new Error('[TokenPocketAdapter] config.checkTimeout should be a number');
79
- }
80
- this.config = {
81
- checkTimeout,
82
- openAppWithDeeplink,
83
- openUrlWhenWalletNotFound,
84
- };
95
+ });
96
+ this.config = Object.assign({}, this.commonConfig);
85
97
  this._connecting = false;
86
98
  this._wallet = null;
87
99
  this._address = null;
88
100
  if (isInMobileBrowser() && supportTokenPocket()) {
89
101
  this._readyState = WalletReadyState.Found;
90
- this._updateWallet();
102
+ this._updateWallet().then(() => {
103
+ if (this.connected) {
104
+ this.emit('connect', this.address || '');
105
+ }
106
+ });
91
107
  }
92
108
  else {
93
109
  this._checkWallet().then(() => {
@@ -135,45 +151,29 @@ export class TokenPocketAdapter extends Adapter {
135
151
  }
136
152
  });
137
153
  }
138
- connect() {
154
+ _connect() {
139
155
  return __awaiter(this, void 0, void 0, function* () {
140
156
  try {
141
- this.checkIfOpenApp();
142
- if (this.connected || this.connecting)
157
+ if (!(yield this._beforeConnect()))
143
158
  return;
144
- yield this._checkWallet();
145
- if (this.readyState === WalletReadyState.NotFound) {
146
- if (this.config.openUrlWhenWalletNotFound !== false && isInBrowser()) {
147
- window.open(this.url, '_blank');
148
- }
149
- throw new WalletNotFoundError();
150
- }
159
+ this._securityPassed = true;
151
160
  if (!this._wallet)
152
161
  return;
153
162
  this._connecting = true;
154
163
  const wallet = this._wallet;
155
- try {
156
- const res = yield wallet.tron.request({ method: 'eth_requestAccounts' });
157
- if (!(res === null || res === void 0 ? void 0 : res[0])) {
158
- throw new WalletConnectionError('Request connect error.');
159
- }
160
- const address = res[0];
161
- this.setAddress(address);
162
- this.setState(AdapterState.Connected);
163
- this.emit('connect', this.address || '');
164
- }
165
- catch (e) {
166
- if (e instanceof WalletError) {
167
- throw e;
168
- }
169
- else {
170
- throw new WalletConnectionError(e === null || e === void 0 ? void 0 : e.message, e);
171
- }
164
+ const res = yield wallet.tron.request({ method: 'eth_requestAccounts' });
165
+ if (!(res === null || res === void 0 ? void 0 : res[0])) {
166
+ throw new WalletConnectionError('Request connect error.');
172
167
  }
168
+ const address = res[0];
169
+ this.setAddress(address);
170
+ this.setState(AdapterState.Connected);
171
+ this.emit('connect', this.address || '');
173
172
  }
174
173
  catch (error) {
175
- this.emit('error', error);
176
- throw error;
174
+ const err = error instanceof WalletError ? error : new WalletConnectionError(error === null || error === void 0 ? void 0 : error.message, error);
175
+ this.emit('error', err);
176
+ throw err;
177
177
  }
178
178
  finally {
179
179
  this._connecting = false;
@@ -185,6 +185,7 @@ export class TokenPocketAdapter extends Adapter {
185
185
  if (this.state !== AdapterState.Connected) {
186
186
  return;
187
187
  }
188
+ this._securityPassed = false;
188
189
  this.setAddress(null);
189
190
  this.setState(AdapterState.Disconnect);
190
191
  this.emit('disconnect');
@@ -304,6 +305,12 @@ export class TokenPocketAdapter extends Adapter {
304
305
  throw new WalletNotFoundError();
305
306
  }
306
307
  }
308
+ _openAppByDeepLinkIfNeed() {
309
+ if (this.config.openAppWithDeeplink === false) {
310
+ return false;
311
+ }
312
+ return openTokenPocket();
313
+ }
307
314
  checkForWalletReady() {
308
315
  if (this.checkReadyInterval) {
309
316
  return;
@@ -350,7 +357,7 @@ export class TokenPocketAdapter extends Adapter {
350
357
  return this._checkPromise;
351
358
  }
352
359
  if (isInBrowser() && !isInMobileBrowser()) {
353
- this._checkPromise = new Promise((resolve) => {
360
+ const detection = new Promise((resolve) => {
354
361
  const timer = setTimeout(() => {
355
362
  window.removeEventListener(TIP6963AnnounceProviderEventName, handler);
356
363
  this._updateWallet();
@@ -364,7 +371,7 @@ export class TokenPocketAdapter extends Adapter {
364
371
  }
365
372
  this.emit('readyStateChanged', this._readyState);
366
373
  }, this.config.checkTimeout);
367
- const handler = (event) => {
374
+ const handler = (event) => __awaiter(this, void 0, void 0, function* () {
368
375
  var _a, _b, _c;
369
376
  const { info, provider } = event.detail;
370
377
  if (info.name === 'TokenPocket') {
@@ -377,6 +384,19 @@ export class TokenPocketAdapter extends Adapter {
377
384
  this._readyState = WalletReadyState.Found;
378
385
  const address = ((_c = this._wallet.tronWeb.defaultAddress) === null || _c === void 0 ? void 0 : _c.base58) || null;
379
386
  const state = address ? AdapterState.Connected : AdapterState.Disconnect;
387
+ try {
388
+ yield this.checkSecurity();
389
+ this._securityPassed = true;
390
+ }
391
+ catch (_d) {
392
+ this._securityPassed = false;
393
+ this.stopListenTronEvent();
394
+ this.setAddress(null);
395
+ this.setState(AdapterState.Disconnect);
396
+ clearTimeout(timer);
397
+ resolve(true);
398
+ return;
399
+ }
380
400
  this.setState(state);
381
401
  this.setAddress(address);
382
402
  this.emit('readyStateChanged', this.readyState);
@@ -387,17 +407,27 @@ export class TokenPocketAdapter extends Adapter {
387
407
  this.checkForWalletReady();
388
408
  }
389
409
  }
390
- };
410
+ });
391
411
  window.addEventListener(TIP6963AnnounceProviderEventName, handler);
392
412
  window.dispatchEvent(new Event(TIP6963RequestProviderEventName));
393
413
  });
394
- return this._checkPromise;
414
+ this._checkPromise = detection;
415
+ // Never cache a failed detection: the wallet may inject late or be enabled at
416
+ // runtime. Unlike the polling adapters this keeps the full detection window on a
417
+ // retry, because the TIP-6963 announce is asynchronous and a shortened window
418
+ // would race it.
419
+ void detection.then((found) => {
420
+ if (!found && this._checkPromise === detection) {
421
+ this._checkPromise = null;
422
+ }
423
+ });
424
+ return detection;
395
425
  }
396
426
  // Support TIP-6963 with wallet extension
397
427
  const interval = 100;
398
428
  const maxTimes = Math.floor(this.config.checkTimeout / interval);
399
429
  let times = 0, timer;
400
- this._checkPromise = new Promise((resolve) => {
430
+ const detection = new Promise((resolve) => {
401
431
  const check = () => {
402
432
  times++;
403
433
  const isSupport = supportTokenPocket();
@@ -412,7 +442,17 @@ export class TokenPocketAdapter extends Adapter {
412
442
  timer = setInterval(check, interval);
413
443
  check();
414
444
  });
415
- return this._checkPromise;
445
+ this._checkPromise = detection;
446
+ // Never cache a failed detection: the wallet may inject late or be enabled at
447
+ // runtime. Unlike the polling adapters this keeps the full detection window on a
448
+ // retry, because the TIP-6963 announce is asynchronous and a shortened window
449
+ // would race it.
450
+ void detection.then((found) => {
451
+ if (!found && this._checkPromise === detection) {
452
+ this._checkPromise = null;
453
+ }
454
+ });
455
+ return detection;
416
456
  }
417
457
  setAddress(address) {
418
458
  this._address = address;