@boostxyz/sdk 7.0.0-canary.0 → 7.0.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +7 -7
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.js +56 -56
  5. package/dist/AllowLists/AllowList.cjs +1 -1
  6. package/dist/AllowLists/AllowList.js +5 -5
  7. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  8. package/dist/AllowLists/SimpleAllowList.js +17 -17
  9. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  10. package/dist/AllowLists/SimpleDenyList.js +3 -3
  11. package/dist/Auth/PassthroughAuth.cjs +1 -1
  12. package/dist/Auth/PassthroughAuth.js +1 -1
  13. package/dist/BoostCore.cjs +2 -2
  14. package/dist/BoostCore.js +141 -141
  15. package/dist/BoostRegistry.cjs +1 -1
  16. package/dist/BoostRegistry.js +11 -11
  17. package/dist/{Budget-Bvi5Qjqp.js → Budget-BgGihcwx.js} +54 -54
  18. package/dist/{Budget-Bvi5Qjqp.js.map → Budget-BgGihcwx.js.map} +1 -1
  19. package/dist/{Budget-B_kgJGDu.cjs → Budget-DYlTLLwg.cjs} +2 -2
  20. package/dist/{Budget-B_kgJGDu.cjs.map → Budget-DYlTLLwg.cjs.map} +1 -1
  21. package/dist/Budgets/Budget.cjs +1 -1
  22. package/dist/Budgets/Budget.js +3 -3
  23. package/dist/Budgets/ManagedBudget.cjs +1 -1
  24. package/dist/Budgets/ManagedBudget.js +29 -29
  25. package/dist/Deployable/DeployableTarget.cjs +1 -1
  26. package/dist/Deployable/DeployableTarget.js +1 -1
  27. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  28. package/dist/Deployable/DeployableTargetWithRBAC.js +16 -16
  29. package/dist/{Incentive-CLSVNxDz.cjs → Incentive-BDqkFt0J.cjs} +2 -2
  30. package/dist/{Incentive-CLSVNxDz.cjs.map → Incentive-BDqkFt0J.cjs.map} +1 -1
  31. package/dist/Incentive-DPOADY1f.js +449 -0
  32. package/dist/{Incentive-CLKutfnD.js.map → Incentive-DPOADY1f.js.map} +1 -1
  33. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  34. package/dist/Incentives/AllowListIncentive.js +15 -15
  35. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  36. package/dist/Incentives/CGDAIncentive.js +9 -9
  37. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  38. package/dist/Incentives/ERC20Incentive.js +15 -15
  39. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +2 -0
  40. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs.map +1 -0
  41. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts +1093 -0
  42. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts.map +1 -0
  43. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +604 -0
  44. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js.map +1 -0
  45. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  46. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -1
  47. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts +4 -4
  48. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts.map +1 -1
  49. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +33 -33
  50. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -1
  51. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +2 -0
  52. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -0
  53. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +884 -0
  54. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
  55. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +239 -0
  56. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -0
  57. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  58. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -1
  59. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts +7 -7
  60. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts.map +1 -1
  61. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +11 -11
  62. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -1
  63. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  64. package/dist/Incentives/ERC20VariableIncentive.js +12 -12
  65. package/dist/Incentives/Incentive.cjs +1 -1
  66. package/dist/Incentives/Incentive.d.ts +6 -4
  67. package/dist/Incentives/Incentive.d.ts.map +1 -1
  68. package/dist/Incentives/Incentive.js +23 -19
  69. package/dist/Incentives/Incentive.js.map +1 -1
  70. package/dist/Incentives/PointsIncentive.cjs +1 -1
  71. package/dist/Incentives/PointsIncentive.js +8 -8
  72. package/dist/{SimpleDenyList-CWthbyj7.cjs → SimpleDenyList-B_AcmgYq.cjs} +2 -2
  73. package/dist/{SimpleDenyList-CWthbyj7.cjs.map → SimpleDenyList-B_AcmgYq.cjs.map} +1 -1
  74. package/dist/{SimpleDenyList-C1C_BHkY.js → SimpleDenyList-BbDLzRw7.js} +14 -14
  75. package/dist/{SimpleDenyList-C1C_BHkY.js.map → SimpleDenyList-BbDLzRw7.js.map} +1 -1
  76. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  77. package/dist/Validators/LimitedSignerValidator.js +17 -17
  78. package/dist/Validators/SignerValidator.cjs +1 -1
  79. package/dist/Validators/SignerValidator.js +6 -6
  80. package/dist/Validators/Validator.cjs +1 -1
  81. package/dist/Validators/Validator.js +2 -2
  82. package/dist/componentInterfaces-C5ig8mCK.cjs +2 -0
  83. package/dist/componentInterfaces-C5ig8mCK.cjs.map +1 -0
  84. package/dist/componentInterfaces-Ddus5rIA.js +23 -0
  85. package/dist/componentInterfaces-Ddus5rIA.js.map +1 -0
  86. package/dist/deployments-C17nvui-.cjs +2 -0
  87. package/dist/deployments-C17nvui-.cjs.map +1 -0
  88. package/dist/{deployments-De8_J7SS.js → deployments-CH4Xmkbv.js} +41 -29
  89. package/dist/{deployments-De8_J7SS.js.map → deployments-CH4Xmkbv.js.map} +1 -1
  90. package/dist/{generated-BJfQ-EBO.js → generated-CINzoGbl.js} +1890 -765
  91. package/dist/generated-CINzoGbl.js.map +1 -0
  92. package/dist/generated-C_JEoLDO.cjs +3 -0
  93. package/dist/generated-C_JEoLDO.cjs.map +1 -0
  94. package/dist/index.cjs +1 -1
  95. package/dist/index.d.ts +2 -0
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +150 -141
  98. package/dist/index.js.map +1 -1
  99. package/package.json +13 -1
  100. package/src/Incentives/ERC20PeggedVariableCriteriaIncentive.ts +852 -0
  101. package/src/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.test.ts +6 -6
  102. package/src/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.ts +5 -5
  103. package/src/Incentives/ERC20VariableCriteriaIncentive.ts +437 -0
  104. package/src/Incentives/ERC20VariableCriteriaIncentiveV2.test.ts +6 -6
  105. package/src/Incentives/ERC20VariableCriteriaIncentiveV2.ts +7 -7
  106. package/src/Incentives/Incentive.ts +11 -0
  107. package/src/index.ts +2 -0
  108. package/dist/Incentive-CLKutfnD.js +0 -445
  109. package/dist/componentInterfaces-BVHB4Fjw.js +0 -21
  110. package/dist/componentInterfaces-BVHB4Fjw.js.map +0 -1
  111. package/dist/componentInterfaces-BqhL-meV.cjs +0 -2
  112. package/dist/componentInterfaces-BqhL-meV.cjs.map +0 -1
  113. package/dist/deployments-D9QxJGrC.cjs +0 -2
  114. package/dist/deployments-D9QxJGrC.cjs.map +0 -1
  115. package/dist/generated-BJfQ-EBO.js.map +0 -1
  116. package/dist/generated-mJJNq-xb.cjs +0 -3
  117. package/dist/generated-mJJNq-xb.cjs.map +0 -1
@@ -0,0 +1,1093 @@
1
+ import { erc20PeggedVariableCriteriaIncentiveAbi } from '@boostxyz/evm';
2
+ import { type Address, type ContractEventName, type Hex } 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
+ import type { GetIncentiveScalarParams, IncentiveCriteria } from './ERC20VariableCriteriaIncentive';
8
+ export { erc20PeggedVariableCriteriaIncentiveAbi };
9
+ /**
10
+ * The object representation of a `Erc20PeggedVariableCriteriaIncentive.InitPayload`
11
+ *
12
+ * @export
13
+ * @deprecated Please use only v2 implementations
14
+ * @interface Erc20PeggedVariableCriteriaIncentive
15
+ * @typedef {Erc20PeggedVariableCriteriaIncentive}
16
+ */
17
+ export interface ERC20PeggedVariableCriteriaIncentivePayload {
18
+ /**
19
+ * The address of the incentivized asset.
20
+ *
21
+ * @type {Address}
22
+ */
23
+ asset: Address;
24
+ /**
25
+ * The peg to normalize to.
26
+ *
27
+ * @type {Address}
28
+ */
29
+ peg: Address;
30
+ /**
31
+ * The amount of the asset to distribute.
32
+ *
33
+ * @type {bigint}
34
+ */
35
+ reward: bigint;
36
+ /**
37
+ * Total spend for the incentive.
38
+ *
39
+ * @type {bigint}
40
+ */
41
+ limit: bigint;
42
+ /**
43
+ * Maximum reward each claim is elligible for.
44
+ *
45
+ * @type {bigint}
46
+ */
47
+ maxReward: bigint;
48
+ /**
49
+ * (Optional) The address of the entity that can managed the incentive.
50
+ *
51
+ * @type {Address}
52
+ * @optional
53
+ */
54
+ manager?: Address;
55
+ /**
56
+ * The criteria for the incentive that determines how the reward is distributed.
57
+ *
58
+ * @type {IncentiveCriteria}
59
+ */
60
+ criteria: IncentiveCriteria;
61
+ }
62
+ /**
63
+ * A generic `viem.Log` event with support for `Erc20PeggedVariableCriteriaIncentive` event types.
64
+ *
65
+ * @export
66
+ * @typedef {Erc20PeggedVariableCriteriaIncentiveLog}
67
+ * @template {ContractEventName<typeof erc20PeggedVariableCriteriaIncentiveAbi>} [event=ContractEventName<
68
+ * typeof erc20PeggedVariableCriteriaIncentiveAbi
69
+ * >]
70
+ */
71
+ export type Erc20PeggedVariableCriteriaIncentiveLog<event extends ContractEventName<typeof erc20PeggedVariableCriteriaIncentiveAbi> = ContractEventName<typeof erc20PeggedVariableCriteriaIncentiveAbi>> = GenericLog<typeof erc20PeggedVariableCriteriaIncentiveAbi, event>;
72
+ /**
73
+ * A simple ERC20 incentive implementation that allows claiming of tokens
74
+ *
75
+ * @export
76
+ * @deprecated Please use only v2 implementations
77
+ * @class Erc20PeggedVariableCriteriaIncentive
78
+ * @typedef {ERC20PeggedVariableCriteriaIncentive}
79
+ * @extends {DeployableTarget<ERC20PeggedVariableCriteriaIncentive>}
80
+ */
81
+ export declare class ERC20PeggedVariableCriteriaIncentive extends DeployableTarget<ERC20PeggedVariableCriteriaIncentivePayload, typeof erc20PeggedVariableCriteriaIncentiveAbi> {
82
+ readonly abi: readonly [{
83
+ readonly type: "constructor";
84
+ readonly inputs: readonly [];
85
+ readonly stateMutability: "nonpayable";
86
+ }, {
87
+ readonly type: "error";
88
+ readonly inputs: readonly [];
89
+ readonly name: "AlreadyInitialized";
90
+ }, {
91
+ readonly type: "error";
92
+ readonly inputs: readonly [];
93
+ readonly name: "ClaimFailed";
94
+ }, {
95
+ readonly type: "error";
96
+ readonly inputs: readonly [];
97
+ readonly name: "CloneAlreadyInitialized";
98
+ }, {
99
+ readonly type: "error";
100
+ readonly inputs: readonly [];
101
+ readonly name: "InitializerNotImplemented";
102
+ }, {
103
+ readonly type: "error";
104
+ readonly inputs: readonly [{
105
+ readonly name: "asset";
106
+ readonly internalType: "address";
107
+ readonly type: "address";
108
+ }, {
109
+ readonly name: "available";
110
+ readonly internalType: "uint256";
111
+ readonly type: "uint256";
112
+ }, {
113
+ readonly name: "required";
114
+ readonly internalType: "uint256";
115
+ readonly type: "uint256";
116
+ }];
117
+ readonly name: "InsufficientFunds";
118
+ }, {
119
+ readonly type: "error";
120
+ readonly inputs: readonly [];
121
+ readonly name: "InvalidInitialization";
122
+ }, {
123
+ readonly type: "error";
124
+ readonly inputs: readonly [];
125
+ readonly name: "InvalidInitialization";
126
+ }, {
127
+ readonly type: "error";
128
+ readonly inputs: readonly [];
129
+ readonly name: "InvalidInitializationData";
130
+ }, {
131
+ readonly type: "error";
132
+ readonly inputs: readonly [];
133
+ readonly name: "LengthMismatch";
134
+ }, {
135
+ readonly type: "error";
136
+ readonly inputs: readonly [];
137
+ readonly name: "NewOwnerIsZeroAddress";
138
+ }, {
139
+ readonly type: "error";
140
+ readonly inputs: readonly [];
141
+ readonly name: "NoHandoverRequest";
142
+ }, {
143
+ readonly type: "error";
144
+ readonly inputs: readonly [];
145
+ readonly name: "NotClaimable";
146
+ }, {
147
+ readonly type: "error";
148
+ readonly inputs: readonly [];
149
+ readonly name: "NotInitializing";
150
+ }, {
151
+ readonly type: "error";
152
+ readonly inputs: readonly [];
153
+ readonly name: "Unauthorized";
154
+ }, {
155
+ readonly type: "event";
156
+ readonly anonymous: false;
157
+ readonly inputs: readonly [{
158
+ readonly name: "recipient";
159
+ readonly internalType: "address";
160
+ readonly type: "address";
161
+ readonly indexed: true;
162
+ }, {
163
+ readonly name: "data";
164
+ readonly internalType: "bytes";
165
+ readonly type: "bytes";
166
+ readonly indexed: false;
167
+ }];
168
+ readonly name: "Claimed";
169
+ }, {
170
+ readonly type: "event";
171
+ readonly anonymous: false;
172
+ readonly inputs: readonly [{
173
+ readonly name: "asset";
174
+ readonly internalType: "address";
175
+ readonly type: "address";
176
+ readonly indexed: true;
177
+ }, {
178
+ readonly name: "peg";
179
+ readonly internalType: "address";
180
+ readonly type: "address";
181
+ readonly indexed: true;
182
+ }, {
183
+ readonly name: "reward";
184
+ readonly internalType: "uint256";
185
+ readonly type: "uint256";
186
+ readonly indexed: false;
187
+ }, {
188
+ readonly name: "limit";
189
+ readonly internalType: "uint256";
190
+ readonly type: "uint256";
191
+ readonly indexed: false;
192
+ }, {
193
+ readonly name: "manager";
194
+ readonly internalType: "address";
195
+ readonly type: "address";
196
+ readonly indexed: false;
197
+ }, {
198
+ readonly name: "maxReward";
199
+ readonly internalType: "uint256";
200
+ readonly type: "uint256";
201
+ readonly indexed: false;
202
+ }, {
203
+ readonly name: "criteria";
204
+ readonly internalType: "struct AERC20PeggedVariableCriteriaIncentive.IncentiveCriteria";
205
+ readonly type: "tuple";
206
+ readonly components: readonly [{
207
+ readonly name: "criteriaType";
208
+ readonly internalType: "enum SignatureType";
209
+ readonly type: "uint8";
210
+ }, {
211
+ readonly name: "signature";
212
+ readonly internalType: "bytes32";
213
+ readonly type: "bytes32";
214
+ }, {
215
+ readonly name: "fieldIndex";
216
+ readonly internalType: "uint8";
217
+ readonly type: "uint8";
218
+ }, {
219
+ readonly name: "targetContract";
220
+ readonly internalType: "address";
221
+ readonly type: "address";
222
+ }];
223
+ readonly indexed: false;
224
+ }];
225
+ readonly name: "ERC20PeggedIncentiveInitialized";
226
+ }, {
227
+ readonly type: "event";
228
+ readonly anonymous: false;
229
+ readonly inputs: readonly [{
230
+ readonly name: "version";
231
+ readonly internalType: "uint64";
232
+ readonly type: "uint64";
233
+ readonly indexed: false;
234
+ }];
235
+ readonly name: "Initialized";
236
+ }, {
237
+ readonly type: "event";
238
+ readonly anonymous: false;
239
+ readonly inputs: readonly [{
240
+ readonly name: "pendingOwner";
241
+ readonly internalType: "address";
242
+ readonly type: "address";
243
+ readonly indexed: true;
244
+ }];
245
+ readonly name: "OwnershipHandoverCanceled";
246
+ }, {
247
+ readonly type: "event";
248
+ readonly anonymous: false;
249
+ readonly inputs: readonly [{
250
+ readonly name: "pendingOwner";
251
+ readonly internalType: "address";
252
+ readonly type: "address";
253
+ readonly indexed: true;
254
+ }];
255
+ readonly name: "OwnershipHandoverRequested";
256
+ }, {
257
+ readonly type: "event";
258
+ readonly anonymous: false;
259
+ readonly inputs: readonly [{
260
+ readonly name: "oldOwner";
261
+ readonly internalType: "address";
262
+ readonly type: "address";
263
+ readonly indexed: true;
264
+ }, {
265
+ readonly name: "newOwner";
266
+ readonly internalType: "address";
267
+ readonly type: "address";
268
+ readonly indexed: true;
269
+ }];
270
+ readonly name: "OwnershipTransferred";
271
+ }, {
272
+ readonly type: "event";
273
+ readonly anonymous: false;
274
+ readonly inputs: readonly [{
275
+ readonly name: "user";
276
+ readonly internalType: "address";
277
+ readonly type: "address";
278
+ readonly indexed: true;
279
+ }, {
280
+ readonly name: "roles";
281
+ readonly internalType: "uint256";
282
+ readonly type: "uint256";
283
+ readonly indexed: true;
284
+ }];
285
+ readonly name: "RolesUpdated";
286
+ }, {
287
+ readonly type: "event";
288
+ readonly anonymous: false;
289
+ readonly inputs: readonly [{
290
+ readonly name: "sender";
291
+ readonly internalType: "address";
292
+ readonly type: "address";
293
+ readonly indexed: false;
294
+ }, {
295
+ readonly name: "amount";
296
+ readonly internalType: "uint256";
297
+ readonly type: "uint256";
298
+ readonly indexed: false;
299
+ }];
300
+ readonly name: "ToppedUp";
301
+ }, {
302
+ readonly type: "function";
303
+ readonly inputs: readonly [];
304
+ readonly name: "ADMIN_ROLE";
305
+ readonly outputs: readonly [{
306
+ readonly name: "";
307
+ readonly internalType: "uint256";
308
+ readonly type: "uint256";
309
+ }];
310
+ readonly stateMutability: "view";
311
+ }, {
312
+ readonly type: "function";
313
+ readonly inputs: readonly [];
314
+ readonly name: "MANAGER_ROLE";
315
+ readonly outputs: readonly [{
316
+ readonly name: "";
317
+ readonly internalType: "uint256";
318
+ readonly type: "uint256";
319
+ }];
320
+ readonly stateMutability: "view";
321
+ }, {
322
+ readonly type: "function";
323
+ readonly inputs: readonly [];
324
+ readonly name: "asset";
325
+ readonly outputs: readonly [{
326
+ readonly name: "";
327
+ readonly internalType: "address";
328
+ readonly type: "address";
329
+ }];
330
+ readonly stateMutability: "view";
331
+ }, {
332
+ readonly type: "function";
333
+ readonly inputs: readonly [];
334
+ readonly name: "cancelOwnershipHandover";
335
+ readonly outputs: readonly [];
336
+ readonly stateMutability: "payable";
337
+ }, {
338
+ readonly type: "function";
339
+ readonly inputs: readonly [{
340
+ readonly name: "claimTarget";
341
+ readonly internalType: "address";
342
+ readonly type: "address";
343
+ }, {
344
+ readonly name: "data_";
345
+ readonly internalType: "bytes";
346
+ readonly type: "bytes";
347
+ }];
348
+ readonly name: "claim";
349
+ readonly outputs: readonly [{
350
+ readonly name: "";
351
+ readonly internalType: "bool";
352
+ readonly type: "bool";
353
+ }];
354
+ readonly stateMutability: "nonpayable";
355
+ }, {
356
+ readonly type: "function";
357
+ readonly inputs: readonly [{
358
+ readonly name: "";
359
+ readonly internalType: "address";
360
+ readonly type: "address";
361
+ }];
362
+ readonly name: "claimed";
363
+ readonly outputs: readonly [{
364
+ readonly name: "";
365
+ readonly internalType: "bool";
366
+ readonly type: "bool";
367
+ }];
368
+ readonly stateMutability: "view";
369
+ }, {
370
+ readonly type: "function";
371
+ readonly inputs: readonly [];
372
+ readonly name: "claims";
373
+ readonly outputs: readonly [{
374
+ readonly name: "";
375
+ readonly internalType: "uint256";
376
+ readonly type: "uint256";
377
+ }];
378
+ readonly stateMutability: "view";
379
+ }, {
380
+ readonly type: "function";
381
+ readonly inputs: readonly [{
382
+ readonly name: "data_";
383
+ readonly internalType: "bytes";
384
+ readonly type: "bytes";
385
+ }];
386
+ readonly name: "clawback";
387
+ readonly outputs: readonly [{
388
+ readonly name: "";
389
+ readonly internalType: "uint256";
390
+ readonly type: "uint256";
391
+ }, {
392
+ readonly name: "";
393
+ readonly internalType: "address";
394
+ readonly type: "address";
395
+ }];
396
+ readonly stateMutability: "nonpayable";
397
+ }, {
398
+ readonly type: "function";
399
+ readonly inputs: readonly [{
400
+ readonly name: "pendingOwner";
401
+ readonly internalType: "address";
402
+ readonly type: "address";
403
+ }];
404
+ readonly name: "completeOwnershipHandover";
405
+ readonly outputs: readonly [];
406
+ readonly stateMutability: "payable";
407
+ }, {
408
+ readonly type: "function";
409
+ readonly inputs: readonly [];
410
+ readonly name: "currentReward";
411
+ readonly outputs: readonly [{
412
+ readonly name: "";
413
+ readonly internalType: "uint256";
414
+ readonly type: "uint256";
415
+ }];
416
+ readonly stateMutability: "view";
417
+ }, {
418
+ readonly type: "function";
419
+ readonly inputs: readonly [];
420
+ readonly name: "getComponentInterface";
421
+ readonly outputs: readonly [{
422
+ readonly name: "";
423
+ readonly internalType: "bytes4";
424
+ readonly type: "bytes4";
425
+ }];
426
+ readonly stateMutability: "pure";
427
+ }, {
428
+ readonly type: "function";
429
+ readonly inputs: readonly [];
430
+ readonly name: "getIncentiveCriteria";
431
+ readonly outputs: readonly [{
432
+ readonly name: "";
433
+ readonly internalType: "struct AERC20PeggedVariableCriteriaIncentive.IncentiveCriteria";
434
+ readonly type: "tuple";
435
+ readonly components: readonly [{
436
+ readonly name: "criteriaType";
437
+ readonly internalType: "enum SignatureType";
438
+ readonly type: "uint8";
439
+ }, {
440
+ readonly name: "signature";
441
+ readonly internalType: "bytes32";
442
+ readonly type: "bytes32";
443
+ }, {
444
+ readonly name: "fieldIndex";
445
+ readonly internalType: "uint8";
446
+ readonly type: "uint8";
447
+ }, {
448
+ readonly name: "targetContract";
449
+ readonly internalType: "address";
450
+ readonly type: "address";
451
+ }];
452
+ }];
453
+ readonly stateMutability: "view";
454
+ }, {
455
+ readonly type: "function";
456
+ readonly inputs: readonly [];
457
+ readonly name: "getMaxReward";
458
+ readonly outputs: readonly [{
459
+ readonly name: "";
460
+ readonly internalType: "uint256";
461
+ readonly type: "uint256";
462
+ }];
463
+ readonly stateMutability: "view";
464
+ }, {
465
+ readonly type: "function";
466
+ readonly inputs: readonly [];
467
+ readonly name: "getPeg";
468
+ readonly outputs: readonly [{
469
+ readonly name: "";
470
+ readonly internalType: "address";
471
+ readonly type: "address";
472
+ }];
473
+ readonly stateMutability: "view";
474
+ }, {
475
+ readonly type: "function";
476
+ readonly inputs: readonly [{
477
+ readonly name: "accounts_";
478
+ readonly internalType: "address[]";
479
+ readonly type: "address[]";
480
+ }, {
481
+ readonly name: "roles_";
482
+ readonly internalType: "uint256[]";
483
+ readonly type: "uint256[]";
484
+ }];
485
+ readonly name: "grantManyRoles";
486
+ readonly outputs: readonly [];
487
+ readonly stateMutability: "nonpayable";
488
+ }, {
489
+ readonly type: "function";
490
+ readonly inputs: readonly [{
491
+ readonly name: "user";
492
+ readonly internalType: "address";
493
+ readonly type: "address";
494
+ }, {
495
+ readonly name: "roles";
496
+ readonly internalType: "uint256";
497
+ readonly type: "uint256";
498
+ }];
499
+ readonly name: "grantRoles";
500
+ readonly outputs: readonly [];
501
+ readonly stateMutability: "payable";
502
+ }, {
503
+ readonly type: "function";
504
+ readonly inputs: readonly [{
505
+ readonly name: "user";
506
+ readonly internalType: "address";
507
+ readonly type: "address";
508
+ }, {
509
+ readonly name: "roles";
510
+ readonly internalType: "uint256";
511
+ readonly type: "uint256";
512
+ }];
513
+ readonly name: "hasAllRoles";
514
+ readonly outputs: readonly [{
515
+ readonly name: "";
516
+ readonly internalType: "bool";
517
+ readonly type: "bool";
518
+ }];
519
+ readonly stateMutability: "view";
520
+ }, {
521
+ readonly type: "function";
522
+ readonly inputs: readonly [{
523
+ readonly name: "user";
524
+ readonly internalType: "address";
525
+ readonly type: "address";
526
+ }, {
527
+ readonly name: "roles";
528
+ readonly internalType: "uint256";
529
+ readonly type: "uint256";
530
+ }];
531
+ readonly name: "hasAnyRole";
532
+ readonly outputs: readonly [{
533
+ readonly name: "";
534
+ readonly internalType: "bool";
535
+ readonly type: "bool";
536
+ }];
537
+ readonly stateMutability: "view";
538
+ }, {
539
+ readonly type: "function";
540
+ readonly inputs: readonly [];
541
+ readonly name: "incentiveCriteria";
542
+ readonly outputs: readonly [{
543
+ readonly name: "criteriaType";
544
+ readonly internalType: "enum SignatureType";
545
+ readonly type: "uint8";
546
+ }, {
547
+ readonly name: "signature";
548
+ readonly internalType: "bytes32";
549
+ readonly type: "bytes32";
550
+ }, {
551
+ readonly name: "fieldIndex";
552
+ readonly internalType: "uint8";
553
+ readonly type: "uint8";
554
+ }, {
555
+ readonly name: "targetContract";
556
+ readonly internalType: "address";
557
+ readonly type: "address";
558
+ }];
559
+ readonly stateMutability: "view";
560
+ }, {
561
+ readonly type: "function";
562
+ readonly inputs: readonly [{
563
+ readonly name: "data_";
564
+ readonly internalType: "bytes";
565
+ readonly type: "bytes";
566
+ }];
567
+ readonly name: "initialize";
568
+ readonly outputs: readonly [];
569
+ readonly stateMutability: "nonpayable";
570
+ }, {
571
+ readonly type: "function";
572
+ readonly inputs: readonly [{
573
+ readonly name: "account_";
574
+ readonly internalType: "address";
575
+ readonly type: "address";
576
+ }];
577
+ readonly name: "isAuthorized";
578
+ readonly outputs: readonly [{
579
+ readonly name: "";
580
+ readonly internalType: "bool";
581
+ readonly type: "bool";
582
+ }];
583
+ readonly stateMutability: "view";
584
+ }, {
585
+ readonly type: "function";
586
+ readonly inputs: readonly [{
587
+ readonly name: "claimTarget";
588
+ readonly internalType: "address";
589
+ readonly type: "address";
590
+ }, {
591
+ readonly name: "data_";
592
+ readonly internalType: "bytes";
593
+ readonly type: "bytes";
594
+ }];
595
+ readonly name: "isClaimable";
596
+ readonly outputs: readonly [{
597
+ readonly name: "";
598
+ readonly internalType: "bool";
599
+ readonly type: "bool";
600
+ }];
601
+ readonly stateMutability: "view";
602
+ }, {
603
+ readonly type: "function";
604
+ readonly inputs: readonly [];
605
+ readonly name: "limit";
606
+ readonly outputs: readonly [{
607
+ readonly name: "";
608
+ readonly internalType: "uint256";
609
+ readonly type: "uint256";
610
+ }];
611
+ readonly stateMutability: "view";
612
+ }, {
613
+ readonly type: "function";
614
+ readonly inputs: readonly [];
615
+ readonly name: "owner";
616
+ readonly outputs: readonly [{
617
+ readonly name: "result";
618
+ readonly internalType: "address";
619
+ readonly type: "address";
620
+ }];
621
+ readonly stateMutability: "view";
622
+ }, {
623
+ readonly type: "function";
624
+ readonly inputs: readonly [{
625
+ readonly name: "pendingOwner";
626
+ readonly internalType: "address";
627
+ readonly type: "address";
628
+ }];
629
+ readonly name: "ownershipHandoverExpiresAt";
630
+ readonly outputs: readonly [{
631
+ readonly name: "result";
632
+ readonly internalType: "uint256";
633
+ readonly type: "uint256";
634
+ }];
635
+ readonly stateMutability: "view";
636
+ }, {
637
+ readonly type: "function";
638
+ readonly inputs: readonly [];
639
+ readonly name: "peg";
640
+ readonly outputs: readonly [{
641
+ readonly name: "";
642
+ readonly internalType: "address";
643
+ readonly type: "address";
644
+ }];
645
+ readonly stateMutability: "view";
646
+ }, {
647
+ readonly type: "function";
648
+ readonly inputs: readonly [{
649
+ readonly name: "data_";
650
+ readonly internalType: "bytes";
651
+ readonly type: "bytes";
652
+ }];
653
+ readonly name: "preflight";
654
+ readonly outputs: readonly [{
655
+ readonly name: "budgetData";
656
+ readonly internalType: "bytes";
657
+ readonly type: "bytes";
658
+ }];
659
+ readonly stateMutability: "view";
660
+ }, {
661
+ readonly type: "function";
662
+ readonly inputs: readonly [];
663
+ readonly name: "renounceOwnership";
664
+ readonly outputs: readonly [];
665
+ readonly stateMutability: "payable";
666
+ }, {
667
+ readonly type: "function";
668
+ readonly inputs: readonly [{
669
+ readonly name: "roles";
670
+ readonly internalType: "uint256";
671
+ readonly type: "uint256";
672
+ }];
673
+ readonly name: "renounceRoles";
674
+ readonly outputs: readonly [];
675
+ readonly stateMutability: "payable";
676
+ }, {
677
+ readonly type: "function";
678
+ readonly inputs: readonly [];
679
+ readonly name: "requestOwnershipHandover";
680
+ readonly outputs: readonly [];
681
+ readonly stateMutability: "payable";
682
+ }, {
683
+ readonly type: "function";
684
+ readonly inputs: readonly [{
685
+ readonly name: "accounts_";
686
+ readonly internalType: "address[]";
687
+ readonly type: "address[]";
688
+ }, {
689
+ readonly name: "roles_";
690
+ readonly internalType: "uint256[]";
691
+ readonly type: "uint256[]";
692
+ }];
693
+ readonly name: "revokeManyRoles";
694
+ readonly outputs: readonly [];
695
+ readonly stateMutability: "nonpayable";
696
+ }, {
697
+ readonly type: "function";
698
+ readonly inputs: readonly [{
699
+ readonly name: "user";
700
+ readonly internalType: "address";
701
+ readonly type: "address";
702
+ }, {
703
+ readonly name: "roles";
704
+ readonly internalType: "uint256";
705
+ readonly type: "uint256";
706
+ }];
707
+ readonly name: "revokeRoles";
708
+ readonly outputs: readonly [];
709
+ readonly stateMutability: "payable";
710
+ }, {
711
+ readonly type: "function";
712
+ readonly inputs: readonly [];
713
+ readonly name: "reward";
714
+ readonly outputs: readonly [{
715
+ readonly name: "";
716
+ readonly internalType: "uint256";
717
+ readonly type: "uint256";
718
+ }];
719
+ readonly stateMutability: "view";
720
+ }, {
721
+ readonly type: "function";
722
+ readonly inputs: readonly [{
723
+ readonly name: "user";
724
+ readonly internalType: "address";
725
+ readonly type: "address";
726
+ }];
727
+ readonly name: "rolesOf";
728
+ readonly outputs: readonly [{
729
+ readonly name: "roles";
730
+ readonly internalType: "uint256";
731
+ readonly type: "uint256";
732
+ }];
733
+ readonly stateMutability: "view";
734
+ }, {
735
+ readonly type: "function";
736
+ readonly inputs: readonly [{
737
+ readonly name: "accounts_";
738
+ readonly internalType: "address[]";
739
+ readonly type: "address[]";
740
+ }, {
741
+ readonly name: "authorized_";
742
+ readonly internalType: "bool[]";
743
+ readonly type: "bool[]";
744
+ }];
745
+ readonly name: "setAuthorized";
746
+ readonly outputs: readonly [];
747
+ readonly stateMutability: "nonpayable";
748
+ }, {
749
+ readonly type: "function";
750
+ readonly inputs: readonly [{
751
+ readonly name: "interfaceId";
752
+ readonly internalType: "bytes4";
753
+ readonly type: "bytes4";
754
+ }];
755
+ readonly name: "supportsInterface";
756
+ readonly outputs: readonly [{
757
+ readonly name: "";
758
+ readonly internalType: "bool";
759
+ readonly type: "bool";
760
+ }];
761
+ readonly stateMutability: "view";
762
+ }, {
763
+ readonly type: "function";
764
+ readonly inputs: readonly [{
765
+ readonly name: "amount";
766
+ readonly internalType: "uint256";
767
+ readonly type: "uint256";
768
+ }];
769
+ readonly name: "topup";
770
+ readonly outputs: readonly [];
771
+ readonly stateMutability: "nonpayable";
772
+ }, {
773
+ readonly type: "function";
774
+ readonly inputs: readonly [];
775
+ readonly name: "totalClaim";
776
+ readonly outputs: readonly [{
777
+ readonly name: "";
778
+ readonly internalType: "uint256";
779
+ readonly type: "uint256";
780
+ }];
781
+ readonly stateMutability: "view";
782
+ }, {
783
+ readonly type: "function";
784
+ readonly inputs: readonly [];
785
+ readonly name: "totalClaimed";
786
+ readonly outputs: readonly [{
787
+ readonly name: "";
788
+ readonly internalType: "uint256";
789
+ readonly type: "uint256";
790
+ }];
791
+ readonly stateMutability: "view";
792
+ }, {
793
+ readonly type: "function";
794
+ readonly inputs: readonly [{
795
+ readonly name: "newOwner";
796
+ readonly internalType: "address";
797
+ readonly type: "address";
798
+ }];
799
+ readonly name: "transferOwnership";
800
+ readonly outputs: readonly [];
801
+ readonly stateMutability: "payable";
802
+ }];
803
+ /**
804
+ * @inheritdoc
805
+ *
806
+ * @public
807
+ * @static
808
+ * @type {Record<number, Address>}
809
+ */
810
+ static bases: Record<number, Address>;
811
+ /**
812
+ * @inheritdoc
813
+ *
814
+ * @public
815
+ * @static
816
+ * @type {RegistryType}
817
+ */
818
+ static registryType: RegistryType;
819
+ /**
820
+ * The owner of the incentive
821
+ *
822
+ * @public
823
+ * @async
824
+ * @param {?ReadParams} [params]
825
+ * @returns {Promise<Address>}
826
+ */
827
+ owner(params?: ReadParams): Promise<`0x${string}`>;
828
+ /**
829
+ * 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)`
830
+ *
831
+ * @public
832
+ * @async
833
+ * @param {?ReadParams} [params]
834
+ * @returns {Promise<bigint>} - The current reward
835
+ */
836
+ currentReward(params?: ReadParams): Promise<bigint>;
837
+ /**
838
+ * Retrieves the maximum reward amount per claim.
839
+ *
840
+ * @public
841
+ * @async
842
+ * @param {?ReadParams} [params]
843
+ * @returns {Promise<bigint>} The maximum reward amount per claim
844
+ */
845
+ getMaxReward(params?: ReadParams): Promise<bigint>;
846
+ /**
847
+ * Fetches the incentive scalar from a transaction hash
848
+ *
849
+ * @param {GetIncentiveScalarParams} params
850
+ * @param {?ReadParams} [params]
851
+ * @returns {Promise<bigint>}
852
+ * @throws {InvalidCriteriaTypeError | NoMatchingLogsError | DecodedArgsError}
853
+ */
854
+ getIncentiveScalar({ chainId, hash, knownSignatures }: GetIncentiveScalarParams, params?: ReadParams): Promise<bigint>;
855
+ /**
856
+ * The number of claims that have been made
857
+ *
858
+ * @public
859
+ * @async
860
+ * @param {?ReadParams} [params]
861
+ * @returns {Promise<bigint>}
862
+ */
863
+ claims(params?: ReadParams): Promise<bigint>;
864
+ /**
865
+ * The total amount of rewards claimed
866
+ *
867
+ * @public
868
+ * @async
869
+ * @param {?ReadParams} [params]
870
+ * @returns {Promise<bigint>}
871
+ */
872
+ totalClaimed(params?: ReadParams): Promise<bigint>;
873
+ /**
874
+ * A mapping of address to claim status
875
+ *
876
+ * @public
877
+ * @async
878
+ * @param {Address} address
879
+ * @param {?ReadParams} [params]
880
+ * @returns {Promise<boolean>}
881
+ */
882
+ claimed(address: Address, params?: ReadParams): Promise<boolean>;
883
+ /**
884
+ * The address of the ERC20-like token
885
+ *
886
+ * @public
887
+ * @async
888
+ * @param {?ReadParams} [params]
889
+ * @returns {Promise<Address>}
890
+ */
891
+ asset(params?: ReadParams): Promise<`0x${string}`>;
892
+ /**
893
+ * The address of the pegged ERC20-like token
894
+ *
895
+ * @public
896
+ * @async
897
+ * @param {?ReadParams} [params]
898
+ * @returns {Promise<Address>}
899
+ */
900
+ peg(params?: ReadParams): Promise<`0x${string}`>;
901
+ /**
902
+ * The reward amount issued for each claim
903
+ *
904
+ * @public
905
+ * @async
906
+ * @param {?ReadParams} [params]
907
+ * @returns {Promise<bigint>}
908
+ */
909
+ reward(params?: ReadParams): Promise<bigint>;
910
+ /**
911
+ * The limit (max possible rewards payout in reward token)
912
+ *
913
+ * @public
914
+ * @async
915
+ * @param {?ReadParams} [params]
916
+ * @returns {Promise<bigint>}
917
+ */
918
+ limit(params?: ReadParams): Promise<bigint>;
919
+ /**
920
+ * Claim the incentive
921
+ *
922
+ * @public
923
+ * @async
924
+ * @param {ClaimPayload} payload
925
+ * @param {?WriteParams} [params]
926
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
927
+ */
928
+ protected claim(payload: ClaimPayload, params?: WriteParams): Promise<boolean>;
929
+ /**
930
+ * Claim the incentive
931
+ *
932
+ * @public
933
+ * @async
934
+ * @param {ClaimPayload} payload
935
+ * @param {?WriteParams} [params]
936
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed
937
+ */
938
+ protected claimRaw(payload: ClaimPayload, params?: WriteParams): Promise<{
939
+ hash: `0x${string}`;
940
+ result: boolean;
941
+ }>;
942
+ /**
943
+ * Clawback assets from the incentive
944
+ *
945
+ * @public
946
+ * @async
947
+ * @param {ClaimPayload} payload
948
+ * @param {?WriteParams} [params]
949
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
950
+ */
951
+ clawback(payload: ClaimPayload, params?: WriteParams): Promise<readonly [bigint, `0x${string}`]>;
952
+ /**
953
+ * Clawback assets from the incentive
954
+ *
955
+ * @public
956
+ * @async
957
+ * @param {ClaimPayload} payload
958
+ * @param {?WriteParams} [params]
959
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the assets were successfully clawbacked
960
+ */
961
+ clawbackRaw(payload: ClaimPayload, params?: WriteParams): Promise<{
962
+ hash: `0x${string}`;
963
+ result: readonly [bigint, `0x${string}`];
964
+ }>;
965
+ /**
966
+ * Check if an incentive is claimable.
967
+ *
968
+ * @public
969
+ * @async
970
+ * @param {ClaimPayload} payload
971
+ * @param {?ReadParams} [params]
972
+ * @returns {Promise<boolean>} = True if the incentive is claimable based on the data payload
973
+ */
974
+ isClaimable(payload: ClaimPayload, params?: ReadParams): Promise<boolean>;
975
+ /**
976
+ * read the peg token for the incentive.
977
+ *
978
+ * @public
979
+ * @async
980
+ * @param {?ReadParams} [params]
981
+ * @returns {Promise<Address>} = The address of the token the reward is pegged to
982
+ */
983
+ getPeg(params?: ReadParams): Promise<`0x${string}`>;
984
+ /**
985
+ * Get the maximum amount that can be claimed by this incentive. Useful when used in conjunction with `BoostCore.calculateProtocolFee`
986
+ *
987
+ * @public
988
+ * @async
989
+ * @param {?ReadParams} [params]
990
+ * @returns {Promise<bigint>} = Return a bigint representing that maximum amount that can be distributed by this incentive.
991
+ */
992
+ getTotalBudget(params?: ReadParams): Promise<bigint>;
993
+ /**
994
+ * Check if any claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.
995
+ *
996
+ * @public
997
+ * @async
998
+ * @param {?ReadParams} [params]
999
+ * @returns {Promise<boolean>} - True if total claims is less than limit
1000
+ */
1001
+ canBeClaimed(params?: ReadParams): Promise<boolean>;
1002
+ /**
1003
+ * Check how many claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.
1004
+ *
1005
+ * @public
1006
+ * @async
1007
+ * @param {?ReadParams} [params]
1008
+ * @returns {Promise<bigint>} - True if total claims is less than limit
1009
+ */
1010
+ getRemainingClaimPotential(params?: ReadParams): Promise<bigint>;
1011
+ /**
1012
+ *Functions from the ERC20VariableIncentive contract
1013
+ */
1014
+ /**
1015
+ * Fetches the IncentiveCriteria struct from the contract
1016
+ *
1017
+ * @param {?ReadParams} [params]
1018
+ * @returns {Promise<IncentiveCriteria>} Incentive criteria structure
1019
+ * @throws {IncentiveCriteriaNotFoundError}
1020
+ */
1021
+ getIncentiveCriteria(params?: ReadParams): Promise<IncentiveCriteria>;
1022
+ /**
1023
+ * Generates a top-up payload for the ERC20PeggedIncentive contract by incrementing
1024
+ * the existing `limit` field by `netAmount`. The entire payload is then re-encoded
1025
+ * via `prepareERC20PeggedIncentivePayload(...)`.
1026
+ *
1027
+ * @public
1028
+ * @param {bigint} netAmount - The additional limit to add to this incentive.
1029
+ * @returns {Hex} The ABI-encoded payload with the updated `limit`.
1030
+ */
1031
+ getTopupPayload(netAmount: bigint): Promise<Hex>;
1032
+ /**
1033
+ * @inheritdoc
1034
+ *
1035
+ * @public
1036
+ * @param {?ERC20PeggedVariableCriteriaIncentivePayload} [_payload]
1037
+ * @param {?DeployableOptions} [_options]
1038
+ * @returns {GenericDeployableParams}
1039
+ */
1040
+ buildParameters(_payload?: ERC20PeggedVariableCriteriaIncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
1041
+ /**
1042
+ * Encodes an amount to clawback from the incentive
1043
+ *
1044
+ * @public
1045
+ * @param {bigint} amount - How much of the asset to clawback
1046
+ * @returns {Hex} - Returns an encoded uint256
1047
+ */
1048
+ buildClawbackData(amount: bigint): `0x${string}`;
1049
+ /**
1050
+ * Builds the claim data for the ERC20PeggedVariableCriteriaIncentivePayload.
1051
+ *
1052
+ * @public
1053
+ * @param {bigint} signedAmount
1054
+ * @returns {Hash} Returns the encoded claim data
1055
+ * @description This function returns the encoded claim data for the ERC20PeggedVariableCriteriaIncentivePayload.
1056
+ */
1057
+ buildClaimData(signedAmount: bigint): `0x${string}`;
1058
+ /**
1059
+ * Decodes claim data for the ERC20PeggedVariableCriteriaIncentive, returning the claim amount.
1060
+ * Useful when deriving amount claimed from logs.
1061
+ *
1062
+ * @public
1063
+ * @param {Hex} claimData
1064
+ * @returns {Promise<bigint>} Returns the reward amount from a claim data payload
1065
+ */
1066
+ decodeClaimData(claimData: Hex): Promise<bigint>;
1067
+ /**
1068
+ * Decodes claim data for the ERC20PeggedVariableCriteriaIncentive, returning the claim amount.
1069
+ * Useful when deriving amount claimed from logs.
1070
+ * Use this function instead of `decodeClaimData` if you have reward details.
1071
+ *
1072
+ * @public
1073
+ * @param {Hex} claimData
1074
+ * @param {bigint} [reward]
1075
+ * @param {bigint} [maxReward]
1076
+ * @returns {BigInt} Returns the reward amount from a claim data payload
1077
+ */
1078
+ decodeClaimDataWithRewardDetails(claimData: Hex, reward: bigint, maxReward: bigint): bigint;
1079
+ }
1080
+ /**
1081
+ * Given a {@link ERC20PeggedVariableCriteriaIncentivePayload}, properly encode a `ERC20PeggedVariableCriteriaIncentivePayload.InitPayload` for use with {@link ERC20PeggedVariableCriteriaIncentivePayload} initialization.
1082
+ *
1083
+ * @param {ERC20PeggedVariableCriteriaIncentivePayload} param0
1084
+ * @param {Address} param0.asset - The address of the incentivized asset.
1085
+ * @param {Address} param0.peg - The peg to normalize to.
1086
+ * @param {bigint} param0.reward - The amount of the asset to distribute.
1087
+ * @param {bigint} param0.limit - How many times can this incentive be claimed.
1088
+ * @param {Address} [param0.manager=zeroAddress] - The entity that can manage the incentive.
1089
+ * @param {IncentiveCriteria} param0.criteria - The incentive criteria for reward distribution.
1090
+ * @returns {Hex}
1091
+ */
1092
+ export declare function prepareERC20PeggedVariableCriteriaIncentivePayload({ asset, peg, reward, limit, maxReward, manager, criteria, }: ERC20PeggedVariableCriteriaIncentivePayload): `0x${string}`;
1093
+ //# sourceMappingURL=ERC20PeggedVariableCriteriaIncentive.d.ts.map