@talken/talkenkit 2.4.22 → 2.4.23

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 (185) hide show
  1. package/README.md +159 -325
  2. package/dist/Arc-R3PUWRPJ.js +7 -0
  3. package/dist/Brave-24BM36UM.js +7 -0
  4. package/dist/Browser-4R4QKTV2.js +7 -0
  5. package/dist/Chrome-TLI42HDP.js +7 -0
  6. package/dist/Edge-AZ34LAFM.js +7 -0
  7. package/dist/Firefox-ZDK7RHKK.js +7 -0
  8. package/dist/Linux-VYP66PDO.js +7 -0
  9. package/dist/Macos-5QL4JBJE.js +7 -0
  10. package/dist/Opera-BKMCKUXC.js +7 -0
  11. package/dist/Safari-PXQIVS6N.js +7 -0
  12. package/dist/Windows-GTAT3OTE.js +7 -0
  13. package/dist/abcWallet-AYWSIGAG.js +7 -0
  14. package/dist/abcWallet-O4GH6RHS.js +181 -0
  15. package/dist/ar_AR-ZRPPM56D.js +7 -0
  16. package/dist/arbitrum-IA4OWRTN.js +7 -0
  17. package/dist/argentWallet-M6SBG4CU.js +7 -0
  18. package/dist/assets-NU2OP443.js +7 -0
  19. package/dist/avalanche-MXEFEDSW.js +7 -0
  20. package/dist/base-Z4LFBE5D.js +7 -0
  21. package/dist/berasigWallet-NNBFDHFK.js +7 -0
  22. package/dist/bestWallet-XRIABRUE.js +7 -0
  23. package/dist/bifrostWallet-ORF3DABG.js +7 -0
  24. package/dist/binanceWallet-BCWLBY3Q.js +7 -0
  25. package/dist/bitgetWallet-CLYTW54T.js +7 -0
  26. package/dist/bitskiWallet-X5NWL5CE.js +7 -0
  27. package/dist/bitverseWallet-6SGDFATJ.js +7 -0
  28. package/dist/blast-TN2WIMWF.js +7 -0
  29. package/dist/bloomWallet-MXLAOWS6.js +7 -0
  30. package/dist/braveWallet-6QAF4GDN.js +7 -0
  31. package/dist/bsc-RVE67I5L.js +7 -0
  32. package/dist/bybitWallet-GR4PFINZ.js +7 -0
  33. package/dist/celo-E6XU57FO.js +7 -0
  34. package/dist/chunk-N7AWNQBH.js +5319 -0
  35. package/dist/clvWallet-ZIMSRU5J.js +7 -0
  36. package/dist/coin98Wallet-RFXRNVWP.js +7 -0
  37. package/dist/coinbaseWallet-WWX6LF36.js +7 -0
  38. package/dist/compassWallet-3LBTWCKI.js +7 -0
  39. package/dist/connect-MR6XDLIE.js +7 -0
  40. package/dist/coreWallet-52SXITOT.js +7 -0
  41. package/dist/create-X4WFHLCW.js +7 -0
  42. package/dist/cronos-ROYR77VZ.js +7 -0
  43. package/dist/dawnWallet-ONVAA3S4.js +7 -0
  44. package/dist/de_DE-GYZFZXWH.js +7 -0
  45. package/dist/desigWallet-WJMSF3PS.js +7 -0
  46. package/dist/en_US-AV7YDYDW.js +7 -0
  47. package/dist/enkryptWallet-FR4QCDFK.js +7 -0
  48. package/dist/es_419-OGVOQEFZ.js +7 -0
  49. package/dist/ethereum-RFBAMUVK.js +7 -0
  50. package/dist/flow-NBCRNYVF.js +7 -0
  51. package/dist/foxWallet-5ESSNXJV.js +7 -0
  52. package/dist/fr_FR-Q5QBQBX2.js +1355 -0
  53. package/dist/frameWallet-FDBUY4AA.js +7 -0
  54. package/dist/frontierWallet-HNIG7QYQ.js +7 -0
  55. package/dist/gateWallet-ZVEZILRP.js +7 -0
  56. package/dist/gnosis-T7U5EW2Q.js +7 -0
  57. package/dist/hardhat-NEEC6JX7.js +7 -0
  58. package/dist/hi_IN-7I7LRHGW.js +7 -0
  59. package/dist/id_ID-ZMGZ2JFV.js +7 -0
  60. package/dist/imTokenWallet-N2MYFADO.js +7 -0
  61. package/dist/index.d.ts +3 -3
  62. package/dist/index.js +168 -243
  63. package/dist/injectedWallet-H7LYKTQS.js +7 -0
  64. package/dist/iopayWallet-IJHJ7NYT.js +7 -0
  65. package/dist/ja_JP-NYBCHQTZ.js +7 -0
  66. package/dist/kaia-A33DVQBT.js +7 -0
  67. package/dist/kaiaWallet-5K6WZ3AH.js +7 -0
  68. package/dist/kaikasWallet-F6Z6IPWN.js +7 -0
  69. package/dist/ko_KR-67WE736M.js +7 -0
  70. package/dist/krakenWallet-DAOXUKWO.js +7 -0
  71. package/dist/kresusWallet-AUJWLAOF.js +7 -0
  72. package/dist/ledgerWallet-KZKJ5Q2S.js +7 -0
  73. package/dist/login-CWDTIDNK.js +7 -0
  74. package/dist/magicEden-PKT2ZXEQ.js +7 -0
  75. package/dist/manta-5V6W5D7G.js +7 -0
  76. package/dist/mantle-KBL3OIYT.js +7 -0
  77. package/dist/metaMaskWallet-YFHEHW7V.js +7 -0
  78. package/dist/mewWallet-6V4UZOQC.js +7 -0
  79. package/dist/ms_MY-65AJIBUS.js +7 -0
  80. package/dist/nestWallet-BFZZZYLV.js +7 -0
  81. package/dist/oktoWallet-GJFOPPEA.js +7 -0
  82. package/dist/okxWallet-GJMKZIND.js +7 -0
  83. package/dist/omniWallet-DEYUMT4A.js +7 -0
  84. package/dist/oneInchWallet-D7BQOLOO.js +7 -0
  85. package/dist/oneKeyWallet-4MM7G2SZ.js +7 -0
  86. package/dist/optimism-YWJ3IQHA.js +7 -0
  87. package/dist/paraSwapWallet-TMV5MUEF.js +7 -0
  88. package/dist/phantomWallet-IPGVKCAB.js +7 -0
  89. package/dist/polygon-WWEUOMKW.js +7 -0
  90. package/dist/pt_BR-DMJANC65.js +7 -0
  91. package/dist/rabbyWallet-FLVUU35F.js +7 -0
  92. package/dist/rainbowWallet-2SR6TVBF.js +7 -0
  93. package/dist/ramperWallet-AF5AKK2S.js +7 -0
  94. package/dist/refresh-HJGJRASX.js +7 -0
  95. package/dist/ronin-PNHX5V6H.js +7 -0
  96. package/dist/roninWallet-SAB5ESVK.js +7 -0
  97. package/dist/ru_RU-WER7RQ6A.js +1355 -0
  98. package/dist/safeWallet-VUYZPLY4.js +7 -0
  99. package/dist/safeheronWallet-6JG77AKC.js +7 -0
  100. package/dist/safepalWallet-KQJ4OCNH.js +7 -0
  101. package/dist/scan-DEOT2M37.js +7 -0
  102. package/dist/scroll-NMZWDUQH.js +7 -0
  103. package/dist/seifWallet-QATOS33A.js +7 -0
  104. package/dist/services/AbcAuthService.d.ts +11 -12
  105. package/dist/sign-A7IJEUT5.js +7 -0
  106. package/dist/subWallet-LOZELSAO.js +7 -0
  107. package/dist/tahoWallet-L6KHUNKD.js +7 -0
  108. package/dist/talismanWallet-BLXUHONV.js +7 -0
  109. package/dist/th_TH-JOSHEZ6D.js +1355 -0
  110. package/dist/themes/baseTheme.js +0 -1
  111. package/dist/themes/darkTheme.js +0 -1
  112. package/dist/themes/lightTheme.js +0 -1
  113. package/dist/themes/midnightTheme.js +0 -1
  114. package/dist/tokenPocketWallet-BVMBOYTC.js +7 -0
  115. package/dist/tokenaryWallet-Z2IGVXSA.js +7 -0
  116. package/dist/tr_TR-EAMG2YPO.js +1355 -0
  117. package/dist/trustWallet-E2GVGE4U.js +7 -0
  118. package/dist/uk_UA-GO2TRVWA.js +1355 -0
  119. package/dist/uniswapWallet-T26M44R7.js +7 -0
  120. package/dist/utils/apiClientFactory.d.ts +1 -6
  121. package/dist/utils/embeddedTxAdapter.d.ts +54 -0
  122. package/dist/valoraWallet-RX3ONO47.js +7 -0
  123. package/dist/vi_VN-5HLLSOJA.js +7 -0
  124. package/dist/walletConnectWallet-FNSU4KNU.js +7 -0
  125. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.d.ts +0 -3
  126. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  127. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +1 -3
  128. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
  129. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +7 -6
  130. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +3 -4
  131. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +3 -4
  132. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +3 -3
  133. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +1 -1
  134. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +4 -6
  135. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +37 -44
  136. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +1 -2
  137. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +1 -1
  138. package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +1 -3
  139. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +8 -8
  140. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.d.ts +1 -2
  141. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.js +1 -5
  142. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +2 -2
  143. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.js +4 -9
  144. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.d.ts +2 -4
  145. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +1 -5
  146. package/dist/wallets/walletConnectors/abcWallet/api/index.d.ts +3 -68
  147. package/dist/wallets/walletConnectors/abcWallet/api/index.js +6 -41
  148. package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +1 -38
  149. package/dist/wallets/walletConnectors/abcWallet/constants.js +1 -7
  150. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +3 -3
  151. package/dist/wallets/walletConnectors/abcWallet/index.js +33 -45
  152. package/dist/wallets/walletConnectors/abcWallet/resolveTalkenApiUrl.d.ts +1 -0
  153. package/dist/wallets/walletConnectors/abcWallet/resolveTalkenApiUrl.js +7 -0
  154. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +4 -4
  155. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
  156. package/dist/wallets/walletConnectors/chunk-35RTM3PL.js +1 -0
  157. package/dist/wallets/walletConnectors/chunk-AFM6KHDP.js +314 -0
  158. package/dist/wallets/walletConnectors/chunk-AXMN57KP.js +1387 -0
  159. package/dist/wallets/walletConnectors/chunk-BYZ5QLMX.js +436 -0
  160. package/dist/wallets/walletConnectors/chunk-CC6GTQBN.js +148 -0
  161. package/dist/wallets/walletConnectors/chunk-FAVNVTIA.js +479 -0
  162. package/dist/wallets/walletConnectors/chunk-GFWUFYT2.js +16 -0
  163. package/dist/wallets/walletConnectors/chunk-QP36UXD5.js +54 -0
  164. package/dist/wallets/walletConnectors/chunk-R6ZE7JAZ.js +15 -0
  165. package/dist/wallets/walletConnectors/chunk-RIJTOH57.js +771 -0
  166. package/dist/wallets/walletConnectors/chunk-RY43MKRA.js +552 -0
  167. package/dist/wallets/walletConnectors/chunk-TQXCRSMS.js +199 -0
  168. package/dist/wallets/walletConnectors/chunk-URFU24K7.js +273 -0
  169. package/dist/wallets/walletConnectors/chunk-USS5CPXQ.js +54 -0
  170. package/dist/wallets/walletConnectors/chunk-VQYS4NXP.js +314 -0
  171. package/dist/wallets/walletConnectors/chunk-YPM7FC4M.js +104 -0
  172. package/dist/wallets/walletConnectors/chunk-Z3L3JJNU.js +356 -0
  173. package/dist/wallets/walletConnectors/index.js +76 -76
  174. package/dist/wigwamWallet-5GKUN7ZJ.js +7 -0
  175. package/dist/xdc-X7V4QFNF.js +7 -0
  176. package/dist/xdefiWallet-ZA65GDWS.js +7 -0
  177. package/dist/zealWallet-URNQ2AWF.js +7 -0
  178. package/dist/zerionWallet-CYFHB5PA.js +7 -0
  179. package/dist/zetachain-BMJKVYBN.js +7 -0
  180. package/dist/zh_CN-THPIFVWJ.js +7 -0
  181. package/dist/zh_HK-R7XP4TGF.js +7 -0
  182. package/dist/zh_TW-F5LD752V.js +7 -0
  183. package/dist/zkSync-JL26RB7U.js +7 -0
  184. package/dist/zora-YZH32HP3.js +7 -0
  185. package/package.json +1 -1
@@ -0,0 +1,314 @@
1
+ "use client";
2
+ import {
3
+ setTalkenApiClient
4
+ } from "./chunk-R6ZE7JAZ.js";
5
+ import {
6
+ setGlobalDefaultBitcoinNetwork,
7
+ setGlobalDefaultChainId,
8
+ setGlobalDefaultSolanaNetwork
9
+ } from "./chunk-O4AU63LK.js";
10
+ import {
11
+ createAbcEvmProvider
12
+ } from "./chunk-AXMN57KP.js";
13
+ import {
14
+ clearAuthState,
15
+ clearEncryptedTokens,
16
+ clearStorage,
17
+ loadAuthState,
18
+ loadFromStorage,
19
+ saveAuthState
20
+ } from "./chunk-FAVNVTIA.js";
21
+ import {
22
+ resolveTalkenApiUrl
23
+ } from "./chunk-GFWUFYT2.js";
24
+ import {
25
+ createTalkenApiClient
26
+ } from "./chunk-RIJTOH57.js";
27
+
28
+ // src/wallets/walletConnectors/abcWallet/abcConnector.ts
29
+ import { getTalkenApiClient } from "@talken/talkenkit";
30
+ import { createConnector } from "wagmi";
31
+ function abcConnector(options) {
32
+ const { config } = options;
33
+ if (config.defaultChainId) {
34
+ setGlobalDefaultChainId(config.defaultChainId);
35
+ }
36
+ if (config.defaultSolanaNetwork) {
37
+ setGlobalDefaultSolanaNetwork(config.defaultSolanaNetwork);
38
+ }
39
+ if (config.defaultBitcoinNetwork) {
40
+ setGlobalDefaultBitcoinNetwork(config.defaultBitcoinNetwork);
41
+ }
42
+ return createConnector((wagmiConfig) => {
43
+ const talkenApi = getTalkenApiClient() || createTalkenApiClient({
44
+ baseUrl: resolveTalkenApiUrl(config.talkenApiUrl),
45
+ environment: config.environment,
46
+ debug: config.environment === "development",
47
+ defaultChainId: config.defaultChainId
48
+ });
49
+ setTalkenApiClient(talkenApi);
50
+ const provider = createAbcEvmProvider(talkenApi);
51
+ let accountsChangedHandler;
52
+ let chainChangedHandler;
53
+ let disconnectHandler;
54
+ return {
55
+ id: "abc",
56
+ name: "ABC Wallet",
57
+ type: "abc",
58
+ /**
59
+ * Connect wallet
60
+ */
61
+ async connect() {
62
+ try {
63
+ const authState = loadAuthState();
64
+ if (!authState || !authState.isAuthenticated || !authState.wallet) {
65
+ throw new Error("ABC_LOGIN_REQUIRED");
66
+ }
67
+ provider.setWallet(authState.wallet);
68
+ if (authState.accessToken && authState.refreshToken && authState.expiresAt) {
69
+ talkenApi.setTokens(
70
+ authState.accessToken,
71
+ authState.refreshToken,
72
+ authState.expiresAt
73
+ );
74
+ }
75
+ const accounts = await provider.request({
76
+ method: "eth_requestAccounts"
77
+ });
78
+ let currentChainId = await provider.request({
79
+ method: "eth_chainId"
80
+ });
81
+ const currentChainIdNumber = Number(currentChainId);
82
+ const isChainSupported = wagmiConfig.chains.some(
83
+ (c) => c.id === currentChainIdNumber
84
+ );
85
+ if (!isChainSupported && wagmiConfig.chains.length > 0) {
86
+ const fallbackChainId = wagmiConfig.chains[0].id;
87
+ await provider.request({
88
+ method: "wallet_switchEthereumChain",
89
+ params: [{ chainId: `0x${fallbackChainId.toString(16)}` }]
90
+ });
91
+ currentChainId = `0x${fallbackChainId.toString(16)}`;
92
+ if (authState.wallet) {
93
+ authState.wallet.chainId = fallbackChainId;
94
+ saveAuthState(authState);
95
+ }
96
+ }
97
+ if (accountsChangedHandler) {
98
+ provider.removeListener("accountsChanged", accountsChangedHandler);
99
+ }
100
+ accountsChangedHandler = (accounts2) => {
101
+ wagmiConfig.emitter.emit("change", {
102
+ accounts: accounts2
103
+ });
104
+ };
105
+ provider.on("accountsChanged", accountsChangedHandler);
106
+ if (chainChangedHandler) {
107
+ provider.removeListener("chainChanged", chainChangedHandler);
108
+ }
109
+ chainChangedHandler = (chainId) => {
110
+ wagmiConfig.emitter.emit("change", {
111
+ chainId: Number(chainId)
112
+ });
113
+ };
114
+ provider.on("chainChanged", chainChangedHandler);
115
+ if (disconnectHandler) {
116
+ provider.removeListener("disconnect", disconnectHandler);
117
+ }
118
+ disconnectHandler = () => {
119
+ wagmiConfig.emitter.emit("disconnect");
120
+ this.onDisconnect();
121
+ };
122
+ provider.on("disconnect", disconnectHandler);
123
+ wagmiConfig.emitter.emit("connect", {
124
+ accounts,
125
+ chainId: Number(currentChainId)
126
+ });
127
+ return {
128
+ accounts,
129
+ chainId: Number(currentChainId)
130
+ };
131
+ } catch (error) {
132
+ console.error("\u274C ABC Connector connect() failed:", {
133
+ message: error.message,
134
+ code: error.code,
135
+ error
136
+ });
137
+ if (error.message === "ABC_LOGIN_REQUIRED") {
138
+ throw error;
139
+ }
140
+ throw error;
141
+ }
142
+ },
143
+ /**
144
+ * Disconnect wallet
145
+ */
146
+ async disconnect() {
147
+ if (accountsChangedHandler) {
148
+ provider.removeListener("accountsChanged", accountsChangedHandler);
149
+ accountsChangedHandler = void 0;
150
+ }
151
+ if (chainChangedHandler) {
152
+ provider.removeListener("chainChanged", chainChangedHandler);
153
+ chainChangedHandler = void 0;
154
+ }
155
+ if (disconnectHandler) {
156
+ provider.removeListener("disconnect", disconnectHandler);
157
+ disconnectHandler = void 0;
158
+ }
159
+ provider.clearWallet();
160
+ talkenApi.auth.logout();
161
+ let savedPinHash = null;
162
+ let savedEmail = null;
163
+ if (typeof window !== "undefined") {
164
+ savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
165
+ savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
166
+ }
167
+ clearAuthState();
168
+ clearEncryptedTokens();
169
+ if (typeof window !== "undefined") {
170
+ localStorage.removeItem("talkenkit_abc_enc_salt");
171
+ localStorage.removeItem("talkenkit_abc_enc_tokens");
172
+ if (savedPinHash) {
173
+ localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
174
+ }
175
+ if (savedEmail) {
176
+ localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
177
+ }
178
+ }
179
+ },
180
+ /**
181
+ * Get accounts
182
+ */
183
+ async getAccounts() {
184
+ const accounts = await provider.request({
185
+ method: "eth_accounts"
186
+ });
187
+ return accounts.map((account) => account);
188
+ },
189
+ /**
190
+ * Get chain ID
191
+ */
192
+ async getChainId() {
193
+ const chainId = await provider.request({
194
+ method: "eth_chainId"
195
+ });
196
+ return Number(chainId);
197
+ },
198
+ /**
199
+ * Get provider
200
+ */
201
+ async getProvider() {
202
+ return provider;
203
+ },
204
+ /**
205
+ * Check if authorized (has valid session)
206
+ * Auto-refreshes access token if expired but refresh token is valid
207
+ */
208
+ async isAuthorized() {
209
+ try {
210
+ const authState = loadAuthState();
211
+ if (!authState || !authState.isAuthenticated) {
212
+ return false;
213
+ }
214
+ if (!authState.wallet) {
215
+ return false;
216
+ }
217
+ if (talkenApi.isAuthenticated()) {
218
+ return true;
219
+ }
220
+ const refreshToken = loadFromStorage(
221
+ "refresh_token" /* REFRESH_TOKEN */
222
+ );
223
+ if (!refreshToken) {
224
+ clearStorage();
225
+ return false;
226
+ }
227
+ try {
228
+ const api = getTalkenApiClient();
229
+ if (!api) {
230
+ clearStorage();
231
+ return false;
232
+ }
233
+ const res = await api.auth.refresh();
234
+ talkenApi.setTokens(
235
+ res.accessToken,
236
+ res.refreshToken,
237
+ Date.now() + res.expiresIn * 1e3
238
+ );
239
+ const updatedState = loadAuthState();
240
+ return updatedState?.isAuthenticated ?? false;
241
+ } catch (error) {
242
+ console.error("[AbcConnector] Token refresh failed:", error);
243
+ clearStorage();
244
+ return false;
245
+ }
246
+ } catch (error) {
247
+ console.error(
248
+ "[AbcConnector] Unexpected error in isAuthorized:",
249
+ error
250
+ );
251
+ return false;
252
+ }
253
+ },
254
+ /**
255
+ * Switch chain
256
+ */
257
+ async switchChain({ chainId }) {
258
+ await provider.request({
259
+ method: "wallet_switchEthereumChain",
260
+ params: [{ chainId: `0x${chainId.toString(16)}` }]
261
+ });
262
+ const newChainId = await this.getChainId();
263
+ const authState = loadAuthState();
264
+ if (authState?.wallet) {
265
+ authState.wallet.chainId = newChainId;
266
+ saveAuthState(authState);
267
+ }
268
+ return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
269
+ id: chainId,
270
+ name: `Chain ${chainId}`,
271
+ nativeCurrency: {
272
+ name: "Ether",
273
+ decimals: 18,
274
+ symbol: "ETH"
275
+ },
276
+ rpcUrls: {
277
+ default: { http: [""] }
278
+ }
279
+ };
280
+ },
281
+ /**
282
+ * Handle accounts changed
283
+ */
284
+ onAccountsChanged(accounts) {
285
+ if (accounts.length === 0) {
286
+ this.onDisconnect();
287
+ } else {
288
+ wagmiConfig.emitter.emit("change", {
289
+ accounts
290
+ });
291
+ }
292
+ },
293
+ /**
294
+ * Handle chain changed
295
+ */
296
+ onChainChanged(chain) {
297
+ const chainId = Number(chain);
298
+ wagmiConfig.emitter.emit("change", { chainId });
299
+ },
300
+ /**
301
+ * Handle disconnect
302
+ */
303
+ onDisconnect(_error) {
304
+ provider.clearWallet();
305
+ clearAuthState();
306
+ wagmiConfig.emitter.emit("disconnect");
307
+ }
308
+ };
309
+ });
310
+ }
311
+
312
+ export {
313
+ abcConnector
314
+ };
@@ -0,0 +1,104 @@
1
+ "use client";
2
+
3
+ // src/wallets/walletConnectors/abcWallet/api/GasApi.ts
4
+ import { getTalkenApiClient } from "@talken/talkenkit";
5
+ var GasApi = class {
6
+ parseGasFees(data) {
7
+ return {
8
+ ...data,
9
+ networkCongestion: data.networkCongestion != null ? Number(data.networkCongestion) : void 0
10
+ };
11
+ }
12
+ /**
13
+ * Get suggested gas fees for EIP-1559 transactions via TalkenApiClient
14
+ *
15
+ * @param network - Network name (ethereum, polygon, klaytn, etc.)
16
+ * @returns Suggested gas fees or null if failed
17
+ */
18
+ async getSuggestedGasFees(network) {
19
+ const api = getTalkenApiClient();
20
+ if (!api)
21
+ throw new Error("TalkenApiClient not initialized");
22
+ try {
23
+ const gasFees = await api.evm.getGasSuggested(network);
24
+ return this.parseGasFees(gasFees);
25
+ } catch (error) {
26
+ console.warn(
27
+ "[GasApi] TalkenApi getGasSuggested failed:",
28
+ network,
29
+ error
30
+ );
31
+ return null;
32
+ }
33
+ }
34
+ /**
35
+ * Estimate gas limit for EIP-1559 transaction via TalkenApiClient
36
+ *
37
+ * @param params - Transaction parameters
38
+ * @returns Gas limit (hex string) or null if failed
39
+ */
40
+ async estimateGas(params) {
41
+ const api = getTalkenApiClient();
42
+ if (!api)
43
+ throw new Error("TalkenApiClient not initialized");
44
+ try {
45
+ const response = await api.evm.estimateGas({
46
+ network: params.network,
47
+ from: params.from || "",
48
+ to: params.to,
49
+ value: params.value || "0x0",
50
+ data: params.data || "0x"
51
+ });
52
+ return response.result ?? null;
53
+ } catch (error) {
54
+ console.warn("[GasApi] TalkenApi estimateGas failed:", error);
55
+ return null;
56
+ }
57
+ }
58
+ /**
59
+ * Get suggested gas fees with timeout
60
+ *
61
+ * @param network - Network name
62
+ * @param timeoutMs - Timeout in milliseconds (default: 5000)
63
+ * @returns Suggested gas fees or null if timeout/failed
64
+ */
65
+ async getSuggestedGasFeesWithTimeout(network, timeoutMs = 5e3) {
66
+ try {
67
+ const result = await Promise.race([
68
+ this.getSuggestedGasFees(network),
69
+ new Promise(
70
+ (resolve) => setTimeout(() => resolve(null), timeoutMs)
71
+ )
72
+ ]);
73
+ return result;
74
+ } catch (_error) {
75
+ console.warn("[GasApi] Gas fees request timed out:", network);
76
+ return null;
77
+ }
78
+ }
79
+ /**
80
+ * Estimate gas with timeout
81
+ *
82
+ * @param params - Transaction parameters
83
+ * @param timeoutMs - Timeout in milliseconds (default: 5000)
84
+ * @returns Gas limit (hex string) or null if timeout/failed
85
+ */
86
+ async estimateGasWithTimeout(params, timeoutMs = 5e3) {
87
+ try {
88
+ const result = await Promise.race([
89
+ this.estimateGas(params),
90
+ new Promise(
91
+ (resolve) => setTimeout(() => resolve(null), timeoutMs)
92
+ )
93
+ ]);
94
+ return result;
95
+ } catch (_error) {
96
+ console.warn("[GasApi] Gas estimate request timed out");
97
+ return null;
98
+ }
99
+ }
100
+ };
101
+
102
+ export {
103
+ GasApi
104
+ };