@boostxyz/sdk 6.1.2 → 7.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +1 -1
  2. package/dist/Actions/Action.cjs +1 -1
  3. package/dist/Actions/Action.js +4 -4
  4. package/dist/Actions/EventAction.cjs +1 -1
  5. package/dist/Actions/EventAction.cjs.map +1 -1
  6. package/dist/Actions/EventAction.d.ts +10 -0
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +84 -83
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +3 -3
  12. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  13. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  14. package/dist/AllowLists/SimpleAllowList.js +14 -14
  15. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  16. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  17. package/dist/AllowLists/SimpleDenyList.js +3 -3
  18. package/dist/Auth/PassthroughAuth.cjs +1 -1
  19. package/dist/Auth/PassthroughAuth.js +1 -1
  20. package/dist/BoostCore.cjs +2 -2
  21. package/dist/BoostCore.cjs.map +1 -1
  22. package/dist/BoostCore.d.ts +1894 -267
  23. package/dist/BoostCore.d.ts.map +1 -1
  24. package/dist/BoostCore.js +808 -497
  25. package/dist/BoostCore.js.map +1 -1
  26. package/dist/BoostRegistry.cjs +1 -1
  27. package/dist/BoostRegistry.js +47 -47
  28. package/dist/Budget-B_kgJGDu.cjs +2 -0
  29. package/dist/Budget-B_kgJGDu.cjs.map +1 -0
  30. package/dist/Budget-Bvi5Qjqp.js +1124 -0
  31. package/dist/Budget-Bvi5Qjqp.js.map +1 -0
  32. package/dist/Budgets/Budget.cjs +1 -1
  33. package/dist/Budgets/Budget.d.ts +5 -4
  34. package/dist/Budgets/Budget.d.ts.map +1 -1
  35. package/dist/Budgets/Budget.js +9 -6
  36. package/dist/Budgets/ManagedBudget.cjs +1 -1
  37. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  38. package/dist/Budgets/ManagedBudget.d.ts +4 -0
  39. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  40. package/dist/Budgets/ManagedBudget.js +25 -25
  41. package/dist/Budgets/ManagedBudgetWithFees.d.ts +4 -0
  42. package/dist/Budgets/ManagedBudgetWithFees.d.ts.map +1 -1
  43. package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts +4 -0
  44. package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts.map +1 -1
  45. package/dist/Budgets/TransparentBudget.d.ts +944 -0
  46. package/dist/Budgets/TransparentBudget.d.ts.map +1 -0
  47. package/dist/Budgets/VestingBudget.d.ts +4 -0
  48. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  49. package/dist/Deployable/Deployable.cjs.map +1 -1
  50. package/dist/Deployable/Deployable.d.ts +1 -1
  51. package/dist/Deployable/Deployable.d.ts.map +1 -1
  52. package/dist/Deployable/Deployable.js.map +1 -1
  53. package/dist/Deployable/DeployableTarget.cjs +1 -1
  54. package/dist/Deployable/DeployableTarget.js +1 -1
  55. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  56. package/dist/Deployable/DeployableTargetWithRBAC.js +19 -19
  57. package/dist/Incentive-CLKutfnD.js +445 -0
  58. package/dist/Incentive-CLKutfnD.js.map +1 -0
  59. package/dist/Incentive-CLSVNxDz.cjs +2 -0
  60. package/dist/Incentive-CLSVNxDz.cjs.map +1 -0
  61. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  62. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  63. package/dist/Incentives/AllowListIncentive.js +9 -9
  64. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  65. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  66. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  67. package/dist/Incentives/CGDAIncentive.js +5 -5
  68. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  69. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  70. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  71. package/dist/Incentives/ERC20Incentive.js +17 -17
  72. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  73. package/dist/Incentives/ERC20PeggedIncentive.d.ts +1 -1
  74. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +2 -0
  75. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -0
  76. package/dist/Incentives/{ERC20PeggedVariableCriteriaIncentive.d.ts → ERC20PeggedVariableCriteriaIncentiveV2.d.ts} +39 -27
  77. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts.map +1 -0
  78. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +625 -0
  79. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -0
  80. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +2 -0
  81. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -0
  82. package/dist/Incentives/{ERC20VariableCriteriaIncentive.d.ts → ERC20VariableCriteriaIncentiveV2.d.ts} +42 -13
  83. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts.map +1 -0
  84. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +242 -0
  85. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -0
  86. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  87. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
  88. package/dist/Incentives/ERC20VariableIncentive.d.ts +3 -3
  89. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  90. package/dist/Incentives/ERC20VariableIncentive.js +22 -22
  91. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
  92. package/dist/Incentives/Incentive.cjs +1 -1
  93. package/dist/Incentives/Incentive.d.ts +8 -8
  94. package/dist/Incentives/Incentive.d.ts.map +1 -1
  95. package/dist/Incentives/Incentive.js +13 -12
  96. package/dist/Incentives/Incentive.js.map +1 -1
  97. package/dist/Incentives/PointsIncentive.cjs +1 -1
  98. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  99. package/dist/Incentives/PointsIncentive.js +13 -13
  100. package/dist/Incentives/PointsIncentive.js.map +1 -1
  101. package/dist/SimpleDenyList-C1C_BHkY.js +133 -0
  102. package/dist/{SimpleDenyList-BKfPoTo1.js.map → SimpleDenyList-C1C_BHkY.js.map} +1 -1
  103. package/dist/SimpleDenyList-CWthbyj7.cjs +2 -0
  104. package/dist/{SimpleDenyList-DgjVf7FK.cjs.map → SimpleDenyList-CWthbyj7.cjs.map} +1 -1
  105. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  106. package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
  107. package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -1
  108. package/dist/Validators/LimitedSignerValidator.js +48 -52
  109. package/dist/Validators/LimitedSignerValidator.js.map +1 -1
  110. package/dist/Validators/SignerValidator.cjs +1 -1
  111. package/dist/Validators/SignerValidator.cjs.map +1 -1
  112. package/dist/Validators/SignerValidator.js +54 -54
  113. package/dist/Validators/SignerValidator.js.map +1 -1
  114. package/dist/Validators/Validator.cjs +1 -1
  115. package/dist/Validators/Validator.js +2 -2
  116. package/dist/componentInterfaces-BVHB4Fjw.js +21 -0
  117. package/dist/componentInterfaces-BVHB4Fjw.js.map +1 -0
  118. package/dist/componentInterfaces-BqhL-meV.cjs +2 -0
  119. package/dist/componentInterfaces-BqhL-meV.cjs.map +1 -0
  120. package/dist/deployments-D9QxJGrC.cjs +2 -0
  121. package/dist/deployments-D9QxJGrC.cjs.map +1 -0
  122. package/dist/deployments-De8_J7SS.js +120 -0
  123. package/dist/{deployments-W_LUj833.js.map → deployments-De8_J7SS.js.map} +1 -1
  124. package/dist/deployments.json +63 -48
  125. package/dist/{generated-CElkFqkY.js → generated-BJfQ-EBO.js} +1268 -737
  126. package/dist/generated-BJfQ-EBO.js.map +1 -0
  127. package/dist/generated-mJJNq-xb.cjs +3 -0
  128. package/dist/generated-mJJNq-xb.cjs.map +1 -0
  129. package/dist/index.cjs +1 -1
  130. package/dist/index.d.ts +3 -2
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +162 -158
  133. package/dist/index.js.map +1 -1
  134. package/dist/utils.cjs.map +1 -1
  135. package/dist/utils.js.map +1 -1
  136. package/package.json +13 -7
  137. package/src/Actions/EventAction.ts +11 -0
  138. package/src/BoostCore.test.ts +14 -9
  139. package/src/BoostCore.ts +428 -26
  140. package/src/Budgets/Budget.ts +8 -1
  141. package/src/Budgets/TransparentBudget.test.ts +70 -0
  142. package/src/Budgets/TransparentBudget.ts +334 -0
  143. package/src/Deployable/Deployable.ts +1 -1
  144. package/src/Incentives/ERC20PeggedIncentive.ts +1 -1
  145. package/src/Incentives/{ERC20PeggedVariableCriteriaIncentive.test.ts → ERC20PeggedVariableCriteriaIncentiveV2.test.ts} +14 -10
  146. package/src/Incentives/{ERC20PeggedVariableCriteriaIncentive.ts → ERC20PeggedVariableCriteriaIncentiveV2.ts} +122 -100
  147. package/src/Incentives/{ERC20VariableCriteriaIncentive.test.ts → ERC20VariableCriteriaIncentiveV2.test.ts} +18 -13
  148. package/src/Incentives/{ERC20VariableCriteriaIncentive.ts → ERC20VariableCriteriaIncentiveV2.ts} +83 -24
  149. package/src/Incentives/ERC20VariableIncentive.ts +4 -2
  150. package/src/Incentives/Incentive.ts +12 -12
  151. package/src/Validators/LimitedSignerValidator.ts +1 -4
  152. package/src/index.test.ts +2 -2
  153. package/src/index.ts +3 -2
  154. package/src/utils.ts +1 -1
  155. package/dist/Budget-BjfL8dVX.cjs +0 -2
  156. package/dist/Budget-BjfL8dVX.cjs.map +0 -1
  157. package/dist/Budget-DD7IPuDx.js +0 -922
  158. package/dist/Budget-DD7IPuDx.js.map +0 -1
  159. package/dist/Incentive-V1RjH38L.js +0 -1036
  160. package/dist/Incentive-V1RjH38L.js.map +0 -1
  161. package/dist/Incentive-gVTfsnMB.cjs +0 -2
  162. package/dist/Incentive-gVTfsnMB.cjs.map +0 -1
  163. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts.map +0 -1
  164. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +0 -2
  165. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +0 -1
  166. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +0 -1
  167. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +0 -207
  168. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +0 -1
  169. package/dist/SimpleDenyList-BKfPoTo1.js +0 -133
  170. package/dist/SimpleDenyList-DgjVf7FK.cjs +0 -2
  171. package/dist/componentInterfaces-CA1UIqWL.js +0 -20
  172. package/dist/componentInterfaces-CA1UIqWL.js.map +0 -1
  173. package/dist/componentInterfaces-aBgBbB7r.cjs +0 -2
  174. package/dist/componentInterfaces-aBgBbB7r.cjs.map +0 -1
  175. package/dist/deployments-CwTZr-cK.cjs +0 -2
  176. package/dist/deployments-CwTZr-cK.cjs.map +0 -1
  177. package/dist/deployments-W_LUj833.js +0 -117
  178. package/dist/generated-BPiHi7W2.cjs +0 -3
  179. package/dist/generated-BPiHi7W2.cjs.map +0 -1
  180. package/dist/generated-CElkFqkY.js.map +0 -1
@@ -13,20 +13,21 @@ import { type Budget } from './Budgets/Budget';
13
13
  import { ManagedBudget, type ManagedBudgetPayload } from './Budgets/ManagedBudget';
14
14
  import { ManagedBudgetWithFees, type ManagedBudgetWithFeesPayload } from './Budgets/ManagedBudgetWithFees';
15
15
  import { ManagedBudgetWithFeesV2, type ManagedBudgetWithFeesV2Payload } from './Budgets/ManagedBudgetWithFeesV2';
16
+ import { TransparentBudget } from './Budgets/TransparentBudget';
16
17
  import { Deployable, type DeployableOptions, type DeployablePayloadOrAddress, type GenericDeployableParams } from './Deployable/Deployable';
17
18
  import { AllowListIncentive, type AllowListIncentivePayload } from './Incentives/AllowListIncentive';
18
19
  import { CGDAIncentive, type CGDAIncentivePayload } from './Incentives/CGDAIncentive';
19
20
  import { ERC20Incentive, type ERC20IncentivePayload } from './Incentives/ERC20Incentive';
20
21
  import { ERC20PeggedIncentive, type ERC20PeggedIncentivePayload } from './Incentives/ERC20PeggedIncentive';
21
- import { ERC20PeggedVariableCriteriaIncentive, type ERC20PeggedVariableCriteriaIncentivePayload } from './Incentives/ERC20PeggedVariableCriteriaIncentive';
22
- import { ERC20VariableCriteriaIncentive, type ERC20VariableCriteriaIncentivePayload } from './Incentives/ERC20VariableCriteriaIncentive';
22
+ import { ERC20PeggedVariableCriteriaIncentiveV2, type ERC20PeggedVariableCriteriaIncentiveV2Payload } from './Incentives/ERC20PeggedVariableCriteriaIncentiveV2';
23
+ import { ERC20VariableCriteriaIncentiveV2, type ERC20VariableCriteriaIncentiveV2Payload } from './Incentives/ERC20VariableCriteriaIncentiveV2';
23
24
  import type { ERC20VariableIncentivePayload } from './Incentives/ERC20VariableIncentive';
24
25
  import { ERC20VariableIncentive, type Incentive } from './Incentives/Incentive';
25
26
  import { PointsIncentive, type PointsIncentivePayload } from './Incentives/PointsIncentive';
26
27
  import { LimitedSignerValidator, type LimitedSignerValidatorPayload } from './Validators/LimitedSignerValidator';
27
28
  import { SignerValidator, type SignerValidatorPayload } from './Validators/SignerValidator';
28
29
  import { type Validator } from './Validators/Validator';
29
- import type { AssetType } from './transfers';
30
+ import type { AssetType, ERC1155TransferPayload, FungibleTransferPayload } from './transfers';
30
31
  import { type GenericLog, type HashAndSimulatedResult, type ReadParams, type WriteParams } from './utils';
31
32
  /**
32
33
  * The ABI of the BoostCore contract, if needed for low level operations
@@ -183,7 +184,6 @@ export declare class BoostCore extends Deployable<[
183
184
  /**
184
185
  * Create a new Boost.
185
186
  *
186
- *
187
187
  * @public
188
188
  * @async
189
189
  * @param {CreateBoostPayload} _boostPayload
@@ -997,278 +997,1893 @@ export declare class BoostCore extends Deployable<[
997
997
  __mode: "prepared";
998
998
  };
999
999
  }>;
1000
- private prepareCreateBoostPayload;
1001
- /**
1002
- * Claims one incentive from a given `Boost` by `boostId` and `incentiveId`
1003
- *
1004
- * @public
1005
- * @async
1006
- * @param {bigint} boostId
1007
- * @param {bigint} incentiveId
1008
- * @param {Address} address
1009
- * @param {Hex} data
1010
- * @param {?WriteParams} [params]
1011
- * @returns {Promise<void>}
1012
- */
1013
- claimIncentive(boostId: bigint, incentiveId: bigint, address: Address, data: Hex, params?: WriteParams): Promise<void>;
1014
- /**
1015
- * Claim an incentive for a Boost
1016
- *
1017
- * @public
1018
- * @async
1019
- * @param {bigint} boostId - The ID of the Boost
1020
- * @param {bigint} incentiveId - The ID of the Incentive
1021
- * @param {Address} referrer - The address of the referrer (if any)
1022
- * @param {Hex} data- The data for the claim
1023
- * @param {?WriteParams} [params]
1024
- * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1025
- */
1026
- claimIncentiveRaw(boostId: bigint, incentiveId: bigint, referrer: Address, data: Hex, params?: WriteParams): Promise<{
1027
- hash: `0x${string}`;
1028
- result: void;
1029
- }>;
1030
- /**
1031
- * Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
1032
- *
1033
- * @public
1034
- * @async
1035
- * @param {bigint} boostId
1036
- * @param {bigint} incentiveId
1037
- * @param {Address} referrer
1038
- * @param {Hex} data
1039
- * @param {Address} claimant
1040
- * @param {?WriteParams} [params]
1041
- * @returns {Promise<void>}
1042
- */
1043
- claimIncentiveFor(boostId: bigint, incentiveId: bigint, referrer: Address, data: Hex, claimant: Address, params?: WriteParams): Promise<void>;
1044
1000
  /**
1045
- * Claim an incentive for a Boost on behalf of another user
1001
+ * Creates a new Boost with a given TransparentBudget, which transfers assets to the budget on Boost creation.
1046
1002
  *
1047
1003
  * @public
1048
1004
  * @async
1049
- * @param {bigint} boostId - The ID of the Boost
1050
- * @param {bigint} incentiveId - The ID of the Incentive
1051
- * @param {Address} referrer - The address of the referrer (if any)
1052
- * @param {Hex} data - The data for the claim
1053
- * @param {Address} claimant - The address of the user eligible for the incentive payout
1005
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
1006
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
1007
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
1054
1008
  * @param {?WriteParams} [params]
1055
- * @returns {Promise<{ hash: Hex; result: void; }>}
1056
- */
1057
- claimIncentiveForRaw(boostId: bigint, incentiveId: bigint, referrer: Address, data: Hex, claimant: Address, params?: WriteParams): Promise<{
1058
- hash: `0x${string}`;
1059
- result: void;
1060
- }>;
1061
- /**
1062
- * Get a Boost by index, will return the raw on chain representation of a Boost.
1063
- *
1064
- * @public
1065
- * @async
1066
- * @param {bigint | string} id
1067
- * @param {?ReadParams} [params]
1068
- * @returns {Promise<RawBoost>}
1069
- * @throws {@link BoostNotFoundError}
1070
- */
1071
- readBoost(_id: string | bigint, params?: ReadParams): Promise<RawBoost>;
1072
- /**
1073
- * Get a Boost by index, will return a new {@link Boost} with correct target implementations instantiated, ie `(await core.getBoost(0n)).allowList instanceof SimpleAllowList` vs `SimpleDenyList`
1074
- *
1075
- * @public
1076
- * @async
1077
- * @param {(string | bigint)} _id
1078
- * @param {?ReadParams} [params]
1079
1009
  * @returns {Promise<Boost>}
1080
- * @throws {@link BoostNotFoundError}
1081
- */
1082
- getBoost(_id: string | bigint, params?: ReadParams): Promise<Boost>;
1083
- /**
1084
- * Retrieve the total number of deployed Boosts
1085
- *
1086
- * @public
1087
- * @async
1088
- * @param {?ReadParams} [params]
1089
- * @returns {Promise<bigint>}
1090
- */
1091
- getBoostCount(params?: ReadParams): Promise<bigint>;
1092
- /**
1093
- * Checks if an address is authorized
1094
- *
1095
- * @public
1096
- * @async
1097
- * @param {Address} address
1098
- * @param {?ReadParams &
1099
- * ReadParams} [params]
1100
- * @returns {Promise<boolean>}
1101
- */
1102
- isAuthorized(address: Address, params?: ReadParams & ReadParams): Promise<boolean>;
1103
- /**
1104
- * Retrieve the address of the current creation auth provider.
1105
- *
1106
- * @public
1107
- * @async
1108
- * @param {?ReadParams} [params]
1109
- * @returns {Promise<Address>}
1110
- */
1111
- createBoostAuth(params?: ReadParams): Promise<`0x${string}`>;
1112
- /**
1113
- * Replace the current auth scheme.
1114
- *
1115
- * @public
1116
- * @async
1117
- * @param {Auth} auth
1118
- * @param {?WriteParams} [params]
1119
- * @returns {Promise<void>}
1120
- */
1121
- setCreateBoostAuth(auth: Auth, params?: WriteParams): Promise<void>;
1122
- /**
1123
- * Set the createBoostAuth address
1124
- *
1125
- * @public
1126
- * @async
1127
- * @param {Address} address
1128
- * @param {?WriteParams} [params]
1129
- * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1130
- */
1131
- setCreateBoostAuthRaw(address: Address, params?: WriteParams): Promise<{
1132
- hash: `0x${string}`;
1133
- result: void;
1134
- }>;
1135
- /**
1136
- * Get the protocol fee.
1137
- *
1138
- * @public
1139
- * @async
1140
- * @param {?ReadParams} [params]
1141
- * @returns {unknown}
1142
- */
1143
- protocolFee(params?: ReadParams): Promise<bigint>;
1144
- /**
1145
- * Get the protocol fee receiver.
1146
- *
1147
- * @public
1148
- * @async
1149
- * @param {?ReadParams} [params]
1150
- * @returns {Promise<Address>}
1151
1010
  */
1152
- protocolFeeReceiver(params?: ReadParams): Promise<`0x${string}`>;
1011
+ createBoostWithTransparentBudget(budget: TransparentBudget | Address, allocations: (FungibleTransferPayload | ERC1155TransferPayload)[], _boostPayload: Omit<CreateBoostPayload, 'budget'>, _params?: WriteParams): Promise<Boost>;
1153
1012
  /**
1154
- * Set the protocol fee receiver address. This function is only callable by the owner.
1013
+ * Returns a transaction hash and simulated Boost creation using a transparent budget
1155
1014
  *
1156
1015
  * @public
1157
1016
  * @async
1158
- * @param {Address} address
1017
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
1018
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
1019
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
1159
1020
  * @param {?WriteParams} [params]
1160
- * @returns {Promise<void>}
1021
+ * @returns {Promise<HashAndSimulatedResult>}
1161
1022
  */
1162
- setProcolFeeReceiver(address: Address, params?: WriteParams): Promise<void>;
1023
+ createBoostWithTransparentBudgetRaw(budget: TransparentBudget | Address, allocations: (FungibleTransferPayload | ERC1155TransferPayload)[], _boostPayload: Omit<CreateBoostPayload, 'budget'>, _params?: WriteParams): Promise<HashAndSimulatedResult>;
1163
1024
  /**
1164
- * Set the protocol fee receiver address. This function is only callable by the owner.
1025
+ * Returns a simulated Boost creation using a transparent budget
1165
1026
  *
1166
1027
  * @public
1167
1028
  * @async
1168
- * @param {Address} address
1029
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
1030
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
1031
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
1169
1032
  * @param {?WriteParams} [params]
1170
- * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1171
- */
1172
- setProcolFeeReceiverRaw(address: Address, params?: WriteParams): Promise<{
1173
- hash: `0x${string}`;
1174
- result: void;
1175
- }>;
1176
- /**
1177
- * Get the incentives fees information for a given Boost ID and Incentive ID.
1178
- *
1179
- * @public
1180
- * @async
1181
- * @param {bigint} boostId - The ID of the Boost
1182
- * @param {bigint} incentiveId - The ID of the Incentive
1183
- * @param {?ReadParams} [params]
1184
- * @returns {Promise<IncentiveDisbursalInfo>}
1185
- */
1186
- getIncentiveFeesInfo(boostId: bigint, incentiveId: bigint, params?: ReadParams): Promise<{
1187
- assetType: number;
1188
- asset: `0x${string}`;
1189
- protocolFeesRemaining: bigint;
1190
- protocolFee: bigint;
1191
- tokenId: bigint;
1192
- }>;
1193
- /**
1194
- * Retrieves the claim information from a transaction receipt.
1195
- *
1196
- * @param {GetTransactionReceiptParameters} params - The parameters required to get the transaction receipt.
1197
- * @returns {Promise<{ boostId: bigint, incentiveId: bigint, claimer: Address, amount: bigint } | undefined>} The claim information if found, undefined otherwise.
1198
- *
1199
- * @description
1200
- * This method retrieves the transaction receipt using the provided parameters,
1201
- * then parses the logs to find the 'BoostClaimed' event.
1202
- * If found, it returns the arguments of the event, which include the boost ID,
1203
- * incentive ID, claimer address, and claimed amount.
1204
- *
1205
- * @example
1206
- * ```ts
1207
- * const claimInfo = await boostCore.getClaimFromTransaction({
1208
- * hash: '0x...',
1209
- * chainId: 1
1210
- * });
1211
- * if (claimInfo) {
1212
- * console.log(`Boost ${claimInfo.boostId} claimed by ${claimInfo.claimer}`);
1213
- * }
1214
- * ```
1215
- */
1216
- getClaimFromTransaction(params: GetTransactionReceiptParameters): Promise<{
1217
- boostId: bigint;
1218
- incentiveId: bigint;
1219
- claimant: `0x${string}`;
1220
- referrer: `0x${string}`;
1221
- data: `0x${string}`;
1222
- } | undefined>;
1223
- /**
1224
- * Calculate the protocol fee for ERC20 or ETH assets for a given amount. Fees are collected when initializing new incentives, or clawing back from incentives.
1225
- *
1226
- * @example
1227
- * ```ts
1228
- * const fee = await core.calculateProtocolFee(
1229
- * await incentive.getTotalBudget()
1230
- * )
1231
- * const totalIncentiveFundAmount = desiredAmount + fee
1232
- * await erc20.approve(budget.assertValidAddress(), totalIncentiveFundAmount);
1233
- * await budget.allocate({
1234
- * amount: totalIncentiveFundAmount,
1235
- * asset: erc20.assertValidAddress(),
1236
- * target: '0xME',
1237
- * });
1238
- *
1239
- * ```
1240
- * @public
1241
- * @async
1242
- * @param {bigint} [amount]
1243
- * @param {?ReadParams} [params]
1244
- * @returns {Promise<void>}
1245
- */
1246
- calculateProtocolFee(amount: bigint, params?: ReadParams): Promise<bigint>;
1247
- /**
1248
- * Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
1249
- *
1250
- * @example
1251
- * ```ts
1252
- * const auth = core.PassthroughAuth('0x') // is roughly equivalent to
1253
- * const auth = new PassthroughAuth({ config: core._config, account: core._account }, '0x')
1254
- * ```
1255
- * @param {Address} address
1256
- * @returns {PassthroughAuth}
1257
- */
1258
- PassthroughAuth(address?: Address): PassthroughAuth;
1259
- /**
1260
- * Bound {@link EventAction} constructor that reuses the same configuration as the Boost Core instance.
1261
- *
1262
- * @example
1263
- * ```ts
1264
- * const action = core.EventAction('0x') // is roughly equivalent to
1265
- * const action = new EventAction({ config: core._config, account: core._account }, '0x')
1033
+ * @returns {Promise<SimulateContractReturnType>}
1266
1034
  */
1267
- EventAction(options: DeployablePayloadOrAddress<EventActionPayload>, isBase?: boolean): EventAction;
1268
- /**
1269
- * Bound {@link OpenAllowList} constructor that reuses the same configuration as the Boost Core instance.
1270
- *
1271
- * @example
1035
+ simulateCreateBoostWithTransparentBudget(budget: TransparentBudget | Address, allocations: (FungibleTransferPayload | ERC1155TransferPayload)[], _boostPayload: Omit<CreateBoostPayload, 'budget'>, _params?: WriteParams): Promise<import("viem").SimulateContractReturnType<readonly [{
1036
+ readonly type: "error";
1037
+ readonly inputs: readonly [];
1038
+ readonly name: "AlreadyInitialized";
1039
+ }, {
1040
+ readonly type: "error";
1041
+ readonly inputs: readonly [];
1042
+ readonly name: "CloneAlreadyInitialized";
1043
+ }, {
1044
+ readonly type: "error";
1045
+ readonly inputs: readonly [];
1046
+ readonly name: "FnSelectorNotRecognized";
1047
+ }, {
1048
+ readonly type: "error";
1049
+ readonly inputs: readonly [];
1050
+ readonly name: "InitializerNotImplemented";
1051
+ }, {
1052
+ readonly type: "error";
1053
+ readonly inputs: readonly [{
1054
+ readonly name: "asset";
1055
+ readonly internalType: "address";
1056
+ readonly type: "address";
1057
+ }, {
1058
+ readonly name: "available";
1059
+ readonly internalType: "uint256";
1060
+ readonly type: "uint256";
1061
+ }, {
1062
+ readonly name: "required";
1063
+ readonly internalType: "uint256";
1064
+ readonly type: "uint256";
1065
+ }];
1066
+ readonly name: "InsufficientFunds";
1067
+ }, {
1068
+ readonly type: "error";
1069
+ readonly inputs: readonly [{
1070
+ readonly name: "asset";
1071
+ readonly internalType: "address";
1072
+ readonly type: "address";
1073
+ }, {
1074
+ readonly name: "amount";
1075
+ readonly internalType: "uint256";
1076
+ readonly type: "uint256";
1077
+ }];
1078
+ readonly name: "InvalidAllocation";
1079
+ }, {
1080
+ readonly type: "error";
1081
+ readonly inputs: readonly [];
1082
+ readonly name: "InvalidInitialization";
1083
+ }, {
1084
+ readonly type: "error";
1085
+ readonly inputs: readonly [];
1086
+ readonly name: "InvalidInitializationData";
1087
+ }, {
1088
+ readonly type: "error";
1089
+ readonly inputs: readonly [];
1090
+ readonly name: "LengthMismatch";
1091
+ }, {
1092
+ readonly type: "error";
1093
+ readonly inputs: readonly [];
1094
+ readonly name: "NewOwnerIsZeroAddress";
1095
+ }, {
1096
+ readonly type: "error";
1097
+ readonly inputs: readonly [];
1098
+ readonly name: "NoHandoverRequest";
1099
+ }, {
1100
+ readonly type: "error";
1101
+ readonly inputs: readonly [];
1102
+ readonly name: "NotImplemented";
1103
+ }, {
1104
+ readonly type: "error";
1105
+ readonly inputs: readonly [];
1106
+ readonly name: "NotInitializing";
1107
+ }, {
1108
+ readonly type: "error";
1109
+ readonly inputs: readonly [];
1110
+ readonly name: "Reentrancy";
1111
+ }, {
1112
+ readonly type: "error";
1113
+ readonly inputs: readonly [{
1114
+ readonly name: "asset";
1115
+ readonly internalType: "address";
1116
+ readonly type: "address";
1117
+ }, {
1118
+ readonly name: "to";
1119
+ readonly internalType: "address";
1120
+ readonly type: "address";
1121
+ }, {
1122
+ readonly name: "amount";
1123
+ readonly internalType: "uint256";
1124
+ readonly type: "uint256";
1125
+ }];
1126
+ readonly name: "TransferFailed";
1127
+ }, {
1128
+ readonly type: "error";
1129
+ readonly inputs: readonly [];
1130
+ readonly name: "Unauthorized";
1131
+ }, {
1132
+ readonly type: "error";
1133
+ readonly inputs: readonly [];
1134
+ readonly name: "Unauthorized";
1135
+ }, {
1136
+ readonly type: "event";
1137
+ readonly anonymous: false;
1138
+ readonly inputs: readonly [{
1139
+ readonly name: "asset";
1140
+ readonly internalType: "address";
1141
+ readonly type: "address";
1142
+ readonly indexed: true;
1143
+ }, {
1144
+ readonly name: "to";
1145
+ readonly internalType: "address";
1146
+ readonly type: "address";
1147
+ readonly indexed: false;
1148
+ }, {
1149
+ readonly name: "amount";
1150
+ readonly internalType: "uint256";
1151
+ readonly type: "uint256";
1152
+ readonly indexed: false;
1153
+ }];
1154
+ readonly name: "Distributed";
1155
+ }, {
1156
+ readonly type: "event";
1157
+ readonly anonymous: false;
1158
+ readonly inputs: readonly [{
1159
+ readonly name: "version";
1160
+ readonly internalType: "uint64";
1161
+ readonly type: "uint64";
1162
+ readonly indexed: false;
1163
+ }];
1164
+ readonly name: "Initialized";
1165
+ }, {
1166
+ readonly type: "event";
1167
+ readonly anonymous: false;
1168
+ readonly inputs: readonly [{
1169
+ readonly name: "pendingOwner";
1170
+ readonly internalType: "address";
1171
+ readonly type: "address";
1172
+ readonly indexed: true;
1173
+ }];
1174
+ readonly name: "OwnershipHandoverCanceled";
1175
+ }, {
1176
+ readonly type: "event";
1177
+ readonly anonymous: false;
1178
+ readonly inputs: readonly [{
1179
+ readonly name: "pendingOwner";
1180
+ readonly internalType: "address";
1181
+ readonly type: "address";
1182
+ readonly indexed: true;
1183
+ }];
1184
+ readonly name: "OwnershipHandoverRequested";
1185
+ }, {
1186
+ readonly type: "event";
1187
+ readonly anonymous: false;
1188
+ readonly inputs: readonly [{
1189
+ readonly name: "oldOwner";
1190
+ readonly internalType: "address";
1191
+ readonly type: "address";
1192
+ readonly indexed: true;
1193
+ }, {
1194
+ readonly name: "newOwner";
1195
+ readonly internalType: "address";
1196
+ readonly type: "address";
1197
+ readonly indexed: true;
1198
+ }];
1199
+ readonly name: "OwnershipTransferred";
1200
+ }, {
1201
+ readonly type: "event";
1202
+ readonly anonymous: false;
1203
+ readonly inputs: readonly [{
1204
+ readonly name: "user";
1205
+ readonly internalType: "address";
1206
+ readonly type: "address";
1207
+ readonly indexed: true;
1208
+ }, {
1209
+ readonly name: "roles";
1210
+ readonly internalType: "uint256";
1211
+ readonly type: "uint256";
1212
+ readonly indexed: true;
1213
+ }];
1214
+ readonly name: "RolesUpdated";
1215
+ }, {
1216
+ readonly type: "fallback";
1217
+ readonly stateMutability: "payable";
1218
+ }, {
1219
+ readonly type: "function";
1220
+ readonly inputs: readonly [];
1221
+ readonly name: "ADMIN_ROLE";
1222
+ readonly outputs: readonly [{
1223
+ readonly name: "";
1224
+ readonly internalType: "uint256";
1225
+ readonly type: "uint256";
1226
+ }];
1227
+ readonly stateMutability: "view";
1228
+ }, {
1229
+ readonly type: "function";
1230
+ readonly inputs: readonly [];
1231
+ readonly name: "MANAGER_ROLE";
1232
+ readonly outputs: readonly [{
1233
+ readonly name: "";
1234
+ readonly internalType: "uint256";
1235
+ readonly type: "uint256";
1236
+ }];
1237
+ readonly stateMutability: "view";
1238
+ }, {
1239
+ readonly type: "function";
1240
+ readonly inputs: readonly [];
1241
+ readonly name: "PERMIT2";
1242
+ readonly outputs: readonly [{
1243
+ readonly name: "";
1244
+ readonly internalType: "contract IPermit2";
1245
+ readonly type: "address";
1246
+ }];
1247
+ readonly stateMutability: "view";
1248
+ }, {
1249
+ readonly type: "function";
1250
+ readonly inputs: readonly [{
1251
+ readonly name: "";
1252
+ readonly internalType: "bytes";
1253
+ readonly type: "bytes";
1254
+ }];
1255
+ readonly name: "allocate";
1256
+ readonly outputs: readonly [{
1257
+ readonly name: "";
1258
+ readonly internalType: "bool";
1259
+ readonly type: "bool";
1260
+ }];
1261
+ readonly stateMutability: "payable";
1262
+ }, {
1263
+ readonly type: "function";
1264
+ readonly inputs: readonly [{
1265
+ readonly name: "";
1266
+ readonly internalType: "address";
1267
+ readonly type: "address";
1268
+ }];
1269
+ readonly name: "available";
1270
+ readonly outputs: readonly [{
1271
+ readonly name: "";
1272
+ readonly internalType: "uint256";
1273
+ readonly type: "uint256";
1274
+ }];
1275
+ readonly stateMutability: "view";
1276
+ }, {
1277
+ readonly type: "function";
1278
+ readonly inputs: readonly [{
1279
+ readonly name: "";
1280
+ readonly internalType: "address";
1281
+ readonly type: "address";
1282
+ }, {
1283
+ readonly name: "";
1284
+ readonly internalType: "uint256";
1285
+ readonly type: "uint256";
1286
+ }];
1287
+ readonly name: "available";
1288
+ readonly outputs: readonly [{
1289
+ readonly name: "";
1290
+ readonly internalType: "uint256";
1291
+ readonly type: "uint256";
1292
+ }];
1293
+ readonly stateMutability: "view";
1294
+ }, {
1295
+ readonly type: "function";
1296
+ readonly inputs: readonly [];
1297
+ readonly name: "cancelOwnershipHandover";
1298
+ readonly outputs: readonly [];
1299
+ readonly stateMutability: "payable";
1300
+ }, {
1301
+ readonly type: "function";
1302
+ readonly inputs: readonly [{
1303
+ readonly name: "";
1304
+ readonly internalType: "bytes";
1305
+ readonly type: "bytes";
1306
+ }];
1307
+ readonly name: "clawback";
1308
+ readonly outputs: readonly [{
1309
+ readonly name: "";
1310
+ readonly internalType: "uint256";
1311
+ readonly type: "uint256";
1312
+ }];
1313
+ readonly stateMutability: "nonpayable";
1314
+ }, {
1315
+ readonly type: "function";
1316
+ readonly inputs: readonly [{
1317
+ readonly name: "target";
1318
+ readonly internalType: "address";
1319
+ readonly type: "address";
1320
+ }, {
1321
+ readonly name: "data_";
1322
+ readonly internalType: "bytes";
1323
+ readonly type: "bytes";
1324
+ }, {
1325
+ readonly name: "boostId";
1326
+ readonly internalType: "uint256";
1327
+ readonly type: "uint256";
1328
+ }, {
1329
+ readonly name: "incentiveId";
1330
+ readonly internalType: "uint256";
1331
+ readonly type: "uint256";
1332
+ }];
1333
+ readonly name: "clawbackFromTarget";
1334
+ readonly outputs: readonly [{
1335
+ readonly name: "";
1336
+ readonly internalType: "uint256";
1337
+ readonly type: "uint256";
1338
+ }, {
1339
+ readonly name: "";
1340
+ readonly internalType: "address";
1341
+ readonly type: "address";
1342
+ }];
1343
+ readonly stateMutability: "nonpayable";
1344
+ }, {
1345
+ readonly type: "function";
1346
+ readonly inputs: readonly [{
1347
+ readonly name: "pendingOwner";
1348
+ readonly internalType: "address";
1349
+ readonly type: "address";
1350
+ }];
1351
+ readonly name: "completeOwnershipHandover";
1352
+ readonly outputs: readonly [];
1353
+ readonly stateMutability: "payable";
1354
+ }, {
1355
+ readonly type: "function";
1356
+ readonly inputs: readonly [{
1357
+ readonly name: "_allocations";
1358
+ readonly internalType: "bytes[]";
1359
+ readonly type: "bytes[]";
1360
+ }, {
1361
+ readonly name: "core";
1362
+ readonly internalType: "contract BoostCore";
1363
+ readonly type: "address";
1364
+ }, {
1365
+ readonly name: "_boostPayload";
1366
+ readonly internalType: "bytes";
1367
+ readonly type: "bytes";
1368
+ }];
1369
+ readonly name: "createBoost";
1370
+ readonly outputs: readonly [];
1371
+ readonly stateMutability: "payable";
1372
+ }, {
1373
+ readonly type: "function";
1374
+ readonly inputs: readonly [{
1375
+ readonly name: "_allocations";
1376
+ readonly internalType: "bytes[]";
1377
+ readonly type: "bytes[]";
1378
+ }, {
1379
+ readonly name: "core";
1380
+ readonly internalType: "contract BoostCore";
1381
+ readonly type: "address";
1382
+ }, {
1383
+ readonly name: "_boostPayload";
1384
+ readonly internalType: "bytes";
1385
+ readonly type: "bytes";
1386
+ }, {
1387
+ readonly name: "_permit2Signature";
1388
+ readonly internalType: "bytes";
1389
+ readonly type: "bytes";
1390
+ }, {
1391
+ readonly name: "nonce";
1392
+ readonly internalType: "uint256";
1393
+ readonly type: "uint256";
1394
+ }, {
1395
+ readonly name: "deadline";
1396
+ readonly internalType: "uint256";
1397
+ readonly type: "uint256";
1398
+ }];
1399
+ readonly name: "createBoostWithPermit2";
1400
+ readonly outputs: readonly [];
1401
+ readonly stateMutability: "payable";
1402
+ }, {
1403
+ readonly type: "function";
1404
+ readonly inputs: readonly [{
1405
+ readonly name: "data_";
1406
+ readonly internalType: "bytes";
1407
+ readonly type: "bytes";
1408
+ }];
1409
+ readonly name: "disburse";
1410
+ readonly outputs: readonly [{
1411
+ readonly name: "";
1412
+ readonly internalType: "bool";
1413
+ readonly type: "bool";
1414
+ }];
1415
+ readonly stateMutability: "nonpayable";
1416
+ }, {
1417
+ readonly type: "function";
1418
+ readonly inputs: readonly [{
1419
+ readonly name: "data_";
1420
+ readonly internalType: "bytes[]";
1421
+ readonly type: "bytes[]";
1422
+ }];
1423
+ readonly name: "disburseBatch";
1424
+ readonly outputs: readonly [{
1425
+ readonly name: "";
1426
+ readonly internalType: "bool";
1427
+ readonly type: "bool";
1428
+ }];
1429
+ readonly stateMutability: "nonpayable";
1430
+ }, {
1431
+ readonly type: "function";
1432
+ readonly inputs: readonly [{
1433
+ readonly name: "asset_";
1434
+ readonly internalType: "address";
1435
+ readonly type: "address";
1436
+ }];
1437
+ readonly name: "distributed";
1438
+ readonly outputs: readonly [{
1439
+ readonly name: "";
1440
+ readonly internalType: "uint256";
1441
+ readonly type: "uint256";
1442
+ }];
1443
+ readonly stateMutability: "view";
1444
+ }, {
1445
+ readonly type: "function";
1446
+ readonly inputs: readonly [{
1447
+ readonly name: "asset_";
1448
+ readonly internalType: "address";
1449
+ readonly type: "address";
1450
+ }, {
1451
+ readonly name: "tokenId_";
1452
+ readonly internalType: "uint256";
1453
+ readonly type: "uint256";
1454
+ }];
1455
+ readonly name: "distributed";
1456
+ readonly outputs: readonly [{
1457
+ readonly name: "";
1458
+ readonly internalType: "uint256";
1459
+ readonly type: "uint256";
1460
+ }];
1461
+ readonly stateMutability: "view";
1462
+ }, {
1463
+ readonly type: "function";
1464
+ readonly inputs: readonly [];
1465
+ readonly name: "getComponentInterface";
1466
+ readonly outputs: readonly [{
1467
+ readonly name: "";
1468
+ readonly internalType: "bytes4";
1469
+ readonly type: "bytes4";
1470
+ }];
1471
+ readonly stateMutability: "pure";
1472
+ }, {
1473
+ readonly type: "function";
1474
+ readonly inputs: readonly [{
1475
+ readonly name: "accounts_";
1476
+ readonly internalType: "address[]";
1477
+ readonly type: "address[]";
1478
+ }, {
1479
+ readonly name: "roles_";
1480
+ readonly internalType: "uint256[]";
1481
+ readonly type: "uint256[]";
1482
+ }];
1483
+ readonly name: "grantManyRoles";
1484
+ readonly outputs: readonly [];
1485
+ readonly stateMutability: "nonpayable";
1486
+ }, {
1487
+ readonly type: "function";
1488
+ readonly inputs: readonly [{
1489
+ readonly name: "user";
1490
+ readonly internalType: "address";
1491
+ readonly type: "address";
1492
+ }, {
1493
+ readonly name: "roles";
1494
+ readonly internalType: "uint256";
1495
+ readonly type: "uint256";
1496
+ }];
1497
+ readonly name: "grantRoles";
1498
+ readonly outputs: readonly [];
1499
+ readonly stateMutability: "payable";
1500
+ }, {
1501
+ readonly type: "function";
1502
+ readonly inputs: readonly [{
1503
+ readonly name: "user";
1504
+ readonly internalType: "address";
1505
+ readonly type: "address";
1506
+ }, {
1507
+ readonly name: "roles";
1508
+ readonly internalType: "uint256";
1509
+ readonly type: "uint256";
1510
+ }];
1511
+ readonly name: "hasAllRoles";
1512
+ readonly outputs: readonly [{
1513
+ readonly name: "";
1514
+ readonly internalType: "bool";
1515
+ readonly type: "bool";
1516
+ }];
1517
+ readonly stateMutability: "view";
1518
+ }, {
1519
+ readonly type: "function";
1520
+ readonly inputs: readonly [{
1521
+ readonly name: "user";
1522
+ readonly internalType: "address";
1523
+ readonly type: "address";
1524
+ }, {
1525
+ readonly name: "roles";
1526
+ readonly internalType: "uint256";
1527
+ readonly type: "uint256";
1528
+ }];
1529
+ readonly name: "hasAnyRole";
1530
+ readonly outputs: readonly [{
1531
+ readonly name: "";
1532
+ readonly internalType: "bool";
1533
+ readonly type: "bool";
1534
+ }];
1535
+ readonly stateMutability: "view";
1536
+ }, {
1537
+ readonly type: "function";
1538
+ readonly inputs: readonly [{
1539
+ readonly name: "";
1540
+ readonly internalType: "bytes";
1541
+ readonly type: "bytes";
1542
+ }];
1543
+ readonly name: "initialize";
1544
+ readonly outputs: readonly [];
1545
+ readonly stateMutability: "nonpayable";
1546
+ }, {
1547
+ readonly type: "function";
1548
+ readonly inputs: readonly [{
1549
+ readonly name: "account_";
1550
+ readonly internalType: "address";
1551
+ readonly type: "address";
1552
+ }];
1553
+ readonly name: "isAuthorized";
1554
+ readonly outputs: readonly [{
1555
+ readonly name: "";
1556
+ readonly internalType: "bool";
1557
+ readonly type: "bool";
1558
+ }];
1559
+ readonly stateMutability: "view";
1560
+ }, {
1561
+ readonly type: "function";
1562
+ readonly inputs: readonly [{
1563
+ readonly name: "";
1564
+ readonly internalType: "address";
1565
+ readonly type: "address";
1566
+ }, {
1567
+ readonly name: "";
1568
+ readonly internalType: "address";
1569
+ readonly type: "address";
1570
+ }, {
1571
+ readonly name: "";
1572
+ readonly internalType: "uint256[]";
1573
+ readonly type: "uint256[]";
1574
+ }, {
1575
+ readonly name: "";
1576
+ readonly internalType: "uint256[]";
1577
+ readonly type: "uint256[]";
1578
+ }, {
1579
+ readonly name: "";
1580
+ readonly internalType: "bytes";
1581
+ readonly type: "bytes";
1582
+ }];
1583
+ readonly name: "onERC1155BatchReceived";
1584
+ readonly outputs: readonly [{
1585
+ readonly name: "";
1586
+ readonly internalType: "bytes4";
1587
+ readonly type: "bytes4";
1588
+ }];
1589
+ readonly stateMutability: "pure";
1590
+ }, {
1591
+ readonly type: "function";
1592
+ readonly inputs: readonly [{
1593
+ readonly name: "";
1594
+ readonly internalType: "address";
1595
+ readonly type: "address";
1596
+ }, {
1597
+ readonly name: "";
1598
+ readonly internalType: "address";
1599
+ readonly type: "address";
1600
+ }, {
1601
+ readonly name: "";
1602
+ readonly internalType: "uint256";
1603
+ readonly type: "uint256";
1604
+ }, {
1605
+ readonly name: "";
1606
+ readonly internalType: "uint256";
1607
+ readonly type: "uint256";
1608
+ }, {
1609
+ readonly name: "";
1610
+ readonly internalType: "bytes";
1611
+ readonly type: "bytes";
1612
+ }];
1613
+ readonly name: "onERC1155Received";
1614
+ readonly outputs: readonly [{
1615
+ readonly name: "";
1616
+ readonly internalType: "bytes4";
1617
+ readonly type: "bytes4";
1618
+ }];
1619
+ readonly stateMutability: "pure";
1620
+ }, {
1621
+ readonly type: "function";
1622
+ readonly inputs: readonly [];
1623
+ readonly name: "owner";
1624
+ readonly outputs: readonly [{
1625
+ readonly name: "result";
1626
+ readonly internalType: "address";
1627
+ readonly type: "address";
1628
+ }];
1629
+ readonly stateMutability: "view";
1630
+ }, {
1631
+ readonly type: "function";
1632
+ readonly inputs: readonly [{
1633
+ readonly name: "pendingOwner";
1634
+ readonly internalType: "address";
1635
+ readonly type: "address";
1636
+ }];
1637
+ readonly name: "ownershipHandoverExpiresAt";
1638
+ readonly outputs: readonly [{
1639
+ readonly name: "result";
1640
+ readonly internalType: "uint256";
1641
+ readonly type: "uint256";
1642
+ }];
1643
+ readonly stateMutability: "view";
1644
+ }, {
1645
+ readonly type: "function";
1646
+ readonly inputs: readonly [{
1647
+ readonly name: "";
1648
+ readonly internalType: "bytes";
1649
+ readonly type: "bytes";
1650
+ }];
1651
+ readonly name: "reconcile";
1652
+ readonly outputs: readonly [{
1653
+ readonly name: "";
1654
+ readonly internalType: "uint256";
1655
+ readonly type: "uint256";
1656
+ }];
1657
+ readonly stateMutability: "nonpayable";
1658
+ }, {
1659
+ readonly type: "function";
1660
+ readonly inputs: readonly [];
1661
+ readonly name: "renounceOwnership";
1662
+ readonly outputs: readonly [];
1663
+ readonly stateMutability: "payable";
1664
+ }, {
1665
+ readonly type: "function";
1666
+ readonly inputs: readonly [{
1667
+ readonly name: "roles";
1668
+ readonly internalType: "uint256";
1669
+ readonly type: "uint256";
1670
+ }];
1671
+ readonly name: "renounceRoles";
1672
+ readonly outputs: readonly [];
1673
+ readonly stateMutability: "payable";
1674
+ }, {
1675
+ readonly type: "function";
1676
+ readonly inputs: readonly [];
1677
+ readonly name: "requestOwnershipHandover";
1678
+ readonly outputs: readonly [];
1679
+ readonly stateMutability: "payable";
1680
+ }, {
1681
+ readonly type: "function";
1682
+ readonly inputs: readonly [{
1683
+ readonly name: "accounts_";
1684
+ readonly internalType: "address[]";
1685
+ readonly type: "address[]";
1686
+ }, {
1687
+ readonly name: "roles_";
1688
+ readonly internalType: "uint256[]";
1689
+ readonly type: "uint256[]";
1690
+ }];
1691
+ readonly name: "revokeManyRoles";
1692
+ readonly outputs: readonly [];
1693
+ readonly stateMutability: "nonpayable";
1694
+ }, {
1695
+ readonly type: "function";
1696
+ readonly inputs: readonly [{
1697
+ readonly name: "user";
1698
+ readonly internalType: "address";
1699
+ readonly type: "address";
1700
+ }, {
1701
+ readonly name: "roles";
1702
+ readonly internalType: "uint256";
1703
+ readonly type: "uint256";
1704
+ }];
1705
+ readonly name: "revokeRoles";
1706
+ readonly outputs: readonly [];
1707
+ readonly stateMutability: "payable";
1708
+ }, {
1709
+ readonly type: "function";
1710
+ readonly inputs: readonly [{
1711
+ readonly name: "user";
1712
+ readonly internalType: "address";
1713
+ readonly type: "address";
1714
+ }];
1715
+ readonly name: "rolesOf";
1716
+ readonly outputs: readonly [{
1717
+ readonly name: "roles";
1718
+ readonly internalType: "uint256";
1719
+ readonly type: "uint256";
1720
+ }];
1721
+ readonly stateMutability: "view";
1722
+ }, {
1723
+ readonly type: "function";
1724
+ readonly inputs: readonly [{
1725
+ readonly name: "accounts_";
1726
+ readonly internalType: "address[]";
1727
+ readonly type: "address[]";
1728
+ }, {
1729
+ readonly name: "authorized_";
1730
+ readonly internalType: "bool[]";
1731
+ readonly type: "bool[]";
1732
+ }];
1733
+ readonly name: "setAuthorized";
1734
+ readonly outputs: readonly [];
1735
+ readonly stateMutability: "nonpayable";
1736
+ }, {
1737
+ readonly type: "function";
1738
+ readonly inputs: readonly [{
1739
+ readonly name: "interfaceId";
1740
+ readonly internalType: "bytes4";
1741
+ readonly type: "bytes4";
1742
+ }];
1743
+ readonly name: "supportsInterface";
1744
+ readonly outputs: readonly [{
1745
+ readonly name: "";
1746
+ readonly internalType: "bool";
1747
+ readonly type: "bool";
1748
+ }];
1749
+ readonly stateMutability: "view";
1750
+ }, {
1751
+ readonly type: "function";
1752
+ readonly inputs: readonly [{
1753
+ readonly name: "asset_";
1754
+ readonly internalType: "address";
1755
+ readonly type: "address";
1756
+ }];
1757
+ readonly name: "total";
1758
+ readonly outputs: readonly [{
1759
+ readonly name: "";
1760
+ readonly internalType: "uint256";
1761
+ readonly type: "uint256";
1762
+ }];
1763
+ readonly stateMutability: "view";
1764
+ }, {
1765
+ readonly type: "function";
1766
+ readonly inputs: readonly [{
1767
+ readonly name: "asset_";
1768
+ readonly internalType: "address";
1769
+ readonly type: "address";
1770
+ }, {
1771
+ readonly name: "tokenId_";
1772
+ readonly internalType: "uint256";
1773
+ readonly type: "uint256";
1774
+ }];
1775
+ readonly name: "total";
1776
+ readonly outputs: readonly [{
1777
+ readonly name: "";
1778
+ readonly internalType: "uint256";
1779
+ readonly type: "uint256";
1780
+ }];
1781
+ readonly stateMutability: "view";
1782
+ }, {
1783
+ readonly type: "function";
1784
+ readonly inputs: readonly [{
1785
+ readonly name: "newOwner";
1786
+ readonly internalType: "address";
1787
+ readonly type: "address";
1788
+ }];
1789
+ readonly name: "transferOwnership";
1790
+ readonly outputs: readonly [];
1791
+ readonly stateMutability: "payable";
1792
+ }, {
1793
+ readonly type: "receive";
1794
+ readonly stateMutability: "payable";
1795
+ }], "createBoost", readonly [readonly `0x${string}`[], `0x${string}`, `0x${string}`], import("viem").Chain, import("viem").Account, import("viem").Chain> & {
1796
+ chainId: number;
1797
+ request: {
1798
+ chainId?: undefined;
1799
+ chain: import("viem").Chain;
1800
+ __mode: "prepared";
1801
+ };
1802
+ }>;
1803
+ /**
1804
+ * Creates a new Boost with a given a TransparentBudget and Permit2, which transfers assets to the budget on Boost creation.
1805
+ *
1806
+ * @public
1807
+ * @async
1808
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
1809
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
1810
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
1811
+ * @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
1812
+ * @param {bigint} nonce - The nonce for the permit2 batch transfer
1813
+ * @param {bigint} deadline - The deadline for the permit2 batch transfer
1814
+ * @param {?WriteParams} [params]
1815
+ * @returns {Promise<Boost>}
1816
+ */
1817
+ createBoostWithPermit2(budget: TransparentBudget | Address, allocations: (FungibleTransferPayload | ERC1155TransferPayload)[], _boostPayload: Omit<CreateBoostPayload, 'budget'>, permit2Signature: Hex, nonce: bigint, deadline: bigint, _params?: WriteParams): Promise<Boost>;
1818
+ /**
1819
+ * Returns a transaction hash and simulated Boost creation using a TransparentBudget and Permit2
1820
+ *
1821
+ * @public
1822
+ * @async
1823
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
1824
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
1825
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
1826
+ * @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
1827
+ * @param {bigint} nonce - The nonce for the permit2 batch transfer
1828
+ * @param {bigint} deadline - The deadline for the permit2 batch transfer
1829
+ * @param {?WriteParams} [params]
1830
+ * @returns {Promise<HashAndSimulatedResult>}
1831
+ */
1832
+ createBoostWithPermit2Raw(budget: TransparentBudget | Address, allocations: (FungibleTransferPayload | ERC1155TransferPayload)[], _boostPayload: Omit<CreateBoostPayload, 'budget'>, permit2Signature: Hex, nonce: bigint, deadline: bigint, _params?: WriteParams): Promise<HashAndSimulatedResult>;
1833
+ /**
1834
+ * Returns a simulated Boost creation using a TransparentBudget and Permit2
1835
+ *
1836
+ * @public
1837
+ * @async
1838
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
1839
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
1840
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
1841
+ * @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
1842
+ * @param {bigint} nonce - The nonce for the permit2 batch transfer
1843
+ * @param {bigint} deadline - The deadline for the permit2 batch transfer
1844
+ * @param {?WriteParams} [params]
1845
+ * @returns {Promise<SimulateContractReturnType>}
1846
+ */
1847
+ simulateCreateBoostWithPermit2(budget: TransparentBudget | Address, allocations: (FungibleTransferPayload | ERC1155TransferPayload)[], _boostPayload: Omit<CreateBoostPayload, 'budget'>, permit2Signature: Hex, nonce: bigint, deadline: bigint, _params?: WriteParams): Promise<import("viem").SimulateContractReturnType<readonly [{
1848
+ readonly type: "error";
1849
+ readonly inputs: readonly [];
1850
+ readonly name: "AlreadyInitialized";
1851
+ }, {
1852
+ readonly type: "error";
1853
+ readonly inputs: readonly [];
1854
+ readonly name: "CloneAlreadyInitialized";
1855
+ }, {
1856
+ readonly type: "error";
1857
+ readonly inputs: readonly [];
1858
+ readonly name: "FnSelectorNotRecognized";
1859
+ }, {
1860
+ readonly type: "error";
1861
+ readonly inputs: readonly [];
1862
+ readonly name: "InitializerNotImplemented";
1863
+ }, {
1864
+ readonly type: "error";
1865
+ readonly inputs: readonly [{
1866
+ readonly name: "asset";
1867
+ readonly internalType: "address";
1868
+ readonly type: "address";
1869
+ }, {
1870
+ readonly name: "available";
1871
+ readonly internalType: "uint256";
1872
+ readonly type: "uint256";
1873
+ }, {
1874
+ readonly name: "required";
1875
+ readonly internalType: "uint256";
1876
+ readonly type: "uint256";
1877
+ }];
1878
+ readonly name: "InsufficientFunds";
1879
+ }, {
1880
+ readonly type: "error";
1881
+ readonly inputs: readonly [{
1882
+ readonly name: "asset";
1883
+ readonly internalType: "address";
1884
+ readonly type: "address";
1885
+ }, {
1886
+ readonly name: "amount";
1887
+ readonly internalType: "uint256";
1888
+ readonly type: "uint256";
1889
+ }];
1890
+ readonly name: "InvalidAllocation";
1891
+ }, {
1892
+ readonly type: "error";
1893
+ readonly inputs: readonly [];
1894
+ readonly name: "InvalidInitialization";
1895
+ }, {
1896
+ readonly type: "error";
1897
+ readonly inputs: readonly [];
1898
+ readonly name: "InvalidInitializationData";
1899
+ }, {
1900
+ readonly type: "error";
1901
+ readonly inputs: readonly [];
1902
+ readonly name: "LengthMismatch";
1903
+ }, {
1904
+ readonly type: "error";
1905
+ readonly inputs: readonly [];
1906
+ readonly name: "NewOwnerIsZeroAddress";
1907
+ }, {
1908
+ readonly type: "error";
1909
+ readonly inputs: readonly [];
1910
+ readonly name: "NoHandoverRequest";
1911
+ }, {
1912
+ readonly type: "error";
1913
+ readonly inputs: readonly [];
1914
+ readonly name: "NotImplemented";
1915
+ }, {
1916
+ readonly type: "error";
1917
+ readonly inputs: readonly [];
1918
+ readonly name: "NotInitializing";
1919
+ }, {
1920
+ readonly type: "error";
1921
+ readonly inputs: readonly [];
1922
+ readonly name: "Reentrancy";
1923
+ }, {
1924
+ readonly type: "error";
1925
+ readonly inputs: readonly [{
1926
+ readonly name: "asset";
1927
+ readonly internalType: "address";
1928
+ readonly type: "address";
1929
+ }, {
1930
+ readonly name: "to";
1931
+ readonly internalType: "address";
1932
+ readonly type: "address";
1933
+ }, {
1934
+ readonly name: "amount";
1935
+ readonly internalType: "uint256";
1936
+ readonly type: "uint256";
1937
+ }];
1938
+ readonly name: "TransferFailed";
1939
+ }, {
1940
+ readonly type: "error";
1941
+ readonly inputs: readonly [];
1942
+ readonly name: "Unauthorized";
1943
+ }, {
1944
+ readonly type: "error";
1945
+ readonly inputs: readonly [];
1946
+ readonly name: "Unauthorized";
1947
+ }, {
1948
+ readonly type: "event";
1949
+ readonly anonymous: false;
1950
+ readonly inputs: readonly [{
1951
+ readonly name: "asset";
1952
+ readonly internalType: "address";
1953
+ readonly type: "address";
1954
+ readonly indexed: true;
1955
+ }, {
1956
+ readonly name: "to";
1957
+ readonly internalType: "address";
1958
+ readonly type: "address";
1959
+ readonly indexed: false;
1960
+ }, {
1961
+ readonly name: "amount";
1962
+ readonly internalType: "uint256";
1963
+ readonly type: "uint256";
1964
+ readonly indexed: false;
1965
+ }];
1966
+ readonly name: "Distributed";
1967
+ }, {
1968
+ readonly type: "event";
1969
+ readonly anonymous: false;
1970
+ readonly inputs: readonly [{
1971
+ readonly name: "version";
1972
+ readonly internalType: "uint64";
1973
+ readonly type: "uint64";
1974
+ readonly indexed: false;
1975
+ }];
1976
+ readonly name: "Initialized";
1977
+ }, {
1978
+ readonly type: "event";
1979
+ readonly anonymous: false;
1980
+ readonly inputs: readonly [{
1981
+ readonly name: "pendingOwner";
1982
+ readonly internalType: "address";
1983
+ readonly type: "address";
1984
+ readonly indexed: true;
1985
+ }];
1986
+ readonly name: "OwnershipHandoverCanceled";
1987
+ }, {
1988
+ readonly type: "event";
1989
+ readonly anonymous: false;
1990
+ readonly inputs: readonly [{
1991
+ readonly name: "pendingOwner";
1992
+ readonly internalType: "address";
1993
+ readonly type: "address";
1994
+ readonly indexed: true;
1995
+ }];
1996
+ readonly name: "OwnershipHandoverRequested";
1997
+ }, {
1998
+ readonly type: "event";
1999
+ readonly anonymous: false;
2000
+ readonly inputs: readonly [{
2001
+ readonly name: "oldOwner";
2002
+ readonly internalType: "address";
2003
+ readonly type: "address";
2004
+ readonly indexed: true;
2005
+ }, {
2006
+ readonly name: "newOwner";
2007
+ readonly internalType: "address";
2008
+ readonly type: "address";
2009
+ readonly indexed: true;
2010
+ }];
2011
+ readonly name: "OwnershipTransferred";
2012
+ }, {
2013
+ readonly type: "event";
2014
+ readonly anonymous: false;
2015
+ readonly inputs: readonly [{
2016
+ readonly name: "user";
2017
+ readonly internalType: "address";
2018
+ readonly type: "address";
2019
+ readonly indexed: true;
2020
+ }, {
2021
+ readonly name: "roles";
2022
+ readonly internalType: "uint256";
2023
+ readonly type: "uint256";
2024
+ readonly indexed: true;
2025
+ }];
2026
+ readonly name: "RolesUpdated";
2027
+ }, {
2028
+ readonly type: "fallback";
2029
+ readonly stateMutability: "payable";
2030
+ }, {
2031
+ readonly type: "function";
2032
+ readonly inputs: readonly [];
2033
+ readonly name: "ADMIN_ROLE";
2034
+ readonly outputs: readonly [{
2035
+ readonly name: "";
2036
+ readonly internalType: "uint256";
2037
+ readonly type: "uint256";
2038
+ }];
2039
+ readonly stateMutability: "view";
2040
+ }, {
2041
+ readonly type: "function";
2042
+ readonly inputs: readonly [];
2043
+ readonly name: "MANAGER_ROLE";
2044
+ readonly outputs: readonly [{
2045
+ readonly name: "";
2046
+ readonly internalType: "uint256";
2047
+ readonly type: "uint256";
2048
+ }];
2049
+ readonly stateMutability: "view";
2050
+ }, {
2051
+ readonly type: "function";
2052
+ readonly inputs: readonly [];
2053
+ readonly name: "PERMIT2";
2054
+ readonly outputs: readonly [{
2055
+ readonly name: "";
2056
+ readonly internalType: "contract IPermit2";
2057
+ readonly type: "address";
2058
+ }];
2059
+ readonly stateMutability: "view";
2060
+ }, {
2061
+ readonly type: "function";
2062
+ readonly inputs: readonly [{
2063
+ readonly name: "";
2064
+ readonly internalType: "bytes";
2065
+ readonly type: "bytes";
2066
+ }];
2067
+ readonly name: "allocate";
2068
+ readonly outputs: readonly [{
2069
+ readonly name: "";
2070
+ readonly internalType: "bool";
2071
+ readonly type: "bool";
2072
+ }];
2073
+ readonly stateMutability: "payable";
2074
+ }, {
2075
+ readonly type: "function";
2076
+ readonly inputs: readonly [{
2077
+ readonly name: "";
2078
+ readonly internalType: "address";
2079
+ readonly type: "address";
2080
+ }];
2081
+ readonly name: "available";
2082
+ readonly outputs: readonly [{
2083
+ readonly name: "";
2084
+ readonly internalType: "uint256";
2085
+ readonly type: "uint256";
2086
+ }];
2087
+ readonly stateMutability: "view";
2088
+ }, {
2089
+ readonly type: "function";
2090
+ readonly inputs: readonly [{
2091
+ readonly name: "";
2092
+ readonly internalType: "address";
2093
+ readonly type: "address";
2094
+ }, {
2095
+ readonly name: "";
2096
+ readonly internalType: "uint256";
2097
+ readonly type: "uint256";
2098
+ }];
2099
+ readonly name: "available";
2100
+ readonly outputs: readonly [{
2101
+ readonly name: "";
2102
+ readonly internalType: "uint256";
2103
+ readonly type: "uint256";
2104
+ }];
2105
+ readonly stateMutability: "view";
2106
+ }, {
2107
+ readonly type: "function";
2108
+ readonly inputs: readonly [];
2109
+ readonly name: "cancelOwnershipHandover";
2110
+ readonly outputs: readonly [];
2111
+ readonly stateMutability: "payable";
2112
+ }, {
2113
+ readonly type: "function";
2114
+ readonly inputs: readonly [{
2115
+ readonly name: "";
2116
+ readonly internalType: "bytes";
2117
+ readonly type: "bytes";
2118
+ }];
2119
+ readonly name: "clawback";
2120
+ readonly outputs: readonly [{
2121
+ readonly name: "";
2122
+ readonly internalType: "uint256";
2123
+ readonly type: "uint256";
2124
+ }];
2125
+ readonly stateMutability: "nonpayable";
2126
+ }, {
2127
+ readonly type: "function";
2128
+ readonly inputs: readonly [{
2129
+ readonly name: "target";
2130
+ readonly internalType: "address";
2131
+ readonly type: "address";
2132
+ }, {
2133
+ readonly name: "data_";
2134
+ readonly internalType: "bytes";
2135
+ readonly type: "bytes";
2136
+ }, {
2137
+ readonly name: "boostId";
2138
+ readonly internalType: "uint256";
2139
+ readonly type: "uint256";
2140
+ }, {
2141
+ readonly name: "incentiveId";
2142
+ readonly internalType: "uint256";
2143
+ readonly type: "uint256";
2144
+ }];
2145
+ readonly name: "clawbackFromTarget";
2146
+ readonly outputs: readonly [{
2147
+ readonly name: "";
2148
+ readonly internalType: "uint256";
2149
+ readonly type: "uint256";
2150
+ }, {
2151
+ readonly name: "";
2152
+ readonly internalType: "address";
2153
+ readonly type: "address";
2154
+ }];
2155
+ readonly stateMutability: "nonpayable";
2156
+ }, {
2157
+ readonly type: "function";
2158
+ readonly inputs: readonly [{
2159
+ readonly name: "pendingOwner";
2160
+ readonly internalType: "address";
2161
+ readonly type: "address";
2162
+ }];
2163
+ readonly name: "completeOwnershipHandover";
2164
+ readonly outputs: readonly [];
2165
+ readonly stateMutability: "payable";
2166
+ }, {
2167
+ readonly type: "function";
2168
+ readonly inputs: readonly [{
2169
+ readonly name: "_allocations";
2170
+ readonly internalType: "bytes[]";
2171
+ readonly type: "bytes[]";
2172
+ }, {
2173
+ readonly name: "core";
2174
+ readonly internalType: "contract BoostCore";
2175
+ readonly type: "address";
2176
+ }, {
2177
+ readonly name: "_boostPayload";
2178
+ readonly internalType: "bytes";
2179
+ readonly type: "bytes";
2180
+ }];
2181
+ readonly name: "createBoost";
2182
+ readonly outputs: readonly [];
2183
+ readonly stateMutability: "payable";
2184
+ }, {
2185
+ readonly type: "function";
2186
+ readonly inputs: readonly [{
2187
+ readonly name: "_allocations";
2188
+ readonly internalType: "bytes[]";
2189
+ readonly type: "bytes[]";
2190
+ }, {
2191
+ readonly name: "core";
2192
+ readonly internalType: "contract BoostCore";
2193
+ readonly type: "address";
2194
+ }, {
2195
+ readonly name: "_boostPayload";
2196
+ readonly internalType: "bytes";
2197
+ readonly type: "bytes";
2198
+ }, {
2199
+ readonly name: "_permit2Signature";
2200
+ readonly internalType: "bytes";
2201
+ readonly type: "bytes";
2202
+ }, {
2203
+ readonly name: "nonce";
2204
+ readonly internalType: "uint256";
2205
+ readonly type: "uint256";
2206
+ }, {
2207
+ readonly name: "deadline";
2208
+ readonly internalType: "uint256";
2209
+ readonly type: "uint256";
2210
+ }];
2211
+ readonly name: "createBoostWithPermit2";
2212
+ readonly outputs: readonly [];
2213
+ readonly stateMutability: "payable";
2214
+ }, {
2215
+ readonly type: "function";
2216
+ readonly inputs: readonly [{
2217
+ readonly name: "data_";
2218
+ readonly internalType: "bytes";
2219
+ readonly type: "bytes";
2220
+ }];
2221
+ readonly name: "disburse";
2222
+ readonly outputs: readonly [{
2223
+ readonly name: "";
2224
+ readonly internalType: "bool";
2225
+ readonly type: "bool";
2226
+ }];
2227
+ readonly stateMutability: "nonpayable";
2228
+ }, {
2229
+ readonly type: "function";
2230
+ readonly inputs: readonly [{
2231
+ readonly name: "data_";
2232
+ readonly internalType: "bytes[]";
2233
+ readonly type: "bytes[]";
2234
+ }];
2235
+ readonly name: "disburseBatch";
2236
+ readonly outputs: readonly [{
2237
+ readonly name: "";
2238
+ readonly internalType: "bool";
2239
+ readonly type: "bool";
2240
+ }];
2241
+ readonly stateMutability: "nonpayable";
2242
+ }, {
2243
+ readonly type: "function";
2244
+ readonly inputs: readonly [{
2245
+ readonly name: "asset_";
2246
+ readonly internalType: "address";
2247
+ readonly type: "address";
2248
+ }];
2249
+ readonly name: "distributed";
2250
+ readonly outputs: readonly [{
2251
+ readonly name: "";
2252
+ readonly internalType: "uint256";
2253
+ readonly type: "uint256";
2254
+ }];
2255
+ readonly stateMutability: "view";
2256
+ }, {
2257
+ readonly type: "function";
2258
+ readonly inputs: readonly [{
2259
+ readonly name: "asset_";
2260
+ readonly internalType: "address";
2261
+ readonly type: "address";
2262
+ }, {
2263
+ readonly name: "tokenId_";
2264
+ readonly internalType: "uint256";
2265
+ readonly type: "uint256";
2266
+ }];
2267
+ readonly name: "distributed";
2268
+ readonly outputs: readonly [{
2269
+ readonly name: "";
2270
+ readonly internalType: "uint256";
2271
+ readonly type: "uint256";
2272
+ }];
2273
+ readonly stateMutability: "view";
2274
+ }, {
2275
+ readonly type: "function";
2276
+ readonly inputs: readonly [];
2277
+ readonly name: "getComponentInterface";
2278
+ readonly outputs: readonly [{
2279
+ readonly name: "";
2280
+ readonly internalType: "bytes4";
2281
+ readonly type: "bytes4";
2282
+ }];
2283
+ readonly stateMutability: "pure";
2284
+ }, {
2285
+ readonly type: "function";
2286
+ readonly inputs: readonly [{
2287
+ readonly name: "accounts_";
2288
+ readonly internalType: "address[]";
2289
+ readonly type: "address[]";
2290
+ }, {
2291
+ readonly name: "roles_";
2292
+ readonly internalType: "uint256[]";
2293
+ readonly type: "uint256[]";
2294
+ }];
2295
+ readonly name: "grantManyRoles";
2296
+ readonly outputs: readonly [];
2297
+ readonly stateMutability: "nonpayable";
2298
+ }, {
2299
+ readonly type: "function";
2300
+ readonly inputs: readonly [{
2301
+ readonly name: "user";
2302
+ readonly internalType: "address";
2303
+ readonly type: "address";
2304
+ }, {
2305
+ readonly name: "roles";
2306
+ readonly internalType: "uint256";
2307
+ readonly type: "uint256";
2308
+ }];
2309
+ readonly name: "grantRoles";
2310
+ readonly outputs: readonly [];
2311
+ readonly stateMutability: "payable";
2312
+ }, {
2313
+ readonly type: "function";
2314
+ readonly inputs: readonly [{
2315
+ readonly name: "user";
2316
+ readonly internalType: "address";
2317
+ readonly type: "address";
2318
+ }, {
2319
+ readonly name: "roles";
2320
+ readonly internalType: "uint256";
2321
+ readonly type: "uint256";
2322
+ }];
2323
+ readonly name: "hasAllRoles";
2324
+ readonly outputs: readonly [{
2325
+ readonly name: "";
2326
+ readonly internalType: "bool";
2327
+ readonly type: "bool";
2328
+ }];
2329
+ readonly stateMutability: "view";
2330
+ }, {
2331
+ readonly type: "function";
2332
+ readonly inputs: readonly [{
2333
+ readonly name: "user";
2334
+ readonly internalType: "address";
2335
+ readonly type: "address";
2336
+ }, {
2337
+ readonly name: "roles";
2338
+ readonly internalType: "uint256";
2339
+ readonly type: "uint256";
2340
+ }];
2341
+ readonly name: "hasAnyRole";
2342
+ readonly outputs: readonly [{
2343
+ readonly name: "";
2344
+ readonly internalType: "bool";
2345
+ readonly type: "bool";
2346
+ }];
2347
+ readonly stateMutability: "view";
2348
+ }, {
2349
+ readonly type: "function";
2350
+ readonly inputs: readonly [{
2351
+ readonly name: "";
2352
+ readonly internalType: "bytes";
2353
+ readonly type: "bytes";
2354
+ }];
2355
+ readonly name: "initialize";
2356
+ readonly outputs: readonly [];
2357
+ readonly stateMutability: "nonpayable";
2358
+ }, {
2359
+ readonly type: "function";
2360
+ readonly inputs: readonly [{
2361
+ readonly name: "account_";
2362
+ readonly internalType: "address";
2363
+ readonly type: "address";
2364
+ }];
2365
+ readonly name: "isAuthorized";
2366
+ readonly outputs: readonly [{
2367
+ readonly name: "";
2368
+ readonly internalType: "bool";
2369
+ readonly type: "bool";
2370
+ }];
2371
+ readonly stateMutability: "view";
2372
+ }, {
2373
+ readonly type: "function";
2374
+ readonly inputs: readonly [{
2375
+ readonly name: "";
2376
+ readonly internalType: "address";
2377
+ readonly type: "address";
2378
+ }, {
2379
+ readonly name: "";
2380
+ readonly internalType: "address";
2381
+ readonly type: "address";
2382
+ }, {
2383
+ readonly name: "";
2384
+ readonly internalType: "uint256[]";
2385
+ readonly type: "uint256[]";
2386
+ }, {
2387
+ readonly name: "";
2388
+ readonly internalType: "uint256[]";
2389
+ readonly type: "uint256[]";
2390
+ }, {
2391
+ readonly name: "";
2392
+ readonly internalType: "bytes";
2393
+ readonly type: "bytes";
2394
+ }];
2395
+ readonly name: "onERC1155BatchReceived";
2396
+ readonly outputs: readonly [{
2397
+ readonly name: "";
2398
+ readonly internalType: "bytes4";
2399
+ readonly type: "bytes4";
2400
+ }];
2401
+ readonly stateMutability: "pure";
2402
+ }, {
2403
+ readonly type: "function";
2404
+ readonly inputs: readonly [{
2405
+ readonly name: "";
2406
+ readonly internalType: "address";
2407
+ readonly type: "address";
2408
+ }, {
2409
+ readonly name: "";
2410
+ readonly internalType: "address";
2411
+ readonly type: "address";
2412
+ }, {
2413
+ readonly name: "";
2414
+ readonly internalType: "uint256";
2415
+ readonly type: "uint256";
2416
+ }, {
2417
+ readonly name: "";
2418
+ readonly internalType: "uint256";
2419
+ readonly type: "uint256";
2420
+ }, {
2421
+ readonly name: "";
2422
+ readonly internalType: "bytes";
2423
+ readonly type: "bytes";
2424
+ }];
2425
+ readonly name: "onERC1155Received";
2426
+ readonly outputs: readonly [{
2427
+ readonly name: "";
2428
+ readonly internalType: "bytes4";
2429
+ readonly type: "bytes4";
2430
+ }];
2431
+ readonly stateMutability: "pure";
2432
+ }, {
2433
+ readonly type: "function";
2434
+ readonly inputs: readonly [];
2435
+ readonly name: "owner";
2436
+ readonly outputs: readonly [{
2437
+ readonly name: "result";
2438
+ readonly internalType: "address";
2439
+ readonly type: "address";
2440
+ }];
2441
+ readonly stateMutability: "view";
2442
+ }, {
2443
+ readonly type: "function";
2444
+ readonly inputs: readonly [{
2445
+ readonly name: "pendingOwner";
2446
+ readonly internalType: "address";
2447
+ readonly type: "address";
2448
+ }];
2449
+ readonly name: "ownershipHandoverExpiresAt";
2450
+ readonly outputs: readonly [{
2451
+ readonly name: "result";
2452
+ readonly internalType: "uint256";
2453
+ readonly type: "uint256";
2454
+ }];
2455
+ readonly stateMutability: "view";
2456
+ }, {
2457
+ readonly type: "function";
2458
+ readonly inputs: readonly [{
2459
+ readonly name: "";
2460
+ readonly internalType: "bytes";
2461
+ readonly type: "bytes";
2462
+ }];
2463
+ readonly name: "reconcile";
2464
+ readonly outputs: readonly [{
2465
+ readonly name: "";
2466
+ readonly internalType: "uint256";
2467
+ readonly type: "uint256";
2468
+ }];
2469
+ readonly stateMutability: "nonpayable";
2470
+ }, {
2471
+ readonly type: "function";
2472
+ readonly inputs: readonly [];
2473
+ readonly name: "renounceOwnership";
2474
+ readonly outputs: readonly [];
2475
+ readonly stateMutability: "payable";
2476
+ }, {
2477
+ readonly type: "function";
2478
+ readonly inputs: readonly [{
2479
+ readonly name: "roles";
2480
+ readonly internalType: "uint256";
2481
+ readonly type: "uint256";
2482
+ }];
2483
+ readonly name: "renounceRoles";
2484
+ readonly outputs: readonly [];
2485
+ readonly stateMutability: "payable";
2486
+ }, {
2487
+ readonly type: "function";
2488
+ readonly inputs: readonly [];
2489
+ readonly name: "requestOwnershipHandover";
2490
+ readonly outputs: readonly [];
2491
+ readonly stateMutability: "payable";
2492
+ }, {
2493
+ readonly type: "function";
2494
+ readonly inputs: readonly [{
2495
+ readonly name: "accounts_";
2496
+ readonly internalType: "address[]";
2497
+ readonly type: "address[]";
2498
+ }, {
2499
+ readonly name: "roles_";
2500
+ readonly internalType: "uint256[]";
2501
+ readonly type: "uint256[]";
2502
+ }];
2503
+ readonly name: "revokeManyRoles";
2504
+ readonly outputs: readonly [];
2505
+ readonly stateMutability: "nonpayable";
2506
+ }, {
2507
+ readonly type: "function";
2508
+ readonly inputs: readonly [{
2509
+ readonly name: "user";
2510
+ readonly internalType: "address";
2511
+ readonly type: "address";
2512
+ }, {
2513
+ readonly name: "roles";
2514
+ readonly internalType: "uint256";
2515
+ readonly type: "uint256";
2516
+ }];
2517
+ readonly name: "revokeRoles";
2518
+ readonly outputs: readonly [];
2519
+ readonly stateMutability: "payable";
2520
+ }, {
2521
+ readonly type: "function";
2522
+ readonly inputs: readonly [{
2523
+ readonly name: "user";
2524
+ readonly internalType: "address";
2525
+ readonly type: "address";
2526
+ }];
2527
+ readonly name: "rolesOf";
2528
+ readonly outputs: readonly [{
2529
+ readonly name: "roles";
2530
+ readonly internalType: "uint256";
2531
+ readonly type: "uint256";
2532
+ }];
2533
+ readonly stateMutability: "view";
2534
+ }, {
2535
+ readonly type: "function";
2536
+ readonly inputs: readonly [{
2537
+ readonly name: "accounts_";
2538
+ readonly internalType: "address[]";
2539
+ readonly type: "address[]";
2540
+ }, {
2541
+ readonly name: "authorized_";
2542
+ readonly internalType: "bool[]";
2543
+ readonly type: "bool[]";
2544
+ }];
2545
+ readonly name: "setAuthorized";
2546
+ readonly outputs: readonly [];
2547
+ readonly stateMutability: "nonpayable";
2548
+ }, {
2549
+ readonly type: "function";
2550
+ readonly inputs: readonly [{
2551
+ readonly name: "interfaceId";
2552
+ readonly internalType: "bytes4";
2553
+ readonly type: "bytes4";
2554
+ }];
2555
+ readonly name: "supportsInterface";
2556
+ readonly outputs: readonly [{
2557
+ readonly name: "";
2558
+ readonly internalType: "bool";
2559
+ readonly type: "bool";
2560
+ }];
2561
+ readonly stateMutability: "view";
2562
+ }, {
2563
+ readonly type: "function";
2564
+ readonly inputs: readonly [{
2565
+ readonly name: "asset_";
2566
+ readonly internalType: "address";
2567
+ readonly type: "address";
2568
+ }];
2569
+ readonly name: "total";
2570
+ readonly outputs: readonly [{
2571
+ readonly name: "";
2572
+ readonly internalType: "uint256";
2573
+ readonly type: "uint256";
2574
+ }];
2575
+ readonly stateMutability: "view";
2576
+ }, {
2577
+ readonly type: "function";
2578
+ readonly inputs: readonly [{
2579
+ readonly name: "asset_";
2580
+ readonly internalType: "address";
2581
+ readonly type: "address";
2582
+ }, {
2583
+ readonly name: "tokenId_";
2584
+ readonly internalType: "uint256";
2585
+ readonly type: "uint256";
2586
+ }];
2587
+ readonly name: "total";
2588
+ readonly outputs: readonly [{
2589
+ readonly name: "";
2590
+ readonly internalType: "uint256";
2591
+ readonly type: "uint256";
2592
+ }];
2593
+ readonly stateMutability: "view";
2594
+ }, {
2595
+ readonly type: "function";
2596
+ readonly inputs: readonly [{
2597
+ readonly name: "newOwner";
2598
+ readonly internalType: "address";
2599
+ readonly type: "address";
2600
+ }];
2601
+ readonly name: "transferOwnership";
2602
+ readonly outputs: readonly [];
2603
+ readonly stateMutability: "payable";
2604
+ }, {
2605
+ readonly type: "receive";
2606
+ readonly stateMutability: "payable";
2607
+ }], "createBoostWithPermit2", readonly [readonly `0x${string}`[], `0x${string}`, `0x${string}`, `0x${string}`, bigint, bigint], import("viem").Chain, import("viem").Account, import("viem").Chain> & {
2608
+ chainId: number;
2609
+ request: {
2610
+ chainId?: undefined;
2611
+ chain: import("viem").Chain;
2612
+ __mode: "prepared";
2613
+ };
2614
+ }>;
2615
+ private prepareCreateBoostPayload;
2616
+ /**
2617
+ * Claims one incentive from a given `Boost` by `boostId` and `incentiveId`
2618
+ *
2619
+ * @public
2620
+ * @async
2621
+ * @param {bigint} boostId
2622
+ * @param {bigint} incentiveId
2623
+ * @param {Address} address
2624
+ * @param {Hex} data
2625
+ * @param {?WriteParams} [params]
2626
+ * @returns {Promise<void>}
2627
+ */
2628
+ claimIncentive(boostId: bigint, incentiveId: bigint, address: Address, data: Hex, params?: WriteParams): Promise<void>;
2629
+ /**
2630
+ * Claim an incentive for a Boost
2631
+ *
2632
+ * @public
2633
+ * @async
2634
+ * @param {bigint} boostId - The ID of the Boost
2635
+ * @param {bigint} incentiveId - The ID of the Incentive
2636
+ * @param {Address} referrer - The address of the referrer (if any)
2637
+ * @param {Hex} data- The data for the claim
2638
+ * @param {?WriteParams} [params]
2639
+ * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
2640
+ */
2641
+ claimIncentiveRaw(boostId: bigint, incentiveId: bigint, referrer: Address, data: Hex, params?: WriteParams): Promise<{
2642
+ hash: `0x${string}`;
2643
+ result: void;
2644
+ }>;
2645
+ /**
2646
+ * Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
2647
+ *
2648
+ * @public
2649
+ * @async
2650
+ * @param {bigint} boostId
2651
+ * @param {bigint} incentiveId
2652
+ * @param {Address} referrer
2653
+ * @param {Hex} data
2654
+ * @param {Address} claimant
2655
+ * @param {?WriteParams} [params]
2656
+ * @returns {Promise<void>}
2657
+ */
2658
+ claimIncentiveFor(boostId: bigint, incentiveId: bigint, referrer: Address, data: Hex, claimant: Address, params?: WriteParams): Promise<void>;
2659
+ /**
2660
+ * Claim an incentive for a Boost on behalf of another user
2661
+ *
2662
+ * @public
2663
+ * @async
2664
+ * @param {bigint} boostId - The ID of the Boost
2665
+ * @param {bigint} incentiveId - The ID of the Incentive
2666
+ * @param {Address} referrer - The address of the referrer (if any)
2667
+ * @param {Hex} data - The data for the claim
2668
+ * @param {Address} claimant - The address of the user eligible for the incentive payout
2669
+ * @param {?WriteParams} [params]
2670
+ * @returns {Promise<{ hash: Hex; result: void; }>}
2671
+ */
2672
+ claimIncentiveForRaw(boostId: bigint, incentiveId: bigint, referrer: Address, data: Hex, claimant: Address, params?: WriteParams): Promise<{
2673
+ hash: `0x${string}`;
2674
+ result: void;
2675
+ }>;
2676
+ /**
2677
+ * Get a Boost by index, will return the raw on chain representation of a Boost.
2678
+ *
2679
+ * @public
2680
+ * @async
2681
+ * @param {bigint | string} id
2682
+ * @param {?ReadParams} [params]
2683
+ * @returns {Promise<RawBoost>}
2684
+ * @throws {@link BoostNotFoundError}
2685
+ */
2686
+ readBoost(_id: string | bigint, params?: ReadParams): Promise<RawBoost>;
2687
+ /**
2688
+ * Get a Boost by index, will return a new {@link Boost} with correct target implementations instantiated, ie `(await core.getBoost(0n)).allowList instanceof SimpleAllowList` vs `SimpleDenyList`
2689
+ *
2690
+ * @public
2691
+ * @async
2692
+ * @param {(string | bigint)} _id
2693
+ * @param {?ReadParams} [params]
2694
+ * @returns {Promise<Boost>}
2695
+ * @throws {@link BoostNotFoundError}
2696
+ */
2697
+ getBoost(_id: string | bigint, params?: ReadParams): Promise<Boost>;
2698
+ /**
2699
+ * Retrieve the total number of deployed Boosts
2700
+ *
2701
+ * @public
2702
+ * @async
2703
+ * @param {?ReadParams} [params]
2704
+ * @returns {Promise<bigint>}
2705
+ */
2706
+ getBoostCount(params?: ReadParams): Promise<bigint>;
2707
+ /**
2708
+ * Checks if an address is authorized
2709
+ *
2710
+ * @public
2711
+ * @async
2712
+ * @param {Address} address
2713
+ * @param {?ReadParams &
2714
+ * ReadParams} [params]
2715
+ * @returns {Promise<boolean>}
2716
+ */
2717
+ isAuthorized(address: Address, params?: ReadParams & ReadParams): Promise<boolean>;
2718
+ /**
2719
+ * Retrieve the address of the current creation auth provider.
2720
+ *
2721
+ * @public
2722
+ * @async
2723
+ * @param {?ReadParams} [params]
2724
+ * @returns {Promise<Address>}
2725
+ */
2726
+ createBoostAuth(params?: ReadParams): Promise<`0x${string}`>;
2727
+ /**
2728
+ * Replace the current auth scheme.
2729
+ *
2730
+ * @public
2731
+ * @async
2732
+ * @param {Auth} auth
2733
+ * @param {?WriteParams} [params]
2734
+ * @returns {Promise<void>}
2735
+ */
2736
+ setCreateBoostAuth(auth: Auth, params?: WriteParams): Promise<void>;
2737
+ /**
2738
+ * Set the createBoostAuth address
2739
+ *
2740
+ * @public
2741
+ * @async
2742
+ * @param {Address} address
2743
+ * @param {?WriteParams} [params]
2744
+ * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
2745
+ */
2746
+ setCreateBoostAuthRaw(address: Address, params?: WriteParams): Promise<{
2747
+ hash: `0x${string}`;
2748
+ result: void;
2749
+ }>;
2750
+ /**
2751
+ * Get the protocol fee.
2752
+ *
2753
+ * @public
2754
+ * @async
2755
+ * @param {?ReadParams} [params]
2756
+ * @returns {unknown}
2757
+ */
2758
+ protocolFee(params?: ReadParams): Promise<bigint>;
2759
+ /**
2760
+ * Get the protocol fee receiver.
2761
+ *
2762
+ * @public
2763
+ * @async
2764
+ * @param {?ReadParams} [params]
2765
+ * @returns {Promise<Address>}
2766
+ */
2767
+ protocolFeeReceiver(params?: ReadParams): Promise<`0x${string}`>;
2768
+ /**
2769
+ * Set the protocol fee receiver address. This function is only callable by the owner.
2770
+ *
2771
+ * @public
2772
+ * @async
2773
+ * @param {Address} address
2774
+ * @param {?WriteParams} [params]
2775
+ * @returns {Promise<void>}
2776
+ */
2777
+ setProcolFeeReceiver(address: Address, params?: WriteParams): Promise<void>;
2778
+ /**
2779
+ * Set the protocol fee receiver address. This function is only callable by the owner.
2780
+ *
2781
+ * @public
2782
+ * @async
2783
+ * @param {Address} address
2784
+ * @param {?WriteParams} [params]
2785
+ * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
2786
+ */
2787
+ setProcolFeeReceiverRaw(address: Address, params?: WriteParams): Promise<{
2788
+ hash: `0x${string}`;
2789
+ result: void;
2790
+ }>;
2791
+ /**
2792
+ * Get the incentives fees information for a given Boost ID and Incentive ID.
2793
+ *
2794
+ * @public
2795
+ * @async
2796
+ * @param {bigint} boostId - The ID of the Boost
2797
+ * @param {bigint} incentiveId - The ID of the Incentive
2798
+ * @param {?ReadParams} [params]
2799
+ * @returns {Promise<IncentiveDisbursalInfo>}
2800
+ */
2801
+ getIncentiveFeesInfo(boostId: bigint, incentiveId: bigint, params?: ReadParams): Promise<{
2802
+ assetType: number;
2803
+ asset: `0x${string}`;
2804
+ protocolFeesRemaining: bigint;
2805
+ protocolFee: bigint;
2806
+ tokenId: bigint;
2807
+ }>;
2808
+ /**
2809
+ * Retrieves the claim information from a transaction receipt.
2810
+ *
2811
+ * @param {GetTransactionReceiptParameters} params - The parameters required to get the transaction receipt.
2812
+ * @returns {Promise<{ boostId: bigint, incentiveId: bigint, claimer: Address, amount: bigint } | undefined>} The claim information if found, undefined otherwise.
2813
+ *
2814
+ * @description
2815
+ * This method retrieves the transaction receipt using the provided parameters,
2816
+ * then parses the logs to find the 'BoostClaimed' event.
2817
+ * If found, it returns the arguments of the event, which include the boost ID,
2818
+ * incentive ID, claimer address, and claimed amount.
2819
+ *
2820
+ * @example
2821
+ * ```ts
2822
+ * const claimInfo = await boostCore.getClaimFromTransaction({
2823
+ * hash: '0x...',
2824
+ * chainId: 1
2825
+ * });
2826
+ * if (claimInfo) {
2827
+ * console.log(`Boost ${claimInfo.boostId} claimed by ${claimInfo.claimer}`);
2828
+ * }
2829
+ * ```
2830
+ */
2831
+ getClaimFromTransaction(params: GetTransactionReceiptParameters): Promise<{
2832
+ boostId: bigint;
2833
+ incentiveId: bigint;
2834
+ claimant: `0x${string}`;
2835
+ referrer: `0x${string}`;
2836
+ data: `0x${string}`;
2837
+ } | undefined>;
2838
+ /**
2839
+ * Calculate the protocol fee for ERC20 or ETH assets for a given amount. Fees are collected when initializing new incentives, or clawing back from incentives.
2840
+ *
2841
+ * @example
2842
+ * ```ts
2843
+ * const fee = await core.calculateProtocolFee(
2844
+ * await incentive.getTotalBudget()
2845
+ * )
2846
+ * const totalIncentiveFundAmount = desiredAmount + fee
2847
+ * await erc20.approve(budget.assertValidAddress(), totalIncentiveFundAmount);
2848
+ * await budget.allocate({
2849
+ * amount: totalIncentiveFundAmount,
2850
+ * asset: erc20.assertValidAddress(),
2851
+ * target: '0xME',
2852
+ * });
2853
+ *
2854
+ * ```
2855
+ * @public
2856
+ * @async
2857
+ * @param {bigint} [amount]
2858
+ * @param {?ReadParams} [params]
2859
+ * @returns {Promise<void>}
2860
+ */
2861
+ calculateProtocolFee(amount: bigint, params?: ReadParams): Promise<bigint>;
2862
+ /**
2863
+ * Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
2864
+ *
2865
+ * @example
2866
+ * ```ts
2867
+ * const auth = core.PassthroughAuth('0x') // is roughly equivalent to
2868
+ * const auth = new PassthroughAuth({ config: core._config, account: core._account }, '0x')
2869
+ * ```
2870
+ * @param {Address} address
2871
+ * @returns {PassthroughAuth}
2872
+ */
2873
+ PassthroughAuth(address?: Address): PassthroughAuth;
2874
+ /**
2875
+ * Bound {@link EventAction} constructor that reuses the same configuration as the Boost Core instance.
2876
+ *
2877
+ * @example
2878
+ * ```ts
2879
+ * const action = core.EventAction('0x') // is roughly equivalent to
2880
+ * const action = new EventAction({ config: core._config, account: core._account }, '0x')
2881
+ */
2882
+ EventAction(options: DeployablePayloadOrAddress<EventActionPayload>, isBase?: boolean): EventAction;
2883
+ /**
2884
+ * Bound {@link OpenAllowList} constructor that reuses the same configuration as the Boost Core instance.
2885
+ *
2886
+ * @example
1272
2887
  * ```ts
1273
2888
  * const list = core.OpenAllowList('0x') // is roughly equivalent to
1274
2889
  * const list = new OpenAllowList({ config: core._config, account: core._account }, '0x')
@@ -1341,6 +2956,18 @@ export declare class BoostCore extends Deployable<[
1341
2956
  * @returns {ManagedBudgetWithFeesV2}
1342
2957
  */
1343
2958
  ManagedBudgetWithFeesV2(options: DeployablePayloadOrAddress<ManagedBudgetWithFeesV2Payload>): ManagedBudgetWithFeesV2;
2959
+ /**
2960
+ * Bound {@link TransparentBudget} constructor that reuses the same configuration as the Boost Core instance.
2961
+ *
2962
+ * @example
2963
+ * ```ts
2964
+ * const budget = core.TransparentBudget('0x') // is roughly equivalent to
2965
+ * const budget = new TransparentBudget({ config: core._config, account: core._account }, '0x')
2966
+ * ```
2967
+ * @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
2968
+ * @returns {TransparentBudget}
2969
+ */
2970
+ TransparentBudget(options: DeployablePayloadOrAddress<never>): TransparentBudget;
1344
2971
  /**
1345
2972
  * Bound {@link AllowListIncentive} constructor that reuses the same configuration as the Boost Core instance.
1346
2973
  *
@@ -1428,7 +3055,7 @@ export declare class BoostCore extends Deployable<[
1428
3055
  */
1429
3056
  LimitedSignerValidator(options: DeployablePayloadOrAddress<LimitedSignerValidatorPayload>, isBase?: boolean): LimitedSignerValidator;
1430
3057
  /**
1431
- * Bound {@link ERC20VariableCriteriaIncentive} constructor that reuses the same configuration as the Boost Core instance.
3058
+ * Bound {@link ERC20VariableCriteriaIncentiveV2} constructor that reuses the same configuration as the Boost Core instance.
1432
3059
  *
1433
3060
  * @example
1434
3061
  * ```ts
@@ -1437,22 +3064,22 @@ export declare class BoostCore extends Deployable<[
1437
3064
  * ```
1438
3065
  * @param {DeployablePayloadOrAddress<ERC20VariableCrtieriaIncentivePayload>} options
1439
3066
  * @param {?boolean} [isBase]
1440
- * @returns {ERC20VariableCrtieriaIncentive}
3067
+ * @returns {ERC20VariableCrtieriaIncentiveV2}
1441
3068
  * */
1442
- ERC20VariableCriteriaIncentive(options: DeployablePayloadOrAddress<ERC20VariableCriteriaIncentivePayload>, isBase?: boolean): ERC20VariableCriteriaIncentive;
3069
+ ERC20VariableCriteriaIncentiveV2(options: DeployablePayloadOrAddress<ERC20VariableCriteriaIncentiveV2Payload>, isBase?: boolean): ERC20VariableCriteriaIncentiveV2;
1443
3070
  /**
1444
- * Bound {@link ERC20PeggedVariableCriteriaIncentive} constructor that reuses the same configuration as the Boost Core instance.
3071
+ * Bound {@link ERC20PeggedVariableCriteriaIncentiveV2} constructor that reuses the same configuration as the Boost Core instance.
1445
3072
  *
1446
3073
  * @example
1447
3074
  * ```ts
1448
- * const validator = core.ERC20PeggedVariableCriteriaIncentive({ ... }) // is roughly equivalent to
1449
- * const validator = new ERC20PeggedVariableCriteriaIncentive({ config: core._config, account: core._account }, { ... })
3075
+ * const validator = core.ERC20PeggedVariableCriteriaIncentiveV2({ ... }) // is roughly equivalent to
3076
+ * const validator = new ERC20PeggedVariableCriteriaIncentiveV2({ config: core._config, account: core._account }, { ... })
1450
3077
  * ```
1451
- * @param {DeployablePayloadOrAddress<ERC20PeggedVariableCriteriaIncentive>} options
3078
+ * @param {DeployablePayloadOrAddress<ERC20PeggedVariableCriteriaIncentiveV2>} options
1452
3079
  * @param {?boolean} [isBase]
1453
- * @returns {ERC20PeggedVariableCriteriaIncentive}
3080
+ * @returns {ERC20PeggedVariableCriteriaIncentiveV2}
1454
3081
  * */
1455
- ERC20PeggedVariableCriteriaIncentive(options: DeployablePayloadOrAddress<ERC20PeggedVariableCriteriaIncentivePayload>, isBase?: boolean): ERC20PeggedVariableCriteriaIncentive;
3082
+ ERC20PeggedVariableCriteriaIncentiveV2(options: DeployablePayloadOrAddress<ERC20PeggedVariableCriteriaIncentiveV2Payload>, isBase?: boolean): ERC20PeggedVariableCriteriaIncentiveV2;
1456
3083
  /**
1457
3084
  * Bound {@link ERC20VariableIncentive} constructor that reuses the same configuration as the Boost Core instance.
1458
3085
  *
@@ -2059,7 +3686,7 @@ export declare class BoostCore extends Deployable<[
2059
3686
  readonly name: "transferOwnership";
2060
3687
  readonly outputs: readonly [];
2061
3688
  readonly stateMutability: "payable";
2062
- }]>;
3689
+ }], bigint>;
2063
3690
  /**
2064
3691
  * @inheritdoc
2065
3692
  *