@meshconnect/uwc-injected-connector 0.10.7 → 0.10.8-snapshot.031dfc0

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;CAgBtB"}
@@ -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,19 @@ 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 from
44
+ // withWalletResponseTimeout) must propagate unchanged — the
45
+ // `{ code, message }` normalization below would downgrade them.
46
+ if (error instanceof WalletConnectorError) {
47
+ throw error;
48
+ }
42
49
  const isRejected = UserRejectsError != null && error instanceof UserRejectsError;
43
50
  const message = extractTonSdkErrorMessage(error) || 'TON wallet operation failed';
44
51
  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,kEAAkE;QAClE,4DAA4D;QAC5D,gEAAgE;QAChE,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;AAQ/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;IAuH7C,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;IAejC,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, markSessionEstablished, 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
+ // ONC-2717 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,41 @@ 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
+ // ONC-2717: 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 matched — proceed with a fresh handshake. The
84
+ // preflight already cleaned up any stale state on jsBridgeKey mismatch.
66
85
  // Listen BEFORE connect — sdk.connect() is fire-and-forget
67
- const sdkRef = this.sdkInstance;
68
86
  const walletPromise = new Promise((resolve, reject) => {
69
87
  let settled = false;
70
88
  const timeout = setTimeout(async () => {
@@ -107,6 +125,7 @@ export class TonWalletService {
107
125
  });
108
126
  this.sdkInstance.connect({ jsBridgeKey });
109
127
  const { address, publicKey } = await walletPromise;
128
+ await markSessionEstablished(TON_CONNECT_INJECTED_STORAGE_PREFIX);
110
129
  try {
111
130
  this.connectedAddress = this.toUserFriendlyAddress
112
131
  ? toFriendlyAddress(address, this.toUserFriendlyAddress)
@@ -168,6 +187,8 @@ export class TonWalletService {
168
187
  this.connectedAddress = address;
169
188
  }
170
189
  async disconnect() {
190
+ this.abortPendingConnect?.();
191
+ this.abortPendingConnect = null;
171
192
  if (this.sdkInstance) {
172
193
  try {
173
194
  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,CA+DhD"}
@@ -26,6 +26,12 @@ 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 from
30
+ // withWalletResponseTimeout) must propagate unchanged — re-deriving the
31
+ // type here would downgrade them to 'unknown'.
32
+ if (error instanceof WalletConnectorError) {
33
+ throw error;
34
+ }
29
35
  let message;
30
36
  let isRejected = false;
31
37
  // 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,kEAAkE;IAClE,wEAAwE;IACxE,+CAA+C;IAC/C,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.7",
3
+ "version": "0.10.8-snapshot.031dfc0",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,10 +27,10 @@
27
27
  "buffer": "^6.0.3",
28
28
  "uuid": "^13.0.0",
29
29
  "viem": "^2.44.4",
30
- "@meshconnect/uwc-bridge-child": "0.2.1",
31
- "@meshconnect/uwc-constants": "0.6.0",
32
- "@meshconnect/uwc-ton-connector": "0.5.4",
33
- "@meshconnect/uwc-types": "0.12.0"
30
+ "@meshconnect/uwc-bridge-child": "0.2.1-snapshot.031dfc0",
31
+ "@meshconnect/uwc-constants": "0.6.1-snapshot.031dfc0",
32
+ "@meshconnect/uwc-ton-connector": "0.5.5-snapshot.031dfc0",
33
+ "@meshconnect/uwc-types": "0.12.1-snapshot.031dfc0"
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,12 @@ 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 from
85
+ // withWalletResponseTimeout) must propagate unchanged — the
86
+ // `{ code, message }` normalization below would downgrade them.
87
+ if (error instanceof WalletConnectorError) {
88
+ throw error
89
+ }
75
90
  const isRejected =
76
91
  UserRejectsError != null && error instanceof UserRejectsError
77
92
  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,7 @@ vi.mock('@meshconnect/uwc-ton-connector', async () => {
71
75
  })
72
76
 
73
77
  import { TonWalletService } from './ton-wallet-service'
78
+ import { WALLET_RESPONSE_TIMEOUT_MS } from '@meshconnect/uwc-ton-connector'
74
79
 
75
80
  async function connectService(
76
81
  svc: TonWalletService
@@ -91,9 +96,18 @@ describe('TonWalletService', () => {
91
96
 
92
97
  beforeEach(() => {
93
98
  vi.clearAllMocks()
99
+ localStorage.clear()
100
+ // Default: restoreConnection is a no-op resolve. Individual tests can
101
+ // override to simulate a wallet that emits a wallet on restore.
102
+ mockRestoreConnection.mockResolvedValue(undefined)
94
103
  service = new TonWalletService('https://example.com/manifest.json')
95
104
  })
96
105
 
106
+ afterEach(() => {
107
+ // Some tests switch to fake timers; never let that leak into the next test.
108
+ vi.useRealTimers()
109
+ })
110
+
97
111
  describe('connect', () => {
98
112
  it('sets up onStatusChange listener before calling sdk.connect', async () => {
99
113
  const callOrder: string[] = []
@@ -270,9 +284,96 @@ describe('TonWalletService', () => {
270
284
  expect(mockDisconnect).toHaveBeenCalled()
271
285
  })
272
286
 
273
- it('disconnects if SDK reports already connected from storage', async () => {
274
- MockTonConnect.startConnected = true
275
- mockDisconnect.mockResolvedValue(undefined)
287
+ it('invokes onSessionRestored when restoration succeeds', async () => {
288
+ localStorage.setItem(
289
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection',
290
+ JSON.stringify({
291
+ type: 'injected',
292
+ jsBridgeKey: 'tonkeeper',
293
+ nextRpcRequestId: 0
294
+ })
295
+ )
296
+ localStorage.setItem(
297
+ 'uwc-ton-injected:mesh-ton-session-established-at',
298
+ String(Date.now())
299
+ )
300
+ mockRestoreConnection.mockResolvedValue(undefined)
301
+ mockOnStatusChange.mockImplementation(callback => {
302
+ queueMicrotask(() => callback({ account: { address: '0:abc' } }))
303
+ return vi.fn()
304
+ })
305
+
306
+ const onSessionRestored = vi.fn()
307
+ const restoringService = new TonWalletService(
308
+ 'https://example.com/manifest.json',
309
+ onSessionRestored
310
+ )
311
+ await restoringService.connect('tonkeeper')
312
+
313
+ expect(onSessionRestored).toHaveBeenCalledTimes(1)
314
+ })
315
+
316
+ it('does not invoke onSessionRestored on a fresh handshake', async () => {
317
+ const onSessionRestored = vi.fn()
318
+ const freshService = new TonWalletService(
319
+ 'https://example.com/manifest.json',
320
+ onSessionRestored
321
+ )
322
+ mockOnStatusChange.mockImplementation(callback => {
323
+ setTimeout(() => {
324
+ callback({ account: { address: 'UQBfresh' } })
325
+ }, 10)
326
+ return vi.fn()
327
+ })
328
+ mockConnect.mockResolvedValue(undefined)
329
+
330
+ await freshService.connect('tonkeeper')
331
+
332
+ expect(onSessionRestored).not.toHaveBeenCalled()
333
+ })
334
+
335
+ it('restores from storage without prompting when an injected session matches the requested jsBridgeKey', async () => {
336
+ // Seed a prior injected session in the same namespace the service uses.
337
+ localStorage.setItem(
338
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection',
339
+ JSON.stringify({
340
+ type: 'injected',
341
+ jsBridgeKey: 'tonkeeper',
342
+ nextRpcRequestId: 0
343
+ })
344
+ )
345
+ localStorage.setItem(
346
+ 'uwc-ton-injected:mesh-ton-session-established-at',
347
+ String(Date.now())
348
+ )
349
+
350
+ mockRestoreConnection.mockImplementation(() => Promise.resolve())
351
+ mockOnStatusChange.mockImplementation(callback => {
352
+ queueMicrotask(() =>
353
+ callback({ account: { address: '0:restoredHex' } })
354
+ )
355
+ return vi.fn()
356
+ })
357
+
358
+ const result = await service.connect('tonkeeper')
359
+
360
+ expect(result.address).toBe('UQ_converted_restored')
361
+ expect(mockRestoreConnection).toHaveBeenCalledTimes(1)
362
+ // Fresh handshake must NOT run when restore succeeds.
363
+ expect(mockConnect).not.toHaveBeenCalled()
364
+ })
365
+
366
+ it('falls through to fresh connect when stored session targets a different wallet', async () => {
367
+ const storageKey =
368
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection'
369
+ localStorage.setItem(
370
+ storageKey,
371
+ JSON.stringify({
372
+ type: 'injected',
373
+ jsBridgeKey: 'mytonwallet',
374
+ nextRpcRequestId: 0
375
+ })
376
+ )
276
377
 
277
378
  mockOnStatusChange.mockImplementation(callback => {
278
379
  setTimeout(() => {
@@ -283,10 +384,65 @@ describe('TonWalletService', () => {
283
384
  mockConnect.mockResolvedValue(undefined)
284
385
 
285
386
  const result = await service.connect('tonkeeper')
387
+
286
388
  expect(result.address).toBe('UQBfresh')
287
- expect(mockDisconnect).toHaveBeenCalled()
389
+ // Preflight wipes the stale session (directly, without calling
390
+ // sdk.disconnect — which would throw on a fresh SDK) and the fresh
391
+ // handshake runs.
392
+ expect(localStorage.getItem(storageKey)).toBeNull()
393
+ expect(mockDisconnect).not.toHaveBeenCalled()
394
+ expect(mockConnect).toHaveBeenCalled()
395
+ })
396
+
397
+ it('falls through to fresh connect when the stored session is older than the TTL', async () => {
398
+ const SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1000
399
+ const storageKey =
400
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection'
401
+ const tsKey = 'uwc-ton-injected:mesh-ton-session-established-at'
402
+ const staleTs = Date.now() - SEVEN_DAYS_MS - 1
403
+ localStorage.setItem(
404
+ storageKey,
405
+ JSON.stringify({
406
+ type: 'injected',
407
+ jsBridgeKey: 'tonkeeper',
408
+ nextRpcRequestId: 0
409
+ })
410
+ )
411
+ localStorage.setItem(tsKey, String(staleTs))
412
+
413
+ mockOnStatusChange.mockImplementation(callback => {
414
+ setTimeout(() => callback({ account: { address: 'UQBfresh' } }), 10)
415
+ return vi.fn()
416
+ })
417
+ mockConnect.mockResolvedValue(undefined)
418
+
419
+ const result = await service.connect('tonkeeper')
420
+
421
+ expect(result.address).toBe('UQBfresh')
422
+ // Stale storage was cleared by the preflight; mockConnect ran the
423
+ // fresh handshake; the new fresh connect then wrote a refreshed
424
+ // timestamp (verified separately in the next test).
425
+ expect(mockConnect).toHaveBeenCalled()
426
+ expect(Number(localStorage.getItem(tsKey))).toBeGreaterThan(staleTs)
427
+ })
428
+
429
+ it('writes the session-established timestamp after a fresh handshake succeeds', async () => {
430
+ const tsKey = 'uwc-ton-injected:mesh-ton-session-established-at'
431
+ expect(localStorage.getItem(tsKey)).toBeNull()
432
+
433
+ mockOnStatusChange.mockImplementation(callback => {
434
+ setTimeout(() => callback({ account: { address: 'UQBfresh' } }), 10)
435
+ return vi.fn()
436
+ })
437
+ mockConnect.mockResolvedValue(undefined)
288
438
 
289
- MockTonConnect.startConnected = false
439
+ const before = Date.now()
440
+ await service.connect('tonkeeper')
441
+ const after = Date.now()
442
+
443
+ const written = Number(localStorage.getItem(tsKey))
444
+ expect(written).toBeGreaterThanOrEqual(before)
445
+ expect(written).toBeLessThanOrEqual(after)
290
446
  })
291
447
 
292
448
  it('ignores late timeout after successful connection (settled guard)', async () => {
@@ -363,6 +519,64 @@ describe('TonWalletService', () => {
363
519
 
364
520
  vi.useRealTimers()
365
521
  })
522
+
523
+ it('cleans up the freshly-created SDK and rethrows when the restore preflight throws', async () => {
524
+ const tonConnector = await import('@meshconnect/uwc-ton-connector')
525
+ const spy = vi
526
+ .spyOn(tonConnector, 'tryRestoreInjectedSession')
527
+ .mockRejectedValue(new Error('TON Connect connection was cancelled'))
528
+ mockDisconnect.mockResolvedValue(undefined)
529
+
530
+ await expect(service.connect('tonkeeper')).rejects.toThrow('cancelled')
531
+ // The SDK created for this connect must not be orphaned on a restore throw.
532
+ expect(mockDisconnect).toHaveBeenCalled()
533
+ expect(service.getAccount()).toBeNull()
534
+
535
+ spy.mockRestore()
536
+ })
537
+
538
+ it('aborts an in-flight restore when a newer connect starts, so the first connect rejects instead of lingering', async () => {
539
+ // Seed a restorable session so connect #1 enters the restore preflight.
540
+ localStorage.setItem(
541
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection',
542
+ JSON.stringify({
543
+ type: 'injected',
544
+ jsBridgeKey: 'tonkeeper',
545
+ nextRpcRequestId: 0
546
+ })
547
+ )
548
+ localStorage.setItem(
549
+ 'uwc-ton-injected:mesh-ton-session-established-at',
550
+ String(Date.now())
551
+ )
552
+
553
+ // Restore parks: the wallet never emits and restoreConnection never
554
+ // settles, so connect #1 sits in awaitRestoredAccount. That hook is
555
+ // registered immediately before onStatusChange subscribes, so the
556
+ // subscription is a deterministic "connect #1 is parked" signal —
557
+ // no wall-clock sleep.
558
+ let resolveSubscribed: () => void = () => undefined
559
+ const subscribed = new Promise<void>(resolve => {
560
+ resolveSubscribed = resolve
561
+ })
562
+ mockRestoreConnection.mockReturnValue(new Promise<void>(() => undefined))
563
+ mockOnStatusChange.mockImplementation(() => {
564
+ resolveSubscribed()
565
+ return vi.fn()
566
+ })
567
+
568
+ const connect1 = service.connect('tonkeeper')
569
+ const settled1 = connect1.catch((e: Error) => e)
570
+ await subscribed
571
+
572
+ // A second connect must abort the first BEFORE tearing down its SDK.
573
+ const connect2 = service.connect('tonkeeper')
574
+ connect2.catch(() => undefined)
575
+
576
+ const result1 = await settled1
577
+ expect(result1).toBeInstanceOf(Error)
578
+ expect((result1 as Error).message).toContain('cancelled')
579
+ })
366
580
  })
367
581
 
368
582
  describe('sendTransaction', () => {
@@ -389,6 +603,35 @@ describe('TonWalletService', () => {
389
603
  expect(mockSendTransaction).toHaveBeenCalled()
390
604
  expect(result).toBe('hash_of_te6cckEBAQEA...')
391
605
  })
606
+
607
+ it('throws expired and clears the session when the wallet never responds', async () => {
608
+ await connectService(service)
609
+ const storageKey =
610
+ 'uwc-ton-injected:ton-connect-storage_bridge-connection'
611
+ const tsKey = 'uwc-ton-injected:mesh-ton-session-established-at'
612
+ localStorage.setItem(storageKey, '{"type":"injected"}')
613
+ localStorage.setItem(tsKey, String(Date.now()))
614
+
615
+ // Session evicted mid-flight — the bridge request never resolves.
616
+ mockSendTransaction.mockReturnValue(new Promise<never>(() => undefined))
617
+
618
+ vi.useFakeTimers()
619
+ const captured = service
620
+ .sendTransaction({
621
+ to: 'UQBxyz',
622
+ amount: '1000000000',
623
+ from: 'UQBabc'
624
+ })
625
+ .catch((e: unknown) => e)
626
+ await vi.advanceTimersByTimeAsync(WALLET_RESPONSE_TIMEOUT_MS)
627
+ const error = (await captured) as { name?: string; type?: string }
628
+ vi.useRealTimers()
629
+
630
+ expect(error.name).toBe('WalletConnectorError')
631
+ expect(error.type).toBe('expired')
632
+ expect(localStorage.getItem(storageKey)).toBeNull()
633
+ expect(localStorage.getItem(tsKey)).toBeNull()
634
+ })
392
635
  })
393
636
 
394
637
  describe('signMessage', () => {
@@ -10,7 +10,10 @@ import type {
10
10
  } from '@meshconnect/uwc-types'
11
11
  import {
12
12
  NamespacedStorage,
13
- toFriendlyAddress
13
+ TON_CONNECT_INJECTED_STORAGE_PREFIX,
14
+ markSessionEstablished,
15
+ toFriendlyAddress,
16
+ tryRestoreInjectedSession
14
17
  } from '@meshconnect/uwc-ton-connector'
15
18
  import { getTonWallets, type DetectedTonWallet } from '../../ton-discovery'
16
19
  import { extractTonSdkErrorMessage } from '../../utils/error-utils'
@@ -29,14 +32,22 @@ export class TonWalletService {
29
32
  private connectedJsBridgeKey: string | null = null
30
33
  private sdkInstance: TonConnect | null = null
31
34
  private manifestUrl: string | (() => string) | undefined
35
+ private onSessionRestored: (() => void) | undefined
32
36
  private toUserFriendlyAddress:
33
37
  | ((hex: string, testOnly?: boolean) => string)
34
38
  | null = null
35
39
  private UserRejectsError: (new (...args: never[]) => Error) | null = null
36
40
  private transactionService: TonTransactionService
41
+ // ONC-2717 restore preflight bookkeeping — mirrors TonConnectConnector.
42
+ private abortPendingConnect: (() => void) | null = null
43
+ private connectGeneration = 0
37
44
 
38
- constructor(manifestUrl?: string | (() => string)) {
45
+ constructor(
46
+ manifestUrl?: string | (() => string),
47
+ onSessionRestored?: () => void
48
+ ) {
39
49
  this.manifestUrl = manifestUrl
50
+ this.onSessionRestored = onSessionRestored
40
51
  this.transactionService = new TonTransactionService()
41
52
  }
42
53
 
@@ -75,32 +86,50 @@ export class TonWalletService {
75
86
  'TON Connect manifestUrl is required. Pass tonConnectConfig to the connector.'
76
87
  )
77
88
  }
78
- // Clean up any existing SDK instance before creating a new one
79
- if (this.sdkInstance) {
80
- await this.cleanupSdk(this.sdkInstance)
81
- }
89
+ // Tear down any prior SDK and abort an in-flight restore before reconnecting.
90
+ await this.disconnect()
82
91
 
83
92
  const { TonConnect, toUserFriendlyAddress, UserRejectsError } =
84
93
  await import('@tonconnect/sdk')
85
94
  this.toUserFriendlyAddress = toUserFriendlyAddress
86
95
  this.UserRejectsError = UserRejectsError
87
96
 
88
- this.sdkInstance = new TonConnect({
89
- storage: new NamespacedStorage('uwc-ton-injected'),
97
+ this.connectGeneration++
98
+ const generation = this.connectGeneration
99
+
100
+ const sdkRef = new TonConnect({
101
+ storage: new NamespacedStorage(TON_CONNECT_INJECTED_STORAGE_PREFIX),
90
102
  manifestUrl: resolvedManifestUrl,
91
103
  analytics: { mode: 'off' }
92
104
  })
105
+ this.sdkInstance = sdkRef
93
106
 
94
- if (this.sdkInstance.connected) {
95
- try {
96
- await this.sdkInstance.disconnect()
97
- } catch {
98
- /* best effort */
107
+ // ONC-2717: resume an existing injected session before a fresh handshake.
108
+ const restored = await tryRestoreInjectedSession(
109
+ { requestedJsBridgeKey: jsBridgeKey, sdk: sdkRef, generation },
110
+ {
111
+ getCurrentGeneration: () => this.connectGeneration,
112
+ setAbortHook: fn => {
113
+ this.abortPendingConnect = fn
114
+ },
115
+ toUserFriendlyAddressFn: this.toUserFriendlyAddress,
116
+ ...(this.onSessionRestored
117
+ ? { onSessionRestored: this.onSessionRestored }
118
+ : {})
99
119
  }
120
+ ).catch(async error => {
121
+ await this.cleanupSdk(sdkRef)
122
+ throw error
123
+ })
124
+ if (restored) {
125
+ this.connectedAddress = restored.address
126
+ this.connectedJsBridgeKey = jsBridgeKey
127
+ return restored
100
128
  }
101
129
 
130
+ // No prior session matched — proceed with a fresh handshake. The
131
+ // preflight already cleaned up any stale state on jsBridgeKey mismatch.
102
132
  // Listen BEFORE connect — sdk.connect() is fire-and-forget
103
- const sdkRef = this.sdkInstance
104
133
  const walletPromise = new Promise<{ address: string; publicKey?: string }>(
105
134
  (resolve, reject) => {
106
135
  let settled = false
@@ -148,6 +177,7 @@ export class TonWalletService {
148
177
 
149
178
  this.sdkInstance.connect({ jsBridgeKey })
150
179
  const { address, publicKey } = await walletPromise
180
+ await markSessionEstablished(TON_CONNECT_INJECTED_STORAGE_PREFIX)
151
181
 
152
182
  try {
153
183
  this.connectedAddress = this.toUserFriendlyAddress
@@ -237,6 +267,8 @@ export class TonWalletService {
237
267
  }
238
268
 
239
269
  async disconnect(): Promise<void> {
270
+ this.abortPendingConnect?.()
271
+ this.abortPendingConnect = null
240
272
  if (this.sdkInstance) {
241
273
  try {
242
274
  await this.sdkInstance.disconnect()
@@ -31,6 +31,13 @@ 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 from
35
+ // withWalletResponseTimeout) must propagate unchanged — re-deriving the
36
+ // type here would downgrade them to 'unknown'.
37
+ if (error instanceof WalletConnectorError) {
38
+ throw error
39
+ }
40
+
34
41
  let message: string
35
42
  let isRejected = false
36
43