@boostxyz/sdk 2.0.0 → 2.1.0

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 (109) 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.js +17 -17
  5. package/dist/Actions/EventAction.js.map +1 -1
  6. package/dist/AllowLists/AllowList.cjs +1 -1
  7. package/dist/AllowLists/AllowList.js +5 -5
  8. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  9. package/dist/AllowLists/SimpleAllowList.js +19 -19
  10. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  11. package/dist/AllowLists/SimpleDenyList.js +3 -3
  12. package/dist/Auth/PassthroughAuth.cjs +1 -1
  13. package/dist/Auth/PassthroughAuth.js +1 -1
  14. package/dist/BoostCore.cjs +2 -2
  15. package/dist/BoostCore.cjs.map +1 -1
  16. package/dist/BoostCore.d.ts +14 -0
  17. package/dist/BoostCore.d.ts.map +1 -1
  18. package/dist/BoostCore.js +100 -81
  19. package/dist/BoostCore.js.map +1 -1
  20. package/dist/BoostRegistry.cjs +1 -1
  21. package/dist/BoostRegistry.js +31 -31
  22. package/dist/Budget-B0kJsZtZ.cjs +2 -0
  23. package/dist/Budget-B0kJsZtZ.cjs.map +1 -0
  24. package/dist/Budget-NtzY9H7G.js +462 -0
  25. package/dist/Budget-NtzY9H7G.js.map +1 -0
  26. package/dist/Budgets/Budget.cjs +1 -1
  27. package/dist/Budgets/Budget.cjs.map +1 -1
  28. package/dist/Budgets/Budget.d.ts +5 -4
  29. package/dist/Budgets/Budget.d.ts.map +1 -1
  30. package/dist/Budgets/Budget.js +9 -26
  31. package/dist/Budgets/Budget.js.map +1 -1
  32. package/dist/Budgets/ManagedBudget.cjs +1 -1
  33. package/dist/Budgets/ManagedBudget.js +34 -34
  34. package/dist/Budgets/ManagedBudgetWithFees.d.ts +1203 -0
  35. package/dist/Budgets/ManagedBudgetWithFees.d.ts.map +1 -0
  36. package/dist/Deployable/DeployableTarget.cjs +1 -1
  37. package/dist/Deployable/DeployableTarget.js +1 -1
  38. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  39. package/dist/Deployable/DeployableTargetWithRBAC.js +23 -23
  40. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  41. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  42. package/dist/Incentives/AllowListIncentive.js +16 -16
  43. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  44. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  45. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  46. package/dist/Incentives/CGDAIncentive.js +28 -28
  47. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  48. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  49. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  50. package/dist/Incentives/ERC20Incentive.js +25 -25
  51. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  52. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  53. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
  54. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +29 -29
  55. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
  56. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  57. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
  58. package/dist/Incentives/ERC20VariableIncentive.js +6 -6
  59. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
  60. package/dist/Incentives/Incentive.cjs +1 -1
  61. package/dist/Incentives/Incentive.js +4 -4
  62. package/dist/Incentives/PointsIncentive.cjs +1 -1
  63. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  64. package/dist/Incentives/PointsIncentive.js +12 -12
  65. package/dist/Incentives/PointsIncentive.js.map +1 -1
  66. package/dist/{SimpleDenyList-wDvsNIuY.cjs → SimpleDenyList-B65fnca2.cjs} +2 -2
  67. package/dist/{SimpleDenyList-wDvsNIuY.cjs.map → SimpleDenyList-B65fnca2.cjs.map} +1 -1
  68. package/dist/{SimpleDenyList-D-rGBaay.js → SimpleDenyList-UvXQl2vm.js} +20 -20
  69. package/dist/{SimpleDenyList-D-rGBaay.js.map → SimpleDenyList-UvXQl2vm.js.map} +1 -1
  70. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  71. package/dist/Validators/LimitedSignerValidator.js +9 -9
  72. package/dist/Validators/SignerValidator.cjs +1 -1
  73. package/dist/Validators/SignerValidator.js +8 -8
  74. package/dist/Validators/Validator.cjs +1 -1
  75. package/dist/Validators/Validator.cjs.map +1 -1
  76. package/dist/Validators/Validator.js +20 -20
  77. package/dist/componentInterfaces-Bt-4sNB5.cjs +2 -0
  78. package/dist/componentInterfaces-Bt-4sNB5.cjs.map +1 -0
  79. package/dist/componentInterfaces-dakxtQHf.js +16 -0
  80. package/dist/componentInterfaces-dakxtQHf.js.map +1 -0
  81. package/dist/deployments-DxkwtCyu.cjs +2 -0
  82. package/dist/deployments-DxkwtCyu.cjs.map +1 -0
  83. package/dist/{deployments-BdPDIh-i.js → deployments-ZLVwJGZD.js} +33 -30
  84. package/dist/deployments-ZLVwJGZD.js.map +1 -0
  85. package/dist/deployments.json +17 -14
  86. package/dist/{generated-CDEDSOGZ.js → generated-B0XfMfoq.js} +1037 -470
  87. package/dist/generated-B0XfMfoq.js.map +1 -0
  88. package/dist/generated-pNKCp_Ez.cjs +3 -0
  89. package/dist/generated-pNKCp_Ez.cjs.map +1 -0
  90. package/dist/index.cjs +1 -1
  91. package/dist/index.d.ts +1 -0
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +148 -145
  94. package/package.json +1 -1
  95. package/src/BoostCore.ts +30 -0
  96. package/src/Budgets/Budget.ts +8 -3
  97. package/src/Budgets/ManagedBudgetWithFees.test.ts +286 -0
  98. package/src/Budgets/ManagedBudgetWithFees.ts +671 -0
  99. package/src/index.ts +1 -0
  100. package/dist/componentInterfaces-BQw7DH-m.cjs +0 -2
  101. package/dist/componentInterfaces-BQw7DH-m.cjs.map +0 -1
  102. package/dist/componentInterfaces-C0vuWQlh.js +0 -15
  103. package/dist/componentInterfaces-C0vuWQlh.js.map +0 -1
  104. package/dist/deployments--f75Pthq.cjs +0 -2
  105. package/dist/deployments--f75Pthq.cjs.map +0 -1
  106. package/dist/deployments-BdPDIh-i.js.map +0 -1
  107. package/dist/generated-CDEDSOGZ.js.map +0 -1
  108. package/dist/generated-D3DE5TfH.cjs +0 -3
  109. package/dist/generated-D3DE5TfH.cjs.map +0 -1
@@ -0,0 +1,1203 @@
1
+ import { managedBudgetWithFeesAbi } 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 { managedBudgetWithFeesAbi };
8
+ export type { ERC1155TransferPayload, FungibleTransferPayload };
9
+ /**
10
+ * The object representation of a `ManagedBudgetWithFeesPayload.InitPayload`
11
+ *
12
+ * @export
13
+ * @interface ManagedBudgetWithFeesPayload
14
+ * @typedef {ManagedBudgetWithFeesPayload}
15
+ */
16
+ export interface ManagedBudgetWithFeesPayload {
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 `ManagedBudgetWithFees` event types.
44
+ *
45
+ * @export
46
+ * @typedef {ManagedBudgetWithFeesLog}
47
+ * @template {ContractEventName<typeof managedBudgetWithFeesAbi>} [event=ContractEventName<
48
+ * typeof managedBudgetWithFeesAbi
49
+ * >]
50
+ */
51
+ export type ManagedBudgetWithFeesLog<event extends ContractEventName<typeof managedBudgetWithFeesAbi> = ContractEventName<typeof managedBudgetWithFeesAbi>> = GenericLog<typeof managedBudgetWithFeesAbi, 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 ManagedBudgetWithFees
58
+ * @typedef {ManagedBudgetWithFees}
59
+ * @extends {DeployableTargetWithRBAC<ManagedBudgetWithFeesPayload>}
60
+ */
61
+ export declare class ManagedBudgetWithFees extends DeployableTargetWithRBAC<ManagedBudgetWithFeesPayload, typeof managedBudgetWithFeesAbi> {
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: "asset";
178
+ readonly internalType: "address";
179
+ readonly type: "address";
180
+ readonly indexed: true;
181
+ }, {
182
+ readonly name: "to";
183
+ readonly internalType: "address";
184
+ readonly type: "address";
185
+ readonly indexed: false;
186
+ }, {
187
+ readonly name: "amount";
188
+ readonly internalType: "uint256";
189
+ readonly type: "uint256";
190
+ readonly indexed: false;
191
+ }];
192
+ readonly name: "Distributed";
193
+ }, {
194
+ readonly type: "event";
195
+ readonly anonymous: false;
196
+ readonly inputs: readonly [{
197
+ readonly name: "version";
198
+ readonly internalType: "uint64";
199
+ readonly type: "uint64";
200
+ readonly indexed: false;
201
+ }];
202
+ readonly name: "Initialized";
203
+ }, {
204
+ readonly type: "event";
205
+ readonly anonymous: false;
206
+ readonly inputs: readonly [{
207
+ readonly name: "questId";
208
+ readonly internalType: "uint256";
209
+ readonly type: "uint256";
210
+ readonly indexed: true;
211
+ }, {
212
+ readonly name: "incentiveId";
213
+ readonly internalType: "uint256";
214
+ readonly type: "uint256";
215
+ readonly indexed: true;
216
+ }, {
217
+ readonly name: "manager";
218
+ readonly internalType: "address";
219
+ readonly type: "address";
220
+ readonly indexed: true;
221
+ }, {
222
+ readonly name: "amount";
223
+ readonly internalType: "uint256";
224
+ readonly type: "uint256";
225
+ readonly indexed: false;
226
+ }];
227
+ readonly name: "ManagementFeePaid";
228
+ }, {
229
+ readonly type: "event";
230
+ readonly anonymous: false;
231
+ readonly inputs: readonly [{
232
+ readonly name: "newFee";
233
+ readonly internalType: "uint256";
234
+ readonly type: "uint256";
235
+ readonly indexed: false;
236
+ }];
237
+ readonly name: "ManagementFeeSet";
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: "fallback";
290
+ readonly stateMutability: "payable";
291
+ }, {
292
+ readonly type: "function";
293
+ readonly inputs: readonly [];
294
+ readonly name: "ADMIN_ROLE";
295
+ readonly outputs: readonly [{
296
+ readonly name: "";
297
+ readonly internalType: "uint256";
298
+ readonly type: "uint256";
299
+ }];
300
+ readonly stateMutability: "view";
301
+ }, {
302
+ readonly type: "function";
303
+ readonly inputs: readonly [];
304
+ readonly name: "MANAGER_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: "data_";
315
+ readonly internalType: "bytes";
316
+ readonly type: "bytes";
317
+ }];
318
+ readonly name: "allocate";
319
+ readonly outputs: readonly [{
320
+ readonly name: "";
321
+ readonly internalType: "bool";
322
+ readonly type: "bool";
323
+ }];
324
+ readonly stateMutability: "payable";
325
+ }, {
326
+ readonly type: "function";
327
+ readonly inputs: readonly [{
328
+ readonly name: "asset_";
329
+ readonly internalType: "address";
330
+ readonly type: "address";
331
+ }];
332
+ readonly name: "available";
333
+ readonly outputs: readonly [{
334
+ readonly name: "";
335
+ readonly internalType: "uint256";
336
+ readonly type: "uint256";
337
+ }];
338
+ readonly stateMutability: "view";
339
+ }, {
340
+ readonly type: "function";
341
+ readonly inputs: readonly [{
342
+ readonly name: "asset_";
343
+ readonly internalType: "address";
344
+ readonly type: "address";
345
+ }, {
346
+ readonly name: "tokenId_";
347
+ readonly internalType: "uint256";
348
+ readonly type: "uint256";
349
+ }];
350
+ readonly name: "available";
351
+ readonly outputs: readonly [{
352
+ readonly name: "";
353
+ readonly internalType: "uint256";
354
+ readonly type: "uint256";
355
+ }];
356
+ readonly stateMutability: "view";
357
+ }, {
358
+ readonly type: "function";
359
+ readonly inputs: readonly [];
360
+ readonly name: "cancelOwnershipHandover";
361
+ readonly outputs: readonly [];
362
+ readonly stateMutability: "payable";
363
+ }, {
364
+ readonly type: "function";
365
+ readonly inputs: readonly [{
366
+ readonly name: "data_";
367
+ readonly internalType: "bytes";
368
+ readonly type: "bytes";
369
+ }];
370
+ readonly name: "clawback";
371
+ readonly outputs: readonly [{
372
+ readonly name: "";
373
+ readonly internalType: "uint256";
374
+ readonly type: "uint256";
375
+ }];
376
+ readonly stateMutability: "nonpayable";
377
+ }, {
378
+ readonly type: "function";
379
+ readonly inputs: readonly [{
380
+ readonly name: "target";
381
+ readonly internalType: "address";
382
+ readonly type: "address";
383
+ }, {
384
+ readonly name: "data_";
385
+ readonly internalType: "bytes";
386
+ readonly type: "bytes";
387
+ }, {
388
+ readonly name: "boostId";
389
+ readonly internalType: "uint256";
390
+ readonly type: "uint256";
391
+ }, {
392
+ readonly name: "incentiveId";
393
+ readonly internalType: "uint256";
394
+ readonly type: "uint256";
395
+ }];
396
+ readonly name: "clawbackFromTarget";
397
+ readonly outputs: readonly [{
398
+ readonly name: "";
399
+ readonly internalType: "uint256";
400
+ readonly type: "uint256";
401
+ }, {
402
+ readonly name: "";
403
+ readonly internalType: "address";
404
+ readonly type: "address";
405
+ }];
406
+ readonly stateMutability: "nonpayable";
407
+ }, {
408
+ readonly type: "function";
409
+ readonly inputs: readonly [{
410
+ readonly name: "target";
411
+ readonly internalType: "address";
412
+ readonly type: "address";
413
+ }, {
414
+ readonly name: "data_";
415
+ readonly internalType: "bytes";
416
+ readonly type: "bytes";
417
+ }, {
418
+ readonly name: "boostId";
419
+ readonly internalType: "uint256";
420
+ readonly type: "uint256";
421
+ }, {
422
+ readonly name: "incentiveId";
423
+ readonly internalType: "uint256";
424
+ readonly type: "uint256";
425
+ }];
426
+ readonly name: "clawbackFromTargetAndPayFee";
427
+ readonly outputs: readonly [{
428
+ readonly name: "amount";
429
+ readonly internalType: "uint256";
430
+ readonly type: "uint256";
431
+ }, {
432
+ readonly name: "asset";
433
+ readonly internalType: "address";
434
+ readonly type: "address";
435
+ }];
436
+ readonly stateMutability: "nonpayable";
437
+ }, {
438
+ readonly type: "function";
439
+ readonly inputs: readonly [{
440
+ readonly name: "pendingOwner";
441
+ readonly internalType: "address";
442
+ readonly type: "address";
443
+ }];
444
+ readonly name: "completeOwnershipHandover";
445
+ readonly outputs: readonly [];
446
+ readonly stateMutability: "payable";
447
+ }, {
448
+ readonly type: "function";
449
+ readonly inputs: readonly [{
450
+ readonly name: "data_";
451
+ readonly internalType: "bytes";
452
+ readonly type: "bytes";
453
+ }];
454
+ readonly name: "disburse";
455
+ readonly outputs: readonly [{
456
+ readonly name: "";
457
+ readonly internalType: "bool";
458
+ readonly type: "bool";
459
+ }];
460
+ readonly stateMutability: "nonpayable";
461
+ }, {
462
+ readonly type: "function";
463
+ readonly inputs: readonly [{
464
+ readonly name: "data_";
465
+ readonly internalType: "bytes[]";
466
+ readonly type: "bytes[]";
467
+ }];
468
+ readonly name: "disburseBatch";
469
+ readonly outputs: readonly [{
470
+ readonly name: "";
471
+ readonly internalType: "bool";
472
+ readonly type: "bool";
473
+ }];
474
+ readonly stateMutability: "nonpayable";
475
+ }, {
476
+ readonly type: "function";
477
+ readonly inputs: readonly [{
478
+ readonly name: "asset_";
479
+ readonly internalType: "address";
480
+ readonly type: "address";
481
+ }];
482
+ readonly name: "distributed";
483
+ readonly outputs: readonly [{
484
+ readonly name: "";
485
+ readonly internalType: "uint256";
486
+ readonly type: "uint256";
487
+ }];
488
+ readonly stateMutability: "view";
489
+ }, {
490
+ readonly type: "function";
491
+ readonly inputs: readonly [{
492
+ readonly name: "asset_";
493
+ readonly internalType: "address";
494
+ readonly type: "address";
495
+ }, {
496
+ readonly name: "tokenId_";
497
+ readonly internalType: "uint256";
498
+ readonly type: "uint256";
499
+ }];
500
+ readonly name: "distributed";
501
+ readonly outputs: readonly [{
502
+ readonly name: "";
503
+ readonly internalType: "uint256";
504
+ readonly type: "uint256";
505
+ }];
506
+ readonly stateMutability: "view";
507
+ }, {
508
+ readonly type: "function";
509
+ readonly inputs: readonly [];
510
+ readonly name: "getComponentInterface";
511
+ readonly outputs: readonly [{
512
+ readonly name: "";
513
+ readonly internalType: "bytes4";
514
+ readonly type: "bytes4";
515
+ }];
516
+ readonly stateMutability: "pure";
517
+ }, {
518
+ readonly type: "function";
519
+ readonly inputs: readonly [{
520
+ readonly name: "accounts_";
521
+ readonly internalType: "address[]";
522
+ readonly type: "address[]";
523
+ }, {
524
+ readonly name: "roles_";
525
+ readonly internalType: "uint256[]";
526
+ readonly type: "uint256[]";
527
+ }];
528
+ readonly name: "grantManyRoles";
529
+ readonly outputs: readonly [];
530
+ readonly stateMutability: "nonpayable";
531
+ }, {
532
+ readonly type: "function";
533
+ readonly inputs: readonly [{
534
+ readonly name: "user";
535
+ readonly internalType: "address";
536
+ readonly type: "address";
537
+ }, {
538
+ readonly name: "roles";
539
+ readonly internalType: "uint256";
540
+ readonly type: "uint256";
541
+ }];
542
+ readonly name: "grantRoles";
543
+ readonly outputs: readonly [];
544
+ readonly stateMutability: "payable";
545
+ }, {
546
+ readonly type: "function";
547
+ readonly inputs: readonly [{
548
+ readonly name: "user";
549
+ readonly internalType: "address";
550
+ readonly type: "address";
551
+ }, {
552
+ readonly name: "roles";
553
+ readonly internalType: "uint256";
554
+ readonly type: "uint256";
555
+ }];
556
+ readonly name: "hasAllRoles";
557
+ readonly outputs: readonly [{
558
+ readonly name: "";
559
+ readonly internalType: "bool";
560
+ readonly type: "bool";
561
+ }];
562
+ readonly stateMutability: "view";
563
+ }, {
564
+ readonly type: "function";
565
+ readonly inputs: readonly [{
566
+ readonly name: "user";
567
+ readonly internalType: "address";
568
+ readonly type: "address";
569
+ }, {
570
+ readonly name: "roles";
571
+ readonly internalType: "uint256";
572
+ readonly type: "uint256";
573
+ }];
574
+ readonly name: "hasAnyRole";
575
+ readonly outputs: readonly [{
576
+ readonly name: "";
577
+ readonly internalType: "bool";
578
+ readonly type: "bool";
579
+ }];
580
+ readonly stateMutability: "view";
581
+ }, {
582
+ readonly type: "function";
583
+ readonly inputs: readonly [{
584
+ readonly name: "";
585
+ readonly internalType: "address";
586
+ readonly type: "address";
587
+ }];
588
+ readonly name: "incentiveFeesDisbursed";
589
+ readonly outputs: readonly [{
590
+ readonly name: "";
591
+ readonly internalType: "uint256";
592
+ readonly type: "uint256";
593
+ }];
594
+ readonly stateMutability: "view";
595
+ }, {
596
+ readonly type: "function";
597
+ readonly inputs: readonly [{
598
+ readonly name: "";
599
+ readonly internalType: "address";
600
+ readonly type: "address";
601
+ }];
602
+ readonly name: "incentiveFeesMax";
603
+ readonly outputs: readonly [{
604
+ readonly name: "";
605
+ readonly internalType: "uint256";
606
+ readonly type: "uint256";
607
+ }];
608
+ readonly stateMutability: "view";
609
+ }, {
610
+ readonly type: "function";
611
+ readonly inputs: readonly [{
612
+ readonly name: "data_";
613
+ readonly internalType: "bytes";
614
+ readonly type: "bytes";
615
+ }];
616
+ readonly name: "initialize";
617
+ readonly outputs: readonly [];
618
+ readonly stateMutability: "nonpayable";
619
+ }, {
620
+ readonly type: "function";
621
+ readonly inputs: readonly [{
622
+ readonly name: "account_";
623
+ readonly internalType: "address";
624
+ readonly type: "address";
625
+ }];
626
+ readonly name: "isAuthorized";
627
+ readonly outputs: readonly [{
628
+ readonly name: "";
629
+ readonly internalType: "bool";
630
+ readonly type: "bool";
631
+ }];
632
+ readonly stateMutability: "view";
633
+ }, {
634
+ readonly type: "function";
635
+ readonly inputs: readonly [];
636
+ readonly name: "managementFee";
637
+ readonly outputs: readonly [{
638
+ readonly name: "";
639
+ readonly internalType: "uint256";
640
+ readonly type: "uint256";
641
+ }];
642
+ readonly stateMutability: "view";
643
+ }, {
644
+ readonly type: "function";
645
+ readonly inputs: readonly [{
646
+ readonly name: "";
647
+ readonly internalType: "address";
648
+ readonly type: "address";
649
+ }, {
650
+ readonly name: "";
651
+ readonly internalType: "address";
652
+ readonly type: "address";
653
+ }, {
654
+ readonly name: "";
655
+ readonly internalType: "uint256[]";
656
+ readonly type: "uint256[]";
657
+ }, {
658
+ readonly name: "";
659
+ readonly internalType: "uint256[]";
660
+ readonly type: "uint256[]";
661
+ }, {
662
+ readonly name: "";
663
+ readonly internalType: "bytes";
664
+ readonly type: "bytes";
665
+ }];
666
+ readonly name: "onERC1155BatchReceived";
667
+ readonly outputs: readonly [{
668
+ readonly name: "";
669
+ readonly internalType: "bytes4";
670
+ readonly type: "bytes4";
671
+ }];
672
+ readonly stateMutability: "pure";
673
+ }, {
674
+ readonly type: "function";
675
+ readonly inputs: readonly [{
676
+ readonly name: "";
677
+ readonly internalType: "address";
678
+ readonly type: "address";
679
+ }, {
680
+ readonly name: "";
681
+ readonly internalType: "address";
682
+ readonly type: "address";
683
+ }, {
684
+ readonly name: "";
685
+ readonly internalType: "uint256";
686
+ readonly type: "uint256";
687
+ }, {
688
+ readonly name: "";
689
+ readonly internalType: "uint256";
690
+ readonly type: "uint256";
691
+ }, {
692
+ readonly name: "";
693
+ readonly internalType: "bytes";
694
+ readonly type: "bytes";
695
+ }];
696
+ readonly name: "onERC1155Received";
697
+ readonly outputs: readonly [{
698
+ readonly name: "";
699
+ readonly internalType: "bytes4";
700
+ readonly type: "bytes4";
701
+ }];
702
+ readonly stateMutability: "pure";
703
+ }, {
704
+ readonly type: "function";
705
+ readonly inputs: readonly [];
706
+ readonly name: "owner";
707
+ readonly outputs: readonly [{
708
+ readonly name: "result";
709
+ readonly internalType: "address";
710
+ readonly type: "address";
711
+ }];
712
+ readonly stateMutability: "view";
713
+ }, {
714
+ readonly type: "function";
715
+ readonly inputs: readonly [{
716
+ readonly name: "pendingOwner";
717
+ readonly internalType: "address";
718
+ readonly type: "address";
719
+ }];
720
+ readonly name: "ownershipHandoverExpiresAt";
721
+ readonly outputs: readonly [{
722
+ readonly name: "result";
723
+ readonly internalType: "uint256";
724
+ readonly type: "uint256";
725
+ }];
726
+ readonly stateMutability: "view";
727
+ }, {
728
+ readonly type: "function";
729
+ readonly inputs: readonly [{
730
+ readonly name: "boostId";
731
+ readonly internalType: "uint256";
732
+ readonly type: "uint256";
733
+ }, {
734
+ readonly name: "incentiveId";
735
+ readonly internalType: "uint256";
736
+ readonly type: "uint256";
737
+ }];
738
+ readonly name: "payManagementFee";
739
+ readonly outputs: readonly [];
740
+ readonly stateMutability: "nonpayable";
741
+ }, {
742
+ readonly type: "function";
743
+ readonly inputs: readonly [{
744
+ readonly name: "";
745
+ readonly internalType: "bytes";
746
+ readonly type: "bytes";
747
+ }];
748
+ readonly name: "reconcile";
749
+ readonly outputs: readonly [{
750
+ readonly name: "";
751
+ readonly internalType: "uint256";
752
+ readonly type: "uint256";
753
+ }];
754
+ readonly stateMutability: "nonpayable";
755
+ }, {
756
+ readonly type: "function";
757
+ readonly inputs: readonly [];
758
+ readonly name: "renounceOwnership";
759
+ readonly outputs: readonly [];
760
+ readonly stateMutability: "payable";
761
+ }, {
762
+ readonly type: "function";
763
+ readonly inputs: readonly [{
764
+ readonly name: "roles";
765
+ readonly internalType: "uint256";
766
+ readonly type: "uint256";
767
+ }];
768
+ readonly name: "renounceRoles";
769
+ readonly outputs: readonly [];
770
+ readonly stateMutability: "payable";
771
+ }, {
772
+ readonly type: "function";
773
+ readonly inputs: readonly [];
774
+ readonly name: "requestOwnershipHandover";
775
+ readonly outputs: readonly [];
776
+ readonly stateMutability: "payable";
777
+ }, {
778
+ readonly type: "function";
779
+ readonly inputs: readonly [{
780
+ readonly name: "";
781
+ readonly internalType: "address";
782
+ readonly type: "address";
783
+ }];
784
+ readonly name: "reservedFunds";
785
+ readonly outputs: readonly [{
786
+ readonly name: "";
787
+ readonly internalType: "uint256";
788
+ readonly type: "uint256";
789
+ }];
790
+ readonly stateMutability: "view";
791
+ }, {
792
+ readonly type: "function";
793
+ readonly inputs: readonly [{
794
+ readonly name: "accounts_";
795
+ readonly internalType: "address[]";
796
+ readonly type: "address[]";
797
+ }, {
798
+ readonly name: "roles_";
799
+ readonly internalType: "uint256[]";
800
+ readonly type: "uint256[]";
801
+ }];
802
+ readonly name: "revokeManyRoles";
803
+ readonly outputs: readonly [];
804
+ readonly stateMutability: "nonpayable";
805
+ }, {
806
+ readonly type: "function";
807
+ readonly inputs: readonly [{
808
+ readonly name: "user";
809
+ readonly internalType: "address";
810
+ readonly type: "address";
811
+ }, {
812
+ readonly name: "roles";
813
+ readonly internalType: "uint256";
814
+ readonly type: "uint256";
815
+ }];
816
+ readonly name: "revokeRoles";
817
+ readonly outputs: readonly [];
818
+ readonly stateMutability: "payable";
819
+ }, {
820
+ readonly type: "function";
821
+ readonly inputs: readonly [{
822
+ readonly name: "user";
823
+ readonly internalType: "address";
824
+ readonly type: "address";
825
+ }];
826
+ readonly name: "rolesOf";
827
+ readonly outputs: readonly [{
828
+ readonly name: "roles";
829
+ readonly internalType: "uint256";
830
+ readonly type: "uint256";
831
+ }];
832
+ readonly stateMutability: "view";
833
+ }, {
834
+ readonly type: "function";
835
+ readonly inputs: readonly [{
836
+ readonly name: "accounts_";
837
+ readonly internalType: "address[]";
838
+ readonly type: "address[]";
839
+ }, {
840
+ readonly name: "authorized_";
841
+ readonly internalType: "bool[]";
842
+ readonly type: "bool[]";
843
+ }];
844
+ readonly name: "setAuthorized";
845
+ readonly outputs: readonly [];
846
+ readonly stateMutability: "nonpayable";
847
+ }, {
848
+ readonly type: "function";
849
+ readonly inputs: readonly [{
850
+ readonly name: "fee_";
851
+ readonly internalType: "uint256";
852
+ readonly type: "uint256";
853
+ }];
854
+ readonly name: "setManagementFee";
855
+ readonly outputs: readonly [];
856
+ readonly stateMutability: "nonpayable";
857
+ }, {
858
+ readonly type: "function";
859
+ readonly inputs: readonly [{
860
+ readonly name: "interfaceId";
861
+ readonly internalType: "bytes4";
862
+ readonly type: "bytes4";
863
+ }];
864
+ readonly name: "supportsInterface";
865
+ readonly outputs: readonly [{
866
+ readonly name: "";
867
+ readonly internalType: "bool";
868
+ readonly type: "bool";
869
+ }];
870
+ readonly stateMutability: "view";
871
+ }, {
872
+ readonly type: "function";
873
+ readonly inputs: readonly [{
874
+ readonly name: "asset_";
875
+ readonly internalType: "address";
876
+ readonly type: "address";
877
+ }];
878
+ readonly name: "total";
879
+ readonly outputs: readonly [{
880
+ readonly name: "";
881
+ readonly internalType: "uint256";
882
+ readonly type: "uint256";
883
+ }];
884
+ readonly stateMutability: "view";
885
+ }, {
886
+ readonly type: "function";
887
+ readonly inputs: readonly [{
888
+ readonly name: "asset_";
889
+ readonly internalType: "address";
890
+ readonly type: "address";
891
+ }, {
892
+ readonly name: "tokenId_";
893
+ readonly internalType: "uint256";
894
+ readonly type: "uint256";
895
+ }];
896
+ readonly name: "total";
897
+ readonly outputs: readonly [{
898
+ readonly name: "";
899
+ readonly internalType: "uint256";
900
+ readonly type: "uint256";
901
+ }];
902
+ readonly stateMutability: "view";
903
+ }, {
904
+ readonly type: "function";
905
+ readonly inputs: readonly [{
906
+ readonly name: "newOwner";
907
+ readonly internalType: "address";
908
+ readonly type: "address";
909
+ }];
910
+ readonly name: "transferOwnership";
911
+ readonly outputs: readonly [];
912
+ readonly stateMutability: "payable";
913
+ }, {
914
+ readonly type: "receive";
915
+ readonly stateMutability: "payable";
916
+ }];
917
+ /**
918
+ * @inheritdoc
919
+ *
920
+ * @public
921
+ * @static
922
+ * @type {Record<number, Address>}
923
+ */
924
+ static bases: Record<number, Address>;
925
+ /**
926
+ * @inheritdoc
927
+ *
928
+ * @public
929
+ * @static
930
+ * @type {RegistryType}
931
+ */
932
+ static registryType: RegistryType;
933
+ /**
934
+ * Allocates assets to the budget.
935
+ * The caller must have already approved the contract to transfer the asset
936
+ * If the asset transfer fails, the allocation will revert
937
+ *
938
+ * @public
939
+ * @async
940
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
941
+ * @param {?WriteParams} [params]
942
+ * @returns {Promise<boolean>} - True if the allocation was successful
943
+ */
944
+ allocate(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<boolean>;
945
+ /**
946
+ * Allocates assets to the budget.
947
+ * The caller must have already approved the contract to transfer the asset
948
+ * If the asset transfer fails, the allocation will revert
949
+ *
950
+ * @public
951
+ * @async
952
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
953
+ * @param {?WriteParams} [params]
954
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the allocation was successful
955
+ */
956
+ allocateRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<{
957
+ hash: `0x${string}`;
958
+ result: boolean;
959
+ }>;
960
+ /**
961
+ * Clawbacks assets from the budget.
962
+ * Only the owner can directly clawback assets from the budget
963
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
964
+ * If the asset transfer fails, the reclamation will revert
965
+ *
966
+ * @public
967
+ * @async
968
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
969
+ * @param {?WriteParams} [params]
970
+ * @returns {Promise<boolean>} - True if the request was successful
971
+ */
972
+ clawback(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<bigint>;
973
+ /**
974
+ * Clawbacks assets from the budget.
975
+ * Only the owner or admin can directly clawback assets from the budget
976
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
977
+ * If the asset transfer fails, the reclamation will revert
978
+ *
979
+ * @public
980
+ * @async
981
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
982
+ * @param {?WriteParams} [params]
983
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the request was successful
984
+ */
985
+ clawbackRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<{
986
+ hash: `0x${string}`;
987
+ result: bigint;
988
+ }>;
989
+ /**
990
+ * Clawbacks assets from an incentive associated with the budget via Boost Core.
991
+ * Only the authorized users can clawback assets from an incentive.
992
+ * If the asset transfer fails, the reclamation will revert.
993
+ *
994
+ * @example
995
+ * ```ts
996
+ * const [amount, address] = await budgets.budget.clawbackFromTarget(
997
+ * core.assertValidAddress(),
998
+ * erc20Incentive.buildClawbackData(1n),
999
+ * boost.id,
1000
+ * incentiveId,
1001
+ * );
1002
+ * ```
1003
+ * @public
1004
+ * @async
1005
+ * @param {Address} target - The address of a contract implementing clawback, typically `BoostCore`
1006
+ * @param {Hex} data - The encoded data payload for the clawback, can be acquired with `incentive.buildClawbackData`
1007
+ * @param {bigint | number} boostId - The ID of the boost
1008
+ * @param {bigint | number} incentiveId - The ID of the incentive
1009
+ * @param {?WriteParams} [params] - Optional write parameters
1010
+ * @returns {Promise<[bigint, Address]>} - Returns a tuple of amount reclaimed and the address reclaimed from
1011
+ */
1012
+ clawbackFromTarget(target: Address, data: Hex, boostId: bigint | number, incentiveId: bigint | number, params?: WriteParams): Promise<readonly [bigint, `0x${string}`]>;
1013
+ /**
1014
+ * Clawbacks assets from an incentive associated with the budget via Boost Core.
1015
+ * Only the authorized users can clawback assets from an incentive.
1016
+ * If the asset transfer fails, the reclamation will revert.
1017
+ *
1018
+ * @example
1019
+ * ```ts
1020
+ * const { hash, result: [ amount, address ] } = await budgets.budget.clawbackFromTargetRaw(
1021
+ * core.assertValidAddress(),
1022
+ * erc20Incentive.buildClawbackData(1n),
1023
+ * boost.id,
1024
+ * incentiveId,
1025
+ * );
1026
+ * ```
1027
+ * @public
1028
+ * @async
1029
+ * @param {Address} target - The address of a contract implementing clawback, typically `BoostCore`
1030
+ * @param {Hex} data - The encoded data payload for the clawback, can be acquired with `incentive.buildClawbackData`
1031
+ * @param {bigint | number} boostId - The ID of the boost
1032
+ * @param {bigint | number} incentiveId - The ID of the incentive
1033
+ * @param {?WriteParams} [params] - Optional write parameters
1034
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns transaction hash and simulated result
1035
+ */
1036
+ clawbackFromTargetRaw(target: Address, data: Hex, boostId: bigint | number, incentiveId: bigint | number, params?: WriteParams): Promise<{
1037
+ hash: `0x${string}`;
1038
+ result: readonly [bigint, `0x${string}`];
1039
+ }>;
1040
+ /**
1041
+ * Disburses assets from the budget to a single recipient
1042
+ * If the asset transfer fails, the disbursement will revert
1043
+ *
1044
+ * @public
1045
+ * @async
1046
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1047
+ * @param {?WriteParams} [params]
1048
+ * @returns {Promise<boolean>} - True if the disbursement was successful
1049
+ */
1050
+ disburse(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<boolean>;
1051
+ /**
1052
+ * Disburses assets from the budget to a single recipient
1053
+ * If the asset transfer fails, the disbursement will revert
1054
+ *
1055
+ * @public
1056
+ * @async
1057
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
1058
+ * @param {?WriteParams} [params]
1059
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the disbursement was successful
1060
+ */
1061
+ disburseRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams): Promise<{
1062
+ hash: `0x${string}`;
1063
+ result: boolean;
1064
+ }>;
1065
+ /**
1066
+ * Disburses assets from the budget to multiple recipients
1067
+ *
1068
+ * @public
1069
+ * @async
1070
+ * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
1071
+ * @param {?WriteParams} [params]
1072
+ * @returns {Promise<boolean>} - True if all disbursements were successful
1073
+ */
1074
+ disburseBatch(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams): Promise<boolean>;
1075
+ /**
1076
+ * Disburses assets from the budget to multiple recipients
1077
+ *
1078
+ * @public
1079
+ * @async
1080
+ * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
1081
+ * @param {?WriteParams} [params]
1082
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if all disbursements were successful
1083
+ */
1084
+ disburseBatchRaw(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams): Promise<{
1085
+ hash: `0x${string}`;
1086
+ result: boolean;
1087
+ }>;
1088
+ /**
1089
+ * Pays out reserved management fees to the boost owner
1090
+ * for a given incentive
1091
+ *
1092
+ * @public
1093
+ * @async
1094
+ * @param {bigint | string} boostId
1095
+ * @param {bigint | string} incentiveId
1096
+ * @param {?WriteParams} [params]
1097
+ * @returns {Promise<boolean>} - True if the payout was successful
1098
+ */
1099
+ payManagementFee(boostId: bigint | string, incentiveId: bigint | string, params?: WriteParams): Promise<void>;
1100
+ /**
1101
+ * Pays out reserved management fees to the boost owner
1102
+ *
1103
+ * @public
1104
+ * @async
1105
+ * @param bigint boostId
1106
+ * @param bigint incentiveId
1107
+ * @param {?WriteParams} [params]
1108
+ * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the payout was successful
1109
+ */
1110
+ payManagementFeeRaw(boostId: bigint | string, incentiveId: bigint | string, params?: WriteParams): Promise<{
1111
+ hash: `0x${string}`;
1112
+ result: void;
1113
+ }>;
1114
+ /**
1115
+ * Sets the management fee for the budget
1116
+ * @public
1117
+ * @async
1118
+ * @param {bigint} managementFee
1119
+ * @param {?WriteParams} [params]
1120
+ * @returns {Promise<void>} - will throw if the transaction fails
1121
+ */
1122
+ setManagementFee(managementFee: bigint, params?: WriteParams): Promise<void>;
1123
+ /**
1124
+ * Sets the management fee for the budget
1125
+ * @public
1126
+ * @async
1127
+ * @param {bigint} managementFee
1128
+ * @param {?WriteParams} [params]
1129
+ * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1130
+ */
1131
+ setManagementFeeRaw(managementFee: bigint, params?: WriteParams): Promise<{
1132
+ hash: `0x${string}`;
1133
+ result: void;
1134
+ }>;
1135
+ /**
1136
+ * Get the configured management fee for the budget
1137
+ * @public
1138
+ * @param {?ReadParams} [params]
1139
+ * @returns {Promise<bigint>} - The management fee
1140
+ */
1141
+ managementFee(params?: ReadParams): Promise<bigint>;
1142
+ /**
1143
+ * Get the owner of the budget
1144
+ *
1145
+ * @public
1146
+ * @param {?ReadParams} [params]
1147
+ * @returns {Promise<Address>}
1148
+ */
1149
+ owner(params?: ReadParams): Promise<`0x${string}`>;
1150
+ /**
1151
+ * Get the total amount of assets allocated to the budget, including any that have been distributed
1152
+ * If a tokenId is provided, get the total amount of ERC1155 assets allocated to the budget, including any that have been distributed
1153
+ *
1154
+ * @public
1155
+ * @param {Address} [asset="0x0000000000000000000000000000000000000000"] - The address of the asset
1156
+ * @param {?(bigint | undefined)} [tokenId] - The ID of the token
1157
+ * @param {?ReadParams} [params]
1158
+ * @returns {Promise<bigint>} - The total amount of assets
1159
+ */
1160
+ total(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams): Promise<never>;
1161
+ /**
1162
+ * Get the amount of assets available for distribution from the budget.
1163
+ * If a tokenId is provided, get the amount of ERC1155 assets available for distribution from the budget
1164
+ *
1165
+ * @public
1166
+ * @param {Address} [asset="0x0000000000000000000000000000000000000000"]
1167
+ * @param {?(bigint | undefined)} [tokenId]
1168
+ * @param {?ReadParams} [params]
1169
+ * @returns {Promise<bigint>} - The amount of assets available
1170
+ */
1171
+ available(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams): Promise<never>;
1172
+ /**
1173
+ * Get the amount of assets that have been distributed from the budget.
1174
+ * If a tokenId is provided, get the amount of ERC1155 assets that have been distributed from the budget
1175
+ *
1176
+ * @public
1177
+ * @param {Address} [asset="0x0000000000000000000000000000000000000000"]
1178
+ * @param {?(bigint | undefined)} [tokenId]
1179
+ * @param {?ReadParams} [params]
1180
+ * @returns {Promise<bigint>} - The amount of assets distributed
1181
+ */
1182
+ distributed(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams): Promise<never>;
1183
+ /**
1184
+ * @inheritdoc
1185
+ *
1186
+ * @public
1187
+ * @param {?ManagedBudgetWithFeesPayload} [_payload]
1188
+ * @param {?DeployableOptions} [_options]
1189
+ * @returns {GenericDeployableParams}
1190
+ */
1191
+ buildParameters(_payload?: ManagedBudgetWithFeesPayload, _options?: DeployableOptions): GenericDeployableParams;
1192
+ }
1193
+ /**
1194
+ * Given a {@link ManagedBudgetWithFeesPayload}, properly encode a `ManagedBudgetWithFees.InitPayload` for use with {@link ManagedBudgetWithFees} initialization.
1195
+ *
1196
+ * @param {ManagedBudgetWithFeesPayload} param0
1197
+ * @param {Address} param0.owner - The budget's owner
1198
+ * @param {{}} param0.authorized - List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.
1199
+ * @param {{}} param0.roles - List of roles to assign to the corresponding account by index.
1200
+ * @returns {Hex}
1201
+ */
1202
+ export declare const prepareManagedBudgetWithFeesPayload: ({ owner, authorized, roles, managementFee, }: ManagedBudgetWithFeesPayload) => `0x${string}`;
1203
+ //# sourceMappingURL=ManagedBudgetWithFees.d.ts.map