@talken/talkenkit 2.4.30 → 2.5.1

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 (69) hide show
  1. package/dist/{AbcCredentialManager-DDHLW2IH.js → AbcCredentialManager-5W3B7GI4.js} +1 -1
  2. package/dist/{abcWallet-TLGPQAMU.js → abcWallet-O5IRLUXL.js} +2 -2
  3. package/dist/{chunk-ALBABQ53.js → chunk-PN6K4CMZ.js} +4 -1
  4. package/dist/{chunk-MI7TNBED.js → chunk-UHZL3WSM.js} +709 -86
  5. package/dist/components/TransactionResultModal/TransactionResultModal.css.d.ts +17 -0
  6. package/dist/components/TransactionResultModal/TransactionResultModal.d.ts +9 -0
  7. package/dist/index.css +138 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.js +1344 -980
  10. package/dist/providers/TransactionResultProvider/TransactionResultContext.d.ts +6 -0
  11. package/dist/providers/TransactionResultProvider/TransactionResultProvider.d.ts +7 -0
  12. package/dist/providers/TransactionResultProvider/TransactionResultSingleton.d.ts +16 -0
  13. package/dist/providers/TransactionResultProvider/index.d.ts +4 -0
  14. package/dist/providers/TransactionResultProvider/types.d.ts +14 -0
  15. package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.js +2 -2
  16. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +2 -2
  17. package/dist/wallets/walletConnectors/abcWallet/abcAccessKeyProvider.d.ts +69 -0
  18. package/dist/wallets/walletConnectors/abcWallet/abcAccessKeyProvider.js +11 -0
  19. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  20. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +3 -3
  21. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +8 -6
  22. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +8 -0
  23. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +5 -4
  24. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +1 -0
  25. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +8 -8
  26. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +3 -3
  27. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +1 -0
  28. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +3 -3
  29. package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +7 -0
  30. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +9 -7
  31. package/dist/wallets/walletConnectors/abcWallet/api/ConfigApi.js +2 -2
  32. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +25 -0
  33. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +3 -3
  34. package/dist/wallets/walletConnectors/abcWallet/api/TokenApi.js +2 -2
  35. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +3 -3
  36. package/dist/wallets/walletConnectors/abcWallet/api/index.js +9 -9
  37. package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +3 -0
  38. package/dist/wallets/walletConnectors/abcWallet/constants.js +1 -1
  39. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +1 -1
  40. package/dist/wallets/walletConnectors/abcWallet/index.js +35 -33
  41. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +2 -2
  42. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +11 -0
  43. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
  44. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +3 -3
  45. package/dist/wallets/walletConnectors/{chunk-VDWJ3NQ5.js → chunk-25ZDAJ3L.js} +1 -1
  46. package/dist/wallets/walletConnectors/chunk-4JZPP3S7.js +380 -0
  47. package/dist/wallets/walletConnectors/{chunk-HHZ3JZRH.js → chunk-4YEALKXG.js} +74 -14
  48. package/dist/wallets/walletConnectors/{chunk-IN3HEGZM.js → chunk-645DT4TS.js} +46 -5
  49. package/dist/wallets/walletConnectors/{chunk-XNA5NIFE.js → chunk-6TAU7OQK.js} +7 -4
  50. package/dist/wallets/walletConnectors/{chunk-MO2AXXLI.js → chunk-FKI5AZVH.js} +1 -1
  51. package/dist/wallets/walletConnectors/{chunk-JADQLTFW.js → chunk-H2AZTZMM.js} +1 -1
  52. package/dist/wallets/walletConnectors/{chunk-NULM3THX.js → chunk-HWRZGGGN.js} +1 -1
  53. package/dist/wallets/walletConnectors/{chunk-BHEVY4QY.js → chunk-KIYXONNH.js} +35 -2
  54. package/dist/wallets/walletConnectors/{chunk-NU3ITJNK.js → chunk-L6FCF3FH.js} +94 -736
  55. package/dist/wallets/walletConnectors/{chunk-ACLPF2UW.js → chunk-LIGH2LEU.js} +1 -1
  56. package/dist/wallets/walletConnectors/chunk-OASBABPG.js +746 -0
  57. package/dist/wallets/walletConnectors/{chunk-A66MTFML.js → chunk-PF65YS3T.js} +1 -1
  58. package/dist/wallets/walletConnectors/{chunk-6WF4SXLB.js → chunk-QKK3OPQA.js} +1 -1
  59. package/dist/wallets/walletConnectors/{chunk-3LF7FVL6.js → chunk-RGYZNNB6.js} +1 -1
  60. package/dist/wallets/walletConnectors/{chunk-DPTDOCWL.js → chunk-RX2VOIUB.js} +4 -1
  61. package/dist/wallets/walletConnectors/{chunk-YV6IZWGE.js → chunk-URS2KVYK.js} +45 -2
  62. package/dist/wallets/walletConnectors/{chunk-BXH3GDX5.js → chunk-YKFI6ZGM.js} +1 -1
  63. package/dist/wallets/walletConnectors/index.js +47 -45
  64. package/package.json +1 -1
  65. package/dist/wallets/walletConnectors/chunk-CABLJOMU.js +0 -194
  66. package/dist/wallets/walletConnectors/chunk-J3YPHDHM.js +0 -827
  67. package/dist/wallets/walletConnectors/chunk-J566FC7T.js +0 -54
  68. package/dist/wallets/walletConnectors/chunk-OHQXPSR6.js +0 -300
  69. package/dist/wallets/walletConnectors/chunk-OMOYFHBT.js +0 -1485
@@ -5,6 +5,12 @@ import {
5
5
  import {
6
6
  resolveTalkenApiUrl
7
7
  } from "./chunk-GFWUFYT2.js";
8
+ import {
9
+ createTalkenApiClient
10
+ } from "./chunk-KIYXONNH.js";
11
+ import {
12
+ AbcAccessKeyProvider
13
+ } from "./chunk-4JZPP3S7.js";
8
14
  import {
9
15
  setGlobalDefaultBitcoinNetwork,
10
16
  setGlobalDefaultChainId,
@@ -12,20 +18,17 @@ import {
12
18
  } from "./chunk-O4AU63LK.js";
13
19
  import {
14
20
  createAbcEvmProvider
15
- } from "./chunk-OMOYFHBT.js";
21
+ } from "./chunk-L6FCF3FH.js";
16
22
  import {
17
23
  clearAuthState,
18
24
  clearStorage,
19
25
  loadAuthState,
20
26
  loadFromStorage,
21
27
  saveAuthState
22
- } from "./chunk-A66MTFML.js";
23
- import {
24
- createTalkenApiClient
25
- } from "./chunk-BHEVY4QY.js";
28
+ } from "./chunk-PF65YS3T.js";
26
29
  import {
27
30
  getCredentialManager
28
- } from "./chunk-6WF4SXLB.js";
31
+ } from "./chunk-QKK3OPQA.js";
29
32
 
30
33
  // src/wallets/walletConnectors/abcWallet/abcConnector.ts
31
34
  import { getTalkenApiClient } from "@talken/talkenkit";
@@ -49,7 +52,11 @@ function abcConnector(options) {
49
52
  defaultChainId: config.defaultChainId
50
53
  });
51
54
  setTalkenApiClient(talkenApi);
52
- const provider = createAbcEvmProvider(talkenApi);
55
+ const isAccessKeyMode = !!config.accessKey;
56
+ const provider = isAccessKeyMode ? new AbcAccessKeyProvider(
57
+ config.accessKey,
58
+ resolveTalkenApiUrl(config.talkenApiUrl)
59
+ ) : createAbcEvmProvider(talkenApi);
53
60
  let accountsChangedHandler;
54
61
  let chainChangedHandler;
55
62
  let disconnectHandler;
@@ -66,13 +73,59 @@ function abcConnector(options) {
66
73
  if (!authState || !authState.isAuthenticated || !authState.wallet) {
67
74
  throw new Error("ABC_LOGIN_REQUIRED");
68
75
  }
69
- provider.setWallet(authState.wallet);
70
- if (authState.accessToken && authState.refreshToken && authState.expiresAt) {
71
- talkenApi.setTokens(
72
- authState.accessToken,
73
- authState.refreshToken,
74
- authState.expiresAt
75
- );
76
+ if (isAccessKeyMode) {
77
+ let w = authState.wallet;
78
+ if (!w.uid || !w.sessionId) {
79
+ try {
80
+ const apiUrl = resolveTalkenApiUrl(config.talkenApiUrl);
81
+ const res = await fetch(`${apiUrl}/wallet/mpc`, {
82
+ method: "POST",
83
+ headers: {
84
+ "Content-Type": "application/json",
85
+ "X-Access-Key": config.accessKey
86
+ },
87
+ body: JSON.stringify({ action: "info" })
88
+ });
89
+ const data = await res.json();
90
+ const acct = data?.data?.accounts?.[0] || data?.data;
91
+ if (acct?.ethAddress || acct?.address) {
92
+ w = {
93
+ address: acct.ethAddress || acct.address || w.address,
94
+ chainId: w.chainId || config.defaultChainId || 1,
95
+ uid: acct.uid || data?.data?.uid || "",
96
+ sessionId: acct.sid || acct.sessionId || "",
97
+ keyId: acct.keyId || (acct.wid != null ? String(acct.wid) : "") || (data?.data?.wid != null ? String(data.data.wid) : ""),
98
+ encryptedShare: acct.encryptedShare || acct.pvencstr || "",
99
+ sid: acct.sid || "",
100
+ type: "evm",
101
+ email: authState.user?.email || acct.email || data?.data?.email || ""
102
+ };
103
+ saveAuthState({ ...authState, wallet: w });
104
+ }
105
+ } catch (_) {
106
+ }
107
+ }
108
+ const fullWallet = {
109
+ address: w.address,
110
+ chainId: w.chainId || config.defaultChainId || 1,
111
+ uid: w.uid || "",
112
+ sessionId: w.sessionId || "",
113
+ keyId: w.keyId || "",
114
+ encryptedShare: w.encryptedShare || "",
115
+ sid: w.sid || "",
116
+ type: "evm",
117
+ email: w.email || authState.user?.email || ""
118
+ };
119
+ provider.setWallet(fullWallet);
120
+ } else {
121
+ provider.setWallet(authState.wallet);
122
+ if (authState.accessToken && authState.refreshToken && authState.expiresAt) {
123
+ talkenApi.setTokens(
124
+ authState.accessToken,
125
+ authState.refreshToken,
126
+ authState.expiresAt
127
+ );
128
+ }
76
129
  }
77
130
  const accounts = await provider.request({
78
131
  method: "eth_requestAccounts"
@@ -193,6 +246,13 @@ function abcConnector(options) {
193
246
  */
194
247
  async isAuthorized() {
195
248
  try {
249
+ if (isAccessKeyMode) {
250
+ if (provider.isConnected())
251
+ return true;
252
+ const hasKey = !!config.accessKey || typeof localStorage !== "undefined" && !!localStorage.getItem("talken_ak");
253
+ const authState2 = loadAuthState();
254
+ return hasKey && !!authState2?.wallet?.address;
255
+ }
196
256
  const authState = loadAuthState();
197
257
  if (!authState || !authState.isAuthenticated) {
198
258
  return false;
@@ -1,13 +1,17 @@
1
1
  "use client";
2
2
  import {
3
3
  WalletscanApi
4
- } from "./chunk-NULM3THX.js";
4
+ } from "./chunk-HWRZGGGN.js";
5
5
  import {
6
6
  getCredentialManager
7
- } from "./chunk-6WF4SXLB.js";
7
+ } from "./chunk-QKK3OPQA.js";
8
8
 
9
9
  // src/wallets/walletConnectors/abcWallet/abcSolanaProvider.ts
10
- import { getTalkenApiClient } from "@talken/talkenkit";
10
+ import {
11
+ getShowPendingTransaction,
12
+ getTalkenApiClient,
13
+ getUpdateTransactionResult
14
+ } from "@talken/talkenkit";
11
15
 
12
16
  // src/utils/apiClientFactory.ts
13
17
  function createWalletscanApi() {
@@ -331,6 +335,15 @@ var AbcSolanaProvider = class extends EventEmitter {
331
335
  });
332
336
  const api = this.getTalkenApiClientOrThrow();
333
337
  const apiNetwork = this.wallet.network === "solana" ? "solana" : "solana_devnet";
338
+ const showPending = getShowPendingTransaction();
339
+ if (showPending) {
340
+ showPending({
341
+ txHash: "",
342
+ network: apiNetwork,
343
+ chain: "solana",
344
+ explorerUrl: void 0
345
+ });
346
+ }
334
347
  if (params.mintAddress) {
335
348
  const walletscanApi = createWalletscanApi();
336
349
  const tokenMeta = await walletscanApi.getContractTokenWithTimeout({
@@ -346,9 +359,11 @@ var AbcSolanaProvider = class extends EventEmitter {
346
359
  amount: String(rawAmount),
347
360
  decimals,
348
361
  network: apiNetwork,
349
- pin: pinHash
362
+ pin: pinHash,
363
+ waitForConfirmation: true
350
364
  });
351
365
  console.log("[AbcSolanaProvider] SPL transfer result:", result2);
366
+ this.updateTransactionResult(result2, apiNetwork);
352
367
  return { signature: result2.txHash };
353
368
  }
354
369
  const { LAMPORTS_PER_SOL } = await import("@solana/web3.js");
@@ -363,9 +378,11 @@ var AbcSolanaProvider = class extends EventEmitter {
363
378
  toAddress: params.toAddress,
364
379
  amountLamports: String(amountLamports),
365
380
  network: apiNetwork,
366
- pin: pinHash
381
+ pin: pinHash,
382
+ waitForConfirmation: true
367
383
  });
368
384
  console.log("[AbcSolanaProvider] native transfer result:", result);
385
+ this.updateTransactionResult(result, apiNetwork);
369
386
  return { signature: result.txHash };
370
387
  } catch (error) {
371
388
  console.error("[AbcSolanaProvider] transfer FAILED:", {
@@ -438,6 +455,30 @@ var AbcSolanaProvider = class extends EventEmitter {
438
455
  );
439
456
  }
440
457
  }
458
+ updateTransactionResult(result, network) {
459
+ const updateResult = getUpdateTransactionResult();
460
+ if (!updateResult)
461
+ return;
462
+ let receipt = result.receipt;
463
+ if (!receipt && result.confirmation) {
464
+ const data = result.confirmation?.data?.result ?? result.confirmation?.result ?? result.confirmation;
465
+ const slot = data?.slot;
466
+ const meta = data?.meta;
467
+ receipt = {
468
+ status: meta?.err === null ? 1 : 0,
469
+ blockNumber: slot ?? null,
470
+ gasUsed: meta?.fee != null ? String(meta.fee) : null
471
+ };
472
+ }
473
+ const cluster = network.includes("devnet") ? "?cluster=devnet" : "";
474
+ updateResult({
475
+ txHash: result.txHash,
476
+ network,
477
+ chain: "solana",
478
+ receipt,
479
+ explorerUrl: `https://explorer.solana.com/tx/${result.txHash}${cluster}`
480
+ });
481
+ }
441
482
  };
442
483
 
443
484
  export {
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  abcConnector
4
- } from "./chunk-HHZ3JZRH.js";
4
+ } from "./chunk-4YEALKXG.js";
5
5
  import {
6
6
  resolveTalkenApiUrl
7
7
  } from "./chunk-GFWUFYT2.js";
8
8
  import {
9
9
  createTalkenApiClient
10
- } from "./chunk-BHEVY4QY.js";
10
+ } from "./chunk-KIYXONNH.js";
11
11
  import {
12
12
  ABC_WALLET_METADATA
13
- } from "./chunk-DPTDOCWL.js";
13
+ } from "./chunk-RX2VOIUB.js";
14
14
 
15
15
  // src/wallets/walletConnectors/abcWallet/abcWallet.ts
16
16
  import { setTalkenApiClient } from "@talken/talkenkit";
@@ -21,6 +21,7 @@ var abcWallet = (specificOptions) => ({ projectId }) => {
21
21
  debug: specificOptions?.environment === "development"
22
22
  });
23
23
  setTalkenApiClient(talkenApi);
24
+ const accessKey = specificOptions?.accessKey || (typeof localStorage !== "undefined" ? localStorage.getItem("talken_ak") : null) || null;
24
25
  const config = {
25
26
  talkenApiUrl,
26
27
  apiKey: specificOptions?.apiKey,
@@ -30,7 +31,8 @@ var abcWallet = (specificOptions) => ({ projectId }) => {
30
31
  defaultChainId: specificOptions?.defaultChainId,
31
32
  defaultSolanaNetwork: specificOptions?.defaultSolanaNetwork,
32
33
  defaultBitcoinNetwork: specificOptions?.defaultBitcoinNetwork,
33
- projectId
34
+ projectId,
35
+ ...accessKey && { accessKey }
34
36
  };
35
37
  return {
36
38
  id: ABC_WALLET_METADATA.id,
@@ -43,6 +45,7 @@ var abcWallet = (specificOptions) => ({ projectId }) => {
43
45
  // No download URLs for embedded wallet
44
46
  downloadUrls: void 0,
45
47
  // Create connector - wrapper function required by Wallet type
48
+ // If accessKey exists, abcConnector will use AbcAccessKeyProvider internally
46
49
  createConnector: (_walletDetails) => abcConnector({ config }),
47
50
  // Embedded wallet always available
48
51
  hidden: () => false
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  TALKEN_API_ENDPOINTS
4
- } from "./chunk-DPTDOCWL.js";
4
+ } from "./chunk-RX2VOIUB.js";
5
5
 
6
6
  // src/wallets/walletConnectors/abcWallet/api/TokenApi.ts
7
7
  import { getTalkenApiClient } from "@talken/talkenkit";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-4P3SPC44.js";
11
11
  import {
12
12
  getCredentialManager
13
- } from "./chunk-6WF4SXLB.js";
13
+ } from "./chunk-QKK3OPQA.js";
14
14
 
15
15
  // src/wallets/walletConnectors/abcWallet/walletGeneration.ts
16
16
  import { getTalkenApiClient } from "@talken/talkenkit";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  TokenApi
4
- } from "./chunk-MO2AXXLI.js";
4
+ } from "./chunk-FKI5AZVH.js";
5
5
 
6
6
  // src/wallets/walletConnectors/abcWallet/api/WalletscanApi.ts
7
7
  import { getTalkenApiClient, networkNameToChainKey } from "@talken/talkenkit";
@@ -4,12 +4,12 @@ import {
4
4
  } from "./chunk-4P3SPC44.js";
5
5
  import {
6
6
  getCredentialManager
7
- } from "./chunk-6WF4SXLB.js";
7
+ } from "./chunk-QKK3OPQA.js";
8
8
  import {
9
9
  DEFAULT_TALKEN_API_CONFIG,
10
10
  TALKEN_API_ENDPOINTS,
11
11
  TOKEN_EXPIRY
12
- } from "./chunk-DPTDOCWL.js";
12
+ } from "./chunk-RX2VOIUB.js";
13
13
 
14
14
  // src/wallets/walletConnectors/abcWallet/api/TalkenApiClient.ts
15
15
  var STORAGE_KEY_PREFIX = "talken_api_";
@@ -365,6 +365,21 @@ var TalkenEvmModule = class {
365
365
  const qs = new URLSearchParams({ network, address }).toString();
366
366
  return this.client.get(`${TALKEN_API_ENDPOINTS.NONCE}?${qs}`);
367
367
  }
368
+ /**
369
+ * Get native balance for address
370
+ * GET /wallet/address/balance?network=&address=
371
+ */
372
+ async getBalance(network, address) {
373
+ const qs = new URLSearchParams({ network, address }).toString();
374
+ return this.client.get(`${TALKEN_API_ENDPOINTS.ADDRESS_BALANCE}?${qs}`);
375
+ }
376
+ /**
377
+ * Execute read-only eth_call
378
+ * POST /wallet/contract/eth-call { network, to, data, from? }
379
+ */
380
+ async ethCall(params) {
381
+ return this.client.post(TALKEN_API_ENDPOINTS.ETH_CALL, params);
382
+ }
368
383
  };
369
384
  var TalkenSolanaModule = class {
370
385
  constructor(client) {
@@ -536,6 +551,24 @@ var TalkenTronModule = class {
536
551
  params
537
552
  );
538
553
  }
554
+ /**
555
+ * Get TRON account info (balance, resource, permissions)
556
+ * GET /wallet/tron?mode=account&network=&address=
557
+ */
558
+ async getAccount(network, address) {
559
+ return this.client.get(
560
+ `${TALKEN_API_ENDPOINTS.TRON_UTIL}?mode=account&network=${encodeURIComponent(network)}&address=${encodeURIComponent(address)}`
561
+ );
562
+ }
563
+ /**
564
+ * Get TRC20 token balance
565
+ * GET /wallet/tron?mode=trc20Balance&network=&address=&contractAddress=
566
+ */
567
+ async getTrc20Balance(network, address, contractAddress) {
568
+ return this.client.get(
569
+ `${TALKEN_API_ENDPOINTS.TRON_UTIL}?mode=trc20Balance&network=${encodeURIComponent(network)}&address=${encodeURIComponent(address)}&contractAddress=${encodeURIComponent(contractAddress)}`
570
+ );
571
+ }
539
572
  };
540
573
  var TalkenWalletscanModule = class {
541
574
  constructor(client) {