@boostxyz/sdk 0.0.0-alpha.9 → 1.1.0-alpha.23

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