@talken/talkenkit 2.3.12 → 2.3.14

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 (411) hide show
  1. package/dist/components/RainbowKitProvider/RainbowKitProvider.d.ts +8 -1
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.js +1030 -117
  4. package/dist/solana/SolanaWalletProvider.d.ts +7 -2
  5. package/dist/solana/hooks/index.d.ts +12 -0
  6. package/dist/solana/hooks/useSolanaAccount.d.ts +98 -0
  7. package/dist/solana/hooks/useSolanaConnection.d.ts +72 -0
  8. package/dist/solana/hooks/useSolanaSendTransaction.d.ts +98 -0
  9. package/dist/solana/hooks/useSolanaSignMessage.d.ts +82 -0
  10. package/dist/wallets/walletConnectors/abcWallet/abcApi.d.ts +2 -1
  11. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +4 -3
  12. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +4 -3
  13. package/dist/wallets/walletConnectors/abcWallet/abcConnector.d.ts +1 -1
  14. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -5
  15. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +3 -3
  16. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.d.ts +14 -19
  17. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +4 -1
  18. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.js +3 -3
  19. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +1 -1
  20. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +7 -6
  21. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -6
  22. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +4 -4
  23. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +3 -3
  24. package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +4 -4
  25. package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +4 -4
  26. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +2 -0
  27. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +5 -4
  28. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +4 -4
  29. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.d.ts +2 -1
  30. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +5 -4
  31. package/dist/wallets/walletConnectors/abcWallet/api/index.js +13 -12
  32. package/dist/wallets/walletConnectors/abcWallet/index.js +27 -26
  33. package/dist/wallets/walletConnectors/abcWallet/networkConfig.d.ts +189 -0
  34. package/dist/wallets/walletConnectors/abcWallet/networkConfig.js +33 -0
  35. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +19 -2
  36. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
  37. package/dist/wallets/walletConnectors/{chunk-24SQ562R.js → chunk-25LLSYLN.js} +12 -12
  38. package/dist/wallets/walletConnectors/{chunk-3WVSOTC4.js → chunk-2E2TVL4A.js} +8 -8
  39. package/dist/wallets/walletConnectors/chunk-2GODJ6NU.js +398 -0
  40. package/dist/wallets/walletConnectors/{chunk-43LOEA55.js → chunk-2PDAR5KA.js} +10 -10
  41. package/dist/wallets/walletConnectors/{chunk-4LVXMPGO.js → chunk-2RVWT7N7.js} +1 -1
  42. package/dist/wallets/walletConnectors/{chunk-3UNSJDAS.js → chunk-2XFKRGDK.js} +10 -10
  43. package/dist/wallets/walletConnectors/chunk-2ZFMD7GF.js +419 -0
  44. package/dist/wallets/walletConnectors/chunk-3OYZYIBX.js +361 -0
  45. package/dist/wallets/walletConnectors/chunk-3WRALPTT.js +403 -0
  46. package/dist/wallets/walletConnectors/{chunk-2J66VMY5.js → chunk-43LPUTHW.js} +19 -14
  47. package/dist/wallets/walletConnectors/{chunk-2GIBC7XF.js → chunk-4H6TSGD7.js} +5 -5
  48. package/dist/wallets/walletConnectors/chunk-4OPIMV4N.js +376 -0
  49. package/dist/wallets/walletConnectors/{chunk-5OFAP55G.js → chunk-4QPXFUDC.js} +1 -1
  50. package/dist/wallets/walletConnectors/chunk-4TFDVNMF.js +370 -0
  51. package/dist/wallets/walletConnectors/chunk-4VO5XDCV.js +63 -0
  52. package/dist/wallets/walletConnectors/chunk-4YKA5OIT.js +63 -0
  53. package/dist/wallets/walletConnectors/{chunk-OEB7MRS5.js → chunk-5AAIZIND.js} +3 -3
  54. package/dist/wallets/walletConnectors/{chunk-SUXK3JW6.js → chunk-5DDAV4BZ.js} +2 -2
  55. package/dist/wallets/walletConnectors/chunk-5KCTAEQB.js +391 -0
  56. package/dist/wallets/walletConnectors/chunk-5OKJZU3F.js +63 -0
  57. package/dist/wallets/walletConnectors/chunk-5PBZRTEM.js +63 -0
  58. package/dist/wallets/walletConnectors/chunk-5SLXMCS2.js +34 -0
  59. package/dist/wallets/walletConnectors/{chunk-BHMMHU7Y.js → chunk-5VL7T6AY.js} +46 -5
  60. package/dist/wallets/walletConnectors/{chunk-NKJLO4QH.js → chunk-62ZC3BGR.js} +4 -4
  61. package/dist/wallets/walletConnectors/{chunk-OHRTTVNJ.js → chunk-636QKXSN.js} +1 -1
  62. package/dist/wallets/walletConnectors/chunk-6DMWYDIO.js +390 -0
  63. package/dist/wallets/walletConnectors/{chunk-ESRU5KCF.js → chunk-6KO5WQ5C.js} +7 -2
  64. package/dist/wallets/walletConnectors/chunk-6URAISNZ.js +388 -0
  65. package/dist/wallets/walletConnectors/{chunk-6KUCZXJE.js → chunk-6V3335LE.js} +7 -7
  66. package/dist/wallets/walletConnectors/{chunk-CNHVIXPV.js → chunk-75NE2OUD.js} +48 -7
  67. package/dist/wallets/walletConnectors/chunk-76O6JH3T.js +39 -0
  68. package/dist/wallets/walletConnectors/chunk-7UHZX522.js +369 -0
  69. package/dist/wallets/walletConnectors/{chunk-DMRM7XAS.js → chunk-A7KV643A.js} +21 -16
  70. package/dist/wallets/walletConnectors/chunk-ADMITKUE.js +63 -0
  71. package/dist/wallets/walletConnectors/{chunk-P2E4LSYH.js → chunk-AKYC5VZG.js} +8 -3
  72. package/dist/wallets/walletConnectors/chunk-AL7R7JQU.js +124 -0
  73. package/dist/wallets/walletConnectors/{chunk-3J3XZMJ7.js → chunk-AY4TMZG6.js} +2 -2
  74. package/dist/wallets/walletConnectors/{chunk-ASUECF4H.js → chunk-AZRYTD6J.js} +8 -8
  75. package/dist/wallets/walletConnectors/{chunk-BKXPGZMQ.js → chunk-B23AX3U3.js} +46 -5
  76. package/dist/wallets/walletConnectors/{chunk-SPR4W5TG.js → chunk-BNSBK5PQ.js} +2 -2
  77. package/dist/wallets/walletConnectors/{chunk-RSZS2RMC.js → chunk-BPLIASJE.js} +1 -1
  78. package/dist/wallets/walletConnectors/chunk-CB4CSXNY.js +63 -0
  79. package/dist/wallets/walletConnectors/chunk-CGLM5KXH.js +1683 -0
  80. package/dist/wallets/walletConnectors/chunk-CNI3U6UK.js +39 -0
  81. package/dist/wallets/walletConnectors/chunk-CSLAM3IH.js +39 -0
  82. package/dist/wallets/walletConnectors/chunk-CTSR4YUH.js +376 -0
  83. package/dist/wallets/walletConnectors/{chunk-X5LRFFBP.js → chunk-D6MSZOEN.js} +90 -94
  84. package/dist/wallets/walletConnectors/{chunk-DAZZIITX.js → chunk-DA7TFV7F.js} +7 -2
  85. package/dist/wallets/walletConnectors/{chunk-JBRW4UTW.js → chunk-DHVD2NUK.js} +9 -4
  86. package/dist/wallets/walletConnectors/chunk-DPL5VRGJ.js +156 -0
  87. package/dist/wallets/walletConnectors/chunk-DSEWXHE6.js +44 -0
  88. package/dist/wallets/walletConnectors/chunk-DU6M25IR.js +269 -0
  89. package/dist/wallets/walletConnectors/chunk-E3PO2XKJ.js +433 -0
  90. package/dist/wallets/walletConnectors/chunk-E5YF2QC2.js +63 -0
  91. package/dist/wallets/walletConnectors/chunk-ENAFVPRZ.js +374 -0
  92. package/dist/wallets/walletConnectors/chunk-ENHE6LS7.js +368 -0
  93. package/dist/wallets/walletConnectors/chunk-EPUITAK3.js +63 -0
  94. package/dist/wallets/walletConnectors/chunk-EQZ6IAAM.js +39 -0
  95. package/dist/wallets/walletConnectors/chunk-F2LC3G36.js +269 -0
  96. package/dist/wallets/walletConnectors/chunk-F5HCFRTK.js +1683 -0
  97. package/dist/wallets/walletConnectors/chunk-F5Q4VDER.js +156 -0
  98. package/dist/wallets/walletConnectors/{chunk-HDYBRMYW.js → chunk-FGBDWBWQ.js} +2 -2
  99. package/dist/wallets/walletConnectors/{chunk-MY5YIDOB.js → chunk-FROV5VDF.js} +6 -24
  100. package/dist/wallets/walletConnectors/chunk-GUUGKRZB.js +63 -0
  101. package/dist/wallets/walletConnectors/chunk-GZ55OZIT.js +157 -0
  102. package/dist/wallets/walletConnectors/chunk-H7SRDBPI.js +384 -0
  103. package/dist/wallets/walletConnectors/chunk-HDXHEBGM.js +403 -0
  104. package/dist/wallets/walletConnectors/chunk-HGI3FA2A.js +157 -0
  105. package/dist/wallets/walletConnectors/chunk-HMSFBY7V.js +39 -0
  106. package/dist/wallets/walletConnectors/{chunk-DP2HUTLN.js → chunk-IABRLMSP.js} +7 -7
  107. package/dist/wallets/walletConnectors/chunk-IL52SYJK.js +44 -0
  108. package/dist/wallets/walletConnectors/{chunk-KD2OAMDA.js → chunk-ISAMATTH.js} +2 -2
  109. package/dist/wallets/walletConnectors/chunk-IXPVDDZD.js +365 -0
  110. package/dist/wallets/walletConnectors/{chunk-GLPRLW3S.js → chunk-JNKT32C7.js} +7 -7
  111. package/dist/wallets/walletConnectors/chunk-JW4RQLJT.js +156 -0
  112. package/dist/wallets/walletConnectors/chunk-JXPLBYVW.js +157 -0
  113. package/dist/wallets/walletConnectors/chunk-K6BNM6VP.js +63 -0
  114. package/dist/wallets/walletConnectors/chunk-KEV4GPRY.js +63 -0
  115. package/dist/wallets/walletConnectors/{chunk-WAO3KL5U.js → chunk-KJHOGJ3A.js} +13 -5
  116. package/dist/wallets/walletConnectors/chunk-KN4I4DKC.js +157 -0
  117. package/dist/wallets/walletConnectors/chunk-KNK6YFEK.js +63 -0
  118. package/dist/wallets/walletConnectors/chunk-KSKNDJYL.js +63 -0
  119. package/dist/wallets/walletConnectors/chunk-KYA553D7.js +371 -0
  120. package/dist/wallets/walletConnectors/{chunk-TUUNSVKZ.js → chunk-KZG5KU7A.js} +2 -2
  121. package/dist/wallets/walletConnectors/chunk-L57JYRQZ.js +63 -0
  122. package/dist/wallets/walletConnectors/chunk-LB3ISYMC.js +44 -0
  123. package/dist/wallets/walletConnectors/{chunk-25JJ3PT5.js → chunk-LLFZ4GNK.js} +43 -5
  124. package/dist/wallets/walletConnectors/chunk-LLJELGMX.js +63 -0
  125. package/dist/wallets/walletConnectors/chunk-LOP2R3QJ.js +1683 -0
  126. package/dist/wallets/walletConnectors/chunk-LTX3ZSQI.js +39 -0
  127. package/dist/wallets/walletConnectors/chunk-MF46Q5RP.js +44 -0
  128. package/dist/wallets/walletConnectors/chunk-MGPMSUFB.js +372 -0
  129. package/dist/wallets/walletConnectors/chunk-MK45L6B7.js +123 -0
  130. package/dist/wallets/walletConnectors/chunk-MOJC7LE6.js +63 -0
  131. package/dist/wallets/walletConnectors/chunk-MT2QHWYE.js +156 -0
  132. package/dist/wallets/walletConnectors/{chunk-W7R3JGSC.js → chunk-MZOFZ2NQ.js} +2 -2
  133. package/dist/wallets/walletConnectors/chunk-N6CRHH2H.js +400 -0
  134. package/dist/wallets/walletConnectors/chunk-N6QHQDQP.js +381 -0
  135. package/dist/wallets/walletConnectors/chunk-NALBGCUS.js +63 -0
  136. package/dist/wallets/walletConnectors/chunk-NOD2A4Q7.js +430 -0
  137. package/dist/wallets/walletConnectors/chunk-NOL7MBZU.js +1683 -0
  138. package/dist/wallets/walletConnectors/{chunk-IOLHAU7H.js → chunk-NX5MQHSQ.js} +10 -2
  139. package/dist/wallets/walletConnectors/chunk-OA5K3AQN.js +370 -0
  140. package/dist/wallets/walletConnectors/chunk-Q3LW5UK5.js +135 -0
  141. package/dist/wallets/walletConnectors/chunk-QDCXRBX6.js +63 -0
  142. package/dist/wallets/walletConnectors/chunk-QHHR2DQK.js +269 -0
  143. package/dist/wallets/walletConnectors/chunk-QIDXRXV6.js +63 -0
  144. package/dist/wallets/walletConnectors/{chunk-IA4EQFSS.js → chunk-QKUFFUM5.js} +2 -2
  145. package/dist/wallets/walletConnectors/chunk-QNY3A52P.js +156 -0
  146. package/dist/wallets/walletConnectors/chunk-QQEXHPNE.js +385 -0
  147. package/dist/wallets/walletConnectors/chunk-RASK6XWI.js +436 -0
  148. package/dist/wallets/walletConnectors/chunk-RFMJC64I.js +364 -0
  149. package/dist/wallets/walletConnectors/chunk-RVJ32DTM.js +373 -0
  150. package/dist/wallets/walletConnectors/{chunk-U2CUEL35.js → chunk-RY4RAB3D.js} +1 -1
  151. package/dist/wallets/walletConnectors/chunk-S64JWSGA.js +63 -0
  152. package/dist/wallets/walletConnectors/chunk-SG6KN7NJ.js +377 -0
  153. package/dist/wallets/walletConnectors/chunk-SGLHM6AU.js +157 -0
  154. package/dist/wallets/walletConnectors/chunk-SK2XYNK4.js +44 -0
  155. package/dist/wallets/walletConnectors/chunk-SKBQVOZL.js +1683 -0
  156. package/dist/wallets/walletConnectors/chunk-SQAILDYS.js +1683 -0
  157. package/dist/wallets/walletConnectors/chunk-SRTBTRBU.js +372 -0
  158. package/dist/wallets/walletConnectors/chunk-T23ZNPHL.js +269 -0
  159. package/dist/wallets/walletConnectors/chunk-T3AL3VAQ.js +44 -0
  160. package/dist/wallets/walletConnectors/chunk-T4QIWLWU.js +357 -0
  161. package/dist/wallets/walletConnectors/chunk-T7NXVYE6.js +372 -0
  162. package/dist/wallets/walletConnectors/chunk-THQEUSX4.js +63 -0
  163. package/dist/wallets/walletConnectors/chunk-TLJSBPMQ.js +63 -0
  164. package/dist/wallets/walletConnectors/chunk-TPGMXU6M.js +63 -0
  165. package/dist/wallets/walletConnectors/chunk-UBDYVLI4.js +370 -0
  166. package/dist/wallets/walletConnectors/chunk-UH6AUMQQ.js +63 -0
  167. package/dist/wallets/walletConnectors/chunk-UTPJPY4R.js +44 -0
  168. package/dist/wallets/walletConnectors/{chunk-W23N7VC4.js → chunk-UV5HHESJ.js} +4 -22
  169. package/dist/wallets/walletConnectors/{chunk-4UGXLYKP.js → chunk-V3XKL7AD.js} +2 -2
  170. package/dist/wallets/walletConnectors/chunk-VIH2AOMF.js +63 -0
  171. package/dist/wallets/walletConnectors/chunk-VIRHJPFQ.js +269 -0
  172. package/dist/wallets/walletConnectors/chunk-VQI2B7XW.js +269 -0
  173. package/dist/wallets/walletConnectors/chunk-VQYANLI2.js +44 -0
  174. package/dist/wallets/walletConnectors/chunk-VRTDF4O3.js +63 -0
  175. package/dist/wallets/walletConnectors/chunk-VRUPSQK4.js +269 -0
  176. package/dist/wallets/walletConnectors/chunk-VWZP7KJD.js +157 -0
  177. package/dist/wallets/walletConnectors/chunk-VZCI2K6Y.js +124 -0
  178. package/dist/wallets/walletConnectors/chunk-WIZH35IC.js +39 -0
  179. package/dist/wallets/walletConnectors/chunk-WOZ5REMN.js +436 -0
  180. package/dist/wallets/walletConnectors/chunk-WPEGBCDE.js +157 -0
  181. package/dist/wallets/walletConnectors/chunk-WPJESUNP.js +379 -0
  182. package/dist/wallets/walletConnectors/chunk-WZ322AWR.js +44 -0
  183. package/dist/wallets/walletConnectors/chunk-WZAIQD3G.js +156 -0
  184. package/dist/wallets/walletConnectors/chunk-XC5EXBMU.js +385 -0
  185. package/dist/wallets/walletConnectors/chunk-XWCS76ZC.js +1683 -0
  186. package/dist/wallets/walletConnectors/chunk-XZHB7HU4.js +157 -0
  187. package/dist/wallets/walletConnectors/chunk-Y5677NVB.js +285 -0
  188. package/dist/wallets/walletConnectors/chunk-YC73LM6F.js +63 -0
  189. package/dist/wallets/walletConnectors/{chunk-RLBGBBIO.js → chunk-YEHCPL4R.js} +2 -2
  190. package/dist/wallets/walletConnectors/chunk-YHWQOKFW.js +39 -0
  191. package/dist/wallets/walletConnectors/chunk-YIB6VMOF.js +156 -0
  192. package/dist/wallets/walletConnectors/chunk-YPL4NJGA.js +156 -0
  193. package/dist/wallets/walletConnectors/chunk-YQP7DZ7T.js +269 -0
  194. package/dist/wallets/walletConnectors/chunk-ZBMGJDJA.js +436 -0
  195. package/dist/wallets/walletConnectors/{chunk-XYPR4BAF.js → chunk-ZIYAL44B.js} +1 -1
  196. package/dist/wallets/walletConnectors/chunk-ZX6LABEF.js +130 -0
  197. package/dist/wallets/walletConnectors/index.js +35 -34
  198. package/package.json +1 -1
  199. package/dist/Arc-R3PUWRPJ.js +0 -7
  200. package/dist/Brave-24BM36UM.js +0 -7
  201. package/dist/Browser-4R4QKTV2.js +0 -7
  202. package/dist/Chrome-TLI42HDP.js +0 -7
  203. package/dist/Edge-AZ34LAFM.js +0 -7
  204. package/dist/Firefox-ZDK7RHKK.js +0 -7
  205. package/dist/Linux-VYP66PDO.js +0 -7
  206. package/dist/Macos-5QL4JBJE.js +0 -7
  207. package/dist/Opera-BKMCKUXC.js +0 -7
  208. package/dist/Safari-PXQIVS6N.js +0 -7
  209. package/dist/Windows-GTAT3OTE.js +0 -7
  210. package/dist/abcWallet-AYWSIGAG.js +0 -7
  211. package/dist/ar_AR-ZRPPM56D.js +0 -7
  212. package/dist/arbitrum-IA4OWRTN.js +0 -7
  213. package/dist/argentWallet-M6SBG4CU.js +0 -7
  214. package/dist/assets-NU2OP443.js +0 -7
  215. package/dist/avalanche-MXEFEDSW.js +0 -7
  216. package/dist/base-Z4LFBE5D.js +0 -7
  217. package/dist/berasigWallet-NNBFDHFK.js +0 -7
  218. package/dist/bestWallet-XRIABRUE.js +0 -7
  219. package/dist/bifrostWallet-ORF3DABG.js +0 -7
  220. package/dist/binanceWallet-BCWLBY3Q.js +0 -7
  221. package/dist/bitgetWallet-CLYTW54T.js +0 -7
  222. package/dist/bitskiWallet-X5NWL5CE.js +0 -7
  223. package/dist/bitverseWallet-6SGDFATJ.js +0 -7
  224. package/dist/blast-TN2WIMWF.js +0 -7
  225. package/dist/bloomWallet-MXLAOWS6.js +0 -7
  226. package/dist/braveWallet-6QAF4GDN.js +0 -7
  227. package/dist/bsc-RVE67I5L.js +0 -7
  228. package/dist/bybitWallet-GR4PFINZ.js +0 -7
  229. package/dist/celo-E6XU57FO.js +0 -7
  230. package/dist/chunk-M2CMB5B2.js +0 -93
  231. package/dist/chunk-Y7ZSI2YC.js +0 -227
  232. package/dist/clvWallet-ZIMSRU5J.js +0 -7
  233. package/dist/coin98Wallet-RFXRNVWP.js +0 -7
  234. package/dist/coinbaseWallet-WWX6LF36.js +0 -7
  235. package/dist/compassWallet-3LBTWCKI.js +0 -7
  236. package/dist/components/AbcLoginModal/AbcAuthModal.d.ts +0 -43
  237. package/dist/components/AbcLoginModal/AbcLoginModal.d.ts +0 -18
  238. package/dist/components/AbcLoginModal/EmailLogin.d.ts +0 -11
  239. package/dist/components/AbcLoginModal/OtpLogin.d.ts +0 -13
  240. package/dist/components/AbcLoginModal/PasswordInput.d.ts +0 -12
  241. package/dist/components/AbcLoginModal/PinInput.d.ts +0 -13
  242. package/dist/components/AbcLoginModal/PinSetup.d.ts +0 -11
  243. package/dist/components/AbcLoginModal/index.d.ts +0 -12
  244. package/dist/components/AbcLoginModal/styles.css.d.ts +0 -29
  245. package/dist/components/ConnectOptions/AbcWaasAuth/hooks/useUserTypeDetection.d.ts +0 -0
  246. package/dist/components/ConnectOptions/AbcWaasLoginSection.css.d.ts +0 -8
  247. package/dist/components/ConnectOptions/AbcWaasLoginSection.d.ts +0 -8
  248. package/dist/components/ConnectOptions/CompactMobileOptions.css.d.ts +0 -26
  249. package/dist/components/ConnectOptions/CompactMobileOptions.d.ts +0 -19
  250. package/dist/components/ConnectOptions/DesktopOptions.css.d.ts +0 -4
  251. package/dist/components/ConnectOptions/DesktopOptions.d.ts +0 -34
  252. package/dist/components/ConnectOptions/ExternalWallets/WalletList.d.ts +0 -94
  253. package/dist/connect-MR6XDLIE.js +0 -7
  254. package/dist/coreWallet-52SXITOT.js +0 -7
  255. package/dist/create-X4WFHLCW.js +0 -7
  256. package/dist/cronos-ROYR77VZ.js +0 -7
  257. package/dist/dawnWallet-ONVAA3S4.js +0 -7
  258. package/dist/de_DE-GYZFZXWH.js +0 -7
  259. package/dist/desigWallet-WJMSF3PS.js +0 -7
  260. package/dist/en_US-AV7YDYDW.js +0 -7
  261. package/dist/encryption-3YHRI3PA.js +0 -14
  262. package/dist/enkryptWallet-FR4QCDFK.js +0 -7
  263. package/dist/es_419-OGVOQEFZ.js +0 -7
  264. package/dist/ethereum-RFBAMUVK.js +0 -7
  265. package/dist/flow-NBCRNYVF.js +0 -7
  266. package/dist/foxWallet-5ESSNXJV.js +0 -7
  267. package/dist/fr_FR-Q5QBQBX2.js +0 -1355
  268. package/dist/frameWallet-FDBUY4AA.js +0 -7
  269. package/dist/frontierWallet-HNIG7QYQ.js +0 -7
  270. package/dist/gateWallet-ZVEZILRP.js +0 -7
  271. package/dist/gnosis-T7U5EW2Q.js +0 -7
  272. package/dist/hardhat-NEEC6JX7.js +0 -7
  273. package/dist/hi_IN-7I7LRHGW.js +0 -7
  274. package/dist/id_ID-ZMGZ2JFV.js +0 -7
  275. package/dist/imTokenWallet-N2MYFADO.js +0 -7
  276. package/dist/injectedWallet-H7LYKTQS.js +0 -7
  277. package/dist/iopayWallet-IJHJ7NYT.js +0 -7
  278. package/dist/ja_JP-NYBCHQTZ.js +0 -7
  279. package/dist/kaia-A33DVQBT.js +0 -7
  280. package/dist/kaiaWallet-5K6WZ3AH.js +0 -7
  281. package/dist/kaikasWallet-F6Z6IPWN.js +0 -7
  282. package/dist/ko_KR-67WE736M.js +0 -7
  283. package/dist/krakenWallet-DAOXUKWO.js +0 -7
  284. package/dist/kresusWallet-AUJWLAOF.js +0 -7
  285. package/dist/ledgerWallet-KZKJ5Q2S.js +0 -7
  286. package/dist/login-CWDTIDNK.js +0 -7
  287. package/dist/magicEden-PKT2ZXEQ.js +0 -7
  288. package/dist/manta-5V6W5D7G.js +0 -7
  289. package/dist/mantle-KBL3OIYT.js +0 -7
  290. package/dist/metaMaskWallet-YFHEHW7V.js +0 -7
  291. package/dist/mewWallet-6V4UZOQC.js +0 -7
  292. package/dist/ms_MY-65AJIBUS.js +0 -7
  293. package/dist/nestWallet-BFZZZYLV.js +0 -7
  294. package/dist/oktoWallet-GJFOPPEA.js +0 -7
  295. package/dist/okxWallet-GJMKZIND.js +0 -7
  296. package/dist/omniWallet-DEYUMT4A.js +0 -7
  297. package/dist/oneInchWallet-D7BQOLOO.js +0 -7
  298. package/dist/oneKeyWallet-4MM7G2SZ.js +0 -7
  299. package/dist/optimism-YWJ3IQHA.js +0 -7
  300. package/dist/paraSwapWallet-TMV5MUEF.js +0 -7
  301. package/dist/phantomWallet-IPGVKCAB.js +0 -7
  302. package/dist/polygon-WWEUOMKW.js +0 -7
  303. package/dist/pt_BR-DMJANC65.js +0 -7
  304. package/dist/rabbyWallet-FLVUU35F.js +0 -7
  305. package/dist/rainbowWallet-2SR6TVBF.js +0 -7
  306. package/dist/ramperWallet-AF5AKK2S.js +0 -7
  307. package/dist/refresh-HJGJRASX.js +0 -7
  308. package/dist/ronin-PNHX5V6H.js +0 -7
  309. package/dist/roninWallet-SAB5ESVK.js +0 -7
  310. package/dist/ru_RU-WER7RQ6A.js +0 -1355
  311. package/dist/safeWallet-VUYZPLY4.js +0 -7
  312. package/dist/safeheronWallet-6JG77AKC.js +0 -7
  313. package/dist/safepalWallet-KQJ4OCNH.js +0 -7
  314. package/dist/scan-DEOT2M37.js +0 -7
  315. package/dist/scroll-NMZWDUQH.js +0 -7
  316. package/dist/secure-GEK7TTJY.js +0 -8
  317. package/dist/secure-NK6LHWDT.js +0 -7
  318. package/dist/seifWallet-QATOS33A.js +0 -7
  319. package/dist/sign-A7IJEUT5.js +0 -7
  320. package/dist/subWallet-LOZELSAO.js +0 -7
  321. package/dist/tahoWallet-L6KHUNKD.js +0 -7
  322. package/dist/talismanWallet-BLXUHONV.js +0 -7
  323. package/dist/th_TH-JOSHEZ6D.js +0 -1355
  324. package/dist/tokenPocketWallet-BVMBOYTC.js +0 -7
  325. package/dist/tokenaryWallet-Z2IGVXSA.js +0 -7
  326. package/dist/tr_TR-EAMG2YPO.js +0 -1355
  327. package/dist/trustWallet-E2GVGE4U.js +0 -7
  328. package/dist/uk_UA-GO2TRVWA.js +0 -1355
  329. package/dist/uniswapWallet-T26M44R7.js +0 -7
  330. package/dist/valoraWallet-RX3ONO47.js +0 -7
  331. package/dist/vi_VN-5HLLSOJA.js +0 -7
  332. package/dist/walletConnectWallet-FNSU4KNU.js +0 -7
  333. package/dist/wallets/walletConnectors/chunk-4IRVZPIN.js +0 -63
  334. package/dist/wallets/walletConnectors/chunk-4NLOE5S3.js +0 -63
  335. package/dist/wallets/walletConnectors/chunk-5LXC3Z5Q.js +0 -567
  336. package/dist/wallets/walletConnectors/chunk-5MSMALF7.js +0 -63
  337. package/dist/wallets/walletConnectors/chunk-6KOHIL7T.js +0 -63
  338. package/dist/wallets/walletConnectors/chunk-6RJNPH5L.js +0 -280
  339. package/dist/wallets/walletConnectors/chunk-6TLWAEJV.js +0 -63
  340. package/dist/wallets/walletConnectors/chunk-6YPK343Z.js +0 -63
  341. package/dist/wallets/walletConnectors/chunk-73B7HWCT.js +0 -436
  342. package/dist/wallets/walletConnectors/chunk-74ALNZG4.js +0 -63
  343. package/dist/wallets/walletConnectors/chunk-7FFIZE76.js +0 -63
  344. package/dist/wallets/walletConnectors/chunk-7P5HZGEV.js +0 -627
  345. package/dist/wallets/walletConnectors/chunk-A6LBRVGP.js +0 -63
  346. package/dist/wallets/walletConnectors/chunk-AEQOPQL6.js +0 -240
  347. package/dist/wallets/walletConnectors/chunk-BC2UIAF7.js +0 -63
  348. package/dist/wallets/walletConnectors/chunk-BXCOGV3N.js +0 -599
  349. package/dist/wallets/walletConnectors/chunk-CM5OGUJV.js +0 -63
  350. package/dist/wallets/walletConnectors/chunk-F4JFONDA.js +0 -601
  351. package/dist/wallets/walletConnectors/chunk-GOPPX56D.js +0 -63
  352. package/dist/wallets/walletConnectors/chunk-GXHCAEWR.js +0 -63
  353. package/dist/wallets/walletConnectors/chunk-HOE4UOHR.js +0 -514
  354. package/dist/wallets/walletConnectors/chunk-HS2FAOAJ.js +0 -63
  355. package/dist/wallets/walletConnectors/chunk-I5V7LWJH.js +0 -63
  356. package/dist/wallets/walletConnectors/chunk-IHM7I7D5.js +0 -63
  357. package/dist/wallets/walletConnectors/chunk-J4HQCVKX.js +0 -63
  358. package/dist/wallets/walletConnectors/chunk-JCMXNOQ5.js +0 -63
  359. package/dist/wallets/walletConnectors/chunk-JJAJOFZI.js +0 -63
  360. package/dist/wallets/walletConnectors/chunk-KFIUFVQH.js +0 -624
  361. package/dist/wallets/walletConnectors/chunk-KFROJI25.js +0 -535
  362. package/dist/wallets/walletConnectors/chunk-KHVILXGK.js +0 -514
  363. package/dist/wallets/walletConnectors/chunk-LGT7LQAJ.js +0 -63
  364. package/dist/wallets/walletConnectors/chunk-LHBQ2Z3Q.js +0 -63
  365. package/dist/wallets/walletConnectors/chunk-M76GLEFL.js +0 -63
  366. package/dist/wallets/walletConnectors/chunk-MFIE6UCG.js +0 -63
  367. package/dist/wallets/walletConnectors/chunk-NA5G3LSC.js +0 -63
  368. package/dist/wallets/walletConnectors/chunk-NASGGIUS.js +0 -63
  369. package/dist/wallets/walletConnectors/chunk-NLKL4KD2.js +0 -63
  370. package/dist/wallets/walletConnectors/chunk-NURTFXQU.js +0 -568
  371. package/dist/wallets/walletConnectors/chunk-NVM3JZ4L.js +0 -63
  372. package/dist/wallets/walletConnectors/chunk-NWDLOM7Q.js +0 -646
  373. package/dist/wallets/walletConnectors/chunk-OMYDLPUM.js +0 -63
  374. package/dist/wallets/walletConnectors/chunk-P2MTINFI.js +0 -280
  375. package/dist/wallets/walletConnectors/chunk-PDWD3ZCR.js +0 -63
  376. package/dist/wallets/walletConnectors/chunk-PHD5KHRQ.js +0 -63
  377. package/dist/wallets/walletConnectors/chunk-PLL7P7HY.js +0 -63
  378. package/dist/wallets/walletConnectors/chunk-PQJWUKUD.js +0 -63
  379. package/dist/wallets/walletConnectors/chunk-PUFQKZA7.js +0 -63
  380. package/dist/wallets/walletConnectors/chunk-PZJYVPGG.js +0 -63
  381. package/dist/wallets/walletConnectors/chunk-Q5B5ICDI.js +0 -63
  382. package/dist/wallets/walletConnectors/chunk-RUZBOPMI.js +0 -63
  383. package/dist/wallets/walletConnectors/chunk-RYXFFAB2.js +0 -63
  384. package/dist/wallets/walletConnectors/chunk-S2B56ZVJ.js +0 -481
  385. package/dist/wallets/walletConnectors/chunk-SFP47DS6.js +0 -63
  386. package/dist/wallets/walletConnectors/chunk-SMACAFVM.js +0 -63
  387. package/dist/wallets/walletConnectors/chunk-SNZL5LJ6.js +0 -637
  388. package/dist/wallets/walletConnectors/chunk-SSDCG5BG.js +0 -63
  389. package/dist/wallets/walletConnectors/chunk-VLEVJVJR.js +0 -63
  390. package/dist/wallets/walletConnectors/chunk-VXUJQQDI.js +0 -63
  391. package/dist/wallets/walletConnectors/chunk-W2VDZD74.js +0 -478
  392. package/dist/wallets/walletConnectors/chunk-WCPI7IUU.js +0 -63
  393. package/dist/wallets/walletConnectors/chunk-WYSKBMHW.js +0 -280
  394. package/dist/wallets/walletConnectors/chunk-XDRZSWHB.js +0 -63
  395. package/dist/wallets/walletConnectors/chunk-XEIKWKH7.js +0 -63
  396. package/dist/wallets/walletConnectors/chunk-XKVRDEDK.js +0 -63
  397. package/dist/wallets/walletConnectors/chunk-XYAAXWWU.js +0 -63
  398. package/dist/wallets/walletConnectors/chunk-Z3WO2EBZ.js +0 -63
  399. package/dist/wallets/walletConnectors/chunk-ZADNKI5I.js +0 -63
  400. package/dist/wallets/walletConnectors/chunk-ZAGAF6PO.js +0 -63
  401. package/dist/wigwamWallet-5GKUN7ZJ.js +0 -7
  402. package/dist/xdc-X7V4QFNF.js +0 -7
  403. package/dist/xdefiWallet-ZA65GDWS.js +0 -7
  404. package/dist/zealWallet-URNQ2AWF.js +0 -7
  405. package/dist/zerionWallet-CYFHB5PA.js +0 -7
  406. package/dist/zetachain-BMJKVYBN.js +0 -7
  407. package/dist/zh_CN-THPIFVWJ.js +0 -7
  408. package/dist/zh_HK-R7XP4TGF.js +0 -7
  409. package/dist/zh_TW-F5LD752V.js +0 -7
  410. package/dist/zkSync-JL26RB7U.js +0 -7
  411. package/dist/zora-YZH32HP3.js +0 -7
package/dist/index.js CHANGED
@@ -2459,16 +2459,21 @@ function cssStringFromTheme(theme, options = {}) {
2459
2459
  }
2460
2460
 
2461
2461
  // src/solana/SolanaWalletProvider.tsx
2462
- import { WalletProvider } from "@solana/wallet-adapter-react";
2462
+ import {
2463
+ ConnectionProvider,
2464
+ WalletProvider
2465
+ } from "@solana/wallet-adapter-react";
2463
2466
  import {
2464
2467
  PhantomWalletAdapter,
2465
2468
  SolflareWalletAdapter
2466
2469
  } from "@solana/wallet-adapter-wallets";
2470
+ import { clusterApiUrl } from "@solana/web3.js";
2467
2471
  import React13, { useMemo as useMemo6 } from "react";
2468
2472
  function SolanaWalletProvider({
2469
2473
  children,
2470
2474
  wallets: customWallets,
2471
- autoConnect = false
2475
+ autoConnect = false,
2476
+ endpoint
2472
2477
  }) {
2473
2478
  const wallets = useMemo6(() => {
2474
2479
  if (customWallets) {
@@ -2481,7 +2486,11 @@ function SolanaWalletProvider({
2481
2486
  // TODO: Add AbcSolanaWalletAdapter when ready
2482
2487
  ];
2483
2488
  }, [customWallets]);
2484
- return /* @__PURE__ */ React13.createElement(WalletProvider, { wallets, autoConnect }, children);
2489
+ const rpcEndpoint = useMemo6(
2490
+ () => endpoint || clusterApiUrl("devnet"),
2491
+ [endpoint]
2492
+ );
2493
+ return /* @__PURE__ */ React13.createElement(ConnectionProvider, { endpoint: rpcEndpoint }, /* @__PURE__ */ React13.createElement(WalletProvider, { wallets, autoConnect }, children));
2485
2494
  }
2486
2495
 
2487
2496
  // src/components/RainbowKitProvider/AppContext.ts
@@ -2870,7 +2879,10 @@ function InternalPinProvider({
2870
2879
  );
2871
2880
  const handleModalClose = useCallback3(() => {
2872
2881
  if (pinRejecter) {
2873
- pinRejecter(new Error("User cancelled PIN request"));
2882
+ const error3 = new Error("User cancelled PIN request");
2883
+ error3.code = 4001;
2884
+ error3.cancelled = true;
2885
+ pinRejecter(error3);
2874
2886
  setIsModalOpen(false);
2875
2887
  setPinResolver(null);
2876
2888
  setPinRejecter(null);
@@ -2892,27 +2904,28 @@ function InternalPinProvider({
2892
2904
  }
2893
2905
  const setupPinCallback = async () => {
2894
2906
  try {
2907
+ if (!connector || typeof connector.getProvider !== "function") {
2908
+ return;
2909
+ }
2895
2910
  const provider = await connector.getProvider();
2896
2911
  if (provider && typeof provider.setRequestPinCallback === "function") {
2897
2912
  provider.setRequestPinCallback(() => requestPin("transaction"));
2898
2913
  }
2899
- } catch (error3) {
2900
- console.error(
2901
- "[InternalPinProvider] Failed to setup PIN callback:",
2902
- error3
2903
- );
2914
+ } catch (_error) {
2904
2915
  }
2905
2916
  };
2906
2917
  setupPinCallback();
2907
2918
  return () => {
2908
2919
  const cleanup = async () => {
2909
2920
  try {
2921
+ if (!connector || typeof connector.getProvider !== "function") {
2922
+ return;
2923
+ }
2910
2924
  const provider = await connector.getProvider();
2911
2925
  if (provider && typeof provider.setRequestPinCallback === "function") {
2912
2926
  provider.setRequestPinCallback(void 0);
2913
2927
  }
2914
- } catch (error3) {
2915
- console.error("[InternalPinProvider] Failed to cleanup:", error3);
2928
+ } catch (_error) {
2916
2929
  }
2917
2930
  };
2918
2931
  cleanup();
@@ -3051,7 +3064,7 @@ function setRainbowKitVersion({ version }) {
3051
3064
  }
3052
3065
  function useFingerprint() {
3053
3066
  const fingerprint = useCallback4(() => {
3054
- setRainbowKitVersion({ version: "2.3.12" });
3067
+ setRainbowKitVersion({ version: "2.3.14" });
3055
3068
  }, []);
3056
3069
  useEffect11(() => {
3057
3070
  fingerprint();
@@ -3840,6 +3853,7 @@ function RainbowKitProvider({
3840
3853
  avatar,
3841
3854
  children,
3842
3855
  coolMode = false,
3856
+ autoReconnect = true,
3843
3857
  disableAutoPinProvider = false,
3844
3858
  id,
3845
3859
  initialChain,
@@ -3911,7 +3925,15 @@ function RainbowKitProvider({
3911
3925
  if (!enableSolana) {
3912
3926
  return providerTree;
3913
3927
  }
3914
- return /* @__PURE__ */ React26.createElement(SolanaWalletProvider, { autoConnect: solanaConfig.autoConnect }, /* @__PURE__ */ React26.createElement(MultiChainProvider, { enableSolana: true, defaultChain: "evm" }, providerTree));
3928
+ const solanaAutoConnect = autoReconnect ?? solanaConfig.autoConnect ?? true;
3929
+ return /* @__PURE__ */ React26.createElement(
3930
+ SolanaWalletProvider,
3931
+ {
3932
+ autoConnect: solanaAutoConnect,
3933
+ endpoint: solanaConfig.rpcEndpoint
3934
+ },
3935
+ /* @__PURE__ */ React26.createElement(MultiChainProvider, { enableSolana: true, defaultChain: "evm" }, providerTree)
3936
+ );
3915
3937
  }
3916
3938
 
3917
3939
  // src/components/Dialog/Dialog.css.ts
@@ -5696,6 +5718,39 @@ function AbcWaasAuthSections(props) {
5696
5718
  // src/components/ConnectOptions/AbcWaasAuth/hooks/useAbcWaasAuth.ts
5697
5719
  import { useState as useState16 } from "react";
5698
5720
 
5721
+ // src/wallets/walletConnectors/abcWallet/networkConfig.ts
5722
+ var DEFAULT_NETWORK_CONFIG = {
5723
+ evm: {
5724
+ mainnet: 1,
5725
+ // Ethereum Mainnet
5726
+ testnet: 11155111
5727
+ // Sepolia Testnet
5728
+ },
5729
+ solana: {
5730
+ mainnet: "solana" /* Mainnet */,
5731
+ devnet: "solana_devnet" /* Devnet */
5732
+ },
5733
+ bitcoin: {
5734
+ mainnet: "bitcoin" /* Mainnet */,
5735
+ testnet: "bitcoin_testnet" /* Testnet */
5736
+ }
5737
+ };
5738
+ function getEnvironment() {
5739
+ if (typeof process === "undefined") {
5740
+ return "development";
5741
+ }
5742
+ const env = process.env.NEXT_PUBLIC_ENVIRONMENT;
5743
+ return env === "production" ? "production" : "development";
5744
+ }
5745
+ function getSolanaNetwork() {
5746
+ const environment = getEnvironment();
5747
+ return environment === "production" ? DEFAULT_NETWORK_CONFIG.solana.mainnet : DEFAULT_NETWORK_CONFIG.solana.devnet;
5748
+ }
5749
+ function getBitcoinNetwork() {
5750
+ const environment = getEnvironment();
5751
+ return environment === "production" ? DEFAULT_NETWORK_CONFIG.bitcoin.mainnet : DEFAULT_NETWORK_CONFIG.bitcoin.testnet;
5752
+ }
5753
+
5699
5754
  // src/wallets/walletConnectors/abcWallet/types.ts
5700
5755
  var AbcError = class extends Error {
5701
5756
  constructor(code, message, details) {
@@ -7552,9 +7607,10 @@ var AbcWaasClient = class {
7552
7607
  );
7553
7608
  }
7554
7609
  const result = data.result;
7610
+ const solanaNetwork = getSolanaNetwork();
7555
7611
  const addressResult = await this.getSolanaAddress(
7556
7612
  result.public_key,
7557
- this.config.environment === "production" ? "solana" : "solana_devnet"
7613
+ solanaNetwork
7558
7614
  );
7559
7615
  return {
7560
7616
  uid: result.uid || "",
@@ -7563,7 +7619,8 @@ var AbcWaasClient = class {
7563
7619
  publicKey: result.public_key,
7564
7620
  address: addressResult,
7565
7621
  keyId: result.key_id || result.share_id,
7566
- encryptedShare: result.encrypted_share || ""
7622
+ encryptedShare: result.encrypted_share || "",
7623
+ network: solanaNetwork
7567
7624
  };
7568
7625
  }
7569
7626
  /**
@@ -10289,7 +10346,6 @@ function useWalletConnection({
10289
10346
  const isUserRejection = error2?.name === "UserRejectedRequestError" || error2?.code === 4001 || // EIP-1193 user rejection code
10290
10347
  error2?.message?.includes("User rejected") || error2?.message?.includes("User denied");
10291
10348
  if (isUserRejection) {
10292
- console.log("[useWalletConnection] User cancelled connection");
10293
10349
  return;
10294
10350
  }
10295
10351
  console.error("[useWalletConnection] Connection failed:", error2);
@@ -10444,18 +10500,104 @@ function usePinVerification(props) {
10444
10500
  authState.expiresAt = sensitiveData.expiresAt;
10445
10501
  const isExpired = authState.expiresAt ? Date.now() >= authState.expiresAt : true;
10446
10502
  if (isExpired) {
10447
- console.log("[PinVerification] Access token expired");
10448
- localStorage.removeItem(`${storagePrefix}auth_state`);
10449
- localStorage.removeItem(`${storagePrefix}enc_tokens`);
10450
- localStorage.removeItem(`${storagePrefix}enc_salt`);
10451
- localStorage.removeItem(`${storagePrefix}user`);
10452
- localStorage.removeItem(`${storagePrefix}wallet`);
10453
- localStorage.removeItem(`${storagePrefix}pin_hash`);
10454
- localStorage.removeItem(`${storagePrefix}access_token`);
10455
- localStorage.removeItem(`${storagePrefix}refresh_token`);
10456
- onSessionExpired?.();
10457
- throw new Error("Session expired. Please login again.");
10503
+ console.log(
10504
+ "[PinVerification] \u23F0 Access token expired, attempting refresh..."
10505
+ );
10506
+ try {
10507
+ const refreshToken = sensitiveData.refreshToken;
10508
+ if (!refreshToken) {
10509
+ throw new Error("No refresh token available");
10510
+ }
10511
+ const apiServerUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
10512
+ const isIframe = typeof window !== "undefined" && window.self !== window.top;
10513
+ const isProd = process.env.NEXT_PUBLIC_ENVIRONMENT === "production";
10514
+ const headers = {
10515
+ "Content-Type": "application/x-www-form-urlencoded",
10516
+ Accept: "application/json"
10517
+ };
10518
+ if (isProd) {
10519
+ headers["User-Agent"] = "Android";
10520
+ }
10521
+ const response = await fetch(`${apiServerUrl}/abc/abcRefresh`, {
10522
+ method: "POST",
10523
+ headers,
10524
+ credentials: "include",
10525
+ body: new URLSearchParams({
10526
+ refresh_token: refreshToken,
10527
+ isIframe: String(isIframe)
10528
+ }).toString()
10529
+ });
10530
+ const text = await response.text();
10531
+ const data = text ? JSON.parse(text) : {};
10532
+ if (!response.ok || !data.access_token) {
10533
+ throw new Error("Token refresh failed");
10534
+ }
10535
+ console.log("[PinVerification] \u2705 Token refreshed successfully");
10536
+ const newAccessToken = data.access_token;
10537
+ const newRefreshToken = data.refresh_token || refreshToken;
10538
+ const expiresIn = data.expire_in || 600;
10539
+ const newExpiresAt = Date.now() + expiresIn * 1e3;
10540
+ authState.accessToken = newAccessToken;
10541
+ authState.refreshToken = newRefreshToken;
10542
+ authState.expiresAt = newExpiresAt;
10543
+ const newSensitiveData = {
10544
+ accessToken: newAccessToken,
10545
+ refreshToken: newRefreshToken,
10546
+ expiresAt: newExpiresAt
10547
+ };
10548
+ const saltBytes = new Uint8Array(
10549
+ (saltHex || "").match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
10550
+ );
10551
+ const encryptedTokens = await encryptWithPin(
10552
+ JSON.stringify(newSensitiveData),
10553
+ hashedPin,
10554
+ saltBytes
10555
+ );
10556
+ localStorage.setItem(`${storagePrefix}enc_tokens`, encryptedTokens);
10557
+ localStorage.setItem(
10558
+ `${storagePrefix}auth_state`,
10559
+ JSON.stringify(authState)
10560
+ );
10561
+ console.log("[PinVerification] \u{1F504} Encrypted tokens updated");
10562
+ } catch (refreshError) {
10563
+ console.error(
10564
+ "[PinVerification] \u274C Token refresh failed:",
10565
+ refreshError
10566
+ );
10567
+ localStorage.removeItem(`${storagePrefix}auth_state`);
10568
+ localStorage.removeItem(`${storagePrefix}enc_tokens`);
10569
+ localStorage.removeItem(`${storagePrefix}enc_salt`);
10570
+ localStorage.removeItem(`${storagePrefix}user`);
10571
+ localStorage.removeItem(`${storagePrefix}wallet`);
10572
+ localStorage.removeItem(`${storagePrefix}pin_hash`);
10573
+ localStorage.removeItem(`${storagePrefix}access_token`);
10574
+ localStorage.removeItem(`${storagePrefix}refresh_token`);
10575
+ onSessionExpired?.();
10576
+ throw new Error(
10577
+ "\uC138\uC158\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uB85C\uADF8\uC778\uD574 \uC8FC\uC138\uC694.\n\nYour session has expired. Please login again."
10578
+ );
10579
+ }
10458
10580
  }
10581
+ const userStr = localStorage.getItem(`${storagePrefix}user`);
10582
+ const walletStr = localStorage.getItem(`${storagePrefix}wallet`);
10583
+ const solanaWalletStr = localStorage.getItem(
10584
+ `${storagePrefix}solana_wallet`
10585
+ );
10586
+ const bitcoinWalletStr = localStorage.getItem(
10587
+ `${storagePrefix}bitcoin_wallet`
10588
+ );
10589
+ if (userStr)
10590
+ authState.user = JSON.parse(userStr);
10591
+ if (walletStr)
10592
+ authState.wallet = JSON.parse(walletStr);
10593
+ if (solanaWalletStr)
10594
+ authState.solanaWallet = JSON.parse(solanaWalletStr);
10595
+ if (bitcoinWalletStr)
10596
+ authState.bitcoinWallet = JSON.parse(bitcoinWalletStr);
10597
+ localStorage.setItem(
10598
+ `${storagePrefix}auth_state`,
10599
+ JSON.stringify(authState)
10600
+ );
10459
10601
  localStorage.setItem(`${storagePrefix}pin_hash`, hashedPin);
10460
10602
  localStorage.setItem(`${storagePrefix}saved_email`, email);
10461
10603
  setProgress([
@@ -10615,6 +10757,7 @@ function useWalletGeneration(props) {
10615
10757
  if (solanaResponse.ok) {
10616
10758
  const solanaData = await solanaResponse.json();
10617
10759
  const solanaResult = solanaData.result || solanaData;
10760
+ const solanaNetwork = getSolanaNetwork();
10618
10761
  const addressResponse = await fetch(
10619
10762
  `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/solana/wallet/getAddress`,
10620
10763
  {
@@ -10624,20 +10767,41 @@ function useWalletGeneration(props) {
10624
10767
  "Content-Type": "application/json"
10625
10768
  },
10626
10769
  body: JSON.stringify({
10627
- network: "solana_devnet",
10770
+ network: solanaNetwork,
10628
10771
  publicKey: solanaResult.public_key
10629
10772
  })
10630
10773
  }
10631
10774
  );
10632
10775
  if (addressResponse.ok) {
10633
10776
  const addressData = await addressResponse.json();
10777
+ console.log(
10778
+ "[useWalletGeneration] Solana address response:",
10779
+ addressData
10780
+ );
10634
10781
  const solanaAddress = addressData.result?.data?.address || addressData.data?.address || addressData.address;
10635
- solanaWallet = {
10636
- ...solanaResult,
10637
- address: solanaAddress,
10638
- network: "devnet"
10639
- };
10640
- console.log("[useWalletGeneration]  Solana wallet created");
10782
+ if (!solanaAddress) {
10783
+ console.error(
10784
+ "[useWalletGeneration] \u274C Solana address not found in response:",
10785
+ addressData
10786
+ );
10787
+ } else {
10788
+ solanaWallet = {
10789
+ ...solanaResult,
10790
+ address: solanaAddress,
10791
+ network: solanaNetwork
10792
+ };
10793
+ console.log(
10794
+ "[useWalletGeneration] Solana wallet created:",
10795
+ solanaAddress
10796
+ );
10797
+ }
10798
+ } else {
10799
+ const errorData = await addressResponse.json().catch(() => ({}));
10800
+ console.error("[useWalletGeneration] \u274C Solana address API error:", {
10801
+ status: addressResponse.status,
10802
+ statusText: addressResponse.statusText,
10803
+ error: errorData
10804
+ });
10641
10805
  }
10642
10806
  }
10643
10807
  setProgress([
@@ -10660,8 +10824,9 @@ function useWalletGeneration(props) {
10660
10824
  );
10661
10825
  } else {
10662
10826
  try {
10827
+ const bitcoinNetwork = getBitcoinNetwork();
10663
10828
  const btcAddressResponse = await fetch(
10664
- `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/btc/address?pubkey=${evmPublicKey}&network=bitcoin_testnet`,
10829
+ `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/btc/address?pubkey=${evmPublicKey}&network=${bitcoinNetwork}`,
10665
10830
  {
10666
10831
  method: "GET",
10667
10832
  headers: {
@@ -10682,7 +10847,7 @@ function useWalletGeneration(props) {
10682
10847
  uid: evmWallet.uid,
10683
10848
  publicKey: evmPublicKey,
10684
10849
  address: bitcoinAddress,
10685
- network: "bitcoin_testnet",
10850
+ network: bitcoinNetwork,
10686
10851
  addressType: "bech32"
10687
10852
  };
10688
10853
  console.log(
@@ -10877,9 +11042,37 @@ var PinAuthFlow = forwardRef(
10877
11042
  });
10878
11043
  const pinVerification = usePinVerification({
10879
11044
  email,
10880
- onVerified: () => {
11045
+ onVerified: async () => {
10881
11046
  console.log("[PinAuthFlow] \u2705 PIN verified successfully");
10882
11047
  setIsPinVerifyModalOpen(false);
11048
+ const authStateStr = localStorage.getItem(`${storagePrefix}auth_state`);
11049
+ const authState = authStateStr ? JSON.parse(authStateStr) : null;
11050
+ const needsWalletGeneration = authState && (!authState.wallet || !authState.solanaWallet);
11051
+ if (needsWalletGeneration) {
11052
+ console.log(
11053
+ "[PinAuthFlow] \u26A0\uFE0F Missing wallets detected, generating..."
11054
+ );
11055
+ const pinHash = localStorage.getItem(`${storagePrefix}pin_hash`);
11056
+ if (pinHash) {
11057
+ await walletGeneration.generateWallets({
11058
+ hashedPin: pinHash,
11059
+ email,
11060
+ loginData
11061
+ });
11062
+ return;
11063
+ }
11064
+ }
11065
+ const abcConnector = connectors.find(
11066
+ (c) => c.id === "abc" || c.name === "ABC Wallet"
11067
+ );
11068
+ if (abcConnector) {
11069
+ console.log(
11070
+ "[PinAuthFlow] \u{1F50C} Connecting ABC Wallet after PIN verification..."
11071
+ );
11072
+ connect({ connector: abcConnector });
11073
+ } else {
11074
+ console.error("[PinAuthFlow] \u274C ABC Wallet connector not found");
11075
+ }
10883
11076
  onComplete();
10884
11077
  },
10885
11078
  onSessionExpired: () => {
@@ -10986,7 +11179,8 @@ function ConnectOptionsModal({
10986
11179
  const { connect } = useConnect2();
10987
11180
  const connectors = useConnectors();
10988
11181
  const walletConnection = useWalletConnection({
10989
- onSuccess: () => onClose(),
11182
+ onSuccess: () => {
11183
+ },
10990
11184
  initialWallet: connector || void 0
10991
11185
  });
10992
11186
  const { selectedWallet, qrCodeUri, connectionError } = walletConnection;
@@ -12223,15 +12417,8 @@ function MultiChainConnectOptions({
12223
12417
  }
12224
12418
  function UnifiedWalletList({ onClose }) {
12225
12419
  const { wallets: solanaWallets, select, connecting } = useWallet3();
12226
- const multiChainContext = useContext23(MultiChainContext);
12420
+ const _multiChainContext = useContext23(MultiChainContext);
12227
12421
  const [connectingWallet, setConnectingWallet] = useState28(null);
12228
- const [shouldCloseOnConnect, setShouldCloseOnConnect] = useState28(false);
12229
- React72.useEffect(() => {
12230
- if (shouldCloseOnConnect && multiChainContext?.solanaConnected) {
12231
- setShouldCloseOnConnect(false);
12232
- onClose();
12233
- }
12234
- }, [shouldCloseOnConnect, multiChainContext?.solanaConnected, onClose]);
12235
12422
  const handleSolanaWalletClick = useCallback14(
12236
12423
  async (walletName2) => {
12237
12424
  try {
@@ -12241,11 +12428,6 @@ function UnifiedWalletList({ onClose }) {
12241
12428
  throw new Error(`Wallet ${walletName2} not found`);
12242
12429
  }
12243
12430
  if (wallet.adapter.connected) {
12244
- if (multiChainContext?.solanaConnected) {
12245
- onClose();
12246
- } else {
12247
- setShouldCloseOnConnect(true);
12248
- }
12249
12431
  return;
12250
12432
  }
12251
12433
  select(wallet.adapter.name);
@@ -12253,16 +12435,14 @@ function UnifiedWalletList({ onClose }) {
12253
12435
  const handleConnect = () => {
12254
12436
  wallet.adapter.off("connect", handleConnect);
12255
12437
  addRecentSolanaWalletId(walletName2);
12256
- setShouldCloseOnConnect(true);
12257
12438
  };
12258
12439
  wallet.adapter.on("connect", handleConnect);
12259
12440
  await wallet.adapter.connect();
12260
12441
  if (wallet.adapter.connected && wallet.adapter.publicKey) {
12261
12442
  addRecentSolanaWalletId(walletName2);
12262
- setShouldCloseOnConnect(true);
12263
12443
  }
12264
12444
  } catch (err) {
12265
- console.error("[UnifiedWalletList] \u274C Solana connection error:", err);
12445
+ console.error("[MultiChain] Solana connection error:", err);
12266
12446
  const isUserRejection = err?.name === "WalletConnectionError" || err?.name === "WalletNotReadyError" || err?.message?.includes("User rejected") || err?.message?.includes("User canceled");
12267
12447
  if (!isUserRejection) {
12268
12448
  alert(
@@ -12273,7 +12453,7 @@ function UnifiedWalletList({ onClose }) {
12273
12453
  setConnectingWallet(null);
12274
12454
  }
12275
12455
  },
12276
- [solanaWallets, select, multiChainContext?.solanaConnected, onClose]
12456
+ [solanaWallets, select]
12277
12457
  );
12278
12458
  const groupedSolanaWallets = React72.useMemo(() => {
12279
12459
  const groups = {
@@ -12323,16 +12503,27 @@ function ConnectModal({ onClose, open }) {
12323
12503
  const connectionStatus = useConnectionStatus();
12324
12504
  const multiChainContext = useContext24(MultiChainContext);
12325
12505
  const { disconnect } = useDisconnect3();
12326
- const { isConnecting } = useAccount14();
12506
+ const { isConnecting, isConnected } = useAccount14();
12507
+ React73.useEffect(() => {
12508
+ if (isConnected && open) {
12509
+ onClose();
12510
+ }
12511
+ }, [isConnected, open, onClose]);
12512
+ React73.useEffect(() => {
12513
+ if (multiChainContext?.solanaConnected && open) {
12514
+ onClose();
12515
+ }
12516
+ }, [multiChainContext?.solanaConnected, open, onClose]);
12327
12517
  const onAuthCancel = React73.useCallback(() => {
12328
12518
  onClose();
12329
12519
  disconnect();
12330
12520
  }, [onClose, disconnect]);
12331
12521
  const onConnectModalCancel = React73.useCallback(() => {
12332
- if (isConnecting)
12522
+ if (isConnecting && !isConnected) {
12333
12523
  disconnect();
12524
+ }
12334
12525
  onClose();
12335
- }, [onClose, disconnect, isConnecting]);
12526
+ }, [onClose, disconnect, isConnecting, isConnected]);
12336
12527
  if (connectionStatus === "disconnected") {
12337
12528
  return /* @__PURE__ */ React73.createElement(Dialog, { onClose: onConnectModalCancel, open, titleId }, /* @__PURE__ */ React73.createElement(DialogContent, { bottomSheetOnMobile: true, padding: "0", wide: true }, multiChainContext ? /* @__PURE__ */ React73.createElement(
12338
12529
  MultiChainConnectOptions,
@@ -12858,11 +13049,14 @@ function WalletButtonRenderer({
12858
13049
  }, [isConnected, firstConnector]);
12859
13050
  const connectWallet = async () => {
12860
13051
  try {
13052
+ console.log("[WalletButton] Connecting wallet:", firstConnector?.id);
12861
13053
  setLoading(true);
12862
13054
  if (isError)
12863
13055
  setIsError(false);
12864
13056
  await firstConnector?.connect?.();
12865
- } catch {
13057
+ console.log("[WalletButton] Wallet connected successfully");
13058
+ } catch (error2) {
13059
+ console.error("[WalletButton] Connection failed:", error2);
12866
13060
  setIsError(true);
12867
13061
  } finally {
12868
13062
  setLoading(false);
@@ -12996,7 +13190,7 @@ WalletButton2.Custom = WalletButtonRenderer;
12996
13190
 
12997
13191
  // src/config/getDefaultConfig.ts
12998
13192
  import { http } from "wagmi";
12999
- import { createConfig } from "wagmi";
13193
+ import { createConfig, createStorage } from "wagmi";
13000
13194
 
13001
13195
  // src/wallets/computeWalletConnectMetaData.ts
13002
13196
  var computeWalletConnectMetaData = ({
@@ -13702,6 +13896,9 @@ var getDefaultConfig = ({
13702
13896
  connectors,
13703
13897
  chains,
13704
13898
  transports: transports || createDefaultTransports(chains),
13899
+ storage: createStorage({
13900
+ storage: typeof window !== "undefined" ? window.localStorage : void 0
13901
+ }),
13705
13902
  ...restWagmiParameters
13706
13903
  });
13707
13904
  };
@@ -13757,12 +13954,709 @@ var __private__ = {
13757
13954
  MobileOptions
13758
13955
  };
13759
13956
 
13957
+ // src/solana/hooks/useSolanaAccount.ts
13958
+ import { useWallet as useWallet4 } from "@solana/wallet-adapter-react";
13959
+ import { useContext as useContext30, useMemo as useMemo14 } from "react";
13960
+ function useSolanaAccount() {
13961
+ const { publicKey, connected, connecting, disconnecting, wallet } = useWallet4();
13962
+ const multiChainContext = useContext30(MultiChainContext);
13963
+ const accountInfo = useMemo14(() => {
13964
+ if (wallet) {
13965
+ const status = connected && publicKey ? "connected" : connecting ? "connecting" : "disconnected";
13966
+ return {
13967
+ address: publicKey?.toBase58() || null,
13968
+ isConnected: connected && !!publicKey,
13969
+ walletType: "external",
13970
+ walletName: wallet.adapter.name || "Unknown Wallet",
13971
+ publicKey,
13972
+ // Add publicKey for external wallets
13973
+ isConnecting: connecting,
13974
+ isDisconnecting: disconnecting,
13975
+ isReconnecting: false,
13976
+ status
13977
+ };
13978
+ }
13979
+ if (multiChainContext?.solanaConnected && multiChainContext?.solanaAddress) {
13980
+ return {
13981
+ address: multiChainContext.solanaAddress,
13982
+ isConnected: true,
13983
+ walletType: "abc",
13984
+ walletName: "ABC Wallet",
13985
+ publicKey: null,
13986
+ // ABC Wallet doesn't use wallet-adapter publicKey
13987
+ isConnecting: false,
13988
+ isDisconnecting: false,
13989
+ isReconnecting: false,
13990
+ status: "connected"
13991
+ };
13992
+ }
13993
+ try {
13994
+ const authState = localStorage.getItem("talkenkit_abc_auth_state");
13995
+ if (authState) {
13996
+ const parsed = JSON.parse(authState);
13997
+ if (parsed.isAuthenticated && parsed.solanaWallet?.address) {
13998
+ return {
13999
+ address: parsed.solanaWallet.address,
14000
+ isConnected: true,
14001
+ walletType: "abc",
14002
+ walletName: "ABC Wallet",
14003
+ publicKey: null,
14004
+ // ABC Wallet doesn't use wallet-adapter publicKey
14005
+ isConnecting: false,
14006
+ isDisconnecting: false,
14007
+ isReconnecting: false,
14008
+ status: "connected"
14009
+ };
14010
+ }
14011
+ }
14012
+ } catch (_error) {
14013
+ }
14014
+ if (connecting) {
14015
+ return {
14016
+ address: null,
14017
+ isConnected: false,
14018
+ walletType: null,
14019
+ walletName: null,
14020
+ publicKey: null,
14021
+ isConnecting: true,
14022
+ isDisconnecting: false,
14023
+ isReconnecting: false,
14024
+ status: "connecting"
14025
+ };
14026
+ }
14027
+ return {
14028
+ address: null,
14029
+ isConnected: false,
14030
+ walletType: null,
14031
+ walletName: null,
14032
+ publicKey: null,
14033
+ isConnecting: false,
14034
+ isDisconnecting: disconnecting,
14035
+ isReconnecting: false,
14036
+ status: "disconnected"
14037
+ };
14038
+ }, [
14039
+ connected,
14040
+ publicKey,
14041
+ connecting,
14042
+ disconnecting,
14043
+ wallet,
14044
+ multiChainContext?.solanaConnected,
14045
+ multiChainContext?.solanaAddress
14046
+ ]);
14047
+ return accountInfo;
14048
+ }
14049
+
14050
+ // src/solana/hooks/useSolanaSignMessage.ts
14051
+ import { useWallet as useWallet5 } from "@solana/wallet-adapter-react";
14052
+ import { useCallback as useCallback17, useState as useState32 } from "react";
14053
+
14054
+ // src/wallets/walletConnectors/abcWallet/abcSolProvider.ts
14055
+ import { PublicKey, Transaction } from "@solana/web3.js";
14056
+ var AbcSolProvider = class {
14057
+ constructor(address, walletData) {
14058
+ this.name = "ABC WaaS";
14059
+ this.publicKey = null;
14060
+ this.walletData = null;
14061
+ if (address) {
14062
+ this.publicKey = new PublicKey(address);
14063
+ }
14064
+ if (walletData) {
14065
+ this.walletData = walletData;
14066
+ } else if (address) {
14067
+ this.loadWalletDataFromStorage();
14068
+ }
14069
+ const baseURL = process.env.NEXT_PUBLIC_ABC_WAAS_URL || "";
14070
+ this.secure = new secure_default(baseURL);
14071
+ }
14072
+ /**
14073
+ * Set PIN request callback
14074
+ */
14075
+ setRequestPinCallback(callback) {
14076
+ this.requestPinCallback = callback;
14077
+ }
14078
+ /**
14079
+ * Request PIN from user via callback or global callback
14080
+ */
14081
+ async requestPin() {
14082
+ if (this.requestPinCallback) {
14083
+ return this.requestPinCallback();
14084
+ }
14085
+ const globalCallback = window.__TALKENKIT_REQUEST_PIN__;
14086
+ if (globalCallback) {
14087
+ return globalCallback("transaction");
14088
+ }
14089
+ throw new Error("PIN request callback not configured");
14090
+ }
14091
+ /**
14092
+ * Load wallet data from localStorage
14093
+ */
14094
+ loadWalletDataFromStorage() {
14095
+ try {
14096
+ const authState = localStorage.getItem("talkenkit_abc_auth_state");
14097
+ if (authState) {
14098
+ const parsed = JSON.parse(authState);
14099
+ if (parsed.solanaWallet) {
14100
+ this.walletData = parsed.solanaWallet;
14101
+ }
14102
+ }
14103
+ } catch (_error) {
14104
+ }
14105
+ }
14106
+ /**
14107
+ * Get wallet data (from internal storage or localStorage)
14108
+ */
14109
+ getWalletData() {
14110
+ if (this.walletData) {
14111
+ return this.walletData;
14112
+ }
14113
+ const authState = localStorage.getItem("talkenkit_abc_auth_state");
14114
+ if (authState) {
14115
+ const parsed = JSON.parse(authState);
14116
+ if (parsed.solanaWallet) {
14117
+ const wallet = { ...parsed.solanaWallet };
14118
+ if (!wallet.uid && parsed.user?.uid) {
14119
+ wallet.uid = parsed.user.uid;
14120
+ }
14121
+ if (!wallet.shareId && wallet.key_id) {
14122
+ wallet.shareId = wallet.key_id;
14123
+ }
14124
+ this.walletData = wallet;
14125
+ return this.walletData;
14126
+ }
14127
+ }
14128
+ throw new Error("No Solana wallet data available");
14129
+ }
14130
+ async signMessage(message, _encoding) {
14131
+ const walletData = this.getWalletData();
14132
+ const accessToken = localStorage.getItem("talkenkit_abc_access_token");
14133
+ if (!accessToken) {
14134
+ throw new Error("No ABC WaaS access token");
14135
+ }
14136
+ const messageHex = Buffer.from(message).toString("hex");
14137
+ const signBody = {
14138
+ curve: walletData.curve,
14139
+ encrypted_share: walletData.encrypted_share,
14140
+ key_id: walletData.key_id,
14141
+ message: messageHex,
14142
+ secret_store: walletData.secret_store
14143
+ };
14144
+ const response = await fetch(
14145
+ `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/v3/wallet/sign`,
14146
+ {
14147
+ method: "POST",
14148
+ headers: {
14149
+ Authorization: `Bearer ${accessToken}`,
14150
+ "Content-Type": "application/json"
14151
+ },
14152
+ body: JSON.stringify(signBody)
14153
+ }
14154
+ );
14155
+ if (!response.ok) {
14156
+ const errorText = await response.text();
14157
+ throw new Error(`ABC WaaS sign failed: ${errorText}`);
14158
+ }
14159
+ const result = await response.json();
14160
+ const signatureHex = result.result?.signature || result.signature || result.data?.signature;
14161
+ if (!signatureHex) {
14162
+ throw new Error("No signature in ABC WaaS response");
14163
+ }
14164
+ const signatureBytes = new Uint8Array(
14165
+ signatureHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
14166
+ );
14167
+ return { signature: signatureBytes };
14168
+ }
14169
+ async signTransaction(transaction, params) {
14170
+ const walletData = this.getWalletData();
14171
+ const accessToken = localStorage.getItem("talkenkit_abc_access_token");
14172
+ if (!accessToken) {
14173
+ throw new Error("No ABC WaaS access token");
14174
+ }
14175
+ let toAddress;
14176
+ let amount;
14177
+ if (params) {
14178
+ toAddress = params.toAddress;
14179
+ amount = params.amount * 1e9;
14180
+ } else {
14181
+ const transferInstruction = transaction.instructions[0];
14182
+ toAddress = transferInstruction.keys[1]?.pubkey.toString();
14183
+ amount = 1e5;
14184
+ }
14185
+ const solanaNetwork = getSolanaNetwork();
14186
+ const requestBody = {
14187
+ network: solanaNetwork,
14188
+ fromAddress: walletData.address,
14189
+ toAddress,
14190
+ amount,
14191
+ feePayerAddress: walletData.address
14192
+ };
14193
+ const txResponse = await fetch(
14194
+ `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/solana/tx/generateTransferSOLTransaction`,
14195
+ {
14196
+ method: "POST",
14197
+ headers: {
14198
+ Authorization: `Bearer ${accessToken}`,
14199
+ "Content-Type": "application/json"
14200
+ },
14201
+ body: JSON.stringify(requestBody)
14202
+ }
14203
+ );
14204
+ if (!txResponse.ok) {
14205
+ const errorText = await txResponse.text();
14206
+ console.error("[AbcSolProvider] \u274C API error:", errorText);
14207
+ throw new Error(
14208
+ `Transaction generation failed (${txResponse.status}): ${errorText}`
14209
+ );
14210
+ }
14211
+ const txData = await txResponse.json();
14212
+ const serializedTxHex = txData.result?.data?.serialized_tx || txData.data?.serialized_tx;
14213
+ if (!serializedTxHex) {
14214
+ console.error(
14215
+ "[AbcSolProvider] \u274C No serialized_tx in response:",
14216
+ txData
14217
+ );
14218
+ throw new Error("No serialized transaction in response");
14219
+ }
14220
+ const signResponse = await fetch(
14221
+ `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/v3/wallet/sign`,
14222
+ {
14223
+ method: "POST",
14224
+ headers: {
14225
+ Authorization: `Bearer ${accessToken}`,
14226
+ "Content-Type": "application/json"
14227
+ },
14228
+ body: JSON.stringify({
14229
+ curve: walletData.curve,
14230
+ encrypted_share: walletData.encrypted_share,
14231
+ key_id: walletData.key_id,
14232
+ message: serializedTxHex,
14233
+ secret_store: walletData.secret_store
14234
+ })
14235
+ }
14236
+ );
14237
+ if (!signResponse.ok) {
14238
+ const errorText = await signResponse.text();
14239
+ console.error("[AbcSolProvider] \u274C Sign API error:", errorText);
14240
+ throw new Error(`Sign failed: ${errorText}`);
14241
+ }
14242
+ const signResult = await signResponse.json();
14243
+ const signatureHex = signResult.signature || signResult.result?.signature;
14244
+ if (!signatureHex) {
14245
+ console.error(
14246
+ "[AbcSolProvider] \u274C No signature in response:",
14247
+ signResult
14248
+ );
14249
+ throw new Error("No signature in ABC WaaS response");
14250
+ }
14251
+ const signatureBytes = new Uint8Array(
14252
+ signatureHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
14253
+ );
14254
+ const serializedTxBytes = new Uint8Array(
14255
+ serializedTxHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
14256
+ );
14257
+ const signedTransaction = Transaction.from(serializedTxBytes);
14258
+ if (!signedTransaction.signatures || signedTransaction.signatures.length === 0) {
14259
+ signedTransaction.addSignature(
14260
+ this.publicKey,
14261
+ Buffer.from(signatureBytes)
14262
+ );
14263
+ }
14264
+ return signedTransaction;
14265
+ }
14266
+ /**
14267
+ * Send (broadcast) signed Solana transaction to network
14268
+ * - Transaction generation: v2 API (application/json)
14269
+ * - Transaction signing: v3 API (Ed25519 MPC)
14270
+ * - Transaction broadcast: v2 API
14271
+ */
14272
+ async sendTransaction(params) {
14273
+ const walletData = this.getWalletData();
14274
+ const accessToken = localStorage.getItem("talkenkit_abc_access_token");
14275
+ if (!accessToken) {
14276
+ throw new Error("No ABC WaaS access token");
14277
+ }
14278
+ const pin = await this.requestPin();
14279
+ const STORAGE_PREFIX3 = "talkenkit_abc_";
14280
+ const storedPinHash = localStorage.getItem(`${STORAGE_PREFIX3}pin_hash`);
14281
+ if (!storedPinHash) {
14282
+ throw new Error("PIN not set. Please login again.");
14283
+ }
14284
+ const enteredPinHash = await hashPin(pin);
14285
+ if (enteredPinHash !== storedPinHash) {
14286
+ throw new Error("Incorrect PIN. Transaction cancelled.");
14287
+ }
14288
+ const solanaNetwork = getSolanaNetwork();
14289
+ const generateBody = {
14290
+ network: solanaNetwork,
14291
+ fromAddress: walletData.address,
14292
+ toAddress: params.toAddress,
14293
+ amount: params.amount * 1e9,
14294
+ // Convert SOL to lamports
14295
+ feePayerAddress: walletData.address
14296
+ // Fee payer is the sender
14297
+ };
14298
+ const generateResponse = await fetch(
14299
+ `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/solana/tx/generateTransferSOLTransaction`,
14300
+ {
14301
+ method: "POST",
14302
+ headers: {
14303
+ Authorization: `Bearer ${accessToken}`,
14304
+ "Content-Type": "application/json"
14305
+ },
14306
+ body: JSON.stringify(generateBody)
14307
+ }
14308
+ );
14309
+ if (!generateResponse.ok) {
14310
+ const errorText = await generateResponse.text();
14311
+ console.error("[AbcSolProvider] \u274C Generate TX error:", errorText);
14312
+ throw new Error(`Transaction generation failed: ${errorText}`);
14313
+ }
14314
+ const txData = await generateResponse.json();
14315
+ const serializedTxHex = txData.result?.data?.serialized_tx || txData.data?.serialized_tx || txData.result?.serialized_tx || txData.serialized_tx || txData.result?.data?.serializedTX || txData.data?.serializedTX;
14316
+ if (!serializedTxHex) {
14317
+ console.error(
14318
+ "[AbcSolProvider] \u274C Cannot find serialized_tx in response:",
14319
+ {
14320
+ hasResult: !!txData.result,
14321
+ hasData: !!txData.data,
14322
+ hasResultData: !!txData.result?.data,
14323
+ resultKeys: txData.result ? Object.keys(txData.result) : [],
14324
+ dataKeys: txData.data ? Object.keys(txData.data) : [],
14325
+ topLevelKeys: Object.keys(txData),
14326
+ fullResponse: txData
14327
+ }
14328
+ );
14329
+ throw new Error("No serialized transaction in response");
14330
+ }
14331
+ const signBody = {
14332
+ curve: walletData.curve,
14333
+ encrypted_share: walletData.encrypted_share,
14334
+ key_id: walletData.key_id,
14335
+ message: serializedTxHex,
14336
+ secret_store: walletData.secret_store
14337
+ };
14338
+ const signResponse = await fetch(
14339
+ `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/v3/wallet/sign`,
14340
+ {
14341
+ method: "POST",
14342
+ headers: {
14343
+ Authorization: `Bearer ${accessToken}`,
14344
+ "Content-Type": "application/json"
14345
+ },
14346
+ body: JSON.stringify(signBody)
14347
+ }
14348
+ );
14349
+ if (!signResponse.ok) {
14350
+ const errorText = await signResponse.text();
14351
+ console.error("[AbcSolProvider] \u274C Sign error:", errorText);
14352
+ throw new Error(`Sign failed: ${errorText}`);
14353
+ }
14354
+ const signResult = await signResponse.json();
14355
+ const signatureHex = signResult.signature || signResult.result?.signature || signResult.data?.signature;
14356
+ if (!signatureHex) {
14357
+ console.error(
14358
+ "[AbcSolProvider] \u274C No signature in response:",
14359
+ signResult
14360
+ );
14361
+ throw new Error("No signature in ABC WaaS response");
14362
+ }
14363
+ const sendResponse = await fetch(
14364
+ `${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/solana/tx/sendTransaction`,
14365
+ {
14366
+ method: "POST",
14367
+ headers: {
14368
+ Authorization: `Bearer ${accessToken}`,
14369
+ "Content-Type": "application/json"
14370
+ },
14371
+ body: JSON.stringify({
14372
+ network: solanaNetwork,
14373
+ serializedTX: serializedTxHex,
14374
+ signatures: [signatureHex]
14375
+ })
14376
+ }
14377
+ );
14378
+ if (!sendResponse.ok) {
14379
+ const errorText = await sendResponse.text();
14380
+ console.error("[AbcSolProvider] \u274C Broadcast error:", {
14381
+ status: sendResponse.status,
14382
+ statusText: sendResponse.statusText,
14383
+ error: errorText
14384
+ });
14385
+ try {
14386
+ const errorData = JSON.parse(errorText);
14387
+ if (errorData.message?.includes("insufficient") || errorData.message?.includes("InsufficientFunds")) {
14388
+ throw new Error("Insufficient SOL balance to send transaction");
14389
+ }
14390
+ } catch (_parseError) {
14391
+ }
14392
+ throw new Error(
14393
+ `Transaction broadcast failed (${sendResponse.status}): ${errorText}`
14394
+ );
14395
+ }
14396
+ const sendResult = await sendResponse.json();
14397
+ const txHash = sendResult.result?.data || sendResult.data || sendResult.txHash;
14398
+ return {
14399
+ signature: signatureHex,
14400
+ txHash: txHash || signatureHex
14401
+ };
14402
+ }
14403
+ };
14404
+
14405
+ // src/solana/hooks/useSolanaSignMessage.ts
14406
+ function useSolanaSignMessage() {
14407
+ const { address, walletType, isConnected } = useSolanaAccount();
14408
+ const { signMessage: externalSignMessage } = useWallet5();
14409
+ const [signature, setSignature] = useState32(null);
14410
+ const [isPending, setIsPending] = useState32(false);
14411
+ const [isSuccess, setIsSuccess] = useState32(false);
14412
+ const [isError, setIsError] = useState32(false);
14413
+ const [error2, setError] = useState32(null);
14414
+ const reset = useCallback17(() => {
14415
+ setSignature(null);
14416
+ setIsPending(false);
14417
+ setIsSuccess(false);
14418
+ setIsError(false);
14419
+ setError(null);
14420
+ }, []);
14421
+ const signMessage = useCallback17(
14422
+ async ({ message }) => {
14423
+ setIsPending(true);
14424
+ setIsSuccess(false);
14425
+ setIsError(false);
14426
+ setError(null);
14427
+ setSignature(null);
14428
+ try {
14429
+ if (!isConnected || !address) {
14430
+ throw new Error("Solana wallet not connected");
14431
+ }
14432
+ const messageBytes = typeof message === "string" ? new TextEncoder().encode(message) : message;
14433
+ let signatureBytes;
14434
+ if (walletType === "external") {
14435
+ if (!externalSignMessage) {
14436
+ throw new Error("External wallet does not support message signing");
14437
+ }
14438
+ signatureBytes = await externalSignMessage(messageBytes);
14439
+ } else if (walletType === "abc") {
14440
+ const authState = localStorage.getItem("talkenkit_abc_auth_state");
14441
+ if (!authState) {
14442
+ throw new Error("ABC Wallet auth state not found");
14443
+ }
14444
+ const parsed = JSON.parse(authState);
14445
+ if (!parsed.solanaWallet?.address) {
14446
+ throw new Error("ABC Solana wallet not found");
14447
+ }
14448
+ const provider = new AbcSolProvider(parsed.solanaWallet.address);
14449
+ const result = await provider.signMessage(messageBytes);
14450
+ signatureBytes = result.signature;
14451
+ } else {
14452
+ throw new Error("No Solana wallet connected");
14453
+ }
14454
+ setSignature(signatureBytes);
14455
+ setIsSuccess(true);
14456
+ setIsPending(false);
14457
+ return signatureBytes;
14458
+ } catch (err) {
14459
+ const isUserRejection = err?.code === 4001 || err?.cancelled === true || err?.name === "WalletSignMessageError" || err?.message?.includes("User rejected") || err?.message?.includes("User canceled") || err?.message?.includes("User cancelled") || err?.message?.includes("User denied");
14460
+ if (isUserRejection) {
14461
+ const cancelError = err instanceof Error ? err : new Error(String(err));
14462
+ cancelError.code = 4001;
14463
+ cancelError.cancelled = true;
14464
+ setError(cancelError);
14465
+ setIsError(true);
14466
+ setIsPending(false);
14467
+ throw cancelError;
14468
+ }
14469
+ const errorObj = err instanceof Error ? err : new Error(String(err));
14470
+ setError(errorObj);
14471
+ setIsError(true);
14472
+ setIsPending(false);
14473
+ throw errorObj;
14474
+ }
14475
+ },
14476
+ [isConnected, address, walletType, externalSignMessage]
14477
+ );
14478
+ return {
14479
+ signMessage,
14480
+ signature,
14481
+ isPending,
14482
+ isSuccess,
14483
+ isError,
14484
+ error: error2,
14485
+ reset
14486
+ };
14487
+ }
14488
+
14489
+ // src/solana/hooks/useSolanaSendTransaction.ts
14490
+ import { useConnection, useWallet as useWallet6 } from "@solana/wallet-adapter-react";
14491
+ import {
14492
+ LAMPORTS_PER_SOL,
14493
+ PublicKey as PublicKey2,
14494
+ SystemProgram,
14495
+ Transaction as Transaction2
14496
+ } from "@solana/web3.js";
14497
+ import { useCallback as useCallback18, useState as useState33 } from "react";
14498
+ function useSolanaSendTransaction() {
14499
+ const {
14500
+ address,
14501
+ walletType,
14502
+ isConnected,
14503
+ publicKey: accountPublicKey
14504
+ } = useSolanaAccount();
14505
+ const { sendTransaction: externalSendTransaction } = useWallet6();
14506
+ const { connection } = useConnection();
14507
+ const [txHash, setTxHash] = useState33(null);
14508
+ const [isPending, setIsPending] = useState33(false);
14509
+ const [isSuccess, setIsSuccess] = useState33(false);
14510
+ const [isError, setIsError] = useState33(false);
14511
+ const [error2, setError] = useState33(null);
14512
+ const reset = useCallback18(() => {
14513
+ setTxHash(null);
14514
+ setIsPending(false);
14515
+ setIsSuccess(false);
14516
+ setIsError(false);
14517
+ setError(null);
14518
+ }, []);
14519
+ const sendTransaction = useCallback18(
14520
+ async ({
14521
+ toAddress,
14522
+ amount
14523
+ }) => {
14524
+ setIsPending(true);
14525
+ setIsSuccess(false);
14526
+ setIsError(false);
14527
+ setError(null);
14528
+ setTxHash(null);
14529
+ try {
14530
+ if (!isConnected || !address) {
14531
+ throw new Error("Solana wallet not connected");
14532
+ }
14533
+ let signature;
14534
+ if (walletType === "external") {
14535
+ if (!externalSendTransaction) {
14536
+ throw new Error(
14537
+ "External wallet does not support sending transactions"
14538
+ );
14539
+ }
14540
+ if (!accountPublicKey) {
14541
+ throw new Error(
14542
+ "Wallet public key not available. Please reconnect your wallet."
14543
+ );
14544
+ }
14545
+ const transaction = new Transaction2().add(
14546
+ SystemProgram.transfer({
14547
+ fromPubkey: accountPublicKey,
14548
+ toPubkey: new PublicKey2(toAddress),
14549
+ lamports: Math.floor(amount * LAMPORTS_PER_SOL)
14550
+ })
14551
+ );
14552
+ const { blockhash } = await connection.getLatestBlockhash();
14553
+ transaction.recentBlockhash = blockhash;
14554
+ transaction.feePayer = accountPublicKey;
14555
+ try {
14556
+ signature = await externalSendTransaction(transaction, connection);
14557
+ } catch (sendError) {
14558
+ if (sendError?.name === "WalletSendTransactionError" && (!sendError?.message || sendError?.message === "")) {
14559
+ throw new Error(
14560
+ "Transaction failed. This may be due to insufficient SOL balance. Please ensure you have enough SOL for the transaction and gas fees."
14561
+ );
14562
+ }
14563
+ throw sendError;
14564
+ }
14565
+ } else if (walletType === "abc") {
14566
+ const authState = localStorage.getItem("talkenkit_abc_auth_state");
14567
+ if (!authState) {
14568
+ throw new Error("ABC Wallet auth state not found");
14569
+ }
14570
+ const parsed = JSON.parse(authState);
14571
+ if (!parsed.solanaWallet?.address) {
14572
+ throw new Error("ABC Solana wallet not found");
14573
+ }
14574
+ const provider = new AbcSolProvider(parsed.solanaWallet.address);
14575
+ const result = await provider.sendTransaction({
14576
+ toAddress,
14577
+ amount
14578
+ });
14579
+ signature = result.txHash;
14580
+ } else {
14581
+ throw new Error("No Solana wallet connected");
14582
+ }
14583
+ setTxHash(signature);
14584
+ setIsSuccess(true);
14585
+ setIsPending(false);
14586
+ return signature;
14587
+ } catch (err) {
14588
+ const isUserRejection = err?.code === 4001 || err?.cancelled === true || err?.name === "WalletSendTransactionError" || err?.message?.includes("User rejected") || err?.message?.includes("User canceled") || err?.message?.includes("User cancelled") || err?.message?.includes("User denied");
14589
+ if (isUserRejection) {
14590
+ const cancelError = err instanceof Error ? err : new Error(String(err));
14591
+ cancelError.code = 4001;
14592
+ cancelError.cancelled = true;
14593
+ setError(cancelError);
14594
+ setIsError(true);
14595
+ setIsPending(false);
14596
+ throw cancelError;
14597
+ }
14598
+ const errorObj = err instanceof Error ? err : new Error(String(err));
14599
+ setError(errorObj);
14600
+ setIsError(true);
14601
+ setIsPending(false);
14602
+ throw errorObj;
14603
+ }
14604
+ },
14605
+ [
14606
+ isConnected,
14607
+ address,
14608
+ walletType,
14609
+ accountPublicKey,
14610
+ externalSendTransaction,
14611
+ connection
14612
+ ]
14613
+ );
14614
+ return {
14615
+ sendTransaction,
14616
+ txHash,
14617
+ isPending,
14618
+ isSuccess,
14619
+ isError,
14620
+ error: error2,
14621
+ reset
14622
+ };
14623
+ }
14624
+
14625
+ // src/solana/hooks/useSolanaConnection.ts
14626
+ import { useConnection as useConnection2 } from "@solana/wallet-adapter-react";
14627
+ import { useMemo as useMemo15 } from "react";
14628
+ function detectNetwork(endpoint) {
14629
+ const url = endpoint.toLowerCase();
14630
+ if (url.includes("mainnet"))
14631
+ return "mainnet-beta";
14632
+ if (url.includes("devnet"))
14633
+ return "devnet";
14634
+ if (url.includes("testnet"))
14635
+ return "testnet";
14636
+ if (url.includes("localhost") || url.includes("127.0.0.1"))
14637
+ return "localnet";
14638
+ return "mainnet-beta";
14639
+ }
14640
+ function useSolanaConnection() {
14641
+ const { connection } = useConnection2();
14642
+ const connectionInfo = useMemo15(() => {
14643
+ const endpoint = connection._rpcEndpoint || connection.rpcEndpoint || "";
14644
+ const network = detectNetwork(endpoint);
14645
+ return {
14646
+ connection,
14647
+ endpoint,
14648
+ network
14649
+ };
14650
+ }, [connection]);
14651
+ return connectionInfo;
14652
+ }
14653
+
13760
14654
  // src/hooks/useSolSignMessage.ts
13761
- import { useState as useState32 } from "react";
14655
+ import { useState as useState34 } from "react";
13762
14656
  function useSolSignMessage(solanaWallet) {
13763
- const [isLoading, setIsLoading] = useState32(false);
13764
- const [error2, setError] = useState32(null);
13765
- const [data, setData] = useState32(null);
14657
+ const [isLoading, setIsLoading] = useState34(false);
14658
+ const [error2, setError] = useState34(null);
14659
+ const [data, setData] = useState34(null);
13766
14660
  const signMessage = async (params) => {
13767
14661
  setIsLoading(true);
13768
14662
  setError(null);
@@ -13802,16 +14696,16 @@ function useSolSignMessage(solanaWallet) {
13802
14696
  // src/hooks/useSolSignTransaction.ts
13803
14697
  import {
13804
14698
  Connection,
13805
- LAMPORTS_PER_SOL,
13806
- PublicKey,
13807
- SystemProgram,
13808
- Transaction
14699
+ LAMPORTS_PER_SOL as LAMPORTS_PER_SOL2,
14700
+ PublicKey as PublicKey3,
14701
+ SystemProgram as SystemProgram2,
14702
+ Transaction as Transaction3
13809
14703
  } from "@solana/web3.js";
13810
- import { useState as useState33 } from "react";
14704
+ import { useState as useState35 } from "react";
13811
14705
  function useSolSignTransaction(solanaWallet) {
13812
- const [isLoading, setIsLoading] = useState33(false);
13813
- const [error2, setError] = useState33(null);
13814
- const [data, setData] = useState33(null);
14706
+ const [isLoading, setIsLoading] = useState35(false);
14707
+ const [error2, setError] = useState35(null);
14708
+ const [data, setData] = useState35(null);
13815
14709
  const signTransaction = async (params) => {
13816
14710
  setIsLoading(true);
13817
14711
  setError(null);
@@ -13870,13 +14764,13 @@ async function buildTransaction(params, solanaWallet) {
13870
14764
  }
13871
14765
  const rpcUrl = solanaWallet.network === "mainnet" ? "https://api.mainnet-beta.solana.com" : "https://api.devnet.solana.com";
13872
14766
  const connection = new Connection(rpcUrl, "confirmed");
13873
- const fromPubkey = new PublicKey(provider.publicKey.toString());
13874
- const toPubkey = new PublicKey(params.toAddress);
13875
- const transaction = new Transaction().add(
13876
- SystemProgram.transfer({
14767
+ const fromPubkey = new PublicKey3(provider.publicKey.toString());
14768
+ const toPubkey = new PublicKey3(params.toAddress);
14769
+ const transaction = new Transaction3().add(
14770
+ SystemProgram2.transfer({
13877
14771
  fromPubkey,
13878
14772
  toPubkey,
13879
- lamports: params.amount * LAMPORTS_PER_SOL
14773
+ lamports: params.amount * LAMPORTS_PER_SOL2
13880
14774
  })
13881
14775
  );
13882
14776
  const { blockhash } = await connection.getLatestBlockhash();
@@ -13957,23 +14851,23 @@ function ChainIndicator({
13957
14851
  // src/providers/AbcAuthProvider.tsx
13958
14852
  import React80, {
13959
14853
  createContext as createContext15,
13960
- useContext as useContext30,
13961
- useState as useState34,
14854
+ useContext as useContext31,
14855
+ useState as useState36,
13962
14856
  useEffect as useEffect26,
13963
- useCallback as useCallback17
14857
+ useCallback as useCallback19
13964
14858
  } from "react";
13965
14859
  var DEBUG2 = true;
13966
14860
  var STORAGE_PREFIX2 = "talkenkit_abc_";
13967
14861
  var AbcAuthContext = createContext15(null);
13968
14862
  function useAbcAuth() {
13969
- const context = useContext30(AbcAuthContext);
14863
+ const context = useContext31(AbcAuthContext);
13970
14864
  if (!context) {
13971
14865
  throw new Error("useAbcAuth must be used within AbcAuthProvider");
13972
14866
  }
13973
14867
  return context;
13974
14868
  }
13975
14869
  function AbcAuthProvider({ children }) {
13976
- const [state, setState] = useState34({
14870
+ const [state, setState] = useState36({
13977
14871
  isAuthenticated: false,
13978
14872
  user: {
13979
14873
  email: null,
@@ -13990,12 +14884,12 @@ function AbcAuthProvider({ children }) {
13990
14884
  },
13991
14885
  pinHash: null
13992
14886
  });
13993
- const isTokenExpired2 = useCallback17(() => {
14887
+ const isTokenExpired2 = useCallback19(() => {
13994
14888
  if (!state.tokens.expiresAt)
13995
14889
  return true;
13996
14890
  return Date.now() >= state.tokens.expiresAt;
13997
14891
  }, [state.tokens.expiresAt]);
13998
- const refreshToken = useCallback17(async () => {
14892
+ const refreshToken = useCallback19(async () => {
13999
14893
  if (!state.tokens.refreshToken) {
14000
14894
  if (DEBUG2)
14001
14895
  console.log("[AbcAuthProvider] No refresh token available");
@@ -14054,7 +14948,7 @@ function AbcAuthProvider({ children }) {
14054
14948
  return false;
14055
14949
  }
14056
14950
  }, [state.tokens.refreshToken]);
14057
- const unlockWithPin = useCallback17(async (pin) => {
14951
+ const unlockWithPin = useCallback19(async (pin) => {
14058
14952
  try {
14059
14953
  const encryptedTokens = localStorage.getItem(
14060
14954
  `${STORAGE_PREFIX2}enc_tokens`
@@ -14099,7 +14993,7 @@ function AbcAuthProvider({ children }) {
14099
14993
  return false;
14100
14994
  }
14101
14995
  }, []);
14102
- const logout = useCallback17(async () => {
14996
+ const logout = useCallback19(async () => {
14103
14997
  setState({
14104
14998
  isAuthenticated: false,
14105
14999
  user: { email: null, uid: null },
@@ -14116,7 +15010,7 @@ function AbcAuthProvider({ children }) {
14116
15010
  if (DEBUG2)
14117
15011
  console.log("[AbcAuthProvider] \u2705 Logged out");
14118
15012
  }, []);
14119
- const setAuthState = useCallback17((partial) => {
15013
+ const setAuthState = useCallback19((partial) => {
14120
15014
  setState((prev) => ({ ...prev, ...partial }));
14121
15015
  }, []);
14122
15016
  useEffect26(() => {
@@ -14189,21 +15083,21 @@ function AbcAuthProvider({ children }) {
14189
15083
  // src/components/AbcAuth/PinProvider.tsx
14190
15084
  import React81, {
14191
15085
  createContext as createContext16,
14192
- useContext as useContext31,
14193
- useState as useState35,
14194
- useCallback as useCallback18,
15086
+ useContext as useContext32,
15087
+ useState as useState37,
15088
+ useCallback as useCallback20,
14195
15089
  useEffect as useEffect27
14196
15090
  } from "react";
14197
15091
  import { useAccount as useAccount19 } from "wagmi";
14198
15092
  var PinContext = createContext16(null);
14199
15093
  function PinProvider({ children }) {
14200
- const [isModalOpen, setIsModalOpen] = useState35(false);
14201
- const [purpose, setPurpose] = useState35("transaction");
14202
- const [pinResolver, setPinResolver] = useState35(null);
14203
- const [pinRejecter, setPinRejecter] = useState35(null);
14204
- const [error2, setError] = useState35("");
15094
+ const [isModalOpen, setIsModalOpen] = useState37(false);
15095
+ const [purpose, setPurpose] = useState37("transaction");
15096
+ const [pinResolver, setPinResolver] = useState37(null);
15097
+ const [pinRejecter, setPinRejecter] = useState37(null);
15098
+ const [error2, setError] = useState37("");
14205
15099
  const { connector, isConnected } = useAccount19();
14206
- const requestPin = useCallback18(
15100
+ const requestPin = useCallback20(
14207
15101
  (requestPurpose = "transaction") => {
14208
15102
  return new Promise((resolve, reject) => {
14209
15103
  setPurpose(requestPurpose);
@@ -14215,7 +15109,7 @@ function PinProvider({ children }) {
14215
15109
  },
14216
15110
  []
14217
15111
  );
14218
- const handlePinSubmit = useCallback18(
15112
+ const handlePinSubmit = useCallback20(
14219
15113
  async (pin) => {
14220
15114
  if (!pinResolver) {
14221
15115
  return;
@@ -14239,9 +15133,12 @@ function PinProvider({ children }) {
14239
15133
  },
14240
15134
  [pinResolver]
14241
15135
  );
14242
- const handleModalClose = useCallback18(() => {
15136
+ const handleModalClose = useCallback20(() => {
14243
15137
  if (pinRejecter) {
14244
- pinRejecter(new Error("User cancelled PIN request"));
15138
+ const error3 = new Error("User cancelled PIN request");
15139
+ error3.code = 4001;
15140
+ error3.cancelled = true;
15141
+ pinRejecter(error3);
14245
15142
  setIsModalOpen(false);
14246
15143
  setPinResolver(null);
14247
15144
  setPinRejecter(null);
@@ -14294,7 +15191,7 @@ function PinProvider({ children }) {
14294
15191
  ));
14295
15192
  }
14296
15193
  function usePin() {
14297
- const context = useContext31(PinContext);
15194
+ const context = useContext32(PinContext);
14298
15195
  if (!context) {
14299
15196
  throw new Error("usePin must be used within PinProvider");
14300
15197
  }
@@ -14512,11 +15409,16 @@ var BaseApiClient = class {
14512
15409
  try {
14513
15410
  const isIframe = typeof window !== "undefined" && window.self !== window.top;
14514
15411
  const talkenApiUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
15412
+ const isProd = this.config.environment === "production";
15413
+ const headers = { ...DEFAULT_HEADERS };
15414
+ if (isProd) {
15415
+ headers["User-Agent"] = "Android";
15416
+ }
14515
15417
  const response = await fetch(
14516
15418
  `${talkenApiUrl}${ABC_ENDPOINTS.REFRESH_TOKEN}`,
14517
15419
  {
14518
15420
  method: "POST",
14519
- headers: DEFAULT_HEADERS,
15421
+ headers,
14520
15422
  credentials: "include",
14521
15423
  body: new URLSearchParams({
14522
15424
  refresh_token: this.refreshToken || "",
@@ -14571,6 +15473,9 @@ var BaseApiClient = class {
14571
15473
  requestHeaders["Content-Type"] = "application/json";
14572
15474
  requestHeaders["Accept"] = "application/json";
14573
15475
  }
15476
+ if (this.config.environment === "production") {
15477
+ requestHeaders["User-Agent"] = "Android";
15478
+ }
14574
15479
  if (!skipAuth && this.accessToken) {
14575
15480
  requestHeaders.Authorization = `Bearer ${this.accessToken}`;
14576
15481
  }
@@ -15069,9 +15974,10 @@ var WalletApi = class extends BaseApiClient {
15069
15974
  );
15070
15975
  }
15071
15976
  const result = data.result;
15977
+ const solanaNetwork = getSolanaNetwork();
15072
15978
  const addressResult = await this.getSolanaAddress(
15073
15979
  result.public_key,
15074
- this.config.environment === "production" ? "solana" : "solana_devnet"
15980
+ solanaNetwork
15075
15981
  );
15076
15982
  return {
15077
15983
  uid: result.uid || "",
@@ -15080,7 +15986,8 @@ var WalletApi = class extends BaseApiClient {
15080
15986
  publicKey: result.public_key,
15081
15987
  address: addressResult,
15082
15988
  keyId: result.key_id || result.share_id,
15083
- encryptedShare: result.encrypted_share || ""
15989
+ encryptedShare: result.encrypted_share || "",
15990
+ network: solanaNetwork
15084
15991
  };
15085
15992
  }
15086
15993
  /**
@@ -15636,9 +16543,6 @@ var SolanaApi = class extends BaseApiClient {
15636
16543
  */
15637
16544
  async generateSolanaWallet(pin, isRecover = false) {
15638
16545
  const endpoint = `/v3/wallet/${isRecover ? "recover" : "generate"}`;
15639
- console.log(
15640
- `[SolanaApi] \u{1F527} ${isRecover ? "Recovering" : "Generating"} Solana wallet...`
15641
- );
15642
16546
  const response = await this.request(endpoint, {
15643
16547
  method: "POST",
15644
16548
  contentType: "json",
@@ -15649,7 +16553,6 @@ var SolanaApi = class extends BaseApiClient {
15649
16553
  }
15650
16554
  });
15651
16555
  if (response.status !== "success" || !response.result) {
15652
- console.error("[SolanaApi] \u274C Operation failed:", response);
15653
16556
  throw createAbcError(
15654
16557
  "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
15655
16558
  `Failed to ${isRecover ? "recover" : "generate"} Solana wallet`,
@@ -15658,7 +16561,7 @@ var SolanaApi = class extends BaseApiClient {
15658
16561
  }
15659
16562
  const result = response.result;
15660
16563
  const address = this.deriveAddressFromPublicKey(result.public_key);
15661
- console.log("[SolanaApi] \u2705 Wallet ready:", address);
16564
+ const network = getSolanaNetwork();
15662
16565
  return {
15663
16566
  uid: result.uid || "",
15664
16567
  sessionId: result.share_id,
@@ -15666,7 +16569,9 @@ var SolanaApi = class extends BaseApiClient {
15666
16569
  publicKey: result.public_key,
15667
16570
  address,
15668
16571
  keyId: result.key_id || result.share_id,
15669
- encryptedShare: result.encrypted_share || ""
16572
+ encryptedShare: result.encrypted_share || "",
16573
+ secretStore: result.secret_store || "",
16574
+ network
15670
16575
  };
15671
16576
  }
15672
16577
  /**
@@ -15691,16 +16596,18 @@ var SolanaApi = class extends BaseApiClient {
15691
16596
  }
15692
16597
  /**
15693
16598
  * Sign Solana transaction with Ed25519
16599
+ * Reference: /v3/wallet/sign API requires only 5 fields
15694
16600
  */
15695
16601
  async signSolanaTransaction(params) {
15696
16602
  const response = await this.request("/v3/wallet/sign", {
15697
16603
  method: "POST",
15698
16604
  contentType: "json",
15699
16605
  body: {
15700
- uid: params.uid,
15701
- share_id: params.shareId,
15702
- message: params.message,
15703
- password: params.pin
16606
+ curve: "ed25519",
16607
+ key_id: params.keyId,
16608
+ encrypted_share: params.encryptedShare,
16609
+ secret_store: params.secretStore || "",
16610
+ message: params.message
15704
16611
  }
15705
16612
  });
15706
16613
  if (response.status !== "success" || !response.result?.signature) {
@@ -15716,16 +16623,18 @@ var SolanaApi = class extends BaseApiClient {
15716
16623
  }
15717
16624
  /**
15718
16625
  * Sign Solana message with Ed25519
16626
+ * Reference: /v3/wallet/sign API requires only 5 fields
15719
16627
  */
15720
16628
  async signSolanaMessage(params) {
15721
16629
  const response = await this.request("/v3/wallet/sign", {
15722
16630
  method: "POST",
15723
16631
  contentType: "json",
15724
16632
  body: {
15725
- uid: params.uid,
15726
- share_id: params.shareId,
15727
- message: params.message,
15728
- password: params.pin
16633
+ curve: "ed25519",
16634
+ key_id: params.keyId,
16635
+ encrypted_share: params.encryptedShare,
16636
+ secret_store: params.secretStore || "",
16637
+ message: params.message
15729
16638
  }
15730
16639
  });
15731
16640
  if (response.status !== "success" || !response.result?.signature) {
@@ -16415,6 +17324,10 @@ export {
16415
17324
  useRainbowKitConfig,
16416
17325
  useSolSignMessage,
16417
17326
  useSolSignTransaction,
17327
+ useSolanaAccount,
17328
+ useSolanaConnection,
17329
+ useSolanaSendTransaction,
17330
+ useSolanaSignMessage,
16418
17331
  verifyOtpCode,
16419
17332
  verifyPin,
16420
17333
  wagmiToAbcWaas