@ecency/sdk 2.4.23 → 2.4.24

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 (536) hide show
  1. package/dist/browser/{chunk-RBORSSX5.js → chunk-2JKJ4XWU.js} +2 -2
  2. package/dist/browser/{chunk-RBORSSX5.js.map → chunk-2JKJ4XWU.js.map} +1 -1
  3. package/dist/browser/{chunk-HV4BKN6J.js → chunk-2KEJTQE4.js} +2 -2
  4. package/dist/browser/{chunk-HV4BKN6J.js.map → chunk-2KEJTQE4.js.map} +1 -1
  5. package/dist/browser/{chunk-4R7PDEUP.js → chunk-32UMQJXQ.js} +2 -2
  6. package/dist/browser/{chunk-4R7PDEUP.js.map → chunk-32UMQJXQ.js.map} +1 -1
  7. package/dist/browser/{chunk-C2EISS5O.js → chunk-37K2OPGL.js} +2 -2
  8. package/dist/browser/{chunk-C2EISS5O.js.map → chunk-37K2OPGL.js.map} +1 -1
  9. package/dist/browser/{chunk-QV7IOAFD.js → chunk-3XRU3DXW.js} +2 -2
  10. package/dist/browser/{chunk-QV7IOAFD.js.map → chunk-3XRU3DXW.js.map} +1 -1
  11. package/dist/browser/{chunk-7N4UF43Y.js → chunk-4C57MZP6.js} +2 -2
  12. package/dist/browser/{chunk-7N4UF43Y.js.map → chunk-4C57MZP6.js.map} +1 -1
  13. package/dist/browser/{chunk-BBBMEKXU.js → chunk-4CZFR2OD.js} +2 -2
  14. package/dist/browser/{chunk-BBBMEKXU.js.map → chunk-4CZFR2OD.js.map} +1 -1
  15. package/dist/browser/{chunk-C5PSLR7Z.js → chunk-4OOAGHRD.js} +2 -2
  16. package/dist/browser/{chunk-C5PSLR7Z.js.map → chunk-4OOAGHRD.js.map} +1 -1
  17. package/dist/browser/{chunk-C6K4OJC4.js → chunk-5X6R7EPZ.js} +2 -2
  18. package/dist/browser/{chunk-C6K4OJC4.js.map → chunk-5X6R7EPZ.js.map} +1 -1
  19. package/dist/browser/{chunk-QGLHPALU.js → chunk-65S4AS6C.js} +2 -2
  20. package/dist/browser/{chunk-QGLHPALU.js.map → chunk-65S4AS6C.js.map} +1 -1
  21. package/dist/browser/{chunk-RC4MOYY5.js → chunk-6A7YD57H.js} +2 -2
  22. package/dist/browser/{chunk-RC4MOYY5.js.map → chunk-6A7YD57H.js.map} +1 -1
  23. package/dist/browser/{chunk-36UTWSH7.js → chunk-6IABT7MJ.js} +2 -2
  24. package/dist/browser/{chunk-36UTWSH7.js.map → chunk-6IABT7MJ.js.map} +1 -1
  25. package/dist/browser/{chunk-SAWB4N2Y.js → chunk-7EICUHR3.js} +2 -2
  26. package/dist/browser/{chunk-SAWB4N2Y.js.map → chunk-7EICUHR3.js.map} +1 -1
  27. package/dist/browser/{chunk-4EL7BARO.js → chunk-AIDCGQFG.js} +2 -2
  28. package/dist/browser/{chunk-4EL7BARO.js.map → chunk-AIDCGQFG.js.map} +1 -1
  29. package/dist/browser/{chunk-E2HXPVGT.js → chunk-APLDSWPX.js} +2 -2
  30. package/dist/browser/{chunk-E2HXPVGT.js.map → chunk-APLDSWPX.js.map} +1 -1
  31. package/dist/browser/{chunk-H7HEYDU6.js → chunk-ASSGVHJB.js} +2 -2
  32. package/dist/browser/{chunk-H7HEYDU6.js.map → chunk-ASSGVHJB.js.map} +1 -1
  33. package/dist/browser/{chunk-HS6NJH6H.js → chunk-BHMOSSSW.js} +2 -2
  34. package/dist/browser/{chunk-HS6NJH6H.js.map → chunk-BHMOSSSW.js.map} +1 -1
  35. package/dist/browser/{chunk-U2AQDDCH.js → chunk-CAOGIMWX.js} +2 -2
  36. package/dist/browser/{chunk-U2AQDDCH.js.map → chunk-CAOGIMWX.js.map} +1 -1
  37. package/dist/browser/{chunk-MPGCDOY7.js → chunk-CKHL2O7X.js} +2 -2
  38. package/dist/browser/{chunk-MPGCDOY7.js.map → chunk-CKHL2O7X.js.map} +1 -1
  39. package/dist/browser/{chunk-R6OHEJX2.js → chunk-DA6YYF2F.js} +2 -2
  40. package/dist/browser/{chunk-R6OHEJX2.js.map → chunk-DA6YYF2F.js.map} +1 -1
  41. package/dist/browser/{chunk-W3TAAAAM.js → chunk-ETHEILN6.js} +2 -2
  42. package/dist/browser/{chunk-W3TAAAAM.js.map → chunk-ETHEILN6.js.map} +1 -1
  43. package/dist/browser/{chunk-4VII2U33.js → chunk-FJ5CJPZL.js} +2 -2
  44. package/dist/browser/{chunk-4VII2U33.js.map → chunk-FJ5CJPZL.js.map} +1 -1
  45. package/dist/browser/{chunk-JT3FBTE4.js → chunk-FJ6MJL6G.js} +2 -2
  46. package/dist/browser/{chunk-JT3FBTE4.js.map → chunk-FJ6MJL6G.js.map} +1 -1
  47. package/dist/browser/chunk-FJXZ5DK2.js +2 -0
  48. package/dist/browser/chunk-FJXZ5DK2.js.map +1 -0
  49. package/dist/browser/{chunk-LAXQ3PZ3.js → chunk-FL3ZYHPE.js} +2 -2
  50. package/dist/browser/{chunk-LAXQ3PZ3.js.map → chunk-FL3ZYHPE.js.map} +1 -1
  51. package/dist/browser/{chunk-ICLETUUV.js → chunk-FT5QYVCP.js} +2 -2
  52. package/dist/browser/{chunk-ICLETUUV.js.map → chunk-FT5QYVCP.js.map} +1 -1
  53. package/dist/browser/{chunk-LPQIHN5Z.js → chunk-GCSYVQXA.js} +2 -2
  54. package/dist/browser/{chunk-LPQIHN5Z.js.map → chunk-GCSYVQXA.js.map} +1 -1
  55. package/dist/browser/{chunk-DJWMP2O4.js → chunk-GN3PKAHB.js} +2 -2
  56. package/dist/browser/{chunk-DJWMP2O4.js.map → chunk-GN3PKAHB.js.map} +1 -1
  57. package/dist/browser/{chunk-PCUZP45U.js → chunk-HAIUMSGN.js} +2 -2
  58. package/dist/browser/{chunk-PCUZP45U.js.map → chunk-HAIUMSGN.js.map} +1 -1
  59. package/dist/browser/{chunk-IOGRMGRX.js → chunk-HOEDGBRX.js} +2 -2
  60. package/dist/browser/{chunk-IOGRMGRX.js.map → chunk-HOEDGBRX.js.map} +1 -1
  61. package/dist/browser/{chunk-JM4J2N4W.js → chunk-HQFYXVBS.js} +2 -2
  62. package/dist/browser/{chunk-JM4J2N4W.js.map → chunk-HQFYXVBS.js.map} +1 -1
  63. package/dist/browser/chunk-HWUXXAKE.js +2 -0
  64. package/dist/browser/{chunk-M63I2JJV.js.map → chunk-HWUXXAKE.js.map} +1 -1
  65. package/dist/browser/{chunk-5ANV6VYI.js → chunk-I77ZLLQJ.js} +2 -2
  66. package/dist/browser/{chunk-5ANV6VYI.js.map → chunk-I77ZLLQJ.js.map} +1 -1
  67. package/dist/browser/{chunk-UNKOXV36.js → chunk-IDZVSJHQ.js} +2 -2
  68. package/dist/browser/{chunk-UNKOXV36.js.map → chunk-IDZVSJHQ.js.map} +1 -1
  69. package/dist/browser/{chunk-4KTE2S6L.js → chunk-IGKMIJW2.js} +2 -2
  70. package/dist/browser/{chunk-4KTE2S6L.js.map → chunk-IGKMIJW2.js.map} +1 -1
  71. package/dist/browser/{chunk-AZZRCIT3.js → chunk-IRITFNBC.js} +2 -2
  72. package/dist/browser/{chunk-AZZRCIT3.js.map → chunk-IRITFNBC.js.map} +1 -1
  73. package/dist/browser/{chunk-P6GFUYJZ.js → chunk-K4CHL32C.js} +2 -2
  74. package/dist/browser/{chunk-P6GFUYJZ.js.map → chunk-K4CHL32C.js.map} +1 -1
  75. package/dist/browser/{chunk-36XVEJ3I.js → chunk-L362IYM3.js} +2 -2
  76. package/dist/browser/{chunk-36XVEJ3I.js.map → chunk-L362IYM3.js.map} +1 -1
  77. package/dist/browser/{chunk-GXSNHTGO.js → chunk-L4LDM3J5.js} +2 -2
  78. package/dist/browser/{chunk-GXSNHTGO.js.map → chunk-L4LDM3J5.js.map} +1 -1
  79. package/dist/browser/{chunk-PN4AFXFW.js → chunk-LER3TBTJ.js} +2 -2
  80. package/dist/browser/{chunk-PN4AFXFW.js.map → chunk-LER3TBTJ.js.map} +1 -1
  81. package/dist/browser/{chunk-MYMGKU5V.js → chunk-MTL3QUPP.js} +2 -2
  82. package/dist/browser/{chunk-MYMGKU5V.js.map → chunk-MTL3QUPP.js.map} +1 -1
  83. package/dist/browser/{chunk-M332H37M.js → chunk-NF4XUXML.js} +2 -2
  84. package/dist/browser/{chunk-M332H37M.js.map → chunk-NF4XUXML.js.map} +1 -1
  85. package/dist/browser/{chunk-XLTYBCR5.js → chunk-NIE5XZ45.js} +2 -2
  86. package/dist/browser/{chunk-XLTYBCR5.js.map → chunk-NIE5XZ45.js.map} +1 -1
  87. package/dist/browser/chunk-OAOOURDH.js +2 -0
  88. package/dist/browser/{chunk-Z7R2PK35.js.map → chunk-OAOOURDH.js.map} +1 -1
  89. package/dist/browser/{chunk-YUTSHZGV.js → chunk-OG6WTNVW.js} +2 -2
  90. package/dist/browser/{chunk-YUTSHZGV.js.map → chunk-OG6WTNVW.js.map} +1 -1
  91. package/dist/browser/{chunk-XEB43J5Q.js → chunk-OQA55EE6.js} +2 -2
  92. package/dist/browser/{chunk-XEB43J5Q.js.map → chunk-OQA55EE6.js.map} +1 -1
  93. package/dist/browser/{chunk-DSUV7SML.js → chunk-OTDWQRUL.js} +2 -2
  94. package/dist/browser/{chunk-DSUV7SML.js.map → chunk-OTDWQRUL.js.map} +1 -1
  95. package/dist/browser/{chunk-VDPNUKQ6.js → chunk-P4XPKFYI.js} +2 -2
  96. package/dist/browser/{chunk-VDPNUKQ6.js.map → chunk-P4XPKFYI.js.map} +1 -1
  97. package/dist/browser/{chunk-J2HM6MWA.js → chunk-PFVWZI3W.js} +2 -2
  98. package/dist/browser/{chunk-J2HM6MWA.js.map → chunk-PFVWZI3W.js.map} +1 -1
  99. package/dist/browser/{chunk-FRXPHA7Y.js → chunk-PW42FHVU.js} +2 -2
  100. package/dist/browser/{chunk-FRXPHA7Y.js.map → chunk-PW42FHVU.js.map} +1 -1
  101. package/dist/browser/{chunk-NS5UVFUZ.js → chunk-R6UPSSYV.js} +2 -2
  102. package/dist/browser/{chunk-NS5UVFUZ.js.map → chunk-R6UPSSYV.js.map} +1 -1
  103. package/dist/browser/{chunk-373JQPTA.js → chunk-S3LJG457.js} +2 -2
  104. package/dist/browser/{chunk-373JQPTA.js.map → chunk-S3LJG457.js.map} +1 -1
  105. package/dist/browser/{chunk-EHCNEMO7.js → chunk-SB6LDMEP.js} +2 -2
  106. package/dist/browser/{chunk-EHCNEMO7.js.map → chunk-SB6LDMEP.js.map} +1 -1
  107. package/dist/browser/{chunk-7JPEXH7J.js → chunk-UGE6ZEXY.js} +2 -2
  108. package/dist/browser/{chunk-7JPEXH7J.js.map → chunk-UGE6ZEXY.js.map} +1 -1
  109. package/dist/browser/{chunk-JG7HMCAI.js → chunk-VCYNR26T.js} +2 -2
  110. package/dist/browser/{chunk-JG7HMCAI.js.map → chunk-VCYNR26T.js.map} +1 -1
  111. package/dist/browser/{chunk-R3DMLKGZ.js → chunk-W4TAERQX.js} +2 -2
  112. package/dist/browser/{chunk-R3DMLKGZ.js.map → chunk-W4TAERQX.js.map} +1 -1
  113. package/dist/browser/{chunk-5E7DWZPN.js → chunk-W6CO2WKX.js} +2 -2
  114. package/dist/browser/{chunk-5E7DWZPN.js.map → chunk-W6CO2WKX.js.map} +1 -1
  115. package/dist/browser/{chunk-Q2ACQBL2.js → chunk-WCIDGHGX.js} +2 -2
  116. package/dist/browser/{chunk-Q2ACQBL2.js.map → chunk-WCIDGHGX.js.map} +1 -1
  117. package/dist/browser/{chunk-IEAAYAFA.js → chunk-WDWR4RZ6.js} +2 -2
  118. package/dist/browser/{chunk-IEAAYAFA.js.map → chunk-WDWR4RZ6.js.map} +1 -1
  119. package/dist/browser/{chunk-IMCYKBDV.js → chunk-WE6EIHC6.js} +2 -2
  120. package/dist/browser/{chunk-IMCYKBDV.js.map → chunk-WE6EIHC6.js.map} +1 -1
  121. package/dist/browser/{chunk-CFHER3WM.js → chunk-WGKD2O73.js} +2 -2
  122. package/dist/browser/{chunk-CFHER3WM.js.map → chunk-WGKD2O73.js.map} +1 -1
  123. package/dist/browser/{chunk-VOET5ABO.js → chunk-WHH45AA3.js} +2 -2
  124. package/dist/browser/{chunk-VOET5ABO.js.map → chunk-WHH45AA3.js.map} +1 -1
  125. package/dist/browser/{chunk-EPPY5SE6.js → chunk-WLHXAS5P.js} +2 -2
  126. package/dist/browser/{chunk-EPPY5SE6.js.map → chunk-WLHXAS5P.js.map} +1 -1
  127. package/dist/browser/{chunk-6JEMIQQJ.js → chunk-XBAS5ZUQ.js} +2 -2
  128. package/dist/browser/{chunk-6JEMIQQJ.js.map → chunk-XBAS5ZUQ.js.map} +1 -1
  129. package/dist/browser/{chunk-QAXITR2P.js → chunk-XQLIW5VC.js} +2 -2
  130. package/dist/browser/{chunk-QAXITR2P.js.map → chunk-XQLIW5VC.js.map} +1 -1
  131. package/dist/browser/{chunk-AU2I7Q6Y.js → chunk-XVW7ZC72.js} +2 -2
  132. package/dist/browser/{chunk-AU2I7Q6Y.js.map → chunk-XVW7ZC72.js.map} +1 -1
  133. package/dist/browser/{chunk-6PK5KYS5.js → chunk-XX32ZFT4.js} +2 -2
  134. package/dist/browser/{chunk-6PK5KYS5.js.map → chunk-XX32ZFT4.js.map} +1 -1
  135. package/dist/browser/{chunk-VPRG4WZA.js → chunk-XZIXDSRW.js} +2 -2
  136. package/dist/browser/{chunk-VPRG4WZA.js.map → chunk-XZIXDSRW.js.map} +1 -1
  137. package/dist/browser/{chunk-SI7S4VLE.js → chunk-Z2HIVTNL.js} +2 -2
  138. package/dist/browser/{chunk-SI7S4VLE.js.map → chunk-Z2HIVTNL.js.map} +1 -1
  139. package/dist/browser/chunk-Z3FAL7TO.js +2 -0
  140. package/dist/browser/{chunk-LRO6EB5Y.js.map → chunk-Z3FAL7TO.js.map} +1 -1
  141. package/dist/browser/{chunk-DWJJGDRC.js → chunk-ZCURRWT2.js} +2 -2
  142. package/dist/browser/{chunk-DWJJGDRC.js.map → chunk-ZCURRWT2.js.map} +1 -1
  143. package/dist/browser/{chunk-BCISRGHL.js → chunk-ZSARKV4B.js} +2 -2
  144. package/dist/browser/{chunk-BCISRGHL.js.map → chunk-ZSARKV4B.js.map} +1 -1
  145. package/dist/browser/{chunk-NKALZNPX.js → chunk-ZVICL7AK.js} +2 -2
  146. package/dist/browser/{chunk-NKALZNPX.js.map → chunk-ZVICL7AK.js.map} +1 -1
  147. package/dist/browser/hive-tx/Transaction.js +1 -1
  148. package/dist/browser/hive-tx/helpers/memo.js +1 -1
  149. package/dist/browser/hive-tx/helpers/serializer.js +1 -1
  150. package/dist/browser/hive-tx/helpers/utils.js +1 -1
  151. package/dist/browser/hive-tx/index.js +1 -1
  152. package/dist/browser/hive.js +1 -1
  153. package/dist/browser/index.js +1 -1
  154. package/dist/browser/modules/accounts/index.js +1 -1
  155. package/dist/browser/modules/accounts/mutations/bookmarks/index.js +1 -1
  156. package/dist/browser/modules/accounts/mutations/bookmarks/use-account-bookmark-add.js +1 -1
  157. package/dist/browser/modules/accounts/mutations/bookmarks/use-account-bookmark-delete.js +1 -1
  158. package/dist/browser/modules/accounts/mutations/favorite-tags/index.js +1 -1
  159. package/dist/browser/modules/accounts/mutations/favorite-tags/requests.js +1 -1
  160. package/dist/browser/modules/accounts/mutations/favorite-tags/use-favorite-tag-add.js +1 -1
  161. package/dist/browser/modules/accounts/mutations/favorite-tags/use-favorite-tag-delete.js +1 -1
  162. package/dist/browser/modules/accounts/mutations/favorites/index.js +1 -1
  163. package/dist/browser/modules/accounts/mutations/favorites/use-account-favorite-add.js +1 -1
  164. package/dist/browser/modules/accounts/mutations/favorites/use-account-favorite-delete.js +1 -1
  165. package/dist/browser/modules/accounts/mutations/index.js +1 -1
  166. package/dist/browser/modules/accounts/mutations/use-account-relations-update.js +1 -1
  167. package/dist/browser/modules/accounts/mutations/use-account-revoke-key.js +1 -1
  168. package/dist/browser/modules/accounts/mutations/use-account-revoke-posting.js +1 -1
  169. package/dist/browser/modules/accounts/mutations/use-account-update-key-auths.js +1 -1
  170. package/dist/browser/modules/accounts/mutations/use-account-update-password.js +1 -1
  171. package/dist/browser/modules/accounts/mutations/use-account-update-recovery.js +1 -1
  172. package/dist/browser/modules/accounts/mutations/use-account-update.js +1 -1
  173. package/dist/browser/modules/accounts/mutations/use-claim-account.js +1 -1
  174. package/dist/browser/modules/accounts/mutations/use-create-account.js +1 -1
  175. package/dist/browser/modules/accounts/mutations/use-follow.js +1 -1
  176. package/dist/browser/modules/accounts/mutations/use-grant-posting-permission.js +1 -1
  177. package/dist/browser/modules/accounts/mutations/use-unfollow.js +1 -1
  178. package/dist/browser/modules/accounts/queries/check-favorite-query-options.js +1 -1
  179. package/dist/browser/modules/accounts/queries/check-username-wallets-pending-query-options.js +1 -1
  180. package/dist/browser/modules/accounts/queries/get-account-full-query-options.js +1 -1
  181. package/dist/browser/modules/accounts/queries/get-account-pending-recovery-query-options.js +1 -1
  182. package/dist/browser/modules/accounts/queries/get-account-recoveries-query-options.js +1 -1
  183. package/dist/browser/modules/accounts/queries/get-account-reputations-query-options.js +1 -1
  184. package/dist/browser/modules/accounts/queries/get-account-subscriptions-query-options.js +1 -1
  185. package/dist/browser/modules/accounts/queries/get-account-vote-history-infinite-query-options.js +1 -1
  186. package/dist/browser/modules/accounts/queries/get-accounts-query-options.js +1 -1
  187. package/dist/browser/modules/accounts/queries/get-aggregated-balance-query-options.js +1 -1
  188. package/dist/browser/modules/accounts/queries/get-balance-history-query-options.js +1 -1
  189. package/dist/browser/modules/accounts/queries/get-bookmarks-query-options.js +1 -1
  190. package/dist/browser/modules/accounts/queries/get-bots-query-options.js +1 -1
  191. package/dist/browser/modules/accounts/queries/get-favorite-tag-check-query-options.js +1 -1
  192. package/dist/browser/modules/accounts/queries/get-favorite-tags-query-options.js +1 -1
  193. package/dist/browser/modules/accounts/queries/get-favorites-query-options.js +1 -1
  194. package/dist/browser/modules/accounts/queries/get-follow-count-query-options.js +1 -1
  195. package/dist/browser/modules/accounts/queries/get-followers-query-options.js +1 -1
  196. package/dist/browser/modules/accounts/queries/get-following-query-options.js +1 -1
  197. package/dist/browser/modules/accounts/queries/get-friends-infinite-query-options.js +1 -1
  198. package/dist/browser/modules/accounts/queries/get-muted-users-query-options.js +1 -1
  199. package/dist/browser/modules/accounts/queries/get-pro-members-query-options.js +1 -1
  200. package/dist/browser/modules/accounts/queries/get-profiles-query-options.js +1 -1
  201. package/dist/browser/modules/accounts/queries/get-referrals-infinite-query-options.js +1 -1
  202. package/dist/browser/modules/accounts/queries/get-referrals-stats-query-options.js +1 -1
  203. package/dist/browser/modules/accounts/queries/get-relationship-between-accounts-query-options.js +1 -1
  204. package/dist/browser/modules/accounts/queries/get-search-friends-query-options.js +1 -1
  205. package/dist/browser/modules/accounts/queries/get-transactions-infinite-query-options.js +1 -1
  206. package/dist/browser/modules/accounts/queries/index.js +1 -1
  207. package/dist/browser/modules/accounts/queries/lookup-accounts-query-options.js +1 -1
  208. package/dist/browser/modules/accounts/queries/search-accounts-by-username-query-options.js +1 -1
  209. package/dist/browser/modules/accounts/utils/account-power.js +1 -1
  210. package/dist/browser/modules/accounts/utils/index.js +1 -1
  211. package/dist/browser/modules/ai/index.js +1 -1
  212. package/dist/browser/modules/ai/mutations/index.js +1 -1
  213. package/dist/browser/modules/ai/mutations/use-ai-assist.js +1 -1
  214. package/dist/browser/modules/ai/mutations/use-ai-transcribe.js +1 -1
  215. package/dist/browser/modules/ai/mutations/use-generate-image.js +1 -1
  216. package/dist/browser/modules/ai/queries/get-ai-assist-price-query-options.js +1 -1
  217. package/dist/browser/modules/ai/queries/get-ai-generate-price-query-options.js +1 -1
  218. package/dist/browser/modules/ai/queries/get-ai-images-query-options.js +1 -1
  219. package/dist/browser/modules/ai/queries/get-ai-transcribe-price-query-options.js +1 -1
  220. package/dist/browser/modules/ai/queries/index.js +1 -1
  221. package/dist/browser/modules/analytics/index.js +1 -1
  222. package/dist/browser/modules/analytics/mutations/index.js +1 -1
  223. package/dist/browser/modules/analytics/mutations/use-record-activity.js +1 -1
  224. package/dist/browser/modules/analytics/queries/get-discover-curation-query-options.js +1 -1
  225. package/dist/browser/modules/analytics/queries/get-discover-leaderboard-query-options.js +1 -1
  226. package/dist/browser/modules/analytics/queries/get-page-stats-query-options.js +1 -1
  227. package/dist/browser/modules/analytics/queries/index.js +1 -1
  228. package/dist/browser/modules/auth/index.js +1 -1
  229. package/dist/browser/modules/auth/requests.js +1 -1
  230. package/dist/browser/modules/bad-actors/index.js +1 -1
  231. package/dist/browser/modules/bad-actors/queries/get-bad-actors-query-options.js +1 -1
  232. package/dist/browser/modules/bad-actors/queries/index.js +1 -1
  233. package/dist/browser/modules/bridge/index.js +1 -1
  234. package/dist/browser/modules/bridge/requests.js +1 -1
  235. package/dist/browser/modules/bridge/verify-on-alternate-node.js +1 -1
  236. package/dist/browser/modules/communities/index.js +1 -1
  237. package/dist/browser/modules/communities/mutations/index.js +1 -1
  238. package/dist/browser/modules/communities/mutations/use-mute-post.js +1 -1
  239. package/dist/browser/modules/communities/mutations/use-pin-post.js +1 -1
  240. package/dist/browser/modules/communities/mutations/use-register-community-rewards.js +1 -1
  241. package/dist/browser/modules/communities/mutations/use-set-community-role.js +1 -1
  242. package/dist/browser/modules/communities/mutations/use-subscribe-community.js +1 -1
  243. package/dist/browser/modules/communities/mutations/use-unsubscribe-community.js +1 -1
  244. package/dist/browser/modules/communities/mutations/use-update-community.js +1 -1
  245. package/dist/browser/modules/communities/queries/get-account-notifications-infinite-query-options.js +1 -1
  246. package/dist/browser/modules/communities/queries/get-communities-query-options.js +1 -1
  247. package/dist/browser/modules/communities/queries/get-community-context-query-options.js +1 -1
  248. package/dist/browser/modules/communities/queries/get-community-query-options.js +1 -1
  249. package/dist/browser/modules/communities/queries/get-community-subscribers-query-options.js +1 -1
  250. package/dist/browser/modules/communities/queries/get-rewarded-communities-query-options.js +1 -1
  251. package/dist/browser/modules/communities/queries/index.js +1 -1
  252. package/dist/browser/modules/core/config.js +1 -1
  253. package/dist/browser/modules/core/hive-tx.js +1 -1
  254. package/dist/browser/modules/core/index.js +1 -1
  255. package/dist/browser/modules/core/mutations/broadcast-json.js +1 -1
  256. package/dist/browser/modules/core/mutations/index.js +1 -1
  257. package/dist/browser/modules/core/mutations/use-broadcast-mutation.js +1 -1
  258. package/dist/browser/modules/core/queries/get-chain-properties-query-options.js +1 -1
  259. package/dist/browser/modules/core/queries/get-dynamic-props-query-options.js +1 -1
  260. package/dist/browser/modules/core/queries/get-reward-fund-query-options.js +1 -1
  261. package/dist/browser/modules/core/queries/index.js +1 -1
  262. package/dist/browser/modules/core/queries-manager.js +1 -1
  263. package/dist/browser/modules/curation/dmca.js +1 -1
  264. package/dist/browser/modules/curation/index.js +1 -1
  265. package/dist/browser/modules/curation/mutations/index.js +1 -1
  266. package/dist/browser/modules/curation/mutations/use-curation-recommend.js +1 -1
  267. package/dist/browser/modules/curation/queries/get-curation-application-query-options.js +1 -1
  268. package/dist/browser/modules/curation/queries/get-curation-applications-query-options.js +1 -1
  269. package/dist/browser/modules/curation/queries/get-curation-feed-infinite-query-options.js +1 -1
  270. package/dist/browser/modules/curation/queries/get-curation-post-query-options.js +1 -1
  271. package/dist/browser/modules/curation/queries/get-curation-recommendations-infinite-query-options.js +1 -1
  272. package/dist/browser/modules/curation/queries/get-curation-recommender-query-options.js +1 -1
  273. package/dist/browser/modules/curation/queries/get-curation-roster-admin-query-options.js +1 -1
  274. package/dist/browser/modules/curation/queries/get-curation-roster-query-options.js +1 -1
  275. package/dist/browser/modules/curation/queries/get-curation-status-query-options.js +1 -1
  276. package/dist/browser/modules/curation/queries/index.js +1 -1
  277. package/dist/browser/modules/curation/requests.js +1 -1
  278. package/dist/browser/modules/games/index.js +1 -1
  279. package/dist/browser/modules/games/mutations/game-claim.js +1 -1
  280. package/dist/browser/modules/games/mutations/index.js +1 -1
  281. package/dist/browser/modules/games/queries/game-status-check-query-options.js +1 -1
  282. package/dist/browser/modules/games/queries/index.js +1 -1
  283. package/dist/browser/modules/hive-engine/index.js +1 -1
  284. package/dist/browser/modules/hive-engine/queries/get-all-hive-engine-tokens-query-options.js +1 -1
  285. package/dist/browser/modules/hive-engine/queries/get-hive-engine-balances-with-usd-query-options.js +1 -1
  286. package/dist/browser/modules/hive-engine/queries/get-hive-engine-token-general-info-query-options.js +1 -1
  287. package/dist/browser/modules/hive-engine/queries/get-hive-engine-token-metrics-query-options.js +1 -1
  288. package/dist/browser/modules/hive-engine/queries/get-hive-engine-token-transactions-query-options.js +1 -1
  289. package/dist/browser/modules/hive-engine/queries/get-hive-engine-tokens-balances-query-options.js +1 -1
  290. package/dist/browser/modules/hive-engine/queries/get-hive-engine-tokens-market-query-options.js +1 -1
  291. package/dist/browser/modules/hive-engine/queries/get-hive-engine-tokens-metadata-query-options.js +1 -1
  292. package/dist/browser/modules/hive-engine/queries/get-hive-engine-unclaimed-rewards-query-options.js +1 -1
  293. package/dist/browser/modules/hive-engine/queries/index.js +1 -1
  294. package/dist/browser/modules/hive-engine/requests.js +1 -1
  295. package/dist/browser/modules/integrations/3speak/index.js +1 -1
  296. package/dist/browser/modules/integrations/3speak/queries/get-account-token-query-options.js +1 -1
  297. package/dist/browser/modules/integrations/3speak/queries/get-account-videos-query-options.js +1 -1
  298. package/dist/browser/modules/integrations/3speak/queries/index.js +1 -1
  299. package/dist/browser/modules/integrations/hiveposh/index.js +1 -1
  300. package/dist/browser/modules/integrations/hiveposh/queries/get-hiveposh-links-query-options.js +1 -1
  301. package/dist/browser/modules/integrations/hiveposh/queries/index.js +1 -1
  302. package/dist/browser/modules/integrations/index.js +1 -1
  303. package/dist/browser/modules/integrations/plausible/index.js +1 -1
  304. package/dist/browser/modules/integrations/plausible/queries/get-stats-query-options.js +1 -1
  305. package/dist/browser/modules/integrations/plausible/queries/index.js +1 -1
  306. package/dist/browser/modules/market/index.js +1 -1
  307. package/dist/browser/modules/market/mutations/index.js +1 -1
  308. package/dist/browser/modules/market/mutations/use-limit-order-cancel.js +1 -1
  309. package/dist/browser/modules/market/mutations/use-limit-order-create.js +1 -1
  310. package/dist/browser/modules/market/queries/get-current-median-history-price-query-options.js +1 -1
  311. package/dist/browser/modules/market/queries/get-feed-history-query-options.js +1 -1
  312. package/dist/browser/modules/market/queries/get-hive-hbd-stats-query-options.js +1 -1
  313. package/dist/browser/modules/market/queries/get-market-data-query-options.js +1 -1
  314. package/dist/browser/modules/market/queries/get-market-history-query-options.js +1 -1
  315. package/dist/browser/modules/market/queries/get-market-statistics-query-options.js +1 -1
  316. package/dist/browser/modules/market/queries/get-order-book-query-options.js +1 -1
  317. package/dist/browser/modules/market/queries/get-trade-history-query-options.js +1 -1
  318. package/dist/browser/modules/market/queries/index.js +1 -1
  319. package/dist/browser/modules/market/requests.js +1 -1
  320. package/dist/browser/modules/newsletter/api.js +1 -1
  321. package/dist/browser/modules/newsletter/index.js +1 -1
  322. package/dist/browser/modules/newsletter/mutations/index.js +1 -1
  323. package/dist/browser/modules/newsletter/mutations/use-leave-digest.js +1 -1
  324. package/dist/browser/modules/newsletter/mutations/use-send-newsletter-issue.js +1 -1
  325. package/dist/browser/modules/newsletter/mutations/use-subscribe-digest.js +1 -1
  326. package/dist/browser/modules/newsletter/mutations/use-unsubscribe-all-digests.js +1 -1
  327. package/dist/browser/modules/newsletter/queries/get-digest-subscriptions-query-options.js +1 -1
  328. package/dist/browser/modules/newsletter/queries/get-newsletter-issues-query-options.js +1 -1
  329. package/dist/browser/modules/newsletter/queries/get-newsletter-posts-query-options.js +1 -1
  330. package/dist/browser/modules/newsletter/queries/get-newsletter-sender-query-options.js +1 -1
  331. package/dist/browser/modules/newsletter/queries/index.js +1 -1
  332. package/dist/browser/modules/notifications/index.js +1 -1
  333. package/dist/browser/modules/notifications/mutations/index.js +1 -1
  334. package/dist/browser/modules/notifications/mutations/use-mark-notifications-read.js +1 -1
  335. package/dist/browser/modules/notifications/mutations/use-set-last-read.js +1 -1
  336. package/dist/browser/modules/notifications/queries/get-announcements-query-options.js +1 -1
  337. package/dist/browser/modules/notifications/queries/get-notifications-infinite-query-options.js +1 -1
  338. package/dist/browser/modules/notifications/queries/get-notifications-settings-query-options.js +1 -1
  339. package/dist/browser/modules/notifications/queries/get-notifications-unread-count-query-options.js +1 -1
  340. package/dist/browser/modules/notifications/queries/get-spotlights-query-options.js +1 -1
  341. package/dist/browser/modules/notifications/queries/index.js +1 -1
  342. package/dist/browser/modules/operations/index.js +1 -1
  343. package/dist/browser/modules/operations/mutations/index.js +1 -1
  344. package/dist/browser/modules/operations/mutations/sign-operation-by-key.js +1 -1
  345. package/dist/browser/modules/operations/queries/get-chain-properties-query-options.js +1 -1
  346. package/dist/browser/modules/operations/queries/index.js +1 -1
  347. package/dist/browser/modules/points/index.js +1 -1
  348. package/dist/browser/modules/points/mutations/index.js +1 -1
  349. package/dist/browser/modules/points/mutations/use-claim-points.js +1 -1
  350. package/dist/browser/modules/points/queries/get-points-asset-general-info-query-options.js +1 -1
  351. package/dist/browser/modules/points/queries/get-points-asset-transactions-query-options.js +1 -1
  352. package/dist/browser/modules/points/queries/get-points-query-options.js +1 -1
  353. package/dist/browser/modules/points/queries/index.js +1 -1
  354. package/dist/browser/modules/polls/index.js +1 -1
  355. package/dist/browser/modules/polls/mutations/index.js +1 -1
  356. package/dist/browser/modules/polls/mutations/use-poll-vote.js +1 -1
  357. package/dist/browser/modules/polls/queries/get-poll-query-options.js +1 -1
  358. package/dist/browser/modules/polls/queries/index.js +1 -1
  359. package/dist/browser/modules/posts/cache/discussions-cache-utils.js +1 -1
  360. package/dist/browser/modules/posts/cache/entries-cache-management.js +1 -1
  361. package/dist/browser/modules/posts/cache/index.js +1 -1
  362. package/dist/browser/modules/posts/index.js +1 -1
  363. package/dist/browser/modules/posts/mutations/add-fragment.js +1 -1
  364. package/dist/browser/modules/posts/mutations/edit-fragment.js +1 -1
  365. package/dist/browser/modules/posts/mutations/index.js +1 -1
  366. package/dist/browser/modules/posts/mutations/remove-fragment.js +1 -1
  367. package/dist/browser/modules/posts/mutations/use-add-draft.js +1 -1
  368. package/dist/browser/modules/posts/mutations/use-add-image.js +1 -1
  369. package/dist/browser/modules/posts/mutations/use-add-schedule.js +1 -1
  370. package/dist/browser/modules/posts/mutations/use-comment.js +1 -1
  371. package/dist/browser/modules/posts/mutations/use-cross-post.js +1 -1
  372. package/dist/browser/modules/posts/mutations/use-delete-comment.js +1 -1
  373. package/dist/browser/modules/posts/mutations/use-delete-draft.js +1 -1
  374. package/dist/browser/modules/posts/mutations/use-delete-image.js +1 -1
  375. package/dist/browser/modules/posts/mutations/use-delete-schedule.js +1 -1
  376. package/dist/browser/modules/posts/mutations/use-move-schedule.js +1 -1
  377. package/dist/browser/modules/posts/mutations/use-promote.js +1 -1
  378. package/dist/browser/modules/posts/mutations/use-reblog.js +1 -1
  379. package/dist/browser/modules/posts/mutations/use-update-draft.js +1 -1
  380. package/dist/browser/modules/posts/mutations/use-update-reply.js +1 -1
  381. package/dist/browser/modules/posts/mutations/use-upload-image.js +1 -1
  382. package/dist/browser/modules/posts/mutations/use-vote.js +1 -1
  383. package/dist/browser/modules/posts/queries/get-account-posts-query-options.js +1 -1
  384. package/dist/browser/modules/posts/queries/get-comment-history-query-options.js +1 -1
  385. package/dist/browser/modules/posts/queries/get-content-query-options.js +1 -1
  386. package/dist/browser/modules/posts/queries/get-content-replies-query-options.js +1 -1
  387. package/dist/browser/modules/posts/queries/get-deleted-entry-query-options.js +1 -1
  388. package/dist/browser/modules/posts/queries/get-discussions-query-options.js +1 -1
  389. package/dist/browser/modules/posts/queries/get-drafts-query-options.js +1 -1
  390. package/dist/browser/modules/posts/queries/get-entry-active-votes-query-options.js +1 -1
  391. package/dist/browser/modules/posts/queries/get-fragments-query-options.js +1 -1
  392. package/dist/browser/modules/posts/queries/get-images-query-options.js +1 -1
  393. package/dist/browser/modules/posts/queries/get-normalize-post-query-options.js +1 -1
  394. package/dist/browser/modules/posts/queries/get-post-header-query-options.js +1 -1
  395. package/dist/browser/modules/posts/queries/get-post-query-options.js +1 -1
  396. package/dist/browser/modules/posts/queries/get-post-tips-query-options.js +1 -1
  397. package/dist/browser/modules/posts/queries/get-posts-ranked-query-options.js +1 -1
  398. package/dist/browser/modules/posts/queries/get-promoted-posts-query-options.js +1 -1
  399. package/dist/browser/modules/posts/queries/get-reblogged-by-query-options.js +1 -1
  400. package/dist/browser/modules/posts/queries/get-reblogs-query-options.js +1 -1
  401. package/dist/browser/modules/posts/queries/get-schedules-query-options.js +1 -1
  402. package/dist/browser/modules/posts/queries/get-shorts-feed-query-options.js +1 -1
  403. package/dist/browser/modules/posts/queries/get-trending-tags-query-options.js +1 -1
  404. package/dist/browser/modules/posts/queries/get-trending-tags-with-stats-query-options.js +1 -1
  405. package/dist/browser/modules/posts/queries/get-user-post-vote-query-options.js +1 -1
  406. package/dist/browser/modules/posts/queries/get-waves-by-account-query-options.js +1 -1
  407. package/dist/browser/modules/posts/queries/get-waves-by-host-query-options.js +1 -1
  408. package/dist/browser/modules/posts/queries/get-waves-by-tag-query-options.js +1 -1
  409. package/dist/browser/modules/posts/queries/get-waves-feed-query-options.js +1 -1
  410. package/dist/browser/modules/posts/queries/get-waves-following-query-options.js +1 -1
  411. package/dist/browser/modules/posts/queries/get-waves-trending-authors-query-options.js +1 -1
  412. package/dist/browser/modules/posts/queries/get-waves-trending-tags-query-options.js +1 -1
  413. package/dist/browser/modules/posts/queries/index.js +1 -1
  414. package/dist/browser/modules/posts/utils/filter-dmca-entries.js +1 -1
  415. package/dist/browser/modules/posts/utils/validate-post-creating.js +1 -1
  416. package/dist/browser/modules/posts/utils/waves-helpers.js +1 -1
  417. package/dist/browser/modules/private-api/index.js +1 -1
  418. package/dist/browser/modules/private-api/requests.js +1 -1
  419. package/dist/browser/modules/promotions/index.js +1 -1
  420. package/dist/browser/modules/promotions/mutations/index.js +1 -1
  421. package/dist/browser/modules/promotions/mutations/use-boost-plus.js +1 -1
  422. package/dist/browser/modules/promotions/mutations/use-rc-delegation.js +1 -1
  423. package/dist/browser/modules/promotions/queries/get-boost-plus-account-prices-query-options.js +1 -1
  424. package/dist/browser/modules/promotions/queries/get-boost-plus-prices-query-options.js +1 -1
  425. package/dist/browser/modules/promotions/queries/get-promote-price-query-options.js +1 -1
  426. package/dist/browser/modules/promotions/queries/get-rc-delegation-active-query-options.js +1 -1
  427. package/dist/browser/modules/promotions/queries/get-rc-delegation-prices-query-options.js +1 -1
  428. package/dist/browser/modules/promotions/queries/index.js +1 -1
  429. package/dist/browser/modules/proposals/index.js +1 -1
  430. package/dist/browser/modules/proposals/mutations/index.js +1 -1
  431. package/dist/browser/modules/proposals/mutations/use-proposal-create.js +1 -1
  432. package/dist/browser/modules/proposals/mutations/use-proposal-vote.js +1 -1
  433. package/dist/browser/modules/proposals/queries/get-proposal-query-options.js +1 -1
  434. package/dist/browser/modules/proposals/queries/get-proposal-votes-query-options.js +1 -1
  435. package/dist/browser/modules/proposals/queries/get-proposals-query-options.js +1 -1
  436. package/dist/browser/modules/proposals/queries/get-user-proposal-votes-query-options.js +1 -1
  437. package/dist/browser/modules/proposals/queries/index.js +1 -1
  438. package/dist/browser/modules/quests/index.js +1 -1
  439. package/dist/browser/modules/quests/mutations/buy-streak-freeze.js +1 -1
  440. package/dist/browser/modules/quests/mutations/index.js +1 -1
  441. package/dist/browser/modules/quests/queries/get-quests-query-options.js +1 -1
  442. package/dist/browser/modules/quests/queries/index.js +1 -1
  443. package/dist/browser/modules/resource-credits/index.js +1 -1
  444. package/dist/browser/modules/resource-credits/queries/get-account-rc-query-options.js +1 -1
  445. package/dist/browser/modules/resource-credits/queries/get-rc-resource-params-query-options.js +1 -1
  446. package/dist/browser/modules/resource-credits/queries/get-rc-stats-query-options.js +1 -1
  447. package/dist/browser/modules/resource-credits/queries/index.js +1 -1
  448. package/dist/browser/modules/resource-credits/utils/estimate-rc-precheck.js +1 -1
  449. package/dist/browser/modules/resource-credits/utils/index.js +1 -1
  450. package/dist/browser/modules/search/dmca.js +1 -1
  451. package/dist/browser/modules/search/index.js +1 -1
  452. package/dist/browser/modules/search/parse-json-response.js +1 -1
  453. package/dist/browser/modules/search/queries/get-search-account-query-options.js +1 -1
  454. package/dist/browser/modules/search/queries/get-search-api-infinite-query-options.js +1 -1
  455. package/dist/browser/modules/search/queries/get-search-path-query-options.js +1 -1
  456. package/dist/browser/modules/search/queries/get-search-query-options.js +1 -1
  457. package/dist/browser/modules/search/queries/get-search-topics-query-options.js +1 -1
  458. package/dist/browser/modules/search/queries/get-similar-entries-query-options.js +1 -1
  459. package/dist/browser/modules/search/queries/index.js +1 -1
  460. package/dist/browser/modules/search/requests.js +1 -1
  461. package/dist/browser/modules/support/index.js +1 -1
  462. package/dist/browser/modules/support/mutations/index.js +1 -1
  463. package/dist/browser/modules/support/mutations/update-support-settings.js +1 -1
  464. package/dist/browser/modules/support/queries/get-support-settings-query-options.js +1 -1
  465. package/dist/browser/modules/support/queries/index.js +1 -1
  466. package/dist/browser/modules/wallet/consts/hive-account-operation-groups.js +1 -1
  467. package/dist/browser/modules/wallet/consts/hive-operation-list.js +1 -1
  468. package/dist/browser/modules/wallet/consts/hive-operation-orders.js +1 -1
  469. package/dist/browser/modules/wallet/consts/index.js +1 -1
  470. package/dist/browser/modules/wallet/index.js +1 -1
  471. package/dist/browser/modules/wallet/mutations/index.js +1 -1
  472. package/dist/browser/modules/wallet/mutations/use-claim-engine-rewards.js +1 -1
  473. package/dist/browser/modules/wallet/mutations/use-claim-interest.js +1 -1
  474. package/dist/browser/modules/wallet/mutations/use-claim-rewards.js +1 -1
  475. package/dist/browser/modules/wallet/mutations/use-convert.js +1 -1
  476. package/dist/browser/modules/wallet/mutations/use-delegate-engine-token.js +1 -1
  477. package/dist/browser/modules/wallet/mutations/use-delegate-rc.js +1 -1
  478. package/dist/browser/modules/wallet/mutations/use-delegate-vesting-shares.js +1 -1
  479. package/dist/browser/modules/wallet/mutations/use-engine-market-order.js +1 -1
  480. package/dist/browser/modules/wallet/mutations/use-set-withdraw-vesting-route.js +1 -1
  481. package/dist/browser/modules/wallet/mutations/use-stake-engine-token.js +1 -1
  482. package/dist/browser/modules/wallet/mutations/use-transfer-engine-token.js +1 -1
  483. package/dist/browser/modules/wallet/mutations/use-transfer-from-savings.js +1 -1
  484. package/dist/browser/modules/wallet/mutations/use-transfer-point.js +1 -1
  485. package/dist/browser/modules/wallet/mutations/use-transfer-to-savings.js +1 -1
  486. package/dist/browser/modules/wallet/mutations/use-transfer-to-vesting.js +1 -1
  487. package/dist/browser/modules/wallet/mutations/use-transfer.js +1 -1
  488. package/dist/browser/modules/wallet/mutations/use-undelegate-engine-token.js +1 -1
  489. package/dist/browser/modules/wallet/mutations/use-unstake-engine-token.js +1 -1
  490. package/dist/browser/modules/wallet/mutations/use-wallet-operation.js +1 -1
  491. package/dist/browser/modules/wallet/mutations/use-withdraw-vesting.js +1 -1
  492. package/dist/browser/modules/wallet/queries/get-account-delegations-query-options.js +1 -1
  493. package/dist/browser/modules/wallet/queries/get-account-wallet-asset-info-query-options.js +1 -1
  494. package/dist/browser/modules/wallet/queries/get-collateralized-conversion-requests-query-options.js +1 -1
  495. package/dist/browser/modules/wallet/queries/get-conversion-requests-query-options.js +1 -1
  496. package/dist/browser/modules/wallet/queries/get-hbd-asset-general-info-query-options.js +1 -1
  497. package/dist/browser/modules/wallet/queries/get-hbd-asset-transactions-query-options.js +1 -1
  498. package/dist/browser/modules/wallet/queries/get-hive-asset-general-info-query-options.js +1 -1
  499. package/dist/browser/modules/wallet/queries/get-hive-asset-metric-query-options.js +1 -1
  500. package/dist/browser/modules/wallet/queries/get-hive-asset-transactions-query-options.js +1 -1
  501. package/dist/browser/modules/wallet/queries/get-hive-asset-withdrawal-routes-query-options.js +1 -1
  502. package/dist/browser/modules/wallet/queries/get-hive-power-asset-general-info-query-options.js +1 -1
  503. package/dist/browser/modules/wallet/queries/get-hive-power-asset-transactions-query-options.js +1 -1
  504. package/dist/browser/modules/wallet/queries/get-hive-power-delegates-query-options.js +1 -1
  505. package/dist/browser/modules/wallet/queries/get-hive-power-delegatings-query-options.js +1 -1
  506. package/dist/browser/modules/wallet/queries/get-incoming-rc-query-options.js +1 -1
  507. package/dist/browser/modules/wallet/queries/get-open-orders-query-options.js +1 -1
  508. package/dist/browser/modules/wallet/queries/get-outgoing-rc-delegations-infinite-query-options.js +1 -1
  509. package/dist/browser/modules/wallet/queries/get-portfolio-query-options.js +1 -1
  510. package/dist/browser/modules/wallet/queries/get-received-vesting-shares-query-options.js +1 -1
  511. package/dist/browser/modules/wallet/queries/get-recurrent-transfers-query-options.js +1 -1
  512. package/dist/browser/modules/wallet/queries/get-savings-withdraw-from-query-options.js +1 -1
  513. package/dist/browser/modules/wallet/queries/get-vesting-delegation-expirations-query-options.js +1 -1
  514. package/dist/browser/modules/wallet/queries/get-vesting-delegations-query-options.js +1 -1
  515. package/dist/browser/modules/wallet/queries/get-withdraw-routes-query-options.js +1 -1
  516. package/dist/browser/modules/wallet/queries/index.js +1 -1
  517. package/dist/browser/modules/witnesses/index.js +1 -1
  518. package/dist/browser/modules/witnesses/mutations/index.js +1 -1
  519. package/dist/browser/modules/witnesses/mutations/use-witness-proxy.js +1 -1
  520. package/dist/browser/modules/witnesses/mutations/use-witness-vote.js +1 -1
  521. package/dist/browser/modules/witnesses/queries/get-witnesses-query-options.js +1 -1
  522. package/dist/browser/modules/witnesses/queries/index.js +1 -1
  523. package/dist/node/hive.cjs +2 -2
  524. package/dist/node/hive.cjs.map +1 -1
  525. package/dist/node/hive.mjs +2 -2
  526. package/dist/node/hive.mjs.map +1 -1
  527. package/dist/node/index.cjs +3 -3
  528. package/dist/node/index.cjs.map +1 -1
  529. package/dist/node/index.mjs +3 -3
  530. package/dist/node/index.mjs.map +1 -1
  531. package/package.json +1 -1
  532. package/dist/browser/chunk-LRO6EB5Y.js +0 -2
  533. package/dist/browser/chunk-M63I2JJV.js +0 -2
  534. package/dist/browser/chunk-W6TVTSY5.js +0 -2
  535. package/dist/browser/chunk-W6TVTSY5.js.map +0 -1
  536. package/dist/browser/chunk-Z7R2PK35.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/core/mutations/use-broadcast-mutation.ts"],"names":["broadcastWithMethod","method","username","ops","auth","authority","fetchedKey","fetchedToken","broadcastMode","adapter","key","privateKey","PrivateKey","broadcastOperationsAsync","broadcastOperations","token","hs","tokenError","shouldTriggerAuthFallback","broadcastWithFallback","loginType","hasPostingAuth","error","operationName","selectedMethod","hsError","chain","errors","shouldSkip","skipReason","prefetchedKey","prefetchedToken","skipReasons","errorMessages","assertOperationsFitTransaction","tx","transaction","Transaction","MIN_TRANSACTION_SIZE_LIMIT","props","callRPC","useBroadcastMutation","mutationKey","operations","onSuccess","options","useMutation","payload","postingKey","accessToken","e","RPCError"],"mappings":"gSAyCA,eAAeA,CAAAA,CACbC,GAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAA4B,UAC5BC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAA+B,OAAA,CACqB,CACpD,IAAMC,CAAAA,CAAUL,CAAAA,EAAM,QAEtB,OAAQH,GAAAA,EACN,KAAK,KAAA,CAAO,CACV,GAAI,CAACQ,EACH,MAAM,IAAI,KAAA,CAAM,wCAAwC,CAAA,CAI1D,IAAIC,CAAAA,CAAiCJ,CAAAA,CAErC,GAAII,CAAAA,GAAQ,MAAA,CAEV,OAAQL,CAAAA,EACN,KAAK,OAAA,CACH,GAAII,EAAQ,WAAA,CACVC,CAAAA,CAAM,MAAMD,CAAAA,CAAQ,WAAA,CAAYP,CAAQ,CAAA,CAAA,KAExC,MAAM,IAAI,KAAA,CACR,iIAEF,CAAA,CAEF,MAEF,KAAK,QAAA,CACCO,CAAAA,CAAQ,YAAA,GACVC,EAAM,MAAMD,CAAAA,CAAQ,YAAA,CAAaP,CAAQ,CAAA,CAAA,CAE3C,MAEF,KAAK,MAAA,CACH,GAAIO,CAAAA,CAAQ,UAAA,CACVC,CAAAA,CAAM,MAAMD,CAAAA,CAAQ,UAAA,CAAWP,CAAQ,CAAA,CAAA,WAEjC,IAAI,KAAA,CACR,yEACF,CAAA,CAEF,MAGF,QACEQ,CAAAA,CAAM,MAAMD,EAAQ,aAAA,CAAcP,CAAQ,CAAA,CAC1C,KACJ,CAGF,GAAI,CAACQ,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,CAAA,GAAA,EAAML,CAAS,CAAA,mBAAA,EAAsBH,CAAQ,CAAA,CAAE,CAAA,CAIjE,IAAMS,CAAAA,CAAaC,GAAAA,CAAW,UAAA,CAAWF,CAAG,CAAA,CAC5C,OAAIF,CAAAA,GAAkB,OAAA,CACb,MAAMK,GAAAA,CAAyBV,CAAAA,CAAKQ,CAAU,CAAA,CAEhD,MAAMG,CAAAA,CAAoBX,CAAAA,CAAKQ,CAAU,CAClD,CAEA,KAAK,UAAA,CAAY,CACf,GAAI,CAACF,CAAAA,EAAS,qBAAA,CACZ,MAAM,IAAI,KAAA,CAAM,mCAAmC,CAAA,CAErD,OAAO,MAAMA,CAAAA,CAAQ,qBAAA,CAAsBP,EAAUC,CAAAA,CAAKE,CAAS,CACrE,CAEA,KAAK,YAAA,CAAc,CACjB,GAAI,CAACI,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,yCAAyC,CAAA,CAK3D,GAAIJ,CAAAA,GAAc,UAAW,CAC3B,GAAII,CAAAA,CAAQ,uBAAA,CACV,OAAO,MAAMA,CAAAA,CAAQ,uBAAA,CAAwBP,EAAUC,CAAAA,CAAKE,CAAS,CAAA,CAEvE,MAAM,IAAI,KAAA,CAAM,CAAA,oCAAA,EAAuCA,CAAS,+CAA+C,CACjH,CAGA,IAAMU,CAAAA,CAAQR,CAAAA,GAAiB,MAAA,CAC3BA,CAAAA,CACA,MAAME,EAAQ,cAAA,CAAeP,CAAQ,CAAA,CAEzC,GAAIa,CAAAA,CACF,GAAI,CAGF,OAAA,CADiB,MADF,IAAIC,CAAAA,CAAG,MAAA,CAAO,CAAE,WAAA,CAAaD,CAAM,CAAC,CAAA,CACrB,UAAUZ,CAAG,CAAA,EAC3B,MAClB,CAAA,MAASc,CAAAA,CAAY,CAEnB,GAAIR,CAAAA,CAAQ,yBAA2BS,GAAAA,CAA0BD,CAAU,CAAA,CACzE,OAAO,MAAMR,CAAAA,CAAQ,uBAAA,CAAwBP,CAAAA,CAAUC,EAAKE,CAAS,CAAA,CAEvE,MAAMY,CACR,CAIF,GAAIR,CAAAA,CAAQ,uBAAA,CACV,OAAO,MAAMA,CAAAA,CAAQ,uBAAA,CAAwBP,CAAAA,CAAUC,CAAAA,CAAKE,CAAS,CAAA,CAGvE,MAAM,IAAI,KAAA,CAAM,CAAA,8BAAA,EAAiCH,CAAQ,CAAA,CAAE,CAC7D,CAEA,KAAK,UAAA,CAAY,CACf,GAAI,CAACO,CAAAA,EAAS,qBAAA,CACZ,MAAM,IAAI,KAAA,CAAM,mCAAmC,EAErD,OAAO,MAAMA,CAAAA,CAAQ,qBAAA,CAAsBP,CAAAA,CAAUC,CAAAA,CAAKE,CAAS,CACrE,CAEA,KAAK,QAAA,CAAU,CACb,GAAI,CAACD,CAAAA,EAAM,SAAA,CACT,MAAM,IAAI,KAAA,CAAM,uCAAuC,CAAA,CAEzD,OAAQ,MAAMA,CAAAA,CAAK,SAAA,CAAUD,CAAAA,CAAKE,CAAS,CAC7C,CAEA,QACE,MAAM,IAAI,KAAA,CAAM,CAAA,qBAAA,EAAwBJ,GAAM,EAAE,CACpD,CACF,CAuCA,eAAekB,CAAAA,CACbjB,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,EAA4B,SAAA,CAC5BG,CAAAA,CAA+B,OAAA,CACqB,CACpD,IAAMC,CAAAA,CAAUL,CAAAA,EAAM,OAAA,CAItB,GAAIK,CAAAA,EAAS,YAAA,CAAc,CACzB,IAAMW,CAAAA,CAAY,MAAMX,CAAAA,CAAQ,YAAA,CAAaP,EAAUG,CAAS,CAAA,CAEhE,GAAIe,CAAAA,CAAW,CAIb,IAAMC,CAAAA,CAAiBZ,CAAAA,CAAQ,wBAC3B,MAAMA,CAAAA,CAAQ,uBAAA,CAAwBP,CAAQ,CAAA,CAC9C,KAAA,CAIJ,GACEG,CAAAA,GAAc,WACdgB,CAAAA,EACAD,CAAAA,GAAc,KAAA,CAEd,GAAI,CAEF,OAAO,MAAMpB,CAAAA,CAAoB,aAAcE,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAW,KAAA,CAAA,CAAW,KAAA,CAAA,CAAWG,CAAa,CACpH,OAASc,CAAAA,CAAO,CAGd,GAAI,CAACJ,GAAAA,CAA0BI,CAAK,CAAA,CAClC,MAAMA,EAGR,OAAA,CAAQ,IAAA,CAAK,0DAAA,CAA4DA,CAAK,EAChF,CAIF,GACEjB,CAAAA,GAAc,WACdgB,CAAAA,EACAD,CAAAA,GAAc,UAAA,CAEd,GAAI,CACF,OAAO,MAAMpB,CAAAA,CAAoB,aAAcE,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAW,KAAA,CAAA,CAAW,KAAA,CAAA,CAAWG,CAAa,CACpH,OAASc,CAAAA,CAAO,CACd,GAAI,CAACJ,GAAAA,CAA0BI,CAAK,CAAA,CAClC,MAAMA,EAER,OAAA,CAAQ,IAAA,CAAK,oEAAA,CAAsEA,CAAK,EAC1F,CAIF,GACEjB,CAAAA,GAAc,WACdgB,CAAAA,EACAD,CAAAA,GAAc,UAAA,CAEd,GAAI,CAEF,OAAO,MAAMpB,CAAAA,CAAoB,aAAcE,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAW,KAAA,CAAA,CAAW,KAAA,CAAA,CAAWG,CAAa,CACpH,OAASc,CAAAA,CAAO,CAGd,GAAI,CAACJ,GAAAA,CAA0BI,CAAK,CAAA,CAClC,MAAMA,EAGR,OAAA,CAAQ,IAAA,CAAK,+DAAA,CAAiEA,CAAK,EACrF,CAIF,GAAI,CACF,OAAO,MAAMtB,CAAAA,CAAoBoB,CAAAA,CAAWlB,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAW,KAAA,CAAA,CAAW,OAAWG,CAAa,CACjH,CAAA,MAASc,CAAAA,CAAO,CAEd,GAAIJ,GAAAA,CAA0BI,CAAK,GAG/Bb,CAAAA,CAAQ,iBAAA,GACPJ,CAAAA,GAAc,SAAA,EAAaA,CAAAA,GAAc,QAAA,CAAA,CAC1C,CAEA,IAAMkB,EAAgBpB,CAAAA,CAAI,MAAA,CAAS,CAAA,CAAIA,CAAAA,CAAI,CAAC,CAAA,CAAE,CAAC,CAAA,CAAI,UAC7CqB,CAAAA,CAAiB,MAAMf,CAAAA,CAAQ,iBAAA,CAAkBJ,CAAAA,CAAWkB,CAAa,CAAA,CAC/E,GAAI,CAACC,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,CAAA,mBAAA,EAAsBnB,CAAS,CAAA,yCAAA,CAA2C,CAAA,CAM5F,OAAO,MAAML,CAAAA,CAAoBwB,CAAAA,CAAgBtB,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAW,MAAA,CAAW,OAAWG,CAAa,CACtH,CAIF,MAAMc,CACR,CACF,CAGA,GAAIjB,IAAc,SAAA,CAEhB,GAAI,CACF,OAAO,MAAML,CAAAA,CAAoB,YAAA,CAAcE,CAAAA,CAAUC,EAAKC,CAAAA,CAAMC,CAAAA,CAAW,KAAA,CAAA,CAAW,KAAA,CAAA,CAAWG,CAAa,CACpH,CAAA,MAASiB,CAAAA,CAAS,CAChB,GAAIP,GAAAA,CAA0BO,CAAO,CAAA,EAAKhB,CAAAA,CAAQ,iBAAA,CAAmB,CACnE,IAAMc,EAAgBpB,CAAAA,CAAI,MAAA,CAAS,CAAA,CAAIA,CAAAA,CAAI,CAAC,CAAA,CAAE,CAAC,CAAA,CAAI,UAC7CqB,CAAAA,CAAiB,MAAMf,CAAAA,CAAQ,iBAAA,CAAkBJ,CAAAA,CAAWkB,CAAa,CAAA,CAC/E,GAAI,CAACC,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,CAAA,4BAAA,EAA+BtB,CAAQ,CAAA,sBAAA,CAAwB,CAAA,CAEjF,OAAO,MAAMF,CAAAA,CAAoBwB,CAAAA,CAAgBtB,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAW,MAAA,CAAW,OAAWG,CAAa,CACtH,CACA,MAAMiB,CACR,CAAA,KAAA,GACSpB,CAAAA,GAAc,QAAA,EAAYI,EAAQ,iBAAA,CAAmB,CAE9D,IAAMc,CAAAA,CAAgBpB,CAAAA,CAAI,MAAA,CAAS,CAAA,CAAIA,CAAAA,CAAI,CAAC,CAAA,CAAE,CAAC,CAAA,CAAI,SAAA,CAC7CqB,CAAAA,CAAiB,MAAMf,CAAAA,CAAQ,iBAAA,CAAkBJ,EAAWkB,CAAa,CAAA,CAC/E,GAAI,CAACC,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,sBAAsBnB,CAAS,CAAA,yCAAA,CAA2C,CAAA,CAE5F,OAAO,MAAML,CAAAA,CAAoBwB,CAAAA,CAAgBtB,CAAAA,CAAUC,EAAKC,CAAAA,CAAMC,CAAAA,CAAW,MAAA,CAAW,MAAA,CAAWG,CAAa,CACtH,CACF,CAIA,IAAMkB,CAAAA,CAAQtB,CAAAA,EAAM,aAAA,EAAiB,CAAC,KAAA,CAAO,UAAA,CAAY,YAAA,CAAc,UAAA,CAAY,QAAQ,CAAA,CACrFuB,CAAAA,CAA6B,IAAI,GAAA,CAEvC,IAAA,IAAW1B,CAAAA,IAAUyB,CAAAA,CACnB,GAAI,CAEF,IAAIE,CAAAA,CAAa,CAAA,CAAA,CACbC,CAAAA,CAAa,EAAA,CACbC,CAAAA,CACAC,CAAAA,CAEJ,OAAQ9B,GACN,KAAK,KAAA,CACH,GAAI,CAACQ,CAAAA,CACHmB,CAAAA,CAAa,CAAA,CAAA,CACbC,EAAa,qBAAA,CAAA,KACR,CAEL,IAAInB,CAAAA,CAEJ,OAAQL,CAAAA,EACN,KAAK,QACCI,CAAAA,CAAQ,WAAA,GACVC,CAAAA,CAAM,MAAMD,CAAAA,CAAQ,WAAA,CAAYP,CAAQ,CAAA,CAAA,CAE1C,MACF,KAAK,QAAA,CACCO,CAAAA,CAAQ,YAAA,GACVC,CAAAA,CAAM,MAAMD,CAAAA,CAAQ,YAAA,CAAaP,CAAQ,CAAA,CAAA,CAE3C,MACF,KAAK,MAAA,CACCO,CAAAA,CAAQ,UAAA,GACVC,CAAAA,CAAM,MAAMD,EAAQ,UAAA,CAAWP,CAAQ,CAAA,CAAA,CAEzC,MAEF,QACEQ,CAAAA,CAAM,MAAMD,CAAAA,CAAQ,cAAcP,CAAQ,CAAA,CAC1C,KACJ,CAEKQ,CAAAA,CAIHoB,CAAAA,CAAgBpB,CAAAA,EAHhBkB,CAAAA,CAAa,GACbC,CAAAA,CAAa,CAAA,GAAA,EAAMxB,CAAS,CAAA,cAAA,CAAA,EAIhC,CACA,MACF,KAAK,UAAA,CACEI,GAAS,qBAAA,GACZmB,CAAAA,CAAa,CAAA,CAAA,CACbC,CAAAA,CAAa,mCAAA,CAAA,CAEf,MACF,KAAK,YAAA,CACH,GAAI,CAACpB,CAAAA,CACHmB,CAAAA,CAAa,CAAA,CAAA,CACbC,CAAAA,CAAa,qBAAA,CAAA,KACR,CAEL,IAAMd,EAAQ,MAAMN,CAAAA,CAAQ,cAAA,CAAeP,CAAQ,CAAA,CAC/Ca,CAAAA,GACFgB,CAAAA,CAAkBhB,CAAAA,EAItB,CACA,MACF,KAAK,UAAA,CACEN,CAAAA,EAAS,qBAAA,GACZmB,CAAAA,CAAa,CAAA,CAAA,CACbC,CAAAA,CAAa,qCAEf,MACF,KAAK,QAAA,CACEzB,CAAAA,EAAM,SAAA,GACTwB,CAAAA,CAAa,CAAA,CAAA,CACbC,CAAAA,CAAa,yCAEf,KACJ,CAEA,GAAID,CAAAA,CAAY,CACdD,CAAAA,CAAO,GAAA,CAAI1B,CAAAA,CAAQ,IAAI,KAAA,CAAM,CAAA,SAAA,EAAY4B,CAAU,CAAA,CAAE,CAAC,CAAA,CACtD,QACF,CAGA,OAAO,MAAM7B,CAAAA,CAAoBC,CAAAA,CAAQC,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAWyB,CAAAA,CAAeC,EAAiBvB,CAAa,CACxH,CAAA,MAASc,CAAAA,CAAO,CAKd,GAHAK,CAAAA,CAAO,GAAA,CAAI1B,EAAQqB,CAAc,CAAA,CAG7B,CAACJ,GAAAA,CAA0BI,CAAK,CAAA,CAElC,MAAMA,CAEV,CAQF,GAAI,CAJoB,KAAA,CAAM,IAAA,CAAKK,CAAAA,CAAO,MAAA,EAAQ,CAAA,CAAE,KAClDL,CAAAA,EAAS,CAACA,CAAAA,CAAM,OAAA,CAAQ,UAAA,CAAW,UAAU,CAC/C,CAAA,CAEsB,CAEpB,IAAMU,CAAAA,CAAc,KAAA,CAAM,IAAA,CAAKL,CAAAA,CAAO,OAAA,EAAS,CAAA,CAC5C,IAAI,CAAC,CAAC1B,CAAAA,CAAQqB,CAAK,CAAA,GAAM,CAAA,EAAGrB,CAAM,CAAA,EAAA,EAAKqB,EAAM,OAAO,CAAA,CAAE,CAAA,CACtD,IAAA,CAAK,IAAI,CAAA,CACZ,MAAM,IAAI,MACR,CAAA,+CAAA,EAAkDpB,CAAQ,CAAA,EAAA,EAAK8B,CAAW,CAAA,CAC5E,CACF,CAGA,IAAMC,EAAgB,KAAA,CAAM,IAAA,CAAKN,CAAAA,CAAO,OAAA,EAAS,CAAA,CAC9C,GAAA,CAAI,CAAC,CAAC1B,CAAAA,CAAQqB,CAAK,CAAA,GAAM,CAAA,EAAGrB,CAAM,CAAA,EAAA,EAAKqB,CAAAA,CAAM,OAAO,EAAE,CAAA,CACtD,IAAA,CAAK,IAAI,CAAA,CAEZ,MAAM,IAAI,KAAA,CACR,CAAA,6CAAA,EAAgDpB,CAAQ,CAAA,UAAA,EAAa+B,CAAa,CAAA,CACpF,CACF,CAuEA,eAAsBC,CAAAA,CAA+B/B,CAAAA,CAAiC,CACpF,IAAIgC,CAAAA,CACJ,GAAI,CACF,IAAMC,GAAAA,CAAc,CAClB,aAAA,CAAe,EACf,gBAAA,CAAkB,CAAA,CAClB,UAAA,CAAY,qBAAA,CACZ,UAAA,CAAYjC,CAAAA,CACZ,UAAA,CAAY,GACZ,UAAA,CAAY,EACd,CAAA,CAEA,GADAgC,CAAAA,CAAK,IAAIE,CAAAA,CAAY,CAAE,WAAA,CAAAD,GAAY,CAAC,CAAA,CAChCD,CAAAA,CAAG,IAAA,CAAK,CAAC,CAAA,EAAKG,EAChB,MAEJ,CAAA,KAAQ,CACN,MACF,CACA,GAAI,CAGF,IAAMC,EAAQ,MAAMC,CAAAA,CAAQ,6CAAA,CAA+C,EAAC,CAAG,GAAA,CAAM,CAAC,CAAA,CACtFL,EAAG,gBAAA,CAAmBI,CAAAA,EAAO,mBAC/B,CAAA,KAAQ,CAER,CACAJ,CAAAA,CAAG,UAAA,CAAW,CAAC,EACjB,CAEO,SAASM,CAAAA,CACdC,GAAAA,CAA2B,EAAC,CAC5BxC,CAAAA,CACAyC,EACAC,CAAAA,CAAgE,IAAM,CAAC,CAAA,CACvExC,CAAAA,CACAC,CAAAA,CAA4B,SAAA,CAC5BwC,CAAAA,CAeA,CACA,IAAMrC,CAAAA,CAAgBqC,CAAAA,EAAS,aAAA,EAAiB,OAAA,CAEhD,OAAOC,WAAAA,CAAY,CACjB,UAAAF,CAAAA,CACA,QAAA,CAAUC,CAAAA,EAAS,QAAA,CACnB,OAAA,CAASA,CAAAA,EAAS,OAAA,CAClB,SAAA,CAAWA,GAAS,SAAA,CACpB,WAAA,CAAa,CAAC,GAAGH,GAAAA,CAAaxC,CAAQ,CAAA,CACtC,UAAA,CAAY,MAAO6C,CAAAA,EAAe,CAChC,GAAI,CAAC7C,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,kEACF,CAAA,CAGF,IAAMC,CAAAA,CAAMwC,CAAAA,CAAWI,CAAO,CAAA,CAC9B,MAAMb,CAAAA,CAA+B/B,CAAG,CAAA,CAExC,GAAI,CAEF,GAAIC,CAAAA,EAAM,cAAA,GAAmB,CAAA,CAAA,EAASA,CAAAA,EAAM,QAC1C,OAAO,MAAMe,CAAAA,CAAsBjB,CAAAA,CAAUC,CAAAA,CAAKC,CAAAA,CAAMC,CAAAA,CAAWG,CAAa,EAIlF,GAAIJ,CAAAA,EAAM,SAAA,CACR,OAAO,MAAMA,CAAAA,CAAK,SAAA,CAAUD,CAAAA,CAAKE,CAAS,CAAA,CAG5C,IAAM2C,CAAAA,CAAa5C,CAAAA,EAAM,UAAA,CACzB,GAAI4C,CAAAA,CAAY,CAEd,GAAI3C,CAAAA,GAAc,SAAA,CAChB,MAAM,IAAI,KAAA,CACR,CAAA,mEAAA,EAAsEA,CAAS,CAAA,uDAAA,EACtCA,CAAS,CAAA,YAAA,CACpD,CAAA,CAGF,IAAMM,CAAAA,CAAaC,GAAAA,CAAW,UAAA,CAAWoC,CAAU,CAAA,CAEnD,OAAO,MAAMlC,CAAAA,CACXX,CAAAA,CACAQ,CACF,CACF,CAEA,IAAMsC,CAAAA,CAAc7C,GAAM,WAAA,CAC1B,GAAI6C,CAAAA,CAGF,OAAA,CADiB,MADF,IAAIjC,CAAAA,CAAG,MAAA,CAAO,CAAE,WAAA,CAAAiC,CAAY,CAAC,CAAA,CACd,SAAA,CAAU9C,CAAG,CAAA,EAC3B,MAAA,CAGlB,MAAM,IAAI,KAAA,CACR,mEACF,CACF,CAAA,MAAS+C,CAAAA,CAAG,CACV,MAAIA,aAAaC,GAAAA,CAKT,IAAI,KAAA,CAAMD,CAAAA,CAAE,OAAO,CAAA,CAErBA,CACR,CACF,CACF,CAAC,CACH","file":"chunk-J2HM6MWA.js","sourcesContent":["import {\n useMutation,\n type MutationKey,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { callRPC, MIN_TRANSACTION_SIZE_LIMIT, PrivateKey, RPCError, Transaction } from \"../../../hive-tx\";\nimport type { Operation, TransactionType } from \"../../../hive-tx\";\nimport { broadcastOperations, broadcastOperationsAsync, type TransactionConfirmation } from \"@/modules/core/hive-tx\";\nimport type { BroadcastResult } from \"../../../hive-tx\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { shouldTriggerAuthFallback } from \"@/modules/core/errors\";\nimport type { AuthorityLevel } from \"@/modules/operations/authority-map\";\nimport hs from \"hivesigner\";\n\n/**\n * Broadcast mode controls whether the SDK waits for block inclusion.\n *\n * - `'async'` (default): Uses `broadcast_transaction` — returns once the node\n * accepts the transaction into its mempool. Transport and RPC errors are\n * still thrown immediately; only the block-inclusion wait is skipped.\n *\n * - `'sync'`: Uses `broadcast_transaction_synchronous` — waits for block\n * inclusion and returns `block_num`/`trx_num`. Deprecated; prefer `'async'`\n * and poll `transaction_status_api` if you need block confirmation.\n */\nexport type BroadcastMode = 'sync' | 'async';\n\n/**\n * Broadcasts operations using a specific auth method.\n *\n * @param method - Auth method to use ('key', 'hiveauth', 'hivesigner', 'keychain', 'custom')\n * @param username - Hive username to broadcast for\n * @param ops - Operations to broadcast\n * @param auth - AuthContextV2 with adapter and configuration\n * @param authority - Key authority to use (posting, active, owner, or memo)\n * @param fetchedKey - Optional pre-fetched key to avoid duplicate fetches\n * @param fetchedToken - Optional pre-fetched access token to avoid duplicate fetches\n * @param broadcastMode - Whether to wait for block inclusion ('sync') or just mempool acceptance ('async')\n * @returns Transaction confirmation from the blockchain\n * @throws Error if method is not available or broadcast fails\n */\nasync function broadcastWithMethod(\n method: string,\n username: string,\n ops: Operation[],\n auth?: AuthContextV2,\n authority: AuthorityLevel = 'posting',\n fetchedKey?: string | null,\n fetchedToken?: string | null,\n broadcastMode: BroadcastMode = 'async'\n): Promise<TransactionConfirmation | BroadcastResult> {\n const adapter = auth?.adapter;\n\n switch (method) {\n case 'key': {\n if (!adapter) {\n throw new Error('No adapter provided for key-based auth');\n }\n\n // Use pre-fetched key if provided, otherwise fetch it\n let key: string | null | undefined = fetchedKey;\n\n if (key === undefined) {\n // Key not pre-fetched, fetch it now based on authority\n switch (authority) {\n case 'owner':\n if (adapter.getOwnerKey) {\n key = await adapter.getOwnerKey(username);\n } else {\n throw new Error(\n `Owner key not supported by adapter. Owner operations (like account recovery) ` +\n `require master password login or manual key entry.`\n );\n }\n break;\n\n case 'active':\n if (adapter.getActiveKey) {\n key = await adapter.getActiveKey(username);\n }\n break;\n\n case 'memo':\n if (adapter.getMemoKey) {\n key = await adapter.getMemoKey(username);\n } else {\n throw new Error(\n `Memo key not supported by adapter. Use memo encryption methods instead.`\n );\n }\n break;\n\n case 'posting':\n default:\n key = await adapter.getPostingKey(username);\n break;\n }\n }\n\n if (!key) {\n throw new Error(`No ${authority} key available for ${username}`);\n }\n\n // Attempt broadcast with key\n const privateKey = PrivateKey.fromString(key);\n if (broadcastMode === 'async') {\n return await broadcastOperationsAsync(ops, privateKey);\n }\n return await broadcastOperations(ops, privateKey);\n }\n\n case 'hiveauth': {\n if (!adapter?.broadcastWithHiveAuth) {\n throw new Error('HiveAuth not supported by adapter');\n }\n return await adapter.broadcastWithHiveAuth(username, ops, authority);\n }\n\n case 'hivesigner': {\n if (!adapter) {\n throw new Error('No adapter provided for HiveSigner auth');\n }\n\n // Access tokens only have posting authority — for active/owner/memo ops,\n // go directly to platform-specific HiveSigner broadcast (e.g., redirect to hivesigner.com)\n if (authority !== 'posting') {\n if (adapter.broadcastWithHiveSigner) {\n return await adapter.broadcastWithHiveSigner(username, ops, authority);\n }\n throw new Error(`HiveSigner access token cannot sign ${authority} operations. No platform broadcast available.`);\n }\n\n // Try direct API broadcast with access token first (posting ops only)\n const token = fetchedToken !== undefined\n ? fetchedToken\n : await adapter.getAccessToken(username);\n\n if (token) {\n try {\n const client = new hs.Client({ accessToken: token });\n const response = await client.broadcast(ops);\n return response.result;\n } catch (tokenError) {\n // Token broadcast failed — try platform-specific HiveSigner broadcast\n if (adapter.broadcastWithHiveSigner && shouldTriggerAuthFallback(tokenError)) {\n return await adapter.broadcastWithHiveSigner(username, ops, authority);\n }\n throw tokenError;\n }\n }\n\n // No token available — try platform-specific HiveSigner broadcast\n if (adapter.broadcastWithHiveSigner) {\n return await adapter.broadcastWithHiveSigner(username, ops, authority);\n }\n\n throw new Error(`No access token available for ${username}`);\n }\n\n case 'keychain': {\n if (!adapter?.broadcastWithKeychain) {\n throw new Error('Keychain not supported by adapter');\n }\n return await adapter.broadcastWithKeychain(username, ops, authority);\n }\n\n case 'custom': {\n if (!auth?.broadcast) {\n throw new Error('No custom broadcast function provided');\n }\n return (await auth.broadcast(ops, authority)) as TransactionConfirmation;\n }\n\n default:\n throw new Error(`Unknown auth method: ${method}`);\n }\n}\n\n/**\n * Attempts to broadcast operations using multiple auth methods in fallback chain.\n * Implements sophisticated fallback pattern from mobile app.\n *\n * @param username - Hive username to broadcast for\n * @param ops - Operations to broadcast\n * @param auth - AuthContextV2 with adapter and fallback configuration\n * @param authority - Key authority to use ('posting' | 'active' | 'owner' | 'memo'), defaults to 'posting'\n * @returns Transaction confirmation from the blockchain\n * @throws Error if all auth methods fail or if a non-auth error occurs\n *\n * @remarks\n * **Preferred Behavior (when adapter.getLoginType exists):**\n * - Calls adapter.getLoginType() to determine user's actual auth method\n * - Uses ONLY that method (no fallbacks) - more predictable and faster\n * - If it fails, throws the error immediately\n *\n * **Fallback Behavior (for backward compatibility):**\n * - Tries each auth method in the fallback chain order\n * - Only continues to next method if error is auth-related (missing authority, token expired)\n * - Stops immediately for non-auth errors (RC exhaustion, network errors, validation errors)\n * - Collects all errors and provides detailed failure message\n *\n * @example\n * ```typescript\n * // Preferred: Adapter with getLoginType (single method, no fallbacks)\n * const auth: AuthContextV2 = {\n * adapter: myAdapter, // includes getLoginType()\n * };\n *\n * // Legacy: Explicit fallback chain (tries multiple methods)\n * const auth: AuthContextV2 = {\n * adapter: myAdapter,\n * fallbackChain: ['key', 'hiveauth', 'hivesigner'],\n * };\n * ```\n */\nasync function broadcastWithFallback(\n username: string,\n ops: Operation[],\n auth?: AuthContextV2,\n authority: AuthorityLevel = 'posting',\n broadcastMode: BroadcastMode = 'async'\n): Promise<TransactionConfirmation | BroadcastResult> {\n const adapter = auth?.adapter;\n\n // PREFERRED APPROACH: If adapter provides getLoginType, use smart auth strategy\n // This avoids unnecessary fallback attempts and is more predictable\n if (adapter?.getLoginType) {\n const loginType = await adapter.getLoginType(username, authority);\n\n if (loginType) {\n // SMART AUTH STRATEGY: Optimize based on login type + authority + credentials\n\n // Check if user has granted ecency.app posting authority\n const hasPostingAuth = adapter.hasPostingAuthorization\n ? await adapter.hasPostingAuthorization(username)\n : false;\n\n // OPTIMIZATION: Use HiveSigner token for posting ops when posting auth is granted\n // This is faster than direct key signing or HiveAuth for key-based logins\n if (\n authority === 'posting' &&\n hasPostingAuth &&\n loginType === 'key'\n ) {\n try {\n // Try HiveSigner API first (faster)\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n // Only fallback if this is an auth-related error\n // Otherwise, rethrow the original error (e.g., network errors, validation errors)\n if (!shouldTriggerAuthFallback(error)) {\n throw error;\n }\n // Fallback to direct key signing if token auth method fails\n console.warn('[SDK] HiveSigner token auth failed, falling back to key:', error);\n }\n }\n\n // OPTIMIZATION: Use HiveSigner token for keychain/MetaMask users with posting auth (faster, no popup)\n if (\n authority === 'posting' &&\n hasPostingAuth &&\n loginType === 'keychain'\n ) {\n try {\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n if (!shouldTriggerAuthFallback(error)) {\n throw error;\n }\n console.warn('[SDK] HiveSigner token auth failed, falling back to keychain/snap:', error);\n }\n }\n\n // OPTIMIZATION: Use HiveSigner token for HiveAuth users with posting auth (faster)\n if (\n authority === 'posting' &&\n hasPostingAuth &&\n loginType === 'hiveauth'\n ) {\n try {\n // Try HiveSigner API first (faster)\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n // Only fallback if this is an auth-related error\n // Otherwise, rethrow the original error (e.g., network errors, validation errors)\n if (!shouldTriggerAuthFallback(error)) {\n throw error;\n }\n // Fallback to HiveAuth if token auth method fails\n console.warn('[SDK] HiveSigner token auth failed, falling back to HiveAuth:', error);\n }\n }\n\n // Use user's actual login method\n try {\n return await broadcastWithMethod(loginType, username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n // Check if error is due to missing authority (e.g., posting key trying active op)\n if (shouldTriggerAuthFallback(error)) {\n // Show auth upgrade UI if available (only for posting/active operations)\n if (\n adapter.showAuthUpgradeUI &&\n (authority === 'posting' || authority === 'active')\n ) {\n // Guard against empty operations array\n const operationName = ops.length > 0 ? ops[0][0] : 'unknown';\n const selectedMethod = await adapter.showAuthUpgradeUI(authority, operationName);\n if (!selectedMethod) {\n throw new Error(`Operation requires ${authority} authority. User declined alternate auth.`);\n }\n\n // User selected a specific method - delegate to broadcastWithMethod\n // This handles all auth methods (hiveauth, hivesigner, key, keychain, custom, etc.)\n // broadcastWithMethod already contains all necessary validation and method-specific logic\n return await broadcastWithMethod(selectedMethod, username, ops, auth, authority, undefined, undefined, broadcastMode);\n }\n }\n\n // Not an auth error, or no upgrade UI available - throw original error\n throw error;\n }\n }\n\n // loginType is null — user's auth method is unknown (e.g., incomplete login data)\n if (authority === 'posting') {\n // For posting ops, try HiveSigner — access token is usually available for all logins\n try {\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (hsError) {\n if (shouldTriggerAuthFallback(hsError) && adapter.showAuthUpgradeUI) {\n const operationName = ops.length > 0 ? ops[0][0] : 'unknown';\n const selectedMethod = await adapter.showAuthUpgradeUI(authority, operationName);\n if (!selectedMethod) {\n throw new Error(`No login type available for ${username}. Please log in again.`);\n }\n return await broadcastWithMethod(selectedMethod, username, ops, auth, authority, undefined, undefined, broadcastMode);\n }\n throw hsError;\n }\n } else if (authority === 'active' && adapter.showAuthUpgradeUI) {\n // For active ops, show auth upgrade dialog — no silent fallback possible\n const operationName = ops.length > 0 ? ops[0][0] : 'unknown';\n const selectedMethod = await adapter.showAuthUpgradeUI(authority, operationName);\n if (!selectedMethod) {\n throw new Error(`Operation requires ${authority} authority. User declined alternate auth.`);\n }\n return await broadcastWithMethod(selectedMethod, username, ops, auth, authority, undefined, undefined, broadcastMode);\n }\n }\n\n // FALLBACK APPROACH: For backward compatibility, use fallback chain\n // This is only used if adapter doesn't provide getLoginType\n const chain = auth?.fallbackChain ?? ['key', 'hiveauth', 'hivesigner', 'keychain', 'custom'];\n const errors: Map<string, Error> = new Map();\n\n for (const method of chain) {\n try {\n // Check if method is available before attempting\n let shouldSkip = false;\n let skipReason = '';\n let prefetchedKey: string | null | undefined;\n let prefetchedToken: string | null | undefined;\n\n switch (method) {\n case 'key':\n if (!adapter) {\n shouldSkip = true;\n skipReason = 'No adapter provided';\n } else {\n // Pre-fetch key to check availability (will be reused in broadcast)\n let key: string | null | undefined;\n\n switch (authority) {\n case 'owner':\n if (adapter.getOwnerKey) {\n key = await adapter.getOwnerKey(username);\n }\n break;\n case 'active':\n if (adapter.getActiveKey) {\n key = await adapter.getActiveKey(username);\n }\n break;\n case 'memo':\n if (adapter.getMemoKey) {\n key = await adapter.getMemoKey(username);\n }\n break;\n case 'posting':\n default:\n key = await adapter.getPostingKey(username);\n break;\n }\n\n if (!key) {\n shouldSkip = true;\n skipReason = `No ${authority} key available`;\n } else {\n prefetchedKey = key; // Store for reuse\n }\n }\n break;\n case 'hiveauth':\n if (!adapter?.broadcastWithHiveAuth) {\n shouldSkip = true;\n skipReason = 'HiveAuth not supported by adapter';\n }\n break;\n case 'hivesigner':\n if (!adapter) {\n shouldSkip = true;\n skipReason = 'No adapter provided';\n } else {\n // Pre-fetch token if available (will be reused in broadcast)\n const token = await adapter.getAccessToken(username);\n if (token) {\n prefetchedToken = token; // Store for reuse\n }\n // When no token but adapter exists, don't skip —\n // broadcastWithMethod can fall back to adapter.broadcastWithHiveSigner\n }\n break;\n case 'keychain':\n if (!adapter?.broadcastWithKeychain) {\n shouldSkip = true;\n skipReason = 'Keychain not supported by adapter';\n }\n break;\n case 'custom':\n if (!auth?.broadcast) {\n shouldSkip = true;\n skipReason = 'No custom broadcast function provided';\n }\n break;\n }\n\n if (shouldSkip) {\n errors.set(method, new Error(`Skipped: ${skipReason}`));\n continue;\n }\n\n // Method is available, attempt broadcast with pre-fetched credentials\n return await broadcastWithMethod(method, username, ops, auth, authority, prefetchedKey, prefetchedToken, broadcastMode);\n } catch (error) {\n // Record actual error from failed broadcast attempt\n errors.set(method, error as Error);\n\n // Only continue fallback if error suggests trying another method\n if (!shouldTriggerAuthFallback(error)) {\n // If it's not an auth error, throw immediately (e.g., RC error, network error)\n throw error;\n }\n }\n }\n\n // FIX #2: Improved error message distinguishes between skips and real failures\n const hasRealAttempts = Array.from(errors.values()).some(\n error => !error.message.startsWith('Skipped:')\n );\n\n if (!hasRealAttempts) {\n // All methods were skipped (none attempted)\n const skipReasons = Array.from(errors.entries())\n .map(([method, error]) => `${method}: ${error.message}`)\n .join(', ');\n throw new Error(\n `[SDK][Broadcast] No auth methods attempted for ${username}. ${skipReasons}`\n );\n }\n\n // At least one method was attempted but all failed\n const errorMessages = Array.from(errors.entries())\n .map(([method, error]) => `${method}: ${error.message}`)\n .join(', ');\n\n throw new Error(\n `[SDK][Broadcast] All auth methods failed for ${username}. Errors: ${errorMessages}`\n );\n}\n\n/**\n * React Query mutation hook for broadcasting Hive operations.\n * Supports multiple authentication methods with automatic fallback.\n *\n * @template T - Type of the mutation payload\n * @param mutationKey - React Query mutation key for cache management\n * @param username - Hive username (required for broadcast)\n * @param operations - Function that converts payload to Hive operations\n * @param onSuccess - Success callback after broadcast completes\n * @param auth - Authentication context (supports both legacy AuthContext and new AuthContextV2)\n * @param authority - Key authority to use ('posting' | 'active' | 'owner' | 'memo'), defaults to 'posting'\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Authentication Flow:**\n *\n * 1. **With AuthContextV2 + adapter + enableFallback** (recommended for new code):\n * - Tries auth methods in fallbackChain order\n * - Smart fallback: only retries on auth errors, not RC/network errors\n * - Uses platform adapter for storage, UI, and broadcasting\n *\n * 2. **With legacy AuthContext** (backward compatible):\n * - Tries auth.broadcast() first (custom implementation)\n * - Falls back to postingKey if available\n * - Falls back to accessToken (HiveSigner) if available\n * - Throws if no auth method available\n *\n * **Backward Compatibility:**\n * - All existing code using AuthContext will continue to work\n * - AuthContextV2 extends AuthContext, so it's a drop-in replacement\n * - enableFallback defaults to false if no adapter provided\n *\n * @example\n * ```typescript\n * // New pattern with platform adapter and fallback\n * const mutation = useBroadcastMutation(\n * ['vote'],\n * username,\n * (payload) => [voteOperation(payload)],\n * () => console.log('Success!'),\n * {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * },\n * 'posting'\n * );\n *\n * // Legacy pattern (still works)\n * const mutation = useBroadcastMutation(\n * ['vote'],\n * username,\n * (payload) => [voteOperation(payload)],\n * () => console.log('Success!'),\n * { postingKey: 'wif-key' }\n * );\n * ```\n */\n/**\n * Refuse operations that can never fit in one Hive transaction before any\n * signer (key, Keychain, HiveSigner, HiveAuth, MetaMask) sees them, so the\n * user gets a clear error instead of a broadcast that every node rejects.\n * Anything within the smallest limit witnesses can vote passes without a\n * network call; a larger transaction is judged against the live\n * maximum_block_size, or against the protocol ceiling if that cannot be read.\n * Only the size verdict is enforced: an operation this serializer cannot\n * encode is left to the signer, which serializes it on its own.\n */\nexport async function assertOperationsFitTransaction(ops: Operation[]): Promise<void> {\n let tx: Transaction;\n try {\n const transaction = {\n ref_block_num: 0,\n ref_block_prefix: 0,\n expiration: \"1970-01-01T00:00:00\",\n operations: ops,\n extensions: [],\n signatures: [],\n } as unknown as TransactionType;\n tx = new Transaction({ transaction });\n if (tx.size(1) <= MIN_TRANSACTION_SIZE_LIMIT) {\n return;\n }\n } catch {\n return;\n }\n try {\n // Short budget: this only delays an already oversized broadcast, and the\n // protocol ceiling still applies if the nodes are slow.\n const props = await callRPC(\"condenser_api.get_dynamic_global_properties\", [], 3000, 1);\n tx.maximumBlockSize = props?.maximum_block_size;\n } catch {\n // Unknown limit: assertSize falls back to the protocol ceiling.\n }\n tx.assertSize(1);\n}\n\nexport function useBroadcastMutation<T>(\n mutationKey: MutationKey = [],\n username: string | undefined,\n operations: (payload: T) => Operation[],\n onSuccess: UseMutationOptions<unknown, Error, T>[\"onSuccess\"] = () => {},\n auth?: AuthContextV2,\n authority: AuthorityLevel = 'posting',\n options?: {\n onMutate?: UseMutationOptions<unknown, Error, T>[\"onMutate\"];\n onError?: UseMutationOptions<unknown, Error, T>[\"onError\"];\n onSettled?: UseMutationOptions<unknown, Error, T>[\"onSettled\"];\n /**\n * Controls whether to wait for block inclusion or just mempool acceptance.\n *\n * - `'async'` (default): Returns after mempool acceptance. Recommended for\n * all operations; errors are still thrown immediately.\n *\n * - `'sync'`: Waits for block inclusion, returns block_num/trx_num.\n * Deprecated; prefer `'async'`.\n */\n broadcastMode?: BroadcastMode;\n }\n) {\n const broadcastMode = options?.broadcastMode ?? 'async';\n\n return useMutation({\n onSuccess,\n onMutate: options?.onMutate,\n onError: options?.onError,\n onSettled: options?.onSettled,\n mutationKey: [...mutationKey, username],\n mutationFn: async (payload: T) => {\n if (!username) {\n throw new Error(\n \"[Core][Broadcast] Attempted to call broadcast API with anon user\"\n );\n }\n\n const ops = operations(payload);\n await assertOperationsFitTransaction(ops);\n\n try {\n // New: Try auth methods in fallback chain (if enabled)\n if (auth?.enableFallback !== false && auth?.adapter) {\n return await broadcastWithFallback(username, ops, auth, authority, broadcastMode);\n }\n\n // Legacy behavior: try methods in fixed order (backward compatible)\n if (auth?.broadcast) {\n return await auth.broadcast(ops, authority);\n }\n\n const postingKey = auth?.postingKey;\n if (postingKey) {\n // Legacy auth only supports posting authority\n if (authority !== 'posting') {\n throw new Error(\n `[SDK][Broadcast] Legacy auth only supports posting authority, but '${authority}' was requested. ` +\n `Use AuthContextV2 with an adapter for ${authority} operations.`\n );\n }\n\n const privateKey = PrivateKey.fromString(postingKey);\n\n return await broadcastOperations(\n ops,\n privateKey\n );\n }\n\n const accessToken = auth?.accessToken;\n if (accessToken) {\n const client = new hs.Client({ accessToken });\n const response = await client.broadcast(ops);\n return response.result;\n }\n\n throw new Error(\n \"[SDK][Broadcast] – cannot broadcast w/o posting key or token\"\n );\n } catch (e) {\n if (e instanceof RPCError) {\n // Normalize raw blockchain rejections (missing authority, RC exhaustion,\n // validation failures) from every broadcast path — sync and async — into\n // a plain Error whose message is preserved for downstream classification\n // (formatError), so React Query captures a handled mutation error.\n throw new Error(e.message);\n }\n throw e\n }\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/core/mutations/use-broadcast-mutation.ts"],"names":["broadcastWithMethod","method","username","ops","auth","authority","fetchedKey","fetchedToken","broadcastMode","adapter","key","privateKey","PrivateKey","broadcastOperationsAsync","broadcastOperations","token","hs","tokenError","shouldTriggerAuthFallback","broadcastWithFallback","loginType","hasPostingAuth","error","operationName","selectedMethod","hsError","chain","errors","shouldSkip","skipReason","prefetchedKey","prefetchedToken","skipReasons","errorMessages","assertOperationsFitTransaction","tx","transaction","Transaction","MIN_TRANSACTION_SIZE_LIMIT","props","callRPC","useBroadcastMutation","mutationKey","operations","onSuccess","options","useMutation","payload","postingKey","accessToken","e","RPCError"],"mappings":"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","file":"chunk-PFVWZI3W.js","sourcesContent":["import {\n useMutation,\n type MutationKey,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { callRPC, MIN_TRANSACTION_SIZE_LIMIT, PrivateKey, RPCError, Transaction } from \"../../../hive-tx\";\nimport type { Operation, TransactionType } from \"../../../hive-tx\";\nimport { broadcastOperations, broadcastOperationsAsync, type TransactionConfirmation } from \"@/modules/core/hive-tx\";\nimport type { BroadcastResult } from \"../../../hive-tx\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport { shouldTriggerAuthFallback } from \"@/modules/core/errors\";\nimport type { AuthorityLevel } from \"@/modules/operations/authority-map\";\nimport hs from \"hivesigner\";\n\n/**\n * Broadcast mode controls whether the SDK waits for block inclusion.\n *\n * - `'async'` (default): Uses `broadcast_transaction` — returns once the node\n * accepts the transaction into its mempool. Transport and RPC errors are\n * still thrown immediately; only the block-inclusion wait is skipped.\n *\n * - `'sync'`: Uses `broadcast_transaction_synchronous` — waits for block\n * inclusion and returns `block_num`/`trx_num`. Deprecated; prefer `'async'`\n * and poll `transaction_status_api` if you need block confirmation.\n */\nexport type BroadcastMode = 'sync' | 'async';\n\n/**\n * Broadcasts operations using a specific auth method.\n *\n * @param method - Auth method to use ('key', 'hiveauth', 'hivesigner', 'keychain', 'custom')\n * @param username - Hive username to broadcast for\n * @param ops - Operations to broadcast\n * @param auth - AuthContextV2 with adapter and configuration\n * @param authority - Key authority to use (posting, active, owner, or memo)\n * @param fetchedKey - Optional pre-fetched key to avoid duplicate fetches\n * @param fetchedToken - Optional pre-fetched access token to avoid duplicate fetches\n * @param broadcastMode - Whether to wait for block inclusion ('sync') or just mempool acceptance ('async')\n * @returns Transaction confirmation from the blockchain\n * @throws Error if method is not available or broadcast fails\n */\nasync function broadcastWithMethod(\n method: string,\n username: string,\n ops: Operation[],\n auth?: AuthContextV2,\n authority: AuthorityLevel = 'posting',\n fetchedKey?: string | null,\n fetchedToken?: string | null,\n broadcastMode: BroadcastMode = 'async'\n): Promise<TransactionConfirmation | BroadcastResult> {\n const adapter = auth?.adapter;\n\n switch (method) {\n case 'key': {\n if (!adapter) {\n throw new Error('No adapter provided for key-based auth');\n }\n\n // Use pre-fetched key if provided, otherwise fetch it\n let key: string | null | undefined = fetchedKey;\n\n if (key === undefined) {\n // Key not pre-fetched, fetch it now based on authority\n switch (authority) {\n case 'owner':\n if (adapter.getOwnerKey) {\n key = await adapter.getOwnerKey(username);\n } else {\n throw new Error(\n `Owner key not supported by adapter. Owner operations (like account recovery) ` +\n `require master password login or manual key entry.`\n );\n }\n break;\n\n case 'active':\n if (adapter.getActiveKey) {\n key = await adapter.getActiveKey(username);\n }\n break;\n\n case 'memo':\n if (adapter.getMemoKey) {\n key = await adapter.getMemoKey(username);\n } else {\n throw new Error(\n `Memo key not supported by adapter. Use memo encryption methods instead.`\n );\n }\n break;\n\n case 'posting':\n default:\n key = await adapter.getPostingKey(username);\n break;\n }\n }\n\n if (!key) {\n throw new Error(`No ${authority} key available for ${username}`);\n }\n\n // Attempt broadcast with key\n const privateKey = PrivateKey.fromString(key);\n if (broadcastMode === 'async') {\n return await broadcastOperationsAsync(ops, privateKey);\n }\n return await broadcastOperations(ops, privateKey);\n }\n\n case 'hiveauth': {\n if (!adapter?.broadcastWithHiveAuth) {\n throw new Error('HiveAuth not supported by adapter');\n }\n return await adapter.broadcastWithHiveAuth(username, ops, authority);\n }\n\n case 'hivesigner': {\n if (!adapter) {\n throw new Error('No adapter provided for HiveSigner auth');\n }\n\n // Access tokens only have posting authority — for active/owner/memo ops,\n // go directly to platform-specific HiveSigner broadcast (e.g., redirect to hivesigner.com)\n if (authority !== 'posting') {\n if (adapter.broadcastWithHiveSigner) {\n return await adapter.broadcastWithHiveSigner(username, ops, authority);\n }\n throw new Error(`HiveSigner access token cannot sign ${authority} operations. No platform broadcast available.`);\n }\n\n // Try direct API broadcast with access token first (posting ops only)\n const token = fetchedToken !== undefined\n ? fetchedToken\n : await adapter.getAccessToken(username);\n\n if (token) {\n try {\n const client = new hs.Client({ accessToken: token });\n const response = await client.broadcast(ops);\n return response.result;\n } catch (tokenError) {\n // Token broadcast failed — try platform-specific HiveSigner broadcast\n if (adapter.broadcastWithHiveSigner && shouldTriggerAuthFallback(tokenError)) {\n return await adapter.broadcastWithHiveSigner(username, ops, authority);\n }\n throw tokenError;\n }\n }\n\n // No token available — try platform-specific HiveSigner broadcast\n if (adapter.broadcastWithHiveSigner) {\n return await adapter.broadcastWithHiveSigner(username, ops, authority);\n }\n\n throw new Error(`No access token available for ${username}`);\n }\n\n case 'keychain': {\n if (!adapter?.broadcastWithKeychain) {\n throw new Error('Keychain not supported by adapter');\n }\n return await adapter.broadcastWithKeychain(username, ops, authority);\n }\n\n case 'custom': {\n if (!auth?.broadcast) {\n throw new Error('No custom broadcast function provided');\n }\n return (await auth.broadcast(ops, authority)) as TransactionConfirmation;\n }\n\n default:\n throw new Error(`Unknown auth method: ${method}`);\n }\n}\n\n/**\n * Attempts to broadcast operations using multiple auth methods in fallback chain.\n * Implements sophisticated fallback pattern from mobile app.\n *\n * @param username - Hive username to broadcast for\n * @param ops - Operations to broadcast\n * @param auth - AuthContextV2 with adapter and fallback configuration\n * @param authority - Key authority to use ('posting' | 'active' | 'owner' | 'memo'), defaults to 'posting'\n * @returns Transaction confirmation from the blockchain\n * @throws Error if all auth methods fail or if a non-auth error occurs\n *\n * @remarks\n * **Preferred Behavior (when adapter.getLoginType exists):**\n * - Calls adapter.getLoginType() to determine user's actual auth method\n * - Uses ONLY that method (no fallbacks) - more predictable and faster\n * - If it fails, throws the error immediately\n *\n * **Fallback Behavior (for backward compatibility):**\n * - Tries each auth method in the fallback chain order\n * - Only continues to next method if error is auth-related (missing authority, token expired)\n * - Stops immediately for non-auth errors (RC exhaustion, network errors, validation errors)\n * - Collects all errors and provides detailed failure message\n *\n * @example\n * ```typescript\n * // Preferred: Adapter with getLoginType (single method, no fallbacks)\n * const auth: AuthContextV2 = {\n * adapter: myAdapter, // includes getLoginType()\n * };\n *\n * // Legacy: Explicit fallback chain (tries multiple methods)\n * const auth: AuthContextV2 = {\n * adapter: myAdapter,\n * fallbackChain: ['key', 'hiveauth', 'hivesigner'],\n * };\n * ```\n */\nasync function broadcastWithFallback(\n username: string,\n ops: Operation[],\n auth?: AuthContextV2,\n authority: AuthorityLevel = 'posting',\n broadcastMode: BroadcastMode = 'async'\n): Promise<TransactionConfirmation | BroadcastResult> {\n const adapter = auth?.adapter;\n\n // PREFERRED APPROACH: If adapter provides getLoginType, use smart auth strategy\n // This avoids unnecessary fallback attempts and is more predictable\n if (adapter?.getLoginType) {\n const loginType = await adapter.getLoginType(username, authority);\n\n if (loginType) {\n // SMART AUTH STRATEGY: Optimize based on login type + authority + credentials\n\n // Check if user has granted ecency.app posting authority\n const hasPostingAuth = adapter.hasPostingAuthorization\n ? await adapter.hasPostingAuthorization(username)\n : false;\n\n // OPTIMIZATION: Use HiveSigner token for posting ops when posting auth is granted\n // This is faster than direct key signing or HiveAuth for key-based logins\n if (\n authority === 'posting' &&\n hasPostingAuth &&\n loginType === 'key'\n ) {\n try {\n // Try HiveSigner API first (faster)\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n // Only fallback if this is an auth-related error\n // Otherwise, rethrow the original error (e.g., network errors, validation errors)\n if (!shouldTriggerAuthFallback(error)) {\n throw error;\n }\n // Fallback to direct key signing if token auth method fails\n console.warn('[SDK] HiveSigner token auth failed, falling back to key:', error);\n }\n }\n\n // OPTIMIZATION: Use HiveSigner token for keychain/MetaMask users with posting auth (faster, no popup)\n if (\n authority === 'posting' &&\n hasPostingAuth &&\n loginType === 'keychain'\n ) {\n try {\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n if (!shouldTriggerAuthFallback(error)) {\n throw error;\n }\n console.warn('[SDK] HiveSigner token auth failed, falling back to keychain/snap:', error);\n }\n }\n\n // OPTIMIZATION: Use HiveSigner token for HiveAuth users with posting auth (faster)\n if (\n authority === 'posting' &&\n hasPostingAuth &&\n loginType === 'hiveauth'\n ) {\n try {\n // Try HiveSigner API first (faster)\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n // Only fallback if this is an auth-related error\n // Otherwise, rethrow the original error (e.g., network errors, validation errors)\n if (!shouldTriggerAuthFallback(error)) {\n throw error;\n }\n // Fallback to HiveAuth if token auth method fails\n console.warn('[SDK] HiveSigner token auth failed, falling back to HiveAuth:', error);\n }\n }\n\n // Use user's actual login method\n try {\n return await broadcastWithMethod(loginType, username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (error) {\n // Check if error is due to missing authority (e.g., posting key trying active op)\n if (shouldTriggerAuthFallback(error)) {\n // Show auth upgrade UI if available (only for posting/active operations)\n if (\n adapter.showAuthUpgradeUI &&\n (authority === 'posting' || authority === 'active')\n ) {\n // Guard against empty operations array\n const operationName = ops.length > 0 ? ops[0][0] : 'unknown';\n const selectedMethod = await adapter.showAuthUpgradeUI(authority, operationName);\n if (!selectedMethod) {\n throw new Error(`Operation requires ${authority} authority. User declined alternate auth.`);\n }\n\n // User selected a specific method - delegate to broadcastWithMethod\n // This handles all auth methods (hiveauth, hivesigner, key, keychain, custom, etc.)\n // broadcastWithMethod already contains all necessary validation and method-specific logic\n return await broadcastWithMethod(selectedMethod, username, ops, auth, authority, undefined, undefined, broadcastMode);\n }\n }\n\n // Not an auth error, or no upgrade UI available - throw original error\n throw error;\n }\n }\n\n // loginType is null — user's auth method is unknown (e.g., incomplete login data)\n if (authority === 'posting') {\n // For posting ops, try HiveSigner — access token is usually available for all logins\n try {\n return await broadcastWithMethod('hivesigner', username, ops, auth, authority, undefined, undefined, broadcastMode);\n } catch (hsError) {\n if (shouldTriggerAuthFallback(hsError) && adapter.showAuthUpgradeUI) {\n const operationName = ops.length > 0 ? ops[0][0] : 'unknown';\n const selectedMethod = await adapter.showAuthUpgradeUI(authority, operationName);\n if (!selectedMethod) {\n throw new Error(`No login type available for ${username}. Please log in again.`);\n }\n return await broadcastWithMethod(selectedMethod, username, ops, auth, authority, undefined, undefined, broadcastMode);\n }\n throw hsError;\n }\n } else if (authority === 'active' && adapter.showAuthUpgradeUI) {\n // For active ops, show auth upgrade dialog — no silent fallback possible\n const operationName = ops.length > 0 ? ops[0][0] : 'unknown';\n const selectedMethod = await adapter.showAuthUpgradeUI(authority, operationName);\n if (!selectedMethod) {\n throw new Error(`Operation requires ${authority} authority. User declined alternate auth.`);\n }\n return await broadcastWithMethod(selectedMethod, username, ops, auth, authority, undefined, undefined, broadcastMode);\n }\n }\n\n // FALLBACK APPROACH: For backward compatibility, use fallback chain\n // This is only used if adapter doesn't provide getLoginType\n const chain = auth?.fallbackChain ?? ['key', 'hiveauth', 'hivesigner', 'keychain', 'custom'];\n const errors: Map<string, Error> = new Map();\n\n for (const method of chain) {\n try {\n // Check if method is available before attempting\n let shouldSkip = false;\n let skipReason = '';\n let prefetchedKey: string | null | undefined;\n let prefetchedToken: string | null | undefined;\n\n switch (method) {\n case 'key':\n if (!adapter) {\n shouldSkip = true;\n skipReason = 'No adapter provided';\n } else {\n // Pre-fetch key to check availability (will be reused in broadcast)\n let key: string | null | undefined;\n\n switch (authority) {\n case 'owner':\n if (adapter.getOwnerKey) {\n key = await adapter.getOwnerKey(username);\n }\n break;\n case 'active':\n if (adapter.getActiveKey) {\n key = await adapter.getActiveKey(username);\n }\n break;\n case 'memo':\n if (adapter.getMemoKey) {\n key = await adapter.getMemoKey(username);\n }\n break;\n case 'posting':\n default:\n key = await adapter.getPostingKey(username);\n break;\n }\n\n if (!key) {\n shouldSkip = true;\n skipReason = `No ${authority} key available`;\n } else {\n prefetchedKey = key; // Store for reuse\n }\n }\n break;\n case 'hiveauth':\n if (!adapter?.broadcastWithHiveAuth) {\n shouldSkip = true;\n skipReason = 'HiveAuth not supported by adapter';\n }\n break;\n case 'hivesigner':\n if (!adapter) {\n shouldSkip = true;\n skipReason = 'No adapter provided';\n } else {\n // Pre-fetch token if available (will be reused in broadcast)\n const token = await adapter.getAccessToken(username);\n if (token) {\n prefetchedToken = token; // Store for reuse\n }\n // When no token but adapter exists, don't skip —\n // broadcastWithMethod can fall back to adapter.broadcastWithHiveSigner\n }\n break;\n case 'keychain':\n if (!adapter?.broadcastWithKeychain) {\n shouldSkip = true;\n skipReason = 'Keychain not supported by adapter';\n }\n break;\n case 'custom':\n if (!auth?.broadcast) {\n shouldSkip = true;\n skipReason = 'No custom broadcast function provided';\n }\n break;\n }\n\n if (shouldSkip) {\n errors.set(method, new Error(`Skipped: ${skipReason}`));\n continue;\n }\n\n // Method is available, attempt broadcast with pre-fetched credentials\n return await broadcastWithMethod(method, username, ops, auth, authority, prefetchedKey, prefetchedToken, broadcastMode);\n } catch (error) {\n // Record actual error from failed broadcast attempt\n errors.set(method, error as Error);\n\n // Only continue fallback if error suggests trying another method\n if (!shouldTriggerAuthFallback(error)) {\n // If it's not an auth error, throw immediately (e.g., RC error, network error)\n throw error;\n }\n }\n }\n\n // FIX #2: Improved error message distinguishes between skips and real failures\n const hasRealAttempts = Array.from(errors.values()).some(\n error => !error.message.startsWith('Skipped:')\n );\n\n if (!hasRealAttempts) {\n // All methods were skipped (none attempted)\n const skipReasons = Array.from(errors.entries())\n .map(([method, error]) => `${method}: ${error.message}`)\n .join(', ');\n throw new Error(\n `[SDK][Broadcast] No auth methods attempted for ${username}. ${skipReasons}`\n );\n }\n\n // At least one method was attempted but all failed\n const errorMessages = Array.from(errors.entries())\n .map(([method, error]) => `${method}: ${error.message}`)\n .join(', ');\n\n throw new Error(\n `[SDK][Broadcast] All auth methods failed for ${username}. Errors: ${errorMessages}`\n );\n}\n\n/**\n * React Query mutation hook for broadcasting Hive operations.\n * Supports multiple authentication methods with automatic fallback.\n *\n * @template T - Type of the mutation payload\n * @param mutationKey - React Query mutation key for cache management\n * @param username - Hive username (required for broadcast)\n * @param operations - Function that converts payload to Hive operations\n * @param onSuccess - Success callback after broadcast completes\n * @param auth - Authentication context (supports both legacy AuthContext and new AuthContextV2)\n * @param authority - Key authority to use ('posting' | 'active' | 'owner' | 'memo'), defaults to 'posting'\n *\n * @returns React Query mutation result\n *\n * @remarks\n * **Authentication Flow:**\n *\n * 1. **With AuthContextV2 + adapter + enableFallback** (recommended for new code):\n * - Tries auth methods in fallbackChain order\n * - Smart fallback: only retries on auth errors, not RC/network errors\n * - Uses platform adapter for storage, UI, and broadcasting\n *\n * 2. **With legacy AuthContext** (backward compatible):\n * - Tries auth.broadcast() first (custom implementation)\n * - Falls back to postingKey if available\n * - Falls back to accessToken (HiveSigner) if available\n * - Throws if no auth method available\n *\n * **Backward Compatibility:**\n * - All existing code using AuthContext will continue to work\n * - AuthContextV2 extends AuthContext, so it's a drop-in replacement\n * - enableFallback defaults to false if no adapter provided\n *\n * @example\n * ```typescript\n * // New pattern with platform adapter and fallback\n * const mutation = useBroadcastMutation(\n * ['vote'],\n * username,\n * (payload) => [voteOperation(payload)],\n * () => console.log('Success!'),\n * {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * },\n * 'posting'\n * );\n *\n * // Legacy pattern (still works)\n * const mutation = useBroadcastMutation(\n * ['vote'],\n * username,\n * (payload) => [voteOperation(payload)],\n * () => console.log('Success!'),\n * { postingKey: 'wif-key' }\n * );\n * ```\n */\n/**\n * Refuse operations that can never fit in one Hive transaction before any\n * signer (key, Keychain, HiveSigner, HiveAuth, MetaMask) sees them, so the\n * user gets a clear error instead of a broadcast that every node rejects.\n * Anything within the smallest limit witnesses can vote passes without a\n * network call; a larger transaction is judged against the live\n * maximum_block_size, or against the protocol ceiling if that cannot be read.\n * Only the size verdict is enforced: an operation this serializer cannot\n * encode is left to the signer, which serializes it on its own.\n */\nexport async function assertOperationsFitTransaction(ops: Operation[]): Promise<void> {\n let tx: Transaction;\n try {\n const transaction = {\n ref_block_num: 0,\n ref_block_prefix: 0,\n expiration: \"1970-01-01T00:00:00\",\n operations: ops,\n extensions: [],\n signatures: [],\n } as unknown as TransactionType;\n tx = new Transaction({ transaction });\n if (tx.size(1) <= MIN_TRANSACTION_SIZE_LIMIT) {\n return;\n }\n } catch {\n return;\n }\n try {\n // Short budget: this only delays an already oversized broadcast, and the\n // protocol ceiling still applies if the nodes are slow.\n const props = await callRPC(\"condenser_api.get_dynamic_global_properties\", [], 3000, 1);\n tx.maximumBlockSize = props?.maximum_block_size;\n } catch {\n // Unknown limit: assertSize falls back to the protocol ceiling.\n }\n tx.assertSize(1);\n}\n\nexport function useBroadcastMutation<T>(\n mutationKey: MutationKey = [],\n username: string | undefined,\n operations: (payload: T) => Operation[],\n onSuccess: UseMutationOptions<unknown, Error, T>[\"onSuccess\"] = () => {},\n auth?: AuthContextV2,\n authority: AuthorityLevel = 'posting',\n options?: {\n onMutate?: UseMutationOptions<unknown, Error, T>[\"onMutate\"];\n onError?: UseMutationOptions<unknown, Error, T>[\"onError\"];\n onSettled?: UseMutationOptions<unknown, Error, T>[\"onSettled\"];\n /**\n * Controls whether to wait for block inclusion or just mempool acceptance.\n *\n * - `'async'` (default): Returns after mempool acceptance. Recommended for\n * all operations; errors are still thrown immediately.\n *\n * - `'sync'`: Waits for block inclusion, returns block_num/trx_num.\n * Deprecated; prefer `'async'`.\n */\n broadcastMode?: BroadcastMode;\n }\n) {\n const broadcastMode = options?.broadcastMode ?? 'async';\n\n return useMutation({\n onSuccess,\n onMutate: options?.onMutate,\n onError: options?.onError,\n onSettled: options?.onSettled,\n mutationKey: [...mutationKey, username],\n mutationFn: async (payload: T) => {\n if (!username) {\n throw new Error(\n \"[Core][Broadcast] Attempted to call broadcast API with anon user\"\n );\n }\n\n const ops = operations(payload);\n await assertOperationsFitTransaction(ops);\n\n try {\n // New: Try auth methods in fallback chain (if enabled)\n if (auth?.enableFallback !== false && auth?.adapter) {\n return await broadcastWithFallback(username, ops, auth, authority, broadcastMode);\n }\n\n // Legacy behavior: try methods in fixed order (backward compatible)\n if (auth?.broadcast) {\n return await auth.broadcast(ops, authority);\n }\n\n const postingKey = auth?.postingKey;\n if (postingKey) {\n // Legacy auth only supports posting authority\n if (authority !== 'posting') {\n throw new Error(\n `[SDK][Broadcast] Legacy auth only supports posting authority, but '${authority}' was requested. ` +\n `Use AuthContextV2 with an adapter for ${authority} operations.`\n );\n }\n\n const privateKey = PrivateKey.fromString(postingKey);\n\n return await broadcastOperations(\n ops,\n privateKey\n );\n }\n\n const accessToken = auth?.accessToken;\n if (accessToken) {\n const client = new hs.Client({ accessToken });\n const response = await client.broadcast(ops);\n return response.result;\n }\n\n throw new Error(\n \"[SDK][Broadcast] – cannot broadcast w/o posting key or token\"\n );\n } catch (e) {\n if (e instanceof RPCError) {\n // Normalize raw blockchain rejections (missing authority, RC exhaustion,\n // validation failures) from every broadcast path — sync and async — into\n // a plain Error whose message is preserved for downstream classification\n // (formatError), so React Query captures a handled mutation error.\n throw new Error(e.message);\n }\n throw e\n }\n },\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {b as b$1}from'./chunk-CNB64U7U.js';import {b}from'./chunk-J2HM6MWA.js';import {a}from'./chunk-WTHEQ3M5.js';function u(t,o,n){return b(["wallet","undelegate-engine-token"],t,e=>{let s=JSON.stringify({contractName:"tokens",contractAction:"undelegate",contractPayload:{symbol:e.symbol,from:e.from,quantity:e.quantity}});return [["custom_json",{id:"ssc-mainnet-hive",required_auths:[t],required_posting_auths:[],json:s}]]},async()=>{await b$1(o?.adapter,n,[a.accounts.full(t),["ecency-wallets","asset-info",t],["wallet","portfolio","v2",t]]);},o,"active",{broadcastMode:n})}export{u as a};//# sourceMappingURL=chunk-FRXPHA7Y.js.map
2
- //# sourceMappingURL=chunk-FRXPHA7Y.js.map
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,o,n){return b(["wallet","undelegate-engine-token"],t,e=>{let s=JSON.stringify({contractName:"tokens",contractAction:"undelegate",contractPayload:{symbol:e.symbol,from:e.from,quantity:e.quantity}});return [["custom_json",{id:"ssc-mainnet-hive",required_auths:[t],required_posting_auths:[],json:s}]]},async()=>{await b$1(o?.adapter,n,[a.accounts.full(t),["ecency-wallets","asset-info",t],["wallet","portfolio","v2",t]]);},o,"active",{broadcastMode:n})}export{u as a};//# sourceMappingURL=chunk-PW42FHVU.js.map
2
+ //# sourceMappingURL=chunk-PW42FHVU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/wallet/mutations/use-undelegate-engine-token.ts"],"names":["useUndelegateEngineToken","username","auth","broadcastMode","useBroadcastMutation","payload","json","invalidateAfterBroadcast","QueryKeys"],"mappings":"mHAYO,SAASA,EAAyBC,CAAAA,CAA8BC,CAAAA,CACrEC,EACA,CACA,OAAOC,EACL,CAAC,QAAA,CAAU,yBAAyB,CAAA,CACpCH,CAAAA,CACCI,GAAY,CACX,IAAMC,EAAO,IAAA,CAAK,SAAA,CAAU,CAC1B,YAAA,CAAc,QAAA,CACd,eAAgB,YAAA,CAChB,eAAA,CAAiB,CACf,MAAA,CAAQD,CAAAA,CAAQ,OAChB,IAAA,CAAMA,CAAAA,CAAQ,KACd,QAAA,CAAUA,CAAAA,CAAQ,QACpB,CACF,CAAC,EACD,OAAO,CAAC,CAAC,aAAA,CAAe,CACtB,GAAI,kBAAA,CACJ,cAAA,CAAgB,CAACJ,CAAS,EAC1B,sBAAA,CAAwB,GACxB,IAAA,CAAAK,CACF,CAAC,CAAc,CACjB,EACA,SAAY,CACV,MAAMC,GAAAA,CAAyBL,CAAAA,EAAM,QAASC,CAAAA,CAAe,CAC3DK,EAAU,QAAA,CAAS,IAAA,CAAKP,CAAQ,CAAA,CAChC,CAAC,iBAAkB,YAAA,CAAcA,CAAQ,EACzC,CAAC,QAAA,CAAU,YAAa,IAAA,CAAMA,CAAQ,CACxC,CAAC,EACH,EACAC,CAAAA,CACA,QAAA,CACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-FRXPHA7Y.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 UndelegateEngineTokenPayload {\n from: string;\n symbol: string;\n quantity: string;\n}\n\nexport function useUndelegateEngineToken(username: string | undefined, auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<UndelegateEngineTokenPayload>(\n [\"wallet\", \"undelegate-engine-token\"],\n username,\n (payload) => {\n const json = JSON.stringify({\n contractName: \"tokens\",\n contractAction: \"undelegate\",\n contractPayload: {\n symbol: payload.symbol,\n from: payload.from,\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 () => {\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username),\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-undelegate-engine-token.ts"],"names":["useUndelegateEngineToken","username","auth","broadcastMode","useBroadcastMutation","payload","json","invalidateAfterBroadcast","QueryKeys"],"mappings":"mHAYO,SAASA,EAAyBC,CAAAA,CAA8BC,CAAAA,CACrEC,EACA,CACA,OAAOC,EACL,CAAC,QAAA,CAAU,yBAAyB,CAAA,CACpCH,CAAAA,CACCI,GAAY,CACX,IAAMC,EAAO,IAAA,CAAK,SAAA,CAAU,CAC1B,YAAA,CAAc,QAAA,CACd,eAAgB,YAAA,CAChB,eAAA,CAAiB,CACf,MAAA,CAAQD,CAAAA,CAAQ,OAChB,IAAA,CAAMA,CAAAA,CAAQ,KACd,QAAA,CAAUA,CAAAA,CAAQ,QACpB,CACF,CAAC,EACD,OAAO,CAAC,CAAC,aAAA,CAAe,CACtB,GAAI,kBAAA,CACJ,cAAA,CAAgB,CAACJ,CAAS,EAC1B,sBAAA,CAAwB,GACxB,IAAA,CAAAK,CACF,CAAC,CAAc,CACjB,EACA,SAAY,CACV,MAAMC,GAAAA,CAAyBL,CAAAA,EAAM,QAASC,CAAAA,CAAe,CAC3DK,EAAU,QAAA,CAAS,IAAA,CAAKP,CAAQ,CAAA,CAChC,CAAC,iBAAkB,YAAA,CAAcA,CAAQ,EACzC,CAAC,QAAA,CAAU,YAAa,IAAA,CAAMA,CAAQ,CACxC,CAAC,EACH,EACAC,CAAAA,CACA,QAAA,CACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-PW42FHVU.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 UndelegateEngineTokenPayload {\n from: string;\n symbol: string;\n quantity: string;\n}\n\nexport function useUndelegateEngineToken(username: string | undefined, auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<UndelegateEngineTokenPayload>(\n [\"wallet\", \"undelegate-engine-token\"],\n username,\n (payload) => {\n const json = JSON.stringify({\n contractName: \"tokens\",\n contractAction: \"undelegate\",\n contractPayload: {\n symbol: payload.symbol,\n from: payload.from,\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 () => {\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username),\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 {f}from'./chunk-OBSTAXZB.js';import {b}from'./chunk-J2HM6MWA.js';import {a}from'./chunk-WTHEQ3M5.js';function c(s,o,y){return b(["communities","mutePost"],s,({community:i,author:t,permlink:r,notes:n,mute:e})=>[f(s,i,t,r,n,e)],async(i,t)=>{if(o?.adapter?.invalidateQueries){let r=[a.posts.entry(`/@${t.author}/${t.permlink}`),["community","single",t.community],{predicate:n=>{let e=n.queryKey;return Array.isArray(e)&&e[0]==="posts"&&e[1]==="posts-ranked"&&e[3]===t.community}}];await o.adapter.invalidateQueries(r);}},o,"posting",{broadcastMode:y??"sync"})}export{c as a};//# sourceMappingURL=chunk-NS5UVFUZ.js.map
2
- //# sourceMappingURL=chunk-NS5UVFUZ.js.map
1
+ import {f}from'./chunk-OBSTAXZB.js';import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-WTHEQ3M5.js';function c(s,o,y){return b(["communities","mutePost"],s,({community:i,author:t,permlink:r,notes:n,mute:e})=>[f(s,i,t,r,n,e)],async(i,t)=>{if(o?.adapter?.invalidateQueries){let r=[a.posts.entry(`/@${t.author}/${t.permlink}`),["community","single",t.community],{predicate:n=>{let e=n.queryKey;return Array.isArray(e)&&e[0]==="posts"&&e[1]==="posts-ranked"&&e[3]===t.community}}];await o.adapter.invalidateQueries(r);}},o,"posting",{broadcastMode:y??"sync"})}export{c as a};//# sourceMappingURL=chunk-R6UPSSYV.js.map
2
+ //# sourceMappingURL=chunk-R6UPSSYV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/communities/mutations/use-mute-post.ts"],"names":["useMutePost","username","auth","broadcastMode","useBroadcastMutation","community","author","permlink","notes","mute","buildMutePostOp","_result","variables","queriesToInvalidate","QueryKeys","query","key"],"mappings":"4GA+EO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,aAAA,CAAe,UAAU,CAAA,CAC1BH,CAAAA,CACA,CAAC,CAAE,SAAA,CAAAI,CAAAA,CAAW,MAAA,CAAAC,CAAAA,CAAQ,QAAA,CAAAC,EAAU,KAAA,CAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAK,CAAA,GAAM,CAChDC,EAAgBT,CAAAA,CAAWI,CAAAA,CAAWC,CAAAA,CAAQC,CAAAA,CAAUC,CAAAA,CAAOC,CAAI,CACrE,CAAA,CACA,MAAOE,CAAAA,CAAcC,CAAAA,GAAc,CAEjC,GAAIV,GAAM,OAAA,EAAS,iBAAA,CAAmB,CACpC,IAAMW,CAAAA,CAA6B,CAEjCC,EAAU,KAAA,CAAM,KAAA,CAAM,CAAA,EAAA,EAAKF,CAAAA,CAAU,MAAM,CAAA,CAAA,EAAIA,EAAU,QAAQ,CAAA,CAAE,CAAA,CAEnE,CAAC,WAAA,CAAa,QAAA,CAAUA,EAAU,SAAS,CAAA,CAE3C,CACE,SAAA,CAAYG,CAAAA,EAAe,CACzB,IAAMC,CAAAA,CAAMD,CAAAA,CAAM,QAAA,CAClB,OACE,KAAA,CAAM,OAAA,CAAQC,CAAG,CAAA,EACjBA,CAAAA,CAAI,CAAC,CAAA,GAAM,OAAA,EACXA,CAAAA,CAAI,CAAC,CAAA,GAAM,cAAA,EACXA,CAAAA,CAAI,CAAC,CAAA,GAAMJ,CAAAA,CAAU,SAEzB,CACF,CACF,CAAA,CACA,MAAMV,CAAAA,CAAK,OAAA,CAAQ,kBAAkBW,CAAmB,EAC1D,CACF,CAAA,CACAX,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,MAAO,CAC3C,CACF","file":"chunk-NS5UVFUZ.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildMutePostOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\n/**\n * Payload for muting/unmuting a post in a community.\n */\nexport interface MutePostPayload {\n /** Community name (e.g., \"hive-123456\") */\n community: string;\n /** Post author */\n author: string;\n /** Post permlink */\n permlink: string;\n /** Mute reason/notes (required even for unmute) */\n notes: string;\n /** True to mute, false to unmute */\n mute: boolean;\n}\n\n/**\n * React Query mutation hook for muting/unmuting posts in a community.\n *\n * This mutation broadcasts a custom_json operation to mute (or unmute)\n * a post within a community. Only community moderators/admins can mute posts.\n *\n * @param username - The username performing the mute (required for broadcast, must have permission)\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 posts cache to hide muted content\n * - Invalidates post cache to update mute status\n * - Invalidates feed cache to remove muted posts from feeds\n *\n * **Operation Details:**\n * - Uses custom_json operation with id \"community\"\n * - Action: [\"mutePost\", {\"community\": \"hive-123456\", \"account\": \"author\", \"permlink\": \"post\", \"notes\": \"reason\"}]\n * - Action (unmute): [\"unmutePost\", {\"community\": \"hive-123456\", \"account\": \"author\", \"permlink\": \"post\", \"notes\": \"reason\"}]\n * - Authority: Posting key\n *\n * **Mute vs Unmute:**\n * - mute: true - Mutes the post (hides from community feed)\n * - mute: false - Unmutes the post (restores to community feed)\n *\n * **Permission:**\n * - Only community moderators and admins can mute/unmute posts\n * - Attempting to mute without permission will fail with an error\n *\n * @example\n * ```typescript\n * const mutePostMutation = useMutePost(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Mute a post\n * mutePostMutation.mutate({\n * community: 'hive-123456',\n * author: 'alice',\n * permlink: 'my-post',\n * notes: 'Violates community guidelines',\n * mute: true\n * });\n *\n * // Unmute a post\n * mutePostMutation.mutate({\n * community: 'hive-123456',\n * author: 'alice',\n * permlink: 'my-post',\n * notes: 'Resolved after editing',\n * mute: false\n * });\n * ```\n */\nexport function useMutePost(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<MutePostPayload>(\n [\"communities\", \"mutePost\"],\n username,\n ({ community, author, permlink, notes, mute }) => [\n buildMutePostOp(username!, community, author, permlink, notes, mute)\n ],\n async (_result: any, variables) => {\n // Cache invalidation\n if (auth?.adapter?.invalidateQueries) {\n const queriesToInvalidate: any[] = [\n // Invalidate specific post cache to update mute status\n QueryKeys.posts.entry(`/@${variables.author}/${variables.permlink}`),\n // Invalidate community data\n [\"community\", \"single\", variables.community],\n // Invalidate community feed/posts (matches all sort orders, limits, observers)\n {\n predicate: (query: any) => {\n const key = query.queryKey;\n return (\n Array.isArray(key) &&\n key[0] === \"posts\" &&\n key[1] === \"posts-ranked\" &&\n key[3] === variables.community\n );\n }\n }\n ];\n await auth.adapter.invalidateQueries(queriesToInvalidate);\n }\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'sync' }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/communities/mutations/use-mute-post.ts"],"names":["useMutePost","username","auth","broadcastMode","useBroadcastMutation","community","author","permlink","notes","mute","buildMutePostOp","_result","variables","queriesToInvalidate","QueryKeys","query","key"],"mappings":"4GA+EO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,aAAA,CAAe,UAAU,CAAA,CAC1BH,CAAAA,CACA,CAAC,CAAE,SAAA,CAAAI,CAAAA,CAAW,MAAA,CAAAC,CAAAA,CAAQ,QAAA,CAAAC,EAAU,KAAA,CAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAK,CAAA,GAAM,CAChDC,EAAgBT,CAAAA,CAAWI,CAAAA,CAAWC,CAAAA,CAAQC,CAAAA,CAAUC,CAAAA,CAAOC,CAAI,CACrE,CAAA,CACA,MAAOE,CAAAA,CAAcC,CAAAA,GAAc,CAEjC,GAAIV,GAAM,OAAA,EAAS,iBAAA,CAAmB,CACpC,IAAMW,CAAAA,CAA6B,CAEjCC,EAAU,KAAA,CAAM,KAAA,CAAM,CAAA,EAAA,EAAKF,CAAAA,CAAU,MAAM,CAAA,CAAA,EAAIA,EAAU,QAAQ,CAAA,CAAE,CAAA,CAEnE,CAAC,WAAA,CAAa,QAAA,CAAUA,EAAU,SAAS,CAAA,CAE3C,CACE,SAAA,CAAYG,CAAAA,EAAe,CACzB,IAAMC,CAAAA,CAAMD,CAAAA,CAAM,QAAA,CAClB,OACE,KAAA,CAAM,OAAA,CAAQC,CAAG,CAAA,EACjBA,CAAAA,CAAI,CAAC,CAAA,GAAM,OAAA,EACXA,CAAAA,CAAI,CAAC,CAAA,GAAM,cAAA,EACXA,CAAAA,CAAI,CAAC,CAAA,GAAMJ,CAAAA,CAAU,SAEzB,CACF,CACF,CAAA,CACA,MAAMV,CAAAA,CAAK,OAAA,CAAQ,kBAAkBW,CAAmB,EAC1D,CACF,CAAA,CACAX,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,MAAO,CAC3C,CACF","file":"chunk-R6UPSSYV.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildMutePostOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\n/**\n * Payload for muting/unmuting a post in a community.\n */\nexport interface MutePostPayload {\n /** Community name (e.g., \"hive-123456\") */\n community: string;\n /** Post author */\n author: string;\n /** Post permlink */\n permlink: string;\n /** Mute reason/notes (required even for unmute) */\n notes: string;\n /** True to mute, false to unmute */\n mute: boolean;\n}\n\n/**\n * React Query mutation hook for muting/unmuting posts in a community.\n *\n * This mutation broadcasts a custom_json operation to mute (or unmute)\n * a post within a community. Only community moderators/admins can mute posts.\n *\n * @param username - The username performing the mute (required for broadcast, must have permission)\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 posts cache to hide muted content\n * - Invalidates post cache to update mute status\n * - Invalidates feed cache to remove muted posts from feeds\n *\n * **Operation Details:**\n * - Uses custom_json operation with id \"community\"\n * - Action: [\"mutePost\", {\"community\": \"hive-123456\", \"account\": \"author\", \"permlink\": \"post\", \"notes\": \"reason\"}]\n * - Action (unmute): [\"unmutePost\", {\"community\": \"hive-123456\", \"account\": \"author\", \"permlink\": \"post\", \"notes\": \"reason\"}]\n * - Authority: Posting key\n *\n * **Mute vs Unmute:**\n * - mute: true - Mutes the post (hides from community feed)\n * - mute: false - Unmutes the post (restores to community feed)\n *\n * **Permission:**\n * - Only community moderators and admins can mute/unmute posts\n * - Attempting to mute without permission will fail with an error\n *\n * @example\n * ```typescript\n * const mutePostMutation = useMutePost(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Mute a post\n * mutePostMutation.mutate({\n * community: 'hive-123456',\n * author: 'alice',\n * permlink: 'my-post',\n * notes: 'Violates community guidelines',\n * mute: true\n * });\n *\n * // Unmute a post\n * mutePostMutation.mutate({\n * community: 'hive-123456',\n * author: 'alice',\n * permlink: 'my-post',\n * notes: 'Resolved after editing',\n * mute: false\n * });\n * ```\n */\nexport function useMutePost(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<MutePostPayload>(\n [\"communities\", \"mutePost\"],\n username,\n ({ community, author, permlink, notes, mute }) => [\n buildMutePostOp(username!, community, author, permlink, notes, mute)\n ],\n async (_result: any, variables) => {\n // Cache invalidation\n if (auth?.adapter?.invalidateQueries) {\n const queriesToInvalidate: any[] = [\n // Invalidate specific post cache to update mute status\n QueryKeys.posts.entry(`/@${variables.author}/${variables.permlink}`),\n // Invalidate community data\n [\"community\", \"single\", variables.community],\n // Invalidate community feed/posts (matches all sort orders, limits, observers)\n {\n predicate: (query: any) => {\n const key = query.queryKey;\n return (\n Array.isArray(key) &&\n key[0] === \"posts\" &&\n key[1] === \"posts-ranked\" &&\n key[3] === variables.community\n );\n }\n }\n ];\n await auth.adapter.invalidateQueries(queriesToInvalidate);\n }\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'sync' }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {b as b$1}from'./chunk-RZVMZQO7.js';import {b}from'./chunk-J2HM6MWA.js';import {a}from'./chunk-WTHEQ3M5.js';function p(t,e,i){return b(["witnesses","proxy"],t,({proxy:a})=>[b$1(t,a)],async()=>{e?.adapter?.invalidateQueries&&await e.adapter.invalidateQueries([a.accounts.full(t),a.witnesses.proxy()]);},e,"active",{broadcastMode:i})}export{p as a};//# sourceMappingURL=chunk-373JQPTA.js.map
2
- //# sourceMappingURL=chunk-373JQPTA.js.map
1
+ import {b as b$1}from'./chunk-RZVMZQO7.js';import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-WTHEQ3M5.js';function p(t,e,i){return b(["witnesses","proxy"],t,({proxy:a})=>[b$1(t,a)],async()=>{e?.adapter?.invalidateQueries&&await e.adapter.invalidateQueries([a.accounts.full(t),a.witnesses.proxy()]);},e,"active",{broadcastMode:i})}export{p as a};//# sourceMappingURL=chunk-S3LJG457.js.map
2
+ //# sourceMappingURL=chunk-S3LJG457.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/witnesses/mutations/use-witness-proxy.ts"],"names":["useWitnessProxy","username","auth","broadcastMode","useBroadcastMutation","proxy","buildWitnessProxyOp","QueryKeys"],"mappings":"mHASO,SAASA,CAAAA,CACdC,EACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,WAAA,CAAa,OAAO,CAAA,CACrBH,EACA,CAAC,CAAE,KAAA,CAAAI,CAAM,CAAA,GAAM,CACbC,IAAoBL,CAAAA,CAAWI,CAAK,CACtC,CAAA,CACA,SAAY,CACNH,GAAM,OAAA,EAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,iBAAA,CAAkB,CACnCK,CAAAA,CAAU,QAAA,CAAS,IAAA,CAAKN,CAAQ,CAAA,CAChCM,CAAAA,CAAU,UAAU,KAAA,EACtB,CAAC,EAEL,CAAA,CACAL,CAAAA,CACA,SACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-373JQPTA.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildWitnessProxyOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\nexport interface WitnessProxyPayload {\n proxy: string;\n}\n\nexport function useWitnessProxy(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<WitnessProxyPayload>(\n [\"witnesses\", \"proxy\"],\n username,\n ({ proxy }) => [\n buildWitnessProxyOp(username!, proxy)\n ],\n async () => {\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n QueryKeys.accounts.full(username),\n QueryKeys.witnesses.proxy(),\n ]);\n }\n },\n auth,\n 'active',\n { broadcastMode }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/witnesses/mutations/use-witness-proxy.ts"],"names":["useWitnessProxy","username","auth","broadcastMode","useBroadcastMutation","proxy","buildWitnessProxyOp","QueryKeys"],"mappings":"mHASO,SAASA,CAAAA,CACdC,EACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,WAAA,CAAa,OAAO,CAAA,CACrBH,EACA,CAAC,CAAE,KAAA,CAAAI,CAAM,CAAA,GAAM,CACbC,IAAoBL,CAAAA,CAAWI,CAAK,CACtC,CAAA,CACA,SAAY,CACNH,GAAM,OAAA,EAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,iBAAA,CAAkB,CACnCK,CAAAA,CAAU,QAAA,CAAS,IAAA,CAAKN,CAAQ,CAAA,CAChCM,CAAAA,CAAU,UAAU,KAAA,EACtB,CAAC,EAEL,CAAA,CACAL,CAAAA,CACA,SACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-S3LJG457.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildWitnessProxyOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\nexport interface WitnessProxyPayload {\n proxy: string;\n}\n\nexport function useWitnessProxy(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<WitnessProxyPayload>(\n [\"witnesses\", \"proxy\"],\n username,\n ({ proxy }) => [\n buildWitnessProxyOp(username!, proxy)\n ],\n async () => {\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n QueryKeys.accounts.full(username),\n QueryKeys.witnesses.proxy(),\n ]);\n }\n },\n auth,\n 'active',\n { broadcastMode }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {c,b as b$1}from'./chunk-4XH2KIZZ.js';import {d}from'./chunk-EOSE4FQA.js';import {b}from'./chunk-J2HM6MWA.js';import {a}from'./chunk-WTHEQ3M5.js';function A(p,s,y){return b(["posts","deleteComment"],p,({author:o,permlink:t})=>[d(o,t)],async(o,t)=>{if(s?.adapter?.invalidateQueries){let r=[a.accounts.full(p)];if(t.parentAuthor&&t.parentPermlink){r.push(a.posts.entry(`/@${t.parentAuthor}/${t.parentPermlink}`));let n=t.rootAuthor||t.parentAuthor,d=t.rootPermlink||t.parentPermlink;r.push({predicate:h=>{let e=h.queryKey;return Array.isArray(e)&&e[0]==="posts"&&e[1]==="discussions"&&e[2]===n&&e[3]===d}});}await s.adapter.invalidateQueries(r);}},s,"posting",{broadcastMode:y,onMutate:async o=>{let t=o.rootAuthor||o.parentAuthor,r=o.rootPermlink||o.parentPermlink;return t&&r?{snapshots:b$1(o.author,o.permlink,t,r)}:{}},onError:(o,t,r)=>{let{snapshots:n}=r??{};n&&c(n);}})}export{A as a};//# sourceMappingURL=chunk-EHCNEMO7.js.map
2
- //# sourceMappingURL=chunk-EHCNEMO7.js.map
1
+ import {c,b as b$1}from'./chunk-4XH2KIZZ.js';import {d}from'./chunk-EOSE4FQA.js';import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-WTHEQ3M5.js';function A(p,s,y){return b(["posts","deleteComment"],p,({author:o,permlink:t})=>[d(o,t)],async(o,t)=>{if(s?.adapter?.invalidateQueries){let r=[a.accounts.full(p)];if(t.parentAuthor&&t.parentPermlink){r.push(a.posts.entry(`/@${t.parentAuthor}/${t.parentPermlink}`));let n=t.rootAuthor||t.parentAuthor,d=t.rootPermlink||t.parentPermlink;r.push({predicate:h=>{let e=h.queryKey;return Array.isArray(e)&&e[0]==="posts"&&e[1]==="discussions"&&e[2]===n&&e[3]===d}});}await s.adapter.invalidateQueries(r);}},s,"posting",{broadcastMode:y,onMutate:async o=>{let t=o.rootAuthor||o.parentAuthor,r=o.rootPermlink||o.parentPermlink;return t&&r?{snapshots:b$1(o.author,o.permlink,t,r)}:{}},onError:(o,t,r)=>{let{snapshots:n}=r??{};n&&c(n);}})}export{A as a};//# sourceMappingURL=chunk-SB6LDMEP.js.map
2
+ //# sourceMappingURL=chunk-SB6LDMEP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/posts/mutations/use-delete-comment.ts"],"names":["useDeleteComment","username","auth","broadcastMode","useBroadcastMutation","author","permlink","buildDeleteCommentOp","_result","variables","queriesToInvalidate","QueryKeys","discussionsAuthor","discussionsPermlink","query","key","rootAuthor","rootPermlink","removeOptimisticDiscussionEntry","_error","_variables","context","snapshots","restoreDiscussionSnapshots"],"mappings":"yJAuCO,SAASA,EACdC,CAAAA,CACAC,CAAAA,CACAC,EACA,CACA,OAAOC,EACL,CAAC,OAAA,CAAS,eAAe,CAAA,CACzBH,EACA,CAAC,CAAE,OAAAI,CAAAA,CAAQ,QAAA,CAAAC,CAAS,CAAA,GAAM,CACxBC,CAAAA,CAAqBF,CAAAA,CAAQC,CAAQ,CACvC,CAAA,CACA,MAAOE,CAAAA,CAAcC,CAAAA,GAAc,CAEjC,GAAIP,CAAAA,EAAM,OAAA,EAAS,iBAAA,CAAmB,CACpC,IAAMQ,CAAAA,CAA6B,CACjCC,CAAAA,CAAU,QAAA,CAAS,KAAKV,CAAQ,CAClC,CAAA,CAGA,GAAIQ,EAAU,YAAA,EAAgBA,CAAAA,CAAU,eAAgB,CACtDC,CAAAA,CAAoB,KAClBC,CAAAA,CAAU,KAAA,CAAM,KAAA,CAAM,CAAA,EAAA,EAAKF,EAAU,YAAY,CAAA,CAAA,EAAIA,EAAU,cAAc,CAAA,CAAE,CACjF,CAAA,CAEA,IAAMG,CAAAA,CAAoBH,CAAAA,CAAU,YAAcA,CAAAA,CAAU,YAAA,CACtDI,EAAsBJ,CAAAA,CAAU,YAAA,EAAgBA,EAAU,cAAA,CAEhEC,CAAAA,CAAoB,KAAK,CACvB,SAAA,CAAYI,GAAe,CACzB,IAAMC,EAAMD,CAAAA,CAAM,QAAA,CAClB,OACE,KAAA,CAAM,OAAA,CAAQC,CAAG,CAAA,EACjBA,EAAI,CAAC,CAAA,GAAM,SACXA,CAAAA,CAAI,CAAC,IAAM,aAAA,EACXA,CAAAA,CAAI,CAAC,CAAA,GAAMH,GACXG,CAAAA,CAAI,CAAC,IAAMF,CAEf,CACF,CAAC,EACH,CAEA,MAAMX,CAAAA,CAAK,QAAQ,iBAAA,CAAkBQ,CAAmB,EAC1D,CACF,CAAA,CACAR,EACA,SAAA,CACA,CACE,aAAA,CAAAC,CAAAA,CAEA,SAAU,MAAOM,CAAAA,EAAc,CAC7B,IAAMO,CAAAA,CAAaP,EAAU,UAAA,EAAcA,CAAAA,CAAU,YAAA,CAC/CQ,CAAAA,CAAeR,EAAU,YAAA,EAAgBA,CAAAA,CAAU,eAEzD,OAAIO,CAAAA,EAAcC,EAOT,CAAE,SAAA,CANSC,GAAAA,CAChBT,CAAAA,CAAU,OACVA,CAAAA,CAAU,QAAA,CACVO,EACAC,CACF,CACmB,EAEd,EACT,CAAA,CAEA,OAAA,CAAS,CAACE,CAAAA,CAAQC,CAAAA,CAAYC,IAAY,CACxC,GAAM,CAAE,SAAA,CAAAC,CAAU,EAAKD,CAAAA,EAAgE,GACnFC,CAAAA,EACFC,CAAAA,CAA2BD,CAAS,EAExC,CACF,CACF,CACF","file":"chunk-EHCNEMO7.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildDeleteCommentOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport {\n removeOptimisticDiscussionEntry,\n restoreDiscussionSnapshots,\n} from \"../cache/discussions-cache-utils\";\nimport type { Entry } from \"../types\";\n\n/**\n * Payload for deleting a comment or post.\n */\nexport interface DeleteCommentPayload {\n /** Author of the comment/post to delete */\n author: string;\n /** Permlink of the comment/post to delete */\n permlink: string;\n /** Optional: Parent author (for cache invalidation of discussions) */\n parentAuthor?: string;\n /** Optional: Parent permlink (for cache invalidation of discussions) */\n parentPermlink?: string;\n /** Optional: Root post author (for nested replies, used for discussions cache invalidation) */\n rootAuthor?: string;\n /** Optional: Root post permlink (for nested replies, used for discussions cache invalidation) */\n rootPermlink?: string;\n}\n\n/**\n * React Query mutation hook for deleting posts and comments.\n *\n * This mutation broadcasts a delete_comment operation to the Hive blockchain.\n * Includes optimistic removal from discussions cache with rollback on error.\n *\n * @param username - The username deleting the comment/post (required for broadcast)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n */\nexport function useDeleteComment(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<DeleteCommentPayload>(\n [\"posts\", \"deleteComment\"],\n username,\n ({ author, permlink }) => [\n buildDeleteCommentOp(author, permlink)\n ],\n async (_result: any, variables) => {\n // Cache invalidation\n if (auth?.adapter?.invalidateQueries) {\n const queriesToInvalidate: any[] = [\n QueryKeys.accounts.full(username)\n ];\n\n // If this is a reply, invalidate parent post and discussions\n if (variables.parentAuthor && variables.parentPermlink) {\n queriesToInvalidate.push(\n QueryKeys.posts.entry(`/@${variables.parentAuthor}/${variables.parentPermlink}`)\n );\n\n const discussionsAuthor = variables.rootAuthor || variables.parentAuthor;\n const discussionsPermlink = variables.rootPermlink || variables.parentPermlink;\n\n queriesToInvalidate.push({\n predicate: (query: any) => {\n const key = query.queryKey;\n return (\n Array.isArray(key) &&\n key[0] === \"posts\" &&\n key[1] === \"discussions\" &&\n key[2] === discussionsAuthor &&\n key[3] === discussionsPermlink\n );\n }\n });\n }\n\n await auth.adapter.invalidateQueries(queriesToInvalidate);\n }\n },\n auth,\n 'posting',\n {\n broadcastMode,\n // Optimistic removal: remove from discussions cache before broadcast\n onMutate: async (variables) => {\n const rootAuthor = variables.rootAuthor || variables.parentAuthor;\n const rootPermlink = variables.rootPermlink || variables.parentPermlink;\n\n if (rootAuthor && rootPermlink) {\n const snapshots = removeOptimisticDiscussionEntry(\n variables.author,\n variables.permlink,\n rootAuthor,\n rootPermlink\n );\n return { snapshots };\n }\n return {};\n },\n // Rollback on error: restore discussions cache\n onError: (_error, _variables, context) => {\n const { snapshots } = (context as { snapshots?: Map<readonly unknown[], Entry[]> }) ?? {};\n if (snapshots) {\n restoreDiscussionSnapshots(snapshots);\n }\n },\n }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/posts/mutations/use-delete-comment.ts"],"names":["useDeleteComment","username","auth","broadcastMode","useBroadcastMutation","author","permlink","buildDeleteCommentOp","_result","variables","queriesToInvalidate","QueryKeys","discussionsAuthor","discussionsPermlink","query","key","rootAuthor","rootPermlink","removeOptimisticDiscussionEntry","_error","_variables","context","snapshots","restoreDiscussionSnapshots"],"mappings":"yJAuCO,SAASA,EACdC,CAAAA,CACAC,CAAAA,CACAC,EACA,CACA,OAAOC,EACL,CAAC,OAAA,CAAS,eAAe,CAAA,CACzBH,EACA,CAAC,CAAE,OAAAI,CAAAA,CAAQ,QAAA,CAAAC,CAAS,CAAA,GAAM,CACxBC,CAAAA,CAAqBF,CAAAA,CAAQC,CAAQ,CACvC,CAAA,CACA,MAAOE,CAAAA,CAAcC,CAAAA,GAAc,CAEjC,GAAIP,CAAAA,EAAM,OAAA,EAAS,iBAAA,CAAmB,CACpC,IAAMQ,CAAAA,CAA6B,CACjCC,CAAAA,CAAU,QAAA,CAAS,KAAKV,CAAQ,CAClC,CAAA,CAGA,GAAIQ,EAAU,YAAA,EAAgBA,CAAAA,CAAU,eAAgB,CACtDC,CAAAA,CAAoB,KAClBC,CAAAA,CAAU,KAAA,CAAM,KAAA,CAAM,CAAA,EAAA,EAAKF,EAAU,YAAY,CAAA,CAAA,EAAIA,EAAU,cAAc,CAAA,CAAE,CACjF,CAAA,CAEA,IAAMG,CAAAA,CAAoBH,CAAAA,CAAU,YAAcA,CAAAA,CAAU,YAAA,CACtDI,EAAsBJ,CAAAA,CAAU,YAAA,EAAgBA,EAAU,cAAA,CAEhEC,CAAAA,CAAoB,KAAK,CACvB,SAAA,CAAYI,GAAe,CACzB,IAAMC,EAAMD,CAAAA,CAAM,QAAA,CAClB,OACE,KAAA,CAAM,OAAA,CAAQC,CAAG,CAAA,EACjBA,EAAI,CAAC,CAAA,GAAM,SACXA,CAAAA,CAAI,CAAC,IAAM,aAAA,EACXA,CAAAA,CAAI,CAAC,CAAA,GAAMH,GACXG,CAAAA,CAAI,CAAC,IAAMF,CAEf,CACF,CAAC,EACH,CAEA,MAAMX,CAAAA,CAAK,QAAQ,iBAAA,CAAkBQ,CAAmB,EAC1D,CACF,CAAA,CACAR,EACA,SAAA,CACA,CACE,aAAA,CAAAC,CAAAA,CAEA,SAAU,MAAOM,CAAAA,EAAc,CAC7B,IAAMO,CAAAA,CAAaP,EAAU,UAAA,EAAcA,CAAAA,CAAU,YAAA,CAC/CQ,CAAAA,CAAeR,EAAU,YAAA,EAAgBA,CAAAA,CAAU,eAEzD,OAAIO,CAAAA,EAAcC,EAOT,CAAE,SAAA,CANSC,GAAAA,CAChBT,CAAAA,CAAU,OACVA,CAAAA,CAAU,QAAA,CACVO,EACAC,CACF,CACmB,EAEd,EACT,CAAA,CAEA,OAAA,CAAS,CAACE,CAAAA,CAAQC,CAAAA,CAAYC,IAAY,CACxC,GAAM,CAAE,SAAA,CAAAC,CAAU,EAAKD,CAAAA,EAAgE,GACnFC,CAAAA,EACFC,CAAAA,CAA2BD,CAAS,EAExC,CACF,CACF,CACF","file":"chunk-SB6LDMEP.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildDeleteCommentOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\nimport {\n removeOptimisticDiscussionEntry,\n restoreDiscussionSnapshots,\n} from \"../cache/discussions-cache-utils\";\nimport type { Entry } from \"../types\";\n\n/**\n * Payload for deleting a comment or post.\n */\nexport interface DeleteCommentPayload {\n /** Author of the comment/post to delete */\n author: string;\n /** Permlink of the comment/post to delete */\n permlink: string;\n /** Optional: Parent author (for cache invalidation of discussions) */\n parentAuthor?: string;\n /** Optional: Parent permlink (for cache invalidation of discussions) */\n parentPermlink?: string;\n /** Optional: Root post author (for nested replies, used for discussions cache invalidation) */\n rootAuthor?: string;\n /** Optional: Root post permlink (for nested replies, used for discussions cache invalidation) */\n rootPermlink?: string;\n}\n\n/**\n * React Query mutation hook for deleting posts and comments.\n *\n * This mutation broadcasts a delete_comment operation to the Hive blockchain.\n * Includes optimistic removal from discussions cache with rollback on error.\n *\n * @param username - The username deleting the comment/post (required for broadcast)\n * @param auth - Authentication context with platform adapter and fallback configuration\n *\n * @returns React Query mutation result\n */\nexport function useDeleteComment(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<DeleteCommentPayload>(\n [\"posts\", \"deleteComment\"],\n username,\n ({ author, permlink }) => [\n buildDeleteCommentOp(author, permlink)\n ],\n async (_result: any, variables) => {\n // Cache invalidation\n if (auth?.adapter?.invalidateQueries) {\n const queriesToInvalidate: any[] = [\n QueryKeys.accounts.full(username)\n ];\n\n // If this is a reply, invalidate parent post and discussions\n if (variables.parentAuthor && variables.parentPermlink) {\n queriesToInvalidate.push(\n QueryKeys.posts.entry(`/@${variables.parentAuthor}/${variables.parentPermlink}`)\n );\n\n const discussionsAuthor = variables.rootAuthor || variables.parentAuthor;\n const discussionsPermlink = variables.rootPermlink || variables.parentPermlink;\n\n queriesToInvalidate.push({\n predicate: (query: any) => {\n const key = query.queryKey;\n return (\n Array.isArray(key) &&\n key[0] === \"posts\" &&\n key[1] === \"discussions\" &&\n key[2] === discussionsAuthor &&\n key[3] === discussionsPermlink\n );\n }\n });\n }\n\n await auth.adapter.invalidateQueries(queriesToInvalidate);\n }\n },\n auth,\n 'posting',\n {\n broadcastMode,\n // Optimistic removal: remove from discussions cache before broadcast\n onMutate: async (variables) => {\n const rootAuthor = variables.rootAuthor || variables.parentAuthor;\n const rootPermlink = variables.rootPermlink || variables.parentPermlink;\n\n if (rootAuthor && rootPermlink) {\n const snapshots = removeOptimisticDiscussionEntry(\n variables.author,\n variables.permlink,\n rootAuthor,\n rootPermlink\n );\n return { snapshots };\n }\n return {};\n },\n // Rollback on error: restore discussions cache\n onError: (_error, _variables, context) => {\n const { snapshots } = (context as { snapshots?: Map<readonly unknown[], Entry[]> }) ?? {};\n if (snapshots) {\n restoreDiscussionSnapshots(snapshots);\n }\n },\n }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {b,c}from'./chunk-XEB43J5Q.js';import {a}from'./chunk-CPEOHI6I.js';import {useMutation}from'@tanstack/react-query';function g(r){return useMutation({mutationKey:["operations","sign",r],mutationFn:({operation:a$1,keyOrSeed:t})=>{if(!r)throw new Error("[Operations][Sign] \u2013 cannot sign op with anon user");let i;return t.split(" ").length===12?i=a.fromLogin(r,t,"active"):b(t)?i=a.fromString(t):i=a.from(t),c([a$1],i)}})}export{g as a};//# sourceMappingURL=chunk-7JPEXH7J.js.map
2
- //# sourceMappingURL=chunk-7JPEXH7J.js.map
1
+ import {b,c}from'./chunk-OQA55EE6.js';import {a}from'./chunk-CPEOHI6I.js';import {useMutation}from'@tanstack/react-query';function g(r){return useMutation({mutationKey:["operations","sign",r],mutationFn:({operation:a$1,keyOrSeed:t})=>{if(!r)throw new Error("[Operations][Sign] \u2013 cannot sign op with anon user");let i;return t.split(" ").length===12?i=a.fromLogin(r,t,"active"):b(t)?i=a.fromString(t):i=a.from(t),c([a$1],i)}})}export{g as a};//# sourceMappingURL=chunk-UGE6ZEXY.js.map
2
+ //# sourceMappingURL=chunk-UGE6ZEXY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/operations/mutations/sign-operation-by-key.ts"],"names":["useSignOperationByKey","username","useMutation","operation","keyOrSeed","privateKey","PrivateKey","isWif","broadcastOperations"],"mappings":"0HAKO,SAASA,EAAsBC,CAAAA,CAA8B,CAClE,OAAOC,WAAAA,CAAY,CACjB,WAAA,CAAa,CAAC,YAAA,CAAc,OAAQD,CAAQ,CAAA,CAC5C,UAAA,CAAY,CAAC,CACX,SAAA,CAAAE,GAAAA,CACA,SAAA,CAAAC,CACF,CAAA,GAGM,CACJ,GAAI,CAACH,EACH,MAAM,IAAI,KAAA,CAAM,yDAAoD,EAGtE,IAAII,CAAAA,CACJ,OAAID,CAAAA,CAAU,KAAA,CAAM,GAAG,CAAA,CAAE,MAAA,GAAW,GAClCC,CAAAA,CAAaC,CAAAA,CAAW,SAAA,CAAUL,CAAAA,CAAUG,CAAAA,CAAW,QAAQ,CAAA,CACtDG,CAAAA,CAAMH,CAAS,CAAA,CACxBC,CAAAA,CAAaC,CAAAA,CAAW,UAAA,CAAWF,CAAS,CAAA,CAE5CC,CAAAA,CAAaC,CAAAA,CAAW,KAAKF,CAAS,CAAA,CAGjCI,CAAAA,CACL,CAACL,GAAS,CAAA,CACVE,CACF,CACF,CACF,CAAC,CACH","file":"chunk-7JPEXH7J.js","sourcesContent":["import { PrivateKey } from \"../../../hive-tx\";\nimport type { Operation } from \"../../../hive-tx\";\nimport { isWif, broadcastOperations } from \"@/modules/core/hive-tx\";\nimport { useMutation } from \"@tanstack/react-query\";\n\nexport function useSignOperationByKey(username: string | undefined) {\n return useMutation({\n mutationKey: [\"operations\", \"sign\", username],\n mutationFn: ({\n operation,\n keyOrSeed,\n }: {\n operation: Operation;\n keyOrSeed: string;\n }) => {\n if (!username) {\n throw new Error(\"[Operations][Sign] – cannot sign op with anon user\");\n }\n\n let privateKey: PrivateKey;\n if (keyOrSeed.split(\" \").length === 12) {\n privateKey = PrivateKey.fromLogin(username, keyOrSeed, \"active\");\n } else if (isWif(keyOrSeed)) {\n privateKey = PrivateKey.fromString(keyOrSeed);\n } else {\n privateKey = PrivateKey.from(keyOrSeed);\n }\n\n return broadcastOperations(\n [operation],\n privateKey\n );\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/operations/mutations/sign-operation-by-key.ts"],"names":["useSignOperationByKey","username","useMutation","operation","keyOrSeed","privateKey","PrivateKey","isWif","broadcastOperations"],"mappings":"0HAKO,SAASA,EAAsBC,CAAAA,CAA8B,CAClE,OAAOC,WAAAA,CAAY,CACjB,WAAA,CAAa,CAAC,YAAA,CAAc,OAAQD,CAAQ,CAAA,CAC5C,UAAA,CAAY,CAAC,CACX,SAAA,CAAAE,GAAAA,CACA,SAAA,CAAAC,CACF,CAAA,GAGM,CACJ,GAAI,CAACH,EACH,MAAM,IAAI,KAAA,CAAM,yDAAoD,EAGtE,IAAII,CAAAA,CACJ,OAAID,CAAAA,CAAU,KAAA,CAAM,GAAG,CAAA,CAAE,MAAA,GAAW,GAClCC,CAAAA,CAAaC,CAAAA,CAAW,SAAA,CAAUL,CAAAA,CAAUG,CAAAA,CAAW,QAAQ,CAAA,CACtDG,CAAAA,CAAMH,CAAS,CAAA,CACxBC,CAAAA,CAAaC,CAAAA,CAAW,UAAA,CAAWF,CAAS,CAAA,CAE5CC,CAAAA,CAAaC,CAAAA,CAAW,KAAKF,CAAS,CAAA,CAGjCI,CAAAA,CACL,CAACL,GAAS,CAAA,CACVE,CACF,CACF,CACF,CAAC,CACH","file":"chunk-UGE6ZEXY.js","sourcesContent":["import { PrivateKey } from \"../../../hive-tx\";\nimport type { Operation } from \"../../../hive-tx\";\nimport { isWif, broadcastOperations } from \"@/modules/core/hive-tx\";\nimport { useMutation } from \"@tanstack/react-query\";\n\nexport function useSignOperationByKey(username: string | undefined) {\n return useMutation({\n mutationKey: [\"operations\", \"sign\", username],\n mutationFn: ({\n operation,\n keyOrSeed,\n }: {\n operation: Operation;\n keyOrSeed: string;\n }) => {\n if (!username) {\n throw new Error(\"[Operations][Sign] – cannot sign op with anon user\");\n }\n\n let privateKey: PrivateKey;\n if (keyOrSeed.split(\" \").length === 12) {\n privateKey = PrivateKey.fromLogin(username, keyOrSeed, \"active\");\n } else if (isWif(keyOrSeed)) {\n privateKey = PrivateKey.fromString(keyOrSeed);\n } else {\n privateKey = PrivateKey.from(keyOrSeed);\n }\n\n return broadcastOperations(\n [operation],\n privateKey\n );\n },\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-K3LA2I7M.js';import {b as b$1}from'./chunk-CNB64U7U.js';import {b}from'./chunk-J2HM6MWA.js';import {a as a$1}from'./chunk-WTHEQ3M5.js';function f(t,n,a$2){return b(["accounts","follow"],t,({following:r})=>[a(t,r)],async(r,l)=>{await b$1(n?.adapter,a$2,[a$1.accounts.relations(t,l.following),a$1.accounts.full(l.following),a$1.accounts.followCount(l.following),a$1.accounts.followCount(t)]);},n,"posting",{broadcastMode:a$2??"async"})}export{f as a};//# sourceMappingURL=chunk-JG7HMCAI.js.map
2
- //# sourceMappingURL=chunk-JG7HMCAI.js.map
1
+ import {a}from'./chunk-K3LA2I7M.js';import {b as b$1}from'./chunk-CNB64U7U.js';import {b}from'./chunk-PFVWZI3W.js';import {a as a$1}from'./chunk-WTHEQ3M5.js';function f(t,n,a$2){return b(["accounts","follow"],t,({following:r})=>[a(t,r)],async(r,l)=>{await b$1(n?.adapter,a$2,[a$1.accounts.relations(t,l.following),a$1.accounts.full(l.following),a$1.accounts.followCount(l.following),a$1.accounts.followCount(t)]);},n,"posting",{broadcastMode:a$2??"async"})}export{f as a};//# sourceMappingURL=chunk-VCYNR26T.js.map
2
+ //# sourceMappingURL=chunk-VCYNR26T.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/accounts/mutations/use-follow.ts"],"names":["useFollow","username","auth","broadcastMode","useBroadcastMutation","following","buildFollowOp","_result","variables","invalidateAfterBroadcast","QueryKeys"],"mappings":"8JA2CO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,GAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,UAAA,CAAY,QAAQ,CAAA,CACrBH,CAAAA,CACA,CAAC,CAAE,SAAA,CAAAI,CAAU,CAAA,GAAM,CACjBC,CAAAA,CAAcL,CAAAA,CAAWI,CAAS,CACpC,CAAA,CACA,MAAOE,CAAAA,CAAcC,CAAAA,GAAc,CAEjC,MAAMC,GAAAA,CAAyBP,CAAAA,EAAM,QAASC,GAAAA,CAAe,CAC3DO,GAAAA,CAAU,QAAA,CAAS,SAAA,CAAUT,CAAAA,CAAWO,CAAAA,CAAU,SAAS,EAC3DE,GAAAA,CAAU,QAAA,CAAS,IAAA,CAAKF,CAAAA,CAAU,SAAS,CAAA,CAC3CE,GAAAA,CAAU,QAAA,CAAS,YAAYF,CAAAA,CAAU,SAAS,CAAA,CAClDE,GAAAA,CAAU,QAAA,CAAS,WAAA,CAAYT,CAAS,CAC1C,CAAC,EACH,CAAA,CACAC,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,GAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-JG7HMCAI.js","sourcesContent":["import { useBroadcastMutation, invalidateAfterBroadcast, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildFollowOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\n/**\n * Payload for following an account.\n */\nexport interface FollowPayload {\n /** Account to follow */\n following: string;\n}\n\n/**\n * React Query mutation hook for following an account.\n *\n * This mutation broadcasts a follow operation to the Hive blockchain,\n * adding the target account to the follower's \"blog\" follow list.\n *\n * @param username - The username of the follower (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 * - Invalidates relationship cache to show updated follow status\n * - Invalidates account cache to refetch updated follower/following counts\n *\n * @example\n * ```typescript\n * const followMutation = useFollow(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Follow an account\n * followMutation.mutate({\n * following: 'alice'\n * });\n * ```\n */\nexport function useFollow(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<FollowPayload>(\n [\"accounts\", \"follow\"],\n username,\n ({ following }) => [\n buildFollowOp(username!, following)\n ],\n async (_result: any, variables) => {\n // Cache invalidation\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.relations(username!, variables.following),\n QueryKeys.accounts.full(variables.following),\n QueryKeys.accounts.followCount(variables.following),\n QueryKeys.accounts.followCount(username!)\n ]);\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'async' }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/accounts/mutations/use-follow.ts"],"names":["useFollow","username","auth","broadcastMode","useBroadcastMutation","following","buildFollowOp","_result","variables","invalidateAfterBroadcast","QueryKeys"],"mappings":"8JA2CO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,GAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,UAAA,CAAY,QAAQ,CAAA,CACrBH,CAAAA,CACA,CAAC,CAAE,SAAA,CAAAI,CAAU,CAAA,GAAM,CACjBC,CAAAA,CAAcL,CAAAA,CAAWI,CAAS,CACpC,CAAA,CACA,MAAOE,CAAAA,CAAcC,CAAAA,GAAc,CAEjC,MAAMC,GAAAA,CAAyBP,CAAAA,EAAM,QAASC,GAAAA,CAAe,CAC3DO,GAAAA,CAAU,QAAA,CAAS,SAAA,CAAUT,CAAAA,CAAWO,CAAAA,CAAU,SAAS,EAC3DE,GAAAA,CAAU,QAAA,CAAS,IAAA,CAAKF,CAAAA,CAAU,SAAS,CAAA,CAC3CE,GAAAA,CAAU,QAAA,CAAS,YAAYF,CAAAA,CAAU,SAAS,CAAA,CAClDE,GAAAA,CAAU,QAAA,CAAS,WAAA,CAAYT,CAAS,CAC1C,CAAC,EACH,CAAA,CACAC,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,GAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-VCYNR26T.js","sourcesContent":["import { useBroadcastMutation, invalidateAfterBroadcast, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildFollowOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\n/**\n * Payload for following an account.\n */\nexport interface FollowPayload {\n /** Account to follow */\n following: string;\n}\n\n/**\n * React Query mutation hook for following an account.\n *\n * This mutation broadcasts a follow operation to the Hive blockchain,\n * adding the target account to the follower's \"blog\" follow list.\n *\n * @param username - The username of the follower (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 * - Invalidates relationship cache to show updated follow status\n * - Invalidates account cache to refetch updated follower/following counts\n *\n * @example\n * ```typescript\n * const followMutation = useFollow(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Follow an account\n * followMutation.mutate({\n * following: 'alice'\n * });\n * ```\n */\nexport function useFollow(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<FollowPayload>(\n [\"accounts\", \"follow\"],\n username,\n ({ following }) => [\n buildFollowOp(username!, following)\n ],\n async (_result: any, variables) => {\n // Cache invalidation\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.relations(username!, variables.following),\n QueryKeys.accounts.full(variables.following),\n QueryKeys.accounts.followCount(variables.following),\n QueryKeys.accounts.followCount(username!)\n ]);\n },\n auth,\n 'posting',\n { broadcastMode: broadcastMode ?? 'async' }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {j}from'./chunk-UKK6NLAT.js';import {b as b$1}from'./chunk-CNB64U7U.js';import {b}from'./chunk-J2HM6MWA.js';import {a}from'./chunk-WTHEQ3M5.js';function f(e,o,r){return b(["wallet","delegate-vesting-shares"],e,t=>[j(e,t.delegatee,t.vestingShares)],async(t,n)=>{await b$1(o?.adapter,r,[a.accounts.full(e),a.accounts.full(n.delegatee),["ecency-wallets","asset-info",e],["wallet","portfolio","v2",e]]);},o,"active",{broadcastMode:r})}export{f as a};//# sourceMappingURL=chunk-R3DMLKGZ.js.map
2
- //# sourceMappingURL=chunk-R3DMLKGZ.js.map
1
+ import {j}from'./chunk-UKK6NLAT.js';import {b as b$1}from'./chunk-CNB64U7U.js';import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-WTHEQ3M5.js';function f(e,o,r){return b(["wallet","delegate-vesting-shares"],e,t=>[j(e,t.delegatee,t.vestingShares)],async(t,n)=>{await b$1(o?.adapter,r,[a.accounts.full(e),a.accounts.full(n.delegatee),["ecency-wallets","asset-info",e],["wallet","portfolio","v2",e]]);},o,"active",{broadcastMode:r})}export{f as a};//# sourceMappingURL=chunk-W4TAERQX.js.map
2
+ //# sourceMappingURL=chunk-W4TAERQX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/wallet/mutations/use-delegate-vesting-shares.ts"],"names":["useDelegateVestingShares","username","auth","broadcastMode","useBroadcastMutation","payload","buildDelegateVestingSharesOp","_result","variables","invalidateAfterBroadcast","QueryKeys"],"mappings":"uJAmEO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,QAAA,CAAU,yBAAyB,CAAA,CACpCH,CAAAA,CACCI,CAAAA,EAAY,CACXC,CAAAA,CACEL,CAAAA,CACAI,CAAAA,CAAQ,SAAA,CACRA,CAAAA,CAAQ,aACV,CACF,CAAA,CACA,MAAOE,CAAAA,CAASC,CAAAA,GAAc,CAE5B,MAAMC,GAAAA,CAAyBP,GAAM,OAAA,CAASC,CAAAA,CAAe,CAC3DO,CAAAA,CAAU,QAAA,CAAS,IAAA,CAAKT,CAAQ,CAAA,CAChCS,CAAAA,CAAU,QAAA,CAAS,IAAA,CAAKF,CAAAA,CAAU,SAAS,CAAA,CAC3C,CAAC,gBAAA,CAAkB,aAAcP,CAAQ,CAAA,CACzC,CAAC,QAAA,CAAU,WAAA,CAAa,IAAA,CAAMA,CAAQ,CACxC,CAAC,EACH,CAAA,CACAC,CAAAA,CACA,QAAA,CACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-R3DMLKGZ.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 { buildDelegateVestingSharesOp } from \"@/modules/operations/builders\";\n\n/**\n * Payload for delegating Hive Power (vesting shares).\n */\nexport interface DelegateVestingSharesPayload {\n /** Account receiving HP delegation */\n delegatee: string;\n /** Amount of VESTS to delegate (e.g., \"1000.000000 VESTS\"). Use \"0.000000 VESTS\" to remove delegation. */\n vestingShares: string;\n}\n\n/**\n * React Query mutation hook for delegating Hive Power (HP).\n *\n * This mutation broadcasts a delegate_vesting_shares operation to delegate HP\n * to another account. **Requires ACTIVE authority**, not posting.\n *\n * @param username - The username delegating HP (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 * **IMPORTANT: Active Authority Required**\n * - Delegation operations require ACTIVE key, not posting key\n * - Make sure your auth adapter provides getActiveKey() method\n * - Keychain/HiveAuth will prompt for Active authority\n *\n * **Delegation Mechanics:**\n * - Delegated HP can be used by the delegatee for resource credits\n * - Delegatee CANNOT power down or transfer the delegated HP\n * - Delegation can be removed by setting vestingShares to \"0.000000 VESTS\"\n * - Removing delegation has a 5-day cooldown before HP returns to delegator\n *\n * **Post-Broadcast Actions:**\n * - Invalidates delegations list cache to show updated delegation\n * - Invalidates account data for both delegator and delegatee\n *\n * @example\n * ```typescript\n * const delegateMutation = useDelegateVestingShares(username, {\n * adapter: {\n * ...myAdapter,\n * getActiveKey: async (username) => getActiveKeyFromStorage(username)\n * },\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Delegate HP\n * delegateMutation.mutate({\n * delegatee: 'alice',\n * vestingShares: '1000.000000 VESTS'\n * });\n *\n * // Remove delegation\n * delegateMutation.mutate({\n * delegatee: 'alice',\n * vestingShares: '0.000000 VESTS'\n * });\n * ```\n */\nexport function useDelegateVestingShares(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<DelegateVestingSharesPayload>(\n [\"wallet\", \"delegate-vesting-shares\"],\n username,\n (payload) => [\n buildDelegateVestingSharesOp(\n username!,\n payload.delegatee,\n payload.vestingShares\n )\n ],\n async (_result, variables) => {\n // Cache invalidation\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username),\n QueryKeys.accounts.full(variables.delegatee),\n [\"ecency-wallets\", \"asset-info\", username],\n [\"wallet\", \"portfolio\", \"v2\", username]\n ]);\n },\n auth,\n 'active', // IMPORTANT: Active authority required\n { broadcastMode }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/wallet/mutations/use-delegate-vesting-shares.ts"],"names":["useDelegateVestingShares","username","auth","broadcastMode","useBroadcastMutation","payload","buildDelegateVestingSharesOp","_result","variables","invalidateAfterBroadcast","QueryKeys"],"mappings":"uJAmEO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,QAAA,CAAU,yBAAyB,CAAA,CACpCH,CAAAA,CACCI,CAAAA,EAAY,CACXC,CAAAA,CACEL,CAAAA,CACAI,CAAAA,CAAQ,SAAA,CACRA,CAAAA,CAAQ,aACV,CACF,CAAA,CACA,MAAOE,CAAAA,CAASC,CAAAA,GAAc,CAE5B,MAAMC,GAAAA,CAAyBP,GAAM,OAAA,CAASC,CAAAA,CAAe,CAC3DO,CAAAA,CAAU,QAAA,CAAS,IAAA,CAAKT,CAAQ,CAAA,CAChCS,CAAAA,CAAU,QAAA,CAAS,IAAA,CAAKF,CAAAA,CAAU,SAAS,CAAA,CAC3C,CAAC,gBAAA,CAAkB,aAAcP,CAAQ,CAAA,CACzC,CAAC,QAAA,CAAU,WAAA,CAAa,IAAA,CAAMA,CAAQ,CACxC,CAAC,EACH,CAAA,CACAC,CAAAA,CACA,QAAA,CACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-W4TAERQX.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 { buildDelegateVestingSharesOp } from \"@/modules/operations/builders\";\n\n/**\n * Payload for delegating Hive Power (vesting shares).\n */\nexport interface DelegateVestingSharesPayload {\n /** Account receiving HP delegation */\n delegatee: string;\n /** Amount of VESTS to delegate (e.g., \"1000.000000 VESTS\"). Use \"0.000000 VESTS\" to remove delegation. */\n vestingShares: string;\n}\n\n/**\n * React Query mutation hook for delegating Hive Power (HP).\n *\n * This mutation broadcasts a delegate_vesting_shares operation to delegate HP\n * to another account. **Requires ACTIVE authority**, not posting.\n *\n * @param username - The username delegating HP (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 * **IMPORTANT: Active Authority Required**\n * - Delegation operations require ACTIVE key, not posting key\n * - Make sure your auth adapter provides getActiveKey() method\n * - Keychain/HiveAuth will prompt for Active authority\n *\n * **Delegation Mechanics:**\n * - Delegated HP can be used by the delegatee for resource credits\n * - Delegatee CANNOT power down or transfer the delegated HP\n * - Delegation can be removed by setting vestingShares to \"0.000000 VESTS\"\n * - Removing delegation has a 5-day cooldown before HP returns to delegator\n *\n * **Post-Broadcast Actions:**\n * - Invalidates delegations list cache to show updated delegation\n * - Invalidates account data for both delegator and delegatee\n *\n * @example\n * ```typescript\n * const delegateMutation = useDelegateVestingShares(username, {\n * adapter: {\n * ...myAdapter,\n * getActiveKey: async (username) => getActiveKeyFromStorage(username)\n * },\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Delegate HP\n * delegateMutation.mutate({\n * delegatee: 'alice',\n * vestingShares: '1000.000000 VESTS'\n * });\n *\n * // Remove delegation\n * delegateMutation.mutate({\n * delegatee: 'alice',\n * vestingShares: '0.000000 VESTS'\n * });\n * ```\n */\nexport function useDelegateVestingShares(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<DelegateVestingSharesPayload>(\n [\"wallet\", \"delegate-vesting-shares\"],\n username,\n (payload) => [\n buildDelegateVestingSharesOp(\n username!,\n payload.delegatee,\n payload.vestingShares\n )\n ],\n async (_result, variables) => {\n // Cache invalidation\n await invalidateAfterBroadcast(auth?.adapter, broadcastMode, [\n QueryKeys.accounts.full(username),\n QueryKeys.accounts.full(variables.delegatee),\n [\"ecency-wallets\", \"asset-info\", username],\n [\"wallet\", \"portfolio\", \"v2\", username]\n ]);\n },\n auth,\n 'active', // IMPORTANT: Active authority required\n { broadcastMode }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {d}from'./chunk-RZVMZQO7.js';import {b}from'./chunk-J2HM6MWA.js';import {a}from'./chunk-WTHEQ3M5.js';function n(r,t,p){return b(["proposals","vote"],r,({proposalIds:e,approve:o})=>[d(r,e,o)],async e=>{try{let o=e?.id??e?.tx_id;t?.adapter?.recordActivity&&o&&t.adapter.recordActivity(150,o,e?.block_num).catch(d=>{console.debug("[SDK][Proposals][useProposalVote] recordActivity failed",{activityType:150,blockNum:e?.block_num,transactionId:o,error:d});}),t?.adapter?.invalidateQueries&&await t.adapter.invalidateQueries([a.proposals.list(),a.proposals.votesByUser(r)]);}catch(o){console.warn("[useProposalVote] Post-broadcast side-effect failed:",o);}},t,"active",{broadcastMode:p})}export{n as a};//# sourceMappingURL=chunk-5E7DWZPN.js.map
2
- //# sourceMappingURL=chunk-5E7DWZPN.js.map
1
+ import {d}from'./chunk-RZVMZQO7.js';import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-WTHEQ3M5.js';function n(r,t,p){return b(["proposals","vote"],r,({proposalIds:e,approve:o})=>[d(r,e,o)],async e=>{try{let o=e?.id??e?.tx_id;t?.adapter?.recordActivity&&o&&t.adapter.recordActivity(150,o,e?.block_num).catch(d=>{console.debug("[SDK][Proposals][useProposalVote] recordActivity failed",{activityType:150,blockNum:e?.block_num,transactionId:o,error:d});}),t?.adapter?.invalidateQueries&&await t.adapter.invalidateQueries([a.proposals.list(),a.proposals.votesByUser(r)]);}catch(o){console.warn("[useProposalVote] Post-broadcast side-effect failed:",o);}},t,"active",{broadcastMode:p})}export{n as a};//# sourceMappingURL=chunk-W6CO2WKX.js.map
2
+ //# sourceMappingURL=chunk-W6CO2WKX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/proposals/mutations/use-proposal-vote.ts"],"names":["useProposalVote","username","auth","broadcastMode","useBroadcastMutation","proposalIds","approve","buildProposalVoteOp","result","txId","error","QueryKeys"],"mappings":"4GAoEO,SAASA,CAAAA,CACdC,EACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,WAAA,CAAa,MAAM,CAAA,CACpBH,EACA,CAAC,CAAE,WAAA,CAAAI,CAAAA,CAAa,OAAA,CAAAC,CAAQ,IAAM,CAC5BC,CAAAA,CAAoBN,CAAAA,CAAWI,CAAAA,CAAaC,CAAO,CACrD,EACA,MAAOE,CAAAA,EAAgB,CAErB,GAAI,CAIF,IAAMC,CAAAA,CAAOD,CAAAA,EAAQ,EAAA,EAAMA,CAAAA,EAAQ,KAAA,CAC/BN,CAAAA,EAAM,SAAS,cAAA,EAAkBO,CAAAA,EACnCP,CAAAA,CAAK,OAAA,CAAQ,cAAA,CAAe,GAAA,CAAKO,EAAMD,CAAAA,EAAQ,SAAS,CAAA,CAAE,KAAA,CAAOE,CAAAA,EAAU,CACzE,QAAQ,KAAA,CAAM,yDAAA,CAA2D,CACvE,YAAA,CAAc,GAAA,CACd,SAAUF,CAAAA,EAAQ,SAAA,CAClB,aAAA,CAAeC,CAAAA,CACf,KAAA,CAAAC,CACF,CAAC,EACH,CAAC,CAAA,CAICR,CAAAA,EAAM,OAAA,EAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,iBAAA,CAAkB,CACnCS,CAAAA,CAAU,SAAA,CAAU,MAAK,CACzBA,CAAAA,CAAU,UAAU,WAAA,CAAYV,CAAS,CAC3C,CAAC,EAEL,CAAA,MAASS,CAAAA,CAAO,CAEd,OAAA,CAAQ,KAAK,sDAAA,CAAwDA,CAAK,EAC5E,CACF,CAAA,CACAR,CAAAA,CACA,SACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-5E7DWZPN.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildProposalVoteOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\n/**\n * Payload for voting on proposals.\n */\nexport interface ProposalVotePayload {\n /** Array of proposal IDs to vote on */\n proposalIds: number[];\n /** True to approve, false to disapprove */\n approve: boolean;\n}\n\n/**\n * React Query mutation hook for voting on Hive proposals.\n *\n * This mutation broadcasts an update_proposal_votes operation to vote on\n * one or more proposals in the Hive Decentralized Fund (HDF).\n *\n * @param username - The username voting on proposals (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 150) if adapter.recordActivity is available\n * - Invalidates proposal list cache to show updated vote status\n * - Invalidates voter's proposal votes cache\n *\n * **Multiple Proposals:**\n * - You can vote on multiple proposals in a single transaction\n * - All proposals receive the same vote (approve or disapprove)\n * - Proposal IDs are integers, not strings\n *\n * **Vote Types:**\n * - approve: true - Vote in favor of the proposal(s)\n * - approve: false - Remove your vote from the proposal(s)\n *\n * @example\n * ```typescript\n * const proposalVoteMutation = useProposalVote(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Approve a single proposal\n * proposalVoteMutation.mutate({\n * proposalIds: [123],\n * approve: true\n * });\n *\n * // Approve multiple proposals\n * proposalVoteMutation.mutate({\n * proposalIds: [123, 124, 125],\n * approve: true\n * });\n *\n * // Remove vote from a proposal\n * proposalVoteMutation.mutate({\n * proposalIds: [123],\n * approve: false\n * });\n * ```\n */\nexport function useProposalVote(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<ProposalVotePayload>(\n [\"proposals\", \"vote\"],\n username,\n ({ proposalIds, approve }) => [\n buildProposalVoteOp(username!, proposalIds, approve)\n ],\n async (result: any) => {\n // Wrap post-broadcast side-effects in try-catch to prevent propagating errors\n try {\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(150, txId, result?.block_num).catch((error) => {\n console.debug(\"[SDK][Proposals][useProposalVote] recordActivity failed\", {\n activityType: 150,\n blockNum: result?.block_num,\n transactionId: txId,\n error\n });\n });\n }\n\n // Cache invalidation\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n QueryKeys.proposals.list(),\n QueryKeys.proposals.votesByUser(username!)\n ]);\n }\n } catch (error) {\n // Log but don't rethrow - don't fail mutation due to side-effect errors\n console.warn('[useProposalVote] Post-broadcast side-effect failed:', error);\n }\n },\n auth,\n 'active', // Use active authority for proposal votes (required by blockchain)\n { broadcastMode }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/proposals/mutations/use-proposal-vote.ts"],"names":["useProposalVote","username","auth","broadcastMode","useBroadcastMutation","proposalIds","approve","buildProposalVoteOp","result","txId","error","QueryKeys"],"mappings":"4GAoEO,SAASA,CAAAA,CACdC,EACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACL,CAAC,WAAA,CAAa,MAAM,CAAA,CACpBH,EACA,CAAC,CAAE,WAAA,CAAAI,CAAAA,CAAa,OAAA,CAAAC,CAAQ,IAAM,CAC5BC,CAAAA,CAAoBN,CAAAA,CAAWI,CAAAA,CAAaC,CAAO,CACrD,EACA,MAAOE,CAAAA,EAAgB,CAErB,GAAI,CAIF,IAAMC,CAAAA,CAAOD,CAAAA,EAAQ,EAAA,EAAMA,CAAAA,EAAQ,KAAA,CAC/BN,CAAAA,EAAM,SAAS,cAAA,EAAkBO,CAAAA,EACnCP,CAAAA,CAAK,OAAA,CAAQ,cAAA,CAAe,GAAA,CAAKO,EAAMD,CAAAA,EAAQ,SAAS,CAAA,CAAE,KAAA,CAAOE,CAAAA,EAAU,CACzE,QAAQ,KAAA,CAAM,yDAAA,CAA2D,CACvE,YAAA,CAAc,GAAA,CACd,SAAUF,CAAAA,EAAQ,SAAA,CAClB,aAAA,CAAeC,CAAAA,CACf,KAAA,CAAAC,CACF,CAAC,EACH,CAAC,CAAA,CAICR,CAAAA,EAAM,OAAA,EAAS,iBAAA,EACjB,MAAMA,CAAAA,CAAK,OAAA,CAAQ,iBAAA,CAAkB,CACnCS,CAAAA,CAAU,SAAA,CAAU,MAAK,CACzBA,CAAAA,CAAU,UAAU,WAAA,CAAYV,CAAS,CAC3C,CAAC,EAEL,CAAA,MAASS,CAAAA,CAAO,CAEd,OAAA,CAAQ,KAAK,sDAAA,CAAwDA,CAAK,EAC5E,CACF,CAAA,CACAR,CAAAA,CACA,SACA,CAAE,aAAA,CAAAC,CAAc,CAClB,CACF","file":"chunk-W6CO2WKX.js","sourcesContent":["import { useBroadcastMutation, QueryKeys } from \"@/modules/core\";\nimport type { BroadcastMode } from \"@/modules/core\";\nimport { buildProposalVoteOp } from \"@/modules/operations/builders\";\nimport type { AuthContextV2 } from \"@/modules/core/types\";\n\n/**\n * Payload for voting on proposals.\n */\nexport interface ProposalVotePayload {\n /** Array of proposal IDs to vote on */\n proposalIds: number[];\n /** True to approve, false to disapprove */\n approve: boolean;\n}\n\n/**\n * React Query mutation hook for voting on Hive proposals.\n *\n * This mutation broadcasts an update_proposal_votes operation to vote on\n * one or more proposals in the Hive Decentralized Fund (HDF).\n *\n * @param username - The username voting on proposals (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 150) if adapter.recordActivity is available\n * - Invalidates proposal list cache to show updated vote status\n * - Invalidates voter's proposal votes cache\n *\n * **Multiple Proposals:**\n * - You can vote on multiple proposals in a single transaction\n * - All proposals receive the same vote (approve or disapprove)\n * - Proposal IDs are integers, not strings\n *\n * **Vote Types:**\n * - approve: true - Vote in favor of the proposal(s)\n * - approve: false - Remove your vote from the proposal(s)\n *\n * @example\n * ```typescript\n * const proposalVoteMutation = useProposalVote(username, {\n * adapter: myAdapter,\n * enableFallback: true,\n * fallbackChain: ['keychain', 'key', 'hivesigner']\n * });\n *\n * // Approve a single proposal\n * proposalVoteMutation.mutate({\n * proposalIds: [123],\n * approve: true\n * });\n *\n * // Approve multiple proposals\n * proposalVoteMutation.mutate({\n * proposalIds: [123, 124, 125],\n * approve: true\n * });\n *\n * // Remove vote from a proposal\n * proposalVoteMutation.mutate({\n * proposalIds: [123],\n * approve: false\n * });\n * ```\n */\nexport function useProposalVote(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<ProposalVotePayload>(\n [\"proposals\", \"vote\"],\n username,\n ({ proposalIds, approve }) => [\n buildProposalVoteOp(username!, proposalIds, approve)\n ],\n async (result: any) => {\n // Wrap post-broadcast side-effects in try-catch to prevent propagating errors\n try {\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(150, txId, result?.block_num).catch((error) => {\n console.debug(\"[SDK][Proposals][useProposalVote] recordActivity failed\", {\n activityType: 150,\n blockNum: result?.block_num,\n transactionId: txId,\n error\n });\n });\n }\n\n // Cache invalidation\n if (auth?.adapter?.invalidateQueries) {\n await auth.adapter.invalidateQueries([\n QueryKeys.proposals.list(),\n QueryKeys.proposals.votesByUser(username!)\n ]);\n }\n } catch (error) {\n // Log but don't rethrow - don't fail mutation due to side-effect errors\n console.warn('[useProposalVote] Post-broadcast side-effect failed:', error);\n }\n },\n auth,\n 'active', // Use active authority for proposal votes (required by blockchain)\n { broadcastMode }\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-CFHER3WM.js';import {c}from'./chunk-32QJ72HH.js';import {e}from'./chunk-6PK5KYS5.js';import {j}from'./chunk-RAWKN3XW.js';import {infiniteQueryOptions}from'@tanstack/react-query';var d=e.operations;function y(e){return Object.prototype.hasOwnProperty.call(d,e)}function H(e){let r=Array.isArray(e)?e:[e],t=r.includes(""),i=Array.from(new Set(r.filter(n=>n!=null&&n!==""))),l=t||i.length===0?"all":i.map(n=>n.toString()).sort().join("|"),c=new Set;t||i.forEach(n=>{if(n in a){a[n].forEach(a=>c.add(a));return}y(n)&&c.add(d[n]);});let s=w(Array.from(c));return {filterKey:l,filterArgs:s}}function O(e){let r=Array.isArray(e)?e:[e];return new Set(r.filter(t=>t!=null&&t!==""))}function g(e){if(!e?.length)return;let r=Number(e[0]?.num??0);return Number.isFinite(r)&&r>0?r-1:void 0}function h(e,r){return !Number.isFinite(e)||e<0?r:Math.min(r,e+1)}function w(e){let r=0n,t=0n;return e.forEach(i=>{i<64?r|=1n<<BigInt(i):t|=1n<<BigInt(i-64);}),[r!==0n?r.toString():null,t!==0n?t.toString():null]}function P(e,r=20,t=[]){let{filterArgs:i,filterKey:l}=H(t),c$1=O(t);return infiniteQueryOptions({queryKey:["assets","hive","transactions",e,r,l],initialPageParam:-1,getNextPageParam:g,queryFn:async({pageParam:s})=>(await j("condenser_api.get_account_history",[e,s,h(Number(s),r),...i])).map(a=>({num:a[0],type:a[1].op[0],timestamp:a[1].timestamp,trx_id:a[1].trx_id,...a[1].op[1]})),select:({pages:s,pageParams:n})=>({pageParams:n,pages:s.map(a=>a.filter(o=>{switch(o.type){case "author_reward":case "comment_benefactor_reward":return c(o.hive_payout).amount>0;case "transfer":case "transfer_to_savings":case "transfer_to_vesting":case "recurrent_transfer":return c(o.amount).symbol==="HIVE";case "transfer_from_savings":case "fill_transfer_from_savings":return c(o.amount).symbol==="HIVE";case "fill_recurrent_transfer":let _=c(o.amount);return ["HIVE"].includes(_.symbol);case "claim_reward_balance":return c(o.reward_hive).amount>0;case "curation_reward":case "cancel_transfer_from_savings":case "fill_order":case "limit_order_create":case "limit_order_cancel":case "fill_convert_request":case "fill_collateralized_convert_request":return true;case "limit_order_create2":return true;default:return c$1.has(o.type)}}))})})}export{H as a,O as b,g as c,h as d,P as e};//# sourceMappingURL=chunk-Q2ACQBL2.js.map
2
- //# sourceMappingURL=chunk-Q2ACQBL2.js.map
1
+ import {a}from'./chunk-WGKD2O73.js';import {c}from'./chunk-32QJ72HH.js';import {e}from'./chunk-XX32ZFT4.js';import {j}from'./chunk-RAWKN3XW.js';import {infiniteQueryOptions}from'@tanstack/react-query';var d=e.operations;function y(e){return Object.prototype.hasOwnProperty.call(d,e)}function H(e){let r=Array.isArray(e)?e:[e],t=r.includes(""),i=Array.from(new Set(r.filter(n=>n!=null&&n!==""))),l=t||i.length===0?"all":i.map(n=>n.toString()).sort().join("|"),c=new Set;t||i.forEach(n=>{if(n in a){a[n].forEach(a=>c.add(a));return}y(n)&&c.add(d[n]);});let s=w(Array.from(c));return {filterKey:l,filterArgs:s}}function O(e){let r=Array.isArray(e)?e:[e];return new Set(r.filter(t=>t!=null&&t!==""))}function g(e){if(!e?.length)return;let r=Number(e[0]?.num??0);return Number.isFinite(r)&&r>0?r-1:void 0}function h(e,r){return !Number.isFinite(e)||e<0?r:Math.min(r,e+1)}function w(e){let r=0n,t=0n;return e.forEach(i=>{i<64?r|=1n<<BigInt(i):t|=1n<<BigInt(i-64);}),[r!==0n?r.toString():null,t!==0n?t.toString():null]}function P(e,r=20,t=[]){let{filterArgs:i,filterKey:l}=H(t),c$1=O(t);return infiniteQueryOptions({queryKey:["assets","hive","transactions",e,r,l],initialPageParam:-1,getNextPageParam:g,queryFn:async({pageParam:s})=>(await j("condenser_api.get_account_history",[e,s,h(Number(s),r),...i])).map(a=>({num:a[0],type:a[1].op[0],timestamp:a[1].timestamp,trx_id:a[1].trx_id,...a[1].op[1]})),select:({pages:s,pageParams:n})=>({pageParams:n,pages:s.map(a=>a.filter(o=>{switch(o.type){case "author_reward":case "comment_benefactor_reward":return c(o.hive_payout).amount>0;case "transfer":case "transfer_to_savings":case "transfer_to_vesting":case "recurrent_transfer":return c(o.amount).symbol==="HIVE";case "transfer_from_savings":case "fill_transfer_from_savings":return c(o.amount).symbol==="HIVE";case "fill_recurrent_transfer":let _=c(o.amount);return ["HIVE"].includes(_.symbol);case "claim_reward_balance":return c(o.reward_hive).amount>0;case "curation_reward":case "cancel_transfer_from_savings":case "fill_order":case "limit_order_create":case "limit_order_cancel":case "fill_convert_request":case "fill_collateralized_convert_request":return true;case "limit_order_create2":return true;default:return c$1.has(o.type)}}))})})}export{H as a,O as b,g as c,h as d,P as e};//# sourceMappingURL=chunk-WCIDGHGX.js.map
2
+ //# sourceMappingURL=chunk-WCIDGHGX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/wallet/queries/get-hive-asset-transactions-query-options.ts"],"names":["operationOrders","utils_exports","isHiveOperationName","value","resolveHiveOperationFilters","filters","rawValues","hasAll","uniqueValues","filterKey","operationIds","HIVE_ACCOUNT_OPERATION_GROUPS","id","filterArgs","makeBitMaskFilter","collectRequestedOperations","getNextAccountHistoryPageParam","lastPage","oldest","resolveAccountHistoryLimit","pageParam","limit","allowedOperations","low","high","operation","getHiveAssetTransactionsQueryOptions","username","requestedOperations","infiniteQueryOptions","callRPC","x","pages","pageParams","page","item","parseAsset","asset"],"mappings":"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","file":"chunk-Q2ACQBL2.js","sourcesContent":["import { callRPC } from \"../../../hive-tx\";\nimport { utils } from \"../../../hive-tx\";\nimport { infiniteQueryOptions } from \"@tanstack/react-query\";\nimport { HIVE_ACCOUNT_OPERATION_GROUPS } from \"../consts\";\nimport type {\n AuthorReward,\n ClaimRewardBalance,\n HiveOperationFilter,\n HiveOperationFilterKey,\n HiveOperationFilterValue,\n HiveOperationGroup,\n HiveOperationName,\n} from \"../types\";\nimport type { HiveTransaction } from \"../types\";\nimport { parseAsset } from \"@/modules/core/utils\";\n\nconst operationOrders = utils.operations;\n\nfunction isHiveOperationName(value: string): value is HiveOperationName {\n return Object.prototype.hasOwnProperty.call(operationOrders, value);\n}\n\nexport function resolveHiveOperationFilters(filters: HiveOperationFilter): {\n filterKey: HiveOperationFilterKey;\n filterArgs: any[];\n} {\n const rawValues: HiveOperationFilterValue[] = Array.isArray(filters)\n ? filters\n : [filters];\n\n const hasAll = rawValues.includes(\"\" as HiveOperationGroup);\n\n const uniqueValues = Array.from(\n new Set(\n rawValues.filter(\n (value): value is HiveOperationFilterValue =>\n value !== undefined &&\n value !== null &&\n value !== (\"\" as HiveOperationGroup)\n )\n )\n );\n\n const filterKey: HiveOperationFilterKey =\n hasAll || uniqueValues.length === 0\n ? \"all\"\n : uniqueValues\n .map((value) => value.toString())\n .sort()\n .join(\"|\");\n\n const operationIds = new Set<number>();\n\n if (!hasAll) {\n uniqueValues.forEach((value) => {\n if (value in HIVE_ACCOUNT_OPERATION_GROUPS) {\n HIVE_ACCOUNT_OPERATION_GROUPS[value as HiveOperationGroup].forEach(\n (id) => operationIds.add(id)\n );\n return;\n }\n\n if (isHiveOperationName(value)) {\n operationIds.add(operationOrders[value]);\n }\n });\n }\n\n const filterArgs = makeBitMaskFilter(Array.from(operationIds));\n\n return {\n filterKey,\n filterArgs,\n };\n}\n\n/**\n * The filter values the caller passed, minus the \"all\" sentinel. Group aliases are\n * kept as-is: they never equal an operation name, so they simply never match.\n *\n * Used by the per-asset `select` filters so an operation a caller deliberately\n * requested is never silently dropped just because the asset filter has no opinion\n * about it. Passing no filter at all keeps the historical behaviour: the asset's own\n * allow-list decides, and nothing extra leaks in.\n */\nexport function collectRequestedOperations(\n filters: HiveOperationFilter\n): Set<string> {\n const rawValues = Array.isArray(filters) ? filters : [filters];\n return new Set(\n rawValues.filter(\n (value): value is HiveOperationFilterValue =>\n value !== undefined && value !== null && value !== (\"\" as HiveOperationGroup)\n )\n );\n}\n\n/**\n * Cursor for `condenser_api.get_account_history`.\n *\n * A page comes back in ASCENDING `num` order, so the OLDEST entry is at index 0 and\n * walking backwards means `page[0].num - 1`. Reading the LAST entry instead takes the\n * NEWEST row, which advances the window by a single operation per page (a page of 1000\n * overlaps its predecessor by 999) and, once `num` reaches 0, yields -1 — the \"newest\"\n * sentinel `initialPageParam` uses — so the walk restarts at the head of the history and\n * never terminates.\n */\nexport function getNextAccountHistoryPageParam(\n lastPage: HiveTransaction[] | undefined\n): number | undefined {\n if (!lastPage?.length) {\n return undefined;\n }\n\n const oldest = Number(lastPage[0]?.num ?? 0);\n return Number.isFinite(oldest) && oldest > 0 ? oldest - 1 : undefined;\n}\n\n/**\n * The `limit` to request for a given cursor.\n *\n * `condenser_api.get_account_history` asserts `start >= limit - 1`, because `start` is a\n * 0-based index into the account's operation list and the node walks `limit` entries back\n * from it. The cursor above is derived from `num` alone, so the last window before the\n * start of history is necessarily shorter than `limit`, and asking for the full `limit`\n * there fails the assert instead of returning the remaining rows.\n *\n * Narrowing the window to `pageParam + 1` asks for exactly what is left. The `-1`\n * sentinel (\"give me the newest\") is not an index and passes through untouched.\n */\nexport function resolveAccountHistoryLimit(\n pageParam: number,\n limit: number\n): number {\n if (!Number.isFinite(pageParam) || pageParam < 0) {\n return limit;\n }\n\n return Math.min(limit, pageParam + 1);\n}\n\nfunction makeBitMaskFilter(allowedOperations: number[]) {\n let low = 0n;\n let high = 0n;\n\n allowedOperations.forEach((operation) => {\n if (operation < 64) {\n low |= 1n << BigInt(operation);\n } else {\n high |= 1n << BigInt(operation - 64);\n }\n });\n\n return [\n low !== 0n ? low.toString() : null,\n high !== 0n ? high.toString() : null,\n ];\n}\n\nexport function getHiveAssetTransactionsQueryOptions(\n username: string | undefined,\n limit = 20,\n filters: HiveOperationFilter = []\n) {\n const { filterArgs, filterKey } = resolveHiveOperationFilters(filters);\n const requestedOperations = collectRequestedOperations(filters);\n\n return infiniteQueryOptions<HiveTransaction[]>({\n queryKey: [\"assets\", \"hive\", \"transactions\", username, limit, filterKey],\n initialPageParam: -1,\n getNextPageParam: getNextAccountHistoryPageParam,\n\n queryFn: async ({ pageParam }) => {\n const response = await callRPC(\n \"condenser_api.get_account_history\",\n [\n username,\n pageParam,\n resolveAccountHistoryLimit(Number(pageParam), limit),\n ...filterArgs,\n ]\n );\n\n return response.map(\n (x: any) =>\n ({\n num: x[0],\n type: x[1].op[0],\n timestamp: x[1].timestamp,\n trx_id: x[1].trx_id,\n ...x[1].op[1],\n }) satisfies HiveTransaction\n );\n },\n select: ({ pages, pageParams }) => ({\n pageParams,\n pages: pages.map((page) =>\n page.filter((item) => {\n switch (item.type) {\n case \"author_reward\":\n case \"comment_benefactor_reward\":\n const hivePayout = parseAsset(\n (item as AuthorReward).hive_payout\n );\n return hivePayout.amount > 0;\n case \"transfer\":\n case \"transfer_to_savings\":\n case \"transfer_to_vesting\":\n case \"recurrent_transfer\":\n return parseAsset(item.amount).symbol === \"HIVE\";\n\n case \"transfer_from_savings\" as HiveOperationName:\n // The completed withdrawal carries the same asset as the request that\n // opened it, so it needs the same guard. Without a case of its own it\n // falls to the default below, which has no symbol check.\n case \"fill_transfer_from_savings\" as HiveOperationName:\n return parseAsset((item as any).amount).symbol === \"HIVE\";\n\n case \"fill_recurrent_transfer\":\n const asset = parseAsset(item.amount);\n return [\"HIVE\"].includes(asset.symbol);\n\n case \"claim_reward_balance\":\n const rewardHive = parseAsset(\n (item as ClaimRewardBalance).reward_hive\n );\n return rewardHive.amount > 0;\n\n case \"curation_reward\":\n case \"cancel_transfer_from_savings\":\n case \"fill_order\":\n case \"limit_order_create\":\n case \"limit_order_cancel\":\n case \"fill_convert_request\":\n case \"fill_collateralized_convert_request\":\n return true;\n\n case \"limit_order_create2\" as HiveOperationName:\n return true;\n default:\n // Keep an operation the caller asked for by name. Without this the\n // filter UI advertises every operation while this switch silently\n // discards the ones it has no opinion about, so picking e.g.\n // `fill_transfer_from_savings` returns an empty list. Requests that\n // pass no filter still fall through to `false`, so the unfiltered\n // HIVE view is unchanged.\n return requestedOperations.has(item.type);\n }\n })\n ),\n }),\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/wallet/queries/get-hive-asset-transactions-query-options.ts"],"names":["operationOrders","utils_exports","isHiveOperationName","value","resolveHiveOperationFilters","filters","rawValues","hasAll","uniqueValues","filterKey","operationIds","HIVE_ACCOUNT_OPERATION_GROUPS","id","filterArgs","makeBitMaskFilter","collectRequestedOperations","getNextAccountHistoryPageParam","lastPage","oldest","resolveAccountHistoryLimit","pageParam","limit","allowedOperations","low","high","operation","getHiveAssetTransactionsQueryOptions","username","requestedOperations","infiniteQueryOptions","callRPC","x","pages","pageParams","page","item","parseAsset","asset"],"mappings":"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","file":"chunk-WCIDGHGX.js","sourcesContent":["import { callRPC } from \"../../../hive-tx\";\nimport { utils } from \"../../../hive-tx\";\nimport { infiniteQueryOptions } from \"@tanstack/react-query\";\nimport { HIVE_ACCOUNT_OPERATION_GROUPS } from \"../consts\";\nimport type {\n AuthorReward,\n ClaimRewardBalance,\n HiveOperationFilter,\n HiveOperationFilterKey,\n HiveOperationFilterValue,\n HiveOperationGroup,\n HiveOperationName,\n} from \"../types\";\nimport type { HiveTransaction } from \"../types\";\nimport { parseAsset } from \"@/modules/core/utils\";\n\nconst operationOrders = utils.operations;\n\nfunction isHiveOperationName(value: string): value is HiveOperationName {\n return Object.prototype.hasOwnProperty.call(operationOrders, value);\n}\n\nexport function resolveHiveOperationFilters(filters: HiveOperationFilter): {\n filterKey: HiveOperationFilterKey;\n filterArgs: any[];\n} {\n const rawValues: HiveOperationFilterValue[] = Array.isArray(filters)\n ? filters\n : [filters];\n\n const hasAll = rawValues.includes(\"\" as HiveOperationGroup);\n\n const uniqueValues = Array.from(\n new Set(\n rawValues.filter(\n (value): value is HiveOperationFilterValue =>\n value !== undefined &&\n value !== null &&\n value !== (\"\" as HiveOperationGroup)\n )\n )\n );\n\n const filterKey: HiveOperationFilterKey =\n hasAll || uniqueValues.length === 0\n ? \"all\"\n : uniqueValues\n .map((value) => value.toString())\n .sort()\n .join(\"|\");\n\n const operationIds = new Set<number>();\n\n if (!hasAll) {\n uniqueValues.forEach((value) => {\n if (value in HIVE_ACCOUNT_OPERATION_GROUPS) {\n HIVE_ACCOUNT_OPERATION_GROUPS[value as HiveOperationGroup].forEach(\n (id) => operationIds.add(id)\n );\n return;\n }\n\n if (isHiveOperationName(value)) {\n operationIds.add(operationOrders[value]);\n }\n });\n }\n\n const filterArgs = makeBitMaskFilter(Array.from(operationIds));\n\n return {\n filterKey,\n filterArgs,\n };\n}\n\n/**\n * The filter values the caller passed, minus the \"all\" sentinel. Group aliases are\n * kept as-is: they never equal an operation name, so they simply never match.\n *\n * Used by the per-asset `select` filters so an operation a caller deliberately\n * requested is never silently dropped just because the asset filter has no opinion\n * about it. Passing no filter at all keeps the historical behaviour: the asset's own\n * allow-list decides, and nothing extra leaks in.\n */\nexport function collectRequestedOperations(\n filters: HiveOperationFilter\n): Set<string> {\n const rawValues = Array.isArray(filters) ? filters : [filters];\n return new Set(\n rawValues.filter(\n (value): value is HiveOperationFilterValue =>\n value !== undefined && value !== null && value !== (\"\" as HiveOperationGroup)\n )\n );\n}\n\n/**\n * Cursor for `condenser_api.get_account_history`.\n *\n * A page comes back in ASCENDING `num` order, so the OLDEST entry is at index 0 and\n * walking backwards means `page[0].num - 1`. Reading the LAST entry instead takes the\n * NEWEST row, which advances the window by a single operation per page (a page of 1000\n * overlaps its predecessor by 999) and, once `num` reaches 0, yields -1 — the \"newest\"\n * sentinel `initialPageParam` uses — so the walk restarts at the head of the history and\n * never terminates.\n */\nexport function getNextAccountHistoryPageParam(\n lastPage: HiveTransaction[] | undefined\n): number | undefined {\n if (!lastPage?.length) {\n return undefined;\n }\n\n const oldest = Number(lastPage[0]?.num ?? 0);\n return Number.isFinite(oldest) && oldest > 0 ? oldest - 1 : undefined;\n}\n\n/**\n * The `limit` to request for a given cursor.\n *\n * `condenser_api.get_account_history` asserts `start >= limit - 1`, because `start` is a\n * 0-based index into the account's operation list and the node walks `limit` entries back\n * from it. The cursor above is derived from `num` alone, so the last window before the\n * start of history is necessarily shorter than `limit`, and asking for the full `limit`\n * there fails the assert instead of returning the remaining rows.\n *\n * Narrowing the window to `pageParam + 1` asks for exactly what is left. The `-1`\n * sentinel (\"give me the newest\") is not an index and passes through untouched.\n */\nexport function resolveAccountHistoryLimit(\n pageParam: number,\n limit: number\n): number {\n if (!Number.isFinite(pageParam) || pageParam < 0) {\n return limit;\n }\n\n return Math.min(limit, pageParam + 1);\n}\n\nfunction makeBitMaskFilter(allowedOperations: number[]) {\n let low = 0n;\n let high = 0n;\n\n allowedOperations.forEach((operation) => {\n if (operation < 64) {\n low |= 1n << BigInt(operation);\n } else {\n high |= 1n << BigInt(operation - 64);\n }\n });\n\n return [\n low !== 0n ? low.toString() : null,\n high !== 0n ? high.toString() : null,\n ];\n}\n\nexport function getHiveAssetTransactionsQueryOptions(\n username: string | undefined,\n limit = 20,\n filters: HiveOperationFilter = []\n) {\n const { filterArgs, filterKey } = resolveHiveOperationFilters(filters);\n const requestedOperations = collectRequestedOperations(filters);\n\n return infiniteQueryOptions<HiveTransaction[]>({\n queryKey: [\"assets\", \"hive\", \"transactions\", username, limit, filterKey],\n initialPageParam: -1,\n getNextPageParam: getNextAccountHistoryPageParam,\n\n queryFn: async ({ pageParam }) => {\n const response = await callRPC(\n \"condenser_api.get_account_history\",\n [\n username,\n pageParam,\n resolveAccountHistoryLimit(Number(pageParam), limit),\n ...filterArgs,\n ]\n );\n\n return response.map(\n (x: any) =>\n ({\n num: x[0],\n type: x[1].op[0],\n timestamp: x[1].timestamp,\n trx_id: x[1].trx_id,\n ...x[1].op[1],\n }) satisfies HiveTransaction\n );\n },\n select: ({ pages, pageParams }) => ({\n pageParams,\n pages: pages.map((page) =>\n page.filter((item) => {\n switch (item.type) {\n case \"author_reward\":\n case \"comment_benefactor_reward\":\n const hivePayout = parseAsset(\n (item as AuthorReward).hive_payout\n );\n return hivePayout.amount > 0;\n case \"transfer\":\n case \"transfer_to_savings\":\n case \"transfer_to_vesting\":\n case \"recurrent_transfer\":\n return parseAsset(item.amount).symbol === \"HIVE\";\n\n case \"transfer_from_savings\" as HiveOperationName:\n // The completed withdrawal carries the same asset as the request that\n // opened it, so it needs the same guard. Without a case of its own it\n // falls to the default below, which has no symbol check.\n case \"fill_transfer_from_savings\" as HiveOperationName:\n return parseAsset((item as any).amount).symbol === \"HIVE\";\n\n case \"fill_recurrent_transfer\":\n const asset = parseAsset(item.amount);\n return [\"HIVE\"].includes(asset.symbol);\n\n case \"claim_reward_balance\":\n const rewardHive = parseAsset(\n (item as ClaimRewardBalance).reward_hive\n );\n return rewardHive.amount > 0;\n\n case \"curation_reward\":\n case \"cancel_transfer_from_savings\":\n case \"fill_order\":\n case \"limit_order_create\":\n case \"limit_order_cancel\":\n case \"fill_convert_request\":\n case \"fill_collateralized_convert_request\":\n return true;\n\n case \"limit_order_create2\" as HiveOperationName:\n return true;\n default:\n // Keep an operation the caller asked for by name. Without this the\n // filter UI advertises every operation while this switch silently\n // discards the ones it has no opinion about, so picking e.g.\n // `fill_transfer_from_savings` returns an empty list. Requests that\n // pass no filter still fall through to `false`, so the unfiltered\n // HIVE view is unchanged.\n return requestedOperations.has(item.type);\n }\n })\n ),\n }),\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {b}from'./chunk-J2HM6MWA.js';import {a}from'./chunk-WTHEQ3M5.js';function d(o,r,n){return b(a.polls.vote(),o??"",({pollTrxId:s,choices:a})=>{if(!o)throw new Error("[SDK][Polls] Cannot vote without an authenticated username");return [["custom_json",{id:"polls",required_auths:[],required_posting_auths:[o],json:JSON.stringify({poll:s,action:"vote",choices:a})}]]},void 0,r,"posting",{broadcastMode:n??"async"})}export{d as a};//# sourceMappingURL=chunk-IEAAYAFA.js.map
2
- //# sourceMappingURL=chunk-IEAAYAFA.js.map
1
+ import {b}from'./chunk-PFVWZI3W.js';import {a}from'./chunk-WTHEQ3M5.js';function d(o,r,n){return b(a.polls.vote(),o??"",({pollTrxId:s,choices:a})=>{if(!o)throw new Error("[SDK][Polls] Cannot vote without an authenticated username");return [["custom_json",{id:"polls",required_auths:[],required_posting_auths:[o],json:JSON.stringify({poll:s,action:"vote",choices:a})}]]},void 0,r,"posting",{broadcastMode:n??"async"})}export{d as a};//# sourceMappingURL=chunk-WDWR4RZ6.js.map
2
+ //# sourceMappingURL=chunk-WDWR4RZ6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modules/polls/mutations/use-poll-vote.ts"],"names":["usePollVote","username","auth","broadcastMode","useBroadcastMutation","QueryKeys","pollTrxId","choices"],"mappings":"wEAQO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACLC,CAAAA,CAAU,KAAA,CAAM,IAAA,EAAK,CACrBJ,CAAAA,EAAY,GACZ,CAAC,CAAE,SAAA,CAAAK,CAAAA,CAAW,OAAA,CAAAC,CAAQ,CAAA,GAAM,CAC1B,GAAI,CAACN,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,4DAA4D,CAAA,CAE9E,OAAO,CACL,CACE,aAAA,CACA,CACE,EAAA,CAAI,OAAA,CACJ,cAAA,CAAgB,EAAC,CACjB,uBAAwB,CAACA,CAAQ,CAAA,CACjC,IAAA,CAAM,IAAA,CAAK,SAAA,CAAU,CACnB,IAAA,CAAMK,EACN,MAAA,CAAQ,MAAA,CACR,OAAA,CAAAC,CACF,CAAC,CACH,CACF,CACF,CACF,CAAA,CACA,MAAA,CACAL,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-IEAAYAFA.js","sourcesContent":["import { QueryKeys, useBroadcastMutation } from \"@/modules/core\";\nimport type { BroadcastMode, AuthContextV2 } from \"@/modules/core\";\n\nexport interface PollVotePayload {\n pollTrxId: string;\n choices: number[];\n}\n\nexport function usePollVote(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<PollVotePayload>(\n QueryKeys.polls.vote(),\n username ?? \"\",\n ({ pollTrxId, choices }) => {\n if (!username) {\n throw new Error(\"[SDK][Polls] Cannot vote without an authenticated username\");\n }\n return [\n [\n \"custom_json\",\n {\n id: \"polls\",\n required_auths: [],\n required_posting_auths: [username],\n json: JSON.stringify({\n poll: pollTrxId,\n action: \"vote\",\n choices,\n }),\n },\n ],\n ];\n },\n undefined,\n auth,\n \"posting\",\n { broadcastMode: broadcastMode ?? \"async\" }\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/modules/polls/mutations/use-poll-vote.ts"],"names":["usePollVote","username","auth","broadcastMode","useBroadcastMutation","QueryKeys","pollTrxId","choices"],"mappings":"wEAQO,SAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA,CACA,OAAOC,CAAAA,CACLC,CAAAA,CAAU,KAAA,CAAM,IAAA,EAAK,CACrBJ,CAAAA,EAAY,GACZ,CAAC,CAAE,SAAA,CAAAK,CAAAA,CAAW,OAAA,CAAAC,CAAQ,CAAA,GAAM,CAC1B,GAAI,CAACN,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,4DAA4D,CAAA,CAE9E,OAAO,CACL,CACE,aAAA,CACA,CACE,EAAA,CAAI,OAAA,CACJ,cAAA,CAAgB,EAAC,CACjB,uBAAwB,CAACA,CAAQ,CAAA,CACjC,IAAA,CAAM,IAAA,CAAK,SAAA,CAAU,CACnB,IAAA,CAAMK,EACN,MAAA,CAAQ,MAAA,CACR,OAAA,CAAAC,CACF,CAAC,CACH,CACF,CACF,CACF,CAAA,CACA,MAAA,CACAL,CAAAA,CACA,SAAA,CACA,CAAE,aAAA,CAAeC,CAAAA,EAAiB,OAAQ,CAC5C,CACF","file":"chunk-WDWR4RZ6.js","sourcesContent":["import { QueryKeys, useBroadcastMutation } from \"@/modules/core\";\nimport type { BroadcastMode, AuthContextV2 } from \"@/modules/core\";\n\nexport interface PollVotePayload {\n pollTrxId: string;\n choices: number[];\n}\n\nexport function usePollVote(\n username: string | undefined,\n auth?: AuthContextV2,\n broadcastMode?: BroadcastMode\n) {\n return useBroadcastMutation<PollVotePayload>(\n QueryKeys.polls.vote(),\n username ?? \"\",\n ({ pollTrxId, choices }) => {\n if (!username) {\n throw new Error(\"[SDK][Polls] Cannot vote without an authenticated username\");\n }\n return [\n [\n \"custom_json\",\n {\n id: \"polls\",\n required_auths: [],\n required_posting_auths: [username],\n json: JSON.stringify({\n poll: pollTrxId,\n action: \"vote\",\n choices,\n }),\n },\n ],\n ];\n },\n undefined,\n auth,\n \"posting\",\n { broadcastMode: broadcastMode ?? \"async\" }\n );\n}\n"]}