@talken/talkenkit 2.3.15 → 2.4.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 (170) 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/chunk-2GNL2GNB.js +154 -0
  43. package/dist/wallets/walletConnectors/{chunk-5DDAV4BZ.js → chunk-2NAY6X3G.js} +1 -1
  44. package/dist/wallets/walletConnectors/{chunk-ZIYAL44B.js → chunk-2NVHWZUE.js} +1 -1
  45. package/dist/wallets/walletConnectors/{chunk-LENPUTNQ.js → chunk-36J4NGMW.js} +12 -20
  46. package/dist/wallets/walletConnectors/{chunk-4MF5RSML.js → chunk-3CTIR723.js} +1 -1
  47. package/dist/wallets/walletConnectors/{chunk-AVPBPELO.js → chunk-3WLUH24A.js} +10 -10
  48. package/dist/wallets/walletConnectors/{chunk-YEHCPL4R.js → chunk-53LPTQ6J.js} +2 -2
  49. package/dist/wallets/walletConnectors/{chunk-GXGRTWJM.js → chunk-5CZGFT24.js} +10 -10
  50. package/dist/wallets/walletConnectors/{chunk-BJHGC546.js → chunk-5JIPWC5W.js} +12 -24
  51. package/dist/wallets/walletConnectors/{chunk-4N6JD6LY.js → chunk-5LPD35BU.js} +9 -9
  52. package/dist/wallets/walletConnectors/{chunk-UV5HHESJ.js → chunk-5RSS3SRV.js} +29 -12
  53. package/dist/wallets/walletConnectors/{chunk-3ZE57J3R.js → chunk-64TRAZ6V.js} +1 -1
  54. package/dist/wallets/walletConnectors/{chunk-KKPINUPY.js → chunk-6BAXMYSN.js} +2 -2
  55. package/dist/wallets/walletConnectors/{chunk-PPIFAF7N.js → chunk-7MOCKWA7.js} +65 -19
  56. package/dist/wallets/walletConnectors/{chunk-75RN2RLT.js → chunk-7TYZCXIR.js} +12 -12
  57. package/dist/wallets/walletConnectors/{chunk-HVPQO6ZG.js → chunk-7UIXGYOT.js} +5 -20
  58. package/dist/wallets/walletConnectors/{chunk-BL57XWJY.js → chunk-7UQQKSV7.js} +1 -1
  59. package/dist/wallets/walletConnectors/{chunk-FGBDWBWQ.js → chunk-AIKTQX6B.js} +2 -2
  60. package/dist/wallets/walletConnectors/chunk-AO24PU7X.js +104 -0
  61. package/dist/wallets/walletConnectors/{chunk-4YJWX7I3.js → chunk-APLOMU6R.js} +1 -1
  62. package/dist/wallets/walletConnectors/chunk-AZAV5URB.js +267 -0
  63. package/dist/wallets/walletConnectors/chunk-BO6OI7XU.js +63 -0
  64. package/dist/wallets/walletConnectors/{chunk-P2GV6NQG.js → chunk-BV3DCJXA.js} +12 -20
  65. package/dist/wallets/walletConnectors/{chunk-KJHOGJ3A.js → chunk-CNRPEVLV.js} +16 -4
  66. package/dist/wallets/walletConnectors/{chunk-OC2O4BHA.js → chunk-COPAK5YT.js} +2 -2
  67. package/dist/wallets/walletConnectors/chunk-CZVBS7QE.js +436 -0
  68. package/dist/wallets/walletConnectors/{chunk-QKUFFUM5.js → chunk-DA5J6GHZ.js} +14 -4
  69. package/dist/wallets/walletConnectors/chunk-FMDSZ2CE.js +63 -0
  70. package/dist/wallets/walletConnectors/{chunk-5CCU7PNU.js → chunk-FQTLYAWT.js} +2 -2
  71. package/dist/wallets/walletConnectors/chunk-FUOQBONI.js +47 -0
  72. package/dist/wallets/walletConnectors/chunk-FWCS4HBL.js +1695 -0
  73. package/dist/wallets/walletConnectors/chunk-FY7UDC3W.js +63 -0
  74. package/dist/wallets/walletConnectors/chunk-GZUP3M2X.js +63 -0
  75. package/dist/wallets/walletConnectors/chunk-H52W4ZFE.js +272 -0
  76. package/dist/wallets/walletConnectors/chunk-HEQZLRTH.js +309 -0
  77. package/dist/wallets/walletConnectors/{chunk-ISAMATTH.js → chunk-HFC4AK72.js} +2 -2
  78. package/dist/wallets/walletConnectors/chunk-HKIV22NT.js +63 -0
  79. package/dist/wallets/walletConnectors/chunk-HLC24OGS.js +63 -0
  80. package/dist/wallets/walletConnectors/{chunk-5TDZSXJ4.js → chunk-HTD7IRKM.js} +2 -2
  81. package/dist/wallets/walletConnectors/chunk-IQJWD4IN.js +269 -0
  82. package/dist/wallets/walletConnectors/chunk-IZUAJRJ4.js +311 -0
  83. package/dist/wallets/walletConnectors/{chunk-NX5MQHSQ.js → chunk-J6VUIOSE.js} +23 -2
  84. package/dist/wallets/walletConnectors/chunk-JQ57SCY6.js +313 -0
  85. package/dist/wallets/walletConnectors/{chunk-F5P2INHS.js → chunk-KB7OGAUC.js} +14 -4
  86. package/dist/wallets/walletConnectors/chunk-KXEAFXAA.js +226 -0
  87. package/dist/wallets/walletConnectors/{chunk-JR2C4XXX.js → chunk-LLWI2QWC.js} +74 -18
  88. package/dist/wallets/walletConnectors/{chunk-H2MX4NAL.js → chunk-LQ2U33WM.js} +29 -16
  89. package/dist/wallets/walletConnectors/{chunk-BNSBK5PQ.js → chunk-M7KXDTM6.js} +14 -4
  90. package/dist/wallets/walletConnectors/{chunk-CYYBGUSO.js → chunk-MKAXMNZM.js} +4 -4
  91. package/dist/wallets/walletConnectors/chunk-MNRRJSFM.js +272 -0
  92. package/dist/wallets/walletConnectors/chunk-MPFE6GP2.js +306 -0
  93. package/dist/wallets/walletConnectors/{chunk-EEY5CXKO.js → chunk-MPNSYA4E.js} +2 -2
  94. package/dist/wallets/walletConnectors/chunk-NDLQSZ2F.js +63 -0
  95. package/dist/wallets/walletConnectors/{chunk-G2LI5MVX.js → chunk-NDYGTKP5.js} +0 -2
  96. package/dist/wallets/walletConnectors/chunk-NLBRSN6Q.js +63 -0
  97. package/dist/wallets/walletConnectors/{chunk-BSBRWKNG.js → chunk-NPF7NOA7.js} +69 -23
  98. package/dist/wallets/walletConnectors/{chunk-7DEZCGNV.js → chunk-NUJ6VD2U.js} +82 -16
  99. package/dist/wallets/walletConnectors/chunk-PSRATZTN.js +47 -0
  100. package/dist/wallets/walletConnectors/{chunk-MZOFZ2NQ.js → chunk-QCIIXMAZ.js} +2 -2
  101. package/dist/wallets/walletConnectors/{chunk-GHLLVM7O.js → chunk-RCI7QYCZ.js} +82 -18
  102. package/dist/wallets/walletConnectors/{chunk-QI2VB7LL.js → chunk-RHQXGWIW.js} +82 -16
  103. package/dist/wallets/walletConnectors/chunk-RPOLRZ4N.js +276 -0
  104. package/dist/wallets/walletConnectors/{chunk-5UEBEMEE.js → chunk-RQIUWXDF.js} +2 -1
  105. package/dist/wallets/walletConnectors/{chunk-RLR4Y5WO.js → chunk-SCD35IRD.js} +4 -0
  106. package/dist/wallets/walletConnectors/{chunk-EGOIRXTV.js → chunk-SOCVQ5N3.js} +2 -2
  107. package/dist/wallets/walletConnectors/chunk-TTRSCIGA.js +194 -0
  108. package/dist/wallets/walletConnectors/chunk-TYUEB4VT.js +477 -0
  109. package/dist/wallets/walletConnectors/{chunk-WTYSUOKN.js → chunk-UZXTNCDO.js} +17 -5
  110. package/dist/wallets/walletConnectors/chunk-V33I7JGZ.js +156 -0
  111. package/dist/wallets/walletConnectors/chunk-V4Q3GNBX.js +484 -0
  112. package/dist/wallets/walletConnectors/chunk-VCCTIYUJ.js +63 -0
  113. package/dist/wallets/walletConnectors/chunk-VGOISIH3.js +223 -0
  114. package/dist/wallets/walletConnectors/chunk-XFGVJOQL.js +223 -0
  115. package/dist/wallets/walletConnectors/chunk-XIOPKI2F.js +47 -0
  116. package/dist/wallets/walletConnectors/{chunk-O6EAIC4G.js → chunk-XJ4SP35I.js} +4 -1
  117. package/dist/wallets/walletConnectors/chunk-XKGUE56S.js +226 -0
  118. package/dist/wallets/walletConnectors/chunk-XQEAXENJ.js +63 -0
  119. package/dist/wallets/walletConnectors/{chunk-RY4RAB3D.js → chunk-YCZ4CZQ6.js} +106 -66
  120. package/dist/wallets/walletConnectors/chunk-Z2DC2J7S.js +345 -0
  121. package/dist/wallets/walletConnectors/chunk-Z2K3RHWK.js +47 -0
  122. package/dist/wallets/walletConnectors/chunk-ZASMSEC3.js +63 -0
  123. package/dist/wallets/walletConnectors/{chunk-G7PEFBL6.js → chunk-ZNBWRE3K.js} +2 -2
  124. package/dist/wallets/walletConnectors/chunk-ZNVFM2J2.js +156 -0
  125. package/dist/wallets/walletConnectors/chunk-ZQLQELFC.js +309 -0
  126. package/dist/wallets/walletConnectors/chunk-ZR7CEF64.js +63 -0
  127. package/dist/wallets/walletConnectors/chunk-ZSGFDK77.js +63 -0
  128. package/dist/wallets/walletConnectors/chunk-ZUIY2TRJ.js +1695 -0
  129. package/dist/wallets/walletConnectors/index.js +22 -22
  130. package/package.json +12 -11
  131. package/LICENSE +0 -9
  132. package/dist/solana/hooks/index.d.ts +0 -12
  133. package/dist/solana/hooks/useSolanaAccount.d.ts +0 -98
  134. package/dist/solana/hooks/useSolanaConnection.d.ts +0 -72
  135. package/dist/solana/hooks/useSolanaSendTransaction.d.ts +0 -98
  136. package/dist/solana/hooks/useSolanaSignMessage.d.ts +0 -82
  137. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.d.ts +0 -45
  138. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +0 -10
  139. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.d.ts +0 -115
  140. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.js +0 -12
  141. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +0 -143
  142. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +0 -13
  143. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.d.ts +0 -18
  144. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +0 -15
  145. package/dist/wallets/walletConnectors/chunk-2XZBPMQJ.js +0 -39
  146. package/dist/wallets/walletConnectors/chunk-3SVPZCA6.js +0 -71
  147. package/dist/wallets/walletConnectors/chunk-3ZZXE7EL.js +0 -39
  148. package/dist/wallets/walletConnectors/chunk-5QEUEPNY.js +0 -94
  149. package/dist/wallets/walletConnectors/chunk-75W4VLFA.js +0 -482
  150. package/dist/wallets/walletConnectors/chunk-B6JLYR3I.js +0 -66
  151. package/dist/wallets/walletConnectors/chunk-FROV5VDF.js +0 -346
  152. package/dist/wallets/walletConnectors/chunk-HKWBR5B7.js +0 -102
  153. package/dist/wallets/walletConnectors/chunk-K4APJ4PE.js +0 -96
  154. package/dist/wallets/walletConnectors/chunk-LJ2B47VF.js +0 -108
  155. package/dist/wallets/walletConnectors/chunk-LXINMUQC.js +0 -186
  156. package/dist/wallets/walletConnectors/chunk-MORUEOYX.js +0 -76
  157. package/dist/wallets/walletConnectors/chunk-MQTXA63X.js +0 -27
  158. package/dist/wallets/walletConnectors/chunk-N4FOYXQD.js +0 -63
  159. package/dist/wallets/walletConnectors/chunk-NEXFU6BZ.js +0 -39
  160. package/dist/wallets/walletConnectors/chunk-PMZJGS7X.js +0 -73
  161. package/dist/wallets/walletConnectors/chunk-QEHZXKRF.js +0 -39
  162. package/dist/wallets/walletConnectors/chunk-T6KJZAPR.js +0 -47
  163. package/dist/wallets/walletConnectors/chunk-UBCMBPX3.js +0 -58
  164. package/dist/wallets/walletConnectors/chunk-UGQXI3RN.js +0 -284
  165. package/dist/wallets/walletConnectors/chunk-WZZVA3LW.js +0 -101
  166. package/dist/wallets/walletConnectors/chunk-X4WUD7PF.js +0 -63
  167. package/dist/wallets/walletConnectors/chunk-XOQNQKZE.js +0 -98
  168. package/dist/wallets/walletConnectors/chunk-XPSCFUX6.js +0 -372
  169. package/dist/wallets/walletConnectors/chunk-Y3LWEDF6.js +0 -63
  170. package/dist/wallets/walletConnectors/chunk-ZJ6OFFD5.js +0 -95
@@ -0,0 +1,272 @@
1
+ "use client";
2
+ import {
3
+ createAbcEvmProvider
4
+ } from "./chunk-2NVHWZUE.js";
5
+ import {
6
+ createAbcWaasClient
7
+ } from "./chunk-7MOCKWA7.js";
8
+ import {
9
+ setGlobalDefaultBitcoinNetwork,
10
+ setGlobalDefaultChainId,
11
+ setGlobalDefaultSolanaNetwork
12
+ } from "./chunk-2GNL2GNB.js";
13
+ import {
14
+ clearAuthState,
15
+ clearEncryptedTokens,
16
+ clearStorage,
17
+ loadAuthState,
18
+ loadFromStorage,
19
+ saveAuthState
20
+ } from "./chunk-5RSS3SRV.js";
21
+
22
+ // src/wallets/walletConnectors/abcWallet/abcConnector.ts
23
+ import { createConnector } from "wagmi";
24
+ function abcConnector(options) {
25
+ const { config } = options;
26
+ if (config.defaultChainId) {
27
+ setGlobalDefaultChainId(config.defaultChainId);
28
+ }
29
+ if (config.defaultSolanaNetwork) {
30
+ setGlobalDefaultSolanaNetwork(config.defaultSolanaNetwork);
31
+ }
32
+ if (config.defaultBitcoinNetwork) {
33
+ setGlobalDefaultBitcoinNetwork(config.defaultBitcoinNetwork);
34
+ }
35
+ return createConnector((wagmiConfig) => {
36
+ const client = createAbcWaasClient(config);
37
+ const provider = createAbcEvmProvider(client);
38
+ let accountsChangedHandler;
39
+ let chainChangedHandler;
40
+ let disconnectHandler;
41
+ return {
42
+ id: "abc",
43
+ name: "ABC Wallet",
44
+ type: "abc",
45
+ /**
46
+ * Connect wallet
47
+ */
48
+ async connect() {
49
+ try {
50
+ const authState = loadAuthState();
51
+ if (!authState || !authState.isAuthenticated || !authState.wallet) {
52
+ throw new Error("ABC_LOGIN_REQUIRED");
53
+ }
54
+ provider.setWallet(authState.wallet);
55
+ if (authState.accessToken && authState.refreshToken && authState.expiresAt) {
56
+ client.setTokens(authState.accessToken, authState.refreshToken, authState.expiresAt);
57
+ }
58
+ const accounts = await provider.request({
59
+ method: "eth_requestAccounts"
60
+ });
61
+ const currentChainId = await provider.request({
62
+ method: "eth_chainId"
63
+ });
64
+ if (accountsChangedHandler) {
65
+ provider.removeListener("accountsChanged", accountsChangedHandler);
66
+ }
67
+ accountsChangedHandler = (accounts2) => {
68
+ wagmiConfig.emitter.emit("change", {
69
+ accounts: accounts2
70
+ });
71
+ };
72
+ provider.on("accountsChanged", accountsChangedHandler);
73
+ if (chainChangedHandler) {
74
+ provider.removeListener("chainChanged", chainChangedHandler);
75
+ }
76
+ chainChangedHandler = (chainId) => {
77
+ wagmiConfig.emitter.emit("change", {
78
+ chainId: Number(chainId)
79
+ });
80
+ };
81
+ provider.on("chainChanged", chainChangedHandler);
82
+ if (disconnectHandler) {
83
+ provider.removeListener("disconnect", disconnectHandler);
84
+ }
85
+ disconnectHandler = () => {
86
+ wagmiConfig.emitter.emit("disconnect");
87
+ this.onDisconnect();
88
+ };
89
+ provider.on("disconnect", disconnectHandler);
90
+ wagmiConfig.emitter.emit("connect", {
91
+ accounts,
92
+ chainId: Number(currentChainId)
93
+ });
94
+ return {
95
+ accounts,
96
+ chainId: Number(currentChainId)
97
+ };
98
+ } catch (error) {
99
+ console.error("\u274C ABC Connector connect() failed:", {
100
+ message: error.message,
101
+ code: error.code,
102
+ error
103
+ });
104
+ if (error.message === "ABC_LOGIN_REQUIRED") {
105
+ throw error;
106
+ }
107
+ throw error;
108
+ }
109
+ },
110
+ /**
111
+ * Disconnect wallet
112
+ */
113
+ async disconnect() {
114
+ if (accountsChangedHandler) {
115
+ provider.removeListener("accountsChanged", accountsChangedHandler);
116
+ accountsChangedHandler = void 0;
117
+ }
118
+ if (chainChangedHandler) {
119
+ provider.removeListener("chainChanged", chainChangedHandler);
120
+ chainChangedHandler = void 0;
121
+ }
122
+ if (disconnectHandler) {
123
+ provider.removeListener("disconnect", disconnectHandler);
124
+ disconnectHandler = void 0;
125
+ }
126
+ provider.clearWallet();
127
+ await client.logout();
128
+ let savedPinHash = null;
129
+ let savedEmail = null;
130
+ if (typeof window !== "undefined") {
131
+ savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
132
+ savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
133
+ }
134
+ clearAuthState();
135
+ clearEncryptedTokens();
136
+ if (typeof window !== "undefined") {
137
+ localStorage.removeItem("talkenkit_abc_enc_salt");
138
+ localStorage.removeItem("talkenkit_abc_enc_tokens");
139
+ if (savedPinHash) {
140
+ localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
141
+ }
142
+ if (savedEmail) {
143
+ localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
144
+ }
145
+ }
146
+ console.log("\u2705 ABC Wallet disconnected (PIN preserved)");
147
+ },
148
+ /**
149
+ * Get accounts
150
+ */
151
+ async getAccounts() {
152
+ const accounts = await provider.request({
153
+ method: "eth_accounts"
154
+ });
155
+ return accounts.map((account) => account);
156
+ },
157
+ /**
158
+ * Get chain ID
159
+ */
160
+ async getChainId() {
161
+ const chainId = await provider.request({
162
+ method: "eth_chainId"
163
+ });
164
+ return Number(chainId);
165
+ },
166
+ /**
167
+ * Get provider
168
+ */
169
+ async getProvider() {
170
+ return provider;
171
+ },
172
+ /**
173
+ * Check if authorized (has valid session)
174
+ * Auto-refreshes access token if expired but refresh token is valid
175
+ */
176
+ async isAuthorized() {
177
+ try {
178
+ const authState = loadAuthState();
179
+ if (!authState || !authState.isAuthenticated) {
180
+ return false;
181
+ }
182
+ if (!authState.wallet) {
183
+ return false;
184
+ }
185
+ if (client.isAuthenticated()) {
186
+ return true;
187
+ }
188
+ const refreshToken = loadFromStorage(
189
+ "refresh_token" /* REFRESH_TOKEN */
190
+ );
191
+ if (!refreshToken) {
192
+ clearStorage();
193
+ return false;
194
+ }
195
+ try {
196
+ await client.refreshTokens(refreshToken);
197
+ const updatedState = loadAuthState();
198
+ return updatedState?.isAuthenticated ?? false;
199
+ } catch (error) {
200
+ console.error("[AbcConnector] Token refresh failed:", error);
201
+ clearStorage();
202
+ return false;
203
+ }
204
+ } catch (error) {
205
+ console.error(
206
+ "[AbcConnector] Unexpected error in isAuthorized:",
207
+ error
208
+ );
209
+ return false;
210
+ }
211
+ },
212
+ /**
213
+ * Switch chain
214
+ */
215
+ async switchChain({ chainId }) {
216
+ await provider.request({
217
+ method: "wallet_switchEthereumChain",
218
+ params: [{ chainId: `0x${chainId.toString(16)}` }]
219
+ });
220
+ const newChainId = await this.getChainId();
221
+ const authState = loadAuthState();
222
+ if (authState?.wallet) {
223
+ authState.wallet.chainId = newChainId;
224
+ saveAuthState(authState);
225
+ }
226
+ return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
227
+ id: chainId,
228
+ name: `Chain ${chainId}`,
229
+ nativeCurrency: {
230
+ name: "Ether",
231
+ decimals: 18,
232
+ symbol: "ETH"
233
+ },
234
+ rpcUrls: {
235
+ default: { http: [""] }
236
+ }
237
+ };
238
+ },
239
+ /**
240
+ * Handle accounts changed
241
+ */
242
+ onAccountsChanged(accounts) {
243
+ if (accounts.length === 0) {
244
+ this.onDisconnect();
245
+ } else {
246
+ wagmiConfig.emitter.emit("change", {
247
+ accounts
248
+ });
249
+ }
250
+ },
251
+ /**
252
+ * Handle chain changed
253
+ */
254
+ onChainChanged(chain) {
255
+ const chainId = Number(chain);
256
+ wagmiConfig.emitter.emit("change", { chainId });
257
+ },
258
+ /**
259
+ * Handle disconnect
260
+ */
261
+ onDisconnect(_error) {
262
+ provider.clearWallet();
263
+ clearAuthState();
264
+ wagmiConfig.emitter.emit("disconnect");
265
+ }
266
+ };
267
+ });
268
+ }
269
+
270
+ export {
271
+ abcConnector
272
+ };
@@ -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");