@turnkey/core 1.0.0-beta.2 → 1.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/__clients__/core.d.ts +75 -2
  2. package/dist/__clients__/core.d.ts.map +1 -1
  3. package/dist/__clients__/core.js +637 -503
  4. package/dist/__clients__/core.js.map +1 -1
  5. package/dist/__clients__/core.mjs +640 -506
  6. package/dist/__clients__/core.mjs.map +1 -1
  7. package/dist/__generated__/sdk-client-base.d.ts +1 -1
  8. package/dist/__generated__/sdk-client-base.d.ts.map +1 -1
  9. package/dist/__generated__/sdk-client-base.js +156 -250
  10. package/dist/__generated__/sdk-client-base.js.map +1 -1
  11. package/dist/__generated__/sdk-client-base.mjs +156 -250
  12. package/dist/__generated__/sdk-client-base.mjs.map +1 -1
  13. package/dist/__generated__/version.d.ts +1 -1
  14. package/dist/__generated__/version.js +1 -1
  15. package/dist/__generated__/version.mjs +1 -1
  16. package/dist/__types__/base.d.ts +1 -1
  17. package/dist/__wallet__/base.d.ts +11 -0
  18. package/dist/__wallet__/base.d.ts.map +1 -1
  19. package/dist/__wallet__/base.js +12 -1
  20. package/dist/__wallet__/base.js.map +1 -1
  21. package/dist/__wallet__/base.mjs +12 -1
  22. package/dist/__wallet__/base.mjs.map +1 -1
  23. package/dist/__wallet__/connector.d.ts +31 -4
  24. package/dist/__wallet__/connector.d.ts.map +1 -1
  25. package/dist/__wallet__/connector.js +35 -5
  26. package/dist/__wallet__/connector.js.map +1 -1
  27. package/dist/__wallet__/connector.mjs +35 -5
  28. package/dist/__wallet__/connector.mjs.map +1 -1
  29. package/dist/__wallet__/mobile/manager.d.ts +21 -5
  30. package/dist/__wallet__/mobile/manager.d.ts.map +1 -1
  31. package/dist/__wallet__/mobile/manager.js +28 -11
  32. package/dist/__wallet__/mobile/manager.js.map +1 -1
  33. package/dist/__wallet__/mobile/manager.mjs +28 -11
  34. package/dist/__wallet__/mobile/manager.mjs.map +1 -1
  35. package/dist/__wallet__/stamper.d.ts +73 -2
  36. package/dist/__wallet__/stamper.d.ts.map +1 -1
  37. package/dist/__wallet__/stamper.js +79 -13
  38. package/dist/__wallet__/stamper.js.map +1 -1
  39. package/dist/__wallet__/stamper.mjs +79 -13
  40. package/dist/__wallet__/stamper.mjs.map +1 -1
  41. package/dist/__wallet__/wallet-connect/base.d.ts +99 -19
  42. package/dist/__wallet__/wallet-connect/base.d.ts.map +1 -1
  43. package/dist/__wallet__/wallet-connect/base.js +172 -75
  44. package/dist/__wallet__/wallet-connect/base.js.map +1 -1
  45. package/dist/__wallet__/wallet-connect/base.mjs +172 -75
  46. package/dist/__wallet__/wallet-connect/base.mjs.map +1 -1
  47. package/dist/__wallet__/wallet-connect/client.d.ts +22 -14
  48. package/dist/__wallet__/wallet-connect/client.d.ts.map +1 -1
  49. package/dist/__wallet__/wallet-connect/client.js +22 -14
  50. package/dist/__wallet__/wallet-connect/client.js.map +1 -1
  51. package/dist/__wallet__/wallet-connect/client.mjs +22 -14
  52. package/dist/__wallet__/wallet-connect/client.mjs.map +1 -1
  53. package/dist/__wallet__/web/manager.d.ts +20 -12
  54. package/dist/__wallet__/web/manager.d.ts.map +1 -1
  55. package/dist/__wallet__/web/manager.js +29 -21
  56. package/dist/__wallet__/web/manager.js.map +1 -1
  57. package/dist/__wallet__/web/manager.mjs +29 -21
  58. package/dist/__wallet__/web/manager.mjs.map +1 -1
  59. package/dist/__wallet__/web/native/ethereum.d.ts +45 -11
  60. package/dist/__wallet__/web/native/ethereum.d.ts.map +1 -1
  61. package/dist/__wallet__/web/native/ethereum.js +58 -17
  62. package/dist/__wallet__/web/native/ethereum.js.map +1 -1
  63. package/dist/__wallet__/web/native/ethereum.mjs +58 -17
  64. package/dist/__wallet__/web/native/ethereum.mjs.map +1 -1
  65. package/dist/__wallet__/web/native/solana.d.ts +56 -3
  66. package/dist/__wallet__/web/native/solana.d.ts.map +1 -1
  67. package/dist/__wallet__/web/native/solana.js +95 -36
  68. package/dist/__wallet__/web/native/solana.js.map +1 -1
  69. package/dist/__wallet__/web/native/solana.mjs +95 -36
  70. package/dist/__wallet__/web/native/solana.mjs.map +1 -1
  71. package/dist/utils.d.ts +24 -1
  72. package/dist/utils.d.ts.map +1 -1
  73. package/dist/utils.js +54 -0
  74. package/dist/utils.js.map +1 -1
  75. package/dist/utils.mjs +54 -1
  76. package/dist/utils.mjs.map +1 -1
  77. package/package.json +7 -7
@@ -8,20 +8,38 @@ var base = require('../../__types__/base.js');
8
8
  var ethers = require('ethers');
9
9
 
10
10
  class WalletConnectWallet {
11
+ /**
12
+ * Constructs a WalletConnectWallet bound to a WalletConnect client.
13
+ *
14
+ * - Subscribes to session deletions and automatically re-initiates pairing,
15
+ * updating `this.uri` so the UI can present a fresh QR/deeplink.
16
+ *
17
+ * @param client - The low-level WalletConnect client used for session/RPC.
18
+ */
11
19
  constructor(client) {
12
20
  this.client = client;
13
21
  this.interfaceType = base.WalletInterfaceType.WalletConnect;
14
22
  this.ethereumNamespaces = [];
15
23
  this.solanaNamespaces = [];
16
- this.client.onSessionDelete(() => { });
24
+ this.client.onSessionDelete(async () => {
25
+ try {
26
+ this.uri = await this.client.pair(this.buildNamespaces());
27
+ }
28
+ catch (err) {
29
+ console.warn("WalletConnect: failed to re-pair after session delete", err);
30
+ }
31
+ });
17
32
  }
18
33
  /**
19
- * Initializes WalletConnect pairing flow with the specified chains.
20
- * If an active session already exists, pairing is skipped.
34
+ * Initializes WalletConnect pairing flow with the specified namespaces.
21
35
  *
22
- * @param opts.ethereum - Whether to enable Ethereum pairing
23
- * @param opts.solana - Whether to enable Solana pairing
24
- * @throws {Error} If no chains are enabled
36
+ * - Saves the requested chain namespaces (e.g., `["eip155:1", "eip155:137", "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]`).
37
+ * - If an active session already has connected accounts, pairing is skipped.
38
+ * - Otherwise initiates a pairing and stores the resulting URI.
39
+ *
40
+ * @param opts.ethereumNamespaces - List of EVM CAIP IDs (e.g., "eip155:1").
41
+ * @param opts.solanaNamespaces - List of Solana CAIP IDs (e.g., "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp").
42
+ * @throws {Error} If no namespaces are provided for either chain.
25
43
  */
26
44
  async init(opts) {
27
45
  this.ethereumNamespaces = opts.ethereumNamespaces;
@@ -36,39 +54,23 @@ class WalletConnectWallet {
36
54
  this.solanaNamespaces.length === 0) {
37
55
  throw new Error("At least one namespace must be enabled for WalletConnect");
38
56
  }
57
+ // we don't want to create more than one active session
58
+ // so we don't make a pair request if one is already active
59
+ // since pairing would mean initializing a new session
39
60
  const session = this.client.getSession();
40
61
  if (hasConnectedAccounts(session)) {
41
62
  return;
42
63
  }
43
- const namespaces = {};
44
- if (this.ethereumNamespaces.length > 0) {
45
- namespaces.eip155 = {
46
- methods: [
47
- "personal_sign",
48
- "eth_sendTransaction",
49
- "eth_chainId",
50
- "wallet_switchEthereumChain",
51
- "wallet_addEthereumChain",
52
- ],
53
- chains: this.ethereumNamespaces,
54
- events: ["accountsChanged", "chainChanged"],
55
- };
56
- }
57
- if (this.solanaNamespaces.length > 0) {
58
- namespaces.solana = {
59
- methods: [
60
- "solana_signMessage",
61
- "solana_signTransaction",
62
- "solana_sendTransaction",
63
- ],
64
- chains: this.solanaNamespaces,
65
- events: ["accountsChanged", "chainChanged"],
66
- };
67
- }
64
+ const namespaces = this.buildNamespaces();
68
65
  this.uri = await this.client.pair(namespaces);
69
66
  }
70
67
  /**
71
68
  * Returns WalletConnect providers with associated chain/account metadata.
69
+ *
70
+ * - Builds an EVM provider (if Ethereum namespaces are enabled).
71
+ * - Builds a Solana provider (if Solana namespaces are enabled).
72
+ *
73
+ * @returns A promise resolving to an array of WalletProvider objects.
72
74
  */
73
75
  async getProviders() {
74
76
  const session = this.client.getSession();
@@ -87,6 +89,12 @@ class WalletConnectWallet {
87
89
  }
88
90
  /**
89
91
  * Approves the session if needed and ensures at least one account is available.
92
+ *
93
+ * - Calls `approve()` on the underlying client when pairing is pending.
94
+ * - Throws if the approved session contains no connected accounts.
95
+ *
96
+ * @param _provider - Unused (present for interface compatibility).
97
+ * @throws {Error} If the session contains no accounts.
90
98
  */
91
99
  async connectWalletAccount(_provider) {
92
100
  const session = await this.client.approve();
@@ -94,12 +102,20 @@ class WalletConnectWallet {
94
102
  throw new Error("No account found in session");
95
103
  }
96
104
  /**
97
- * Switch the user’s WalletConnect session to a new EVM chain.
105
+ * Switches the user’s WalletConnect session to a new EVM chain.
106
+ *
107
+ * - Ethereum-only: only supported for providers on the Ethereum namespace.
108
+ * - No add-then-switch: WalletConnect cannot add chains mid-session. The target chain
109
+ * must be present in `ethereumNamespaces` negotiated at pairing time. To support a new chain,
110
+ * you must include it in the walletConfig.
111
+ * - Accepts a hex chain ID (e.g., "0x1"). If a `SwitchableChain` is passed, only its `id`
112
+ * (hex chain ID) is used; metadata is ignored for WalletConnect.
98
113
  *
99
- * @param provider the WalletProvider returned by getProviders()
100
- * @param chainOrId either:
101
- * a CAIP string ("eip155:1", "eip155:137", …)
102
- * a SwitchableChain object carrying full metadata
114
+ * @param provider - The WalletProvider returned by `getProviders()`.
115
+ * @param chainOrId - Hex chain ID (e.g., "0x1") or a `SwitchableChain` (its `id` is used).
116
+ * @returns A promise that resolves when the switch completes.
117
+ * @throws {Error} If no active session, provider is non-EVM, the chain is not in `ethereumNamespaces`,
118
+ * or the switch RPC fails.
103
119
  */
104
120
  async switchChain(provider, chainOrId) {
105
121
  if (provider.chainInfo.namespace !== base.Chain.Ethereum) {
@@ -126,13 +142,27 @@ class WalletConnectWallet {
126
142
  }
127
143
  }
128
144
  /**
129
- * Signs a message or transaction using the specified provider and intent.
145
+ * Signs a message or transaction using the specified wallet provider and intent.
146
+ *
147
+ * - Ensures an active WalletConnect session:
148
+ * - If a pairing is in progress (URI shown but not yet approved), this call will
149
+ * wait for the user to approve the session and may appear stuck until they do.
150
+ * - If no pairing is in progress, this will throw (e.g., "call pair() before approve()").
151
+ * - Ethereum:
152
+ * - `SignMessage` → `personal_sign` (returns hex signature).
153
+ * - `SignAndSendTransaction` → `eth_sendTransaction` (returns tx hash).
154
+ * - Solana:
155
+ * - `SignMessage` → `solana_signMessage` (returns hex signature).
156
+ * - `SignTransaction` → `solana_signTransaction` (returns hex signature).
157
+ * - `SignAndSendTransaction` → `solana_sendTransaction` (returns hex signature of the submitted tx).
130
158
  *
131
- * @param message - The message or serialized transaction to sign.
159
+ * @param payload - Payload or serialized transaction to sign.
132
160
  * @param provider - The WalletProvider to use.
133
- * @param intent - The type of signing intent (message, tx, send).
161
+ * @param intent - The signing intent.
162
+ * @returns A hex string (signature or transaction hash, depending on intent).
163
+ * @throws {Error} If no account is available, no pairing is in progress, or the intent is unsupported.
134
164
  */
135
- async sign(message, provider, intent) {
165
+ async sign(payload, provider, intent) {
136
166
  const session = await this.ensureSession();
137
167
  if (!hasConnectedAccounts(session)) {
138
168
  await this.connectWalletAccount(provider);
@@ -145,12 +175,12 @@ class WalletConnectWallet {
145
175
  switch (intent) {
146
176
  case base.SignIntent.SignMessage:
147
177
  return (await this.client.request(this.ethChain, "personal_sign", [
148
- message,
178
+ payload,
149
179
  address,
150
180
  ]));
151
181
  case base.SignIntent.SignAndSendTransaction:
152
182
  const account = provider.connectedAddresses[0];
153
- const tx = ethers.Transaction.from(message);
183
+ const tx = ethers.Transaction.from(payload);
154
184
  const txParams = {
155
185
  from: account,
156
186
  to: tx.to?.toString(),
@@ -174,7 +204,7 @@ class WalletConnectWallet {
174
204
  }
175
205
  switch (intent) {
176
206
  case base.SignIntent.SignMessage: {
177
- const msgBytes = new TextEncoder().encode(message);
207
+ const msgBytes = new TextEncoder().encode(payload);
178
208
  const msgB58 = bs58.encode(msgBytes);
179
209
  const { signature: sigB58 } = await this.client.request(this.solChain, "solana_signMessage", {
180
210
  pubkey: address,
@@ -183,7 +213,7 @@ class WalletConnectWallet {
183
213
  return encoding.uint8ArrayToHexString(bs58.decode(sigB58));
184
214
  }
185
215
  case base.SignIntent.SignTransaction: {
186
- const txBytes = encoding.uint8ArrayFromHexString(message);
216
+ const txBytes = encoding.uint8ArrayFromHexString(payload);
187
217
  const txBase64 = encoding.stringToBase64urlString(String.fromCharCode(...txBytes));
188
218
  const { signature: sigB58 } = await this.client.request(this.solChain, "solana_signTransaction", {
189
219
  feePayer: address,
@@ -192,7 +222,7 @@ class WalletConnectWallet {
192
222
  return encoding.uint8ArrayToHexString(bs58.decode(sigB58));
193
223
  }
194
224
  case base.SignIntent.SignAndSendTransaction: {
195
- const txBytes = encoding.uint8ArrayFromHexString(message);
225
+ const txBytes = encoding.uint8ArrayFromHexString(payload);
196
226
  const txBase64 = encoding.stringToBase64urlString(String.fromCharCode(...txBytes));
197
227
  const sigB58 = await this.client.request(this.solChain, "solana_sendTransaction", {
198
228
  feePayer: address,
@@ -210,8 +240,12 @@ class WalletConnectWallet {
210
240
  /**
211
241
  * Retrieves the public key of the connected wallet.
212
242
  *
243
+ * - Ethereum: signs a fixed challenge and recovers the compressed secp256k1 public key.
244
+ * - Solana: decodes the base58-encoded address to raw bytes.
245
+ *
213
246
  * @param provider - The WalletProvider to fetch the key from.
214
- * @returns Compressed public key as a hex string.
247
+ * @returns A compressed public key as a hex string.
248
+ * @throws {Error} If no account is available or the namespace is unsupported.
215
249
  */
216
250
  async getPublicKey(provider) {
217
251
  const session = this.client.getSession();
@@ -247,34 +281,13 @@ class WalletConnectWallet {
247
281
  }
248
282
  /**
249
283
  * Disconnects the current session and re-initiates a fresh pairing URI.
284
+ *
285
+ * - Calls `disconnect()` on the client, then `pair()` with current namespaces.
286
+ * - Updates `this.uri` so the UI can present a new QR/deeplink.
250
287
  */
251
288
  async disconnectWalletAccount(_provider) {
252
289
  await this.client.disconnect();
253
- const namespaces = {};
254
- if (this.ethereumNamespaces.length > 0) {
255
- namespaces.eip155 = {
256
- methods: [
257
- "personal_sign",
258
- "eth_sendTransaction",
259
- "eth_chainId",
260
- "wallet_switchEthereumChain",
261
- "wallet_addEthereumChain",
262
- ],
263
- chains: this.ethereumNamespaces,
264
- events: ["accountsChanged", "chainChanged"],
265
- };
266
- }
267
- if (this.solanaNamespaces.length > 0) {
268
- namespaces.solana = {
269
- methods: [
270
- "solana_signMessage",
271
- "solana_signTransaction",
272
- "solana_sendTransaction",
273
- ],
274
- chains: this.solanaNamespaces,
275
- events: ["accountsChanged", "chainChanged"],
276
- };
277
- }
290
+ const namespaces = this.buildNamespaces();
278
291
  await this.client.pair(namespaces).then((newUri) => {
279
292
  this.uri = newUri;
280
293
  });
@@ -282,8 +295,8 @@ class WalletConnectWallet {
282
295
  /**
283
296
  * Builds a lightweight provider interface for the given chain.
284
297
  *
285
- * @param chainId - The namespace chain ID (e.g., eip155:1)
286
- * @returns A WalletConnect-compatible provider implementation
298
+ * @param chainId - Namespace chain ID (e.g., "eip155:1" or "solana:101").
299
+ * @returns A WalletConnect-compatible provider that proxies JSON-RPC via WC.
287
300
  */
288
301
  makeProvider(chainId) {
289
302
  return {
@@ -295,8 +308,15 @@ class WalletConnectWallet {
295
308
  /**
296
309
  * Ensures there is an active WalletConnect session, initiating approval if necessary.
297
310
  *
298
- * @returns The current WalletConnect session
299
- * @throws {Error} If approval fails or session is not established
311
+ * - If a session exists, returns it immediately.
312
+ * - If no session exists but a pairing is in progress, awaits `approve()` —
313
+ * this will block until the user approves (or rejects) in their wallet.
314
+ * - If no session exists and no pairing is in progress, throws; the caller
315
+ * must have initiated pairing via `pair()` elsewhere.
316
+ *
317
+ * @returns The active WalletConnect session.
318
+ * @throws {Error} If approval is rejected, completes without establishing a session,
319
+ * or no pairing is in progress.
300
320
  */
301
321
  async ensureSession() {
302
322
  let session = this.client.getSession();
@@ -310,6 +330,13 @@ class WalletConnectWallet {
310
330
  }
311
331
  /**
312
332
  * Builds a WalletProvider descriptor for an EVM chain.
333
+ *
334
+ * - Extracts the connected address (if any) and current chain ID.
335
+ * - Includes the pairing `uri` if available.
336
+ *
337
+ * @param session - Current WalletConnect session (or null).
338
+ * @param info - Provider branding info (name, icon).
339
+ * @returns A WalletProvider object for Ethereum.
313
340
  */
314
341
  async buildEthProvider(session, info) {
315
342
  const raw = session?.namespaces.eip155?.accounts?.[0] ?? "";
@@ -331,6 +358,13 @@ class WalletConnectWallet {
331
358
  }
332
359
  /**
333
360
  * Builds a WalletProvider descriptor for Solana.
361
+ *
362
+ * - Extracts the connected address (if any).
363
+ * - Includes the fresh pairing `uri` if available.
364
+ *
365
+ * @param session - Current WalletConnect session (or null).
366
+ * @param info - Provider branding info (name, icon).
367
+ * @returns A WalletProvider object for Solana.
334
368
  */
335
369
  buildSolProvider(session, info) {
336
370
  const raw = session?.namespaces.solana?.accounts?.[0] ?? "";
@@ -344,15 +378,78 @@ class WalletConnectWallet {
344
378
  ...(this.uri && { uri: this.uri }),
345
379
  };
346
380
  }
381
+ /**
382
+ * Builds the requested WalletConnect namespaces from the current config.
383
+ *
384
+ * - Includes methods and events for Ethereum and/or Solana based on enabled namespaces.
385
+ *
386
+ * @returns A namespaces object suitable for `WalletConnectClient.pair()`.
387
+ */
388
+ buildNamespaces() {
389
+ const namespaces = {};
390
+ if (this.ethereumNamespaces.length > 0) {
391
+ namespaces.eip155 = {
392
+ methods: [
393
+ "personal_sign",
394
+ "eth_sendTransaction",
395
+ "eth_chainId",
396
+ "wallet_switchEthereumChain",
397
+ "wallet_addEthereumChain",
398
+ ],
399
+ chains: this.ethereumNamespaces,
400
+ events: ["accountsChanged", "chainChanged"],
401
+ };
402
+ }
403
+ if (this.solanaNamespaces.length > 0) {
404
+ namespaces.solana = {
405
+ methods: [
406
+ "solana_signMessage",
407
+ "solana_signTransaction",
408
+ "solana_sendTransaction",
409
+ ],
410
+ chains: this.solanaNamespaces,
411
+ events: ["accountsChanged", "chainChanged"],
412
+ };
413
+ }
414
+ return namespaces;
415
+ }
347
416
  }
417
+ /**
418
+ * Determines whether the session has at least one connected account
419
+ * across any namespace.
420
+ *
421
+ * - Safe to call with `null` (returns `false`).
422
+ * - Checks all namespaces for a non-empty `accounts` array.
423
+ *
424
+ * @param session - The current WalletConnect session, or `null`.
425
+ * @returns `true` if any namespace has ≥1 account; otherwise `false`.
426
+ */
348
427
  function hasConnectedAccounts(session) {
349
428
  return (!!session &&
350
429
  Object.values(session.namespaces).some((ns) => ns.accounts?.length > 0));
351
430
  }
431
+ /**
432
+ * Retrieves the first connected Ethereum account.
433
+ *
434
+ * - Safe to call with `null` (returns `undefined`).
435
+ * - Returns only the address portion (e.g., `0xabc...`), not the full CAIP string.
436
+ *
437
+ * @param session - The current WalletConnect session, or `null`.
438
+ * @returns The connected EVM address, or `undefined` if none.
439
+ */
352
440
  function getConnectedEthereum(session) {
353
441
  const acc = session?.namespaces.eip155?.accounts?.[0];
354
442
  return acc ? acc.split(":")[2] : undefined;
355
443
  }
444
+ /**
445
+ * Retrieves the first connected Solana account.
446
+ *
447
+ * - Safe to call with `null` (returns `undefined`).
448
+ * - Returns only the base58 address portion, not the full CAIP string.
449
+ *
450
+ * @param session - The current WalletConnect session, or `null`.
451
+ * @returns The connected Solana address (base58), or `undefined` if none.
452
+ */
356
453
  function getConnectedSolana(session) {
357
454
  const acc = session?.namespaces.solana?.accounts?.[0];
358
455
  return acc ? acc.split(":")[2] : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../src/__wallet__/wallet-connect/base.ts"],"sourcesContent":[null],"names":["WalletInterfaceType","Chain","SignIntent","Transaction","toHex","uint8ArrayToHexString","uint8ArrayFromHexString","stringToBase64urlString","recoverPublicKey","hashMessage","compressRawPublicKey"],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sources":["../../../src/__wallet__/wallet-connect/base.ts"],"sourcesContent":[null],"names":["WalletInterfaceType","Chain","SignIntent","Transaction","toHex","uint8ArrayToHexString","uint8ArrayFromHexString","stringToBase64urlString","recoverPublicKey","hashMessage","compressRawPublicKey"],"mappings":"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"}