tempo.ts 0.11.0 → 0.12.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 (196) hide show
  1. package/CHANGELOG.md +67 -4
  2. package/README.md +3 -34
  3. package/dist/server/Handler.d.ts +14 -14
  4. package/dist/server/Handler.d.ts.map +1 -1
  5. package/dist/server/Handler.js +16 -17
  6. package/dist/server/Handler.js.map +1 -1
  7. package/dist/wagmi/Actions/amm.d.ts +51 -51
  8. package/dist/wagmi/Actions/amm.d.ts.map +1 -1
  9. package/dist/wagmi/Actions/amm.js +37 -37
  10. package/dist/wagmi/Actions/amm.js.map +1 -1
  11. package/dist/wagmi/Actions/dex.d.ts +129 -129
  12. package/dist/wagmi/Actions/dex.d.ts.map +1 -1
  13. package/dist/wagmi/Actions/dex.js +73 -73
  14. package/dist/wagmi/Actions/dex.js.map +1 -1
  15. package/dist/wagmi/Actions/faucet.d.ts +9 -9
  16. package/dist/wagmi/Actions/faucet.d.ts.map +1 -1
  17. package/dist/wagmi/Actions/faucet.js +7 -7
  18. package/dist/wagmi/Actions/faucet.js.map +1 -1
  19. package/dist/wagmi/Actions/fee.d.ts +17 -17
  20. package/dist/wagmi/Actions/fee.d.ts.map +1 -1
  21. package/dist/wagmi/Actions/fee.js +10 -10
  22. package/dist/wagmi/Actions/fee.js.map +1 -1
  23. package/dist/wagmi/Actions/nonce.d.ts +9 -79
  24. package/dist/wagmi/Actions/nonce.d.ts.map +1 -1
  25. package/dist/wagmi/Actions/nonce.js +7 -89
  26. package/dist/wagmi/Actions/nonce.js.map +1 -1
  27. package/dist/wagmi/Actions/policy.d.ts +69 -70
  28. package/dist/wagmi/Actions/policy.d.ts.map +1 -1
  29. package/dist/wagmi/Actions/policy.js +43 -43
  30. package/dist/wagmi/Actions/policy.js.map +1 -1
  31. package/dist/wagmi/Actions/reward.d.ts +51 -51
  32. package/dist/wagmi/Actions/reward.d.ts.map +1 -1
  33. package/dist/wagmi/Actions/reward.js +31 -31
  34. package/dist/wagmi/Actions/reward.js.map +1 -1
  35. package/dist/wagmi/Actions/token.d.ts +238 -238
  36. package/dist/wagmi/Actions/token.d.ts.map +1 -1
  37. package/dist/wagmi/Actions/token.js +136 -136
  38. package/dist/wagmi/Actions/token.js.map +1 -1
  39. package/dist/wagmi/Connector.d.ts +2 -1
  40. package/dist/wagmi/Connector.d.ts.map +1 -1
  41. package/dist/wagmi/Connector.js +83 -22
  42. package/dist/wagmi/Connector.js.map +1 -1
  43. package/dist/wagmi/Hooks/nonce.d.ts +1 -52
  44. package/dist/wagmi/Hooks/nonce.d.ts.map +1 -1
  45. package/dist/wagmi/Hooks/nonce.js +1 -70
  46. package/dist/wagmi/Hooks/nonce.js.map +1 -1
  47. package/dist/wagmi/Hooks/policy.d.ts +0 -1
  48. package/dist/wagmi/Hooks/policy.d.ts.map +1 -1
  49. package/dist/wagmi/Hooks/policy.js.map +1 -1
  50. package/dist/wagmi/KeyManager.d.ts +6 -3
  51. package/dist/wagmi/KeyManager.d.ts.map +1 -1
  52. package/dist/wagmi/KeyManager.js +9 -4
  53. package/dist/wagmi/KeyManager.js.map +1 -1
  54. package/package.json +2 -2
  55. package/src/server/Handler.test.ts +2 -2
  56. package/src/server/Handler.ts +16 -17
  57. package/src/wagmi/Actions/amm.ts +63 -63
  58. package/src/wagmi/Actions/dex.test.ts +1 -1
  59. package/src/wagmi/Actions/dex.ts +153 -153
  60. package/src/wagmi/Actions/faucet.ts +11 -11
  61. package/src/wagmi/Actions/fee.ts +20 -20
  62. package/src/wagmi/Actions/nonce.test.ts +1 -64
  63. package/src/wagmi/Actions/nonce.ts +10 -142
  64. package/src/wagmi/Actions/policy.ts +83 -85
  65. package/src/wagmi/Actions/reward.ts +64 -61
  66. package/src/wagmi/Actions/token.ts +287 -283
  67. package/src/wagmi/Connector.ts +105 -31
  68. package/src/wagmi/Hooks/dex.test.ts +1 -1
  69. package/src/wagmi/Hooks/fee.test.ts +0 -6
  70. package/src/wagmi/Hooks/nonce.test.ts +1 -66
  71. package/src/wagmi/Hooks/nonce.ts +1 -114
  72. package/src/wagmi/Hooks/policy.ts +0 -2
  73. package/src/wagmi/KeyManager.ts +18 -5
  74. package/dist/viem/Abis.d.ts +0 -2649
  75. package/dist/viem/Abis.d.ts.map +0 -1
  76. package/dist/viem/Abis.js +0 -1677
  77. package/dist/viem/Abis.js.map +0 -1
  78. package/dist/viem/Account.d.ts +0 -244
  79. package/dist/viem/Account.d.ts.map +0 -1
  80. package/dist/viem/Account.js +0 -382
  81. package/dist/viem/Account.js.map +0 -1
  82. package/dist/viem/Actions/amm.d.ts +0 -1991
  83. package/dist/viem/Actions/amm.d.ts.map +0 -1
  84. package/dist/viem/Actions/amm.js +0 -814
  85. package/dist/viem/Actions/amm.js.map +0 -1
  86. package/dist/viem/Actions/dex.d.ts +0 -3900
  87. package/dist/viem/Actions/dex.d.ts.map +0 -1
  88. package/dist/viem/Actions/dex.js +0 -1414
  89. package/dist/viem/Actions/dex.js.map +0 -1
  90. package/dist/viem/Actions/faucet.d.ts +0 -69
  91. package/dist/viem/Actions/faucet.d.ts.map +0 -1
  92. package/dist/viem/Actions/faucet.js +0 -73
  93. package/dist/viem/Actions/faucet.js.map +0 -1
  94. package/dist/viem/Actions/fee.d.ts +0 -360
  95. package/dist/viem/Actions/fee.d.ts.map +0 -1
  96. package/dist/viem/Actions/fee.js +0 -237
  97. package/dist/viem/Actions/fee.js.map +0 -1
  98. package/dist/viem/Actions/nonce.d.ts +0 -257
  99. package/dist/viem/Actions/nonce.d.ts.map +0 -1
  100. package/dist/viem/Actions/nonce.js +0 -228
  101. package/dist/viem/Actions/nonce.js.map +0 -1
  102. package/dist/viem/Actions/policy.d.ts +0 -1680
  103. package/dist/viem/Actions/policy.d.ts.map +0 -1
  104. package/dist/viem/Actions/policy.js +0 -875
  105. package/dist/viem/Actions/policy.js.map +0 -1
  106. package/dist/viem/Actions/reward.d.ts +0 -2422
  107. package/dist/viem/Actions/reward.d.ts.map +0 -1
  108. package/dist/viem/Actions/reward.js +0 -651
  109. package/dist/viem/Actions/reward.js.map +0 -1
  110. package/dist/viem/Actions/token.d.ts +0 -16007
  111. package/dist/viem/Actions/token.d.ts.map +0 -1
  112. package/dist/viem/Actions/token.js +0 -2936
  113. package/dist/viem/Actions/token.js.map +0 -1
  114. package/dist/viem/Addresses.d.ts +0 -9
  115. package/dist/viem/Addresses.d.ts.map +0 -1
  116. package/dist/viem/Addresses.js +0 -9
  117. package/dist/viem/Addresses.js.map +0 -1
  118. package/dist/viem/Chain.d.ts +0 -451
  119. package/dist/viem/Chain.d.ts.map +0 -1
  120. package/dist/viem/Chain.js +0 -96
  121. package/dist/viem/Chain.js.map +0 -1
  122. package/dist/viem/Formatters.d.ts +0 -10
  123. package/dist/viem/Formatters.d.ts.map +0 -1
  124. package/dist/viem/Formatters.js +0 -104
  125. package/dist/viem/Formatters.js.map +0 -1
  126. package/dist/viem/Storage.d.ts +0 -24
  127. package/dist/viem/Storage.d.ts.map +0 -1
  128. package/dist/viem/Storage.js +0 -68
  129. package/dist/viem/Storage.js.map +0 -1
  130. package/dist/viem/Transaction.d.ts +0 -76
  131. package/dist/viem/Transaction.d.ts.map +0 -1
  132. package/dist/viem/Transaction.js +0 -176
  133. package/dist/viem/Transaction.js.map +0 -1
  134. package/dist/viem/Transport.d.ts +0 -33
  135. package/dist/viem/Transport.d.ts.map +0 -1
  136. package/dist/viem/Transport.js +0 -138
  137. package/dist/viem/Transport.js.map +0 -1
  138. package/dist/viem/WebAuthnP256.d.ts +0 -82
  139. package/dist/viem/WebAuthnP256.d.ts.map +0 -1
  140. package/dist/viem/WebAuthnP256.js +0 -97
  141. package/dist/viem/WebAuthnP256.js.map +0 -1
  142. package/dist/viem/WebCryptoP256.d.ts +0 -2
  143. package/dist/viem/WebCryptoP256.d.ts.map +0 -1
  144. package/dist/viem/WebCryptoP256.js +0 -2
  145. package/dist/viem/WebCryptoP256.js.map +0 -1
  146. package/dist/viem/internal/types.d.ts +0 -20
  147. package/dist/viem/internal/types.d.ts.map +0 -1
  148. package/dist/viem/internal/types.js +0 -2
  149. package/dist/viem/internal/types.js.map +0 -1
  150. package/dist/viem/internal/utils.d.ts +0 -14
  151. package/dist/viem/internal/utils.d.ts.map +0 -1
  152. package/dist/viem/internal/utils.js +0 -33
  153. package/dist/viem/internal/utils.js.map +0 -1
  154. package/src/chains.ts +0 -54
  155. package/src/viem/Abis.ts +0 -1688
  156. package/src/viem/Account.test.ts +0 -444
  157. package/src/viem/Account.ts +0 -601
  158. package/src/viem/Actions/account.test.ts +0 -414
  159. package/src/viem/Actions/account.ts +0 -106
  160. package/src/viem/Actions/amm.test.ts +0 -381
  161. package/src/viem/Actions/amm.ts +0 -1227
  162. package/src/viem/Actions/dex.test.ts +0 -1549
  163. package/src/viem/Actions/dex.ts +0 -2150
  164. package/src/viem/Actions/faucet.ts +0 -121
  165. package/src/viem/Actions/fee.test.ts +0 -259
  166. package/src/viem/Actions/fee.ts +0 -372
  167. package/src/viem/Actions/index.ts +0 -9
  168. package/src/viem/Actions/nonce.test.ts +0 -206
  169. package/src/viem/Actions/nonce.ts +0 -347
  170. package/src/viem/Actions/policy.test.ts +0 -534
  171. package/src/viem/Actions/policy.ts +0 -1335
  172. package/src/viem/Actions/reward.test.ts +0 -434
  173. package/src/viem/Actions/reward.ts +0 -944
  174. package/src/viem/Actions/token.test.ts +0 -3029
  175. package/src/viem/Actions/token.ts +0 -4458
  176. package/src/viem/Addresses.ts +0 -9
  177. package/src/viem/Chain.bench-d.ts +0 -12
  178. package/src/viem/Chain.test.ts +0 -168
  179. package/src/viem/Chain.ts +0 -157
  180. package/src/viem/Decorator.bench-d.ts +0 -11
  181. package/src/viem/Decorator.test.ts +0 -39
  182. package/src/viem/Decorator.ts +0 -3179
  183. package/src/viem/Formatters.ts +0 -164
  184. package/src/viem/P256.ts +0 -1
  185. package/src/viem/Secp256k1.ts +0 -1
  186. package/src/viem/Storage.ts +0 -110
  187. package/src/viem/TokenIds.ts +0 -1
  188. package/src/viem/Transaction.ts +0 -382
  189. package/src/viem/Transport.ts +0 -191
  190. package/src/viem/WebAuthnP256.ts +0 -146
  191. package/src/viem/WebCryptoP256.ts +0 -1
  192. package/src/viem/e2e.test.ts +0 -1602
  193. package/src/viem/index.ts +0 -30
  194. package/src/viem/internal/types.ts +0 -69
  195. package/src/viem/internal/utils.ts +0 -58
  196. package/src/wagmi/internal/types.ts +0 -16
@@ -1,2422 +0,0 @@
1
- import { type Account, type Address, type BaseErrorType, type Chain, type Client, type ExtractAbiItem, type GetEventArgs, type Log, type ReadContractReturnType, type Transport, type Log as viem_Log, type WatchContractEventParameters, type WatchContractEventReturnType, type WriteContractReturnType } from 'viem';
2
- import { writeContract, writeContractSync } from 'viem/actions';
3
- import type { UnionOmit } from '../../internal/types.js';
4
- import * as Abis from '../Abis.js';
5
- import type { ReadParameters, WriteParameters } from '../internal/types.js';
6
- /**
7
- * Claims accumulated rewards for a recipient.
8
- *
9
- * This function allows a reward recipient to claim their accumulated rewards
10
- * and receive them as token transfers to their own balance.
11
- *
12
- * - Accrues all pending rewards up to the current block timestamp.
13
- * - Updates the caller's reward accounting.
14
- * - Transfers the caller's accumulated `rewardBalance` from the token contract to the caller.
15
- * - If the contract's balance is insufficient, claims up to the available amount.
16
- * - Returns the actual amount claimed.
17
- *
18
- * Notes:
19
- * - Reverts with `Paused` if the token is paused.
20
- * - Reverts with `PolicyForbids` if the caller is not authorized to receive tokens under TIP-403.
21
- * - If opted in, the claimed amount is added back to `optedInSupply` since it goes to the recipient's balance.
22
- *
23
- * @example
24
- * ```ts
25
- * import { createClient, http } from 'viem'
26
- * import { tempo } from 'tempo.ts/chains'
27
- * import { Actions } from 'tempo.ts/viem'
28
- * import { privateKeyToAccount } from 'viem/accounts'
29
- *
30
- * const client = createClient({
31
- * account: privateKeyToAccount('0x...'),
32
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
33
- * transport: http(),
34
- * })
35
- *
36
- * const hash = await Actions.reward.claim(client, {
37
- * token: '0x20c0000000000000000000000000000000000001',
38
- * })
39
- * ```
40
- *
41
- * @param client - Client.
42
- * @param parameters - Parameters.
43
- * @returns The transaction hash.
44
- */
45
- export declare function claim<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: claim.Parameters<chain, account>): Promise<claim.ReturnValue>;
46
- export declare namespace claim {
47
- type Args = {
48
- /** The TIP20 token address */
49
- token: Address;
50
- };
51
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & Args;
52
- type ReturnValue = WriteContractReturnType;
53
- type ErrorType = BaseErrorType;
54
- /** @internal */
55
- 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>>;
56
- /**
57
- * Defines a call to the `claimRewards` function.
58
- *
59
- * Can be passed as a parameter to:
60
- * - [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas): estimate the gas cost of the call
61
- * - [`simulateContract`](https://viem.sh/docs/contract/simulateContract): simulate the call
62
- * - [`sendCalls`](https://viem.sh/docs/actions/wallet/sendCalls): send multiple calls
63
- *
64
- * @example
65
- * ```ts
66
- * import { createClient, http, walletActions } from 'viem'
67
- * import { tempo } from 'tempo.ts/chains'
68
- * import { Actions } from 'tempo.ts/viem'
69
- *
70
- * const client = createClient({
71
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
72
- * transport: http(),
73
- * }).extend(walletActions)
74
- *
75
- * const hash = await client.sendTransaction({
76
- * calls: [actions.reward.claim.call({
77
- * token: '0x20c0000000000000000000000000000000000001',
78
- * })],
79
- * })
80
- * ```
81
- *
82
- * @param args - Arguments.
83
- * @returns The call.
84
- */
85
- function call(args: Args): {
86
- abi: [{
87
- readonly name: "claimRewards";
88
- readonly type: "function";
89
- readonly stateMutability: "nonpayable";
90
- readonly inputs: readonly [];
91
- readonly outputs: readonly [{
92
- readonly type: "uint256";
93
- }];
94
- }];
95
- functionName: "claimRewards";
96
- args?: readonly [] | undefined;
97
- } & {
98
- address: Address;
99
- } & {
100
- data: import("viem").Hex;
101
- to: Address;
102
- };
103
- }
104
- /**
105
- * Claims accumulated rewards for a recipient and waits for confirmation.
106
- *
107
- * This function allows a reward recipient to claim their accumulated rewards
108
- * and receive them as token transfers to their own balance.
109
- *
110
- * Behavior:
111
- * - Accrues all pending rewards up to the current block timestamp.
112
- * - Updates the caller's reward accounting.
113
- * - Transfers the caller's accumulated `rewardBalance` from the token contract to the caller.
114
- * - If the contract's balance is insufficient, claims up to the available amount.
115
- *
116
- * Notes:
117
- * - Reverts with `Paused` if the token is paused.
118
- * - Reverts with `PolicyForbids` if the caller is not authorized to receive tokens under TIP-403.
119
- * - If opted in, the claimed amount is added back to `optedInSupply` since it goes to the recipient's balance.
120
- *
121
- * @example
122
- * ```ts
123
- * import { createClient, http } from 'viem'
124
- * import { tempo } from 'tempo.ts/chains'
125
- * import { Actions } from 'tempo.ts/viem'
126
- * import { privateKeyToAccount } from 'viem/accounts'
127
- *
128
- * const client = createClient({
129
- * account: privateKeyToAccount('0x...'),
130
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
131
- * transport: http(),
132
- * })
133
- *
134
- * const { receipt } = await Actions.reward.claimSync(client, {
135
- * token: '0x20c0000000000000000000000000000000000001',
136
- * })
137
- * ```
138
- *
139
- * @param client - Client.
140
- * @param parameters - Parameters.
141
- * @returns The amount claimed and transaction receipt.
142
- */
143
- export declare function claimSync<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: claimSync.Parameters<chain, account>): Promise<claimSync.ReturnValue>;
144
- export declare namespace claimSync {
145
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & claim.Args;
146
- type ReturnValue = {
147
- /** The transaction receipt */
148
- receipt: Awaited<ReturnType<typeof writeContractSync>>;
149
- };
150
- type ErrorType = claim.ErrorType;
151
- }
152
- /**
153
- * Gets the total reward per second rate for all active streams.
154
- *
155
- * Returns the current aggregate per-second emission rate scaled by `ACC_PRECISION` (1e18).
156
- * This value represents the sum of all active reward streams' emission rates.
157
- * The rate decreases when streams end (via `finalizeStreams`) or are canceled.
158
- *
159
- * @example
160
- * ```ts
161
- * import { createClient, http } from 'viem'
162
- * import { tempo } from 'tempo.ts/chains'
163
- * import { Actions } from 'tempo.ts/viem'
164
- *
165
- * const client = createClient({
166
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
167
- * transport: http(),
168
- * })
169
- *
170
- * const rate = await Actions.rewards.getTotalPerSecond(client, {
171
- * token: '0x20c0000000000000000000000000000000000001',
172
- * })
173
- * ```
174
- *
175
- * @param client - Client.
176
- * @param parameters - Parameters.
177
- * @returns The total reward per second (scaled by 1e18).
178
- */
179
- export declare function getTotalPerSecond<chain extends Chain | undefined>(client: Client<Transport, chain>, parameters: getTotalPerSecond.Parameters): Promise<getTotalPerSecond.ReturnValue>;
180
- export declare namespace getTotalPerSecond {
181
- type Parameters = ReadParameters & Args;
182
- type Args = {
183
- /** The TIP20 token address */
184
- token: Address;
185
- };
186
- type ReturnValue = ReadContractReturnType<typeof Abis.tip20, 'totalRewardPerSecond', never>;
187
- /**
188
- * Defines a call to the `totalRewardPerSecond` function.
189
- *
190
- * @param args - Arguments.
191
- * @returns The call.
192
- */
193
- function call(args: Args): {
194
- abi: [{
195
- readonly name: "totalRewardPerSecond";
196
- readonly type: "function";
197
- readonly stateMutability: "view";
198
- readonly inputs: readonly [];
199
- readonly outputs: readonly [{
200
- readonly type: "uint256";
201
- }];
202
- }];
203
- functionName: "totalRewardPerSecond";
204
- args?: readonly [] | undefined;
205
- } & {
206
- address: Address;
207
- } & {
208
- data: import("viem").Hex;
209
- to: Address;
210
- };
211
- }
212
- /**
213
- * Gets the reward information for a specific account.
214
- *
215
- * Returns the reward recipient address, reward per token value, and accumulated reward balance for the specified account.
216
- * This information includes:
217
- * - `rewardRecipient`: The address designated to receive rewards (zero address if opted out)
218
- * - `rewardPerToken`: The reward per token value for this account
219
- * - `rewardBalance`: The accumulated reward balance waiting to be claimed
220
- *
221
- * @example
222
- * ```ts
223
- * import { createClient, http } from 'viem'
224
- * import { tempo } from 'tempo.ts/chains'
225
- * import { Actions } from 'tempo.ts/viem'
226
- *
227
- * const client = createClient({
228
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
229
- * transport: http(),
230
- * })
231
- *
232
- * const info = await Actions.reward.getUserRewardInfo(client, {
233
- * token: '0x20c0000000000000000000000000000000000001',
234
- * account: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
235
- * })
236
- * ```
237
- *
238
- * @param client - Client.
239
- * @param parameters - Parameters.
240
- * @returns The user's reward information (recipient, rewardPerToken, rewardBalance).
241
- */
242
- export declare function getUserRewardInfo<chain extends Chain | undefined>(client: Client<Transport, chain>, parameters: getUserRewardInfo.Parameters): Promise<getUserRewardInfo.ReturnValue>;
243
- export declare namespace getUserRewardInfo {
244
- type Parameters = ReadParameters & Args;
245
- type Args = {
246
- /** The account address to query reward info for */
247
- account: Address;
248
- /** The TIP20 token address */
249
- token: Address;
250
- };
251
- type ReturnValue = ReadContractReturnType<typeof Abis.tip20, 'userRewardInfo', never>;
252
- /**
253
- * Defines a call to the `userRewardInfo` function.
254
- *
255
- * @param args - Arguments.
256
- * @returns The call.
257
- */
258
- function call(args: Args): {
259
- abi: [{
260
- readonly name: "userRewardInfo";
261
- readonly type: "function";
262
- readonly stateMutability: "view";
263
- readonly inputs: readonly [{
264
- readonly type: "address";
265
- readonly name: "account";
266
- }];
267
- readonly outputs: readonly [{
268
- readonly type: "tuple";
269
- readonly components: readonly [{
270
- readonly type: "address";
271
- readonly name: "rewardRecipient";
272
- }, {
273
- readonly type: "uint256";
274
- readonly name: "rewardPerToken";
275
- }, {
276
- readonly type: "uint256";
277
- readonly name: "rewardBalance";
278
- }];
279
- }];
280
- }];
281
- functionName: "userRewardInfo";
282
- args?: readonly [`0x${string}`] | undefined;
283
- } & {
284
- args: readonly [`0x${string}`];
285
- } & {
286
- address: Address;
287
- } & {
288
- data: import("viem").Hex;
289
- to: Address;
290
- };
291
- }
292
- /**
293
- * Sets or changes the reward recipient for a token holder.
294
- *
295
- * This function allows a token holder to designate who should receive their share of rewards:
296
- * - If `recipient` is the zero address, opts out from rewards distribution.
297
- * - Otherwise, opts in and sets `recipient` as the address that will receive accrued rewards.
298
- * - Can be called with `recipient == msg.sender` to receive rewards directly.
299
- * - Automatically distributes any accrued rewards to the current recipient before changing.
300
- *
301
- * TIP-403 Policy:
302
- * - Reverts with `PolicyForbids` if `recipient` is not the zero address and either the holder or recipient is not authorized to receive tokens under the token's transfer policy.
303
- *
304
- * @example
305
- * ```ts
306
- * import { createClient, http } from 'viem'
307
- * import { tempo } from 'tempo.ts/chains'
308
- * import { Actions } from 'tempo.ts/viem'
309
- * import { privateKeyToAccount } from 'viem/accounts'
310
- *
311
- * const client = createClient({
312
- * account: privateKeyToAccount('0x...'),
313
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
314
- * transport: http(),
315
- * })
316
- *
317
- * const hash = await Actions.rewards.setRecipient(client, {
318
- * recipient: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
319
- * token: '0x20c0000000000000000000000000000000000001',
320
- * })
321
- * ```
322
- *
323
- * @param client - Client.
324
- * @param parameters - Parameters.
325
- * @returns The transaction hash.
326
- */
327
- export declare function setRecipient<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: setRecipient.Parameters<chain, account>): Promise<setRecipient.ReturnValue>;
328
- /**
329
- * Sets or changes the reward recipient for a token holder and waits for confirmation.
330
- *
331
- * This function allows a token holder to designate who should receive their share of rewards:
332
- * - If `recipient` is the zero address, opts out from rewards distribution.
333
- * - Otherwise, opts in and sets `recipient` as the address that will receive accrued rewards.
334
- * - Can be called with `recipient == msg.sender` to receive rewards directly.
335
- * - Automatically distributes any accrued rewards to the current recipient before changing.
336
- *
337
- * TIP-403 Policy:
338
- * - Reverts with `PolicyForbids` if `recipient` is not the zero address and either the holder or recipient is not authorized to receive tokens under the token's transfer policy.
339
- *
340
- * @example
341
- * ```ts
342
- * import { createClient, http } from 'viem'
343
- * import { tempo } from 'tempo.ts/chains'
344
- * import { Actions } from 'tempo.ts/viem'
345
- * import { privateKeyToAccount } from 'viem/accounts'
346
- *
347
- * const client = createClient({
348
- * account: privateKeyToAccount('0x...'),
349
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
350
- * transport: http(),
351
- * })
352
- *
353
- * const { holder, recipient, receipt } = await Actions.rewards.setRecipientSync(client, {
354
- * recipient: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
355
- * token: '0x20c0000000000000000000000000000000000001',
356
- * })
357
- * ```
358
- *
359
- * @param client - Client.
360
- * @param parameters - Parameters.
361
- * @returns The holder, recipient, and transaction receipt.
362
- */
363
- export declare function setRecipientSync<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: setRecipientSync.Parameters<chain, account>): Promise<setRecipientSync.ReturnValue>;
364
- export declare namespace setRecipient {
365
- type Args = {
366
- /** The reward recipient address (use zero address to opt out of rewards) */
367
- recipient: Address;
368
- /** The TIP20 token address */
369
- token: Address;
370
- };
371
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & Args;
372
- type ReturnValue = WriteContractReturnType;
373
- type ErrorType = BaseErrorType;
374
- /** @internal */
375
- 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>>;
376
- /**
377
- * Defines a call to the `setRecipient` function.
378
- *
379
- * Can be passed as a parameter to:
380
- * - [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas): estimate the gas cost of the call
381
- * - [`simulateContract`](https://viem.sh/docs/contract/simulateContract): simulate the call
382
- * - [`sendCalls`](https://viem.sh/docs/actions/wallet/sendCalls): send multiple calls
383
- *
384
- * @example
385
- * ```ts
386
- * import { createClient, http, walletActions } from 'viem'
387
- * import { tempo } from 'tempo.ts/chains'
388
- * import { Actions } from 'tempo.ts/viem'
389
- *
390
- * const client = createClient({
391
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
392
- * transport: http(),
393
- * }).extend(walletActions)
394
- *
395
- * const hash = await client.sendTransaction({
396
- * calls: [actions.rewards.setRecipient.call({
397
- * recipient: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
398
- * token: '0x20c0000000000000000000000000000000000001',
399
- * })],
400
- * })
401
- * ```
402
- *
403
- * @param args - Arguments.
404
- * @returns The call.
405
- */
406
- function call(args: Args): {
407
- abi: [{
408
- readonly name: "setRewardRecipient";
409
- readonly type: "function";
410
- readonly stateMutability: "nonpayable";
411
- readonly inputs: readonly [{
412
- readonly type: "address";
413
- readonly name: "recipient";
414
- }];
415
- readonly outputs: readonly [];
416
- }];
417
- functionName: "setRewardRecipient";
418
- args?: readonly [`0x${string}`] | undefined;
419
- } & {
420
- args: readonly [`0x${string}`];
421
- } & {
422
- address: Address;
423
- } & {
424
- data: import("viem").Hex;
425
- to: Address;
426
- };
427
- /**
428
- * Extracts the `RewardRecipientSet` event from logs.
429
- *
430
- * @param logs - The logs.
431
- * @returns The `RewardRecipientSet` event.
432
- */
433
- function extractEvent(logs: Log[]): Log<bigint, number, false, undefined, true, readonly [{
434
- readonly name: "name";
435
- readonly type: "function";
436
- readonly stateMutability: "view";
437
- readonly inputs: readonly [];
438
- readonly outputs: readonly [{
439
- readonly type: "string";
440
- }];
441
- }, {
442
- readonly name: "symbol";
443
- readonly type: "function";
444
- readonly stateMutability: "view";
445
- readonly inputs: readonly [];
446
- readonly outputs: readonly [{
447
- readonly type: "string";
448
- }];
449
- }, {
450
- readonly name: "decimals";
451
- readonly type: "function";
452
- readonly stateMutability: "view";
453
- readonly inputs: readonly [];
454
- readonly outputs: readonly [{
455
- readonly type: "uint8";
456
- }];
457
- }, {
458
- readonly name: "totalSupply";
459
- readonly type: "function";
460
- readonly stateMutability: "view";
461
- readonly inputs: readonly [];
462
- readonly outputs: readonly [{
463
- readonly type: "uint256";
464
- }];
465
- }, {
466
- readonly name: "quoteToken";
467
- readonly type: "function";
468
- readonly stateMutability: "view";
469
- readonly inputs: readonly [];
470
- readonly outputs: readonly [{
471
- readonly type: "address";
472
- }];
473
- }, {
474
- readonly name: "nextQuoteToken";
475
- readonly type: "function";
476
- readonly stateMutability: "view";
477
- readonly inputs: readonly [];
478
- readonly outputs: readonly [{
479
- readonly type: "address";
480
- }];
481
- }, {
482
- readonly name: "balanceOf";
483
- readonly type: "function";
484
- readonly stateMutability: "view";
485
- readonly inputs: readonly [{
486
- readonly type: "address";
487
- readonly name: "account";
488
- }];
489
- readonly outputs: readonly [{
490
- readonly type: "uint256";
491
- }];
492
- }, {
493
- readonly name: "transfer";
494
- readonly type: "function";
495
- readonly stateMutability: "nonpayable";
496
- readonly inputs: readonly [{
497
- readonly type: "address";
498
- readonly name: "to";
499
- }, {
500
- readonly type: "uint256";
501
- readonly name: "amount";
502
- }];
503
- readonly outputs: readonly [{
504
- readonly type: "bool";
505
- }];
506
- }, {
507
- readonly name: "approve";
508
- readonly type: "function";
509
- readonly stateMutability: "nonpayable";
510
- readonly inputs: readonly [{
511
- readonly type: "address";
512
- readonly name: "spender";
513
- }, {
514
- readonly type: "uint256";
515
- readonly name: "amount";
516
- }];
517
- readonly outputs: readonly [{
518
- readonly type: "bool";
519
- }];
520
- }, {
521
- readonly name: "allowance";
522
- readonly type: "function";
523
- readonly stateMutability: "view";
524
- readonly inputs: readonly [{
525
- readonly type: "address";
526
- readonly name: "owner";
527
- }, {
528
- readonly type: "address";
529
- readonly name: "spender";
530
- }];
531
- readonly outputs: readonly [{
532
- readonly type: "uint256";
533
- }];
534
- }, {
535
- readonly name: "transferFrom";
536
- readonly type: "function";
537
- readonly stateMutability: "nonpayable";
538
- readonly inputs: readonly [{
539
- readonly type: "address";
540
- readonly name: "from";
541
- }, {
542
- readonly type: "address";
543
- readonly name: "to";
544
- }, {
545
- readonly type: "uint256";
546
- readonly name: "amount";
547
- }];
548
- readonly outputs: readonly [{
549
- readonly type: "bool";
550
- }];
551
- }, {
552
- readonly name: "mint";
553
- readonly type: "function";
554
- readonly stateMutability: "nonpayable";
555
- readonly inputs: readonly [{
556
- readonly type: "address";
557
- readonly name: "to";
558
- }, {
559
- readonly type: "uint256";
560
- readonly name: "amount";
561
- }];
562
- readonly outputs: readonly [];
563
- }, {
564
- readonly name: "burn";
565
- readonly type: "function";
566
- readonly stateMutability: "nonpayable";
567
- readonly inputs: readonly [{
568
- readonly type: "uint256";
569
- readonly name: "amount";
570
- }];
571
- readonly outputs: readonly [];
572
- }, {
573
- readonly name: "currency";
574
- readonly type: "function";
575
- readonly stateMutability: "view";
576
- readonly inputs: readonly [];
577
- readonly outputs: readonly [{
578
- readonly type: "string";
579
- }];
580
- }, {
581
- readonly name: "supplyCap";
582
- readonly type: "function";
583
- readonly stateMutability: "view";
584
- readonly inputs: readonly [];
585
- readonly outputs: readonly [{
586
- readonly type: "uint256";
587
- }];
588
- }, {
589
- readonly name: "paused";
590
- readonly type: "function";
591
- readonly stateMutability: "view";
592
- readonly inputs: readonly [];
593
- readonly outputs: readonly [{
594
- readonly type: "bool";
595
- }];
596
- }, {
597
- readonly name: "transferPolicyId";
598
- readonly type: "function";
599
- readonly stateMutability: "view";
600
- readonly inputs: readonly [];
601
- readonly outputs: readonly [{
602
- readonly type: "uint64";
603
- }];
604
- }, {
605
- readonly name: "burnBlocked";
606
- readonly type: "function";
607
- readonly stateMutability: "nonpayable";
608
- readonly inputs: readonly [{
609
- readonly type: "address";
610
- readonly name: "from";
611
- }, {
612
- readonly type: "uint256";
613
- readonly name: "amount";
614
- }];
615
- readonly outputs: readonly [];
616
- }, {
617
- readonly name: "mintWithMemo";
618
- readonly type: "function";
619
- readonly stateMutability: "nonpayable";
620
- readonly inputs: readonly [{
621
- readonly type: "address";
622
- readonly name: "to";
623
- }, {
624
- readonly type: "uint256";
625
- readonly name: "amount";
626
- }, {
627
- readonly type: "bytes32";
628
- readonly name: "memo";
629
- }];
630
- readonly outputs: readonly [];
631
- }, {
632
- readonly name: "burnWithMemo";
633
- readonly type: "function";
634
- readonly stateMutability: "nonpayable";
635
- readonly inputs: readonly [{
636
- readonly type: "uint256";
637
- readonly name: "amount";
638
- }, {
639
- readonly type: "bytes32";
640
- readonly name: "memo";
641
- }];
642
- readonly outputs: readonly [];
643
- }, {
644
- readonly name: "transferWithMemo";
645
- readonly type: "function";
646
- readonly stateMutability: "nonpayable";
647
- readonly inputs: readonly [{
648
- readonly type: "address";
649
- readonly name: "to";
650
- }, {
651
- readonly type: "uint256";
652
- readonly name: "amount";
653
- }, {
654
- readonly type: "bytes32";
655
- readonly name: "memo";
656
- }];
657
- readonly outputs: readonly [];
658
- }, {
659
- readonly name: "transferFromWithMemo";
660
- readonly type: "function";
661
- readonly stateMutability: "nonpayable";
662
- readonly inputs: readonly [{
663
- readonly type: "address";
664
- readonly name: "from";
665
- }, {
666
- readonly type: "address";
667
- readonly name: "to";
668
- }, {
669
- readonly type: "uint256";
670
- readonly name: "amount";
671
- }, {
672
- readonly type: "bytes32";
673
- readonly name: "memo";
674
- }];
675
- readonly outputs: readonly [{
676
- readonly type: "bool";
677
- }];
678
- }, {
679
- readonly name: "feeRecipient";
680
- readonly type: "function";
681
- readonly stateMutability: "view";
682
- readonly inputs: readonly [];
683
- readonly outputs: readonly [{
684
- readonly type: "address";
685
- }];
686
- }, {
687
- readonly name: "setFeeRecipient";
688
- readonly type: "function";
689
- readonly stateMutability: "view";
690
- readonly inputs: readonly [{
691
- readonly type: "address";
692
- readonly name: "newRecipient";
693
- }];
694
- readonly outputs: readonly [{
695
- readonly type: "address";
696
- }];
697
- }, {
698
- readonly name: "changeTransferPolicyId";
699
- readonly type: "function";
700
- readonly stateMutability: "nonpayable";
701
- readonly inputs: readonly [{
702
- readonly type: "uint64";
703
- readonly name: "newPolicyId";
704
- }];
705
- readonly outputs: readonly [];
706
- }, {
707
- readonly name: "setSupplyCap";
708
- readonly type: "function";
709
- readonly stateMutability: "nonpayable";
710
- readonly inputs: readonly [{
711
- readonly type: "uint256";
712
- readonly name: "newSupplyCap";
713
- }];
714
- readonly outputs: readonly [];
715
- }, {
716
- readonly name: "pause";
717
- readonly type: "function";
718
- readonly stateMutability: "nonpayable";
719
- readonly inputs: readonly [];
720
- readonly outputs: readonly [];
721
- }, {
722
- readonly name: "unpause";
723
- readonly type: "function";
724
- readonly stateMutability: "nonpayable";
725
- readonly inputs: readonly [];
726
- readonly outputs: readonly [];
727
- }, {
728
- readonly name: "setNextQuoteToken";
729
- readonly type: "function";
730
- readonly stateMutability: "nonpayable";
731
- readonly inputs: readonly [{
732
- readonly type: "address";
733
- readonly name: "newQuoteToken";
734
- }];
735
- readonly outputs: readonly [];
736
- }, {
737
- readonly name: "completeQuoteTokenUpdate";
738
- readonly type: "function";
739
- readonly stateMutability: "nonpayable";
740
- readonly inputs: readonly [];
741
- readonly outputs: readonly [];
742
- }, {
743
- readonly name: "PAUSE_ROLE";
744
- readonly type: "function";
745
- readonly stateMutability: "view";
746
- readonly inputs: readonly [];
747
- readonly outputs: readonly [{
748
- readonly type: "bytes32";
749
- }];
750
- }, {
751
- readonly name: "UNPAUSE_ROLE";
752
- readonly type: "function";
753
- readonly stateMutability: "view";
754
- readonly inputs: readonly [];
755
- readonly outputs: readonly [{
756
- readonly type: "bytes32";
757
- }];
758
- }, {
759
- readonly name: "ISSUER_ROLE";
760
- readonly type: "function";
761
- readonly stateMutability: "view";
762
- readonly inputs: readonly [];
763
- readonly outputs: readonly [{
764
- readonly type: "bytes32";
765
- }];
766
- }, {
767
- readonly name: "BURN_BLOCKED_ROLE";
768
- readonly type: "function";
769
- readonly stateMutability: "view";
770
- readonly inputs: readonly [];
771
- readonly outputs: readonly [{
772
- readonly type: "bytes32";
773
- }];
774
- }, {
775
- readonly name: "startReward";
776
- readonly type: "function";
777
- readonly stateMutability: "nonpayable";
778
- readonly inputs: readonly [{
779
- readonly type: "uint256";
780
- readonly name: "amount";
781
- }, {
782
- readonly type: "uint32";
783
- readonly name: "secs";
784
- }];
785
- readonly outputs: readonly [{
786
- readonly type: "uint64";
787
- }];
788
- }, {
789
- readonly name: "setRewardRecipient";
790
- readonly type: "function";
791
- readonly stateMutability: "nonpayable";
792
- readonly inputs: readonly [{
793
- readonly type: "address";
794
- readonly name: "recipient";
795
- }];
796
- readonly outputs: readonly [];
797
- }, {
798
- readonly name: "cancelReward";
799
- readonly type: "function";
800
- readonly stateMutability: "nonpayable";
801
- readonly inputs: readonly [{
802
- readonly type: "uint64";
803
- readonly name: "id";
804
- }];
805
- readonly outputs: readonly [{
806
- readonly type: "uint256";
807
- }];
808
- }, {
809
- readonly name: "claimRewards";
810
- readonly type: "function";
811
- readonly stateMutability: "nonpayable";
812
- readonly inputs: readonly [];
813
- readonly outputs: readonly [{
814
- readonly type: "uint256";
815
- }];
816
- }, {
817
- readonly name: "finalizeStreams";
818
- readonly type: "function";
819
- readonly stateMutability: "nonpayable";
820
- readonly inputs: readonly [{
821
- readonly type: "uint64";
822
- readonly name: "timestamp";
823
- }];
824
- readonly outputs: readonly [];
825
- }, {
826
- readonly name: "getStream";
827
- readonly type: "function";
828
- readonly stateMutability: "view";
829
- readonly inputs: readonly [{
830
- readonly type: "uint64";
831
- readonly name: "id";
832
- }];
833
- readonly outputs: readonly [{
834
- readonly type: "tuple";
835
- readonly components: readonly [{
836
- readonly type: "address";
837
- readonly name: "funder";
838
- }, {
839
- readonly type: "uint64";
840
- readonly name: "startTime";
841
- }, {
842
- readonly type: "uint64";
843
- readonly name: "endTime";
844
- }, {
845
- readonly type: "uint256";
846
- readonly name: "ratePerSecondScaled";
847
- }, {
848
- readonly type: "uint256";
849
- readonly name: "amountTotal";
850
- }];
851
- }];
852
- }, {
853
- readonly name: "totalRewardPerSecond";
854
- readonly type: "function";
855
- readonly stateMutability: "view";
856
- readonly inputs: readonly [];
857
- readonly outputs: readonly [{
858
- readonly type: "uint256";
859
- }];
860
- }, {
861
- readonly name: "optedInSupply";
862
- readonly type: "function";
863
- readonly stateMutability: "view";
864
- readonly inputs: readonly [];
865
- readonly outputs: readonly [{
866
- readonly type: "uint128";
867
- }];
868
- }, {
869
- readonly name: "nextStreamId";
870
- readonly type: "function";
871
- readonly stateMutability: "view";
872
- readonly inputs: readonly [];
873
- readonly outputs: readonly [{
874
- readonly type: "uint64";
875
- }];
876
- }, {
877
- readonly name: "userRewardInfo";
878
- readonly type: "function";
879
- readonly stateMutability: "view";
880
- readonly inputs: readonly [{
881
- readonly type: "address";
882
- readonly name: "account";
883
- }];
884
- readonly outputs: readonly [{
885
- readonly type: "tuple";
886
- readonly components: readonly [{
887
- readonly type: "address";
888
- readonly name: "rewardRecipient";
889
- }, {
890
- readonly type: "uint256";
891
- readonly name: "rewardPerToken";
892
- }, {
893
- readonly type: "uint256";
894
- readonly name: "rewardBalance";
895
- }];
896
- }];
897
- }, {
898
- readonly name: "Transfer";
899
- readonly type: "event";
900
- readonly inputs: readonly [{
901
- readonly type: "address";
902
- readonly name: "from";
903
- readonly indexed: true;
904
- }, {
905
- readonly type: "address";
906
- readonly name: "to";
907
- readonly indexed: true;
908
- }, {
909
- readonly type: "uint256";
910
- readonly name: "amount";
911
- }];
912
- }, {
913
- readonly name: "Approval";
914
- readonly type: "event";
915
- readonly inputs: readonly [{
916
- readonly type: "address";
917
- readonly name: "owner";
918
- readonly indexed: true;
919
- }, {
920
- readonly type: "address";
921
- readonly name: "spender";
922
- readonly indexed: true;
923
- }, {
924
- readonly type: "uint256";
925
- readonly name: "amount";
926
- }];
927
- }, {
928
- readonly name: "Mint";
929
- readonly type: "event";
930
- readonly inputs: readonly [{
931
- readonly type: "address";
932
- readonly name: "to";
933
- readonly indexed: true;
934
- }, {
935
- readonly type: "uint256";
936
- readonly name: "amount";
937
- }];
938
- }, {
939
- readonly name: "Burn";
940
- readonly type: "event";
941
- readonly inputs: readonly [{
942
- readonly type: "address";
943
- readonly name: "from";
944
- readonly indexed: true;
945
- }, {
946
- readonly type: "uint256";
947
- readonly name: "amount";
948
- }];
949
- }, {
950
- readonly name: "BurnBlocked";
951
- readonly type: "event";
952
- readonly inputs: readonly [{
953
- readonly type: "address";
954
- readonly name: "from";
955
- readonly indexed: true;
956
- }, {
957
- readonly type: "uint256";
958
- readonly name: "amount";
959
- }];
960
- }, {
961
- readonly name: "TransferWithMemo";
962
- readonly type: "event";
963
- readonly inputs: readonly [{
964
- readonly type: "address";
965
- readonly name: "from";
966
- readonly indexed: true;
967
- }, {
968
- readonly type: "address";
969
- readonly name: "to";
970
- readonly indexed: true;
971
- }, {
972
- readonly type: "uint256";
973
- readonly name: "amount";
974
- }, {
975
- readonly type: "bytes32";
976
- readonly name: "memo";
977
- readonly indexed: true;
978
- }];
979
- }, {
980
- readonly name: "TransferPolicyUpdate";
981
- readonly type: "event";
982
- readonly inputs: readonly [{
983
- readonly type: "address";
984
- readonly name: "updater";
985
- readonly indexed: true;
986
- }, {
987
- readonly type: "uint64";
988
- readonly name: "newPolicyId";
989
- readonly indexed: true;
990
- }];
991
- }, {
992
- readonly name: "SupplyCapUpdate";
993
- readonly type: "event";
994
- readonly inputs: readonly [{
995
- readonly type: "address";
996
- readonly name: "updater";
997
- readonly indexed: true;
998
- }, {
999
- readonly type: "uint256";
1000
- readonly name: "newSupplyCap";
1001
- readonly indexed: true;
1002
- }];
1003
- }, {
1004
- readonly name: "PauseStateUpdate";
1005
- readonly type: "event";
1006
- readonly inputs: readonly [{
1007
- readonly type: "address";
1008
- readonly name: "updater";
1009
- readonly indexed: true;
1010
- }, {
1011
- readonly type: "bool";
1012
- readonly name: "isPaused";
1013
- }];
1014
- }, {
1015
- readonly name: "NextQuoteTokenSet";
1016
- readonly type: "event";
1017
- readonly inputs: readonly [{
1018
- readonly type: "address";
1019
- readonly name: "updater";
1020
- readonly indexed: true;
1021
- }, {
1022
- readonly type: "address";
1023
- readonly name: "nextQuoteToken";
1024
- readonly indexed: true;
1025
- }];
1026
- }, {
1027
- readonly name: "QuoteTokenUpdate";
1028
- readonly type: "event";
1029
- readonly inputs: readonly [{
1030
- readonly type: "address";
1031
- readonly name: "updater";
1032
- readonly indexed: true;
1033
- }, {
1034
- readonly type: "address";
1035
- readonly name: "newQuoteToken";
1036
- readonly indexed: true;
1037
- }];
1038
- }, {
1039
- readonly name: "RewardScheduled";
1040
- readonly type: "event";
1041
- readonly inputs: readonly [{
1042
- readonly type: "address";
1043
- readonly name: "funder";
1044
- readonly indexed: true;
1045
- }, {
1046
- readonly type: "uint64";
1047
- readonly name: "id";
1048
- readonly indexed: true;
1049
- }, {
1050
- readonly type: "uint256";
1051
- readonly name: "amount";
1052
- }, {
1053
- readonly type: "uint32";
1054
- readonly name: "durationSeconds";
1055
- }];
1056
- }, {
1057
- readonly name: "RewardCanceled";
1058
- readonly type: "event";
1059
- readonly inputs: readonly [{
1060
- readonly type: "address";
1061
- readonly name: "funder";
1062
- readonly indexed: true;
1063
- }, {
1064
- readonly type: "uint64";
1065
- readonly name: "id";
1066
- readonly indexed: true;
1067
- }, {
1068
- readonly type: "uint256";
1069
- readonly name: "refund";
1070
- }];
1071
- }, {
1072
- readonly name: "RewardRecipientSet";
1073
- readonly type: "event";
1074
- readonly inputs: readonly [{
1075
- readonly type: "address";
1076
- readonly name: "holder";
1077
- readonly indexed: true;
1078
- }, {
1079
- readonly type: "address";
1080
- readonly name: "recipient";
1081
- readonly indexed: true;
1082
- }];
1083
- }, {
1084
- readonly name: "FeeRecipientUpdated";
1085
- readonly type: "event";
1086
- readonly inputs: readonly [{
1087
- readonly type: "address";
1088
- readonly name: "updater";
1089
- readonly indexed: true;
1090
- }, {
1091
- readonly type: "address";
1092
- readonly name: "newRecipient";
1093
- readonly indexed: true;
1094
- }];
1095
- }, {
1096
- readonly name: "InsufficientBalance";
1097
- readonly type: "error";
1098
- readonly inputs: readonly [{
1099
- readonly type: "uint256";
1100
- readonly name: "available";
1101
- }, {
1102
- readonly type: "uint256";
1103
- readonly name: "required";
1104
- }, {
1105
- readonly type: "address";
1106
- readonly name: "token";
1107
- }];
1108
- }, {
1109
- readonly name: "InsufficientAllowance";
1110
- readonly type: "error";
1111
- readonly inputs: readonly [];
1112
- }, {
1113
- readonly name: "SupplyCapExceeded";
1114
- readonly type: "error";
1115
- readonly inputs: readonly [];
1116
- }, {
1117
- readonly name: "InvalidSupplyCap";
1118
- readonly type: "error";
1119
- readonly inputs: readonly [];
1120
- }, {
1121
- readonly name: "InvalidPayload";
1122
- readonly type: "error";
1123
- readonly inputs: readonly [];
1124
- }, {
1125
- readonly name: "StringTooLong";
1126
- readonly type: "error";
1127
- readonly inputs: readonly [];
1128
- }, {
1129
- readonly name: "PolicyForbids";
1130
- readonly type: "error";
1131
- readonly inputs: readonly [];
1132
- }, {
1133
- readonly name: "InvalidRecipient";
1134
- readonly type: "error";
1135
- readonly inputs: readonly [];
1136
- }, {
1137
- readonly name: "ContractPaused";
1138
- readonly type: "error";
1139
- readonly inputs: readonly [];
1140
- }, {
1141
- readonly name: "InvalidCurrency";
1142
- readonly type: "error";
1143
- readonly inputs: readonly [];
1144
- }, {
1145
- readonly name: "InvalidQuoteToken";
1146
- readonly type: "error";
1147
- readonly inputs: readonly [];
1148
- }, {
1149
- readonly name: "TransfersDisabled";
1150
- readonly type: "error";
1151
- readonly inputs: readonly [];
1152
- }, {
1153
- readonly name: "InvalidAmount";
1154
- readonly type: "error";
1155
- readonly inputs: readonly [];
1156
- }, {
1157
- readonly name: "NotStreamFunder";
1158
- readonly type: "error";
1159
- readonly inputs: readonly [];
1160
- }, {
1161
- readonly name: "StreamInactive";
1162
- readonly type: "error";
1163
- readonly inputs: readonly [];
1164
- }, {
1165
- readonly name: "NoOptedInSupply";
1166
- readonly type: "error";
1167
- readonly inputs: readonly [];
1168
- }, {
1169
- readonly name: "Unauthorized";
1170
- readonly type: "error";
1171
- readonly inputs: readonly [];
1172
- }, {
1173
- readonly name: "RewardsDisabled";
1174
- readonly type: "error";
1175
- readonly inputs: readonly [];
1176
- }, {
1177
- readonly name: "ScheduledRewardsDisabled";
1178
- readonly type: "error";
1179
- readonly inputs: readonly [];
1180
- }, {
1181
- readonly name: "ProtectedAddress";
1182
- readonly type: "error";
1183
- readonly inputs: readonly [];
1184
- }, {
1185
- readonly name: "hasRole";
1186
- readonly type: "function";
1187
- readonly stateMutability: "view";
1188
- readonly inputs: readonly [{
1189
- readonly type: "address";
1190
- readonly name: "account";
1191
- }, {
1192
- readonly type: "bytes32";
1193
- readonly name: "role";
1194
- }];
1195
- readonly outputs: readonly [{
1196
- readonly type: "bool";
1197
- }];
1198
- }, {
1199
- readonly name: "getRoleAdmin";
1200
- readonly type: "function";
1201
- readonly stateMutability: "view";
1202
- readonly inputs: readonly [{
1203
- readonly type: "bytes32";
1204
- readonly name: "role";
1205
- }];
1206
- readonly outputs: readonly [{
1207
- readonly type: "bytes32";
1208
- }];
1209
- }, {
1210
- readonly name: "grantRole";
1211
- readonly type: "function";
1212
- readonly stateMutability: "nonpayable";
1213
- readonly inputs: readonly [{
1214
- readonly type: "bytes32";
1215
- readonly name: "role";
1216
- }, {
1217
- readonly type: "address";
1218
- readonly name: "account";
1219
- }];
1220
- readonly outputs: readonly [];
1221
- }, {
1222
- readonly name: "revokeRole";
1223
- readonly type: "function";
1224
- readonly stateMutability: "nonpayable";
1225
- readonly inputs: readonly [{
1226
- readonly type: "bytes32";
1227
- readonly name: "role";
1228
- }, {
1229
- readonly type: "address";
1230
- readonly name: "account";
1231
- }];
1232
- readonly outputs: readonly [];
1233
- }, {
1234
- readonly name: "renounceRole";
1235
- readonly type: "function";
1236
- readonly stateMutability: "nonpayable";
1237
- readonly inputs: readonly [{
1238
- readonly type: "bytes32";
1239
- readonly name: "role";
1240
- }];
1241
- readonly outputs: readonly [];
1242
- }, {
1243
- readonly name: "setRoleAdmin";
1244
- readonly type: "function";
1245
- readonly stateMutability: "nonpayable";
1246
- readonly inputs: readonly [{
1247
- readonly type: "bytes32";
1248
- readonly name: "role";
1249
- }, {
1250
- readonly type: "bytes32";
1251
- readonly name: "adminRole";
1252
- }];
1253
- readonly outputs: readonly [];
1254
- }, {
1255
- readonly name: "RoleMembershipUpdated";
1256
- readonly type: "event";
1257
- readonly inputs: readonly [{
1258
- readonly type: "bytes32";
1259
- readonly name: "role";
1260
- readonly indexed: true;
1261
- }, {
1262
- readonly type: "address";
1263
- readonly name: "account";
1264
- readonly indexed: true;
1265
- }, {
1266
- readonly type: "address";
1267
- readonly name: "sender";
1268
- readonly indexed: true;
1269
- }, {
1270
- readonly type: "bool";
1271
- readonly name: "hasRole";
1272
- }];
1273
- }, {
1274
- readonly name: "RoleAdminUpdated";
1275
- readonly type: "event";
1276
- readonly inputs: readonly [{
1277
- readonly type: "bytes32";
1278
- readonly name: "role";
1279
- readonly indexed: true;
1280
- }, {
1281
- readonly type: "bytes32";
1282
- readonly name: "newAdminRole";
1283
- readonly indexed: true;
1284
- }, {
1285
- readonly type: "address";
1286
- readonly name: "sender";
1287
- readonly indexed: true;
1288
- }];
1289
- }, {
1290
- readonly name: "Unauthorized";
1291
- readonly type: "error";
1292
- readonly inputs: readonly [];
1293
- }], "RewardRecipientSet">;
1294
- }
1295
- export declare namespace setRecipientSync {
1296
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & setRecipient.Args;
1297
- type ReturnValue = {
1298
- /** The token holder address who set their reward recipient */
1299
- holder: Address;
1300
- /** The transaction receipt */
1301
- receipt: Awaited<ReturnType<typeof writeContractSync>>;
1302
- /** The reward recipient address (zero address indicates opt-out) */
1303
- recipient: Address;
1304
- };
1305
- type ErrorType = setRecipient.ErrorType;
1306
- }
1307
- /**
1308
- * Starts a new reward stream that distributes tokens to opted-in holders.
1309
- *
1310
- * Behavior:
1311
- * - Transfers `amount` of tokens from the caller into the token contract's reward pool.
1312
- * - If `seconds == 0`: Immediately distributes `amount` to current opted-in holders by increasing `rewardPerTokenStored`.
1313
- * Returns stream ID `0`. Distribution occurs when holders interact with the token (transfers, etc.).
1314
- * - If `seconds > 0`: Starts a linear stream that emits evenly from `block.timestamp` to `block.timestamp + seconds`.
1315
- * Returns a unique stream ID for later cancellation.
1316
- *
1317
- * Notes:
1318
- * - Reverts with `InvalidAmount` if `amount == 0`.
1319
- * - Allowed even when `optedInSupply == 0` (tokens distributed while no one is opted in are locked permanently).
1320
- * - The transfer from caller to pool is subject to TIP-403 policy checks.
1321
- *
1322
- * @example
1323
- * ```ts
1324
- * import { createClient, http } from 'viem'
1325
- * import { tempo } from 'tempo.ts/chains'
1326
- * import { Actions } from 'tempo.ts/viem'
1327
- * import { privateKeyToAccount } from 'viem/accounts'
1328
- *
1329
- * const client = createClient({
1330
- * account: privateKeyToAccount('0x...'),
1331
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
1332
- * transport: http(),
1333
- * })
1334
- *
1335
- * const hash = await Actions.rewards.start(client, {
1336
- * amount: 100000000000000000000n,
1337
- * seconds: 86400,
1338
- * token: '0x20c0000000000000000000000000000000000001',
1339
- * })
1340
- * ```
1341
- *
1342
- * @param client - Client.
1343
- * @param parameters - Parameters.
1344
- * @returns The transaction hash.
1345
- */
1346
- export declare function start<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: start.Parameters<chain, account>): Promise<start.ReturnValue>;
1347
- /**
1348
- * Starts a new reward stream that distributes tokens to opted-in holders and waits for confirmation.
1349
- *
1350
- * Behavior:
1351
- * - Transfers `amount` of tokens from the caller into the token contract's reward pool.
1352
- * - If `seconds == 0`: Immediately distributes `amount` to current opted-in holders by increasing `rewardPerTokenStored`.
1353
- * Returns stream ID `0`. Distribution occurs when holders interact with the token (transfers, etc.).
1354
- * - If `seconds > 0`: Starts a linear stream that emits evenly from `block.timestamp` to `block.timestamp + seconds`.
1355
- * Returns a unique stream ID for later cancellation.
1356
- *
1357
- * Notes:
1358
- * - Reverts with `InvalidAmount` if `amount == 0`.
1359
- * - Allowed even when `optedInSupply == 0` (tokens distributed while no one is opted in are locked permanently).
1360
- * - The transfer from caller to pool is subject to TIP-403 policy checks.
1361
- *
1362
- * @example
1363
- * ```ts
1364
- * import { createClient, http } from 'viem'
1365
- * import { tempo } from 'tempo.ts/chains'
1366
- * import { Actions } from 'tempo.ts/viem'
1367
- * import { privateKeyToAccount } from 'viem/accounts'
1368
- *
1369
- * const client = createClient({
1370
- * account: privateKeyToAccount('0x...'),
1371
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
1372
- * transport: http(),
1373
- * })
1374
- *
1375
- * const { id, receipt } = await Actions.rewards.startSync(client, {
1376
- * amount: 100000000000000000000n,
1377
- * seconds: 86400,
1378
- * token: '0x20c0000000000000000000000000000000000001',
1379
- * })
1380
- * ```
1381
- *
1382
- * @param client - Client.
1383
- * @param parameters - Parameters.
1384
- * @returns The stream ID, funder, amount, duration, and transaction receipt.
1385
- */
1386
- export declare function startSync<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: startSync.Parameters<chain, account>): Promise<startSync.ReturnValue>;
1387
- export declare namespace start {
1388
- type Args = {
1389
- /** The amount of tokens to distribute (must be > 0) */
1390
- amount: bigint;
1391
- /** The TIP20 token address */
1392
- token: Address;
1393
- };
1394
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & Args;
1395
- type ReturnValue = WriteContractReturnType;
1396
- type ErrorType = BaseErrorType;
1397
- /** @internal */
1398
- 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>>;
1399
- /**
1400
- * Defines a call to the `start` function.
1401
- *
1402
- * Can be passed as a parameter to:
1403
- * - [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas): estimate the gas cost of the call
1404
- * - [`simulateContract`](https://viem.sh/docs/contract/simulateContract): simulate the call
1405
- * - [`sendCalls`](https://viem.sh/docs/actions/wallet/sendCalls): send multiple calls
1406
- *
1407
- * @example
1408
- * ```ts
1409
- * import { createClient, http, walletActions } from 'viem'
1410
- * import { tempo } from 'tempo.ts/chains'
1411
- * import { Actions } from 'tempo.ts/viem'
1412
- *
1413
- * const client = createClient({
1414
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
1415
- * transport: http(),
1416
- * }).extend(walletActions)
1417
- *
1418
- * const hash = await client.sendTransaction({
1419
- * calls: [actions.rewards.start.call({
1420
- * amount: 100000000000000000000n,
1421
- * seconds: 86400,
1422
- * token: '0x20c0000000000000000000000000000000000001',
1423
- * })],
1424
- * })
1425
- * ```
1426
- *
1427
- * @param args - Arguments.
1428
- * @returns The call.
1429
- */
1430
- function call(args: Args): {
1431
- abi: [{
1432
- readonly name: "startReward";
1433
- readonly type: "function";
1434
- readonly stateMutability: "nonpayable";
1435
- readonly inputs: readonly [{
1436
- readonly type: "uint256";
1437
- readonly name: "amount";
1438
- }, {
1439
- readonly type: "uint32";
1440
- readonly name: "secs";
1441
- }];
1442
- readonly outputs: readonly [{
1443
- readonly type: "uint64";
1444
- }];
1445
- }];
1446
- functionName: "startReward";
1447
- args?: readonly [bigint, number] | undefined;
1448
- } & {
1449
- args: readonly [bigint, number];
1450
- } & {
1451
- address: Address;
1452
- } & {
1453
- data: import("viem").Hex;
1454
- to: Address;
1455
- };
1456
- /**
1457
- * Extracts the `RewardScheduled` event from logs.
1458
- *
1459
- * @param logs - The logs.
1460
- * @returns The `RewardScheduled` event.
1461
- */
1462
- function extractEvent(logs: Log[]): Log<bigint, number, false, undefined, true, readonly [{
1463
- readonly name: "name";
1464
- readonly type: "function";
1465
- readonly stateMutability: "view";
1466
- readonly inputs: readonly [];
1467
- readonly outputs: readonly [{
1468
- readonly type: "string";
1469
- }];
1470
- }, {
1471
- readonly name: "symbol";
1472
- readonly type: "function";
1473
- readonly stateMutability: "view";
1474
- readonly inputs: readonly [];
1475
- readonly outputs: readonly [{
1476
- readonly type: "string";
1477
- }];
1478
- }, {
1479
- readonly name: "decimals";
1480
- readonly type: "function";
1481
- readonly stateMutability: "view";
1482
- readonly inputs: readonly [];
1483
- readonly outputs: readonly [{
1484
- readonly type: "uint8";
1485
- }];
1486
- }, {
1487
- readonly name: "totalSupply";
1488
- readonly type: "function";
1489
- readonly stateMutability: "view";
1490
- readonly inputs: readonly [];
1491
- readonly outputs: readonly [{
1492
- readonly type: "uint256";
1493
- }];
1494
- }, {
1495
- readonly name: "quoteToken";
1496
- readonly type: "function";
1497
- readonly stateMutability: "view";
1498
- readonly inputs: readonly [];
1499
- readonly outputs: readonly [{
1500
- readonly type: "address";
1501
- }];
1502
- }, {
1503
- readonly name: "nextQuoteToken";
1504
- readonly type: "function";
1505
- readonly stateMutability: "view";
1506
- readonly inputs: readonly [];
1507
- readonly outputs: readonly [{
1508
- readonly type: "address";
1509
- }];
1510
- }, {
1511
- readonly name: "balanceOf";
1512
- readonly type: "function";
1513
- readonly stateMutability: "view";
1514
- readonly inputs: readonly [{
1515
- readonly type: "address";
1516
- readonly name: "account";
1517
- }];
1518
- readonly outputs: readonly [{
1519
- readonly type: "uint256";
1520
- }];
1521
- }, {
1522
- readonly name: "transfer";
1523
- readonly type: "function";
1524
- readonly stateMutability: "nonpayable";
1525
- readonly inputs: readonly [{
1526
- readonly type: "address";
1527
- readonly name: "to";
1528
- }, {
1529
- readonly type: "uint256";
1530
- readonly name: "amount";
1531
- }];
1532
- readonly outputs: readonly [{
1533
- readonly type: "bool";
1534
- }];
1535
- }, {
1536
- readonly name: "approve";
1537
- readonly type: "function";
1538
- readonly stateMutability: "nonpayable";
1539
- readonly inputs: readonly [{
1540
- readonly type: "address";
1541
- readonly name: "spender";
1542
- }, {
1543
- readonly type: "uint256";
1544
- readonly name: "amount";
1545
- }];
1546
- readonly outputs: readonly [{
1547
- readonly type: "bool";
1548
- }];
1549
- }, {
1550
- readonly name: "allowance";
1551
- readonly type: "function";
1552
- readonly stateMutability: "view";
1553
- readonly inputs: readonly [{
1554
- readonly type: "address";
1555
- readonly name: "owner";
1556
- }, {
1557
- readonly type: "address";
1558
- readonly name: "spender";
1559
- }];
1560
- readonly outputs: readonly [{
1561
- readonly type: "uint256";
1562
- }];
1563
- }, {
1564
- readonly name: "transferFrom";
1565
- readonly type: "function";
1566
- readonly stateMutability: "nonpayable";
1567
- readonly inputs: readonly [{
1568
- readonly type: "address";
1569
- readonly name: "from";
1570
- }, {
1571
- readonly type: "address";
1572
- readonly name: "to";
1573
- }, {
1574
- readonly type: "uint256";
1575
- readonly name: "amount";
1576
- }];
1577
- readonly outputs: readonly [{
1578
- readonly type: "bool";
1579
- }];
1580
- }, {
1581
- readonly name: "mint";
1582
- readonly type: "function";
1583
- readonly stateMutability: "nonpayable";
1584
- readonly inputs: readonly [{
1585
- readonly type: "address";
1586
- readonly name: "to";
1587
- }, {
1588
- readonly type: "uint256";
1589
- readonly name: "amount";
1590
- }];
1591
- readonly outputs: readonly [];
1592
- }, {
1593
- readonly name: "burn";
1594
- readonly type: "function";
1595
- readonly stateMutability: "nonpayable";
1596
- readonly inputs: readonly [{
1597
- readonly type: "uint256";
1598
- readonly name: "amount";
1599
- }];
1600
- readonly outputs: readonly [];
1601
- }, {
1602
- readonly name: "currency";
1603
- readonly type: "function";
1604
- readonly stateMutability: "view";
1605
- readonly inputs: readonly [];
1606
- readonly outputs: readonly [{
1607
- readonly type: "string";
1608
- }];
1609
- }, {
1610
- readonly name: "supplyCap";
1611
- readonly type: "function";
1612
- readonly stateMutability: "view";
1613
- readonly inputs: readonly [];
1614
- readonly outputs: readonly [{
1615
- readonly type: "uint256";
1616
- }];
1617
- }, {
1618
- readonly name: "paused";
1619
- readonly type: "function";
1620
- readonly stateMutability: "view";
1621
- readonly inputs: readonly [];
1622
- readonly outputs: readonly [{
1623
- readonly type: "bool";
1624
- }];
1625
- }, {
1626
- readonly name: "transferPolicyId";
1627
- readonly type: "function";
1628
- readonly stateMutability: "view";
1629
- readonly inputs: readonly [];
1630
- readonly outputs: readonly [{
1631
- readonly type: "uint64";
1632
- }];
1633
- }, {
1634
- readonly name: "burnBlocked";
1635
- readonly type: "function";
1636
- readonly stateMutability: "nonpayable";
1637
- readonly inputs: readonly [{
1638
- readonly type: "address";
1639
- readonly name: "from";
1640
- }, {
1641
- readonly type: "uint256";
1642
- readonly name: "amount";
1643
- }];
1644
- readonly outputs: readonly [];
1645
- }, {
1646
- readonly name: "mintWithMemo";
1647
- readonly type: "function";
1648
- readonly stateMutability: "nonpayable";
1649
- readonly inputs: readonly [{
1650
- readonly type: "address";
1651
- readonly name: "to";
1652
- }, {
1653
- readonly type: "uint256";
1654
- readonly name: "amount";
1655
- }, {
1656
- readonly type: "bytes32";
1657
- readonly name: "memo";
1658
- }];
1659
- readonly outputs: readonly [];
1660
- }, {
1661
- readonly name: "burnWithMemo";
1662
- readonly type: "function";
1663
- readonly stateMutability: "nonpayable";
1664
- readonly inputs: readonly [{
1665
- readonly type: "uint256";
1666
- readonly name: "amount";
1667
- }, {
1668
- readonly type: "bytes32";
1669
- readonly name: "memo";
1670
- }];
1671
- readonly outputs: readonly [];
1672
- }, {
1673
- readonly name: "transferWithMemo";
1674
- readonly type: "function";
1675
- readonly stateMutability: "nonpayable";
1676
- readonly inputs: readonly [{
1677
- readonly type: "address";
1678
- readonly name: "to";
1679
- }, {
1680
- readonly type: "uint256";
1681
- readonly name: "amount";
1682
- }, {
1683
- readonly type: "bytes32";
1684
- readonly name: "memo";
1685
- }];
1686
- readonly outputs: readonly [];
1687
- }, {
1688
- readonly name: "transferFromWithMemo";
1689
- readonly type: "function";
1690
- readonly stateMutability: "nonpayable";
1691
- readonly inputs: readonly [{
1692
- readonly type: "address";
1693
- readonly name: "from";
1694
- }, {
1695
- readonly type: "address";
1696
- readonly name: "to";
1697
- }, {
1698
- readonly type: "uint256";
1699
- readonly name: "amount";
1700
- }, {
1701
- readonly type: "bytes32";
1702
- readonly name: "memo";
1703
- }];
1704
- readonly outputs: readonly [{
1705
- readonly type: "bool";
1706
- }];
1707
- }, {
1708
- readonly name: "feeRecipient";
1709
- readonly type: "function";
1710
- readonly stateMutability: "view";
1711
- readonly inputs: readonly [];
1712
- readonly outputs: readonly [{
1713
- readonly type: "address";
1714
- }];
1715
- }, {
1716
- readonly name: "setFeeRecipient";
1717
- readonly type: "function";
1718
- readonly stateMutability: "view";
1719
- readonly inputs: readonly [{
1720
- readonly type: "address";
1721
- readonly name: "newRecipient";
1722
- }];
1723
- readonly outputs: readonly [{
1724
- readonly type: "address";
1725
- }];
1726
- }, {
1727
- readonly name: "changeTransferPolicyId";
1728
- readonly type: "function";
1729
- readonly stateMutability: "nonpayable";
1730
- readonly inputs: readonly [{
1731
- readonly type: "uint64";
1732
- readonly name: "newPolicyId";
1733
- }];
1734
- readonly outputs: readonly [];
1735
- }, {
1736
- readonly name: "setSupplyCap";
1737
- readonly type: "function";
1738
- readonly stateMutability: "nonpayable";
1739
- readonly inputs: readonly [{
1740
- readonly type: "uint256";
1741
- readonly name: "newSupplyCap";
1742
- }];
1743
- readonly outputs: readonly [];
1744
- }, {
1745
- readonly name: "pause";
1746
- readonly type: "function";
1747
- readonly stateMutability: "nonpayable";
1748
- readonly inputs: readonly [];
1749
- readonly outputs: readonly [];
1750
- }, {
1751
- readonly name: "unpause";
1752
- readonly type: "function";
1753
- readonly stateMutability: "nonpayable";
1754
- readonly inputs: readonly [];
1755
- readonly outputs: readonly [];
1756
- }, {
1757
- readonly name: "setNextQuoteToken";
1758
- readonly type: "function";
1759
- readonly stateMutability: "nonpayable";
1760
- readonly inputs: readonly [{
1761
- readonly type: "address";
1762
- readonly name: "newQuoteToken";
1763
- }];
1764
- readonly outputs: readonly [];
1765
- }, {
1766
- readonly name: "completeQuoteTokenUpdate";
1767
- readonly type: "function";
1768
- readonly stateMutability: "nonpayable";
1769
- readonly inputs: readonly [];
1770
- readonly outputs: readonly [];
1771
- }, {
1772
- readonly name: "PAUSE_ROLE";
1773
- readonly type: "function";
1774
- readonly stateMutability: "view";
1775
- readonly inputs: readonly [];
1776
- readonly outputs: readonly [{
1777
- readonly type: "bytes32";
1778
- }];
1779
- }, {
1780
- readonly name: "UNPAUSE_ROLE";
1781
- readonly type: "function";
1782
- readonly stateMutability: "view";
1783
- readonly inputs: readonly [];
1784
- readonly outputs: readonly [{
1785
- readonly type: "bytes32";
1786
- }];
1787
- }, {
1788
- readonly name: "ISSUER_ROLE";
1789
- readonly type: "function";
1790
- readonly stateMutability: "view";
1791
- readonly inputs: readonly [];
1792
- readonly outputs: readonly [{
1793
- readonly type: "bytes32";
1794
- }];
1795
- }, {
1796
- readonly name: "BURN_BLOCKED_ROLE";
1797
- readonly type: "function";
1798
- readonly stateMutability: "view";
1799
- readonly inputs: readonly [];
1800
- readonly outputs: readonly [{
1801
- readonly type: "bytes32";
1802
- }];
1803
- }, {
1804
- readonly name: "startReward";
1805
- readonly type: "function";
1806
- readonly stateMutability: "nonpayable";
1807
- readonly inputs: readonly [{
1808
- readonly type: "uint256";
1809
- readonly name: "amount";
1810
- }, {
1811
- readonly type: "uint32";
1812
- readonly name: "secs";
1813
- }];
1814
- readonly outputs: readonly [{
1815
- readonly type: "uint64";
1816
- }];
1817
- }, {
1818
- readonly name: "setRewardRecipient";
1819
- readonly type: "function";
1820
- readonly stateMutability: "nonpayable";
1821
- readonly inputs: readonly [{
1822
- readonly type: "address";
1823
- readonly name: "recipient";
1824
- }];
1825
- readonly outputs: readonly [];
1826
- }, {
1827
- readonly name: "cancelReward";
1828
- readonly type: "function";
1829
- readonly stateMutability: "nonpayable";
1830
- readonly inputs: readonly [{
1831
- readonly type: "uint64";
1832
- readonly name: "id";
1833
- }];
1834
- readonly outputs: readonly [{
1835
- readonly type: "uint256";
1836
- }];
1837
- }, {
1838
- readonly name: "claimRewards";
1839
- readonly type: "function";
1840
- readonly stateMutability: "nonpayable";
1841
- readonly inputs: readonly [];
1842
- readonly outputs: readonly [{
1843
- readonly type: "uint256";
1844
- }];
1845
- }, {
1846
- readonly name: "finalizeStreams";
1847
- readonly type: "function";
1848
- readonly stateMutability: "nonpayable";
1849
- readonly inputs: readonly [{
1850
- readonly type: "uint64";
1851
- readonly name: "timestamp";
1852
- }];
1853
- readonly outputs: readonly [];
1854
- }, {
1855
- readonly name: "getStream";
1856
- readonly type: "function";
1857
- readonly stateMutability: "view";
1858
- readonly inputs: readonly [{
1859
- readonly type: "uint64";
1860
- readonly name: "id";
1861
- }];
1862
- readonly outputs: readonly [{
1863
- readonly type: "tuple";
1864
- readonly components: readonly [{
1865
- readonly type: "address";
1866
- readonly name: "funder";
1867
- }, {
1868
- readonly type: "uint64";
1869
- readonly name: "startTime";
1870
- }, {
1871
- readonly type: "uint64";
1872
- readonly name: "endTime";
1873
- }, {
1874
- readonly type: "uint256";
1875
- readonly name: "ratePerSecondScaled";
1876
- }, {
1877
- readonly type: "uint256";
1878
- readonly name: "amountTotal";
1879
- }];
1880
- }];
1881
- }, {
1882
- readonly name: "totalRewardPerSecond";
1883
- readonly type: "function";
1884
- readonly stateMutability: "view";
1885
- readonly inputs: readonly [];
1886
- readonly outputs: readonly [{
1887
- readonly type: "uint256";
1888
- }];
1889
- }, {
1890
- readonly name: "optedInSupply";
1891
- readonly type: "function";
1892
- readonly stateMutability: "view";
1893
- readonly inputs: readonly [];
1894
- readonly outputs: readonly [{
1895
- readonly type: "uint128";
1896
- }];
1897
- }, {
1898
- readonly name: "nextStreamId";
1899
- readonly type: "function";
1900
- readonly stateMutability: "view";
1901
- readonly inputs: readonly [];
1902
- readonly outputs: readonly [{
1903
- readonly type: "uint64";
1904
- }];
1905
- }, {
1906
- readonly name: "userRewardInfo";
1907
- readonly type: "function";
1908
- readonly stateMutability: "view";
1909
- readonly inputs: readonly [{
1910
- readonly type: "address";
1911
- readonly name: "account";
1912
- }];
1913
- readonly outputs: readonly [{
1914
- readonly type: "tuple";
1915
- readonly components: readonly [{
1916
- readonly type: "address";
1917
- readonly name: "rewardRecipient";
1918
- }, {
1919
- readonly type: "uint256";
1920
- readonly name: "rewardPerToken";
1921
- }, {
1922
- readonly type: "uint256";
1923
- readonly name: "rewardBalance";
1924
- }];
1925
- }];
1926
- }, {
1927
- readonly name: "Transfer";
1928
- readonly type: "event";
1929
- readonly inputs: readonly [{
1930
- readonly type: "address";
1931
- readonly name: "from";
1932
- readonly indexed: true;
1933
- }, {
1934
- readonly type: "address";
1935
- readonly name: "to";
1936
- readonly indexed: true;
1937
- }, {
1938
- readonly type: "uint256";
1939
- readonly name: "amount";
1940
- }];
1941
- }, {
1942
- readonly name: "Approval";
1943
- readonly type: "event";
1944
- readonly inputs: readonly [{
1945
- readonly type: "address";
1946
- readonly name: "owner";
1947
- readonly indexed: true;
1948
- }, {
1949
- readonly type: "address";
1950
- readonly name: "spender";
1951
- readonly indexed: true;
1952
- }, {
1953
- readonly type: "uint256";
1954
- readonly name: "amount";
1955
- }];
1956
- }, {
1957
- readonly name: "Mint";
1958
- readonly type: "event";
1959
- readonly inputs: readonly [{
1960
- readonly type: "address";
1961
- readonly name: "to";
1962
- readonly indexed: true;
1963
- }, {
1964
- readonly type: "uint256";
1965
- readonly name: "amount";
1966
- }];
1967
- }, {
1968
- readonly name: "Burn";
1969
- readonly type: "event";
1970
- readonly inputs: readonly [{
1971
- readonly type: "address";
1972
- readonly name: "from";
1973
- readonly indexed: true;
1974
- }, {
1975
- readonly type: "uint256";
1976
- readonly name: "amount";
1977
- }];
1978
- }, {
1979
- readonly name: "BurnBlocked";
1980
- readonly type: "event";
1981
- readonly inputs: readonly [{
1982
- readonly type: "address";
1983
- readonly name: "from";
1984
- readonly indexed: true;
1985
- }, {
1986
- readonly type: "uint256";
1987
- readonly name: "amount";
1988
- }];
1989
- }, {
1990
- readonly name: "TransferWithMemo";
1991
- readonly type: "event";
1992
- readonly inputs: readonly [{
1993
- readonly type: "address";
1994
- readonly name: "from";
1995
- readonly indexed: true;
1996
- }, {
1997
- readonly type: "address";
1998
- readonly name: "to";
1999
- readonly indexed: true;
2000
- }, {
2001
- readonly type: "uint256";
2002
- readonly name: "amount";
2003
- }, {
2004
- readonly type: "bytes32";
2005
- readonly name: "memo";
2006
- readonly indexed: true;
2007
- }];
2008
- }, {
2009
- readonly name: "TransferPolicyUpdate";
2010
- readonly type: "event";
2011
- readonly inputs: readonly [{
2012
- readonly type: "address";
2013
- readonly name: "updater";
2014
- readonly indexed: true;
2015
- }, {
2016
- readonly type: "uint64";
2017
- readonly name: "newPolicyId";
2018
- readonly indexed: true;
2019
- }];
2020
- }, {
2021
- readonly name: "SupplyCapUpdate";
2022
- readonly type: "event";
2023
- readonly inputs: readonly [{
2024
- readonly type: "address";
2025
- readonly name: "updater";
2026
- readonly indexed: true;
2027
- }, {
2028
- readonly type: "uint256";
2029
- readonly name: "newSupplyCap";
2030
- readonly indexed: true;
2031
- }];
2032
- }, {
2033
- readonly name: "PauseStateUpdate";
2034
- readonly type: "event";
2035
- readonly inputs: readonly [{
2036
- readonly type: "address";
2037
- readonly name: "updater";
2038
- readonly indexed: true;
2039
- }, {
2040
- readonly type: "bool";
2041
- readonly name: "isPaused";
2042
- }];
2043
- }, {
2044
- readonly name: "NextQuoteTokenSet";
2045
- readonly type: "event";
2046
- readonly inputs: readonly [{
2047
- readonly type: "address";
2048
- readonly name: "updater";
2049
- readonly indexed: true;
2050
- }, {
2051
- readonly type: "address";
2052
- readonly name: "nextQuoteToken";
2053
- readonly indexed: true;
2054
- }];
2055
- }, {
2056
- readonly name: "QuoteTokenUpdate";
2057
- readonly type: "event";
2058
- readonly inputs: readonly [{
2059
- readonly type: "address";
2060
- readonly name: "updater";
2061
- readonly indexed: true;
2062
- }, {
2063
- readonly type: "address";
2064
- readonly name: "newQuoteToken";
2065
- readonly indexed: true;
2066
- }];
2067
- }, {
2068
- readonly name: "RewardScheduled";
2069
- readonly type: "event";
2070
- readonly inputs: readonly [{
2071
- readonly type: "address";
2072
- readonly name: "funder";
2073
- readonly indexed: true;
2074
- }, {
2075
- readonly type: "uint64";
2076
- readonly name: "id";
2077
- readonly indexed: true;
2078
- }, {
2079
- readonly type: "uint256";
2080
- readonly name: "amount";
2081
- }, {
2082
- readonly type: "uint32";
2083
- readonly name: "durationSeconds";
2084
- }];
2085
- }, {
2086
- readonly name: "RewardCanceled";
2087
- readonly type: "event";
2088
- readonly inputs: readonly [{
2089
- readonly type: "address";
2090
- readonly name: "funder";
2091
- readonly indexed: true;
2092
- }, {
2093
- readonly type: "uint64";
2094
- readonly name: "id";
2095
- readonly indexed: true;
2096
- }, {
2097
- readonly type: "uint256";
2098
- readonly name: "refund";
2099
- }];
2100
- }, {
2101
- readonly name: "RewardRecipientSet";
2102
- readonly type: "event";
2103
- readonly inputs: readonly [{
2104
- readonly type: "address";
2105
- readonly name: "holder";
2106
- readonly indexed: true;
2107
- }, {
2108
- readonly type: "address";
2109
- readonly name: "recipient";
2110
- readonly indexed: true;
2111
- }];
2112
- }, {
2113
- readonly name: "FeeRecipientUpdated";
2114
- readonly type: "event";
2115
- readonly inputs: readonly [{
2116
- readonly type: "address";
2117
- readonly name: "updater";
2118
- readonly indexed: true;
2119
- }, {
2120
- readonly type: "address";
2121
- readonly name: "newRecipient";
2122
- readonly indexed: true;
2123
- }];
2124
- }, {
2125
- readonly name: "InsufficientBalance";
2126
- readonly type: "error";
2127
- readonly inputs: readonly [{
2128
- readonly type: "uint256";
2129
- readonly name: "available";
2130
- }, {
2131
- readonly type: "uint256";
2132
- readonly name: "required";
2133
- }, {
2134
- readonly type: "address";
2135
- readonly name: "token";
2136
- }];
2137
- }, {
2138
- readonly name: "InsufficientAllowance";
2139
- readonly type: "error";
2140
- readonly inputs: readonly [];
2141
- }, {
2142
- readonly name: "SupplyCapExceeded";
2143
- readonly type: "error";
2144
- readonly inputs: readonly [];
2145
- }, {
2146
- readonly name: "InvalidSupplyCap";
2147
- readonly type: "error";
2148
- readonly inputs: readonly [];
2149
- }, {
2150
- readonly name: "InvalidPayload";
2151
- readonly type: "error";
2152
- readonly inputs: readonly [];
2153
- }, {
2154
- readonly name: "StringTooLong";
2155
- readonly type: "error";
2156
- readonly inputs: readonly [];
2157
- }, {
2158
- readonly name: "PolicyForbids";
2159
- readonly type: "error";
2160
- readonly inputs: readonly [];
2161
- }, {
2162
- readonly name: "InvalidRecipient";
2163
- readonly type: "error";
2164
- readonly inputs: readonly [];
2165
- }, {
2166
- readonly name: "ContractPaused";
2167
- readonly type: "error";
2168
- readonly inputs: readonly [];
2169
- }, {
2170
- readonly name: "InvalidCurrency";
2171
- readonly type: "error";
2172
- readonly inputs: readonly [];
2173
- }, {
2174
- readonly name: "InvalidQuoteToken";
2175
- readonly type: "error";
2176
- readonly inputs: readonly [];
2177
- }, {
2178
- readonly name: "TransfersDisabled";
2179
- readonly type: "error";
2180
- readonly inputs: readonly [];
2181
- }, {
2182
- readonly name: "InvalidAmount";
2183
- readonly type: "error";
2184
- readonly inputs: readonly [];
2185
- }, {
2186
- readonly name: "NotStreamFunder";
2187
- readonly type: "error";
2188
- readonly inputs: readonly [];
2189
- }, {
2190
- readonly name: "StreamInactive";
2191
- readonly type: "error";
2192
- readonly inputs: readonly [];
2193
- }, {
2194
- readonly name: "NoOptedInSupply";
2195
- readonly type: "error";
2196
- readonly inputs: readonly [];
2197
- }, {
2198
- readonly name: "Unauthorized";
2199
- readonly type: "error";
2200
- readonly inputs: readonly [];
2201
- }, {
2202
- readonly name: "RewardsDisabled";
2203
- readonly type: "error";
2204
- readonly inputs: readonly [];
2205
- }, {
2206
- readonly name: "ScheduledRewardsDisabled";
2207
- readonly type: "error";
2208
- readonly inputs: readonly [];
2209
- }, {
2210
- readonly name: "ProtectedAddress";
2211
- readonly type: "error";
2212
- readonly inputs: readonly [];
2213
- }, {
2214
- readonly name: "hasRole";
2215
- readonly type: "function";
2216
- readonly stateMutability: "view";
2217
- readonly inputs: readonly [{
2218
- readonly type: "address";
2219
- readonly name: "account";
2220
- }, {
2221
- readonly type: "bytes32";
2222
- readonly name: "role";
2223
- }];
2224
- readonly outputs: readonly [{
2225
- readonly type: "bool";
2226
- }];
2227
- }, {
2228
- readonly name: "getRoleAdmin";
2229
- readonly type: "function";
2230
- readonly stateMutability: "view";
2231
- readonly inputs: readonly [{
2232
- readonly type: "bytes32";
2233
- readonly name: "role";
2234
- }];
2235
- readonly outputs: readonly [{
2236
- readonly type: "bytes32";
2237
- }];
2238
- }, {
2239
- readonly name: "grantRole";
2240
- readonly type: "function";
2241
- readonly stateMutability: "nonpayable";
2242
- readonly inputs: readonly [{
2243
- readonly type: "bytes32";
2244
- readonly name: "role";
2245
- }, {
2246
- readonly type: "address";
2247
- readonly name: "account";
2248
- }];
2249
- readonly outputs: readonly [];
2250
- }, {
2251
- readonly name: "revokeRole";
2252
- readonly type: "function";
2253
- readonly stateMutability: "nonpayable";
2254
- readonly inputs: readonly [{
2255
- readonly type: "bytes32";
2256
- readonly name: "role";
2257
- }, {
2258
- readonly type: "address";
2259
- readonly name: "account";
2260
- }];
2261
- readonly outputs: readonly [];
2262
- }, {
2263
- readonly name: "renounceRole";
2264
- readonly type: "function";
2265
- readonly stateMutability: "nonpayable";
2266
- readonly inputs: readonly [{
2267
- readonly type: "bytes32";
2268
- readonly name: "role";
2269
- }];
2270
- readonly outputs: readonly [];
2271
- }, {
2272
- readonly name: "setRoleAdmin";
2273
- readonly type: "function";
2274
- readonly stateMutability: "nonpayable";
2275
- readonly inputs: readonly [{
2276
- readonly type: "bytes32";
2277
- readonly name: "role";
2278
- }, {
2279
- readonly type: "bytes32";
2280
- readonly name: "adminRole";
2281
- }];
2282
- readonly outputs: readonly [];
2283
- }, {
2284
- readonly name: "RoleMembershipUpdated";
2285
- readonly type: "event";
2286
- readonly inputs: readonly [{
2287
- readonly type: "bytes32";
2288
- readonly name: "role";
2289
- readonly indexed: true;
2290
- }, {
2291
- readonly type: "address";
2292
- readonly name: "account";
2293
- readonly indexed: true;
2294
- }, {
2295
- readonly type: "address";
2296
- readonly name: "sender";
2297
- readonly indexed: true;
2298
- }, {
2299
- readonly type: "bool";
2300
- readonly name: "hasRole";
2301
- }];
2302
- }, {
2303
- readonly name: "RoleAdminUpdated";
2304
- readonly type: "event";
2305
- readonly inputs: readonly [{
2306
- readonly type: "bytes32";
2307
- readonly name: "role";
2308
- readonly indexed: true;
2309
- }, {
2310
- readonly type: "bytes32";
2311
- readonly name: "newAdminRole";
2312
- readonly indexed: true;
2313
- }, {
2314
- readonly type: "address";
2315
- readonly name: "sender";
2316
- readonly indexed: true;
2317
- }];
2318
- }, {
2319
- readonly name: "Unauthorized";
2320
- readonly type: "error";
2321
- readonly inputs: readonly [];
2322
- }], "RewardScheduled">;
2323
- }
2324
- export declare namespace startSync {
2325
- type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = WriteParameters<chain, account> & start.Args;
2326
- type ReturnValue = {
2327
- /** The total amount allocated to the stream */
2328
- amount: bigint;
2329
- /** The duration of the stream in seconds (0 for immediate distributions) */
2330
- durationSeconds: number;
2331
- /** The address that funded the stream */
2332
- funder: Address;
2333
- /** The unique stream ID (0 for immediate distributions, >0 for streaming distributions) */
2334
- id: bigint;
2335
- /** The transaction receipt */
2336
- receipt: Awaited<ReturnType<typeof writeContractSync>>;
2337
- };
2338
- type ErrorType = start.ErrorType;
2339
- }
2340
- /**
2341
- * Watches for reward scheduled events.
2342
- *
2343
- * @example
2344
- * ```ts
2345
- * import { createClient, http } from 'viem'
2346
- * import { tempo } from 'tempo.ts/chains'
2347
- * import { Actions } from 'tempo.ts/viem'
2348
- *
2349
- * const client = createClient({
2350
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
2351
- * transport: http(),
2352
- * })
2353
- *
2354
- * const unwatch = Actions.reward.watchRewardScheduled(client, {
2355
- * token: '0x20c0000000000000000000000000000000000001',
2356
- * onRewardScheduled: (args, log) => {
2357
- * console.log('Reward scheduled:', args)
2358
- * },
2359
- * })
2360
- * ```
2361
- *
2362
- * @param client - Client.
2363
- * @param parameters - Parameters.
2364
- * @returns A function to unsubscribe from the event.
2365
- */
2366
- export declare function watchRewardScheduled<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: watchRewardScheduled.Parameters): WatchContractEventReturnType;
2367
- export declare namespace watchRewardScheduled {
2368
- type Args = GetEventArgs<typeof Abis.tip20, 'RewardScheduled', {
2369
- IndexedOnly: false;
2370
- Required: true;
2371
- }>;
2372
- type Log = viem_Log<bigint, number, false, ExtractAbiItem<typeof Abis.tip20, 'RewardScheduled'>, true>;
2373
- type Parameters = UnionOmit<WatchContractEventParameters<typeof Abis.tip20, 'RewardScheduled', true>, 'abi' | 'address' | 'batch' | 'eventName' | 'onLogs' | 'strict'> & {
2374
- /** Callback to invoke when rewards are scheduled. */
2375
- onRewardScheduled: (args: Args, log: Log) => void;
2376
- /** The TIP20 token address */
2377
- token: Address;
2378
- };
2379
- type ReturnValue = WatchContractEventReturnType;
2380
- }
2381
- /**
2382
- * Watches for reward recipient set events.
2383
- *
2384
- * @example
2385
- * ```ts
2386
- * import { createClient, http } from 'viem'
2387
- * import { tempo } from 'tempo.ts/chains'
2388
- * import { Actions } from 'tempo.ts/viem'
2389
- *
2390
- * const client = createClient({
2391
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' })
2392
- * transport: http(),
2393
- * })
2394
- *
2395
- * const unwatch = Actions.reward.watchRewardRecipientSet(client, {
2396
- * token: '0x20c0000000000000000000000000000000000001',
2397
- * onRewardRecipientSet: (args, log) => {
2398
- * console.log('Reward recipient set:', args)
2399
- * },
2400
- * })
2401
- * ```
2402
- *
2403
- * @param client - Client.
2404
- * @param parameters - Parameters.
2405
- * @returns A function to unsubscribe from the event.
2406
- */
2407
- export declare function watchRewardRecipientSet<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: watchRewardRecipientSet.Parameters): WatchContractEventReturnType;
2408
- export declare namespace watchRewardRecipientSet {
2409
- type Args = GetEventArgs<typeof Abis.tip20, 'RewardRecipientSet', {
2410
- IndexedOnly: false;
2411
- Required: true;
2412
- }>;
2413
- type Log = viem_Log<bigint, number, false, ExtractAbiItem<typeof Abis.tip20, 'RewardRecipientSet'>, true>;
2414
- type Parameters = UnionOmit<WatchContractEventParameters<typeof Abis.tip20, 'RewardRecipientSet', true>, 'abi' | 'address' | 'batch' | 'eventName' | 'onLogs' | 'strict'> & {
2415
- /** Callback to invoke when a reward recipient is set. */
2416
- onRewardRecipientSet: (args: Args, log: Log) => void;
2417
- /** The TIP20 token address */
2418
- token: Address;
2419
- };
2420
- type ReturnValue = WatchContractEventReturnType;
2421
- }
2422
- //# sourceMappingURL=reward.d.ts.map