wagmi 3.1.4 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/esm/exports/tempo.js +9 -0
  2. package/dist/esm/exports/tempo.js.map +1 -0
  3. package/dist/esm/tempo/Hooks/amm.js +534 -0
  4. package/dist/esm/tempo/Hooks/amm.js.map +1 -0
  5. package/dist/esm/tempo/Hooks/dex.js +944 -0
  6. package/dist/esm/tempo/Hooks/dex.js.map +1 -0
  7. package/dist/esm/tempo/Hooks/faucet.js +76 -0
  8. package/dist/esm/tempo/Hooks/faucet.js.map +1 -0
  9. package/dist/esm/tempo/Hooks/fee.js +155 -0
  10. package/dist/esm/tempo/Hooks/fee.js.map +1 -0
  11. package/dist/esm/tempo/Hooks/index.js +11 -0
  12. package/dist/esm/tempo/Hooks/index.js.map +1 -0
  13. package/dist/esm/tempo/Hooks/nonce.js +165 -0
  14. package/dist/esm/tempo/Hooks/nonce.js.map +1 -0
  15. package/dist/esm/tempo/Hooks/policy.js +545 -0
  16. package/dist/esm/tempo/Hooks/policy.js.map +1 -0
  17. package/dist/esm/tempo/Hooks/reward.js +385 -0
  18. package/dist/esm/tempo/Hooks/reward.js.map +1 -0
  19. package/dist/esm/tempo/Hooks/token.js +1730 -0
  20. package/dist/esm/tempo/Hooks/token.js.map +1 -0
  21. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  22. package/dist/esm/version.js +1 -1
  23. package/dist/types/exports/tempo.d.ts +4 -0
  24. package/dist/types/exports/tempo.d.ts.map +1 -0
  25. package/dist/types/tempo/Hooks/amm.d.ts +410 -0
  26. package/dist/types/tempo/Hooks/amm.d.ts.map +1 -0
  27. package/dist/types/tempo/Hooks/dex.d.ts +773 -0
  28. package/dist/types/tempo/Hooks/dex.d.ts.map +1 -0
  29. package/dist/types/tempo/Hooks/faucet.d.ts +70 -0
  30. package/dist/types/tempo/Hooks/faucet.d.ts.map +1 -0
  31. package/dist/types/tempo/Hooks/fee.d.ts +123 -0
  32. package/dist/types/tempo/Hooks/fee.d.ts.map +1 -0
  33. package/dist/types/tempo/Hooks/index.d.ts +10 -0
  34. package/dist/types/tempo/Hooks/index.d.ts.map +1 -0
  35. package/dist/types/tempo/Hooks/nonce.d.ts +115 -0
  36. package/dist/types/tempo/Hooks/nonce.d.ts.map +1 -0
  37. package/dist/types/tempo/Hooks/policy.d.ts +422 -0
  38. package/dist/types/tempo/Hooks/policy.d.ts.map +1 -0
  39. package/dist/types/tempo/Hooks/reward.d.ts +304 -0
  40. package/dist/types/tempo/Hooks/reward.d.ts.map +1 -0
  41. package/dist/types/tempo/Hooks/token.d.ts +1387 -0
  42. package/dist/types/tempo/Hooks/token.d.ts.map +1 -0
  43. package/dist/types/version.d.ts +1 -1
  44. package/package.json +12 -4
  45. package/src/exports/tempo.ts +17 -0
  46. package/src/tempo/Hooks/amm.ts +835 -0
  47. package/src/tempo/Hooks/dex.ts +1597 -0
  48. package/src/tempo/Hooks/faucet.ts +142 -0
  49. package/src/tempo/Hooks/fee.ts +264 -0
  50. package/src/tempo/Hooks/index.ts +10 -0
  51. package/src/tempo/Hooks/nonce.ts +248 -0
  52. package/src/tempo/Hooks/policy.ts +907 -0
  53. package/src/tempo/Hooks/reward.ts +668 -0
  54. package/src/tempo/Hooks/token.ts +2979 -0
  55. package/src/version.ts +1 -1
  56. package/tempo/package.json +5 -0
@@ -0,0 +1,385 @@
1
+ import { Actions } from '@wagmi/core/tempo';
2
+ import { useEffect } from 'react';
3
+ import { useChainId } from '../../hooks/useChainId.js';
4
+ import { useConfig } from '../../hooks/useConfig.js';
5
+ import { useMutation, useQuery, } from '../../utils/query.js';
6
+ /**
7
+ * Hook for claiming accumulated rewards.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { Hooks } from 'wagmi/tempo'
12
+ *
13
+ * function App() {
14
+ * const { mutate: claim } = Hooks.reward.useClaim()
15
+ *
16
+ * return (
17
+ * <button onClick={() => claim({
18
+ * token: '0x20c0000000000000000000000000000000000001'
19
+ * })}>
20
+ * Claim Rewards
21
+ * </button>
22
+ * )
23
+ * }
24
+ * ```
25
+ *
26
+ * @param parameters - Parameters.
27
+ * @returns Mutation result.
28
+ */
29
+ export function useClaim(parameters = {}) {
30
+ const { mutation } = parameters;
31
+ const config = useConfig(parameters);
32
+ return useMutation({
33
+ ...mutation,
34
+ async mutationFn(variables) {
35
+ return Actions.reward.claim(config, variables);
36
+ },
37
+ mutationKey: ['claim'],
38
+ });
39
+ }
40
+ /**
41
+ * Hook for claiming accumulated rewards and waiting for confirmation.
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * import { Hooks } from 'wagmi/tempo'
46
+ *
47
+ * function App() {
48
+ * const { mutate: claimSync } = Hooks.reward.useClaimSync()
49
+ *
50
+ * return (
51
+ * <button onClick={() => claimSync({
52
+ * token: '0x20c0000000000000000000000000000000000001'
53
+ * })}>
54
+ * Claim Rewards
55
+ * </button>
56
+ * )
57
+ * }
58
+ * ```
59
+ *
60
+ * @param parameters - Parameters.
61
+ * @returns Mutation result.
62
+ */
63
+ export function useClaimSync(parameters = {}) {
64
+ const { mutation } = parameters;
65
+ const config = useConfig(parameters);
66
+ return useMutation({
67
+ ...mutation,
68
+ async mutationFn(variables) {
69
+ return Actions.reward.claimSync(config, variables);
70
+ },
71
+ mutationKey: ['claimSync'],
72
+ });
73
+ }
74
+ /**
75
+ * Hook for getting the total reward per second rate.
76
+ *
77
+ * @example
78
+ * ```tsx
79
+ * import { Hooks } from 'wagmi/tempo'
80
+ *
81
+ * function App() {
82
+ * const { data, isLoading } = Hooks.reward.useGetTotalPerSecond({
83
+ * token: '0x20c0000000000000000000000000000000000001',
84
+ * })
85
+ *
86
+ * if (isLoading) return <div>Loading...</div>
87
+ * return <div>Rate: {data?.toString()}</div>
88
+ * }
89
+ * ```
90
+ *
91
+ * @param parameters - Parameters.
92
+ * @returns Query result with total reward per second.
93
+ */
94
+ export function useGetTotalPerSecond(parameters = {}) {
95
+ const config = useConfig(parameters);
96
+ const chainId = useChainId({ config });
97
+ const options = Actions.reward.getTotalPerSecond.queryOptions(config, {
98
+ ...parameters,
99
+ chainId: parameters.chainId ?? chainId,
100
+ });
101
+ return useQuery(options);
102
+ }
103
+ /**
104
+ * Hook for getting the reward information for a specific account.
105
+ *
106
+ * @example
107
+ * ```tsx
108
+ * import { Hooks } from 'wagmi/tempo'
109
+ *
110
+ * function App() {
111
+ * const { data, isLoading } = Hooks.reward.useUserRewardInfo({
112
+ * token: '0x20c0000000000000000000000000000000000001',
113
+ * account: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
114
+ * })
115
+ *
116
+ * if (isLoading) return <div>Loading...</div>
117
+ * return (
118
+ * <div>
119
+ * <div>Recipient: {data?.rewardRecipient}</div>
120
+ * <div>Reward per token: {data?.rewardPerToken.toString()}</div>
121
+ * <div>Reward balance: {data?.rewardBalance.toString()}</div>
122
+ * </div>
123
+ * )
124
+ * }
125
+ * ```
126
+ *
127
+ * @param parameters - Parameters.
128
+ * @returns Query result with reward information (recipient, rewardPerToken, rewardBalance).
129
+ */
130
+ export function useUserRewardInfo(parameters = {}) {
131
+ const config = useConfig(parameters);
132
+ const chainId = useChainId({ config });
133
+ const options = Actions.reward.getUserRewardInfo.queryOptions(config, {
134
+ ...parameters,
135
+ chainId: parameters.chainId ?? chainId,
136
+ });
137
+ return useQuery(options);
138
+ }
139
+ /**
140
+ * Hook for setting the reward recipient for a token holder.
141
+ *
142
+ * @example
143
+ * ```tsx
144
+ * import { Hooks } from 'wagmi/tempo'
145
+ *
146
+ * function App() {
147
+ * const { mutate: setRecipient } = Hooks.reward.useSetRecipient()
148
+ *
149
+ * return (
150
+ * <button onClick={() => setRecipient({
151
+ * recipient: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
152
+ * token: '0x20c0000000000000000000000000000000000001',
153
+ * })}>
154
+ * Set Recipient
155
+ * </button>
156
+ * )
157
+ * }
158
+ * ```
159
+ *
160
+ * @param parameters - Parameters.
161
+ * @returns Mutation result.
162
+ */
163
+ export function useSetRecipient(parameters = {}) {
164
+ const { mutation } = parameters;
165
+ const config = useConfig(parameters);
166
+ return useMutation({
167
+ ...mutation,
168
+ async mutationFn(variables) {
169
+ return Actions.reward.setRecipient(config, variables);
170
+ },
171
+ mutationKey: ['setRecipient'],
172
+ });
173
+ }
174
+ /**
175
+ * Hook for setting the reward recipient and waiting for confirmation.
176
+ *
177
+ * @example
178
+ * ```tsx
179
+ * import { Hooks } from 'wagmi/tempo'
180
+ *
181
+ * function App() {
182
+ * const { mutate: setRecipientSync } = Hooks.reward.useSetRecipientSync()
183
+ *
184
+ * return (
185
+ * <button onClick={() => setRecipientSync({
186
+ * recipient: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
187
+ * token: '0x20c0000000000000000000000000000000000001',
188
+ * })}>
189
+ * Set Recipient
190
+ * </button>
191
+ * )
192
+ * }
193
+ * ```
194
+ *
195
+ * @param parameters - Parameters.
196
+ * @returns Mutation result.
197
+ */
198
+ export function useSetRecipientSync(parameters = {}) {
199
+ const { mutation } = parameters;
200
+ const config = useConfig(parameters);
201
+ return useMutation({
202
+ ...mutation,
203
+ async mutationFn(variables) {
204
+ return Actions.reward.setRecipientSync(config, variables);
205
+ },
206
+ mutationKey: ['setRecipientSync'],
207
+ });
208
+ }
209
+ /**
210
+ * Hook for starting a new reward stream.
211
+ *
212
+ * @example
213
+ * ```tsx
214
+ * import { Hooks } from 'wagmi/tempo'
215
+ *
216
+ * function App() {
217
+ * const { mutate: start } = Hooks.reward.useStart()
218
+ *
219
+ * return (
220
+ * <button onClick={() => start({
221
+ * amount: 100000000000000000000n,
222
+ * seconds: 86400,
223
+ * token: '0x20c0000000000000000000000000000000000001',
224
+ * })}>
225
+ * Start Reward
226
+ * </button>
227
+ * )
228
+ * }
229
+ * ```
230
+ *
231
+ * @param parameters - Parameters.
232
+ * @returns Mutation result.
233
+ */
234
+ export function useStart(parameters = {}) {
235
+ const { mutation } = parameters;
236
+ const config = useConfig(parameters);
237
+ return useMutation({
238
+ ...mutation,
239
+ async mutationFn(variables) {
240
+ return Actions.reward.start(config, variables);
241
+ },
242
+ mutationKey: ['start'],
243
+ });
244
+ }
245
+ /**
246
+ * Hook for starting a new reward stream and waiting for confirmation.
247
+ *
248
+ * @example
249
+ * ```tsx
250
+ * import { Hooks } from 'wagmi/tempo'
251
+ *
252
+ * function App() {
253
+ * const { mutate: startSync } = Hooks.reward.useStartSync()
254
+ *
255
+ * return (
256
+ * <button onClick={() => startSync({
257
+ * amount: 100000000000000000000n,
258
+ * seconds: 86400,
259
+ * token: '0x20c0000000000000000000000000000000000001',
260
+ * })}>
261
+ * Start Reward
262
+ * </button>
263
+ * )
264
+ * }
265
+ * ```
266
+ *
267
+ * @param parameters - Parameters.
268
+ * @returns Mutation result.
269
+ */
270
+ export function useStartSync(parameters = {}) {
271
+ const { mutation } = parameters;
272
+ const config = useConfig(parameters);
273
+ return useMutation({
274
+ ...mutation,
275
+ async mutationFn(variables) {
276
+ return Actions.reward.startSync(config, variables);
277
+ },
278
+ mutationKey: ['startSync'],
279
+ });
280
+ }
281
+ /**
282
+ * Hook for watching reward scheduled events.
283
+ *
284
+ * @example
285
+ * ```tsx
286
+ * import { Hooks } from 'wagmi/tempo'
287
+ *
288
+ * function App() {
289
+ * Hooks.reward.useWatchRewardScheduled({
290
+ * token: '0x20c0000000000000000000000000000000000001',
291
+ * onRewardScheduled(args) {
292
+ * console.log('Reward scheduled:', args)
293
+ * },
294
+ * })
295
+ *
296
+ * return <div>Watching for reward scheduled events...</div>
297
+ * }
298
+ * ```
299
+ *
300
+ * @param parameters - Parameters.
301
+ */
302
+ export function useWatchRewardScheduled(parameters = {}) {
303
+ const { enabled = true, onRewardScheduled, token, ...rest } = parameters;
304
+ const config = useConfig({ config: parameters.config });
305
+ const configChainId = useChainId({ config });
306
+ const chainId = parameters.chainId ?? configChainId;
307
+ // biome-ignore lint/correctness/useExhaustiveDependencies: rest.x is explicitly listed
308
+ useEffect(() => {
309
+ if (!enabled)
310
+ return;
311
+ if (!onRewardScheduled)
312
+ return;
313
+ if (!token)
314
+ return;
315
+ return Actions.reward.watchRewardScheduled(config, {
316
+ ...rest,
317
+ chainId,
318
+ onRewardScheduled,
319
+ token,
320
+ });
321
+ }, [
322
+ config,
323
+ enabled,
324
+ chainId,
325
+ token,
326
+ onRewardScheduled,
327
+ rest.fromBlock,
328
+ rest.onError,
329
+ rest.poll,
330
+ rest.pollingInterval,
331
+ ]);
332
+ }
333
+ /**
334
+ * Hook for watching reward recipient set events.
335
+ *
336
+ * @example
337
+ * ```tsx
338
+ * import { Hooks } from 'wagmi/tempo'
339
+ *
340
+ * function App() {
341
+ * Hooks.reward.useWatchRewardRecipientSet({
342
+ * token: '0x20c0000000000000000000000000000000000001',
343
+ * onRewardRecipientSet(args) {
344
+ * console.log('Reward recipient set:', args)
345
+ * },
346
+ * })
347
+ *
348
+ * return <div>Watching for reward recipient set events...</div>
349
+ * }
350
+ * ```
351
+ *
352
+ * @param parameters - Parameters.
353
+ */
354
+ export function useWatchRewardRecipientSet(parameters = {}) {
355
+ const { enabled = true, onRewardRecipientSet, token, ...rest } = parameters;
356
+ const config = useConfig({ config: parameters.config });
357
+ const configChainId = useChainId({ config });
358
+ const chainId = parameters.chainId ?? configChainId;
359
+ // biome-ignore lint/correctness/useExhaustiveDependencies: rest.x is explicitly listed
360
+ useEffect(() => {
361
+ if (!enabled)
362
+ return;
363
+ if (!onRewardRecipientSet)
364
+ return;
365
+ if (!token)
366
+ return;
367
+ return Actions.reward.watchRewardRecipientSet(config, {
368
+ ...rest,
369
+ chainId,
370
+ onRewardRecipientSet,
371
+ token,
372
+ });
373
+ }, [
374
+ config,
375
+ enabled,
376
+ chainId,
377
+ token,
378
+ onRewardRecipientSet,
379
+ rest.fromBlock,
380
+ rest.onError,
381
+ rest.poll,
382
+ rest.pollingInterval,
383
+ ]);
384
+ }
385
+ //# sourceMappingURL=reward.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reward.js","sourceRoot":"","sources":["../../../../src/tempo/Hooks/reward.ts"],"names":[],"mappings":"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"}