@growae/reactive-react 0.0.1 → 0.0.3

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 (420) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +92 -0
  3. package/dist/esm/context.js +10 -0
  4. package/dist/esm/context.js.map +1 -0
  5. package/dist/esm/errors/base.js +14 -0
  6. package/dist/esm/errors/base.js.map +1 -0
  7. package/dist/esm/errors/context.js +13 -0
  8. package/dist/esm/errors/context.js.map +1 -0
  9. package/dist/esm/errors/index.js +3 -0
  10. package/dist/esm/errors/index.js.map +1 -0
  11. package/dist/esm/exports/index.js +40 -0
  12. package/dist/esm/exports/index.js.map +1 -0
  13. package/dist/esm/exports/query.js +5 -0
  14. package/dist/esm/exports/query.js.map +1 -0
  15. package/dist/esm/hooks/index.js +71 -0
  16. package/dist/esm/hooks/index.js.map +1 -0
  17. package/dist/esm/hooks/useAccount.js +30 -0
  18. package/dist/esm/hooks/useAccount.js.map +1 -0
  19. package/dist/esm/hooks/useActiveAccount.js +21 -0
  20. package/dist/esm/hooks/useActiveAccount.js.map +1 -0
  21. package/dist/esm/hooks/useBalance.js +29 -0
  22. package/dist/esm/hooks/useBalance.js.map +1 -0
  23. package/dist/esm/hooks/useBlock.js +25 -0
  24. package/dist/esm/hooks/useBlock.js.map +1 -0
  25. package/dist/esm/hooks/useBuildTransaction.js +18 -0
  26. package/dist/esm/hooks/useBuildTransaction.js.map +1 -0
  27. package/dist/esm/hooks/useCallContract.js +18 -0
  28. package/dist/esm/hooks/useCallContract.js.map +1 -0
  29. package/dist/esm/hooks/useChannelDeposit.js +18 -0
  30. package/dist/esm/hooks/useChannelDeposit.js.map +1 -0
  31. package/dist/esm/hooks/useClaimName.js +18 -0
  32. package/dist/esm/hooks/useClaimName.js.map +1 -0
  33. package/dist/esm/hooks/useCloseChannel.js +18 -0
  34. package/dist/esm/hooks/useCloseChannel.js.map +1 -0
  35. package/dist/esm/hooks/useCompileContract.js +18 -0
  36. package/dist/esm/hooks/useCompileContract.js.map +1 -0
  37. package/dist/esm/hooks/useConfig.js +11 -0
  38. package/dist/esm/hooks/useConfig.js.map +1 -0
  39. package/dist/esm/hooks/useConnect.js +27 -0
  40. package/dist/esm/hooks/useConnect.js.map +1 -0
  41. package/dist/esm/hooks/useConnection.js +9 -0
  42. package/dist/esm/hooks/useConnection.js.map +1 -0
  43. package/dist/esm/hooks/useConnections.js +9 -0
  44. package/dist/esm/hooks/useConnections.js.map +1 -0
  45. package/dist/esm/hooks/useConnectorClient.js +23 -0
  46. package/dist/esm/hooks/useConnectorClient.js.map +1 -0
  47. package/dist/esm/hooks/useConnectors.js +9 -0
  48. package/dist/esm/hooks/useConnectors.js.map +1 -0
  49. package/dist/esm/hooks/useContractBytecode.js +24 -0
  50. package/dist/esm/hooks/useContractBytecode.js.map +1 -0
  51. package/dist/esm/hooks/useContractEvents.js +26 -0
  52. package/dist/esm/hooks/useContractEvents.js.map +1 -0
  53. package/dist/esm/hooks/useDeployContract.js +18 -0
  54. package/dist/esm/hooks/useDeployContract.js.map +1 -0
  55. package/dist/esm/hooks/useDisconnect.js +18 -0
  56. package/dist/esm/hooks/useDisconnect.js.map +1 -0
  57. package/dist/esm/hooks/useEstimateGas.js +26 -0
  58. package/dist/esm/hooks/useEstimateGas.js.map +1 -0
  59. package/dist/esm/hooks/useHeight.js +22 -0
  60. package/dist/esm/hooks/useHeight.js.map +1 -0
  61. package/dist/esm/hooks/useMicroBlock.js +24 -0
  62. package/dist/esm/hooks/useMicroBlock.js.map +1 -0
  63. package/dist/esm/hooks/useNameEntry.js +24 -0
  64. package/dist/esm/hooks/useNameEntry.js.map +1 -0
  65. package/dist/esm/hooks/useNetworkId.js +9 -0
  66. package/dist/esm/hooks/useNetworkId.js.map +1 -0
  67. package/dist/esm/hooks/useNetworks.js +8 -0
  68. package/dist/esm/hooks/useNetworks.js.map +1 -0
  69. package/dist/esm/hooks/useNodeClient.js +9 -0
  70. package/dist/esm/hooks/useNodeClient.js.map +1 -0
  71. package/dist/esm/hooks/useOpenChannel.js +18 -0
  72. package/dist/esm/hooks/useOpenChannel.js.map +1 -0
  73. package/dist/esm/hooks/useOracleQueries.js +24 -0
  74. package/dist/esm/hooks/useOracleQueries.js.map +1 -0
  75. package/dist/esm/hooks/useOracleState.js +24 -0
  76. package/dist/esm/hooks/useOracleState.js.map +1 -0
  77. package/dist/esm/hooks/usePayForTransaction.js +18 -0
  78. package/dist/esm/hooks/usePayForTransaction.js.map +1 -0
  79. package/dist/esm/hooks/usePreclaimName.js +18 -0
  80. package/dist/esm/hooks/usePreclaimName.js.map +1 -0
  81. package/dist/esm/hooks/useQueryOracle.js +18 -0
  82. package/dist/esm/hooks/useQueryOracle.js.map +1 -0
  83. package/dist/esm/hooks/useReadContract.js +27 -0
  84. package/dist/esm/hooks/useReadContract.js.map +1 -0
  85. package/dist/esm/hooks/useReadContracts.js +22 -0
  86. package/dist/esm/hooks/useReadContracts.js.map +1 -0
  87. package/dist/esm/hooks/useReconnect.js +18 -0
  88. package/dist/esm/hooks/useReconnect.js.map +1 -0
  89. package/dist/esm/hooks/useRegisterOracle.js +18 -0
  90. package/dist/esm/hooks/useRegisterOracle.js.map +1 -0
  91. package/dist/esm/hooks/useResolveName.js +25 -0
  92. package/dist/esm/hooks/useResolveName.js.map +1 -0
  93. package/dist/esm/hooks/useRespondToQuery.js +18 -0
  94. package/dist/esm/hooks/useRespondToQuery.js.map +1 -0
  95. package/dist/esm/hooks/useRevokeName.js +18 -0
  96. package/dist/esm/hooks/useRevokeName.js.map +1 -0
  97. package/dist/esm/hooks/useSendTransaction.js +18 -0
  98. package/dist/esm/hooks/useSendTransaction.js.map +1 -0
  99. package/dist/esm/hooks/useSignDelegation.js +18 -0
  100. package/dist/esm/hooks/useSignDelegation.js.map +1 -0
  101. package/dist/esm/hooks/useSignMessage.js +18 -0
  102. package/dist/esm/hooks/useSignMessage.js.map +1 -0
  103. package/dist/esm/hooks/useSignTransaction.js +18 -0
  104. package/dist/esm/hooks/useSignTransaction.js.map +1 -0
  105. package/dist/esm/hooks/useSignTypedData.js +18 -0
  106. package/dist/esm/hooks/useSignTypedData.js.map +1 -0
  107. package/dist/esm/hooks/useSimulateContract.js +27 -0
  108. package/dist/esm/hooks/useSimulateContract.js.map +1 -0
  109. package/dist/esm/hooks/useSpend.js +18 -0
  110. package/dist/esm/hooks/useSpend.js.map +1 -0
  111. package/dist/esm/hooks/useSwitchActiveAccount.js +20 -0
  112. package/dist/esm/hooks/useSwitchActiveAccount.js.map +1 -0
  113. package/dist/esm/hooks/useSwitchNetwork.js +20 -0
  114. package/dist/esm/hooks/useSwitchNetwork.js.map +1 -0
  115. package/dist/esm/hooks/useTransaction.js +24 -0
  116. package/dist/esm/hooks/useTransaction.js.map +1 -0
  117. package/dist/esm/hooks/useTransactionCount.js +24 -0
  118. package/dist/esm/hooks/useTransactionCount.js.map +1 -0
  119. package/dist/esm/hooks/useTransferFunds.js +18 -0
  120. package/dist/esm/hooks/useTransferFunds.js.map +1 -0
  121. package/dist/esm/hooks/useTransferName.js +18 -0
  122. package/dist/esm/hooks/useTransferName.js.map +1 -0
  123. package/dist/esm/hooks/useUpdateName.js +18 -0
  124. package/dist/esm/hooks/useUpdateName.js.map +1 -0
  125. package/dist/esm/hooks/useVerifyMessage.js +21 -0
  126. package/dist/esm/hooks/useVerifyMessage.js.map +1 -0
  127. package/dist/esm/hooks/useVerifyTypedData.js +21 -0
  128. package/dist/esm/hooks/useVerifyTypedData.js.map +1 -0
  129. package/dist/esm/hooks/useWaitForTransaction.js +24 -0
  130. package/dist/esm/hooks/useWaitForTransaction.js.map +1 -0
  131. package/dist/esm/hooks/useWaitForTransactionConfirm.js +24 -0
  132. package/dist/esm/hooks/useWaitForTransactionConfirm.js.map +1 -0
  133. package/dist/esm/hooks/useWatchConnection.js +20 -0
  134. package/dist/esm/hooks/useWatchConnection.js.map +1 -0
  135. package/dist/esm/hooks/useWatchConnectors.js +20 -0
  136. package/dist/esm/hooks/useWatchConnectors.js.map +1 -0
  137. package/dist/esm/hooks/useWatchHeight.js +25 -0
  138. package/dist/esm/hooks/useWatchHeight.js.map +1 -0
  139. package/dist/esm/hydrate.js +26 -0
  140. package/dist/esm/hydrate.js.map +1 -0
  141. package/dist/esm/types/properties.js +2 -0
  142. package/dist/esm/types/properties.js.map +1 -0
  143. package/dist/esm/utils/query.js +13 -0
  144. package/dist/esm/utils/query.js.map +1 -0
  145. package/dist/tsconfig.build.tsbuildinfo +1 -0
  146. package/dist/types/context.d.ts +9 -0
  147. package/dist/types/context.d.ts.map +1 -0
  148. package/dist/types/errors/base.d.ts +8 -0
  149. package/dist/types/errors/base.d.ts.map +1 -0
  150. package/dist/types/errors/context.d.ts +9 -0
  151. package/dist/types/errors/context.d.ts.map +1 -0
  152. package/dist/types/errors/index.d.ts +3 -0
  153. package/dist/types/errors/index.d.ts.map +1 -0
  154. package/dist/types/exports/index.d.ts +8 -0
  155. package/dist/types/exports/index.d.ts.map +1 -0
  156. package/dist/types/exports/query.d.ts +3 -0
  157. package/dist/types/exports/query.d.ts.map +1 -0
  158. package/dist/types/hooks/index.d.ts +62 -0
  159. package/dist/types/hooks/index.d.ts.map +1 -0
  160. package/dist/types/hooks/useAccount.d.ts +11 -0
  161. package/dist/types/hooks/useAccount.d.ts.map +1 -0
  162. package/dist/types/hooks/useActiveAccount.d.ts +6 -0
  163. package/dist/types/hooks/useActiveAccount.d.ts.map +1 -0
  164. package/dist/types/hooks/useBalance.d.ts +11 -0
  165. package/dist/types/hooks/useBalance.d.ts.map +1 -0
  166. package/dist/types/hooks/useBlock.d.ts +10 -0
  167. package/dist/types/hooks/useBlock.d.ts.map +1 -0
  168. package/dist/types/hooks/useBuildTransaction.d.ts +16 -0
  169. package/dist/types/hooks/useBuildTransaction.d.ts.map +1 -0
  170. package/dist/types/hooks/useCallContract.d.ts +16 -0
  171. package/dist/types/hooks/useCallContract.d.ts.map +1 -0
  172. package/dist/types/hooks/useChannelDeposit.d.ts +16 -0
  173. package/dist/types/hooks/useChannelDeposit.d.ts.map +1 -0
  174. package/dist/types/hooks/useClaimName.d.ts +16 -0
  175. package/dist/types/hooks/useClaimName.d.ts.map +1 -0
  176. package/dist/types/hooks/useCloseChannel.d.ts +16 -0
  177. package/dist/types/hooks/useCloseChannel.d.ts.map +1 -0
  178. package/dist/types/hooks/useCompileContract.d.ts +16 -0
  179. package/dist/types/hooks/useCompileContract.d.ts.map +1 -0
  180. package/dist/types/hooks/useConfig.d.ts +6 -0
  181. package/dist/types/hooks/useConfig.d.ts.map +1 -0
  182. package/dist/types/hooks/useConnect.d.ts +19 -0
  183. package/dist/types/hooks/useConnect.d.ts.map +1 -0
  184. package/dist/types/hooks/useConnection.d.ts +6 -0
  185. package/dist/types/hooks/useConnection.d.ts.map +1 -0
  186. package/dist/types/hooks/useConnections.d.ts +6 -0
  187. package/dist/types/hooks/useConnections.d.ts.map +1 -0
  188. package/dist/types/hooks/useConnectorClient.d.ts +8 -0
  189. package/dist/types/hooks/useConnectorClient.d.ts.map +1 -0
  190. package/dist/types/hooks/useConnectors.d.ts +6 -0
  191. package/dist/types/hooks/useConnectors.d.ts.map +1 -0
  192. package/dist/types/hooks/useContractBytecode.d.ts +10 -0
  193. package/dist/types/hooks/useContractBytecode.d.ts.map +1 -0
  194. package/dist/types/hooks/useContractEvents.d.ts +10 -0
  195. package/dist/types/hooks/useContractEvents.d.ts.map +1 -0
  196. package/dist/types/hooks/useDeployContract.d.ts +16 -0
  197. package/dist/types/hooks/useDeployContract.d.ts.map +1 -0
  198. package/dist/types/hooks/useDisconnect.d.ts +16 -0
  199. package/dist/types/hooks/useDisconnect.d.ts.map +1 -0
  200. package/dist/types/hooks/useEstimateGas.d.ts +10 -0
  201. package/dist/types/hooks/useEstimateGas.d.ts.map +1 -0
  202. package/dist/types/hooks/useHeight.d.ts +10 -0
  203. package/dist/types/hooks/useHeight.d.ts.map +1 -0
  204. package/dist/types/hooks/useMicroBlock.d.ts +10 -0
  205. package/dist/types/hooks/useMicroBlock.d.ts.map +1 -0
  206. package/dist/types/hooks/useNameEntry.d.ts +10 -0
  207. package/dist/types/hooks/useNameEntry.d.ts.map +1 -0
  208. package/dist/types/hooks/useNetworkId.d.ts +6 -0
  209. package/dist/types/hooks/useNetworkId.d.ts.map +1 -0
  210. package/dist/types/hooks/useNetworks.d.ts +6 -0
  211. package/dist/types/hooks/useNetworks.d.ts.map +1 -0
  212. package/dist/types/hooks/useNodeClient.d.ts +7 -0
  213. package/dist/types/hooks/useNodeClient.d.ts.map +1 -0
  214. package/dist/types/hooks/useOpenChannel.d.ts +16 -0
  215. package/dist/types/hooks/useOpenChannel.d.ts.map +1 -0
  216. package/dist/types/hooks/useOracleQueries.d.ts +10 -0
  217. package/dist/types/hooks/useOracleQueries.d.ts.map +1 -0
  218. package/dist/types/hooks/useOracleState.d.ts +10 -0
  219. package/dist/types/hooks/useOracleState.d.ts.map +1 -0
  220. package/dist/types/hooks/usePayForTransaction.d.ts +16 -0
  221. package/dist/types/hooks/usePayForTransaction.d.ts.map +1 -0
  222. package/dist/types/hooks/usePreclaimName.d.ts +16 -0
  223. package/dist/types/hooks/usePreclaimName.d.ts.map +1 -0
  224. package/dist/types/hooks/useQueryOracle.d.ts +16 -0
  225. package/dist/types/hooks/useQueryOracle.d.ts.map +1 -0
  226. package/dist/types/hooks/useReadContract.d.ts +10 -0
  227. package/dist/types/hooks/useReadContract.d.ts.map +1 -0
  228. package/dist/types/hooks/useReadContracts.d.ts +10 -0
  229. package/dist/types/hooks/useReadContracts.d.ts.map +1 -0
  230. package/dist/types/hooks/useReconnect.d.ts +16 -0
  231. package/dist/types/hooks/useReconnect.d.ts.map +1 -0
  232. package/dist/types/hooks/useRegisterOracle.d.ts +16 -0
  233. package/dist/types/hooks/useRegisterOracle.d.ts.map +1 -0
  234. package/dist/types/hooks/useResolveName.d.ts +10 -0
  235. package/dist/types/hooks/useResolveName.d.ts.map +1 -0
  236. package/dist/types/hooks/useRespondToQuery.d.ts +16 -0
  237. package/dist/types/hooks/useRespondToQuery.d.ts.map +1 -0
  238. package/dist/types/hooks/useRevokeName.d.ts +16 -0
  239. package/dist/types/hooks/useRevokeName.d.ts.map +1 -0
  240. package/dist/types/hooks/useSendTransaction.d.ts +16 -0
  241. package/dist/types/hooks/useSendTransaction.d.ts.map +1 -0
  242. package/dist/types/hooks/useSignDelegation.d.ts +16 -0
  243. package/dist/types/hooks/useSignDelegation.d.ts.map +1 -0
  244. package/dist/types/hooks/useSignMessage.d.ts +16 -0
  245. package/dist/types/hooks/useSignMessage.d.ts.map +1 -0
  246. package/dist/types/hooks/useSignTransaction.d.ts +16 -0
  247. package/dist/types/hooks/useSignTransaction.d.ts.map +1 -0
  248. package/dist/types/hooks/useSignTypedData.d.ts +16 -0
  249. package/dist/types/hooks/useSignTypedData.d.ts.map +1 -0
  250. package/dist/types/hooks/useSimulateContract.d.ts +10 -0
  251. package/dist/types/hooks/useSimulateContract.d.ts.map +1 -0
  252. package/dist/types/hooks/useSpend.d.ts +16 -0
  253. package/dist/types/hooks/useSpend.d.ts.map +1 -0
  254. package/dist/types/hooks/useSwitchActiveAccount.d.ts +10 -0
  255. package/dist/types/hooks/useSwitchActiveAccount.d.ts.map +1 -0
  256. package/dist/types/hooks/useSwitchNetwork.d.ts +18 -0
  257. package/dist/types/hooks/useSwitchNetwork.d.ts.map +1 -0
  258. package/dist/types/hooks/useTransaction.d.ts +10 -0
  259. package/dist/types/hooks/useTransaction.d.ts.map +1 -0
  260. package/dist/types/hooks/useTransactionCount.d.ts +10 -0
  261. package/dist/types/hooks/useTransactionCount.d.ts.map +1 -0
  262. package/dist/types/hooks/useTransferFunds.d.ts +16 -0
  263. package/dist/types/hooks/useTransferFunds.d.ts.map +1 -0
  264. package/dist/types/hooks/useTransferName.d.ts +16 -0
  265. package/dist/types/hooks/useTransferName.d.ts.map +1 -0
  266. package/dist/types/hooks/useUpdateName.d.ts +16 -0
  267. package/dist/types/hooks/useUpdateName.d.ts.map +1 -0
  268. package/dist/types/hooks/useVerifyMessage.d.ts +10 -0
  269. package/dist/types/hooks/useVerifyMessage.d.ts.map +1 -0
  270. package/dist/types/hooks/useVerifyTypedData.d.ts +10 -0
  271. package/dist/types/hooks/useVerifyTypedData.d.ts.map +1 -0
  272. package/dist/types/hooks/useWaitForTransaction.d.ts +10 -0
  273. package/dist/types/hooks/useWaitForTransaction.d.ts.map +1 -0
  274. package/dist/types/hooks/useWaitForTransactionConfirm.d.ts +10 -0
  275. package/dist/types/hooks/useWaitForTransactionConfirm.d.ts.map +1 -0
  276. package/dist/types/hooks/useWatchConnection.d.ts +9 -0
  277. package/dist/types/hooks/useWatchConnection.d.ts.map +1 -0
  278. package/dist/types/hooks/useWatchConnectors.d.ts +9 -0
  279. package/dist/types/hooks/useWatchConnectors.d.ts.map +1 -0
  280. package/dist/types/hooks/useWatchHeight.d.ts +11 -0
  281. package/dist/types/hooks/useWatchHeight.d.ts.map +1 -0
  282. package/dist/types/hydrate.d.ts +9 -0
  283. package/dist/types/hydrate.d.ts.map +1 -0
  284. package/dist/types/types/properties.d.ts +8 -0
  285. package/dist/types/types/properties.d.ts.map +1 -0
  286. package/dist/types/utils/query.d.ts +18 -0
  287. package/dist/types/utils/query.d.ts.map +1 -0
  288. package/package.json +5 -2
  289. package/src/context.test.ts +4 -4
  290. package/src/context.ts +2 -2
  291. package/src/errors/context.ts +1 -1
  292. package/src/errors/index.ts +2 -2
  293. package/src/exports/index.ts +11 -13
  294. package/src/exports/query.ts +1 -1
  295. package/src/hooks/index.ts +305 -52
  296. package/src/hooks/useAccount.test.ts +2 -2
  297. package/src/hooks/useAccount.ts +27 -17
  298. package/src/hooks/useActiveAccount.test.ts +28 -0
  299. package/src/hooks/useActiveAccount.ts +40 -0
  300. package/src/hooks/useBalance.test.ts +8 -12
  301. package/src/hooks/useBalance.ts +26 -16
  302. package/src/hooks/useBlock.test.ts +2 -2
  303. package/src/hooks/useBlock.ts +18 -14
  304. package/src/hooks/useBuildTransaction.test.ts +42 -0
  305. package/src/hooks/useBuildTransaction.ts +65 -0
  306. package/src/hooks/useCallContract.test.ts +2 -2
  307. package/src/hooks/useCallContract.ts +22 -11
  308. package/src/hooks/useChannelDeposit.test.ts +2 -2
  309. package/src/hooks/useChannelDeposit.ts +21 -10
  310. package/src/hooks/useClaimName.test.ts +2 -2
  311. package/src/hooks/useClaimName.ts +20 -10
  312. package/src/hooks/useCloseChannel.test.ts +2 -2
  313. package/src/hooks/useCloseChannel.ts +21 -10
  314. package/src/hooks/useCompileContract.test.ts +42 -0
  315. package/src/hooks/useCompileContract.ts +65 -0
  316. package/src/hooks/useConfig.test.ts +5 -5
  317. package/src/hooks/useConfig.ts +3 -3
  318. package/src/hooks/useConnect.test.ts +6 -6
  319. package/src/hooks/useConnect.ts +25 -13
  320. package/src/hooks/useConnection.test.ts +2 -2
  321. package/src/hooks/useConnection.ts +2 -2
  322. package/src/hooks/useConnections.test.ts +2 -2
  323. package/src/hooks/useConnections.ts +2 -2
  324. package/src/hooks/useConnectorClient.test.ts +2 -2
  325. package/src/hooks/useConnectorClient.ts +19 -20
  326. package/src/hooks/useConnectors.test.ts +2 -2
  327. package/src/hooks/useConnectors.ts +2 -2
  328. package/src/hooks/useContractBytecode.test.ts +2 -2
  329. package/src/hooks/useContractBytecode.ts +18 -14
  330. package/src/hooks/useContractEvents.test.ts +2 -2
  331. package/src/hooks/useContractEvents.ts +18 -14
  332. package/src/hooks/useDeployContract.test.ts +2 -2
  333. package/src/hooks/useDeployContract.ts +22 -11
  334. package/src/hooks/useDisconnect.test.ts +2 -2
  335. package/src/hooks/useDisconnect.ts +22 -11
  336. package/src/hooks/useEstimateGas.test.ts +2 -2
  337. package/src/hooks/useEstimateGas.ts +21 -15
  338. package/src/hooks/useHeight.test.ts +2 -2
  339. package/src/hooks/useHeight.ts +15 -11
  340. package/src/hooks/useMicroBlock.test.ts +45 -0
  341. package/src/hooks/useMicroBlock.ts +45 -0
  342. package/src/hooks/useNameEntry.test.ts +45 -0
  343. package/src/hooks/useNameEntry.ts +45 -0
  344. package/src/hooks/useNetworkId.test.ts +6 -6
  345. package/src/hooks/useNetworkId.ts +2 -2
  346. package/src/hooks/useNetworks.test.ts +2 -2
  347. package/src/hooks/useNetworks.ts +3 -6
  348. package/src/hooks/useNodeClient.test.ts +2 -2
  349. package/src/hooks/useNodeClient.ts +2 -2
  350. package/src/hooks/useOpenChannel.test.ts +2 -2
  351. package/src/hooks/useOpenChannel.ts +21 -10
  352. package/src/hooks/useOracleQueries.test.ts +2 -2
  353. package/src/hooks/useOracleQueries.ts +16 -12
  354. package/src/hooks/useOracleState.test.ts +2 -2
  355. package/src/hooks/useOracleState.ts +16 -12
  356. package/src/hooks/usePayForTransaction.test.ts +2 -2
  357. package/src/hooks/usePayForTransaction.ts +23 -11
  358. package/src/hooks/usePreclaimName.test.ts +2 -2
  359. package/src/hooks/usePreclaimName.ts +21 -10
  360. package/src/hooks/useQueryOracle.test.ts +2 -2
  361. package/src/hooks/useQueryOracle.ts +21 -10
  362. package/src/hooks/useReadContract.test.ts +2 -2
  363. package/src/hooks/useReadContract.ts +20 -15
  364. package/src/hooks/useReadContracts.test.ts +2 -2
  365. package/src/hooks/useReadContracts.ts +15 -11
  366. package/src/hooks/useReconnect.test.ts +2 -2
  367. package/src/hooks/useReconnect.ts +21 -11
  368. package/src/hooks/useRegisterOracle.test.ts +2 -2
  369. package/src/hooks/useRegisterOracle.ts +21 -10
  370. package/src/hooks/useResolveName.test.ts +2 -2
  371. package/src/hooks/useResolveName.ts +17 -13
  372. package/src/hooks/useRespondToQuery.test.ts +2 -2
  373. package/src/hooks/useRespondToQuery.ts +21 -10
  374. package/src/hooks/useRevokeName.test.ts +2 -2
  375. package/src/hooks/useRevokeName.ts +21 -10
  376. package/src/hooks/useSendTransaction.test.ts +2 -2
  377. package/src/hooks/useSendTransaction.ts +22 -11
  378. package/src/hooks/useSignDelegation.test.ts +42 -0
  379. package/src/hooks/useSignDelegation.ts +65 -0
  380. package/src/hooks/useSignMessage.test.ts +2 -2
  381. package/src/hooks/useSignMessage.ts +22 -11
  382. package/src/hooks/useSignTransaction.test.ts +2 -2
  383. package/src/hooks/useSignTransaction.ts +22 -11
  384. package/src/hooks/useSignTypedData.test.ts +2 -2
  385. package/src/hooks/useSignTypedData.ts +22 -11
  386. package/src/hooks/useSimulateContract.test.ts +2 -2
  387. package/src/hooks/useSimulateContract.ts +20 -15
  388. package/src/hooks/useSpend.test.ts +2 -2
  389. package/src/hooks/useSpend.ts +18 -10
  390. package/src/hooks/useSwitchActiveAccount.ts +38 -0
  391. package/src/hooks/useSwitchNetwork.test.ts +2 -2
  392. package/src/hooks/useSwitchNetwork.ts +23 -12
  393. package/src/hooks/useTransaction.test.ts +2 -2
  394. package/src/hooks/useTransaction.ts +17 -13
  395. package/src/hooks/useTransactionCount.test.ts +2 -2
  396. package/src/hooks/useTransactionCount.ts +17 -13
  397. package/src/hooks/useTransferFunds.test.ts +42 -0
  398. package/src/hooks/useTransferFunds.ts +65 -0
  399. package/src/hooks/useTransferName.test.ts +2 -2
  400. package/src/hooks/useTransferName.ts +21 -10
  401. package/src/hooks/useUpdateName.test.ts +2 -2
  402. package/src/hooks/useUpdateName.ts +21 -10
  403. package/src/hooks/useVerifyMessage.test.ts +2 -2
  404. package/src/hooks/useVerifyMessage.ts +17 -12
  405. package/src/hooks/useVerifyTypedData.test.ts +2 -2
  406. package/src/hooks/useVerifyTypedData.ts +15 -12
  407. package/src/hooks/useWaitForTransaction.test.ts +2 -2
  408. package/src/hooks/useWaitForTransaction.ts +17 -13
  409. package/src/hooks/useWaitForTransactionConfirm.test.ts +45 -0
  410. package/src/hooks/useWaitForTransactionConfirm.ts +45 -0
  411. package/src/hooks/useWatchConnection.test.ts +2 -2
  412. package/src/hooks/useWatchConnection.ts +3 -3
  413. package/src/hooks/useWatchConnectors.test.ts +2 -2
  414. package/src/hooks/useWatchConnectors.ts +3 -3
  415. package/src/hooks/useWatchHeight.test.ts +2 -2
  416. package/src/hooks/useWatchHeight.ts +4 -8
  417. package/src/hydrate.ts +1 -0
  418. package/src/utils/query.ts +12 -4
  419. package/tsconfig.build.json +2 -1
  420. package/tsconfig.json +6 -4
@@ -1,69 +1,322 @@
1
1
  // Connection hooks
2
- export { useConfig, type UseConfigParameters, type UseConfigReturnType } from './useConfig.js'
3
- export { useConnect, type UseConnectParameters, type UseConnectReturnType } from './useConnect.js'
4
- export { useDisconnect, type UseDisconnectParameters, type UseDisconnectReturnType } from './useDisconnect.js'
5
- export { useReconnect, type UseReconnectParameters, type UseReconnectReturnType } from './useReconnect.js'
6
- export { useConnection, type UseConnectionParameters, type UseConnectionReturnType } from './useConnection.js'
7
- export { useConnections, type UseConnectionsParameters, type UseConnectionsReturnType } from './useConnections.js'
8
- export { useConnectors, type UseConnectorsParameters, type UseConnectorsReturnType } from './useConnectors.js'
9
- export { useNetworkId, type UseNetworkIdParameters, type UseNetworkIdReturnType } from './useNetworkId.js'
10
- export { useNetworks, type UseNetworksParameters, type UseNetworksReturnType } from './useNetworks.js'
11
- export { useSwitchNetwork, type UseSwitchNetworkParameters, type UseSwitchNetworkReturnType } from './useSwitchNetwork.js'
12
- export { useNodeClient, type UseNodeClientParameters, type UseNodeClientReturnType } from './useNodeClient.js'
13
- export { useConnectorClient, type UseConnectorClientParameters, type UseConnectorClientReturnType } from './useConnectorClient.js'
2
+ export {
3
+ useConfig,
4
+ type UseConfigParameters,
5
+ type UseConfigReturnType,
6
+ } from './useConfig'
7
+ export {
8
+ useConnect,
9
+ type UseConnectParameters,
10
+ type UseConnectReturnType,
11
+ } from './useConnect'
12
+ export {
13
+ useDisconnect,
14
+ type UseDisconnectParameters,
15
+ type UseDisconnectReturnType,
16
+ } from './useDisconnect'
17
+ export {
18
+ useReconnect,
19
+ type UseReconnectParameters,
20
+ type UseReconnectReturnType,
21
+ } from './useReconnect'
22
+ export {
23
+ useConnection,
24
+ type UseConnectionParameters,
25
+ type UseConnectionReturnType,
26
+ } from './useConnection'
27
+ export {
28
+ useActiveAccount,
29
+ type UseActiveAccountParameters,
30
+ type UseActiveAccountReturnType,
31
+ } from './useActiveAccount'
32
+ export {
33
+ useSwitchActiveAccount,
34
+ type UseSwitchActiveAccountParameters,
35
+ type UseSwitchActiveAccountReturnType,
36
+ } from './useSwitchActiveAccount'
37
+ export {
38
+ useConnections,
39
+ type UseConnectionsParameters,
40
+ type UseConnectionsReturnType,
41
+ } from './useConnections'
42
+ export {
43
+ useConnectors,
44
+ type UseConnectorsParameters,
45
+ type UseConnectorsReturnType,
46
+ } from './useConnectors'
47
+ export {
48
+ useNetworkId,
49
+ type UseNetworkIdParameters,
50
+ type UseNetworkIdReturnType,
51
+ } from './useNetworkId'
52
+ export {
53
+ useNetworks,
54
+ type UseNetworksParameters,
55
+ type UseNetworksReturnType,
56
+ } from './useNetworks'
57
+ export {
58
+ useSwitchNetwork,
59
+ type UseSwitchNetworkParameters,
60
+ type UseSwitchNetworkReturnType,
61
+ } from './useSwitchNetwork'
62
+ export {
63
+ useNodeClient,
64
+ type UseNodeClientParameters,
65
+ type UseNodeClientReturnType,
66
+ } from './useNodeClient'
67
+ export {
68
+ useConnectorClient,
69
+ type UseConnectorClientParameters,
70
+ type UseConnectorClientReturnType,
71
+ } from './useConnectorClient'
14
72
 
15
73
  // Chain read hooks
16
- export { useBalance, type UseBalanceParameters, type UseBalanceReturnType } from './useBalance.js'
17
- export { useHeight, type UseHeightParameters, type UseHeightReturnType } from './useHeight.js'
18
- export { useAccount, type UseAccountParameters, type UseAccountReturnType } from './useAccount.js'
19
- export { useBlock, type UseBlockParameters, type UseBlockReturnType } from './useBlock.js'
20
- export { useTransaction, type UseTransactionParameters, type UseTransactionReturnType } from './useTransaction.js'
21
- export { useTransactionCount, type UseTransactionCountParameters, type UseTransactionCountReturnType } from './useTransactionCount.js'
22
- export { useWaitForTransaction, type UseWaitForTransactionParameters, type UseWaitForTransactionReturnType } from './useWaitForTransaction.js'
23
- export { useContractBytecode, type UseContractBytecodeParameters, type UseContractBytecodeReturnType } from './useContractBytecode.js'
24
- export { useEstimateGas, type UseEstimateGasParameters, type UseEstimateGasReturnType } from './useEstimateGas.js'
74
+ export {
75
+ useBalance,
76
+ type UseBalanceParameters,
77
+ type UseBalanceReturnType,
78
+ } from './useBalance'
79
+ export {
80
+ useHeight,
81
+ type UseHeightParameters,
82
+ type UseHeightReturnType,
83
+ } from './useHeight'
84
+ export {
85
+ useAccount,
86
+ type UseAccountParameters,
87
+ type UseAccountReturnType,
88
+ } from './useAccount'
89
+ export {
90
+ useBlock,
91
+ type UseBlockParameters,
92
+ type UseBlockReturnType,
93
+ } from './useBlock'
94
+ export {
95
+ useTransaction,
96
+ type UseTransactionParameters,
97
+ type UseTransactionReturnType,
98
+ } from './useTransaction'
99
+ export {
100
+ useTransactionCount,
101
+ type UseTransactionCountParameters,
102
+ type UseTransactionCountReturnType,
103
+ } from './useTransactionCount'
104
+ export {
105
+ useWaitForTransaction,
106
+ type UseWaitForTransactionParameters,
107
+ type UseWaitForTransactionReturnType,
108
+ } from './useWaitForTransaction'
109
+ export {
110
+ useWaitForTransactionConfirm,
111
+ type UseWaitForTransactionConfirmParameters,
112
+ type UseWaitForTransactionConfirmReturnType,
113
+ } from './useWaitForTransactionConfirm'
114
+ export {
115
+ useMicroBlock,
116
+ type UseMicroBlockParameters,
117
+ type UseMicroBlockReturnType,
118
+ } from './useMicroBlock'
119
+ export {
120
+ useContractBytecode,
121
+ type UseContractBytecodeParameters,
122
+ type UseContractBytecodeReturnType,
123
+ } from './useContractBytecode'
124
+ export {
125
+ useEstimateGas,
126
+ type UseEstimateGasParameters,
127
+ type UseEstimateGasReturnType,
128
+ } from './useEstimateGas'
25
129
 
26
130
  // Transaction hooks
27
- export { useSendTransaction, type UseSendTransactionParameters, type UseSendTransactionReturnType } from './useSendTransaction.js'
28
- export { useSpend, type UseSpendParameters, type UseSpendReturnType } from './useSpend.js'
29
- export { usePayForTransaction, type UsePayForTransactionParameters, type UsePayForTransactionReturnType } from './usePayForTransaction.js'
131
+ export {
132
+ useSendTransaction,
133
+ type UseSendTransactionParameters,
134
+ type UseSendTransactionReturnType,
135
+ } from './useSendTransaction'
136
+ export {
137
+ useSpend,
138
+ type UseSpendParameters,
139
+ type UseSpendReturnType,
140
+ } from './useSpend'
141
+ export {
142
+ usePayForTransaction,
143
+ type UsePayForTransactionParameters,
144
+ type UsePayForTransactionReturnType,
145
+ } from './usePayForTransaction'
146
+ export {
147
+ useBuildTransaction,
148
+ type UseBuildTransactionParameters,
149
+ type UseBuildTransactionReturnType,
150
+ } from './useBuildTransaction'
151
+ export {
152
+ useTransferFunds,
153
+ type UseTransferFundsParameters,
154
+ type UseTransferFundsReturnType,
155
+ } from './useTransferFunds'
30
156
 
31
157
  // Signing hooks
32
- export { useSignMessage, type UseSignMessageParameters, type UseSignMessageReturnType } from './useSignMessage.js'
33
- export { useSignTypedData, type UseSignTypedDataParameters, type UseSignTypedDataReturnType } from './useSignTypedData.js'
34
- export { useSignTransaction, type UseSignTransactionParameters, type UseSignTransactionReturnType } from './useSignTransaction.js'
35
- export { useVerifyMessage, type UseVerifyMessageParameters, type UseVerifyMessageReturnType } from './useVerifyMessage.js'
36
- export { useVerifyTypedData, type UseVerifyTypedDataParameters, type UseVerifyTypedDataReturnType } from './useVerifyTypedData.js'
158
+ export {
159
+ useSignMessage,
160
+ type UseSignMessageParameters,
161
+ type UseSignMessageReturnType,
162
+ } from './useSignMessage'
163
+ export {
164
+ useSignTypedData,
165
+ type UseSignTypedDataParameters,
166
+ type UseSignTypedDataReturnType,
167
+ } from './useSignTypedData'
168
+ export {
169
+ useSignTransaction,
170
+ type UseSignTransactionParameters,
171
+ type UseSignTransactionReturnType,
172
+ } from './useSignTransaction'
173
+ export {
174
+ useVerifyMessage,
175
+ type UseVerifyMessageParameters,
176
+ type UseVerifyMessageReturnType,
177
+ } from './useVerifyMessage'
178
+ export {
179
+ useVerifyTypedData,
180
+ type UseVerifyTypedDataParameters,
181
+ type UseVerifyTypedDataReturnType,
182
+ } from './useVerifyTypedData'
183
+ export {
184
+ useSignDelegation,
185
+ type UseSignDelegationParameters,
186
+ type UseSignDelegationReturnType,
187
+ } from './useSignDelegation'
37
188
 
38
189
  // Contract hooks
39
- export { useDeployContract, type UseDeployContractParameters, type UseDeployContractReturnType } from './useDeployContract.js'
40
- export { useCallContract, type UseCallContractParameters, type UseCallContractReturnType } from './useCallContract.js'
41
- export { useReadContract, type UseReadContractParameters, type UseReadContractReturnType } from './useReadContract.js'
42
- export { useReadContracts, type UseReadContractsParameters, type UseReadContractsReturnType } from './useReadContracts.js'
43
- export { useSimulateContract, type UseSimulateContractParameters, type UseSimulateContractReturnType } from './useSimulateContract.js'
44
- export { useContractEvents, type UseContractEventsParameters, type UseContractEventsReturnType } from './useContractEvents.js'
190
+ export {
191
+ useDeployContract,
192
+ type UseDeployContractParameters,
193
+ type UseDeployContractReturnType,
194
+ } from './useDeployContract'
195
+ export {
196
+ useCallContract,
197
+ type UseCallContractParameters,
198
+ type UseCallContractReturnType,
199
+ } from './useCallContract'
200
+ export {
201
+ useReadContract,
202
+ type UseReadContractParameters,
203
+ type UseReadContractReturnType,
204
+ } from './useReadContract'
205
+ export {
206
+ useReadContracts,
207
+ type UseReadContractsParameters,
208
+ type UseReadContractsReturnType,
209
+ } from './useReadContracts'
210
+ export {
211
+ useSimulateContract,
212
+ type UseSimulateContractParameters,
213
+ type UseSimulateContractReturnType,
214
+ } from './useSimulateContract'
215
+ export {
216
+ useContractEvents,
217
+ type UseContractEventsParameters,
218
+ type UseContractEventsReturnType,
219
+ } from './useContractEvents'
220
+ export {
221
+ useCompileContract,
222
+ type UseCompileContractParameters,
223
+ type UseCompileContractReturnType,
224
+ } from './useCompileContract'
45
225
 
46
226
  // AENS hooks
47
- export { usePreclaimName, type UsePreclaimNameParameters, type UsePreclaimNameReturnType } from './usePreclaimName.js'
48
- export { useClaimName, type UseClaimNameParameters, type UseClaimNameReturnType } from './useClaimName.js'
49
- export { useUpdateName, type UseUpdateNameParameters, type UseUpdateNameReturnType } from './useUpdateName.js'
50
- export { useTransferName, type UseTransferNameParameters, type UseTransferNameReturnType } from './useTransferName.js'
51
- export { useRevokeName, type UseRevokeNameParameters, type UseRevokeNameReturnType } from './useRevokeName.js'
52
- export { useResolveName, type UseResolveNameParameters, type UseResolveNameReturnType } from './useResolveName.js'
227
+ export {
228
+ usePreclaimName,
229
+ type UsePreclaimNameParameters,
230
+ type UsePreclaimNameReturnType,
231
+ } from './usePreclaimName'
232
+ export {
233
+ useClaimName,
234
+ type UseClaimNameParameters,
235
+ type UseClaimNameReturnType,
236
+ } from './useClaimName'
237
+ export {
238
+ useUpdateName,
239
+ type UseUpdateNameParameters,
240
+ type UseUpdateNameReturnType,
241
+ } from './useUpdateName'
242
+ export {
243
+ useTransferName,
244
+ type UseTransferNameParameters,
245
+ type UseTransferNameReturnType,
246
+ } from './useTransferName'
247
+ export {
248
+ useRevokeName,
249
+ type UseRevokeNameParameters,
250
+ type UseRevokeNameReturnType,
251
+ } from './useRevokeName'
252
+ export {
253
+ useResolveName,
254
+ type UseResolveNameParameters,
255
+ type UseResolveNameReturnType,
256
+ } from './useResolveName'
257
+ export {
258
+ useNameEntry,
259
+ type UseNameEntryParameters,
260
+ type UseNameEntryReturnType,
261
+ } from './useNameEntry'
53
262
 
54
263
  // Oracle hooks
55
- export { useRegisterOracle, type UseRegisterOracleParameters, type UseRegisterOracleReturnType } from './useRegisterOracle.js'
56
- export { useQueryOracle, type UseQueryOracleParameters, type UseQueryOracleReturnType } from './useQueryOracle.js'
57
- export { useRespondToQuery, type UseRespondToQueryParameters, type UseRespondToQueryReturnType } from './useRespondToQuery.js'
58
- export { useOracleState, type UseOracleStateParameters, type UseOracleStateReturnType } from './useOracleState.js'
59
- export { useOracleQueries, type UseOracleQueriesParameters, type UseOracleQueriesReturnType } from './useOracleQueries.js'
264
+ export {
265
+ useRegisterOracle,
266
+ type UseRegisterOracleParameters,
267
+ type UseRegisterOracleReturnType,
268
+ } from './useRegisterOracle'
269
+ export {
270
+ useQueryOracle,
271
+ type UseQueryOracleParameters,
272
+ type UseQueryOracleReturnType,
273
+ } from './useQueryOracle'
274
+ export {
275
+ useRespondToQuery,
276
+ type UseRespondToQueryParameters,
277
+ type UseRespondToQueryReturnType,
278
+ } from './useRespondToQuery'
279
+ export {
280
+ useOracleState,
281
+ type UseOracleStateParameters,
282
+ type UseOracleStateReturnType,
283
+ } from './useOracleState'
284
+ export {
285
+ useOracleQueries,
286
+ type UseOracleQueriesParameters,
287
+ type UseOracleQueriesReturnType,
288
+ } from './useOracleQueries'
60
289
 
61
290
  // Channel hooks
62
- export { useOpenChannel, type UseOpenChannelParameters, type UseOpenChannelReturnType } from './useOpenChannel.js'
63
- export { useCloseChannel, type UseCloseChannelParameters, type UseCloseChannelReturnType } from './useCloseChannel.js'
64
- export { useChannelDeposit, type UseChannelDepositParameters, type UseChannelDepositReturnType } from './useChannelDeposit.js'
291
+ export {
292
+ useOpenChannel,
293
+ type UseOpenChannelParameters,
294
+ type UseOpenChannelReturnType,
295
+ } from './useOpenChannel'
296
+ export {
297
+ useCloseChannel,
298
+ type UseCloseChannelParameters,
299
+ type UseCloseChannelReturnType,
300
+ } from './useCloseChannel'
301
+ export {
302
+ useChannelDeposit,
303
+ type UseChannelDepositParameters,
304
+ type UseChannelDepositReturnType,
305
+ } from './useChannelDeposit'
65
306
 
66
307
  // Watcher hooks
67
- export { useWatchHeight, type UseWatchHeightParameters, type UseWatchHeightReturnType } from './useWatchHeight.js'
68
- export { useWatchConnection, type UseWatchConnectionParameters, type UseWatchConnectionReturnType } from './useWatchConnection.js'
69
- export { useWatchConnectors, type UseWatchConnectorsParameters, type UseWatchConnectorsReturnType } from './useWatchConnectors.js'
308
+ export {
309
+ useWatchHeight,
310
+ type UseWatchHeightParameters,
311
+ type UseWatchHeightReturnType,
312
+ } from './useWatchHeight'
313
+ export {
314
+ useWatchConnection,
315
+ type UseWatchConnectionParameters,
316
+ type UseWatchConnectionReturnType,
317
+ } from './useWatchConnection'
318
+ export {
319
+ useWatchConnectors,
320
+ type UseWatchConnectorsParameters,
321
+ type UseWatchConnectorsReturnType,
322
+ } from './useWatchConnectors'
@@ -1,5 +1,5 @@
1
- import { describe, it, expect } from 'vitest'
2
- import { useAccount } from './useAccount.js'
1
+ import { describe, expect, it } from 'vitest'
2
+ import { useAccount } from './useAccount'
3
3
 
4
4
  describe('useAccount', () => {
5
5
  it('should be a function', () => {
@@ -1,19 +1,21 @@
1
1
  'use client'
2
2
 
3
3
  import {
4
+ type GetAccountErrorType,
4
5
  type GetAccountParameters,
5
6
  type GetAccountReturnType,
6
- type GetAccountErrorType,
7
7
  getAccount,
8
8
  } from '@growae/reactive'
9
9
  import type { Compute } from '@growae/reactive'
10
- import { type UseQueryReturnType, useQuery } from '../utils/query.js'
11
- import type { ConfigParameter } from '../types/properties.js'
12
- import { useConfig } from './useConfig.js'
13
- import { useNetworkId } from './useNetworkId.js'
10
+ import type { ConfigParameter } from '../types/properties'
11
+ import { type UseQueryReturnType, useQuery } from '../utils/query'
12
+ import { useActiveAccount } from './useActiveAccount'
13
+ import { useConfig } from './useConfig'
14
+ import { useNetworkId } from './useNetworkId'
14
15
 
15
16
  export type UseAccountParameters = Compute<
16
- GetAccountParameters & ConfigParameter & { enabled?: boolean }
17
+ Omit<GetAccountParameters, 'address'> &
18
+ ConfigParameter & { address?: string | undefined; enabled?: boolean }
17
19
  >
18
20
 
19
21
  export type UseAccountReturnType = UseQueryReturnType<
@@ -26,18 +28,26 @@ export function useAccount(
26
28
  ): UseAccountReturnType {
27
29
  const config = useConfig(parameters)
28
30
  const networkId = useNetworkId({ config })
31
+ const activeAccount = useActiveAccount({ config })
32
+
33
+ const address = parameters.address ?? activeAccount.address
29
34
 
30
35
  return useQuery({
31
- queryKey: ['account', {
32
- address: parameters.address,
33
- networkId: parameters.networkId ?? networkId,
34
- height: parameters.height,
35
- hash: parameters.hash,
36
- }],
37
- queryFn: () => getAccount(config, {
38
- ...parameters,
39
- networkId: parameters.networkId ?? networkId,
40
- }),
41
- enabled: Boolean(parameters.address) && (parameters.enabled ?? true),
36
+ queryKey: [
37
+ 'account',
38
+ {
39
+ address,
40
+ networkId: parameters.networkId ?? networkId,
41
+ height: parameters.height,
42
+ hash: parameters.hash,
43
+ },
44
+ ],
45
+ queryFn: () =>
46
+ getAccount(config, {
47
+ ...parameters,
48
+ address: address as string,
49
+ networkId: parameters.networkId ?? networkId,
50
+ }),
51
+ enabled: Boolean(address) && (parameters.enabled ?? true),
42
52
  }) as UseAccountReturnType
43
53
  }
@@ -0,0 +1,28 @@
1
+ // @vitest-environment jsdom
2
+ import { createConfig } from '@growae/reactive'
3
+ import { mainnet } from '@growae/reactive'
4
+ import { mock } from '@growae/reactive'
5
+ import { renderHook } from '@testing-library/react'
6
+ import { createElement } from 'react'
7
+ import { describe, expect, it } from 'vitest'
8
+ import { ReactiveProvider } from '../context'
9
+ import { useActiveAccount } from './useActiveAccount'
10
+
11
+ function createWrapper(config: ReturnType<typeof createConfig>) {
12
+ return ({ children }: { children: React.ReactNode }) =>
13
+ createElement(ReactiveProvider, { config }, children)
14
+ }
15
+
16
+ describe('useActiveAccount', () => {
17
+ it('returns disconnected state when not connected', () => {
18
+ const config = createConfig({
19
+ networks: [mainnet],
20
+ connectors: [mock({ accounts: ['ak_test123'] })],
21
+ })
22
+ const { result } = renderHook(() => useActiveAccount(), {
23
+ wrapper: createWrapper(config),
24
+ })
25
+ expect(result.current.isConnected).toBe(false)
26
+ expect(result.current.address).toBeUndefined()
27
+ })
28
+ })
@@ -0,0 +1,40 @@
1
+ 'use client'
2
+
3
+ import {
4
+ type GetActiveAccountReturnType,
5
+ getActiveAccount,
6
+ watchActiveAccount,
7
+ } from '@growae/reactive'
8
+ import { useSyncExternalStore } from 'react'
9
+ import type { ConfigParameter } from '../types/properties'
10
+ import { useConfig } from './useConfig'
11
+
12
+ export type UseActiveAccountParameters = ConfigParameter
13
+
14
+ export type UseActiveAccountReturnType = GetActiveAccountReturnType
15
+
16
+ export function useActiveAccount(
17
+ parameters: UseActiveAccountParameters = {},
18
+ ): UseActiveAccountReturnType {
19
+ const config = useConfig(parameters)
20
+
21
+ // Snapshot must be a primitive — returning a new object every call causes
22
+ // useSyncExternalStore to see it as "changed" on every render → infinite loop.
23
+ // We snapshot just the address string (or null) and derive the full object below.
24
+ useSyncExternalStore(
25
+ (onChange) =>
26
+ watchActiveAccount(config, {
27
+ onChange: () => onChange(),
28
+ }),
29
+ () => {
30
+ const a = getActiveAccount(config)
31
+ return a.isConnected ? a.address : null
32
+ },
33
+ () => {
34
+ const a = getActiveAccount(config)
35
+ return a.isConnected ? a.address : null
36
+ },
37
+ )
38
+
39
+ return getActiveAccount(config)
40
+ }
@@ -1,18 +1,18 @@
1
1
  // @vitest-environment jsdom
2
- import { describe, it, expect, vi } from 'vitest'
2
+ import { describe, expect, it, vi } from 'vitest'
3
3
 
4
4
  vi.mock('@aeternity/aepp-sdk', () => ({
5
5
  Node: vi.fn().mockImplementation(() => ({})),
6
6
  }))
7
7
 
8
- import { createElement } from 'react'
9
- import { renderHook } from '@testing-library/react'
10
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
11
- import { useBalance } from './useBalance.js'
12
- import { ReactiveProvider } from '../context.js'
13
8
  import { createConfig } from '@growae/reactive'
14
9
  import { testnet } from '@growae/reactive'
15
10
  import { mock } from '@growae/reactive'
11
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
12
+ import { renderHook } from '@testing-library/react'
13
+ import { createElement } from 'react'
14
+ import { ReactiveProvider } from '../context'
15
+ import { useBalance } from './useBalance'
16
16
 
17
17
  const TEST_ACCOUNTS = [
18
18
  'ak_2swhLkgBPeeADxVTABy7tt6d2HgBQFnGJELkBUMY4FUa8RVLM',
@@ -48,8 +48,7 @@ describe('useBalance', () => {
48
48
  const { result } = renderHook(
49
49
  () =>
50
50
  useBalance({
51
- address:
52
- 'ak_2swhLkgBPeeADxVTABy7tt6d2HgBQFnGJELkBUMY4FUa8RVLM',
51
+ address: 'ak_2swhLkgBPeeADxVTABy7tt6d2HgBQFnGJELkBUMY4FUa8RVLM',
53
52
  }),
54
53
  { wrapper },
55
54
  )
@@ -63,10 +62,7 @@ describe('useBalance', () => {
63
62
 
64
63
  it('should be idle without address', () => {
65
64
  const { wrapper } = createWrapper()
66
- const { result } = renderHook(
67
- () => useBalance({} as any),
68
- { wrapper },
69
- )
65
+ const { result } = renderHook(() => useBalance({} as any), { wrapper })
70
66
  expect(result.current.fetchStatus).toBe('idle')
71
67
  })
72
68
  })
@@ -1,19 +1,21 @@
1
1
  'use client'
2
2
 
3
3
  import {
4
+ type GetBalanceErrorType,
4
5
  type GetBalanceParameters,
5
6
  type GetBalanceReturnType,
6
- type GetBalanceErrorType,
7
7
  getBalance,
8
8
  } from '@growae/reactive'
9
9
  import type { Compute } from '@growae/reactive'
10
- import { type UseQueryReturnType, useQuery } from '../utils/query.js'
11
- import type { ConfigParameter } from '../types/properties.js'
12
- import { useConfig } from './useConfig.js'
13
- import { useNetworkId } from './useNetworkId.js'
10
+ import type { ConfigParameter } from '../types/properties'
11
+ import { type UseQueryReturnType, useQuery } from '../utils/query'
12
+ import { useActiveAccount } from './useActiveAccount'
13
+ import { useConfig } from './useConfig'
14
+ import { useNetworkId } from './useNetworkId'
14
15
 
15
16
  export type UseBalanceParameters = Compute<
16
- GetBalanceParameters & ConfigParameter & { enabled?: boolean }
17
+ Omit<GetBalanceParameters, 'address'> &
18
+ ConfigParameter & { address?: string | undefined; enabled?: boolean }
17
19
  >
18
20
 
19
21
  export type UseBalanceReturnType = UseQueryReturnType<
@@ -26,17 +28,25 @@ export function useBalance(
26
28
  ): UseBalanceReturnType {
27
29
  const config = useConfig(parameters)
28
30
  const networkId = useNetworkId({ config })
31
+ const activeAccount = useActiveAccount({ config })
32
+
33
+ const address = parameters.address ?? activeAccount.address
29
34
 
30
35
  return useQuery({
31
- queryKey: ['balance', {
32
- address: parameters.address,
33
- networkId: parameters.networkId ?? networkId,
34
- format: parameters.format,
35
- }],
36
- queryFn: () => getBalance(config, {
37
- ...parameters,
38
- networkId: parameters.networkId ?? networkId,
39
- }),
40
- enabled: Boolean(parameters.address) && (parameters.enabled ?? true),
36
+ queryKey: [
37
+ 'balance',
38
+ {
39
+ address,
40
+ networkId: parameters.networkId ?? networkId,
41
+ format: parameters.format,
42
+ },
43
+ ],
44
+ queryFn: () =>
45
+ getBalance(config, {
46
+ ...parameters,
47
+ address: address as string,
48
+ networkId: parameters.networkId ?? networkId,
49
+ }),
50
+ enabled: Boolean(address) && (parameters.enabled ?? true),
41
51
  }) as UseBalanceReturnType
42
52
  }
@@ -1,5 +1,5 @@
1
- import { describe, it, expect } from 'vitest'
2
- import { useBlock } from './useBlock.js'
1
+ import { describe, expect, it } from 'vitest'
2
+ import { useBlock } from './useBlock'
3
3
 
4
4
  describe('useBlock', () => {
5
5
  it('should be a function', () => {