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