@talken/talkenkit 2.3.15 → 2.4.5

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 (195) hide show
  1. package/dist/{chunk-UWHLB4MJ.js → chunk-RQ637EP3.js} +0 -2
  2. package/dist/components/ConnectOptions/ExternalWallets/EthereumWallet/EthereumWalletList.d.ts +4 -4
  3. package/dist/index.d.ts +6 -5
  4. package/dist/index.js +6783 -6571
  5. package/dist/{secure-SSSSQ4NA.js → secure-X6ZSGFOB.js} +1 -1
  6. package/dist/services/AbcAuthService.d.ts +1 -1
  7. package/dist/solana/AbcSolanaAutoConnector.d.ts +7 -0
  8. package/dist/solana/SolanaWalletProvider.d.ts +18 -2
  9. package/dist/solana/config.d.ts +26 -0
  10. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +7 -0
  11. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +37 -0
  12. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +4 -4
  13. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  14. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
  15. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -6
  16. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +3 -3
  17. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +166 -0
  18. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +725 -0
  19. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -7
  20. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +5 -5
  21. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.d.ts +5 -0
  22. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +4 -4
  23. package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +5 -5
  24. package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +5 -5
  25. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +16 -5
  26. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +5 -5
  27. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +5 -5
  28. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +5 -5
  29. package/dist/wallets/walletConnectors/abcWallet/api/index.js +13 -13
  30. package/dist/wallets/walletConnectors/abcWallet/googleAuth.d.ts +1 -1
  31. package/dist/wallets/walletConnectors/abcWallet/googleAuth.js +5 -7
  32. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +3 -7
  33. package/dist/wallets/walletConnectors/abcWallet/index.js +36 -46
  34. package/dist/wallets/walletConnectors/abcWallet/secure.js +1 -1
  35. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.d.ts +38 -0
  36. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +15 -0
  37. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +34 -1
  38. package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
  39. package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +1 -1
  40. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
  41. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +2 -2
  42. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  43. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  44. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  45. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  46. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  47. package/dist/wallets/walletConnectors/chunk-2GNL2GNB.js +154 -0
  48. package/dist/wallets/walletConnectors/{chunk-5DDAV4BZ.js → chunk-2NAY6X3G.js} +1 -1
  49. package/dist/wallets/walletConnectors/{chunk-ZIYAL44B.js → chunk-2NVHWZUE.js} +1 -1
  50. package/dist/wallets/walletConnectors/{chunk-LENPUTNQ.js → chunk-36J4NGMW.js} +12 -20
  51. package/dist/wallets/walletConnectors/{chunk-4MF5RSML.js → chunk-3CTIR723.js} +1 -1
  52. package/dist/wallets/walletConnectors/{chunk-AVPBPELO.js → chunk-3WLUH24A.js} +10 -10
  53. package/dist/wallets/walletConnectors/{chunk-YEHCPL4R.js → chunk-53LPTQ6J.js} +2 -2
  54. package/dist/wallets/walletConnectors/{chunk-GXGRTWJM.js → chunk-5CZGFT24.js} +10 -10
  55. package/dist/wallets/walletConnectors/{chunk-BJHGC546.js → chunk-5JIPWC5W.js} +12 -24
  56. package/dist/wallets/walletConnectors/{chunk-4N6JD6LY.js → chunk-5LPD35BU.js} +9 -9
  57. package/dist/wallets/walletConnectors/{chunk-UV5HHESJ.js → chunk-5RSS3SRV.js} +29 -12
  58. package/dist/wallets/walletConnectors/{chunk-3ZE57J3R.js → chunk-64TRAZ6V.js} +1 -1
  59. package/dist/wallets/walletConnectors/{chunk-KKPINUPY.js → chunk-6BAXMYSN.js} +2 -2
  60. package/dist/wallets/walletConnectors/{chunk-PPIFAF7N.js → chunk-7MOCKWA7.js} +65 -19
  61. package/dist/wallets/walletConnectors/{chunk-75RN2RLT.js → chunk-7TYZCXIR.js} +12 -12
  62. package/dist/wallets/walletConnectors/{chunk-HVPQO6ZG.js → chunk-7UIXGYOT.js} +5 -20
  63. package/dist/wallets/walletConnectors/{chunk-BL57XWJY.js → chunk-7UQQKSV7.js} +1 -1
  64. package/dist/wallets/walletConnectors/{chunk-FGBDWBWQ.js → chunk-AIKTQX6B.js} +2 -2
  65. package/dist/wallets/walletConnectors/chunk-AO24PU7X.js +104 -0
  66. package/dist/wallets/walletConnectors/{chunk-4YJWX7I3.js → chunk-APLOMU6R.js} +1 -1
  67. package/dist/wallets/walletConnectors/chunk-AZAV5URB.js +267 -0
  68. package/dist/wallets/walletConnectors/chunk-BO6OI7XU.js +63 -0
  69. package/dist/wallets/walletConnectors/{chunk-P2GV6NQG.js → chunk-BV3DCJXA.js} +12 -20
  70. package/dist/wallets/walletConnectors/{chunk-KJHOGJ3A.js → chunk-CNRPEVLV.js} +16 -4
  71. package/dist/wallets/walletConnectors/{chunk-OC2O4BHA.js → chunk-COPAK5YT.js} +2 -2
  72. package/dist/wallets/walletConnectors/chunk-CZVBS7QE.js +436 -0
  73. package/dist/wallets/walletConnectors/{chunk-QKUFFUM5.js → chunk-DA5J6GHZ.js} +14 -4
  74. package/dist/wallets/walletConnectors/chunk-FMDSZ2CE.js +63 -0
  75. package/dist/wallets/walletConnectors/{chunk-5CCU7PNU.js → chunk-FQTLYAWT.js} +2 -2
  76. package/dist/wallets/walletConnectors/chunk-FUOQBONI.js +47 -0
  77. package/dist/wallets/walletConnectors/chunk-FWCS4HBL.js +1695 -0
  78. package/dist/wallets/walletConnectors/chunk-FY7UDC3W.js +63 -0
  79. package/dist/wallets/walletConnectors/chunk-GZUP3M2X.js +63 -0
  80. package/dist/wallets/walletConnectors/chunk-H52W4ZFE.js +272 -0
  81. package/dist/wallets/walletConnectors/chunk-HEQZLRTH.js +309 -0
  82. package/dist/wallets/walletConnectors/{chunk-ISAMATTH.js → chunk-HFC4AK72.js} +2 -2
  83. package/dist/wallets/walletConnectors/chunk-HKIV22NT.js +63 -0
  84. package/dist/wallets/walletConnectors/chunk-HLC24OGS.js +63 -0
  85. package/dist/wallets/walletConnectors/{chunk-5TDZSXJ4.js → chunk-HTD7IRKM.js} +2 -2
  86. package/dist/wallets/walletConnectors/chunk-IQJWD4IN.js +269 -0
  87. package/dist/wallets/walletConnectors/chunk-IZUAJRJ4.js +311 -0
  88. package/dist/wallets/walletConnectors/{chunk-NX5MQHSQ.js → chunk-J6VUIOSE.js} +23 -2
  89. package/dist/wallets/walletConnectors/chunk-JH2SJPEY.js +63 -0
  90. package/dist/wallets/walletConnectors/chunk-JQ57SCY6.js +313 -0
  91. package/dist/wallets/walletConnectors/{chunk-F5P2INHS.js → chunk-KB7OGAUC.js} +14 -4
  92. package/dist/wallets/walletConnectors/chunk-KXEAFXAA.js +226 -0
  93. package/dist/wallets/walletConnectors/{chunk-JR2C4XXX.js → chunk-LLWI2QWC.js} +74 -18
  94. package/dist/wallets/walletConnectors/{chunk-H2MX4NAL.js → chunk-LQ2U33WM.js} +29 -16
  95. package/dist/wallets/walletConnectors/{chunk-BNSBK5PQ.js → chunk-M7KXDTM6.js} +14 -4
  96. package/dist/wallets/walletConnectors/{chunk-CYYBGUSO.js → chunk-MKAXMNZM.js} +4 -4
  97. package/dist/wallets/walletConnectors/chunk-MNRRJSFM.js +272 -0
  98. package/dist/wallets/walletConnectors/chunk-MPFE6GP2.js +306 -0
  99. package/dist/wallets/walletConnectors/{chunk-EEY5CXKO.js → chunk-MPNSYA4E.js} +2 -2
  100. package/dist/wallets/walletConnectors/chunk-NDLQSZ2F.js +63 -0
  101. package/dist/wallets/walletConnectors/{chunk-G2LI5MVX.js → chunk-NDYGTKP5.js} +0 -2
  102. package/dist/wallets/walletConnectors/chunk-NLBRSN6Q.js +63 -0
  103. package/dist/wallets/walletConnectors/{chunk-BSBRWKNG.js → chunk-NPF7NOA7.js} +69 -23
  104. package/dist/wallets/walletConnectors/{chunk-7DEZCGNV.js → chunk-NUJ6VD2U.js} +82 -16
  105. package/dist/wallets/walletConnectors/chunk-PSRATZTN.js +47 -0
  106. package/dist/wallets/walletConnectors/{chunk-MZOFZ2NQ.js → chunk-QCIIXMAZ.js} +2 -2
  107. package/dist/wallets/walletConnectors/{chunk-GHLLVM7O.js → chunk-RCI7QYCZ.js} +82 -18
  108. package/dist/wallets/walletConnectors/{chunk-QI2VB7LL.js → chunk-RHQXGWIW.js} +82 -16
  109. package/dist/wallets/walletConnectors/chunk-RPOLRZ4N.js +276 -0
  110. package/dist/wallets/walletConnectors/{chunk-5UEBEMEE.js → chunk-RQIUWXDF.js} +2 -1
  111. package/dist/wallets/walletConnectors/{chunk-RLR4Y5WO.js → chunk-SCD35IRD.js} +4 -0
  112. package/dist/wallets/walletConnectors/{chunk-EGOIRXTV.js → chunk-SOCVQ5N3.js} +2 -2
  113. package/dist/wallets/walletConnectors/chunk-TTRSCIGA.js +194 -0
  114. package/dist/wallets/walletConnectors/chunk-TYUEB4VT.js +477 -0
  115. package/dist/wallets/walletConnectors/{chunk-WTYSUOKN.js → chunk-UZXTNCDO.js} +17 -5
  116. package/dist/wallets/walletConnectors/chunk-V33I7JGZ.js +156 -0
  117. package/dist/wallets/walletConnectors/chunk-V4Q3GNBX.js +484 -0
  118. package/dist/wallets/walletConnectors/chunk-VCCTIYUJ.js +63 -0
  119. package/dist/wallets/walletConnectors/chunk-VGOISIH3.js +223 -0
  120. package/dist/wallets/walletConnectors/chunk-XFGVJOQL.js +223 -0
  121. package/dist/wallets/walletConnectors/chunk-XIOPKI2F.js +47 -0
  122. package/dist/wallets/walletConnectors/{chunk-O6EAIC4G.js → chunk-XJ4SP35I.js} +4 -1
  123. package/dist/wallets/walletConnectors/chunk-XKGUE56S.js +226 -0
  124. package/dist/wallets/walletConnectors/chunk-XQEAXENJ.js +63 -0
  125. package/dist/wallets/walletConnectors/{chunk-RY4RAB3D.js → chunk-YCZ4CZQ6.js} +106 -66
  126. package/dist/wallets/walletConnectors/chunk-Z2DC2J7S.js +345 -0
  127. package/dist/wallets/walletConnectors/chunk-Z2K3RHWK.js +47 -0
  128. package/dist/wallets/walletConnectors/chunk-ZASMSEC3.js +63 -0
  129. package/dist/wallets/walletConnectors/{chunk-G7PEFBL6.js → chunk-ZNBWRE3K.js} +2 -2
  130. package/dist/wallets/walletConnectors/chunk-ZNVFM2J2.js +156 -0
  131. package/dist/wallets/walletConnectors/chunk-ZQLQELFC.js +309 -0
  132. package/dist/wallets/walletConnectors/chunk-ZR7CEF64.js +63 -0
  133. package/dist/wallets/walletConnectors/chunk-ZSGFDK77.js +63 -0
  134. package/dist/wallets/walletConnectors/chunk-ZUIY2TRJ.js +1695 -0
  135. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  136. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  137. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  138. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  139. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  140. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  141. package/dist/wallets/walletConnectors/index.js +55 -55
  142. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  143. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  144. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  145. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  146. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  147. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  148. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  149. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  150. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  151. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  152. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  153. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  154. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  155. package/package.json +12 -11
  156. package/LICENSE +0 -9
  157. package/dist/solana/hooks/index.d.ts +0 -12
  158. package/dist/solana/hooks/useSolanaAccount.d.ts +0 -98
  159. package/dist/solana/hooks/useSolanaConnection.d.ts +0 -72
  160. package/dist/solana/hooks/useSolanaSendTransaction.d.ts +0 -98
  161. package/dist/solana/hooks/useSolanaSignMessage.d.ts +0 -82
  162. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.d.ts +0 -45
  163. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +0 -10
  164. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.d.ts +0 -115
  165. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.js +0 -12
  166. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +0 -143
  167. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +0 -13
  168. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.d.ts +0 -18
  169. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +0 -15
  170. package/dist/wallets/walletConnectors/chunk-2XZBPMQJ.js +0 -39
  171. package/dist/wallets/walletConnectors/chunk-3SVPZCA6.js +0 -71
  172. package/dist/wallets/walletConnectors/chunk-3ZZXE7EL.js +0 -39
  173. package/dist/wallets/walletConnectors/chunk-5QEUEPNY.js +0 -94
  174. package/dist/wallets/walletConnectors/chunk-75W4VLFA.js +0 -482
  175. package/dist/wallets/walletConnectors/chunk-B6JLYR3I.js +0 -66
  176. package/dist/wallets/walletConnectors/chunk-FROV5VDF.js +0 -346
  177. package/dist/wallets/walletConnectors/chunk-HKWBR5B7.js +0 -102
  178. package/dist/wallets/walletConnectors/chunk-K4APJ4PE.js +0 -96
  179. package/dist/wallets/walletConnectors/chunk-LJ2B47VF.js +0 -108
  180. package/dist/wallets/walletConnectors/chunk-LXINMUQC.js +0 -186
  181. package/dist/wallets/walletConnectors/chunk-MORUEOYX.js +0 -76
  182. package/dist/wallets/walletConnectors/chunk-MQTXA63X.js +0 -27
  183. package/dist/wallets/walletConnectors/chunk-N4FOYXQD.js +0 -63
  184. package/dist/wallets/walletConnectors/chunk-NEXFU6BZ.js +0 -39
  185. package/dist/wallets/walletConnectors/chunk-PMZJGS7X.js +0 -73
  186. package/dist/wallets/walletConnectors/chunk-QEHZXKRF.js +0 -39
  187. package/dist/wallets/walletConnectors/chunk-T6KJZAPR.js +0 -47
  188. package/dist/wallets/walletConnectors/chunk-UBCMBPX3.js +0 -58
  189. package/dist/wallets/walletConnectors/chunk-UGQXI3RN.js +0 -284
  190. package/dist/wallets/walletConnectors/chunk-WZZVA3LW.js +0 -101
  191. package/dist/wallets/walletConnectors/chunk-X4WUD7PF.js +0 -63
  192. package/dist/wallets/walletConnectors/chunk-XOQNQKZE.js +0 -98
  193. package/dist/wallets/walletConnectors/chunk-XPSCFUX6.js +0 -372
  194. package/dist/wallets/walletConnectors/chunk-Y3LWEDF6.js +0 -63
  195. package/dist/wallets/walletConnectors/chunk-ZJ6OFFD5.js +0 -95
@@ -0,0 +1,306 @@
1
+ "use client";
2
+ import {
3
+ secure_default
4
+ } from "./chunk-NDYGTKP5.js";
5
+ import {
6
+ calculateExpiryTimestamp,
7
+ createAbcError,
8
+ isTokenExpired,
9
+ loadFromStorage,
10
+ parseApiError,
11
+ removeFromStorage,
12
+ saveToStorage
13
+ } from "./chunk-5RSS3SRV.js";
14
+ import {
15
+ ABC_ENDPOINTS,
16
+ DEFAULT_HEADERS,
17
+ REQUEST_TIMEOUT
18
+ } from "./chunk-VETRBBA2.js";
19
+
20
+ // src/wallets/walletConnectors/abcWallet/api/BaseApiClient.ts
21
+ var BaseApiClient = class {
22
+ constructor(config) {
23
+ this.accessToken = null;
24
+ this.refreshToken = null;
25
+ this.expiresAt = null;
26
+ this.isRefreshing = false;
27
+ this.refreshPromise = null;
28
+ this.config = config;
29
+ this.baseURL = config.waasUrl;
30
+ this.secure = new secure_default(this.baseURL);
31
+ this.loadTokens();
32
+ }
33
+ /**
34
+ * Load tokens from storage
35
+ */
36
+ loadTokens() {
37
+ this.accessToken = loadFromStorage("access_token" /* ACCESS_TOKEN */);
38
+ this.refreshToken = loadFromStorage("refresh_token" /* REFRESH_TOKEN */);
39
+ this.expiresAt = loadFromStorage("expires_at" /* EXPIRES_AT */);
40
+ }
41
+ /**
42
+ * Set tokens in client instance (useful when restoring from storage or state)
43
+ * Call this before making API requests if tokens are managed externally
44
+ */
45
+ setTokens(accessToken, refreshToken, expiresAt) {
46
+ this.accessToken = accessToken;
47
+ this.refreshToken = refreshToken;
48
+ this.expiresAt = expiresAt;
49
+ }
50
+ /**
51
+ * Save tokens to storage
52
+ */
53
+ saveTokens(accessToken, refreshToken, expiresIn) {
54
+ this.accessToken = accessToken;
55
+ this.refreshToken = refreshToken;
56
+ this.expiresAt = calculateExpiryTimestamp(expiresIn);
57
+ saveToStorage("access_token" /* ACCESS_TOKEN */, accessToken);
58
+ saveToStorage("refresh_token" /* REFRESH_TOKEN */, refreshToken);
59
+ saveToStorage("expires_at" /* EXPIRES_AT */, this.expiresAt);
60
+ }
61
+ /**
62
+ * Clear tokens
63
+ */
64
+ clearTokens() {
65
+ this.accessToken = null;
66
+ this.refreshToken = null;
67
+ this.expiresAt = null;
68
+ removeFromStorage("access_token" /* ACCESS_TOKEN */);
69
+ removeFromStorage("refresh_token" /* REFRESH_TOKEN */);
70
+ removeFromStorage("expires_at" /* EXPIRES_AT */);
71
+ }
72
+ /**
73
+ * Check if access token is expired
74
+ */
75
+ isTokenExpired() {
76
+ return isTokenExpired(this.expiresAt);
77
+ }
78
+ /**
79
+ * Get current access token
80
+ */
81
+ getAccessToken() {
82
+ return this.accessToken;
83
+ }
84
+ /**
85
+ * Set access token manually
86
+ */
87
+ setAccessToken(token) {
88
+ this.accessToken = token;
89
+ }
90
+ /**
91
+ * Get base URL
92
+ */
93
+ getBaseURL() {
94
+ return this.baseURL;
95
+ }
96
+ /**
97
+ * Get configuration
98
+ */
99
+ getConfig() {
100
+ return this.config;
101
+ }
102
+ /**
103
+ * Refresh access token
104
+ */
105
+ async refreshAccessToken() {
106
+ if (this.isRefreshing) {
107
+ if (this.refreshPromise) {
108
+ await this.refreshPromise;
109
+ }
110
+ return;
111
+ }
112
+ if (!this.refreshToken) {
113
+ throw createAbcError(
114
+ "TOKEN_EXPIRED" /* TOKEN_EXPIRED */,
115
+ "No refresh token available"
116
+ );
117
+ }
118
+ this.isRefreshing = true;
119
+ this.refreshPromise = (async () => {
120
+ try {
121
+ const isIframe = typeof window !== "undefined" && window.self !== window.top;
122
+ const talkenApiUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
123
+ const isProd = this.config.environment === "production";
124
+ const headers = { ...DEFAULT_HEADERS };
125
+ if (isProd) {
126
+ headers["User-Agent"] = "Android";
127
+ }
128
+ const response = await fetch(
129
+ `${talkenApiUrl}${ABC_ENDPOINTS.REFRESH_TOKEN}`,
130
+ {
131
+ method: "POST",
132
+ headers,
133
+ credentials: "include",
134
+ body: new URLSearchParams({
135
+ refresh_token: this.refreshToken || "",
136
+ isIframe: String(isIframe)
137
+ }).toString()
138
+ }
139
+ );
140
+ const text = await response.text();
141
+ const data = text ? JSON.parse(text) : {};
142
+ if (response.ok && data.access_token) {
143
+ const expiresIn = data.expire_in || 3600;
144
+ this.saveTokens(
145
+ data.access_token,
146
+ data.refresh_token || this.refreshToken,
147
+ expiresIn
148
+ );
149
+ } else {
150
+ throw createAbcError(
151
+ "TOKEN_EXPIRED" /* TOKEN_EXPIRED */,
152
+ "Failed to refresh token"
153
+ );
154
+ }
155
+ } finally {
156
+ this.isRefreshing = false;
157
+ this.refreshPromise = null;
158
+ }
159
+ })();
160
+ await this.refreshPromise;
161
+ }
162
+ /**
163
+ * Make HTTP request with automatic token refresh
164
+ */
165
+ async request(endpoint, options = {}) {
166
+ const {
167
+ method = "GET",
168
+ body,
169
+ headers = {},
170
+ skipAuth = false,
171
+ isRetry = false,
172
+ contentType = "form"
173
+ // Default to form-encoded for backward compatibility
174
+ } = options;
175
+ if (!skipAuth && this.isTokenExpired() && this.refreshToken) {
176
+ await this.refreshAccessToken();
177
+ }
178
+ const url = `${this.baseURL}${endpoint}`;
179
+ const requestHeaders = {
180
+ ...DEFAULT_HEADERS,
181
+ ...headers
182
+ };
183
+ if (contentType === "json") {
184
+ requestHeaders["Content-Type"] = "application/json";
185
+ requestHeaders["Accept"] = "application/json";
186
+ }
187
+ if (this.config.environment === "production") {
188
+ requestHeaders["User-Agent"] = "Android";
189
+ }
190
+ if (!skipAuth && this.accessToken) {
191
+ requestHeaders.Authorization = `Bearer ${this.accessToken}`;
192
+ }
193
+ if (this.config.apiKey) {
194
+ requestHeaders["X-API-Key"] = this.config.apiKey;
195
+ }
196
+ try {
197
+ const controller = new AbortController();
198
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
199
+ const requestBody = body ? contentType === "json" ? JSON.stringify(body) : new URLSearchParams(body).toString() : void 0;
200
+ const response = await fetch(url, {
201
+ method,
202
+ headers: requestHeaders,
203
+ body: requestBody,
204
+ signal: controller.signal
205
+ });
206
+ clearTimeout(timeoutId);
207
+ const text = await response.text();
208
+ let data;
209
+ if (text) {
210
+ try {
211
+ data = JSON.parse(text);
212
+ } catch (parseError) {
213
+ console.error("[BaseApiClient] \u274C JSON parse error:", {
214
+ url,
215
+ method,
216
+ status: response.status,
217
+ responseText: text.substring(0, 200)
218
+ });
219
+ throw createAbcError(
220
+ "UNKNOWN_ERROR" /* UNKNOWN_ERROR */,
221
+ "Invalid JSON response from server",
222
+ { text, parseError }
223
+ );
224
+ }
225
+ } else {
226
+ data = { status: "success" };
227
+ }
228
+ if (response.status === 401 && !skipAuth && this.refreshToken && !isRetry) {
229
+ try {
230
+ await this.refreshAccessToken();
231
+ return await this.request(endpoint, {
232
+ ...options,
233
+ isRetry: true
234
+ });
235
+ } catch (refreshError) {
236
+ console.error("Token refresh failed:", refreshError);
237
+ throw parseApiError({
238
+ response: {
239
+ status: response.status,
240
+ data
241
+ }
242
+ });
243
+ }
244
+ }
245
+ if (!response.ok) {
246
+ if (response.status !== 409) {
247
+ console.error("[BaseApiClient] \u274C API Error:", {
248
+ url,
249
+ method,
250
+ status: response.status,
251
+ statusText: response.statusText,
252
+ data
253
+ });
254
+ }
255
+ throw parseApiError({
256
+ response: {
257
+ status: response.status,
258
+ data
259
+ }
260
+ });
261
+ }
262
+ return data;
263
+ } catch (error) {
264
+ if (error.response?.status !== 409 && error.code !== "WALLET_ALREADY_EXISTS") {
265
+ console.error("[BaseApiClient] \u274C Request failed:", {
266
+ url,
267
+ method,
268
+ error: error.message
269
+ });
270
+ }
271
+ if (error.name === "AbortError") {
272
+ throw createAbcError(
273
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
274
+ "Request timeout",
275
+ error
276
+ );
277
+ }
278
+ if (error.code && error.message) {
279
+ throw error;
280
+ }
281
+ throw parseApiError(error);
282
+ }
283
+ }
284
+ /**
285
+ * Check if user is authenticated
286
+ */
287
+ isAuthenticated() {
288
+ return !!this.accessToken && !this.isTokenExpired();
289
+ }
290
+ /**
291
+ * Logout (clear tokens)
292
+ */
293
+ async logout() {
294
+ this.clearTokens();
295
+ }
296
+ /**
297
+ * Get secure service instance
298
+ */
299
+ getSecureService() {
300
+ return this.secure;
301
+ }
302
+ };
303
+
304
+ export {
305
+ BaseApiClient
306
+ };
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  BaseApiClient
4
- } from "./chunk-H2MX4NAL.js";
4
+ } from "./chunk-LQ2U33WM.js";
5
5
  import {
6
6
  getSolanaNetwork
7
7
  } from "./chunk-A7FIBI6X.js";
8
8
  import {
9
9
  createAbcError
10
- } from "./chunk-UV5HHESJ.js";
10
+ } from "./chunk-TYUEB4VT.js";
11
11
  import {
12
12
  ABC_ENDPOINTS,
13
13
  DEFAULT_HEADERS
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import {
3
+ TransactionApi
4
+ } from "./chunk-HFC4AK72.js";
5
+ import {
6
+ AuthApi
7
+ } from "./chunk-ZQLQELFC.js";
8
+ import {
9
+ BitcoinApi
10
+ } from "./chunk-M7KXDTM6.js";
11
+ import {
12
+ SigningApi
13
+ } from "./chunk-HTD7IRKM.js";
14
+ import {
15
+ WalletApi
16
+ } from "./chunk-MKAXMNZM.js";
17
+ import {
18
+ SolanaApi
19
+ } from "./chunk-NUJ6VD2U.js";
20
+
21
+ // src/wallets/walletConnectors/abcWallet/api/index.ts
22
+ var AbcWaasApiClient = class {
23
+ constructor(config) {
24
+ this.auth = new AuthApi(config);
25
+ this.wallet = new WalletApi(config);
26
+ this.transaction = new TransactionApi(config);
27
+ this.signing = new SigningApi(config);
28
+ this.solana = new SolanaApi(config);
29
+ this.bitcoin = new BitcoinApi(config);
30
+ }
31
+ /**
32
+ * Check if user is authenticated
33
+ */
34
+ isAuthenticated() {
35
+ return this.auth.isAuthenticated();
36
+ }
37
+ /**
38
+ * Check if access token is expired
39
+ */
40
+ isTokenExpired() {
41
+ return this.auth.isTokenExpired();
42
+ }
43
+ /**
44
+ * Get current access token
45
+ */
46
+ getAccessToken() {
47
+ return this.auth.getAccessToken();
48
+ }
49
+ /**
50
+ * Logout (clear tokens)
51
+ */
52
+ async logout() {
53
+ await this.auth.logout();
54
+ }
55
+ };
56
+ function createAbcWaasApiClient(config) {
57
+ return new AbcWaasApiClient(config);
58
+ }
59
+
60
+ export {
61
+ AbcWaasApiClient,
62
+ createAbcWaasApiClient
63
+ };
@@ -24,7 +24,6 @@ var SecureService = class {
24
24
  const pubkey = myKey.getPublic().encode("hex", false);
25
25
  const url = `${this.baseURL}${ABC_ENDPOINTS.SECURE_CHANNEL_CREATE}`;
26
26
  const bodyString = new URLSearchParams({ pubkey, plain }).toString();
27
- console.log("[SecureChannel] Creating secure channel:", url);
28
27
  const response = await fetch(url, {
29
28
  method: "POST",
30
29
  headers: {
@@ -43,7 +42,6 @@ var SecureService = class {
43
42
  );
44
43
  }
45
44
  const res = await response.json();
46
- console.log("[SecureChannel] API Response:", res);
47
45
  const resData = res;
48
46
  if (resData.channelid && resData.publickey) {
49
47
  const serverKey = ec.keyFromPublic(resData.publickey, "hex");
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import {
3
+ AuthApi
4
+ } from "./chunk-53LPTQ6J.js";
5
+ import {
6
+ BitcoinApi
7
+ } from "./chunk-DA5J6GHZ.js";
8
+ import {
9
+ SigningApi
10
+ } from "./chunk-COPAK5YT.js";
11
+ import {
12
+ TransactionApi
13
+ } from "./chunk-AIKTQX6B.js";
14
+ import {
15
+ WalletApi
16
+ } from "./chunk-SOCVQ5N3.js";
17
+ import {
18
+ SolanaApi
19
+ } from "./chunk-RHQXGWIW.js";
20
+
21
+ // src/wallets/walletConnectors/abcWallet/api/index.ts
22
+ var AbcWaasApiClient = class {
23
+ constructor(config) {
24
+ this.auth = new AuthApi(config);
25
+ this.wallet = new WalletApi(config);
26
+ this.transaction = new TransactionApi(config);
27
+ this.signing = new SigningApi(config);
28
+ this.solana = new SolanaApi(config);
29
+ this.bitcoin = new BitcoinApi(config);
30
+ }
31
+ /**
32
+ * Check if user is authenticated
33
+ */
34
+ isAuthenticated() {
35
+ return this.auth.isAuthenticated();
36
+ }
37
+ /**
38
+ * Check if access token is expired
39
+ */
40
+ isTokenExpired() {
41
+ return this.auth.isTokenExpired();
42
+ }
43
+ /**
44
+ * Get current access token
45
+ */
46
+ getAccessToken() {
47
+ return this.auth.getAccessToken();
48
+ }
49
+ /**
50
+ * Logout (clear tokens)
51
+ */
52
+ async logout() {
53
+ await this.auth.logout();
54
+ }
55
+ };
56
+ function createAbcWaasApiClient(config) {
57
+ return new AbcWaasApiClient(config);
58
+ }
59
+
60
+ export {
61
+ AbcWaasApiClient,
62
+ createAbcWaasApiClient
63
+ };
@@ -1,4 +1,10 @@
1
1
  "use client";
2
+ import {
3
+ secure_default
4
+ } from "./chunk-NDYGTKP5.js";
5
+ import {
6
+ getSolanaNetwork
7
+ } from "./chunk-A7FIBI6X.js";
2
8
  import {
3
9
  calculateExpiryTimestamp,
4
10
  createAbcError,
@@ -7,13 +13,7 @@ import {
7
13
  parseApiError,
8
14
  removeFromStorage,
9
15
  saveToStorage
10
- } from "./chunk-UV5HHESJ.js";
11
- import {
12
- secure_default
13
- } from "./chunk-G2LI5MVX.js";
14
- import {
15
- getSolanaNetwork
16
- } from "./chunk-A7FIBI6X.js";
16
+ } from "./chunk-5RSS3SRV.js";
17
17
  import {
18
18
  ABC_AUDIENCE,
19
19
  ABC_ENDPOINTS,
@@ -1516,24 +1516,55 @@ var AbcWaasClient = class {
1516
1516
  const response = await fetch(url, {
1517
1517
  method: "POST",
1518
1518
  headers: {
1519
- ...DEFAULT_HEADERS,
1519
+ "Content-Type": "application/json",
1520
+ // V3 API requires JSON, not form-urlencoded
1521
+ "Accept": "application/json",
1520
1522
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1521
1523
  },
1522
1524
  body: JSON.stringify({
1523
1525
  curve: "ed25519",
1524
1526
  password: pin
1525
1527
  // PIN will be encrypted by Secure Channel
1528
+ // Note: network parameter not needed for v3 API
1526
1529
  })
1527
1530
  });
1528
- const data = await response.json();
1529
- if (!response.ok || data.status !== "success") {
1531
+ let data;
1532
+ try {
1533
+ data = await response.json();
1534
+ } catch (e) {
1535
+ console.error(`[AbcWaasClient] Failed to parse response from ${url}:`, e);
1536
+ throw createAbcError(
1537
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1538
+ `Failed to ${isRecover ? "recover" : "generate"} Solana wallet - invalid response`,
1539
+ { status: response.status }
1540
+ );
1541
+ }
1542
+ if (!response.ok) {
1543
+ if (!isRecover && response.status === 409) {
1544
+ const error = createAbcError(
1545
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1546
+ "Wallet already exists",
1547
+ data
1548
+ );
1549
+ error.response = { status: 409 };
1550
+ throw error;
1551
+ }
1552
+ console.error(`[AbcWaasClient] ${isRecover ? "Recover" : "Generate"} failed:`, data);
1530
1553
  throw createAbcError(
1531
1554
  "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1532
- "Failed to generate Solana wallet",
1555
+ `Failed to ${isRecover ? "recover" : "generate"} Solana wallet`,
1556
+ data
1557
+ );
1558
+ }
1559
+ const result = data.result || data;
1560
+ if (!result.key_id || !result.public_key || !result.encrypted_share) {
1561
+ console.error("[AbcWaasClient] Invalid wallet response, missing required fields:", result);
1562
+ throw createAbcError(
1563
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1564
+ `Invalid wallet response from ${isRecover ? "recover" : "generate"}`,
1533
1565
  data
1534
1566
  );
1535
1567
  }
1536
- const result = data.result;
1537
1568
  const solanaNetwork = getSolanaNetwork();
1538
1569
  const addressResult = await this.getSolanaAddress(
1539
1570
  result.public_key,
@@ -1541,12 +1572,13 @@ var AbcWaasClient = class {
1541
1572
  );
1542
1573
  return {
1543
1574
  uid: result.uid || "",
1544
- sessionId: result.share_id,
1545
- shareId: result.share_id,
1575
+ sessionId: result.share_id || result.key_id,
1576
+ shareId: result.share_id || result.key_id,
1546
1577
  publicKey: result.public_key,
1547
1578
  address: addressResult,
1548
- keyId: result.key_id || result.share_id,
1579
+ keyId: result.key_id,
1549
1580
  encryptedShare: result.encrypted_share || "",
1581
+ secretStore: result.secret_store || "",
1550
1582
  network: solanaNetwork
1551
1583
  };
1552
1584
  }
@@ -1556,16 +1588,18 @@ var AbcWaasClient = class {
1556
1588
  */
1557
1589
  async getSolanaAddress(publicKey, network) {
1558
1590
  const url = `${this.baseURL}/wapi/v2/solana/wallet/getAddress`;
1591
+ const body = new URLSearchParams({
1592
+ network,
1593
+ publicKey
1594
+ }).toString();
1559
1595
  const response = await fetch(url, {
1560
1596
  method: "POST",
1561
1597
  headers: {
1562
1598
  ...DEFAULT_HEADERS,
1599
+ // Contains 'Content-Type': 'application/x-www-form-urlencoded'
1563
1600
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1564
1601
  },
1565
- body: JSON.stringify({
1566
- network,
1567
- publicKey
1568
- })
1602
+ body
1569
1603
  });
1570
1604
  const data = await response.json();
1571
1605
  if (!response.ok || data.status !== "success") {
@@ -1586,16 +1620,22 @@ var AbcWaasClient = class {
1586
1620
  const response = await fetch(url, {
1587
1621
  method: "POST",
1588
1622
  headers: {
1589
- ...DEFAULT_HEADERS,
1623
+ "Content-Type": "application/json",
1624
+ Accept: "application/json",
1590
1625
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1591
1626
  },
1592
1627
  body: JSON.stringify({
1593
1628
  uid: params.uid,
1594
1629
  share_id: params.shareId,
1630
+ key_id: params.keyId,
1631
+ encrypted_share: params.encryptedShare,
1632
+ public_key: params.publicKey,
1595
1633
  message: params.message,
1596
1634
  // Hex-encoded transaction
1597
- password: params.pin
1635
+ password: params.pin,
1598
1636
  // PIN will be encrypted
1637
+ network: params.network
1638
+ // Required: 'solana' or 'solana_devnet'
1599
1639
  })
1600
1640
  });
1601
1641
  const data = await response.json();
@@ -1619,15 +1659,21 @@ var AbcWaasClient = class {
1619
1659
  const response = await fetch(url, {
1620
1660
  method: "POST",
1621
1661
  headers: {
1622
- ...DEFAULT_HEADERS,
1662
+ "Content-Type": "application/json",
1663
+ Accept: "application/json",
1623
1664
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1624
1665
  },
1625
1666
  body: JSON.stringify({
1626
1667
  uid: params.uid,
1627
1668
  share_id: params.shareId,
1669
+ key_id: params.keyId,
1670
+ encrypted_share: params.encryptedShare,
1671
+ public_key: params.publicKey,
1628
1672
  message: params.message,
1629
1673
  // Hex-encoded message
1630
- password: params.pin
1674
+ password: params.pin,
1675
+ network: params.network
1676
+ // Required: 'solana' or 'solana_devnet'
1631
1677
  })
1632
1678
  });
1633
1679
  const data = await response.json();