@boostxyz/sdk 2.2.0 → 2.2.2

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 (129) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +2 -2
  3. package/dist/Actions/ERC721MintAction.d.ts +1 -1
  4. package/dist/Actions/EventAction.cjs +1 -1
  5. package/dist/Actions/EventAction.cjs.map +1 -1
  6. package/dist/Actions/EventAction.d.ts +219 -0
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +38 -38
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +12 -12
  12. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  13. package/dist/AllowLists/SimpleAllowList.js +8 -8
  14. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  15. package/dist/AllowLists/SimpleDenyList.js +3 -3
  16. package/dist/Auth/PassthroughAuth.cjs +1 -1
  17. package/dist/Auth/PassthroughAuth.js +1 -1
  18. package/dist/BoostCore.cjs +2 -2
  19. package/dist/BoostCore.cjs.map +1 -1
  20. package/dist/BoostCore.d.ts +53 -0
  21. package/dist/BoostCore.d.ts.map +1 -1
  22. package/dist/BoostCore.js +100 -83
  23. package/dist/BoostCore.js.map +1 -1
  24. package/dist/BoostRegistry.cjs +1 -1
  25. package/dist/BoostRegistry.js +33 -33
  26. package/dist/{Budget-BA_1sa1e.cjs → Budget-BSqx3xcT.cjs} +2 -2
  27. package/dist/{Budget-BA_1sa1e.cjs.map → Budget-BSqx3xcT.cjs.map} +1 -1
  28. package/dist/{Budget-B0q1S08L.js → Budget-C3eMp8lh.js} +30 -30
  29. package/dist/{Budget-B0q1S08L.js.map → Budget-C3eMp8lh.js.map} +1 -1
  30. package/dist/Budgets/Budget.cjs +1 -1
  31. package/dist/Budgets/Budget.js +3 -3
  32. package/dist/Budgets/ManagedBudget.cjs +1 -1
  33. package/dist/Budgets/ManagedBudget.js +31 -31
  34. package/dist/Deployable/DeployableTarget.cjs +1 -1
  35. package/dist/Deployable/DeployableTarget.js +1 -1
  36. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  37. package/dist/Deployable/DeployableTargetWithRBAC.js +18 -18
  38. package/dist/Incentive-BWC9nRgY.cjs +2 -0
  39. package/dist/Incentive-BWC9nRgY.cjs.map +1 -0
  40. package/dist/Incentive-o0qXIACU.js +397 -0
  41. package/dist/Incentive-o0qXIACU.js.map +1 -0
  42. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  43. package/dist/Incentives/AllowListIncentive.js +3 -3
  44. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  45. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  46. package/dist/Incentives/CGDAIncentive.d.ts +30 -0
  47. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  48. package/dist/Incentives/CGDAIncentive.js +22 -22
  49. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  50. package/dist/Incentives/ERC1155Incentive.d.ts +25 -0
  51. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  52. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  53. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  54. package/dist/Incentives/ERC20Incentive.d.ts +30 -0
  55. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  56. package/dist/Incentives/ERC20Incentive.js +20 -20
  57. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  58. package/dist/Incentives/ERC20PeggedIncentive.d.ts +906 -0
  59. package/dist/Incentives/ERC20PeggedIncentive.d.ts.map +1 -0
  60. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  61. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
  62. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +67 -0
  63. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
  64. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +15 -15
  65. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
  66. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  67. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
  68. package/dist/Incentives/ERC20VariableIncentive.d.ts +20 -0
  69. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  70. package/dist/Incentives/ERC20VariableIncentive.js +13 -13
  71. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
  72. package/dist/Incentives/Incentive.cjs +1 -1
  73. package/dist/Incentives/Incentive.cjs.map +1 -1
  74. package/dist/Incentives/Incentive.d.ts +24 -3
  75. package/dist/Incentives/Incentive.d.ts.map +1 -1
  76. package/dist/Incentives/Incentive.js +18 -39
  77. package/dist/Incentives/Incentive.js.map +1 -1
  78. package/dist/Incentives/PointsIncentive.cjs +1 -1
  79. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  80. package/dist/Incentives/PointsIncentive.d.ts +25 -0
  81. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  82. package/dist/Incentives/PointsIncentive.js +16 -16
  83. package/dist/Incentives/PointsIncentive.js.map +1 -1
  84. package/dist/{SimpleDenyList-DrQrJ14i.cjs → SimpleDenyList-Dzs_F7dt.cjs} +2 -2
  85. package/dist/{SimpleDenyList-DrQrJ14i.cjs.map → SimpleDenyList-Dzs_F7dt.cjs.map} +1 -1
  86. package/dist/{SimpleDenyList-DuCoaOlG.js → SimpleDenyList-bCzbBEvY.js} +9 -9
  87. package/dist/{SimpleDenyList-DuCoaOlG.js.map → SimpleDenyList-bCzbBEvY.js.map} +1 -1
  88. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  89. package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
  90. package/dist/Validators/LimitedSignerValidator.d.ts +11 -1
  91. package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -1
  92. package/dist/Validators/LimitedSignerValidator.js +20 -20
  93. package/dist/Validators/LimitedSignerValidator.js.map +1 -1
  94. package/dist/Validators/SignerValidator.cjs +1 -1
  95. package/dist/Validators/SignerValidator.cjs.map +1 -1
  96. package/dist/Validators/SignerValidator.d.ts +11 -1
  97. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  98. package/dist/Validators/SignerValidator.js +3 -3
  99. package/dist/Validators/SignerValidator.js.map +1 -1
  100. package/dist/Validators/Validator.cjs +1 -1
  101. package/dist/Validators/Validator.js +8 -8
  102. package/dist/{componentInterfaces-dakxtQHf.js → componentInterfaces-C4uAYjSo.js} +12 -12
  103. package/dist/componentInterfaces-C4uAYjSo.js.map +1 -0
  104. package/dist/deployments-B1Mh8zRA.cjs +2 -0
  105. package/dist/deployments-B1Mh8zRA.cjs.map +1 -0
  106. package/dist/deployments-DNjIZXvl.js +90 -0
  107. package/dist/deployments-DNjIZXvl.js.map +1 -0
  108. package/dist/deployments.json +33 -43
  109. package/dist/{generated-1ZT_mHJx.js → generated-D2xuTYvu.js} +1647 -748
  110. package/dist/generated-D2xuTYvu.js.map +1 -0
  111. package/dist/generated-DAZo6jo9.cjs +3 -0
  112. package/dist/generated-DAZo6jo9.cjs.map +1 -0
  113. package/dist/index.cjs +1 -1
  114. package/dist/index.d.ts +1 -0
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +115 -112
  117. package/package.json +1 -1
  118. package/src/BoostCore.ts +22 -0
  119. package/src/Incentives/ERC20PeggedIncentive.ts +511 -0
  120. package/src/Incentives/Incentive.ts +6 -1
  121. package/src/index.ts +1 -0
  122. package/dist/componentInterfaces-dakxtQHf.js.map +0 -1
  123. package/dist/deployments-BucJ-gwk.cjs +0 -2
  124. package/dist/deployments-BucJ-gwk.cjs.map +0 -1
  125. package/dist/deployments-CQu0bLhU.js +0 -102
  126. package/dist/deployments-CQu0bLhU.js.map +0 -1
  127. package/dist/generated-1ZT_mHJx.js.map +0 -1
  128. package/dist/generated-CgBgbMNe.cjs +0 -3
  129. package/dist/generated-CgBgbMNe.cjs.map +0 -1
@@ -0,0 +1,906 @@
1
+ import { erc20PeggedIncentiveAbi } from '@boostxyz/evm';
2
+ import { type Address, type ContractEventName } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTarget } from '../Deployable/DeployableTarget';
5
+ import { type ClaimPayload } from '../claiming';
6
+ import { type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
7
+ export { erc20PeggedIncentiveAbi };
8
+ /**
9
+ * The object representation of a `ERC20PeggedIncentive.InitPayload`
10
+ *
11
+ * @export
12
+ * @interface ERC20PeggedIncentivePayload
13
+ * @typedef {ERC20PeggedIncentivePayload}
14
+ */
15
+ export interface ERC20PeggedIncentivePayload {
16
+ /**
17
+ * The address of the incentivized asset.
18
+ *
19
+ * @type {Address}
20
+ */
21
+ asset: Address;
22
+ /**
23
+ * The peg to normalize to.
24
+ *
25
+ * @type {Address}
26
+ */
27
+ peg: Address;
28
+ /**
29
+ * The amount of the asset to distribute.
30
+ *
31
+ * @type {bigint}
32
+ */
33
+ reward: bigint;
34
+ /**
35
+ * Total spend for the incentive.
36
+ *
37
+ * @type {bigint}
38
+ */
39
+ limit: bigint;
40
+ /**
41
+ * (Optional) The address of the entity that can managed the incentive.
42
+ *
43
+ * @type {Address}
44
+ * @optional
45
+ */
46
+ manager?: Address;
47
+ }
48
+ /**
49
+ * A generic `viem.Log` event with support for `ERC20PeggedIncentive` event types.
50
+ *
51
+ * @export
52
+ * @typedef {ERC20PeggedIncentiveLog}
53
+ * @template {ContractEventName<typeof erc20PeggedIncentiveAbi>} [event=ContractEventName<
54
+ * typeof erc20PeggedIncentiveAbi
55
+ * >]
56
+ */
57
+ export type ERC20PeggedIncentiveLog<event extends ContractEventName<typeof erc20PeggedIncentiveAbi> = ContractEventName<typeof erc20PeggedIncentiveAbi>> = GenericLog<typeof erc20PeggedIncentiveAbi, event>;
58
+ /**
59
+ * A simple ERC20 incentive implementation that allows claiming of tokens
60
+ *
61
+ * @export
62
+ * @class ERC20PeggedIncentive
63
+ * @typedef {ERC20PeggedIncentive}
64
+ * @extends {DeployableTarget<ERC20PeggedIncentivePayload>}
65
+ */
66
+ export declare class ERC20PeggedIncentive extends DeployableTarget<ERC20PeggedIncentivePayload, typeof erc20PeggedIncentiveAbi> {
67
+ readonly abi: readonly [{
68
+ readonly type: "constructor";
69
+ readonly inputs: readonly [];
70
+ readonly stateMutability: "nonpayable";
71
+ }, {
72
+ readonly type: "error";
73
+ readonly inputs: readonly [];
74
+ readonly name: "AlreadyInitialized";
75
+ }, {
76
+ readonly type: "error";
77
+ readonly inputs: readonly [];
78
+ readonly name: "ClaimFailed";
79
+ }, {
80
+ readonly type: "error";
81
+ readonly inputs: readonly [];
82
+ readonly name: "CloneAlreadyInitialized";
83
+ }, {
84
+ readonly type: "error";
85
+ readonly inputs: readonly [];
86
+ readonly name: "InitializerNotImplemented";
87
+ }, {
88
+ readonly type: "error";
89
+ readonly inputs: readonly [{
90
+ readonly name: "asset";
91
+ readonly internalType: "address";
92
+ readonly type: "address";
93
+ }, {
94
+ readonly name: "available";
95
+ readonly internalType: "uint256";
96
+ readonly type: "uint256";
97
+ }, {
98
+ readonly name: "required";
99
+ readonly internalType: "uint256";
100
+ readonly type: "uint256";
101
+ }];
102
+ readonly name: "InsufficientFunds";
103
+ }, {
104
+ readonly type: "error";
105
+ readonly inputs: readonly [];
106
+ readonly name: "InvalidInitialization";
107
+ }, {
108
+ readonly type: "error";
109
+ readonly inputs: readonly [];
110
+ readonly name: "InvalidInitialization";
111
+ }, {
112
+ readonly type: "error";
113
+ readonly inputs: readonly [];
114
+ readonly name: "InvalidInitializationData";
115
+ }, {
116
+ readonly type: "error";
117
+ readonly inputs: readonly [];
118
+ readonly name: "LengthMismatch";
119
+ }, {
120
+ readonly type: "error";
121
+ readonly inputs: readonly [];
122
+ readonly name: "NewOwnerIsZeroAddress";
123
+ }, {
124
+ readonly type: "error";
125
+ readonly inputs: readonly [];
126
+ readonly name: "NoHandoverRequest";
127
+ }, {
128
+ readonly type: "error";
129
+ readonly inputs: readonly [];
130
+ readonly name: "NotClaimable";
131
+ }, {
132
+ readonly type: "error";
133
+ readonly inputs: readonly [];
134
+ readonly name: "NotInitializing";
135
+ }, {
136
+ readonly type: "error";
137
+ readonly inputs: readonly [];
138
+ readonly name: "Unauthorized";
139
+ }, {
140
+ readonly type: "event";
141
+ readonly anonymous: false;
142
+ readonly inputs: readonly [{
143
+ readonly name: "recipient";
144
+ readonly internalType: "address";
145
+ readonly type: "address";
146
+ readonly indexed: true;
147
+ }, {
148
+ readonly name: "data";
149
+ readonly internalType: "bytes";
150
+ readonly type: "bytes";
151
+ readonly indexed: false;
152
+ }];
153
+ readonly name: "Claimed";
154
+ }, {
155
+ readonly type: "event";
156
+ readonly anonymous: false;
157
+ readonly inputs: readonly [{
158
+ readonly name: "asset";
159
+ readonly internalType: "address";
160
+ readonly type: "address";
161
+ readonly indexed: true;
162
+ }, {
163
+ readonly name: "peg";
164
+ readonly internalType: "address";
165
+ readonly type: "address";
166
+ readonly indexed: true;
167
+ }, {
168
+ readonly name: "reward";
169
+ readonly internalType: "uint256";
170
+ readonly type: "uint256";
171
+ readonly indexed: false;
172
+ }, {
173
+ readonly name: "limit";
174
+ readonly internalType: "uint256";
175
+ readonly type: "uint256";
176
+ readonly indexed: false;
177
+ }, {
178
+ readonly name: "manager";
179
+ readonly internalType: "address";
180
+ readonly type: "address";
181
+ readonly indexed: false;
182
+ }];
183
+ readonly name: "ERC20PeggedIncentiveInitialized";
184
+ }, {
185
+ readonly type: "event";
186
+ readonly anonymous: false;
187
+ readonly inputs: readonly [{
188
+ readonly name: "version";
189
+ readonly internalType: "uint64";
190
+ readonly type: "uint64";
191
+ readonly indexed: false;
192
+ }];
193
+ readonly name: "Initialized";
194
+ }, {
195
+ readonly type: "event";
196
+ readonly anonymous: false;
197
+ readonly inputs: readonly [{
198
+ readonly name: "pendingOwner";
199
+ readonly internalType: "address";
200
+ readonly type: "address";
201
+ readonly indexed: true;
202
+ }];
203
+ readonly name: "OwnershipHandoverCanceled";
204
+ }, {
205
+ readonly type: "event";
206
+ readonly anonymous: false;
207
+ readonly inputs: readonly [{
208
+ readonly name: "pendingOwner";
209
+ readonly internalType: "address";
210
+ readonly type: "address";
211
+ readonly indexed: true;
212
+ }];
213
+ readonly name: "OwnershipHandoverRequested";
214
+ }, {
215
+ readonly type: "event";
216
+ readonly anonymous: false;
217
+ readonly inputs: readonly [{
218
+ readonly name: "oldOwner";
219
+ readonly internalType: "address";
220
+ readonly type: "address";
221
+ readonly indexed: true;
222
+ }, {
223
+ readonly name: "newOwner";
224
+ readonly internalType: "address";
225
+ readonly type: "address";
226
+ readonly indexed: true;
227
+ }];
228
+ readonly name: "OwnershipTransferred";
229
+ }, {
230
+ readonly type: "event";
231
+ readonly anonymous: false;
232
+ readonly inputs: readonly [{
233
+ readonly name: "user";
234
+ readonly internalType: "address";
235
+ readonly type: "address";
236
+ readonly indexed: true;
237
+ }, {
238
+ readonly name: "roles";
239
+ readonly internalType: "uint256";
240
+ readonly type: "uint256";
241
+ readonly indexed: true;
242
+ }];
243
+ readonly name: "RolesUpdated";
244
+ }, {
245
+ readonly type: "function";
246
+ readonly inputs: readonly [];
247
+ readonly name: "ADMIN_ROLE";
248
+ readonly outputs: readonly [{
249
+ readonly name: "";
250
+ readonly internalType: "uint256";
251
+ readonly type: "uint256";
252
+ }];
253
+ readonly stateMutability: "view";
254
+ }, {
255
+ readonly type: "function";
256
+ readonly inputs: readonly [];
257
+ readonly name: "MANAGER_ROLE";
258
+ readonly outputs: readonly [{
259
+ readonly name: "";
260
+ readonly internalType: "uint256";
261
+ readonly type: "uint256";
262
+ }];
263
+ readonly stateMutability: "view";
264
+ }, {
265
+ readonly type: "function";
266
+ readonly inputs: readonly [];
267
+ readonly name: "asset";
268
+ readonly outputs: readonly [{
269
+ readonly name: "";
270
+ readonly internalType: "address";
271
+ readonly type: "address";
272
+ }];
273
+ readonly stateMutability: "view";
274
+ }, {
275
+ readonly type: "function";
276
+ readonly inputs: readonly [];
277
+ readonly name: "cancelOwnershipHandover";
278
+ readonly outputs: readonly [];
279
+ readonly stateMutability: "payable";
280
+ }, {
281
+ readonly type: "function";
282
+ readonly inputs: readonly [{
283
+ readonly name: "claimTarget";
284
+ readonly internalType: "address";
285
+ readonly type: "address";
286
+ }, {
287
+ readonly name: "data_";
288
+ readonly internalType: "bytes";
289
+ readonly type: "bytes";
290
+ }];
291
+ readonly name: "claim";
292
+ readonly outputs: readonly [{
293
+ readonly name: "";
294
+ readonly internalType: "bool";
295
+ readonly type: "bool";
296
+ }];
297
+ readonly stateMutability: "nonpayable";
298
+ }, {
299
+ readonly type: "function";
300
+ readonly inputs: readonly [{
301
+ readonly name: "";
302
+ readonly internalType: "address";
303
+ readonly type: "address";
304
+ }];
305
+ readonly name: "claimed";
306
+ readonly outputs: readonly [{
307
+ readonly name: "";
308
+ readonly internalType: "bool";
309
+ readonly type: "bool";
310
+ }];
311
+ readonly stateMutability: "view";
312
+ }, {
313
+ readonly type: "function";
314
+ readonly inputs: readonly [];
315
+ readonly name: "claims";
316
+ readonly outputs: readonly [{
317
+ readonly name: "";
318
+ readonly internalType: "uint256";
319
+ readonly type: "uint256";
320
+ }];
321
+ readonly stateMutability: "view";
322
+ }, {
323
+ readonly type: "function";
324
+ readonly inputs: readonly [{
325
+ readonly name: "data_";
326
+ readonly internalType: "bytes";
327
+ readonly type: "bytes";
328
+ }];
329
+ readonly name: "clawback";
330
+ readonly outputs: readonly [{
331
+ readonly name: "";
332
+ readonly internalType: "uint256";
333
+ readonly type: "uint256";
334
+ }, {
335
+ readonly name: "";
336
+ readonly internalType: "address";
337
+ readonly type: "address";
338
+ }];
339
+ readonly stateMutability: "nonpayable";
340
+ }, {
341
+ readonly type: "function";
342
+ readonly inputs: readonly [{
343
+ readonly name: "pendingOwner";
344
+ readonly internalType: "address";
345
+ readonly type: "address";
346
+ }];
347
+ readonly name: "completeOwnershipHandover";
348
+ readonly outputs: readonly [];
349
+ readonly stateMutability: "payable";
350
+ }, {
351
+ readonly type: "function";
352
+ readonly inputs: readonly [];
353
+ readonly name: "currentReward";
354
+ readonly outputs: readonly [{
355
+ readonly name: "";
356
+ readonly internalType: "uint256";
357
+ readonly type: "uint256";
358
+ }];
359
+ readonly stateMutability: "view";
360
+ }, {
361
+ readonly type: "function";
362
+ readonly inputs: readonly [];
363
+ readonly name: "getComponentInterface";
364
+ readonly outputs: readonly [{
365
+ readonly name: "";
366
+ readonly internalType: "bytes4";
367
+ readonly type: "bytes4";
368
+ }];
369
+ readonly stateMutability: "pure";
370
+ }, {
371
+ readonly type: "function";
372
+ readonly inputs: readonly [];
373
+ readonly name: "getPeg";
374
+ readonly outputs: readonly [{
375
+ readonly name: "";
376
+ readonly internalType: "address";
377
+ readonly type: "address";
378
+ }];
379
+ readonly stateMutability: "view";
380
+ }, {
381
+ readonly type: "function";
382
+ readonly inputs: readonly [{
383
+ readonly name: "accounts_";
384
+ readonly internalType: "address[]";
385
+ readonly type: "address[]";
386
+ }, {
387
+ readonly name: "roles_";
388
+ readonly internalType: "uint256[]";
389
+ readonly type: "uint256[]";
390
+ }];
391
+ readonly name: "grantManyRoles";
392
+ readonly outputs: readonly [];
393
+ readonly stateMutability: "nonpayable";
394
+ }, {
395
+ readonly type: "function";
396
+ readonly inputs: readonly [{
397
+ readonly name: "user";
398
+ readonly internalType: "address";
399
+ readonly type: "address";
400
+ }, {
401
+ readonly name: "roles";
402
+ readonly internalType: "uint256";
403
+ readonly type: "uint256";
404
+ }];
405
+ readonly name: "grantRoles";
406
+ readonly outputs: readonly [];
407
+ readonly stateMutability: "payable";
408
+ }, {
409
+ readonly type: "function";
410
+ readonly inputs: readonly [{
411
+ readonly name: "user";
412
+ readonly internalType: "address";
413
+ readonly type: "address";
414
+ }, {
415
+ readonly name: "roles";
416
+ readonly internalType: "uint256";
417
+ readonly type: "uint256";
418
+ }];
419
+ readonly name: "hasAllRoles";
420
+ readonly outputs: readonly [{
421
+ readonly name: "";
422
+ readonly internalType: "bool";
423
+ readonly type: "bool";
424
+ }];
425
+ readonly stateMutability: "view";
426
+ }, {
427
+ readonly type: "function";
428
+ readonly inputs: readonly [{
429
+ readonly name: "user";
430
+ readonly internalType: "address";
431
+ readonly type: "address";
432
+ }, {
433
+ readonly name: "roles";
434
+ readonly internalType: "uint256";
435
+ readonly type: "uint256";
436
+ }];
437
+ readonly name: "hasAnyRole";
438
+ readonly outputs: readonly [{
439
+ readonly name: "";
440
+ readonly internalType: "bool";
441
+ readonly type: "bool";
442
+ }];
443
+ readonly stateMutability: "view";
444
+ }, {
445
+ readonly type: "function";
446
+ readonly inputs: readonly [{
447
+ readonly name: "data_";
448
+ readonly internalType: "bytes";
449
+ readonly type: "bytes";
450
+ }];
451
+ readonly name: "initialize";
452
+ readonly outputs: readonly [];
453
+ readonly stateMutability: "nonpayable";
454
+ }, {
455
+ readonly type: "function";
456
+ readonly inputs: readonly [{
457
+ readonly name: "account_";
458
+ readonly internalType: "address";
459
+ readonly type: "address";
460
+ }];
461
+ readonly name: "isAuthorized";
462
+ readonly outputs: readonly [{
463
+ readonly name: "";
464
+ readonly internalType: "bool";
465
+ readonly type: "bool";
466
+ }];
467
+ readonly stateMutability: "view";
468
+ }, {
469
+ readonly type: "function";
470
+ readonly inputs: readonly [{
471
+ readonly name: "claimTarget";
472
+ readonly internalType: "address";
473
+ readonly type: "address";
474
+ }, {
475
+ readonly name: "data_";
476
+ readonly internalType: "bytes";
477
+ readonly type: "bytes";
478
+ }];
479
+ readonly name: "isClaimable";
480
+ readonly outputs: readonly [{
481
+ readonly name: "";
482
+ readonly internalType: "bool";
483
+ readonly type: "bool";
484
+ }];
485
+ readonly stateMutability: "view";
486
+ }, {
487
+ readonly type: "function";
488
+ readonly inputs: readonly [];
489
+ readonly name: "limit";
490
+ readonly outputs: readonly [{
491
+ readonly name: "";
492
+ readonly internalType: "uint256";
493
+ readonly type: "uint256";
494
+ }];
495
+ readonly stateMutability: "view";
496
+ }, {
497
+ readonly type: "function";
498
+ readonly inputs: readonly [];
499
+ readonly name: "owner";
500
+ readonly outputs: readonly [{
501
+ readonly name: "result";
502
+ readonly internalType: "address";
503
+ readonly type: "address";
504
+ }];
505
+ readonly stateMutability: "view";
506
+ }, {
507
+ readonly type: "function";
508
+ readonly inputs: readonly [{
509
+ readonly name: "pendingOwner";
510
+ readonly internalType: "address";
511
+ readonly type: "address";
512
+ }];
513
+ readonly name: "ownershipHandoverExpiresAt";
514
+ readonly outputs: readonly [{
515
+ readonly name: "result";
516
+ readonly internalType: "uint256";
517
+ readonly type: "uint256";
518
+ }];
519
+ readonly stateMutability: "view";
520
+ }, {
521
+ readonly type: "function";
522
+ readonly inputs: readonly [];
523
+ readonly name: "peg";
524
+ readonly outputs: readonly [{
525
+ readonly name: "";
526
+ readonly internalType: "address";
527
+ readonly type: "address";
528
+ }];
529
+ readonly stateMutability: "view";
530
+ }, {
531
+ readonly type: "function";
532
+ readonly inputs: readonly [{
533
+ readonly name: "data_";
534
+ readonly internalType: "bytes";
535
+ readonly type: "bytes";
536
+ }];
537
+ readonly name: "preflight";
538
+ readonly outputs: readonly [{
539
+ readonly name: "budgetData";
540
+ readonly internalType: "bytes";
541
+ readonly type: "bytes";
542
+ }];
543
+ readonly stateMutability: "view";
544
+ }, {
545
+ readonly type: "function";
546
+ readonly inputs: readonly [];
547
+ readonly name: "renounceOwnership";
548
+ readonly outputs: readonly [];
549
+ readonly stateMutability: "payable";
550
+ }, {
551
+ readonly type: "function";
552
+ readonly inputs: readonly [{
553
+ readonly name: "roles";
554
+ readonly internalType: "uint256";
555
+ readonly type: "uint256";
556
+ }];
557
+ readonly name: "renounceRoles";
558
+ readonly outputs: readonly [];
559
+ readonly stateMutability: "payable";
560
+ }, {
561
+ readonly type: "function";
562
+ readonly inputs: readonly [];
563
+ readonly name: "requestOwnershipHandover";
564
+ readonly outputs: readonly [];
565
+ readonly stateMutability: "payable";
566
+ }, {
567
+ readonly type: "function";
568
+ readonly inputs: readonly [{
569
+ readonly name: "accounts_";
570
+ readonly internalType: "address[]";
571
+ readonly type: "address[]";
572
+ }, {
573
+ readonly name: "roles_";
574
+ readonly internalType: "uint256[]";
575
+ readonly type: "uint256[]";
576
+ }];
577
+ readonly name: "revokeManyRoles";
578
+ readonly outputs: readonly [];
579
+ readonly stateMutability: "nonpayable";
580
+ }, {
581
+ readonly type: "function";
582
+ readonly inputs: readonly [{
583
+ readonly name: "user";
584
+ readonly internalType: "address";
585
+ readonly type: "address";
586
+ }, {
587
+ readonly name: "roles";
588
+ readonly internalType: "uint256";
589
+ readonly type: "uint256";
590
+ }];
591
+ readonly name: "revokeRoles";
592
+ readonly outputs: readonly [];
593
+ readonly stateMutability: "payable";
594
+ }, {
595
+ readonly type: "function";
596
+ readonly inputs: readonly [];
597
+ readonly name: "reward";
598
+ readonly outputs: readonly [{
599
+ readonly name: "";
600
+ readonly internalType: "uint256";
601
+ readonly type: "uint256";
602
+ }];
603
+ readonly stateMutability: "view";
604
+ }, {
605
+ readonly type: "function";
606
+ readonly inputs: readonly [{
607
+ readonly name: "user";
608
+ readonly internalType: "address";
609
+ readonly type: "address";
610
+ }];
611
+ readonly name: "rolesOf";
612
+ readonly outputs: readonly [{
613
+ readonly name: "roles";
614
+ readonly internalType: "uint256";
615
+ readonly type: "uint256";
616
+ }];
617
+ readonly stateMutability: "view";
618
+ }, {
619
+ readonly type: "function";
620
+ readonly inputs: readonly [{
621
+ readonly name: "accounts_";
622
+ readonly internalType: "address[]";
623
+ readonly type: "address[]";
624
+ }, {
625
+ readonly name: "authorized_";
626
+ readonly internalType: "bool[]";
627
+ readonly type: "bool[]";
628
+ }];
629
+ readonly name: "setAuthorized";
630
+ readonly outputs: readonly [];
631
+ readonly stateMutability: "nonpayable";
632
+ }, {
633
+ readonly type: "function";
634
+ readonly inputs: readonly [{
635
+ readonly name: "interfaceId";
636
+ readonly internalType: "bytes4";
637
+ readonly type: "bytes4";
638
+ }];
639
+ readonly name: "supportsInterface";
640
+ readonly outputs: readonly [{
641
+ readonly name: "";
642
+ readonly internalType: "bool";
643
+ readonly type: "bool";
644
+ }];
645
+ readonly stateMutability: "view";
646
+ }, {
647
+ readonly type: "function";
648
+ readonly inputs: readonly [];
649
+ readonly name: "totalClaim";
650
+ readonly outputs: readonly [{
651
+ readonly name: "";
652
+ readonly internalType: "uint256";
653
+ readonly type: "uint256";
654
+ }];
655
+ readonly stateMutability: "view";
656
+ }, {
657
+ readonly type: "function";
658
+ readonly inputs: readonly [];
659
+ readonly name: "totalClaimed";
660
+ readonly outputs: readonly [{
661
+ readonly name: "";
662
+ readonly internalType: "uint256";
663
+ readonly type: "uint256";
664
+ }];
665
+ readonly stateMutability: "view";
666
+ }, {
667
+ readonly type: "function";
668
+ readonly inputs: readonly [{
669
+ readonly name: "newOwner";
670
+ readonly internalType: "address";
671
+ readonly type: "address";
672
+ }];
673
+ readonly name: "transferOwnership";
674
+ readonly outputs: readonly [];
675
+ readonly stateMutability: "payable";
676
+ }];
677
+ /**
678
+ * @inheritdoc
679
+ *
680
+ * @public
681
+ * @static
682
+ * @type {Record<number, Address>}
683
+ */
684
+ static bases: Record<number, Address>;
685
+ /**
686
+ * @inheritdoc
687
+ *
688
+ * @public
689
+ * @static
690
+ * @type {RegistryType}
691
+ */
692
+ static registryType: RegistryType;
693
+ /**
694
+ * The owner of the incentive
695
+ *
696
+ * @public
697
+ * @async
698
+ * @param {?ReadParams} [params]
699
+ * @returns {Promise<Address>}
700
+ */
701
+ owner(params?: ReadParams): Promise<`0x${string}`>;
702
+ /**
703
+ * Calculates the current reward based on the time since the last claim. The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget. For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`
704
+ *
705
+ * @public
706
+ * @async
707
+ * @param {?ReadParams} [params]
708
+ * @returns {Promise<bigint>} - The current reward
709
+ */
710
+ currentReward(params?: ReadParams): Promise<bigint>;
711
+ /**
712
+ * The number of claims that have been made
713
+ *
714
+ * @public
715
+ * @async
716
+ * @param {?ReadParams} [params]
717
+ * @returns {Promise<bigint>}
718
+ */
719
+ claims(params?: ReadParams): Promise<bigint>;
720
+ /**
721
+ * The total amount of rewards claimed
722
+ *
723
+ * @public
724
+ * @async
725
+ * @param {?ReadParams} [params]
726
+ * @returns {Promise<bigint>}
727
+ */
728
+ totalClaimed(params?: ReadParams): Promise<bigint>;
729
+ /**
730
+ * A mapping of address to claim status
731
+ *
732
+ * @public
733
+ * @async
734
+ * @param {Address} address
735
+ * @param {?ReadParams} [params]
736
+ * @returns {Promise<boolean>}
737
+ */
738
+ claimed(address: Address, params?: ReadParams): Promise<boolean>;
739
+ /**
740
+ * The address of the ERC20-like token
741
+ *
742
+ * @public
743
+ * @async
744
+ * @param {?ReadParams} [params]
745
+ * @returns {Promise<Address>}
746
+ */
747
+ asset(params?: ReadParams): Promise<`0x${string}`>;
748
+ /**
749
+ * The address of the pegged ERC20-like token
750
+ *
751
+ * @public
752
+ * @async
753
+ * @param {?ReadParams} [params]
754
+ * @returns {Promise<Address>}
755
+ */
756
+ peg(params?: ReadParams): Promise<`0x${string}`>;
757
+ /**
758
+ * The reward amount issued for each claim
759
+ *
760
+ * @public
761
+ * @async
762
+ * @param {?ReadParams} [params]
763
+ * @returns {Promise<bigint>}
764
+ */
765
+ reward(params?: ReadParams): Promise<bigint>;
766
+ /**
767
+ * The limit (max possible rewards payout in reward token)
768
+ *
769
+ * @public
770
+ * @async
771
+ * @param {?ReadParams} [params]
772
+ * @returns {Promise<bigint>}
773
+ */
774
+ limit(params?: ReadParams): Promise<bigint>;
775
+ /**
776
+ * Claim the incentive
777
+ *
778
+ * @public
779
+ * @async
780
+ * @param {ClaimPayload} payload
781
+ * @param {?WriteParams} [params]
782
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
783
+ */
784
+ protected claim(payload: ClaimPayload, params?: WriteParams): Promise<boolean>;
785
+ /**
786
+ * Claim the incentive
787
+ *
788
+ * @public
789
+ * @async
790
+ * @param {ClaimPayload} payload
791
+ * @param {?WriteParams} [params]
792
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed
793
+ */
794
+ protected claimRaw(payload: ClaimPayload, params?: WriteParams): Promise<{
795
+ hash: `0x${string}`;
796
+ result: boolean;
797
+ }>;
798
+ /**
799
+ * Clawback assets from the incentive
800
+ *
801
+ * @public
802
+ * @async
803
+ * @param {ClaimPayload} payload
804
+ * @param {?WriteParams} [params]
805
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
806
+ */
807
+ clawback(payload: ClaimPayload, params?: WriteParams): Promise<readonly [bigint, `0x${string}`]>;
808
+ /**
809
+ * Clawback assets from the incentive
810
+ *
811
+ * @public
812
+ * @async
813
+ * @param {ClaimPayload} payload
814
+ * @param {?WriteParams} [params]
815
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the assets were successfully clawbacked
816
+ */
817
+ clawbackRaw(payload: ClaimPayload, params?: WriteParams): Promise<{
818
+ hash: `0x${string}`;
819
+ result: readonly [bigint, `0x${string}`];
820
+ }>;
821
+ /**
822
+ * Check if an incentive is claimable.
823
+ *
824
+ * @public
825
+ * @async
826
+ * @param {ClaimPayload} payload
827
+ * @param {?ReadParams} [params]
828
+ * @returns {Promise<boolean>} = True if the incentive is claimable based on the data payload
829
+ */
830
+ isClaimable(payload: ClaimPayload, params?: ReadParams): Promise<boolean>;
831
+ /**
832
+ * read the peg token for the incentive.
833
+ *
834
+ * @public
835
+ * @async
836
+ * @param {?ReadParams} [params]
837
+ * @returns {Promise<Address>} = The address of the token the reward is pegged to
838
+ */
839
+ getPeg(params?: ReadParams): Promise<`0x${string}`>;
840
+ /**
841
+ * Get the maximum amount that can be claimed by this incentive. Useful when used in conjunction with `BoostCore.calculateProtocolFee`
842
+ *
843
+ * @public
844
+ * @async
845
+ * @param {?ReadParams} [params]
846
+ * @returns {Promise<bigint>} = Return a bigint representing that maximum amount that can be distributed by this incentive.
847
+ */
848
+ getTotalBudget(params?: ReadParams): Promise<bigint>;
849
+ /**
850
+ * Check if any claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.
851
+ *
852
+ * @public
853
+ * @async
854
+ * @param {?ReadParams} [params]
855
+ * @returns {Promise<boolean>} - True if total claims is less than limit
856
+ */
857
+ canBeClaimed(params?: ReadParams): Promise<boolean>;
858
+ /**
859
+ * Check how many claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.
860
+ *
861
+ * @public
862
+ * @async
863
+ * @param {?ReadParams} [params]
864
+ * @returns {Promise<bigint>} - True if total claims is less than limit
865
+ */
866
+ getRemainingClaimPotential(params?: ReadParams): Promise<bigint>;
867
+ /**
868
+ * @inheritdoc
869
+ *
870
+ * @public
871
+ * @param {?ERC20PeggedIncentivePayload} [_payload]
872
+ * @param {?DeployableOptions} [_options]
873
+ * @returns {GenericDeployableParams}
874
+ */
875
+ buildParameters(_payload?: ERC20PeggedIncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
876
+ /**
877
+ * Encodes an amount to clawback from the incentive
878
+ *
879
+ * @public
880
+ * @param {bigint} amount - How much of the asset to clawback
881
+ * @returns {Hex} - Returns an encoded uint256
882
+ */
883
+ buildClawbackData(amount: bigint): `0x${string}`;
884
+ /**
885
+ * Builds the claim data for the ERC20PeggedIncentive.
886
+ *
887
+ * @public
888
+ * @param {bigint} rewardAmount
889
+ * @returns {Hash} Returns the encoded claim data
890
+ * @description This function returns the encoded claim data for the ERC20PeggedIncentive.
891
+ */
892
+ buildClaimData(rewardAmount: bigint): `0x${string}`;
893
+ }
894
+ /**
895
+ * Given a {@link ERC20PeggedIncentivePayload}, properly encode a `ERC20PeggedIncentive.InitPayload` for use with {@link ERC20PeggedIncentive} initialization.
896
+ *
897
+ * @param {ERC20PeggedIncentivePayload} param0
898
+ * @param {Address} param0.asset - The address of the incentivized asset.
899
+ * @param {Address} param0.peg - The peg to normalize to.
900
+ * @param {bigint} param0.reward - The amount of the asset to distribute.
901
+ * @param {bigint} param0.limit - How many times can this incentive be claimed.
902
+ * @param {Address} [param0.manager=zeroAddress] - The entity that can manage the incentive.
903
+ * @returns {Hex}
904
+ */
905
+ export declare function prepareERC20PeggedIncentivePayload({ asset, peg, reward, limit, manager, }: ERC20PeggedIncentivePayload): `0x${string}`;
906
+ //# sourceMappingURL=ERC20PeggedIncentive.d.ts.map