@boostxyz/sdk 0.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +7 -0
  3. package/dist/Actions/Action.cjs +1 -0
  4. package/dist/Actions/Action.d.ts +31 -0
  5. package/dist/Actions/Action.d.ts.map +1 -0
  6. package/dist/Actions/Action.js +27 -0
  7. package/dist/Actions/ContractAction.d.ts +327 -0
  8. package/dist/Actions/ContractAction.d.ts.map +1 -0
  9. package/dist/Actions/ERC721MintAction.d.ts +486 -0
  10. package/dist/Actions/ERC721MintAction.d.ts.map +1 -0
  11. package/dist/Actions/EventAction.cjs +1 -0
  12. package/dist/Actions/EventAction.d.ts +433 -0
  13. package/dist/Actions/EventAction.d.ts.map +1 -0
  14. package/dist/Actions/EventAction.js +211 -0
  15. package/dist/AllowLists/AllowList.cjs +1 -0
  16. package/dist/AllowLists/AllowList.d.ts +33 -0
  17. package/dist/AllowLists/AllowList.d.ts.map +1 -0
  18. package/dist/AllowLists/AllowList.js +28 -0
  19. package/dist/AllowLists/SimpleAllowList.cjs +1 -0
  20. package/dist/AllowLists/SimpleAllowList.d.ts +452 -0
  21. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -0
  22. package/dist/AllowLists/SimpleAllowList.js +138 -0
  23. package/dist/AllowLists/SimpleDenyList.cjs +1 -0
  24. package/dist/AllowLists/SimpleDenyList.d.ts +306 -0
  25. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -0
  26. package/dist/AllowLists/SimpleDenyList.js +202 -0
  27. package/dist/Auth/Auth.cjs +1 -0
  28. package/dist/Auth/Auth.d.ts +10 -0
  29. package/dist/Auth/Auth.d.ts.map +1 -0
  30. package/dist/Auth/Auth.js +4 -0
  31. package/dist/Auth/PassthroughAuth.cjs +1 -0
  32. package/dist/Auth/PassthroughAuth.d.ts +51 -0
  33. package/dist/Auth/PassthroughAuth.d.ts.map +1 -0
  34. package/dist/Auth/PassthroughAuth.js +38 -0
  35. package/dist/Boost.cjs +1 -0
  36. package/dist/Boost.d.ts +142 -0
  37. package/dist/Boost.d.ts.map +1 -0
  38. package/dist/Boost.js +15 -0
  39. package/dist/BoostCore.cjs +2 -0
  40. package/dist/BoostCore.d.ts +460 -0
  41. package/dist/BoostCore.d.ts.map +1 -0
  42. package/dist/BoostCore.js +1105 -0
  43. package/dist/BoostRegistry.cjs +1 -0
  44. package/dist/BoostRegistry.d.ts +229 -0
  45. package/dist/BoostRegistry.d.ts.map +1 -0
  46. package/dist/BoostRegistry.js +250 -0
  47. package/dist/Budgets/Budget.cjs +1 -0
  48. package/dist/Budgets/Budget.d.ts +31 -0
  49. package/dist/Budgets/Budget.d.ts.map +1 -0
  50. package/dist/Budgets/Budget.js +27 -0
  51. package/dist/Budgets/ManagedBudget.cjs +1 -0
  52. package/dist/Budgets/ManagedBudget.d.ts +1065 -0
  53. package/dist/Budgets/ManagedBudget.d.ts.map +1 -0
  54. package/dist/Budgets/ManagedBudget.js +498 -0
  55. package/dist/Budgets/SimpleBudget.d.ts +793 -0
  56. package/dist/Budgets/SimpleBudget.d.ts.map +1 -0
  57. package/dist/Budgets/VestingBudget.d.ts +726 -0
  58. package/dist/Budgets/VestingBudget.d.ts.map +1 -0
  59. package/dist/Deployable/Contract.cjs +1 -0
  60. package/dist/Deployable/Contract.d.ts +125 -0
  61. package/dist/Deployable/Contract.d.ts.map +1 -0
  62. package/dist/Deployable/Contract.js +149 -0
  63. package/dist/Deployable/Deployable.cjs +1 -0
  64. package/dist/Deployable/Deployable.d.ts +155 -0
  65. package/dist/Deployable/Deployable.d.ts.map +1 -0
  66. package/dist/Deployable/Deployable.js +124 -0
  67. package/dist/Deployable/DeployableTarget.cjs +1 -0
  68. package/dist/Deployable/DeployableTarget.d.ts +115 -0
  69. package/dist/Deployable/DeployableTarget.d.ts.map +1 -0
  70. package/dist/Deployable/DeployableTarget.js +128 -0
  71. package/dist/Incentives/AllowListIncentive.cjs +1 -0
  72. package/dist/Incentives/AllowListIncentive.d.ts +483 -0
  73. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -0
  74. package/dist/Incentives/AllowListIncentive.js +188 -0
  75. package/dist/Incentives/CGDAIncentive.cjs +1 -0
  76. package/dist/Incentives/CGDAIncentive.d.ts +560 -0
  77. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -0
  78. package/dist/Incentives/CGDAIncentive.js +249 -0
  79. package/dist/Incentives/ERC1155Incentive.d.ts +652 -0
  80. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -0
  81. package/dist/Incentives/ERC20Incentive.cjs +1 -0
  82. package/dist/Incentives/ERC20Incentive.d.ts +622 -0
  83. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -0
  84. package/dist/Incentives/ERC20Incentive.js +292 -0
  85. package/dist/Incentives/ERC20VariableIncentive.d.ts +545 -0
  86. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -0
  87. package/dist/Incentives/Incentive.cjs +1 -0
  88. package/dist/Incentives/Incentive.d.ts +39 -0
  89. package/dist/Incentives/Incentive.d.ts.map +1 -0
  90. package/dist/Incentives/Incentive.js +280 -0
  91. package/dist/Incentives/PointsIncentive.cjs +1 -0
  92. package/dist/Incentives/PointsIncentive.d.ts +615 -0
  93. package/dist/Incentives/PointsIncentive.d.ts.map +1 -0
  94. package/dist/Incentives/PointsIncentive.js +197 -0
  95. package/dist/Validators/SignerValidator.cjs +1 -0
  96. package/dist/Validators/SignerValidator.d.ts +452 -0
  97. package/dist/Validators/SignerValidator.d.ts.map +1 -0
  98. package/dist/Validators/SignerValidator.js +167 -0
  99. package/dist/Validators/Validator.cjs +1 -0
  100. package/dist/Validators/Validator.d.ts +31 -0
  101. package/dist/Validators/Validator.d.ts.map +1 -0
  102. package/dist/Validators/Validator.js +25 -0
  103. package/dist/errors.cjs +1 -0
  104. package/dist/errors.d.ts +257 -0
  105. package/dist/errors.d.ts.map +1 -0
  106. package/dist/errors.js +161 -0
  107. package/dist/generated-BaaleHW-.cjs +2 -0
  108. package/dist/generated-x_abr3Yv.js +6228 -0
  109. package/dist/index.cjs +1 -0
  110. package/dist/index.d.ts +29 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +1355 -0
  113. package/dist/utils.cjs +1 -0
  114. package/dist/utils.d.ts +1454 -0
  115. package/dist/utils.d.ts.map +1 -0
  116. package/dist/utils.js +643 -0
  117. package/package.json +197 -0
@@ -0,0 +1,726 @@
1
+ import { vestingBudgetAbi } from '@boostxyz/evm';
2
+ import { type Address, type ContractEventName } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTarget } from '../Deployable/DeployableTarget';
5
+ import { type FungibleTransferPayload, type GenericLog, type ReadParams, RegistryType, type VestingBudgetPayload, type WriteParams } from '../utils';
6
+ export { vestingBudgetAbi };
7
+ export type { VestingBudgetPayload };
8
+ /**
9
+ * A generic `viem.Log` event with support for `VestingBudget` event types.
10
+ *
11
+ * @export
12
+ * @typedef {VestingBudgetLog}
13
+ * @template {ContractEventName<typeof vestingBudgetAbi>} [event=ContractEventName<
14
+ * typeof vestingBudgetAbi
15
+ * >]
16
+ */
17
+ export type VestingBudgetLog<event extends ContractEventName<typeof vestingBudgetAbi> = ContractEventName<typeof vestingBudgetAbi>> = GenericLog<typeof vestingBudgetAbi, event>;
18
+ /**
19
+ * A vesting-based budget implementation that allows for the distribution of assets over time
20
+ * Take note of the following when making use of this budget type:
21
+ * - The budget is designed to manage native and ERC20 token balances only. Using rebasing tokens or other non-standard token types may result in unexpected behavior.
22
+ * - Any assets allocated to this type of budget will follow the vesting schedule as if they were locked from the beginning, which is to say that, if the vesting has already started, some portion of the assets will be immediately available for distribution.
23
+ * - A vesting budget can also act as a time-lock, unlocking all assets at a specified point in time. To release assets at a specific time rather than vesting them over time, set the `start` to the desired time and the `duration` to zero.
24
+ * - This contract is {Ownable} to enable the owner to allocate to the budget, clawback and disburse assets from the budget, and to set authorized addresses. Additionally, the owner can transfer ownership of the budget to another address. Doing so has no effect on the vesting schedule.
25
+ *
26
+ * @export
27
+ * @class VestingBudget
28
+ * @typedef {VestingBudget}
29
+ * @extends {DeployableTarget<VestingBudgetPayload>}
30
+ */
31
+ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload, typeof vestingBudgetAbi> {
32
+ readonly abi: readonly [{
33
+ readonly type: "constructor";
34
+ readonly inputs: readonly [];
35
+ readonly stateMutability: "nonpayable";
36
+ }, {
37
+ readonly type: "error";
38
+ readonly inputs: readonly [];
39
+ readonly name: "AlreadyInitialized";
40
+ }, {
41
+ readonly type: "error";
42
+ readonly inputs: readonly [];
43
+ readonly name: "CloneAlreadyInitialized";
44
+ }, {
45
+ readonly type: "error";
46
+ readonly inputs: readonly [];
47
+ readonly name: "InitializerNotImplemented";
48
+ }, {
49
+ readonly type: "error";
50
+ readonly inputs: readonly [{
51
+ readonly name: "asset";
52
+ readonly internalType: "address";
53
+ readonly type: "address";
54
+ }, {
55
+ readonly name: "available";
56
+ readonly internalType: "uint256";
57
+ readonly type: "uint256";
58
+ }, {
59
+ readonly name: "required";
60
+ readonly internalType: "uint256";
61
+ readonly type: "uint256";
62
+ }];
63
+ readonly name: "InsufficientFunds";
64
+ }, {
65
+ readonly type: "error";
66
+ readonly inputs: readonly [{
67
+ readonly name: "asset";
68
+ readonly internalType: "address";
69
+ readonly type: "address";
70
+ }, {
71
+ readonly name: "amount";
72
+ readonly internalType: "uint256";
73
+ readonly type: "uint256";
74
+ }];
75
+ readonly name: "InvalidAllocation";
76
+ }, {
77
+ readonly type: "error";
78
+ readonly inputs: readonly [];
79
+ readonly name: "InvalidInitialization";
80
+ }, {
81
+ readonly type: "error";
82
+ readonly inputs: readonly [];
83
+ readonly name: "InvalidInitializationData";
84
+ }, {
85
+ readonly type: "error";
86
+ readonly inputs: readonly [];
87
+ readonly name: "LengthMismatch";
88
+ }, {
89
+ readonly type: "error";
90
+ readonly inputs: readonly [];
91
+ readonly name: "NewOwnerIsZeroAddress";
92
+ }, {
93
+ readonly type: "error";
94
+ readonly inputs: readonly [];
95
+ readonly name: "NoHandoverRequest";
96
+ }, {
97
+ readonly type: "error";
98
+ readonly inputs: readonly [];
99
+ readonly name: "NotImplemented";
100
+ }, {
101
+ readonly type: "error";
102
+ readonly inputs: readonly [];
103
+ readonly name: "NotInitializing";
104
+ }, {
105
+ readonly type: "error";
106
+ readonly inputs: readonly [];
107
+ readonly name: "Reentrancy";
108
+ }, {
109
+ readonly type: "error";
110
+ readonly inputs: readonly [{
111
+ readonly name: "asset";
112
+ readonly internalType: "address";
113
+ readonly type: "address";
114
+ }, {
115
+ readonly name: "to";
116
+ readonly internalType: "address";
117
+ readonly type: "address";
118
+ }, {
119
+ readonly name: "amount";
120
+ readonly internalType: "uint256";
121
+ readonly type: "uint256";
122
+ }];
123
+ readonly name: "TransferFailed";
124
+ }, {
125
+ readonly type: "error";
126
+ readonly inputs: readonly [];
127
+ readonly name: "Unauthorized";
128
+ }, {
129
+ readonly type: "event";
130
+ readonly anonymous: false;
131
+ readonly inputs: readonly [{
132
+ readonly name: "account";
133
+ readonly internalType: "address";
134
+ readonly type: "address";
135
+ readonly indexed: true;
136
+ }, {
137
+ readonly name: "isAuthorized";
138
+ readonly internalType: "bool";
139
+ readonly type: "bool";
140
+ readonly indexed: false;
141
+ }];
142
+ readonly name: "Authorized";
143
+ }, {
144
+ readonly type: "event";
145
+ readonly anonymous: false;
146
+ readonly inputs: readonly [{
147
+ readonly name: "asset";
148
+ readonly internalType: "address";
149
+ readonly type: "address";
150
+ readonly indexed: true;
151
+ }, {
152
+ readonly name: "to";
153
+ readonly internalType: "address";
154
+ readonly type: "address";
155
+ readonly indexed: false;
156
+ }, {
157
+ readonly name: "amount";
158
+ readonly internalType: "uint256";
159
+ readonly type: "uint256";
160
+ readonly indexed: false;
161
+ }];
162
+ readonly name: "Distributed";
163
+ }, {
164
+ readonly type: "event";
165
+ readonly anonymous: false;
166
+ readonly inputs: readonly [{
167
+ readonly name: "version";
168
+ readonly internalType: "uint64";
169
+ readonly type: "uint64";
170
+ readonly indexed: false;
171
+ }];
172
+ readonly name: "Initialized";
173
+ }, {
174
+ readonly type: "event";
175
+ readonly anonymous: false;
176
+ readonly inputs: readonly [{
177
+ readonly name: "pendingOwner";
178
+ readonly internalType: "address";
179
+ readonly type: "address";
180
+ readonly indexed: true;
181
+ }];
182
+ readonly name: "OwnershipHandoverCanceled";
183
+ }, {
184
+ readonly type: "event";
185
+ readonly anonymous: false;
186
+ readonly inputs: readonly [{
187
+ readonly name: "pendingOwner";
188
+ readonly internalType: "address";
189
+ readonly type: "address";
190
+ readonly indexed: true;
191
+ }];
192
+ readonly name: "OwnershipHandoverRequested";
193
+ }, {
194
+ readonly type: "event";
195
+ readonly anonymous: false;
196
+ readonly inputs: readonly [{
197
+ readonly name: "oldOwner";
198
+ readonly internalType: "address";
199
+ readonly type: "address";
200
+ readonly indexed: true;
201
+ }, {
202
+ readonly name: "newOwner";
203
+ readonly internalType: "address";
204
+ readonly type: "address";
205
+ readonly indexed: true;
206
+ }];
207
+ readonly name: "OwnershipTransferred";
208
+ }, {
209
+ readonly type: "fallback";
210
+ readonly stateMutability: "payable";
211
+ }, {
212
+ readonly type: "function";
213
+ readonly inputs: readonly [{
214
+ readonly name: "data_";
215
+ readonly internalType: "bytes";
216
+ readonly type: "bytes";
217
+ }];
218
+ readonly name: "allocate";
219
+ readonly outputs: readonly [{
220
+ readonly name: "";
221
+ readonly internalType: "bool";
222
+ readonly type: "bool";
223
+ }];
224
+ readonly stateMutability: "payable";
225
+ }, {
226
+ readonly type: "function";
227
+ readonly inputs: readonly [{
228
+ readonly name: "asset_";
229
+ readonly internalType: "address";
230
+ readonly type: "address";
231
+ }];
232
+ readonly name: "available";
233
+ readonly outputs: readonly [{
234
+ readonly name: "";
235
+ readonly internalType: "uint256";
236
+ readonly type: "uint256";
237
+ }];
238
+ readonly stateMutability: "view";
239
+ }, {
240
+ readonly type: "function";
241
+ readonly inputs: readonly [];
242
+ readonly name: "cancelOwnershipHandover";
243
+ readonly outputs: readonly [];
244
+ readonly stateMutability: "payable";
245
+ }, {
246
+ readonly type: "function";
247
+ readonly inputs: readonly [{
248
+ readonly name: "data_";
249
+ readonly internalType: "bytes";
250
+ readonly type: "bytes";
251
+ }];
252
+ readonly name: "clawback";
253
+ readonly outputs: readonly [{
254
+ readonly name: "";
255
+ readonly internalType: "bool";
256
+ readonly type: "bool";
257
+ }];
258
+ readonly stateMutability: "nonpayable";
259
+ }, {
260
+ readonly type: "function";
261
+ readonly inputs: readonly [];
262
+ readonly name: "cliff";
263
+ readonly outputs: readonly [{
264
+ readonly name: "";
265
+ readonly internalType: "uint64";
266
+ readonly type: "uint64";
267
+ }];
268
+ readonly stateMutability: "view";
269
+ }, {
270
+ readonly type: "function";
271
+ readonly inputs: readonly [{
272
+ readonly name: "pendingOwner";
273
+ readonly internalType: "address";
274
+ readonly type: "address";
275
+ }];
276
+ readonly name: "completeOwnershipHandover";
277
+ readonly outputs: readonly [];
278
+ readonly stateMutability: "payable";
279
+ }, {
280
+ readonly type: "function";
281
+ readonly inputs: readonly [{
282
+ readonly name: "data_";
283
+ readonly internalType: "bytes";
284
+ readonly type: "bytes";
285
+ }];
286
+ readonly name: "disburse";
287
+ readonly outputs: readonly [{
288
+ readonly name: "";
289
+ readonly internalType: "bool";
290
+ readonly type: "bool";
291
+ }];
292
+ readonly stateMutability: "nonpayable";
293
+ }, {
294
+ readonly type: "function";
295
+ readonly inputs: readonly [{
296
+ readonly name: "data_";
297
+ readonly internalType: "bytes[]";
298
+ readonly type: "bytes[]";
299
+ }];
300
+ readonly name: "disburseBatch";
301
+ readonly outputs: readonly [{
302
+ readonly name: "";
303
+ readonly internalType: "bool";
304
+ readonly type: "bool";
305
+ }];
306
+ readonly stateMutability: "nonpayable";
307
+ }, {
308
+ readonly type: "function";
309
+ readonly inputs: readonly [{
310
+ readonly name: "asset_";
311
+ readonly internalType: "address";
312
+ readonly type: "address";
313
+ }];
314
+ readonly name: "distributed";
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: "duration";
325
+ readonly outputs: readonly [{
326
+ readonly name: "";
327
+ readonly internalType: "uint64";
328
+ readonly type: "uint64";
329
+ }];
330
+ readonly stateMutability: "view";
331
+ }, {
332
+ readonly type: "function";
333
+ readonly inputs: readonly [];
334
+ readonly name: "end";
335
+ readonly outputs: readonly [{
336
+ readonly name: "";
337
+ readonly internalType: "uint256";
338
+ readonly type: "uint256";
339
+ }];
340
+ readonly stateMutability: "view";
341
+ }, {
342
+ readonly type: "function";
343
+ readonly inputs: readonly [];
344
+ readonly name: "getComponentInterface";
345
+ readonly outputs: readonly [{
346
+ readonly name: "";
347
+ readonly internalType: "bytes4";
348
+ readonly type: "bytes4";
349
+ }];
350
+ readonly stateMutability: "pure";
351
+ }, {
352
+ readonly type: "function";
353
+ readonly inputs: readonly [{
354
+ readonly name: "data_";
355
+ readonly internalType: "bytes";
356
+ readonly type: "bytes";
357
+ }];
358
+ readonly name: "initialize";
359
+ readonly outputs: readonly [];
360
+ readonly stateMutability: "nonpayable";
361
+ }, {
362
+ readonly type: "function";
363
+ readonly inputs: readonly [{
364
+ readonly name: "account_";
365
+ readonly internalType: "address";
366
+ readonly type: "address";
367
+ }];
368
+ readonly name: "isAuthorized";
369
+ readonly outputs: readonly [{
370
+ readonly name: "";
371
+ readonly internalType: "bool";
372
+ readonly type: "bool";
373
+ }];
374
+ readonly stateMutability: "view";
375
+ }, {
376
+ readonly type: "function";
377
+ readonly inputs: readonly [];
378
+ readonly name: "owner";
379
+ readonly outputs: readonly [{
380
+ readonly name: "result";
381
+ readonly internalType: "address";
382
+ readonly type: "address";
383
+ }];
384
+ readonly stateMutability: "view";
385
+ }, {
386
+ readonly type: "function";
387
+ readonly inputs: readonly [{
388
+ readonly name: "pendingOwner";
389
+ readonly internalType: "address";
390
+ readonly type: "address";
391
+ }];
392
+ readonly name: "ownershipHandoverExpiresAt";
393
+ readonly outputs: readonly [{
394
+ readonly name: "result";
395
+ readonly internalType: "uint256";
396
+ readonly type: "uint256";
397
+ }];
398
+ readonly stateMutability: "view";
399
+ }, {
400
+ readonly type: "function";
401
+ readonly inputs: readonly [{
402
+ readonly name: "";
403
+ readonly internalType: "bytes";
404
+ readonly type: "bytes";
405
+ }];
406
+ readonly name: "reconcile";
407
+ readonly outputs: readonly [{
408
+ readonly name: "";
409
+ readonly internalType: "uint256";
410
+ readonly type: "uint256";
411
+ }];
412
+ readonly stateMutability: "nonpayable";
413
+ }, {
414
+ readonly type: "function";
415
+ readonly inputs: readonly [];
416
+ readonly name: "renounceOwnership";
417
+ readonly outputs: readonly [];
418
+ readonly stateMutability: "payable";
419
+ }, {
420
+ readonly type: "function";
421
+ readonly inputs: readonly [];
422
+ readonly name: "requestOwnershipHandover";
423
+ readonly outputs: readonly [];
424
+ readonly stateMutability: "payable";
425
+ }, {
426
+ readonly type: "function";
427
+ readonly inputs: readonly [{
428
+ readonly name: "account_";
429
+ readonly internalType: "address[]";
430
+ readonly type: "address[]";
431
+ }, {
432
+ readonly name: "authorized_";
433
+ readonly internalType: "bool[]";
434
+ readonly type: "bool[]";
435
+ }];
436
+ readonly name: "setAuthorized";
437
+ readonly outputs: readonly [];
438
+ readonly stateMutability: "nonpayable";
439
+ }, {
440
+ readonly type: "function";
441
+ readonly inputs: readonly [];
442
+ readonly name: "start";
443
+ readonly outputs: readonly [{
444
+ readonly name: "";
445
+ readonly internalType: "uint64";
446
+ readonly type: "uint64";
447
+ }];
448
+ readonly stateMutability: "view";
449
+ }, {
450
+ readonly type: "function";
451
+ readonly inputs: readonly [{
452
+ readonly name: "interfaceId";
453
+ readonly internalType: "bytes4";
454
+ readonly type: "bytes4";
455
+ }];
456
+ readonly name: "supportsInterface";
457
+ readonly outputs: readonly [{
458
+ readonly name: "";
459
+ readonly internalType: "bool";
460
+ readonly type: "bool";
461
+ }];
462
+ readonly stateMutability: "view";
463
+ }, {
464
+ readonly type: "function";
465
+ readonly inputs: readonly [{
466
+ readonly name: "asset_";
467
+ readonly internalType: "address";
468
+ readonly type: "address";
469
+ }];
470
+ readonly name: "total";
471
+ readonly outputs: readonly [{
472
+ readonly name: "";
473
+ readonly internalType: "uint256";
474
+ readonly type: "uint256";
475
+ }];
476
+ readonly stateMutability: "view";
477
+ }, {
478
+ readonly type: "function";
479
+ readonly inputs: readonly [{
480
+ readonly name: "newOwner";
481
+ readonly internalType: "address";
482
+ readonly type: "address";
483
+ }];
484
+ readonly name: "transferOwnership";
485
+ readonly outputs: readonly [];
486
+ readonly stateMutability: "payable";
487
+ }, {
488
+ readonly type: "receive";
489
+ readonly stateMutability: "payable";
490
+ }];
491
+ /**
492
+ * @inheritdoc
493
+ *
494
+ * @public
495
+ * @static
496
+ * @type {Address}
497
+ */
498
+ static base: Address;
499
+ /**
500
+ * @inheritdoc
501
+ *
502
+ * @public
503
+ * @static
504
+ * @type {RegistryType}
505
+ */
506
+ static registryType: RegistryType;
507
+ /**
508
+ * Get the owner of the budget
509
+ *
510
+ * @public
511
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'owner'>} [params]
512
+ * @returns {Promise<Address>}
513
+ */
514
+ owner(params?: ReadParams<typeof vestingBudgetAbi, 'owner'>): Promise<`0x${string}`>;
515
+ /**
516
+ * The timestamp at which the vesting schedule begins
517
+ *
518
+ * @public
519
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'start'>} [params]
520
+ * @returns {*}
521
+ */
522
+ start(params?: ReadParams<typeof vestingBudgetAbi, 'start'>): Promise<bigint>;
523
+ /**
524
+ * The duration of the vesting schedule (in seconds)
525
+ *
526
+ * @public
527
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'duration'>} [params]
528
+ * @returns {*}
529
+ */
530
+ duration(params?: ReadParams<typeof vestingBudgetAbi, 'duration'>): Promise<bigint>;
531
+ /**
532
+ * The duration of the cliff period (in seconds)
533
+ *
534
+ * @public
535
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'cliff'>} [params]
536
+ * @returns {*}
537
+ */
538
+ cliff(params?: ReadParams<typeof vestingBudgetAbi, 'cliff'>): Promise<bigint>;
539
+ /**
540
+ * Allocates assets to the budget.
541
+ * The caller must have already approved the contract to transfer the asset
542
+ * If the asset transfer fails, the allocation will revert
543
+ *
544
+ * @public
545
+ * @async
546
+ * @param {(FungibleTransferPayload)} transfer
547
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'allocate'>} [params]
548
+ * @returns {Promise<boolean>} - True if the allocation was successful
549
+ */
550
+ allocate(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'allocate'>): Promise<boolean>;
551
+ /**
552
+ * Allocates assets to the budget.
553
+ * The caller must have already approved the contract to transfer the asset
554
+ * If the asset transfer fails, the allocation will revert
555
+ *
556
+ * @public
557
+ * @async
558
+ * @param {(FungibleTransferPayload)} transfer
559
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'allocate'>} [params]
560
+ * @returns {Promise<boolean>} - True if the allocation was successful
561
+ */
562
+ allocateRaw(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'allocate'>): Promise<{
563
+ hash: `0x${string}`;
564
+ result: boolean;
565
+ }>;
566
+ /**
567
+ * Clawbacks assets from the budget.
568
+ * Only the owner can directly clawback assets from the budget
569
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
570
+ * If the asset transfer fails, the reclamation will revert
571
+ *
572
+ * @public
573
+ * @async
574
+ * @param {(FungibleTransferPayload)} transfer
575
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'clawback'>} [params]
576
+ * @returns {Promise<boolean>} - True if the request was successful
577
+ */
578
+ clawback(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'clawback'>): Promise<boolean>;
579
+ /**
580
+ * Clawbacks assets from the budget.
581
+ * Only the owner can directly clawback assets from the budget
582
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
583
+ * If the asset transfer fails, the reclamation will revert
584
+ *
585
+ * @public
586
+ * @async
587
+ * @param {(FungibleTransferPayload)} transfer
588
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'clawback'>} [params]
589
+ * @returns {Promise<boolean>} - True if the request was successful
590
+ */
591
+ clawbackRaw(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'clawback'>): Promise<{
592
+ hash: `0x${string}`;
593
+ result: boolean;
594
+ }>;
595
+ /**
596
+ * Disburses assets from the budget to a single recipient
597
+ * If the asset transfer fails, the disbursement will revert
598
+ *
599
+ * @public
600
+ * @async
601
+ * @param {(FungibleTransferPayload)} transfer
602
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'disburse'>} [params]
603
+ * @returns {Promise<boolean>} - True if the disbursement was successful
604
+ */
605
+ disburse(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'disburse'>): Promise<boolean>;
606
+ /**
607
+ * Disburses assets from the budget to a single recipient
608
+ * If the asset transfer fails, the disbursement will revert
609
+ *
610
+ * @public
611
+ * @async
612
+ * @param {(FungibleTransferPayload)} transfer
613
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'disburse'>} [params]
614
+ * @returns {Promise<boolean>} - True if the disbursement was successful
615
+ */
616
+ disburseRaw(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'disburse'>): Promise<{
617
+ hash: `0x${string}`;
618
+ result: boolean;
619
+ }>;
620
+ /**
621
+ * Disburses assets from the budget to multiple recipients
622
+ *
623
+ * @public
624
+ * @async
625
+ * @param {Array<FungibleTransferPayload>} transfers
626
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'disburseBatch'>} [params]
627
+ * @returns {Promise<boolean>} - True if all disbursements were successful
628
+ */
629
+ disburseBatch(transfers: FungibleTransferPayload[], params?: WriteParams<typeof vestingBudgetAbi, 'disburseBatch'>): Promise<boolean>;
630
+ /**
631
+ * Disburses assets from the budget to multiple recipients
632
+ *
633
+ * @public
634
+ * @async
635
+ * @param {Array<FungibleTransferPayload>} transfers
636
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'disburseBatch'>} [params]
637
+ * @returns {Promise<boolean>} - True if all disbursements were successful
638
+ */
639
+ disburseBatchRaw(transfers: FungibleTransferPayload[], params?: WriteParams<typeof vestingBudgetAbi, 'disburseBatch'>): Promise<{
640
+ hash: `0x${string}`;
641
+ result: boolean;
642
+ }>;
643
+ /**
644
+ * Set the authorized status of the given accounts
645
+ * The mechanism for managing authorization is left to the implementing contract
646
+ *
647
+ * @public
648
+ * @async
649
+ * @param {Address[]} addresses - The accounts to authorize or deauthorize
650
+ * @param {boolean[]} allowed - The authorization status for the given accounts
651
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>} [params]
652
+ * @returns {Promise<void>}
653
+ */
654
+ setAuthorized(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>): Promise<void>;
655
+ /**
656
+ * Set the authorized status of the given accounts
657
+ * The mechanism for managing authorization is left to the implementing contract
658
+ *
659
+ * @public
660
+ * @async
661
+ * @param {Address[]} addresses - The accounts to authorize or deauthorize
662
+ * @param {boolean[]} allowed - The authorization status for the given accounts
663
+ * @param {?WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>} [params]
664
+ * @returns {Promise<void>}
665
+ */
666
+ setAuthorizedRaw(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>): Promise<{
667
+ hash: `0x${string}`;
668
+ result: void;
669
+ }>;
670
+ /**
671
+ * Check if the given account is authorized to use the budget
672
+ *
673
+ * @public
674
+ * @param {Address} account
675
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'isAuthorized'>} [params]
676
+ * @returns {Promise<boolean>} - True if the account is authorized
677
+ */
678
+ isAuthorized(account: Address, params?: ReadParams<typeof vestingBudgetAbi, 'isAuthorized'>): Promise<boolean>;
679
+ /**
680
+ * Get the end time of the vesting schedule
681
+ *
682
+ * @public
683
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'end'>} [params]
684
+ * @returns {Promise<bigint>}
685
+ */
686
+ end(params?: ReadParams<typeof vestingBudgetAbi, 'end'>): Promise<bigint>;
687
+ /**
688
+ * Get the total amount of assets allocated to the budget, including any that have been distributed
689
+ * This is equal to the sum of the total current balance and the total distributed amount
690
+ *
691
+ * @public
692
+ * @param {Address} asset - The address of the asset (or the zero address for native assets)
693
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'total'>} [params]
694
+ * @returns {Promise<bigint>}
695
+ */
696
+ total(asset: Address, params?: ReadParams<typeof vestingBudgetAbi, 'total'>): Promise<bigint>;
697
+ /**
698
+ * Get the amount of assets available for distribution from the budget as of the current block timestamp
699
+ * This is equal to the total vested amount minus any already distributed
700
+ *
701
+ * @public
702
+ * @param {Address} asset - The address of the asset (or the zero address for native assets)
703
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'available'>} [params]
704
+ * @returns {Promise<bigint>} - The amount of assets currently available for distribution
705
+ */
706
+ available(asset: Address, params?: ReadParams<typeof vestingBudgetAbi, 'available'>): Promise<bigint>;
707
+ /**
708
+ * Get the amount of assets that have been distributed from the budget
709
+ *
710
+ * @public
711
+ * @param {Address} asset
712
+ * @param {?ReadParams<typeof vestingBudgetAbi, 'distributed'>} [params]
713
+ * @returns {Promise<bigint>} - The amount of assets distributed
714
+ */
715
+ distributed(asset: Address, params?: ReadParams<typeof vestingBudgetAbi, 'distributed'>): Promise<bigint>;
716
+ /**
717
+ * @inheritdoc
718
+ *
719
+ * @public
720
+ * @param {?VestingBudgetPayload} [_payload]
721
+ * @param {?DeployableOptions} [_options]
722
+ * @returns {GenericDeployableParams}
723
+ */
724
+ buildParameters(_payload?: VestingBudgetPayload, _options?: DeployableOptions): GenericDeployableParams;
725
+ }
726
+ //# sourceMappingURL=VestingBudget.d.ts.map