@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,884 @@
1
+ import { erc20VariableCriteriaIncentiveAbi } from '@boostxyz/evm';
2
+ import { type AbiEvent, type AbiFunction, type Address, type Hex } from 'viem';
3
+ import { SignatureType } from '../Actions/EventAction';
4
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
5
+ import { type ReadParams } from '../utils';
6
+ import { ERC20VariableIncentive } from './ERC20VariableIncentive';
7
+ export { erc20VariableCriteriaIncentiveAbi };
8
+ export interface ERC20VariableCriteriaIncentivePayload {
9
+ /**
10
+ * The address of the incentivized asset.
11
+ *
12
+ * @type {Address}
13
+ */
14
+ asset: Address;
15
+ /**
16
+ * The amount of the asset to distribute as reward.
17
+ *
18
+ * @type {bigint}
19
+ */
20
+ reward: bigint;
21
+ /**
22
+ * The total spending limit of the asset that will be distributed.
23
+ *
24
+ * @type {bigint}
25
+ */
26
+ limit: bigint;
27
+ /**
28
+ * The total amount claimable in a single claim or maximum per-action reward.
29
+ *
30
+ * @type {bigint}
31
+ * @optional
32
+ */
33
+ maxReward?: bigint;
34
+ /**
35
+ * The criteria for the incentive that determines how the reward is distributed.
36
+ *
37
+ * @type {IncentiveCriteria}
38
+ */
39
+ criteria: IncentiveCriteria;
40
+ }
41
+ export interface IncentiveCriteria {
42
+ /**
43
+ * The type of criteria used, either function signature or event signature.
44
+ *
45
+ * @type {SignatureType}
46
+ */
47
+ criteriaType: SignatureType;
48
+ /**
49
+ * The function or event signature used for criteria matching.
50
+ *
51
+ * @type {Hex}
52
+ */
53
+ signature: Hex;
54
+ /**
55
+ * The index of the field from where the scalar value is extracted.
56
+ *
57
+ * @type {number}
58
+ */
59
+ fieldIndex: number;
60
+ /**
61
+ * The address of the contract where the event/function is called/emitted.
62
+ *
63
+ * @type {Address}
64
+ */
65
+ targetContract: Address;
66
+ }
67
+ export interface ReadIncentiveCriteriaParams extends ReadParams {
68
+ }
69
+ export interface GetIncentiveScalarParams {
70
+ chainId: number;
71
+ hash: Hex;
72
+ knownSignatures: Record<Hex, AbiFunction | AbiEvent>;
73
+ }
74
+ /**
75
+ * Extended ERC20 Variable Criteria Incentive class that fetches incentive criteria and scalar
76
+ *
77
+ * @export
78
+ * @deprecated Please use only v2 implementations
79
+ * @class ERC20VariableCriteriaIncentive
80
+ * @typedef {ERC20VariableCriteriaIncentive}
81
+ * @extends {ERC20VariableIncentive<ERC20VariableCriteriaIncentivePayload, typeof erc20VariableCriteriaIncentiveAbi>}
82
+ */
83
+ export declare class ERC20VariableCriteriaIncentive extends ERC20VariableIncentive<ERC20VariableCriteriaIncentivePayload, typeof erc20VariableCriteriaIncentiveAbi, Promise<bigint>> {
84
+ readonly abi: readonly [{
85
+ readonly type: "error";
86
+ readonly inputs: readonly [];
87
+ readonly name: "AlreadyInitialized";
88
+ }, {
89
+ readonly type: "error";
90
+ readonly inputs: readonly [];
91
+ readonly name: "ClaimFailed";
92
+ }, {
93
+ readonly type: "error";
94
+ readonly inputs: readonly [];
95
+ readonly name: "CloneAlreadyInitialized";
96
+ }, {
97
+ readonly type: "error";
98
+ readonly inputs: readonly [];
99
+ readonly name: "InitializerNotImplemented";
100
+ }, {
101
+ readonly type: "error";
102
+ readonly inputs: readonly [{
103
+ readonly name: "asset";
104
+ readonly internalType: "address";
105
+ readonly type: "address";
106
+ }, {
107
+ readonly name: "available";
108
+ readonly internalType: "uint256";
109
+ readonly type: "uint256";
110
+ }, {
111
+ readonly name: "required";
112
+ readonly internalType: "uint256";
113
+ readonly type: "uint256";
114
+ }];
115
+ readonly name: "InsufficientFunds";
116
+ }, {
117
+ readonly type: "error";
118
+ readonly inputs: readonly [];
119
+ readonly name: "InvalidInitialization";
120
+ }, {
121
+ readonly type: "error";
122
+ readonly inputs: readonly [];
123
+ readonly name: "InvalidInitialization";
124
+ }, {
125
+ readonly type: "error";
126
+ readonly inputs: readonly [];
127
+ readonly name: "InvalidInitializationData";
128
+ }, {
129
+ readonly type: "error";
130
+ readonly inputs: readonly [];
131
+ readonly name: "LengthMismatch";
132
+ }, {
133
+ readonly type: "error";
134
+ readonly inputs: readonly [];
135
+ readonly name: "NewOwnerIsZeroAddress";
136
+ }, {
137
+ readonly type: "error";
138
+ readonly inputs: readonly [];
139
+ readonly name: "NoHandoverRequest";
140
+ }, {
141
+ readonly type: "error";
142
+ readonly inputs: readonly [];
143
+ readonly name: "NotClaimable";
144
+ }, {
145
+ readonly type: "error";
146
+ readonly inputs: readonly [];
147
+ readonly name: "NotInitializing";
148
+ }, {
149
+ readonly type: "error";
150
+ readonly inputs: readonly [];
151
+ readonly name: "Unauthorized";
152
+ }, {
153
+ readonly type: "event";
154
+ readonly anonymous: false;
155
+ readonly inputs: readonly [{
156
+ readonly name: "recipient";
157
+ readonly internalType: "address";
158
+ readonly type: "address";
159
+ readonly indexed: true;
160
+ }, {
161
+ readonly name: "data";
162
+ readonly internalType: "bytes";
163
+ readonly type: "bytes";
164
+ readonly indexed: false;
165
+ }];
166
+ readonly name: "Claimed";
167
+ }, {
168
+ readonly type: "event";
169
+ readonly anonymous: false;
170
+ readonly inputs: readonly [{
171
+ readonly name: "asset";
172
+ readonly internalType: "address";
173
+ readonly type: "address";
174
+ readonly indexed: true;
175
+ }, {
176
+ readonly name: "reward";
177
+ readonly internalType: "uint256";
178
+ readonly type: "uint256";
179
+ readonly indexed: false;
180
+ }, {
181
+ readonly name: "limit";
182
+ readonly internalType: "uint256";
183
+ readonly type: "uint256";
184
+ readonly indexed: false;
185
+ }, {
186
+ readonly name: "maxReward";
187
+ readonly internalType: "uint256";
188
+ readonly type: "uint256";
189
+ readonly indexed: false;
190
+ }, {
191
+ readonly name: "criteria";
192
+ readonly internalType: "struct AERC20VariableCriteriaIncentive.IncentiveCriteria";
193
+ readonly type: "tuple";
194
+ readonly components: readonly [{
195
+ readonly name: "criteriaType";
196
+ readonly internalType: "enum SignatureType";
197
+ readonly type: "uint8";
198
+ }, {
199
+ readonly name: "signature";
200
+ readonly internalType: "bytes32";
201
+ readonly type: "bytes32";
202
+ }, {
203
+ readonly name: "fieldIndex";
204
+ readonly internalType: "uint8";
205
+ readonly type: "uint8";
206
+ }, {
207
+ readonly name: "targetContract";
208
+ readonly internalType: "address";
209
+ readonly type: "address";
210
+ }];
211
+ readonly indexed: false;
212
+ }];
213
+ readonly name: "ERC20VariableCriteriaIncentiveInitialized";
214
+ }, {
215
+ readonly type: "event";
216
+ readonly anonymous: false;
217
+ readonly inputs: readonly [{
218
+ readonly name: "asset";
219
+ readonly internalType: "address";
220
+ readonly type: "address";
221
+ readonly indexed: true;
222
+ }, {
223
+ readonly name: "reward";
224
+ readonly internalType: "uint256";
225
+ readonly type: "uint256";
226
+ readonly indexed: false;
227
+ }, {
228
+ readonly name: "limit";
229
+ readonly internalType: "uint256";
230
+ readonly type: "uint256";
231
+ readonly indexed: false;
232
+ }];
233
+ readonly name: "ERC20VariableIncentiveInitialized";
234
+ }, {
235
+ readonly type: "event";
236
+ readonly anonymous: false;
237
+ readonly inputs: readonly [{
238
+ readonly name: "version";
239
+ readonly internalType: "uint64";
240
+ readonly type: "uint64";
241
+ readonly indexed: false;
242
+ }];
243
+ readonly name: "Initialized";
244
+ }, {
245
+ readonly type: "event";
246
+ readonly anonymous: false;
247
+ readonly inputs: readonly [{
248
+ readonly name: "pendingOwner";
249
+ readonly internalType: "address";
250
+ readonly type: "address";
251
+ readonly indexed: true;
252
+ }];
253
+ readonly name: "OwnershipHandoverCanceled";
254
+ }, {
255
+ readonly type: "event";
256
+ readonly anonymous: false;
257
+ readonly inputs: readonly [{
258
+ readonly name: "pendingOwner";
259
+ readonly internalType: "address";
260
+ readonly type: "address";
261
+ readonly indexed: true;
262
+ }];
263
+ readonly name: "OwnershipHandoverRequested";
264
+ }, {
265
+ readonly type: "event";
266
+ readonly anonymous: false;
267
+ readonly inputs: readonly [{
268
+ readonly name: "oldOwner";
269
+ readonly internalType: "address";
270
+ readonly type: "address";
271
+ readonly indexed: true;
272
+ }, {
273
+ readonly name: "newOwner";
274
+ readonly internalType: "address";
275
+ readonly type: "address";
276
+ readonly indexed: true;
277
+ }];
278
+ readonly name: "OwnershipTransferred";
279
+ }, {
280
+ readonly type: "event";
281
+ readonly anonymous: false;
282
+ readonly inputs: readonly [{
283
+ readonly name: "user";
284
+ readonly internalType: "address";
285
+ readonly type: "address";
286
+ readonly indexed: true;
287
+ }, {
288
+ readonly name: "roles";
289
+ readonly internalType: "uint256";
290
+ readonly type: "uint256";
291
+ readonly indexed: true;
292
+ }];
293
+ readonly name: "RolesUpdated";
294
+ }, {
295
+ readonly type: "event";
296
+ readonly anonymous: false;
297
+ readonly inputs: readonly [{
298
+ readonly name: "sender";
299
+ readonly internalType: "address";
300
+ readonly type: "address";
301
+ readonly indexed: false;
302
+ }, {
303
+ readonly name: "amount";
304
+ readonly internalType: "uint256";
305
+ readonly type: "uint256";
306
+ readonly indexed: false;
307
+ }];
308
+ readonly name: "ToppedUp";
309
+ }, {
310
+ readonly type: "function";
311
+ readonly inputs: readonly [];
312
+ readonly name: "ADMIN_ROLE";
313
+ readonly outputs: readonly [{
314
+ readonly name: "";
315
+ readonly internalType: "uint256";
316
+ readonly type: "uint256";
317
+ }];
318
+ readonly stateMutability: "view";
319
+ }, {
320
+ readonly type: "function";
321
+ readonly inputs: readonly [];
322
+ readonly name: "MANAGER_ROLE";
323
+ readonly outputs: readonly [{
324
+ readonly name: "";
325
+ readonly internalType: "uint256";
326
+ readonly type: "uint256";
327
+ }];
328
+ readonly stateMutability: "view";
329
+ }, {
330
+ readonly type: "function";
331
+ readonly inputs: readonly [];
332
+ readonly name: "asset";
333
+ readonly outputs: readonly [{
334
+ readonly name: "";
335
+ readonly internalType: "address";
336
+ readonly type: "address";
337
+ }];
338
+ readonly stateMutability: "view";
339
+ }, {
340
+ readonly type: "function";
341
+ readonly inputs: readonly [];
342
+ readonly name: "cancelOwnershipHandover";
343
+ readonly outputs: readonly [];
344
+ readonly stateMutability: "payable";
345
+ }, {
346
+ readonly type: "function";
347
+ readonly inputs: readonly [{
348
+ readonly name: "claimTarget";
349
+ readonly internalType: "address";
350
+ readonly type: "address";
351
+ }, {
352
+ readonly name: "data_";
353
+ readonly internalType: "bytes";
354
+ readonly type: "bytes";
355
+ }];
356
+ readonly name: "claim";
357
+ readonly outputs: readonly [{
358
+ readonly name: "";
359
+ readonly internalType: "bool";
360
+ readonly type: "bool";
361
+ }];
362
+ readonly stateMutability: "nonpayable";
363
+ }, {
364
+ readonly type: "function";
365
+ readonly inputs: readonly [{
366
+ readonly name: "";
367
+ readonly internalType: "address";
368
+ readonly type: "address";
369
+ }];
370
+ readonly name: "claimed";
371
+ readonly outputs: readonly [{
372
+ readonly name: "";
373
+ readonly internalType: "bool";
374
+ readonly type: "bool";
375
+ }];
376
+ readonly stateMutability: "view";
377
+ }, {
378
+ readonly type: "function";
379
+ readonly inputs: readonly [];
380
+ readonly name: "claims";
381
+ readonly outputs: readonly [{
382
+ readonly name: "";
383
+ readonly internalType: "uint256";
384
+ readonly type: "uint256";
385
+ }];
386
+ readonly stateMutability: "view";
387
+ }, {
388
+ readonly type: "function";
389
+ readonly inputs: readonly [{
390
+ readonly name: "data_";
391
+ readonly internalType: "bytes";
392
+ readonly type: "bytes";
393
+ }];
394
+ readonly name: "clawback";
395
+ readonly outputs: readonly [{
396
+ readonly name: "";
397
+ readonly internalType: "uint256";
398
+ readonly type: "uint256";
399
+ }, {
400
+ readonly name: "";
401
+ readonly internalType: "address";
402
+ readonly type: "address";
403
+ }];
404
+ readonly stateMutability: "nonpayable";
405
+ }, {
406
+ readonly type: "function";
407
+ readonly inputs: readonly [{
408
+ readonly name: "pendingOwner";
409
+ readonly internalType: "address";
410
+ readonly type: "address";
411
+ }];
412
+ readonly name: "completeOwnershipHandover";
413
+ readonly outputs: readonly [];
414
+ readonly stateMutability: "payable";
415
+ }, {
416
+ readonly type: "function";
417
+ readonly inputs: readonly [];
418
+ readonly name: "currentReward";
419
+ readonly outputs: readonly [{
420
+ readonly name: "";
421
+ readonly internalType: "uint256";
422
+ readonly type: "uint256";
423
+ }];
424
+ readonly stateMutability: "view";
425
+ }, {
426
+ readonly type: "function";
427
+ readonly inputs: readonly [];
428
+ readonly name: "getComponentInterface";
429
+ readonly outputs: readonly [{
430
+ readonly name: "";
431
+ readonly internalType: "bytes4";
432
+ readonly type: "bytes4";
433
+ }];
434
+ readonly stateMutability: "pure";
435
+ }, {
436
+ readonly type: "function";
437
+ readonly inputs: readonly [];
438
+ readonly name: "getIncentiveCriteria";
439
+ readonly outputs: readonly [{
440
+ readonly name: "";
441
+ readonly internalType: "struct AERC20VariableCriteriaIncentive.IncentiveCriteria";
442
+ readonly type: "tuple";
443
+ readonly components: readonly [{
444
+ readonly name: "criteriaType";
445
+ readonly internalType: "enum SignatureType";
446
+ readonly type: "uint8";
447
+ }, {
448
+ readonly name: "signature";
449
+ readonly internalType: "bytes32";
450
+ readonly type: "bytes32";
451
+ }, {
452
+ readonly name: "fieldIndex";
453
+ readonly internalType: "uint8";
454
+ readonly type: "uint8";
455
+ }, {
456
+ readonly name: "targetContract";
457
+ readonly internalType: "address";
458
+ readonly type: "address";
459
+ }];
460
+ }];
461
+ readonly stateMutability: "view";
462
+ }, {
463
+ readonly type: "function";
464
+ readonly inputs: readonly [];
465
+ readonly name: "getMaxReward";
466
+ readonly outputs: readonly [{
467
+ readonly name: "";
468
+ readonly internalType: "uint256";
469
+ readonly type: "uint256";
470
+ }];
471
+ readonly stateMutability: "view";
472
+ }, {
473
+ readonly type: "function";
474
+ readonly inputs: readonly [{
475
+ readonly name: "accounts_";
476
+ readonly internalType: "address[]";
477
+ readonly type: "address[]";
478
+ }, {
479
+ readonly name: "roles_";
480
+ readonly internalType: "uint256[]";
481
+ readonly type: "uint256[]";
482
+ }];
483
+ readonly name: "grantManyRoles";
484
+ readonly outputs: readonly [];
485
+ readonly stateMutability: "nonpayable";
486
+ }, {
487
+ readonly type: "function";
488
+ readonly inputs: readonly [{
489
+ readonly name: "user";
490
+ readonly internalType: "address";
491
+ readonly type: "address";
492
+ }, {
493
+ readonly name: "roles";
494
+ readonly internalType: "uint256";
495
+ readonly type: "uint256";
496
+ }];
497
+ readonly name: "grantRoles";
498
+ readonly outputs: readonly [];
499
+ readonly stateMutability: "payable";
500
+ }, {
501
+ readonly type: "function";
502
+ readonly inputs: readonly [{
503
+ readonly name: "user";
504
+ readonly internalType: "address";
505
+ readonly type: "address";
506
+ }, {
507
+ readonly name: "roles";
508
+ readonly internalType: "uint256";
509
+ readonly type: "uint256";
510
+ }];
511
+ readonly name: "hasAllRoles";
512
+ readonly outputs: readonly [{
513
+ readonly name: "";
514
+ readonly internalType: "bool";
515
+ readonly type: "bool";
516
+ }];
517
+ readonly stateMutability: "view";
518
+ }, {
519
+ readonly type: "function";
520
+ readonly inputs: readonly [{
521
+ readonly name: "user";
522
+ readonly internalType: "address";
523
+ readonly type: "address";
524
+ }, {
525
+ readonly name: "roles";
526
+ readonly internalType: "uint256";
527
+ readonly type: "uint256";
528
+ }];
529
+ readonly name: "hasAnyRole";
530
+ readonly outputs: readonly [{
531
+ readonly name: "";
532
+ readonly internalType: "bool";
533
+ readonly type: "bool";
534
+ }];
535
+ readonly stateMutability: "view";
536
+ }, {
537
+ readonly type: "function";
538
+ readonly inputs: readonly [];
539
+ readonly name: "incentiveCriteria";
540
+ readonly outputs: readonly [{
541
+ readonly name: "criteriaType";
542
+ readonly internalType: "enum SignatureType";
543
+ readonly type: "uint8";
544
+ }, {
545
+ readonly name: "signature";
546
+ readonly internalType: "bytes32";
547
+ readonly type: "bytes32";
548
+ }, {
549
+ readonly name: "fieldIndex";
550
+ readonly internalType: "uint8";
551
+ readonly type: "uint8";
552
+ }, {
553
+ readonly name: "targetContract";
554
+ readonly internalType: "address";
555
+ readonly type: "address";
556
+ }];
557
+ readonly stateMutability: "view";
558
+ }, {
559
+ readonly type: "function";
560
+ readonly inputs: readonly [{
561
+ readonly name: "data_";
562
+ readonly internalType: "bytes";
563
+ readonly type: "bytes";
564
+ }];
565
+ readonly name: "initialize";
566
+ readonly outputs: readonly [];
567
+ readonly stateMutability: "nonpayable";
568
+ }, {
569
+ readonly type: "function";
570
+ readonly inputs: readonly [{
571
+ readonly name: "account_";
572
+ readonly internalType: "address";
573
+ readonly type: "address";
574
+ }];
575
+ readonly name: "isAuthorized";
576
+ readonly outputs: readonly [{
577
+ readonly name: "";
578
+ readonly internalType: "bool";
579
+ readonly type: "bool";
580
+ }];
581
+ readonly stateMutability: "view";
582
+ }, {
583
+ readonly type: "function";
584
+ readonly inputs: readonly [{
585
+ readonly name: "claimTarget";
586
+ readonly internalType: "address";
587
+ readonly type: "address";
588
+ }, {
589
+ readonly name: "";
590
+ readonly internalType: "bytes";
591
+ readonly type: "bytes";
592
+ }];
593
+ readonly name: "isClaimable";
594
+ readonly outputs: readonly [{
595
+ readonly name: "";
596
+ readonly internalType: "bool";
597
+ readonly type: "bool";
598
+ }];
599
+ readonly stateMutability: "view";
600
+ }, {
601
+ readonly type: "function";
602
+ readonly inputs: readonly [];
603
+ readonly name: "limit";
604
+ readonly outputs: readonly [{
605
+ readonly name: "";
606
+ readonly internalType: "uint256";
607
+ readonly type: "uint256";
608
+ }];
609
+ readonly stateMutability: "view";
610
+ }, {
611
+ readonly type: "function";
612
+ readonly inputs: readonly [];
613
+ readonly name: "maxReward";
614
+ readonly outputs: readonly [{
615
+ readonly name: "";
616
+ readonly internalType: "uint256";
617
+ readonly type: "uint256";
618
+ }];
619
+ readonly stateMutability: "view";
620
+ }, {
621
+ readonly type: "function";
622
+ readonly inputs: readonly [];
623
+ readonly name: "owner";
624
+ readonly outputs: readonly [{
625
+ readonly name: "result";
626
+ readonly internalType: "address";
627
+ readonly type: "address";
628
+ }];
629
+ readonly stateMutability: "view";
630
+ }, {
631
+ readonly type: "function";
632
+ readonly inputs: readonly [{
633
+ readonly name: "pendingOwner";
634
+ readonly internalType: "address";
635
+ readonly type: "address";
636
+ }];
637
+ readonly name: "ownershipHandoverExpiresAt";
638
+ readonly outputs: readonly [{
639
+ readonly name: "result";
640
+ readonly internalType: "uint256";
641
+ readonly type: "uint256";
642
+ }];
643
+ readonly stateMutability: "view";
644
+ }, {
645
+ readonly type: "function";
646
+ readonly inputs: readonly [{
647
+ readonly name: "data_";
648
+ readonly internalType: "bytes";
649
+ readonly type: "bytes";
650
+ }];
651
+ readonly name: "preflight";
652
+ readonly outputs: readonly [{
653
+ readonly name: "budgetData";
654
+ readonly internalType: "bytes";
655
+ readonly type: "bytes";
656
+ }];
657
+ readonly stateMutability: "view";
658
+ }, {
659
+ readonly type: "function";
660
+ readonly inputs: readonly [];
661
+ readonly name: "renounceOwnership";
662
+ readonly outputs: readonly [];
663
+ readonly stateMutability: "payable";
664
+ }, {
665
+ readonly type: "function";
666
+ readonly inputs: readonly [{
667
+ readonly name: "roles";
668
+ readonly internalType: "uint256";
669
+ readonly type: "uint256";
670
+ }];
671
+ readonly name: "renounceRoles";
672
+ readonly outputs: readonly [];
673
+ readonly stateMutability: "payable";
674
+ }, {
675
+ readonly type: "function";
676
+ readonly inputs: readonly [];
677
+ readonly name: "requestOwnershipHandover";
678
+ readonly outputs: readonly [];
679
+ readonly stateMutability: "payable";
680
+ }, {
681
+ readonly type: "function";
682
+ readonly inputs: readonly [{
683
+ readonly name: "accounts_";
684
+ readonly internalType: "address[]";
685
+ readonly type: "address[]";
686
+ }, {
687
+ readonly name: "roles_";
688
+ readonly internalType: "uint256[]";
689
+ readonly type: "uint256[]";
690
+ }];
691
+ readonly name: "revokeManyRoles";
692
+ readonly outputs: readonly [];
693
+ readonly stateMutability: "nonpayable";
694
+ }, {
695
+ readonly type: "function";
696
+ readonly inputs: readonly [{
697
+ readonly name: "user";
698
+ readonly internalType: "address";
699
+ readonly type: "address";
700
+ }, {
701
+ readonly name: "roles";
702
+ readonly internalType: "uint256";
703
+ readonly type: "uint256";
704
+ }];
705
+ readonly name: "revokeRoles";
706
+ readonly outputs: readonly [];
707
+ readonly stateMutability: "payable";
708
+ }, {
709
+ readonly type: "function";
710
+ readonly inputs: readonly [];
711
+ readonly name: "reward";
712
+ readonly outputs: readonly [{
713
+ readonly name: "";
714
+ readonly internalType: "uint256";
715
+ readonly type: "uint256";
716
+ }];
717
+ readonly stateMutability: "view";
718
+ }, {
719
+ readonly type: "function";
720
+ readonly inputs: readonly [{
721
+ readonly name: "user";
722
+ readonly internalType: "address";
723
+ readonly type: "address";
724
+ }];
725
+ readonly name: "rolesOf";
726
+ readonly outputs: readonly [{
727
+ readonly name: "roles";
728
+ readonly internalType: "uint256";
729
+ readonly type: "uint256";
730
+ }];
731
+ readonly stateMutability: "view";
732
+ }, {
733
+ readonly type: "function";
734
+ readonly inputs: readonly [{
735
+ readonly name: "accounts_";
736
+ readonly internalType: "address[]";
737
+ readonly type: "address[]";
738
+ }, {
739
+ readonly name: "authorized_";
740
+ readonly internalType: "bool[]";
741
+ readonly type: "bool[]";
742
+ }];
743
+ readonly name: "setAuthorized";
744
+ readonly outputs: readonly [];
745
+ readonly stateMutability: "nonpayable";
746
+ }, {
747
+ readonly type: "function";
748
+ readonly inputs: readonly [{
749
+ readonly name: "interfaceId";
750
+ readonly internalType: "bytes4";
751
+ readonly type: "bytes4";
752
+ }];
753
+ readonly name: "supportsInterface";
754
+ readonly outputs: readonly [{
755
+ readonly name: "";
756
+ readonly internalType: "bool";
757
+ readonly type: "bool";
758
+ }];
759
+ readonly stateMutability: "view";
760
+ }, {
761
+ readonly type: "function";
762
+ readonly inputs: readonly [{
763
+ readonly name: "amount";
764
+ readonly internalType: "uint256";
765
+ readonly type: "uint256";
766
+ }];
767
+ readonly name: "topup";
768
+ readonly outputs: readonly [];
769
+ readonly stateMutability: "nonpayable";
770
+ }, {
771
+ readonly type: "function";
772
+ readonly inputs: readonly [];
773
+ readonly name: "totalClaimed";
774
+ readonly outputs: readonly [{
775
+ readonly name: "";
776
+ readonly internalType: "uint256";
777
+ readonly type: "uint256";
778
+ }];
779
+ readonly stateMutability: "view";
780
+ }, {
781
+ readonly type: "function";
782
+ readonly inputs: readonly [{
783
+ readonly name: "newOwner";
784
+ readonly internalType: "address";
785
+ readonly type: "address";
786
+ }];
787
+ readonly name: "transferOwnership";
788
+ readonly outputs: readonly [];
789
+ readonly stateMutability: "payable";
790
+ }];
791
+ /**
792
+ * @inheritdoc
793
+ *
794
+ * @public
795
+ * @static
796
+ * @type {Record<number, Address>}
797
+ */
798
+ static bases: Record<number, Address>;
799
+ /**
800
+ *Functions from the ERC20VariableIncentive contract
801
+ */
802
+ /**
803
+ * Fetches the IncentiveCriteria struct from the contract
804
+ *
805
+ * @param {?ReadParams} [params]
806
+ * @returns {Promise<IncentiveCriteria>} Incentive criteria structure
807
+ * @throws {IncentiveCriteriaNotFoundError}
808
+ */
809
+ getIncentiveCriteria(params?: ReadParams): Promise<IncentiveCriteria>;
810
+ /**
811
+ * Decodes claim data for the ERC20VariableCriteriaIncentive, returning the claim amount.
812
+ * Useful when deriving amount claimed from logs.
813
+ *
814
+ * @public
815
+ * @param {Hex} claimData
816
+ * @returns {Promise<bigint>} Returns the reward amount from a claim data payload
817
+ */
818
+ decodeClaimData(claimData: Hex): Promise<bigint>;
819
+ /**
820
+ * Fetches the IncentiveCriteria struct from the contract
821
+ *
822
+ * @param {?ReadParams} [params]
823
+ * @returns {Promise<IncentiveCriteria>} Incentive criteria structure
824
+ * @throws {IncentiveCriteriaNotFoundError}
825
+ */
826
+ getMaxReward(params?: ReadParams): Promise<bigint>;
827
+ /**
828
+ * Fetches the incentive scalar from a transaction hash
829
+ *
830
+ * @param {GetIncentiveScalarParams} params
831
+ * @param {?ReadParams} [params]
832
+ * @returns {Promise<bigint>}
833
+ * @throws {InvalidCriteriaTypeError | NoMatchingLogsError | DecodedArgsError}
834
+ */
835
+ getIncentiveScalar({ chainId, hash, knownSignatures }: GetIncentiveScalarParams, params?: ReadParams): Promise<bigint>;
836
+ /**
837
+ * @inheritdoc
838
+ *
839
+ * @public
840
+ * @param {?ERC20VariableCriteriaIncentivePayload} [_payload]
841
+ * @param {?DeployableOptions} [_options]
842
+ * @returns {GenericDeployableParams}
843
+ */
844
+ buildParameters(_payload?: ERC20VariableCriteriaIncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
845
+ }
846
+ /**
847
+ * Creates an IncentiveCriteria object representing a gas rebate incentive.
848
+ * This object defines a variable incentive criteria where the criteria will be the gas spent.
849
+ *
850
+ * The criteria uses a signatureType of EVENT, with a special `fieldIndex` of 255 (using CheatCodes enum), which indicates
851
+ * that the entire gas cost of the transaction will be used as the scalar value. If you don't want to
852
+ * rebate the entire gas cost, you can use a reward value on the incentive..
853
+ *
854
+ * - `criteriaType`: EVENT, indicating it's based on event logs.
855
+ * - `signature`: A zeroed signature (0x0000...0000), matching any event.
856
+ * - `fieldIndex`: 255, indicating the use of transaction gas cost using CheatCodes enum.
857
+ * - `targetContract`: A zeroed address (0x0000...0000), applicable to any contract.
858
+ *
859
+ * @returns {IncentiveCriteria} Returns an IncentiveCriteria object for a gas rebate.
860
+ *
861
+ * @example
862
+ * const incentive = gasRebateIncentiveCriteria();
863
+ * const actionPayload = {
864
+ * criteria: incentive,
865
+ * asset: "0xAssetAddress",
866
+ * reward: 0, // Set to zero to rebate the entire gas cost
867
+ * limit: BigInt(1000) // This is the total spend limit for the incentive
868
+ * };
869
+ * deployIncentive(actionPayload);
870
+ */
871
+ export declare function gasRebateIncentiveCriteria(): IncentiveCriteria;
872
+ /**
873
+ *
874
+ *
875
+ * @param {InitPayloadExtended} param0
876
+ * @param {Address} param0.asset - The address of the ERC20 asset to incentivize.
877
+ * @param {bigint} param0.reward - The reward amount to distribute per action.
878
+ * @param {bigint} param0.limit - The total limit of the asset distribution.
879
+ * @param {bigint} param0.maxReward - The maximum value claimable from a single completion.
880
+ * @param {IncentiveCriteria} param0.criteria - The incentive criteria for reward distribution.
881
+ * @returns {Hex}
882
+ */
883
+ export declare function prepareERC20VariableCriteriaIncentivePayload({ asset, reward, limit, maxReward, criteria, }: ERC20VariableCriteriaIncentivePayload): `0x${string}`;
884
+ //# sourceMappingURL=ERC20VariableCriteriaIncentive.d.ts.map