@boostxyz/sdk 0.0.0-alpha.10

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 (242) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +7 -0
  3. package/dist/Actions/Action.cjs +2 -0
  4. package/dist/Actions/Action.cjs.map +1 -0
  5. package/dist/Actions/Action.d.ts +31 -0
  6. package/dist/Actions/Action.d.ts.map +1 -0
  7. package/dist/Actions/Action.js +29 -0
  8. package/dist/Actions/Action.js.map +1 -0
  9. package/dist/Actions/ContractAction.d.ts +370 -0
  10. package/dist/Actions/ContractAction.d.ts.map +1 -0
  11. package/dist/Actions/ERC721MintAction.d.ts +513 -0
  12. package/dist/Actions/ERC721MintAction.d.ts.map +1 -0
  13. package/dist/Actions/EventAction.cjs +2 -0
  14. package/dist/Actions/EventAction.cjs.map +1 -0
  15. package/dist/Actions/EventAction.d.ts +694 -0
  16. package/dist/Actions/EventAction.d.ts.map +1 -0
  17. package/dist/Actions/EventAction.js +491 -0
  18. package/dist/Actions/EventAction.js.map +1 -0
  19. package/dist/AllowLists/AllowList.cjs +2 -0
  20. package/dist/AllowLists/AllowList.cjs.map +1 -0
  21. package/dist/AllowLists/AllowList.d.ts +32 -0
  22. package/dist/AllowLists/AllowList.d.ts.map +1 -0
  23. package/dist/AllowLists/AllowList.js +30 -0
  24. package/dist/AllowLists/AllowList.js.map +1 -0
  25. package/dist/AllowLists/SimpleAllowList.cjs +2 -0
  26. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
  27. package/dist/AllowLists/SimpleAllowList.d.ts +481 -0
  28. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -0
  29. package/dist/AllowLists/SimpleAllowList.js +154 -0
  30. package/dist/AllowLists/SimpleAllowList.js.map +1 -0
  31. package/dist/AllowLists/SimpleDenyList.cjs +2 -0
  32. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
  33. package/dist/AllowLists/SimpleDenyList.d.ts +335 -0
  34. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -0
  35. package/dist/AllowLists/SimpleDenyList.js +115 -0
  36. package/dist/AllowLists/SimpleDenyList.js.map +1 -0
  37. package/dist/Auth/Auth.cjs +2 -0
  38. package/dist/Auth/Auth.cjs.map +1 -0
  39. package/dist/Auth/Auth.d.ts +10 -0
  40. package/dist/Auth/Auth.d.ts.map +1 -0
  41. package/dist/Auth/Auth.js +5 -0
  42. package/dist/Auth/Auth.js.map +1 -0
  43. package/dist/Auth/PassthroughAuth.cjs +2 -0
  44. package/dist/Auth/PassthroughAuth.cjs.map +1 -0
  45. package/dist/Auth/PassthroughAuth.d.ts +51 -0
  46. package/dist/Auth/PassthroughAuth.d.ts.map +1 -0
  47. package/dist/Auth/PassthroughAuth.js +39 -0
  48. package/dist/Auth/PassthroughAuth.js.map +1 -0
  49. package/dist/Boost.cjs +2 -0
  50. package/dist/Boost.cjs.map +1 -0
  51. package/dist/Boost.d.ts +234 -0
  52. package/dist/Boost.d.ts.map +1 -0
  53. package/dist/Boost.js +162 -0
  54. package/dist/Boost.js.map +1 -0
  55. package/dist/BoostCore.cjs +3 -0
  56. package/dist/BoostCore.cjs.map +1 -0
  57. package/dist/BoostCore.d.ts +498 -0
  58. package/dist/BoostCore.d.ts.map +1 -0
  59. package/dist/BoostCore.js +1153 -0
  60. package/dist/BoostCore.js.map +1 -0
  61. package/dist/BoostRegistry.cjs +2 -0
  62. package/dist/BoostRegistry.cjs.map +1 -0
  63. package/dist/BoostRegistry.d.ts +243 -0
  64. package/dist/BoostRegistry.d.ts.map +1 -0
  65. package/dist/BoostRegistry.js +262 -0
  66. package/dist/BoostRegistry.js.map +1 -0
  67. package/dist/Budgets/Budget.cjs +2 -0
  68. package/dist/Budgets/Budget.cjs.map +1 -0
  69. package/dist/Budgets/Budget.d.ts +31 -0
  70. package/dist/Budgets/Budget.d.ts.map +1 -0
  71. package/dist/Budgets/Budget.js +29 -0
  72. package/dist/Budgets/Budget.js.map +1 -0
  73. package/dist/Budgets/ManagedBudget.cjs +2 -0
  74. package/dist/Budgets/ManagedBudget.cjs.map +1 -0
  75. package/dist/Budgets/ManagedBudget.d.ts +1103 -0
  76. package/dist/Budgets/ManagedBudget.d.ts.map +1 -0
  77. package/dist/Budgets/ManagedBudget.js +516 -0
  78. package/dist/Budgets/ManagedBudget.js.map +1 -0
  79. package/dist/Budgets/SimpleBudget.d.ts +824 -0
  80. package/dist/Budgets/SimpleBudget.d.ts.map +1 -0
  81. package/dist/Budgets/VestingBudget.d.ts +778 -0
  82. package/dist/Budgets/VestingBudget.d.ts.map +1 -0
  83. package/dist/Deployable/Contract.cjs +2 -0
  84. package/dist/Deployable/Contract.cjs.map +1 -0
  85. package/dist/Deployable/Contract.d.ts +125 -0
  86. package/dist/Deployable/Contract.d.ts.map +1 -0
  87. package/dist/Deployable/Contract.js +150 -0
  88. package/dist/Deployable/Contract.js.map +1 -0
  89. package/dist/Deployable/Deployable.cjs +2 -0
  90. package/dist/Deployable/Deployable.cjs.map +1 -0
  91. package/dist/Deployable/Deployable.d.ts +161 -0
  92. package/dist/Deployable/Deployable.d.ts.map +1 -0
  93. package/dist/Deployable/Deployable.js +131 -0
  94. package/dist/Deployable/Deployable.js.map +1 -0
  95. package/dist/Deployable/DeployableTarget.cjs +2 -0
  96. package/dist/Deployable/DeployableTarget.cjs.map +1 -0
  97. package/dist/Deployable/DeployableTarget.d.ts +116 -0
  98. package/dist/Deployable/DeployableTarget.d.ts.map +1 -0
  99. package/dist/Deployable/DeployableTarget.js +132 -0
  100. package/dist/Deployable/DeployableTarget.js.map +1 -0
  101. package/dist/Incentives/AllowListIncentive.cjs +2 -0
  102. package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
  103. package/dist/Incentives/AllowListIncentive.d.ts +513 -0
  104. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -0
  105. package/dist/Incentives/AllowListIncentive.js +201 -0
  106. package/dist/Incentives/AllowListIncentive.js.map +1 -0
  107. package/dist/Incentives/CGDAIncentive.cjs +2 -0
  108. package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
  109. package/dist/Incentives/CGDAIncentive.d.ts +644 -0
  110. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -0
  111. package/dist/Incentives/CGDAIncentive.js +271 -0
  112. package/dist/Incentives/CGDAIncentive.js.map +1 -0
  113. package/dist/Incentives/ERC1155Incentive.d.ts +713 -0
  114. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -0
  115. package/dist/Incentives/ERC20Incentive.cjs +2 -0
  116. package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
  117. package/dist/Incentives/ERC20Incentive.d.ts +666 -0
  118. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -0
  119. package/dist/Incentives/ERC20Incentive.js +312 -0
  120. package/dist/Incentives/ERC20Incentive.js.map +1 -0
  121. package/dist/Incentives/ERC20VariableIncentive.d.ts +582 -0
  122. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -0
  123. package/dist/Incentives/Incentive.cjs +2 -0
  124. package/dist/Incentives/Incentive.cjs.map +1 -0
  125. package/dist/Incentives/Incentive.d.ts +36 -0
  126. package/dist/Incentives/Incentive.d.ts.map +1 -0
  127. package/dist/Incentives/Incentive.js +299 -0
  128. package/dist/Incentives/Incentive.js.map +1 -0
  129. package/dist/Incentives/PointsIncentive.cjs +2 -0
  130. package/dist/Incentives/PointsIncentive.cjs.map +1 -0
  131. package/dist/Incentives/PointsIncentive.d.ts +659 -0
  132. package/dist/Incentives/PointsIncentive.d.ts.map +1 -0
  133. package/dist/Incentives/PointsIncentive.js +215 -0
  134. package/dist/Incentives/PointsIncentive.js.map +1 -0
  135. package/dist/Validators/SignerValidator.cjs +2 -0
  136. package/dist/Validators/SignerValidator.cjs.map +1 -0
  137. package/dist/Validators/SignerValidator.d.ts +745 -0
  138. package/dist/Validators/SignerValidator.d.ts.map +1 -0
  139. package/dist/Validators/SignerValidator.js +293 -0
  140. package/dist/Validators/SignerValidator.js.map +1 -0
  141. package/dist/Validators/Validator.cjs +2 -0
  142. package/dist/Validators/Validator.cjs.map +1 -0
  143. package/dist/Validators/Validator.d.ts +31 -0
  144. package/dist/Validators/Validator.d.ts.map +1 -0
  145. package/dist/Validators/Validator.js +27 -0
  146. package/dist/Validators/Validator.js.map +1 -0
  147. package/dist/claiming.cjs +2 -0
  148. package/dist/claiming.cjs.map +1 -0
  149. package/dist/claiming.d.ts +43 -0
  150. package/dist/claiming.d.ts.map +1 -0
  151. package/dist/claiming.js +17 -0
  152. package/dist/claiming.js.map +1 -0
  153. package/dist/componentInterfaces-CKCBwG16.cjs +2 -0
  154. package/dist/componentInterfaces-CKCBwG16.cjs.map +1 -0
  155. package/dist/componentInterfaces-DYkaxBda.js +13 -0
  156. package/dist/componentInterfaces-DYkaxBda.js.map +1 -0
  157. package/dist/errors.cjs +2 -0
  158. package/dist/errors.cjs.map +1 -0
  159. package/dist/errors.d.ts +441 -0
  160. package/dist/errors.d.ts.map +1 -0
  161. package/dist/errors.js +262 -0
  162. package/dist/errors.js.map +1 -0
  163. package/dist/generated-BDeDiaCK.js +4625 -0
  164. package/dist/generated-BDeDiaCK.js.map +1 -0
  165. package/dist/generated-wKBNvm48.cjs +3 -0
  166. package/dist/generated-wKBNvm48.cjs.map +1 -0
  167. package/dist/index.cjs +2 -0
  168. package/dist/index.cjs.map +1 -0
  169. package/dist/index.d.ts +25 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +113 -0
  172. package/dist/index.js.map +1 -0
  173. package/dist/transfers.cjs +2 -0
  174. package/dist/transfers.cjs.map +1 -0
  175. package/dist/transfers.d.ts +198 -0
  176. package/dist/transfers.d.ts.map +1 -0
  177. package/dist/transfers.js +84 -0
  178. package/dist/transfers.js.map +1 -0
  179. package/dist/utils.cjs +2 -0
  180. package/dist/utils.cjs.map +1 -0
  181. package/dist/utils.d.ts +116 -0
  182. package/dist/utils.d.ts.map +1 -0
  183. package/dist/utils.js +30 -0
  184. package/dist/utils.js.map +1 -0
  185. package/package.json +211 -0
  186. package/src/Actions/Action.test.ts +75 -0
  187. package/src/Actions/Action.ts +61 -0
  188. package/src/Actions/ContractAction.test.ts +197 -0
  189. package/src/Actions/ContractAction.ts +301 -0
  190. package/src/Actions/ERC721MintAction.test.ts +112 -0
  191. package/src/Actions/ERC721MintAction.ts +292 -0
  192. package/src/Actions/EventAction.test.ts +205 -0
  193. package/src/Actions/EventAction.ts +811 -0
  194. package/src/AllowLists/AllowList.test.ts +64 -0
  195. package/src/AllowLists/AllowList.ts +60 -0
  196. package/src/AllowLists/SimpleAllowList.test.ts +52 -0
  197. package/src/AllowLists/SimpleAllowList.ts +284 -0
  198. package/src/AllowLists/SimpleDenyList.test.ts +52 -0
  199. package/src/AllowLists/SimpleDenyList.ts +227 -0
  200. package/src/Auth/Auth.ts +11 -0
  201. package/src/Auth/PassthroughAuth.test.ts +12 -0
  202. package/src/Auth/PassthroughAuth.ts +80 -0
  203. package/src/Boost.ts +290 -0
  204. package/src/BoostCore.test.ts +773 -0
  205. package/src/BoostCore.ts +1261 -0
  206. package/src/BoostRegistry.ts +467 -0
  207. package/src/Budgets/Budget.test.ts +27 -0
  208. package/src/Budgets/Budget.ts +61 -0
  209. package/src/Budgets/ManagedBudget.test.ts +154 -0
  210. package/src/Budgets/ManagedBudget.ts +796 -0
  211. package/src/Budgets/SimpleBudget.test.ts +152 -0
  212. package/src/Budgets/SimpleBudget.ts +564 -0
  213. package/src/Budgets/VestingBudget.test.ts +123 -0
  214. package/src/Budgets/VestingBudget.ts +602 -0
  215. package/src/Deployable/Contract.ts +229 -0
  216. package/src/Deployable/Deployable.ts +250 -0
  217. package/src/Deployable/DeployableTarget.ts +223 -0
  218. package/src/Incentives/AllowListIncentive.test.ts +143 -0
  219. package/src/Incentives/AllowListIncentive.ts +334 -0
  220. package/src/Incentives/CGDAIncentive.test.ts +132 -0
  221. package/src/Incentives/CGDAIncentive.ts +468 -0
  222. package/src/Incentives/ERC1155Incentive.test.ts +87 -0
  223. package/src/Incentives/ERC1155Incentive.ts +466 -0
  224. package/src/Incentives/ERC20Incentive.test.ts +130 -0
  225. package/src/Incentives/ERC20Incentive.ts +482 -0
  226. package/src/Incentives/ERC20VariableIncentive.test.ts +136 -0
  227. package/src/Incentives/ERC20VariableIncentive.ts +420 -0
  228. package/src/Incentives/Incentive.test.ts +92 -0
  229. package/src/Incentives/Incentive.ts +85 -0
  230. package/src/Incentives/PointsIncentive.test.ts +139 -0
  231. package/src/Incentives/PointsIncentive.ts +365 -0
  232. package/src/Validators/SignerValidator.test.ts +159 -0
  233. package/src/Validators/SignerValidator.ts +681 -0
  234. package/src/Validators/Validator.test.ts +21 -0
  235. package/src/Validators/Validator.ts +55 -0
  236. package/src/claiming.ts +56 -0
  237. package/src/errors.ts +542 -0
  238. package/src/index.test.ts +40 -0
  239. package/src/index.ts +53 -0
  240. package/src/transfers.ts +284 -0
  241. package/src/utils.test.ts +44 -0
  242. package/src/utils.ts +198 -0
@@ -0,0 +1,1103 @@
1
+ import { managedBudgetAbi } 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 ERC1155TransferPayload, type FungibleTransferPayload } from '../transfers';
6
+ import { type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
7
+ export { managedBudgetAbi };
8
+ export type { ERC1155TransferPayload, FungibleTransferPayload };
9
+ /**
10
+ * The object representation of a `ManagedBudgetPayload.InitPayload`
11
+ *
12
+ * @export
13
+ * @interface ManagedBudgetPayload
14
+ * @typedef {ManagedBudgetPayload}
15
+ */
16
+ export interface ManagedBudgetPayload {
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 {bigint[]}
33
+ */
34
+ roles: bigint[];
35
+ }
36
+ /**
37
+ * Enum representing available roles for use in the `ManagedBudget`.
38
+ * `MANAGER` can disburse funds.
39
+ * `ADMIN` can additionally manage authorized users on the budget.
40
+ *
41
+ * @type {{ readonly MANAGER: 1n; readonly ADMIN_ROLE: 2n; }}
42
+ */
43
+ export declare const ManagedBudgetRoles: {
44
+ readonly MANAGER: 1n;
45
+ readonly ADMIN: 2n;
46
+ };
47
+ /**
48
+ * A generic `viem.Log` event with support for `ManagedBudget` event types.
49
+ *
50
+ * @export
51
+ * @typedef {ManagedBudgetLog}
52
+ * @template {ContractEventName<typeof managedBudgetAbi>} [event=ContractEventName<
53
+ * typeof managedBudgetAbi
54
+ * >]
55
+ */
56
+ export type ManagedBudgetLog<event extends ContractEventName<typeof managedBudgetAbi> = ContractEventName<typeof managedBudgetAbi>> = GenericLog<typeof managedBudgetAbi, event>;
57
+ /**
58
+ * Typeguard to determine if a transfer payload is a Fungible Transfer
59
+ *
60
+ * @export
61
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
62
+ * @returns {transfer is FungibleTransferPayload}
63
+ */
64
+ export declare function isFungibleTransfer(transfer: FungibleTransferPayload | ERC1155TransferPayload): transfer is FungibleTransferPayload;
65
+ /**
66
+ * Typeguard to determine if a transfer payload is an ERC1155 Transfer
67
+ *
68
+ * @export
69
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
70
+ * @returns {transfer is ERC1155TransferPayload}
71
+ */
72
+ export declare function isERC1155TransferPayload(transfer: FungibleTransferPayload | ERC1155TransferPayload): transfer is ERC1155TransferPayload;
73
+ /**
74
+ * Given either a Fungible transfer, or ERC1155 transfer, will properly encode parameters for transfers, claims, disbursements, allocations, etc.
75
+ *
76
+ * @export
77
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
78
+ * @returns {*}
79
+ * @throws {@link UnknownTransferPayloadSupplied}
80
+ */
81
+ export declare function prepareTransfer(transfer: FungibleTransferPayload | ERC1155TransferPayload): `0x${string}`;
82
+ /**
83
+ * A minimal budget implementation that simply holds and distributes tokens (ERC20-like and native)
84
+ * This type of budget supports ETH, ERC20, and ERC1155 assets only
85
+ *
86
+ * @export
87
+ * @class ManagedBudget
88
+ * @typedef {ManagedBudget}
89
+ * @extends {DeployableTarget<ManagedBudgetPayload>}
90
+ */
91
+ export declare class ManagedBudget extends DeployableTarget<ManagedBudgetPayload, typeof managedBudgetAbi> {
92
+ /**
93
+ * @inheritdoc
94
+ *
95
+ * @public
96
+ * @readonly
97
+ * @type {*}
98
+ */
99
+ readonly abi: readonly [{
100
+ readonly type: "constructor";
101
+ readonly inputs: readonly [];
102
+ readonly stateMutability: "nonpayable";
103
+ }, {
104
+ readonly type: "error";
105
+ readonly inputs: readonly [];
106
+ readonly name: "AlreadyInitialized";
107
+ }, {
108
+ readonly type: "error";
109
+ readonly inputs: readonly [];
110
+ readonly name: "CloneAlreadyInitialized";
111
+ }, {
112
+ readonly type: "error";
113
+ readonly inputs: readonly [];
114
+ readonly name: "InitializerNotImplemented";
115
+ }, {
116
+ readonly type: "error";
117
+ readonly inputs: readonly [{
118
+ readonly name: "asset";
119
+ readonly internalType: "address";
120
+ readonly type: "address";
121
+ }, {
122
+ readonly name: "available";
123
+ readonly internalType: "uint256";
124
+ readonly type: "uint256";
125
+ }, {
126
+ readonly name: "required";
127
+ readonly internalType: "uint256";
128
+ readonly type: "uint256";
129
+ }];
130
+ readonly name: "InsufficientFunds";
131
+ }, {
132
+ readonly type: "error";
133
+ readonly inputs: readonly [{
134
+ readonly name: "asset";
135
+ readonly internalType: "address";
136
+ readonly type: "address";
137
+ }, {
138
+ readonly name: "amount";
139
+ readonly internalType: "uint256";
140
+ readonly type: "uint256";
141
+ }];
142
+ readonly name: "InvalidAllocation";
143
+ }, {
144
+ readonly type: "error";
145
+ readonly inputs: readonly [];
146
+ readonly name: "InvalidInitialization";
147
+ }, {
148
+ readonly type: "error";
149
+ readonly inputs: readonly [];
150
+ readonly name: "InvalidInitializationData";
151
+ }, {
152
+ readonly type: "error";
153
+ readonly inputs: readonly [];
154
+ readonly name: "LengthMismatch";
155
+ }, {
156
+ readonly type: "error";
157
+ readonly inputs: readonly [];
158
+ readonly name: "NewOwnerIsZeroAddress";
159
+ }, {
160
+ readonly type: "error";
161
+ readonly inputs: readonly [];
162
+ readonly name: "NoHandoverRequest";
163
+ }, {
164
+ readonly type: "error";
165
+ readonly inputs: readonly [];
166
+ readonly name: "NotImplemented";
167
+ }, {
168
+ readonly type: "error";
169
+ readonly inputs: readonly [];
170
+ readonly name: "NotInitializing";
171
+ }, {
172
+ readonly type: "error";
173
+ readonly inputs: readonly [];
174
+ readonly name: "Reentrancy";
175
+ }, {
176
+ readonly type: "error";
177
+ readonly inputs: readonly [{
178
+ readonly name: "asset";
179
+ readonly internalType: "address";
180
+ readonly type: "address";
181
+ }, {
182
+ readonly name: "to";
183
+ readonly internalType: "address";
184
+ readonly type: "address";
185
+ }, {
186
+ readonly name: "amount";
187
+ readonly internalType: "uint256";
188
+ readonly type: "uint256";
189
+ }];
190
+ readonly name: "TransferFailed";
191
+ }, {
192
+ readonly type: "error";
193
+ readonly inputs: readonly [];
194
+ readonly name: "Unauthorized";
195
+ }, {
196
+ readonly type: "event";
197
+ readonly anonymous: false;
198
+ readonly inputs: readonly [{
199
+ readonly name: "account";
200
+ readonly internalType: "address";
201
+ readonly type: "address";
202
+ readonly indexed: true;
203
+ }, {
204
+ readonly name: "isAuthorized";
205
+ readonly internalType: "bool";
206
+ readonly type: "bool";
207
+ readonly indexed: false;
208
+ }];
209
+ readonly name: "Authorized";
210
+ }, {
211
+ readonly type: "event";
212
+ readonly anonymous: false;
213
+ readonly inputs: readonly [{
214
+ readonly name: "asset";
215
+ readonly internalType: "address";
216
+ readonly type: "address";
217
+ readonly indexed: true;
218
+ }, {
219
+ readonly name: "to";
220
+ readonly internalType: "address";
221
+ readonly type: "address";
222
+ readonly indexed: false;
223
+ }, {
224
+ readonly name: "amount";
225
+ readonly internalType: "uint256";
226
+ readonly type: "uint256";
227
+ readonly indexed: false;
228
+ }];
229
+ readonly name: "Distributed";
230
+ }, {
231
+ readonly type: "event";
232
+ readonly anonymous: false;
233
+ readonly inputs: readonly [{
234
+ readonly name: "version";
235
+ readonly internalType: "uint64";
236
+ readonly type: "uint64";
237
+ readonly indexed: false;
238
+ }];
239
+ readonly name: "Initialized";
240
+ }, {
241
+ readonly type: "event";
242
+ readonly anonymous: false;
243
+ readonly inputs: readonly [{
244
+ readonly name: "pendingOwner";
245
+ readonly internalType: "address";
246
+ readonly type: "address";
247
+ readonly indexed: true;
248
+ }];
249
+ readonly name: "OwnershipHandoverCanceled";
250
+ }, {
251
+ readonly type: "event";
252
+ readonly anonymous: false;
253
+ readonly inputs: readonly [{
254
+ readonly name: "pendingOwner";
255
+ readonly internalType: "address";
256
+ readonly type: "address";
257
+ readonly indexed: true;
258
+ }];
259
+ readonly name: "OwnershipHandoverRequested";
260
+ }, {
261
+ readonly type: "event";
262
+ readonly anonymous: false;
263
+ readonly inputs: readonly [{
264
+ readonly name: "oldOwner";
265
+ readonly internalType: "address";
266
+ readonly type: "address";
267
+ readonly indexed: true;
268
+ }, {
269
+ readonly name: "newOwner";
270
+ readonly internalType: "address";
271
+ readonly type: "address";
272
+ readonly indexed: true;
273
+ }];
274
+ readonly name: "OwnershipTransferred";
275
+ }, {
276
+ readonly type: "event";
277
+ readonly anonymous: false;
278
+ readonly inputs: readonly [{
279
+ readonly name: "user";
280
+ readonly internalType: "address";
281
+ readonly type: "address";
282
+ readonly indexed: true;
283
+ }, {
284
+ readonly name: "roles";
285
+ readonly internalType: "uint256";
286
+ readonly type: "uint256";
287
+ readonly indexed: true;
288
+ }];
289
+ readonly name: "RolesUpdated";
290
+ }, {
291
+ readonly type: "fallback";
292
+ readonly stateMutability: "payable";
293
+ }, {
294
+ readonly type: "function";
295
+ readonly inputs: readonly [];
296
+ readonly name: "ADMIN_ROLE";
297
+ readonly outputs: readonly [{
298
+ readonly name: "";
299
+ readonly internalType: "uint256";
300
+ readonly type: "uint256";
301
+ }];
302
+ readonly stateMutability: "view";
303
+ }, {
304
+ readonly type: "function";
305
+ readonly inputs: readonly [];
306
+ readonly name: "MANAGER_ROLE";
307
+ readonly outputs: readonly [{
308
+ readonly name: "";
309
+ readonly internalType: "uint256";
310
+ readonly type: "uint256";
311
+ }];
312
+ readonly stateMutability: "view";
313
+ }, {
314
+ readonly type: "function";
315
+ readonly inputs: readonly [{
316
+ readonly name: "data_";
317
+ readonly internalType: "bytes";
318
+ readonly type: "bytes";
319
+ }];
320
+ readonly name: "allocate";
321
+ readonly outputs: readonly [{
322
+ readonly name: "";
323
+ readonly internalType: "bool";
324
+ readonly type: "bool";
325
+ }];
326
+ readonly stateMutability: "payable";
327
+ }, {
328
+ readonly type: "function";
329
+ readonly inputs: readonly [{
330
+ readonly name: "asset_";
331
+ readonly internalType: "address";
332
+ readonly type: "address";
333
+ }];
334
+ readonly name: "available";
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: "asset_";
345
+ readonly internalType: "address";
346
+ readonly type: "address";
347
+ }, {
348
+ readonly name: "tokenId_";
349
+ readonly internalType: "uint256";
350
+ readonly type: "uint256";
351
+ }];
352
+ readonly name: "available";
353
+ readonly outputs: readonly [{
354
+ readonly name: "";
355
+ readonly internalType: "uint256";
356
+ readonly type: "uint256";
357
+ }];
358
+ readonly stateMutability: "view";
359
+ }, {
360
+ readonly type: "function";
361
+ readonly inputs: readonly [];
362
+ readonly name: "cancelOwnershipHandover";
363
+ readonly outputs: readonly [];
364
+ readonly stateMutability: "payable";
365
+ }, {
366
+ readonly type: "function";
367
+ readonly inputs: readonly [{
368
+ readonly name: "data_";
369
+ readonly internalType: "bytes";
370
+ readonly type: "bytes";
371
+ }];
372
+ readonly name: "clawback";
373
+ readonly outputs: readonly [{
374
+ readonly name: "";
375
+ readonly internalType: "bool";
376
+ readonly type: "bool";
377
+ }];
378
+ readonly stateMutability: "nonpayable";
379
+ }, {
380
+ readonly type: "function";
381
+ readonly inputs: readonly [{
382
+ readonly name: "pendingOwner";
383
+ readonly internalType: "address";
384
+ readonly type: "address";
385
+ }];
386
+ readonly name: "completeOwnershipHandover";
387
+ readonly outputs: readonly [];
388
+ readonly stateMutability: "payable";
389
+ }, {
390
+ readonly type: "function";
391
+ readonly inputs: readonly [{
392
+ readonly name: "data_";
393
+ readonly internalType: "bytes";
394
+ readonly type: "bytes";
395
+ }];
396
+ readonly name: "disburse";
397
+ readonly outputs: readonly [{
398
+ readonly name: "";
399
+ readonly internalType: "bool";
400
+ readonly type: "bool";
401
+ }];
402
+ readonly stateMutability: "nonpayable";
403
+ }, {
404
+ readonly type: "function";
405
+ readonly inputs: readonly [{
406
+ readonly name: "data_";
407
+ readonly internalType: "bytes[]";
408
+ readonly type: "bytes[]";
409
+ }];
410
+ readonly name: "disburseBatch";
411
+ readonly outputs: readonly [{
412
+ readonly name: "";
413
+ readonly internalType: "bool";
414
+ readonly type: "bool";
415
+ }];
416
+ readonly stateMutability: "nonpayable";
417
+ }, {
418
+ readonly type: "function";
419
+ readonly inputs: readonly [{
420
+ readonly name: "asset_";
421
+ readonly internalType: "address";
422
+ readonly type: "address";
423
+ }];
424
+ readonly name: "distributed";
425
+ readonly outputs: readonly [{
426
+ readonly name: "";
427
+ readonly internalType: "uint256";
428
+ readonly type: "uint256";
429
+ }];
430
+ readonly stateMutability: "view";
431
+ }, {
432
+ readonly type: "function";
433
+ readonly inputs: readonly [{
434
+ readonly name: "asset_";
435
+ readonly internalType: "address";
436
+ readonly type: "address";
437
+ }, {
438
+ readonly name: "tokenId_";
439
+ readonly internalType: "uint256";
440
+ readonly type: "uint256";
441
+ }];
442
+ readonly name: "distributed";
443
+ readonly outputs: readonly [{
444
+ readonly name: "";
445
+ readonly internalType: "uint256";
446
+ readonly type: "uint256";
447
+ }];
448
+ readonly stateMutability: "view";
449
+ }, {
450
+ readonly type: "function";
451
+ readonly inputs: readonly [];
452
+ readonly name: "getComponentInterface";
453
+ readonly outputs: readonly [{
454
+ readonly name: "";
455
+ readonly internalType: "bytes4";
456
+ readonly type: "bytes4";
457
+ }];
458
+ readonly stateMutability: "pure";
459
+ }, {
460
+ readonly type: "function";
461
+ readonly inputs: readonly [{
462
+ readonly name: "user";
463
+ readonly internalType: "address";
464
+ readonly type: "address";
465
+ }, {
466
+ readonly name: "roles";
467
+ readonly internalType: "uint256";
468
+ readonly type: "uint256";
469
+ }];
470
+ readonly name: "grantRoles";
471
+ readonly outputs: readonly [];
472
+ readonly stateMutability: "payable";
473
+ }, {
474
+ readonly type: "function";
475
+ readonly inputs: readonly [{
476
+ readonly name: "accounts_";
477
+ readonly internalType: "address[]";
478
+ readonly type: "address[]";
479
+ }, {
480
+ readonly name: "roles_";
481
+ readonly internalType: "uint256[]";
482
+ readonly type: "uint256[]";
483
+ }];
484
+ readonly name: "grantRoles";
485
+ readonly outputs: readonly [];
486
+ readonly stateMutability: "nonpayable";
487
+ }, {
488
+ readonly type: "function";
489
+ readonly inputs: readonly [{
490
+ readonly name: "user";
491
+ readonly internalType: "address";
492
+ readonly type: "address";
493
+ }, {
494
+ readonly name: "roles";
495
+ readonly internalType: "uint256";
496
+ readonly type: "uint256";
497
+ }];
498
+ readonly name: "hasAllRoles";
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: "user";
509
+ readonly internalType: "address";
510
+ readonly type: "address";
511
+ }, {
512
+ readonly name: "roles";
513
+ readonly internalType: "uint256";
514
+ readonly type: "uint256";
515
+ }];
516
+ readonly name: "hasAnyRole";
517
+ readonly outputs: readonly [{
518
+ readonly name: "";
519
+ readonly internalType: "bool";
520
+ readonly type: "bool";
521
+ }];
522
+ readonly stateMutability: "view";
523
+ }, {
524
+ readonly type: "function";
525
+ readonly inputs: readonly [{
526
+ readonly name: "data_";
527
+ readonly internalType: "bytes";
528
+ readonly type: "bytes";
529
+ }];
530
+ readonly name: "initialize";
531
+ readonly outputs: readonly [];
532
+ readonly stateMutability: "nonpayable";
533
+ }, {
534
+ readonly type: "function";
535
+ readonly inputs: readonly [{
536
+ readonly name: "account_";
537
+ readonly internalType: "address";
538
+ readonly type: "address";
539
+ }];
540
+ readonly name: "isAuthorized";
541
+ readonly outputs: readonly [{
542
+ readonly name: "";
543
+ readonly internalType: "bool";
544
+ readonly type: "bool";
545
+ }];
546
+ readonly stateMutability: "view";
547
+ }, {
548
+ readonly type: "function";
549
+ readonly inputs: readonly [{
550
+ readonly name: "";
551
+ readonly internalType: "address";
552
+ readonly type: "address";
553
+ }, {
554
+ readonly name: "";
555
+ readonly internalType: "address";
556
+ readonly type: "address";
557
+ }, {
558
+ readonly name: "";
559
+ readonly internalType: "uint256[]";
560
+ readonly type: "uint256[]";
561
+ }, {
562
+ readonly name: "";
563
+ readonly internalType: "uint256[]";
564
+ readonly type: "uint256[]";
565
+ }, {
566
+ readonly name: "";
567
+ readonly internalType: "bytes";
568
+ readonly type: "bytes";
569
+ }];
570
+ readonly name: "onERC1155BatchReceived";
571
+ readonly outputs: readonly [{
572
+ readonly name: "";
573
+ readonly internalType: "bytes4";
574
+ readonly type: "bytes4";
575
+ }];
576
+ readonly stateMutability: "pure";
577
+ }, {
578
+ readonly type: "function";
579
+ readonly inputs: readonly [{
580
+ readonly name: "";
581
+ readonly internalType: "address";
582
+ readonly type: "address";
583
+ }, {
584
+ readonly name: "";
585
+ readonly internalType: "address";
586
+ readonly type: "address";
587
+ }, {
588
+ readonly name: "";
589
+ readonly internalType: "uint256";
590
+ readonly type: "uint256";
591
+ }, {
592
+ readonly name: "";
593
+ readonly internalType: "uint256";
594
+ readonly type: "uint256";
595
+ }, {
596
+ readonly name: "";
597
+ readonly internalType: "bytes";
598
+ readonly type: "bytes";
599
+ }];
600
+ readonly name: "onERC1155Received";
601
+ readonly outputs: readonly [{
602
+ readonly name: "";
603
+ readonly internalType: "bytes4";
604
+ readonly type: "bytes4";
605
+ }];
606
+ readonly stateMutability: "pure";
607
+ }, {
608
+ readonly type: "function";
609
+ readonly inputs: readonly [];
610
+ readonly name: "owner";
611
+ readonly outputs: readonly [{
612
+ readonly name: "result";
613
+ readonly internalType: "address";
614
+ readonly type: "address";
615
+ }];
616
+ readonly stateMutability: "view";
617
+ }, {
618
+ readonly type: "function";
619
+ readonly inputs: readonly [{
620
+ readonly name: "pendingOwner";
621
+ readonly internalType: "address";
622
+ readonly type: "address";
623
+ }];
624
+ readonly name: "ownershipHandoverExpiresAt";
625
+ readonly outputs: readonly [{
626
+ readonly name: "result";
627
+ readonly internalType: "uint256";
628
+ readonly type: "uint256";
629
+ }];
630
+ readonly stateMutability: "view";
631
+ }, {
632
+ readonly type: "function";
633
+ readonly inputs: readonly [{
634
+ readonly name: "";
635
+ readonly internalType: "bytes";
636
+ readonly type: "bytes";
637
+ }];
638
+ readonly name: "reconcile";
639
+ readonly outputs: readonly [{
640
+ readonly name: "";
641
+ readonly internalType: "uint256";
642
+ readonly type: "uint256";
643
+ }];
644
+ readonly stateMutability: "nonpayable";
645
+ }, {
646
+ readonly type: "function";
647
+ readonly inputs: readonly [];
648
+ readonly name: "renounceOwnership";
649
+ readonly outputs: readonly [];
650
+ readonly stateMutability: "payable";
651
+ }, {
652
+ readonly type: "function";
653
+ readonly inputs: readonly [{
654
+ readonly name: "roles";
655
+ readonly internalType: "uint256";
656
+ readonly type: "uint256";
657
+ }];
658
+ readonly name: "renounceRoles";
659
+ readonly outputs: readonly [];
660
+ readonly stateMutability: "payable";
661
+ }, {
662
+ readonly type: "function";
663
+ readonly inputs: readonly [];
664
+ readonly name: "requestOwnershipHandover";
665
+ readonly outputs: readonly [];
666
+ readonly stateMutability: "payable";
667
+ }, {
668
+ readonly type: "function";
669
+ readonly inputs: readonly [{
670
+ readonly name: "user";
671
+ readonly internalType: "address";
672
+ readonly type: "address";
673
+ }, {
674
+ readonly name: "roles";
675
+ readonly internalType: "uint256";
676
+ readonly type: "uint256";
677
+ }];
678
+ readonly name: "revokeRoles";
679
+ readonly outputs: readonly [];
680
+ readonly stateMutability: "payable";
681
+ }, {
682
+ readonly type: "function";
683
+ readonly inputs: readonly [{
684
+ readonly name: "accounts_";
685
+ readonly internalType: "address[]";
686
+ readonly type: "address[]";
687
+ }, {
688
+ readonly name: "roles_";
689
+ readonly internalType: "uint256[]";
690
+ readonly type: "uint256[]";
691
+ }];
692
+ readonly name: "revokeRoles";
693
+ readonly outputs: readonly [];
694
+ readonly stateMutability: "nonpayable";
695
+ }, {
696
+ readonly type: "function";
697
+ readonly inputs: readonly [{
698
+ readonly name: "user";
699
+ readonly internalType: "address";
700
+ readonly type: "address";
701
+ }];
702
+ readonly name: "rolesOf";
703
+ readonly outputs: readonly [{
704
+ readonly name: "roles";
705
+ readonly internalType: "uint256";
706
+ readonly type: "uint256";
707
+ }];
708
+ readonly stateMutability: "view";
709
+ }, {
710
+ readonly type: "function";
711
+ readonly inputs: readonly [{
712
+ readonly name: "accounts_";
713
+ readonly internalType: "address[]";
714
+ readonly type: "address[]";
715
+ }, {
716
+ readonly name: "authorized_";
717
+ readonly internalType: "bool[]";
718
+ readonly type: "bool[]";
719
+ }];
720
+ readonly name: "setAuthorized";
721
+ readonly outputs: readonly [];
722
+ readonly stateMutability: "nonpayable";
723
+ }, {
724
+ readonly type: "function";
725
+ readonly inputs: readonly [{
726
+ readonly name: "interfaceId";
727
+ readonly internalType: "bytes4";
728
+ readonly type: "bytes4";
729
+ }];
730
+ readonly name: "supportsInterface";
731
+ readonly outputs: readonly [{
732
+ readonly name: "";
733
+ readonly internalType: "bool";
734
+ readonly type: "bool";
735
+ }];
736
+ readonly stateMutability: "view";
737
+ }, {
738
+ readonly type: "function";
739
+ readonly inputs: readonly [{
740
+ readonly name: "asset_";
741
+ readonly internalType: "address";
742
+ readonly type: "address";
743
+ }];
744
+ readonly name: "total";
745
+ readonly outputs: readonly [{
746
+ readonly name: "";
747
+ readonly internalType: "uint256";
748
+ readonly type: "uint256";
749
+ }];
750
+ readonly stateMutability: "view";
751
+ }, {
752
+ readonly type: "function";
753
+ readonly inputs: readonly [{
754
+ readonly name: "asset_";
755
+ readonly internalType: "address";
756
+ readonly type: "address";
757
+ }, {
758
+ readonly name: "tokenId_";
759
+ readonly internalType: "uint256";
760
+ readonly type: "uint256";
761
+ }];
762
+ readonly name: "total";
763
+ readonly outputs: readonly [{
764
+ readonly name: "";
765
+ readonly internalType: "uint256";
766
+ readonly type: "uint256";
767
+ }];
768
+ readonly stateMutability: "view";
769
+ }, {
770
+ readonly type: "function";
771
+ readonly inputs: readonly [{
772
+ readonly name: "newOwner";
773
+ readonly internalType: "address";
774
+ readonly type: "address";
775
+ }];
776
+ readonly name: "transferOwnership";
777
+ readonly outputs: readonly [];
778
+ readonly stateMutability: "payable";
779
+ }, {
780
+ readonly type: "receive";
781
+ readonly stateMutability: "payable";
782
+ }];
783
+ /**
784
+ * @inheritdoc
785
+ *
786
+ * @public
787
+ * @static
788
+ * @type {Address}
789
+ */
790
+ static base: Address;
791
+ /**
792
+ * @inheritdoc
793
+ *
794
+ * @public
795
+ * @static
796
+ * @type {RegistryType}
797
+ */
798
+ static registryType: RegistryType;
799
+ /**
800
+ * Allocates assets to the budget.
801
+ * The caller must have already approved the contract to transfer the asset
802
+ * If the asset transfer fails, the allocation will revert
803
+ *
804
+ * @public
805
+ * @async
806
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
807
+ * @param {?WriteParams<typeof managedBudgetAbi, 'allocate'>} [params]
808
+ * @returns {Promise<boolean>} - True if the allocation was successful
809
+ */
810
+ allocate(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'allocate'>): Promise<boolean>;
811
+ /**
812
+ * Allocates assets to the budget.
813
+ * The caller must have already approved the contract to transfer the asset
814
+ * If the asset transfer fails, the allocation will revert
815
+ *
816
+ * @public
817
+ * @async
818
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
819
+ * @param {?WriteParams<typeof managedBudgetAbi, 'allocate'>} [params]
820
+ * @returns {Promise<boolean>} - True if the allocation was successful
821
+ */
822
+ allocateRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'allocate'>): Promise<{
823
+ hash: `0x${string}`;
824
+ result: boolean;
825
+ }>;
826
+ /**
827
+ * Clawbacks assets from the budget.
828
+ * Only the owner can directly clawback assets from the budget
829
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
830
+ * If the asset transfer fails, the reclamation will revert
831
+ *
832
+ * @public
833
+ * @async
834
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
835
+ * @param {?WriteParams<typeof managedBudgetAbi, 'clawback'>} [params]
836
+ * @returns {Promise<boolean>} - True if the request was successful
837
+ */
838
+ clawback(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'clawback'>): Promise<boolean>;
839
+ /**
840
+ * Clawbacks assets from the budget.
841
+ * Only the owner can directly clawback assets from the budget
842
+ * If the amount is zero, the entire balance of the asset will be transferred to the receiver
843
+ * If the asset transfer fails, the reclamation will revert
844
+ *
845
+ * @public
846
+ * @async
847
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
848
+ * @param {?WriteParams<typeof managedBudgetAbi, 'clawback'>} [params]
849
+ * @returns {Promise<boolean>} - True if the request was successful
850
+ */
851
+ clawbackRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'clawback'>): Promise<{
852
+ hash: `0x${string}`;
853
+ result: boolean;
854
+ }>;
855
+ /**
856
+ * Disburses assets from the budget to a single recipient
857
+ * If the asset transfer fails, the disbursement will revert
858
+ *
859
+ * @public
860
+ * @async
861
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
862
+ * @param {?WriteParams<typeof managedBudgetAbi, 'disburse'>} [params]
863
+ * @returns {Promise<boolean>} - True if the disbursement was successful
864
+ */
865
+ disburse(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'disburse'>): Promise<boolean>;
866
+ /**
867
+ * Disburses assets from the budget to a single recipient
868
+ * If the asset transfer fails, the disbursement will revert
869
+ *
870
+ * @public
871
+ * @async
872
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
873
+ * @param {?WriteParams<typeof managedBudgetAbi, 'disburse'>} [params]
874
+ * @returns {Promise<boolean>} - True if the disbursement was successful
875
+ */
876
+ disburseRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'disburse'>): Promise<{
877
+ hash: `0x${string}`;
878
+ result: boolean;
879
+ }>;
880
+ /**
881
+ * Disburses assets from the budget to multiple recipients
882
+ *
883
+ * @public
884
+ * @async
885
+ * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
886
+ * @param {?WriteParams<typeof managedBudgetAbi, 'disburseBatch'>} [params]
887
+ * @returns {Promise<boolean>} - True if all disbursements were successful
888
+ */
889
+ disburseBatch(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams<typeof managedBudgetAbi, 'disburseBatch'>): Promise<boolean>;
890
+ /**
891
+ * Disburses assets from the budget to multiple recipients
892
+ *
893
+ * @public
894
+ * @async
895
+ * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
896
+ * @param {?WriteParams<typeof managedBudgetAbi, 'disburseBatch'>} [params]
897
+ * @returns {Promise<boolean>} - True if all disbursements were successful
898
+ */
899
+ disburseBatchRaw(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams<typeof managedBudgetAbi, 'disburseBatch'>): Promise<{
900
+ hash: `0x${string}`;
901
+ result: boolean;
902
+ }>;
903
+ /**
904
+ * Set the authorized status of the given accounts
905
+ * The mechanism for managing authorization is left to the implementing contract
906
+ *
907
+ * @public
908
+ * @async
909
+ * @param {Address[]} addresses - The accounts to authorize or deauthorize
910
+ * @param {boolean[]} allowed - The authorization status for the given accounts
911
+ * @param {?WriteParams<typeof managedBudgetAbi, 'setAuthorized'>} [params]
912
+ * @returns {Promise<void>}
913
+ */
914
+ setAuthorized(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof managedBudgetAbi, 'setAuthorized'>): Promise<void>;
915
+ /**
916
+ * Set the authorized status of the given accounts
917
+ * The mechanism for managing authorization is left to the implementing contract
918
+ *
919
+ * @public
920
+ * @async
921
+ * @param {Address[]} addresses - The accounts to authorize or deauthorize
922
+ * @param {boolean[]} allowed - The authorization status for the given accounts
923
+ * @param {?WriteParams<typeof managedBudgetAbi, 'setAuthorized'>} [params]
924
+ * @returns {Promise<void>}
925
+ */
926
+ setAuthorizedRaw(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof managedBudgetAbi, 'setAuthorized'>): Promise<{
927
+ hash: `0x${string}`;
928
+ result: void;
929
+ }>;
930
+ /**
931
+ * Grant many accounts permissions on the budget.
932
+ *
933
+ * @example
934
+ * ```ts
935
+ * await budget.grantRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])
936
+ * ```
937
+ * @public
938
+ * @async
939
+ * @param {Address[]} addresses
940
+ * @param {bigint[]} roles
941
+ * @param {?WriteParams<typeof managedBudgetAbi, 'grantRoles'>} [params]
942
+ * @returns {unknown}
943
+ */
944
+ grantRoles(addresses: Address[], roles: bigint[], params?: WriteParams<typeof managedBudgetAbi, 'grantRoles'>): Promise<never>;
945
+ /**
946
+ * Grant many accounts permissions on the budget.
947
+ *
948
+ * @example
949
+ * ```ts
950
+ * await budget.grantRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])
951
+ *
952
+ * @public
953
+ * @async
954
+ * @param {Address[]} addresses
955
+ * @param {bigint[]} roles
956
+ * @param {?WriteParams<typeof managedBudgetAbi, 'grantRoles'>} [params]
957
+ * @returns {unknown}
958
+ */
959
+ grantRolesRaw(addresses: Address[], roles: bigint[], params?: WriteParams<typeof managedBudgetAbi, 'grantRoles'>): Promise<{
960
+ hash: `0x${string}`;
961
+ result: never;
962
+ }>;
963
+ /**
964
+ * Revoke many accounts' permissions on the budget.
965
+ *
966
+ * @example
967
+ * ```ts
968
+ * await budget.revokeRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])
969
+ *
970
+ * @public
971
+ * @async
972
+ * @param {Address[]} addresses
973
+ * @param {bigint[]} roles
974
+ * @param {?WriteParams<typeof managedBudgetAbi, 'revokeRoles'>} [params]
975
+ * @returns {unknown}
976
+ */
977
+ revokeRoles(addresses: Address[], roles: bigint[], params?: WriteParams<typeof managedBudgetAbi, 'revokeRoles'>): Promise<never>;
978
+ /**
979
+ * Revoke many accounts' permissions on the budget.
980
+ *
981
+ * @example
982
+ * ```ts
983
+ * await budget.revokeRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])
984
+ * @public
985
+ * @async
986
+ * @param {Address[]} addresses
987
+ * @param {bigint[]} roles
988
+ * @param {?WriteParams<typeof managedBudgetAbi, 'revokeRoles'>} [params]
989
+ * @returns {unknown}
990
+ */
991
+ revokeRolesRaw(addresses: Address[], roles: bigint[], params?: WriteParams<typeof managedBudgetAbi, 'revokeRoles'>): Promise<{
992
+ hash: `0x${string}`;
993
+ result: never;
994
+ }>;
995
+ /**
996
+ * Return an array of the roles assigned to the given account.
997
+ * @example
998
+ * ```ts
999
+ * (await budget.rolesOf(0xfoo)).includes(ManagedBudgetRoles.ADMIN)
1000
+ * @public
1001
+ * @param {Address} account
1002
+ * @param {?ReadParams<typeof managedBudgetAbi, 'rolesOf'>} [params]
1003
+ * @returns {Promise<Array<bigint>>}
1004
+ */
1005
+ rolesOf(account: Address, params?: ReadParams<typeof managedBudgetAbi, 'rolesOf'>): Promise<(2n | 1n)[]>;
1006
+ /**
1007
+ * Returns whether given account has any of the provided roles bitmap.
1008
+ *
1009
+ * @example
1010
+ * ```ts
1011
+ * await budget.hasAnyRole(0xfoo, ManagedBudgetRoles.ADMIN | ManagedBudgetRoles.MANAGER)
1012
+ * @public
1013
+ * @param {Address} account
1014
+ * @param {bigint} roles
1015
+ * @param {?ReadParams<typeof managedBudgetAbi, 'hasAnyRole'>} [params]
1016
+ * @returns {Promise<boolean>}
1017
+ */
1018
+ hasAnyRole(account: Address, roles: bigint, params?: ReadParams<typeof managedBudgetAbi, 'hasAnyRole'>): Promise<boolean>;
1019
+ /**
1020
+ * Returns whether given account has all of the provided roles bitmap.
1021
+ *
1022
+ * @example
1023
+ * ```ts
1024
+ * await budget.hasAllRoles(0xfoo, ManagedBudgetRoles.ADMIN & ManagedBudgetRoles.MANAGER)
1025
+ *
1026
+ * @public
1027
+ * @param {Address} account
1028
+ * @param {bigint} roles
1029
+ * @param {?ReadParams<typeof managedBudgetAbi, 'hasAllRoles'>} [params]
1030
+ * @returns {*}
1031
+ */
1032
+ hasAllRoles(account: Address, roles: bigint, params?: ReadParams<typeof managedBudgetAbi, 'hasAllRoles'>): Promise<boolean>;
1033
+ /**
1034
+ * Check if the given account is authorized to use the budget
1035
+ *
1036
+ * @public
1037
+ * @param {Address} account
1038
+ * @param {?ReadParams<typeof managedBudgetAbi, 'isAuthorized'>} [params]
1039
+ * @returns {Promise<boolean>} - True if the account is authorized
1040
+ */
1041
+ isAuthorized(account: Address, params?: ReadParams<typeof managedBudgetAbi, 'isAuthorized'>): Promise<boolean>;
1042
+ /**
1043
+ * Get the owner of the budget
1044
+ *
1045
+ * @public
1046
+ * @param {?ReadParams<typeof managedBudgetAbi, 'owner'>} [params]
1047
+ * @returns {Promise<Address>}
1048
+ */
1049
+ owner(params?: ReadParams<typeof managedBudgetAbi, 'owner'>): Promise<`0x${string}`>;
1050
+ /**
1051
+ * Get the total amount of assets allocated to the budget, including any that have been distributed
1052
+ * If a tokenId is provided, get the total amount of ERC1155 assets allocated to the budget, including any that have been distributed
1053
+ *
1054
+ * @public
1055
+ * @param {Address} asset - The address of the asset
1056
+ * @param {?(bigint | undefined)} [tokenId] - The ID of the token
1057
+ * @param {?ReadParams<typeof managedBudgetAbi, 'total'>} [params]
1058
+ * @returns {Promise<bigint>} - The total amount of assets
1059
+ */
1060
+ total(asset: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof managedBudgetAbi, 'total'>): Promise<never>;
1061
+ /**
1062
+ * Get the amount of assets available for distribution from the budget.
1063
+ * If a tokenId is provided, get the amount of ERC1155 assets available for distribution from the budget
1064
+ *
1065
+ * @public
1066
+ * @param {Address} asset
1067
+ * @param {?(bigint | undefined)} [tokenId]
1068
+ * @param {?ReadParams<typeof managedBudgetAbi, 'available'>} [params]
1069
+ * @returns {Promise<bigint>} - The amount of assets available
1070
+ */
1071
+ available(asset: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof managedBudgetAbi, 'available'>): Promise<never>;
1072
+ /**
1073
+ * Get the amount of assets that have been distributed from the budget.
1074
+ * If a tokenId is provided, get the amount of ERC1155 assets that have been distributed from the budget
1075
+ *
1076
+ * @public
1077
+ * @param {Address} asset
1078
+ * @param {?(bigint | undefined)} [tokenId]
1079
+ * @param {?ReadParams<typeof managedBudgetAbi, 'distributed'>} [params]
1080
+ * @returns {Promise<bigint>} - The amount of assets distributed
1081
+ */
1082
+ distributed(asset: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof managedBudgetAbi, 'distributed'>): Promise<never>;
1083
+ /**
1084
+ * @inheritdoc
1085
+ *
1086
+ * @public
1087
+ * @param {?ManagedBudgetPayload} [_payload]
1088
+ * @param {?DeployableOptions} [_options]
1089
+ * @returns {GenericDeployableParams}
1090
+ */
1091
+ buildParameters(_payload?: ManagedBudgetPayload, _options?: DeployableOptions): GenericDeployableParams;
1092
+ }
1093
+ /**
1094
+ * Given a {@link ManagedBudgetPayload}, properly encode a `ManagedBudget.InitPayload` for use with {@link ManagedBudget} initialization.
1095
+ *
1096
+ * @param {ManagedBudgetPayload} param0
1097
+ * @param {Address} param0.owner - The budget's owner
1098
+ * @param {{}} param0.authorized - List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.
1099
+ * @param {{}} param0.roles - List of roles to assign to the corresponding account by index.
1100
+ * @returns {*}
1101
+ */
1102
+ export declare const prepareManagedBudgetPayload: ({ owner, authorized, roles, }: ManagedBudgetPayload) => `0x${string}`;
1103
+ //# sourceMappingURL=ManagedBudget.d.ts.map