@meshconnect/uwc-ton-connector 0.5.2-snapshot.ff0e2d8 → 0.5.3

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.
@@ -11,6 +11,7 @@ export declare class TonConnectConnector implements Connector {
11
11
  private connectInFlight;
12
12
  private abortPendingConnect;
13
13
  private pendingConnectPromise;
14
+ private connectGeneration;
14
15
  constructor(config: TonConnectConfig);
15
16
  /** Connect to a TON wallet via HTTP Bridge (QR code / deeplink). */
16
17
  connect(network: Network, provider?: TonConnectWalletProvider): Promise<ConnectorResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"ton-connect-connector.d.ts","sourceRoot":"","sources":["../src/ton-connect-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EAExB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EAGd,MAAM,wBAAwB,CAAA;AA4B/B,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,uBAAuB,CAEhB;IACf,OAAO,CAAC,qBAAqB,CAAiD;IAC9E,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,qBAAqB,CAAwC;gBAEzD,MAAM,EAAE,gBAAgB;IAIpC,oEAAoE;IAC9D,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,wBAAwB,GAClC,OAAO,CAAC,eAAe,CAAC;YAqCb,cAAc;IAyG5B,sEAAsE;IACtE,gBAAgB,IAAI,MAAM;IAO1B,iDAAiD;IAC3C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsB1D,uDAAuD;IACjD,eAAe,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IA+B7B,qEAAqE;IAC/D,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOnE,yDAAyD;IACnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBjC,4DAA4D;IACtD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAIhB,qBAAqB;IA4EnC,OAAO,CAAC,sBAAsB;YAWhB,UAAU;IAWxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,uBAAuB;CAQhC"}
1
+ {"version":3,"file":"ton-connect-connector.d.ts","sourceRoot":"","sources":["../src/ton-connect-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EAExB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EAGd,MAAM,wBAAwB,CAAA;AA4B/B,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,uBAAuB,CAEhB;IACf,OAAO,CAAC,qBAAqB,CAAiD;IAC9E,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,qBAAqB,CAAwC;IACrE,OAAO,CAAC,iBAAiB,CAAI;gBAEjB,MAAM,EAAE,gBAAgB;IAIpC,oEAAoE;IAC9D,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,wBAAwB,GAClC,OAAO,CAAC,eAAe,CAAC;YA6Bb,cAAc;IAkG5B,sEAAsE;IACtE,gBAAgB,IAAI,MAAM;IAO1B,iDAAiD;IAC3C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsB1D,uDAAuD;IACjD,eAAe,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IA2B7B,qEAAqE;IAC/D,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOnE,yDAAyD;IACnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjC,4DAA4D;IACtD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAIhB,qBAAqB;IAuEnC,OAAO,CAAC,sBAAsB;YAWhB,UAAU;IAWxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,uBAAuB;CAQhC"}
@@ -16,6 +16,7 @@ export class TonConnectConnector {
16
16
  connectInFlight = false;
17
17
  abortPendingConnect = null;
18
18
  pendingConnectPromise = null;
19
+ connectGeneration = 0;
19
20
  constructor(config) {
20
21
  this.config = config;
21
22
  }
@@ -27,30 +28,25 @@ export class TonConnectConnector {
27
28
  if (!provider.walletListAppName) {
28
29
  throw new Error('walletListAppName is required — set it on TonConnectWalletProvider, or ensure the wallet has a jsBridgeKey in extensionInjectedProvider.tvm');
29
30
  }
30
- console.log('[UWC:TonConnect] connect() called', {
31
- connectInFlight: this.connectInFlight,
32
- hasPendingPromise: !!this.pendingConnectPromise,
33
- hasSdk: !!this.sdk,
34
- network: network.id,
35
- wallet: provider.walletListAppName
36
- });
37
31
  if (this.connectInFlight && this.pendingConnectPromise) {
38
- console.log('[UWC:TonConnect] reusing in-flight connection');
39
32
  return this.pendingConnectPromise;
40
33
  }
41
34
  if (this.sdk) {
42
- console.log('[UWC:TonConnect] cleaning up stale SDK before new connect');
43
35
  await this.disconnect();
44
36
  }
45
37
  this.connectInFlight = true;
46
- const connectExecution = this.executeConnect(network, provider);
38
+ this.connectGeneration++;
39
+ const generation = this.connectGeneration;
40
+ const connectExecution = this.executeConnect(network, provider, generation);
47
41
  this.pendingConnectPromise = connectExecution;
48
42
  return connectExecution;
49
43
  }
50
- async executeConnect(network, provider) {
51
- console.log('[UWC:TonConnect] executeConnect() starting');
44
+ async executeConnect(network, provider, generation) {
52
45
  try {
53
46
  const { TonConnect, toUserFriendlyAddress, UserRejectsError } = await import('@tonconnect/sdk');
47
+ if (this.connectGeneration !== generation) {
48
+ throw new Error('TON Connect connection was cancelled');
49
+ }
54
50
  this.toUserFriendlyAddressFn = toUserFriendlyAddress;
55
51
  this.UserRejectsErrorClass = UserRejectsError;
56
52
  const resolvedManifestUrl = typeof this.config.manifestUrl === 'function'
@@ -88,9 +84,7 @@ export class TonConnectConnector {
88
84
  if (!walletInfo) {
89
85
  throw new Error(`Wallet '${provider.walletListAppName}' not found in TonConnect wallet list, or missing bridge/universalLink`);
90
86
  }
91
- console.log('[UWC:TonConnect] waiting for wallet approval via bridge');
92
87
  const walletResult = await this.waitForWalletApproval(sdkRef, walletInfo.universalLink, walletInfo.bridgeUrl);
93
- console.log('[UWC:TonConnect] wallet approved, address:', walletResult.address.slice(0, 10) + '...');
94
88
  this.connectionURI = undefined; // URI consumed — clear before notify fires
95
89
  const friendlyAddress = this.toUserFriendlyAddressFn
96
90
  ? toFriendlyAddress(walletResult.address, this.toUserFriendlyAddressFn)
@@ -107,14 +101,11 @@ export class TonConnectConnector {
107
101
  availableAddresses
108
102
  };
109
103
  }
110
- catch (error) {
111
- console.log('[UWC:TonConnect] executeConnect() error:', error.message);
112
- throw error;
113
- }
114
104
  finally {
115
- console.log('[UWC:TonConnect] executeConnect() finished, clearing in-flight state');
116
- this.connectInFlight = false;
117
- this.pendingConnectPromise = null;
105
+ if (this.connectGeneration === generation) {
106
+ this.connectInFlight = false;
107
+ this.pendingConnectPromise = null;
108
+ }
118
109
  }
119
110
  }
120
111
  /** Return the connection URI generated by the last connect() call. */
@@ -152,12 +143,8 @@ export class TonConnectConnector {
152
143
  const tonRequest = request;
153
144
  const senderRawAddress = this.sdk.account?.address;
154
145
  const txRequest = buildTonTransactionRequest(tonRequest, senderRawAddress);
155
- console.log('[UWC:TonConnect] sendTransaction() called', {
156
- to: tonRequest.to
157
- });
158
146
  try {
159
147
  const result = await this.sdk.sendTransaction(txRequest);
160
- console.log('[UWC:TonConnect] sendTransaction() succeeded');
161
148
  const boc = unwrapBoc(result);
162
149
  return bocToHash(boc);
163
150
  }
@@ -181,11 +168,6 @@ export class TonConnectConnector {
181
168
  }
182
169
  /** Disconnect from the wallet and clean up resources. */
183
170
  async disconnect() {
184
- console.log('[UWC:TonConnect] disconnect() called', {
185
- hasSdk: !!this.sdk,
186
- connectInFlight: this.connectInFlight,
187
- hasAbort: !!this.abortPendingConnect
188
- });
189
171
  this.abortPendingConnect?.();
190
172
  this.abortPendingConnect = null;
191
173
  this.pendingConnectPromise = null;
@@ -219,7 +201,6 @@ export class TonConnectConnector {
219
201
  this.cleanupSdk(sdk);
220
202
  };
221
203
  this.abortPendingConnect = () => {
222
- console.log('[UWC:TonConnect] abortPendingConnect called, settled:', settled);
223
204
  if (settled)
224
205
  return;
225
206
  settled = true;
@@ -231,17 +212,15 @@ export class TonConnectConnector {
231
212
  if (settled)
232
213
  return;
233
214
  settled = true;
215
+ this.abortPendingConnect = null;
234
216
  cleanup();
235
217
  reject(new Error('TON wallet connection timed out'));
236
218
  }, CONNECT_TIMEOUT_MS);
237
219
  unsubscribe = sdk.onStatusChange(wallet => {
238
- console.log('[UWC:TonConnect] onStatusChange fired', {
239
- settled,
240
- hasAddress: !!wallet?.account?.address
241
- });
242
220
  if (settled)
243
221
  return;
244
222
  settled = true;
223
+ this.abortPendingConnect = null;
245
224
  if (wallet?.account?.address) {
246
225
  this.clearConnectTimeout();
247
226
  unsubscribe();
@@ -260,6 +239,7 @@ export class TonConnectConnector {
260
239
  if (settled)
261
240
  return;
262
241
  settled = true;
242
+ this.abortPendingConnect = null;
263
243
  const errorObj = error;
264
244
  const message = errorObj?.payload?.message ||
265
245
  this.extractSdkErrorMessage(error) ||
@@ -1 +1 @@
1
- {"version":3,"file":"ton-connect-connector.js","sourceRoot":"","sources":["../src/ton-connect-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ton-connect-connector.js","sourceRoot":"","sources":["../src/ton-connect-connector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-ton-connector",
3
- "version": "0.5.2-snapshot.ff0e2d8",
3
+ "version": "0.5.3",
4
4
  "description": "TON Connect connector for Universal Wallet Connector — mobile QR/URI wallet connections",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,8 +18,8 @@
18
18
  "dependencies": {
19
19
  "@ton/core": "^0.63.1",
20
20
  "@tonconnect/sdk": "^3.0.5",
21
- "@meshconnect/uwc-constants": "0.5.7-snapshot.ff0e2d8",
22
- "@meshconnect/uwc-types": "0.11.1-snapshot.ff0e2d8"
21
+ "@meshconnect/uwc-constants": "0.5.7",
22
+ "@meshconnect/uwc-types": "0.11.1"
23
23
  },
24
24
  "devDependencies": {
25
25
  "typescript": "^5.9.3"
@@ -319,6 +319,38 @@ describe('TonConnectConnector', () => {
319
319
  expect(mockDisconnect).toHaveBeenCalled()
320
320
  })
321
321
 
322
+ it('extracts last line from multiline SDK error message', async () => {
323
+ mockSdkConnect.mockReturnValue('tc://uri')
324
+ mockDisconnect.mockResolvedValue(undefined)
325
+ mockOnStatusChange.mockImplementation((_callback, errorCallback) => {
326
+ setTimeout(
327
+ () =>
328
+ errorCallback({
329
+ message: 'TonConnectError\nActual error on last line'
330
+ }),
331
+ 10
332
+ )
333
+ return vi.fn()
334
+ })
335
+
336
+ await expect(connector.connect(TON_NETWORK, PROVIDER)).rejects.toThrow(
337
+ 'Actual error on last line'
338
+ )
339
+ })
340
+
341
+ it('falls back to default message when error has no payload or message', async () => {
342
+ mockSdkConnect.mockReturnValue('tc://uri')
343
+ mockDisconnect.mockResolvedValue(undefined)
344
+ mockOnStatusChange.mockImplementation((_callback, errorCallback) => {
345
+ setTimeout(() => errorCallback({}), 10)
346
+ return vi.fn()
347
+ })
348
+
349
+ await expect(connector.connect(TON_NETWORK, PROVIDER)).rejects.toThrow(
350
+ 'TON wallet connection was rejected'
351
+ )
352
+ })
353
+
322
354
  it('times out after 5 minutes and cleans up', async () => {
323
355
  vi.useFakeTimers()
324
356
 
@@ -402,6 +434,72 @@ describe('TonConnectConnector', () => {
402
434
  )
403
435
  })
404
436
 
437
+ it('does not clear in-flight state when stale executeConnect settles after disconnect + reconnect', async () => {
438
+ // First connect starts but never settles (wallet doesn't approve)
439
+ mockOnStatusChange.mockReturnValue(vi.fn())
440
+ mockSdkConnect.mockReturnValue('tc://mock-uri')
441
+
442
+ const first = connector
443
+ .connect(TON_NETWORK, PROVIDER)
444
+ .catch((e: unknown) => e)
445
+ await new Promise(r => setTimeout(r, 0))
446
+
447
+ // Disconnect cancels first, then immediately start a second connect
448
+ await connector.disconnect()
449
+
450
+ // Second connect starts — should set its own in-flight state
451
+ simulateSuccessfulConnect()
452
+ mockDisconnect.mockResolvedValue(undefined)
453
+
454
+ const second = connector.connect(TON_NETWORK, PROVIDER)
455
+
456
+ // First connect's rejection settles — its finally block should NOT
457
+ // clear the second connect's in-flight state
458
+ await first
459
+
460
+ // Second connect should still resolve successfully
461
+ const result = await second
462
+ expect(result.address).toBeDefined()
463
+ })
464
+
465
+ it('passes walletsListSource to SDK when configured', async () => {
466
+ const customConnector = new TonConnectConnector({
467
+ manifestUrl: 'https://example.com/tonconnect-manifest.json',
468
+ walletsListSource: 'https://custom-wallets.example.com/list.json'
469
+ })
470
+ simulateSuccessfulConnect()
471
+
472
+ await customConnector.connect(TON_NETWORK, PROVIDER)
473
+
474
+ const sdkInstance = getLastSdkInstance()
475
+ expect(
476
+ (sdkInstance as unknown as { __options: { walletsListSource: string } })
477
+ .__options.walletsListSource
478
+ ).toBe('https://custom-wallets.example.com/list.json')
479
+ })
480
+
481
+ it('cancels stale executeConnect if generation changes during setup', async () => {
482
+ mockOnStatusChange.mockReturnValue(vi.fn())
483
+ mockSdkConnect.mockReturnValue('tc://mock-uri')
484
+
485
+ const first = connector
486
+ .connect(TON_NETWORK, PROVIDER)
487
+ .catch((e: unknown) => e)
488
+ await new Promise(r => setTimeout(r, 0))
489
+
490
+ // disconnect increments generation indirectly by resetting state
491
+ await connector.disconnect()
492
+
493
+ // Start new connect
494
+ simulateSuccessfulConnect()
495
+ const result = await connector.connect(TON_NETWORK, PROVIDER)
496
+ expect(result.address).toBeDefined()
497
+
498
+ // First should have been cancelled
499
+ const firstResult = await first
500
+ expect(firstResult).toBeInstanceOf(Error)
501
+ })
502
+
405
503
  it('disconnects stale session from NamespacedStorage on fresh SDK', async () => {
406
504
  setNextConnectedState(true)
407
505
  mockDisconnect.mockResolvedValue(undefined)
@@ -593,6 +691,22 @@ describe('TonConnectConnector', () => {
593
691
  expect((error as WalletConnectorError).type).toBe('rejected')
594
692
  expect((error as WalletConnectorError).message).toContain('rejected')
595
693
  })
694
+
695
+ it('rethrows non-UserRejectsError errors', async () => {
696
+ simulateSuccessfulConnect()
697
+ await connector.connect(TON_NETWORK, PROVIDER)
698
+
699
+ getLastSdkInstance().account = { address: '0:abc', chain: '-239' }
700
+ mockSendTransaction.mockRejectedValue(new Error('network timeout'))
701
+
702
+ await expect(
703
+ connector.sendTransaction!({
704
+ to: 'UQBxyz',
705
+ amount: '1000000000',
706
+ from: 'UQBabc'
707
+ })
708
+ ).rejects.toThrow('network timeout')
709
+ })
596
710
  })
597
711
 
598
712
  describe('switchNetwork', () => {
@@ -53,6 +53,7 @@ export class TonConnectConnector implements Connector {
53
53
  private connectInFlight = false
54
54
  private abortPendingConnect: (() => void) | null = null
55
55
  private pendingConnectPromise: Promise<ConnectorResult> | null = null
56
+ private connectGeneration = 0
56
57
 
57
58
  constructor(config: TonConnectConfig) {
58
59
  this.config = config
@@ -74,26 +75,18 @@ export class TonConnectConnector implements Connector {
74
75
  )
75
76
  }
76
77
 
77
- console.log('[UWC:TonConnect] connect() called', {
78
- connectInFlight: this.connectInFlight,
79
- hasPendingPromise: !!this.pendingConnectPromise,
80
- hasSdk: !!this.sdk,
81
- network: network.id,
82
- wallet: provider.walletListAppName
83
- })
84
-
85
78
  if (this.connectInFlight && this.pendingConnectPromise) {
86
- console.log('[UWC:TonConnect] reusing in-flight connection')
87
79
  return this.pendingConnectPromise
88
80
  }
89
81
 
90
82
  if (this.sdk) {
91
- console.log('[UWC:TonConnect] cleaning up stale SDK before new connect')
92
83
  await this.disconnect()
93
84
  }
94
85
  this.connectInFlight = true
86
+ this.connectGeneration++
95
87
 
96
- const connectExecution = this.executeConnect(network, provider)
88
+ const generation = this.connectGeneration
89
+ const connectExecution = this.executeConnect(network, provider, generation)
97
90
  this.pendingConnectPromise = connectExecution
98
91
 
99
92
  return connectExecution
@@ -101,12 +94,17 @@ export class TonConnectConnector implements Connector {
101
94
 
102
95
  private async executeConnect(
103
96
  network: Network,
104
- provider: TonConnectWalletProvider
97
+ provider: TonConnectWalletProvider,
98
+ generation: number
105
99
  ): Promise<ConnectorResult> {
106
- console.log('[UWC:TonConnect] executeConnect() starting')
107
100
  try {
108
101
  const { TonConnect, toUserFriendlyAddress, UserRejectsError } =
109
102
  await import('@tonconnect/sdk')
103
+
104
+ if (this.connectGeneration !== generation) {
105
+ throw new Error('TON Connect connection was cancelled')
106
+ }
107
+
110
108
  this.toUserFriendlyAddressFn = toUserFriendlyAddress
111
109
  this.UserRejectsErrorClass = UserRejectsError
112
110
 
@@ -157,16 +155,11 @@ export class TonConnectConnector implements Connector {
157
155
  )
158
156
  }
159
157
 
160
- console.log('[UWC:TonConnect] waiting for wallet approval via bridge')
161
158
  const walletResult = await this.waitForWalletApproval(
162
159
  sdkRef,
163
160
  walletInfo.universalLink,
164
161
  walletInfo.bridgeUrl
165
162
  )
166
- console.log(
167
- '[UWC:TonConnect] wallet approved, address:',
168
- walletResult.address.slice(0, 10) + '...'
169
- )
170
163
  this.connectionURI = undefined // URI consumed — clear before notify fires
171
164
 
172
165
  const friendlyAddress = this.toUserFriendlyAddressFn
@@ -189,18 +182,11 @@ export class TonConnectConnector implements Connector {
189
182
  : {}),
190
183
  availableAddresses
191
184
  }
192
- } catch (error) {
193
- console.log(
194
- '[UWC:TonConnect] executeConnect() error:',
195
- (error as Error).message
196
- )
197
- throw error
198
185
  } finally {
199
- console.log(
200
- '[UWC:TonConnect] executeConnect() finished, clearing in-flight state'
201
- )
202
- this.connectInFlight = false
203
- this.pendingConnectPromise = null
186
+ if (this.connectGeneration === generation) {
187
+ this.connectInFlight = false
188
+ this.pendingConnectPromise = null
189
+ }
204
190
  }
205
191
  }
206
192
 
@@ -247,12 +233,8 @@ export class TonConnectConnector implements Connector {
247
233
  const senderRawAddress = this.sdk.account?.address
248
234
  const txRequest = buildTonTransactionRequest(tonRequest, senderRawAddress)
249
235
 
250
- console.log('[UWC:TonConnect] sendTransaction() called', {
251
- to: tonRequest.to
252
- })
253
236
  try {
254
237
  const result = await this.sdk.sendTransaction(txRequest)
255
- console.log('[UWC:TonConnect] sendTransaction() succeeded')
256
238
  const boc = unwrapBoc(result as string | { boc: string })
257
239
  return bocToHash(boc)
258
240
  } catch (error) {
@@ -279,11 +261,6 @@ export class TonConnectConnector implements Connector {
279
261
 
280
262
  /** Disconnect from the wallet and clean up resources. */
281
263
  async disconnect(): Promise<void> {
282
- console.log('[UWC:TonConnect] disconnect() called', {
283
- hasSdk: !!this.sdk,
284
- connectInFlight: this.connectInFlight,
285
- hasAbort: !!this.abortPendingConnect
286
- })
287
264
  this.abortPendingConnect?.()
288
265
  this.abortPendingConnect = null
289
266
  this.pendingConnectPromise = null
@@ -325,10 +302,6 @@ export class TonConnectConnector implements Connector {
325
302
  }
326
303
 
327
304
  this.abortPendingConnect = () => {
328
- console.log(
329
- '[UWC:TonConnect] abortPendingConnect called, settled:',
330
- settled
331
- )
332
305
  if (settled) return
333
306
  settled = true
334
307
  this.clearConnectTimeout()
@@ -339,18 +312,16 @@ export class TonConnectConnector implements Connector {
339
312
  this.connectTimeout = setTimeout(() => {
340
313
  if (settled) return
341
314
  settled = true
315
+ this.abortPendingConnect = null
342
316
  cleanup()
343
317
  reject(new Error('TON wallet connection timed out'))
344
318
  }, CONNECT_TIMEOUT_MS)
345
319
 
346
320
  unsubscribe = sdk.onStatusChange(
347
321
  wallet => {
348
- console.log('[UWC:TonConnect] onStatusChange fired', {
349
- settled,
350
- hasAddress: !!wallet?.account?.address
351
- })
352
322
  if (settled) return
353
323
  settled = true
324
+ this.abortPendingConnect = null
354
325
  if (wallet?.account?.address) {
355
326
  this.clearConnectTimeout()
356
327
  unsubscribe()
@@ -368,6 +339,7 @@ export class TonConnectConnector implements Connector {
368
339
  error => {
369
340
  if (settled) return
370
341
  settled = true
342
+ this.abortPendingConnect = null
371
343
  const errorObj = error as TonConnectErrorEvent
372
344
  const message =
373
345
  errorObj?.payload?.message ||