@meshconnect/uwc-injected-connector 0.10.8 → 0.11.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.
@@ -1 +1 @@
1
- {"version":3,"file":"injected-connector.d.ts","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAY/B,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,qBAAqB,CAAqC;gBAGhE,aAAa,GAAE,aAAkB,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,gBAAgB,CAAC,EAAE,gBAAgB;IA2BrC;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,GAAE,cAAc,EAAO,GACrC,OAAO,CACN,yBAAyB,EAAE,GAC3B,wBAAwB,EAAE,GAC1B,sBAAsB,EAAE,GACxB,qBAAqB,EAAE,CAC1B;IAwDD;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAyC3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,aAAa,CAAC;IAiFzB;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,iBAAiB,CAAC;IA+D7B;;;;OAIG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAQ5C"}
1
+ {"version":3,"file":"injected-connector.d.ts","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAY/B,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,qBAAqB,CAAqC;gBAGhE,aAAa,GAAE,aAAkB,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,gBAAgB,CAAC,EAAE,gBAAgB;IA8BrC;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,GAAE,cAAc,EAAO,GACrC,OAAO,CACN,yBAAyB,EAAE,GAC3B,wBAAwB,EAAE,GAC1B,sBAAsB,EAAE,GACxB,qBAAqB,EAAE,CAC1B;IAwDD;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAyC3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,aAAa,CAAC;IAiFzB;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,iBAAiB,CAAC;IA+D7B;;;;OAIG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAQ5C"}
@@ -25,7 +25,7 @@ export class InjectedConnector {
25
25
  this.ethereumService = new EthereumWalletService();
26
26
  this.solanaService = new SolanaWalletService(this.storageService);
27
27
  this.tronService = new TronWalletService();
28
- this.tonService = new TonWalletService(this.tonConnectManifestUrl);
28
+ this.tonService = new TonWalletService(this.tonConnectManifestUrl, tonConnectConfig?.onSessionRestored);
29
29
  this.connectionManager = new ConnectionManager(this.ethereumService, this.solanaService, this.tronService, this.tonService);
30
30
  this.signatureService = new SignatureService();
31
31
  this.transactionService = new TransactionService(this.networkRpcMap);
@@ -1 +1 @@
1
- {"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ton-transaction-service.d.ts","sourceRoot":"","sources":["../../../src/services/ton/ton-transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAU/B;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAuB;;IAMtC;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,wBAAwB,EACjC,GAAG,EAAE,UAAU,EACf,gBAAgB,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAC1D,OAAO,CAAC,iBAAiB,CAAC;IAc7B;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,EACf,gBAAgB,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,EAC3D,eAAe,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,aAAa,CAAC;IAezB,OAAO,CAAC,aAAa;CAUtB"}
1
+ {"version":3,"file":"ton-transaction-service.d.ts","sourceRoot":"","sources":["../../../src/services/ton/ton-transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAa/B;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAuB;;IAMtC;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,wBAAwB,EACjC,GAAG,EAAE,UAAU,EACf,gBAAgB,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAC1D,OAAO,CAAC,iBAAiB,CAAC;IAiB7B;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,EACf,gBAAgB,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,EAC3D,eAAe,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,aAAa,CAAC;IAkBzB,OAAO,CAAC,aAAa;CAetB"}
@@ -1,4 +1,5 @@
1
- import { buildSignDataPayload, executeSignData, unwrapBoc, bocToHash } from '@meshconnect/uwc-ton-connector';
1
+ import { WalletConnectorError } from '@meshconnect/uwc-types';
2
+ import { buildSignDataPayload, executeSignData, unwrapBoc, bocToHash, TON_CONNECT_INJECTED_STORAGE_PREFIX, withWalletResponseTimeout } from '@meshconnect/uwc-ton-connector';
2
3
  import { extractTonSdkErrorMessage, parseError } from '../../utils/error-utils';
3
4
  import { TonTransactionBuilder } from './ton-transaction-builder';
4
5
  /**
@@ -15,7 +16,7 @@ export class TonTransactionService {
15
16
  async sendTransaction(request, sdk, UserRejectsError) {
16
17
  try {
17
18
  const txRequest = this.builder.buildNativeTransfer(request, sdk.account?.address);
18
- const result = await sdk.sendTransaction(txRequest);
19
+ const result = await withWalletResponseTimeout(sdk.sendTransaction(txRequest), TON_CONNECT_INJECTED_STORAGE_PREFIX);
19
20
  const boc = unwrapBoc(result);
20
21
  return await bocToHash(boc);
21
22
  }
@@ -32,13 +33,18 @@ export class TonTransactionService {
32
33
  }
33
34
  try {
34
35
  const payload = buildSignDataPayload(message, payloadOverride);
35
- return await executeSignData(sdk, payload);
36
+ return await withWalletResponseTimeout(executeSignData(sdk, payload), TON_CONNECT_INJECTED_STORAGE_PREFIX);
36
37
  }
37
38
  catch (error) {
38
39
  this.toWalletError(error, UserRejectsError);
39
40
  }
40
41
  }
41
42
  toWalletError(error, UserRejectsError) {
43
+ // Already-typed connector errors (e.g. the `expired` timeout) must pass
44
+ // through — the normalization below would downgrade them.
45
+ if (error instanceof WalletConnectorError) {
46
+ throw error;
47
+ }
42
48
  const isRejected = UserRejectsError != null && error instanceof UserRejectsError;
43
49
  const message = extractTonSdkErrorMessage(error) || 'TON wallet operation failed';
44
50
  parseError({ code: isRejected ? 4001 : undefined, message });
@@ -1 +1 @@
1
- {"version":3,"file":"ton-transaction-service.js","sourceRoot":"","sources":["../../../src/services/ton/ton-transaction-service.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,SAAS,EACT,SAAS,EACV,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEjE;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAuB;IAEtC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,OAAiC,EACjC,GAAe,EACf,gBAA2D;QAE3D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAChD,OAAO,EACP,GAAG,CAAC,OAAO,EAAE,OAAO,CACrB,CAAA;YACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YACnD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YAC7B,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,GAAe,EACf,gBAA2D,EAC3D,eAAoC;QAEpC,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;YAC9D,OAAO,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,KAAc,EACd,gBAA2D;QAE3D,MAAM,UAAU,GACd,gBAAgB,IAAI,IAAI,IAAI,KAAK,YAAY,gBAAgB,CAAA;QAC/D,MAAM,OAAO,GACX,yBAAyB,CAAC,KAAK,CAAC,IAAI,6BAA6B,CAAA;QACnE,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"ton-transaction-service.js","sourceRoot":"","sources":["../../../src/services/ton/ton-transaction-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,SAAS,EACT,SAAS,EACT,mCAAmC,EACnC,yBAAyB,EAC1B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEjE;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAuB;IAEtC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,OAAiC,EACjC,GAAe,EACf,gBAA2D;QAE3D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAChD,OAAO,EACP,GAAG,CAAC,OAAO,EAAE,OAAO,CACrB,CAAA;YACD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC5C,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAC9B,mCAAmC,CACpC,CAAA;YACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YAC7B,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,GAAe,EACf,gBAA2D,EAC3D,eAAoC;QAEpC,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;YAC9D,OAAO,MAAM,yBAAyB,CACpC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,EAC7B,mCAAmC,CACpC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,KAAc,EACd,gBAA2D;QAE3D,wEAAwE;QACxE,0DAA0D;QAC1D,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC1C,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,UAAU,GACd,gBAAgB,IAAI,IAAI,IAAI,KAAK,YAAY,gBAAgB,CAAA;QAC/D,MAAM,OAAO,GACX,yBAAyB,CAAC,KAAK,CAAC,IAAI,6BAA6B,CAAA;QACnE,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9D,CAAC;CACF"}
@@ -6,10 +6,13 @@ export declare class TonWalletService {
6
6
  private connectedJsBridgeKey;
7
7
  private sdkInstance;
8
8
  private manifestUrl;
9
+ private onSessionRestored;
9
10
  private toUserFriendlyAddress;
10
11
  private UserRejectsError;
11
12
  private transactionService;
12
- constructor(manifestUrl?: string | (() => string));
13
+ private abortPendingConnect;
14
+ private connectGeneration;
15
+ constructor(manifestUrl?: string | (() => string), onSessionRestored?: () => void);
13
16
  initializeDiscovery(expectedWallets?: WalletMetadata[]): Promise<void>;
14
17
  getDetectedWallets(): DetectedTonWallet[];
15
18
  findWalletByUuid(uuid: string): DetectedTonWallet | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ton-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/ton/ton-wallet-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAK/B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAW3E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,qBAAqB,CAEd;IACf,OAAO,CAAC,gBAAgB,CAAiD;IACzE,OAAO,CAAC,kBAAkB,CAAuB;gBAErC,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC;IAK3C,mBAAmB,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E,kBAAkB,IAAI,iBAAiB,EAAE;IAIzC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;YAI/C,UAAU;IAWlB,OAAO,CACX,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoG7C,WAAW,CACf,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,aAAa,CAAC;IAanB,eAAe,CACnB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAYvB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBvD,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAMrB,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC,WAAW,IAAI,OAAO;IAItB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,mCAAmC,CACjC,eAAe,GAAE,cAAc,EAAO,GACrC,MAAM,EAAE;CAOZ"}
1
+ {"version":3,"file":"ton-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/ton/ton-wallet-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAO/B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAW3E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,qBAAqB,CAEd;IACf,OAAO,CAAC,gBAAgB,CAAiD;IACzE,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,iBAAiB,CAAI;gBAG3B,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI;IAO1B,mBAAmB,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E,kBAAkB,IAAI,iBAAiB,EAAE;IAIzC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;YAI/C,UAAU;IAWlB,OAAO,CACX,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqH7C,WAAW,CACf,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,aAAa,CAAC;IAanB,eAAe,CACnB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAYvB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBvD,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAMrB,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC,WAAW,IAAI,OAAO;IAItB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC,mCAAmC,CACjC,eAAe,GAAE,cAAc,EAAO,GACrC,MAAM,EAAE;CAOZ"}
@@ -1,4 +1,4 @@
1
- import { NamespacedStorage, toFriendlyAddress } from '@meshconnect/uwc-ton-connector';
1
+ import { NamespacedStorage, TON_CONNECT_INJECTED_STORAGE_PREFIX, toFriendlyAddress, tryRestoreInjectedSession } from '@meshconnect/uwc-ton-connector';
2
2
  import { getTonWallets } from '../../ton-discovery';
3
3
  import { extractTonSdkErrorMessage } from '../../utils/error-utils';
4
4
  import { TonTransactionService } from './ton-transaction-service';
@@ -9,11 +9,16 @@ export class TonWalletService {
9
9
  connectedJsBridgeKey = null;
10
10
  sdkInstance = null;
11
11
  manifestUrl;
12
+ onSessionRestored;
12
13
  toUserFriendlyAddress = null;
13
14
  UserRejectsError = null;
14
15
  transactionService;
15
- constructor(manifestUrl) {
16
+ // Restore preflight bookkeeping — mirrors TonConnectConnector.
17
+ abortPendingConnect = null;
18
+ connectGeneration = 0;
19
+ constructor(manifestUrl, onSessionRestored) {
16
20
  this.manifestUrl = manifestUrl;
21
+ this.onSessionRestored = onSessionRestored;
17
22
  this.transactionService = new TonTransactionService();
18
23
  }
19
24
  async initializeDiscovery(expectedWallets) {
@@ -43,28 +48,40 @@ export class TonWalletService {
43
48
  if (!resolvedManifestUrl) {
44
49
  throw new Error('TON Connect manifestUrl is required. Pass tonConnectConfig to the connector.');
45
50
  }
46
- // Clean up any existing SDK instance before creating a new one
47
- if (this.sdkInstance) {
48
- await this.cleanupSdk(this.sdkInstance);
49
- }
51
+ // Tear down any prior SDK and abort an in-flight restore before reconnecting.
52
+ await this.disconnect();
50
53
  const { TonConnect, toUserFriendlyAddress, UserRejectsError } = await import('@tonconnect/sdk');
51
54
  this.toUserFriendlyAddress = toUserFriendlyAddress;
52
55
  this.UserRejectsError = UserRejectsError;
53
- this.sdkInstance = new TonConnect({
54
- storage: new NamespacedStorage('uwc-ton-injected'),
56
+ this.connectGeneration++;
57
+ const generation = this.connectGeneration;
58
+ const sdkRef = new TonConnect({
59
+ storage: new NamespacedStorage(TON_CONNECT_INJECTED_STORAGE_PREFIX),
55
60
  manifestUrl: resolvedManifestUrl,
56
61
  analytics: { mode: 'off' }
57
62
  });
58
- if (this.sdkInstance.connected) {
59
- try {
60
- await this.sdkInstance.disconnect();
61
- }
62
- catch {
63
- /* best effort */
64
- }
63
+ this.sdkInstance = sdkRef;
64
+ // Resume an existing injected session before a fresh handshake.
65
+ const restored = await tryRestoreInjectedSession({ requestedJsBridgeKey: jsBridgeKey, sdk: sdkRef, generation }, {
66
+ getCurrentGeneration: () => this.connectGeneration,
67
+ setAbortHook: fn => {
68
+ this.abortPendingConnect = fn;
69
+ },
70
+ toUserFriendlyAddressFn: this.toUserFriendlyAddress,
71
+ ...(this.onSessionRestored
72
+ ? { onSessionRestored: this.onSessionRestored }
73
+ : {})
74
+ }).catch(async (error) => {
75
+ await this.cleanupSdk(sdkRef);
76
+ throw error;
77
+ });
78
+ if (restored) {
79
+ this.connectedAddress = restored.address;
80
+ this.connectedJsBridgeKey = jsBridgeKey;
81
+ return restored;
65
82
  }
83
+ // No prior session — fresh handshake (preflight cleaned any stale state).
66
84
  // Listen BEFORE connect — sdk.connect() is fire-and-forget
67
- const sdkRef = this.sdkInstance;
68
85
  const walletPromise = new Promise((resolve, reject) => {
69
86
  let settled = false;
70
87
  const timeout = setTimeout(async () => {
@@ -168,6 +185,11 @@ export class TonWalletService {
168
185
  this.connectedAddress = address;
169
186
  }
170
187
  async disconnect() {
188
+ // Advancing the generation cancels an in-flight restore still parked in its
189
+ // pre-hook storage read, where the abort hook isn't registered yet.
190
+ this.connectGeneration++;
191
+ this.abortPendingConnect?.();
192
+ this.abortPendingConnect = null;
171
193
  if (this.sdkInstance) {
172
194
  try {
173
195
  await this.sdkInstance.disconnect();
@@ -1 +1 @@
1
- {"version":3,"file":"ton-wallet-service.js","sourceRoot":"","sources":["../../../src/services/ton/ton-wallet-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ton-wallet-service.js","sourceRoot":"","sources":["../../../src/services/ton/ton-wallet-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-utils.d.ts","sourceRoot":"","sources":["../../src/utils/error-utils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkBhE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAwDhD"}
1
+ {"version":3,"file":"error-utils.d.ts","sourceRoot":"","sources":["../../src/utils/error-utils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkBhE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CA8DhD"}
@@ -26,6 +26,11 @@ export function extractTonSdkErrorMessage(error) {
26
26
  * Detects if the error is a user rejection or an unknown error
27
27
  */
28
28
  export function parseError(error) {
29
+ // Already-typed connector errors (e.g. the `expired` timeout) must pass
30
+ // through — re-deriving the type here would downgrade them to 'unknown'.
31
+ if (error instanceof WalletConnectorError) {
32
+ throw error;
33
+ }
29
34
  let message;
30
35
  let isRejected = false;
31
36
  // Handle different error formats
@@ -1 +1 @@
1
- {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/utils/error-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,GAAG,GACP,KAAK,YAAY,KAAK;QACpB,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,KAAK;YACH,OAAO,KAAK,KAAK,QAAQ;YACzB,SAAS,IAAI,KAAK;YAClB,OAAQ,KAA8B,CAAC,OAAO,KAAK,QAAQ;YAC7D,CAAC,CAAE,KAA6B,CAAC,OAAO;YACxC,CAAC,CAAC,EAAE,CAAA;IAEV,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IAEnB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;IACtC,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAe,CAAA;IACnB,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,iCAAiC;IACjC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,KAAY,CAAA;QAE7B,gCAAgC;QAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAClE,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC5B,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACnC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,iBAAiB,GAAG;YACxB,eAAe;YACf,aAAa;YACb,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,gBAAgB;YAChB,mBAAmB;YACnB,kBAAkB;YAClB,kBAAkB;YAClB,eAAe;YACf,iBAAiB;YACjB,gBAAgB;YAChB,cAAc;SACf,CAAA;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAC1C,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC5C,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC7C,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAgB;QAC/B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACzC,OAAO;KACR,CAAA;IAED,MAAM,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/utils/error-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,GAAG,GACP,KAAK,YAAY,KAAK;QACpB,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,KAAK;YACH,OAAO,KAAK,KAAK,QAAQ;YACzB,SAAS,IAAI,KAAK;YAClB,OAAQ,KAA8B,CAAC,OAAO,KAAK,QAAQ;YAC7D,CAAC,CAAE,KAA6B,CAAC,OAAO;YACxC,CAAC,CAAC,EAAE,CAAA;IAEV,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IAEnB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;IACtC,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,CAAA;IACb,CAAC;IAED,IAAI,OAAe,CAAA;IACnB,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,iCAAiC;IACjC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,KAAY,CAAA;QAE7B,gCAAgC;QAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAClE,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC5B,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACnC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,iBAAiB,GAAG;YACxB,eAAe;YACf,aAAa;YACb,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,gBAAgB;YAChB,mBAAmB;YACnB,kBAAkB;YAClB,kBAAkB;YAClB,eAAe;YACf,iBAAiB;YACjB,gBAAgB;YAChB,cAAc;SACf,CAAA;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAC1C,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC5C,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC7C,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAgB;QAC/B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACzC,OAAO;KACR,CAAA;IAED,MAAM,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAA;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-injected-connector",
3
- "version": "0.10.8",
3
+ "version": "0.11.0",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,9 +28,9 @@
28
28
  "uuid": "^13.0.0",
29
29
  "viem": "^2.44.4",
30
30
  "@meshconnect/uwc-bridge-child": "0.2.1",
31
- "@meshconnect/uwc-constants": "0.6.1",
32
- "@meshconnect/uwc-ton-connector": "0.5.5",
33
- "@meshconnect/uwc-types": "0.12.1"
31
+ "@meshconnect/uwc-constants": "0.6.2",
32
+ "@meshconnect/uwc-ton-connector": "0.6.0",
33
+ "@meshconnect/uwc-types": "0.13.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "typescript": "^5.9.3"
@@ -55,7 +55,10 @@ export class InjectedConnector implements Connector {
55
55
  this.ethereumService = new EthereumWalletService()
56
56
  this.solanaService = new SolanaWalletService(this.storageService)
57
57
  this.tronService = new TronWalletService()
58
- this.tonService = new TonWalletService(this.tonConnectManifestUrl)
58
+ this.tonService = new TonWalletService(
59
+ this.tonConnectManifestUrl,
60
+ tonConnectConfig?.onSessionRestored
61
+ )
59
62
  this.connectionManager = new ConnectionManager(
60
63
  this.ethereumService,
61
64
  this.solanaService,
@@ -5,11 +5,14 @@ import type {
5
5
  SignatureType,
6
6
  TonSignDataPayload
7
7
  } from '@meshconnect/uwc-types'
8
+ import { WalletConnectorError } from '@meshconnect/uwc-types'
8
9
  import {
9
10
  buildSignDataPayload,
10
11
  executeSignData,
11
12
  unwrapBoc,
12
- bocToHash
13
+ bocToHash,
14
+ TON_CONNECT_INJECTED_STORAGE_PREFIX,
15
+ withWalletResponseTimeout
13
16
  } from '@meshconnect/uwc-ton-connector'
14
17
  import { extractTonSdkErrorMessage, parseError } from '../../utils/error-utils'
15
18
  import { TonTransactionBuilder } from './ton-transaction-builder'
@@ -37,7 +40,10 @@ export class TonTransactionService {
37
40
  request,
38
41
  sdk.account?.address
39
42
  )
40
- const result = await sdk.sendTransaction(txRequest)
43
+ const result = await withWalletResponseTimeout(
44
+ sdk.sendTransaction(txRequest),
45
+ TON_CONNECT_INJECTED_STORAGE_PREFIX
46
+ )
41
47
  const boc = unwrapBoc(result)
42
48
  return await bocToHash(boc)
43
49
  } catch (error) {
@@ -62,7 +68,10 @@ export class TonTransactionService {
62
68
 
63
69
  try {
64
70
  const payload = buildSignDataPayload(message, payloadOverride)
65
- return await executeSignData(sdk, payload)
71
+ return await withWalletResponseTimeout(
72
+ executeSignData(sdk, payload),
73
+ TON_CONNECT_INJECTED_STORAGE_PREFIX
74
+ )
66
75
  } catch (error) {
67
76
  this.toWalletError(error, UserRejectsError)
68
77
  }
@@ -72,6 +81,11 @@ export class TonTransactionService {
72
81
  error: unknown,
73
82
  UserRejectsError?: (new (...args: never[]) => Error) | null
74
83
  ): never {
84
+ // Already-typed connector errors (e.g. the `expired` timeout) must pass
85
+ // through — the normalization below would downgrade them.
86
+ if (error instanceof WalletConnectorError) {
87
+ throw error
88
+ }
75
89
  const isRejected =
76
90
  UserRejectsError != null && error instanceof UserRejectsError
77
91
  const message =
@@ -1,9 +1,10 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest'
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
2
2
 
3
3
  const {
4
4
  mockConnect,
5
5
  mockDisconnect,
6
6
  mockOnStatusChange,
7
+ mockRestoreConnection,
7
8
  mockSendTransaction,
8
9
  mockSignData,
9
10
  MockTonConnect,
@@ -13,6 +14,7 @@ const {
13
14
  const mockConnect = vi.fn()
14
15
  const mockDisconnect = vi.fn()
15
16
  const mockOnStatusChange = vi.fn()
17
+ const mockRestoreConnection = vi.fn()
16
18
  const mockSendTransaction = vi.fn()
17
19
  const mockSignData = vi.fn()
18
20
 
@@ -32,6 +34,7 @@ const {
32
34
  connect = mockConnect
33
35
  disconnect = mockDisconnect
34
36
  onStatusChange = mockOnStatusChange
37
+ restoreConnection = mockRestoreConnection
35
38
  sendTransaction = mockSendTransaction
36
39
  signData = mockSignData
37
40
  __options: any
@@ -45,6 +48,7 @@ const {
45
48
  mockConnect,
46
49
  mockDisconnect,
47
50
  mockOnStatusChange,
51
+ mockRestoreConnection,
48
52
  mockSendTransaction,
49
53
  mockSignData,
50
54
  MockTonConnect,
@@ -71,6 +75,10 @@ vi.mock('@meshconnect/uwc-ton-connector', async () => {
71
75
  })
72
76
 
73
77
  import { TonWalletService } from './ton-wallet-service'
78
+ import {
79
+ WALLET_RESPONSE_TIMEOUT_MS,
80
+ NamespacedStorage
81
+ } from '@meshconnect/uwc-ton-connector'
74
82
 
75
83
  async function connectService(
76
84
  svc: TonWalletService
@@ -91,9 +99,18 @@ describe('TonWalletService', () => {
91
99
 
92
100
  beforeEach(() => {
93
101
  vi.clearAllMocks()
102
+ localStorage.clear()
103
+ // Default: restoreConnection is a no-op resolve. Individual tests can
104
+ // override to simulate a wallet that emits a wallet on restore.
105
+ mockRestoreConnection.mockResolvedValue(undefined)
94
106
  service = new TonWalletService('https://example.com/manifest.json')
95
107
  })
96
108
 
109
+ afterEach(() => {
110
+ // Some tests switch to fake timers; never let that leak into the next test.
111
+ vi.useRealTimers()
112
+ })
113
+
97
114
  describe('connect', () => {
98
115
  it('sets up onStatusChange listener before calling sdk.connect', async () => {
99
116
  const callOrder: string[] = []
@@ -270,9 +287,87 @@ describe('TonWalletService', () => {
270
287
  expect(mockDisconnect).toHaveBeenCalled()
271
288
  })
272
289
 
273
- it('disconnects if SDK reports already connected from storage', async () => {
274
- MockTonConnect.startConnected = true
275
- mockDisconnect.mockResolvedValue(undefined)
290
+ it('invokes onSessionRestored when restoration succeeds', async () => {
291
+ localStorage.setItem(
292
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection',
293
+ JSON.stringify({
294
+ type: 'injected',
295
+ jsBridgeKey: 'tonkeeper',
296
+ nextRpcRequestId: 0
297
+ })
298
+ )
299
+ mockRestoreConnection.mockResolvedValue(undefined)
300
+ mockOnStatusChange.mockImplementation(callback => {
301
+ queueMicrotask(() => callback({ account: { address: '0:abc' } }))
302
+ return vi.fn()
303
+ })
304
+
305
+ const onSessionRestored = vi.fn()
306
+ const restoringService = new TonWalletService(
307
+ 'https://example.com/manifest.json',
308
+ onSessionRestored
309
+ )
310
+ await restoringService.connect('tonkeeper')
311
+
312
+ expect(onSessionRestored).toHaveBeenCalledTimes(1)
313
+ })
314
+
315
+ it('does not invoke onSessionRestored on a fresh handshake', async () => {
316
+ const onSessionRestored = vi.fn()
317
+ const freshService = new TonWalletService(
318
+ 'https://example.com/manifest.json',
319
+ onSessionRestored
320
+ )
321
+ mockOnStatusChange.mockImplementation(callback => {
322
+ setTimeout(() => {
323
+ callback({ account: { address: 'UQBfresh' } })
324
+ }, 10)
325
+ return vi.fn()
326
+ })
327
+ mockConnect.mockResolvedValue(undefined)
328
+
329
+ await freshService.connect('tonkeeper')
330
+
331
+ expect(onSessionRestored).not.toHaveBeenCalled()
332
+ })
333
+
334
+ it('restores from storage without prompting when an injected session matches the requested jsBridgeKey', async () => {
335
+ // Seed a prior injected session in the same namespace the service uses.
336
+ localStorage.setItem(
337
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection',
338
+ JSON.stringify({
339
+ type: 'injected',
340
+ jsBridgeKey: 'tonkeeper',
341
+ nextRpcRequestId: 0
342
+ })
343
+ )
344
+ mockRestoreConnection.mockImplementation(() => Promise.resolve())
345
+ mockOnStatusChange.mockImplementation(callback => {
346
+ queueMicrotask(() =>
347
+ callback({ account: { address: '0:restoredHex' } })
348
+ )
349
+ return vi.fn()
350
+ })
351
+
352
+ const result = await service.connect('tonkeeper')
353
+
354
+ expect(result.address).toBe('UQ_converted_restored')
355
+ expect(mockRestoreConnection).toHaveBeenCalledTimes(1)
356
+ // Fresh handshake must NOT run when restore succeeds.
357
+ expect(mockConnect).not.toHaveBeenCalled()
358
+ })
359
+
360
+ it('falls through to fresh connect when stored session targets a different wallet', async () => {
361
+ const storageKey =
362
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection'
363
+ localStorage.setItem(
364
+ storageKey,
365
+ JSON.stringify({
366
+ type: 'injected',
367
+ jsBridgeKey: 'mytonwallet',
368
+ nextRpcRequestId: 0
369
+ })
370
+ )
276
371
 
277
372
  mockOnStatusChange.mockImplementation(callback => {
278
373
  setTimeout(() => {
@@ -283,10 +378,14 @@ describe('TonWalletService', () => {
283
378
  mockConnect.mockResolvedValue(undefined)
284
379
 
285
380
  const result = await service.connect('tonkeeper')
286
- expect(result.address).toBe('UQBfresh')
287
- expect(mockDisconnect).toHaveBeenCalled()
288
381
 
289
- MockTonConnect.startConnected = false
382
+ expect(result.address).toBe('UQBfresh')
383
+ // Preflight wipes the stale session (directly, without calling
384
+ // sdk.disconnect — which would throw on a fresh SDK) and the fresh
385
+ // handshake runs.
386
+ expect(localStorage.getItem(storageKey)).toBeNull()
387
+ expect(mockDisconnect).not.toHaveBeenCalled()
388
+ expect(mockConnect).toHaveBeenCalled()
290
389
  })
291
390
 
292
391
  it('ignores late timeout after successful connection (settled guard)', async () => {
@@ -363,6 +462,117 @@ describe('TonWalletService', () => {
363
462
 
364
463
  vi.useRealTimers()
365
464
  })
465
+
466
+ it('cleans up the freshly-created SDK and rethrows when the restore preflight throws', async () => {
467
+ const tonConnector = await import('@meshconnect/uwc-ton-connector')
468
+ const spy = vi
469
+ .spyOn(tonConnector, 'tryRestoreInjectedSession')
470
+ .mockRejectedValue(new Error('TON Connect connection was cancelled'))
471
+ mockDisconnect.mockResolvedValue(undefined)
472
+
473
+ await expect(service.connect('tonkeeper')).rejects.toThrow('cancelled')
474
+ // The SDK created for this connect must not be orphaned on a restore throw.
475
+ expect(mockDisconnect).toHaveBeenCalled()
476
+ expect(service.getAccount()).toBeNull()
477
+
478
+ spy.mockRestore()
479
+ })
480
+
481
+ it('aborts an in-flight restore when a newer connect starts, so the first connect rejects instead of lingering', async () => {
482
+ // Seed a restorable session so connect #1 enters the restore preflight.
483
+ localStorage.setItem(
484
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection',
485
+ JSON.stringify({
486
+ type: 'injected',
487
+ jsBridgeKey: 'tonkeeper',
488
+ nextRpcRequestId: 0
489
+ })
490
+ )
491
+
492
+ // Restore parks: the wallet never emits and restoreConnection never
493
+ // settles, so connect #1 sits in awaitRestoredAccount. That hook is
494
+ // registered immediately before onStatusChange subscribes, so the
495
+ // subscription is a deterministic "connect #1 is parked" signal —
496
+ // no wall-clock sleep.
497
+ let resolveSubscribed: () => void = () => undefined
498
+ const subscribed = new Promise<void>(resolve => {
499
+ resolveSubscribed = resolve
500
+ })
501
+ mockRestoreConnection.mockReturnValue(new Promise<void>(() => undefined))
502
+ mockOnStatusChange.mockImplementation(() => {
503
+ resolveSubscribed()
504
+ return vi.fn()
505
+ })
506
+
507
+ const connect1 = service.connect('tonkeeper')
508
+ const settled1 = connect1.catch((e: Error) => e)
509
+ await subscribed
510
+
511
+ // A second connect must abort the first BEFORE tearing down its SDK.
512
+ const connect2 = service.connect('tonkeeper')
513
+ connect2.catch(() => undefined)
514
+
515
+ const result1 = await settled1
516
+ expect(result1).toBeInstanceOf(Error)
517
+ expect((result1 as Error).message).toContain('cancelled')
518
+ })
519
+
520
+ it('cancels an in-flight connect when disconnect() lands during the restore storage read', async () => {
521
+ // Seed a restorable session so, absent cancellation, the restore SUCCEEDS
522
+ // — a clean, fast contrast to the cancelled rejection.
523
+ localStorage.setItem(
524
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection',
525
+ JSON.stringify({
526
+ type: 'injected',
527
+ jsBridgeKey: 'tonkeeper',
528
+ nextRpcRequestId: 0
529
+ })
530
+ )
531
+ // Restore parks on restoreConnection; the wallet emits via onStatusChange.
532
+ mockRestoreConnection.mockReturnValue(new Promise<void>(() => undefined))
533
+ mockOnStatusChange.mockImplementation(cb => {
534
+ setTimeout(() => cb({ account: { address: 'UQBrestored' } }), 0)
535
+ return vi.fn()
536
+ })
537
+ mockDisconnect.mockResolvedValue(undefined)
538
+
539
+ // Park the first storage read (the bridge-connection getItem) so
540
+ // disconnect() runs in the window BEFORE awaitRestoredAccount registers
541
+ // the abort hook — the pre-registration gap from Copilot's #151 review.
542
+ // disconnect() must advance the generation to cancel here.
543
+ let releaseRead: (value: string | null) => void = () => undefined
544
+ let signalEntered: () => void = () => undefined
545
+ const readEntered = new Promise<void>(resolve => {
546
+ signalEntered = resolve
547
+ })
548
+ const getItemSpy = vi
549
+ .spyOn(NamespacedStorage.prototype, 'getItem')
550
+ .mockImplementationOnce(
551
+ () =>
552
+ new Promise<string | null>(resolve => {
553
+ signalEntered()
554
+ releaseRead = resolve
555
+ })
556
+ )
557
+
558
+ const connectP = service.connect('tonkeeper').catch((e: Error) => e)
559
+ await readEntered
560
+
561
+ await service.disconnect()
562
+ releaseRead(
563
+ JSON.stringify({
564
+ type: 'injected',
565
+ jsBridgeKey: 'tonkeeper',
566
+ nextRpcRequestId: 0
567
+ })
568
+ )
569
+
570
+ const result = await connectP
571
+ expect(result).toBeInstanceOf(Error)
572
+ expect((result as Error).message).toContain('cancelled')
573
+
574
+ getItemSpy.mockRestore()
575
+ })
366
576
  })
367
577
 
368
578
  describe('sendTransaction', () => {
@@ -389,6 +599,32 @@ describe('TonWalletService', () => {
389
599
  expect(mockSendTransaction).toHaveBeenCalled()
390
600
  expect(result).toBe('hash_of_te6cckEBAQEA...')
391
601
  })
602
+
603
+ it('throws expired and clears the session when the wallet never responds', async () => {
604
+ await connectService(service)
605
+ const storageKey =
606
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection'
607
+ localStorage.setItem(storageKey, '{"type":"injected"}')
608
+
609
+ // Session evicted mid-flight — the bridge request never resolves.
610
+ mockSendTransaction.mockReturnValue(new Promise<never>(() => undefined))
611
+
612
+ vi.useFakeTimers()
613
+ const captured = service
614
+ .sendTransaction({
615
+ to: 'UQBxyz',
616
+ amount: '1000000000',
617
+ from: 'UQBabc'
618
+ })
619
+ .catch((e: unknown) => e)
620
+ await vi.advanceTimersByTimeAsync(WALLET_RESPONSE_TIMEOUT_MS)
621
+ const error = (await captured) as { name?: string; type?: string }
622
+ vi.useRealTimers()
623
+
624
+ expect(error.name).toBe('WalletConnectorError')
625
+ expect(error.type).toBe('expired')
626
+ expect(localStorage.getItem(storageKey)).toBeNull()
627
+ })
392
628
  })
393
629
 
394
630
  describe('signMessage', () => {
@@ -10,7 +10,9 @@ import type {
10
10
  } from '@meshconnect/uwc-types'
11
11
  import {
12
12
  NamespacedStorage,
13
- toFriendlyAddress
13
+ TON_CONNECT_INJECTED_STORAGE_PREFIX,
14
+ toFriendlyAddress,
15
+ tryRestoreInjectedSession
14
16
  } from '@meshconnect/uwc-ton-connector'
15
17
  import { getTonWallets, type DetectedTonWallet } from '../../ton-discovery'
16
18
  import { extractTonSdkErrorMessage } from '../../utils/error-utils'
@@ -29,14 +31,22 @@ export class TonWalletService {
29
31
  private connectedJsBridgeKey: string | null = null
30
32
  private sdkInstance: TonConnect | null = null
31
33
  private manifestUrl: string | (() => string) | undefined
34
+ private onSessionRestored: (() => void) | undefined
32
35
  private toUserFriendlyAddress:
33
36
  | ((hex: string, testOnly?: boolean) => string)
34
37
  | null = null
35
38
  private UserRejectsError: (new (...args: never[]) => Error) | null = null
36
39
  private transactionService: TonTransactionService
40
+ // Restore preflight bookkeeping — mirrors TonConnectConnector.
41
+ private abortPendingConnect: (() => void) | null = null
42
+ private connectGeneration = 0
37
43
 
38
- constructor(manifestUrl?: string | (() => string)) {
44
+ constructor(
45
+ manifestUrl?: string | (() => string),
46
+ onSessionRestored?: () => void
47
+ ) {
39
48
  this.manifestUrl = manifestUrl
49
+ this.onSessionRestored = onSessionRestored
40
50
  this.transactionService = new TonTransactionService()
41
51
  }
42
52
 
@@ -75,32 +85,49 @@ export class TonWalletService {
75
85
  'TON Connect manifestUrl is required. Pass tonConnectConfig to the connector.'
76
86
  )
77
87
  }
78
- // Clean up any existing SDK instance before creating a new one
79
- if (this.sdkInstance) {
80
- await this.cleanupSdk(this.sdkInstance)
81
- }
88
+ // Tear down any prior SDK and abort an in-flight restore before reconnecting.
89
+ await this.disconnect()
82
90
 
83
91
  const { TonConnect, toUserFriendlyAddress, UserRejectsError } =
84
92
  await import('@tonconnect/sdk')
85
93
  this.toUserFriendlyAddress = toUserFriendlyAddress
86
94
  this.UserRejectsError = UserRejectsError
87
95
 
88
- this.sdkInstance = new TonConnect({
89
- storage: new NamespacedStorage('uwc-ton-injected'),
96
+ this.connectGeneration++
97
+ const generation = this.connectGeneration
98
+
99
+ const sdkRef = new TonConnect({
100
+ storage: new NamespacedStorage(TON_CONNECT_INJECTED_STORAGE_PREFIX),
90
101
  manifestUrl: resolvedManifestUrl,
91
102
  analytics: { mode: 'off' }
92
103
  })
104
+ this.sdkInstance = sdkRef
93
105
 
94
- if (this.sdkInstance.connected) {
95
- try {
96
- await this.sdkInstance.disconnect()
97
- } catch {
98
- /* best effort */
106
+ // Resume an existing injected session before a fresh handshake.
107
+ const restored = await tryRestoreInjectedSession(
108
+ { requestedJsBridgeKey: jsBridgeKey, sdk: sdkRef, generation },
109
+ {
110
+ getCurrentGeneration: () => this.connectGeneration,
111
+ setAbortHook: fn => {
112
+ this.abortPendingConnect = fn
113
+ },
114
+ toUserFriendlyAddressFn: this.toUserFriendlyAddress,
115
+ ...(this.onSessionRestored
116
+ ? { onSessionRestored: this.onSessionRestored }
117
+ : {})
99
118
  }
119
+ ).catch(async error => {
120
+ await this.cleanupSdk(sdkRef)
121
+ throw error
122
+ })
123
+ if (restored) {
124
+ this.connectedAddress = restored.address
125
+ this.connectedJsBridgeKey = jsBridgeKey
126
+ return restored
100
127
  }
101
128
 
129
+ // No prior session — fresh handshake (preflight cleaned any stale state).
102
130
  // Listen BEFORE connect — sdk.connect() is fire-and-forget
103
- const sdkRef = this.sdkInstance
104
131
  const walletPromise = new Promise<{ address: string; publicKey?: string }>(
105
132
  (resolve, reject) => {
106
133
  let settled = false
@@ -237,6 +264,11 @@ export class TonWalletService {
237
264
  }
238
265
 
239
266
  async disconnect(): Promise<void> {
267
+ // Advancing the generation cancels an in-flight restore still parked in its
268
+ // pre-hook storage read, where the abort hook isn't registered yet.
269
+ this.connectGeneration++
270
+ this.abortPendingConnect?.()
271
+ this.abortPendingConnect = null
240
272
  if (this.sdkInstance) {
241
273
  try {
242
274
  await this.sdkInstance.disconnect()
@@ -31,6 +31,12 @@ export function extractTonSdkErrorMessage(error: unknown): string {
31
31
  * Detects if the error is a user rejection or an unknown error
32
32
  */
33
33
  export function parseError(error: unknown): never {
34
+ // Already-typed connector errors (e.g. the `expired` timeout) must pass
35
+ // through — re-deriving the type here would downgrade them to 'unknown'.
36
+ if (error instanceof WalletConnectorError) {
37
+ throw error
38
+ }
39
+
34
40
  let message: string
35
41
  let isRejected = false
36
42