@talken/talkenkit 2.4.16 → 2.4.17

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 (233) hide show
  1. package/dist/abcWallet-54KUGWUZ.js +192 -0
  2. package/dist/abcWallet-KZHOADBJ.js +192 -0
  3. package/dist/abcWallet-NZAVB4PI.js +190 -0
  4. package/dist/chunk-5X3ROW3U.js +8777 -0
  5. package/dist/chunk-DKA3NVFM.js +8497 -0
  6. package/dist/chunk-QNZ5HSPM.js +8339 -0
  7. package/dist/chunk-VE53ZNZV.js +331 -0
  8. package/dist/components/ConfirmationModal/ApproveSection.css.d.ts +16 -0
  9. package/dist/components/ConfirmationModal/ApproveSection.d.ts +8 -0
  10. package/dist/components/ConfirmationModal/NFTPlaceholder.css.d.ts +7 -0
  11. package/dist/components/ConfirmationModal/NFTPlaceholder.d.ts +8 -0
  12. package/dist/components/ConfirmationModal/NftApprovalSection.css.d.ts +10 -0
  13. package/dist/components/ConfirmationModal/NftApprovalSection.d.ts +7 -0
  14. package/dist/components/ConfirmationModal/SignConfirmationModal.css.d.ts +35 -0
  15. package/dist/components/ConfirmationModal/SignConfirmationModal.d.ts +17 -0
  16. package/dist/components/ConfirmationModal/SwapSection.css.d.ts +17 -0
  17. package/dist/components/ConfirmationModal/SwapSection.d.ts +7 -0
  18. package/dist/components/ConfirmationModal/TransactionConfirmationModal.css.d.ts +49 -0
  19. package/dist/components/ConfirmationModal/TransactionConfirmationModal.d.ts +12 -0
  20. package/dist/components/ConfirmationModal/TransferSection.css.d.ts +17 -0
  21. package/dist/components/ConfirmationModal/TransferSection.d.ts +7 -0
  22. package/dist/components/ConfirmationModal/commonStyles.css.d.ts +37 -0
  23. package/dist/components/ConfirmationModal/constants.d.ts +16 -0
  24. package/dist/components/ConfirmationModal/index.d.ts +9 -0
  25. package/dist/components/ConfirmationModal/modalTheme.css.d.ts +20 -0
  26. package/dist/components/ConfirmationModal/transactionUIRegistry.d.ts +134 -0
  27. package/dist/components/ConfirmationModal/utils.d.ts +37 -0
  28. package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthSections.css.d.ts +1 -0
  29. package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthSections.d.ts +1 -1
  30. package/dist/components/ConnectOptions/AbcWaasAuth/hooks/useAbcWaasAuth.d.ts +2 -25
  31. package/dist/components/ConnectOptions/AbcWaasAuth/hooks/useAbcWaasSocial.d.ts +1 -47
  32. package/dist/components/ConnectOptions/PinAuth/hooks/useWalletGeneration.d.ts +4 -21
  33. package/dist/components/GasFeeModal/GasFeeEditModal.css.d.ts +32 -0
  34. package/dist/components/GasFeeModal/GasFeeEditModal.d.ts +21 -0
  35. package/dist/components/GasFeeModal/index.d.ts +3 -0
  36. package/dist/components/GasFeeModal/modalTheme.css.d.ts +19 -0
  37. package/dist/components/Icons/Close2.d.ts +7 -0
  38. package/dist/components/Icons/Copy2.d.ts +4 -0
  39. package/dist/components/Icons/Dropdown2.d.ts +4 -0
  40. package/dist/components/Icons/Edit.d.ts +4 -0
  41. package/dist/components/Icons/InfoCircle.d.ts +4 -0
  42. package/dist/components/Icons/Kakao.d.ts +2 -0
  43. package/dist/components/Icons/Minus.d.ts +4 -0
  44. package/dist/components/Icons/Plus.d.ts +4 -0
  45. package/dist/components/Icons/SettingsGear.d.ts +4 -0
  46. package/dist/components/Icons/SpeedHigh.d.ts +4 -0
  47. package/dist/components/Icons/SpeedLow.d.ts +4 -0
  48. package/dist/components/Icons/SpeedMedium.d.ts +4 -0
  49. package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +7 -9
  50. package/dist/components/RainbowKitProvider/RainbowKitProvider.d.ts +7 -1
  51. package/dist/components/Toast/Toast.css.d.ts +2 -0
  52. package/dist/components/Toast/Toast.d.ts +6 -0
  53. package/dist/components/Toast/index.d.ts +4 -0
  54. package/dist/components/Toast/useToast.d.ts +10 -0
  55. package/dist/config/networks.d.ts +10 -0
  56. package/dist/css/sprinkles.css.d.ts +1 -1
  57. package/dist/hooks/useSolanaWallet.d.ts +5 -23
  58. package/dist/hooks/useTronWallet.d.ts +63 -0
  59. package/dist/index.css +1903 -236
  60. package/dist/index.d.ts +8 -3
  61. package/dist/index.js +7970 -4015
  62. package/dist/klipWallet-RD5Y4UEK.js +8 -0
  63. package/dist/providers/SignConfirmationProvider/SignConfirmationProvider.d.ts +22 -0
  64. package/dist/providers/SignConfirmationProvider/index.d.ts +6 -0
  65. package/dist/providers/SignConfirmationProvider/requestParsers.d.ts +24 -0
  66. package/dist/providers/SignConfirmationProvider/types.d.ts +91 -0
  67. package/dist/providers/SignConfirmationProvider/useApiClient.d.ts +15 -0
  68. package/dist/providers/SignConfirmationProvider/useTransactionResolver.d.ts +18 -0
  69. package/dist/secure-AEBFSVWE.js +8 -0
  70. package/dist/services/AbcAgenticWalletService.d.ts +111 -0
  71. package/dist/services/AbcAuthService.d.ts +26 -20
  72. package/dist/types/index.d.ts +3 -0
  73. package/dist/types/token.d.ts +82 -0
  74. package/dist/utils/abi/abiDecoder.d.ts +144 -0
  75. package/dist/utils/apiClientFactory.d.ts +21 -0
  76. package/dist/utils/blockies.d.ts +12 -0
  77. package/dist/utils/tokenMapper.d.ts +10 -0
  78. package/dist/wallets/walletConnectors/abcWallet/abcApi.d.ts +4 -1
  79. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +7 -7
  80. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +5 -5
  81. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +6 -8
  82. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
  83. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +9 -9
  84. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +17 -6
  85. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +5 -4
  86. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +11 -34
  87. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +1 -1
  88. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +3 -11
  89. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +17 -80
  90. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +112 -0
  91. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +11 -0
  92. package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +2 -0
  93. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +11 -10
  94. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.d.ts +9 -11
  95. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +6 -6
  96. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.d.ts +1 -1
  97. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +5 -5
  98. package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +6 -6
  99. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.d.ts +45 -0
  100. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.js +12 -0
  101. package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +7 -7
  102. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +9 -1
  103. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +7 -7
  104. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +333 -0
  105. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +11 -0
  106. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.d.ts +18 -0
  107. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.js +14 -0
  108. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.d.ts +2 -2
  109. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +7 -7
  110. package/dist/wallets/walletConnectors/abcWallet/api/TronApi.d.ts +102 -0
  111. package/dist/wallets/walletConnectors/abcWallet/api/TronApi.js +12 -0
  112. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.d.ts +4 -2
  113. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +7 -7
  114. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.d.ts +60 -0
  115. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +12 -0
  116. package/dist/wallets/walletConnectors/abcWallet/api/index.d.ts +24 -0
  117. package/dist/wallets/walletConnectors/abcWallet/api/index.js +35 -17
  118. package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +39 -1
  119. package/dist/wallets/walletConnectors/abcWallet/constants.js +5 -1
  120. package/dist/wallets/walletConnectors/abcWallet/googleAuth.d.ts +6 -0
  121. package/dist/wallets/walletConnectors/abcWallet/googleAuth.js +37 -1
  122. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +5 -3
  123. package/dist/wallets/walletConnectors/abcWallet/index.js +44 -31
  124. package/dist/wallets/walletConnectors/abcWallet/kakaoAuth.d.ts +27 -0
  125. package/dist/wallets/walletConnectors/abcWallet/kakaoAuth.js +290 -0
  126. package/dist/wallets/walletConnectors/abcWallet/networkConfig.d.ts +39 -3
  127. package/dist/wallets/walletConnectors/abcWallet/networkConfig.js +11 -3
  128. package/dist/wallets/walletConnectors/abcWallet/secure.js +2 -2
  129. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +1 -1
  130. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +369 -7
  131. package/dist/wallets/walletConnectors/abcWallet/types.js +5 -3
  132. package/dist/wallets/walletConnectors/abcWallet/utils.js +3 -3
  133. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +10 -19
  134. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +2 -2
  135. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  136. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  137. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  138. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  139. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  140. package/dist/wallets/walletConnectors/chunk-25V3FW3O.js +282 -0
  141. package/dist/wallets/walletConnectors/chunk-27346T3J.js +134 -0
  142. package/dist/wallets/walletConnectors/chunk-5CNLMOB2.js +75 -0
  143. package/dist/wallets/walletConnectors/chunk-5K45TCAM.js +333 -0
  144. package/dist/wallets/walletConnectors/chunk-5VDSMZC4.js +286 -0
  145. package/dist/wallets/walletConnectors/chunk-5W7RBMPH.js +351 -0
  146. package/dist/wallets/walletConnectors/chunk-5XORKEWE.js +326 -0
  147. package/dist/wallets/walletConnectors/chunk-63WBO52A.js +77 -0
  148. package/dist/wallets/walletConnectors/chunk-7IRF225N.js +75 -0
  149. package/dist/wallets/walletConnectors/chunk-7QHCSJDN.js +726 -0
  150. package/dist/wallets/walletConnectors/chunk-A27H6PEU.js +739 -0
  151. package/dist/wallets/walletConnectors/chunk-A4WR3CFN.js +130 -0
  152. package/dist/wallets/walletConnectors/chunk-A6FUNQWF.js +572 -0
  153. package/dist/wallets/walletConnectors/chunk-AF4OCS7N.js +46 -0
  154. package/dist/wallets/walletConnectors/chunk-AFWBXEEC.js +66 -0
  155. package/dist/wallets/walletConnectors/chunk-AUGP2LJR.js +182 -0
  156. package/dist/wallets/walletConnectors/chunk-AWLDVQXC.js +317 -0
  157. package/dist/wallets/walletConnectors/chunk-BLEKTKBN.js +479 -0
  158. package/dist/wallets/walletConnectors/chunk-BVL6G5HI.js +1757 -0
  159. package/dist/wallets/walletConnectors/chunk-CMTGEHDI.js +485 -0
  160. package/dist/wallets/walletConnectors/chunk-D5EFTEOM.js +56 -0
  161. package/dist/wallets/walletConnectors/chunk-DM5NLSWD.js +346 -0
  162. package/dist/wallets/walletConnectors/chunk-EBGI4D2T.js +69 -0
  163. package/dist/wallets/walletConnectors/chunk-EEH2HMFG.js +47 -0
  164. package/dist/wallets/walletConnectors/chunk-F5JWDBKK.js +47 -0
  165. package/dist/wallets/walletConnectors/chunk-FN67MIIH.js +75 -0
  166. package/dist/wallets/walletConnectors/chunk-FWYVBX5F.js +75 -0
  167. package/dist/wallets/walletConnectors/chunk-GH6ZDY4K.js +58 -0
  168. package/dist/wallets/walletConnectors/chunk-GIJZMIBD.js +63 -0
  169. package/dist/wallets/walletConnectors/chunk-GO6OLTNF.js +479 -0
  170. package/dist/wallets/walletConnectors/chunk-HKXBK3NY.js +75 -0
  171. package/dist/wallets/walletConnectors/chunk-HMD2WWFQ.js +75 -0
  172. package/dist/wallets/walletConnectors/chunk-HO5Z2CTL.js +280 -0
  173. package/dist/wallets/walletConnectors/chunk-I3GFVK5O.js +151 -0
  174. package/dist/wallets/walletConnectors/chunk-IUHZ5ZCE.js +121 -0
  175. package/dist/wallets/walletConnectors/chunk-JODNZWWG.js +330 -0
  176. package/dist/wallets/walletConnectors/chunk-JTST3KMW.js +75 -0
  177. package/dist/wallets/walletConnectors/chunk-KH2L3ONV.js +1599 -0
  178. package/dist/wallets/walletConnectors/chunk-LHV22375.js +182 -0
  179. package/dist/wallets/walletConnectors/chunk-LZZE462U.js +315 -0
  180. package/dist/wallets/walletConnectors/chunk-MGCRUAHX.js +276 -0
  181. package/dist/wallets/walletConnectors/chunk-MURSKRMJ.js +63 -0
  182. package/dist/wallets/walletConnectors/chunk-NG7PSAPX.js +115 -0
  183. package/dist/wallets/walletConnectors/chunk-NHP6D6AH.js +204 -0
  184. package/dist/wallets/walletConnectors/chunk-O4AU63LK.js +181 -0
  185. package/dist/wallets/walletConnectors/chunk-OBS74J5N.js +221 -0
  186. package/dist/wallets/walletConnectors/chunk-ON4U54WO.js +115 -0
  187. package/dist/wallets/walletConnectors/chunk-PPYBE5TV.js +276 -0
  188. package/dist/wallets/walletConnectors/chunk-PWWSAM4G.js +309 -0
  189. package/dist/wallets/walletConnectors/chunk-QB5GDLRU.js +330 -0
  190. package/dist/wallets/walletConnectors/chunk-QMLG7MAP.js +107 -0
  191. package/dist/wallets/walletConnectors/chunk-RGIB7FFH.js +47 -0
  192. package/dist/wallets/walletConnectors/chunk-SHJBMDP4.js +278 -0
  193. package/dist/wallets/walletConnectors/chunk-SOBJYYIX.js +484 -0
  194. package/dist/wallets/walletConnectors/chunk-T66U3ADD.js +58 -0
  195. package/dist/wallets/walletConnectors/chunk-THCKLFSJ.js +75 -0
  196. package/dist/wallets/walletConnectors/chunk-TS466TDR.js +286 -0
  197. package/dist/wallets/walletConnectors/chunk-UJGFYQEV.js +459 -0
  198. package/dist/wallets/walletConnectors/chunk-UXNEBBUV.js +224 -0
  199. package/dist/wallets/walletConnectors/chunk-VRCNFVPM.js +276 -0
  200. package/dist/wallets/walletConnectors/chunk-WODNUC65.js +333 -0
  201. package/dist/wallets/walletConnectors/chunk-X6A2FSHK.js +484 -0
  202. package/dist/wallets/walletConnectors/chunk-XVRNEES5.js +1541 -0
  203. package/dist/wallets/walletConnectors/chunk-XWVM2Y5A.js +306 -0
  204. package/dist/wallets/walletConnectors/chunk-XXG7ABSJ.js +328 -0
  205. package/dist/wallets/walletConnectors/chunk-YJH4BHSB.js +254 -0
  206. package/dist/wallets/walletConnectors/chunk-YRDNIP2H.js +90 -0
  207. package/dist/wallets/walletConnectors/chunk-YTPAWPCA.js +156 -0
  208. package/dist/wallets/walletConnectors/chunk-ZCSHD7UG.js +562 -0
  209. package/dist/wallets/walletConnectors/chunk-ZZCZ3RJU.js +272 -0
  210. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  211. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  212. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  213. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  214. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  215. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  216. package/dist/wallets/walletConnectors/index.js +57 -56
  217. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  218. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  219. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  220. package/dist/wallets/walletConnectors/klipWallet/klipWallet.d.ts +3 -0
  221. package/dist/wallets/walletConnectors/klipWallet/klipWallet.js +8 -0
  222. package/dist/wallets/walletConnectors/klipWallet-PPTYYB5G.js +7 -0
  223. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  224. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  225. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  226. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  227. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  228. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  229. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  230. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  231. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  232. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  233. package/package.json +2 -1
@@ -0,0 +1,182 @@
1
+ "use client";
2
+ import {
3
+ BaseApiClient
4
+ } from "./chunk-XWVM2Y5A.js";
5
+ import {
6
+ getNetworkName
7
+ } from "./chunk-4PCVQBFZ.js";
8
+ import {
9
+ createAbcError
10
+ } from "./chunk-BLEKTKBN.js";
11
+ import {
12
+ ABC_ENDPOINTS
13
+ } from "./chunk-OBS74J5N.js";
14
+
15
+ // src/wallets/walletConnectors/abcWallet/api/TransactionApi.ts
16
+ var TransactionApi = class extends BaseApiClient {
17
+ /**
18
+ * Send raw transaction
19
+ */
20
+ async sendRawTransaction(chainId, signedTransaction) {
21
+ const network = getNetworkName(chainId);
22
+ const secureChannelId = await this.secure.getSecureChannelId();
23
+ const bodyData = {
24
+ signedSerializeTx: signedTransaction,
25
+ network
26
+ };
27
+ const bodyString = new URLSearchParams(bodyData).toString();
28
+ const url = `${this.baseURL}${ABC_ENDPOINTS.SEND_RAW_TX}`;
29
+ const response = await fetch(url, {
30
+ method: "POST",
31
+ headers: {
32
+ "Content-Type": "application/x-www-form-urlencoded",
33
+ "Secure-Channel": secureChannelId,
34
+ ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
35
+ },
36
+ body: bodyString
37
+ });
38
+ const text = await response.text();
39
+ if (!text) {
40
+ throw createAbcError(
41
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
42
+ `Empty response from sendRawTx API (status: ${response.status})`,
43
+ { status: response.status }
44
+ );
45
+ }
46
+ const res = JSON.parse(text);
47
+ if (response.status === 401 && this.refreshToken) {
48
+ try {
49
+ await this.refreshAccessToken();
50
+ const retryResponse = await fetch(url, {
51
+ method: "POST",
52
+ headers: {
53
+ "Content-Type": "application/x-www-form-urlencoded",
54
+ "Secure-Channel": secureChannelId,
55
+ ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
56
+ },
57
+ body: bodyString
58
+ });
59
+ const retryText = await retryResponse.text();
60
+ if (!retryText) {
61
+ throw createAbcError(
62
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
63
+ `Empty response after retry (status: ${retryResponse.status})`,
64
+ { status: retryResponse.status }
65
+ );
66
+ }
67
+ const retryRes = JSON.parse(retryText);
68
+ if (retryRes.item || retryRes.txHash || retryRes.result?.txHash) {
69
+ const txHash = retryRes.item || retryRes.txHash || retryRes.result.txHash;
70
+ return { txHash };
71
+ }
72
+ throw createAbcError(
73
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
74
+ "Failed to send transaction after token refresh",
75
+ retryRes
76
+ );
77
+ } catch (refreshError) {
78
+ console.error(
79
+ "Token refresh failed in sendRawTransaction:",
80
+ refreshError
81
+ );
82
+ throw refreshError;
83
+ }
84
+ }
85
+ if (res.result) {
86
+ if (typeof res.result === "string") {
87
+ return { txHash: res.result };
88
+ }
89
+ if (res.result.txHash) {
90
+ return { txHash: res.result.txHash };
91
+ }
92
+ }
93
+ if (res.item) {
94
+ return { txHash: res.item };
95
+ }
96
+ if (res.txHash) {
97
+ return { txHash: res.txHash };
98
+ }
99
+ throw createAbcError(
100
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
101
+ "Failed to send transaction",
102
+ res
103
+ );
104
+ }
105
+ /**
106
+ * Get transaction count (nonce)
107
+ */
108
+ async getTransactionCount(address, network, block = "latest") {
109
+ const nonceUrl = `${this.baseURL}${ABC_ENDPOINTS.TRANSACTION_COUNT}?address=${address}&network=${network}&block=${block}`;
110
+ const response = await fetch(nonceUrl, {
111
+ method: "GET",
112
+ headers: {
113
+ ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
114
+ }
115
+ });
116
+ if (response.ok) {
117
+ const data = await response.json();
118
+ return Number.parseInt(data.result, 16);
119
+ }
120
+ throw createAbcError(
121
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
122
+ "Failed to get transaction count"
123
+ );
124
+ }
125
+ /**
126
+ * Get suggested gas fees for EIP-1559
127
+ */
128
+ async getSuggestedGasFees(network) {
129
+ const url = `${this.baseURL}${ABC_ENDPOINTS.GAS_SUGGESTED_FEES}?network=${network}`;
130
+ const response = await fetch(url, {
131
+ method: "GET",
132
+ headers: {
133
+ ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
134
+ }
135
+ });
136
+ if (response.ok) {
137
+ const data = await response.json();
138
+ return data;
139
+ }
140
+ throw createAbcError(
141
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
142
+ "Failed to get suggested gas fees"
143
+ );
144
+ }
145
+ /**
146
+ * Estimate gas limit for EIP-1559 transaction
147
+ */
148
+ async estimateGas(params) {
149
+ const estimateBody = new URLSearchParams({
150
+ network: params.network,
151
+ to: params.to || "0x",
152
+ ...params.from ? { from: params.from } : {},
153
+ ...params.value ? { value: params.value } : {},
154
+ ...params.data && params.data !== "0x" ? { data: params.data } : {},
155
+ ...params.maxFeePerGas ? { maxFeePerGas: params.maxFeePerGas } : {},
156
+ ...params.maxPriorityFeePerGas ? { maxPriorityFeePerGas: params.maxPriorityFeePerGas } : {}
157
+ });
158
+ const url = `${this.baseURL}${ABC_ENDPOINTS.GAS_ESTIMATE_EIP1559}`;
159
+ const response = await fetch(url, {
160
+ method: "POST",
161
+ headers: {
162
+ "Content-Type": "application/x-www-form-urlencoded",
163
+ ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
164
+ },
165
+ body: estimateBody.toString()
166
+ });
167
+ const data = await response.json();
168
+ if (response.ok && data.result) {
169
+ return data.result;
170
+ }
171
+ const fallbackGasLimit = "0x2dc6c0";
172
+ console.warn("\u26A0\uFE0F Gas estimate failed, using fallback:", {
173
+ error: data.errorMessage || data.msg,
174
+ fallbackGasLimit
175
+ });
176
+ return fallbackGasLimit;
177
+ }
178
+ };
179
+
180
+ export {
181
+ TransactionApi
182
+ };
@@ -0,0 +1,315 @@
1
+ "use client";
2
+ import {
3
+ BaseApiClient
4
+ } from "./chunk-25V3FW3O.js";
5
+ import {
6
+ getSolanaNetwork
7
+ } from "./chunk-O4AU63LK.js";
8
+ import {
9
+ createAbcError
10
+ } from "./chunk-GO6OLTNF.js";
11
+
12
+ // src/wallets/walletConnectors/abcWallet/api/SolanaApi.ts
13
+ import { PublicKey } from "@solana/web3.js";
14
+ import { getTalkenApiClient } from "@talken/talkenkit";
15
+ var SolanaApi = class extends BaseApiClient {
16
+ /**
17
+ * Generate Solana wallet (Ed25519)
18
+ * Delegates to TalkenApiClient unified wallet endpoint.
19
+ *
20
+ * @param pin - Hashed PIN (SHA-256)
21
+ * @param isRecover - Whether to recover existing wallet (default: false)
22
+ * @returns Solana wallet information
23
+ */
24
+ async generateSolanaWallet(pin, isRecover = false) {
25
+ const api = getTalkenApiClient();
26
+ if (!api)
27
+ throw new Error("TalkenApiClient not initialized");
28
+ const response = isRecover ? await api.wallet.recover(pin) : await api.wallet.generate(pin);
29
+ if (!response.solana) {
30
+ throw createAbcError(
31
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
32
+ `Solana wallet not returned from TalkenApiClient ${isRecover ? "recovery" : "generation"}`
33
+ );
34
+ }
35
+ return response.solana;
36
+ }
37
+ /**
38
+ * Recover Solana wallet (alias for generateSolanaWallet with isRecover=true)
39
+ * When TalkenApiClient is available, delegates to the unified recovery endpoint.
40
+ *
41
+ * @param pin - Hashed PIN (SHA-256)
42
+ * @returns Recovered Solana wallet information
43
+ */
44
+ async recoverSolanaWallet(pin) {
45
+ return this.generateSolanaWallet(pin, true);
46
+ }
47
+ /**
48
+ * Get Solana address from wallet addresses endpoint
49
+ * Retrieves from TalkenApiClient unified addresses endpoint.
50
+ *
51
+ * @returns Solana address string or null if not available
52
+ */
53
+ async getSolanaAddress() {
54
+ const api = getTalkenApiClient();
55
+ if (!api)
56
+ throw new Error("TalkenApiClient not initialized");
57
+ const addresses = await api.wallet.getAddresses();
58
+ return addresses.solana || null;
59
+ }
60
+ /**
61
+ * Derive Solana address from Ed25519 public key
62
+ * @param publicKey - Ed25519 public key (hex)
63
+ * @returns Solana address (base58)
64
+ */
65
+ deriveAddressFromPublicKey(publicKey) {
66
+ const cleanKey = publicKey.startsWith("0x") ? publicKey.slice(2) : publicKey;
67
+ const bytes = new Uint8Array(
68
+ cleanKey.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
69
+ );
70
+ try {
71
+ const pubkey = new PublicKey(bytes);
72
+ return pubkey.toBase58();
73
+ } catch (error) {
74
+ console.error("[SolanaApi] Failed to encode address:", error);
75
+ return cleanKey;
76
+ }
77
+ }
78
+ /**
79
+ * Sign Solana transaction with Ed25519
80
+ * Reference: /v3/wallet/sign API requires only 5 fields
81
+ */
82
+ async signSolanaTransaction(params) {
83
+ const network = getSolanaNetwork();
84
+ const response = await this.request("/v3/wallet/sign", {
85
+ method: "POST",
86
+ contentType: "json",
87
+ body: {
88
+ curve: "ed25519",
89
+ network,
90
+ key_id: params.keyId,
91
+ encrypted_share: params.encryptedShare,
92
+ secret_store: params.secretStore || "",
93
+ message: params.message
94
+ }
95
+ });
96
+ let signature;
97
+ if (response.status === "success" && response.result?.signature) {
98
+ signature = response.result.signature;
99
+ } else if (response.signature) {
100
+ signature = response.signature;
101
+ } else {
102
+ throw createAbcError(
103
+ "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
104
+ "Failed to sign Solana transaction",
105
+ response
106
+ );
107
+ }
108
+ return {
109
+ signature
110
+ };
111
+ }
112
+ /**
113
+ * Sign Solana message with Ed25519
114
+ * Reference: /v3/wallet/sign API requires only 5 fields
115
+ */
116
+ async signSolanaMessage(params) {
117
+ const network = getSolanaNetwork();
118
+ const response = await this.request("/v3/wallet/sign", {
119
+ method: "POST",
120
+ contentType: "json",
121
+ body: {
122
+ curve: "ed25519",
123
+ network,
124
+ key_id: params.keyId,
125
+ encrypted_share: params.encryptedShare,
126
+ secret_store: params.secretStore || "",
127
+ message: params.message
128
+ }
129
+ });
130
+ let signature;
131
+ if (response.status === "success" && response.result?.signature) {
132
+ signature = response.result.signature;
133
+ } else if (response.signature) {
134
+ signature = response.signature;
135
+ } else {
136
+ throw createAbcError(
137
+ "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
138
+ "Failed to sign Solana message",
139
+ response
140
+ );
141
+ }
142
+ return {
143
+ signature
144
+ };
145
+ }
146
+ /**
147
+ * Generate Solana transfer transaction via ABC WaaS API
148
+ * This ensures the transaction uses the same RPC and blockhash as the server
149
+ */
150
+ async generateTransferTransaction(params) {
151
+ const response = await this.request(
152
+ "/wapi/v2/solana/tx/generateTransferSOLTransaction",
153
+ {
154
+ method: "POST",
155
+ contentType: "json",
156
+ body: {
157
+ network: params.network,
158
+ amount: params.amount,
159
+ fromAddress: params.fromAddress,
160
+ toAddress: params.toAddress,
161
+ feePayerAddress: params.feePayerAddress
162
+ }
163
+ }
164
+ );
165
+ const responseData = response;
166
+ const serializedTx = responseData.data?.serialized_tx || response.status === "success" && response.result?.data?.serialized_tx;
167
+ if (!serializedTx) {
168
+ throw createAbcError(
169
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
170
+ "Failed to generate Solana transaction",
171
+ response
172
+ );
173
+ }
174
+ return {
175
+ serialized_tx: serializedTx
176
+ };
177
+ }
178
+ /**
179
+ * Send Solana transaction (unsigned transaction + separate signatures)
180
+ * Used for server-generated transactions that need client signatures
181
+ */
182
+ async sendSolanaTransaction(params) {
183
+ const response = await this.request("/wapi/v2/solana/tx/sendTransaction", {
184
+ method: "POST",
185
+ contentType: "json",
186
+ body: {
187
+ network: params.network,
188
+ serializedTX: params.serializedTX,
189
+ signatures: params.signatures
190
+ }
191
+ });
192
+ const responseData = response;
193
+ const txHash = responseData.data || response.status === "success" && response.result?.data;
194
+ if (!txHash || typeof txHash !== "string") {
195
+ throw createAbcError(
196
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
197
+ "Failed to send Solana transaction",
198
+ response
199
+ );
200
+ }
201
+ return {
202
+ txHash
203
+ };
204
+ }
205
+ /**
206
+ * Send fully signed Solana transaction (for client-built transactions)
207
+ * Sends a completely signed transaction directly to Solana network
208
+ */
209
+ async sendSignedSolanaTransaction(params) {
210
+ const response = await this.request(
211
+ "/wapi/v2/solana/tx/sendSignedTransaction",
212
+ {
213
+ method: "POST",
214
+ contentType: "json",
215
+ body: {
216
+ network: params.network,
217
+ serializedTX: params.serializedTX
218
+ }
219
+ }
220
+ );
221
+ const responseData = response;
222
+ const txHash = responseData.data?.transactionHash || response.status === "success" && response.result?.data?.transactionHash;
223
+ if (!txHash || typeof txHash !== "string") {
224
+ throw createAbcError(
225
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
226
+ "Failed to send signed Solana transaction",
227
+ response
228
+ );
229
+ }
230
+ return {
231
+ txHash
232
+ };
233
+ }
234
+ /**
235
+ * Generate SPL token transfer transaction via ABC WaaS API
236
+ * Uses wallet addresses (not token accounts) - API resolves ATAs internally
237
+ *
238
+ * @param params - SPL transfer parameters
239
+ * @returns Serialized transaction
240
+ */
241
+ async generateSPLTransferTransaction(params) {
242
+ const response = await this.request(
243
+ "/wapi/v2/solana/tx/generateTransferFTTransaction",
244
+ {
245
+ method: "POST",
246
+ contentType: "json",
247
+ body: {
248
+ network: params.network,
249
+ mintAddress: params.mintAddress,
250
+ fromAddress: params.fromAddress,
251
+ toAddress: params.toAddress,
252
+ amount: params.amount,
253
+ ...params.decimals !== void 0 && { decimals: params.decimals },
254
+ ...params.feePayerAddress && {
255
+ feePayerAddress: params.feePayerAddress
256
+ },
257
+ ...params.latestBlockhash && {
258
+ latestBlockhash: params.latestBlockhash
259
+ }
260
+ }
261
+ }
262
+ );
263
+ const responseData = response;
264
+ const data = responseData.data || response.status === "success" && response.result;
265
+ if (!data?.serialized_tx) {
266
+ throw createAbcError(
267
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
268
+ "Failed to generate SPL transfer transaction",
269
+ response
270
+ );
271
+ }
272
+ return {
273
+ serialized_tx: data.serialized_tx,
274
+ estimated_fee: data.estimated_fee || { context: { Slot: 0 }, value: 0 },
275
+ latest_blockhash: data.latest_blockhash || ""
276
+ };
277
+ }
278
+ /**
279
+ * Get SPL token supply information
280
+ *
281
+ * @param params - Token query parameters
282
+ * @returns Token supply information
283
+ */
284
+ async getTokenInfo(params) {
285
+ const response = await this.request(
286
+ "/wapi/v2/solana/token/getTokenSupply",
287
+ {
288
+ method: "POST",
289
+ contentType: "json",
290
+ body: {
291
+ network: params.network,
292
+ tokenAddress: params.tokenAddress
293
+ }
294
+ }
295
+ );
296
+ const responseData = response;
297
+ const value = responseData.data?.value || response.status === "success" && response.result?.data?.value;
298
+ if (!value || typeof value.decimals !== "number") {
299
+ throw createAbcError(
300
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
301
+ "Failed to get token info",
302
+ response
303
+ );
304
+ }
305
+ return {
306
+ amount: value.amount,
307
+ decimals: value.decimals,
308
+ uiAmountString: value.uiAmountString
309
+ };
310
+ }
311
+ };
312
+
313
+ export {
314
+ SolanaApi
315
+ };