@boostxyz/sdk 5.5.0 → 6.0.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 (178) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +4 -4
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.cjs.map +1 -1
  5. package/dist/Actions/EventAction.d.ts +2 -1
  6. package/dist/Actions/EventAction.d.ts.map +1 -1
  7. package/dist/Actions/EventAction.js +110 -105
  8. package/dist/Actions/EventAction.js.map +1 -1
  9. package/dist/AllowLists/AllowList.cjs +1 -1
  10. package/dist/AllowLists/AllowList.js +3 -3
  11. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  12. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  13. package/dist/AllowLists/SimpleAllowList.d.ts +2 -2
  14. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  15. package/dist/AllowLists/SimpleAllowList.js +25 -25
  16. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  17. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  18. package/dist/AllowLists/SimpleDenyList.js +3 -3
  19. package/dist/Auth/PassthroughAuth.cjs +1 -1
  20. package/dist/Auth/PassthroughAuth.cjs.map +1 -1
  21. package/dist/Auth/PassthroughAuth.js +14 -14
  22. package/dist/Boost.cjs.map +1 -1
  23. package/dist/Boost.js.map +1 -1
  24. package/dist/BoostCore.cjs +2 -2
  25. package/dist/BoostCore.cjs.map +1 -1
  26. package/dist/BoostCore.d.ts +261 -0
  27. package/dist/BoostCore.d.ts.map +1 -1
  28. package/dist/BoostCore.js +442 -262
  29. package/dist/BoostCore.js.map +1 -1
  30. package/dist/BoostRegistry.cjs +1 -1
  31. package/dist/BoostRegistry.cjs.map +1 -1
  32. package/dist/BoostRegistry.js +43 -43
  33. package/dist/BoostRegistry.js.map +1 -1
  34. package/dist/Budget-CsqSI4NH.cjs +2 -0
  35. package/dist/Budget-CsqSI4NH.cjs.map +1 -0
  36. package/dist/Budget-bMiAGF8s.js +922 -0
  37. package/dist/Budget-bMiAGF8s.js.map +1 -0
  38. package/dist/Budgets/Budget.cjs +1 -1
  39. package/dist/Budgets/Budget.d.ts +5 -4
  40. package/dist/Budgets/Budget.d.ts.map +1 -1
  41. package/dist/Budgets/Budget.js +3 -3
  42. package/dist/Budgets/ManagedBudget.cjs +1 -1
  43. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  44. package/dist/Budgets/ManagedBudget.js +53 -53
  45. package/dist/Budgets/ManagedBudgetWithFees.d.ts +26 -0
  46. package/dist/Budgets/ManagedBudgetWithFees.d.ts.map +1 -1
  47. package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts +1331 -0
  48. package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts.map +1 -0
  49. package/dist/Deployable/DeployableTarget.cjs +1 -1
  50. package/dist/Deployable/DeployableTarget.js +1 -1
  51. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  52. package/dist/Deployable/DeployableTargetWithRBAC.js +15 -15
  53. package/dist/Incentive-DZLG6T1-.js +1036 -0
  54. package/dist/Incentive-DZLG6T1-.js.map +1 -0
  55. package/dist/Incentive-DvNdIJ_x.cjs +2 -0
  56. package/dist/Incentive-DvNdIJ_x.cjs.map +1 -0
  57. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  58. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  59. package/dist/Incentives/AllowListIncentive.d.ts +9 -1
  60. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  61. package/dist/Incentives/AllowListIncentive.js +64 -47
  62. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  63. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  64. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  65. package/dist/Incentives/CGDAIncentive.d.ts +12 -1
  66. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  67. package/dist/Incentives/CGDAIncentive.js +64 -33
  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.d.ts +37 -1
  72. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  73. package/dist/Incentives/ERC20Incentive.js +73 -49
  74. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  75. package/dist/Incentives/ERC20PeggedIncentive.d.ts +35 -0
  76. package/dist/Incentives/ERC20PeggedIncentive.d.ts.map +1 -1
  77. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts +35 -0
  78. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts.map +1 -1
  79. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  80. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
  81. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +25 -0
  82. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
  83. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +24 -24
  84. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
  85. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  86. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
  87. package/dist/Incentives/ERC20VariableIncentive.d.ts +35 -0
  88. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  89. package/dist/Incentives/ERC20VariableIncentive.js +55 -38
  90. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
  91. package/dist/Incentives/Incentive.cjs +1 -1
  92. package/dist/Incentives/Incentive.d.ts +25 -0
  93. package/dist/Incentives/Incentive.d.ts.map +1 -1
  94. package/dist/Incentives/Incentive.js +3 -3
  95. package/dist/Incentives/PointsIncentive.cjs +1 -1
  96. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  97. package/dist/Incentives/PointsIncentive.d.ts +8 -0
  98. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  99. package/dist/Incentives/PointsIncentive.js +50 -28
  100. package/dist/Incentives/PointsIncentive.js.map +1 -1
  101. package/dist/SimpleDenyList-BAIrFBAW.cjs +2 -0
  102. package/dist/{SimpleDenyList-CsRXJPwm.cjs.map → SimpleDenyList-BAIrFBAW.cjs.map} +1 -1
  103. package/dist/SimpleDenyList-C734XLxt.js +133 -0
  104. package/dist/{SimpleDenyList-ByAr4X1r.js.map → SimpleDenyList-C734XLxt.js.map} +1 -1
  105. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  106. package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
  107. package/dist/Validators/LimitedSignerValidator.d.ts +1 -1
  108. package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -1
  109. package/dist/Validators/LimitedSignerValidator.js +33 -33
  110. package/dist/Validators/LimitedSignerValidator.js.map +1 -1
  111. package/dist/Validators/SignerValidator.cjs +1 -1
  112. package/dist/Validators/SignerValidator.cjs.map +1 -1
  113. package/dist/Validators/SignerValidator.d.ts +1 -1
  114. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  115. package/dist/Validators/SignerValidator.js +26 -26
  116. package/dist/Validators/SignerValidator.js.map +1 -1
  117. package/dist/Validators/Validator.cjs +1 -1
  118. package/dist/Validators/Validator.js +4 -4
  119. package/dist/componentInterfaces-5Ezh3Pvx.js +19 -0
  120. package/dist/componentInterfaces-5Ezh3Pvx.js.map +1 -0
  121. package/dist/componentInterfaces-Cm4Zfn1v.cjs +2 -0
  122. package/dist/componentInterfaces-Cm4Zfn1v.cjs.map +1 -0
  123. package/dist/{deployments-D0fs26TV.js → deployments-3RHH-eW7.js} +47 -47
  124. package/dist/{deployments-D0fs26TV.js.map → deployments-3RHH-eW7.js.map} +1 -1
  125. package/dist/deployments-CIXw_WKk.cjs +2 -0
  126. package/dist/deployments-CIXw_WKk.cjs.map +1 -0
  127. package/dist/deployments.json +24 -24
  128. package/dist/errors.cjs +1 -1
  129. package/dist/errors.cjs.map +1 -1
  130. package/dist/errors.js +1 -1
  131. package/dist/errors.js.map +1 -1
  132. package/dist/generated-BPiHi7W2.cjs +3 -0
  133. package/dist/generated-BPiHi7W2.cjs.map +1 -0
  134. package/dist/{generated-Cyvr_Tjx.js → generated-CElkFqkY.js} +1510 -608
  135. package/dist/generated-CElkFqkY.js.map +1 -0
  136. package/dist/index.cjs +1 -1
  137. package/dist/index.d.ts +1 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +153 -150
  140. package/package.json +2 -2
  141. package/src/Actions/EventAction.ts +25 -6
  142. package/src/AllowLists/SimpleAllowList.ts +2 -2
  143. package/src/BoostCore.test.ts +124 -2
  144. package/src/BoostCore.ts +259 -0
  145. package/src/Budgets/Budget.ts +8 -2
  146. package/src/Budgets/ManagedBudgetWithFees.test.ts +0 -1
  147. package/src/Budgets/ManagedBudgetWithFeesV2.test.ts +327 -0
  148. package/src/Budgets/ManagedBudgetWithFeesV2.ts +713 -0
  149. package/src/Incentives/AllowListIncentive.ts +17 -0
  150. package/src/Incentives/CGDAIncentive.ts +31 -0
  151. package/src/Incentives/ERC20Incentive.ts +27 -0
  152. package/src/Incentives/ERC20PeggedIncentive.ts +18 -0
  153. package/src/Incentives/ERC20PeggedVariableCriteriaIncentive.ts +26 -0
  154. package/src/Incentives/ERC20VariableIncentive.ts +18 -0
  155. package/src/Incentives/PointsIncentive.ts +22 -0
  156. package/src/Validators/LimitedSignerValidator.ts +1 -1
  157. package/src/Validators/SignerValidator.ts +1 -1
  158. package/src/errors.ts +1 -1
  159. package/src/index.ts +1 -0
  160. package/dist/Budget-AoNx7uFd.cjs +0 -2
  161. package/dist/Budget-AoNx7uFd.cjs.map +0 -1
  162. package/dist/Budget-DYIV9iNK.js +0 -463
  163. package/dist/Budget-DYIV9iNK.js.map +0 -1
  164. package/dist/Incentive-BbkfwGOb.cjs +0 -2
  165. package/dist/Incentive-BbkfwGOb.cjs.map +0 -1
  166. package/dist/Incentive-qlnv5kQB.js +0 -991
  167. package/dist/Incentive-qlnv5kQB.js.map +0 -1
  168. package/dist/SimpleDenyList-ByAr4X1r.js +0 -133
  169. package/dist/SimpleDenyList-CsRXJPwm.cjs +0 -2
  170. package/dist/componentInterfaces-D7r9xJmt.cjs +0 -2
  171. package/dist/componentInterfaces-D7r9xJmt.cjs.map +0 -1
  172. package/dist/componentInterfaces-PR3ijhgZ.js +0 -18
  173. package/dist/componentInterfaces-PR3ijhgZ.js.map +0 -1
  174. package/dist/deployments-DoIOqxco.cjs +0 -2
  175. package/dist/deployments-DoIOqxco.cjs.map +0 -1
  176. package/dist/generated-Cyvr_Tjx.js.map +0 -1
  177. package/dist/generated-DtYPHhtX.cjs +0 -3
  178. package/dist/generated-DtYPHhtX.cjs.map +0 -1
@@ -0,0 +1,1331 @@
1
+ import { managedBudgetWithFeesV2Abi } from '@boostxyz/evm';
2
+ import { type Address, type ContractEventName, type Hex } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTargetWithRBAC, type Roles } from '../Deployable/DeployableTargetWithRBAC';
5
+ import type { ERC1155TransferPayload, FungibleTransferPayload } from '../transfers';
6
+ import { type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
7
+ export { managedBudgetWithFeesV2Abi };
8
+ export type { ERC1155TransferPayload, FungibleTransferPayload };
9
+ /**
10
+ * The object representation of a `ManagedBudgetWithFeesV2Payload.InitPayload`
11
+ *
12
+ * @export
13
+ * @interface ManagedBudgetWithFeesV2Payload
14
+ * @typedef {ManagedBudgetWithFeesV2Payload}
15
+ */
16
+ export interface ManagedBudgetWithFeesV2Payload {
17
+ /**
18
+ * The budget's owner
19
+ *
20
+ * @type {Address}
21
+ */
22
+ owner: Address;
23
+ /**
24
+ * List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.
25
+ *
26
+ * @type {Address[]}
27
+ */
28
+ authorized: Address[];
29
+ /**
30
+ * List of roles to assign to the corresponding account by index.
31
+ *
32
+ * @type {Roles[]}
33
+ */
34
+ roles: Roles[];
35
+ /**
36
+ * Management Fee rate for incentive payouts
37
+ *
38
+ * @type {bigint}
39
+ */
40
+ managementFee: bigint;
41
+ }
42
+ /**
43
+ * A generic `viem.Log` event with support for `ManagedBudgetWithFeesV2` event types.
44
+ *
45
+ * @export
46
+ * @typedef {ManagedBudgetWithFeesV2Log}
47
+ * @template {ContractEventName<typeof managedBudgetWithFeesV2Abi>} [event=ContractEventName<
48
+ * typeof managedBudgetWithFeesV2Abi
49
+ * >]
50
+ */
51
+ export type ManagedBudgetWithFeesV2Log<event extends ContractEventName<typeof managedBudgetWithFeesV2Abi> = ContractEventName<typeof managedBudgetWithFeesV2Abi>> = GenericLog<typeof managedBudgetWithFeesV2Abi, event>;
52
+ /**
53
+ * A minimal budget implementation that simply holds and distributes tokens (ERC20-like and native)
54
+ * This type of budget supports ETH, ERC20, and ERC1155 assets only
55
+ *
56
+ * @export
57
+ * @class ManagedBudgetWithFeesV2
58
+ * @typedef {ManagedBudgetWithFeesV2}
59
+ * @extends {DeployableTargetWithRBAC<ManagedBudgetWithFeesV2Payload>}
60
+ */
61
+ export declare class ManagedBudgetWithFeesV2 extends DeployableTargetWithRBAC<ManagedBudgetWithFeesV2Payload, typeof managedBudgetWithFeesV2Abi> {
62
+ /**
63
+ * @inheritdoc
64
+ *
65
+ * @public
66
+ * @readonly
67
+ * @type {*}
68
+ */
69
+ readonly abi: readonly [{
70
+ readonly type: "constructor";
71
+ readonly inputs: readonly [];
72
+ readonly stateMutability: "nonpayable";
73
+ }, {
74
+ readonly type: "error";
75
+ readonly inputs: readonly [];
76
+ readonly name: "AlreadyInitialized";
77
+ }, {
78
+ readonly type: "error";
79
+ readonly inputs: readonly [];
80
+ readonly name: "CloneAlreadyInitialized";
81
+ }, {
82
+ readonly type: "error";
83
+ readonly inputs: readonly [];
84
+ readonly name: "InitializerNotImplemented";
85
+ }, {
86
+ readonly type: "error";
87
+ readonly inputs: readonly [{
88
+ readonly name: "asset";
89
+ readonly internalType: "address";
90
+ readonly type: "address";
91
+ }, {
92
+ readonly name: "available";
93
+ readonly internalType: "uint256";
94
+ readonly type: "uint256";
95
+ }, {
96
+ readonly name: "required";
97
+ readonly internalType: "uint256";
98
+ readonly type: "uint256";
99
+ }];
100
+ readonly name: "InsufficientFunds";
101
+ }, {
102
+ readonly type: "error";
103
+ readonly inputs: readonly [{
104
+ readonly name: "asset";
105
+ readonly internalType: "address";
106
+ readonly type: "address";
107
+ }, {
108
+ readonly name: "amount";
109
+ readonly internalType: "uint256";
110
+ readonly type: "uint256";
111
+ }];
112
+ readonly name: "InvalidAllocation";
113
+ }, {
114
+ readonly type: "error";
115
+ readonly inputs: readonly [];
116
+ readonly name: "InvalidInitialization";
117
+ }, {
118
+ readonly type: "error";
119
+ readonly inputs: readonly [];
120
+ readonly name: "InvalidInitializationData";
121
+ }, {
122
+ readonly type: "error";
123
+ readonly inputs: readonly [];
124
+ readonly name: "LengthMismatch";
125
+ }, {
126
+ readonly type: "error";
127
+ readonly inputs: readonly [];
128
+ readonly name: "NewOwnerIsZeroAddress";
129
+ }, {
130
+ readonly type: "error";
131
+ readonly inputs: readonly [];
132
+ readonly name: "NoHandoverRequest";
133
+ }, {
134
+ readonly type: "error";
135
+ readonly inputs: readonly [];
136
+ readonly name: "NotImplemented";
137
+ }, {
138
+ readonly type: "error";
139
+ readonly inputs: readonly [];
140
+ readonly name: "NotInitializing";
141
+ }, {
142
+ readonly type: "error";
143
+ readonly inputs: readonly [];
144
+ readonly name: "Reentrancy";
145
+ }, {
146
+ readonly type: "error";
147
+ readonly inputs: readonly [{
148
+ readonly name: "asset";
149
+ readonly internalType: "address";
150
+ readonly type: "address";
151
+ }, {
152
+ readonly name: "to";
153
+ readonly internalType: "address";
154
+ readonly type: "address";
155
+ }, {
156
+ readonly name: "amount";
157
+ readonly internalType: "uint256";
158
+ readonly type: "uint256";
159
+ }];
160
+ readonly name: "TransferFailed";
161
+ }, {
162
+ readonly type: "error";
163
+ readonly inputs: readonly [];
164
+ readonly name: "Unauthorized";
165
+ }, {
166
+ readonly type: "error";
167
+ readonly inputs: readonly [];
168
+ readonly name: "Unauthorized";
169
+ }, {
170
+ readonly type: "error";
171
+ readonly inputs: readonly [];
172
+ readonly name: "ZeroBalancePayout";
173
+ }, {
174
+ readonly type: "event";
175
+ readonly anonymous: false;
176
+ readonly inputs: readonly [{
177
+ readonly name: "boostCore";
178
+ readonly internalType: "address";
179
+ readonly type: "address";
180
+ readonly indexed: false;
181
+ }];
182
+ readonly name: "BoostCoreUpdated";
183
+ }, {
184
+ readonly type: "event";
185
+ readonly anonymous: false;
186
+ readonly inputs: readonly [{
187
+ readonly name: "asset";
188
+ readonly internalType: "address";
189
+ readonly type: "address";
190
+ readonly indexed: true;
191
+ }, {
192
+ readonly name: "to";
193
+ readonly internalType: "address";
194
+ readonly type: "address";
195
+ readonly indexed: false;
196
+ }, {
197
+ readonly name: "amount";
198
+ readonly internalType: "uint256";
199
+ readonly type: "uint256";
200
+ readonly indexed: false;
201
+ }];
202
+ readonly name: "Distributed";
203
+ }, {
204
+ readonly type: "event";
205
+ readonly anonymous: false;
206
+ readonly inputs: readonly [{
207
+ readonly name: "version";
208
+ readonly internalType: "uint64";
209
+ readonly type: "uint64";
210
+ readonly indexed: false;
211
+ }];
212
+ readonly name: "Initialized";
213
+ }, {
214
+ readonly type: "event";
215
+ readonly anonymous: false;
216
+ readonly inputs: readonly [{
217
+ readonly name: "questId";
218
+ readonly internalType: "uint256";
219
+ readonly type: "uint256";
220
+ readonly indexed: true;
221
+ }, {
222
+ readonly name: "incentiveId";
223
+ readonly internalType: "uint256";
224
+ readonly type: "uint256";
225
+ readonly indexed: true;
226
+ }, {
227
+ readonly name: "manager";
228
+ readonly internalType: "address";
229
+ readonly type: "address";
230
+ readonly indexed: true;
231
+ }, {
232
+ readonly name: "amount";
233
+ readonly internalType: "uint256";
234
+ readonly type: "uint256";
235
+ readonly indexed: false;
236
+ }];
237
+ readonly name: "ManagementFeePaid";
238
+ }, {
239
+ readonly type: "event";
240
+ readonly anonymous: false;
241
+ readonly inputs: readonly [{
242
+ readonly name: "newFee";
243
+ readonly internalType: "uint256";
244
+ readonly type: "uint256";
245
+ readonly indexed: false;
246
+ }];
247
+ readonly name: "ManagementFeeSet";
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: "OwnershipHandoverCanceled";
258
+ }, {
259
+ readonly type: "event";
260
+ readonly anonymous: false;
261
+ readonly inputs: readonly [{
262
+ readonly name: "pendingOwner";
263
+ readonly internalType: "address";
264
+ readonly type: "address";
265
+ readonly indexed: true;
266
+ }];
267
+ readonly name: "OwnershipHandoverRequested";
268
+ }, {
269
+ readonly type: "event";
270
+ readonly anonymous: false;
271
+ readonly inputs: readonly [{
272
+ readonly name: "oldOwner";
273
+ readonly internalType: "address";
274
+ readonly type: "address";
275
+ readonly indexed: true;
276
+ }, {
277
+ readonly name: "newOwner";
278
+ readonly internalType: "address";
279
+ readonly type: "address";
280
+ readonly indexed: true;
281
+ }];
282
+ readonly name: "OwnershipTransferred";
283
+ }, {
284
+ readonly type: "event";
285
+ readonly anonymous: false;
286
+ readonly inputs: readonly [{
287
+ readonly name: "user";
288
+ readonly internalType: "address";
289
+ readonly type: "address";
290
+ readonly indexed: true;
291
+ }, {
292
+ readonly name: "roles";
293
+ readonly internalType: "uint256";
294
+ readonly type: "uint256";
295
+ readonly indexed: true;
296
+ }];
297
+ readonly name: "RolesUpdated";
298
+ }, {
299
+ readonly type: "fallback";
300
+ readonly stateMutability: "payable";
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: "data_";
325
+ readonly internalType: "bytes";
326
+ readonly type: "bytes";
327
+ }];
328
+ readonly name: "allocate";
329
+ readonly outputs: readonly [{
330
+ readonly name: "";
331
+ readonly internalType: "bool";
332
+ readonly type: "bool";
333
+ }];
334
+ readonly stateMutability: "payable";
335
+ }, {
336
+ readonly type: "function";
337
+ readonly inputs: readonly [{
338
+ readonly name: "asset_";
339
+ readonly internalType: "address";
340
+ readonly type: "address";
341
+ }];
342
+ readonly name: "available";
343
+ readonly outputs: readonly [{
344
+ readonly name: "";
345
+ readonly internalType: "uint256";
346
+ readonly type: "uint256";
347
+ }];
348
+ readonly stateMutability: "view";
349
+ }, {
350
+ readonly type: "function";
351
+ readonly inputs: readonly [{
352
+ readonly name: "asset_";
353
+ readonly internalType: "address";
354
+ readonly type: "address";
355
+ }, {
356
+ readonly name: "tokenId_";
357
+ readonly internalType: "uint256";
358
+ readonly type: "uint256";
359
+ }];
360
+ readonly name: "available";
361
+ readonly outputs: readonly [{
362
+ readonly name: "";
363
+ readonly internalType: "uint256";
364
+ readonly type: "uint256";
365
+ }];
366
+ readonly stateMutability: "view";
367
+ }, {
368
+ readonly type: "function";
369
+ readonly inputs: readonly [];
370
+ readonly name: "cancelOwnershipHandover";
371
+ readonly outputs: readonly [];
372
+ readonly stateMutability: "payable";
373
+ }, {
374
+ readonly type: "function";
375
+ readonly inputs: readonly [{
376
+ readonly name: "data_";
377
+ readonly internalType: "bytes";
378
+ readonly type: "bytes";
379
+ }];
380
+ readonly name: "clawback";
381
+ readonly outputs: readonly [{
382
+ readonly name: "";
383
+ readonly internalType: "uint256";
384
+ readonly type: "uint256";
385
+ }];
386
+ readonly stateMutability: "nonpayable";
387
+ }, {
388
+ readonly type: "function";
389
+ readonly inputs: readonly [{
390
+ readonly name: "target";
391
+ readonly internalType: "address";
392
+ readonly type: "address";
393
+ }, {
394
+ readonly name: "data_";
395
+ readonly internalType: "bytes";
396
+ readonly type: "bytes";
397
+ }, {
398
+ readonly name: "boostId";
399
+ readonly internalType: "uint256";
400
+ readonly type: "uint256";
401
+ }, {
402
+ readonly name: "incentiveId";
403
+ readonly internalType: "uint256";
404
+ readonly type: "uint256";
405
+ }];
406
+ readonly name: "clawbackFromTarget";
407
+ readonly outputs: readonly [{
408
+ readonly name: "";
409
+ readonly internalType: "uint256";
410
+ readonly type: "uint256";
411
+ }, {
412
+ readonly name: "";
413
+ readonly internalType: "address";
414
+ readonly type: "address";
415
+ }];
416
+ readonly stateMutability: "nonpayable";
417
+ }, {
418
+ readonly type: "function";
419
+ readonly inputs: readonly [{
420
+ readonly name: "target";
421
+ readonly internalType: "address";
422
+ readonly type: "address";
423
+ }, {
424
+ readonly name: "data_";
425
+ readonly internalType: "bytes";
426
+ readonly type: "bytes";
427
+ }, {
428
+ readonly name: "boostId";
429
+ readonly internalType: "uint256";
430
+ readonly type: "uint256";
431
+ }, {
432
+ readonly name: "incentiveId";
433
+ readonly internalType: "uint256";
434
+ readonly type: "uint256";
435
+ }];
436
+ readonly name: "clawbackFromTargetAndPayFee";
437
+ readonly outputs: readonly [{
438
+ readonly name: "amount";
439
+ readonly internalType: "uint256";
440
+ readonly type: "uint256";
441
+ }, {
442
+ readonly name: "asset";
443
+ readonly internalType: "address";
444
+ readonly type: "address";
445
+ }];
446
+ readonly stateMutability: "nonpayable";
447
+ }, {
448
+ readonly type: "function";
449
+ readonly inputs: readonly [{
450
+ readonly name: "target";
451
+ readonly internalType: "address";
452
+ readonly type: "address";
453
+ }, {
454
+ readonly name: "data_";
455
+ readonly internalType: "bytes";
456
+ readonly type: "bytes";
457
+ }, {
458
+ readonly name: "core";
459
+ readonly internalType: "contract BoostCore";
460
+ readonly type: "address";
461
+ }, {
462
+ readonly name: "boostId";
463
+ readonly internalType: "uint256";
464
+ readonly type: "uint256";
465
+ }, {
466
+ readonly name: "incentiveId";
467
+ readonly internalType: "uint256";
468
+ readonly type: "uint256";
469
+ }];
470
+ readonly name: "clawbackFromTargetAndPayFee";
471
+ readonly outputs: readonly [{
472
+ readonly name: "amount";
473
+ readonly internalType: "uint256";
474
+ readonly type: "uint256";
475
+ }, {
476
+ readonly name: "asset";
477
+ readonly internalType: "address";
478
+ readonly type: "address";
479
+ }];
480
+ readonly stateMutability: "nonpayable";
481
+ }, {
482
+ readonly type: "function";
483
+ readonly inputs: readonly [{
484
+ readonly name: "pendingOwner";
485
+ readonly internalType: "address";
486
+ readonly type: "address";
487
+ }];
488
+ readonly name: "completeOwnershipHandover";
489
+ readonly outputs: readonly [];
490
+ readonly stateMutability: "payable";
491
+ }, {
492
+ readonly type: "function";
493
+ readonly inputs: readonly [{
494
+ readonly name: "";
495
+ readonly internalType: "contract BoostCore";
496
+ readonly type: "address";
497
+ }];
498
+ readonly name: "coreAllowed";
499
+ readonly outputs: readonly [{
500
+ readonly name: "";
501
+ readonly internalType: "bool";
502
+ readonly type: "bool";
503
+ }];
504
+ readonly stateMutability: "view";
505
+ }, {
506
+ readonly type: "function";
507
+ readonly inputs: readonly [{
508
+ readonly name: "data_";
509
+ readonly internalType: "bytes";
510
+ readonly type: "bytes";
511
+ }];
512
+ readonly name: "disburse";
513
+ readonly outputs: readonly [{
514
+ readonly name: "";
515
+ readonly internalType: "bool";
516
+ readonly type: "bool";
517
+ }];
518
+ readonly stateMutability: "nonpayable";
519
+ }, {
520
+ readonly type: "function";
521
+ readonly inputs: readonly [{
522
+ readonly name: "data_";
523
+ readonly internalType: "bytes[]";
524
+ readonly type: "bytes[]";
525
+ }];
526
+ readonly name: "disburseBatch";
527
+ readonly outputs: readonly [{
528
+ readonly name: "";
529
+ readonly internalType: "bool";
530
+ readonly type: "bool";
531
+ }];
532
+ readonly stateMutability: "nonpayable";
533
+ }, {
534
+ readonly type: "function";
535
+ readonly inputs: readonly [{
536
+ readonly name: "asset_";
537
+ readonly internalType: "address";
538
+ readonly type: "address";
539
+ }];
540
+ readonly name: "distributed";
541
+ readonly outputs: readonly [{
542
+ readonly name: "";
543
+ readonly internalType: "uint256";
544
+ readonly type: "uint256";
545
+ }];
546
+ readonly stateMutability: "view";
547
+ }, {
548
+ readonly type: "function";
549
+ readonly inputs: readonly [{
550
+ readonly name: "asset_";
551
+ readonly internalType: "address";
552
+ readonly type: "address";
553
+ }, {
554
+ readonly name: "tokenId_";
555
+ readonly internalType: "uint256";
556
+ readonly type: "uint256";
557
+ }];
558
+ readonly name: "distributed";
559
+ readonly outputs: readonly [{
560
+ readonly name: "";
561
+ readonly internalType: "uint256";
562
+ readonly type: "uint256";
563
+ }];
564
+ readonly stateMutability: "view";
565
+ }, {
566
+ readonly type: "function";
567
+ readonly inputs: readonly [];
568
+ readonly name: "getComponentInterface";
569
+ readonly outputs: readonly [{
570
+ readonly name: "";
571
+ readonly internalType: "bytes4";
572
+ readonly type: "bytes4";
573
+ }];
574
+ readonly stateMutability: "pure";
575
+ }, {
576
+ readonly type: "function";
577
+ readonly inputs: readonly [{
578
+ readonly name: "accounts_";
579
+ readonly internalType: "address[]";
580
+ readonly type: "address[]";
581
+ }, {
582
+ readonly name: "roles_";
583
+ readonly internalType: "uint256[]";
584
+ readonly type: "uint256[]";
585
+ }];
586
+ readonly name: "grantManyRoles";
587
+ readonly outputs: readonly [];
588
+ readonly stateMutability: "nonpayable";
589
+ }, {
590
+ readonly type: "function";
591
+ readonly inputs: readonly [{
592
+ readonly name: "user";
593
+ readonly internalType: "address";
594
+ readonly type: "address";
595
+ }, {
596
+ readonly name: "roles";
597
+ readonly internalType: "uint256";
598
+ readonly type: "uint256";
599
+ }];
600
+ readonly name: "grantRoles";
601
+ readonly outputs: readonly [];
602
+ readonly stateMutability: "payable";
603
+ }, {
604
+ readonly type: "function";
605
+ readonly inputs: readonly [{
606
+ readonly name: "user";
607
+ readonly internalType: "address";
608
+ readonly type: "address";
609
+ }, {
610
+ readonly name: "roles";
611
+ readonly internalType: "uint256";
612
+ readonly type: "uint256";
613
+ }];
614
+ readonly name: "hasAllRoles";
615
+ readonly outputs: readonly [{
616
+ readonly name: "";
617
+ readonly internalType: "bool";
618
+ readonly type: "bool";
619
+ }];
620
+ readonly stateMutability: "view";
621
+ }, {
622
+ readonly type: "function";
623
+ readonly inputs: readonly [{
624
+ readonly name: "user";
625
+ readonly internalType: "address";
626
+ readonly type: "address";
627
+ }, {
628
+ readonly name: "roles";
629
+ readonly internalType: "uint256";
630
+ readonly type: "uint256";
631
+ }];
632
+ readonly name: "hasAnyRole";
633
+ readonly outputs: readonly [{
634
+ readonly name: "";
635
+ readonly internalType: "bool";
636
+ readonly type: "bool";
637
+ }];
638
+ readonly stateMutability: "view";
639
+ }, {
640
+ readonly type: "function";
641
+ readonly inputs: readonly [{
642
+ readonly name: "";
643
+ readonly internalType: "address";
644
+ readonly type: "address";
645
+ }];
646
+ readonly name: "incentiveFeesDisbursed";
647
+ readonly outputs: readonly [{
648
+ readonly name: "";
649
+ readonly internalType: "uint256";
650
+ readonly type: "uint256";
651
+ }];
652
+ readonly stateMutability: "view";
653
+ }, {
654
+ readonly type: "function";
655
+ readonly inputs: readonly [{
656
+ readonly name: "";
657
+ readonly internalType: "address";
658
+ readonly type: "address";
659
+ }];
660
+ readonly name: "incentiveFeesMax";
661
+ readonly outputs: readonly [{
662
+ readonly name: "";
663
+ readonly internalType: "uint256";
664
+ readonly type: "uint256";
665
+ }];
666
+ readonly stateMutability: "view";
667
+ }, {
668
+ readonly type: "function";
669
+ readonly inputs: readonly [{
670
+ readonly name: "data_";
671
+ readonly internalType: "bytes";
672
+ readonly type: "bytes";
673
+ }];
674
+ readonly name: "initialize";
675
+ readonly outputs: readonly [];
676
+ readonly stateMutability: "nonpayable";
677
+ }, {
678
+ readonly type: "function";
679
+ readonly inputs: readonly [{
680
+ readonly name: "account_";
681
+ readonly internalType: "address";
682
+ readonly type: "address";
683
+ }];
684
+ readonly name: "isAuthorized";
685
+ readonly outputs: readonly [{
686
+ readonly name: "";
687
+ readonly internalType: "bool";
688
+ readonly type: "bool";
689
+ }];
690
+ readonly stateMutability: "view";
691
+ }, {
692
+ readonly type: "function";
693
+ readonly inputs: readonly [];
694
+ readonly name: "managementFee";
695
+ readonly outputs: readonly [{
696
+ readonly name: "";
697
+ readonly internalType: "uint256";
698
+ readonly type: "uint256";
699
+ }];
700
+ readonly stateMutability: "view";
701
+ }, {
702
+ readonly type: "function";
703
+ readonly inputs: readonly [{
704
+ readonly name: "";
705
+ readonly internalType: "address";
706
+ readonly type: "address";
707
+ }, {
708
+ readonly name: "";
709
+ readonly internalType: "address";
710
+ readonly type: "address";
711
+ }, {
712
+ readonly name: "";
713
+ readonly internalType: "uint256[]";
714
+ readonly type: "uint256[]";
715
+ }, {
716
+ readonly name: "";
717
+ readonly internalType: "uint256[]";
718
+ readonly type: "uint256[]";
719
+ }, {
720
+ readonly name: "";
721
+ readonly internalType: "bytes";
722
+ readonly type: "bytes";
723
+ }];
724
+ readonly name: "onERC1155BatchReceived";
725
+ readonly outputs: readonly [{
726
+ readonly name: "";
727
+ readonly internalType: "bytes4";
728
+ readonly type: "bytes4";
729
+ }];
730
+ readonly stateMutability: "pure";
731
+ }, {
732
+ readonly type: "function";
733
+ readonly inputs: readonly [{
734
+ readonly name: "";
735
+ readonly internalType: "address";
736
+ readonly type: "address";
737
+ }, {
738
+ readonly name: "";
739
+ readonly internalType: "address";
740
+ readonly type: "address";
741
+ }, {
742
+ readonly name: "";
743
+ readonly internalType: "uint256";
744
+ readonly type: "uint256";
745
+ }, {
746
+ readonly name: "";
747
+ readonly internalType: "uint256";
748
+ readonly type: "uint256";
749
+ }, {
750
+ readonly name: "";
751
+ readonly internalType: "bytes";
752
+ readonly type: "bytes";
753
+ }];
754
+ readonly name: "onERC1155Received";
755
+ readonly outputs: readonly [{
756
+ readonly name: "";
757
+ readonly internalType: "bytes4";
758
+ readonly type: "bytes4";
759
+ }];
760
+ readonly stateMutability: "pure";
761
+ }, {
762
+ readonly type: "function";
763
+ readonly inputs: readonly [];
764
+ readonly name: "owner";
765
+ readonly outputs: readonly [{
766
+ readonly name: "result";
767
+ readonly internalType: "address";
768
+ readonly type: "address";
769
+ }];
770
+ readonly stateMutability: "view";
771
+ }, {
772
+ readonly type: "function";
773
+ readonly inputs: readonly [{
774
+ readonly name: "pendingOwner";
775
+ readonly internalType: "address";
776
+ readonly type: "address";
777
+ }];
778
+ readonly name: "ownershipHandoverExpiresAt";
779
+ readonly outputs: readonly [{
780
+ readonly name: "result";
781
+ readonly internalType: "uint256";
782
+ readonly type: "uint256";
783
+ }];
784
+ readonly stateMutability: "view";
785
+ }, {
786
+ readonly type: "function";
787
+ readonly inputs: readonly [{
788
+ readonly name: "boostId";
789
+ readonly internalType: "uint256";
790
+ readonly type: "uint256";
791
+ }, {
792
+ readonly name: "incentiveId";
793
+ readonly internalType: "uint256";
794
+ readonly type: "uint256";
795
+ }];
796
+ readonly name: "payManagementFee";
797
+ readonly outputs: readonly [];
798
+ readonly stateMutability: "nonpayable";
799
+ }, {
800
+ readonly type: "function";
801
+ readonly inputs: readonly [{
802
+ readonly name: "core";
803
+ readonly internalType: "contract BoostCore";
804
+ readonly type: "address";
805
+ }, {
806
+ readonly name: "boostId";
807
+ readonly internalType: "uint256";
808
+ readonly type: "uint256";
809
+ }, {
810
+ readonly name: "incentiveId";
811
+ readonly internalType: "uint256";
812
+ readonly type: "uint256";
813
+ }];
814
+ readonly name: "payManagementFee";
815
+ readonly outputs: readonly [];
816
+ readonly stateMutability: "nonpayable";
817
+ }, {
818
+ readonly type: "function";
819
+ readonly inputs: readonly [{
820
+ readonly name: "";
821
+ readonly internalType: "bytes";
822
+ readonly type: "bytes";
823
+ }];
824
+ readonly name: "reconcile";
825
+ readonly outputs: readonly [{
826
+ readonly name: "";
827
+ readonly internalType: "uint256";
828
+ readonly type: "uint256";
829
+ }];
830
+ readonly stateMutability: "nonpayable";
831
+ }, {
832
+ readonly type: "function";
833
+ readonly inputs: readonly [];
834
+ readonly name: "renounceOwnership";
835
+ readonly outputs: readonly [];
836
+ readonly stateMutability: "payable";
837
+ }, {
838
+ readonly type: "function";
839
+ readonly inputs: readonly [{
840
+ readonly name: "roles";
841
+ readonly internalType: "uint256";
842
+ readonly type: "uint256";
843
+ }];
844
+ readonly name: "renounceRoles";
845
+ readonly outputs: readonly [];
846
+ readonly stateMutability: "payable";
847
+ }, {
848
+ readonly type: "function";
849
+ readonly inputs: readonly [];
850
+ readonly name: "requestOwnershipHandover";
851
+ readonly outputs: readonly [];
852
+ readonly stateMutability: "payable";
853
+ }, {
854
+ readonly type: "function";
855
+ readonly inputs: readonly [{
856
+ readonly name: "";
857
+ readonly internalType: "address";
858
+ readonly type: "address";
859
+ }];
860
+ readonly name: "reservedFunds";
861
+ readonly outputs: readonly [{
862
+ readonly name: "";
863
+ readonly internalType: "uint256";
864
+ readonly type: "uint256";
865
+ }];
866
+ readonly stateMutability: "view";
867
+ }, {
868
+ readonly type: "function";
869
+ readonly inputs: readonly [{
870
+ readonly name: "accounts_";
871
+ readonly internalType: "address[]";
872
+ readonly type: "address[]";
873
+ }, {
874
+ readonly name: "roles_";
875
+ readonly internalType: "uint256[]";
876
+ readonly type: "uint256[]";
877
+ }];
878
+ readonly name: "revokeManyRoles";
879
+ readonly outputs: readonly [];
880
+ readonly stateMutability: "nonpayable";
881
+ }, {
882
+ readonly type: "function";
883
+ readonly inputs: readonly [{
884
+ readonly name: "user";
885
+ readonly internalType: "address";
886
+ readonly type: "address";
887
+ }, {
888
+ readonly name: "roles";
889
+ readonly internalType: "uint256";
890
+ readonly type: "uint256";
891
+ }];
892
+ readonly name: "revokeRoles";
893
+ readonly outputs: readonly [];
894
+ readonly stateMutability: "payable";
895
+ }, {
896
+ readonly type: "function";
897
+ readonly inputs: readonly [{
898
+ readonly name: "user";
899
+ readonly internalType: "address";
900
+ readonly type: "address";
901
+ }];
902
+ readonly name: "rolesOf";
903
+ readonly outputs: readonly [{
904
+ readonly name: "roles";
905
+ readonly internalType: "uint256";
906
+ readonly type: "uint256";
907
+ }];
908
+ readonly stateMutability: "view";
909
+ }, {
910
+ readonly type: "function";
911
+ readonly inputs: readonly [{
912
+ readonly name: "accounts_";
913
+ readonly internalType: "address[]";
914
+ readonly type: "address[]";
915
+ }, {
916
+ readonly name: "authorized_";
917
+ readonly internalType: "bool[]";
918
+ readonly type: "bool[]";
919
+ }];
920
+ readonly name: "setAuthorized";
921
+ readonly outputs: readonly [];
922
+ readonly stateMutability: "nonpayable";
923
+ }, {
924
+ readonly type: "function";
925
+ readonly inputs: readonly [{
926
+ readonly name: "core";
927
+ readonly internalType: "address";
928
+ readonly type: "address";
929
+ }];
930
+ readonly name: "setCore";
931
+ readonly outputs: readonly [];
932
+ readonly stateMutability: "nonpayable";
933
+ }, {
934
+ readonly type: "function";
935
+ readonly inputs: readonly [{
936
+ readonly name: "fee_";
937
+ readonly internalType: "uint256";
938
+ readonly type: "uint256";
939
+ }];
940
+ readonly name: "setManagementFee";
941
+ readonly outputs: readonly [];
942
+ readonly stateMutability: "nonpayable";
943
+ }, {
944
+ readonly type: "function";
945
+ readonly inputs: readonly [{
946
+ readonly name: "interfaceId";
947
+ readonly internalType: "bytes4";
948
+ readonly type: "bytes4";
949
+ }];
950
+ readonly name: "supportsInterface";
951
+ readonly outputs: readonly [{
952
+ readonly name: "";
953
+ readonly internalType: "bool";
954
+ readonly type: "bool";
955
+ }];
956
+ readonly stateMutability: "view";
957
+ }, {
958
+ readonly type: "function";
959
+ readonly inputs: readonly [{
960
+ readonly name: "target";
961
+ readonly internalType: "address";
962
+ readonly type: "address";
963
+ }, {
964
+ readonly name: "boostId";
965
+ readonly internalType: "uint256";
966
+ readonly type: "uint256";
967
+ }, {
968
+ readonly name: "incentiveId";
969
+ readonly internalType: "uint256";
970
+ readonly type: "uint256";
971
+ }, {
972
+ readonly name: "data_";
973
+ readonly internalType: "bytes";
974
+ readonly type: "bytes";
975
+ }];
976
+ readonly name: "topupIncentive";
977
+ readonly outputs: readonly [{
978
+ readonly name: "";
979
+ readonly internalType: "bool";
980
+ readonly type: "bool";
981
+ }];
982
+ readonly stateMutability: "nonpayable";
983
+ }, {
984
+ readonly type: "function";
985
+ readonly inputs: readonly [{
986
+ readonly name: "asset_";
987
+ readonly internalType: "address";
988
+ readonly type: "address";
989
+ }];
990
+ readonly name: "total";
991
+ readonly outputs: readonly [{
992
+ readonly name: "";
993
+ readonly internalType: "uint256";
994
+ readonly type: "uint256";
995
+ }];
996
+ readonly stateMutability: "view";
997
+ }, {
998
+ readonly type: "function";
999
+ readonly inputs: readonly [{
1000
+ readonly name: "asset_";
1001
+ readonly internalType: "address";
1002
+ readonly type: "address";
1003
+ }, {
1004
+ readonly name: "tokenId_";
1005
+ readonly internalType: "uint256";
1006
+ readonly type: "uint256";
1007
+ }];
1008
+ readonly name: "total";
1009
+ readonly outputs: readonly [{
1010
+ readonly name: "";
1011
+ readonly internalType: "uint256";
1012
+ readonly type: "uint256";
1013
+ }];
1014
+ readonly stateMutability: "view";
1015
+ }, {
1016
+ readonly type: "function";
1017
+ readonly inputs: readonly [{
1018
+ readonly name: "newOwner";
1019
+ readonly internalType: "address";
1020
+ readonly type: "address";
1021
+ }];
1022
+ readonly name: "transferOwnership";
1023
+ readonly outputs: readonly [];
1024
+ readonly stateMutability: "payable";
1025
+ }, {
1026
+ readonly type: "receive";
1027
+ readonly stateMutability: "payable";
1028
+ }];
1029
+ /**
1030
+ * @inheritdoc
1031
+ *
1032
+ * @public
1033
+ * @static
1034
+ * @type {Record<number, Address>}
1035
+ */
1036
+ static bases: Record<number, Address>;
1037
+ /**
1038
+ * @inheritdoc
1039
+ *
1040
+ * @public
1041
+ * @static
1042
+ * @type {RegistryType}
1043
+ */
1044
+ static registryType: RegistryType;
1045
+ /**
1046
+ * Allocates assets to the budget.
1047
+ * The caller must have already approved the contract to transfer the asset
1048
+ * If the asset transfer fails, the allocation will revert
1049
+ *
1050
+ * @public
1051
+ * @async
1052
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1053
+ * @param {?WriteParams} [params]
1054
+ * @returns {Promise<boolean>} - True if the allocation was successful
1055
+ */
1056
+ allocate(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<boolean>;
1057
+ /**
1058
+ * Allocates assets to the budget.
1059
+ * The caller must have already approved the contract to transfer the asset
1060
+ * If the asset transfer fails, the allocation will revert
1061
+ *
1062
+ * @public
1063
+ * @async
1064
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1065
+ * @param {?WriteParams} [params]
1066
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the allocation was successful
1067
+ */
1068
+ allocateRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<{
1069
+ hash: `0x${string}`;
1070
+ result: boolean;
1071
+ }>;
1072
+ /**
1073
+ * Clawbacks assets from the budget.
1074
+ * Only the owner can directly clawback assets from the budget
1075
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
1076
+ * If the asset transfer fails, the reclamation will revert
1077
+ *
1078
+ * @public
1079
+ * @async
1080
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1081
+ * @param {?WriteParams} [params]
1082
+ * @returns {Promise<boolean>} - True if the request was successful
1083
+ */
1084
+ clawback(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<bigint>;
1085
+ /**
1086
+ * Clawbacks assets from the budget.
1087
+ * Only the owner or admin can directly clawback assets from the budget
1088
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
1089
+ * If the asset transfer fails, the reclamation will revert
1090
+ *
1091
+ * @public
1092
+ * @async
1093
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1094
+ * @param {?WriteParams} [params]
1095
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the request was successful
1096
+ */
1097
+ clawbackRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<{
1098
+ hash: `0x${string}`;
1099
+ result: bigint;
1100
+ }>;
1101
+ /**
1102
+ * Clawbacks assets from an incentive associated with the budget via Boost Core.
1103
+ * Only the authorized users can clawback assets from an incentive.
1104
+ * If the asset transfer fails, the reclamation will revert.
1105
+ *
1106
+ * @example
1107
+ * ```ts
1108
+ * const [amount, address] = await budgets.budget.clawbackFromTarget(
1109
+ * core.assertValidAddress(),
1110
+ * erc20Incentive.buildClawbackData(1n),
1111
+ * boost.id,
1112
+ * incentiveId,
1113
+ * );
1114
+ * ```
1115
+ * @public
1116
+ * @async
1117
+ * @param {Address} target - The address of a contract implementing clawback, typically `BoostCore`
1118
+ * @param {Hex} data - The encoded data payload for the clawback, can be acquired with `incentive.buildClawbackData`
1119
+ * @param {bigint | number} boostId - The ID of the boost
1120
+ * @param {bigint | number} incentiveId - The ID of the incentive
1121
+ * @param {?WriteParams} [params] - Optional write parameters
1122
+ * @returns {Promise<[bigint, Address]>} - Returns a tuple of amount reclaimed and the address reclaimed from
1123
+ */
1124
+ clawbackFromTarget(target: Address, data: Hex, boostId: bigint | number, incentiveId: bigint | number, params?: WriteParams): Promise<readonly [bigint, `0x${string}`]>;
1125
+ /**
1126
+ * Clawbacks assets from an incentive associated with the budget via Boost Core.
1127
+ * Only the authorized users can clawback assets from an incentive.
1128
+ * If the asset transfer fails, the reclamation will revert.
1129
+ *
1130
+ * @example
1131
+ * ```ts
1132
+ * const { hash, result: [ amount, address ] } = await budgets.budget.clawbackFromTargetRaw(
1133
+ * core.assertValidAddress(),
1134
+ * erc20Incentive.buildClawbackData(1n),
1135
+ * boost.id,
1136
+ * incentiveId,
1137
+ * );
1138
+ * ```
1139
+ * @public
1140
+ * @async
1141
+ * @param {Address} target - The address of a contract implementing clawback, typically `BoostCore`
1142
+ * @param {Hex} data - The encoded data payload for the clawback, can be acquired with `incentive.buildClawbackData`
1143
+ * @param {bigint | number} boostId - The ID of the boost
1144
+ * @param {bigint | number} incentiveId - The ID of the incentive
1145
+ * @param {?WriteParams} [params] - Optional write parameters
1146
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns transaction hash and simulated result
1147
+ */
1148
+ clawbackFromTargetRaw(target: Address, data: Hex, boostId: bigint | number, incentiveId: bigint | number, params?: WriteParams): Promise<{
1149
+ hash: `0x${string}`;
1150
+ result: readonly [bigint, `0x${string}`];
1151
+ }>;
1152
+ /**
1153
+ * Disburses assets from the budget to a single recipient
1154
+ * If the asset transfer fails, the disbursement will revert
1155
+ *
1156
+ * @public
1157
+ * @async
1158
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1159
+ * @param {?WriteParams} [params]
1160
+ * @returns {Promise<boolean>} - True if the disbursement was successful
1161
+ */
1162
+ disburse(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<boolean>;
1163
+ /**
1164
+ * Disburses assets from the budget to a single recipient
1165
+ * If the asset transfer fails, the disbursement will revert
1166
+ *
1167
+ * @public
1168
+ * @async
1169
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1170
+ * @param {?WriteParams} [params]
1171
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the disbursement was successful
1172
+ */
1173
+ disburseRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<{
1174
+ hash: `0x${string}`;
1175
+ result: boolean;
1176
+ }>;
1177
+ /**
1178
+ * Disburses assets from the budget to multiple recipients
1179
+ *
1180
+ * @public
1181
+ * @async
1182
+ * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
1183
+ * @param {?WriteParams} [params]
1184
+ * @returns {Promise<boolean>} - True if all disbursements were successful
1185
+ */
1186
+ disburseBatch(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams): Promise<boolean>;
1187
+ /**
1188
+ * Disburses assets from the budget to multiple recipients
1189
+ *
1190
+ * @public
1191
+ * @async
1192
+ * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
1193
+ * @param {?WriteParams} [params]
1194
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if all disbursements were successful
1195
+ */
1196
+ disburseBatchRaw(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams): Promise<{
1197
+ hash: `0x${string}`;
1198
+ result: boolean;
1199
+ }>;
1200
+ /**
1201
+ * Pays out reserved management fees to the boost owner
1202
+ * for a given incentive
1203
+ *
1204
+ * @public
1205
+ * @async
1206
+ * @param {bigint | string} boostId
1207
+ * @param {bigint | string} incentiveId
1208
+ * @param {?WriteParams} [params]
1209
+ * @returns {Promise<boolean>} - True if the payout was successful
1210
+ */
1211
+ payManagementFee(boostId: bigint | string, incentiveId: bigint | string, boostCore?: Address, params?: WriteParams): Promise<void>;
1212
+ /**
1213
+ * Pays out reserved management fees to the boost owner
1214
+ *
1215
+ * @public
1216
+ * @async
1217
+ * @param {Address} boostCore
1218
+ * @param bigint boostId
1219
+ * @param bigint incentiveId
1220
+ * @param {?WriteParams} [params]
1221
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the payout was successful
1222
+ */
1223
+ payManagementFeeRaw(boostId: bigint | string, incentiveId: bigint | string, params?: WriteParams): Promise<{
1224
+ hash: `0x${string}`;
1225
+ result: void;
1226
+ }>;
1227
+ /**
1228
+ * Pays out reserved management fees to the boost owner
1229
+ *
1230
+ * @public
1231
+ * @async
1232
+ * @param {Address} boostCore
1233
+ * @param bigint boostId
1234
+ * @param bigint incentiveId
1235
+ * @param {?WriteParams} [params]
1236
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the payout was successful
1237
+ */
1238
+ payManagementFeeWithCoreRaw(boostCore: Address, boostId: bigint | string, incentiveId: bigint | string, params?: WriteParams): Promise<{
1239
+ hash: `0x${string}`;
1240
+ result: never;
1241
+ }>;
1242
+ /**
1243
+ * Sets the management fee for the budget
1244
+ * @public
1245
+ * @async
1246
+ * @param {bigint} managementFee
1247
+ * @param {?WriteParams} [params]
1248
+ * @returns {Promise<void>} - will throw if the transaction fails
1249
+ */
1250
+ setManagementFee(managementFee: bigint, params?: WriteParams): Promise<void>;
1251
+ /**
1252
+ * Sets the management fee for the budget
1253
+ * @public
1254
+ * @async
1255
+ * @param {bigint} managementFee
1256
+ * @param {?WriteParams} [params]
1257
+ * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1258
+ */
1259
+ setManagementFeeRaw(managementFee: bigint, params?: WriteParams): Promise<{
1260
+ hash: `0x${string}`;
1261
+ result: void;
1262
+ }>;
1263
+ /**
1264
+ * Get the configured management fee for the budget
1265
+ * @public
1266
+ * @param {?ReadParams} [params]
1267
+ * @returns {Promise<bigint>} - The management fee
1268
+ */
1269
+ managementFee(params?: ReadParams): Promise<bigint>;
1270
+ /**
1271
+ * Get the owner of the budget
1272
+ *
1273
+ * @public
1274
+ * @param {?ReadParams} [params]
1275
+ * @returns {Promise<Address>}
1276
+ */
1277
+ owner(params?: ReadParams): Promise<`0x${string}`>;
1278
+ /**
1279
+ * Get the total amount of assets allocated to the budget, including any that have been distributed
1280
+ * If a tokenId is provided, get the total amount of ERC1155 assets allocated to the budget, including any that have been distributed
1281
+ *
1282
+ * @public
1283
+ * @param {Address} [asset="0x0000000000000000000000000000000000000000"] - The address of the asset
1284
+ * @param {?(bigint | undefined)} [tokenId] - The ID of the token
1285
+ * @param {?ReadParams} [params]
1286
+ * @returns {Promise<bigint>} - The total amount of assets
1287
+ */
1288
+ total(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams): Promise<never>;
1289
+ /**
1290
+ * Get the amount of assets available for distribution from the budget.
1291
+ * If a tokenId is provided, get the amount of ERC1155 assets available for distribution from the budget
1292
+ *
1293
+ * @public
1294
+ * @param {Address} [asset="0x0000000000000000000000000000000000000000"]
1295
+ * @param {?(bigint | undefined)} [tokenId]
1296
+ * @param {?ReadParams} [params]
1297
+ * @returns {Promise<bigint>} - The amount of assets available
1298
+ */
1299
+ available(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams): Promise<never>;
1300
+ /**
1301
+ * Get the amount of assets that have been distributed from the budget.
1302
+ * If a tokenId is provided, get the amount of ERC1155 assets that have been distributed from the budget
1303
+ *
1304
+ * @public
1305
+ * @param {Address} [asset="0x0000000000000000000000000000000000000000"]
1306
+ * @param {?(bigint | undefined)} [tokenId]
1307
+ * @param {?ReadParams} [params]
1308
+ * @returns {Promise<bigint>} - The amount of assets distributed
1309
+ */
1310
+ distributed(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams): Promise<never>;
1311
+ /**
1312
+ * @inheritdoc
1313
+ *
1314
+ * @public
1315
+ * @param {?ManagedBudgetWithFeesV2Payload} [_payload]
1316
+ * @param {?DeployableOptions} [_options]
1317
+ * @returns {GenericDeployableParams}
1318
+ */
1319
+ buildParameters(_payload?: ManagedBudgetWithFeesV2Payload, _options?: DeployableOptions): GenericDeployableParams;
1320
+ }
1321
+ /**
1322
+ * Given a {@link ManagedBudgetWithFeesV2Payload}, properly encode a `ManagedBudgetWithFeesV2.InitPayload` for use with {@link ManagedBudgetWithFeesV2} initialization.
1323
+ *
1324
+ * @param {ManagedBudgetWithFeesV2Payload} param0
1325
+ * @param {Address} param0.owner - The budget's owner
1326
+ * @param {{}} param0.authorized - List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.
1327
+ * @param {{}} param0.roles - List of roles to assign to the corresponding account by index.
1328
+ * @returns {Hex}
1329
+ */
1330
+ export declare const prepareManagedBudgetWithFeesV2Payload: ({ owner, authorized, roles, managementFee, }: ManagedBudgetWithFeesV2Payload) => `0x${string}`;
1331
+ //# sourceMappingURL=ManagedBudgetWithFeesV2.d.ts.map