@ecency/sdk 2.4.24 → 2.4.25

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 (737) hide show
  1. package/dist/browser/{chunk-FNC7YWOW.js → chunk-2D4QXWOR.js} +2 -2
  2. package/dist/browser/{chunk-FNC7YWOW.js.map → chunk-2D4QXWOR.js.map} +1 -1
  3. package/dist/browser/{chunk-IVLVYIWT.js → chunk-2DF6KJRC.js} +2 -2
  4. package/dist/browser/{chunk-IVLVYIWT.js.map → chunk-2DF6KJRC.js.map} +1 -1
  5. package/dist/browser/{chunk-W6CO2WKX.js → chunk-2GKT3E6S.js} +2 -2
  6. package/dist/browser/{chunk-W6CO2WKX.js.map → chunk-2GKT3E6S.js.map} +1 -1
  7. package/dist/browser/{chunk-AYEL5IFW.js → chunk-2HTZSJZ2.js} +2 -2
  8. package/dist/browser/{chunk-AYEL5IFW.js.map → chunk-2HTZSJZ2.js.map} +1 -1
  9. package/dist/browser/{chunk-4XH2KIZZ.js → chunk-2NNWHO5F.js} +2 -2
  10. package/dist/browser/{chunk-4XH2KIZZ.js.map → chunk-2NNWHO5F.js.map} +1 -1
  11. package/dist/browser/{chunk-662I4R4H.js → chunk-2NQT3TBE.js} +2 -2
  12. package/dist/browser/{chunk-662I4R4H.js.map → chunk-2NQT3TBE.js.map} +1 -1
  13. package/dist/browser/{chunk-NNZ2CJJ6.js → chunk-2R3U7ZOC.js} +2 -2
  14. package/dist/browser/{chunk-NNZ2CJJ6.js.map → chunk-2R3U7ZOC.js.map} +1 -1
  15. package/dist/browser/{chunk-CL7EH7NA.js → chunk-2ZNDCNNT.js} +2 -2
  16. package/dist/browser/{chunk-CL7EH7NA.js.map → chunk-2ZNDCNNT.js.map} +1 -1
  17. package/dist/browser/{chunk-QZXM2CX5.js → chunk-3B6M4WRI.js} +2 -2
  18. package/dist/browser/{chunk-QZXM2CX5.js.map → chunk-3B6M4WRI.js.map} +1 -1
  19. package/dist/browser/{chunk-ZCURRWT2.js → chunk-3GSH2ERZ.js} +2 -2
  20. package/dist/browser/{chunk-ZCURRWT2.js.map → chunk-3GSH2ERZ.js.map} +1 -1
  21. package/dist/browser/{chunk-HC3UDPP5.js → chunk-3JTDOVKS.js} +2 -2
  22. package/dist/browser/{chunk-HC3UDPP5.js.map → chunk-3JTDOVKS.js.map} +1 -1
  23. package/dist/browser/chunk-3KJPJH4D.js +2 -0
  24. package/dist/browser/{chunk-G7UMQXIE.js.map → chunk-3KJPJH4D.js.map} +1 -1
  25. package/dist/browser/{chunk-Z5HEILXV.js → chunk-3N4SN5W7.js} +2 -2
  26. package/dist/browser/{chunk-Z5HEILXV.js.map → chunk-3N4SN5W7.js.map} +1 -1
  27. package/dist/browser/{chunk-6ILB35QN.js → chunk-3T64VMU2.js} +2 -2
  28. package/dist/browser/{chunk-6ILB35QN.js.map → chunk-3T64VMU2.js.map} +1 -1
  29. package/dist/browser/{chunk-4C57MZP6.js → chunk-3UESDLC3.js} +2 -2
  30. package/dist/browser/{chunk-4C57MZP6.js.map → chunk-3UESDLC3.js.map} +1 -1
  31. package/dist/browser/{chunk-KBQ6MAP7.js → chunk-3WZYZEJO.js} +2 -2
  32. package/dist/browser/{chunk-KBQ6MAP7.js.map → chunk-3WZYZEJO.js.map} +1 -1
  33. package/dist/browser/{chunk-LYN5S3FE.js → chunk-442PDRSQ.js} +2 -2
  34. package/dist/browser/{chunk-LYN5S3FE.js.map → chunk-442PDRSQ.js.map} +1 -1
  35. package/dist/browser/{chunk-32UMQJXQ.js → chunk-4ALPVYER.js} +2 -2
  36. package/dist/browser/{chunk-32UMQJXQ.js.map → chunk-4ALPVYER.js.map} +1 -1
  37. package/dist/browser/{chunk-A5AOSB6C.js → chunk-4E5ZL6XD.js} +2 -2
  38. package/dist/browser/{chunk-A5AOSB6C.js.map → chunk-4E5ZL6XD.js.map} +1 -1
  39. package/dist/browser/{chunk-IRITFNBC.js → chunk-4HEDK4HJ.js} +2 -2
  40. package/dist/browser/{chunk-IRITFNBC.js.map → chunk-4HEDK4HJ.js.map} +1 -1
  41. package/dist/browser/{chunk-EG6SMIMF.js → chunk-4ZJQ3ZVT.js} +2 -2
  42. package/dist/browser/{chunk-EG6SMIMF.js.map → chunk-4ZJQ3ZVT.js.map} +1 -1
  43. package/dist/browser/{chunk-IGKMIJW2.js → chunk-5ALE2R4M.js} +2 -2
  44. package/dist/browser/{chunk-IGKMIJW2.js.map → chunk-5ALE2R4M.js.map} +1 -1
  45. package/dist/browser/{chunk-4FKSDPCH.js → chunk-5BMGLGTK.js} +2 -2
  46. package/dist/browser/{chunk-4FKSDPCH.js.map → chunk-5BMGLGTK.js.map} +1 -1
  47. package/dist/browser/{chunk-7EICUHR3.js → chunk-5H5TL6LY.js} +2 -2
  48. package/dist/browser/{chunk-7EICUHR3.js.map → chunk-5H5TL6LY.js.map} +1 -1
  49. package/dist/browser/{chunk-7Z22E6GD.js → chunk-5KDNB6UV.js} +2 -2
  50. package/dist/browser/{chunk-7Z22E6GD.js.map → chunk-5KDNB6UV.js.map} +1 -1
  51. package/dist/browser/{chunk-L362IYM3.js → chunk-5N62QB2Z.js} +2 -2
  52. package/dist/browser/{chunk-L362IYM3.js.map → chunk-5N62QB2Z.js.map} +1 -1
  53. package/dist/browser/{chunk-JBBGDTGD.js → chunk-65QMJABL.js} +2 -2
  54. package/dist/browser/{chunk-JBBGDTGD.js.map → chunk-65QMJABL.js.map} +1 -1
  55. package/dist/browser/{chunk-65S4AS6C.js → chunk-6VKNN5AG.js} +2 -2
  56. package/dist/browser/{chunk-65S4AS6C.js.map → chunk-6VKNN5AG.js.map} +1 -1
  57. package/dist/browser/{chunk-LBWFOS7R.js → chunk-726E3UNN.js} +2 -2
  58. package/dist/browser/{chunk-LBWFOS7R.js.map → chunk-726E3UNN.js.map} +1 -1
  59. package/dist/browser/{chunk-WIRKVK7A.js → chunk-7EARO3RB.js} +2 -2
  60. package/dist/browser/{chunk-WIRKVK7A.js.map → chunk-7EARO3RB.js.map} +1 -1
  61. package/dist/browser/{chunk-HGHMHQ5S.js → chunk-7HNV6ZKN.js} +2 -2
  62. package/dist/browser/{chunk-HGHMHQ5S.js.map → chunk-7HNV6ZKN.js.map} +1 -1
  63. package/dist/browser/{chunk-WDWR4RZ6.js → chunk-7IGXCJZR.js} +2 -2
  64. package/dist/browser/{chunk-WDWR4RZ6.js.map → chunk-7IGXCJZR.js.map} +1 -1
  65. package/dist/browser/{chunk-37K2OPGL.js → chunk-7IIQUNR5.js} +2 -2
  66. package/dist/browser/{chunk-37K2OPGL.js.map → chunk-7IIQUNR5.js.map} +1 -1
  67. package/dist/browser/{chunk-FJ6MJL6G.js → chunk-7IPZ3RG7.js} +2 -2
  68. package/dist/browser/{chunk-FJ6MJL6G.js.map → chunk-7IPZ3RG7.js.map} +1 -1
  69. package/dist/browser/{chunk-MTL3QUPP.js → chunk-7S2DVHM4.js} +2 -2
  70. package/dist/browser/{chunk-MTL3QUPP.js.map → chunk-7S2DVHM4.js.map} +1 -1
  71. package/dist/browser/{chunk-WB24EFQ2.js → chunk-AB42GG6X.js} +2 -2
  72. package/dist/browser/{chunk-WB24EFQ2.js.map → chunk-AB42GG6X.js.map} +1 -1
  73. package/dist/browser/{chunk-P32N774D.js → chunk-AC3FVQCK.js} +2 -2
  74. package/dist/browser/{chunk-P32N774D.js.map → chunk-AC3FVQCK.js.map} +1 -1
  75. package/dist/browser/chunk-ACBHKRY6.js +2 -0
  76. package/dist/browser/{chunk-2YCVVTZX.js.map → chunk-ACBHKRY6.js.map} +1 -1
  77. package/dist/browser/{chunk-4U67JIO5.js → chunk-B52SAFGN.js} +2 -2
  78. package/dist/browser/{chunk-4U67JIO5.js.map → chunk-B52SAFGN.js.map} +1 -1
  79. package/dist/browser/{chunk-XBAS5ZUQ.js → chunk-B7N45OOP.js} +2 -2
  80. package/dist/browser/{chunk-XBAS5ZUQ.js.map → chunk-B7N45OOP.js.map} +1 -1
  81. package/dist/browser/{chunk-IDZVSJHQ.js → chunk-BADFUKJ5.js} +2 -2
  82. package/dist/browser/{chunk-IDZVSJHQ.js.map → chunk-BADFUKJ5.js.map} +1 -1
  83. package/dist/browser/{chunk-HOEDGBRX.js → chunk-BBKKQJAD.js} +2 -2
  84. package/dist/browser/{chunk-HOEDGBRX.js.map → chunk-BBKKQJAD.js.map} +1 -1
  85. package/dist/browser/{chunk-GN3PKAHB.js → chunk-BDFCP2E4.js} +2 -2
  86. package/dist/browser/{chunk-GN3PKAHB.js.map → chunk-BDFCP2E4.js.map} +1 -1
  87. package/dist/browser/{chunk-V4QGWE6K.js → chunk-BLILIZJX.js} +2 -2
  88. package/dist/browser/{chunk-V4QGWE6K.js.map → chunk-BLILIZJX.js.map} +1 -1
  89. package/dist/browser/chunk-BQCGJNU7.js +2 -0
  90. package/dist/browser/chunk-BQCGJNU7.js.map +1 -0
  91. package/dist/browser/{chunk-KGOV76YL.js → chunk-BT2XJ6XK.js} +2 -2
  92. package/dist/browser/{chunk-KGOV76YL.js.map → chunk-BT2XJ6XK.js.map} +1 -1
  93. package/dist/browser/{chunk-CN4FGHJA.js → chunk-C3ZAQTO3.js} +2 -2
  94. package/dist/browser/{chunk-CN4FGHJA.js.map → chunk-C3ZAQTO3.js.map} +1 -1
  95. package/dist/browser/{chunk-PL3T74ID.js → chunk-C65PJCM3.js} +2 -2
  96. package/dist/browser/{chunk-PL3T74ID.js.map → chunk-C65PJCM3.js.map} +1 -1
  97. package/dist/browser/{chunk-G7OTY5BS.js → chunk-C74BTU7S.js} +2 -2
  98. package/dist/browser/{chunk-G7OTY5BS.js.map → chunk-C74BTU7S.js.map} +1 -1
  99. package/dist/browser/{chunk-LER3TBTJ.js → chunk-CFZ3WW75.js} +2 -2
  100. package/dist/browser/{chunk-LER3TBTJ.js.map → chunk-CFZ3WW75.js.map} +1 -1
  101. package/dist/browser/{chunk-UIOXS7FU.js → chunk-CIOSCSTN.js} +2 -2
  102. package/dist/browser/{chunk-UIOXS7FU.js.map → chunk-CIOSCSTN.js.map} +1 -1
  103. package/dist/browser/{chunk-TXIFF2IC.js → chunk-CLVLW2FO.js} +2 -2
  104. package/dist/browser/{chunk-TXIFF2IC.js.map → chunk-CLVLW2FO.js.map} +1 -1
  105. package/dist/browser/{chunk-WTHEQ3M5.js → chunk-CQOMDMT6.js} +2 -2
  106. package/dist/browser/chunk-CQOMDMT6.js.map +1 -0
  107. package/dist/browser/{chunk-XVGV73M6.js → chunk-CWZHSWI4.js} +2 -2
  108. package/dist/browser/{chunk-XVGV73M6.js.map → chunk-CWZHSWI4.js.map} +1 -1
  109. package/dist/browser/{chunk-U2UL57EH.js → chunk-CXQBH4UB.js} +2 -2
  110. package/dist/browser/{chunk-U2UL57EH.js.map → chunk-CXQBH4UB.js.map} +1 -1
  111. package/dist/browser/{chunk-PYJEM3EP.js → chunk-D4TI4SVU.js} +2 -2
  112. package/dist/browser/{chunk-PYJEM3EP.js.map → chunk-D4TI4SVU.js.map} +1 -1
  113. package/dist/browser/{chunk-5X6R7EPZ.js → chunk-DHRXC6RE.js} +2 -2
  114. package/dist/browser/{chunk-5X6R7EPZ.js.map → chunk-DHRXC6RE.js.map} +1 -1
  115. package/dist/browser/{chunk-E4GC3K2H.js → chunk-DOLDCNTW.js} +2 -2
  116. package/dist/browser/{chunk-E4GC3K2H.js.map → chunk-DOLDCNTW.js.map} +1 -1
  117. package/dist/browser/{chunk-JEYSB5GX.js → chunk-DSBWDFVR.js} +2 -2
  118. package/dist/browser/{chunk-JEYSB5GX.js.map → chunk-DSBWDFVR.js.map} +1 -1
  119. package/dist/browser/{chunk-AZQERHR3.js → chunk-DU53FS4B.js} +2 -2
  120. package/dist/browser/{chunk-AZQERHR3.js.map → chunk-DU53FS4B.js.map} +1 -1
  121. package/dist/browser/{chunk-XVW7ZC72.js → chunk-DUCZDUPB.js} +2 -2
  122. package/dist/browser/{chunk-XVW7ZC72.js.map → chunk-DUCZDUPB.js.map} +1 -1
  123. package/dist/browser/{chunk-3LKTPHWK.js → chunk-DWED6NDW.js} +2 -2
  124. package/dist/browser/{chunk-3LKTPHWK.js.map → chunk-DWED6NDW.js.map} +1 -1
  125. package/dist/browser/{chunk-6KQV2AC6.js → chunk-DX4VQBAD.js} +2 -2
  126. package/dist/browser/{chunk-6KQV2AC6.js.map → chunk-DX4VQBAD.js.map} +1 -1
  127. package/dist/browser/{chunk-ZDEEGACQ.js → chunk-E5MWXRY2.js} +2 -2
  128. package/dist/browser/{chunk-ZDEEGACQ.js.map → chunk-E5MWXRY2.js.map} +1 -1
  129. package/dist/browser/{chunk-Z2HIVTNL.js → chunk-E632DWIK.js} +2 -2
  130. package/dist/browser/{chunk-Z2HIVTNL.js.map → chunk-E632DWIK.js.map} +1 -1
  131. package/dist/browser/{chunk-ZHGJLIIS.js → chunk-EAURBFP2.js} +2 -2
  132. package/dist/browser/{chunk-ZHGJLIIS.js.map → chunk-EAURBFP2.js.map} +1 -1
  133. package/dist/browser/{chunk-HQFYXVBS.js → chunk-EI72WOWQ.js} +2 -2
  134. package/dist/browser/{chunk-HQFYXVBS.js.map → chunk-EI72WOWQ.js.map} +1 -1
  135. package/dist/browser/{chunk-HVIGVB6L.js → chunk-EJNY752E.js} +2 -2
  136. package/dist/browser/{chunk-HVIGVB6L.js.map → chunk-EJNY752E.js.map} +1 -1
  137. package/dist/browser/chunk-EJY2OZTF.js +2 -0
  138. package/dist/browser/{chunk-NXFYJWG2.js.map → chunk-EJY2OZTF.js.map} +1 -1
  139. package/dist/browser/chunk-EORNM4AJ.js +2 -0
  140. package/dist/browser/{chunk-BKDCXIO6.js.map → chunk-EORNM4AJ.js.map} +1 -1
  141. package/dist/browser/chunk-EY3IZSMU.js +2 -0
  142. package/dist/browser/{chunk-VCJWMCKC.js.map → chunk-EY3IZSMU.js.map} +1 -1
  143. package/dist/browser/{chunk-37F4ZSTZ.js → chunk-EYNFYFWZ.js} +2 -2
  144. package/dist/browser/{chunk-37F4ZSTZ.js.map → chunk-EYNFYFWZ.js.map} +1 -1
  145. package/dist/browser/{chunk-WIK4TMZU.js → chunk-FCCACQ4N.js} +2 -2
  146. package/dist/browser/{chunk-WIK4TMZU.js.map → chunk-FCCACQ4N.js.map} +1 -1
  147. package/dist/browser/{chunk-HNOOL6VU.js → chunk-FDQLJXJC.js} +2 -2
  148. package/dist/browser/{chunk-HNOOL6VU.js.map → chunk-FDQLJXJC.js.map} +1 -1
  149. package/dist/browser/{chunk-RBMIME3V.js → chunk-FJ5OIPC7.js} +2 -2
  150. package/dist/browser/{chunk-RBMIME3V.js.map → chunk-FJ5OIPC7.js.map} +1 -1
  151. package/dist/browser/{chunk-MWHVIEZ7.js → chunk-FKFGQRVA.js} +2 -2
  152. package/dist/browser/{chunk-MWHVIEZ7.js.map → chunk-FKFGQRVA.js.map} +1 -1
  153. package/dist/browser/{chunk-NIE5XZ45.js → chunk-FS5T7LTI.js} +2 -2
  154. package/dist/browser/{chunk-NIE5XZ45.js.map → chunk-FS5T7LTI.js.map} +1 -1
  155. package/dist/browser/{chunk-DD2BPYHC.js → chunk-GFEQ4DAP.js} +2 -2
  156. package/dist/browser/{chunk-DD2BPYHC.js.map → chunk-GFEQ4DAP.js.map} +1 -1
  157. package/dist/browser/{chunk-GBKMDLAF.js → chunk-GQL5IW5X.js} +2 -2
  158. package/dist/browser/{chunk-GBKMDLAF.js.map → chunk-GQL5IW5X.js.map} +1 -1
  159. package/dist/browser/{chunk-XBX74VBH.js → chunk-GUPZJX2E.js} +2 -2
  160. package/dist/browser/{chunk-XBX74VBH.js.map → chunk-GUPZJX2E.js.map} +1 -1
  161. package/dist/browser/{chunk-OFT7Z56U.js → chunk-GVVHEN5H.js} +2 -2
  162. package/dist/browser/{chunk-OFT7Z56U.js.map → chunk-GVVHEN5H.js.map} +1 -1
  163. package/dist/browser/{chunk-NF4XUXML.js → chunk-HFHWAT5Q.js} +2 -2
  164. package/dist/browser/{chunk-NF4XUXML.js.map → chunk-HFHWAT5Q.js.map} +1 -1
  165. package/dist/browser/{chunk-QHUAQHJU.js → chunk-HLXKPHDN.js} +2 -2
  166. package/dist/browser/{chunk-QHUAQHJU.js.map → chunk-HLXKPHDN.js.map} +1 -1
  167. package/dist/browser/chunk-HPQMSWX5.js +2 -0
  168. package/dist/browser/{chunk-IYNPA3LL.js.map → chunk-HPQMSWX5.js.map} +1 -1
  169. package/dist/browser/{chunk-APLDSWPX.js → chunk-IAIE5GOO.js} +2 -2
  170. package/dist/browser/{chunk-APLDSWPX.js.map → chunk-IAIE5GOO.js.map} +1 -1
  171. package/dist/browser/{chunk-ETHEILN6.js → chunk-IK2EDEEY.js} +2 -2
  172. package/dist/browser/{chunk-ETHEILN6.js.map → chunk-IK2EDEEY.js.map} +1 -1
  173. package/dist/browser/{chunk-BHMOSSSW.js → chunk-ISC2WEGB.js} +2 -2
  174. package/dist/browser/{chunk-BHMOSSSW.js.map → chunk-ISC2WEGB.js.map} +1 -1
  175. package/dist/browser/{chunk-3PKR62CO.js → chunk-J54AO5CS.js} +2 -2
  176. package/dist/browser/{chunk-3PKR62CO.js.map → chunk-J54AO5CS.js.map} +1 -1
  177. package/dist/browser/{chunk-7S3DQALS.js → chunk-JBVUO5YO.js} +2 -2
  178. package/dist/browser/{chunk-7S3DQALS.js.map → chunk-JBVUO5YO.js.map} +1 -1
  179. package/dist/browser/{chunk-SB6LDMEP.js → chunk-JCJYFJN6.js} +2 -2
  180. package/dist/browser/{chunk-SB6LDMEP.js.map → chunk-JCJYFJN6.js.map} +1 -1
  181. package/dist/browser/{chunk-4V6TQTR2.js → chunk-JQYWOEQ3.js} +2 -2
  182. package/dist/browser/{chunk-4V6TQTR2.js.map → chunk-JQYWOEQ3.js.map} +1 -1
  183. package/dist/browser/{chunk-2JKJ4XWU.js → chunk-JXERHVDK.js} +2 -2
  184. package/dist/browser/{chunk-2JKJ4XWU.js.map → chunk-JXERHVDK.js.map} +1 -1
  185. package/dist/browser/{chunk-LQHI7JEH.js → chunk-KG37T6F3.js} +2 -2
  186. package/dist/browser/{chunk-LQHI7JEH.js.map → chunk-KG37T6F3.js.map} +1 -1
  187. package/dist/browser/{chunk-CMAFGSTO.js → chunk-KR4IORV4.js} +2 -2
  188. package/dist/browser/{chunk-CMAFGSTO.js.map → chunk-KR4IORV4.js.map} +1 -1
  189. package/dist/browser/{chunk-52D3HQDY.js → chunk-L6T3SYJ6.js} +2 -2
  190. package/dist/browser/{chunk-52D3HQDY.js.map → chunk-L6T3SYJ6.js.map} +1 -1
  191. package/dist/browser/{chunk-S4G2LVET.js → chunk-LJ5E6NWF.js} +2 -2
  192. package/dist/browser/{chunk-S4G2LVET.js.map → chunk-LJ5E6NWF.js.map} +1 -1
  193. package/dist/browser/{chunk-ZVICL7AK.js → chunk-LQO2ITWL.js} +2 -2
  194. package/dist/browser/{chunk-ZVICL7AK.js.map → chunk-LQO2ITWL.js.map} +1 -1
  195. package/dist/browser/{chunk-3U2QS54M.js → chunk-LR2PSUO2.js} +2 -2
  196. package/dist/browser/{chunk-3U2QS54M.js.map → chunk-LR2PSUO2.js.map} +1 -1
  197. package/dist/browser/{chunk-N6W7RZ3U.js → chunk-LXLHQT2I.js} +2 -2
  198. package/dist/browser/{chunk-N6W7RZ3U.js.map → chunk-LXLHQT2I.js.map} +1 -1
  199. package/dist/browser/chunk-LYWHJCVT.js +2 -0
  200. package/dist/browser/{chunk-VTGQQQFL.js.map → chunk-LYWHJCVT.js.map} +1 -1
  201. package/dist/browser/{chunk-2TMZU2SW.js → chunk-LZD6VAVA.js} +2 -2
  202. package/dist/browser/{chunk-2TMZU2SW.js.map → chunk-LZD6VAVA.js.map} +1 -1
  203. package/dist/browser/{chunk-WLHXAS5P.js → chunk-M24RZ6AP.js} +2 -2
  204. package/dist/browser/{chunk-WLHXAS5P.js.map → chunk-M24RZ6AP.js.map} +1 -1
  205. package/dist/browser/{chunk-NIFE7QZD.js → chunk-M7W33C7N.js} +2 -2
  206. package/dist/browser/{chunk-NIFE7QZD.js.map → chunk-M7W33C7N.js.map} +1 -1
  207. package/dist/browser/{chunk-LFPDY7MJ.js → chunk-MDKBLMYR.js} +2 -2
  208. package/dist/browser/{chunk-LFPDY7MJ.js.map → chunk-MDKBLMYR.js.map} +1 -1
  209. package/dist/browser/{chunk-ZSMDZIBE.js → chunk-MF2SHTFD.js} +2 -2
  210. package/dist/browser/{chunk-ZSMDZIBE.js.map → chunk-MF2SHTFD.js.map} +1 -1
  211. package/dist/browser/{chunk-WHH45AA3.js → chunk-MHZCLQW4.js} +2 -2
  212. package/dist/browser/{chunk-WHH45AA3.js.map → chunk-MHZCLQW4.js.map} +1 -1
  213. package/dist/browser/{chunk-RN67VLXB.js → chunk-MKTYYWT2.js} +2 -2
  214. package/dist/browser/{chunk-RN67VLXB.js.map → chunk-MKTYYWT2.js.map} +1 -1
  215. package/dist/browser/{chunk-DA6YYF2F.js → chunk-MM2SKXF6.js} +2 -2
  216. package/dist/browser/{chunk-DA6YYF2F.js.map → chunk-MM2SKXF6.js.map} +1 -1
  217. package/dist/browser/chunk-MNCX2RMA.js +2 -0
  218. package/dist/browser/{chunk-YQRLUPCP.js.map → chunk-MNCX2RMA.js.map} +1 -1
  219. package/dist/browser/{chunk-AA4E7UVF.js → chunk-N3O2RNM3.js} +2 -2
  220. package/dist/browser/{chunk-AA4E7UVF.js.map → chunk-N3O2RNM3.js.map} +1 -1
  221. package/dist/browser/{chunk-VWDPA3QQ.js → chunk-NEZHG6QJ.js} +2 -2
  222. package/dist/browser/{chunk-VWDPA3QQ.js.map → chunk-NEZHG6QJ.js.map} +1 -1
  223. package/dist/browser/{chunk-CEO22Q7Y.js → chunk-NGIKKV3Y.js} +2 -2
  224. package/dist/browser/{chunk-CEO22Q7Y.js.map → chunk-NGIKKV3Y.js.map} +1 -1
  225. package/dist/browser/{chunk-4ZCK34PT.js → chunk-NJ2UDYKJ.js} +2 -2
  226. package/dist/browser/{chunk-4ZCK34PT.js.map → chunk-NJ2UDYKJ.js.map} +1 -1
  227. package/dist/browser/{chunk-G3Q4YBD4.js → chunk-NK3GXKEX.js} +2 -2
  228. package/dist/browser/{chunk-G3Q4YBD4.js.map → chunk-NK3GXKEX.js.map} +1 -1
  229. package/dist/browser/{chunk-PFCRQTIL.js → chunk-NKLUVKFB.js} +3 -3
  230. package/dist/browser/{chunk-PFCRQTIL.js.map → chunk-NKLUVKFB.js.map} +1 -1
  231. package/dist/browser/{chunk-TMC6QMDL.js → chunk-NXCAIVTS.js} +2 -2
  232. package/dist/browser/{chunk-TMC6QMDL.js.map → chunk-NXCAIVTS.js.map} +1 -1
  233. package/dist/browser/{chunk-BLMLDT2L.js → chunk-O255KOMJ.js} +2 -2
  234. package/dist/browser/{chunk-BLMLDT2L.js.map → chunk-O255KOMJ.js.map} +1 -1
  235. package/dist/browser/{chunk-I77ZLLQJ.js → chunk-OJB5Z7QE.js} +2 -2
  236. package/dist/browser/{chunk-I77ZLLQJ.js.map → chunk-OJB5Z7QE.js.map} +1 -1
  237. package/dist/browser/{chunk-6XLSBE5J.js → chunk-OMOKFRVO.js} +2 -2
  238. package/dist/browser/{chunk-6XLSBE5J.js.map → chunk-OMOKFRVO.js.map} +1 -1
  239. package/dist/browser/{chunk-YSTL3FQJ.js → chunk-OZZTO3JB.js} +2 -2
  240. package/dist/browser/{chunk-YSTL3FQJ.js.map → chunk-OZZTO3JB.js.map} +1 -1
  241. package/dist/browser/{chunk-6A7YD57H.js → chunk-P2LZQ4XJ.js} +2 -2
  242. package/dist/browser/{chunk-6A7YD57H.js.map → chunk-P2LZQ4XJ.js.map} +1 -1
  243. package/dist/browser/{chunk-O6NAVQM3.js → chunk-PAQDOCHT.js} +2 -2
  244. package/dist/browser/{chunk-O6NAVQM3.js.map → chunk-PAQDOCHT.js.map} +1 -1
  245. package/dist/browser/{chunk-TCIUXYXN.js → chunk-PC6ZLXAK.js} +2 -2
  246. package/dist/browser/{chunk-TCIUXYXN.js.map → chunk-PC6ZLXAK.js.map} +1 -1
  247. package/dist/browser/{chunk-PW42FHVU.js → chunk-PRBNCWLN.js} +2 -2
  248. package/dist/browser/{chunk-PW42FHVU.js.map → chunk-PRBNCWLN.js.map} +1 -1
  249. package/dist/browser/{chunk-D2X5EN5N.js → chunk-PZF2C5XN.js} +2 -2
  250. package/dist/browser/{chunk-D2X5EN5N.js.map → chunk-PZF2C5XN.js.map} +1 -1
  251. package/dist/browser/{chunk-K3X52YJI.js → chunk-Q22OTYQK.js} +2 -2
  252. package/dist/browser/{chunk-K3X52YJI.js.map → chunk-Q22OTYQK.js.map} +1 -1
  253. package/dist/browser/chunk-Q5PYADCF.js +2 -0
  254. package/dist/browser/chunk-Q5PYADCF.js.map +1 -0
  255. package/dist/browser/{chunk-7GACENLK.js → chunk-QDPGYCNY.js} +2 -2
  256. package/dist/browser/{chunk-7GACENLK.js.map → chunk-QDPGYCNY.js.map} +1 -1
  257. package/dist/browser/{chunk-GC2UHHSZ.js → chunk-QJZSVQVT.js} +2 -2
  258. package/dist/browser/{chunk-GC2UHHSZ.js.map → chunk-QJZSVQVT.js.map} +1 -1
  259. package/dist/browser/chunk-QMVT4OSW.js +2 -0
  260. package/dist/browser/{chunk-COGC4HII.js.map → chunk-QMVT4OSW.js.map} +1 -1
  261. package/dist/browser/{chunk-J5NBSH3V.js → chunk-QZ6NXM2H.js} +2 -2
  262. package/dist/browser/{chunk-J5NBSH3V.js.map → chunk-QZ6NXM2H.js.map} +1 -1
  263. package/dist/browser/{chunk-GCSYVQXA.js → chunk-QZSKBVYK.js} +2 -2
  264. package/dist/browser/{chunk-GCSYVQXA.js.map → chunk-QZSKBVYK.js.map} +1 -1
  265. package/dist/browser/{chunk-P4XPKFYI.js → chunk-R22LU4MD.js} +2 -2
  266. package/dist/browser/{chunk-P4XPKFYI.js.map → chunk-R22LU4MD.js.map} +1 -1
  267. package/dist/browser/{chunk-CAOGIMWX.js → chunk-RETJHGAC.js} +2 -2
  268. package/dist/browser/{chunk-CAOGIMWX.js.map → chunk-RETJHGAC.js.map} +1 -1
  269. package/dist/browser/{chunk-PTXUJVAH.js → chunk-RXD3WMVQ.js} +2 -2
  270. package/dist/browser/{chunk-PTXUJVAH.js.map → chunk-RXD3WMVQ.js.map} +1 -1
  271. package/dist/browser/{chunk-FL3ZYHPE.js → chunk-S4R7TTXT.js} +2 -2
  272. package/dist/browser/{chunk-FL3ZYHPE.js.map → chunk-S4R7TTXT.js.map} +1 -1
  273. package/dist/browser/{chunk-XDEPGFLB.js → chunk-S62BHAWS.js} +2 -2
  274. package/dist/browser/{chunk-XDEPGFLB.js.map → chunk-S62BHAWS.js.map} +1 -1
  275. package/dist/browser/{chunk-V5J2DFJD.js → chunk-SLIEBHVH.js} +2 -2
  276. package/dist/browser/{chunk-V5J2DFJD.js.map → chunk-SLIEBHVH.js.map} +1 -1
  277. package/dist/browser/{chunk-CNOCBE3I.js → chunk-SM75WN66.js} +2 -2
  278. package/dist/browser/{chunk-CNOCBE3I.js.map → chunk-SM75WN66.js.map} +1 -1
  279. package/dist/browser/{chunk-SC46LW4W.js → chunk-SOJTO4ZZ.js} +2 -2
  280. package/dist/browser/{chunk-SC46LW4W.js.map → chunk-SOJTO4ZZ.js.map} +1 -1
  281. package/dist/browser/{chunk-2TSWUTIX.js → chunk-SQ2Y2ZQ7.js} +2 -2
  282. package/dist/browser/{chunk-2TSWUTIX.js.map → chunk-SQ2Y2ZQ7.js.map} +1 -1
  283. package/dist/browser/{chunk-3Y34Q6QC.js → chunk-SUKCGEEK.js} +2 -2
  284. package/dist/browser/{chunk-3Y34Q6QC.js.map → chunk-SUKCGEEK.js.map} +1 -1
  285. package/dist/browser/{chunk-Z2TH3AWW.js → chunk-SV4EKF46.js} +2 -2
  286. package/dist/browser/{chunk-Z2TH3AWW.js.map → chunk-SV4EKF46.js.map} +1 -1
  287. package/dist/browser/{chunk-AZ7VFOZ3.js → chunk-SYG2FUO2.js} +2 -2
  288. package/dist/browser/{chunk-AZ7VFOZ3.js.map → chunk-SYG2FUO2.js.map} +1 -1
  289. package/dist/browser/{chunk-MW4KYNU3.js → chunk-T2YQIDUC.js} +2 -2
  290. package/dist/browser/{chunk-MW4KYNU3.js.map → chunk-T2YQIDUC.js.map} +1 -1
  291. package/dist/browser/{chunk-HQBE4QAU.js → chunk-TCCM6IUJ.js} +2 -2
  292. package/dist/browser/{chunk-HQBE4QAU.js.map → chunk-TCCM6IUJ.js.map} +1 -1
  293. package/dist/browser/{chunk-S3LJG457.js → chunk-THJQ3B5J.js} +2 -2
  294. package/dist/browser/{chunk-S3LJG457.js.map → chunk-THJQ3B5J.js.map} +1 -1
  295. package/dist/browser/{chunk-3XRU3DXW.js → chunk-TZW7RWFI.js} +2 -2
  296. package/dist/browser/{chunk-3XRU3DXW.js.map → chunk-TZW7RWFI.js.map} +1 -1
  297. package/dist/browser/{chunk-Q7K6UASJ.js → chunk-U4XWL2ZX.js} +2 -2
  298. package/dist/browser/{chunk-Q7K6UASJ.js.map → chunk-U4XWL2ZX.js.map} +1 -1
  299. package/dist/browser/{chunk-GVFBXXXP.js → chunk-UDBY27QR.js} +2 -2
  300. package/dist/browser/{chunk-GVFBXXXP.js.map → chunk-UDBY27QR.js.map} +1 -1
  301. package/dist/browser/{chunk-BADGMGTI.js → chunk-UEBOZ52I.js} +2 -2
  302. package/dist/browser/{chunk-BADGMGTI.js.map → chunk-UEBOZ52I.js.map} +1 -1
  303. package/dist/browser/{chunk-GIGRSQIH.js → chunk-UMNF5U7T.js} +2 -2
  304. package/dist/browser/{chunk-GIGRSQIH.js.map → chunk-UMNF5U7T.js.map} +1 -1
  305. package/dist/browser/{chunk-QMHELPJV.js → chunk-UPLEQIFO.js} +2 -2
  306. package/dist/browser/{chunk-QMHELPJV.js.map → chunk-UPLEQIFO.js.map} +1 -1
  307. package/dist/browser/{chunk-IVMIGXLH.js → chunk-UTPSL2RV.js} +2 -2
  308. package/dist/browser/{chunk-IVMIGXLH.js.map → chunk-UTPSL2RV.js.map} +1 -1
  309. package/dist/browser/{chunk-K4CHL32C.js → chunk-UUXQASBR.js} +2 -2
  310. package/dist/browser/{chunk-K4CHL32C.js.map → chunk-UUXQASBR.js.map} +1 -1
  311. package/dist/browser/{chunk-HOJJOXGC.js → chunk-UZD2XG6P.js} +2 -2
  312. package/dist/browser/{chunk-HOJJOXGC.js.map → chunk-UZD2XG6P.js.map} +1 -1
  313. package/dist/browser/{chunk-CKHL2O7X.js → chunk-V33JEBQK.js} +2 -2
  314. package/dist/browser/{chunk-CKHL2O7X.js.map → chunk-V33JEBQK.js.map} +1 -1
  315. package/dist/browser/{chunk-VLMKNIB4.js → chunk-VC672JHD.js} +2 -2
  316. package/dist/browser/{chunk-VLMKNIB4.js.map → chunk-VC672JHD.js.map} +1 -1
  317. package/dist/browser/{chunk-OG6WTNVW.js → chunk-VIWMIYES.js} +2 -2
  318. package/dist/browser/{chunk-OG6WTNVW.js.map → chunk-VIWMIYES.js.map} +1 -1
  319. package/dist/browser/{chunk-FJ5CJPZL.js → chunk-VZQOG43F.js} +2 -2
  320. package/dist/browser/{chunk-FJ5CJPZL.js.map → chunk-VZQOG43F.js.map} +1 -1
  321. package/dist/browser/{chunk-WEC4NL7S.js → chunk-VZZDAVVR.js} +2 -2
  322. package/dist/browser/{chunk-WEC4NL7S.js.map → chunk-VZZDAVVR.js.map} +1 -1
  323. package/dist/browser/{chunk-S23YZMGE.js → chunk-W2QXS26P.js} +2 -2
  324. package/dist/browser/{chunk-S23YZMGE.js.map → chunk-W2QXS26P.js.map} +1 -1
  325. package/dist/browser/{chunk-ZSARKV4B.js → chunk-W2W7TOPN.js} +2 -2
  326. package/dist/browser/{chunk-ZSARKV4B.js.map → chunk-W2W7TOPN.js.map} +1 -1
  327. package/dist/browser/{chunk-AWG24KVR.js → chunk-WCTJDIK6.js} +2 -2
  328. package/dist/browser/{chunk-AWG24KVR.js.map → chunk-WCTJDIK6.js.map} +1 -1
  329. package/dist/browser/{chunk-ZMYRAWYV.js → chunk-WHWP7EWD.js} +2 -2
  330. package/dist/browser/{chunk-ZMYRAWYV.js.map → chunk-WHWP7EWD.js.map} +1 -1
  331. package/dist/browser/{chunk-FT5QYVCP.js → chunk-WLYMW7CZ.js} +2 -2
  332. package/dist/browser/{chunk-FT5QYVCP.js.map → chunk-WLYMW7CZ.js.map} +1 -1
  333. package/dist/browser/{chunk-4QUTBTN2.js → chunk-WUVGMAFV.js} +2 -2
  334. package/dist/browser/{chunk-4QUTBTN2.js.map → chunk-WUVGMAFV.js.map} +1 -1
  335. package/dist/browser/{chunk-OAOOURDH.js → chunk-WWHGPZGN.js} +2 -2
  336. package/dist/browser/{chunk-OAOOURDH.js.map → chunk-WWHGPZGN.js.map} +1 -1
  337. package/dist/browser/{chunk-TNGNZSGS.js → chunk-X3KHKYDO.js} +2 -2
  338. package/dist/browser/{chunk-TNGNZSGS.js.map → chunk-X3KHKYDO.js.map} +1 -1
  339. package/dist/browser/{chunk-ASSGVHJB.js → chunk-X3ZYJJAD.js} +2 -2
  340. package/dist/browser/{chunk-ASSGVHJB.js.map → chunk-X3ZYJJAD.js.map} +1 -1
  341. package/dist/browser/{chunk-L5SAOKO6.js → chunk-XHYOHFMU.js} +2 -2
  342. package/dist/browser/{chunk-L5SAOKO6.js.map → chunk-XHYOHFMU.js.map} +1 -1
  343. package/dist/browser/{chunk-6IABT7MJ.js → chunk-XQAXJQVK.js} +2 -2
  344. package/dist/browser/{chunk-6IABT7MJ.js.map → chunk-XQAXJQVK.js.map} +1 -1
  345. package/dist/browser/{chunk-T6IKUQBC.js → chunk-XQQ5MSOE.js} +2 -2
  346. package/dist/browser/{chunk-T6IKUQBC.js.map → chunk-XQQ5MSOE.js.map} +1 -1
  347. package/dist/browser/{chunk-WEUPYCUL.js → chunk-XSDDOOC3.js} +2 -2
  348. package/dist/browser/{chunk-WEUPYCUL.js.map → chunk-XSDDOOC3.js.map} +1 -1
  349. package/dist/browser/{chunk-CWBPA5DT.js → chunk-XTZBOYHG.js} +2 -2
  350. package/dist/browser/{chunk-CWBPA5DT.js.map → chunk-XTZBOYHG.js.map} +1 -1
  351. package/dist/browser/{chunk-NSTN6NK7.js → chunk-XWIY4F37.js} +2 -2
  352. package/dist/browser/{chunk-NSTN6NK7.js.map → chunk-XWIY4F37.js.map} +1 -1
  353. package/dist/browser/chunk-XY6AFXAS.js +2 -0
  354. package/dist/browser/{chunk-7FJQ2VAW.js.map → chunk-XY6AFXAS.js.map} +1 -1
  355. package/dist/browser/{chunk-R6UPSSYV.js → chunk-YCPIC6JF.js} +2 -2
  356. package/dist/browser/{chunk-R6UPSSYV.js.map → chunk-YCPIC6JF.js.map} +1 -1
  357. package/dist/browser/{chunk-HAIUMSGN.js → chunk-YEPSRKRA.js} +2 -2
  358. package/dist/browser/{chunk-HAIUMSGN.js.map → chunk-YEPSRKRA.js.map} +1 -1
  359. package/dist/browser/{chunk-5PSFBLOC.js → chunk-YFT2EUUG.js} +2 -2
  360. package/dist/browser/{chunk-5PSFBLOC.js.map → chunk-YFT2EUUG.js.map} +1 -1
  361. package/dist/browser/{chunk-VDU4E44M.js → chunk-YI6XOITO.js} +2 -2
  362. package/dist/browser/{chunk-VDU4E44M.js.map → chunk-YI6XOITO.js.map} +1 -1
  363. package/dist/browser/{chunk-VCYNR26T.js → chunk-YWNPW6IV.js} +2 -2
  364. package/dist/browser/{chunk-VCYNR26T.js.map → chunk-YWNPW6IV.js.map} +1 -1
  365. package/dist/browser/{chunk-HBZ2NQ5P.js → chunk-YYWUOU6W.js} +2 -2
  366. package/dist/browser/{chunk-HBZ2NQ5P.js.map → chunk-YYWUOU6W.js.map} +1 -1
  367. package/dist/browser/{chunk-4CZFR2OD.js → chunk-Z2VGNDBL.js} +2 -2
  368. package/dist/browser/{chunk-4CZFR2OD.js.map → chunk-Z2VGNDBL.js.map} +1 -1
  369. package/dist/browser/{chunk-K2AH4UHN.js → chunk-ZAYKDU7P.js} +2 -2
  370. package/dist/browser/{chunk-K2AH4UHN.js.map → chunk-ZAYKDU7P.js.map} +1 -1
  371. package/dist/browser/{chunk-2RVIFH2X.js → chunk-ZIDBJJD4.js} +2 -2
  372. package/dist/browser/{chunk-2RVIFH2X.js.map → chunk-ZIDBJJD4.js.map} +1 -1
  373. package/dist/browser/{chunk-F6DE74CY.js → chunk-ZNK3KVKQ.js} +2 -2
  374. package/dist/browser/{chunk-F6DE74CY.js.map → chunk-ZNK3KVKQ.js.map} +1 -1
  375. package/dist/browser/{chunk-W4TAERQX.js → chunk-ZOMU6CR5.js} +2 -2
  376. package/dist/browser/{chunk-W4TAERQX.js.map → chunk-ZOMU6CR5.js.map} +1 -1
  377. package/dist/browser/index.d.ts +68 -1
  378. package/dist/browser/index.js +1 -1
  379. package/dist/browser/modules/accounts/index.js +1 -1
  380. package/dist/browser/modules/accounts/mutations/bookmarks/index.js +1 -1
  381. package/dist/browser/modules/accounts/mutations/bookmarks/use-account-bookmark-add.js +1 -1
  382. package/dist/browser/modules/accounts/mutations/bookmarks/use-account-bookmark-delete.js +1 -1
  383. package/dist/browser/modules/accounts/mutations/favorite-tags/index.js +1 -1
  384. package/dist/browser/modules/accounts/mutations/favorite-tags/requests.js +1 -1
  385. package/dist/browser/modules/accounts/mutations/favorite-tags/use-favorite-tag-add.js +1 -1
  386. package/dist/browser/modules/accounts/mutations/favorite-tags/use-favorite-tag-delete.js +1 -1
  387. package/dist/browser/modules/accounts/mutations/favorites/index.js +1 -1
  388. package/dist/browser/modules/accounts/mutations/favorites/use-account-favorite-add.js +1 -1
  389. package/dist/browser/modules/accounts/mutations/favorites/use-account-favorite-delete.js +1 -1
  390. package/dist/browser/modules/accounts/mutations/index.js +1 -1
  391. package/dist/browser/modules/accounts/mutations/use-account-relations-update.js +1 -1
  392. package/dist/browser/modules/accounts/mutations/use-account-revoke-key.js +1 -1
  393. package/dist/browser/modules/accounts/mutations/use-account-revoke-posting.js +1 -1
  394. package/dist/browser/modules/accounts/mutations/use-account-update-key-auths.js +1 -1
  395. package/dist/browser/modules/accounts/mutations/use-account-update-password.js +1 -1
  396. package/dist/browser/modules/accounts/mutations/use-account-update-recovery.js +1 -1
  397. package/dist/browser/modules/accounts/mutations/use-account-update.js +1 -1
  398. package/dist/browser/modules/accounts/mutations/use-claim-account.js +1 -1
  399. package/dist/browser/modules/accounts/mutations/use-create-account.js +1 -1
  400. package/dist/browser/modules/accounts/mutations/use-follow.js +1 -1
  401. package/dist/browser/modules/accounts/mutations/use-grant-posting-permission.js +1 -1
  402. package/dist/browser/modules/accounts/mutations/use-unfollow.js +1 -1
  403. package/dist/browser/modules/accounts/queries/check-favorite-query-options.js +1 -1
  404. package/dist/browser/modules/accounts/queries/check-username-wallets-pending-query-options.js +1 -1
  405. package/dist/browser/modules/accounts/queries/get-account-full-query-options.js +1 -1
  406. package/dist/browser/modules/accounts/queries/get-account-pending-recovery-query-options.js +1 -1
  407. package/dist/browser/modules/accounts/queries/get-account-recoveries-query-options.js +1 -1
  408. package/dist/browser/modules/accounts/queries/get-account-reputations-query-options.js +1 -1
  409. package/dist/browser/modules/accounts/queries/get-account-subscriptions-query-options.js +1 -1
  410. package/dist/browser/modules/accounts/queries/get-account-vote-history-infinite-query-options.js +1 -1
  411. package/dist/browser/modules/accounts/queries/get-accounts-query-options.js +1 -1
  412. package/dist/browser/modules/accounts/queries/get-aggregated-balance-query-options.js +1 -1
  413. package/dist/browser/modules/accounts/queries/get-balance-history-query-options.js +1 -1
  414. package/dist/browser/modules/accounts/queries/get-bookmarks-query-options.js +1 -1
  415. package/dist/browser/modules/accounts/queries/get-bots-query-options.js +1 -1
  416. package/dist/browser/modules/accounts/queries/get-favorite-tag-check-query-options.js +1 -1
  417. package/dist/browser/modules/accounts/queries/get-favorite-tags-query-options.js +1 -1
  418. package/dist/browser/modules/accounts/queries/get-favorites-query-options.js +1 -1
  419. package/dist/browser/modules/accounts/queries/get-follow-count-query-options.js +1 -1
  420. package/dist/browser/modules/accounts/queries/get-followers-query-options.js +1 -1
  421. package/dist/browser/modules/accounts/queries/get-following-query-options.js +1 -1
  422. package/dist/browser/modules/accounts/queries/get-friends-infinite-query-options.js +1 -1
  423. package/dist/browser/modules/accounts/queries/get-muted-users-query-options.js +1 -1
  424. package/dist/browser/modules/accounts/queries/get-pro-members-query-options.js +1 -1
  425. package/dist/browser/modules/accounts/queries/get-profiles-query-options.js +1 -1
  426. package/dist/browser/modules/accounts/queries/get-referrals-infinite-query-options.js +1 -1
  427. package/dist/browser/modules/accounts/queries/get-referrals-stats-query-options.js +1 -1
  428. package/dist/browser/modules/accounts/queries/get-relationship-between-accounts-query-options.js +1 -1
  429. package/dist/browser/modules/accounts/queries/get-search-friends-query-options.js +1 -1
  430. package/dist/browser/modules/accounts/queries/get-transactions-infinite-query-options.js +1 -1
  431. package/dist/browser/modules/accounts/queries/index.js +1 -1
  432. package/dist/browser/modules/accounts/queries/lookup-accounts-query-options.js +1 -1
  433. package/dist/browser/modules/accounts/queries/search-accounts-by-username-query-options.js +1 -1
  434. package/dist/browser/modules/accounts/utils/account-power.js +1 -1
  435. package/dist/browser/modules/accounts/utils/index.js +1 -1
  436. package/dist/browser/modules/ai/index.js +1 -1
  437. package/dist/browser/modules/ai/mutations/index.js +1 -1
  438. package/dist/browser/modules/ai/mutations/use-ai-assist.js +1 -1
  439. package/dist/browser/modules/ai/mutations/use-ai-transcribe.js +1 -1
  440. package/dist/browser/modules/ai/mutations/use-generate-image.js +1 -1
  441. package/dist/browser/modules/ai/mutations/use-listen-unlock.js +2 -0
  442. package/dist/browser/modules/ai/mutations/use-listen-unlock.js.map +1 -0
  443. package/dist/browser/modules/ai/queries/get-ai-assist-price-query-options.js +1 -1
  444. package/dist/browser/modules/ai/queries/get-ai-generate-price-query-options.js +1 -1
  445. package/dist/browser/modules/ai/queries/get-ai-images-query-options.js +1 -1
  446. package/dist/browser/modules/ai/queries/get-ai-transcribe-price-query-options.js +1 -1
  447. package/dist/browser/modules/ai/queries/get-listen-status-query-options.js +2 -0
  448. package/dist/browser/modules/ai/queries/get-listen-status-query-options.js.map +1 -0
  449. package/dist/browser/modules/ai/queries/index.js +1 -1
  450. package/dist/browser/modules/analytics/index.js +1 -1
  451. package/dist/browser/modules/analytics/mutations/index.js +1 -1
  452. package/dist/browser/modules/analytics/mutations/use-record-activity.js +1 -1
  453. package/dist/browser/modules/analytics/queries/get-discover-curation-query-options.js +1 -1
  454. package/dist/browser/modules/analytics/queries/get-discover-leaderboard-query-options.js +1 -1
  455. package/dist/browser/modules/analytics/queries/get-page-stats-query-options.js +1 -1
  456. package/dist/browser/modules/analytics/queries/index.js +1 -1
  457. package/dist/browser/modules/analytics/types/index.js +1 -1
  458. package/dist/browser/modules/auth/index.js +1 -1
  459. package/dist/browser/modules/auth/requests.js +1 -1
  460. package/dist/browser/modules/bad-actors/index.js +1 -1
  461. package/dist/browser/modules/bad-actors/queries/get-bad-actors-query-options.js +1 -1
  462. package/dist/browser/modules/bad-actors/queries/index.js +1 -1
  463. package/dist/browser/modules/bridge/index.js +1 -1
  464. package/dist/browser/modules/bridge/requests.js +1 -1
  465. package/dist/browser/modules/communities/index.js +1 -1
  466. package/dist/browser/modules/communities/mutations/index.js +1 -1
  467. package/dist/browser/modules/communities/mutations/use-mute-post.js +1 -1
  468. package/dist/browser/modules/communities/mutations/use-pin-post.js +1 -1
  469. package/dist/browser/modules/communities/mutations/use-register-community-rewards.js +1 -1
  470. package/dist/browser/modules/communities/mutations/use-set-community-role.js +1 -1
  471. package/dist/browser/modules/communities/mutations/use-subscribe-community.js +1 -1
  472. package/dist/browser/modules/communities/mutations/use-unsubscribe-community.js +1 -1
  473. package/dist/browser/modules/communities/mutations/use-update-community.js +1 -1
  474. package/dist/browser/modules/communities/queries/get-account-notifications-infinite-query-options.js +1 -1
  475. package/dist/browser/modules/communities/queries/get-communities-query-options.js +1 -1
  476. package/dist/browser/modules/communities/queries/get-community-context-query-options.js +1 -1
  477. package/dist/browser/modules/communities/queries/get-community-query-options.js +1 -1
  478. package/dist/browser/modules/communities/queries/get-community-subscribers-query-options.js +1 -1
  479. package/dist/browser/modules/communities/queries/get-rewarded-communities-query-options.js +1 -1
  480. package/dist/browser/modules/communities/queries/index.js +1 -1
  481. package/dist/browser/modules/communities/types/index.js +1 -1
  482. package/dist/browser/modules/communities/utils/index.js +1 -1
  483. package/dist/browser/modules/core/index.js +1 -1
  484. package/dist/browser/modules/core/mutations/index.js +1 -1
  485. package/dist/browser/modules/core/queries/get-chain-properties-query-options.js +1 -1
  486. package/dist/browser/modules/core/queries/get-dynamic-props-query-options.js +1 -1
  487. package/dist/browser/modules/core/queries/get-reward-fund-query-options.js +1 -1
  488. package/dist/browser/modules/core/queries/index.js +1 -1
  489. package/dist/browser/modules/core/query-keys.js +1 -1
  490. package/dist/browser/modules/core/types/index.js +1 -1
  491. package/dist/browser/modules/core/utils/index.js +1 -1
  492. package/dist/browser/modules/curation/dmca.js +1 -1
  493. package/dist/browser/modules/curation/index.js +1 -1
  494. package/dist/browser/modules/curation/mutations/index.js +1 -1
  495. package/dist/browser/modules/curation/mutations/use-curation-recommend.js +1 -1
  496. package/dist/browser/modules/curation/queries/get-curation-application-query-options.js +1 -1
  497. package/dist/browser/modules/curation/queries/get-curation-applications-query-options.js +1 -1
  498. package/dist/browser/modules/curation/queries/get-curation-feed-infinite-query-options.js +1 -1
  499. package/dist/browser/modules/curation/queries/get-curation-post-query-options.js +1 -1
  500. package/dist/browser/modules/curation/queries/get-curation-recommendations-infinite-query-options.js +1 -1
  501. package/dist/browser/modules/curation/queries/get-curation-recommender-query-options.js +1 -1
  502. package/dist/browser/modules/curation/queries/get-curation-roster-admin-query-options.js +1 -1
  503. package/dist/browser/modules/curation/queries/get-curation-roster-query-options.js +1 -1
  504. package/dist/browser/modules/curation/queries/get-curation-status-query-options.js +1 -1
  505. package/dist/browser/modules/curation/queries/index.js +1 -1
  506. package/dist/browser/modules/curation/requests.js +1 -1
  507. package/dist/browser/modules/games/index.js +1 -1
  508. package/dist/browser/modules/games/mutations/game-claim.js +1 -1
  509. package/dist/browser/modules/games/mutations/index.js +1 -1
  510. package/dist/browser/modules/games/queries/game-status-check-query-options.js +1 -1
  511. package/dist/browser/modules/games/queries/index.js +1 -1
  512. package/dist/browser/modules/hive-engine/index.js +1 -1
  513. package/dist/browser/modules/hive-engine/queries/get-all-hive-engine-tokens-query-options.js +1 -1
  514. package/dist/browser/modules/hive-engine/queries/get-hive-engine-balances-with-usd-query-options.js +1 -1
  515. package/dist/browser/modules/hive-engine/queries/get-hive-engine-token-general-info-query-options.js +1 -1
  516. package/dist/browser/modules/hive-engine/queries/get-hive-engine-token-metrics-query-options.js +1 -1
  517. package/dist/browser/modules/hive-engine/queries/get-hive-engine-token-transactions-query-options.js +1 -1
  518. package/dist/browser/modules/hive-engine/queries/get-hive-engine-tokens-balances-query-options.js +1 -1
  519. package/dist/browser/modules/hive-engine/queries/get-hive-engine-tokens-market-query-options.js +1 -1
  520. package/dist/browser/modules/hive-engine/queries/get-hive-engine-tokens-metadata-query-options.js +1 -1
  521. package/dist/browser/modules/hive-engine/queries/get-hive-engine-unclaimed-rewards-query-options.js +1 -1
  522. package/dist/browser/modules/hive-engine/queries/index.js +1 -1
  523. package/dist/browser/modules/hive-engine/requests.js +1 -1
  524. package/dist/browser/modules/hive-engine/types/index.js +1 -1
  525. package/dist/browser/modules/integrations/3speak/index.js +1 -1
  526. package/dist/browser/modules/integrations/3speak/queries/get-account-token-query-options.js +1 -1
  527. package/dist/browser/modules/integrations/3speak/queries/get-account-videos-query-options.js +1 -1
  528. package/dist/browser/modules/integrations/3speak/queries/index.js +1 -1
  529. package/dist/browser/modules/integrations/hiveposh/index.js +1 -1
  530. package/dist/browser/modules/integrations/hiveposh/queries/get-hiveposh-links-query-options.js +1 -1
  531. package/dist/browser/modules/integrations/hiveposh/queries/index.js +1 -1
  532. package/dist/browser/modules/integrations/index.js +1 -1
  533. package/dist/browser/modules/integrations/plausible/index.js +1 -1
  534. package/dist/browser/modules/integrations/plausible/queries/get-stats-query-options.js +1 -1
  535. package/dist/browser/modules/integrations/plausible/queries/index.js +1 -1
  536. package/dist/browser/modules/market/index.js +1 -1
  537. package/dist/browser/modules/market/mutations/index.js +1 -1
  538. package/dist/browser/modules/market/mutations/use-limit-order-cancel.js +1 -1
  539. package/dist/browser/modules/market/mutations/use-limit-order-create.js +1 -1
  540. package/dist/browser/modules/market/queries/get-market-data-query-options.js +1 -1
  541. package/dist/browser/modules/market/queries/index.js +1 -1
  542. package/dist/browser/modules/market/requests.js +1 -1
  543. package/dist/browser/modules/market/types/index.js +1 -1
  544. package/dist/browser/modules/newsletter/api.js +1 -1
  545. package/dist/browser/modules/newsletter/index.js +1 -1
  546. package/dist/browser/modules/newsletter/mutations/index.js +1 -1
  547. package/dist/browser/modules/newsletter/mutations/use-leave-digest.js +1 -1
  548. package/dist/browser/modules/newsletter/mutations/use-send-newsletter-issue.js +1 -1
  549. package/dist/browser/modules/newsletter/mutations/use-subscribe-digest.js +1 -1
  550. package/dist/browser/modules/newsletter/mutations/use-unsubscribe-all-digests.js +1 -1
  551. package/dist/browser/modules/newsletter/queries/get-digest-subscriptions-query-options.js +1 -1
  552. package/dist/browser/modules/newsletter/queries/get-newsletter-issues-query-options.js +1 -1
  553. package/dist/browser/modules/newsletter/queries/get-newsletter-posts-query-options.js +1 -1
  554. package/dist/browser/modules/newsletter/queries/get-newsletter-sender-query-options.js +1 -1
  555. package/dist/browser/modules/newsletter/queries/index.js +1 -1
  556. package/dist/browser/modules/notifications/index.js +1 -1
  557. package/dist/browser/modules/notifications/mutations/index.js +1 -1
  558. package/dist/browser/modules/notifications/mutations/use-mark-notifications-read.js +1 -1
  559. package/dist/browser/modules/notifications/mutations/use-set-last-read.js +1 -1
  560. package/dist/browser/modules/notifications/queries/get-announcements-query-options.js +1 -1
  561. package/dist/browser/modules/notifications/queries/get-notifications-infinite-query-options.js +1 -1
  562. package/dist/browser/modules/notifications/queries/get-notifications-settings-query-options.js +1 -1
  563. package/dist/browser/modules/notifications/queries/get-notifications-unread-count-query-options.js +1 -1
  564. package/dist/browser/modules/notifications/queries/get-spotlights-query-options.js +1 -1
  565. package/dist/browser/modules/notifications/queries/index.js +1 -1
  566. package/dist/browser/modules/notifications/types/index.js +1 -1
  567. package/dist/browser/modules/operations/builders/index.js +1 -1
  568. package/dist/browser/modules/operations/index.js +1 -1
  569. package/dist/browser/modules/points/index.js +1 -1
  570. package/dist/browser/modules/points/mutations/index.js +1 -1
  571. package/dist/browser/modules/points/mutations/use-claim-points.js +1 -1
  572. package/dist/browser/modules/points/queries/get-points-asset-general-info-query-options.js +1 -1
  573. package/dist/browser/modules/points/queries/get-points-query-options.js +1 -1
  574. package/dist/browser/modules/points/queries/index.js +1 -1
  575. package/dist/browser/modules/points/types/index.js +1 -1
  576. package/dist/browser/modules/polls/index.js +1 -1
  577. package/dist/browser/modules/polls/mutations/index.js +1 -1
  578. package/dist/browser/modules/polls/mutations/use-poll-vote.js +1 -1
  579. package/dist/browser/modules/polls/queries/get-poll-query-options.js +1 -1
  580. package/dist/browser/modules/polls/queries/index.js +1 -1
  581. package/dist/browser/modules/posts/cache/discussions-cache-utils.js +1 -1
  582. package/dist/browser/modules/posts/cache/entries-cache-management.js +1 -1
  583. package/dist/browser/modules/posts/cache/index.js +1 -1
  584. package/dist/browser/modules/posts/index.js +1 -1
  585. package/dist/browser/modules/posts/mutations/add-fragment.js +1 -1
  586. package/dist/browser/modules/posts/mutations/edit-fragment.js +1 -1
  587. package/dist/browser/modules/posts/mutations/index.js +1 -1
  588. package/dist/browser/modules/posts/mutations/remove-fragment.js +1 -1
  589. package/dist/browser/modules/posts/mutations/use-add-draft.js +1 -1
  590. package/dist/browser/modules/posts/mutations/use-add-image.js +1 -1
  591. package/dist/browser/modules/posts/mutations/use-add-schedule.js +1 -1
  592. package/dist/browser/modules/posts/mutations/use-comment.js +1 -1
  593. package/dist/browser/modules/posts/mutations/use-cross-post.js +1 -1
  594. package/dist/browser/modules/posts/mutations/use-delete-comment.js +1 -1
  595. package/dist/browser/modules/posts/mutations/use-delete-draft.js +1 -1
  596. package/dist/browser/modules/posts/mutations/use-delete-image.js +1 -1
  597. package/dist/browser/modules/posts/mutations/use-delete-schedule.js +1 -1
  598. package/dist/browser/modules/posts/mutations/use-move-schedule.js +1 -1
  599. package/dist/browser/modules/posts/mutations/use-promote.js +1 -1
  600. package/dist/browser/modules/posts/mutations/use-reblog.js +1 -1
  601. package/dist/browser/modules/posts/mutations/use-update-draft.js +1 -1
  602. package/dist/browser/modules/posts/mutations/use-update-reply.js +1 -1
  603. package/dist/browser/modules/posts/mutations/use-upload-image.js +1 -1
  604. package/dist/browser/modules/posts/mutations/use-vote.js +1 -1
  605. package/dist/browser/modules/posts/queries/get-account-posts-query-options.js +1 -1
  606. package/dist/browser/modules/posts/queries/get-comment-history-query-options.js +1 -1
  607. package/dist/browser/modules/posts/queries/get-content-query-options.js +1 -1
  608. package/dist/browser/modules/posts/queries/get-content-replies-query-options.js +1 -1
  609. package/dist/browser/modules/posts/queries/get-deleted-entry-query-options.js +1 -1
  610. package/dist/browser/modules/posts/queries/get-discussions-query-options.js +1 -1
  611. package/dist/browser/modules/posts/queries/get-drafts-query-options.js +1 -1
  612. package/dist/browser/modules/posts/queries/get-entry-active-votes-query-options.js +1 -1
  613. package/dist/browser/modules/posts/queries/get-fragments-query-options.js +1 -1
  614. package/dist/browser/modules/posts/queries/get-images-query-options.js +1 -1
  615. package/dist/browser/modules/posts/queries/get-normalize-post-query-options.js +1 -1
  616. package/dist/browser/modules/posts/queries/get-post-header-query-options.js +1 -1
  617. package/dist/browser/modules/posts/queries/get-post-query-options.js +1 -1
  618. package/dist/browser/modules/posts/queries/get-post-tips-query-options.js +1 -1
  619. package/dist/browser/modules/posts/queries/get-posts-ranked-query-options.js +1 -1
  620. package/dist/browser/modules/posts/queries/get-promoted-posts-query-options.js +1 -1
  621. package/dist/browser/modules/posts/queries/get-reblogged-by-query-options.js +1 -1
  622. package/dist/browser/modules/posts/queries/get-reblogs-query-options.js +1 -1
  623. package/dist/browser/modules/posts/queries/get-schedules-query-options.js +1 -1
  624. package/dist/browser/modules/posts/queries/get-shorts-feed-query-options.js +1 -1
  625. package/dist/browser/modules/posts/queries/get-trending-tags-query-options.js +1 -1
  626. package/dist/browser/modules/posts/queries/get-trending-tags-with-stats-query-options.js +1 -1
  627. package/dist/browser/modules/posts/queries/get-user-post-vote-query-options.js +1 -1
  628. package/dist/browser/modules/posts/queries/get-waves-by-account-query-options.js +1 -1
  629. package/dist/browser/modules/posts/queries/get-waves-by-host-query-options.js +1 -1
  630. package/dist/browser/modules/posts/queries/get-waves-by-tag-query-options.js +1 -1
  631. package/dist/browser/modules/posts/queries/get-waves-feed-query-options.js +1 -1
  632. package/dist/browser/modules/posts/queries/get-waves-following-query-options.js +1 -1
  633. package/dist/browser/modules/posts/queries/get-waves-trending-authors-query-options.js +1 -1
  634. package/dist/browser/modules/posts/queries/get-waves-trending-tags-query-options.js +1 -1
  635. package/dist/browser/modules/posts/queries/index.js +1 -1
  636. package/dist/browser/modules/posts/types/index.js +1 -1
  637. package/dist/browser/modules/posts/utils/filter-dmca-entries.js +1 -1
  638. package/dist/browser/modules/posts/utils/waves-helpers.js +1 -1
  639. package/dist/browser/modules/private-api/index.js +1 -1
  640. package/dist/browser/modules/private-api/requests.js +1 -1
  641. package/dist/browser/modules/promotions/index.js +1 -1
  642. package/dist/browser/modules/promotions/mutations/index.js +1 -1
  643. package/dist/browser/modules/promotions/mutations/use-boost-plus.js +1 -1
  644. package/dist/browser/modules/promotions/mutations/use-rc-delegation.js +1 -1
  645. package/dist/browser/modules/promotions/queries/get-boost-plus-account-prices-query-options.js +1 -1
  646. package/dist/browser/modules/promotions/queries/get-boost-plus-prices-query-options.js +1 -1
  647. package/dist/browser/modules/promotions/queries/get-promote-price-query-options.js +1 -1
  648. package/dist/browser/modules/promotions/queries/get-rc-delegation-active-query-options.js +1 -1
  649. package/dist/browser/modules/promotions/queries/get-rc-delegation-prices-query-options.js +1 -1
  650. package/dist/browser/modules/promotions/queries/index.js +1 -1
  651. package/dist/browser/modules/proposals/index.js +1 -1
  652. package/dist/browser/modules/proposals/mutations/index.js +1 -1
  653. package/dist/browser/modules/proposals/mutations/use-proposal-create.js +1 -1
  654. package/dist/browser/modules/proposals/mutations/use-proposal-vote.js +1 -1
  655. package/dist/browser/modules/proposals/queries/get-proposal-votes-query-options.js +1 -1
  656. package/dist/browser/modules/proposals/queries/index.js +1 -1
  657. package/dist/browser/modules/quests/index.js +1 -1
  658. package/dist/browser/modules/quests/mutations/buy-streak-freeze.js +1 -1
  659. package/dist/browser/modules/quests/mutations/index.js +1 -1
  660. package/dist/browser/modules/quests/queries/get-quests-query-options.js +1 -1
  661. package/dist/browser/modules/quests/queries/index.js +1 -1
  662. package/dist/browser/modules/resource-credits/index.js +1 -1
  663. package/dist/browser/modules/resource-credits/queries/get-rc-resource-params-query-options.js +1 -1
  664. package/dist/browser/modules/resource-credits/queries/index.js +1 -1
  665. package/dist/browser/modules/search/dmca.js +1 -1
  666. package/dist/browser/modules/search/index.js +1 -1
  667. package/dist/browser/modules/search/parse-json-response.js +1 -1
  668. package/dist/browser/modules/search/queries/get-search-account-query-options.js +1 -1
  669. package/dist/browser/modules/search/queries/get-search-api-infinite-query-options.js +1 -1
  670. package/dist/browser/modules/search/queries/get-search-path-query-options.js +1 -1
  671. package/dist/browser/modules/search/queries/get-search-query-options.js +1 -1
  672. package/dist/browser/modules/search/queries/get-search-topics-query-options.js +1 -1
  673. package/dist/browser/modules/search/queries/get-similar-entries-query-options.js +1 -1
  674. package/dist/browser/modules/search/queries/index.js +1 -1
  675. package/dist/browser/modules/search/requests.js +1 -1
  676. package/dist/browser/modules/support/index.js +1 -1
  677. package/dist/browser/modules/support/mutations/index.js +1 -1
  678. package/dist/browser/modules/support/mutations/update-support-settings.js +1 -1
  679. package/dist/browser/modules/support/queries/get-support-settings-query-options.js +1 -1
  680. package/dist/browser/modules/support/queries/index.js +1 -1
  681. package/dist/browser/modules/wallet/index.js +1 -1
  682. package/dist/browser/modules/wallet/mutations/index.js +1 -1
  683. package/dist/browser/modules/wallet/mutations/use-claim-engine-rewards.js +1 -1
  684. package/dist/browser/modules/wallet/mutations/use-claim-interest.js +1 -1
  685. package/dist/browser/modules/wallet/mutations/use-claim-rewards.js +1 -1
  686. package/dist/browser/modules/wallet/mutations/use-convert.js +1 -1
  687. package/dist/browser/modules/wallet/mutations/use-delegate-engine-token.js +1 -1
  688. package/dist/browser/modules/wallet/mutations/use-delegate-rc.js +1 -1
  689. package/dist/browser/modules/wallet/mutations/use-delegate-vesting-shares.js +1 -1
  690. package/dist/browser/modules/wallet/mutations/use-engine-market-order.js +1 -1
  691. package/dist/browser/modules/wallet/mutations/use-set-withdraw-vesting-route.js +1 -1
  692. package/dist/browser/modules/wallet/mutations/use-stake-engine-token.js +1 -1
  693. package/dist/browser/modules/wallet/mutations/use-transfer-engine-token.js +1 -1
  694. package/dist/browser/modules/wallet/mutations/use-transfer-from-savings.js +1 -1
  695. package/dist/browser/modules/wallet/mutations/use-transfer-point.js +1 -1
  696. package/dist/browser/modules/wallet/mutations/use-transfer-to-savings.js +1 -1
  697. package/dist/browser/modules/wallet/mutations/use-transfer-to-vesting.js +1 -1
  698. package/dist/browser/modules/wallet/mutations/use-transfer.js +1 -1
  699. package/dist/browser/modules/wallet/mutations/use-undelegate-engine-token.js +1 -1
  700. package/dist/browser/modules/wallet/mutations/use-unstake-engine-token.js +1 -1
  701. package/dist/browser/modules/wallet/mutations/use-wallet-operation.js +1 -1
  702. package/dist/browser/modules/wallet/mutations/use-withdraw-vesting.js +1 -1
  703. package/dist/browser/modules/wallet/queries/get-account-wallet-asset-info-query-options.js +1 -1
  704. package/dist/browser/modules/wallet/queries/get-hbd-asset-general-info-query-options.js +1 -1
  705. package/dist/browser/modules/wallet/queries/get-hbd-asset-transactions-query-options.js +1 -1
  706. package/dist/browser/modules/wallet/queries/get-hive-asset-general-info-query-options.js +1 -1
  707. package/dist/browser/modules/wallet/queries/get-hive-asset-transactions-query-options.js +1 -1
  708. package/dist/browser/modules/wallet/queries/get-hive-power-asset-general-info-query-options.js +1 -1
  709. package/dist/browser/modules/wallet/queries/get-hive-power-asset-transactions-query-options.js +1 -1
  710. package/dist/browser/modules/wallet/queries/get-hive-power-delegatings-query-options.js +1 -1
  711. package/dist/browser/modules/wallet/queries/get-incoming-rc-query-options.js +1 -1
  712. package/dist/browser/modules/wallet/queries/get-portfolio-query-options.js +1 -1
  713. package/dist/browser/modules/wallet/queries/get-received-vesting-shares-query-options.js +1 -1
  714. package/dist/browser/modules/wallet/queries/index.js +1 -1
  715. package/dist/browser/modules/wallet/types/index.js +1 -1
  716. package/dist/browser/modules/witnesses/index.js +1 -1
  717. package/dist/browser/modules/witnesses/mutations/index.js +1 -1
  718. package/dist/browser/modules/witnesses/mutations/use-witness-proxy.js +1 -1
  719. package/dist/browser/modules/witnesses/mutations/use-witness-vote.js +1 -1
  720. package/dist/browser/modules/witnesses/queries/get-witnesses-query-options.js +1 -1
  721. package/dist/browser/modules/witnesses/queries/index.js +1 -1
  722. package/dist/node/index.cjs +3 -3
  723. package/dist/node/index.cjs.map +1 -1
  724. package/dist/node/index.mjs +3 -3
  725. package/dist/node/index.mjs.map +1 -1
  726. package/package.json +1 -1
  727. package/dist/browser/chunk-2YCVVTZX.js +0 -2
  728. package/dist/browser/chunk-7FJQ2VAW.js +0 -2
  729. package/dist/browser/chunk-BKDCXIO6.js +0 -2
  730. package/dist/browser/chunk-COGC4HII.js +0 -2
  731. package/dist/browser/chunk-G7UMQXIE.js +0 -2
  732. package/dist/browser/chunk-IYNPA3LL.js +0 -2
  733. package/dist/browser/chunk-NXFYJWG2.js +0 -2
  734. package/dist/browser/chunk-VCJWMCKC.js +0 -2
  735. package/dist/browser/chunk-VTGQQQFL.js +0 -2
  736. package/dist/browser/chunk-WTHEQ3M5.js.map +0 -1
  737. package/dist/browser/chunk-YQRLUPCP.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/accounts/mutations/use-account-update.ts","../../src/modules/accounts/mutations/use-account-relations-update.ts","../../src/modules/accounts/mutations/use-account-update-key-auths.ts","../../src/modules/accounts/mutations/use-account-update-password.ts","../../src/modules/accounts/mutations/use-account-revoke-posting.ts","../../src/modules/accounts/mutations/use-account-update-recovery.ts","../../src/modules/accounts/mutations/use-account-revoke-key.ts","../../src/modules/accounts/queries/get-account-full-query-options.ts"],"names":["useAccountUpdate","username","auth","broadcastMode","queryClient","useQueryClient","data","useQuery","getAccountFullQueryOptions","useBroadcastMutation","payload","account","pickRicherMetadataSnapshot","buildPostingJsonMetadata","_data","variables","obj","buildProfileMetadata","extractAccountProfile","invalidateAfterBroadcast","QueryKeys","useAccountRelationsUpdate","reference","target","onSuccess","onError","useMutation","kind","relationsQuery","getRelationshipBetweenAccountsQueryOptions","getQueryClient","actualRelation","broadcastJson","dedupeAndSortKeyAuths","existing","additions","merged","key","weight","keyA","keyB","useAccountUpdateKeyAuths","options","accountData","keys","keepCurrent","currentKey","keysToRevoke","keysToRevokeByAuthority","prepareAuth","keyName","allKeysToRevoke","existingKeys","values","i","broadcastOperations","useAccountUpdatePassword","updateKeys","newPassword","currentPassword","PrivateKey","useAccountRevokePosting","accountName","type","posting","operationBody","hs","resp","ctx","useAccountUpdateRecovery","code","email","response","getBoundFetch","CONFIG","useAccountRevokeKey","revokingKey","revokingKeys","op","buildRevokeKeysOp","isMetadataStripped","hasProfileValues","profile","value","queryOptions","signal","bridgeProfile","callRPC","rows","e","chainAccount","reread","parseProfileMetadata","stats","follow_stats","reputationValue"],"mappings":"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","file":"chunk-4C57MZP6.js","sourcesContent":["import { useBroadcastMutation, invalidateAfterBroadcast, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { AccountProfile, FullAccount } from \"../types\";\nimport {\n buildPostingJsonMetadata,\n buildProfileMetadata,\n extractAccountProfile,\n pickRicherMetadataSnapshot,\n} from \"../utils/profile-metadata\";\n\ninterface Payload {\n profile: Partial<AccountProfile>;\n tokens: AccountProfile[\"tokens\"];\n}\n\n/**\n * React Query mutation hook for updating account profile metadata.\n *\n * This mutation broadcasts an account_update2 operation to update the user's\n * profile information (name, about, location, avatar, cover image, etc.).\n *\n * @param username - The username to update (required for broadcast)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Profile Fields:**\n * - name: Display name\n * - about: Bio/description\n * - location: Location\n * - website: Website URL\n * - profile_image: Avatar URL\n * - cover_image: Cover/banner URL\n * - tokens: Social tokens (Twitter, Facebook, etc.)\n * - version: Profile metadata version (auto-set to 2)\n *\n * **Authentication:**\n * - Uses posting authority (account_update2 operation)\n * - Supports all auth methods via platform adapter\n *\n * **Post-Broadcast Actions:**\n * - Optimistically updates account cache with new profile data\n * - Invalidates account cache to refetch from blockchain\n *\n * @example\n * ```typescript\n * const updateProfile = useAccountUpdate(username, {\n * adapter: myAdapter,\n * });\n *\n * // Update profile\n * updateProfile.mutate({\n * profile: {\n * name: \"John Doe\",\n * about: \"Hive enthusiast\",\n * profile_image: \"https://...\",\n * }\n * });\n * ```\n */\nexport function useAccountUpdate(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n const queryClient = useQueryClient();\n\n const { data } = useQuery(getAccountFullQueryOptions(username));\n\n return useBroadcastMutation(\n [\"accounts\", \"update\"],\n username,\n (payload: Partial<Payload>) => {\n // Prefer the freshest cached snapshot. onMutate has just refetched the\n // account from chain, so this usually reflects the current on-chain\n // profile rather than a possibly stale/unloaded render-time value. If\n // the cache instead holds a metadata-poorer row than the render-time\n // snapshot (e.g. a node served a stripped account row), the richer\n // snapshot wins — a partial update must never shrink the profile while\n // any snapshot still knows the full one.\n const account = pickRicherMetadataSnapshot(\n queryClient.getQueryData<FullAccount>(\n getAccountFullQueryOptions(username).queryKey\n ),\n data\n );\n\n if (!account) {\n throw new Error(\"[SDK][Accounts] – cannot update not existing account\");\n }\n\n return [\n [\n \"account_update2\",\n {\n account: username!,\n json_metadata: \"\",\n extensions: [] as [],\n // Read-modify-write the FULL on-chain metadata: deep-merge the\n // profile and preserve any non-`profile` top-level keys, so a\n // partial update never wipes unrelated fields.\n posting_json_metadata: buildPostingJsonMetadata({\n existingPostingJsonMetadata: account.posting_json_metadata,\n profile: payload.profile,\n tokens: payload.tokens,\n }),\n },\n ],\n ];\n },\n async (_data: unknown, variables: Partial<Payload>) => {\n // Optimistic cache update\n queryClient.setQueryData<FullAccount>(\n getAccountFullQueryOptions(username).queryKey,\n (data) => {\n if (!data) {\n return data;\n }\n\n const obj = JSON.parse(JSON.stringify(data)) as FullAccount;\n obj.profile = buildProfileMetadata({\n existingProfile: extractAccountProfile(data),\n profile: variables.profile,\n tokens: variables.tokens,\n });\n\n return obj;\n }\n );\n\n // Invalidate cache to refetch from blockchain\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username)\n ]);\n },\n auth,\n undefined,\n {\n broadcastMode,\n // Before merging, force a fresh on-chain read so a stale or unloaded\n // cached snapshot cannot cause a partial update (e.g. pinning a post,\n // which sets only `pinned`) to overwrite the existing profile with a\n // near-empty object. Best-effort: if the refetch fails, the op builder\n // falls back to the cached snapshot.\n onMutate: async () => {\n if (!username) {\n return;\n }\n try {\n await queryClient.fetchQuery({\n ...getAccountFullQueryOptions(username),\n staleTime: 0,\n });\n } catch {\n // Ignore – fall back to whatever is already cached.\n }\n },\n }\n );\n}\n","import { broadcastJson, getQueryClient, QueryKeys } from \"@/modules/core\";\nimport type { AuthContext } from \"@/modules/core/types\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { getRelationshipBetweenAccountsQueryOptions, getAccountFullQueryOptions } from \"../queries\";\nimport { AccountRelationship } from \"../types\";\n\ntype Kind = \"toggle-ignore\" | \"toggle-follow\";\n\nexport function useAccountRelationsUpdate(\n reference: string | undefined,\n target: string | undefined,\n auth: AuthContext | undefined,\n onSuccess: (data: Partial<AccountRelationship> | undefined) => void,\n onError: (e: Error) => void\n) {\n return useMutation({\n mutationKey: [\"accounts\", \"relation\", \"update\", reference, target],\n mutationFn: async (kind: Kind) => {\n const relationsQuery = getRelationshipBetweenAccountsQueryOptions(\n reference!,\n target!\n );\n await getQueryClient().prefetchQuery(relationsQuery);\n const actualRelation = getQueryClient().getQueryData(\n relationsQuery.queryKey\n );\n\n await broadcastJson(\n reference,\n \"follow\",\n [\n \"follow\",\n {\n follower: reference,\n following: target,\n what: [\n ...(kind === \"toggle-ignore\" && !actualRelation?.ignores\n ? [\"ignore\"]\n : []),\n ...(kind === \"toggle-follow\" && !actualRelation?.follows\n ? [\"blog\"]\n : []),\n ],\n },\n ],\n auth\n );\n\n return {\n ...actualRelation,\n ignores:\n kind === \"toggle-ignore\"\n ? !actualRelation?.ignores\n : actualRelation?.ignores,\n follows:\n kind === \"toggle-follow\"\n ? !actualRelation?.follows\n : actualRelation?.follows,\n } satisfies Partial<AccountRelationship>;\n },\n onError,\n onSuccess(data) {\n onSuccess(data);\n\n getQueryClient().setQueryData(\n QueryKeys.accounts.relations(reference!, target!),\n data\n );\n\n // Invalidate account query to refetch follow stats (follower_count, following_count)\n // This is needed because profile pages use staleTime: Infinity for performance\n if (target) {\n getQueryClient().invalidateQueries(\n getAccountFullQueryOptions(target)\n );\n }\n },\n });\n}\n","import { PrivateKey } from \"../../../hive-tx\";\nimport type { Authority } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\nexport interface Keys {\n owner: PrivateKey;\n active: PrivateKey;\n posting: PrivateKey;\n memo_key: PrivateKey;\n}\n\ninterface Payload {\n keepCurrent?: boolean;\n currentKey: PrivateKey;\n keys: Keys[];\n keysToRevoke?: string[]; // Deprecated: will be treated as revoking from all authorities\n keysToRevokeByAuthority?: Partial<Record<keyof Keys, string[]>>; // Authority-specific revocation\n}\n\nexport function dedupeAndSortKeyAuths(\n existing: Authority[\"key_auths\"],\n additions: [string, number][]\n): Authority[\"key_auths\"] {\n const merged = new Map<string, number>();\n\n existing.forEach(([key, weight]) => {\n merged.set(key.toString(), weight);\n });\n\n additions.forEach(([key, weight]) => {\n merged.set(key.toString(), weight);\n });\n\n return Array.from(merged.entries())\n .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))\n .map(([key, weight]) => [key, weight] as [string, number]);\n}\n\ntype UpdateKeyAuthsOptions = Pick<\n UseMutationOptions<unknown, Error, Payload>,\n \"onSuccess\" | \"onError\"\n>;\n\nexport function useAccountUpdateKeyAuths(\n username: string,\n options?: UpdateKeyAuthsOptions\n) {\n const { data: accountData } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"keys-update\", username],\n mutationFn: async ({\n keys,\n keepCurrent = false,\n currentKey,\n keysToRevoke = [],\n keysToRevokeByAuthority = {}\n }: Payload) => {\n if (keys.length === 0) {\n throw new Error(\n \"[SDK][Update password] – no new keys provided\"\n );\n }\n\n if (!accountData) {\n throw new Error(\n \"[SDK][Update password] – cannot update keys for anon user\"\n );\n }\n\n const prepareAuth = (keyName: keyof Keys) => {\n const auth: Authority = JSON.parse(JSON.stringify(accountData[keyName]));\n\n // Get keys to revoke for this specific authority\n const keysToRevokeForAuthority = keysToRevokeByAuthority[keyName] || [];\n // Fallback to global keysToRevoke for backwards compatibility\n const allKeysToRevoke = [\n ...keysToRevokeForAuthority,\n ...(keysToRevokeByAuthority[keyName] === undefined ? keysToRevoke : [])\n ];\n\n // Filter out keys to revoke from existing keys (authority-specific)\n const existingKeys = keepCurrent\n ? auth.key_auths.filter(([key]) => !allKeysToRevoke.includes(key.toString()))\n : [];\n\n auth.key_auths = dedupeAndSortKeyAuths(\n existingKeys,\n keys.map(\n (values, i) =>\n [values[keyName].createPublic().toString(), i + 1] as [\n string,\n number,\n ]\n )\n );\n\n return auth;\n };\n\n return broadcastOperations(\n [[\"account_update\", {\n account: username,\n json_metadata: accountData.json_metadata,\n owner: prepareAuth(\"owner\"),\n active: prepareAuth(\"active\"),\n posting: prepareAuth(\"posting\"),\n // Always use new memo key when adding new keys\n memo_key: keys[0].memo_key.createPublic().toString(),\n }]],\n currentKey\n );\n },\n ...options,\n });\n}\n","import { PrivateKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { useAccountUpdateKeyAuths } from \"./use-account-update-key-auths\";\n\ninterface Payload {\n newPassword: string;\n currentPassword: string;\n keepCurrent?: boolean;\n}\n\n/**\n * Only native Hive and custom passwords could be updated here\n * Seed based password cannot be updated here, it will be in an account always for now\n */\ntype UpdatePasswordOptions = Pick<\n UseMutationOptions<unknown, Error, Payload>,\n \"onSuccess\" | \"onError\"\n>;\n\nexport function useAccountUpdatePassword(\n username: string,\n options?: UpdatePasswordOptions\n) {\n const { data: accountData } = useQuery(getAccountFullQueryOptions(username));\n\n const { mutateAsync: updateKeys } = useAccountUpdateKeyAuths(username);\n\n return useMutation({\n mutationKey: [\"accounts\", \"password-update\", username],\n mutationFn: async ({\n newPassword,\n currentPassword,\n keepCurrent,\n }: Payload) => {\n if (!accountData) {\n throw new Error(\n \"[SDK][Update password] – cannot update password for anon user\"\n );\n }\n const currentKey = PrivateKey.fromLogin(\n username,\n currentPassword,\n \"owner\"\n );\n\n return updateKeys({\n currentKey,\n keepCurrent,\n keys: [\n {\n owner: PrivateKey.fromLogin(username, newPassword, \"owner\"),\n active: PrivateKey.fromLogin(username, newPassword, \"active\"),\n posting: PrivateKey.fromLogin(username, newPassword, \"posting\"),\n memo_key: PrivateKey.fromLogin(username, newPassword, \"memo\"),\n },\n ],\n });\n },\n ...options,\n });\n}\n","import { PrivateKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n useQueryClient,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { FullAccount } from \"../types\";\nimport hs from \"hivesigner\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\ntype SignType = \"key\" | \"keychain\" | \"hivesigner\";\n\ninterface CommonPayload {\n accountName: string;\n type: SignType;\n key?: PrivateKey;\n}\n\ntype RevokePostingOptions = Pick<\n UseMutationOptions<unknown, Error, CommonPayload>,\n \"onSuccess\" | \"onError\"\n> & {\n hsCallbackUrl?: string;\n};\n\nexport function useAccountRevokePosting(\n username: string | undefined,\n options: RevokePostingOptions,\n auth?: AuthContextV2\n) {\n const queryClient = useQueryClient();\n\n const { data } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"revoke-posting\", data?.name],\n mutationFn: async ({ accountName, type, key }: CommonPayload) => {\n if (!data) {\n throw new Error(\n \"[SDK][Accounts] – cannot revoke posting for anonymous user\"\n );\n }\n\n const posting = JSON.parse(JSON.stringify(data.posting)) as FullAccount[\"posting\"];\n\n posting.account_auths = posting.account_auths.filter(\n ([account]) => account !== accountName\n );\n\n const operationBody = {\n account: data.name,\n posting,\n memo_key: data.memo_key,\n json_metadata: data.json_metadata,\n };\n\n if (type === \"key\" && key) {\n return broadcastOperations([[\"account_update\", operationBody]], key);\n } else if (type === \"keychain\") {\n if (!auth?.adapter?.broadcastWithKeychain) {\n throw new Error(\"[SDK][Accounts] – missing keychain broadcaster\");\n }\n return auth.adapter.broadcastWithKeychain(\n data.name,\n [[\"account_update\", operationBody]],\n \"active\"\n );\n } else {\n if (!options.hsCallbackUrl && process.env.NODE_ENV === \"development\") {\n console.warn(\"[SDK][Accounts] hsCallbackUrl not provided for HiveSigner revoke-posting; user will not be redirected after signing.\");\n }\n return hs.sendOperation(\n [\"account_update\", operationBody],\n options.hsCallbackUrl ? { callback: options.hsCallbackUrl } : {},\n () => {}\n );\n }\n },\n onError: options.onError,\n onSuccess: (resp, payload, ctx) => {\n (options.onSuccess as\n | ((data: unknown, variables: CommonPayload, context: unknown) => unknown)\n | undefined)?.(resp, payload, ctx);\n queryClient.setQueryData<FullAccount>(\n getAccountFullQueryOptions(username).queryKey,\n (data) =>\n ({\n ...data,\n posting: {\n ...data?.posting,\n account_auths:\n data?.posting?.account_auths?.filter(\n ([account]) => account !== payload.accountName\n ) ?? [],\n },\n }) as FullAccount\n );\n },\n });\n}\n","import { CONFIG, getBoundFetch } from \"@/modules/core\";\nimport { PrivateKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport hs from \"hivesigner\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\ntype SignType = \"key\" | \"keychain\" | \"hivesigner\" | \"ecency\";\n\ninterface CommonPayload {\n accountName: string;\n type: SignType;\n key?: PrivateKey;\n email?: string;\n}\n\ntype UpdateRecoveryOptions = Pick<\n UseMutationOptions<unknown, Error, CommonPayload>,\n \"onSuccess\" | \"onError\"\n> & {\n hsCallbackUrl?: string;\n};\n\nexport function useAccountUpdateRecovery(\n username: string | undefined,\n code: string | undefined,\n options: UpdateRecoveryOptions,\n auth?: AuthContextV2\n) {\n const { data } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"recovery\", data?.name],\n mutationFn: async ({ accountName, type, key, email }: CommonPayload) => {\n if (!data) {\n throw new Error(\n \"[SDK][Accounts] – cannot change recovery for anonymous user\"\n );\n }\n\n const operationBody = {\n account_to_recover: data.name,\n new_recovery_account: accountName,\n extensions: [] as [],\n };\n\n if (type === \"ecency\") {\n if (!code) {\n throw new Error(\"[SDK][Accounts] – missing access token\");\n }\n const fetchApi = getBoundFetch();\n\n const response = await fetchApi(CONFIG.privateApiHost + \"/private-api/recoveries-add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code,\n email,\n publicKeys: [\n ...data.owner.key_auths,\n ...data.active.key_auths,\n ...data.posting.key_auths,\n data.memo_key,\n ],\n }),\n });\n\n // Raw fetch resolves on 4xx/5xx, so guard explicitly — otherwise the\n // caller's onSuccess shows a \"recovery updated\" toast on a failed request.\n // (The missing Content-Type header also made the backend skip JSON parsing.)\n if (!response.ok) {\n throw new Error(`[SDK][Accounts] Failed to add recovery: ${response.status}`);\n }\n\n return response;\n } else if (type === \"key\" && key) {\n return broadcastOperations(\n [[\"change_recovery_account\", operationBody]],\n key\n );\n } else if (type === \"keychain\") {\n if (!auth?.adapter?.broadcastWithKeychain) {\n throw new Error(\"[SDK][Accounts] – missing keychain broadcaster\");\n }\n return auth.adapter.broadcastWithKeychain(data.name, [[\"change_recovery_account\", operationBody]], \"owner\");\n } else {\n if (!options.hsCallbackUrl && process.env.NODE_ENV === \"development\") {\n console.warn(\"[SDK][Accounts] hsCallbackUrl not provided for HiveSigner update-recovery; user will not be redirected after signing.\");\n }\n return hs.sendOperation(\n [\"change_recovery_account\", operationBody],\n options.hsCallbackUrl ? { callback: options.hsCallbackUrl } : {},\n () => {}\n );\n }\n },\n onError: options.onError,\n onSuccess: options.onSuccess,\n });\n}\n","import { PrivateKey, PublicKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { buildRevokeKeysOp } from \"./build-revoke-keys-op\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\ninterface Payload {\n currentKey: PrivateKey;\n /** Keys to revoke. Accepts a single key or an array. */\n revokingKey: PublicKey | PublicKey[];\n}\n\n/**\n * Revoke one or more keys from an account on the Hive blockchain.\n *\n * When revoking keys that exist only in active/posting authorities,\n * the owner field is omitted from the operation so active-level\n * signing is sufficient.\n */\ntype RevokeKeyOptions = Pick<\n UseMutationOptions<unknown, Error, Payload>,\n \"onSuccess\" | \"onError\"\n>;\n\nexport function useAccountRevokeKey(\n username: string | undefined,\n options?: RevokeKeyOptions\n) {\n const { data: accountData } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"revoke-key\", accountData?.name],\n mutationFn: async ({ currentKey, revokingKey }: Payload) => {\n if (!accountData) {\n throw new Error(\n \"[SDK][Revoke key] – cannot update keys for anon user\"\n );\n }\n\n const revokingKeys = Array.isArray(revokingKey) ? revokingKey : [revokingKey];\n const op = buildRevokeKeysOp(accountData, revokingKeys);\n\n return broadcastOperations([[\"account_update\", op]], currentKey);\n },\n ...options,\n });\n}\n","import { QueryKeys } from \"@/modules/core\";\nimport {\n AccountFollowStats,\n FullAccount,\n} from \"../types\";\nimport { parseProfileMetadata } from \"@/modules/accounts\";\nimport { queryOptions } from \"@tanstack/react-query\";\nimport { callRPC } from \"@/modules/core/hive-tx\";\n\n/** The raw `condenser_api.get_accounts` row — every FullAccount field except the three\n * this query derives separately (follow_stats + reputation from bridge, profile parsed). */\ntype RawAccount = Omit<FullAccount, \"follow_stats\" | \"reputation\" | \"profile\">;\n\n/** Minimal shape read from `bridge.get_profile` (hivemind social profile): it carries\n * the reputation score, the follower/following counts and hivemind's parsed\n * (normalized) profile — the latter is used only to cross-validate the chain row. */\ninterface BridgeProfile {\n reputation?: number;\n stats?: { followers?: number; following?: number };\n metadata?: { profile?: Record<string, unknown> };\n}\n\n/** True when the chain row carries no account metadata at all. Legitimate for\n * accounts that never set a profile — but combined with a populated hivemind\n * profile it identifies a node serving stripped account rows. */\nfunction isMetadataStripped(account: RawAccount): boolean {\n return !account.posting_json_metadata && !account.json_metadata;\n}\n\n/** True when a hivemind `metadata.profile` object carries at least one real\n * value. Hivemind emits its fixed profile keys with empty strings for\n * accounts without a profile, so key presence alone proves nothing. */\nfunction hasProfileValues(profile?: Record<string, unknown> | null): boolean {\n if (!profile) return false;\n return Object.values(profile).some((value) =>\n typeof value === \"string\" ? value.length > 0 : value != null\n );\n}\n\nexport function getAccountFullQueryOptions(username: string | undefined) {\n return queryOptions({\n queryKey: QueryKeys.accounts.full(username),\n queryFn: async ({ signal }) => {\n if (!username) {\n return null;\n }\n\n // Fetch the chain account (balances/keys/vesting) and the hivemind profile in\n // parallel — both only need the username. bridge.get_profile carries BOTH the\n // follower/following counts and the reputation score, so it replaces the old\n // second-layer condenser_api.get_follow_count RPC *and* the reputation-api REST\n // call: condenser_api.get_accounts no longer returns a usable reputation (it is 0\n // since the hardfork), and there is no reason to make two extra round-trips for\n // data one profile object already carries.\n const [response, bridgeProfile] = await Promise.all([\n callRPC<RawAccount[]>(\n \"condenser_api.get_accounts\",\n [[username]],\n undefined,\n undefined,\n signal,\n // A correct node always answers get_accounts with an array — a null\n // result in a well-formed envelope is a node fault (observed in the\n // wild), so fail over to the next node instead of misreading it as\n // \"account does not exist\".\n (rows) => Array.isArray(rows)\n ),\n callRPC<BridgeProfile>(\n \"bridge.get_profile\",\n { account: username },\n undefined,\n undefined,\n signal\n ).catch((e): BridgeProfile | null => {\n // A caller cancel (aborted signal) must propagate — only genuine RPC/transport\n // failures degrade to reputation 0 / no follow_stats.\n if (signal?.aborted) throw e;\n return null;\n })\n ]);\n if (!response?.[0]) {\n // The account does not exist (e.g. not yet finalized on-chain during\n // signup). Treat absence as a recoverable null instead of throwing, so\n // consumers (useQuery hooks and fetchQuery callers) surface it as empty\n // data rather than an unhandled rejection / error-boundary crash.\n return null;\n }\n\n let chainAccount = response[0];\n\n // Cross-validate the chain row against the hivemind profile fetched in\n // the same query. Some public nodes serve account rows with BOTH\n // metadata fields stripped to \"\" (observed in the wild) while their own\n // hivemind still returns the real profile — and a merge base built from\n // such a row wipes the user's profile on the next partial\n // account_update2. When the row claims \"no metadata\" but hivemind\n // disagrees, re-read once (failover may pick another node) and otherwise\n // fail the query: an error here is recoverable, a poisoned cache entry\n // is not.\n if (\n isMetadataStripped(chainAccount) &&\n hasProfileValues(bridgeProfile?.metadata?.profile)\n ) {\n // The re-read carries a payload validator: a stripped row is treated\n // as a node fault, so the failover walk moves on to other nodes (and\n // repeat offenders earn a per-API health cooldown) instead of asking\n // the same lying node twice.\n const reread = await callRPC<RawAccount[]>(\n \"condenser_api.get_accounts\",\n [[username]],\n undefined,\n undefined,\n signal,\n (rows) =>\n Array.isArray(rows) &&\n (!rows[0] || !isMetadataStripped(rows[0] as RawAccount))\n );\n if (reread[0] && !isMetadataStripped(reread[0])) {\n chainAccount = reread[0];\n } else {\n throw new Error(\n `[SDK][Accounts] – inconsistent account row for ${username}: empty json metadata while hivemind profile is populated`\n );\n }\n }\n\n const profile = parseProfileMetadata(chainAccount.posting_json_metadata);\n\n // bridge.get_profile.stats → follower/following counts; `reputation` is the\n // computed score (e.g. 78.29). accountReputation() floors an in-range score, so\n // it yields the same value the reputation-api used to return. Both degrade to a\n // safe default if the profile call failed.\n const stats = bridgeProfile?.stats;\n const follow_stats: AccountFollowStats | undefined = stats\n ? {\n account: chainAccount.name,\n follower_count: stats.followers ?? 0,\n following_count: stats.following ?? 0\n }\n : undefined;\n const reputationValue: number = bridgeProfile?.reputation ?? 0;\n\n return {\n name: chainAccount.name,\n owner: chainAccount.owner,\n active: chainAccount.active,\n posting: chainAccount.posting,\n memo_key: chainAccount.memo_key,\n post_count: chainAccount.post_count,\n created: chainAccount.created,\n posting_json_metadata: chainAccount.posting_json_metadata,\n last_vote_time: chainAccount.last_vote_time,\n last_post: chainAccount.last_post,\n json_metadata: chainAccount.json_metadata,\n reward_hive_balance: chainAccount.reward_hive_balance,\n reward_hbd_balance: chainAccount.reward_hbd_balance,\n reward_vesting_hive: chainAccount.reward_vesting_hive,\n reward_vesting_balance: chainAccount.reward_vesting_balance,\n balance: chainAccount.balance,\n hbd_balance: chainAccount.hbd_balance,\n savings_balance: chainAccount.savings_balance,\n savings_hbd_balance: chainAccount.savings_hbd_balance,\n savings_hbd_last_interest_payment:\n chainAccount.savings_hbd_last_interest_payment,\n savings_hbd_seconds_last_update:\n chainAccount.savings_hbd_seconds_last_update,\n savings_hbd_seconds: chainAccount.savings_hbd_seconds,\n next_vesting_withdrawal: chainAccount.next_vesting_withdrawal,\n pending_claimed_accounts: chainAccount.pending_claimed_accounts,\n vesting_shares: chainAccount.vesting_shares,\n delegated_vesting_shares: chainAccount.delegated_vesting_shares,\n received_vesting_shares: chainAccount.received_vesting_shares,\n vesting_withdraw_rate: chainAccount.vesting_withdraw_rate,\n to_withdraw: chainAccount.to_withdraw,\n withdrawn: chainAccount.withdrawn,\n // int64 counters. Condenser serves them unquoted, so normalize here in case a\n // node quotes them, but leave an omitted counter undefined: absent is unknown,\n // and coercing it to 0 would understate every ratio derived from it.\n curation_rewards:\n chainAccount.curation_rewards === undefined\n ? undefined\n : Number(chainAccount.curation_rewards),\n posting_rewards:\n chainAccount.posting_rewards === undefined\n ? undefined\n : Number(chainAccount.posting_rewards),\n witness_votes: chainAccount.witness_votes,\n proxy: chainAccount.proxy,\n recovery_account: chainAccount.recovery_account,\n proxied_vsf_votes: chainAccount.proxied_vsf_votes,\n voting_manabar: chainAccount.voting_manabar,\n voting_power: chainAccount.voting_power,\n downvote_manabar: chainAccount.downvote_manabar,\n follow_stats,\n reputation: reputationValue,\n profile,\n } satisfies FullAccount;\n },\n enabled: !!username,\n staleTime: 60000,\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/accounts/mutations/use-account-update.ts","../../src/modules/accounts/mutations/use-account-relations-update.ts","../../src/modules/accounts/mutations/use-account-update-key-auths.ts","../../src/modules/accounts/mutations/use-account-update-password.ts","../../src/modules/accounts/mutations/use-account-revoke-posting.ts","../../src/modules/accounts/mutations/use-account-update-recovery.ts","../../src/modules/accounts/mutations/use-account-revoke-key.ts","../../src/modules/accounts/queries/get-account-full-query-options.ts"],"names":["useAccountUpdate","username","auth","broadcastMode","queryClient","useQueryClient","data","useQuery","getAccountFullQueryOptions","useBroadcastMutation","payload","account","pickRicherMetadataSnapshot","buildPostingJsonMetadata","_data","variables","obj","buildProfileMetadata","extractAccountProfile","invalidateAfterBroadcast","QueryKeys","useAccountRelationsUpdate","reference","target","onSuccess","onError","useMutation","kind","relationsQuery","getRelationshipBetweenAccountsQueryOptions","getQueryClient","actualRelation","broadcastJson","dedupeAndSortKeyAuths","existing","additions","merged","key","weight","keyA","keyB","useAccountUpdateKeyAuths","options","accountData","keys","keepCurrent","currentKey","keysToRevoke","keysToRevokeByAuthority","prepareAuth","keyName","allKeysToRevoke","existingKeys","values","i","broadcastOperations","useAccountUpdatePassword","updateKeys","newPassword","currentPassword","PrivateKey","useAccountRevokePosting","accountName","type","posting","operationBody","hs","resp","ctx","useAccountUpdateRecovery","code","email","response","getBoundFetch","CONFIG","useAccountRevokeKey","revokingKey","revokingKeys","op","buildRevokeKeysOp","isMetadataStripped","hasProfileValues","profile","value","queryOptions","signal","bridgeProfile","callRPC","rows","e","chainAccount","reread","parseProfileMetadata","stats","follow_stats","reputationValue"],"mappings":"wpBAgEO,SAASA,EAAAA,CACdC,EACAC,GAAAA,CACAC,CAAAA,CACA,CACA,IAAMC,CAAAA,CAAcC,gBAAe,CAE7B,CAAE,KAAAC,CAAK,CAAA,CAAIC,SAASC,CAAAA,CAA2BP,CAAQ,CAAC,CAAA,CAE9D,OAAOQ,EACL,CAAC,UAAA,CAAY,QAAQ,CAAA,CACrBR,CAAAA,CACCS,GAA8B,CAQ7B,IAAMC,EAAUC,CAAAA,CACdR,CAAAA,CAAY,aACVI,CAAAA,CAA2BP,CAAQ,EAAE,QACvC,CAAA,CACAK,CACF,CAAA,CAEA,GAAI,CAACK,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,2DAAsD,EAGxE,OAAO,CACL,CACE,iBAAA,CACA,CACE,QAASV,CAAAA,CACT,aAAA,CAAe,GACf,UAAA,CAAY,GAIZ,qBAAA,CAAuBY,CAAAA,CAAyB,CAC9C,2BAAA,CAA6BF,CAAAA,CAAQ,sBACrC,OAAA,CAASD,CAAAA,CAAQ,QACjB,MAAA,CAAQA,CAAAA,CAAQ,MAClB,CAAC,CACH,CACF,CACF,CACF,EACA,MAAOI,CAAAA,CAAgBC,MAAgC,CAErDX,CAAAA,CAAY,aACVI,CAAAA,CAA2BP,CAAQ,CAAA,CAAE,QAAA,CACpCK,CAAAA,EAAS,CACR,GAAI,CAACA,CAAAA,CACH,OAAOA,CAAAA,CAGT,IAAMU,EAAM,IAAA,CAAK,KAAA,CAAM,KAAK,SAAA,CAAUV,CAAI,CAAC,CAAA,CAC3C,OAAAU,EAAI,OAAA,CAAUC,CAAAA,CAAqB,CACjC,eAAA,CAAiBC,GAAAA,CAAsBZ,CAAI,CAAA,CAC3C,OAAA,CAASS,IAAU,OAAA,CACnB,MAAA,CAAQA,IAAU,MACpB,CAAC,EAEMC,CACT,CACF,EAGA,MAAMG,GAAAA,CAAyBjB,KAAM,OAAA,CAASC,CAAAA,CAAe,CAC3DiB,CAAAA,CAAU,QAAA,CAAS,KAAKnB,CAAQ,CAClC,CAAC,EACH,CAAA,CACAC,GAAAA,CACA,OACA,CACE,aAAA,CAAAC,EAMA,QAAA,CAAU,SAAY,CACpB,GAAKF,CAAAA,CAGL,GAAI,CACF,MAAMG,EAAY,UAAA,CAAW,CAC3B,GAAGI,CAAAA,CAA2BP,CAAQ,EACtC,SAAA,CAAW,CACb,CAAC,EACH,CAAA,KAAQ,CAER,CACF,CACF,CACF,CACF,CC3JO,SAASoB,EAAAA,CACdC,EACAC,CAAAA,CACArB,CAAAA,CACAsB,EACAC,CAAAA,CACA,CACA,OAAOC,WAAAA,CAAY,CACjB,WAAA,CAAa,CAAC,UAAA,CAAY,UAAA,CAAY,SAAUJ,CAAAA,CAAWC,CAAM,EACjE,UAAA,CAAY,MAAOI,GAAe,CAChC,IAAMC,EAAiBC,GAAAA,CACrBP,CAAAA,CACAC,CACF,CAAA,CACA,MAAMO,KAAe,CAAE,aAAA,CAAcF,CAAc,CAAA,CACnD,IAAMG,EAAiBD,GAAAA,EAAe,CAAE,aACtCF,CAAAA,CAAe,QACjB,EAEA,OAAA,MAAMI,GAAAA,CACJV,EACA,QAAA,CACA,CACA,SACA,CACE,QAAA,CAAUA,EACV,SAAA,CAAWC,CAAAA,CACX,KAAM,CACJ,GAAII,IAAS,eAAA,EAAmB,CAACI,GAAgB,OAAA,CAC7C,CAAC,QAAQ,CAAA,CACT,GACJ,GAAIJ,CAAAA,GAAS,iBAAmB,CAACI,CAAAA,EAAgB,QAC7C,CAAC,MAAM,EACP,EACN,CACF,CACA,CAAA,CACA7B,CACF,CAAA,CAEO,CACL,GAAG6B,CAAAA,CACH,OAAA,CACEJ,IAAS,eAAA,CACL,CAACI,GAAgB,OAAA,CACjBA,CAAAA,EAAgB,QACtB,OAAA,CACEJ,CAAAA,GAAS,gBACL,CAACI,CAAAA,EAAgB,QACjBA,CAAAA,EAAgB,OACxB,CACF,CAAA,CACA,OAAA,CAAAN,EACA,SAAA,CAAUnB,CAAAA,CAAM,CACdkB,CAAAA,CAAUlB,CAAI,CAAA,CAEdwB,KAAe,CAAE,YAAA,CACfV,EAAU,QAAA,CAAS,SAAA,CAAUE,EAAYC,CAAO,CAAA,CAChDjB,CACF,CAAA,CAIIiB,CAAAA,EACFO,KAAe,CAAE,iBAAA,CACftB,EAA2Be,CAAM,CACnC,EAEJ,CACF,CAAC,CACH,CCrDO,SAASU,EACdC,CAAAA,CACAC,CAAAA,CACwB,CACxB,IAAMC,CAAAA,CAAS,IAAI,GAAA,CAEnB,OAAAF,EAAS,OAAA,CAAQ,CAAC,CAACG,CAAAA,CAAKC,CAAM,CAAA,GAAM,CAClCF,CAAAA,CAAO,GAAA,CAAIC,EAAI,QAAA,EAAS,CAAGC,CAAM,EACnC,CAAC,EAEDH,CAAAA,CAAU,OAAA,CAAQ,CAAC,CAACE,CAAAA,CAAKC,CAAM,CAAA,GAAM,CACnCF,EAAO,GAAA,CAAIC,CAAAA,CAAI,UAAS,CAAGC,CAAM,EACnC,CAAC,CAAA,CAEM,MAAM,IAAA,CAAKF,CAAAA,CAAO,SAAS,CAAA,CAC/B,KAAK,CAAC,CAACG,CAAI,CAAA,CAAG,CAACC,CAAI,CAAA,GAAMD,CAAAA,CAAK,cAAcC,CAAI,CAAC,EACjD,GAAA,CAAI,CAAC,CAACH,CAAAA,CAAKC,CAAM,CAAA,GAAM,CAACD,CAAAA,CAAKC,CAAM,CAAqB,CAC7D,CAOO,SAASG,CAAAA,CACdxC,CAAAA,CACAyC,EACA,CACA,GAAM,CAAE,IAAA,CAAMC,CAAY,EAAIpC,QAAAA,CAASC,CAAAA,CAA2BP,CAAQ,CAAC,CAAA,CAE3E,OAAOyB,WAAAA,CAAY,CACjB,YAAa,CAAC,UAAA,CAAY,cAAezB,CAAQ,CAAA,CACjD,WAAY,MAAO,CACjB,KAAA2C,CAAAA,CACA,WAAA,CAAAC,EAAc,KAAA,CACd,UAAA,CAAAC,EACA,YAAA,CAAAC,CAAAA,CAAe,EAAC,CAChB,uBAAA,CAAAC,EAA0B,EAC5B,IAAe,CACb,GAAIJ,EAAK,MAAA,GAAW,CAAA,CAClB,MAAM,IAAI,KAAA,CACR,oDACF,CAAA,CAGF,GAAI,CAACD,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,gEACF,EAGF,IAAMM,CAAAA,CAAeC,GAAwB,CAC3C,IAAMhD,EAAkB,IAAA,CAAK,KAAA,CAAM,KAAK,SAAA,CAAUyC,CAAAA,CAAYO,CAAO,CAAC,CAAC,EAKjEC,CAAAA,CAAkB,CACtB,GAH+BH,CAAAA,CAAwBE,CAAO,GAAK,EAAC,CAIpE,GAAIF,CAAAA,CAAwBE,CAAO,CAAA,GAAM,MAAA,CAAYH,CAAAA,CAAe,EACtE,CAAA,CAGMK,CAAAA,CAAeP,EACjB3C,CAAAA,CAAK,SAAA,CAAU,OAAO,CAAC,CAACmC,CAAG,CAAA,GAAM,CAACc,EAAgB,QAAA,CAASd,CAAAA,CAAI,UAAU,CAAC,EAC1E,EAAC,CAEL,OAAAnC,CAAAA,CAAK,SAAA,CAAY+B,EACfmB,CAAAA,CACAR,CAAAA,CAAK,IACH,CAACS,CAAAA,CAAQC,IACP,CAACD,CAAAA,CAAOH,CAAO,CAAA,CAAE,YAAA,GAAe,QAAA,EAAS,CAAGI,EAAI,CAAC,CAIrD,CACF,CAAA,CAEOpD,CACT,CAAA,CAEA,OAAOqD,GAAAA,CACL,CAAC,CAAC,gBAAA,CAAkB,CAClB,QAAStD,CAAAA,CACT,aAAA,CAAe0C,EAAY,aAAA,CAC3B,KAAA,CAAOM,EAAY,OAAO,CAAA,CAC1B,OAAQA,CAAAA,CAAY,QAAQ,EAC5B,OAAA,CAASA,CAAAA,CAAY,SAAS,CAAA,CAE9B,QAAA,CAAUL,EAAK,CAAC,CAAA,CAAE,SAAS,YAAA,EAAa,CAAE,UAC5C,CAAC,CAAC,CAAA,CACFE,CACF,CACF,CAAA,CACA,GAAGJ,CACL,CAAC,CACH,CCjGO,SAASc,EAAAA,CACdvD,CAAAA,CACAyC,EACA,CACA,GAAM,CAAE,IAAA,CAAMC,CAAY,EAAIpC,QAAAA,CAASC,CAAAA,CAA2BP,CAAQ,CAAC,CAAA,CAErE,CAAE,WAAA,CAAawD,CAAW,EAAIhB,CAAAA,CAAyBxC,CAAQ,EAErE,OAAOyB,WAAAA,CAAY,CACjB,WAAA,CAAa,CAAC,WAAY,iBAAA,CAAmBzB,CAAQ,EACrD,UAAA,CAAY,MAAO,CACjB,WAAA,CAAAyD,CAAAA,CACA,gBAAAC,CAAAA,CACA,WAAA,CAAAd,CACF,CAAA,GAAe,CACb,GAAI,CAACF,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,oEACF,CAAA,CAEF,IAAMG,EAAac,GAAAA,CAAW,SAAA,CAC5B3D,EACA0D,CAAAA,CACA,OACF,EAEA,OAAOF,CAAAA,CAAW,CAChB,UAAA,CAAAX,CAAAA,CACA,YAAAD,CAAAA,CACA,IAAA,CAAM,CACJ,CACE,KAAA,CAAOe,IAAW,SAAA,CAAU3D,CAAAA,CAAUyD,EAAa,OAAO,CAAA,CAC1D,OAAQE,GAAAA,CAAW,SAAA,CAAU3D,EAAUyD,CAAAA,CAAa,QAAQ,EAC5D,OAAA,CAASE,GAAAA,CAAW,UAAU3D,CAAAA,CAAUyD,CAAAA,CAAa,SAAS,CAAA,CAC9D,QAAA,CAAUE,IAAW,SAAA,CAAU3D,CAAAA,CAAUyD,EAAa,MAAM,CAC9D,CACF,CACF,CAAC,CACH,EACA,GAAGhB,CACL,CAAC,CACH,CCrCO,SAASmB,GACd5D,CAAAA,CACAyC,CAAAA,CACAxC,EACA,CACA,IAAME,EAAcC,cAAAA,EAAe,CAE7B,CAAE,IAAA,CAAAC,CAAK,EAAIC,QAAAA,CAASC,CAAAA,CAA2BP,CAAQ,CAAC,CAAA,CAE9D,OAAOyB,WAAAA,CAAY,CACjB,YAAa,CAAC,UAAA,CAAY,iBAAkBpB,CAAAA,EAAM,IAAI,CAAA,CACtD,UAAA,CAAY,MAAO,CAAE,YAAAwD,CAAAA,CAAa,IAAA,CAAAC,EAAM,GAAA,CAAA1B,CAAI,IAAqB,CAC/D,GAAI,CAAC/B,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,oEACF,EAGF,IAAM0D,CAAAA,CAAU,KAAK,KAAA,CAAM,IAAA,CAAK,UAAU1D,CAAAA,CAAK,OAAO,CAAC,CAAA,CAEvD0D,CAAAA,CAAQ,cAAgBA,CAAAA,CAAQ,aAAA,CAAc,OAC5C,CAAC,CAACrD,CAAO,CAAA,GAAMA,CAAAA,GAAYmD,CAC7B,CAAA,CAEA,IAAMG,EAAgB,CACpB,OAAA,CAAS3D,EAAK,IAAA,CACd,OAAA,CAAA0D,CAAAA,CACA,QAAA,CAAU1D,CAAAA,CAAK,QAAA,CACf,cAAeA,CAAAA,CAAK,aACtB,EAEA,GAAIyD,CAAAA,GAAS,OAAS1B,CAAAA,CACpB,OAAOkB,IAAoB,CAAC,CAAC,iBAAkBU,CAAa,CAAC,EAAG5B,CAAG,CAAA,CAC9D,GAAI0B,CAAAA,GAAS,UAAA,CAAY,CAC9B,GAAI,CAAC7D,GAAM,OAAA,EAAS,qBAAA,CAClB,MAAM,IAAI,KAAA,CAAM,qDAAgD,CAAA,CAElE,OAAOA,EAAK,OAAA,CAAQ,qBAAA,CAClBI,EAAK,IAAA,CACL,CAAC,CAAC,gBAAA,CAAkB2D,CAAa,CAAC,CAAA,CAClC,QACF,CACF,CAAA,KACM,OAACvB,EAAQ,aAAA,CAGNwB,CAAAA,CAAG,cACR,CAAC,gBAAA,CAAkBD,CAAa,CAAA,CAChCvB,CAAAA,CAAQ,cAAgB,CAAE,QAAA,CAAUA,EAAQ,aAAc,CAAA,CAAI,EAAC,CAC/D,IAAM,CAAC,CACT,CAEJ,EACA,OAAA,CAASA,CAAAA,CAAQ,QACjB,SAAA,CAAW,CAACyB,EAAMzD,CAAAA,CAAS0D,CAAAA,GAAQ,CAChC1B,CAAAA,CAAQ,SAAA,GAEQyB,EAAMzD,CAAAA,CAAS0D,CAAG,EACnChE,CAAAA,CAAY,YAAA,CACVI,EAA2BP,CAAQ,CAAA,CAAE,SACpCK,CAAAA,GACE,CACC,GAAGA,CAAAA,CACH,OAAA,CAAS,CACP,GAAGA,CAAAA,EAAM,OAAA,CACT,cACEA,CAAAA,EAAM,OAAA,EAAS,eAAe,MAAA,CAC5B,CAAC,CAACK,CAAO,CAAA,GAAMA,IAAYD,CAAAA,CAAQ,WACrC,GAAK,EACT,CACF,CAAA,CACJ,EACF,CACF,CAAC,CACH,CC1EO,SAAS2D,EAAAA,CACdpE,EACAqE,CAAAA,CACA5B,CAAAA,CACAxC,EACA,CACA,GAAM,CAAE,IAAA,CAAAI,CAAK,CAAA,CAAIC,QAAAA,CAASC,CAAAA,CAA2BP,CAAQ,CAAC,CAAA,CAE9D,OAAOyB,YAAY,CACjB,WAAA,CAAa,CAAC,UAAA,CAAY,UAAA,CAAYpB,GAAM,IAAI,CAAA,CAChD,WAAY,MAAO,CAAE,YAAAwD,CAAAA,CAAa,IAAA,CAAAC,EAAM,GAAA,CAAA1B,CAAAA,CAAK,MAAAkC,CAAM,CAAA,GAAqB,CACtE,GAAI,CAACjE,EACH,MAAM,IAAI,MACR,qEACF,CAAA,CAGF,IAAM2D,CAAAA,CAAgB,CACpB,mBAAoB3D,CAAAA,CAAK,IAAA,CACzB,qBAAsBwD,CAAAA,CACtB,UAAA,CAAY,EACd,CAAA,CAEA,GAAIC,CAAAA,GAAS,QAAA,CAAU,CACrB,GAAI,CAACO,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,6CAAwC,CAAA,CAI1D,IAAME,EAAW,MAFAC,GAAAA,GAEeC,GAAAA,CAAO,cAAA,CAAiB,8BAA+B,CACrF,MAAA,CAAQ,OACR,OAAA,CAAS,CACP,eAAgB,kBAClB,CAAA,CACA,KAAM,IAAA,CAAK,SAAA,CAAU,CACnB,IAAA,CAAAJ,CAAAA,CACA,MAAAC,CAAAA,CACA,UAAA,CAAY,CACV,GAAGjE,CAAAA,CAAK,MAAM,SAAA,CACd,GAAGA,EAAK,MAAA,CAAO,SAAA,CACf,GAAGA,CAAAA,CAAK,OAAA,CAAQ,UAChBA,CAAAA,CAAK,QACP,CACF,CAAC,CACH,CAAC,CAAA,CAKD,GAAI,CAACkE,CAAAA,CAAS,EAAA,CACZ,MAAM,IAAI,KAAA,CAAM,2CAA2CA,CAAAA,CAAS,MAAM,EAAE,CAAA,CAG9E,OAAOA,CACT,CAAA,KAAO,CAAA,GAAIT,IAAS,KAAA,EAAS1B,CAAAA,CAC3B,OAAOkB,GAAAA,CACL,CAAC,CAAC,yBAAA,CAA2BU,CAAa,CAAC,CAAA,CAC3C5B,CACF,EACK,GAAI0B,CAAAA,GAAS,WAAY,CAC9B,GAAI,CAAC7D,CAAAA,EAAM,OAAA,EAAS,sBAClB,MAAM,IAAI,KAAA,CAAM,qDAAgD,CAAA,CAElE,OAAOA,EAAK,OAAA,CAAQ,qBAAA,CAAsBI,EAAK,IAAA,CAAM,CAAC,CAAC,yBAAA,CAA2B2D,CAAa,CAAC,CAAA,CAAG,OAAO,CAC5G,CAAA,KACM,OAACvB,EAAQ,aAAA,CAGNwB,CAAAA,CAAG,cACR,CAAC,yBAAA,CAA2BD,CAAa,CAAA,CACzCvB,CAAAA,CAAQ,cAAgB,CAAE,QAAA,CAAUA,EAAQ,aAAc,CAAA,CAAI,EAAC,CAC/D,IAAM,CAAC,CACT,CAAA,CAEJ,EACA,OAAA,CAASA,CAAAA,CAAQ,QACjB,SAAA,CAAWA,CAAAA,CAAQ,SACrB,CAAC,CACH,CC9EO,SAASiC,EAAAA,CACd1E,CAAAA,CACAyC,EACA,CACA,GAAM,CAAE,IAAA,CAAMC,CAAY,EAAIpC,QAAAA,CAASC,CAAAA,CAA2BP,CAAQ,CAAC,CAAA,CAE3E,OAAOyB,WAAAA,CAAY,CACjB,YAAa,CAAC,UAAA,CAAY,aAAciB,CAAAA,EAAa,IAAI,EACzD,UAAA,CAAY,MAAO,CAAE,UAAA,CAAAG,CAAAA,CAAY,YAAA8B,CAAY,CAAA,GAAe,CAC1D,GAAI,CAACjC,EACH,MAAM,IAAI,MACR,2DACF,CAAA,CAGF,IAAMkC,CAAAA,CAAe,KAAA,CAAM,OAAA,CAAQD,CAAW,CAAA,CAAIA,CAAAA,CAAc,CAACA,CAAW,CAAA,CACtEE,EAAKC,GAAAA,CAAkBpC,CAAAA,CAAakC,CAAY,CAAA,CAEtD,OAAOtB,IAAoB,CAAC,CAAC,iBAAkBuB,CAAE,CAAC,EAAGhC,CAAU,CACjE,EACA,GAAGJ,CACL,CAAC,CACH,CCzBA,SAASsC,CAAAA,CAAmBrE,EAA8B,CACxD,OAAO,CAACA,CAAAA,CAAQ,qBAAA,EAAyB,CAACA,CAAAA,CAAQ,aACpD,CAKA,SAASsE,EAAAA,CAAiBC,EAAmD,CAC3E,OAAKA,EACE,MAAA,CAAO,MAAA,CAAOA,CAAO,CAAA,CAAE,IAAA,CAAMC,GAClC,OAAOA,CAAAA,EAAU,SAAWA,CAAAA,CAAM,MAAA,CAAS,EAAIA,CAAAA,EAAS,IAC1D,EAHqB,KAIvB,CAEO,SAAS3E,CAAAA,CAA2BP,CAAAA,CAA8B,CACvE,OAAOmF,YAAAA,CAAa,CAClB,QAAA,CAAUhE,CAAAA,CAAU,SAAS,IAAA,CAAKnB,CAAQ,EAC1C,OAAA,CAAS,MAAO,CAAE,MAAA,CAAAoF,CAAO,IAAM,CAC7B,GAAI,CAACpF,CAAAA,CACH,OAAO,KAUT,GAAM,CAACuE,CAAAA,CAAUc,CAAa,CAAA,CAAI,MAAM,QAAQ,GAAA,CAAI,CAClDC,EACE,4BAAA,CACA,CAAC,CAACtF,CAAQ,CAAC,EACX,MAAA,CACA,MAAA,CACAoF,EAKCG,CAAAA,EAAS,KAAA,CAAM,QAAQA,CAAI,CAC9B,EACAD,CAAAA,CACE,oBAAA,CACA,CAAE,OAAA,CAAStF,CAAS,EACpB,MAAA,CACA,MAAA,CACAoF,CACF,CAAA,CAAE,KAAA,CAAOI,GAA4B,CAGnC,GAAIJ,GAAQ,OAAA,CAAS,MAAMI,EAC3B,OAAO,IACT,CAAC,CACH,CAAC,EACD,GAAI,CAACjB,CAAAA,GAAW,CAAC,CAAA,CAKf,OAAO,KAGT,IAAIkB,CAAAA,CAAelB,EAAS,CAAC,CAAA,CAW7B,GACEQ,CAAAA,CAAmBU,CAAY,GAC/BT,EAAAA,CAAiBK,CAAAA,EAAe,UAAU,OAAO,CAAA,CACjD,CAKA,IAAMK,CAAAA,CAAS,MAAMJ,CAAAA,CACnB,4BAAA,CACA,CAAC,CAACtF,CAAQ,CAAC,CAAA,CACX,MAAA,CACA,OACAoF,CAAAA,CACCG,CAAAA,EACC,MAAM,OAAA,CAAQA,CAAI,IACjB,CAACA,CAAAA,CAAK,CAAC,CAAA,EAAK,CAACR,EAAmBQ,CAAAA,CAAK,CAAC,CAAe,CAAA,CAC1D,CAAA,CACA,GAAIG,CAAAA,CAAO,CAAC,CAAA,EAAK,CAACX,CAAAA,CAAmBW,CAAAA,CAAO,CAAC,CAAC,CAAA,CAC5CD,EAAeC,CAAAA,CAAO,CAAC,OAEvB,MAAM,IAAI,MACR,CAAA,oDAAA,EAAkD1F,CAAQ,2DAC5D,CAEJ,CAEA,IAAMiF,CAAAA,CAAUU,GAAAA,CAAqBF,EAAa,qBAAqB,CAAA,CAMjEG,EAAQP,CAAAA,EAAe,KAAA,CACvBQ,EAA+CD,CAAAA,CACjD,CACE,QAASH,CAAAA,CAAa,IAAA,CACtB,eAAgBG,CAAAA,CAAM,SAAA,EAAa,EACnC,eAAA,CAAiBA,CAAAA,CAAM,WAAa,CACtC,CAAA,CACA,OACEE,CAAAA,CAA0BT,CAAAA,EAAe,YAAc,CAAA,CAE7D,OAAO,CACL,IAAA,CAAMI,CAAAA,CAAa,KACnB,KAAA,CAAOA,CAAAA,CAAa,MACpB,MAAA,CAAQA,CAAAA,CAAa,OACrB,OAAA,CAASA,CAAAA,CAAa,QACtB,QAAA,CAAUA,CAAAA,CAAa,SACvB,UAAA,CAAYA,CAAAA,CAAa,WACzB,OAAA,CAASA,CAAAA,CAAa,QACtB,qBAAA,CAAuBA,CAAAA,CAAa,sBACpC,cAAA,CAAgBA,CAAAA,CAAa,eAC7B,SAAA,CAAWA,CAAAA,CAAa,UACxB,aAAA,CAAeA,CAAAA,CAAa,cAC5B,mBAAA,CAAqBA,CAAAA,CAAa,oBAClC,kBAAA,CAAoBA,CAAAA,CAAa,mBACjC,mBAAA,CAAqBA,CAAAA,CAAa,oBAClC,sBAAA,CAAwBA,CAAAA,CAAa,sBAAA,CACrC,OAAA,CAASA,CAAAA,CAAa,OAAA,CACtB,YAAaA,CAAAA,CAAa,WAAA,CAC1B,gBAAiBA,CAAAA,CAAa,eAAA,CAC9B,oBAAqBA,CAAAA,CAAa,mBAAA,CAClC,kCACEA,CAAAA,CAAa,iCAAA,CACf,gCACEA,CAAAA,CAAa,+BAAA,CACf,oBAAqBA,CAAAA,CAAa,mBAAA,CAClC,wBAAyBA,CAAAA,CAAa,uBAAA,CACtC,yBAA0BA,CAAAA,CAAa,wBAAA,CACvC,eAAgBA,CAAAA,CAAa,cAAA,CAC7B,yBAA0BA,CAAAA,CAAa,wBAAA,CACvC,wBAAyBA,CAAAA,CAAa,uBAAA,CACtC,sBAAuBA,CAAAA,CAAa,qBAAA,CACpC,YAAaA,CAAAA,CAAa,WAAA,CAC1B,UAAWA,CAAAA,CAAa,SAAA,CAIxB,iBACEA,CAAAA,CAAa,gBAAA,GAAqB,MAAA,CAC9B,MAAA,CACA,MAAA,CAAOA,CAAAA,CAAa,gBAAgB,CAAA,CAC1C,eAAA,CACEA,EAAa,eAAA,GAAoB,MAAA,CAC7B,OACA,MAAA,CAAOA,CAAAA,CAAa,eAAe,CAAA,CACzC,aAAA,CAAeA,EAAa,aAAA,CAC5B,KAAA,CAAOA,EAAa,KAAA,CACpB,gBAAA,CAAkBA,EAAa,gBAAA,CAC/B,iBAAA,CAAmBA,EAAa,iBAAA,CAChC,cAAA,CAAgBA,EAAa,cAAA,CAC7B,YAAA,CAAcA,EAAa,YAAA,CAC3B,gBAAA,CAAkBA,EAAa,gBAAA,CAC/B,YAAA,CAAAI,EACA,UAAA,CAAYC,CAAAA,CACZ,QAAAb,CACF,CACF,EACA,OAAA,CAAS,CAAC,CAACjF,CAAAA,CACX,SAAA,CAAW,GACb,CAAC,CACH","file":"chunk-3UESDLC3.js","sourcesContent":["import { useBroadcastMutation, invalidateAfterBroadcast, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { AccountProfile, FullAccount } from \"../types\";\nimport {\n buildPostingJsonMetadata,\n buildProfileMetadata,\n extractAccountProfile,\n pickRicherMetadataSnapshot,\n} from \"../utils/profile-metadata\";\n\ninterface Payload {\n profile: Partial<AccountProfile>;\n tokens: AccountProfile[\"tokens\"];\n}\n\n/**\n * React Query mutation hook for updating account profile metadata.\n *\n * This mutation broadcasts an account_update2 operation to update the user's\n * profile information (name, about, location, avatar, cover image, etc.).\n *\n * @param username - The username to update (required for broadcast)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Profile Fields:**\n * - name: Display name\n * - about: Bio/description\n * - location: Location\n * - website: Website URL\n * - profile_image: Avatar URL\n * - cover_image: Cover/banner URL\n * - tokens: Social tokens (Twitter, Facebook, etc.)\n * - version: Profile metadata version (auto-set to 2)\n *\n * **Authentication:**\n * - Uses posting authority (account_update2 operation)\n * - Supports all auth methods via platform adapter\n *\n * **Post-Broadcast Actions:**\n * - Optimistically updates account cache with new profile data\n * - Invalidates account cache to refetch from blockchain\n *\n * @example\n * ```typescript\n * const updateProfile = useAccountUpdate(username, {\n * adapter: myAdapter,\n * });\n *\n * // Update profile\n * updateProfile.mutate({\n * profile: {\n * name: \"John Doe\",\n * about: \"Hive enthusiast\",\n * profile_image: \"https://...\",\n * }\n * });\n * ```\n */\nexport function useAccountUpdate(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n const queryClient = useQueryClient();\n\n const { data } = useQuery(getAccountFullQueryOptions(username));\n\n return useBroadcastMutation(\n [\"accounts\", \"update\"],\n username,\n (payload: Partial<Payload>) => {\n // Prefer the freshest cached snapshot. onMutate has just refetched the\n // account from chain, so this usually reflects the current on-chain\n // profile rather than a possibly stale/unloaded render-time value. If\n // the cache instead holds a metadata-poorer row than the render-time\n // snapshot (e.g. a node served a stripped account row), the richer\n // snapshot wins — a partial update must never shrink the profile while\n // any snapshot still knows the full one.\n const account = pickRicherMetadataSnapshot(\n queryClient.getQueryData<FullAccount>(\n getAccountFullQueryOptions(username).queryKey\n ),\n data\n );\n\n if (!account) {\n throw new Error(\"[SDK][Accounts] – cannot update not existing account\");\n }\n\n return [\n [\n \"account_update2\",\n {\n account: username!,\n json_metadata: \"\",\n extensions: [] as [],\n // Read-modify-write the FULL on-chain metadata: deep-merge the\n // profile and preserve any non-`profile` top-level keys, so a\n // partial update never wipes unrelated fields.\n posting_json_metadata: buildPostingJsonMetadata({\n existingPostingJsonMetadata: account.posting_json_metadata,\n profile: payload.profile,\n tokens: payload.tokens,\n }),\n },\n ],\n ];\n },\n async (_data: unknown, variables: Partial<Payload>) => {\n // Optimistic cache update\n queryClient.setQueryData<FullAccount>(\n getAccountFullQueryOptions(username).queryKey,\n (data) => {\n if (!data) {\n return data;\n }\n\n const obj = JSON.parse(JSON.stringify(data)) as FullAccount;\n obj.profile = buildProfileMetadata({\n existingProfile: extractAccountProfile(data),\n profile: variables.profile,\n tokens: variables.tokens,\n });\n\n return obj;\n }\n );\n\n // Invalidate cache to refetch from blockchain\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username)\n ]);\n },\n auth,\n undefined,\n {\n broadcastMode,\n // Before merging, force a fresh on-chain read so a stale or unloaded\n // cached snapshot cannot cause a partial update (e.g. pinning a post,\n // which sets only `pinned`) to overwrite the existing profile with a\n // near-empty object. Best-effort: if the refetch fails, the op builder\n // falls back to the cached snapshot.\n onMutate: async () => {\n if (!username) {\n return;\n }\n try {\n await queryClient.fetchQuery({\n ...getAccountFullQueryOptions(username),\n staleTime: 0,\n });\n } catch {\n // Ignore – fall back to whatever is already cached.\n }\n },\n }\n );\n}\n","import { broadcastJson, getQueryClient, QueryKeys } from \"@/modules/core\";\nimport type { AuthContext } from \"@/modules/core/types\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { getRelationshipBetweenAccountsQueryOptions, getAccountFullQueryOptions } from \"../queries\";\nimport { AccountRelationship } from \"../types\";\n\ntype Kind = \"toggle-ignore\" | \"toggle-follow\";\n\nexport function useAccountRelationsUpdate(\n reference: string | undefined,\n target: string | undefined,\n auth: AuthContext | undefined,\n onSuccess: (data: Partial<AccountRelationship> | undefined) => void,\n onError: (e: Error) => void\n) {\n return useMutation({\n mutationKey: [\"accounts\", \"relation\", \"update\", reference, target],\n mutationFn: async (kind: Kind) => {\n const relationsQuery = getRelationshipBetweenAccountsQueryOptions(\n reference!,\n target!\n );\n await getQueryClient().prefetchQuery(relationsQuery);\n const actualRelation = getQueryClient().getQueryData(\n relationsQuery.queryKey\n );\n\n await broadcastJson(\n reference,\n \"follow\",\n [\n \"follow\",\n {\n follower: reference,\n following: target,\n what: [\n ...(kind === \"toggle-ignore\" && !actualRelation?.ignores\n ? [\"ignore\"]\n : []),\n ...(kind === \"toggle-follow\" && !actualRelation?.follows\n ? [\"blog\"]\n : []),\n ],\n },\n ],\n auth\n );\n\n return {\n ...actualRelation,\n ignores:\n kind === \"toggle-ignore\"\n ? !actualRelation?.ignores\n : actualRelation?.ignores,\n follows:\n kind === \"toggle-follow\"\n ? !actualRelation?.follows\n : actualRelation?.follows,\n } satisfies Partial<AccountRelationship>;\n },\n onError,\n onSuccess(data) {\n onSuccess(data);\n\n getQueryClient().setQueryData(\n QueryKeys.accounts.relations(reference!, target!),\n data\n );\n\n // Invalidate account query to refetch follow stats (follower_count, following_count)\n // This is needed because profile pages use staleTime: Infinity for performance\n if (target) {\n getQueryClient().invalidateQueries(\n getAccountFullQueryOptions(target)\n );\n }\n },\n });\n}\n","import { PrivateKey } from \"../../../hive-tx\";\nimport type { Authority } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\nexport interface Keys {\n owner: PrivateKey;\n active: PrivateKey;\n posting: PrivateKey;\n memo_key: PrivateKey;\n}\n\ninterface Payload {\n keepCurrent?: boolean;\n currentKey: PrivateKey;\n keys: Keys[];\n keysToRevoke?: string[]; // Deprecated: will be treated as revoking from all authorities\n keysToRevokeByAuthority?: Partial<Record<keyof Keys, string[]>>; // Authority-specific revocation\n}\n\nexport function dedupeAndSortKeyAuths(\n existing: Authority[\"key_auths\"],\n additions: [string, number][]\n): Authority[\"key_auths\"] {\n const merged = new Map<string, number>();\n\n existing.forEach(([key, weight]) => {\n merged.set(key.toString(), weight);\n });\n\n additions.forEach(([key, weight]) => {\n merged.set(key.toString(), weight);\n });\n\n return Array.from(merged.entries())\n .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))\n .map(([key, weight]) => [key, weight] as [string, number]);\n}\n\ntype UpdateKeyAuthsOptions = Pick<\n UseMutationOptions<unknown, Error, Payload>,\n \"onSuccess\" | \"onError\"\n>;\n\nexport function useAccountUpdateKeyAuths(\n username: string,\n options?: UpdateKeyAuthsOptions\n) {\n const { data: accountData } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"keys-update\", username],\n mutationFn: async ({\n keys,\n keepCurrent = false,\n currentKey,\n keysToRevoke = [],\n keysToRevokeByAuthority = {}\n }: Payload) => {\n if (keys.length === 0) {\n throw new Error(\n \"[SDK][Update password] – no new keys provided\"\n );\n }\n\n if (!accountData) {\n throw new Error(\n \"[SDK][Update password] – cannot update keys for anon user\"\n );\n }\n\n const prepareAuth = (keyName: keyof Keys) => {\n const auth: Authority = JSON.parse(JSON.stringify(accountData[keyName]));\n\n // Get keys to revoke for this specific authority\n const keysToRevokeForAuthority = keysToRevokeByAuthority[keyName] || [];\n // Fallback to global keysToRevoke for backwards compatibility\n const allKeysToRevoke = [\n ...keysToRevokeForAuthority,\n ...(keysToRevokeByAuthority[keyName] === undefined ? keysToRevoke : [])\n ];\n\n // Filter out keys to revoke from existing keys (authority-specific)\n const existingKeys = keepCurrent\n ? auth.key_auths.filter(([key]) => !allKeysToRevoke.includes(key.toString()))\n : [];\n\n auth.key_auths = dedupeAndSortKeyAuths(\n existingKeys,\n keys.map(\n (values, i) =>\n [values[keyName].createPublic().toString(), i + 1] as [\n string,\n number,\n ]\n )\n );\n\n return auth;\n };\n\n return broadcastOperations(\n [[\"account_update\", {\n account: username,\n json_metadata: accountData.json_metadata,\n owner: prepareAuth(\"owner\"),\n active: prepareAuth(\"active\"),\n posting: prepareAuth(\"posting\"),\n // Always use new memo key when adding new keys\n memo_key: keys[0].memo_key.createPublic().toString(),\n }]],\n currentKey\n );\n },\n ...options,\n });\n}\n","import { PrivateKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { useAccountUpdateKeyAuths } from \"./use-account-update-key-auths\";\n\ninterface Payload {\n newPassword: string;\n currentPassword: string;\n keepCurrent?: boolean;\n}\n\n/**\n * Only native Hive and custom passwords could be updated here\n * Seed based password cannot be updated here, it will be in an account always for now\n */\ntype UpdatePasswordOptions = Pick<\n UseMutationOptions<unknown, Error, Payload>,\n \"onSuccess\" | \"onError\"\n>;\n\nexport function useAccountUpdatePassword(\n username: string,\n options?: UpdatePasswordOptions\n) {\n const { data: accountData } = useQuery(getAccountFullQueryOptions(username));\n\n const { mutateAsync: updateKeys } = useAccountUpdateKeyAuths(username);\n\n return useMutation({\n mutationKey: [\"accounts\", \"password-update\", username],\n mutationFn: async ({\n newPassword,\n currentPassword,\n keepCurrent,\n }: Payload) => {\n if (!accountData) {\n throw new Error(\n \"[SDK][Update password] – cannot update password for anon user\"\n );\n }\n const currentKey = PrivateKey.fromLogin(\n username,\n currentPassword,\n \"owner\"\n );\n\n return updateKeys({\n currentKey,\n keepCurrent,\n keys: [\n {\n owner: PrivateKey.fromLogin(username, newPassword, \"owner\"),\n active: PrivateKey.fromLogin(username, newPassword, \"active\"),\n posting: PrivateKey.fromLogin(username, newPassword, \"posting\"),\n memo_key: PrivateKey.fromLogin(username, newPassword, \"memo\"),\n },\n ],\n });\n },\n ...options,\n });\n}\n","import { PrivateKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n useQueryClient,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { FullAccount } from \"../types\";\nimport hs from \"hivesigner\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\ntype SignType = \"key\" | \"keychain\" | \"hivesigner\";\n\ninterface CommonPayload {\n accountName: string;\n type: SignType;\n key?: PrivateKey;\n}\n\ntype RevokePostingOptions = Pick<\n UseMutationOptions<unknown, Error, CommonPayload>,\n \"onSuccess\" | \"onError\"\n> & {\n hsCallbackUrl?: string;\n};\n\nexport function useAccountRevokePosting(\n username: string | undefined,\n options: RevokePostingOptions,\n auth?: AuthContextV2\n) {\n const queryClient = useQueryClient();\n\n const { data } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"revoke-posting\", data?.name],\n mutationFn: async ({ accountName, type, key }: CommonPayload) => {\n if (!data) {\n throw new Error(\n \"[SDK][Accounts] – cannot revoke posting for anonymous user\"\n );\n }\n\n const posting = JSON.parse(JSON.stringify(data.posting)) as FullAccount[\"posting\"];\n\n posting.account_auths = posting.account_auths.filter(\n ([account]) => account !== accountName\n );\n\n const operationBody = {\n account: data.name,\n posting,\n memo_key: data.memo_key,\n json_metadata: data.json_metadata,\n };\n\n if (type === \"key\" && key) {\n return broadcastOperations([[\"account_update\", operationBody]], key);\n } else if (type === \"keychain\") {\n if (!auth?.adapter?.broadcastWithKeychain) {\n throw new Error(\"[SDK][Accounts] – missing keychain broadcaster\");\n }\n return auth.adapter.broadcastWithKeychain(\n data.name,\n [[\"account_update\", operationBody]],\n \"active\"\n );\n } else {\n if (!options.hsCallbackUrl && process.env.NODE_ENV === \"development\") {\n console.warn(\"[SDK][Accounts] hsCallbackUrl not provided for HiveSigner revoke-posting; user will not be redirected after signing.\");\n }\n return hs.sendOperation(\n [\"account_update\", operationBody],\n options.hsCallbackUrl ? { callback: options.hsCallbackUrl } : {},\n () => {}\n );\n }\n },\n onError: options.onError,\n onSuccess: (resp, payload, ctx) => {\n (options.onSuccess as\n | ((data: unknown, variables: CommonPayload, context: unknown) => unknown)\n | undefined)?.(resp, payload, ctx);\n queryClient.setQueryData<FullAccount>(\n getAccountFullQueryOptions(username).queryKey,\n (data) =>\n ({\n ...data,\n posting: {\n ...data?.posting,\n account_auths:\n data?.posting?.account_auths?.filter(\n ([account]) => account !== payload.accountName\n ) ?? [],\n },\n }) as FullAccount\n );\n },\n });\n}\n","import { CONFIG, getBoundFetch } from \"@/modules/core\";\nimport { PrivateKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport hs from \"hivesigner\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\ntype SignType = \"key\" | \"keychain\" | \"hivesigner\" | \"ecency\";\n\ninterface CommonPayload {\n accountName: string;\n type: SignType;\n key?: PrivateKey;\n email?: string;\n}\n\ntype UpdateRecoveryOptions = Pick<\n UseMutationOptions<unknown, Error, CommonPayload>,\n \"onSuccess\" | \"onError\"\n> & {\n hsCallbackUrl?: string;\n};\n\nexport function useAccountUpdateRecovery(\n username: string | undefined,\n code: string | undefined,\n options: UpdateRecoveryOptions,\n auth?: AuthContextV2\n) {\n const { data } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"recovery\", data?.name],\n mutationFn: async ({ accountName, type, key, email }: CommonPayload) => {\n if (!data) {\n throw new Error(\n \"[SDK][Accounts] – cannot change recovery for anonymous user\"\n );\n }\n\n const operationBody = {\n account_to_recover: data.name,\n new_recovery_account: accountName,\n extensions: [] as [],\n };\n\n if (type === \"ecency\") {\n if (!code) {\n throw new Error(\"[SDK][Accounts] – missing access token\");\n }\n const fetchApi = getBoundFetch();\n\n const response = await fetchApi(CONFIG.privateApiHost + \"/private-api/recoveries-add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code,\n email,\n publicKeys: [\n ...data.owner.key_auths,\n ...data.active.key_auths,\n ...data.posting.key_auths,\n data.memo_key,\n ],\n }),\n });\n\n // Raw fetch resolves on 4xx/5xx, so guard explicitly — otherwise the\n // caller's onSuccess shows a \"recovery updated\" toast on a failed request.\n // (The missing Content-Type header also made the backend skip JSON parsing.)\n if (!response.ok) {\n throw new Error(`[SDK][Accounts] Failed to add recovery: ${response.status}`);\n }\n\n return response;\n } else if (type === \"key\" && key) {\n return broadcastOperations(\n [[\"change_recovery_account\", operationBody]],\n key\n );\n } else if (type === \"keychain\") {\n if (!auth?.adapter?.broadcastWithKeychain) {\n throw new Error(\"[SDK][Accounts] – missing keychain broadcaster\");\n }\n return auth.adapter.broadcastWithKeychain(data.name, [[\"change_recovery_account\", operationBody]], \"owner\");\n } else {\n if (!options.hsCallbackUrl && process.env.NODE_ENV === \"development\") {\n console.warn(\"[SDK][Accounts] hsCallbackUrl not provided for HiveSigner update-recovery; user will not be redirected after signing.\");\n }\n return hs.sendOperation(\n [\"change_recovery_account\", operationBody],\n options.hsCallbackUrl ? { callback: options.hsCallbackUrl } : {},\n () => {}\n );\n }\n },\n onError: options.onError,\n onSuccess: options.onSuccess,\n });\n}\n","import { PrivateKey, PublicKey } from \"../../../hive-tx\";\nimport {\n useMutation,\n useQuery,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { getAccountFullQueryOptions } from \"../queries\";\nimport { buildRevokeKeysOp } from \"./build-revoke-keys-op\";\nimport { broadcastOperations } from \"@/modules/core/hive-tx\";\n\ninterface Payload {\n currentKey: PrivateKey;\n /** Keys to revoke. Accepts a single key or an array. */\n revokingKey: PublicKey | PublicKey[];\n}\n\n/**\n * Revoke one or more keys from an account on the Hive blockchain.\n *\n * When revoking keys that exist only in active/posting authorities,\n * the owner field is omitted from the operation so active-level\n * signing is sufficient.\n */\ntype RevokeKeyOptions = Pick<\n UseMutationOptions<unknown, Error, Payload>,\n \"onSuccess\" | \"onError\"\n>;\n\nexport function useAccountRevokeKey(\n username: string | undefined,\n options?: RevokeKeyOptions\n) {\n const { data: accountData } = useQuery(getAccountFullQueryOptions(username));\n\n return useMutation({\n mutationKey: [\"accounts\", \"revoke-key\", accountData?.name],\n mutationFn: async ({ currentKey, revokingKey }: Payload) => {\n if (!accountData) {\n throw new Error(\n \"[SDK][Revoke key] – cannot update keys for anon user\"\n );\n }\n\n const revokingKeys = Array.isArray(revokingKey) ? revokingKey : [revokingKey];\n const op = buildRevokeKeysOp(accountData, revokingKeys);\n\n return broadcastOperations([[\"account_update\", op]], currentKey);\n },\n ...options,\n });\n}\n","import { QueryKeys } from \"@/modules/core\";\nimport {\n AccountFollowStats,\n FullAccount,\n} from \"../types\";\nimport { parseProfileMetadata } from \"@/modules/accounts\";\nimport { queryOptions } from \"@tanstack/react-query\";\nimport { callRPC } from \"@/modules/core/hive-tx\";\n\n/** The raw `condenser_api.get_accounts` row — every FullAccount field except the three\n * this query derives separately (follow_stats + reputation from bridge, profile parsed). */\ntype RawAccount = Omit<FullAccount, \"follow_stats\" | \"reputation\" | \"profile\">;\n\n/** Minimal shape read from `bridge.get_profile` (hivemind social profile): it carries\n * the reputation score, the follower/following counts and hivemind's parsed\n * (normalized) profile — the latter is used only to cross-validate the chain row. */\ninterface BridgeProfile {\n reputation?: number;\n stats?: { followers?: number; following?: number };\n metadata?: { profile?: Record<string, unknown> };\n}\n\n/** True when the chain row carries no account metadata at all. Legitimate for\n * accounts that never set a profile — but combined with a populated hivemind\n * profile it identifies a node serving stripped account rows. */\nfunction isMetadataStripped(account: RawAccount): boolean {\n return !account.posting_json_metadata && !account.json_metadata;\n}\n\n/** True when a hivemind `metadata.profile` object carries at least one real\n * value. Hivemind emits its fixed profile keys with empty strings for\n * accounts without a profile, so key presence alone proves nothing. */\nfunction hasProfileValues(profile?: Record<string, unknown> | null): boolean {\n if (!profile) return false;\n return Object.values(profile).some((value) =>\n typeof value === \"string\" ? value.length > 0 : value != null\n );\n}\n\nexport function getAccountFullQueryOptions(username: string | undefined) {\n return queryOptions({\n queryKey: QueryKeys.accounts.full(username),\n queryFn: async ({ signal }) => {\n if (!username) {\n return null;\n }\n\n // Fetch the chain account (balances/keys/vesting) and the hivemind profile in\n // parallel — both only need the username. bridge.get_profile carries BOTH the\n // follower/following counts and the reputation score, so it replaces the old\n // second-layer condenser_api.get_follow_count RPC *and* the reputation-api REST\n // call: condenser_api.get_accounts no longer returns a usable reputation (it is 0\n // since the hardfork), and there is no reason to make two extra round-trips for\n // data one profile object already carries.\n const [response, bridgeProfile] = await Promise.all([\n callRPC<RawAccount[]>(\n \"condenser_api.get_accounts\",\n [[username]],\n undefined,\n undefined,\n signal,\n // A correct node always answers get_accounts with an array — a null\n // result in a well-formed envelope is a node fault (observed in the\n // wild), so fail over to the next node instead of misreading it as\n // \"account does not exist\".\n (rows) => Array.isArray(rows)\n ),\n callRPC<BridgeProfile>(\n \"bridge.get_profile\",\n { account: username },\n undefined,\n undefined,\n signal\n ).catch((e): BridgeProfile | null => {\n // A caller cancel (aborted signal) must propagate — only genuine RPC/transport\n // failures degrade to reputation 0 / no follow_stats.\n if (signal?.aborted) throw e;\n return null;\n })\n ]);\n if (!response?.[0]) {\n // The account does not exist (e.g. not yet finalized on-chain during\n // signup). Treat absence as a recoverable null instead of throwing, so\n // consumers (useQuery hooks and fetchQuery callers) surface it as empty\n // data rather than an unhandled rejection / error-boundary crash.\n return null;\n }\n\n let chainAccount = response[0];\n\n // Cross-validate the chain row against the hivemind profile fetched in\n // the same query. Some public nodes serve account rows with BOTH\n // metadata fields stripped to \"\" (observed in the wild) while their own\n // hivemind still returns the real profile — and a merge base built from\n // such a row wipes the user's profile on the next partial\n // account_update2. When the row claims \"no metadata\" but hivemind\n // disagrees, re-read once (failover may pick another node) and otherwise\n // fail the query: an error here is recoverable, a poisoned cache entry\n // is not.\n if (\n isMetadataStripped(chainAccount) &&\n hasProfileValues(bridgeProfile?.metadata?.profile)\n ) {\n // The re-read carries a payload validator: a stripped row is treated\n // as a node fault, so the failover walk moves on to other nodes (and\n // repeat offenders earn a per-API health cooldown) instead of asking\n // the same lying node twice.\n const reread = await callRPC<RawAccount[]>(\n \"condenser_api.get_accounts\",\n [[username]],\n undefined,\n undefined,\n signal,\n (rows) =>\n Array.isArray(rows) &&\n (!rows[0] || !isMetadataStripped(rows[0] as RawAccount))\n );\n if (reread[0] && !isMetadataStripped(reread[0])) {\n chainAccount = reread[0];\n } else {\n throw new Error(\n `[SDK][Accounts] – inconsistent account row for ${username}: empty json metadata while hivemind profile is populated`\n );\n }\n }\n\n const profile = parseProfileMetadata(chainAccount.posting_json_metadata);\n\n // bridge.get_profile.stats → follower/following counts; `reputation` is the\n // computed score (e.g. 78.29). accountReputation() floors an in-range score, so\n // it yields the same value the reputation-api used to return. Both degrade to a\n // safe default if the profile call failed.\n const stats = bridgeProfile?.stats;\n const follow_stats: AccountFollowStats | undefined = stats\n ? {\n account: chainAccount.name,\n follower_count: stats.followers ?? 0,\n following_count: stats.following ?? 0\n }\n : undefined;\n const reputationValue: number = bridgeProfile?.reputation ?? 0;\n\n return {\n name: chainAccount.name,\n owner: chainAccount.owner,\n active: chainAccount.active,\n posting: chainAccount.posting,\n memo_key: chainAccount.memo_key,\n post_count: chainAccount.post_count,\n created: chainAccount.created,\n posting_json_metadata: chainAccount.posting_json_metadata,\n last_vote_time: chainAccount.last_vote_time,\n last_post: chainAccount.last_post,\n json_metadata: chainAccount.json_metadata,\n reward_hive_balance: chainAccount.reward_hive_balance,\n reward_hbd_balance: chainAccount.reward_hbd_balance,\n reward_vesting_hive: chainAccount.reward_vesting_hive,\n reward_vesting_balance: chainAccount.reward_vesting_balance,\n balance: chainAccount.balance,\n hbd_balance: chainAccount.hbd_balance,\n savings_balance: chainAccount.savings_balance,\n savings_hbd_balance: chainAccount.savings_hbd_balance,\n savings_hbd_last_interest_payment:\n chainAccount.savings_hbd_last_interest_payment,\n savings_hbd_seconds_last_update:\n chainAccount.savings_hbd_seconds_last_update,\n savings_hbd_seconds: chainAccount.savings_hbd_seconds,\n next_vesting_withdrawal: chainAccount.next_vesting_withdrawal,\n pending_claimed_accounts: chainAccount.pending_claimed_accounts,\n vesting_shares: chainAccount.vesting_shares,\n delegated_vesting_shares: chainAccount.delegated_vesting_shares,\n received_vesting_shares: chainAccount.received_vesting_shares,\n vesting_withdraw_rate: chainAccount.vesting_withdraw_rate,\n to_withdraw: chainAccount.to_withdraw,\n withdrawn: chainAccount.withdrawn,\n // int64 counters. Condenser serves them unquoted, so normalize here in case a\n // node quotes them, but leave an omitted counter undefined: absent is unknown,\n // and coercing it to 0 would understate every ratio derived from it.\n curation_rewards:\n chainAccount.curation_rewards === undefined\n ? undefined\n : Number(chainAccount.curation_rewards),\n posting_rewards:\n chainAccount.posting_rewards === undefined\n ? undefined\n : Number(chainAccount.posting_rewards),\n witness_votes: chainAccount.witness_votes,\n proxy: chainAccount.proxy,\n recovery_account: chainAccount.recovery_account,\n proxied_vsf_votes: chainAccount.proxied_vsf_votes,\n voting_manabar: chainAccount.voting_manabar,\n voting_power: chainAccount.voting_power,\n downvote_manabar: chainAccount.downvote_manabar,\n follow_stats,\n reputation: reputationValue,\n profile,\n } satisfies FullAccount;\n },\n enabled: !!username,\n staleTime: 60000,\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {c}from'./chunk-OMSXAN23.js';import {a as a$1}from'./chunk-WTHEQ3M5.js';import {queryOptions}from'@tanstack/react-query';function a(t,o,r=false){return queryOptions({queryKey:a$1.posts.commentHistory(t,o,r),queryFn:async({signal:n})=>{let e=await fetch(c.privateApiHost+"/private-api/comment-history",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:t,permlink:o,onlyMeta:r?"1":""}),signal:n});if(!e.ok)throw new Error(`Failed to fetch comment history: ${e.status}`);return e.json()},enabled:!!t&&!!o})}export{a};//# sourceMappingURL=chunk-KBQ6MAP7.js.map
2
- //# sourceMappingURL=chunk-KBQ6MAP7.js.map
1
+ import {c}from'./chunk-OMSXAN23.js';import {a as a$1}from'./chunk-CQOMDMT6.js';import {queryOptions}from'@tanstack/react-query';function a(t,o,r=false){return queryOptions({queryKey:a$1.posts.commentHistory(t,o,r),queryFn:async({signal:n})=>{let e=await fetch(c.privateApiHost+"/private-api/comment-history",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:t,permlink:o,onlyMeta:r?"1":""}),signal:n});if(!e.ok)throw new Error(`Failed to fetch comment history: ${e.status}`);return e.json()},enabled:!!t&&!!o})}export{a};//# sourceMappingURL=chunk-3WZYZEJO.js.map
2
+ //# sourceMappingURL=chunk-3WZYZEJO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/posts/queries/get-comment-history-query-options.ts"],"names":["getCommentHistoryQueryOptions","author","permlink","onlyMeta","queryOptions","QueryKeys","signal","response","CONFIG"],"mappings":"gIAIO,SAASA,CAAAA,CAA8BC,CAAAA,CAAgBC,EAAkBC,CAAAA,CAAW,KAAA,CAAO,CAChG,OAAOC,aAAa,CAClB,QAAA,CAAUC,IAAU,KAAA,CAAM,cAAA,CAAeJ,EAAQC,CAAAA,CAAUC,CAAQ,CAAA,CACnE,OAAA,CAAS,MAAO,CAAE,MAAA,CAAAG,CAAO,CAAA,GAAM,CAC7B,IAAMC,CAAAA,CAAW,MAAM,MAAMC,CAAAA,CAAO,cAAA,CAAiB,+BAAgC,CACnF,MAAA,CAAQ,OACR,OAAA,CAAS,CACP,eAAgB,kBAClB,CAAA,CACA,IAAA,CAAM,IAAA,CAAK,UAAU,CACnB,MAAA,CAAAP,EACA,QAAA,CAAAC,CAAAA,CACA,SAAUC,CAAAA,CAAW,GAAA,CAAM,EAC7B,CAAC,EACD,MAAA,CAAAG,CACF,CAAC,CAAA,CAED,GAAI,CAACC,CAAAA,CAAS,EAAA,CACZ,MAAM,IAAI,MAAM,CAAA,iCAAA,EAAoCA,CAAAA,CAAS,MAAM,CAAA,CAAE,CAAA,CAGvE,OAAOA,CAAAA,CAAS,IAAA,EAClB,CAAA,CACA,OAAA,CAAS,CAAC,CAACN,CAAAA,EAAU,CAAC,CAACC,CACzB,CAAC,CACH","file":"chunk-KBQ6MAP7.js","sourcesContent":["import { queryOptions } from \"@tanstack/react-query\";\nimport { CONFIG, QueryKeys } from \"@/modules/core\";\nimport { CommentHistory } from \"../types/comment-history\";\n\nexport function getCommentHistoryQueryOptions(author: string, permlink: string, onlyMeta = false) {\n return queryOptions({\n queryKey: QueryKeys.posts.commentHistory(author, permlink, onlyMeta),\n queryFn: async ({ signal }) => {\n const response = await fetch(CONFIG.privateApiHost + \"/private-api/comment-history\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n author,\n permlink,\n onlyMeta: onlyMeta ? \"1\" : \"\",\n }),\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch comment history: ${response.status}`);\n }\n\n return response.json() as Promise<CommentHistory>;\n },\n enabled: !!author && !!permlink,\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/posts/queries/get-comment-history-query-options.ts"],"names":["getCommentHistoryQueryOptions","author","permlink","onlyMeta","queryOptions","QueryKeys","signal","response","CONFIG"],"mappings":"gIAIO,SAASA,CAAAA,CAA8BC,CAAAA,CAAgBC,EAAkBC,CAAAA,CAAW,KAAA,CAAO,CAChG,OAAOC,aAAa,CAClB,QAAA,CAAUC,IAAU,KAAA,CAAM,cAAA,CAAeJ,EAAQC,CAAAA,CAAUC,CAAQ,CAAA,CACnE,OAAA,CAAS,MAAO,CAAE,MAAA,CAAAG,CAAO,CAAA,GAAM,CAC7B,IAAMC,CAAAA,CAAW,MAAM,MAAMC,CAAAA,CAAO,cAAA,CAAiB,+BAAgC,CACnF,MAAA,CAAQ,OACR,OAAA,CAAS,CACP,eAAgB,kBAClB,CAAA,CACA,IAAA,CAAM,IAAA,CAAK,UAAU,CACnB,MAAA,CAAAP,EACA,QAAA,CAAAC,CAAAA,CACA,SAAUC,CAAAA,CAAW,GAAA,CAAM,EAC7B,CAAC,EACD,MAAA,CAAAG,CACF,CAAC,CAAA,CAED,GAAI,CAACC,CAAAA,CAAS,EAAA,CACZ,MAAM,IAAI,MAAM,CAAA,iCAAA,EAAoCA,CAAAA,CAAS,MAAM,CAAA,CAAE,CAAA,CAGvE,OAAOA,CAAAA,CAAS,IAAA,EAClB,CAAA,CACA,OAAA,CAAS,CAAC,CAACN,CAAAA,EAAU,CAAC,CAACC,CACzB,CAAC,CACH","file":"chunk-3WZYZEJO.js","sourcesContent":["import { queryOptions } from \"@tanstack/react-query\";\nimport { CONFIG, QueryKeys } from \"@/modules/core\";\nimport { CommentHistory } from \"../types/comment-history\";\n\nexport function getCommentHistoryQueryOptions(author: string, permlink: string, onlyMeta = false) {\n return queryOptions({\n queryKey: QueryKeys.posts.commentHistory(author, permlink, onlyMeta),\n queryFn: async ({ signal }) => {\n const response = await fetch(CONFIG.privateApiHost + \"/private-api/comment-history\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n author,\n permlink,\n onlyMeta: onlyMeta ? \"1\" : \"\",\n }),\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch comment history: ${response.status}`);\n }\n\n return response.json() as Promise<CommentHistory>;\n },\n enabled: !!author && !!permlink,\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {d}from'./chunk-OMSXAN23.js';import {a}from'./chunk-WTHEQ3M5.js';import {infiniteQueryOptions}from'@tanstack/react-query';function u(t){return infiniteQueryOptions({queryKey:a.accounts.referrals(t),initialPageParam:{maxId:void 0},queryFn:async({pageParam:r})=>{let{maxId:e}=r??{},s=d.getValidatedBaseUrl(),n=new URL(`/private-api/referrals/${t}`,s);e!==void 0&&n.searchParams.set("max_id",e.toString());let a=await fetch(n.toString(),{method:"GET",headers:{"Content-Type":"application/json"}});if(!a.ok)throw new Error(`Failed to fetch referrals: ${a.status}`);return a.json()},getNextPageParam:r=>{let e=r?.[r.length-1]?.id;return typeof e=="number"?{maxId:e}:void 0}})}export{u as a};//# sourceMappingURL=chunk-LYN5S3FE.js.map
2
- //# sourceMappingURL=chunk-LYN5S3FE.js.map
1
+ import {d}from'./chunk-OMSXAN23.js';import {a}from'./chunk-CQOMDMT6.js';import {infiniteQueryOptions}from'@tanstack/react-query';function u(t){return infiniteQueryOptions({queryKey:a.accounts.referrals(t),initialPageParam:{maxId:void 0},queryFn:async({pageParam:r})=>{let{maxId:e}=r??{},s=d.getValidatedBaseUrl(),n=new URL(`/private-api/referrals/${t}`,s);e!==void 0&&n.searchParams.set("max_id",e.toString());let a=await fetch(n.toString(),{method:"GET",headers:{"Content-Type":"application/json"}});if(!a.ok)throw new Error(`Failed to fetch referrals: ${a.status}`);return a.json()},getNextPageParam:r=>{let e=r?.[r.length-1]?.id;return typeof e=="number"?{maxId:e}:void 0}})}export{u as a};//# sourceMappingURL=chunk-442PDRSQ.js.map
2
+ //# sourceMappingURL=chunk-442PDRSQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/accounts/queries/get-referrals-infinite-query-options.ts"],"names":["getReferralsInfiniteQueryOptions","username","infiniteQueryOptions","QueryKeys","pageParam","maxId","baseUrl","ConfigManager","url","response","lastPage","nextMaxId"],"mappings":"iIAMO,SAASA,CAAAA,CAAiCC,EAAkB,CACjE,OAAOC,oBAAAA,CAAqB,CAC1B,QAAA,CAAUC,CAAAA,CAAU,SAAS,SAAA,CAAUF,CAAQ,CAAA,CAC/C,gBAAA,CAAkB,CAAE,KAAA,CAAO,MAAU,CAAA,CACrC,OAAA,CAAS,MAAO,CAAE,SAAA,CAAAG,CAAU,CAAA,GAAgC,CAC1D,GAAM,CAAE,KAAA,CAAAC,CAAM,CAAA,CAAID,CAAAA,EAAa,EAAC,CAC1BE,CAAAA,CAAUC,CAAAA,CAAc,mBAAA,EAAoB,CAC5CC,CAAAA,CAAM,IAAI,IAAI,CAAA,uBAAA,EAA0BP,CAAQ,CAAA,CAAA,CAAIK,CAAO,CAAA,CAE7DD,CAAAA,GAAU,MAAA,EACZG,CAAAA,CAAI,YAAA,CAAa,GAAA,CAAI,QAAA,CAAUH,CAAAA,CAAM,QAAA,EAAU,EAGjD,IAAMI,CAAAA,CAAW,MAAM,KAAA,CAAMD,CAAAA,CAAI,QAAA,GAAY,CAC3C,MAAA,CAAQ,KAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAClB,CACF,CAAC,CAAA,CAED,GAAI,CAACC,CAAAA,CAAS,EAAA,CACZ,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8BA,CAAAA,CAAS,MAAM,CAAA,CAAE,EAGjE,OAAOA,CAAAA,CAAS,IAAA,EAClB,CAAA,CACA,gBAAA,CAAmBC,CAAAA,EAA6B,CAC9C,IAAMC,CAAAA,CAAYD,CAAAA,GAAWA,CAAAA,CAAS,MAAA,CAAS,CAAC,GAAG,EAAA,CACnD,OAAO,OAAOC,CAAAA,EAAc,QAAA,CAAY,CAAE,KAAA,CAAOA,CAAU,CAAA,CAAkB,MAC/E,CACF,CAAC,CACH","file":"chunk-LYN5S3FE.js","sourcesContent":["import { infiniteQueryOptions } from \"@tanstack/react-query\";\nimport { ConfigManager, QueryKeys } from \"@/modules/core\";\nimport { ReferralItem } from \"../types/referral\";\n\ntype PageParam = { maxId?: number };\n\nexport function getReferralsInfiniteQueryOptions(username: string) {\n return infiniteQueryOptions({\n queryKey: QueryKeys.accounts.referrals(username),\n initialPageParam: { maxId: undefined } as PageParam,\n queryFn: async ({ pageParam }: { pageParam: PageParam }) => {\n const { maxId } = pageParam ?? {};\n const baseUrl = ConfigManager.getValidatedBaseUrl();\n const url = new URL(`/private-api/referrals/${username}`, baseUrl);\n\n if (maxId !== undefined) {\n url.searchParams.set(\"max_id\", maxId.toString());\n }\n\n const response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch referrals: ${response.status}`);\n }\n\n return response.json() as Promise<ReferralItem[]>;\n },\n getNextPageParam: (lastPage: ReferralItem[]) => {\n const nextMaxId = lastPage?.[lastPage.length - 1]?.id;\n return typeof nextMaxId === \"number\" ? ({ maxId: nextMaxId } as PageParam) : undefined;\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/accounts/queries/get-referrals-infinite-query-options.ts"],"names":["getReferralsInfiniteQueryOptions","username","infiniteQueryOptions","QueryKeys","pageParam","maxId","baseUrl","ConfigManager","url","response","lastPage","nextMaxId"],"mappings":"iIAMO,SAASA,CAAAA,CAAiCC,EAAkB,CACjE,OAAOC,oBAAAA,CAAqB,CAC1B,QAAA,CAAUC,CAAAA,CAAU,SAAS,SAAA,CAAUF,CAAQ,CAAA,CAC/C,gBAAA,CAAkB,CAAE,KAAA,CAAO,MAAU,CAAA,CACrC,OAAA,CAAS,MAAO,CAAE,SAAA,CAAAG,CAAU,CAAA,GAAgC,CAC1D,GAAM,CAAE,KAAA,CAAAC,CAAM,CAAA,CAAID,CAAAA,EAAa,EAAC,CAC1BE,CAAAA,CAAUC,CAAAA,CAAc,mBAAA,EAAoB,CAC5CC,CAAAA,CAAM,IAAI,IAAI,CAAA,uBAAA,EAA0BP,CAAQ,CAAA,CAAA,CAAIK,CAAO,CAAA,CAE7DD,CAAAA,GAAU,MAAA,EACZG,CAAAA,CAAI,YAAA,CAAa,GAAA,CAAI,QAAA,CAAUH,CAAAA,CAAM,QAAA,EAAU,EAGjD,IAAMI,CAAAA,CAAW,MAAM,KAAA,CAAMD,CAAAA,CAAI,QAAA,GAAY,CAC3C,MAAA,CAAQ,KAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAClB,CACF,CAAC,CAAA,CAED,GAAI,CAACC,CAAAA,CAAS,EAAA,CACZ,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8BA,CAAAA,CAAS,MAAM,CAAA,CAAE,EAGjE,OAAOA,CAAAA,CAAS,IAAA,EAClB,CAAA,CACA,gBAAA,CAAmBC,CAAAA,EAA6B,CAC9C,IAAMC,CAAAA,CAAYD,CAAAA,GAAWA,CAAAA,CAAS,MAAA,CAAS,CAAC,GAAG,EAAA,CACnD,OAAO,OAAOC,CAAAA,EAAc,QAAA,CAAY,CAAE,KAAA,CAAOA,CAAU,CAAA,CAAkB,MAC/E,CACF,CAAC,CACH","file":"chunk-442PDRSQ.js","sourcesContent":["import { infiniteQueryOptions } from \"@tanstack/react-query\";\nimport { ConfigManager, QueryKeys } from \"@/modules/core\";\nimport { ReferralItem } from \"../types/referral\";\n\ntype PageParam = { maxId?: number };\n\nexport function getReferralsInfiniteQueryOptions(username: string) {\n return infiniteQueryOptions({\n queryKey: QueryKeys.accounts.referrals(username),\n initialPageParam: { maxId: undefined } as PageParam,\n queryFn: async ({ pageParam }: { pageParam: PageParam }) => {\n const { maxId } = pageParam ?? {};\n const baseUrl = ConfigManager.getValidatedBaseUrl();\n const url = new URL(`/private-api/referrals/${username}`, baseUrl);\n\n if (maxId !== undefined) {\n url.searchParams.set(\"max_id\", maxId.toString());\n }\n\n const response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch referrals: ${response.status}`);\n }\n\n return response.json() as Promise<ReferralItem[]>;\n },\n getNextPageParam: (lastPage: ReferralItem[]) => {\n const nextMaxId = lastPage?.[lastPage.length - 1]?.id;\n return typeof nextMaxId === \"number\" ? ({ maxId: nextMaxId } as PageParam) : undefined;\n },\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {d}from'./chunk-OBSTAXZB.js';import {b}from'./chunk-PFVWZI3W.js';import {b as b$1}from'./chunk-POHYQBLL.js';import {a}from'./chunk-WTHEQ3M5.js';function l(t,r,e,u){return b(["communities","update",t],r,a=>[d(r,t,a)],async(a$1,d)=>{b$1().setQueriesData({queryKey:a.communities.singlePrefix(t)},o=>o&&{...o,...d}),e?.adapter?.invalidateQueries&&await e.adapter.invalidateQueries([[...a.communities.singlePrefix(t)]]);},e,"posting",{broadcastMode:u??"async"})}export{l as a};//# sourceMappingURL=chunk-32UMQJXQ.js.map
2
- //# sourceMappingURL=chunk-32UMQJXQ.js.map
1
+ import {d}from'./chunk-OBSTAXZB.js';import {b}from'./chunk-PFVWZI3W.js';import {b as b$1}from'./chunk-POHYQBLL.js';import {a}from'./chunk-CQOMDMT6.js';function l(t,r,e,u){return b(["communities","update",t],r,a=>[d(r,t,a)],async(a$1,d)=>{b$1().setQueriesData({queryKey:a.communities.singlePrefix(t)},o=>o&&{...o,...d}),e?.adapter?.invalidateQueries&&await e.adapter.invalidateQueries([[...a.communities.singlePrefix(t)]]);},e,"posting",{broadcastMode:u??"async"})}export{l as a};//# sourceMappingURL=chunk-4ALPVYER.js.map
2
+ //# sourceMappingURL=chunk-4ALPVYER.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/communities/mutations/use-update-community.ts"],"names":["useUpdateCommunity","community","username","auth","broadcastMode","useBroadcastMutation","props","buildUpdateCommunityOp","_result","variables","getQueryClient","QueryKeys","prev"],"mappings":"uJA6DO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,EACA,CACA,OAAOC,CAAAA,CACL,CAAC,cAAe,QAAA,CAAUJ,CAAS,CAAA,CACnCC,CAAAA,CACCI,GAAU,CACTC,CAAAA,CAAuBL,CAAAA,CAAWD,CAAAA,CAAWK,CAAK,CACpD,CAAA,CACA,MAAOE,IAAcC,CAAAA,GAAc,CAGtBC,GAAAA,EAAe,CACvB,eACD,CAAE,QAAA,CAAUC,CAAAA,CAAU,WAAA,CAAY,aAAaV,CAAS,CAAE,CAAA,CACzDW,CAAAA,EACMA,CAAAA,EACE,CAAE,GAAGA,CAAAA,CAAM,GAAIH,CAA4C,CAEtE,CAAA,CAGIN,CAAAA,EAAM,SAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,kBAAkB,CACnC,CAAC,GAAGQ,CAAAA,CAAU,WAAA,CAAY,YAAA,CAAaV,CAAS,CAAC,CACnD,CAAC,EAEL,CAAA,CACAE,CAAAA,CACA,UACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-32UMQJXQ.js","sourcesContent":["import { useBroadcastMutation, getQueryClient, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildUpdateCommunityOp, type CommunityProps } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport type { Community } from \"../types\";\n\n/**\n * Payload for updating community properties.\n * Matches the CommunityProps interface from builders.\n */\nexport type UpdateCommunityPayload = CommunityProps;\n\n/**\n * React Query mutation hook for updating community properties.\n *\n * This mutation broadcasts an updateProps operation to the Hive blockchain,\n * modifying the community's metadata and settings. Only community admins\n * can update community properties.\n *\n * @param community - Community name (e.g., \"hive-123456\")\n * @param username - The username updating the community (required for broadcast, must be admin)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Post-Broadcast Actions:**\n * - Invalidates community cache to refetch updated properties\n *\n * **Operation Details:**\n * - Uses custom_json operation with id \"community\"\n * - Action: [\"updateProps\", {\"community\": \"hive-123456\", \"props\": {...}}]\n * - Authority: Posting key\n *\n * **Properties:**\n * - title - Community display title\n * - about - Short description/tagline\n * - lang - Primary language code (e.g., \"en\")\n * - description - Full community description (markdown supported)\n * - flag_text - Custom text shown when flagging posts\n * - is_nsfw - Whether community contains NSFW content\n *\n * @example\n * ```typescript\n * const updateMutation = useUpdateCommunity('hive-123456', username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Update community properties\n * updateMutation.mutate({\n * title: 'My Awesome Community',\n * about: 'A place for awesome people',\n * lang: 'en',\n * description: '# Welcome\\nThis is our community description',\n * flag_text: 'Please explain why this content violates our rules',\n * is_nsfw: false\n * });\n * ```\n */\nexport function useUpdateCommunity(\n community: string,\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<UpdateCommunityPayload>(\n [\"communities\", \"update\", community],\n username,\n (props) => [\n buildUpdateCommunityOp(username!, community, props)\n ],\n async (_result: any, variables) => {\n // Optimistic property merge in community cache\n // Query key is [\"community\",\"single\",name,observer] — observer varies, so use predicate\n const qc = getQueryClient();\n qc.setQueriesData<Community>(\n { queryKey: QueryKeys.communities.singlePrefix(community) },\n (prev) => {\n if (!prev) return prev;\n return { ...prev, ...(variables as unknown as Partial<Community>) };\n }\n );\n\n // Cache invalidation — prefix-match all community single queries\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n [...QueryKeys.communities.singlePrefix(community)]\n ]);\n }\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'async' }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/communities/mutations/use-update-community.ts"],"names":["useUpdateCommunity","community","username","auth","broadcastMode","useBroadcastMutation","props","buildUpdateCommunityOp","_result","variables","getQueryClient","QueryKeys","prev"],"mappings":"uJA6DO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,EACA,CACA,OAAOC,CAAAA,CACL,CAAC,cAAe,QAAA,CAAUJ,CAAS,CAAA,CACnCC,CAAAA,CACCI,GAAU,CACTC,CAAAA,CAAuBL,CAAAA,CAAWD,CAAAA,CAAWK,CAAK,CACpD,CAAA,CACA,MAAOE,IAAcC,CAAAA,GAAc,CAGtBC,GAAAA,EAAe,CACvB,eACD,CAAE,QAAA,CAAUC,CAAAA,CAAU,WAAA,CAAY,aAAaV,CAAS,CAAE,CAAA,CACzDW,CAAAA,EACMA,CAAAA,EACE,CAAE,GAAGA,CAAAA,CAAM,GAAIH,CAA4C,CAEtE,CAAA,CAGIN,CAAAA,EAAM,SAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,kBAAkB,CACnC,CAAC,GAAGQ,CAAAA,CAAU,WAAA,CAAY,YAAA,CAAaV,CAAS,CAAC,CACnD,CAAC,EAEL,CAAA,CACAE,CAAAA,CACA,UACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-4ALPVYER.js","sourcesContent":["import { useBroadcastMutation, getQueryClient, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildUpdateCommunityOp, type CommunityProps } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport type { Community } from \"../types\";\n\n/**\n * Payload for updating community properties.\n * Matches the CommunityProps interface from builders.\n */\nexport type UpdateCommunityPayload = CommunityProps;\n\n/**\n * React Query mutation hook for updating community properties.\n *\n * This mutation broadcasts an updateProps operation to the Hive blockchain,\n * modifying the community's metadata and settings. Only community admins\n * can update community properties.\n *\n * @param community - Community name (e.g., \"hive-123456\")\n * @param username - The username updating the community (required for broadcast, must be admin)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Post-Broadcast Actions:**\n * - Invalidates community cache to refetch updated properties\n *\n * **Operation Details:**\n * - Uses custom_json operation with id \"community\"\n * - Action: [\"updateProps\", {\"community\": \"hive-123456\", \"props\": {...}}]\n * - Authority: Posting key\n *\n * **Properties:**\n * - title - Community display title\n * - about - Short description/tagline\n * - lang - Primary language code (e.g., \"en\")\n * - description - Full community description (markdown supported)\n * - flag_text - Custom text shown when flagging posts\n * - is_nsfw - Whether community contains NSFW content\n *\n * @example\n * ```typescript\n * const updateMutation = useUpdateCommunity('hive-123456', username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Update community properties\n * updateMutation.mutate({\n * title: 'My Awesome Community',\n * about: 'A place for awesome people',\n * lang: 'en',\n * description: '# Welcome\\nThis is our community description',\n * flag_text: 'Please explain why this content violates our rules',\n * is_nsfw: false\n * });\n * ```\n */\nexport function useUpdateCommunity(\n community: string,\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<UpdateCommunityPayload>(\n [\"communities\", \"update\", community],\n username,\n (props) => [\n buildUpdateCommunityOp(username!, community, props)\n ],\n async (_result: any, variables) => {\n // Optimistic property merge in community cache\n // Query key is [\"community\",\"single\",name,observer] — observer varies, so use predicate\n const qc = getQueryClient();\n qc.setQueriesData<Community>(\n { queryKey: QueryKeys.communities.singlePrefix(community) },\n (prev) => {\n if (!prev) return prev;\n return { ...prev, ...(variables as unknown as Partial<Community>) };\n }\n );\n\n // Cache invalidation — prefix-match all community single queries\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n [...QueryKeys.communities.singlePrefix(community)]\n ]);\n }\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'async' }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {b}from'./chunk-5E5OZMDZ.js';import {a}from'./chunk-WTHEQ3M5.js';import {j}from'./chunk-RAWKN3XW.js';import {queryOptions}from'@tanstack/react-query';function l(r,t){return queryOptions({queryKey:a.posts.contentReplies(r,t),enabled:!!r&&!!t,queryFn:async()=>{let s=await j("condenser_api.get_content_replies",{author:r,permlink:t});return b(s??[])}})}export{l as a};//# sourceMappingURL=chunk-A5AOSB6C.js.map
2
- //# sourceMappingURL=chunk-A5AOSB6C.js.map
1
+ import {b}from'./chunk-5E5OZMDZ.js';import {a}from'./chunk-CQOMDMT6.js';import {j}from'./chunk-RAWKN3XW.js';import {queryOptions}from'@tanstack/react-query';function l(r,t){return queryOptions({queryKey:a.posts.contentReplies(r,t),enabled:!!r&&!!t,queryFn:async()=>{let s=await j("condenser_api.get_content_replies",{author:r,permlink:t});return b(s??[])}})}export{l as a};//# sourceMappingURL=chunk-4E5ZL6XD.js.map
2
+ //# sourceMappingURL=chunk-4E5ZL6XD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/posts/queries/get-content-replies-query-options.ts"],"names":["getContentRepliesQueryOptions","author","permlink","queryOptions","QueryKeys","replies","callRPC","filterDmcaEntry"],"mappings":"6JAMO,SAASA,EAA8BC,CAAAA,CAAgBC,CAAAA,CAAkB,CAC9E,OAAOC,YAAAA,CAAa,CAClB,SAAUC,CAAAA,CAAU,KAAA,CAAM,eAAeH,CAAAA,CAAQC,CAAQ,EACzD,OAAA,CAAS,CAAC,CAACD,CAAAA,EAAU,CAAC,CAACC,EAKvB,OAAA,CAAS,SAA8B,CACrC,IAAMG,CAAAA,CAAW,MAAMC,CAAAA,CAAQ,mCAAA,CAAqC,CAClE,MAAA,CAAAL,CAAAA,CACA,QAAA,CAAAC,CACF,CAAC,CAAA,CAED,OAAOK,CAAAA,CAAgBF,CAAAA,EAAW,EAAE,CACtC,CACF,CAAC,CACH","file":"chunk-A5AOSB6C.js","sourcesContent":["import { QueryKeys } from \"@/modules/core\";\nimport { queryOptions } from \"@tanstack/react-query\";\nimport { Entry } from \"../types\";\nimport { callRPC } from \"@/modules/core/hive-tx\";\nimport { filterDmcaEntry } from \"../utils/filter-dmca-entries\";\n\nexport function getContentRepliesQueryOptions(author: string, permlink: string) {\n return queryOptions({\n queryKey: QueryKeys.posts.contentReplies(author, permlink),\n enabled: !!author && !!permlink,\n // Filtered like its sibling getContentQueryOptions: this is the other raw\n // condenser post query, and a takedown covers a reply the same way it\n // covers the post it hangs under (#1862). Nothing in the apps reads it\n // today, but it is a published export.\n queryFn: async (): Promise<Entry[]> => {\n const replies = (await callRPC(\"condenser_api.get_content_replies\", {\n author,\n permlink,\n })) as Entry[] | null;\n\n return filterDmcaEntry(replies ?? []) as Entry[];\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/posts/queries/get-content-replies-query-options.ts"],"names":["getContentRepliesQueryOptions","author","permlink","queryOptions","QueryKeys","replies","callRPC","filterDmcaEntry"],"mappings":"6JAMO,SAASA,EAA8BC,CAAAA,CAAgBC,CAAAA,CAAkB,CAC9E,OAAOC,YAAAA,CAAa,CAClB,SAAUC,CAAAA,CAAU,KAAA,CAAM,eAAeH,CAAAA,CAAQC,CAAQ,EACzD,OAAA,CAAS,CAAC,CAACD,CAAAA,EAAU,CAAC,CAACC,EAKvB,OAAA,CAAS,SAA8B,CACrC,IAAMG,CAAAA,CAAW,MAAMC,CAAAA,CAAQ,mCAAA,CAAqC,CAClE,MAAA,CAAAL,CAAAA,CACA,QAAA,CAAAC,CACF,CAAC,CAAA,CAED,OAAOK,CAAAA,CAAgBF,CAAAA,EAAW,EAAE,CACtC,CACF,CAAC,CACH","file":"chunk-4E5ZL6XD.js","sourcesContent":["import { QueryKeys } from \"@/modules/core\";\nimport { queryOptions } from \"@tanstack/react-query\";\nimport { Entry } from \"../types\";\nimport { callRPC } from \"@/modules/core/hive-tx\";\nimport { filterDmcaEntry } from \"../utils/filter-dmca-entries\";\n\nexport function getContentRepliesQueryOptions(author: string, permlink: string) {\n return queryOptions({\n queryKey: QueryKeys.posts.contentReplies(author, permlink),\n enabled: !!author && !!permlink,\n // Filtered like its sibling getContentQueryOptions: this is the other raw\n // condenser post query, and a takedown covers a reply the same way it\n // covers the post it hangs under (#1862). Nothing in the apps reads it\n // today, but it is a published export.\n queryFn: async (): Promise<Entry[]> => {\n const replies = (await callRPC(\"condenser_api.get_content_replies\", {\n author,\n permlink,\n })) as Entry[] | null;\n\n return filterDmcaEntry(replies ?? []) as Entry[];\n },\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-HVIGVB6L.js';import {a as a$1}from'./chunk-EOSE4FQA.js';import {b}from'./chunk-PFVWZI3W.js';import {a as a$2}from'./chunk-WTHEQ3M5.js';function y(o,t,n){let e=o.some(r=>r.voter===t);return n!==0?e:!e}function u(o,t,n){let e=a.getEntry(t.author,t.permlink,n);if(!e?.active_votes||y(e.active_votes,o,t.weight))return;let r=[...e.active_votes.filter(d=>d.voter!==o),...t.weight!==0?[{rshares:t.weight,voter:o}]:[]],i=e.payout+(t.estimated??0);a.updateVotes(t.author,t.permlink,r,i,n);}function V(o,t,n){return b(["posts","vote"],o,({author:e,permlink:r,weight:i})=>[a$1(o,e,r,i)],async(e,r)=>{u(o,r);let i=e?.id??e?.tx_id;if(t?.adapter?.recordActivity&&i&&t.adapter.recordActivity(120,i,e?.block_num).catch(()=>{}),t?.adapter?.invalidateQueries){let d=()=>{t.adapter.invalidateQueries([a$2.posts.entry(`/@${r.author}/${r.permlink}`),a$2.accounts.full(o)]);};(n??"async")==="async"?setTimeout(d,4e3):d();}},t,"posting",{broadcastMode:n??"async"})}export{y as a,u as b,V as c};//# sourceMappingURL=chunk-IRITFNBC.js.map
2
- //# sourceMappingURL=chunk-IRITFNBC.js.map
1
+ import {a}from'./chunk-EJNY752E.js';import {a as a$1}from'./chunk-EOSE4FQA.js';import {b}from'./chunk-PFVWZI3W.js';import {a as a$2}from'./chunk-CQOMDMT6.js';function y(o,t,n){let e=o.some(r=>r.voter===t);return n!==0?e:!e}function u(o,t,n){let e=a.getEntry(t.author,t.permlink,n);if(!e?.active_votes||y(e.active_votes,o,t.weight))return;let r=[...e.active_votes.filter(d=>d.voter!==o),...t.weight!==0?[{rshares:t.weight,voter:o}]:[]],i=e.payout+(t.estimated??0);a.updateVotes(t.author,t.permlink,r,i,n);}function V(o,t,n){return b(["posts","vote"],o,({author:e,permlink:r,weight:i})=>[a$1(o,e,r,i)],async(e,r)=>{u(o,r);let i=e?.id??e?.tx_id;if(t?.adapter?.recordActivity&&i&&t.adapter.recordActivity(120,i,e?.block_num).catch(()=>{}),t?.adapter?.invalidateQueries){let d=()=>{t.adapter.invalidateQueries([a$2.posts.entry(`/@${r.author}/${r.permlink}`),a$2.accounts.full(o)]);};(n??"async")==="async"?setTimeout(d,4e3):d();}},t,"posting",{broadcastMode:n??"async"})}export{y as a,u as b,V as c};//# sourceMappingURL=chunk-4HEDK4HJ.js.map
2
+ //# sourceMappingURL=chunk-4HEDK4HJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/posts/mutations/use-vote.ts"],"names":["isVoteAlreadyReflected","activeVotes","voter","weight","hasVoterRecord","v","applyVoteCacheUpdate","username","variables","qc","entry","EntriesCacheManagement","newVotes","newPayout","useVote","auth","broadcastMode","useBroadcastMutation","author","permlink","buildVoteOp","result","txId","doInvalidate","QueryKeys"],"mappings":"8JAaO,SAASA,CAAAA,CACdC,EACAC,CAAAA,CACAC,CAAAA,CACS,CACT,IAAMC,CAAAA,CAAiBH,CAAAA,CAAY,IAAA,CAAMI,CAAAA,EAAMA,CAAAA,CAAE,QAAUH,CAAK,CAAA,CAChE,OAAOC,CAAAA,GAAW,CAAA,CAAIC,EAAiB,CAACA,CAC1C,CAyBO,SAASE,CAAAA,CACdC,CAAAA,CACAC,EACAC,CAAAA,CACM,CACN,IAAMC,CAAAA,CAAQC,CAAAA,CAAuB,SAASH,CAAAA,CAAU,MAAA,CAAQA,CAAAA,CAAU,QAAA,CAAUC,CAAE,CAAA,CACtF,GACE,CAACC,CAAAA,EAAO,cACRV,CAAAA,CAAuBU,CAAAA,CAAM,aAAcH,CAAAA,CAAUC,CAAAA,CAAU,MAAM,CAAA,CAErE,OAEF,IAAMI,EAAW,CACf,GAAGF,EAAM,YAAA,CAAa,MAAA,CAAQL,GAAMA,CAAAA,CAAE,KAAA,GAAUE,CAAQ,CAAA,CACxD,GAAIC,CAAAA,CAAU,SAAW,CAAA,CAAI,CAAC,CAAE,OAAA,CAASA,CAAAA,CAAU,OAAQ,KAAA,CAAOD,CAAU,CAAC,CAAA,CAAI,EACnF,EACMM,CAAAA,CAAYH,CAAAA,CAAM,QAAUF,CAAAA,CAAU,SAAA,EAAa,GACzDG,CAAAA,CAAuB,WAAA,CACrBH,CAAAA,CAAU,MAAA,CACVA,CAAAA,CAAU,QAAA,CACVI,EACAC,CAAAA,CACAJ,CACF,EACF,CA0DO,SAASK,EACdP,CAAAA,CACAQ,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,OAAA,CAAS,MAAM,EAChBV,CAAAA,CACA,CAAC,CAAE,MAAA,CAAAW,CAAAA,CAAQ,QAAA,CAAAC,CAAAA,CAAU,MAAA,CAAAhB,CAAO,IAAM,CAChCiB,GAAAA,CAAYb,EAAWW,CAAAA,CAAQC,CAAAA,CAAUhB,CAAM,CACjD,CAAA,CACA,MAAOkB,CAAAA,CAAab,CAAAA,GAAc,CAGhCF,EAAqBC,CAAAA,CAAUC,CAAS,EAKxC,IAAMc,CAAAA,CAAOD,GAAQ,EAAA,EAAMA,CAAAA,EAAQ,KAAA,CAOnC,GANIN,CAAAA,EAAM,OAAA,EAAS,gBAAkBO,CAAAA,EACnCP,CAAAA,CAAK,QAAQ,cAAA,CAAe,GAAA,CAAKO,EAAMD,CAAAA,EAAQ,SAAS,CAAA,CAAE,KAAA,CAAM,IAAM,CAAC,CAAC,CAAA,CAKtEN,CAAAA,EAAM,SAAS,iBAAA,CAAmB,CACpC,IAAMQ,CAAAA,CAAe,IAAM,CACzBR,CAAAA,CAAK,OAAA,CAAS,iBAAA,CAAmB,CAC/BS,GAAAA,CAAU,KAAA,CAAM,MAAM,CAAA,EAAA,EAAKhB,CAAAA,CAAU,MAAM,CAAA,CAAA,EAAIA,CAAAA,CAAU,QAAQ,CAAA,CAAE,CAAA,CACnEgB,GAAAA,CAAU,SAAS,IAAA,CAAKjB,CAAQ,CAClC,CAAC,EACH,GACaS,CAAAA,EAAiB,OAAA,IACjB,OAAA,CACX,UAAA,CAAWO,CAAAA,CAAc,GAAI,EAE7BA,CAAAA,GAEJ,CACF,CAAA,CACAR,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-IRITFNBC.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildVoteOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { EntriesCacheManagement } from \"../cache/entries-cache-management\";\n\n/**\n * Whether the cached active_votes list already reflects the broadcast vote:\n * the voter is present for a vote (weight !== 0) or absent for an unvote\n * (weight === 0). Used to avoid stacking the SDK's post-broadcast optimistic\n * update on top of a platform-level optimistic update applied at press time.\n */\nexport function isVoteAlreadyReflected(\n activeVotes: Array<{ voter: string }>,\n voter: string | undefined,\n weight: number\n): boolean {\n const hasVoterRecord = activeVotes.some((v) => v.voter === voter);\n return weight !== 0 ? hasVoterRecord : !hasVoterRecord;\n}\n\n/**\n * Payload for voting on a post or comment.\n */\nexport interface VotePayload {\n /** Author of the post/comment to vote on */\n author: string;\n /** Permlink of the post/comment to vote on */\n permlink: string;\n /** Vote weight (-10000 to 10000, where 10000 = 100% upvote, -10000 = 100% downvote) */\n weight: number;\n /** Optional estimated payout change for optimistic UI */\n estimated?: number;\n}\n\n/**\n * Post-broadcast optimistic cache update for a vote: replaces the voter's\n * active_votes record and bumps the payout by `estimated`. Skipped when the\n * cached entry already reflects this vote (voter present for a vote, absent\n * for an unvote): platforms with their own at-press optimistic layer (e.g.\n * the mobile app) have applied it by the time the broadcast resolves, and\n * stacking a second update here double-counts the payout and clobbers the\n * platform's richer vote record until the deferred invalidation.\n */\nexport function applyVoteCacheUpdate(\n username: string | undefined,\n variables: VotePayload,\n qc?: QueryClient\n): void {\n const entry = EntriesCacheManagement.getEntry(variables.author, variables.permlink, qc);\n if (\n !entry?.active_votes ||\n isVoteAlreadyReflected(entry.active_votes, username, variables.weight)\n ) {\n return;\n }\n const newVotes = [\n ...entry.active_votes.filter((v) => v.voter !== username),\n ...(variables.weight !== 0 ? [{ rshares: variables.weight, voter: username! }] : [])\n ];\n const newPayout = entry.payout + (variables.estimated ?? 0);\n EntriesCacheManagement.updateVotes(\n variables.author,\n variables.permlink,\n newVotes,\n newPayout,\n qc\n );\n}\n\n/**\n * React Query mutation hook for voting on posts and comments.\n *\n * This mutation broadcasts a vote operation to the Hive blockchain,\n * supporting upvotes (positive weight) and downvotes (negative weight).\n *\n * @param username - The username of the voter (required for broadcast)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Post-Broadcast Actions:**\n * - Records activity (type 120) if adapter.recordActivity is available\n * - Invalidates post cache to refetch updated vote data\n * - Invalidates voting power cache to show updated VP\n *\n * **Vote Weight:**\n * - 10000 = 100% upvote\n * - 0 = remove vote\n * - -10000 = 100% downvote\n *\n * @example\n * ```typescript\n * const voteMutation = useVote(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Upvote a post\n * voteMutation.mutate({\n * author: 'alice',\n * permlink: 'my-awesome-post',\n * weight: 10000\n * });\n *\n * // Remove vote\n * voteMutation.mutate({\n * author: 'alice',\n * permlink: 'my-awesome-post',\n * weight: 0\n * });\n *\n * // Downvote\n * voteMutation.mutate({\n * author: 'alice',\n * permlink: 'my-awesome-post',\n * weight: -10000\n * });\n * ```\n *\n * @remarks\n * broadcastMode: async — Votes don't require block confirmation.\n * The vote is accepted into the mempool immediately; UI can optimistically update.\n */\nexport function useVote(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<VotePayload>(\n [\"posts\", \"vote\"],\n username,\n ({ author, permlink, weight }) => [\n buildVoteOp(username!, author, permlink, weight)\n ],\n async (result: any, variables) => {\n // Optimistic vote list + payout update (no-op when the cache already\n // reflects this vote — see applyVoteCacheUpdate).\n applyVoteCacheUpdate(username, variables);\n\n // Activity tracking (fire-and-forget — non-critical, shouldn't block mutation completion)\n // Async broadcasts return BroadcastResult ({ tx_id, status }) instead of TransactionConfirmation,\n // so fall back to tx_id when id is absent.\n const txId = result?.id ?? result?.tx_id;\n if (auth?.adapter?.recordActivity && txId) {\n auth.adapter.recordActivity(120, txId, result?.block_num).catch(() => {});\n }\n\n // Cache invalidation — deferred for async broadcasts since onSuccess fires\n // at mempool acceptance before block inclusion.\n if (auth?.adapter?.invalidateQueries) {\n const doInvalidate = () => {\n auth.adapter!.invalidateQueries!([\n QueryKeys.posts.entry(`/@${variables.author}/${variables.permlink}`),\n QueryKeys.accounts.full(username)\n ]);\n };\n const mode = broadcastMode ?? 'async';\n if (mode === 'async') {\n setTimeout(doInvalidate, 4000);\n } else {\n doInvalidate();\n }\n }\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'async' }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/posts/mutations/use-vote.ts"],"names":["isVoteAlreadyReflected","activeVotes","voter","weight","hasVoterRecord","v","applyVoteCacheUpdate","username","variables","qc","entry","EntriesCacheManagement","newVotes","newPayout","useVote","auth","broadcastMode","useBroadcastMutation","author","permlink","buildVoteOp","result","txId","doInvalidate","QueryKeys"],"mappings":"8JAaO,SAASA,CAAAA,CACdC,EACAC,CAAAA,CACAC,CAAAA,CACS,CACT,IAAMC,CAAAA,CAAiBH,CAAAA,CAAY,IAAA,CAAMI,CAAAA,EAAMA,CAAAA,CAAE,QAAUH,CAAK,CAAA,CAChE,OAAOC,CAAAA,GAAW,CAAA,CAAIC,EAAiB,CAACA,CAC1C,CAyBO,SAASE,CAAAA,CACdC,CAAAA,CACAC,EACAC,CAAAA,CACM,CACN,IAAMC,CAAAA,CAAQC,CAAAA,CAAuB,SAASH,CAAAA,CAAU,MAAA,CAAQA,CAAAA,CAAU,QAAA,CAAUC,CAAE,CAAA,CACtF,GACE,CAACC,CAAAA,EAAO,cACRV,CAAAA,CAAuBU,CAAAA,CAAM,aAAcH,CAAAA,CAAUC,CAAAA,CAAU,MAAM,CAAA,CAErE,OAEF,IAAMI,EAAW,CACf,GAAGF,EAAM,YAAA,CAAa,MAAA,CAAQL,GAAMA,CAAAA,CAAE,KAAA,GAAUE,CAAQ,CAAA,CACxD,GAAIC,CAAAA,CAAU,SAAW,CAAA,CAAI,CAAC,CAAE,OAAA,CAASA,CAAAA,CAAU,OAAQ,KAAA,CAAOD,CAAU,CAAC,CAAA,CAAI,EACnF,EACMM,CAAAA,CAAYH,CAAAA,CAAM,QAAUF,CAAAA,CAAU,SAAA,EAAa,GACzDG,CAAAA,CAAuB,WAAA,CACrBH,CAAAA,CAAU,MAAA,CACVA,CAAAA,CAAU,QAAA,CACVI,EACAC,CAAAA,CACAJ,CACF,EACF,CA0DO,SAASK,EACdP,CAAAA,CACAQ,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,OAAA,CAAS,MAAM,EAChBV,CAAAA,CACA,CAAC,CAAE,MAAA,CAAAW,CAAAA,CAAQ,QAAA,CAAAC,CAAAA,CAAU,MAAA,CAAAhB,CAAO,IAAM,CAChCiB,GAAAA,CAAYb,EAAWW,CAAAA,CAAQC,CAAAA,CAAUhB,CAAM,CACjD,CAAA,CACA,MAAOkB,CAAAA,CAAab,CAAAA,GAAc,CAGhCF,EAAqBC,CAAAA,CAAUC,CAAS,EAKxC,IAAMc,CAAAA,CAAOD,GAAQ,EAAA,EAAMA,CAAAA,EAAQ,KAAA,CAOnC,GANIN,CAAAA,EAAM,OAAA,EAAS,gBAAkBO,CAAAA,EACnCP,CAAAA,CAAK,QAAQ,cAAA,CAAe,GAAA,CAAKO,EAAMD,CAAAA,EAAQ,SAAS,CAAA,CAAE,KAAA,CAAM,IAAM,CAAC,CAAC,CAAA,CAKtEN,CAAAA,EAAM,SAAS,iBAAA,CAAmB,CACpC,IAAMQ,CAAAA,CAAe,IAAM,CACzBR,CAAAA,CAAK,OAAA,CAAS,iBAAA,CAAmB,CAC/BS,GAAAA,CAAU,KAAA,CAAM,MAAM,CAAA,EAAA,EAAKhB,CAAAA,CAAU,MAAM,CAAA,CAAA,EAAIA,CAAAA,CAAU,QAAQ,CAAA,CAAE,CAAA,CACnEgB,GAAAA,CAAU,SAAS,IAAA,CAAKjB,CAAQ,CAClC,CAAC,EACH,GACaS,CAAAA,EAAiB,OAAA,IACjB,OAAA,CACX,UAAA,CAAWO,CAAAA,CAAc,GAAI,EAE7BA,CAAAA,GAEJ,CACF,CAAA,CACAR,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-4HEDK4HJ.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildVoteOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { EntriesCacheManagement } from \"../cache/entries-cache-management\";\n\n/**\n * Whether the cached active_votes list already reflects the broadcast vote:\n * the voter is present for a vote (weight !== 0) or absent for an unvote\n * (weight === 0). Used to avoid stacking the SDK's post-broadcast optimistic\n * update on top of a platform-level optimistic update applied at press time.\n */\nexport function isVoteAlreadyReflected(\n activeVotes: Array<{ voter: string }>,\n voter: string | undefined,\n weight: number\n): boolean {\n const hasVoterRecord = activeVotes.some((v) => v.voter === voter);\n return weight !== 0 ? hasVoterRecord : !hasVoterRecord;\n}\n\n/**\n * Payload for voting on a post or comment.\n */\nexport interface VotePayload {\n /** Author of the post/comment to vote on */\n author: string;\n /** Permlink of the post/comment to vote on */\n permlink: string;\n /** Vote weight (-10000 to 10000, where 10000 = 100% upvote, -10000 = 100% downvote) */\n weight: number;\n /** Optional estimated payout change for optimistic UI */\n estimated?: number;\n}\n\n/**\n * Post-broadcast optimistic cache update for a vote: replaces the voter's\n * active_votes record and bumps the payout by `estimated`. Skipped when the\n * cached entry already reflects this vote (voter present for a vote, absent\n * for an unvote): platforms with their own at-press optimistic layer (e.g.\n * the mobile app) have applied it by the time the broadcast resolves, and\n * stacking a second update here double-counts the payout and clobbers the\n * platform's richer vote record until the deferred invalidation.\n */\nexport function applyVoteCacheUpdate(\n username: string | undefined,\n variables: VotePayload,\n qc?: QueryClient\n): void {\n const entry = EntriesCacheManagement.getEntry(variables.author, variables.permlink, qc);\n if (\n !entry?.active_votes ||\n isVoteAlreadyReflected(entry.active_votes, username, variables.weight)\n ) {\n return;\n }\n const newVotes = [\n ...entry.active_votes.filter((v) => v.voter !== username),\n ...(variables.weight !== 0 ? [{ rshares: variables.weight, voter: username! }] : [])\n ];\n const newPayout = entry.payout + (variables.estimated ?? 0);\n EntriesCacheManagement.updateVotes(\n variables.author,\n variables.permlink,\n newVotes,\n newPayout,\n qc\n );\n}\n\n/**\n * React Query mutation hook for voting on posts and comments.\n *\n * This mutation broadcasts a vote operation to the Hive blockchain,\n * supporting upvotes (positive weight) and downvotes (negative weight).\n *\n * @param username - The username of the voter (required for broadcast)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Post-Broadcast Actions:**\n * - Records activity (type 120) if adapter.recordActivity is available\n * - Invalidates post cache to refetch updated vote data\n * - Invalidates voting power cache to show updated VP\n *\n * **Vote Weight:**\n * - 10000 = 100% upvote\n * - 0 = remove vote\n * - -10000 = 100% downvote\n *\n * @example\n * ```typescript\n * const voteMutation = useVote(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Upvote a post\n * voteMutation.mutate({\n * author: 'alice',\n * permlink: 'my-awesome-post',\n * weight: 10000\n * });\n *\n * // Remove vote\n * voteMutation.mutate({\n * author: 'alice',\n * permlink: 'my-awesome-post',\n * weight: 0\n * });\n *\n * // Downvote\n * voteMutation.mutate({\n * author: 'alice',\n * permlink: 'my-awesome-post',\n * weight: -10000\n * });\n * ```\n *\n * @remarks\n * broadcastMode: async — Votes don't require block confirmation.\n * The vote is accepted into the mempool immediately; UI can optimistically update.\n */\nexport function useVote(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<VotePayload>(\n [\"posts\", \"vote\"],\n username,\n ({ author, permlink, weight }) => [\n buildVoteOp(username!, author, permlink, weight)\n ],\n async (result: any, variables) => {\n // Optimistic vote list + payout update (no-op when the cache already\n // reflects this vote — see applyVoteCacheUpdate).\n applyVoteCacheUpdate(username, variables);\n\n // Activity tracking (fire-and-forget — non-critical, shouldn't block mutation completion)\n // Async broadcasts return BroadcastResult ({ tx_id, status }) instead of TransactionConfirmation,\n // so fall back to tx_id when id is absent.\n const txId = result?.id ?? result?.tx_id;\n if (auth?.adapter?.recordActivity && txId) {\n auth.adapter.recordActivity(120, txId, result?.block_num).catch(() => {});\n }\n\n // Cache invalidation — deferred for async broadcasts since onSuccess fires\n // at mempool acceptance before block inclusion.\n if (auth?.adapter?.invalidateQueries) {\n const doInvalidate = () => {\n auth.adapter!.invalidateQueries!([\n QueryKeys.posts.entry(`/@${variables.author}/${variables.permlink}`),\n QueryKeys.accounts.full(username)\n ]);\n };\n const mode = broadcastMode ?? 'async';\n if (mode === 'async') {\n setTimeout(doInvalidate, 4000);\n } else {\n doInvalidate();\n }\n }\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'async' }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-WTHEQ3M5.js';import {j}from'./chunk-RAWKN3XW.js';import {queryOptions}from'@tanstack/react-query';function u(t,e,o=200){return queryOptions({queryKey:a.posts.reblogs(t??"",o),queryFn:async()=>(await j("condenser_api.get_blog_entries",[t??e,0,o])).filter(r=>r.author!==e&&!r.reblogged_on.startsWith("1970-")).map(r=>({author:r.author,permlink:r.permlink})),enabled:!!t})}export{u as a};//# sourceMappingURL=chunk-EG6SMIMF.js.map
2
- //# sourceMappingURL=chunk-EG6SMIMF.js.map
1
+ import {a}from'./chunk-CQOMDMT6.js';import {j}from'./chunk-RAWKN3XW.js';import {queryOptions}from'@tanstack/react-query';function u(t,e,o=200){return queryOptions({queryKey:a.posts.reblogs(t??"",o),queryFn:async()=>(await j("condenser_api.get_blog_entries",[t??e,0,o])).filter(r=>r.author!==e&&!r.reblogged_on.startsWith("1970-")).map(r=>({author:r.author,permlink:r.permlink})),enabled:!!t})}export{u as a};//# sourceMappingURL=chunk-4ZJQ3ZVT.js.map
2
+ //# sourceMappingURL=chunk-4ZJQ3ZVT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/posts/queries/get-reblogs-query-options.ts"],"names":["getReblogsQueryOptions","username","activeUsername","limit","queryOptions","QueryKeys","callRPC","i"],"mappings":"yHAkBO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAQ,GAAA,CACR,CACA,OAAOC,YAAAA,CAAa,CAClB,QAAA,CAAUC,CAAAA,CAAU,KAAA,CAAM,OAAA,CAAQJ,CAAAA,EAAY,EAAA,CAAIE,CAAK,CAAA,CACvD,OAAA,CAAS,SAAA,CACW,MAAMG,CAAAA,CAAQ,gCAAA,CAAkC,CAChEL,CAAAA,EAAYC,CAAAA,CACZ,CAAA,CACAC,CACF,CAAC,CAAA,EAGE,MAAA,CACEI,CAAAA,EACCA,CAAAA,CAAE,MAAA,GAAWL,CAAAA,EACb,CAACK,CAAAA,CAAE,YAAA,CAAa,UAAA,CAAW,OAAO,CACtC,CAAA,CACC,GAAA,CAAKA,CAAAA,GAAO,CAAE,MAAA,CAAQA,CAAAA,CAAE,MAAA,CAAQ,QAAA,CAAUA,CAAAA,CAAE,QAAS,CAAA,CAAE,CAAA,CAE5D,OAAA,CAAS,CAAC,CAACN,CACb,CAAC,CACH","file":"chunk-EG6SMIMF.js","sourcesContent":["import { QueryKeys } from \"@/modules/core\";\nimport { queryOptions } from \"@tanstack/react-query\";\nimport { callRPC } from \"@/modules/core/hive-tx\";\n\nexport interface BlogEntry {\n author: string;\n permlink: string;\n blog: string;\n reblog_on: string;\n reblogged_on: string;\n entry_id: number;\n}\n\nexport interface Reblog {\n author: string;\n permlink: string;\n}\n\nexport function getReblogsQueryOptions(\n username?: string,\n activeUsername?: string,\n limit = 200\n) {\n return queryOptions({\n queryKey: QueryKeys.posts.reblogs(username ?? \"\", limit),\n queryFn: async () => {\n const response = (await callRPC(\"condenser_api.get_blog_entries\", [\n username ?? activeUsername,\n 0,\n limit,\n ])) as BlogEntry[];\n\n return response\n .filter(\n (i) =>\n i.author !== activeUsername &&\n !i.reblogged_on.startsWith(\"1970-\")\n )\n .map((i) => ({ author: i.author, permlink: i.permlink })) as Reblog[];\n },\n enabled: !!username,\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/posts/queries/get-reblogs-query-options.ts"],"names":["getReblogsQueryOptions","username","activeUsername","limit","queryOptions","QueryKeys","callRPC","i"],"mappings":"yHAkBO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAQ,GAAA,CACR,CACA,OAAOC,YAAAA,CAAa,CAClB,QAAA,CAAUC,CAAAA,CAAU,KAAA,CAAM,OAAA,CAAQJ,CAAAA,EAAY,EAAA,CAAIE,CAAK,CAAA,CACvD,OAAA,CAAS,SAAA,CACW,MAAMG,CAAAA,CAAQ,gCAAA,CAAkC,CAChEL,CAAAA,EAAYC,CAAAA,CACZ,CAAA,CACAC,CACF,CAAC,CAAA,EAGE,MAAA,CACEI,CAAAA,EACCA,CAAAA,CAAE,MAAA,GAAWL,CAAAA,EACb,CAACK,CAAAA,CAAE,YAAA,CAAa,UAAA,CAAW,OAAO,CACtC,CAAA,CACC,GAAA,CAAKA,CAAAA,GAAO,CAAE,MAAA,CAAQA,CAAAA,CAAE,MAAA,CAAQ,QAAA,CAAUA,CAAAA,CAAE,QAAS,CAAA,CAAE,CAAA,CAE5D,OAAA,CAAS,CAAC,CAACN,CACb,CAAC,CACH","file":"chunk-4ZJQ3ZVT.js","sourcesContent":["import { QueryKeys } from \"@/modules/core\";\nimport { queryOptions } from \"@tanstack/react-query\";\nimport { callRPC } from \"@/modules/core/hive-tx\";\n\nexport interface BlogEntry {\n author: string;\n permlink: string;\n blog: string;\n reblog_on: string;\n reblogged_on: string;\n entry_id: number;\n}\n\nexport interface Reblog {\n author: string;\n permlink: string;\n}\n\nexport function getReblogsQueryOptions(\n username?: string,\n activeUsername?: string,\n limit = 200\n) {\n return queryOptions({\n queryKey: QueryKeys.posts.reblogs(username ?? \"\", limit),\n queryFn: async () => {\n const response = (await callRPC(\"condenser_api.get_blog_entries\", [\n username ?? activeUsername,\n 0,\n limit,\n ])) as BlogEntry[];\n\n return response\n .filter(\n (i) =>\n i.author !== activeUsername &&\n !i.reblogged_on.startsWith(\"1970-\")\n )\n .map((i) => ({ author: i.author, permlink: i.permlink })) as Reblog[];\n },\n enabled: !!username,\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-4COFIDSX.js';import {b}from'./chunk-PFVWZI3W.js';import {a as a$1}from'./chunk-WTHEQ3M5.js';function c(o,t,u){return b(["promotions","boost-plus"],o,({account:r,duration:e})=>[a(o,r,e)],async(r,{account:e})=>{t?.adapter?.invalidateQueries&&await t.adapter.invalidateQueries([a$1.accounts.full(o),a$1.promotions.boostPlusAccounts(e)]);},t,"active",{broadcastMode:u})}export{c as a};//# sourceMappingURL=chunk-IGKMIJW2.js.map
2
- //# sourceMappingURL=chunk-IGKMIJW2.js.map
1
+ import {a}from'./chunk-4COFIDSX.js';import {b}from'./chunk-PFVWZI3W.js';import {a as a$1}from'./chunk-CQOMDMT6.js';function c(o,t,u){return b(["promotions","boost-plus"],o,({account:r,duration:e})=>[a(o,r,e)],async(r,{account:e})=>{t?.adapter?.invalidateQueries&&await t.adapter.invalidateQueries([a$1.accounts.full(o),a$1.promotions.boostPlusAccounts(e)]);},t,"active",{broadcastMode:u})}export{c as a};//# sourceMappingURL=chunk-5ALE2R4M.js.map
2
+ //# sourceMappingURL=chunk-5ALE2R4M.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/promotions/mutations/use-boost-plus.ts"],"names":["useBoostPlus","username","auth","broadcastMode","useBroadcastMutation","account","duration","buildBoostPlusOp","_data","QueryKeys"],"mappings":"mHAUO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,YAAA,CAAc,YAAY,CAAA,CAC3BH,CAAAA,CACA,CAAC,CAAE,OAAA,CAAAI,CAAAA,CAAS,QAAA,CAAAC,CAAS,CAAA,GAAM,CACzBC,CAAAA,CAAiBN,CAAAA,CAAWI,CAAAA,CAASC,CAAQ,CAC/C,CAAA,CACA,MAAOE,CAAAA,CAAO,CAAE,OAAA,CAAAH,CAAQ,CAAA,GAAM,CACxBH,CAAAA,EAAM,OAAA,EAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,iBAAA,CAAkB,CACnCO,GAAAA,CAAU,QAAA,CAAS,IAAA,CAAKR,CAAQ,CAAA,CAChCQ,GAAAA,CAAU,UAAA,CAAW,iBAAA,CAAkBJ,CAAO,CAChD,CAAC,EAEL,CAAA,CACAH,CAAAA,CACA,QAAA,CACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-IGKMIJW2.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildBoostPlusOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\nexport interface BoostPlusPayload {\n account: string;\n duration: number;\n}\n\nexport function useBoostPlus(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<BoostPlusPayload>(\n [\"promotions\", \"boost-plus\"],\n username,\n ({ account, duration }) => [\n buildBoostPlusOp(username!, account, duration)\n ],\n async (_data, { account }) => {\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n QueryKeys.accounts.full(username),\n QueryKeys.promotions.boostPlusAccounts(account),\n ]);\n }\n },\n auth,\n 'active',\n { broadcastMode }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/promotions/mutations/use-boost-plus.ts"],"names":["useBoostPlus","username","auth","broadcastMode","useBroadcastMutation","account","duration","buildBoostPlusOp","_data","QueryKeys"],"mappings":"mHAUO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,YAAA,CAAc,YAAY,CAAA,CAC3BH,CAAAA,CACA,CAAC,CAAE,OAAA,CAAAI,CAAAA,CAAS,QAAA,CAAAC,CAAS,CAAA,GAAM,CACzBC,CAAAA,CAAiBN,CAAAA,CAAWI,CAAAA,CAASC,CAAQ,CAC/C,CAAA,CACA,MAAOE,CAAAA,CAAO,CAAE,OAAA,CAAAH,CAAQ,CAAA,GAAM,CACxBH,CAAAA,EAAM,OAAA,EAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,iBAAA,CAAkB,CACnCO,GAAAA,CAAU,QAAA,CAAS,IAAA,CAAKR,CAAQ,CAAA,CAChCQ,GAAAA,CAAU,UAAA,CAAW,iBAAA,CAAkBJ,CAAO,CAChD,CAAC,EAEL,CAAA,CACAH,CAAAA,CACA,QAAA,CACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-5ALE2R4M.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildBoostPlusOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\nexport interface BoostPlusPayload {\n account: string;\n duration: number;\n}\n\nexport function useBoostPlus(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<BoostPlusPayload>(\n [\"promotions\", \"boost-plus\"],\n username,\n ({ account, duration }) => [\n buildBoostPlusOp(username!, account, duration)\n ],\n async (_data, { account }) => {\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n QueryKeys.accounts.full(username),\n QueryKeys.promotions.boostPlusAccounts(account),\n ]);\n }\n },\n auth,\n 'active',\n { broadcastMode }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a as a$1}from'./chunk-NLN57OO3.js';import {a}from'./chunk-SEACJS36.js';import {b}from'./chunk-POHYQBLL.js';import {c}from'./chunk-OMSXAN23.js';import {a as a$2}from'./chunk-WTHEQ3M5.js';import {useMutation}from'@tanstack/react-query';var S=new Set([502,504,520,522,524]),w=2,k=15e4,y=3e3,P=1e4;function T(t){let s=typeof t=="number"?t:Number.NaN;return !Number.isFinite(s)||s<=0?y:Math.min(s*1e3,P)}var D=t=>new Promise(s=>setTimeout(s,t));async function v(t,s,o,{sleep:_=D,now:a$2=Date.now}={}){let h=a(),E=JSON.stringify({code:s,us:t,action:o.action,text:o.text,idempotency_key:o.idempotency_key||a$1()}),A=a$2()+k,c$1=0,p=async e=>a$2()+e>=A?false:(await _(e),a$2()<A),R=async()=>{let e=typeof AbortController=="function"?new AbortController:void 0,r=e?setTimeout(()=>e.abort(),Math.max(0,A-a$2())):void 0;try{let i=await h(c.privateApiHost+"/private-api/ai-assist",{method:"POST",headers:{"Content-Type":"application/json"},body:E,signal:e?.signal});if(i.ok)return {ok:!0,data:await i.json()};let n="";try{n=await i.text();}catch{}return {ok:!1,status:i.status,text:n}}finally{clearTimeout(r);}};for(;;){let e;try{e=await R();}catch(b){if(c$1<w&&await p(y)){c$1++;continue}throw b}if(e.ok)return e.data;let{status:r,text:i}=e,n={};try{n=JSON.parse(i);}catch{}if(r===409&&n.error==="in_progress"){if(await p(T(n.retry_after)))continue}else if(S.has(r)&&c$1<w&&await p(y)){c$1++;continue}throw Object.assign(new Error(`[SDK][AI][Assist] \u2013 failed with status ${r}${i?`: ${i}`:""}`),{status:r,data:n})}}function g(t){b().invalidateQueries({queryKey:a$2.points._prefix(t)}),b().invalidateQueries({queryKey:a$2.ai.assistPrices(t)});}function I(t,s){return useMutation({mutationKey:a$2.ai.assist(t),mutationFn:async o=>{if(!t)throw new Error("[SDK][AI][Assist] \u2013 username wasn't provided");if(!s)throw new Error("[SDK][AI][Assist] \u2013 access token wasn't found");return v(t,o.code??s,o)},onSuccess:()=>{t&&g(t);},onError:()=>{t&&g(t);}})}export{v as a,g as b,I as c};//# sourceMappingURL=chunk-4FKSDPCH.js.map
2
- //# sourceMappingURL=chunk-4FKSDPCH.js.map
1
+ import {a as a$1}from'./chunk-NLN57OO3.js';import {a}from'./chunk-SEACJS36.js';import {b}from'./chunk-POHYQBLL.js';import {c}from'./chunk-OMSXAN23.js';import {a as a$2}from'./chunk-CQOMDMT6.js';import {useMutation}from'@tanstack/react-query';var S=new Set([502,504,520,522,524]),w=2,k=15e4,y=3e3,P=1e4;function T(t){let s=typeof t=="number"?t:Number.NaN;return !Number.isFinite(s)||s<=0?y:Math.min(s*1e3,P)}var D=t=>new Promise(s=>setTimeout(s,t));async function v(t,s,o,{sleep:_=D,now:a$2=Date.now}={}){let h=a(),E=JSON.stringify({code:s,us:t,action:o.action,text:o.text,idempotency_key:o.idempotency_key||a$1()}),A=a$2()+k,c$1=0,p=async e=>a$2()+e>=A?false:(await _(e),a$2()<A),R=async()=>{let e=typeof AbortController=="function"?new AbortController:void 0,r=e?setTimeout(()=>e.abort(),Math.max(0,A-a$2())):void 0;try{let i=await h(c.privateApiHost+"/private-api/ai-assist",{method:"POST",headers:{"Content-Type":"application/json"},body:E,signal:e?.signal});if(i.ok)return {ok:!0,data:await i.json()};let n="";try{n=await i.text();}catch{}return {ok:!1,status:i.status,text:n}}finally{clearTimeout(r);}};for(;;){let e;try{e=await R();}catch(b){if(c$1<w&&await p(y)){c$1++;continue}throw b}if(e.ok)return e.data;let{status:r,text:i}=e,n={};try{n=JSON.parse(i);}catch{}if(r===409&&n.error==="in_progress"){if(await p(T(n.retry_after)))continue}else if(S.has(r)&&c$1<w&&await p(y)){c$1++;continue}throw Object.assign(new Error(`[SDK][AI][Assist] \u2013 failed with status ${r}${i?`: ${i}`:""}`),{status:r,data:n})}}function g(t){b().invalidateQueries({queryKey:a$2.points._prefix(t)}),b().invalidateQueries({queryKey:a$2.ai.assistPrices(t)});}function I(t,s){return useMutation({mutationKey:a$2.ai.assist(t),mutationFn:async o=>{if(!t)throw new Error("[SDK][AI][Assist] \u2013 username wasn't provided");if(!s)throw new Error("[SDK][AI][Assist] \u2013 access token wasn't found");return v(t,o.code??s,o)},onSuccess:()=>{t&&g(t);},onError:()=>{t&&g(t);}})}export{v as a,g as b,I as c};//# sourceMappingURL=chunk-5BMGLGTK.js.map
2
+ //# sourceMappingURL=chunk-5BMGLGTK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/ai/mutations/use-ai-assist.ts"],"names":["GATEWAY_STATUSES","MAX_GATEWAY_RETRIES","DEADLINE_MS","DEFAULT_RETRY_DELAY_MS","MAX_RETRY_DELAY_MS","retryDelayMs","retryAfter","seconds","wait","ms","resolve","aiAssistRequest","username","code","params","sleep","now","fetchApi","getBoundFetch","body","makeIdempotencyKey","deadline","gatewayRetries","retryWithin","delayMs","attempt","controller","timer","response","CONFIG","text","result","e","status","data","invalidateAiAssistCaches","getQueryClient","QueryKeys","useAiAssist","accessToken","useMutation"],"mappings":"kPAyBA,IAAMA,EAAmB,IAAI,GAAA,CAAI,CAAC,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,IAAK,GAAG,CAAC,EACpDC,CAAAA,CAAsB,CAAA,CACtBC,EAAc,IAAA,CACdC,CAAAA,CAAyB,GAAA,CACzBC,CAAAA,CAAqB,GAAA,CAE3B,SAASC,EAAaC,CAAAA,CAA6B,CACjD,IAAMC,CAAAA,CAAU,OAAOD,GAAe,QAAA,CAAWA,CAAAA,CAAa,MAAA,CAAO,GAAA,CACrE,OAAI,CAAC,OAAO,QAAA,CAASC,CAAO,GAAKA,CAAAA,EAAW,CAAA,CAAUJ,EAC/C,IAAA,CAAK,GAAA,CAAII,CAAAA,CAAU,GAAA,CAAMH,CAAkB,CACpD,CAEA,IAAMI,CAAAA,CAAQC,GAAe,IAAI,OAAA,CAAeC,GAAY,UAAA,CAAWA,CAAAA,CAASD,CAAE,CAAC,CAAA,CAmBnF,eAAsBE,EACpBC,CAAAA,CACAC,CAAAA,CACAC,EACA,CAAE,KAAA,CAAAC,EAAQP,CAAAA,CAAM,GAAA,CAAAQ,GAAAA,CAAM,IAAA,CAAK,GAAI,CAAA,CAA4B,EAAC,CACjC,CAC3B,IAAMC,CAAAA,CAAWC,CAAAA,GACXC,CAAAA,CAAO,IAAA,CAAK,SAAA,CAAU,CAC1B,IAAA,CAAAN,CAAAA,CACA,GAAID,CAAAA,CACJ,MAAA,CAAQE,EAAO,MAAA,CACf,IAAA,CAAMA,EAAO,IAAA,CACb,eAAA,CAAiBA,CAAAA,CAAO,eAAA,EAAmBM,GAAAA,EAC7C,CAAC,CAAA,CACKC,CAAAA,CAAWL,KAAI,CAAId,CAAAA,CACrBoB,IAAiB,CAAA,CAEfC,CAAAA,CAAc,MAAOC,CAAAA,EACrBR,GAAAA,EAAI,CAAIQ,GAAWH,CAAAA,CAAiB,KAAA,EACxC,MAAMN,CAAAA,CAAMS,CAAO,EAEZR,GAAAA,EAAI,CAAIK,CAAAA,CAAAA,CAKXI,CAAAA,CAAU,SAA8B,CAC5C,IAAMC,CAAAA,CAAa,OAAO,iBAAoB,UAAA,CAAa,IAAI,gBAAoB,MAAA,CAC7EC,CAAAA,CAAQD,CAAAA,CACV,UAAA,CAAW,IAAMA,CAAAA,CAAW,OAAM,CAAG,IAAA,CAAK,IAAI,CAAA,CAAGL,CAAAA,CAAWL,KAAK,CAAC,CAAA,CAClE,MAAA,CACJ,GAAI,CACF,IAAMY,CAAAA,CAAW,MAAMX,EAASY,CAAAA,CAAO,cAAA,CAAiB,yBAA0B,CAChF,MAAA,CAAQ,MAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAClB,CAAA,CACA,IAAA,CAAAV,EACA,MAAA,CAAQO,CAAAA,EAAY,MACtB,CAAC,CAAA,CACD,GAAIE,CAAAA,CAAS,EAAA,CACX,OAAO,CAAE,EAAA,CAAI,CAAA,CAAA,CAAM,KAAO,MAAMA,CAAAA,CAAS,MAA4B,CAAA,CAGvE,IAAIE,CAAAA,CAAO,EAAA,CACX,GAAI,CACFA,CAAAA,CAAO,MAAMF,CAAAA,CAAS,IAAA,GACxB,CAAA,KAAQ,CAER,CACA,OAAO,CAAE,EAAA,CAAI,CAAA,CAAA,CAAO,MAAA,CAAQA,EAAS,MAAA,CAAQ,IAAA,CAAAE,CAAK,CACpD,CAAA,OAAE,CACA,YAAA,CAAaH,CAAK,EACpB,CACF,CAAA,CAEA,OAAS,CACP,IAAII,CAAAA,CACJ,GAAI,CACFA,CAAAA,CAAS,MAAMN,CAAAA,GACjB,CAAA,MAASO,CAAAA,CAAG,CACV,GAAIV,IAAiBrB,CAAAA,EAAwB,MAAMsB,EAAYpB,CAAsB,CAAA,CAAI,CACvFmB,GAAAA,EAAAA,CACA,QACF,CACA,MAAMU,CACR,CAEA,GAAID,CAAAA,CAAO,EAAA,CACT,OAAOA,CAAAA,CAAO,IAAA,CAGhB,GAAM,CAAE,MAAA,CAAAE,CAAAA,CAAQ,IAAA,CAAAH,CAAK,CAAA,CAAIC,EACrBG,CAAAA,CAAgC,GACpC,GAAI,CACFA,EAAO,IAAA,CAAK,KAAA,CAAMJ,CAAI,EACxB,CAAA,KAAQ,CAER,CAEA,GAAIG,CAAAA,GAAW,KAAOC,CAAAA,CAAK,KAAA,GAAU,eACnC,GAAI,MAAMX,CAAAA,CAAYlB,CAAAA,CAAa6B,CAAAA,CAAK,WAAW,CAAC,CAAA,CAAG,QAAA,CAAA,KAAA,GAEvDlC,EAAiB,GAAA,CAAIiC,CAAM,GAC3BX,GAAAA,CAAiBrB,CAAAA,EAChB,MAAMsB,CAAAA,CAAYpB,CAAsB,CAAA,CACzC,CACAmB,GAAAA,EAAAA,CACA,QACF,CAEA,MAAM,MAAA,CAAO,MAAA,CACX,IAAI,KAAA,CAAM,CAAA,4CAAA,EAA0CW,CAAM,CAAA,EAAGH,CAAAA,CAAO,CAAA,EAAA,EAAKA,CAAI,CAAA,CAAA,CAAK,EAAE,EAAE,CAAA,CACtF,CAAE,OAAAG,CAAAA,CAAQ,IAAA,CAAAC,CAAK,CACjB,CACF,CACF,CAIO,SAASC,CAAAA,CAAyBvB,EAAkB,CACzDwB,CAAAA,GAAiB,iBAAA,CAAkB,CACjC,QAAA,CAAUC,GAAAA,CAAU,MAAA,CAAO,OAAA,CAAQzB,CAAQ,CAC7C,CAAC,EACDwB,CAAAA,EAAe,CAAE,kBAAkB,CACjC,QAAA,CAAUC,GAAAA,CAAU,EAAA,CAAG,YAAA,CAAazB,CAAQ,CAC9C,CAAC,EACH,CAEO,SAAS0B,CAAAA,CACd1B,EACA2B,CAAAA,CACA,CACA,OAAOC,WAAAA,CAAY,CACjB,WAAA,CAAaH,IAAU,EAAA,CAAG,MAAA,CAAOzB,CAAQ,CAAA,CACzC,UAAA,CAAY,MAAOE,CAAAA,EAAsD,CACvE,GAAI,CAACF,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,mDACF,EAGF,GAAI,CAAC2B,EACH,MAAM,IAAI,KAAA,CACR,oDACF,CAAA,CAGF,OAAO5B,EAAgBC,CAAAA,CAAUE,CAAAA,CAAO,MAAQyB,CAAAA,CAAazB,CAAM,CACrE,CAAA,CACA,SAAA,CAAW,IAAM,CACXF,CAAAA,EAAUuB,CAAAA,CAAyBvB,CAAQ,EACjD,CAAA,CACA,OAAA,CAAS,IAAM,CACTA,CAAAA,EAAUuB,EAAyBvB,CAAQ,EACjD,CACF,CAAC,CACH","file":"chunk-4FKSDPCH.js","sourcesContent":["import { CONFIG, getBoundFetch, getQueryClient, QueryKeys } from \"@/modules/core\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { makeIdempotencyKey } from \"./make-idempotency-key\";\nimport type { AiAssistResponse } from \"../types\";\n\nexport interface AiAssistParams {\n action: string;\n text: string;\n code?: string;\n // Pass the same key when asking again for a request whose result was never shown\n // (e.g. a dialog closed mid-request): the backend replays it instead of charging a\n // second time. If omitted a fresh key is generated per request. Same contract as\n // GenerateImageParams.\n idempotency_key?: string;\n}\n\n// Answers that leave the outcome unknown: the assist may have run, and been charged,\n// even though no result reached us. Retrying with the SAME key returns that result\n// for free instead of paying for a second one. A fresh key per attempt would defeat\n// the dedupe in exactly the case it exists for.\n//\n// A gateway error can also hide a definite failure the backend already refunded,\n// so gateway answers get only a couple of retries. 409 in_progress means the first\n// attempt is still running; polling it is free, so it continues until an overall\n// deadline long enough for that attempt to have finished either way.\nconst GATEWAY_STATUSES = new Set([502, 504, 520, 522, 524]);\nconst MAX_GATEWAY_RETRIES = 2;\nconst DEADLINE_MS = 150_000;\nconst DEFAULT_RETRY_DELAY_MS = 3000;\nconst MAX_RETRY_DELAY_MS = 10_000;\n\nfunction retryDelayMs(retryAfter: unknown): number {\n const seconds = typeof retryAfter === \"number\" ? retryAfter : Number.NaN;\n if (!Number.isFinite(seconds) || seconds <= 0) return DEFAULT_RETRY_DELAY_MS;\n return Math.min(seconds * 1000, MAX_RETRY_DELAY_MS);\n}\n\nconst wait = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));\n\nexport interface AiAssistRequestOptions {\n sleep?: (ms: number) => Promise<void>;\n now?: () => number;\n}\n\ntype Attempt =\n | { ok: true; data: AiAssistResponse }\n | { ok: false; status: number; text: string };\n\n/**\n * POST one AI assist request. The idempotency key is reused on every retry of an\n * ambiguous outcome: 409 in_progress (polled until DEADLINE_MS), or a transport\n * failure, a body that could not be read, or a gateway error (at most\n * MAX_GATEWAY_RETRIES). Each attempt is aborted when the deadline expires, so the\n * whole call is bounded by it. Every other failure, and the last ambiguous one, is\n * thrown with `status` and the parsed body as `data` (transport errors as is).\n */\nexport async function aiAssistRequest(\n username: string,\n code: string,\n params: Pick<AiAssistParams, \"action\" | \"text\" | \"idempotency_key\">,\n { sleep = wait, now = Date.now }: AiAssistRequestOptions = {}\n): Promise<AiAssistResponse> {\n const fetchApi = getBoundFetch();\n const body = JSON.stringify({\n code,\n us: username,\n action: params.action,\n text: params.text,\n idempotency_key: params.idempotency_key || makeIdempotencyKey(),\n });\n const deadline = now() + DEADLINE_MS;\n let gatewayRetries = 0;\n\n const retryWithin = async (delayMs: number): Promise<boolean> => {\n if (now() + delayMs >= deadline) return false;\n await sleep(delayMs);\n // A background tab's timers can fire late; never send past the deadline.\n return now() < deadline;\n };\n\n // Reading the body is part of the attempt: a connection lost after the headers\n // leaves the outcome as unknown as one lost before them.\n const attempt = async (): Promise<Attempt> => {\n const controller = typeof AbortController === \"function\" ? new AbortController() : undefined;\n const timer = controller\n ? setTimeout(() => controller.abort(), Math.max(0, deadline - now()))\n : undefined;\n try {\n const response = await fetchApi(CONFIG.privateApiHost + \"/private-api/ai-assist\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body,\n signal: controller?.signal,\n });\n if (response.ok) {\n return { ok: true, data: (await response.json()) as AiAssistResponse };\n }\n // A definite status stays definite even if its error body cannot be read.\n let text = \"\";\n try {\n text = await response.text();\n } catch {\n // body unavailable\n }\n return { ok: false, status: response.status, text };\n } finally {\n clearTimeout(timer);\n }\n };\n\n for (;;) {\n let result: Attempt;\n try {\n result = await attempt();\n } catch (e) {\n if (gatewayRetries < MAX_GATEWAY_RETRIES && (await retryWithin(DEFAULT_RETRY_DELAY_MS))) {\n gatewayRetries++;\n continue;\n }\n throw e;\n }\n\n if (result.ok) {\n return result.data;\n }\n\n const { status, text } = result;\n let data: Record<string, unknown> = {};\n try {\n data = JSON.parse(text);\n } catch {\n // not JSON\n }\n\n if (status === 409 && data.error === \"in_progress\") {\n if (await retryWithin(retryDelayMs(data.retry_after))) continue;\n } else if (\n GATEWAY_STATUSES.has(status) &&\n gatewayRetries < MAX_GATEWAY_RETRIES &&\n (await retryWithin(DEFAULT_RETRY_DELAY_MS))\n ) {\n gatewayRetries++;\n continue;\n }\n\n throw Object.assign(\n new Error(`[SDK][AI][Assist] – failed with status ${status}${text ? `: ${text}` : \"\"}`),\n { status, data }\n );\n }\n}\n\n// What an assist touches: the Points balance and the per-action free counts. Run on\n// failure too, since a request that failed after retries may still have been charged.\nexport function invalidateAiAssistCaches(username: string) {\n getQueryClient().invalidateQueries({\n queryKey: QueryKeys.points._prefix(username),\n });\n getQueryClient().invalidateQueries({\n queryKey: QueryKeys.ai.assistPrices(username),\n });\n}\n\nexport function useAiAssist(\n username: string | undefined,\n accessToken: string | undefined,\n) {\n return useMutation({\n mutationKey: QueryKeys.ai.assist(username),\n mutationFn: async (params: AiAssistParams): Promise<AiAssistResponse> => {\n if (!username) {\n throw new Error(\n \"[SDK][AI][Assist] – username wasn't provided\"\n );\n }\n\n if (!accessToken) {\n throw new Error(\n \"[SDK][AI][Assist] – access token wasn't found\"\n );\n }\n\n return aiAssistRequest(username, params.code ?? accessToken, params);\n },\n onSuccess: () => {\n if (username) invalidateAiAssistCaches(username);\n },\n onError: () => {\n if (username) invalidateAiAssistCaches(username);\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/ai/mutations/use-ai-assist.ts"],"names":["GATEWAY_STATUSES","MAX_GATEWAY_RETRIES","DEADLINE_MS","DEFAULT_RETRY_DELAY_MS","MAX_RETRY_DELAY_MS","retryDelayMs","retryAfter","seconds","wait","ms","resolve","aiAssistRequest","username","code","params","sleep","now","fetchApi","getBoundFetch","body","makeIdempotencyKey","deadline","gatewayRetries","retryWithin","delayMs","attempt","controller","timer","response","CONFIG","text","result","e","status","data","invalidateAiAssistCaches","getQueryClient","QueryKeys","useAiAssist","accessToken","useMutation"],"mappings":"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","file":"chunk-5BMGLGTK.js","sourcesContent":["import { CONFIG, getBoundFetch, getQueryClient, QueryKeys } from \"@/modules/core\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { makeIdempotencyKey } from \"./make-idempotency-key\";\nimport type { AiAssistResponse } from \"../types\";\n\nexport interface AiAssistParams {\n action: string;\n text: string;\n code?: string;\n // Pass the same key when asking again for a request whose result was never shown\n // (e.g. a dialog closed mid-request): the backend replays it instead of charging a\n // second time. If omitted a fresh key is generated per request. Same contract as\n // GenerateImageParams.\n idempotency_key?: string;\n}\n\n// Answers that leave the outcome unknown: the assist may have run, and been charged,\n// even though no result reached us. Retrying with the SAME key returns that result\n// for free instead of paying for a second one. A fresh key per attempt would defeat\n// the dedupe in exactly the case it exists for.\n//\n// A gateway error can also hide a definite failure the backend already refunded,\n// so gateway answers get only a couple of retries. 409 in_progress means the first\n// attempt is still running; polling it is free, so it continues until an overall\n// deadline long enough for that attempt to have finished either way.\nconst GATEWAY_STATUSES = new Set([502, 504, 520, 522, 524]);\nconst MAX_GATEWAY_RETRIES = 2;\nconst DEADLINE_MS = 150_000;\nconst DEFAULT_RETRY_DELAY_MS = 3000;\nconst MAX_RETRY_DELAY_MS = 10_000;\n\nfunction retryDelayMs(retryAfter: unknown): number {\n const seconds = typeof retryAfter === \"number\" ? retryAfter : Number.NaN;\n if (!Number.isFinite(seconds) || seconds <= 0) return DEFAULT_RETRY_DELAY_MS;\n return Math.min(seconds * 1000, MAX_RETRY_DELAY_MS);\n}\n\nconst wait = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));\n\nexport interface AiAssistRequestOptions {\n sleep?: (ms: number) => Promise<void>;\n now?: () => number;\n}\n\ntype Attempt =\n | { ok: true; data: AiAssistResponse }\n | { ok: false; status: number; text: string };\n\n/**\n * POST one AI assist request. The idempotency key is reused on every retry of an\n * ambiguous outcome: 409 in_progress (polled until DEADLINE_MS), or a transport\n * failure, a body that could not be read, or a gateway error (at most\n * MAX_GATEWAY_RETRIES). Each attempt is aborted when the deadline expires, so the\n * whole call is bounded by it. Every other failure, and the last ambiguous one, is\n * thrown with `status` and the parsed body as `data` (transport errors as is).\n */\nexport async function aiAssistRequest(\n username: string,\n code: string,\n params: Pick<AiAssistParams, \"action\" | \"text\" | \"idempotency_key\">,\n { sleep = wait, now = Date.now }: AiAssistRequestOptions = {}\n): Promise<AiAssistResponse> {\n const fetchApi = getBoundFetch();\n const body = JSON.stringify({\n code,\n us: username,\n action: params.action,\n text: params.text,\n idempotency_key: params.idempotency_key || makeIdempotencyKey(),\n });\n const deadline = now() + DEADLINE_MS;\n let gatewayRetries = 0;\n\n const retryWithin = async (delayMs: number): Promise<boolean> => {\n if (now() + delayMs >= deadline) return false;\n await sleep(delayMs);\n // A background tab's timers can fire late; never send past the deadline.\n return now() < deadline;\n };\n\n // Reading the body is part of the attempt: a connection lost after the headers\n // leaves the outcome as unknown as one lost before them.\n const attempt = async (): Promise<Attempt> => {\n const controller = typeof AbortController === \"function\" ? new AbortController() : undefined;\n const timer = controller\n ? setTimeout(() => controller.abort(), Math.max(0, deadline - now()))\n : undefined;\n try {\n const response = await fetchApi(CONFIG.privateApiHost + \"/private-api/ai-assist\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body,\n signal: controller?.signal,\n });\n if (response.ok) {\n return { ok: true, data: (await response.json()) as AiAssistResponse };\n }\n // A definite status stays definite even if its error body cannot be read.\n let text = \"\";\n try {\n text = await response.text();\n } catch {\n // body unavailable\n }\n return { ok: false, status: response.status, text };\n } finally {\n clearTimeout(timer);\n }\n };\n\n for (;;) {\n let result: Attempt;\n try {\n result = await attempt();\n } catch (e) {\n if (gatewayRetries < MAX_GATEWAY_RETRIES && (await retryWithin(DEFAULT_RETRY_DELAY_MS))) {\n gatewayRetries++;\n continue;\n }\n throw e;\n }\n\n if (result.ok) {\n return result.data;\n }\n\n const { status, text } = result;\n let data: Record<string, unknown> = {};\n try {\n data = JSON.parse(text);\n } catch {\n // not JSON\n }\n\n if (status === 409 && data.error === \"in_progress\") {\n if (await retryWithin(retryDelayMs(data.retry_after))) continue;\n } else if (\n GATEWAY_STATUSES.has(status) &&\n gatewayRetries < MAX_GATEWAY_RETRIES &&\n (await retryWithin(DEFAULT_RETRY_DELAY_MS))\n ) {\n gatewayRetries++;\n continue;\n }\n\n throw Object.assign(\n new Error(`[SDK][AI][Assist] – failed with status ${status}${text ? `: ${text}` : \"\"}`),\n { status, data }\n );\n }\n}\n\n// What an assist touches: the Points balance and the per-action free counts. Run on\n// failure too, since a request that failed after retries may still have been charged.\nexport function invalidateAiAssistCaches(username: string) {\n getQueryClient().invalidateQueries({\n queryKey: QueryKeys.points._prefix(username),\n });\n getQueryClient().invalidateQueries({\n queryKey: QueryKeys.ai.assistPrices(username),\n });\n}\n\nexport function useAiAssist(\n username: string | undefined,\n accessToken: string | undefined,\n) {\n return useMutation({\n mutationKey: QueryKeys.ai.assist(username),\n mutationFn: async (params: AiAssistParams): Promise<AiAssistResponse> => {\n if (!username) {\n throw new Error(\n \"[SDK][AI][Assist] – username wasn't provided\"\n );\n }\n\n if (!accessToken) {\n throw new Error(\n \"[SDK][AI][Assist] – access token wasn't found\"\n );\n }\n\n return aiAssistRequest(username, params.code ?? accessToken, params);\n },\n onSuccess: () => {\n if (username) invalidateAiAssistCaches(username);\n },\n onError: () => {\n if (username) invalidateAiAssistCaches(username);\n },\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {b as b$1}from'./chunk-CNB64U7U.js';import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-WTHEQ3M5.js';function u(t,i,a$1){return b(["wallet","delegate-engine-token"],t,e=>{let o=JSON.stringify({contractName:"tokens",contractAction:"delegate",contractPayload:{symbol:e.symbol,to:e.to,quantity:e.quantity}});return [["custom_json",{id:"ssc-mainnet-hive",required_auths:[t],required_posting_auths:[],json:o}]]},async(e,o)=>{await b$1(i?.adapter,a$1,[a.accounts.full(t),a.accounts.full(o.to),["ecency-wallets","asset-info",t],["wallet","portfolio","v2",t]]);},i,"active",{broadcastMode:a$1})}export{u as a};//# sourceMappingURL=chunk-7EICUHR3.js.map
2
- //# sourceMappingURL=chunk-7EICUHR3.js.map
1
+ import {b as b$1}from'./chunk-CNB64U7U.js';import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-CQOMDMT6.js';function u(t,i,a$1){return b(["wallet","delegate-engine-token"],t,e=>{let o=JSON.stringify({contractName:"tokens",contractAction:"delegate",contractPayload:{symbol:e.symbol,to:e.to,quantity:e.quantity}});return [["custom_json",{id:"ssc-mainnet-hive",required_auths:[t],required_posting_auths:[],json:o}]]},async(e,o)=>{await b$1(i?.adapter,a$1,[a.accounts.full(t),a.accounts.full(o.to),["ecency-wallets","asset-info",t],["wallet","portfolio","v2",t]]);},i,"active",{broadcastMode:a$1})}export{u as a};//# sourceMappingURL=chunk-5H5TL6LY.js.map
2
+ //# sourceMappingURL=chunk-5H5TL6LY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/wallet/mutations/use-delegate-engine-token.ts"],"names":["useDelegateEngineToken","username","auth","broadcastMode","useBroadcastMutation","payload","json","_result","variables","invalidateAfterBroadcast","QueryKeys"],"mappings":"mHAYO,SAASA,CAAAA,CAAuBC,EAA8BC,CAAAA,CACnEC,GAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,QAAA,CAAU,uBAAuB,EAClCH,CAAAA,CACCI,CAAAA,EAAY,CACX,IAAMC,CAAAA,CAAO,KAAK,SAAA,CAAU,CAC1B,YAAA,CAAc,QAAA,CACd,cAAA,CAAgB,UAAA,CAChB,gBAAiB,CACf,MAAA,CAAQD,EAAQ,MAAA,CAChB,EAAA,CAAIA,EAAQ,EAAA,CACZ,QAAA,CAAUA,CAAAA,CAAQ,QACpB,CACF,CAAC,EACD,OAAO,CAAC,CAAC,aAAA,CAAe,CACtB,GAAI,kBAAA,CACJ,cAAA,CAAgB,CAACJ,CAAS,CAAA,CAC1B,sBAAA,CAAwB,EAAC,CACzB,IAAA,CAAAK,CACF,CAAC,CAAc,CACjB,CAAA,CACA,MAAOC,EAASC,CAAAA,GAAc,CAC5B,MAAMC,GAAAA,CAAyBP,CAAAA,EAAM,QAASC,GAAAA,CAAe,CAC3DO,EAAU,QAAA,CAAS,IAAA,CAAKT,CAAQ,CAAA,CAChCS,CAAAA,CAAU,QAAA,CAAS,KAAKF,CAAAA,CAAU,EAAE,EACpC,CAAC,gBAAA,CAAkB,aAAcP,CAAQ,CAAA,CACzC,CAAC,QAAA,CAAU,WAAA,CAAa,IAAA,CAAMA,CAAQ,CACxC,CAAC,EACH,CAAA,CACAC,CAAAA,CACA,SACA,CAAE,aAAA,CAAAC,GAAc,CAClB,CACF","file":"chunk-7EICUHR3.js","sourcesContent":["import { useBroadcastMutation, invalidateAfterBroadcast } from \"@/modules/core/mutations\";\nimport type { BroadcastMode } from \"@/modules/core/mutations\";\nimport { QueryKeys } from \"@/modules/core\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport type { Operation } from \"../../../hive-tx\";\n\nexport interface DelegateEngineTokenPayload {\n to: string;\n symbol: string;\n quantity: string;\n}\n\nexport function useDelegateEngineToken(username: string | undefined, auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<DelegateEngineTokenPayload>(\n [\"wallet\", \"delegate-engine-token\"],\n username,\n (payload) => {\n const json = JSON.stringify({\n contractName: \"tokens\",\n contractAction: \"delegate\",\n contractPayload: {\n symbol: payload.symbol,\n to: payload.to,\n quantity: payload.quantity,\n }\n });\n return [[\"custom_json\", {\n id: \"ssc-mainnet-hive\",\n required_auths: [username!],\n required_posting_auths: [],\n json,\n }] as Operation];\n },\n async (_result, variables) => {\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username),\n QueryKeys.accounts.full(variables.to),\n [\"ecency-wallets\", \"asset-info\", username],\n [\"wallet\", \"portfolio\", \"v2\", username]\n ]);\n },\n auth,\n 'active',\n { broadcastMode }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/wallet/mutations/use-delegate-engine-token.ts"],"names":["useDelegateEngineToken","username","auth","broadcastMode","useBroadcastMutation","payload","json","_result","variables","invalidateAfterBroadcast","QueryKeys"],"mappings":"mHAYO,SAASA,CAAAA,CAAuBC,EAA8BC,CAAAA,CACnEC,GAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,QAAA,CAAU,uBAAuB,EAClCH,CAAAA,CACCI,CAAAA,EAAY,CACX,IAAMC,CAAAA,CAAO,KAAK,SAAA,CAAU,CAC1B,YAAA,CAAc,QAAA,CACd,cAAA,CAAgB,UAAA,CAChB,gBAAiB,CACf,MAAA,CAAQD,EAAQ,MAAA,CAChB,EAAA,CAAIA,EAAQ,EAAA,CACZ,QAAA,CAAUA,CAAAA,CAAQ,QACpB,CACF,CAAC,EACD,OAAO,CAAC,CAAC,aAAA,CAAe,CACtB,GAAI,kBAAA,CACJ,cAAA,CAAgB,CAACJ,CAAS,CAAA,CAC1B,sBAAA,CAAwB,EAAC,CACzB,IAAA,CAAAK,CACF,CAAC,CAAc,CACjB,CAAA,CACA,MAAOC,EAASC,CAAAA,GAAc,CAC5B,MAAMC,GAAAA,CAAyBP,CAAAA,EAAM,QAASC,GAAAA,CAAe,CAC3DO,EAAU,QAAA,CAAS,IAAA,CAAKT,CAAQ,CAAA,CAChCS,CAAAA,CAAU,QAAA,CAAS,KAAKF,CAAAA,CAAU,EAAE,EACpC,CAAC,gBAAA,CAAkB,aAAcP,CAAQ,CAAA,CACzC,CAAC,QAAA,CAAU,WAAA,CAAa,IAAA,CAAMA,CAAQ,CACxC,CAAC,EACH,CAAA,CACAC,CAAAA,CACA,SACA,CAAE,aAAA,CAAAC,GAAc,CAClB,CACF","file":"chunk-5H5TL6LY.js","sourcesContent":["import { useBroadcastMutation, invalidateAfterBroadcast } from \"@/modules/core/mutations\";\nimport type { BroadcastMode } from \"@/modules/core/mutations\";\nimport { QueryKeys } from \"@/modules/core\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport type { Operation } from \"../../../hive-tx\";\n\nexport interface DelegateEngineTokenPayload {\n to: string;\n symbol: string;\n quantity: string;\n}\n\nexport function useDelegateEngineToken(username: string | undefined, auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<DelegateEngineTokenPayload>(\n [\"wallet\", \"delegate-engine-token\"],\n username,\n (payload) => {\n const json = JSON.stringify({\n contractName: \"tokens\",\n contractAction: \"delegate\",\n contractPayload: {\n symbol: payload.symbol,\n to: payload.to,\n quantity: payload.quantity,\n }\n });\n return [[\"custom_json\", {\n id: \"ssc-mainnet-hive\",\n required_auths: [username!],\n required_posting_auths: [],\n json,\n }] as Operation];\n },\n async (_result, variables) => {\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username),\n QueryKeys.accounts.full(variables.to),\n [\"ecency-wallets\", \"asset-info\", username],\n [\"wallet\", \"portfolio\", \"v2\", username]\n ]);\n },\n auth,\n 'active',\n { broadcastMode }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-SEACJS36.js';import {b}from'./chunk-ASN6FTIA.js';import {c}from'./chunk-OMSXAN23.js';import {a as a$1}from'./chunk-WTHEQ3M5.js';import {queryOptions,infiniteQueryOptions}from'@tanstack/react-query';function l(t,n){return queryOptions({queryKey:a$1.posts.schedules(t),queryFn:async()=>{if(!t||!n)return [];let e=await a()(c.privateApiHost+"/private-api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:n})});if(!e.ok)throw new Error(`Failed to fetch schedules: ${e.status}`);return e.json()},enabled:!!t&&!!n})}function g(t,n,i=10){return infiniteQueryOptions({queryKey:a$1.posts.schedulesInfinite(t,i),queryFn:async({pageParam:e=0})=>{if(!t||!n)return {data:[],pagination:{total:0,limit:i,offset:0,has_next:false}};let r=await a()(`${c.privateApiHost}/private-api/schedules?format=wrapped&offset=${e}&limit=${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:n})});if(!r.ok)throw new Error(`Failed to fetch schedules: ${r.status}`);let u=await r.json();return b(u,i)},initialPageParam:0,getNextPageParam:e=>{if(e.pagination.has_next)return e.pagination.offset+e.pagination.limit},enabled:!!t&&!!n})}export{l as a,g as b};//# sourceMappingURL=chunk-7Z22E6GD.js.map
2
- //# sourceMappingURL=chunk-7Z22E6GD.js.map
1
+ import {b}from'./chunk-ASN6FTIA.js';import {a}from'./chunk-SEACJS36.js';import {c}from'./chunk-OMSXAN23.js';import {a as a$1}from'./chunk-CQOMDMT6.js';import {queryOptions,infiniteQueryOptions}from'@tanstack/react-query';function l(t,n){return queryOptions({queryKey:a$1.posts.schedules(t),queryFn:async()=>{if(!t||!n)return [];let e=await a()(c.privateApiHost+"/private-api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:n})});if(!e.ok)throw new Error(`Failed to fetch schedules: ${e.status}`);return e.json()},enabled:!!t&&!!n})}function g(t,n,i=10){return infiniteQueryOptions({queryKey:a$1.posts.schedulesInfinite(t,i),queryFn:async({pageParam:e=0})=>{if(!t||!n)return {data:[],pagination:{total:0,limit:i,offset:0,has_next:false}};let r=await a()(`${c.privateApiHost}/private-api/schedules?format=wrapped&offset=${e}&limit=${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:n})});if(!r.ok)throw new Error(`Failed to fetch schedules: ${r.status}`);let u=await r.json();return b(u,i)},initialPageParam:0,getNextPageParam:e=>{if(e.pagination.has_next)return e.pagination.offset+e.pagination.limit},enabled:!!t&&!!n})}export{l as a,g as b};//# sourceMappingURL=chunk-5KDNB6UV.js.map
2
+ //# sourceMappingURL=chunk-5KDNB6UV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/posts/queries/get-schedules-query-options.ts"],"names":["getSchedulesQueryOptions","activeUsername","code","queryOptions","QueryKeys","response","getBoundFetch","CONFIG","getSchedulesInfiniteQueryOptions","limit","infiniteQueryOptions","pageParam","json","normalizeToWrappedResponse","lastPage"],"mappings":"6NAIO,SAASA,CAAAA,CAAyBC,CAAAA,CAAoCC,CAAAA,CAAe,CAC1F,OAAOC,aAAa,CAClB,QAAA,CAAUC,IAAU,KAAA,CAAM,SAAA,CAAUH,CAAc,CAAA,CAClD,OAAA,CAAS,SAAY,CACnB,GAAI,CAACA,GAAkB,CAACC,CAAAA,CACtB,OAAO,EAAC,CAIV,IAAMG,CAAAA,CAAW,MADAC,CAAAA,EAAc,CACCC,CAAAA,CAAO,cAAA,CAAiB,yBAA0B,CAChF,MAAA,CAAQ,MAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAClB,CAAA,CACA,IAAA,CAAM,IAAA,CAAK,SAAA,CAAU,CACnB,IAAA,CAAAL,CACF,CAAC,CACH,CAAC,CAAA,CAED,GAAI,CAACG,CAAAA,CAAS,EAAA,CACZ,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8BA,EAAS,MAAM,CAAA,CAAE,CAAA,CAGjE,OAAOA,CAAAA,CAAS,IAAA,EAClB,CAAA,CACA,OAAA,CAAS,CAAC,CAACJ,CAAAA,EAAkB,CAAC,CAACC,CACjC,CAAC,CACH,CAEO,SAASM,EACdP,CAAAA,CACAC,CAAAA,CACAO,CAAAA,CAAgB,EAAA,CAChB,CACA,OAAOC,qBAAqB,CAC1B,QAAA,CAAUN,GAAAA,CAAU,KAAA,CAAM,iBAAA,CAAkBH,CAAAA,CAAgBQ,CAAK,CAAA,CACjE,OAAA,CAAS,MAAO,CAAE,SAAA,CAAAE,CAAAA,CAAY,CAAE,CAAA,GAAM,CACpC,GAAI,CAACV,CAAAA,EAAkB,CAACC,CAAAA,CACtB,OAAO,CACL,IAAA,CAAM,EAAC,CACP,WAAY,CACV,KAAA,CAAO,EACP,KAAA,CAAAO,CAAAA,CACA,OAAQ,CAAA,CACR,QAAA,CAAU,KACZ,CACF,CAAA,CAIF,IAAMJ,EAAW,MADAC,CAAAA,GAEf,CAAA,EAAGC,CAAAA,CAAO,cAAc,CAAA,6CAAA,EAAgDI,CAAS,CAAA,OAAA,EAAUF,CAAK,CAAA,CAAA,CAChG,CACE,OAAQ,MAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAClB,CAAA,CACA,KAAM,IAAA,CAAK,SAAA,CAAU,CACnB,IAAA,CAAAP,CACF,CAAC,CACH,CACF,CAAA,CAEA,GAAI,CAACG,CAAAA,CAAS,GACZ,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8BA,CAAAA,CAAS,MAAM,EAAE,CAAA,CAGjE,IAAMO,CAAAA,CAAO,MAAMP,CAAAA,CAAS,IAAA,GAC5B,OAAOQ,CAAAA,CAAqCD,CAAAA,CAAMH,CAAK,CACzD,CAAA,CACA,iBAAkB,CAAA,CAClB,gBAAA,CAAmBK,GAAa,CAC9B,GAAIA,EAAS,UAAA,CAAW,QAAA,CACtB,OAAOA,CAAAA,CAAS,UAAA,CAAW,MAAA,CAASA,EAAS,UAAA,CAAW,KAG5D,CAAA,CACA,OAAA,CAAS,CAAC,CAACb,GAAkB,CAAC,CAACC,CACjC,CAAC,CACH","file":"chunk-7Z22E6GD.js","sourcesContent":["import { infiniteQueryOptions, queryOptions } from \"@tanstack/react-query\";\nimport { CONFIG, getBoundFetch, normalizeToWrappedResponse, QueryKeys } from \"@/modules/core\";\nimport { Schedule } from \"../types/schedule\";\n\nexport function getSchedulesQueryOptions(activeUsername: string | undefined, code?: string) {\n return queryOptions({\n queryKey: QueryKeys.posts.schedules(activeUsername),\n queryFn: async () => {\n if (!activeUsername || !code) {\n return [];\n }\n\n const fetchApi = getBoundFetch();\n const response = await fetchApi(CONFIG.privateApiHost + \"/private-api/schedules\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch schedules: ${response.status}`);\n }\n\n return response.json() as Promise<Schedule[]>;\n },\n enabled: !!activeUsername && !!code,\n });\n}\n\nexport function getSchedulesInfiniteQueryOptions(\n activeUsername: string | undefined,\n code?: string,\n limit: number = 10\n) {\n return infiniteQueryOptions({\n queryKey: QueryKeys.posts.schedulesInfinite(activeUsername, limit),\n queryFn: async ({ pageParam = 0 }) => {\n if (!activeUsername || !code) {\n return {\n data: [],\n pagination: {\n total: 0,\n limit,\n offset: 0,\n has_next: false,\n },\n };\n }\n\n const fetchApi = getBoundFetch();\n const response = await fetchApi(\n `${CONFIG.privateApiHost}/private-api/schedules?format=wrapped&offset=${pageParam}&limit=${limit}`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code,\n }),\n }\n );\n\n if (!response.ok) {\n throw new Error(`Failed to fetch schedules: ${response.status}`);\n }\n\n const json = await response.json();\n return normalizeToWrappedResponse<Schedule>(json, limit);\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage) => {\n if (lastPage.pagination.has_next) {\n return lastPage.pagination.offset + lastPage.pagination.limit;\n }\n return undefined;\n },\n enabled: !!activeUsername && !!code,\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/posts/queries/get-schedules-query-options.ts"],"names":["getSchedulesQueryOptions","activeUsername","code","queryOptions","QueryKeys","response","getBoundFetch","CONFIG","getSchedulesInfiniteQueryOptions","limit","infiniteQueryOptions","pageParam","json","normalizeToWrappedResponse","lastPage"],"mappings":"6NAIO,SAASA,CAAAA,CAAyBC,CAAAA,CAAoCC,CAAAA,CAAe,CAC1F,OAAOC,aAAa,CAClB,QAAA,CAAUC,IAAU,KAAA,CAAM,SAAA,CAAUH,CAAc,CAAA,CAClD,OAAA,CAAS,SAAY,CACnB,GAAI,CAACA,GAAkB,CAACC,CAAAA,CACtB,OAAO,EAAC,CAIV,IAAMG,CAAAA,CAAW,MADAC,CAAAA,EAAc,CACCC,CAAAA,CAAO,cAAA,CAAiB,yBAA0B,CAChF,MAAA,CAAQ,MAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAClB,CAAA,CACA,IAAA,CAAM,IAAA,CAAK,SAAA,CAAU,CACnB,IAAA,CAAAL,CACF,CAAC,CACH,CAAC,CAAA,CAED,GAAI,CAACG,CAAAA,CAAS,EAAA,CACZ,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8BA,EAAS,MAAM,CAAA,CAAE,CAAA,CAGjE,OAAOA,CAAAA,CAAS,IAAA,EAClB,CAAA,CACA,OAAA,CAAS,CAAC,CAACJ,CAAAA,EAAkB,CAAC,CAACC,CACjC,CAAC,CACH,CAEO,SAASM,EACdP,CAAAA,CACAC,CAAAA,CACAO,CAAAA,CAAgB,EAAA,CAChB,CACA,OAAOC,qBAAqB,CAC1B,QAAA,CAAUN,GAAAA,CAAU,KAAA,CAAM,iBAAA,CAAkBH,CAAAA,CAAgBQ,CAAK,CAAA,CACjE,OAAA,CAAS,MAAO,CAAE,SAAA,CAAAE,CAAAA,CAAY,CAAE,CAAA,GAAM,CACpC,GAAI,CAACV,CAAAA,EAAkB,CAACC,CAAAA,CACtB,OAAO,CACL,IAAA,CAAM,EAAC,CACP,WAAY,CACV,KAAA,CAAO,EACP,KAAA,CAAAO,CAAAA,CACA,OAAQ,CAAA,CACR,QAAA,CAAU,KACZ,CACF,CAAA,CAIF,IAAMJ,EAAW,MADAC,CAAAA,GAEf,CAAA,EAAGC,CAAAA,CAAO,cAAc,CAAA,6CAAA,EAAgDI,CAAS,CAAA,OAAA,EAAUF,CAAK,CAAA,CAAA,CAChG,CACE,OAAQ,MAAA,CACR,OAAA,CAAS,CACP,cAAA,CAAgB,kBAClB,CAAA,CACA,KAAM,IAAA,CAAK,SAAA,CAAU,CACnB,IAAA,CAAAP,CACF,CAAC,CACH,CACF,CAAA,CAEA,GAAI,CAACG,CAAAA,CAAS,GACZ,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8BA,CAAAA,CAAS,MAAM,EAAE,CAAA,CAGjE,IAAMO,CAAAA,CAAO,MAAMP,CAAAA,CAAS,IAAA,GAC5B,OAAOQ,CAAAA,CAAqCD,CAAAA,CAAMH,CAAK,CACzD,CAAA,CACA,iBAAkB,CAAA,CAClB,gBAAA,CAAmBK,GAAa,CAC9B,GAAIA,EAAS,UAAA,CAAW,QAAA,CACtB,OAAOA,CAAAA,CAAS,UAAA,CAAW,MAAA,CAASA,EAAS,UAAA,CAAW,KAG5D,CAAA,CACA,OAAA,CAAS,CAAC,CAACb,GAAkB,CAAC,CAACC,CACjC,CAAC,CACH","file":"chunk-5KDNB6UV.js","sourcesContent":["import { infiniteQueryOptions, queryOptions } from \"@tanstack/react-query\";\nimport { CONFIG, getBoundFetch, normalizeToWrappedResponse, QueryKeys } from \"@/modules/core\";\nimport { Schedule } from \"../types/schedule\";\n\nexport function getSchedulesQueryOptions(activeUsername: string | undefined, code?: string) {\n return queryOptions({\n queryKey: QueryKeys.posts.schedules(activeUsername),\n queryFn: async () => {\n if (!activeUsername || !code) {\n return [];\n }\n\n const fetchApi = getBoundFetch();\n const response = await fetchApi(CONFIG.privateApiHost + \"/private-api/schedules\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch schedules: ${response.status}`);\n }\n\n return response.json() as Promise<Schedule[]>;\n },\n enabled: !!activeUsername && !!code,\n });\n}\n\nexport function getSchedulesInfiniteQueryOptions(\n activeUsername: string | undefined,\n code?: string,\n limit: number = 10\n) {\n return infiniteQueryOptions({\n queryKey: QueryKeys.posts.schedulesInfinite(activeUsername, limit),\n queryFn: async ({ pageParam = 0 }) => {\n if (!activeUsername || !code) {\n return {\n data: [],\n pagination: {\n total: 0,\n limit,\n offset: 0,\n has_next: false,\n },\n };\n }\n\n const fetchApi = getBoundFetch();\n const response = await fetchApi(\n `${CONFIG.privateApiHost}/private-api/schedules?format=wrapped&offset=${pageParam}&limit=${limit}`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code,\n }),\n }\n );\n\n if (!response.ok) {\n throw new Error(`Failed to fetch schedules: ${response.status}`);\n }\n\n const json = await response.json();\n return normalizeToWrappedResponse<Schedule>(json, limit);\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage) => {\n if (lastPage.pagination.has_next) {\n return lastPage.pagination.offset + lastPage.pagination.limit;\n }\n return undefined;\n },\n enabled: !!activeUsername && !!code,\n });\n}\n"]}