tempo.ts 0.6.2 → 0.7.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 (101) hide show
  1. package/CHANGELOG.md +128 -0
  2. package/README.md +6 -2
  3. package/dist/ox/Transaction.js +1 -1
  4. package/dist/ox/Transaction.js.map +1 -1
  5. package/dist/server/Handler.d.ts +346 -0
  6. package/dist/server/Handler.d.ts.map +1 -0
  7. package/dist/server/Handler.js +441 -0
  8. package/dist/server/Handler.js.map +1 -0
  9. package/dist/server/Kv.d.ts +16 -0
  10. package/dist/server/Kv.d.ts.map +1 -0
  11. package/dist/server/Kv.js +25 -0
  12. package/dist/server/Kv.js.map +1 -0
  13. package/dist/server/index.d.ts +3 -0
  14. package/dist/server/index.d.ts.map +1 -0
  15. package/dist/server/index.js +3 -0
  16. package/dist/server/index.js.map +1 -0
  17. package/dist/server/internal/requestListener.d.ts +124 -0
  18. package/dist/server/internal/requestListener.d.ts.map +1 -0
  19. package/dist/server/internal/requestListener.js +174 -0
  20. package/dist/server/internal/requestListener.js.map +1 -0
  21. package/dist/viem/Actions/amm.d.ts +51 -1245
  22. package/dist/viem/Actions/amm.d.ts.map +1 -1
  23. package/dist/viem/Actions/amm.js +15 -478
  24. package/dist/viem/Actions/amm.js.map +1 -1
  25. package/dist/viem/Actions/reward.d.ts +0 -1067
  26. package/dist/viem/Actions/reward.d.ts.map +1 -1
  27. package/dist/viem/Actions/reward.js +4 -212
  28. package/dist/viem/Actions/reward.js.map +1 -1
  29. package/dist/viem/Decorator.d.ts +0 -263
  30. package/dist/viem/Decorator.d.ts.map +1 -1
  31. package/dist/viem/Decorator.js +0 -10
  32. package/dist/viem/Decorator.js.map +1 -1
  33. package/dist/viem/Storage.d.ts +23 -0
  34. package/dist/viem/Storage.d.ts.map +1 -0
  35. package/dist/viem/Storage.js +47 -0
  36. package/dist/viem/Storage.js.map +1 -0
  37. package/dist/viem/Transport.d.ts +10 -1
  38. package/dist/viem/Transport.d.ts.map +1 -1
  39. package/dist/viem/Transport.js +22 -3
  40. package/dist/viem/Transport.js.map +1 -1
  41. package/dist/viem/internal/utils.d.ts +6 -0
  42. package/dist/viem/internal/utils.d.ts.map +1 -1
  43. package/dist/viem/internal/utils.js +24 -0
  44. package/dist/viem/internal/utils.js.map +1 -1
  45. package/dist/wagmi/Actions/amm.d.ts +0 -225
  46. package/dist/wagmi/Actions/amm.d.ts.map +1 -1
  47. package/dist/wagmi/Actions/amm.js +0 -248
  48. package/dist/wagmi/Actions/amm.js.map +1 -1
  49. package/dist/wagmi/Actions/reward.d.ts +0 -110
  50. package/dist/wagmi/Actions/reward.d.ts.map +1 -1
  51. package/dist/wagmi/Actions/reward.js +0 -121
  52. package/dist/wagmi/Actions/reward.js.map +1 -1
  53. package/dist/wagmi/Connector.d.ts +6 -17
  54. package/dist/wagmi/Connector.d.ts.map +1 -1
  55. package/dist/wagmi/Connector.js +17 -43
  56. package/dist/wagmi/Connector.js.map +1 -1
  57. package/dist/wagmi/Hooks/amm.d.ts +0 -236
  58. package/dist/wagmi/Hooks/amm.d.ts.map +1 -1
  59. package/dist/wagmi/Hooks/amm.js +0 -285
  60. package/dist/wagmi/Hooks/amm.js.map +1 -1
  61. package/dist/wagmi/Hooks/reward.d.ts +0 -88
  62. package/dist/wagmi/Hooks/reward.d.ts.map +1 -1
  63. package/dist/wagmi/Hooks/reward.js +0 -103
  64. package/dist/wagmi/Hooks/reward.js.map +1 -1
  65. package/dist/wagmi/KeyManager.d.ts +57 -0
  66. package/dist/wagmi/KeyManager.d.ts.map +1 -0
  67. package/dist/wagmi/KeyManager.js +101 -0
  68. package/dist/wagmi/KeyManager.js.map +1 -0
  69. package/dist/wagmi/index.d.ts +1 -0
  70. package/dist/wagmi/index.d.ts.map +1 -1
  71. package/dist/wagmi/index.js +1 -0
  72. package/dist/wagmi/index.js.map +1 -1
  73. package/package.json +8 -2
  74. package/src/ox/Transaction.ts +1 -1
  75. package/src/ox/e2e.test.ts +7 -0
  76. package/src/server/Handler.test.ts +566 -0
  77. package/src/server/Handler.ts +577 -0
  78. package/src/server/Kv.ts +40 -0
  79. package/src/server/index.ts +2 -0
  80. package/src/server/internal/requestListener.ts +285 -0
  81. package/src/viem/Actions/amm.test.ts +10 -284
  82. package/src/viem/Actions/amm.ts +88 -768
  83. package/src/viem/Actions/reward.test.ts +4 -212
  84. package/src/viem/Actions/reward.ts +4 -291
  85. package/src/viem/Decorator.ts +0 -294
  86. package/src/viem/Storage.ts +88 -0
  87. package/src/viem/Transport.ts +40 -2
  88. package/src/viem/e2e.test.ts +106 -3
  89. package/src/viem/internal/utils.ts +21 -0
  90. package/src/wagmi/Actions/amm.test.ts +7 -85
  91. package/src/wagmi/Actions/amm.ts +0 -346
  92. package/src/wagmi/Actions/reward.test.ts +0 -99
  93. package/src/wagmi/Actions/reward.ts +0 -203
  94. package/src/wagmi/Connector.test.ts +4 -1
  95. package/src/wagmi/Connector.ts +24 -58
  96. package/src/wagmi/Hooks/amm.test.ts +8 -200
  97. package/src/wagmi/Hooks/amm.ts +0 -443
  98. package/src/wagmi/Hooks/reward.test.ts +1 -142
  99. package/src/wagmi/Hooks/reward.ts +0 -196
  100. package/src/wagmi/KeyManager.ts +159 -0
  101. package/src/wagmi/index.ts +1 -0
@@ -2,982 +2,6 @@ import { type Account, type Address, type BaseErrorType, type Chain, type Client
2
2
  import { writeContract, writeContractSync } from 'viem/actions';
3
3
  import * as Abis from '../Abis.js';
4
4
  import type { ReadParameters, WriteParameters } from '../internal/types.js';
5
- /**
6
- * Cancels an active reward stream and refunds remaining tokens.
7
- *
8
- * - Callable only by the stream's funder.
9
- * - Stops future emission for the stream at the current block timestamp.
10
- * - Computes the refund as `amountTotal - distributedSoFar` and attempts to transfer it back to the funder.
11
- * - If the refund transfer is forbidden by TIP-403, the stream is still canceled but `refund` will be 0 in the event.
12
- * - Reverts with `StreamInactive` if the stream doesn't exist, is already canceled, or has already ended.
13
- * - Reverts with `NotStreamFunder` if the caller is not the stream's funder.
14
- *
15
- * @example
16
- * ```ts
17
- * import { createClient, http } from 'viem'
18
- * import { tempo } from 'tempo.ts/chains'
19
- * import { Actions } from 'tempo.ts/viem'
20
- * import { privateKeyToAccount } from 'viem/accounts'
21
- *
22
- * const client = createClient({
23
- * account: privateKeyToAccount('0x...'),
24
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
25
- * transport: http(),
26
- * })
27
- *
28
- * const hash = await Actions.rewards.cancel(client, {
29
- * id: 1n,
30
- * token: '0x20c0000000000000000000000000000000000001',
31
- * })
32
- * ```
33
- *
34
- * @param client - Client.
35
- * @param parameters - Parameters.
36
- * @returns The transaction hash.
37
- */
38
- export declare function cancel<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: cancel.Parameters<chain, account>): Promise<cancel.ReturnValue>;
39
- /**
40
- * Cancels an active reward stream and waits for confirmation.
41
- *
42
- * - Callable only by the stream's funder.
43
- * - Stops future emission for the stream at the current block timestamp.
44
- * - Computes the refund as `amountTotal - distributedSoFar` and attempts to transfer it back to the funder.
45
- * - If the refund transfer is forbidden by TIP-403, the stream is still canceled but `refund` will be 0.
46
- * - Reverts with `StreamInactive` if the stream doesn't exist, is already canceled, or has already ended.
47
- * - Reverts with `NotStreamFunder` if the caller is not the stream's funder.
48
- *
49
- * @example
50
- * ```ts
51
- * import { createClient, http } from 'viem'
52
- * import { tempo } from 'tempo.ts/chains'
53
- * import { Actions } from 'tempo.ts/viem'
54
- * import { privateKeyToAccount } from 'viem/accounts'
55
- *
56
- * const client = createClient({
57
- * account: privateKeyToAccount('0x...'),
58
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
59
- * transport: http(),
60
- * })
61
- *
62
- * const { funder, id, refund, receipt } = await Actions.rewards.cancelSync(client, {
63
- * id: 1n,
64
- * token: '0x20c0000000000000000000000000000000000001',
65
- * })
66
- * ```
67
- *
68
- * @param client - Client.
69
- * @param parameters - Parameters.
70
- * @returns The funder, stream ID, refund amount, and transaction receipt.
71
- */
72
- export declare function cancelSync<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: cancelSync.Parameters<chain, account>): Promise<cancelSync.ReturnValue>;
73
- export declare namespace cancel {
74
- type Args = {
75
- /** The unique stream ID to cancel (must be owned by the caller) */
76
- id: bigint;
77
- /** The TIP20 token address containing the reward stream */
78
- token: Address;
79
- };
80
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & Args;
81
- type ReturnValue = WriteContractReturnType;
82
- type ErrorType = BaseErrorType;
83
- /** @internal */
84
- function inner<action extends typeof writeContract | typeof writeContractSync, chain extends Chain | undefined, account extends Account | undefined>(action: action, client: Client<Transport, chain, account>, parameters: Parameters<chain, account>): Promise<ReturnType<action>>;
85
- /**
86
- * Defines a call to the `cancel` function.
87
- *
88
- * Can be passed as a parameter to:
89
- * - [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas): estimate the gas cost of the call
90
- * - [`simulateContract`](https://viem.sh/docs/contract/simulateContract): simulate the call
91
- * - [`sendCalls`](https://viem.sh/docs/actions/wallet/sendCalls): send multiple calls
92
- *
93
- * @example
94
- * ```ts
95
- * import { createClient, http, walletActions } from 'viem'
96
- * import { tempo } from 'tempo.ts/chains'
97
- * import { Actions } from 'tempo.ts/viem'
98
- *
99
- * const client = createClient({
100
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
101
- * transport: http(),
102
- * }).extend(walletActions)
103
- *
104
- * const hash = await client.sendTransaction({
105
- * calls: [actions.rewards.cancel.call({
106
- * id: 1n,
107
- * token: '0x20c0000000000000000000000000000000000001',
108
- * })],
109
- * })
110
- * ```
111
- *
112
- * @param args - Arguments.
113
- * @returns The call.
114
- */
115
- function call(args: Args): {
116
- abi: [{
117
- readonly name: "cancelReward";
118
- readonly type: "function";
119
- readonly stateMutability: "nonpayable";
120
- readonly inputs: readonly [{
121
- readonly type: "uint64";
122
- readonly name: "id";
123
- }];
124
- readonly outputs: readonly [{
125
- readonly type: "uint256";
126
- }];
127
- }];
128
- functionName: "cancelReward";
129
- args?: readonly [bigint] | undefined;
130
- } & {
131
- args: readonly [bigint];
132
- } & {
133
- address: Address;
134
- } & {
135
- data: import("viem").Hex;
136
- to: Address;
137
- };
138
- /**
139
- * Extracts the `RewardCanceled` event from logs.
140
- *
141
- * @param logs - The logs.
142
- * @returns The `RewardCanceled` event.
143
- */
144
- function extractEvent(logs: Log[]): Log<bigint, number, false, undefined, true, readonly [{
145
- readonly name: "name";
146
- readonly type: "function";
147
- readonly stateMutability: "view";
148
- readonly inputs: readonly [];
149
- readonly outputs: readonly [{
150
- readonly type: "string";
151
- }];
152
- }, {
153
- readonly name: "symbol";
154
- readonly type: "function";
155
- readonly stateMutability: "view";
156
- readonly inputs: readonly [];
157
- readonly outputs: readonly [{
158
- readonly type: "string";
159
- }];
160
- }, {
161
- readonly name: "decimals";
162
- readonly type: "function";
163
- readonly stateMutability: "view";
164
- readonly inputs: readonly [];
165
- readonly outputs: readonly [{
166
- readonly type: "uint8";
167
- }];
168
- }, {
169
- readonly name: "totalSupply";
170
- readonly type: "function";
171
- readonly stateMutability: "view";
172
- readonly inputs: readonly [];
173
- readonly outputs: readonly [{
174
- readonly type: "uint256";
175
- }];
176
- }, {
177
- readonly name: "quoteToken";
178
- readonly type: "function";
179
- readonly stateMutability: "view";
180
- readonly inputs: readonly [];
181
- readonly outputs: readonly [{
182
- readonly type: "address";
183
- }];
184
- }, {
185
- readonly name: "nextQuoteToken";
186
- readonly type: "function";
187
- readonly stateMutability: "view";
188
- readonly inputs: readonly [];
189
- readonly outputs: readonly [{
190
- readonly type: "address";
191
- }];
192
- }, {
193
- readonly name: "balanceOf";
194
- readonly type: "function";
195
- readonly stateMutability: "view";
196
- readonly inputs: readonly [{
197
- readonly type: "address";
198
- readonly name: "account";
199
- }];
200
- readonly outputs: readonly [{
201
- readonly type: "uint256";
202
- }];
203
- }, {
204
- readonly name: "transfer";
205
- readonly type: "function";
206
- readonly stateMutability: "nonpayable";
207
- readonly inputs: readonly [{
208
- readonly type: "address";
209
- readonly name: "to";
210
- }, {
211
- readonly type: "uint256";
212
- readonly name: "amount";
213
- }];
214
- readonly outputs: readonly [{
215
- readonly type: "bool";
216
- }];
217
- }, {
218
- readonly name: "approve";
219
- readonly type: "function";
220
- readonly stateMutability: "nonpayable";
221
- readonly inputs: readonly [{
222
- readonly type: "address";
223
- readonly name: "spender";
224
- }, {
225
- readonly type: "uint256";
226
- readonly name: "amount";
227
- }];
228
- readonly outputs: readonly [{
229
- readonly type: "bool";
230
- }];
231
- }, {
232
- readonly name: "allowance";
233
- readonly type: "function";
234
- readonly stateMutability: "view";
235
- readonly inputs: readonly [{
236
- readonly type: "address";
237
- readonly name: "owner";
238
- }, {
239
- readonly type: "address";
240
- readonly name: "spender";
241
- }];
242
- readonly outputs: readonly [{
243
- readonly type: "uint256";
244
- }];
245
- }, {
246
- readonly name: "transferFrom";
247
- readonly type: "function";
248
- readonly stateMutability: "nonpayable";
249
- readonly inputs: readonly [{
250
- readonly type: "address";
251
- readonly name: "from";
252
- }, {
253
- readonly type: "address";
254
- readonly name: "to";
255
- }, {
256
- readonly type: "uint256";
257
- readonly name: "amount";
258
- }];
259
- readonly outputs: readonly [{
260
- readonly type: "bool";
261
- }];
262
- }, {
263
- readonly name: "mint";
264
- readonly type: "function";
265
- readonly stateMutability: "nonpayable";
266
- readonly inputs: readonly [{
267
- readonly type: "address";
268
- readonly name: "to";
269
- }, {
270
- readonly type: "uint256";
271
- readonly name: "amount";
272
- }];
273
- readonly outputs: readonly [];
274
- }, {
275
- readonly name: "burn";
276
- readonly type: "function";
277
- readonly stateMutability: "nonpayable";
278
- readonly inputs: readonly [{
279
- readonly type: "uint256";
280
- readonly name: "amount";
281
- }];
282
- readonly outputs: readonly [];
283
- }, {
284
- readonly name: "currency";
285
- readonly type: "function";
286
- readonly stateMutability: "view";
287
- readonly inputs: readonly [];
288
- readonly outputs: readonly [{
289
- readonly type: "string";
290
- }];
291
- }, {
292
- readonly name: "supplyCap";
293
- readonly type: "function";
294
- readonly stateMutability: "view";
295
- readonly inputs: readonly [];
296
- readonly outputs: readonly [{
297
- readonly type: "uint256";
298
- }];
299
- }, {
300
- readonly name: "paused";
301
- readonly type: "function";
302
- readonly stateMutability: "view";
303
- readonly inputs: readonly [];
304
- readonly outputs: readonly [{
305
- readonly type: "bool";
306
- }];
307
- }, {
308
- readonly name: "transferPolicyId";
309
- readonly type: "function";
310
- readonly stateMutability: "view";
311
- readonly inputs: readonly [];
312
- readonly outputs: readonly [{
313
- readonly type: "uint64";
314
- }];
315
- }, {
316
- readonly name: "burnBlocked";
317
- readonly type: "function";
318
- readonly stateMutability: "nonpayable";
319
- readonly inputs: readonly [{
320
- readonly type: "address";
321
- readonly name: "from";
322
- }, {
323
- readonly type: "uint256";
324
- readonly name: "amount";
325
- }];
326
- readonly outputs: readonly [];
327
- }, {
328
- readonly name: "mintWithMemo";
329
- readonly type: "function";
330
- readonly stateMutability: "nonpayable";
331
- readonly inputs: readonly [{
332
- readonly type: "address";
333
- readonly name: "to";
334
- }, {
335
- readonly type: "uint256";
336
- readonly name: "amount";
337
- }, {
338
- readonly type: "bytes32";
339
- readonly name: "memo";
340
- }];
341
- readonly outputs: readonly [];
342
- }, {
343
- readonly name: "burnWithMemo";
344
- readonly type: "function";
345
- readonly stateMutability: "nonpayable";
346
- readonly inputs: readonly [{
347
- readonly type: "uint256";
348
- readonly name: "amount";
349
- }, {
350
- readonly type: "bytes32";
351
- readonly name: "memo";
352
- }];
353
- readonly outputs: readonly [];
354
- }, {
355
- readonly name: "transferWithMemo";
356
- readonly type: "function";
357
- readonly stateMutability: "nonpayable";
358
- readonly inputs: readonly [{
359
- readonly type: "address";
360
- readonly name: "to";
361
- }, {
362
- readonly type: "uint256";
363
- readonly name: "amount";
364
- }, {
365
- readonly type: "bytes32";
366
- readonly name: "memo";
367
- }];
368
- readonly outputs: readonly [];
369
- }, {
370
- readonly name: "transferFromWithMemo";
371
- readonly type: "function";
372
- readonly stateMutability: "nonpayable";
373
- readonly inputs: readonly [{
374
- readonly type: "address";
375
- readonly name: "from";
376
- }, {
377
- readonly type: "address";
378
- readonly name: "to";
379
- }, {
380
- readonly type: "uint256";
381
- readonly name: "amount";
382
- }, {
383
- readonly type: "bytes32";
384
- readonly name: "memo";
385
- }];
386
- readonly outputs: readonly [{
387
- readonly type: "bool";
388
- }];
389
- }, {
390
- readonly name: "changeTransferPolicyId";
391
- readonly type: "function";
392
- readonly stateMutability: "nonpayable";
393
- readonly inputs: readonly [{
394
- readonly type: "uint64";
395
- readonly name: "newPolicyId";
396
- }];
397
- readonly outputs: readonly [];
398
- }, {
399
- readonly name: "setSupplyCap";
400
- readonly type: "function";
401
- readonly stateMutability: "nonpayable";
402
- readonly inputs: readonly [{
403
- readonly type: "uint256";
404
- readonly name: "newSupplyCap";
405
- }];
406
- readonly outputs: readonly [];
407
- }, {
408
- readonly name: "pause";
409
- readonly type: "function";
410
- readonly stateMutability: "nonpayable";
411
- readonly inputs: readonly [];
412
- readonly outputs: readonly [];
413
- }, {
414
- readonly name: "unpause";
415
- readonly type: "function";
416
- readonly stateMutability: "nonpayable";
417
- readonly inputs: readonly [];
418
- readonly outputs: readonly [];
419
- }, {
420
- readonly name: "setNextQuoteToken";
421
- readonly type: "function";
422
- readonly stateMutability: "nonpayable";
423
- readonly inputs: readonly [{
424
- readonly type: "address";
425
- readonly name: "newQuoteToken";
426
- }];
427
- readonly outputs: readonly [];
428
- }, {
429
- readonly name: "completeQuoteTokenUpdate";
430
- readonly type: "function";
431
- readonly stateMutability: "nonpayable";
432
- readonly inputs: readonly [];
433
- readonly outputs: readonly [];
434
- }, {
435
- readonly name: "PAUSE_ROLE";
436
- readonly type: "function";
437
- readonly stateMutability: "view";
438
- readonly inputs: readonly [];
439
- readonly outputs: readonly [{
440
- readonly type: "bytes32";
441
- }];
442
- }, {
443
- readonly name: "UNPAUSE_ROLE";
444
- readonly type: "function";
445
- readonly stateMutability: "view";
446
- readonly inputs: readonly [];
447
- readonly outputs: readonly [{
448
- readonly type: "bytes32";
449
- }];
450
- }, {
451
- readonly name: "ISSUER_ROLE";
452
- readonly type: "function";
453
- readonly stateMutability: "view";
454
- readonly inputs: readonly [];
455
- readonly outputs: readonly [{
456
- readonly type: "bytes32";
457
- }];
458
- }, {
459
- readonly name: "BURN_BLOCKED_ROLE";
460
- readonly type: "function";
461
- readonly stateMutability: "view";
462
- readonly inputs: readonly [];
463
- readonly outputs: readonly [{
464
- readonly type: "bytes32";
465
- }];
466
- }, {
467
- readonly name: "startReward";
468
- readonly type: "function";
469
- readonly stateMutability: "nonpayable";
470
- readonly inputs: readonly [{
471
- readonly type: "uint256";
472
- readonly name: "amount";
473
- }, {
474
- readonly type: "uint32";
475
- readonly name: "secs";
476
- }];
477
- readonly outputs: readonly [{
478
- readonly type: "uint64";
479
- }];
480
- }, {
481
- readonly name: "setRewardRecipient";
482
- readonly type: "function";
483
- readonly stateMutability: "nonpayable";
484
- readonly inputs: readonly [{
485
- readonly type: "address";
486
- readonly name: "recipient";
487
- }];
488
- readonly outputs: readonly [];
489
- }, {
490
- readonly name: "cancelReward";
491
- readonly type: "function";
492
- readonly stateMutability: "nonpayable";
493
- readonly inputs: readonly [{
494
- readonly type: "uint64";
495
- readonly name: "id";
496
- }];
497
- readonly outputs: readonly [{
498
- readonly type: "uint256";
499
- }];
500
- }, {
501
- readonly name: "claimRewards";
502
- readonly type: "function";
503
- readonly stateMutability: "nonpayable";
504
- readonly inputs: readonly [];
505
- readonly outputs: readonly [{
506
- readonly type: "uint256";
507
- }];
508
- }, {
509
- readonly name: "finalizeStreams";
510
- readonly type: "function";
511
- readonly stateMutability: "nonpayable";
512
- readonly inputs: readonly [{
513
- readonly type: "uint64";
514
- readonly name: "timestamp";
515
- }];
516
- readonly outputs: readonly [];
517
- }, {
518
- readonly name: "getStream";
519
- readonly type: "function";
520
- readonly stateMutability: "view";
521
- readonly inputs: readonly [{
522
- readonly type: "uint64";
523
- readonly name: "id";
524
- }];
525
- readonly outputs: readonly [{
526
- readonly type: "tuple";
527
- readonly components: readonly [{
528
- readonly type: "address";
529
- readonly name: "funder";
530
- }, {
531
- readonly type: "uint64";
532
- readonly name: "startTime";
533
- }, {
534
- readonly type: "uint64";
535
- readonly name: "endTime";
536
- }, {
537
- readonly type: "uint256";
538
- readonly name: "ratePerSecondScaled";
539
- }, {
540
- readonly type: "uint256";
541
- readonly name: "amountTotal";
542
- }];
543
- }];
544
- }, {
545
- readonly name: "totalRewardPerSecond";
546
- readonly type: "function";
547
- readonly stateMutability: "view";
548
- readonly inputs: readonly [];
549
- readonly outputs: readonly [{
550
- readonly type: "uint256";
551
- }];
552
- }, {
553
- readonly name: "optedInSupply";
554
- readonly type: "function";
555
- readonly stateMutability: "view";
556
- readonly inputs: readonly [];
557
- readonly outputs: readonly [{
558
- readonly type: "uint128";
559
- }];
560
- }, {
561
- readonly name: "nextStreamId";
562
- readonly type: "function";
563
- readonly stateMutability: "view";
564
- readonly inputs: readonly [];
565
- readonly outputs: readonly [{
566
- readonly type: "uint64";
567
- }];
568
- }, {
569
- readonly name: "userRewardInfo";
570
- readonly type: "function";
571
- readonly stateMutability: "view";
572
- readonly inputs: readonly [{
573
- readonly type: "address";
574
- readonly name: "account";
575
- }];
576
- readonly outputs: readonly [{
577
- readonly type: "tuple";
578
- readonly components: readonly [{
579
- readonly type: "address";
580
- readonly name: "rewardRecipient";
581
- }, {
582
- readonly type: "uint256";
583
- readonly name: "rewardPerToken";
584
- }, {
585
- readonly type: "uint256";
586
- readonly name: "rewardBalance";
587
- }];
588
- }];
589
- }, {
590
- readonly name: "Transfer";
591
- readonly type: "event";
592
- readonly inputs: readonly [{
593
- readonly type: "address";
594
- readonly name: "from";
595
- readonly indexed: true;
596
- }, {
597
- readonly type: "address";
598
- readonly name: "to";
599
- readonly indexed: true;
600
- }, {
601
- readonly type: "uint256";
602
- readonly name: "amount";
603
- }];
604
- }, {
605
- readonly name: "Approval";
606
- readonly type: "event";
607
- readonly inputs: readonly [{
608
- readonly type: "address";
609
- readonly name: "owner";
610
- readonly indexed: true;
611
- }, {
612
- readonly type: "address";
613
- readonly name: "spender";
614
- readonly indexed: true;
615
- }, {
616
- readonly type: "uint256";
617
- readonly name: "amount";
618
- }];
619
- }, {
620
- readonly name: "Mint";
621
- readonly type: "event";
622
- readonly inputs: readonly [{
623
- readonly type: "address";
624
- readonly name: "to";
625
- readonly indexed: true;
626
- }, {
627
- readonly type: "uint256";
628
- readonly name: "amount";
629
- }];
630
- }, {
631
- readonly name: "Burn";
632
- readonly type: "event";
633
- readonly inputs: readonly [{
634
- readonly type: "address";
635
- readonly name: "from";
636
- readonly indexed: true;
637
- }, {
638
- readonly type: "uint256";
639
- readonly name: "amount";
640
- }];
641
- }, {
642
- readonly name: "BurnBlocked";
643
- readonly type: "event";
644
- readonly inputs: readonly [{
645
- readonly type: "address";
646
- readonly name: "from";
647
- readonly indexed: true;
648
- }, {
649
- readonly type: "uint256";
650
- readonly name: "amount";
651
- }];
652
- }, {
653
- readonly name: "TransferWithMemo";
654
- readonly type: "event";
655
- readonly inputs: readonly [{
656
- readonly type: "address";
657
- readonly name: "from";
658
- readonly indexed: true;
659
- }, {
660
- readonly type: "address";
661
- readonly name: "to";
662
- readonly indexed: true;
663
- }, {
664
- readonly type: "uint256";
665
- readonly name: "amount";
666
- }, {
667
- readonly type: "bytes32";
668
- readonly name: "memo";
669
- readonly indexed: true;
670
- }];
671
- }, {
672
- readonly name: "TransferPolicyUpdate";
673
- readonly type: "event";
674
- readonly inputs: readonly [{
675
- readonly type: "address";
676
- readonly name: "updater";
677
- readonly indexed: true;
678
- }, {
679
- readonly type: "uint64";
680
- readonly name: "newPolicyId";
681
- readonly indexed: true;
682
- }];
683
- }, {
684
- readonly name: "SupplyCapUpdate";
685
- readonly type: "event";
686
- readonly inputs: readonly [{
687
- readonly type: "address";
688
- readonly name: "updater";
689
- readonly indexed: true;
690
- }, {
691
- readonly type: "uint256";
692
- readonly name: "newSupplyCap";
693
- readonly indexed: true;
694
- }];
695
- }, {
696
- readonly name: "PauseStateUpdate";
697
- readonly type: "event";
698
- readonly inputs: readonly [{
699
- readonly type: "address";
700
- readonly name: "updater";
701
- readonly indexed: true;
702
- }, {
703
- readonly type: "bool";
704
- readonly name: "isPaused";
705
- }];
706
- }, {
707
- readonly name: "NextQuoteTokenSet";
708
- readonly type: "event";
709
- readonly inputs: readonly [{
710
- readonly type: "address";
711
- readonly name: "updater";
712
- readonly indexed: true;
713
- }, {
714
- readonly type: "address";
715
- readonly name: "nextQuoteToken";
716
- readonly indexed: true;
717
- }];
718
- }, {
719
- readonly name: "QuoteTokenUpdate";
720
- readonly type: "event";
721
- readonly inputs: readonly [{
722
- readonly type: "address";
723
- readonly name: "updater";
724
- readonly indexed: true;
725
- }, {
726
- readonly type: "address";
727
- readonly name: "newQuoteToken";
728
- readonly indexed: true;
729
- }];
730
- }, {
731
- readonly name: "RewardScheduled";
732
- readonly type: "event";
733
- readonly inputs: readonly [{
734
- readonly type: "address";
735
- readonly name: "funder";
736
- readonly indexed: true;
737
- }, {
738
- readonly type: "uint64";
739
- readonly name: "id";
740
- readonly indexed: true;
741
- }, {
742
- readonly type: "uint256";
743
- readonly name: "amount";
744
- }, {
745
- readonly type: "uint32";
746
- readonly name: "durationSeconds";
747
- }];
748
- }, {
749
- readonly name: "RewardCanceled";
750
- readonly type: "event";
751
- readonly inputs: readonly [{
752
- readonly type: "address";
753
- readonly name: "funder";
754
- readonly indexed: true;
755
- }, {
756
- readonly type: "uint64";
757
- readonly name: "id";
758
- readonly indexed: true;
759
- }, {
760
- readonly type: "uint256";
761
- readonly name: "refund";
762
- }];
763
- }, {
764
- readonly name: "RewardRecipientSet";
765
- readonly type: "event";
766
- readonly inputs: readonly [{
767
- readonly type: "address";
768
- readonly name: "holder";
769
- readonly indexed: true;
770
- }, {
771
- readonly type: "address";
772
- readonly name: "recipient";
773
- readonly indexed: true;
774
- }];
775
- }, {
776
- readonly name: "InsufficientBalance";
777
- readonly type: "error";
778
- readonly inputs: readonly [{
779
- readonly type: "uint256";
780
- readonly name: "available";
781
- }, {
782
- readonly type: "uint256";
783
- readonly name: "required";
784
- }, {
785
- readonly type: "address";
786
- readonly name: "token";
787
- }];
788
- }, {
789
- readonly name: "InsufficientAllowance";
790
- readonly type: "error";
791
- readonly inputs: readonly [];
792
- }, {
793
- readonly name: "SupplyCapExceeded";
794
- readonly type: "error";
795
- readonly inputs: readonly [];
796
- }, {
797
- readonly name: "InvalidSupplyCap";
798
- readonly type: "error";
799
- readonly inputs: readonly [];
800
- }, {
801
- readonly name: "InvalidPayload";
802
- readonly type: "error";
803
- readonly inputs: readonly [];
804
- }, {
805
- readonly name: "StringTooLong";
806
- readonly type: "error";
807
- readonly inputs: readonly [];
808
- }, {
809
- readonly name: "PolicyForbids";
810
- readonly type: "error";
811
- readonly inputs: readonly [];
812
- }, {
813
- readonly name: "InvalidRecipient";
814
- readonly type: "error";
815
- readonly inputs: readonly [];
816
- }, {
817
- readonly name: "ContractPaused";
818
- readonly type: "error";
819
- readonly inputs: readonly [];
820
- }, {
821
- readonly name: "InvalidCurrency";
822
- readonly type: "error";
823
- readonly inputs: readonly [];
824
- }, {
825
- readonly name: "InvalidQuoteToken";
826
- readonly type: "error";
827
- readonly inputs: readonly [];
828
- }, {
829
- readonly name: "TransfersDisabled";
830
- readonly type: "error";
831
- readonly inputs: readonly [];
832
- }, {
833
- readonly name: "InvalidAmount";
834
- readonly type: "error";
835
- readonly inputs: readonly [];
836
- }, {
837
- readonly name: "NotStreamFunder";
838
- readonly type: "error";
839
- readonly inputs: readonly [];
840
- }, {
841
- readonly name: "StreamInactive";
842
- readonly type: "error";
843
- readonly inputs: readonly [];
844
- }, {
845
- readonly name: "NoOptedInSupply";
846
- readonly type: "error";
847
- readonly inputs: readonly [];
848
- }, {
849
- readonly name: "Unauthorized";
850
- readonly type: "error";
851
- readonly inputs: readonly [];
852
- }, {
853
- readonly name: "RewardsDisabled";
854
- readonly type: "error";
855
- readonly inputs: readonly [];
856
- }, {
857
- readonly name: "hasRole";
858
- readonly type: "function";
859
- readonly stateMutability: "view";
860
- readonly inputs: readonly [{
861
- readonly type: "address";
862
- readonly name: "account";
863
- }, {
864
- readonly type: "bytes32";
865
- readonly name: "role";
866
- }];
867
- readonly outputs: readonly [{
868
- readonly type: "bool";
869
- }];
870
- }, {
871
- readonly name: "getRoleAdmin";
872
- readonly type: "function";
873
- readonly stateMutability: "view";
874
- readonly inputs: readonly [{
875
- readonly type: "bytes32";
876
- readonly name: "role";
877
- }];
878
- readonly outputs: readonly [{
879
- readonly type: "bytes32";
880
- }];
881
- }, {
882
- readonly name: "grantRole";
883
- readonly type: "function";
884
- readonly stateMutability: "nonpayable";
885
- readonly inputs: readonly [{
886
- readonly type: "bytes32";
887
- readonly name: "role";
888
- }, {
889
- readonly type: "address";
890
- readonly name: "account";
891
- }];
892
- readonly outputs: readonly [];
893
- }, {
894
- readonly name: "revokeRole";
895
- readonly type: "function";
896
- readonly stateMutability: "nonpayable";
897
- readonly inputs: readonly [{
898
- readonly type: "bytes32";
899
- readonly name: "role";
900
- }, {
901
- readonly type: "address";
902
- readonly name: "account";
903
- }];
904
- readonly outputs: readonly [];
905
- }, {
906
- readonly name: "renounceRole";
907
- readonly type: "function";
908
- readonly stateMutability: "nonpayable";
909
- readonly inputs: readonly [{
910
- readonly type: "bytes32";
911
- readonly name: "role";
912
- }];
913
- readonly outputs: readonly [];
914
- }, {
915
- readonly name: "setRoleAdmin";
916
- readonly type: "function";
917
- readonly stateMutability: "nonpayable";
918
- readonly inputs: readonly [{
919
- readonly type: "bytes32";
920
- readonly name: "role";
921
- }, {
922
- readonly type: "bytes32";
923
- readonly name: "adminRole";
924
- }];
925
- readonly outputs: readonly [];
926
- }, {
927
- readonly name: "RoleMembershipUpdated";
928
- readonly type: "event";
929
- readonly inputs: readonly [{
930
- readonly type: "bytes32";
931
- readonly name: "role";
932
- readonly indexed: true;
933
- }, {
934
- readonly type: "address";
935
- readonly name: "account";
936
- readonly indexed: true;
937
- }, {
938
- readonly type: "address";
939
- readonly name: "sender";
940
- readonly indexed: true;
941
- }, {
942
- readonly type: "bool";
943
- readonly name: "hasRole";
944
- }];
945
- }, {
946
- readonly name: "RoleAdminUpdated";
947
- readonly type: "event";
948
- readonly inputs: readonly [{
949
- readonly type: "bytes32";
950
- readonly name: "role";
951
- readonly indexed: true;
952
- }, {
953
- readonly type: "bytes32";
954
- readonly name: "newAdminRole";
955
- readonly indexed: true;
956
- }, {
957
- readonly type: "address";
958
- readonly name: "sender";
959
- readonly indexed: true;
960
- }];
961
- }, {
962
- readonly name: "Unauthorized";
963
- readonly type: "error";
964
- readonly inputs: readonly [];
965
- }], "RewardCanceled">;
966
- }
967
- export declare namespace cancelSync {
968
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & cancel.Args;
969
- type ReturnValue = {
970
- /** The address that funded the stream */
971
- funder: Address;
972
- /** The stream ID that was canceled */
973
- id: bigint;
974
- /** The transaction receipt */
975
- receipt: Awaited<ReturnType<typeof writeContractSync>>;
976
- /** The amount refunded to the funder (0 if TIP-403 policy forbids the refund transfer) */
977
- refund: bigint;
978
- };
979
- type ErrorType = cancel.ErrorType;
980
- }
981
5
  /**
982
6
  * Claims accumulated rewards for a recipient.
983
7
  *
@@ -1124,95 +148,6 @@ export declare namespace claimSync {
1124
148
  };
1125
149
  type ErrorType = claim.ErrorType;
1126
150
  }
1127
- /**
1128
- * Gets a reward stream by its ID.
1129
- *
1130
- * Returns the stream details including:
1131
- * - `funder`: The address that funded the stream
1132
- * - `startTime`: When the stream started (block timestamp)
1133
- * - `endTime`: When the stream is scheduled to end
1134
- * - `ratePerSecondScaled`: The per-second emission rate (scaled by ACC_PRECISION = 1e18)
1135
- * - `amountTotal`: The total amount allocated to the stream
1136
- *
1137
- * Note: If the stream has been canceled or doesn't exist, `funder` will be the zero address.
1138
- *
1139
- * @example
1140
- * ```ts
1141
- * import { createClient, http } from 'viem'
1142
- * import { tempo } from 'tempo.ts/chains'
1143
- * import { Actions } from 'tempo.ts/viem'
1144
- *
1145
- * const client = createClient({
1146
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
1147
- * transport: http(),
1148
- * })
1149
- *
1150
- * const stream = await Actions.rewards.getStream(client, {
1151
- * id: 1n,
1152
- * token: '0x20c0000000000000000000000000000000000001',
1153
- * })
1154
- * ```
1155
- *
1156
- * @param client - Client.
1157
- * @param parameters - Parameters.
1158
- * @returns The reward stream details.
1159
- */
1160
- export declare function getStream<chain extends Chain | undefined>(client: Client<Transport, chain>, parameters: getStream.Parameters): Promise<getStream.ReturnValue>;
1161
- export declare namespace getStream {
1162
- type Parameters = ReadParameters & Args;
1163
- type Args = {
1164
- /** The stream ID to query (0 is never used for streams, only for immediate distributions) */
1165
- id: bigint;
1166
- /** The TIP20 token address */
1167
- token: Address;
1168
- };
1169
- type ReturnValue = ReadContractReturnType<typeof Abis.tip20, 'getStream', never>;
1170
- /**
1171
- * Defines a call to the `getStream` function.
1172
- *
1173
- * @param args - Arguments.
1174
- * @returns The call.
1175
- */
1176
- function call(args: Args): {
1177
- abi: [{
1178
- readonly name: "getStream";
1179
- readonly type: "function";
1180
- readonly stateMutability: "view";
1181
- readonly inputs: readonly [{
1182
- readonly type: "uint64";
1183
- readonly name: "id";
1184
- }];
1185
- readonly outputs: readonly [{
1186
- readonly type: "tuple";
1187
- readonly components: readonly [{
1188
- readonly type: "address";
1189
- readonly name: "funder";
1190
- }, {
1191
- readonly type: "uint64";
1192
- readonly name: "startTime";
1193
- }, {
1194
- readonly type: "uint64";
1195
- readonly name: "endTime";
1196
- }, {
1197
- readonly type: "uint256";
1198
- readonly name: "ratePerSecondScaled";
1199
- }, {
1200
- readonly type: "uint256";
1201
- readonly name: "amountTotal";
1202
- }];
1203
- }];
1204
- }];
1205
- functionName: "getStream";
1206
- args?: readonly [bigint] | undefined;
1207
- } & {
1208
- args: readonly [bigint];
1209
- } & {
1210
- address: Address;
1211
- } & {
1212
- data: import("viem").Hex;
1213
- to: Address;
1214
- };
1215
- }
1216
151
  /**
1217
152
  * Gets the total reward per second rate for all active streams.
1218
153
  *
@@ -2333,8 +1268,6 @@ export declare namespace start {
2333
1268
  type Args = {
2334
1269
  /** The amount of tokens to distribute (must be > 0) */
2335
1270
  amount: bigint;
2336
- /** The duration in seconds (0 for immediate distribution, >0 for linear streaming) */
2337
- seconds: number;
2338
1271
  /** The TIP20 token address */
2339
1272
  token: Address;
2340
1273
  };