@growae/reactive-react 0.0.1
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/LICENSE +21 -0
- package/package.json +47 -0
- package/src/context.test.ts +52 -0
- package/src/context.ts +25 -0
- package/src/errors/base.ts +8 -0
- package/src/errors/context.ts +12 -0
- package/src/errors/index.ts +5 -0
- package/src/exports/index.ts +230 -0
- package/src/exports/query.ts +12 -0
- package/src/hooks/index.ts +69 -0
- package/src/hooks/useAccount.test.ts +12 -0
- package/src/hooks/useAccount.ts +43 -0
- package/src/hooks/useBalance.test.ts +72 -0
- package/src/hooks/useBalance.ts +42 -0
- package/src/hooks/useBlock.test.ts +12 -0
- package/src/hooks/useBlock.ts +42 -0
- package/src/hooks/useCallContract.test.ts +12 -0
- package/src/hooks/useCallContract.ts +54 -0
- package/src/hooks/useChannelDeposit.test.ts +12 -0
- package/src/hooks/useChannelDeposit.ts +53 -0
- package/src/hooks/useClaimName.test.ts +12 -0
- package/src/hooks/useClaimName.ts +53 -0
- package/src/hooks/useCloseChannel.test.ts +12 -0
- package/src/hooks/useCloseChannel.ts +53 -0
- package/src/hooks/useConfig.test.ts +53 -0
- package/src/hooks/useConfig.ts +20 -0
- package/src/hooks/useConnect.test.ts +67 -0
- package/src/hooks/useConnect.ts +69 -0
- package/src/hooks/useConnection.test.ts +12 -0
- package/src/hooks/useConnection.ts +26 -0
- package/src/hooks/useConnections.test.ts +12 -0
- package/src/hooks/useConnections.ts +26 -0
- package/src/hooks/useConnectorClient.test.ts +12 -0
- package/src/hooks/useConnectorClient.ts +44 -0
- package/src/hooks/useConnectors.test.ts +12 -0
- package/src/hooks/useConnectors.ts +26 -0
- package/src/hooks/useContractBytecode.test.ts +12 -0
- package/src/hooks/useContractBytecode.ts +41 -0
- package/src/hooks/useContractEvents.test.ts +12 -0
- package/src/hooks/useContractEvents.ts +42 -0
- package/src/hooks/useDeployContract.test.ts +12 -0
- package/src/hooks/useDeployContract.ts +54 -0
- package/src/hooks/useDisconnect.test.ts +12 -0
- package/src/hooks/useDisconnect.ts +54 -0
- package/src/hooks/useEstimateGas.test.ts +12 -0
- package/src/hooks/useEstimateGas.ts +42 -0
- package/src/hooks/useHeight.test.ts +12 -0
- package/src/hooks/useHeight.ts +39 -0
- package/src/hooks/useNetworkId.test.ts +54 -0
- package/src/hooks/useNetworkId.ts +26 -0
- package/src/hooks/useNetworks.test.ts +12 -0
- package/src/hooks/useNetworks.ts +19 -0
- package/src/hooks/useNodeClient.test.ts +12 -0
- package/src/hooks/useNodeClient.ts +30 -0
- package/src/hooks/useOpenChannel.test.ts +12 -0
- package/src/hooks/useOpenChannel.ts +53 -0
- package/src/hooks/useOracleQueries.test.ts +12 -0
- package/src/hooks/useOracleQueries.ts +40 -0
- package/src/hooks/useOracleState.test.ts +12 -0
- package/src/hooks/useOracleState.ts +40 -0
- package/src/hooks/usePayForTransaction.test.ts +12 -0
- package/src/hooks/usePayForTransaction.ts +54 -0
- package/src/hooks/usePreclaimName.test.ts +12 -0
- package/src/hooks/usePreclaimName.ts +53 -0
- package/src/hooks/useQueryOracle.test.ts +12 -0
- package/src/hooks/useQueryOracle.ts +53 -0
- package/src/hooks/useReadContract.test.ts +12 -0
- package/src/hooks/useReadContract.ts +43 -0
- package/src/hooks/useReadContracts.test.ts +12 -0
- package/src/hooks/useReadContracts.ts +38 -0
- package/src/hooks/useReconnect.test.ts +12 -0
- package/src/hooks/useReconnect.ts +54 -0
- package/src/hooks/useRegisterOracle.test.ts +12 -0
- package/src/hooks/useRegisterOracle.ts +53 -0
- package/src/hooks/useResolveName.test.ts +12 -0
- package/src/hooks/useResolveName.ts +41 -0
- package/src/hooks/useRespondToQuery.test.ts +12 -0
- package/src/hooks/useRespondToQuery.ts +53 -0
- package/src/hooks/useRevokeName.test.ts +12 -0
- package/src/hooks/useRevokeName.ts +53 -0
- package/src/hooks/useSendTransaction.test.ts +12 -0
- package/src/hooks/useSendTransaction.ts +54 -0
- package/src/hooks/useSignMessage.test.ts +12 -0
- package/src/hooks/useSignMessage.ts +54 -0
- package/src/hooks/useSignTransaction.test.ts +12 -0
- package/src/hooks/useSignTransaction.ts +54 -0
- package/src/hooks/useSignTypedData.test.ts +12 -0
- package/src/hooks/useSignTypedData.ts +54 -0
- package/src/hooks/useSimulateContract.test.ts +12 -0
- package/src/hooks/useSimulateContract.ts +43 -0
- package/src/hooks/useSpend.test.ts +12 -0
- package/src/hooks/useSpend.ts +53 -0
- package/src/hooks/useSwitchNetwork.test.ts +12 -0
- package/src/hooks/useSwitchNetwork.ts +57 -0
- package/src/hooks/useTransaction.test.ts +12 -0
- package/src/hooks/useTransaction.ts +41 -0
- package/src/hooks/useTransactionCount.test.ts +12 -0
- package/src/hooks/useTransactionCount.ts +41 -0
- package/src/hooks/useTransferName.test.ts +12 -0
- package/src/hooks/useTransferName.ts +53 -0
- package/src/hooks/useUpdateName.test.ts +12 -0
- package/src/hooks/useUpdateName.ts +53 -0
- package/src/hooks/useVerifyMessage.test.ts +12 -0
- package/src/hooks/useVerifyMessage.ts +39 -0
- package/src/hooks/useVerifyTypedData.test.ts +12 -0
- package/src/hooks/useVerifyTypedData.ts +39 -0
- package/src/hooks/useWaitForTransaction.test.ts +12 -0
- package/src/hooks/useWaitForTransaction.ts +41 -0
- package/src/hooks/useWatchConnection.test.ts +12 -0
- package/src/hooks/useWatchConnection.ts +34 -0
- package/src/hooks/useWatchConnectors.test.ts +12 -0
- package/src/hooks/useWatchConnectors.ts +34 -0
- package/src/hooks/useWatchHeight.test.ts +12 -0
- package/src/hooks/useWatchHeight.ts +45 -0
- package/src/hydrate.ts +34 -0
- package/src/types/properties.ts +9 -0
- package/src/utils/query.ts +80 -0
- package/tsconfig.build.json +13 -0
- package/tsconfig.json +7 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
type GetOracleQueriesParameters,
|
|
5
|
+
type GetOracleQueriesReturnType,
|
|
6
|
+
getOracleQueries,
|
|
7
|
+
} from '@growae/reactive'
|
|
8
|
+
import type { Compute } from '@growae/reactive'
|
|
9
|
+
import { type UseQueryReturnType, useQuery } from '../utils/query.js'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import { useConfig } from './useConfig.js'
|
|
12
|
+
import { useNetworkId } from './useNetworkId.js'
|
|
13
|
+
|
|
14
|
+
export type UseOracleQueriesParameters = Compute<
|
|
15
|
+
GetOracleQueriesParameters & ConfigParameter & { enabled?: boolean }
|
|
16
|
+
>
|
|
17
|
+
|
|
18
|
+
export type UseOracleQueriesReturnType = UseQueryReturnType<
|
|
19
|
+
GetOracleQueriesReturnType,
|
|
20
|
+
Error
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export function useOracleQueries(
|
|
24
|
+
parameters: UseOracleQueriesParameters = {} as UseOracleQueriesParameters,
|
|
25
|
+
): UseOracleQueriesReturnType {
|
|
26
|
+
const config = useConfig(parameters)
|
|
27
|
+
const networkId = useNetworkId({ config })
|
|
28
|
+
|
|
29
|
+
return useQuery({
|
|
30
|
+
queryKey: ['oracleQueries', {
|
|
31
|
+
oracleId: parameters.oracleId,
|
|
32
|
+
networkId: parameters.networkId ?? networkId,
|
|
33
|
+
}],
|
|
34
|
+
queryFn: () => getOracleQueries(config, {
|
|
35
|
+
...parameters,
|
|
36
|
+
networkId: parameters.networkId ?? networkId,
|
|
37
|
+
}),
|
|
38
|
+
enabled: Boolean(parameters.oracleId) && (parameters.enabled ?? true),
|
|
39
|
+
}) as UseOracleQueriesReturnType
|
|
40
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useOracleState } from './useOracleState.js'
|
|
3
|
+
|
|
4
|
+
describe('useOracleState', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useOracleState).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useOracleState).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
type GetOracleStateParameters,
|
|
5
|
+
type GetOracleStateReturnType,
|
|
6
|
+
getOracleState,
|
|
7
|
+
} from '@growae/reactive'
|
|
8
|
+
import type { Compute } from '@growae/reactive'
|
|
9
|
+
import { type UseQueryReturnType, useQuery } from '../utils/query.js'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import { useConfig } from './useConfig.js'
|
|
12
|
+
import { useNetworkId } from './useNetworkId.js'
|
|
13
|
+
|
|
14
|
+
export type UseOracleStateParameters = Compute<
|
|
15
|
+
GetOracleStateParameters & ConfigParameter & { enabled?: boolean }
|
|
16
|
+
>
|
|
17
|
+
|
|
18
|
+
export type UseOracleStateReturnType = UseQueryReturnType<
|
|
19
|
+
GetOracleStateReturnType,
|
|
20
|
+
Error
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export function useOracleState(
|
|
24
|
+
parameters: UseOracleStateParameters = {} as UseOracleStateParameters,
|
|
25
|
+
): UseOracleStateReturnType {
|
|
26
|
+
const config = useConfig(parameters)
|
|
27
|
+
const networkId = useNetworkId({ config })
|
|
28
|
+
|
|
29
|
+
return useQuery({
|
|
30
|
+
queryKey: ['oracleState', {
|
|
31
|
+
oracleId: parameters.oracleId,
|
|
32
|
+
networkId: parameters.networkId ?? networkId,
|
|
33
|
+
}],
|
|
34
|
+
queryFn: () => getOracleState(config, {
|
|
35
|
+
...parameters,
|
|
36
|
+
networkId: parameters.networkId ?? networkId,
|
|
37
|
+
}),
|
|
38
|
+
enabled: Boolean(parameters.oracleId) && (parameters.enabled ?? true),
|
|
39
|
+
}) as UseOracleStateReturnType
|
|
40
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { usePayForTransaction } from './usePayForTransaction.js'
|
|
3
|
+
|
|
4
|
+
describe('usePayForTransaction', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof usePayForTransaction).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(usePayForTransaction).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useMutation } from '@tanstack/react-query'
|
|
4
|
+
import {
|
|
5
|
+
type PayForTransactionParameters,
|
|
6
|
+
type PayForTransactionReturnType,
|
|
7
|
+
type PayForTransactionErrorType,
|
|
8
|
+
payForTransaction,
|
|
9
|
+
} from '@growae/reactive'
|
|
10
|
+
import type { Compute } from '@growae/reactive'
|
|
11
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
12
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
13
|
+
import { useConfig } from './useConfig.js'
|
|
14
|
+
|
|
15
|
+
export type UsePayForTransactionParameters<context = unknown> = Compute<
|
|
16
|
+
ConfigParameter & {
|
|
17
|
+
mutation?: {
|
|
18
|
+
onSuccess?: (data: PayForTransactionReturnType, variables: PayForTransactionParameters, context: context) => void
|
|
19
|
+
onError?: (error: PayForTransactionErrorType, variables: PayForTransactionParameters, context: context) => void
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
>
|
|
23
|
+
|
|
24
|
+
export type UsePayForTransactionReturnType<context = unknown> = Compute<
|
|
25
|
+
UseMutationReturnType<
|
|
26
|
+
PayForTransactionReturnType,
|
|
27
|
+
PayForTransactionErrorType,
|
|
28
|
+
PayForTransactionParameters,
|
|
29
|
+
context
|
|
30
|
+
> & {
|
|
31
|
+
payForTransaction: (variables: PayForTransactionParameters) => void
|
|
32
|
+
payForTransactionAsync: (variables: PayForTransactionParameters) => Promise<PayForTransactionReturnType>
|
|
33
|
+
}
|
|
34
|
+
>
|
|
35
|
+
|
|
36
|
+
export function usePayForTransaction<context = unknown>(
|
|
37
|
+
parameters: UsePayForTransactionParameters<context> = {},
|
|
38
|
+
): UsePayForTransactionReturnType<context> {
|
|
39
|
+
const config = useConfig(parameters)
|
|
40
|
+
|
|
41
|
+
const mutation = useMutation({
|
|
42
|
+
mutationKey: ['payForTransaction'],
|
|
43
|
+
mutationFn: (variables: PayForTransactionParameters) =>
|
|
44
|
+
payForTransaction(config, variables),
|
|
45
|
+
...parameters.mutation,
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
type Return = UsePayForTransactionReturnType<context>
|
|
49
|
+
return {
|
|
50
|
+
...(mutation as unknown as Return),
|
|
51
|
+
payForTransaction: mutation.mutate as Return['payForTransaction'],
|
|
52
|
+
payForTransactionAsync: mutation.mutateAsync as Return['payForTransactionAsync'],
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { usePreclaimName } from './usePreclaimName.js'
|
|
3
|
+
|
|
4
|
+
describe('usePreclaimName', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof usePreclaimName).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(usePreclaimName).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useMutation } from '@tanstack/react-query'
|
|
4
|
+
import {
|
|
5
|
+
type PreclaimNameParameters,
|
|
6
|
+
type PreclaimNameReturnType,
|
|
7
|
+
preclaimName,
|
|
8
|
+
} from '@growae/reactive'
|
|
9
|
+
import type { Compute } from '@growae/reactive'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
12
|
+
import { useConfig } from './useConfig.js'
|
|
13
|
+
|
|
14
|
+
export type UsePreclaimNameParameters<context = unknown> = Compute<
|
|
15
|
+
ConfigParameter & {
|
|
16
|
+
mutation?: {
|
|
17
|
+
onSuccess?: (data: PreclaimNameReturnType, variables: PreclaimNameParameters, context: context) => void
|
|
18
|
+
onError?: (error: Error, variables: PreclaimNameParameters, context: context) => void
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export type UsePreclaimNameReturnType<context = unknown> = Compute<
|
|
24
|
+
UseMutationReturnType<
|
|
25
|
+
PreclaimNameReturnType,
|
|
26
|
+
Error,
|
|
27
|
+
PreclaimNameParameters,
|
|
28
|
+
context
|
|
29
|
+
> & {
|
|
30
|
+
preclaimName: (variables: PreclaimNameParameters) => void
|
|
31
|
+
preclaimNameAsync: (variables: PreclaimNameParameters) => Promise<PreclaimNameReturnType>
|
|
32
|
+
}
|
|
33
|
+
>
|
|
34
|
+
|
|
35
|
+
export function usePreclaimName<context = unknown>(
|
|
36
|
+
parameters: UsePreclaimNameParameters<context> = {},
|
|
37
|
+
): UsePreclaimNameReturnType<context> {
|
|
38
|
+
const config = useConfig(parameters)
|
|
39
|
+
|
|
40
|
+
const mutation = useMutation({
|
|
41
|
+
mutationKey: ['preclaimName'],
|
|
42
|
+
mutationFn: (variables: PreclaimNameParameters) =>
|
|
43
|
+
preclaimName(config, variables),
|
|
44
|
+
...parameters.mutation,
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
type Return = UsePreclaimNameReturnType<context>
|
|
48
|
+
return {
|
|
49
|
+
...(mutation as unknown as Return),
|
|
50
|
+
preclaimName: mutation.mutate as Return['preclaimName'],
|
|
51
|
+
preclaimNameAsync: mutation.mutateAsync as Return['preclaimNameAsync'],
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useQueryOracle } from './useQueryOracle.js'
|
|
3
|
+
|
|
4
|
+
describe('useQueryOracle', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useQueryOracle).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useQueryOracle).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useMutation } from '@tanstack/react-query'
|
|
4
|
+
import {
|
|
5
|
+
type QueryOracleParameters,
|
|
6
|
+
type QueryOracleReturnType,
|
|
7
|
+
queryOracle,
|
|
8
|
+
} from '@growae/reactive'
|
|
9
|
+
import type { Compute } from '@growae/reactive'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
12
|
+
import { useConfig } from './useConfig.js'
|
|
13
|
+
|
|
14
|
+
export type UseQueryOracleParameters<context = unknown> = Compute<
|
|
15
|
+
ConfigParameter & {
|
|
16
|
+
mutation?: {
|
|
17
|
+
onSuccess?: (data: QueryOracleReturnType, variables: QueryOracleParameters, context: context) => void
|
|
18
|
+
onError?: (error: Error, variables: QueryOracleParameters, context: context) => void
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export type UseQueryOracleReturnType<context = unknown> = Compute<
|
|
24
|
+
UseMutationReturnType<
|
|
25
|
+
QueryOracleReturnType,
|
|
26
|
+
Error,
|
|
27
|
+
QueryOracleParameters,
|
|
28
|
+
context
|
|
29
|
+
> & {
|
|
30
|
+
queryOracle: (variables: QueryOracleParameters) => void
|
|
31
|
+
queryOracleAsync: (variables: QueryOracleParameters) => Promise<QueryOracleReturnType>
|
|
32
|
+
}
|
|
33
|
+
>
|
|
34
|
+
|
|
35
|
+
export function useQueryOracle<context = unknown>(
|
|
36
|
+
parameters: UseQueryOracleParameters<context> = {},
|
|
37
|
+
): UseQueryOracleReturnType<context> {
|
|
38
|
+
const config = useConfig(parameters)
|
|
39
|
+
|
|
40
|
+
const mutation = useMutation({
|
|
41
|
+
mutationKey: ['queryOracle'],
|
|
42
|
+
mutationFn: (variables: QueryOracleParameters) =>
|
|
43
|
+
queryOracle(config, variables),
|
|
44
|
+
...parameters.mutation,
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
type Return = UseQueryOracleReturnType<context>
|
|
48
|
+
return {
|
|
49
|
+
...(mutation as unknown as Return),
|
|
50
|
+
queryOracle: mutation.mutate as Return['queryOracle'],
|
|
51
|
+
queryOracleAsync: mutation.mutateAsync as Return['queryOracleAsync'],
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useReadContract } from './useReadContract.js'
|
|
3
|
+
|
|
4
|
+
describe('useReadContract', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useReadContract).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useReadContract).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
type ReadContractParameters,
|
|
5
|
+
type ReadContractReturnType,
|
|
6
|
+
readContract,
|
|
7
|
+
} from '@growae/reactive'
|
|
8
|
+
import type { Compute } from '@growae/reactive'
|
|
9
|
+
import { type UseQueryReturnType, useQuery } from '../utils/query.js'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import { useConfig } from './useConfig.js'
|
|
12
|
+
import { useNetworkId } from './useNetworkId.js'
|
|
13
|
+
|
|
14
|
+
export type UseReadContractParameters = Compute<
|
|
15
|
+
ReadContractParameters & ConfigParameter & { enabled?: boolean }
|
|
16
|
+
>
|
|
17
|
+
|
|
18
|
+
export type UseReadContractReturnType = UseQueryReturnType<
|
|
19
|
+
ReadContractReturnType,
|
|
20
|
+
Error
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export function useReadContract(
|
|
24
|
+
parameters: UseReadContractParameters = {} as UseReadContractParameters,
|
|
25
|
+
): UseReadContractReturnType {
|
|
26
|
+
const config = useConfig(parameters)
|
|
27
|
+
const networkId = useNetworkId({ config })
|
|
28
|
+
|
|
29
|
+
return useQuery({
|
|
30
|
+
queryKey: ['readContract', {
|
|
31
|
+
address: parameters.address,
|
|
32
|
+
method: parameters.method,
|
|
33
|
+
args: parameters.args,
|
|
34
|
+
networkId: parameters.networkId ?? networkId,
|
|
35
|
+
}],
|
|
36
|
+
queryFn: () => readContract(config, {
|
|
37
|
+
...parameters,
|
|
38
|
+
networkId: parameters.networkId ?? networkId,
|
|
39
|
+
}),
|
|
40
|
+
enabled: Boolean(parameters.address && parameters.aci && parameters.method) &&
|
|
41
|
+
(parameters.enabled ?? true),
|
|
42
|
+
}) as UseReadContractReturnType
|
|
43
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useReadContracts } from './useReadContracts.js'
|
|
3
|
+
|
|
4
|
+
describe('useReadContracts', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useReadContracts).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useReadContracts).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
type ReadContractsParameters,
|
|
5
|
+
type ReadContractsReturnType,
|
|
6
|
+
readContracts,
|
|
7
|
+
} from '@growae/reactive'
|
|
8
|
+
import type { Compute } from '@growae/reactive'
|
|
9
|
+
import { type UseQueryReturnType, useQuery } from '../utils/query.js'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import { useConfig } from './useConfig.js'
|
|
12
|
+
|
|
13
|
+
export type UseReadContractsParameters = Compute<
|
|
14
|
+
ReadContractsParameters & ConfigParameter & { enabled?: boolean }
|
|
15
|
+
>
|
|
16
|
+
|
|
17
|
+
export type UseReadContractsReturnType = UseQueryReturnType<
|
|
18
|
+
ReadContractsReturnType,
|
|
19
|
+
Error
|
|
20
|
+
>
|
|
21
|
+
|
|
22
|
+
export function useReadContracts(
|
|
23
|
+
parameters: UseReadContractsParameters = {} as UseReadContractsParameters,
|
|
24
|
+
): UseReadContractsReturnType {
|
|
25
|
+
const config = useConfig(parameters)
|
|
26
|
+
|
|
27
|
+
return useQuery({
|
|
28
|
+
queryKey: ['readContracts', {
|
|
29
|
+
contracts: parameters.contracts?.map((c) => ({
|
|
30
|
+
address: c.address,
|
|
31
|
+
method: c.method,
|
|
32
|
+
args: c.args,
|
|
33
|
+
})),
|
|
34
|
+
}],
|
|
35
|
+
queryFn: () => readContracts(config, parameters),
|
|
36
|
+
enabled: Boolean(parameters.contracts?.length) && (parameters.enabled ?? true),
|
|
37
|
+
}) as UseReadContractsReturnType
|
|
38
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useReconnect } from './useReconnect.js'
|
|
3
|
+
|
|
4
|
+
describe('useReconnect', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useReconnect).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useReconnect).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useMutation } from '@tanstack/react-query'
|
|
4
|
+
import {
|
|
5
|
+
type ReconnectParameters,
|
|
6
|
+
type ReconnectReturnType,
|
|
7
|
+
type ReconnectErrorType,
|
|
8
|
+
reconnect,
|
|
9
|
+
} from '@growae/reactive'
|
|
10
|
+
import type { Compute } from '@growae/reactive'
|
|
11
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
12
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
13
|
+
import { useConfig } from './useConfig.js'
|
|
14
|
+
|
|
15
|
+
export type UseReconnectParameters<context = unknown> = Compute<
|
|
16
|
+
ConfigParameter & {
|
|
17
|
+
mutation?: {
|
|
18
|
+
onSuccess?: (data: ReconnectReturnType, variables: ReconnectParameters, context: context) => void
|
|
19
|
+
onError?: (error: ReconnectErrorType, variables: ReconnectParameters, context: context) => void
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
>
|
|
23
|
+
|
|
24
|
+
export type UseReconnectReturnType<context = unknown> = Compute<
|
|
25
|
+
UseMutationReturnType<
|
|
26
|
+
ReconnectReturnType,
|
|
27
|
+
ReconnectErrorType,
|
|
28
|
+
ReconnectParameters,
|
|
29
|
+
context
|
|
30
|
+
> & {
|
|
31
|
+
reconnect: (variables?: ReconnectParameters) => void
|
|
32
|
+
reconnectAsync: (variables?: ReconnectParameters) => Promise<ReconnectReturnType>
|
|
33
|
+
}
|
|
34
|
+
>
|
|
35
|
+
|
|
36
|
+
export function useReconnect<context = unknown>(
|
|
37
|
+
parameters: UseReconnectParameters<context> = {},
|
|
38
|
+
): UseReconnectReturnType<context> {
|
|
39
|
+
const config = useConfig(parameters)
|
|
40
|
+
|
|
41
|
+
const mutation = useMutation({
|
|
42
|
+
mutationKey: ['reconnect'],
|
|
43
|
+
mutationFn: (variables: ReconnectParameters = {}) =>
|
|
44
|
+
reconnect(config, variables),
|
|
45
|
+
...parameters.mutation,
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
type Return = UseReconnectReturnType<context>
|
|
49
|
+
return {
|
|
50
|
+
...(mutation as unknown as Return),
|
|
51
|
+
reconnect: mutation.mutate as Return['reconnect'],
|
|
52
|
+
reconnectAsync: mutation.mutateAsync as Return['reconnectAsync'],
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useRegisterOracle } from './useRegisterOracle.js'
|
|
3
|
+
|
|
4
|
+
describe('useRegisterOracle', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useRegisterOracle).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useRegisterOracle).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useMutation } from '@tanstack/react-query'
|
|
4
|
+
import {
|
|
5
|
+
type RegisterOracleParameters,
|
|
6
|
+
type RegisterOracleReturnType,
|
|
7
|
+
registerOracle,
|
|
8
|
+
} from '@growae/reactive'
|
|
9
|
+
import type { Compute } from '@growae/reactive'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
12
|
+
import { useConfig } from './useConfig.js'
|
|
13
|
+
|
|
14
|
+
export type UseRegisterOracleParameters<context = unknown> = Compute<
|
|
15
|
+
ConfigParameter & {
|
|
16
|
+
mutation?: {
|
|
17
|
+
onSuccess?: (data: RegisterOracleReturnType, variables: RegisterOracleParameters, context: context) => void
|
|
18
|
+
onError?: (error: Error, variables: RegisterOracleParameters, context: context) => void
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export type UseRegisterOracleReturnType<context = unknown> = Compute<
|
|
24
|
+
UseMutationReturnType<
|
|
25
|
+
RegisterOracleReturnType,
|
|
26
|
+
Error,
|
|
27
|
+
RegisterOracleParameters,
|
|
28
|
+
context
|
|
29
|
+
> & {
|
|
30
|
+
registerOracle: (variables: RegisterOracleParameters) => void
|
|
31
|
+
registerOracleAsync: (variables: RegisterOracleParameters) => Promise<RegisterOracleReturnType>
|
|
32
|
+
}
|
|
33
|
+
>
|
|
34
|
+
|
|
35
|
+
export function useRegisterOracle<context = unknown>(
|
|
36
|
+
parameters: UseRegisterOracleParameters<context> = {},
|
|
37
|
+
): UseRegisterOracleReturnType<context> {
|
|
38
|
+
const config = useConfig(parameters)
|
|
39
|
+
|
|
40
|
+
const mutation = useMutation({
|
|
41
|
+
mutationKey: ['registerOracle'],
|
|
42
|
+
mutationFn: (variables: RegisterOracleParameters) =>
|
|
43
|
+
registerOracle(config, variables),
|
|
44
|
+
...parameters.mutation,
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
type Return = UseRegisterOracleReturnType<context>
|
|
48
|
+
return {
|
|
49
|
+
...(mutation as unknown as Return),
|
|
50
|
+
registerOracle: mutation.mutate as Return['registerOracle'],
|
|
51
|
+
registerOracleAsync: mutation.mutateAsync as Return['registerOracleAsync'],
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useResolveName } from './useResolveName.js'
|
|
3
|
+
|
|
4
|
+
describe('useResolveName', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useResolveName).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useResolveName).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
type ResolveNameParameters,
|
|
5
|
+
type ResolveNameReturnType,
|
|
6
|
+
resolveName,
|
|
7
|
+
} from '@growae/reactive'
|
|
8
|
+
import type { Compute } from '@growae/reactive'
|
|
9
|
+
import { type UseQueryReturnType, useQuery } from '../utils/query.js'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import { useConfig } from './useConfig.js'
|
|
12
|
+
import { useNetworkId } from './useNetworkId.js'
|
|
13
|
+
|
|
14
|
+
export type UseResolveNameParameters = Compute<
|
|
15
|
+
ResolveNameParameters & ConfigParameter & { enabled?: boolean }
|
|
16
|
+
>
|
|
17
|
+
|
|
18
|
+
export type UseResolveNameReturnType = UseQueryReturnType<
|
|
19
|
+
ResolveNameReturnType,
|
|
20
|
+
Error
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export function useResolveName(
|
|
24
|
+
parameters: UseResolveNameParameters = {} as UseResolveNameParameters,
|
|
25
|
+
): UseResolveNameReturnType {
|
|
26
|
+
const config = useConfig(parameters)
|
|
27
|
+
const networkId = useNetworkId({ config })
|
|
28
|
+
|
|
29
|
+
return useQuery({
|
|
30
|
+
queryKey: ['resolveName', {
|
|
31
|
+
name: parameters.name,
|
|
32
|
+
key: parameters.key,
|
|
33
|
+
networkId: parameters.networkId ?? networkId,
|
|
34
|
+
}],
|
|
35
|
+
queryFn: () => resolveName(config, {
|
|
36
|
+
...parameters,
|
|
37
|
+
networkId: parameters.networkId ?? networkId,
|
|
38
|
+
}),
|
|
39
|
+
enabled: Boolean(parameters.name) && (parameters.enabled ?? true),
|
|
40
|
+
}) as UseResolveNameReturnType
|
|
41
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useRespondToQuery } from './useRespondToQuery.js'
|
|
3
|
+
|
|
4
|
+
describe('useRespondToQuery', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useRespondToQuery).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useRespondToQuery).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useMutation } from '@tanstack/react-query'
|
|
4
|
+
import {
|
|
5
|
+
type RespondToQueryParameters,
|
|
6
|
+
type RespondToQueryReturnType,
|
|
7
|
+
respondToQuery,
|
|
8
|
+
} from '@growae/reactive'
|
|
9
|
+
import type { Compute } from '@growae/reactive'
|
|
10
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
11
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
12
|
+
import { useConfig } from './useConfig.js'
|
|
13
|
+
|
|
14
|
+
export type UseRespondToQueryParameters<context = unknown> = Compute<
|
|
15
|
+
ConfigParameter & {
|
|
16
|
+
mutation?: {
|
|
17
|
+
onSuccess?: (data: RespondToQueryReturnType, variables: RespondToQueryParameters, context: context) => void
|
|
18
|
+
onError?: (error: Error, variables: RespondToQueryParameters, context: context) => void
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export type UseRespondToQueryReturnType<context = unknown> = Compute<
|
|
24
|
+
UseMutationReturnType<
|
|
25
|
+
RespondToQueryReturnType,
|
|
26
|
+
Error,
|
|
27
|
+
RespondToQueryParameters,
|
|
28
|
+
context
|
|
29
|
+
> & {
|
|
30
|
+
respondToQuery: (variables: RespondToQueryParameters) => void
|
|
31
|
+
respondToQueryAsync: (variables: RespondToQueryParameters) => Promise<RespondToQueryReturnType>
|
|
32
|
+
}
|
|
33
|
+
>
|
|
34
|
+
|
|
35
|
+
export function useRespondToQuery<context = unknown>(
|
|
36
|
+
parameters: UseRespondToQueryParameters<context> = {},
|
|
37
|
+
): UseRespondToQueryReturnType<context> {
|
|
38
|
+
const config = useConfig(parameters)
|
|
39
|
+
|
|
40
|
+
const mutation = useMutation({
|
|
41
|
+
mutationKey: ['respondToQuery'],
|
|
42
|
+
mutationFn: (variables: RespondToQueryParameters) =>
|
|
43
|
+
respondToQuery(config, variables),
|
|
44
|
+
...parameters.mutation,
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
type Return = UseRespondToQueryReturnType<context>
|
|
48
|
+
return {
|
|
49
|
+
...(mutation as unknown as Return),
|
|
50
|
+
respondToQuery: mutation.mutate as Return['respondToQuery'],
|
|
51
|
+
respondToQueryAsync: mutation.mutateAsync as Return['respondToQueryAsync'],
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { useRevokeName } from './useRevokeName.js'
|
|
3
|
+
|
|
4
|
+
describe('useRevokeName', () => {
|
|
5
|
+
it('should be a function', () => {
|
|
6
|
+
expect(typeof useRevokeName).toBe('function')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('should be exported', () => {
|
|
10
|
+
expect(useRevokeName).toBeDefined()
|
|
11
|
+
})
|
|
12
|
+
})
|