@growae/reactive-react 0.0.1 → 0.0.2
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.
- package/CHANGELOG.md +9 -0
- package/dist/esm/context.js +10 -0
- package/dist/esm/context.js.map +1 -0
- package/dist/esm/errors/base.js +14 -0
- package/dist/esm/errors/base.js.map +1 -0
- package/dist/esm/errors/context.js +13 -0
- package/dist/esm/errors/context.js.map +1 -0
- package/dist/esm/errors/index.js +3 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/exports/index.js +40 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/query.js +5 -0
- package/dist/esm/exports/query.js.map +1 -0
- package/dist/esm/hooks/index.js +71 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useAccount.js +30 -0
- package/dist/esm/hooks/useAccount.js.map +1 -0
- package/dist/esm/hooks/useActiveAccount.js +21 -0
- package/dist/esm/hooks/useActiveAccount.js.map +1 -0
- package/dist/esm/hooks/useBalance.js +29 -0
- package/dist/esm/hooks/useBalance.js.map +1 -0
- package/dist/esm/hooks/useBlock.js +25 -0
- package/dist/esm/hooks/useBlock.js.map +1 -0
- package/dist/esm/hooks/useBuildTransaction.js +18 -0
- package/dist/esm/hooks/useBuildTransaction.js.map +1 -0
- package/dist/esm/hooks/useCallContract.js +18 -0
- package/dist/esm/hooks/useCallContract.js.map +1 -0
- package/dist/esm/hooks/useChannelDeposit.js +18 -0
- package/dist/esm/hooks/useChannelDeposit.js.map +1 -0
- package/dist/esm/hooks/useClaimName.js +18 -0
- package/dist/esm/hooks/useClaimName.js.map +1 -0
- package/dist/esm/hooks/useCloseChannel.js +18 -0
- package/dist/esm/hooks/useCloseChannel.js.map +1 -0
- package/dist/esm/hooks/useCompileContract.js +18 -0
- package/dist/esm/hooks/useCompileContract.js.map +1 -0
- package/dist/esm/hooks/useConfig.js +11 -0
- package/dist/esm/hooks/useConfig.js.map +1 -0
- package/dist/esm/hooks/useConnect.js +27 -0
- package/dist/esm/hooks/useConnect.js.map +1 -0
- package/dist/esm/hooks/useConnection.js +9 -0
- package/dist/esm/hooks/useConnection.js.map +1 -0
- package/dist/esm/hooks/useConnections.js +9 -0
- package/dist/esm/hooks/useConnections.js.map +1 -0
- package/dist/esm/hooks/useConnectorClient.js +23 -0
- package/dist/esm/hooks/useConnectorClient.js.map +1 -0
- package/dist/esm/hooks/useConnectors.js +9 -0
- package/dist/esm/hooks/useConnectors.js.map +1 -0
- package/dist/esm/hooks/useContractBytecode.js +24 -0
- package/dist/esm/hooks/useContractBytecode.js.map +1 -0
- package/dist/esm/hooks/useContractEvents.js +26 -0
- package/dist/esm/hooks/useContractEvents.js.map +1 -0
- package/dist/esm/hooks/useDeployContract.js +18 -0
- package/dist/esm/hooks/useDeployContract.js.map +1 -0
- package/dist/esm/hooks/useDisconnect.js +18 -0
- package/dist/esm/hooks/useDisconnect.js.map +1 -0
- package/dist/esm/hooks/useEstimateGas.js +26 -0
- package/dist/esm/hooks/useEstimateGas.js.map +1 -0
- package/dist/esm/hooks/useHeight.js +22 -0
- package/dist/esm/hooks/useHeight.js.map +1 -0
- package/dist/esm/hooks/useMicroBlock.js +24 -0
- package/dist/esm/hooks/useMicroBlock.js.map +1 -0
- package/dist/esm/hooks/useNameEntry.js +24 -0
- package/dist/esm/hooks/useNameEntry.js.map +1 -0
- package/dist/esm/hooks/useNetworkId.js +9 -0
- package/dist/esm/hooks/useNetworkId.js.map +1 -0
- package/dist/esm/hooks/useNetworks.js +8 -0
- package/dist/esm/hooks/useNetworks.js.map +1 -0
- package/dist/esm/hooks/useNodeClient.js +9 -0
- package/dist/esm/hooks/useNodeClient.js.map +1 -0
- package/dist/esm/hooks/useOpenChannel.js +18 -0
- package/dist/esm/hooks/useOpenChannel.js.map +1 -0
- package/dist/esm/hooks/useOracleQueries.js +24 -0
- package/dist/esm/hooks/useOracleQueries.js.map +1 -0
- package/dist/esm/hooks/useOracleState.js +24 -0
- package/dist/esm/hooks/useOracleState.js.map +1 -0
- package/dist/esm/hooks/usePayForTransaction.js +18 -0
- package/dist/esm/hooks/usePayForTransaction.js.map +1 -0
- package/dist/esm/hooks/usePreclaimName.js +18 -0
- package/dist/esm/hooks/usePreclaimName.js.map +1 -0
- package/dist/esm/hooks/useQueryOracle.js +18 -0
- package/dist/esm/hooks/useQueryOracle.js.map +1 -0
- package/dist/esm/hooks/useReadContract.js +27 -0
- package/dist/esm/hooks/useReadContract.js.map +1 -0
- package/dist/esm/hooks/useReadContracts.js +22 -0
- package/dist/esm/hooks/useReadContracts.js.map +1 -0
- package/dist/esm/hooks/useReconnect.js +18 -0
- package/dist/esm/hooks/useReconnect.js.map +1 -0
- package/dist/esm/hooks/useRegisterOracle.js +18 -0
- package/dist/esm/hooks/useRegisterOracle.js.map +1 -0
- package/dist/esm/hooks/useResolveName.js +25 -0
- package/dist/esm/hooks/useResolveName.js.map +1 -0
- package/dist/esm/hooks/useRespondToQuery.js +18 -0
- package/dist/esm/hooks/useRespondToQuery.js.map +1 -0
- package/dist/esm/hooks/useRevokeName.js +18 -0
- package/dist/esm/hooks/useRevokeName.js.map +1 -0
- package/dist/esm/hooks/useSendTransaction.js +18 -0
- package/dist/esm/hooks/useSendTransaction.js.map +1 -0
- package/dist/esm/hooks/useSignDelegation.js +18 -0
- package/dist/esm/hooks/useSignDelegation.js.map +1 -0
- package/dist/esm/hooks/useSignMessage.js +18 -0
- package/dist/esm/hooks/useSignMessage.js.map +1 -0
- package/dist/esm/hooks/useSignTransaction.js +18 -0
- package/dist/esm/hooks/useSignTransaction.js.map +1 -0
- package/dist/esm/hooks/useSignTypedData.js +18 -0
- package/dist/esm/hooks/useSignTypedData.js.map +1 -0
- package/dist/esm/hooks/useSimulateContract.js +27 -0
- package/dist/esm/hooks/useSimulateContract.js.map +1 -0
- package/dist/esm/hooks/useSpend.js +18 -0
- package/dist/esm/hooks/useSpend.js.map +1 -0
- package/dist/esm/hooks/useSwitchActiveAccount.js +20 -0
- package/dist/esm/hooks/useSwitchActiveAccount.js.map +1 -0
- package/dist/esm/hooks/useSwitchNetwork.js +20 -0
- package/dist/esm/hooks/useSwitchNetwork.js.map +1 -0
- package/dist/esm/hooks/useTransaction.js +24 -0
- package/dist/esm/hooks/useTransaction.js.map +1 -0
- package/dist/esm/hooks/useTransactionCount.js +24 -0
- package/dist/esm/hooks/useTransactionCount.js.map +1 -0
- package/dist/esm/hooks/useTransferFunds.js +18 -0
- package/dist/esm/hooks/useTransferFunds.js.map +1 -0
- package/dist/esm/hooks/useTransferName.js +18 -0
- package/dist/esm/hooks/useTransferName.js.map +1 -0
- package/dist/esm/hooks/useUpdateName.js +18 -0
- package/dist/esm/hooks/useUpdateName.js.map +1 -0
- package/dist/esm/hooks/useVerifyMessage.js +21 -0
- package/dist/esm/hooks/useVerifyMessage.js.map +1 -0
- package/dist/esm/hooks/useVerifyTypedData.js +21 -0
- package/dist/esm/hooks/useVerifyTypedData.js.map +1 -0
- package/dist/esm/hooks/useWaitForTransaction.js +24 -0
- package/dist/esm/hooks/useWaitForTransaction.js.map +1 -0
- package/dist/esm/hooks/useWaitForTransactionConfirm.js +24 -0
- package/dist/esm/hooks/useWaitForTransactionConfirm.js.map +1 -0
- package/dist/esm/hooks/useWatchConnection.js +20 -0
- package/dist/esm/hooks/useWatchConnection.js.map +1 -0
- package/dist/esm/hooks/useWatchConnectors.js +20 -0
- package/dist/esm/hooks/useWatchConnectors.js.map +1 -0
- package/dist/esm/hooks/useWatchHeight.js +25 -0
- package/dist/esm/hooks/useWatchHeight.js.map +1 -0
- package/dist/esm/hydrate.js +26 -0
- package/dist/esm/hydrate.js.map +1 -0
- package/dist/esm/types/properties.js +2 -0
- package/dist/esm/types/properties.js.map +1 -0
- package/dist/esm/utils/query.js +13 -0
- package/dist/esm/utils/query.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/context.d.ts +9 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/errors/base.d.ts +8 -0
- package/dist/types/errors/base.d.ts.map +1 -0
- package/dist/types/errors/context.d.ts +9 -0
- package/dist/types/errors/context.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +3 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/exports/index.d.ts +8 -0
- package/dist/types/exports/index.d.ts.map +1 -0
- package/dist/types/exports/query.d.ts +3 -0
- package/dist/types/exports/query.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +62 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useAccount.d.ts +11 -0
- package/dist/types/hooks/useAccount.d.ts.map +1 -0
- package/dist/types/hooks/useActiveAccount.d.ts +6 -0
- package/dist/types/hooks/useActiveAccount.d.ts.map +1 -0
- package/dist/types/hooks/useBalance.d.ts +11 -0
- package/dist/types/hooks/useBalance.d.ts.map +1 -0
- package/dist/types/hooks/useBlock.d.ts +10 -0
- package/dist/types/hooks/useBlock.d.ts.map +1 -0
- package/dist/types/hooks/useBuildTransaction.d.ts +16 -0
- package/dist/types/hooks/useBuildTransaction.d.ts.map +1 -0
- package/dist/types/hooks/useCallContract.d.ts +16 -0
- package/dist/types/hooks/useCallContract.d.ts.map +1 -0
- package/dist/types/hooks/useChannelDeposit.d.ts +16 -0
- package/dist/types/hooks/useChannelDeposit.d.ts.map +1 -0
- package/dist/types/hooks/useClaimName.d.ts +16 -0
- package/dist/types/hooks/useClaimName.d.ts.map +1 -0
- package/dist/types/hooks/useCloseChannel.d.ts +16 -0
- package/dist/types/hooks/useCloseChannel.d.ts.map +1 -0
- package/dist/types/hooks/useCompileContract.d.ts +16 -0
- package/dist/types/hooks/useCompileContract.d.ts.map +1 -0
- package/dist/types/hooks/useConfig.d.ts +6 -0
- package/dist/types/hooks/useConfig.d.ts.map +1 -0
- package/dist/types/hooks/useConnect.d.ts +19 -0
- package/dist/types/hooks/useConnect.d.ts.map +1 -0
- package/dist/types/hooks/useConnection.d.ts +6 -0
- package/dist/types/hooks/useConnection.d.ts.map +1 -0
- package/dist/types/hooks/useConnections.d.ts +6 -0
- package/dist/types/hooks/useConnections.d.ts.map +1 -0
- package/dist/types/hooks/useConnectorClient.d.ts +8 -0
- package/dist/types/hooks/useConnectorClient.d.ts.map +1 -0
- package/dist/types/hooks/useConnectors.d.ts +6 -0
- package/dist/types/hooks/useConnectors.d.ts.map +1 -0
- package/dist/types/hooks/useContractBytecode.d.ts +10 -0
- package/dist/types/hooks/useContractBytecode.d.ts.map +1 -0
- package/dist/types/hooks/useContractEvents.d.ts +10 -0
- package/dist/types/hooks/useContractEvents.d.ts.map +1 -0
- package/dist/types/hooks/useDeployContract.d.ts +16 -0
- package/dist/types/hooks/useDeployContract.d.ts.map +1 -0
- package/dist/types/hooks/useDisconnect.d.ts +16 -0
- package/dist/types/hooks/useDisconnect.d.ts.map +1 -0
- package/dist/types/hooks/useEstimateGas.d.ts +10 -0
- package/dist/types/hooks/useEstimateGas.d.ts.map +1 -0
- package/dist/types/hooks/useHeight.d.ts +10 -0
- package/dist/types/hooks/useHeight.d.ts.map +1 -0
- package/dist/types/hooks/useMicroBlock.d.ts +10 -0
- package/dist/types/hooks/useMicroBlock.d.ts.map +1 -0
- package/dist/types/hooks/useNameEntry.d.ts +10 -0
- package/dist/types/hooks/useNameEntry.d.ts.map +1 -0
- package/dist/types/hooks/useNetworkId.d.ts +6 -0
- package/dist/types/hooks/useNetworkId.d.ts.map +1 -0
- package/dist/types/hooks/useNetworks.d.ts +6 -0
- package/dist/types/hooks/useNetworks.d.ts.map +1 -0
- package/dist/types/hooks/useNodeClient.d.ts +7 -0
- package/dist/types/hooks/useNodeClient.d.ts.map +1 -0
- package/dist/types/hooks/useOpenChannel.d.ts +16 -0
- package/dist/types/hooks/useOpenChannel.d.ts.map +1 -0
- package/dist/types/hooks/useOracleQueries.d.ts +10 -0
- package/dist/types/hooks/useOracleQueries.d.ts.map +1 -0
- package/dist/types/hooks/useOracleState.d.ts +10 -0
- package/dist/types/hooks/useOracleState.d.ts.map +1 -0
- package/dist/types/hooks/usePayForTransaction.d.ts +16 -0
- package/dist/types/hooks/usePayForTransaction.d.ts.map +1 -0
- package/dist/types/hooks/usePreclaimName.d.ts +16 -0
- package/dist/types/hooks/usePreclaimName.d.ts.map +1 -0
- package/dist/types/hooks/useQueryOracle.d.ts +16 -0
- package/dist/types/hooks/useQueryOracle.d.ts.map +1 -0
- package/dist/types/hooks/useReadContract.d.ts +10 -0
- package/dist/types/hooks/useReadContract.d.ts.map +1 -0
- package/dist/types/hooks/useReadContracts.d.ts +10 -0
- package/dist/types/hooks/useReadContracts.d.ts.map +1 -0
- package/dist/types/hooks/useReconnect.d.ts +16 -0
- package/dist/types/hooks/useReconnect.d.ts.map +1 -0
- package/dist/types/hooks/useRegisterOracle.d.ts +16 -0
- package/dist/types/hooks/useRegisterOracle.d.ts.map +1 -0
- package/dist/types/hooks/useResolveName.d.ts +10 -0
- package/dist/types/hooks/useResolveName.d.ts.map +1 -0
- package/dist/types/hooks/useRespondToQuery.d.ts +16 -0
- package/dist/types/hooks/useRespondToQuery.d.ts.map +1 -0
- package/dist/types/hooks/useRevokeName.d.ts +16 -0
- package/dist/types/hooks/useRevokeName.d.ts.map +1 -0
- package/dist/types/hooks/useSendTransaction.d.ts +16 -0
- package/dist/types/hooks/useSendTransaction.d.ts.map +1 -0
- package/dist/types/hooks/useSignDelegation.d.ts +16 -0
- package/dist/types/hooks/useSignDelegation.d.ts.map +1 -0
- package/dist/types/hooks/useSignMessage.d.ts +16 -0
- package/dist/types/hooks/useSignMessage.d.ts.map +1 -0
- package/dist/types/hooks/useSignTransaction.d.ts +16 -0
- package/dist/types/hooks/useSignTransaction.d.ts.map +1 -0
- package/dist/types/hooks/useSignTypedData.d.ts +16 -0
- package/dist/types/hooks/useSignTypedData.d.ts.map +1 -0
- package/dist/types/hooks/useSimulateContract.d.ts +10 -0
- package/dist/types/hooks/useSimulateContract.d.ts.map +1 -0
- package/dist/types/hooks/useSpend.d.ts +16 -0
- package/dist/types/hooks/useSpend.d.ts.map +1 -0
- package/dist/types/hooks/useSwitchActiveAccount.d.ts +10 -0
- package/dist/types/hooks/useSwitchActiveAccount.d.ts.map +1 -0
- package/dist/types/hooks/useSwitchNetwork.d.ts +18 -0
- package/dist/types/hooks/useSwitchNetwork.d.ts.map +1 -0
- package/dist/types/hooks/useTransaction.d.ts +10 -0
- package/dist/types/hooks/useTransaction.d.ts.map +1 -0
- package/dist/types/hooks/useTransactionCount.d.ts +10 -0
- package/dist/types/hooks/useTransactionCount.d.ts.map +1 -0
- package/dist/types/hooks/useTransferFunds.d.ts +16 -0
- package/dist/types/hooks/useTransferFunds.d.ts.map +1 -0
- package/dist/types/hooks/useTransferName.d.ts +16 -0
- package/dist/types/hooks/useTransferName.d.ts.map +1 -0
- package/dist/types/hooks/useUpdateName.d.ts +16 -0
- package/dist/types/hooks/useUpdateName.d.ts.map +1 -0
- package/dist/types/hooks/useVerifyMessage.d.ts +10 -0
- package/dist/types/hooks/useVerifyMessage.d.ts.map +1 -0
- package/dist/types/hooks/useVerifyTypedData.d.ts +10 -0
- package/dist/types/hooks/useVerifyTypedData.d.ts.map +1 -0
- package/dist/types/hooks/useWaitForTransaction.d.ts +10 -0
- package/dist/types/hooks/useWaitForTransaction.d.ts.map +1 -0
- package/dist/types/hooks/useWaitForTransactionConfirm.d.ts +10 -0
- package/dist/types/hooks/useWaitForTransactionConfirm.d.ts.map +1 -0
- package/dist/types/hooks/useWatchConnection.d.ts +9 -0
- package/dist/types/hooks/useWatchConnection.d.ts.map +1 -0
- package/dist/types/hooks/useWatchConnectors.d.ts +9 -0
- package/dist/types/hooks/useWatchConnectors.d.ts.map +1 -0
- package/dist/types/hooks/useWatchHeight.d.ts +11 -0
- package/dist/types/hooks/useWatchHeight.d.ts.map +1 -0
- package/dist/types/hydrate.d.ts +9 -0
- package/dist/types/hydrate.d.ts.map +1 -0
- package/dist/types/types/properties.d.ts +8 -0
- package/dist/types/types/properties.d.ts.map +1 -0
- package/dist/types/utils/query.d.ts +18 -0
- package/dist/types/utils/query.d.ts.map +1 -0
- package/package.json +5 -2
- package/src/context.test.ts +4 -4
- package/src/context.ts +2 -2
- package/src/errors/context.ts +1 -1
- package/src/errors/index.ts +2 -2
- package/src/exports/index.ts +11 -13
- package/src/exports/query.ts +1 -1
- package/src/hooks/index.ts +305 -52
- package/src/hooks/useAccount.test.ts +2 -2
- package/src/hooks/useAccount.ts +27 -17
- package/src/hooks/useActiveAccount.test.ts +28 -0
- package/src/hooks/useActiveAccount.ts +40 -0
- package/src/hooks/useBalance.test.ts +8 -12
- package/src/hooks/useBalance.ts +26 -16
- package/src/hooks/useBlock.test.ts +2 -2
- package/src/hooks/useBlock.ts +18 -14
- package/src/hooks/useBuildTransaction.test.ts +42 -0
- package/src/hooks/useBuildTransaction.ts +65 -0
- package/src/hooks/useCallContract.test.ts +2 -2
- package/src/hooks/useCallContract.ts +22 -11
- package/src/hooks/useChannelDeposit.test.ts +2 -2
- package/src/hooks/useChannelDeposit.ts +21 -10
- package/src/hooks/useClaimName.test.ts +2 -2
- package/src/hooks/useClaimName.ts +20 -10
- package/src/hooks/useCloseChannel.test.ts +2 -2
- package/src/hooks/useCloseChannel.ts +21 -10
- package/src/hooks/useCompileContract.test.ts +42 -0
- package/src/hooks/useCompileContract.ts +65 -0
- package/src/hooks/useConfig.test.ts +5 -5
- package/src/hooks/useConfig.ts +3 -3
- package/src/hooks/useConnect.test.ts +6 -6
- package/src/hooks/useConnect.ts +25 -13
- package/src/hooks/useConnection.test.ts +2 -2
- package/src/hooks/useConnection.ts +2 -2
- package/src/hooks/useConnections.test.ts +2 -2
- package/src/hooks/useConnections.ts +2 -2
- package/src/hooks/useConnectorClient.test.ts +2 -2
- package/src/hooks/useConnectorClient.ts +19 -20
- package/src/hooks/useConnectors.test.ts +2 -2
- package/src/hooks/useConnectors.ts +2 -2
- package/src/hooks/useContractBytecode.test.ts +2 -2
- package/src/hooks/useContractBytecode.ts +18 -14
- package/src/hooks/useContractEvents.test.ts +2 -2
- package/src/hooks/useContractEvents.ts +18 -14
- package/src/hooks/useDeployContract.test.ts +2 -2
- package/src/hooks/useDeployContract.ts +22 -11
- package/src/hooks/useDisconnect.test.ts +2 -2
- package/src/hooks/useDisconnect.ts +22 -11
- package/src/hooks/useEstimateGas.test.ts +2 -2
- package/src/hooks/useEstimateGas.ts +21 -15
- package/src/hooks/useHeight.test.ts +2 -2
- package/src/hooks/useHeight.ts +15 -11
- package/src/hooks/useMicroBlock.test.ts +45 -0
- package/src/hooks/useMicroBlock.ts +45 -0
- package/src/hooks/useNameEntry.test.ts +45 -0
- package/src/hooks/useNameEntry.ts +45 -0
- package/src/hooks/useNetworkId.test.ts +6 -6
- package/src/hooks/useNetworkId.ts +2 -2
- package/src/hooks/useNetworks.test.ts +2 -2
- package/src/hooks/useNetworks.ts +3 -6
- package/src/hooks/useNodeClient.test.ts +2 -2
- package/src/hooks/useNodeClient.ts +2 -2
- package/src/hooks/useOpenChannel.test.ts +2 -2
- package/src/hooks/useOpenChannel.ts +21 -10
- package/src/hooks/useOracleQueries.test.ts +2 -2
- package/src/hooks/useOracleQueries.ts +16 -12
- package/src/hooks/useOracleState.test.ts +2 -2
- package/src/hooks/useOracleState.ts +16 -12
- package/src/hooks/usePayForTransaction.test.ts +2 -2
- package/src/hooks/usePayForTransaction.ts +23 -11
- package/src/hooks/usePreclaimName.test.ts +2 -2
- package/src/hooks/usePreclaimName.ts +21 -10
- package/src/hooks/useQueryOracle.test.ts +2 -2
- package/src/hooks/useQueryOracle.ts +21 -10
- package/src/hooks/useReadContract.test.ts +2 -2
- package/src/hooks/useReadContract.ts +20 -15
- package/src/hooks/useReadContracts.test.ts +2 -2
- package/src/hooks/useReadContracts.ts +15 -11
- package/src/hooks/useReconnect.test.ts +2 -2
- package/src/hooks/useReconnect.ts +21 -11
- package/src/hooks/useRegisterOracle.test.ts +2 -2
- package/src/hooks/useRegisterOracle.ts +21 -10
- package/src/hooks/useResolveName.test.ts +2 -2
- package/src/hooks/useResolveName.ts +17 -13
- package/src/hooks/useRespondToQuery.test.ts +2 -2
- package/src/hooks/useRespondToQuery.ts +21 -10
- package/src/hooks/useRevokeName.test.ts +2 -2
- package/src/hooks/useRevokeName.ts +21 -10
- package/src/hooks/useSendTransaction.test.ts +2 -2
- package/src/hooks/useSendTransaction.ts +22 -11
- package/src/hooks/useSignDelegation.test.ts +42 -0
- package/src/hooks/useSignDelegation.ts +65 -0
- package/src/hooks/useSignMessage.test.ts +2 -2
- package/src/hooks/useSignMessage.ts +22 -11
- package/src/hooks/useSignTransaction.test.ts +2 -2
- package/src/hooks/useSignTransaction.ts +22 -11
- package/src/hooks/useSignTypedData.test.ts +2 -2
- package/src/hooks/useSignTypedData.ts +22 -11
- package/src/hooks/useSimulateContract.test.ts +2 -2
- package/src/hooks/useSimulateContract.ts +20 -15
- package/src/hooks/useSpend.test.ts +2 -2
- package/src/hooks/useSpend.ts +18 -10
- package/src/hooks/useSwitchActiveAccount.ts +38 -0
- package/src/hooks/useSwitchNetwork.test.ts +2 -2
- package/src/hooks/useSwitchNetwork.ts +23 -12
- package/src/hooks/useTransaction.test.ts +2 -2
- package/src/hooks/useTransaction.ts +17 -13
- package/src/hooks/useTransactionCount.test.ts +2 -2
- package/src/hooks/useTransactionCount.ts +17 -13
- package/src/hooks/useTransferFunds.test.ts +42 -0
- package/src/hooks/useTransferFunds.ts +65 -0
- package/src/hooks/useTransferName.test.ts +2 -2
- package/src/hooks/useTransferName.ts +21 -10
- package/src/hooks/useUpdateName.test.ts +2 -2
- package/src/hooks/useUpdateName.ts +21 -10
- package/src/hooks/useVerifyMessage.test.ts +2 -2
- package/src/hooks/useVerifyMessage.ts +17 -12
- package/src/hooks/useVerifyTypedData.test.ts +2 -2
- package/src/hooks/useVerifyTypedData.ts +15 -12
- package/src/hooks/useWaitForTransaction.test.ts +2 -2
- package/src/hooks/useWaitForTransaction.ts +17 -13
- package/src/hooks/useWaitForTransactionConfirm.test.ts +45 -0
- package/src/hooks/useWaitForTransactionConfirm.ts +45 -0
- package/src/hooks/useWatchConnection.test.ts +2 -2
- package/src/hooks/useWatchConnection.ts +3 -3
- package/src/hooks/useWatchConnectors.test.ts +2 -2
- package/src/hooks/useWatchConnectors.ts +3 -3
- package/src/hooks/useWatchHeight.test.ts +2 -2
- package/src/hooks/useWatchHeight.ts +4 -8
- package/src/hydrate.ts +1 -0
- package/src/utils/query.ts +12 -4
- package/tsconfig.build.json +2 -1
- package/tsconfig.json +6 -4
package/src/hooks/index.ts
CHANGED
|
@@ -1,69 +1,322 @@
|
|
|
1
1
|
// Connection hooks
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export {
|
|
13
|
-
|
|
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 {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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 {
|
|
28
|
-
|
|
29
|
-
|
|
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 {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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 {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
export {
|
|
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 {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
export {
|
|
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 {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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 {
|
|
63
|
-
|
|
64
|
-
|
|
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 {
|
|
68
|
-
|
|
69
|
-
|
|
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'
|
package/src/hooks/useAccount.ts
CHANGED
|
@@ -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
|
|
11
|
-
import type
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
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
|
|
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: [
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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,
|
|
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
|
})
|
package/src/hooks/useBalance.ts
CHANGED
|
@@ -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
|
|
11
|
-
import type
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
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
|
|
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: [
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
}
|