@wagmi/solid 0.0.12 → 0.0.14
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/dist/esm/exports/index.js +7 -0
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/primitives/useInfiniteReadContracts.js +27 -0
- package/dist/esm/primitives/useInfiniteReadContracts.js.map +1 -0
- package/dist/esm/primitives/useReadContract.js +16 -0
- package/dist/esm/primitives/useReadContract.js.map +1 -0
- package/dist/esm/primitives/useReadContracts.js +22 -0
- package/dist/esm/primitives/useReadContracts.js.map +1 -0
- package/dist/esm/primitives/useSimulateContract.js +20 -0
- package/dist/esm/primitives/useSimulateContract.js.map +1 -0
- package/dist/esm/primitives/useWatchContractEvent.js +23 -0
- package/dist/esm/primitives/useWatchContractEvent.js.map +1 -0
- package/dist/esm/primitives/useWriteContract.js +18 -0
- package/dist/esm/primitives/useWriteContract.js.map +1 -0
- package/dist/esm/primitives/useWriteContractSync.js +18 -0
- package/dist/esm/primitives/useWriteContractSync.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/exports/index.d.ts +7 -0
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/primitives/useInfiniteReadContracts.d.ts +19 -0
- package/dist/types/primitives/useInfiniteReadContracts.d.ts.map +1 -0
- package/dist/types/primitives/useReadContract.d.ts +14 -0
- package/dist/types/primitives/useReadContract.d.ts.map +1 -0
- package/dist/types/primitives/useReadContracts.d.ts +14 -0
- package/dist/types/primitives/useReadContracts.d.ts.map +1 -0
- package/dist/types/primitives/useSimulateContract.d.ts +14 -0
- package/dist/types/primitives/useSimulateContract.d.ts.map +1 -0
- package/dist/types/primitives/useWatchContractEvent.d.ts +12 -0
- package/dist/types/primitives/useWatchContractEvent.d.ts.map +1 -0
- package/dist/types/primitives/useWriteContract.d.ts +19 -0
- package/dist/types/primitives/useWriteContract.d.ts.map +1 -0
- package/dist/types/primitives/useWriteContractSync.d.ts +19 -0
- package/dist/types/primitives/useWriteContractSync.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
- package/src/exports/index.ts +14 -0
- package/src/primitives/useInfiniteReadContracts.ts +123 -0
- package/src/primitives/useReadContract.ts +93 -0
- package/src/primitives/useReadContracts.ts +82 -0
- package/src/primitives/useSimulateContract.ts +121 -0
- package/src/primitives/useWatchContractEvent.ts +82 -0
- package/src/primitives/useWriteContract.ts +78 -0
- package/src/primitives/useWriteContractSync.ts +80 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Config,
|
|
3
|
+
ResolvedRegister,
|
|
4
|
+
SimulateContractErrorType,
|
|
5
|
+
} from '@wagmi/core'
|
|
6
|
+
import type { ConfigParameter } from '@wagmi/core/internal'
|
|
7
|
+
import {
|
|
8
|
+
type SimulateContractData,
|
|
9
|
+
type SimulateContractOptions,
|
|
10
|
+
simulateContractQueryOptions,
|
|
11
|
+
} from '@wagmi/core/query'
|
|
12
|
+
import type { Accessor } from 'solid-js'
|
|
13
|
+
import { createMemo } from 'solid-js'
|
|
14
|
+
import type { Abi, ContractFunctionArgs, ContractFunctionName } from 'viem'
|
|
15
|
+
import { type UseQueryReturnType, useQuery } from '../utils/query.js'
|
|
16
|
+
import { useChainId } from './useChainId.js'
|
|
17
|
+
import { useConfig } from './useConfig.js'
|
|
18
|
+
import { useConnection } from './useConnection.js'
|
|
19
|
+
|
|
20
|
+
/** https://wagmi.sh/solid/api/primitives/useSimulateContract */
|
|
21
|
+
export function useSimulateContract<
|
|
22
|
+
const abi extends Abi | readonly unknown[],
|
|
23
|
+
functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>,
|
|
24
|
+
const args extends ContractFunctionArgs<
|
|
25
|
+
abi,
|
|
26
|
+
'nonpayable' | 'payable',
|
|
27
|
+
functionName
|
|
28
|
+
>,
|
|
29
|
+
config extends Config = ResolvedRegister['config'],
|
|
30
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
31
|
+
selectData = SimulateContractData<abi, functionName, args, config, chainId>,
|
|
32
|
+
>(
|
|
33
|
+
parameters: useSimulateContract.Parameters<
|
|
34
|
+
abi,
|
|
35
|
+
functionName,
|
|
36
|
+
args,
|
|
37
|
+
config,
|
|
38
|
+
chainId,
|
|
39
|
+
selectData
|
|
40
|
+
> = () => ({}) as any,
|
|
41
|
+
): useSimulateContract.ReturnType<
|
|
42
|
+
abi,
|
|
43
|
+
functionName,
|
|
44
|
+
args,
|
|
45
|
+
config,
|
|
46
|
+
chainId,
|
|
47
|
+
selectData
|
|
48
|
+
> {
|
|
49
|
+
const config = useConfig(parameters)
|
|
50
|
+
const connection = useConnection()
|
|
51
|
+
const chainId = useChainId(() => ({ config: config() }))
|
|
52
|
+
const options = createMemo(() =>
|
|
53
|
+
simulateContractQueryOptions(config(), {
|
|
54
|
+
...(parameters() as any),
|
|
55
|
+
account: parameters().account ?? connection().address,
|
|
56
|
+
chainId: parameters().chainId ?? chainId(),
|
|
57
|
+
connector: parameters().connector ?? connection().connector,
|
|
58
|
+
}),
|
|
59
|
+
)
|
|
60
|
+
return useQuery(options) as any
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export namespace useSimulateContract {
|
|
64
|
+
export type Parameters<
|
|
65
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
66
|
+
functionName extends ContractFunctionName<
|
|
67
|
+
abi,
|
|
68
|
+
'nonpayable' | 'payable'
|
|
69
|
+
> = ContractFunctionName<abi, 'nonpayable' | 'payable'>,
|
|
70
|
+
args extends ContractFunctionArgs<
|
|
71
|
+
abi,
|
|
72
|
+
'nonpayable' | 'payable',
|
|
73
|
+
functionName
|
|
74
|
+
> = ContractFunctionArgs<abi, 'nonpayable' | 'payable', functionName>,
|
|
75
|
+
config extends Config = Config,
|
|
76
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
77
|
+
selectData = SimulateContractData<abi, functionName, args, config, chainId>,
|
|
78
|
+
> = Accessor<
|
|
79
|
+
SolidParameters<abi, functionName, args, config, chainId, selectData>
|
|
80
|
+
>
|
|
81
|
+
|
|
82
|
+
export type ReturnType<
|
|
83
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
84
|
+
functionName extends ContractFunctionName<
|
|
85
|
+
abi,
|
|
86
|
+
'nonpayable' | 'payable'
|
|
87
|
+
> = ContractFunctionName<abi, 'nonpayable' | 'payable'>,
|
|
88
|
+
args extends ContractFunctionArgs<
|
|
89
|
+
abi,
|
|
90
|
+
'nonpayable' | 'payable',
|
|
91
|
+
functionName
|
|
92
|
+
> = ContractFunctionArgs<abi, 'nonpayable' | 'payable', functionName>,
|
|
93
|
+
config extends Config = Config,
|
|
94
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
95
|
+
selectData = SimulateContractData<abi, functionName, args, config, chainId>,
|
|
96
|
+
> = UseQueryReturnType<selectData, SimulateContractErrorType>
|
|
97
|
+
|
|
98
|
+
export type SolidParameters<
|
|
99
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
100
|
+
functionName extends ContractFunctionName<
|
|
101
|
+
abi,
|
|
102
|
+
'nonpayable' | 'payable'
|
|
103
|
+
> = ContractFunctionName<abi, 'nonpayable' | 'payable'>,
|
|
104
|
+
args extends ContractFunctionArgs<
|
|
105
|
+
abi,
|
|
106
|
+
'nonpayable' | 'payable',
|
|
107
|
+
functionName
|
|
108
|
+
> = ContractFunctionArgs<abi, 'nonpayable' | 'payable', functionName>,
|
|
109
|
+
config extends Config = Config,
|
|
110
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
111
|
+
selectData = SimulateContractData<abi, functionName, args, config, chainId>,
|
|
112
|
+
> = SimulateContractOptions<
|
|
113
|
+
abi,
|
|
114
|
+
functionName,
|
|
115
|
+
args,
|
|
116
|
+
config,
|
|
117
|
+
chainId,
|
|
118
|
+
selectData
|
|
119
|
+
> &
|
|
120
|
+
ConfigParameter<config>
|
|
121
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Config,
|
|
3
|
+
type ResolvedRegister,
|
|
4
|
+
type WatchContractEventParameters,
|
|
5
|
+
watchContractEvent,
|
|
6
|
+
} from '@wagmi/core'
|
|
7
|
+
import type {
|
|
8
|
+
ConfigParameter,
|
|
9
|
+
EnabledParameter,
|
|
10
|
+
UnionCompute,
|
|
11
|
+
UnionExactPartial,
|
|
12
|
+
} from '@wagmi/core/internal'
|
|
13
|
+
import { type Accessor, createEffect, onCleanup } from 'solid-js'
|
|
14
|
+
import type { Abi, ContractEventName } from 'viem'
|
|
15
|
+
import { useChainId } from './useChainId.js'
|
|
16
|
+
import { useConfig } from './useConfig.js'
|
|
17
|
+
|
|
18
|
+
/** https://wagmi.sh/solid/api/primitives/useWatchContractEvent */
|
|
19
|
+
export function useWatchContractEvent<
|
|
20
|
+
const abi extends Abi | readonly unknown[],
|
|
21
|
+
eventName extends ContractEventName<abi>,
|
|
22
|
+
strict extends boolean | undefined = undefined,
|
|
23
|
+
config extends Config = ResolvedRegister['config'],
|
|
24
|
+
chainId extends
|
|
25
|
+
config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
26
|
+
>(
|
|
27
|
+
parameters: useWatchContractEvent.Parameters<
|
|
28
|
+
abi,
|
|
29
|
+
eventName,
|
|
30
|
+
strict,
|
|
31
|
+
config,
|
|
32
|
+
chainId
|
|
33
|
+
> = () => ({}) as any,
|
|
34
|
+
): useWatchContractEvent.ReturnType {
|
|
35
|
+
const config = useConfig(parameters)
|
|
36
|
+
const configChainId = useChainId(() => ({ config: config() }))
|
|
37
|
+
createEffect(() => {
|
|
38
|
+
const {
|
|
39
|
+
config: _,
|
|
40
|
+
chainId = configChainId(),
|
|
41
|
+
enabled = true,
|
|
42
|
+
onLogs,
|
|
43
|
+
...rest
|
|
44
|
+
} = parameters()
|
|
45
|
+
if (!enabled) return
|
|
46
|
+
if (!onLogs) return
|
|
47
|
+
const unwatch = watchContractEvent(config(), {
|
|
48
|
+
...(rest as any),
|
|
49
|
+
chainId,
|
|
50
|
+
onLogs,
|
|
51
|
+
})
|
|
52
|
+
onCleanup(() => unwatch())
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export namespace useWatchContractEvent {
|
|
57
|
+
export type Parameters<
|
|
58
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
59
|
+
eventName extends ContractEventName<abi> = ContractEventName<abi>,
|
|
60
|
+
strict extends boolean | undefined = undefined,
|
|
61
|
+
config extends Config = Config,
|
|
62
|
+
chainId extends
|
|
63
|
+
config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
64
|
+
> = Accessor<SolidParameters<abi, eventName, strict, config, chainId>>
|
|
65
|
+
|
|
66
|
+
export type ReturnType = void
|
|
67
|
+
|
|
68
|
+
export type SolidParameters<
|
|
69
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
70
|
+
eventName extends ContractEventName<abi> = ContractEventName<abi>,
|
|
71
|
+
strict extends boolean | undefined = undefined,
|
|
72
|
+
config extends Config = Config,
|
|
73
|
+
chainId extends
|
|
74
|
+
config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
75
|
+
> = UnionCompute<
|
|
76
|
+
UnionExactPartial<
|
|
77
|
+
WatchContractEventParameters<abi, eventName, strict, config, chainId>
|
|
78
|
+
> &
|
|
79
|
+
ConfigParameter<config> &
|
|
80
|
+
EnabledParameter
|
|
81
|
+
>
|
|
82
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Config,
|
|
3
|
+
ResolvedRegister,
|
|
4
|
+
WriteContractErrorType,
|
|
5
|
+
} from '@wagmi/core'
|
|
6
|
+
import type { Compute, ConfigParameter } from '@wagmi/core/internal'
|
|
7
|
+
import {
|
|
8
|
+
type WriteContractData,
|
|
9
|
+
type WriteContractMutate,
|
|
10
|
+
type WriteContractMutateAsync,
|
|
11
|
+
type WriteContractOptions,
|
|
12
|
+
type WriteContractVariables,
|
|
13
|
+
writeContractMutationOptions,
|
|
14
|
+
} from '@wagmi/core/query'
|
|
15
|
+
import type { Accessor } from 'solid-js'
|
|
16
|
+
import { mergeProps } from 'solid-js'
|
|
17
|
+
import type { Abi } from 'viem'
|
|
18
|
+
import { type UseMutationReturnType, useMutation } from '../utils/query.js'
|
|
19
|
+
import { useConfig } from './useConfig.js'
|
|
20
|
+
|
|
21
|
+
/** https://wagmi.sh/solid/api/primitives/useWriteContract */
|
|
22
|
+
export function useWriteContract<
|
|
23
|
+
config extends Config = ResolvedRegister['config'],
|
|
24
|
+
context = unknown,
|
|
25
|
+
>(
|
|
26
|
+
parameters: useWriteContract.Parameters<config, context> = () => ({}),
|
|
27
|
+
): useWriteContract.ReturnType<config, context> {
|
|
28
|
+
const config = useConfig(parameters)
|
|
29
|
+
const mutation = useMutation(() =>
|
|
30
|
+
writeContractMutationOptions(config(), parameters()),
|
|
31
|
+
)
|
|
32
|
+
type Return = useWriteContract.ReturnType<config, context>
|
|
33
|
+
return mergeProps(mutation, {
|
|
34
|
+
get writeContract() {
|
|
35
|
+
return mutation.mutate as Return['mutate']
|
|
36
|
+
},
|
|
37
|
+
get writeContractAsync() {
|
|
38
|
+
return mutation.mutateAsync as Return['mutateAsync']
|
|
39
|
+
},
|
|
40
|
+
}) as unknown as Return
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export namespace useWriteContract {
|
|
44
|
+
export type Parameters<
|
|
45
|
+
config extends Config = Config,
|
|
46
|
+
context = unknown,
|
|
47
|
+
> = Accessor<SolidParameters<config, context>>
|
|
48
|
+
|
|
49
|
+
export type ReturnType<
|
|
50
|
+
config extends Config = Config,
|
|
51
|
+
context = unknown,
|
|
52
|
+
> = Compute<
|
|
53
|
+
UseMutationReturnType<
|
|
54
|
+
WriteContractData,
|
|
55
|
+
WriteContractErrorType,
|
|
56
|
+
WriteContractVariables<
|
|
57
|
+
Abi,
|
|
58
|
+
string,
|
|
59
|
+
readonly unknown[],
|
|
60
|
+
config,
|
|
61
|
+
config['chains'][number]['id']
|
|
62
|
+
>,
|
|
63
|
+
context,
|
|
64
|
+
WriteContractMutate<config, context>,
|
|
65
|
+
WriteContractMutateAsync<config, context>
|
|
66
|
+
> & {
|
|
67
|
+
/** @deprecated use `mutate` instead */
|
|
68
|
+
writeContract: WriteContractMutate<config, context>
|
|
69
|
+
/** @deprecated use `mutateAsync` instead */
|
|
70
|
+
writeContractAsync: WriteContractMutateAsync<config, context>
|
|
71
|
+
}
|
|
72
|
+
>
|
|
73
|
+
|
|
74
|
+
export type SolidParameters<
|
|
75
|
+
config extends Config = Config,
|
|
76
|
+
context = unknown,
|
|
77
|
+
> = Compute<ConfigParameter<config> & WriteContractOptions<config, context>>
|
|
78
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Config,
|
|
3
|
+
ResolvedRegister,
|
|
4
|
+
WriteContractSyncErrorType,
|
|
5
|
+
} from '@wagmi/core'
|
|
6
|
+
import type { Compute, ConfigParameter } from '@wagmi/core/internal'
|
|
7
|
+
import {
|
|
8
|
+
type WriteContractSyncData,
|
|
9
|
+
type WriteContractSyncMutate,
|
|
10
|
+
type WriteContractSyncMutateAsync,
|
|
11
|
+
type WriteContractSyncOptions,
|
|
12
|
+
type WriteContractSyncVariables,
|
|
13
|
+
writeContractSyncMutationOptions,
|
|
14
|
+
} from '@wagmi/core/query'
|
|
15
|
+
import type { Accessor } from 'solid-js'
|
|
16
|
+
import { mergeProps } from 'solid-js'
|
|
17
|
+
import type { Abi } from 'viem'
|
|
18
|
+
import { type UseMutationReturnType, useMutation } from '../utils/query.js'
|
|
19
|
+
import { useConfig } from './useConfig.js'
|
|
20
|
+
|
|
21
|
+
/** https://wagmi.sh/solid/api/primitives/useWriteContractSync */
|
|
22
|
+
export function useWriteContractSync<
|
|
23
|
+
config extends Config = ResolvedRegister['config'],
|
|
24
|
+
context = unknown,
|
|
25
|
+
>(
|
|
26
|
+
parameters: useWriteContractSync.Parameters<config, context> = () => ({}),
|
|
27
|
+
): useWriteContractSync.ReturnType<config, context> {
|
|
28
|
+
const config = useConfig(parameters)
|
|
29
|
+
const mutation = useMutation(() =>
|
|
30
|
+
writeContractSyncMutationOptions(config(), parameters()),
|
|
31
|
+
)
|
|
32
|
+
type Return = useWriteContractSync.ReturnType<config, context>
|
|
33
|
+
return mergeProps(mutation, {
|
|
34
|
+
get writeContractSync() {
|
|
35
|
+
return mutation.mutate as Return['mutate']
|
|
36
|
+
},
|
|
37
|
+
get writeContractSyncAsync() {
|
|
38
|
+
return mutation.mutateAsync as Return['mutateAsync']
|
|
39
|
+
},
|
|
40
|
+
}) as unknown as Return
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export namespace useWriteContractSync {
|
|
44
|
+
export type Parameters<
|
|
45
|
+
config extends Config = Config,
|
|
46
|
+
context = unknown,
|
|
47
|
+
> = Accessor<SolidParameters<config, context>>
|
|
48
|
+
|
|
49
|
+
export type ReturnType<
|
|
50
|
+
config extends Config = Config,
|
|
51
|
+
context = unknown,
|
|
52
|
+
> = Compute<
|
|
53
|
+
UseMutationReturnType<
|
|
54
|
+
WriteContractSyncData,
|
|
55
|
+
WriteContractSyncErrorType,
|
|
56
|
+
WriteContractSyncVariables<
|
|
57
|
+
Abi,
|
|
58
|
+
string,
|
|
59
|
+
readonly unknown[],
|
|
60
|
+
config,
|
|
61
|
+
config['chains'][number]['id']
|
|
62
|
+
>,
|
|
63
|
+
context,
|
|
64
|
+
WriteContractSyncMutate<config, context>,
|
|
65
|
+
WriteContractSyncMutateAsync<config, context>
|
|
66
|
+
> & {
|
|
67
|
+
/** @deprecated use `mutate` instead */
|
|
68
|
+
writeContractSync: WriteContractSyncMutate<config, context>
|
|
69
|
+
/** @deprecated use `mutateAsync` instead */
|
|
70
|
+
writeContractSyncAsync: WriteContractSyncMutateAsync<config, context>
|
|
71
|
+
}
|
|
72
|
+
>
|
|
73
|
+
|
|
74
|
+
export type SolidParameters<
|
|
75
|
+
config extends Config = Config,
|
|
76
|
+
context = unknown,
|
|
77
|
+
> = Compute<
|
|
78
|
+
ConfigParameter<config> & WriteContractSyncOptions<config, context>
|
|
79
|
+
>
|
|
80
|
+
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '0.0.
|
|
1
|
+
export const version = '0.0.14'
|