@jaw.id/wagmi 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.
@@ -0,0 +1,247 @@
1
+ import { type Config, type ResolvedRegister } from 'wagmi';
2
+ import { type UseMutationParameters, type UseQueryParameters, type UseQueryReturnType } from 'wagmi/query';
3
+ import { type UseMutationResult } from '@tanstack/react-query';
4
+ import { connect, disconnect, grantPermissions, getPermissions, revokePermissions, getAssets, getCapabilities, sign, getCallsHistory } from './core.js';
5
+ import { getPermissionsQueryKey, getAssetsQueryKey, getCapabilitiesQueryKey, getCallsHistoryQueryKey } from './query.js';
6
+ export declare namespace useConnect {
7
+ type Parameters<config extends Config = Config, context = unknown> = {
8
+ config?: config;
9
+ mutation?: UseMutationParameters<connect.ReturnType, connect.ErrorType, connect.Parameters, context> | undefined;
10
+ };
11
+ type ReturnType<context = unknown> = UseMutationResult<connect.ReturnType, connect.ErrorType, connect.Parameters, context>;
12
+ }
13
+ /**
14
+ * Hook to connect to the wallet with optional capabilities.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * const { mutate, data, isPending } = useConnect();
19
+ *
20
+ * // Basic connect
21
+ * mutate({ connector: jawWallet({ apiKey: 'xxx' }) });
22
+ *
23
+ * // Connect with capabilities (subname issuance)
24
+ * mutate({
25
+ * connector: jawWallet({ apiKey: 'xxx' }),
26
+ * capabilities: {
27
+ * subnameTextRecords: [
28
+ * { key: 'avatar', value: 'https://example.com/avatar.png' },
29
+ * ],
30
+ * },
31
+ * });
32
+ * ```
33
+ */
34
+ export declare function useConnect<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useConnect.Parameters<config, context>): useConnect.ReturnType<context>;
35
+ export declare namespace useGrantPermissions {
36
+ type Parameters<config extends Config = Config, context = unknown> = {
37
+ config?: config;
38
+ mutation?: UseMutationParameters<grantPermissions.ReturnType, grantPermissions.ErrorType, grantPermissions.Parameters<config>, context> | undefined;
39
+ };
40
+ type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<grantPermissions.ReturnType, grantPermissions.ErrorType, grantPermissions.Parameters<config>, context>;
41
+ }
42
+ /**
43
+ * Hook to grant permissions to a spender address.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * const { mutate, data, isPending } = useGrantPermissions();
48
+ *
49
+ * mutate({
50
+ * expiry: Math.floor(Date.now() / 1000) + 3600, // 1 hour
51
+ * spender: '0x...',
52
+ * permissions: {
53
+ * calls: [{ target: '0x...', functionSignature: 'transfer(address,uint256)' }],
54
+ * spends: [{ token: '0x...', allowance: '1000000000000000000', unit: 'hour', multiplier: 1 }],
55
+ * },
56
+ * });
57
+ * ```
58
+ */
59
+ export declare function useGrantPermissions<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useGrantPermissions.Parameters<config, context>): useGrantPermissions.ReturnType<config, context>;
60
+ export declare namespace useRevokePermissions {
61
+ type Parameters<config extends Config = Config, context = unknown> = {
62
+ config?: config;
63
+ mutation?: UseMutationParameters<revokePermissions.ReturnType, revokePermissions.ErrorType, revokePermissions.Parameters<config>, context> | undefined;
64
+ };
65
+ type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<revokePermissions.ReturnType, revokePermissions.ErrorType, revokePermissions.Parameters<config>, context>;
66
+ }
67
+ /**
68
+ * Hook to revoke a permission by its ID.
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * const { mutate, isPending } = useRevokePermissions();
73
+ *
74
+ * mutate({
75
+ * id: '0x...', // permission hash
76
+ * });
77
+ * ```
78
+ */
79
+ export declare function useRevokePermissions<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useRevokePermissions.Parameters<config, context>): useRevokePermissions.ReturnType<config, context>;
80
+ export declare namespace usePermissions {
81
+ type Parameters<config extends Config = Config, selectData = getPermissions.ReturnType> = getPermissions.Parameters<config> & {
82
+ config?: config;
83
+ query?: Omit<UseQueryParameters<getPermissions.ReturnType, getPermissions.ErrorType, selectData, getPermissionsQueryKey.Value<config>>, 'gcTime' | 'staleTime'> | undefined;
84
+ };
85
+ type ReturnType<selectData = getPermissions.ReturnType> = UseQueryReturnType<selectData, getPermissions.ErrorType>;
86
+ }
87
+ /**
88
+ * Hook to get the current permissions for an account.
89
+ * Automatically updates when permissions change.
90
+ *
91
+ * @example
92
+ * ```tsx
93
+ * const { data: permissions, isLoading } = usePermissions();
94
+ *
95
+ * // With specific address (works even when not connected)
96
+ * const { data } = usePermissions({ address: '0x...' });
97
+ * ```
98
+ */
99
+ export declare function usePermissions<config extends Config = ResolvedRegister['config'], selectData = getPermissions.ReturnType>(parameters?: usePermissions.Parameters<config, selectData>): usePermissions.ReturnType<selectData>;
100
+ export declare namespace useDisconnect {
101
+ type Parameters<config extends Config = Config, context = unknown> = {
102
+ config?: config;
103
+ mutation?: UseMutationParameters<disconnect.ReturnType, disconnect.ErrorType, disconnect.Parameters, context> | undefined;
104
+ };
105
+ type ReturnType<context = unknown> = UseMutationResult<disconnect.ReturnType, disconnect.ErrorType, disconnect.Parameters, context>;
106
+ }
107
+ /**
108
+ * Hook to disconnect from the wallet.
109
+ *
110
+ * @example
111
+ * ```tsx
112
+ * const { mutate: disconnectWallet, isPending } = useDisconnect();
113
+ *
114
+ * // Disconnect active connector
115
+ * disconnectWallet({});
116
+ *
117
+ * // Disconnect specific connector
118
+ * disconnectWallet({ connector: jawWallet({ apiKey: 'xxx' }) });
119
+ * ```
120
+ */
121
+ export declare function useDisconnect<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useDisconnect.Parameters<config, context>): useDisconnect.ReturnType<context>;
122
+ export declare namespace useGetAssets {
123
+ type Parameters<config extends Config = Config, selectData = getAssets.ReturnType> = getAssets.Parameters<config> & {
124
+ config?: config;
125
+ query?: Omit<UseQueryParameters<getAssets.ReturnType, getAssets.ErrorType, selectData, getAssetsQueryKey.Value<config>>, 'gcTime' | 'staleTime'> | undefined;
126
+ };
127
+ type ReturnType<selectData = getAssets.ReturnType> = UseQueryReturnType<selectData, getAssets.ErrorType>;
128
+ }
129
+ /**
130
+ * Hook to get the assets for an account.
131
+ * Automatically updates when assets change.
132
+ *
133
+ * @example
134
+ * ```tsx
135
+ * const { data: assets, isLoading } = useGetAssets();
136
+ *
137
+ * // With specific address (works even when not connected)
138
+ * const { data } = useGetAssets({ address: '0x...' });
139
+ *
140
+ * // With chain filter
141
+ * const { data } = useGetAssets({ chainFilter: ['0x1', '0xa'] });
142
+ *
143
+ * // With asset type filter
144
+ * const { data } = useGetAssets({ assetTypeFilter: ['erc20'] });
145
+ * ```
146
+ */
147
+ export declare function useGetAssets<config extends Config = ResolvedRegister['config'], selectData = getAssets.ReturnType>(parameters?: useGetAssets.Parameters<config, selectData>): useGetAssets.ReturnType<selectData>;
148
+ export declare namespace useCapabilities {
149
+ type Parameters<config extends Config = Config, selectData = getCapabilities.ReturnType> = getCapabilities.Parameters<config> & {
150
+ config?: config;
151
+ query?: Omit<UseQueryParameters<getCapabilities.ReturnType, getCapabilities.ErrorType, selectData, getCapabilitiesQueryKey.Value<config>>, 'gcTime' | 'staleTime'> | undefined;
152
+ };
153
+ type ReturnType<selectData = getCapabilities.ReturnType> = UseQueryReturnType<selectData, getCapabilities.ErrorType>;
154
+ }
155
+ /**
156
+ * Hook to get the wallet capabilities (EIP-5792).
157
+ * Can be called without a connected account.
158
+ *
159
+ * @example
160
+ * ```tsx
161
+ * // Get capabilities (uses connected account if available)
162
+ * const { data: capabilities, isLoading } = useCapabilities();
163
+ *
164
+ * // With specific address (works even when not connected)
165
+ * const { data } = useCapabilities({ address: '0x...' });
166
+ *
167
+ * // With chain filter
168
+ * const { data } = useCapabilities({ chainFilter: ['0x1', '0xa'] });
169
+ * ```
170
+ */
171
+ export declare function useCapabilities<config extends Config = ResolvedRegister['config'], selectData = getCapabilities.ReturnType>(parameters?: useCapabilities.Parameters<config, selectData>): useCapabilities.ReturnType<selectData>;
172
+ export declare namespace useSign {
173
+ type Parameters<config extends Config = Config, context = unknown> = {
174
+ config?: config;
175
+ mutation?: UseMutationParameters<sign.ReturnType, sign.ErrorType, sign.Parameters<config>, context> | undefined;
176
+ };
177
+ type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<sign.ReturnType, sign.ErrorType, sign.Parameters<config>, context>;
178
+ }
179
+ /**
180
+ * Hook to sign messages using the unified wallet_sign method (ERC-7871).
181
+ * This combines the functionality of useSignMessage and useSignTypedData.
182
+ *
183
+ * @example
184
+ * ```tsx
185
+ * const { mutate: signMessage, data: signature, isPending } = useSign();
186
+ *
187
+ * // Personal sign (EIP-191)
188
+ * signMessage({
189
+ * request: {
190
+ * type: '0x45',
191
+ * data: { message: 'Hello World' },
192
+ * },
193
+ * });
194
+ *
195
+ * // Typed data sign (EIP-712)
196
+ * signMessage({
197
+ * request: {
198
+ * type: '0x01',
199
+ * data: {
200
+ * types: { ... },
201
+ * primaryType: 'Mail',
202
+ * domain: { ... },
203
+ * message: { ... },
204
+ * },
205
+ * },
206
+ * });
207
+ *
208
+ * // Sign on a specific chain (useful for smart accounts)
209
+ * signMessage({
210
+ * chainId: 8453, // Base
211
+ * request: {
212
+ * type: '0x45',
213
+ * data: { message: 'Hello from Base' },
214
+ * },
215
+ * });
216
+ * ```
217
+ */
218
+ export declare function useSign<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useSign.Parameters<config, context>): useSign.ReturnType<config, context>;
219
+ export declare namespace useGetCallsHistory {
220
+ type Parameters<config extends Config = Config, selectData = getCallsHistory.ReturnType> = getCallsHistory.Parameters<config> & {
221
+ config?: config;
222
+ query?: Omit<UseQueryParameters<getCallsHistory.ReturnType, getCallsHistory.ErrorType, selectData, getCallsHistoryQueryKey.Value<config>>, 'gcTime' | 'staleTime'> | undefined;
223
+ };
224
+ type ReturnType<selectData = getCallsHistory.ReturnType> = UseQueryReturnType<selectData, getCallsHistory.ErrorType>;
225
+ }
226
+ /**
227
+ * Hook to get the calls history for an account.
228
+ * Can be called without a connected account if address is provided.
229
+ *
230
+ * @example
231
+ * ```tsx
232
+ * // Get calls history for connected account
233
+ * const { data: history, isLoading } = useGetCallsHistory();
234
+ *
235
+ * // With specific address (works even when not connected)
236
+ * const { data } = useGetCallsHistory({ address: '0x...' });
237
+ *
238
+ * // With pagination
239
+ * const { data } = useGetCallsHistory({
240
+ * address: '0x...',
241
+ * limit: 10,
242
+ * sort: 'desc',
243
+ * });
244
+ * ```
245
+ */
246
+ export declare function useGetCallsHistory<config extends Config = ResolvedRegister['config'], selectData = getCallsHistory.ReturnType>(parameters?: useGetCallsHistory.Parameters<config, selectData>): useGetCallsHistory.ReturnType<selectData>;
247
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/react.ts"],"names":[],"mappings":"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"}