@boostxyz/sdk 0.0.0-alpha.2 → 0.0.0-alpha.21

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 (271) hide show
  1. package/dist/Actions/Action.cjs +2 -1
  2. package/dist/Actions/Action.cjs.map +1 -0
  3. package/dist/Actions/Action.d.ts +1 -1
  4. package/dist/Actions/Action.d.ts.map +1 -1
  5. package/dist/Actions/Action.js +14 -12
  6. package/dist/Actions/Action.js.map +1 -0
  7. package/dist/Actions/ContractAction.d.ts +57 -14
  8. package/dist/Actions/ContractAction.d.ts.map +1 -1
  9. package/dist/Actions/ERC721MintAction.d.ts +50 -23
  10. package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
  11. package/dist/Actions/EventAction.cjs +2 -1
  12. package/dist/Actions/EventAction.cjs.map +1 -0
  13. package/dist/Actions/EventAction.d.ts +405 -36
  14. package/dist/Actions/EventAction.d.ts.map +1 -1
  15. package/dist/Actions/EventAction.js +15 -209
  16. package/dist/Actions/EventAction.js.map +1 -0
  17. package/dist/AllowLists/AllowList.cjs +2 -1
  18. package/dist/AllowLists/AllowList.cjs.map +1 -0
  19. package/dist/AllowLists/AllowList.d.ts +6 -5
  20. package/dist/AllowLists/AllowList.d.ts.map +1 -1
  21. package/dist/AllowLists/AllowList.js +46 -22
  22. package/dist/AllowLists/AllowList.js.map +1 -0
  23. package/dist/AllowLists/OpenAllowList.d.ts +423 -0
  24. package/dist/AllowLists/OpenAllowList.d.ts.map +1 -0
  25. package/dist/AllowLists/SimpleAllowList.cjs +2 -1
  26. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
  27. package/dist/AllowLists/SimpleAllowList.d.ts +124 -40
  28. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  29. package/dist/AllowLists/SimpleAllowList.js +76 -76
  30. package/dist/AllowLists/SimpleAllowList.js.map +1 -0
  31. package/dist/AllowLists/SimpleDenyList.cjs +2 -1
  32. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
  33. package/dist/AllowLists/SimpleDenyList.d.ts +234 -13
  34. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  35. package/dist/AllowLists/SimpleDenyList.js +12 -200
  36. package/dist/AllowLists/SimpleDenyList.js.map +1 -0
  37. package/dist/Auth/Auth.cjs +1 -0
  38. package/dist/Auth/Auth.cjs.map +1 -0
  39. package/dist/Auth/Auth.js +1 -0
  40. package/dist/Auth/Auth.js.map +1 -0
  41. package/dist/Auth/PassthroughAuth.cjs +2 -1
  42. package/dist/Auth/PassthroughAuth.cjs.map +1 -0
  43. package/dist/Auth/PassthroughAuth.js +5 -4
  44. package/dist/Auth/PassthroughAuth.js.map +1 -0
  45. package/dist/Boost.cjs +2 -1
  46. package/dist/Boost.cjs.map +1 -0
  47. package/dist/Boost.d.ts +105 -14
  48. package/dist/Boost.d.ts.map +1 -1
  49. package/dist/Boost.js +138 -5
  50. package/dist/Boost.js.map +1 -0
  51. package/dist/BoostCore-DolmDuXW.cjs +3 -0
  52. package/dist/BoostCore-DolmDuXW.cjs.map +1 -0
  53. package/dist/BoostCore-Z97KVu4V.js +1448 -0
  54. package/dist/BoostCore-Z97KVu4V.js.map +1 -0
  55. package/dist/BoostCore.cjs +2 -2
  56. package/dist/BoostCore.cjs.map +1 -0
  57. package/dist/BoostCore.d.ts +788 -79
  58. package/dist/BoostCore.d.ts.map +1 -1
  59. package/dist/BoostCore.js +30 -1103
  60. package/dist/BoostCore.js.map +1 -0
  61. package/dist/BoostRegistry.cjs +2 -1
  62. package/dist/BoostRegistry.cjs.map +1 -0
  63. package/dist/BoostRegistry.d.ts +95 -26
  64. package/dist/BoostRegistry.d.ts.map +1 -1
  65. package/dist/BoostRegistry.js +183 -89
  66. package/dist/BoostRegistry.js.map +1 -0
  67. package/dist/Budgets/Budget.cjs +2 -1
  68. package/dist/Budgets/Budget.cjs.map +1 -0
  69. package/dist/Budgets/Budget.d.ts +1 -1
  70. package/dist/Budgets/Budget.d.ts.map +1 -1
  71. package/dist/Budgets/Budget.js +15 -13
  72. package/dist/Budgets/Budget.js.map +1 -0
  73. package/dist/Budgets/ManagedBudget.cjs +2 -1
  74. package/dist/Budgets/ManagedBudget.cjs.map +1 -0
  75. package/dist/Budgets/ManagedBudget.d.ts +112 -192
  76. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  77. package/dist/Budgets/ManagedBudget.js +91 -291
  78. package/dist/Budgets/ManagedBudget.js.map +1 -0
  79. package/dist/Budgets/VestingBudget.d.ts +277 -91
  80. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  81. package/dist/Deployable/Contract.cjs +2 -1
  82. package/dist/Deployable/Contract.cjs.map +1 -0
  83. package/dist/Deployable/Contract.d.ts +4 -5
  84. package/dist/Deployable/Contract.d.ts.map +1 -1
  85. package/dist/Deployable/Contract.js +7 -8
  86. package/dist/Deployable/Contract.js.map +1 -0
  87. package/dist/Deployable/Deployable.cjs +1 -0
  88. package/dist/Deployable/Deployable.cjs.map +1 -0
  89. package/dist/Deployable/Deployable.d.ts +9 -3
  90. package/dist/Deployable/Deployable.d.ts.map +1 -1
  91. package/dist/Deployable/Deployable.js +10 -5
  92. package/dist/Deployable/Deployable.js.map +1 -0
  93. package/dist/Deployable/DeployableTarget.cjs +2 -1
  94. package/dist/Deployable/DeployableTarget.cjs.map +1 -0
  95. package/dist/Deployable/DeployableTarget.d.ts +16 -15
  96. package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
  97. package/dist/Deployable/DeployableTarget.js +49 -42
  98. package/dist/Deployable/DeployableTarget.js.map +1 -0
  99. package/dist/Deployable/DeployableTargetWithRBAC.cjs +2 -0
  100. package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -0
  101. package/dist/Deployable/DeployableTargetWithRBAC.d.ts +179 -0
  102. package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -0
  103. package/dist/Deployable/DeployableTargetWithRBAC.js +222 -0
  104. package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -0
  105. package/dist/EventAction-CBKzuNoN.cjs +2 -0
  106. package/dist/EventAction-CBKzuNoN.cjs.map +1 -0
  107. package/dist/EventAction-DWuuc_Qy.js +1528 -0
  108. package/dist/EventAction-DWuuc_Qy.js.map +1 -0
  109. package/dist/Incentive-BxzEtN26.js +298 -0
  110. package/dist/Incentive-BxzEtN26.js.map +1 -0
  111. package/dist/Incentive-CrF3-ayL.cjs +2 -0
  112. package/dist/Incentive-CrF3-ayL.cjs.map +1 -0
  113. package/dist/Incentives/AllowListIncentive.cjs +2 -1
  114. package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
  115. package/dist/Incentives/AllowListIncentive.d.ts +65 -21
  116. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  117. package/dist/Incentives/AllowListIncentive.js +52 -36
  118. package/dist/Incentives/AllowListIncentive.js.map +1 -0
  119. package/dist/Incentives/CGDAIncentive.cjs +2 -1
  120. package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
  121. package/dist/Incentives/CGDAIncentive.d.ts +315 -26
  122. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  123. package/dist/Incentives/CGDAIncentive.js +64 -39
  124. package/dist/Incentives/CGDAIncentive.js.map +1 -0
  125. package/dist/Incentives/ERC1155Incentive.d.ts +291 -43
  126. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  127. package/dist/Incentives/ERC20Incentive.cjs +2 -1
  128. package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
  129. package/dist/Incentives/ERC20Incentive.d.ts +270 -33
  130. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  131. package/dist/Incentives/ERC20Incentive.js +69 -46
  132. package/dist/Incentives/ERC20Incentive.js.map +1 -0
  133. package/dist/{Budgets/SimpleBudget.d.ts → Incentives/ERC20VariableCriteriaIncentive.d.ts} +338 -421
  134. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
  135. package/dist/Incentives/ERC20VariableIncentive.d.ts +262 -32
  136. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  137. package/dist/Incentives/Incentive.cjs +2 -1
  138. package/dist/Incentives/Incentive.cjs.map +1 -0
  139. package/dist/Incentives/Incentive.d.ts +5 -8
  140. package/dist/Incentives/Incentive.d.ts.map +1 -1
  141. package/dist/Incentives/Incentive.js +17 -278
  142. package/dist/Incentives/Incentive.js.map +1 -0
  143. package/dist/Incentives/PointsIncentive.cjs +2 -1
  144. package/dist/Incentives/PointsIncentive.cjs.map +1 -0
  145. package/dist/Incentives/PointsIncentive.d.ts +81 -23
  146. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  147. package/dist/Incentives/PointsIncentive.js +57 -36
  148. package/dist/Incentives/PointsIncentive.js.map +1 -0
  149. package/dist/SimpleDenyList-BUR17Tt1.cjs +2 -0
  150. package/dist/SimpleDenyList-BUR17Tt1.cjs.map +1 -0
  151. package/dist/SimpleDenyList-CGaWjuld.js +132 -0
  152. package/dist/SimpleDenyList-CGaWjuld.js.map +1 -0
  153. package/dist/Validators/SignerValidator.cjs +2 -1
  154. package/dist/Validators/SignerValidator.cjs.map +1 -0
  155. package/dist/Validators/SignerValidator.d.ts +310 -17
  156. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  157. package/dist/Validators/SignerValidator.js +165 -36
  158. package/dist/Validators/SignerValidator.js.map +1 -0
  159. package/dist/Validators/Validator.cjs +2 -1
  160. package/dist/Validators/Validator.cjs.map +1 -0
  161. package/dist/Validators/Validator.d.ts +2 -2
  162. package/dist/Validators/Validator.d.ts.map +1 -1
  163. package/dist/Validators/Validator.js +10 -8
  164. package/dist/Validators/Validator.js.map +1 -0
  165. package/dist/claiming.cjs +2 -0
  166. package/dist/claiming.cjs.map +1 -0
  167. package/dist/claiming.d.ts +43 -0
  168. package/dist/claiming.d.ts.map +1 -0
  169. package/dist/claiming.js +17 -0
  170. package/dist/claiming.js.map +1 -0
  171. package/dist/componentInterfaces-BBCFkrZv.js +14 -0
  172. package/dist/componentInterfaces-BBCFkrZv.js.map +1 -0
  173. package/dist/componentInterfaces-DRI_dQ-P.cjs +2 -0
  174. package/dist/componentInterfaces-DRI_dQ-P.cjs.map +1 -0
  175. package/dist/deployments-DVXioW2i.cjs +2 -0
  176. package/dist/deployments-DVXioW2i.cjs.map +1 -0
  177. package/dist/deployments-oykLv3_Z.js +43 -0
  178. package/dist/deployments-oykLv3_Z.js.map +1 -0
  179. package/dist/deployments.json +44 -0
  180. package/dist/errors.cjs +2 -1
  181. package/dist/errors.cjs.map +1 -0
  182. package/dist/errors.d.ts +421 -1
  183. package/dist/errors.d.ts.map +1 -1
  184. package/dist/errors.js +297 -39
  185. package/dist/errors.js.map +1 -0
  186. package/dist/{generated-x_abr3Yv.js → generated-CKt2yCQd.js} +3143 -3002
  187. package/dist/generated-CKt2yCQd.js.map +1 -0
  188. package/dist/generated-CyTNlOwM.cjs +3 -0
  189. package/dist/generated-CyTNlOwM.cjs.map +1 -0
  190. package/dist/index.cjs +2 -1
  191. package/dist/index.cjs.map +1 -0
  192. package/dist/index.d.ts +10 -9
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +144 -1353
  195. package/dist/index.js.map +1 -0
  196. package/dist/transfers.cjs +2 -0
  197. package/dist/transfers.cjs.map +1 -0
  198. package/dist/transfers.d.ts +198 -0
  199. package/dist/transfers.d.ts.map +1 -0
  200. package/dist/transfers.js +84 -0
  201. package/dist/transfers.js.map +1 -0
  202. package/dist/utils.cjs +2 -1
  203. package/dist/utils.cjs.map +1 -0
  204. package/dist/utils.d.ts +26 -1350
  205. package/dist/utils.d.ts.map +1 -1
  206. package/dist/utils.js +38 -636
  207. package/dist/utils.js.map +1 -0
  208. package/package.json +37 -11
  209. package/src/Actions/Action.test.ts +79 -0
  210. package/src/Actions/Action.ts +61 -0
  211. package/src/Actions/ContractAction.test.ts +197 -0
  212. package/src/Actions/ContractAction.ts +300 -0
  213. package/src/Actions/ERC721MintAction.test.ts +112 -0
  214. package/src/Actions/ERC721MintAction.ts +291 -0
  215. package/src/Actions/EventAction.test.ts +787 -0
  216. package/src/Actions/EventAction.ts +1218 -0
  217. package/src/AllowLists/AllowList.test.ts +64 -0
  218. package/src/AllowLists/AllowList.ts +62 -0
  219. package/src/AllowLists/OpenAllowList.test.ts +40 -0
  220. package/src/AllowLists/OpenAllowList.ts +45 -0
  221. package/src/AllowLists/SimpleAllowList.test.ts +52 -0
  222. package/src/AllowLists/SimpleAllowList.ts +262 -0
  223. package/src/AllowLists/SimpleDenyList.test.ts +52 -0
  224. package/src/AllowLists/SimpleDenyList.ts +250 -0
  225. package/src/Auth/Auth.ts +11 -0
  226. package/src/Auth/PassthroughAuth.test.ts +12 -0
  227. package/src/Auth/PassthroughAuth.ts +80 -0
  228. package/src/Boost.ts +287 -0
  229. package/src/BoostCore.test.ts +894 -0
  230. package/src/BoostCore.ts +1438 -0
  231. package/src/BoostRegistry.test.ts +53 -0
  232. package/src/BoostRegistry.ts +588 -0
  233. package/src/Budgets/Budget.test.ts +27 -0
  234. package/src/Budgets/Budget.ts +60 -0
  235. package/src/Budgets/ManagedBudget.test.ts +217 -0
  236. package/src/Budgets/ManagedBudget.ts +534 -0
  237. package/src/Budgets/VestingBudget.test.ts +123 -0
  238. package/src/Budgets/VestingBudget.ts +530 -0
  239. package/src/Deployable/Contract.ts +228 -0
  240. package/src/Deployable/Deployable.ts +250 -0
  241. package/src/Deployable/DeployableTarget.ts +234 -0
  242. package/src/Deployable/DeployableTargetWithRBAC.ts +323 -0
  243. package/src/Incentives/AllowListIncentive.test.ts +143 -0
  244. package/src/Incentives/AllowListIncentive.ts +336 -0
  245. package/src/Incentives/CGDAIncentive.test.ts +135 -0
  246. package/src/Incentives/CGDAIncentive.ts +476 -0
  247. package/src/Incentives/ERC1155Incentive.test.ts +87 -0
  248. package/src/Incentives/ERC1155Incentive.ts +465 -0
  249. package/src/Incentives/ERC20Incentive.test.ts +133 -0
  250. package/src/Incentives/ERC20Incentive.ts +490 -0
  251. package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +184 -0
  252. package/src/Incentives/ERC20VariableCriteriaIncentive.ts +309 -0
  253. package/src/Incentives/ERC20VariableIncentive.test.ts +139 -0
  254. package/src/Incentives/ERC20VariableIncentive.ts +428 -0
  255. package/src/Incentives/Incentive.test.ts +95 -0
  256. package/src/Incentives/Incentive.ts +86 -0
  257. package/src/Incentives/PointsIncentive.test.ts +138 -0
  258. package/src/Incentives/PointsIncentive.ts +367 -0
  259. package/src/Validators/SignerValidator.test.ts +159 -0
  260. package/src/Validators/SignerValidator.ts +683 -0
  261. package/src/Validators/Validator.test.ts +21 -0
  262. package/src/Validators/Validator.ts +55 -0
  263. package/src/claiming.ts +56 -0
  264. package/src/errors.ts +866 -0
  265. package/src/index.test.ts +122 -0
  266. package/src/index.ts +58 -0
  267. package/src/transfers.ts +284 -0
  268. package/src/utils.test.ts +44 -0
  269. package/src/utils.ts +247 -0
  270. package/dist/Budgets/SimpleBudget.d.ts.map +0 -1
  271. package/dist/generated-BaaleHW-.cjs +0 -2
@@ -1,63 +1,78 @@
1
- import { simpleBudgetAbi } from '@boostxyz/evm';
2
- import { type Address, type ContractEventName } from 'viem';
1
+ import { erc20VariableCriteriaIncentiveAbi } from '@boostxyz/evm';
2
+ import { type Address, type Hex } from 'viem';
3
+ import { SignatureType } from '../Actions/EventAction';
3
4
  import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
5
  import { DeployableTarget } from '../Deployable/DeployableTarget';
5
- import { type ERC1155TransferPayload, type FungibleTransferPayload, type GenericLog, type ReadParams, RegistryType, type SimpleBudgetPayload, type WriteParams } from '../utils';
6
- export { simpleBudgetAbi };
7
- export type { ERC1155TransferPayload, FungibleTransferPayload, SimpleBudgetPayload, };
8
- /**
9
- * A generic `viem.Log` event with support for `SimpleBudget` event types.
10
- *
11
- * @export
12
- * @typedef {SimpleBudgetLog}
13
- * @template {ContractEventName<typeof simpleBudgetAbi>} [event=ContractEventName<
14
- * typeof simpleBudgetAbi
15
- * >]
16
- */
17
- export type SimpleBudgetLog<event extends ContractEventName<typeof simpleBudgetAbi> = ContractEventName<typeof simpleBudgetAbi>> = GenericLog<typeof simpleBudgetAbi, event>;
18
- /**
19
- * Typeguard to determine if a transfer payload is a Fungible Transfer
20
- *
21
- * @export
22
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
23
- * @returns {transfer is FungibleTransferPayload}
24
- */
25
- export declare function isFungibleTransfer(transfer: FungibleTransferPayload | ERC1155TransferPayload): transfer is FungibleTransferPayload;
26
- /**
27
- * Typeguard to determine if a transfer payload is an ERC1155 Transfer
28
- *
29
- * @export
30
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
31
- * @returns {transfer is ERC1155TransferPayload}
32
- */
33
- export declare function isERC1155TransferPayload(transfer: FungibleTransferPayload | ERC1155TransferPayload): transfer is ERC1155TransferPayload;
34
- /**
35
- * Given either a Fungible transfer, or ERC1155 transfer, will properly encode parameters for transfers, claims, disbursements, allocations, etc.
36
- *
37
- * @export
38
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
39
- * @returns {*}
40
- * @throws {@link UnknownTransferPayloadSupplied}
41
- */
42
- export declare function prepareTransfer(transfer: FungibleTransferPayload | ERC1155TransferPayload): `0x${string}`;
6
+ import type { ReadParams } from '../utils';
7
+ export interface ERC20VariableCriteriaIncentivePayload {
8
+ /**
9
+ * The address of the incentivized asset.
10
+ *
11
+ * @type {Address}
12
+ */
13
+ asset: Address;
14
+ /**
15
+ * The amount of the asset to distribute as reward.
16
+ *
17
+ * @type {bigint}
18
+ */
19
+ reward: bigint;
20
+ /**
21
+ * The total spending limit of the asset that will be distributed.
22
+ *
23
+ * @type {bigint}
24
+ */
25
+ limit: bigint;
26
+ /**
27
+ * The criteria for the incentive that determines how the reward is distributed.
28
+ *
29
+ * @type {IncentiveCriteria}
30
+ */
31
+ criteria: IncentiveCriteria;
32
+ }
33
+ export interface IncentiveCriteria {
34
+ /**
35
+ * The type of criteria used, either function signature or event signature.
36
+ *
37
+ * @type {SignatureType}
38
+ */
39
+ criteriaType: SignatureType;
40
+ /**
41
+ * The function or event signature used for criteria matching.
42
+ *
43
+ * @type {Hex}
44
+ */
45
+ signature: Hex;
46
+ /**
47
+ * The index of the field from where the scalar value is extracted.
48
+ *
49
+ * @type {number}
50
+ */
51
+ fieldIndex: number;
52
+ /**
53
+ * The address of the contract where the event/function is called/emitted.
54
+ *
55
+ * @type {Address}
56
+ */
57
+ targetContract: Address;
58
+ }
59
+ export interface ReadIncentiveCriteriaParams extends ReadParams<typeof erc20VariableCriteriaIncentiveAbi, 'getIncentiveCriteria'> {
60
+ }
61
+ export interface GetIncentiveScalarParams {
62
+ hash: Hex;
63
+ }
43
64
  /**
44
- * A minimal budget implementation that simply holds and distributes tokens (ERC20-like and native)
45
- * This type of budget supports ETH, ERC20, and ERC1155 assets only
46
- *
47
- * @export
48
- * @class SimpleBudget
49
- * @typedef {SimpleBudget}
50
- * @extends {DeployableTarget<SimpleBudgetPayload>}
65
+ * Extended ERC20 Variable Criteria Incentive class that fetches incentive criteria and scalar
51
66
  */
52
- export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload, typeof simpleBudgetAbi> {
67
+ export declare class ERC20VariableCriteriaIncentive extends DeployableTarget<ERC20VariableCriteriaIncentivePayload, typeof erc20VariableCriteriaIncentiveAbi> {
53
68
  readonly abi: readonly [{
54
- readonly type: "constructor";
69
+ readonly type: "error";
55
70
  readonly inputs: readonly [];
56
- readonly stateMutability: "nonpayable";
71
+ readonly name: "AlreadyInitialized";
57
72
  }, {
58
73
  readonly type: "error";
59
74
  readonly inputs: readonly [];
60
- readonly name: "AlreadyInitialized";
75
+ readonly name: "ClaimFailed";
61
76
  }, {
62
77
  readonly type: "error";
63
78
  readonly inputs: readonly [];
@@ -84,16 +99,8 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
84
99
  readonly name: "InsufficientFunds";
85
100
  }, {
86
101
  readonly type: "error";
87
- readonly inputs: readonly [{
88
- readonly name: "asset";
89
- readonly internalType: "address";
90
- readonly type: "address";
91
- }, {
92
- readonly name: "amount";
93
- readonly internalType: "uint256";
94
- readonly type: "uint256";
95
- }];
96
- readonly name: "InvalidAllocation";
102
+ readonly inputs: readonly [];
103
+ readonly name: "InvalidInitialization";
97
104
  }, {
98
105
  readonly type: "error";
99
106
  readonly inputs: readonly [];
@@ -117,31 +124,11 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
117
124
  }, {
118
125
  readonly type: "error";
119
126
  readonly inputs: readonly [];
120
- readonly name: "NotImplemented";
127
+ readonly name: "NotClaimable";
121
128
  }, {
122
129
  readonly type: "error";
123
130
  readonly inputs: readonly [];
124
131
  readonly name: "NotInitializing";
125
- }, {
126
- readonly type: "error";
127
- readonly inputs: readonly [];
128
- readonly name: "Reentrancy";
129
- }, {
130
- readonly type: "error";
131
- readonly inputs: readonly [{
132
- readonly name: "asset";
133
- readonly internalType: "address";
134
- readonly type: "address";
135
- }, {
136
- readonly name: "to";
137
- readonly internalType: "address";
138
- readonly type: "address";
139
- }, {
140
- readonly name: "amount";
141
- readonly internalType: "uint256";
142
- readonly type: "uint256";
143
- }];
144
- readonly name: "TransferFailed";
145
132
  }, {
146
133
  readonly type: "error";
147
134
  readonly inputs: readonly [];
@@ -150,37 +137,17 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
150
137
  readonly type: "event";
151
138
  readonly anonymous: false;
152
139
  readonly inputs: readonly [{
153
- readonly name: "account";
140
+ readonly name: "recipient";
154
141
  readonly internalType: "address";
155
142
  readonly type: "address";
156
143
  readonly indexed: true;
157
144
  }, {
158
- readonly name: "isAuthorized";
159
- readonly internalType: "bool";
160
- readonly type: "bool";
161
- readonly indexed: false;
162
- }];
163
- readonly name: "Authorized";
164
- }, {
165
- readonly type: "event";
166
- readonly anonymous: false;
167
- readonly inputs: readonly [{
168
- readonly name: "asset";
169
- readonly internalType: "address";
170
- readonly type: "address";
171
- readonly indexed: true;
172
- }, {
173
- readonly name: "to";
174
- readonly internalType: "address";
175
- readonly type: "address";
176
- readonly indexed: false;
177
- }, {
178
- readonly name: "amount";
179
- readonly internalType: "uint256";
180
- readonly type: "uint256";
145
+ readonly name: "data";
146
+ readonly internalType: "bytes";
147
+ readonly type: "bytes";
181
148
  readonly indexed: false;
182
149
  }];
183
- readonly name: "Distributed";
150
+ readonly name: "Claimed";
184
151
  }, {
185
152
  readonly type: "event";
186
153
  readonly anonymous: false;
@@ -227,60 +194,98 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
227
194
  }];
228
195
  readonly name: "OwnershipTransferred";
229
196
  }, {
230
- readonly type: "fallback";
197
+ readonly type: "event";
198
+ readonly anonymous: false;
199
+ readonly inputs: readonly [{
200
+ readonly name: "user";
201
+ readonly internalType: "address";
202
+ readonly type: "address";
203
+ readonly indexed: true;
204
+ }, {
205
+ readonly name: "roles";
206
+ readonly internalType: "uint256";
207
+ readonly type: "uint256";
208
+ readonly indexed: true;
209
+ }];
210
+ readonly name: "RolesUpdated";
211
+ }, {
212
+ readonly type: "function";
213
+ readonly inputs: readonly [];
214
+ readonly name: "ADMIN_ROLE";
215
+ readonly outputs: readonly [{
216
+ readonly name: "";
217
+ readonly internalType: "uint256";
218
+ readonly type: "uint256";
219
+ }];
220
+ readonly stateMutability: "view";
221
+ }, {
222
+ readonly type: "function";
223
+ readonly inputs: readonly [];
224
+ readonly name: "MANAGER_ROLE";
225
+ readonly outputs: readonly [{
226
+ readonly name: "";
227
+ readonly internalType: "uint256";
228
+ readonly type: "uint256";
229
+ }];
230
+ readonly stateMutability: "view";
231
+ }, {
232
+ readonly type: "function";
233
+ readonly inputs: readonly [];
234
+ readonly name: "asset";
235
+ readonly outputs: readonly [{
236
+ readonly name: "";
237
+ readonly internalType: "address";
238
+ readonly type: "address";
239
+ }];
240
+ readonly stateMutability: "view";
241
+ }, {
242
+ readonly type: "function";
243
+ readonly inputs: readonly [];
244
+ readonly name: "cancelOwnershipHandover";
245
+ readonly outputs: readonly [];
231
246
  readonly stateMutability: "payable";
232
247
  }, {
233
248
  readonly type: "function";
234
249
  readonly inputs: readonly [{
250
+ readonly name: "claimTarget";
251
+ readonly internalType: "address";
252
+ readonly type: "address";
253
+ }, {
235
254
  readonly name: "data_";
236
255
  readonly internalType: "bytes";
237
256
  readonly type: "bytes";
238
257
  }];
239
- readonly name: "allocate";
258
+ readonly name: "claim";
240
259
  readonly outputs: readonly [{
241
260
  readonly name: "";
242
261
  readonly internalType: "bool";
243
262
  readonly type: "bool";
244
263
  }];
245
- readonly stateMutability: "payable";
264
+ readonly stateMutability: "nonpayable";
246
265
  }, {
247
266
  readonly type: "function";
248
267
  readonly inputs: readonly [{
249
- readonly name: "asset_";
268
+ readonly name: "";
250
269
  readonly internalType: "address";
251
270
  readonly type: "address";
252
271
  }];
253
- readonly name: "available";
272
+ readonly name: "claimed";
254
273
  readonly outputs: readonly [{
255
274
  readonly name: "";
256
- readonly internalType: "uint256";
257
- readonly type: "uint256";
275
+ readonly internalType: "bool";
276
+ readonly type: "bool";
258
277
  }];
259
278
  readonly stateMutability: "view";
260
279
  }, {
261
280
  readonly type: "function";
262
- readonly inputs: readonly [{
263
- readonly name: "asset_";
264
- readonly internalType: "address";
265
- readonly type: "address";
266
- }, {
267
- readonly name: "tokenId_";
268
- readonly internalType: "uint256";
269
- readonly type: "uint256";
270
- }];
271
- readonly name: "available";
281
+ readonly inputs: readonly [];
282
+ readonly name: "claims";
272
283
  readonly outputs: readonly [{
273
284
  readonly name: "";
274
285
  readonly internalType: "uint256";
275
286
  readonly type: "uint256";
276
287
  }];
277
288
  readonly stateMutability: "view";
278
- }, {
279
- readonly type: "function";
280
- readonly inputs: readonly [];
281
- readonly name: "cancelOwnershipHandover";
282
- readonly outputs: readonly [];
283
- readonly stateMutability: "payable";
284
289
  }, {
285
290
  readonly type: "function";
286
291
  readonly inputs: readonly [{
@@ -291,8 +296,12 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
291
296
  readonly name: "clawback";
292
297
  readonly outputs: readonly [{
293
298
  readonly name: "";
294
- readonly internalType: "bool";
295
- readonly type: "bool";
299
+ readonly internalType: "uint256";
300
+ readonly type: "uint256";
301
+ }, {
302
+ readonly name: "";
303
+ readonly internalType: "address";
304
+ readonly type: "address";
296
305
  }];
297
306
  readonly stateMutability: "nonpayable";
298
307
  }, {
@@ -307,74 +316,137 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
307
316
  readonly stateMutability: "payable";
308
317
  }, {
309
318
  readonly type: "function";
310
- readonly inputs: readonly [{
311
- readonly name: "data_";
312
- readonly internalType: "bytes";
313
- readonly type: "bytes";
314
- }];
315
- readonly name: "disburse";
319
+ readonly inputs: readonly [];
320
+ readonly name: "currentReward";
316
321
  readonly outputs: readonly [{
317
322
  readonly name: "";
318
- readonly internalType: "bool";
319
- readonly type: "bool";
323
+ readonly internalType: "uint256";
324
+ readonly type: "uint256";
320
325
  }];
321
- readonly stateMutability: "nonpayable";
326
+ readonly stateMutability: "view";
322
327
  }, {
323
328
  readonly type: "function";
324
- readonly inputs: readonly [{
325
- readonly name: "data_";
326
- readonly internalType: "bytes[]";
327
- readonly type: "bytes[]";
329
+ readonly inputs: readonly [];
330
+ readonly name: "getComponentInterface";
331
+ readonly outputs: readonly [{
332
+ readonly name: "";
333
+ readonly internalType: "bytes4";
334
+ readonly type: "bytes4";
328
335
  }];
329
- readonly name: "disburseBatch";
336
+ readonly stateMutability: "pure";
337
+ }, {
338
+ readonly type: "function";
339
+ readonly inputs: readonly [];
340
+ readonly name: "getIncentiveCriteria";
330
341
  readonly outputs: readonly [{
331
342
  readonly name: "";
332
- readonly internalType: "bool";
333
- readonly type: "bool";
343
+ readonly internalType: "struct ERC20VariableCriteriaIncentive.IncentiveCriteria";
344
+ readonly type: "tuple";
345
+ readonly components: readonly [{
346
+ readonly name: "criteriaType";
347
+ readonly internalType: "enum SignatureType";
348
+ readonly type: "uint8";
349
+ }, {
350
+ readonly name: "signature";
351
+ readonly internalType: "bytes32";
352
+ readonly type: "bytes32";
353
+ }, {
354
+ readonly name: "fieldIndex";
355
+ readonly internalType: "uint8";
356
+ readonly type: "uint8";
357
+ }, {
358
+ readonly name: "targetContract";
359
+ readonly internalType: "address";
360
+ readonly type: "address";
361
+ }];
362
+ }];
363
+ readonly stateMutability: "view";
364
+ }, {
365
+ readonly type: "function";
366
+ readonly inputs: readonly [{
367
+ readonly name: "user";
368
+ readonly internalType: "address";
369
+ readonly type: "address";
370
+ }, {
371
+ readonly name: "roles";
372
+ readonly internalType: "uint256";
373
+ readonly type: "uint256";
334
374
  }];
375
+ readonly name: "grantRoles";
376
+ readonly outputs: readonly [];
377
+ readonly stateMutability: "payable";
378
+ }, {
379
+ readonly type: "function";
380
+ readonly inputs: readonly [{
381
+ readonly name: "accounts_";
382
+ readonly internalType: "address[]";
383
+ readonly type: "address[]";
384
+ }, {
385
+ readonly name: "roles_";
386
+ readonly internalType: "uint256[]";
387
+ readonly type: "uint256[]";
388
+ }];
389
+ readonly name: "grantRoles";
390
+ readonly outputs: readonly [];
335
391
  readonly stateMutability: "nonpayable";
336
392
  }, {
337
393
  readonly type: "function";
338
394
  readonly inputs: readonly [{
339
- readonly name: "asset_";
395
+ readonly name: "user";
340
396
  readonly internalType: "address";
341
397
  readonly type: "address";
398
+ }, {
399
+ readonly name: "roles";
400
+ readonly internalType: "uint256";
401
+ readonly type: "uint256";
342
402
  }];
343
- readonly name: "distributed";
403
+ readonly name: "hasAllRoles";
344
404
  readonly outputs: readonly [{
345
405
  readonly name: "";
346
- readonly internalType: "uint256";
347
- readonly type: "uint256";
406
+ readonly internalType: "bool";
407
+ readonly type: "bool";
348
408
  }];
349
409
  readonly stateMutability: "view";
350
410
  }, {
351
411
  readonly type: "function";
352
412
  readonly inputs: readonly [{
353
- readonly name: "asset_";
413
+ readonly name: "user";
354
414
  readonly internalType: "address";
355
415
  readonly type: "address";
356
416
  }, {
357
- readonly name: "tokenId_";
417
+ readonly name: "roles";
358
418
  readonly internalType: "uint256";
359
419
  readonly type: "uint256";
360
420
  }];
361
- readonly name: "distributed";
421
+ readonly name: "hasAnyRole";
362
422
  readonly outputs: readonly [{
363
423
  readonly name: "";
364
- readonly internalType: "uint256";
365
- readonly type: "uint256";
424
+ readonly internalType: "bool";
425
+ readonly type: "bool";
366
426
  }];
367
427
  readonly stateMutability: "view";
368
428
  }, {
369
429
  readonly type: "function";
370
430
  readonly inputs: readonly [];
371
- readonly name: "getComponentInterface";
431
+ readonly name: "incentiveCriteria";
372
432
  readonly outputs: readonly [{
373
- readonly name: "";
374
- readonly internalType: "bytes4";
375
- readonly type: "bytes4";
433
+ readonly name: "criteriaType";
434
+ readonly internalType: "enum SignatureType";
435
+ readonly type: "uint8";
436
+ }, {
437
+ readonly name: "signature";
438
+ readonly internalType: "bytes32";
439
+ readonly type: "bytes32";
440
+ }, {
441
+ readonly name: "fieldIndex";
442
+ readonly internalType: "uint8";
443
+ readonly type: "uint8";
444
+ }, {
445
+ readonly name: "targetContract";
446
+ readonly internalType: "address";
447
+ readonly type: "address";
376
448
  }];
377
- readonly stateMutability: "pure";
449
+ readonly stateMutability: "view";
378
450
  }, {
379
451
  readonly type: "function";
380
452
  readonly inputs: readonly [{
@@ -402,63 +474,31 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
402
474
  }, {
403
475
  readonly type: "function";
404
476
  readonly inputs: readonly [{
405
- readonly name: "";
477
+ readonly name: "claimTarget";
406
478
  readonly internalType: "address";
407
479
  readonly type: "address";
408
- }, {
409
- readonly name: "";
410
- readonly internalType: "address";
411
- readonly type: "address";
412
- }, {
413
- readonly name: "";
414
- readonly internalType: "uint256[]";
415
- readonly type: "uint256[]";
416
- }, {
417
- readonly name: "";
418
- readonly internalType: "uint256[]";
419
- readonly type: "uint256[]";
420
480
  }, {
421
481
  readonly name: "";
422
482
  readonly internalType: "bytes";
423
483
  readonly type: "bytes";
424
484
  }];
425
- readonly name: "onERC1155BatchReceived";
485
+ readonly name: "isClaimable";
426
486
  readonly outputs: readonly [{
427
487
  readonly name: "";
428
- readonly internalType: "bytes4";
429
- readonly type: "bytes4";
488
+ readonly internalType: "bool";
489
+ readonly type: "bool";
430
490
  }];
431
- readonly stateMutability: "pure";
491
+ readonly stateMutability: "view";
432
492
  }, {
433
493
  readonly type: "function";
434
- readonly inputs: readonly [{
435
- readonly name: "";
436
- readonly internalType: "address";
437
- readonly type: "address";
438
- }, {
439
- readonly name: "";
440
- readonly internalType: "address";
441
- readonly type: "address";
442
- }, {
443
- readonly name: "";
444
- readonly internalType: "uint256";
445
- readonly type: "uint256";
446
- }, {
494
+ readonly inputs: readonly [];
495
+ readonly name: "limit";
496
+ readonly outputs: readonly [{
447
497
  readonly name: "";
448
498
  readonly internalType: "uint256";
449
499
  readonly type: "uint256";
450
- }, {
451
- readonly name: "";
452
- readonly internalType: "bytes";
453
- readonly type: "bytes";
454
500
  }];
455
- readonly name: "onERC1155Received";
456
- readonly outputs: readonly [{
457
- readonly name: "";
458
- readonly internalType: "bytes4";
459
- readonly type: "bytes4";
460
- }];
461
- readonly stateMutability: "pure";
501
+ readonly stateMutability: "view";
462
502
  }, {
463
503
  readonly type: "function";
464
504
  readonly inputs: readonly [];
@@ -486,23 +526,33 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
486
526
  }, {
487
527
  readonly type: "function";
488
528
  readonly inputs: readonly [{
489
- readonly name: "";
529
+ readonly name: "data_";
490
530
  readonly internalType: "bytes";
491
531
  readonly type: "bytes";
492
532
  }];
493
- readonly name: "reconcile";
533
+ readonly name: "preflight";
494
534
  readonly outputs: readonly [{
495
- readonly name: "";
496
- readonly internalType: "uint256";
497
- readonly type: "uint256";
535
+ readonly name: "budgetData";
536
+ readonly internalType: "bytes";
537
+ readonly type: "bytes";
498
538
  }];
499
- readonly stateMutability: "nonpayable";
539
+ readonly stateMutability: "view";
500
540
  }, {
501
541
  readonly type: "function";
502
542
  readonly inputs: readonly [];
503
543
  readonly name: "renounceOwnership";
504
544
  readonly outputs: readonly [];
505
545
  readonly stateMutability: "payable";
546
+ }, {
547
+ readonly type: "function";
548
+ readonly inputs: readonly [{
549
+ readonly name: "roles";
550
+ readonly internalType: "uint256";
551
+ readonly type: "uint256";
552
+ }];
553
+ readonly name: "renounceRoles";
554
+ readonly outputs: readonly [];
555
+ readonly stateMutability: "payable";
506
556
  }, {
507
557
  readonly type: "function";
508
558
  readonly inputs: readonly [];
@@ -512,41 +562,51 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
512
562
  }, {
513
563
  readonly type: "function";
514
564
  readonly inputs: readonly [{
515
- readonly name: "account_";
565
+ readonly name: "user";
566
+ readonly internalType: "address";
567
+ readonly type: "address";
568
+ }, {
569
+ readonly name: "roles";
570
+ readonly internalType: "uint256";
571
+ readonly type: "uint256";
572
+ }];
573
+ readonly name: "revokeRoles";
574
+ readonly outputs: readonly [];
575
+ readonly stateMutability: "payable";
576
+ }, {
577
+ readonly type: "function";
578
+ readonly inputs: readonly [{
579
+ readonly name: "accounts_";
516
580
  readonly internalType: "address[]";
517
581
  readonly type: "address[]";
518
582
  }, {
519
- readonly name: "authorized_";
520
- readonly internalType: "bool[]";
521
- readonly type: "bool[]";
583
+ readonly name: "roles_";
584
+ readonly internalType: "uint256[]";
585
+ readonly type: "uint256[]";
522
586
  }];
523
- readonly name: "setAuthorized";
587
+ readonly name: "revokeRoles";
524
588
  readonly outputs: readonly [];
525
589
  readonly stateMutability: "nonpayable";
526
590
  }, {
527
591
  readonly type: "function";
528
- readonly inputs: readonly [{
529
- readonly name: "interfaceId";
530
- readonly internalType: "bytes4";
531
- readonly type: "bytes4";
532
- }];
533
- readonly name: "supportsInterface";
592
+ readonly inputs: readonly [];
593
+ readonly name: "reward";
534
594
  readonly outputs: readonly [{
535
595
  readonly name: "";
536
- readonly internalType: "bool";
537
- readonly type: "bool";
596
+ readonly internalType: "uint256";
597
+ readonly type: "uint256";
538
598
  }];
539
599
  readonly stateMutability: "view";
540
600
  }, {
541
601
  readonly type: "function";
542
602
  readonly inputs: readonly [{
543
- readonly name: "asset_";
603
+ readonly name: "user";
544
604
  readonly internalType: "address";
545
605
  readonly type: "address";
546
606
  }];
547
- readonly name: "total";
607
+ readonly name: "rolesOf";
548
608
  readonly outputs: readonly [{
549
- readonly name: "";
609
+ readonly name: "roles";
550
610
  readonly internalType: "uint256";
551
611
  readonly type: "uint256";
552
612
  }];
@@ -554,15 +614,35 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
554
614
  }, {
555
615
  readonly type: "function";
556
616
  readonly inputs: readonly [{
557
- readonly name: "asset_";
558
- readonly internalType: "address";
559
- readonly type: "address";
617
+ readonly name: "accounts_";
618
+ readonly internalType: "address[]";
619
+ readonly type: "address[]";
560
620
  }, {
561
- readonly name: "tokenId_";
562
- readonly internalType: "uint256";
563
- readonly type: "uint256";
621
+ readonly name: "authorized_";
622
+ readonly internalType: "bool[]";
623
+ readonly type: "bool[]";
564
624
  }];
565
- readonly name: "total";
625
+ readonly name: "setAuthorized";
626
+ readonly outputs: readonly [];
627
+ readonly stateMutability: "nonpayable";
628
+ }, {
629
+ readonly type: "function";
630
+ readonly inputs: readonly [{
631
+ readonly name: "interfaceId";
632
+ readonly internalType: "bytes4";
633
+ readonly type: "bytes4";
634
+ }];
635
+ readonly name: "supportsInterface";
636
+ readonly outputs: readonly [{
637
+ readonly name: "";
638
+ readonly internalType: "bool";
639
+ readonly type: "bool";
640
+ }];
641
+ readonly stateMutability: "view";
642
+ }, {
643
+ readonly type: "function";
644
+ readonly inputs: readonly [];
645
+ readonly name: "totalClaimed";
566
646
  readonly outputs: readonly [{
567
647
  readonly name: "";
568
648
  readonly internalType: "uint256";
@@ -579,215 +659,52 @@ export declare class SimpleBudget extends DeployableTarget<SimpleBudgetPayload,
579
659
  readonly name: "transferOwnership";
580
660
  readonly outputs: readonly [];
581
661
  readonly stateMutability: "payable";
582
- }, {
583
- readonly type: "receive";
584
- readonly stateMutability: "payable";
585
662
  }];
586
663
  /**
587
664
  * @inheritdoc
588
665
  *
589
666
  * @public
590
667
  * @static
591
- * @type {Address}
592
- */
593
- static base: Address;
594
- /**
595
- * @inheritdoc
596
- *
597
- * @public
598
- * @static
599
- * @type {RegistryType}
600
- */
601
- static registryType: RegistryType;
602
- /**
603
- * Allocates assets to the budget.
604
- * The caller must have already approved the contract to transfer the asset
605
- * If the asset transfer fails, the allocation will revert
606
- *
607
- * @public
608
- * @async
609
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
610
- * @param {?WriteParams<typeof simpleBudgetAbi, 'allocate'>} [params]
611
- * @returns {Promise<boolean>} - True if the allocation was successful
612
- */
613
- allocate(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof simpleBudgetAbi, 'allocate'>): Promise<boolean>;
614
- /**
615
- * Allocates assets to the budget.
616
- * The caller must have already approved the contract to transfer the asset
617
- * If the asset transfer fails, the allocation will revert
618
- *
619
- * @public
620
- * @async
621
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
622
- * @param {?WriteParams<typeof simpleBudgetAbi, 'allocate'>} [params]
623
- * @returns {Promise<boolean>} - True if the allocation was successful
624
- */
625
- allocateRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof simpleBudgetAbi, 'allocate'>): Promise<{
626
- hash: `0x${string}`;
627
- result: boolean;
628
- }>;
629
- /**
630
- * Clawbacks assets from the budget.
631
- * Only the owner can directly clawback assets from the budget
632
- * If the amount is zero, the entire balance of the asset will be transferred to the receiver
633
- * If the asset transfer fails, the reclamation will revert
634
- *
635
- * @public
636
- * @async
637
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
638
- * @param {?WriteParams<typeof simpleBudgetAbi, 'clawback'>} [params]
639
- * @returns {Promise<boolean>} - True if the request was successful
668
+ * @type {Record<number, Address>}
640
669
  */
641
- clawback(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof simpleBudgetAbi, 'clawback'>): Promise<boolean>;
670
+ static bases: Record<number, Address>;
642
671
  /**
643
- * Clawbacks assets from the budget.
644
- * Only the owner can directly clawback assets from the budget
645
- * If the amount is zero, the entire balance of the asset will be transferred to the receiver
646
- * If the asset transfer fails, the reclamation will revert
647
- *
648
- * @public
649
- * @async
650
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
651
- * @param {?WriteParams<typeof simpleBudgetAbi, 'clawback'>} [params]
652
- * @returns {Promise<boolean>} - True if the request was successful
672
+ *Functions from the ERC20VariableIncentive contract
653
673
  */
654
- clawbackRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof simpleBudgetAbi, 'clawback'>): Promise<{
655
- hash: `0x${string}`;
656
- result: boolean;
657
- }>;
658
674
  /**
659
- * Disburses assets from the budget to a single recipient
660
- * If the asset transfer fails, the disbursement will revert
675
+ * Fetches the IncentiveCriteria struct from the contract
661
676
  *
662
- * @public
663
- * @async
664
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
665
- * @param {?WriteParams<typeof simpleBudgetAbi, 'disburse'>} [params]
666
- * @returns {Promise<boolean>} - True if the disbursement was successful
677
+ * @returns {Promise<IncentiveCriteria>} Incentive criteria structure
678
+ * @throws {IncentiveCriteriaNotFoundError}
667
679
  */
668
- disburse(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof simpleBudgetAbi, 'disburse'>): Promise<boolean>;
680
+ getIncentiveCriteria(): Promise<IncentiveCriteria>;
669
681
  /**
670
- * Disburses assets from the budget to a single recipient
671
- * If the asset transfer fails, the disbursement will revert
682
+ * Fetches the incentive scalar from a transaction hash
672
683
  *
673
- * @public
674
- * @async
675
- * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
676
- * @param {?WriteParams<typeof simpleBudgetAbi, 'disburse'>} [params]
677
- * @returns {Promise<boolean>} - True if the disbursement was successful
684
+ * @param {GetIncentiveScalarParams} params
685
+ * @returns {Promise<bigint>}
686
+ * @throws {InvalidCriteriaTypeError | NoMatchingLogsError | DecodedArgsError}
678
687
  */
679
- disburseRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof simpleBudgetAbi, 'disburse'>): Promise<{
680
- hash: `0x${string}`;
681
- result: boolean;
682
- }>;
683
- /**
684
- * Disburses assets from the budget to multiple recipients
685
- *
686
- * @public
687
- * @async
688
- * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
689
- * @param {?WriteParams<typeof simpleBudgetAbi, 'disburseBatch'>} [params]
690
- * @returns {Promise<boolean>} - True if all disbursements were successful
691
- */
692
- disburseBatch(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams<typeof simpleBudgetAbi, 'disburseBatch'>): Promise<boolean>;
693
- /**
694
- * Disburses assets from the budget to multiple recipients
695
- *
696
- * @public
697
- * @async
698
- * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
699
- * @param {?WriteParams<typeof simpleBudgetAbi, 'disburseBatch'>} [params]
700
- * @returns {Promise<boolean>} - True if all disbursements were successful
701
- */
702
- disburseBatchRaw(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams<typeof simpleBudgetAbi, 'disburseBatch'>): Promise<{
703
- hash: `0x${string}`;
704
- result: boolean;
705
- }>;
706
- /**
707
- * Set the authorized status of the given accounts
708
- * The mechanism for managing authorization is left to the implementing contract
709
- *
710
- * @public
711
- * @async
712
- * @param {Address[]} addresses - The accounts to authorize or deauthorize
713
- * @param {boolean[]} allowed - The authorization status for the given accounts
714
- * @param {?WriteParams<typeof simpleBudgetAbi, 'setAuthorized'>} [params]
715
- * @returns {Promise<void>}
716
- */
717
- setAuthorized(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof simpleBudgetAbi, 'setAuthorized'>): Promise<void>;
718
- /**
719
- * Set the authorized status of the given accounts
720
- * The mechanism for managing authorization is left to the implementing contract
721
- *
722
- * @public
723
- * @async
724
- * @param {Address[]} addresses - The accounts to authorize or deauthorize
725
- * @param {boolean[]} allowed - The authorization status for the given accounts
726
- * @param {?WriteParams<typeof simpleBudgetAbi, 'setAuthorized'>} [params]
727
- * @returns {Promise<void>}
728
- */
729
- setAuthorizedRaw(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof simpleBudgetAbi, 'setAuthorized'>): Promise<{
730
- hash: `0x${string}`;
731
- result: void;
732
- }>;
733
- /**
734
- * Check if the given account is authorized to use the budget
735
- *
736
- * @public
737
- * @param {Address} account
738
- * @param {?ReadParams<typeof simpleBudgetAbi, 'isAuthorized'>} [params]
739
- * @returns {Promise<boolean>} - True if the account is authorized
740
- */
741
- isAuthorized(account: Address, params?: ReadParams<typeof simpleBudgetAbi, 'isAuthorized'>): Promise<boolean>;
742
- /**
743
- * Get the owner of the budget
744
- *
745
- * @public
746
- * @param {?ReadParams<typeof simpleBudgetAbi, 'owner'>} [params]
747
- * @returns {Promise<Address>}
748
- */
749
- owner(params?: ReadParams<typeof simpleBudgetAbi, 'owner'>): Promise<`0x${string}`>;
750
- /**
751
- * Get the total amount of assets allocated to the budget, including any that have been distributed
752
- * If a tokenId is provided, get the total amount of ERC1155 assets allocated to the budget, including any that have been distributed
753
- *
754
- * @public
755
- * @param {Address} asset - The address of the asset
756
- * @param {?(bigint | undefined)} [tokenId] - The ID of the token
757
- * @param {?ReadParams<typeof simpleBudgetAbi, 'total'>} [params]
758
- * @returns {Promise<bigint>} - The total amount of assets
759
- */
760
- total(asset: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof simpleBudgetAbi, 'total'>): Promise<never>;
761
- /**
762
- * Get the amount of assets available for distribution from the budget.
763
- * If a tokenId is provided, get the amount of ERC1155 assets available for distribution from the budget
764
- *
765
- * @public
766
- * @param {Address} asset
767
- * @param {?(bigint | undefined)} [tokenId]
768
- * @param {?ReadParams<typeof simpleBudgetAbi, 'available'>} [params]
769
- * @returns {Promise<bigint>} - The amount of assets available
770
- */
771
- available(asset: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof simpleBudgetAbi, 'available'>): Promise<never>;
772
- /**
773
- * Get the amount of assets that have been distributed from the budget.
774
- * If a tokenId is provided, get the amount of ERC1155 assets that have been distributed from the budget
775
- *
776
- * @public
777
- * @param {Address} asset
778
- * @param {?(bigint | undefined)} [tokenId]
779
- * @param {?ReadParams<typeof simpleBudgetAbi, 'distributed'>} [params]
780
- * @returns {Promise<bigint>} - The amount of assets distributed
781
- */
782
- distributed(asset: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof simpleBudgetAbi, 'distributed'>): Promise<never>;
688
+ getIncentiveScalar({ hash, }: GetIncentiveScalarParams): Promise<bigint>;
783
689
  /**
784
690
  * @inheritdoc
785
691
  *
786
692
  * @public
787
- * @param {?SimpleBudgetPayload} [_payload]
693
+ * @param {?ERC20VariableCriteriaIncentivePayload} [_payload]
788
694
  * @param {?DeployableOptions} [_options]
789
695
  * @returns {GenericDeployableParams}
790
696
  */
791
- buildParameters(_payload?: SimpleBudgetPayload, _options?: DeployableOptions): GenericDeployableParams;
697
+ buildParameters(_payload?: ERC20VariableCriteriaIncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
792
698
  }
793
- //# sourceMappingURL=SimpleBudget.d.ts.map
699
+ /**
700
+ *
701
+ *
702
+ * @param {InitPayloadExtended} param0
703
+ * @param {Address} param0.asset - The address of the ERC20 asset to incentivize.
704
+ * @param {bigint} param0.reward - The reward amount to distribute per action.
705
+ * @param {bigint} param0.limit - The total limit of the asset distribution.
706
+ * @param {IncentiveCriteria} param0.criteria - The incentive criteria for reward distribution.
707
+ * @returns {Hex}
708
+ */
709
+ export declare function prepareERC20VariableCriteriaIncentivePayload({ asset, reward, limit, criteria, }: ERC20VariableCriteriaIncentivePayload): `0x${string}`;
710
+ //# sourceMappingURL=ERC20VariableCriteriaIncentive.d.ts.map