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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/Actions/Action.cjs +2 -1
  2. package/dist/Actions/Action.cjs.map +1 -0
  3. package/dist/Actions/Action.d.ts +1 -1
  4. package/dist/Actions/Action.d.ts.map +1 -1
  5. package/dist/Actions/Action.js +14 -12
  6. package/dist/Actions/Action.js.map +1 -0
  7. package/dist/Actions/ContractAction.d.ts +57 -14
  8. package/dist/Actions/ContractAction.d.ts.map +1 -1
  9. package/dist/Actions/ERC721MintAction.d.ts +50 -23
  10. package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
  11. package/dist/Actions/EventAction.cjs +2 -1
  12. package/dist/Actions/EventAction.cjs.map +1 -0
  13. package/dist/Actions/EventAction.d.ts +405 -36
  14. package/dist/Actions/EventAction.d.ts.map +1 -1
  15. package/dist/Actions/EventAction.js +15 -209
  16. package/dist/Actions/EventAction.js.map +1 -0
  17. package/dist/AllowLists/AllowList.cjs +2 -1
  18. package/dist/AllowLists/AllowList.cjs.map +1 -0
  19. package/dist/AllowLists/AllowList.d.ts +6 -5
  20. package/dist/AllowLists/AllowList.d.ts.map +1 -1
  21. package/dist/AllowLists/AllowList.js +46 -22
  22. package/dist/AllowLists/AllowList.js.map +1 -0
  23. package/dist/AllowLists/OpenAllowList.d.ts +423 -0
  24. package/dist/AllowLists/OpenAllowList.d.ts.map +1 -0
  25. package/dist/AllowLists/SimpleAllowList.cjs +2 -1
  26. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
  27. package/dist/AllowLists/SimpleAllowList.d.ts +124 -40
  28. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  29. package/dist/AllowLists/SimpleAllowList.js +76 -76
  30. package/dist/AllowLists/SimpleAllowList.js.map +1 -0
  31. package/dist/AllowLists/SimpleDenyList.cjs +2 -1
  32. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
  33. package/dist/AllowLists/SimpleDenyList.d.ts +234 -13
  34. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  35. package/dist/AllowLists/SimpleDenyList.js +12 -200
  36. package/dist/AllowLists/SimpleDenyList.js.map +1 -0
  37. package/dist/Auth/Auth.cjs +1 -0
  38. package/dist/Auth/Auth.cjs.map +1 -0
  39. package/dist/Auth/Auth.js +1 -0
  40. package/dist/Auth/Auth.js.map +1 -0
  41. package/dist/Auth/PassthroughAuth.cjs +2 -1
  42. package/dist/Auth/PassthroughAuth.cjs.map +1 -0
  43. package/dist/Auth/PassthroughAuth.js +5 -4
  44. package/dist/Auth/PassthroughAuth.js.map +1 -0
  45. package/dist/Boost.cjs +2 -1
  46. package/dist/Boost.cjs.map +1 -0
  47. package/dist/Boost.d.ts +105 -14
  48. package/dist/Boost.d.ts.map +1 -1
  49. package/dist/Boost.js +138 -5
  50. package/dist/Boost.js.map +1 -0
  51. package/dist/BoostCore-DolmDuXW.cjs +3 -0
  52. package/dist/BoostCore-DolmDuXW.cjs.map +1 -0
  53. package/dist/BoostCore-Z97KVu4V.js +1448 -0
  54. package/dist/BoostCore-Z97KVu4V.js.map +1 -0
  55. package/dist/BoostCore.cjs +2 -2
  56. package/dist/BoostCore.cjs.map +1 -0
  57. package/dist/BoostCore.d.ts +788 -79
  58. package/dist/BoostCore.d.ts.map +1 -1
  59. package/dist/BoostCore.js +30 -1103
  60. package/dist/BoostCore.js.map +1 -0
  61. package/dist/BoostRegistry.cjs +2 -1
  62. package/dist/BoostRegistry.cjs.map +1 -0
  63. package/dist/BoostRegistry.d.ts +95 -26
  64. package/dist/BoostRegistry.d.ts.map +1 -1
  65. package/dist/BoostRegistry.js +183 -89
  66. package/dist/BoostRegistry.js.map +1 -0
  67. package/dist/Budgets/Budget.cjs +2 -1
  68. package/dist/Budgets/Budget.cjs.map +1 -0
  69. package/dist/Budgets/Budget.d.ts +1 -1
  70. package/dist/Budgets/Budget.d.ts.map +1 -1
  71. package/dist/Budgets/Budget.js +15 -13
  72. package/dist/Budgets/Budget.js.map +1 -0
  73. package/dist/Budgets/ManagedBudget.cjs +2 -1
  74. package/dist/Budgets/ManagedBudget.cjs.map +1 -0
  75. package/dist/Budgets/ManagedBudget.d.ts +112 -192
  76. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  77. package/dist/Budgets/ManagedBudget.js +91 -291
  78. package/dist/Budgets/ManagedBudget.js.map +1 -0
  79. package/dist/Budgets/VestingBudget.d.ts +277 -91
  80. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  81. package/dist/Deployable/Contract.cjs +2 -1
  82. package/dist/Deployable/Contract.cjs.map +1 -0
  83. package/dist/Deployable/Contract.d.ts +4 -5
  84. package/dist/Deployable/Contract.d.ts.map +1 -1
  85. package/dist/Deployable/Contract.js +7 -8
  86. package/dist/Deployable/Contract.js.map +1 -0
  87. package/dist/Deployable/Deployable.cjs +1 -0
  88. package/dist/Deployable/Deployable.cjs.map +1 -0
  89. package/dist/Deployable/Deployable.d.ts +9 -3
  90. package/dist/Deployable/Deployable.d.ts.map +1 -1
  91. package/dist/Deployable/Deployable.js +10 -5
  92. package/dist/Deployable/Deployable.js.map +1 -0
  93. package/dist/Deployable/DeployableTarget.cjs +2 -1
  94. package/dist/Deployable/DeployableTarget.cjs.map +1 -0
  95. package/dist/Deployable/DeployableTarget.d.ts +16 -15
  96. package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
  97. package/dist/Deployable/DeployableTarget.js +49 -42
  98. package/dist/Deployable/DeployableTarget.js.map +1 -0
  99. package/dist/Deployable/DeployableTargetWithRBAC.cjs +2 -0
  100. package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -0
  101. package/dist/Deployable/DeployableTargetWithRBAC.d.ts +179 -0
  102. package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -0
  103. package/dist/Deployable/DeployableTargetWithRBAC.js +222 -0
  104. package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -0
  105. package/dist/EventAction-CBKzuNoN.cjs +2 -0
  106. package/dist/EventAction-CBKzuNoN.cjs.map +1 -0
  107. package/dist/EventAction-DWuuc_Qy.js +1528 -0
  108. package/dist/EventAction-DWuuc_Qy.js.map +1 -0
  109. package/dist/Incentive-BxzEtN26.js +298 -0
  110. package/dist/Incentive-BxzEtN26.js.map +1 -0
  111. package/dist/Incentive-CrF3-ayL.cjs +2 -0
  112. package/dist/Incentive-CrF3-ayL.cjs.map +1 -0
  113. package/dist/Incentives/AllowListIncentive.cjs +2 -1
  114. package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
  115. package/dist/Incentives/AllowListIncentive.d.ts +65 -21
  116. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  117. package/dist/Incentives/AllowListIncentive.js +52 -36
  118. package/dist/Incentives/AllowListIncentive.js.map +1 -0
  119. package/dist/Incentives/CGDAIncentive.cjs +2 -1
  120. package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
  121. package/dist/Incentives/CGDAIncentive.d.ts +315 -26
  122. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  123. package/dist/Incentives/CGDAIncentive.js +64 -39
  124. package/dist/Incentives/CGDAIncentive.js.map +1 -0
  125. package/dist/Incentives/ERC1155Incentive.d.ts +291 -43
  126. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  127. package/dist/Incentives/ERC20Incentive.cjs +2 -1
  128. package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
  129. package/dist/Incentives/ERC20Incentive.d.ts +270 -33
  130. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  131. package/dist/Incentives/ERC20Incentive.js +69 -46
  132. package/dist/Incentives/ERC20Incentive.js.map +1 -0
  133. package/dist/{Budgets/SimpleBudget.d.ts → Incentives/ERC20VariableCriteriaIncentive.d.ts} +338 -421
  134. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
  135. package/dist/Incentives/ERC20VariableIncentive.d.ts +262 -32
  136. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  137. package/dist/Incentives/Incentive.cjs +2 -1
  138. package/dist/Incentives/Incentive.cjs.map +1 -0
  139. package/dist/Incentives/Incentive.d.ts +5 -8
  140. package/dist/Incentives/Incentive.d.ts.map +1 -1
  141. package/dist/Incentives/Incentive.js +17 -278
  142. package/dist/Incentives/Incentive.js.map +1 -0
  143. package/dist/Incentives/PointsIncentive.cjs +2 -1
  144. package/dist/Incentives/PointsIncentive.cjs.map +1 -0
  145. package/dist/Incentives/PointsIncentive.d.ts +81 -23
  146. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  147. package/dist/Incentives/PointsIncentive.js +57 -36
  148. package/dist/Incentives/PointsIncentive.js.map +1 -0
  149. package/dist/SimpleDenyList-BUR17Tt1.cjs +2 -0
  150. package/dist/SimpleDenyList-BUR17Tt1.cjs.map +1 -0
  151. package/dist/SimpleDenyList-CGaWjuld.js +132 -0
  152. package/dist/SimpleDenyList-CGaWjuld.js.map +1 -0
  153. package/dist/Validators/SignerValidator.cjs +2 -1
  154. package/dist/Validators/SignerValidator.cjs.map +1 -0
  155. package/dist/Validators/SignerValidator.d.ts +310 -17
  156. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  157. package/dist/Validators/SignerValidator.js +165 -36
  158. package/dist/Validators/SignerValidator.js.map +1 -0
  159. package/dist/Validators/Validator.cjs +2 -1
  160. package/dist/Validators/Validator.cjs.map +1 -0
  161. package/dist/Validators/Validator.d.ts +2 -2
  162. package/dist/Validators/Validator.d.ts.map +1 -1
  163. package/dist/Validators/Validator.js +10 -8
  164. package/dist/Validators/Validator.js.map +1 -0
  165. package/dist/claiming.cjs +2 -0
  166. package/dist/claiming.cjs.map +1 -0
  167. package/dist/claiming.d.ts +43 -0
  168. package/dist/claiming.d.ts.map +1 -0
  169. package/dist/claiming.js +17 -0
  170. package/dist/claiming.js.map +1 -0
  171. package/dist/componentInterfaces-BBCFkrZv.js +14 -0
  172. package/dist/componentInterfaces-BBCFkrZv.js.map +1 -0
  173. package/dist/componentInterfaces-DRI_dQ-P.cjs +2 -0
  174. package/dist/componentInterfaces-DRI_dQ-P.cjs.map +1 -0
  175. package/dist/deployments-DVXioW2i.cjs +2 -0
  176. package/dist/deployments-DVXioW2i.cjs.map +1 -0
  177. package/dist/deployments-oykLv3_Z.js +43 -0
  178. package/dist/deployments-oykLv3_Z.js.map +1 -0
  179. package/dist/deployments.json +44 -0
  180. package/dist/errors.cjs +2 -1
  181. package/dist/errors.cjs.map +1 -0
  182. package/dist/errors.d.ts +421 -1
  183. package/dist/errors.d.ts.map +1 -1
  184. package/dist/errors.js +297 -39
  185. package/dist/errors.js.map +1 -0
  186. package/dist/{generated-x_abr3Yv.js → generated-CKt2yCQd.js} +3143 -3002
  187. package/dist/generated-CKt2yCQd.js.map +1 -0
  188. package/dist/generated-CyTNlOwM.cjs +3 -0
  189. package/dist/generated-CyTNlOwM.cjs.map +1 -0
  190. package/dist/index.cjs +2 -1
  191. package/dist/index.cjs.map +1 -0
  192. package/dist/index.d.ts +10 -9
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +144 -1353
  195. package/dist/index.js.map +1 -0
  196. package/dist/transfers.cjs +2 -0
  197. package/dist/transfers.cjs.map +1 -0
  198. package/dist/transfers.d.ts +198 -0
  199. package/dist/transfers.d.ts.map +1 -0
  200. package/dist/transfers.js +84 -0
  201. package/dist/transfers.js.map +1 -0
  202. package/dist/utils.cjs +2 -1
  203. package/dist/utils.cjs.map +1 -0
  204. package/dist/utils.d.ts +26 -1350
  205. package/dist/utils.d.ts.map +1 -1
  206. package/dist/utils.js +38 -636
  207. package/dist/utils.js.map +1 -0
  208. package/package.json +37 -11
  209. package/src/Actions/Action.test.ts +79 -0
  210. package/src/Actions/Action.ts +61 -0
  211. package/src/Actions/ContractAction.test.ts +197 -0
  212. package/src/Actions/ContractAction.ts +300 -0
  213. package/src/Actions/ERC721MintAction.test.ts +112 -0
  214. package/src/Actions/ERC721MintAction.ts +291 -0
  215. package/src/Actions/EventAction.test.ts +787 -0
  216. package/src/Actions/EventAction.ts +1218 -0
  217. package/src/AllowLists/AllowList.test.ts +64 -0
  218. package/src/AllowLists/AllowList.ts +62 -0
  219. package/src/AllowLists/OpenAllowList.test.ts +40 -0
  220. package/src/AllowLists/OpenAllowList.ts +45 -0
  221. package/src/AllowLists/SimpleAllowList.test.ts +52 -0
  222. package/src/AllowLists/SimpleAllowList.ts +262 -0
  223. package/src/AllowLists/SimpleDenyList.test.ts +52 -0
  224. package/src/AllowLists/SimpleDenyList.ts +250 -0
  225. package/src/Auth/Auth.ts +11 -0
  226. package/src/Auth/PassthroughAuth.test.ts +12 -0
  227. package/src/Auth/PassthroughAuth.ts +80 -0
  228. package/src/Boost.ts +287 -0
  229. package/src/BoostCore.test.ts +894 -0
  230. package/src/BoostCore.ts +1438 -0
  231. package/src/BoostRegistry.test.ts +53 -0
  232. package/src/BoostRegistry.ts +588 -0
  233. package/src/Budgets/Budget.test.ts +27 -0
  234. package/src/Budgets/Budget.ts +60 -0
  235. package/src/Budgets/ManagedBudget.test.ts +217 -0
  236. package/src/Budgets/ManagedBudget.ts +534 -0
  237. package/src/Budgets/VestingBudget.test.ts +123 -0
  238. package/src/Budgets/VestingBudget.ts +530 -0
  239. package/src/Deployable/Contract.ts +228 -0
  240. package/src/Deployable/Deployable.ts +250 -0
  241. package/src/Deployable/DeployableTarget.ts +234 -0
  242. package/src/Deployable/DeployableTargetWithRBAC.ts +323 -0
  243. package/src/Incentives/AllowListIncentive.test.ts +143 -0
  244. package/src/Incentives/AllowListIncentive.ts +336 -0
  245. package/src/Incentives/CGDAIncentive.test.ts +135 -0
  246. package/src/Incentives/CGDAIncentive.ts +476 -0
  247. package/src/Incentives/ERC1155Incentive.test.ts +87 -0
  248. package/src/Incentives/ERC1155Incentive.ts +465 -0
  249. package/src/Incentives/ERC20Incentive.test.ts +133 -0
  250. package/src/Incentives/ERC20Incentive.ts +490 -0
  251. package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +184 -0
  252. package/src/Incentives/ERC20VariableCriteriaIncentive.ts +309 -0
  253. package/src/Incentives/ERC20VariableIncentive.test.ts +139 -0
  254. package/src/Incentives/ERC20VariableIncentive.ts +428 -0
  255. package/src/Incentives/Incentive.test.ts +95 -0
  256. package/src/Incentives/Incentive.ts +86 -0
  257. package/src/Incentives/PointsIncentive.test.ts +138 -0
  258. package/src/Incentives/PointsIncentive.ts +367 -0
  259. package/src/Validators/SignerValidator.test.ts +159 -0
  260. package/src/Validators/SignerValidator.ts +683 -0
  261. package/src/Validators/Validator.test.ts +21 -0
  262. package/src/Validators/Validator.ts +55 -0
  263. package/src/claiming.ts +56 -0
  264. package/src/errors.ts +866 -0
  265. package/src/index.test.ts +122 -0
  266. package/src/index.ts +58 -0
  267. package/src/transfers.ts +284 -0
  268. package/src/utils.test.ts +44 -0
  269. package/src/utils.ts +247 -0
  270. package/dist/Budgets/SimpleBudget.d.ts.map +0 -1
  271. package/dist/generated-BaaleHW-.cjs +0 -2
package/src/utils.ts ADDED
@@ -0,0 +1,247 @@
1
+ import {
2
+ type Config,
3
+ type ReadContractParameters,
4
+ type WatchContractEventParameters,
5
+ type WriteContractParameters,
6
+ getAccount,
7
+ getClient,
8
+ waitForTransactionReceipt,
9
+ } from '@wagmi/core';
10
+ import type { ExtractAbiEvent } from 'abitype';
11
+ import type {
12
+ Abi,
13
+ AbiEvent,
14
+ Address,
15
+ ContractEventName,
16
+ ContractFunctionName,
17
+ GetLogsParameters,
18
+ Hash,
19
+ Hex,
20
+ Log,
21
+ WaitForTransactionReceiptParameters,
22
+ } from 'viem';
23
+ import { isHex, keccak256, slice, toHex } from 'viem';
24
+ import {
25
+ InvalidProtocolChainIdError,
26
+ NoConnectedChainIdError,
27
+ NoContractAddressUponReceiptError,
28
+ } from './errors';
29
+
30
+ export type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
31
+
32
+ /**
33
+ * Enum encapsulating all the different types of targets used in the Boost V2 Protocol.
34
+ *
35
+ * @export
36
+ * @enum {number}
37
+ */
38
+ export enum RegistryType {
39
+ ACTION = 0,
40
+ ALLOW_LIST = 1,
41
+ BUDGET = 2,
42
+ INCENTIVE = 3,
43
+ VALIDATOR = 4,
44
+ }
45
+
46
+ /**
47
+ * Helper type that encapsulates common writeContract parameters without fields like `abi`, `args`, `functionName`, `address` that are expected to be provided the SDK.
48
+ * See (writeContract)[https://viem.sh/docs/contract/writeContract]
49
+ *
50
+ * @export
51
+ * @typedef {WriteParams}
52
+ * @template {Abi} abi
53
+ * @template {ContractFunctionName<abi>} functionName
54
+ */
55
+ export type WriteParams<
56
+ abi extends Abi = Abi,
57
+ functionName extends ContractFunctionName<abi> = ContractFunctionName<abi>,
58
+ > = Partial<
59
+ Omit<
60
+ WriteContractParameters<abi, functionName>,
61
+ 'address' | 'args' | 'functionName' | 'abi'
62
+ >
63
+ >;
64
+
65
+ /**
66
+ * Helper type that encapsulates common readContract parameters without fields like `abi`, `args`, `functionName`, `address` that are expected to be provided the SDK.
67
+ * See (readContract)[https://viem.sh/docs/contract/readContract]
68
+ *
69
+ * @export
70
+ * @typedef {ReadParams}
71
+ * @template {Abi} abi
72
+ * @template {ContractFunctionName<abi>} functionName
73
+ */
74
+ export type ReadParams<
75
+ abi extends Abi,
76
+ functionName extends ContractFunctionName<abi>,
77
+ > = Partial<
78
+ Omit<
79
+ ReadContractParameters<abi, functionName>,
80
+ 'address' | 'args' | 'functionName' | 'abi'
81
+ >
82
+ >;
83
+
84
+ /**
85
+ * Helper type that encapsulates common `watchContractEvent` parameters without fields like `address`, and `abi` that are expected to be provided the SDK.
86
+ * See (watchContractEvent)[https://wagmi.sh/core/api/actions/watchContractEvent]
87
+ *
88
+ * @export
89
+ * @typedef {WatchParams}
90
+ * @template {Abi} abi
91
+ * @template {ContractEventName<abi> | undefined} [eventName=undefined]
92
+ */
93
+ export type WatchParams<
94
+ abi extends Abi,
95
+ eventName extends ContractEventName<abi> | undefined = undefined,
96
+ > = Partial<
97
+ Omit<WatchContractEventParameters<abi, eventName>, 'address' | 'abi'>
98
+ >;
99
+
100
+ /**
101
+ * Helper type that encapsulates common `getLogs` parameters without fields like `address` that are expected to be provided the SDK.
102
+ * See (getLogs)[https://viem.sh/docs/actions/public/getLogs#getlogs]
103
+ *
104
+ * @export
105
+ * @typedef {GetLogsParams}
106
+ * @template {Abi} abi
107
+ * @template {ContractEventName<abi>} event
108
+ * @template {ExtractAbiEvent<abi, event>} [abiEvent=ExtractAbiEvent<abi, event>]
109
+ * @template {| readonly AbiEvent[]
110
+ * | readonly unknown[]
111
+ * | undefined} [abiEvents=abiEvent extends AbiEvent ? [abiEvent] : undefined]
112
+ */
113
+ export type GetLogsParams<
114
+ abi extends Abi,
115
+ event extends ContractEventName<abi>,
116
+ abiEvent extends ExtractAbiEvent<abi, event> = ExtractAbiEvent<abi, event>,
117
+ abiEvents extends
118
+ | readonly AbiEvent[]
119
+ | readonly unknown[]
120
+ | undefined = abiEvent extends AbiEvent ? [abiEvent] : undefined,
121
+ > = Partial<Omit<GetLogsParameters<abiEvent, abiEvents>, 'address'>> & {
122
+ chainId?: number | undefined;
123
+ };
124
+
125
+ /**
126
+ * A generic `viem.Log` event with typed `args` support via a given `Abi` and `ContractEventName`
127
+ *
128
+ * @export
129
+ * @typedef {GenericLog}
130
+ * @template {Abi} abi
131
+ * @template {ContractEventName<abi>} [event=ContractEventName<abi>]
132
+ */
133
+ export type GenericLog<
134
+ abi extends Abi,
135
+ event extends ContractEventName<abi> = ContractEventName<abi>,
136
+ > = Log<bigint, number, false, ExtractAbiEvent<abi, event>, false>;
137
+
138
+ /**
139
+ * Helper utility to convert a string to a `bytes4` type
140
+ *
141
+ * @export
142
+ * @param {string} input
143
+ * @returns {Hex}
144
+ */
145
+ export function bytes4(input: string) {
146
+ return slice(isHex(input) ? keccak256(input) : keccak256(toHex(input)), 0, 4);
147
+ }
148
+
149
+ /**
150
+ * Utility function to wait for a transaction receipt, and extract the contractAddress
151
+ *
152
+ * @export
153
+ * @async
154
+ * @param {WagmiConfig} config - [Wagmi Configuration](https://wagmi.sh/core/api/createConfig)
155
+ * @param {Promise<Hash>} hash - A transaction hash promise
156
+ * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams] - @see {@link WaitForTransactionReceiptParameters}
157
+ * @returns {Promise<Address>}
158
+ * @throws {@link NoContractAddressUponReceiptError} if no `contractAddress` exists after the transaction has been received
159
+ */
160
+ export async function getDeployedContractAddress(
161
+ config: Config,
162
+ hash: Promise<Hash>,
163
+ waitParams?: Omit<WaitForTransactionReceiptParameters, 'hash'>,
164
+ ) {
165
+ const receipt = await waitForTransactionReceipt(config, {
166
+ ...waitParams,
167
+ hash: await hash,
168
+ });
169
+ if (!receipt.contractAddress)
170
+ throw new NoContractAddressUponReceiptError(receipt);
171
+ return receipt.contractAddress;
172
+ }
173
+
174
+ /**
175
+ * Utility type to encapsulate a transaction hash, and the simulated result prior to submitting the transaction.
176
+ *
177
+ * @export
178
+ * @typedef {HashAndSimulatedResult}
179
+ * @template [T=unknown]
180
+ */
181
+ export type HashAndSimulatedResult<T = unknown> = { hash: Hash; result: T };
182
+
183
+ /**
184
+ * Helper function to wait for a transaction receipt given a hash promise.
185
+ *
186
+ * @export
187
+ * @async
188
+ * @template [Result=unknown]
189
+ * @param {WagmiConfig} config
190
+ * @param {Promise<HashAndSimulatedResult<Result>>} hashPromise
191
+ * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]
192
+ * @returns {Promise<Result>}
193
+ */
194
+ export async function awaitResult<Result = unknown>(
195
+ config: Config,
196
+ hashPromise: Promise<HashAndSimulatedResult<Result>>,
197
+ waitParams?: Omit<WaitForTransactionReceiptParameters, 'hash'>,
198
+ ): Promise<Result> {
199
+ const { hash, result } = await hashPromise;
200
+ await waitForTransactionReceipt(config, {
201
+ ...waitParams,
202
+ hash,
203
+ });
204
+ return result;
205
+ }
206
+
207
+ /**
208
+ * Given a wagmi config and a map of chain id's to addresses, determine an address/chainId combo that maps to the currently connected chain id, or throw a typed error.
209
+ *
210
+ * @export
211
+ * @param {Config} config
212
+ * @param {Record<string, Address>} addressByChainId
213
+ * @param {number} desiredChainId
214
+ * @returns {{ chainId: number, address: Address }}
215
+ * @throws {@link InvalidProtocolChainIdError}
216
+ */
217
+ export function assertValidAddressByChainId(
218
+ config: Config,
219
+ addressByChainId: Record<number, Address>,
220
+ desiredChainId?: number,
221
+ ): { chainId: number; address: Address } {
222
+ let chainId: number | undefined = undefined;
223
+ const wagmiAccount = getAccount(config);
224
+ // if manually providing a chain id for some contract operation, try to use it
225
+ if (desiredChainId !== undefined) {
226
+ if (addressByChainId[desiredChainId]) chainId = desiredChainId;
227
+ } else if (wagmiAccount.chainId !== undefined) {
228
+ // otherwise if we can get the current chain id off the connected account and it matches one of ours, use it
229
+ if (addressByChainId[wagmiAccount.chainId]) chainId = wagmiAccount.chainId;
230
+ }
231
+ // chainId is still undefined, try to get chain id off viem client
232
+ if (chainId === undefined) {
233
+ const client = getClient(config);
234
+ if (client?.chain.id && addressByChainId[client?.chain.id])
235
+ chainId = client.chain.id;
236
+ }
237
+ // if chainId is STILL undefined, use our default addresses
238
+ // TODO: update this when on prod network
239
+ if (chainId === undefined) chainId = Number(__DEFAULT_CHAIN_ID__);
240
+ if (!addressByChainId[chainId])
241
+ throw new InvalidProtocolChainIdError(
242
+ chainId,
243
+ Object.keys(addressByChainId).map(Number),
244
+ );
245
+ // biome-ignore lint/style/noNonNullAssertion: this type should be narrowed by the above statement but isn't?
246
+ return { chainId, address: addressByChainId[chainId]! };
247
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SimpleBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/SimpleBudget.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,eAAe,EAWhB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAGvB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKlE,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAIjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,iBAAiB,CAAC,OAAO,eAAe,CAAC,GAAG,iBAAiB,CACzE,OAAO,eAAe,CACvB,IACC,UAAU,CAAC,OAAO,eAAe,EAAE,KAAK,CAAC,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,GACzD,QAAQ,IAAI,uBAAuB,CAErC;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,GACzD,QAAQ,IAAI,sBAAsB,CAEpC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,iBAO3D;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,gBAAgB,CAChD,mBAAmB,EACnB,OAAO,eAAe,CACvB;IACC,SAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAmB;IAC/C;;;;;;OAMG;IACH,OAAuB,IAAI,EAAE,OAAO,CACT;IAC3B;;;;;;OAMG;IACH,OAAuB,YAAY,EAAE,YAAY,CAAuB;IAExE;;;;;;;;;;OAUG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,EAC1D,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC;IAK1D;;;;;;;;;;OAUG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,EAC1D,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC;;;;IAgB1D;;;;;;;;;;;OAWG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,EAC1D,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC;IAK1D;;;;;;;;;;;OAWG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,EAC1D,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC;;;;IAgB1D;;;;;;;;;OASG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,EAC1D,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC;IAK1D;;;;;;;;;OASG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,EAC1D,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC;;;;IAgB1D;;;;;;;;OAQG;IACU,aAAa,CACxB,SAAS,EAAE,KAAK,CAAC,uBAAuB,GAAG,sBAAsB,CAAC,EAClE,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,eAAe,CAAC;IAK/D;;;;;;;;OAQG;IACU,gBAAgB,CAC3B,SAAS,EAAE,KAAK,CAAC,uBAAuB,GAAG,sBAAsB,CAAC,EAClE,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,eAAe,CAAC;;;;IAgB/D;;;;;;;;;;OAUG;IACU,aAAa,CACxB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,eAAe,CAAC;IAK/D;;;;;;;;;;OAUG;IACU,gBAAgB,CAC3B,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,eAAe,CAAC;;;;IAgB/D;;;;;;;OAOG;IACI,YAAY,CACjB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,EAAE,cAAc,CAAC;IAW7D;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC;IASjE;;;;;;;;;OASG;IACI,KAAK,CACV,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC;IAUtD;;;;;;;;;OASG;IACI,SAAS,CACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;IAU1D;;;;;;;;;OASG;IACI,WAAW,CAChB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,EAAE,aAAa,CAAC;IAU5D;;;;;;;OAOG;IACa,eAAe,CAC7B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,uBAAuB;CAwB3B"}
@@ -1,2 +0,0 @@
1
- "use strict";const q=require("viem/actions"),B=require("viem"),P=require("viem/utils");function H(n){const a=n.state.current,t=n.state.connections.get(a),p=t==null?void 0:t.accounts,r=p==null?void 0:p[0],u=n.chains.find(M=>M.id===(t==null?void 0:t.chainId)),y=n.state.status;switch(y){case"connected":return{address:r,addresses:p,chain:u,chainId:t==null?void 0:t.chainId,connector:t==null?void 0:t.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:y};case"reconnecting":return{address:r,addresses:p,chain:u,chainId:t==null?void 0:t.chainId,connector:t==null?void 0:t.connector,isConnected:!!r,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:y};case"connecting":return{address:r,addresses:p,chain:u,chainId:t==null?void 0:t.chainId,connector:t==null?void 0:t.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:y};case"disconnected":return{address:void 0,addresses:void 0,chain:void 0,chainId:void 0,connector:void 0,isConnected:!1,isConnecting:!1,isDisconnected:!0,isReconnecting:!1,status:y}}}function k(n){return n.state.chainId}function F(n,a,t){const p=n[a.name];if(typeof p=="function")return p;const r=n[t];return typeof r=="function"?r:u=>a(n,u)}const W="2.13.0",G=()=>`@wagmi/core@${W}`;var S=function(n,a,t,p){if(t==="a"&&!p)throw new TypeError("Private accessor was defined without a getter");if(typeof a=="function"?n!==a||!p:!a.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?p:t==="a"?p.call(n):p?p.value:a.get(n)},R,V;class x extends Error{get docsBaseUrl(){return"https://wagmi.sh/core"}get version(){return G()}constructor(a,t={}){var p;super(),R.add(this),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WagmiCoreError"});const r=t.cause instanceof x?t.cause.details:(p=t.cause)!=null&&p.message?t.cause.message:t.details,u=t.cause instanceof x&&t.cause.docsPath||t.docsPath;this.message=[a||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...u?[`Docs: ${this.docsBaseUrl}${u}.html${t.docsSlug?`#${t.docsSlug}`:""}`]:[],...r?[`Details: ${r}`]:[],`Version: ${this.version}`].join(`
2
- `),t.cause&&(this.cause=t.cause),this.details=r,this.docsPath=u,this.metaMessages=t.metaMessages,this.shortMessage=a}walk(a){return S(this,R,"m",V).call(this,this,a)}}R=new WeakSet,V=function n(a,t){return t!=null&&t(a)?a:a.cause?S(this,R,"m",n).call(this,a.cause,t):a};class K extends x{constructor(){super("Connector not connected."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorNotConnectedError"})}}class J extends x{constructor({address:a,connector:t}){super(`Account "${a}" not found for connector "${t.name}".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorAccountNotFoundError"})}}class Y extends x{constructor({connectionChainId:a,connectorChainId:t}){super(`The current chain of the connector (id: ${t}) does not match the connection's chain (id: ${a}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${a}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorChainMismatchError"})}}async function $(n,a={}){let t;if(a.connector){const{connector:b}=a,[_,X]=await Promise.all([b.getAccounts(),b.getChainId()]);t={accounts:_,chainId:X,connector:b}}else t=n.state.connections.get(n.state.current);if(!t)throw new K;const p=a.chainId??t.chainId,r=await t.connector.getChainId();if(r!==t.chainId)throw new Y({connectionChainId:t.chainId,connectorChainId:r});const u=t.connector;if(u.getClient)return u.getClient({chainId:p});const y=P.parseAccount(a.account??t.accounts[0]);y.address=P.getAddress(y.address);const M=n.chains.find(b=>b.id===p),A=await t.connector.getProvider({chainId:p});if(a.account&&!t.accounts.some(b=>b.toLowerCase()===y.address.toLowerCase()))throw new J({address:y.address,connector:u});return B.createClient({account:y,chain:M,name:"Connector Client",transport:b=>B.custom(A)({...b,retryCount:0})})}async function E(n,a){const{abi:t,chainId:p,connector:r,...u}=a;let y;a.account?y=a.account:y=(await $(n,{chainId:p,connector:r})).account;const M=n.getClient({chainId:p}),A=F(M,q.simulateContract,"simulateContract"),{result:b,request:_}=await A({...u,abi:t,account:y});return{chainId:M.chain.id,result:b,request:{__mode:"prepared",..._,chainId:p}}}function i(n){return n.address!==void 0&&typeof n.address=="object"?(a,t)=>{var p;const r=k(a),u=H(a),y=(t==null?void 0:t.chainId)??u.chainId??r;return E(a,{...t,...n.functionName?{functionName:n.functionName}:{},address:(p=n.address)==null?void 0:p[y],abi:n.abi})}:(a,t)=>E(a,{...t,...n.address?{address:n.address}:{},...n.functionName?{functionName:n.functionName}:{},abi:n.abi})}function U(n,a){const{chainId:t,...p}=a,r=n.getClient({chainId:t});return F(r,q.readContract,"readContract")(p)}function e(n){return n.address!==void 0&&typeof n.address=="object"?(a,t)=>{var p;const r=k(a),u=H(a),y=(t==null?void 0:t.chainId)??u.chainId??r;return U(a,{...t,...n.functionName?{functionName:n.functionName}:{},address:(p=n.address)==null?void 0:p[y],abi:n.abi})}:(a,t)=>U(a,{...t,...n.address?{address:n.address}:{},...n.functionName?{functionName:n.functionName}:{},abi:n.abi})}async function L(n,a){const{account:t,chainId:p,connector:r,__mode:u,...y}=a;let M;typeof t=="object"&&t.type==="local"?M=n.getClient({chainId:p}):M=await $(n,{account:t,chainId:p,connector:r});const{connector:A}=H(n);let b;if(u==="prepared"||A!=null&&A.supportsSimulation)b=y;else{const{request:_}=await E(n,{...y,account:t,chainId:p});b=_}return await F(M,q.writeContract,"writeContract")({...b,...t?{account:t}:{},chain:p?{id:p}:null})}function s(n){return n.address!==void 0&&typeof n.address=="object"?(a,t)=>{var p;const r=k(a),u=H(a);let y;return t.chainId?y=t.chainId:t.account&&t.account===u.address||t.account===void 0?y=u.chainId:y=r,L(a,{...t,...n.functionName?{functionName:n.functionName}:{},address:y?(p=n.address)==null?void 0:p[y]:void 0,abi:n.abi})}:(a,t)=>L(a,{...t,...n.address?{address:n.address}:{},...n.functionName?{functionName:n.functionName}:{},abi:n.abi})}const Q=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"",internalType:"bool",type:"bool"},{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],ee=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],te=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"receive",stateMutability:"payable"}],j=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],ne=[{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[{name:"claimant",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimant",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],ae=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveId",internalType:"uint256",type:"uint256"},{name:"claimant",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"validate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"}],I=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"allowList",outputs:[{name:"",internalType:"contract SimpleAllowList",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"pure"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"pure"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],c=[{type:"constructor",inputs:[{name:"registry_",internalType:"contract BoostRegistry",type:"address"},{name:"protocolFeeReceiver_",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"expectedInterface",internalType:"bytes4",type:"bytes4"},{name:"instance",internalType:"address",type:"address"}],name:"InvalidInstance"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"boostIndex",internalType:"uint256",type:"uint256",indexed:!0},{name:"owner",internalType:"address",type:"address",indexed:!0},{name:"action",internalType:"address",type:"address",indexed:!0},{name:"incentiveCount",internalType:"uint256",type:"uint256",indexed:!1},{name:"validator",internalType:"address",type:"address",indexed:!1},{name:"allowList",internalType:"address",type:"address",indexed:!1},{name:"budget",internalType:"address",type:"address",indexed:!1}],name:"BoostCreated"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"FEE_DENOMINATOR",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"claimFee",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"boostId_",internalType:"uint256",type:"uint256"},{name:"incentiveId_",internalType:"uint256",type:"uint256"},{name:"referrer_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claimIncentive",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"boostId_",internalType:"uint256",type:"uint256"},{name:"incentiveId_",internalType:"uint256",type:"uint256"},{name:"referrer_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"},{name:"claimant",internalType:"address",type:"address"}],name:"claimIncentiveFor",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"createBoost",outputs:[{name:"",internalType:"struct BoostLib.Boost",type:"tuple",components:[{name:"action",internalType:"contract AAction",type:"address"},{name:"validator",internalType:"contract AValidator",type:"address"},{name:"allowList",internalType:"contract AAllowList",type:"address"},{name:"budget",internalType:"contract ABudget",type:"address"},{name:"incentives",internalType:"contract AIncentive[]",type:"address[]"},{name:"protocolFee",internalType:"uint64",type:"uint64"},{name:"referralFee",internalType:"uint64",type:"uint64"},{name:"maxParticipants",internalType:"uint256",type:"uint256"},{name:"owner",internalType:"address",type:"address"}]}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"createBoostAuth",outputs:[{name:"",internalType:"contract IAuth",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"index",internalType:"uint256",type:"uint256"}],name:"getBoost",outputs:[{name:"",internalType:"struct BoostLib.Boost",type:"tuple",components:[{name:"action",internalType:"contract AAction",type:"address"},{name:"validator",internalType:"contract AValidator",type:"address"},{name:"allowList",internalType:"contract AAllowList",type:"address"},{name:"budget",internalType:"contract ABudget",type:"address"},{name:"incentives",internalType:"contract AIncentive[]",type:"address[]"},{name:"protocolFee",internalType:"uint64",type:"uint64"},{name:"referralFee",internalType:"uint64",type:"uint64"},{name:"maxParticipants",internalType:"uint256",type:"uint256"},{name:"owner",internalType:"address",type:"address"}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getBoostCount",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"protocolFee",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"protocolFeeReceiver",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"referralFee",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"registry",outputs:[{name:"",internalType:"contract BoostRegistry",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimFee_",internalType:"uint256",type:"uint256"}],name:"setClaimFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"auth_",internalType:"address",type:"address"}],name:"setCreateBoostAuth",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"protocolFee_",internalType:"uint64",type:"uint64"}],name:"setProtocolFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"protocolFeeReceiver_",internalType:"address",type:"address"}],name:"setProtocolFeeReceiver",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"referralFee_",internalType:"uint64",type:"uint64"}],name:"setReferralFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],N=[{type:"error",inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"identifier",internalType:"bytes32",type:"bytes32"}],name:"AlreadyRegistered"},{type:"error",inputs:[{name:"implementation",internalType:"address",type:"address"}],name:"NotACloneable"},{type:"error",inputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],name:"NotRegistered"},{type:"error",inputs:[],name:"Reentrancy"},{type:"event",anonymous:!1,inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8",indexed:!0},{name:"identifier",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"baseImplementation",internalType:"address",type:"address",indexed:!1},{name:"deployedInstance",internalType:"contract ACloneable",type:"address",indexed:!1}],name:"Deployed"},{type:"event",anonymous:!1,inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8",indexed:!0},{name:"identifier",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"implementation",internalType:"address",type:"address",indexed:!1}],name:"Registered"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"base_",internalType:"address",type:"address"},{name:"name_",internalType:"string",type:"string"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"deployClone",outputs:[{name:"instance",internalType:"contract ACloneable",type:"address"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"identifier_",internalType:"bytes32",type:"bytes32"}],name:"getBaseImplementation",outputs:[{name:"implementation",internalType:"contract ACloneable",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"identifier_",internalType:"bytes32",type:"bytes32"}],name:"getClone",outputs:[{name:"clone",internalType:"struct BoostRegistry.Clone",type:"tuple",components:[{name:"baseType",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"instance",internalType:"contract ACloneable",type:"address"},{name:"deployer",internalType:"address",type:"address"},{name:"name",internalType:"string",type:"string"}]}],stateMutability:"view"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"base_",internalType:"address",type:"address"},{name:"deployer_",internalType:"address",type:"address"},{name:"name_",internalType:"string",type:"string"}],name:"getCloneIdentifier",outputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],stateMutability:"pure"},{type:"function",inputs:[{name:"deployer_",internalType:"address",type:"address"}],name:"getClones",outputs:[{name:"",internalType:"bytes32[]",type:"bytes32[]"}],stateMutability:"view"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"name_",internalType:"string",type:"string"}],name:"getIdentifier",outputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],stateMutability:"pure"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"name_",internalType:"string",type:"string"},{name:"implementation_",internalType:"address",type:"address"}],name:"register",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],f=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"cgdaParams",outputs:[{name:"rewardDecay",internalType:"uint256",type:"uint256"},{name:"rewardBoost",internalType:"uint256",type:"uint256"},{name:"lastClaimTime",internalType:"uint256",type:"uint256"},{name:"currentReward",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"totalBudget",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],g=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[{name:"targetChainId",internalType:"uint256",type:"uint256"}],name:"TargetChainUnsupported"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"chainId",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"",internalType:"bool",type:"bool"},{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"bytes_",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"selector",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"target",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"value",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"}],T=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"contract IERC1155",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"extraData",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155Received",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"strategy",outputs:[{name:"",internalType:"enum AERC1155Incentive.Strategy",type:"uint8"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"tokenId",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],d=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"entry",internalType:"address",type:"address",indexed:!0}],name:"Entry"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"drawRaffle",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"uint256",type:"uint256"}],name:"entries",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"strategy",outputs:[{name:"",internalType:"enum AERC20Incentive.Strategy",type:"uint8"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],w=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"totalClaimed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],O=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[{name:"targetChainId",internalType:"uint256",type:"uint256"}],name:"TargetChainUnsupported"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"chainId",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"success",internalType:"bool",type:"bool"},{name:"returnData",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"selector",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"target",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"validate",outputs:[{name:"success",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"uint256",type:"uint256"}],name:"validated",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"value",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"}],z=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"",internalType:"bool",type:"bool"},{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getActionClaimant",outputs:[{name:"",internalType:"struct AEventAction.ActionClaimant",type:"tuple",components:[{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"signature",internalType:"bytes4",type:"bytes4"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"}]}],stateMutability:"view"},{type:"function",inputs:[{name:"index",internalType:"uint256",type:"uint256"}],name:"getActionStep",outputs:[{name:"",internalType:"struct AEventAction.ActionStep",type:"tuple",components:[{name:"signature",internalType:"bytes4",type:"bytes4"},{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"actionType",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"},{name:"actionParameter",internalType:"struct AEventAction.Criteria",type:"tuple",components:[{name:"filterType",internalType:"enum AEventAction.FilterType",type:"uint8"},{name:"fieldType",internalType:"enum AEventAction.PrimitiveType",type:"uint8"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"filterData",internalType:"bytes",type:"bytes"}]}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getActionSteps",outputs:[{name:"",internalType:"struct AEventAction.ActionStep[]",type:"tuple[]",components:[{name:"signature",internalType:"bytes4",type:"bytes4"},{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"actionType",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"},{name:"actionParameter",internalType:"struct AEventAction.Criteria",type:"tuple",components:[{name:"filterType",internalType:"enum AEventAction.FilterType",type:"uint8"},{name:"fieldType",internalType:"enum AEventAction.PrimitiveType",type:"uint8"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"filterData",internalType:"bytes",type:"bytes"}]}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getActionStepsCount",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],ie=[{type:"function",inputs:[{name:"addr",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],o=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[],name:"ADMIN_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"MANAGER_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"roles_",internalType:"uint256[]",type:"uint256[]"}],name:"grantRoles",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155Received",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"roles_",internalType:"uint256[]",type:"uint256[]"}],name:"revokeRoles",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"receive",stateMutability:"payable"}],Z=[{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],v=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"pure"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"pure"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"selector",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"venue",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"}],h=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"available",internalType:"uint8",type:"uint8"},{name:"id",internalType:"uint256",type:"uint256"}],name:"InvalidIncentive"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"eip712Domain",outputs:[{name:"fields",internalType:"bytes1",type:"bytes1"},{name:"name",internalType:"string",type:"string"},{name:"version",internalType:"string",type:"string"},{name:"chainId",internalType:"uint256",type:"uint256"},{name:"verifyingContract",internalType:"address",type:"address"},{name:"salt",internalType:"bytes32",type:"bytes32"},{name:"extensions",internalType:"uint256[]",type:"uint256[]"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveQuantity",internalType:"uint8",type:"uint8"},{name:"claimant",internalType:"address",type:"address"},{name:"incentiveData",internalType:"bytes",type:"bytes"}],name:"hashSignerData",outputs:[{name:"hashedSignerData",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"signers_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newCaller",internalType:"address",type:"address"}],name:"setValidatorCaller",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"signers",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveId",internalType:"uint256",type:"uint256"},{name:"claimant",internalType:"address",type:"address"},{name:"claimData",internalType:"bytes",type:"bytes"}],name:"validate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"}],C=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"function",inputs:[],name:"LIST_MANAGER_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"users_",internalType:"address[]",type:"address[]"},{name:"allowed_",internalType:"bool[]",type:"bool[]"}],name:"setAllowed",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],m=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155Received",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"account_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"receive",stateMutability:"payable"}],D=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"users_",internalType:"address[]",type:"address[]"},{name:"denied_",internalType:"bool[]",type:"bool[]"}],name:"setDenied",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],l=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"cliff",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"duration",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"end",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"account_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"start",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"receive",stateMutability:"payable"}],se=e({abi:j,functionName:"getComponentInterface"}),pe=e({abi:j,functionName:"supportsInterface"}),ye=e({abi:I,functionName:"allowList"}),re=e({abi:I,functionName:"claimed"}),ue=e({abi:I,functionName:"claims"}),oe=e({abi:I,functionName:"isClaimable"}),le=e({abi:I,functionName:"limit"}),de=e({abi:I,functionName:"owner"}),me=e({abi:I,functionName:"reward"}),be=s({abi:I,functionName:"claim"}),ce=i({abi:I,functionName:"claim"}),Te=e({abi:c,functionName:"claimFee"}),fe=e({abi:c,functionName:"createBoostAuth"}),we=e({abi:c,functionName:"getBoost"}),ve=e({abi:c,functionName:"getBoostCount"}),Me=e({abi:c,functionName:"protocolFee"}),Ie=e({abi:c,functionName:"protocolFeeReceiver"}),he=s({abi:c,functionName:"claimIncentive"}),Ne=s({abi:c,functionName:"setClaimFee"}),ge=s({abi:c,functionName:"setCreateBoostAuth"}),Oe=s({abi:c,functionName:"setProtocolFeeReceiver"}),ze=i({abi:c,functionName:"claimIncentive"}),Ae=i({abi:c,functionName:"setClaimFee"}),xe=i({abi:c,functionName:"setCreateBoostAuth"}),Ce=i({abi:c,functionName:"setProtocolFeeReceiver"}),_e=e({abi:N,functionName:"getBaseImplementation"}),Re=e({abi:N,functionName:"getCloneIdentifier"}),He=e({abi:N,functionName:"getClones"}),De=s({abi:N,functionName:"deployClone"}),Ee=s({abi:N,functionName:"register"}),qe=i({abi:N,functionName:"deployClone"}),ke=i({abi:N,functionName:"register"}),Fe=e({abi:f,functionName:"asset"}),Be=e({abi:f,functionName:"cgdaParams"}),Pe=e({abi:f,functionName:"claimed"}),Ue=e({abi:f,functionName:"claims"}),Le=e({abi:f,functionName:"currentReward"}),Se=e({abi:f,functionName:"isClaimable"}),Ve=e({abi:f,functionName:"owner"}),$e=e({abi:f,functionName:"reward"}),je=e({abi:f,functionName:"totalBudget"}),Ze=s({abi:f,functionName:"claim"}),Xe=s({abi:f,functionName:"clawback"}),We=i({abi:f,functionName:"claim"}),Ge=i({abi:f,functionName:"clawback"}),Ke=e({abi:g,functionName:"chainId"}),Je=e({abi:g,functionName:"prepare"}),Ye=e({abi:g,functionName:"selector"}),Qe=e({abi:g,functionName:"target"}),et=e({abi:g,functionName:"value"}),tt=s({abi:g,functionName:"execute"}),nt=i({abi:g,functionName:"execute"}),at=e({abi:T,functionName:"asset"}),it=e({abi:T,functionName:"claimed"}),st=e({abi:T,functionName:"claims"}),pt=e({abi:T,functionName:"extraData"}),yt=e({abi:T,functionName:"isClaimable"}),rt=e({abi:T,functionName:"limit"}),ut=e({abi:T,functionName:"preflight"}),ot=e({abi:T,functionName:"reward"}),lt=e({abi:T,functionName:"strategy"}),dt=e({abi:T,functionName:"tokenId"}),mt=s({abi:T,functionName:"claim"}),bt=s({abi:T,functionName:"clawback"}),ct=i({abi:T,functionName:"claim"}),Tt=i({abi:T,functionName:"clawback"}),ft=e({abi:d,functionName:"asset"}),wt=e({abi:d,functionName:"claimed"}),vt=e({abi:d,functionName:"claims"}),Mt=e({abi:d,functionName:"currentReward"}),It=e({abi:d,functionName:"entries"}),ht=e({abi:d,functionName:"isClaimable"}),Nt=e({abi:d,functionName:"limit"}),gt=e({abi:d,functionName:"owner"}),Ot=e({abi:d,functionName:"reward"}),zt=e({abi:d,functionName:"strategy"}),At=s({abi:d,functionName:"claim"}),xt=s({abi:d,functionName:"clawback"}),Ct=s({abi:d,functionName:"drawRaffle"}),_t=i({abi:d,functionName:"claim"}),Rt=i({abi:d,functionName:"clawback"}),Ht=i({abi:d,functionName:"drawRaffle"}),Dt=e({abi:w,functionName:"asset"}),Et=e({abi:w,functionName:"claimed"}),qt=e({abi:w,functionName:"claims"}),kt=e({abi:w,functionName:"currentReward"}),Ft=e({abi:w,functionName:"isClaimable"}),Bt=e({abi:w,functionName:"limit"}),Pt=e({abi:w,functionName:"owner"}),Ut=e({abi:w,functionName:"reward"}),Lt=e({abi:w,functionName:"totalClaimed"}),St=s({abi:w,functionName:"claim"}),Vt=s({abi:w,functionName:"clawback"}),$t=i({abi:w,functionName:"claim"}),jt=i({abi:w,functionName:"clawback"}),Zt=e({abi:O,functionName:"prepare"}),Xt=e({abi:O,functionName:"validated"}),Wt=s({abi:O,functionName:"execute"}),Gt=s({abi:O,functionName:"validate"}),Kt=i({abi:O,functionName:"execute"}),Jt=i({abi:O,functionName:"validate"}),Yt=e({abi:z,functionName:"getActionClaimant"}),Qt=e({abi:z,functionName:"getActionStep"}),en=e({abi:z,functionName:"getActionSteps"}),tn=e({abi:z,functionName:"getActionStepsCount"}),nn=s({abi:z,functionName:"execute"}),an=i({abi:z,functionName:"execute"}),sn=e({abi:ie,functionName:"isAuthorized"}),pn=e({abi:o,functionName:"available"}),yn=e({abi:o,functionName:"distributed"}),rn=e({abi:o,functionName:"hasAllRoles"}),un=e({abi:o,functionName:"hasAnyRole"}),on=e({abi:o,functionName:"isAuthorized"}),ln=e({abi:o,functionName:"owner"}),dn=e({abi:o,functionName:"rolesOf"}),mn=e({abi:o,functionName:"total"}),bn=s({abi:o,functionName:"allocate"}),cn=s({abi:o,functionName:"clawback"}),Tn=s({abi:o,functionName:"disburse"}),fn=s({abi:o,functionName:"disburseBatch"}),wn=s({abi:o,functionName:"grantRoles"}),vn=s({abi:o,functionName:"revokeRoles"}),Mn=s({abi:o,functionName:"setAuthorized"}),In=i({abi:o,functionName:"allocate"}),hn=i({abi:o,functionName:"clawback"}),Nn=i({abi:o,functionName:"disburse"}),gn=i({abi:o,functionName:"disburseBatch"}),On=i({abi:o,functionName:"grantRoles"}),zn=i({abi:o,functionName:"revokeRoles"}),An=i({abi:o,functionName:"setAuthorized"}),xn=e({abi:Z,functionName:"isAuthorized"}),Cn=e({abi:v,functionName:"claimed"}),_n=e({abi:v,functionName:"claims"}),Rn=e({abi:v,functionName:"currentReward"}),Hn=e({abi:v,functionName:"isClaimable"}),Dn=e({abi:v,functionName:"limit"}),En=e({abi:v,functionName:"reward"}),qn=e({abi:v,functionName:"selector"}),kn=e({abi:v,functionName:"venue"}),Fn=s({abi:v,functionName:"claim"}),Bn=i({abi:v,functionName:"claim"}),Pn=e({abi:h,functionName:"hashSignerData"}),Un=e({abi:h,functionName:"signers"}),Ln=s({abi:h,functionName:"setAuthorized"}),Sn=s({abi:h,functionName:"setValidatorCaller"}),Vn=s({abi:h,functionName:"validate"}),$n=i({abi:h,functionName:"setAuthorized"}),jn=i({abi:h,functionName:"setValidatorCaller"}),Zn=i({abi:h,functionName:"validate"}),Xn=e({abi:C,functionName:"isAllowed"}),Wn=s({abi:C,functionName:"grantRoles"}),Gn=s({abi:C,functionName:"setAllowed"}),Kn=i({abi:C,functionName:"grantRoles"}),Jn=i({abi:C,functionName:"setAllowed"}),Yn=e({abi:m,functionName:"available"}),Qn=e({abi:m,functionName:"distributed"}),ea=e({abi:m,functionName:"isAuthorized"}),ta=e({abi:m,functionName:"owner"}),na=e({abi:m,functionName:"total"}),aa=s({abi:m,functionName:"allocate"}),ia=s({abi:m,functionName:"clawback"}),sa=s({abi:m,functionName:"disburse"}),pa=s({abi:m,functionName:"disburseBatch"}),ya=s({abi:m,functionName:"setAuthorized"}),ra=i({abi:m,functionName:"allocate"}),ua=i({abi:m,functionName:"clawback"}),oa=i({abi:m,functionName:"disburse"}),la=i({abi:m,functionName:"disburseBatch"}),da=i({abi:m,functionName:"setAuthorized"}),ma=e({abi:D,functionName:"isAllowed"}),ba=s({abi:D,functionName:"setDenied"}),ca=i({abi:D,functionName:"setDenied"}),Ta=e({abi:l,functionName:"available"}),fa=e({abi:l,functionName:"cliff"}),wa=e({abi:l,functionName:"distributed"}),va=e({abi:l,functionName:"duration"}),Ma=e({abi:l,functionName:"end"}),Ia=e({abi:l,functionName:"isAuthorized"}),ha=e({abi:l,functionName:"owner"}),Na=e({abi:l,functionName:"start"}),ga=e({abi:l,functionName:"total"}),Oa=s({abi:l,functionName:"allocate"}),za=s({abi:l,functionName:"clawback"}),Aa=s({abi:l,functionName:"disburse"}),xa=s({abi:l,functionName:"disburseBatch"}),Ca=s({abi:l,functionName:"setAuthorized"}),_a=i({abi:l,functionName:"allocate"}),Ra=i({abi:l,functionName:"clawback"}),Ha=i({abi:l,functionName:"disburse"}),Da=i({abi:l,functionName:"disburseBatch"}),Ea=i({abi:l,functionName:"setAuthorized"});exports.$=g;exports.$f=en;exports.$h=pa;exports.$u=le;exports.A=I;exports.A2=ma;exports.A5=_n;exports.Ad=tt;exports.Ag=Ra;exports.Ah=Jn;exports.Am=Ot;exports.B2=ba;exports.Bh=Qn;exports.By=Ue;exports.C5=Hn;exports.CN=Sn;exports.Cc=Tt;exports.Cm=xt;exports.Cw=on;exports.Dl=Ne;exports.Du=re;exports.Dw=Tn;exports.Dy=je;exports.E5=Dn;exports.El=Me;exports.Ey=Fe;exports.FN=jn;exports.Fm=Rt;exports.G=ne;exports.Gf=Yt;exports.Gy=Xe;exports.H5=qn;exports.Hf=Jt;exports.Hl=he;exports.Hw=mn;exports.Hy=Se;exports.I=O;exports.I5=Cn;exports.If=Wt;exports.Iy=Ee;exports.J2=va;exports.J5=Bn;exports.JN=Xn;exports.Ju=me;exports.K2=Ma;exports.Kh=ya;exports.Kn=se;exports.Lw=cn;exports.Ly=$e;exports.M=h;exports.Mf=Gt;exports.Ml=ve;exports.Mw=rn;exports.Nb=$t;exports.Nl=Te;exports.Nm=zt;exports.Nw=pn;exports.Ny=qe;exports.ON=Ln;exports.Oc=ct;exports.Om=At;exports.Ow=un;exports.Ph=aa;exports.Pl=ge;exports.Pu=ue;exports.Pw=fn;exports.Q2=wa;exports.Qw=Mn;exports.RN=Vn;exports.Rf=Kt;exports.Rg=Ea;exports.Rl=Ie;exports.Rm=Ct;exports.Ry=Be;exports.S=D;exports.Sh=ea;exports.T=C;exports.TA=xn;exports.Td=et;exports.Tg=_a;exports.Ty=De;exports.Uh=ia;exports.Ul=Oe;exports.Uy=Ze;exports.Vy=Ve;exports.W=z;exports.W2=fa;exports.Wl=ze;exports.Ww=vn;exports.X=Q;exports.Xd=at;exports.Xf=nn;exports.Xm=Dt;exports.Xn=pe;exports.Xw=In;exports.Xy=We;exports.Y2=Ia;exports.Yd=it;exports.Ym=Et;exports.Yy=Ge;exports.Zf=Qt;exports.Zh=sa;exports.Zu=oe;exports._5=kn;exports._N=$n;exports._h=ta;exports._m=_t;exports._w=bn;exports.aT=gn;exports.ab=Ft;exports.ay=Ce;exports.b=T;exports.bN=Pn;exports.bd=Je;exports.bf=Xt;exports.bh=Kn;exports.by=He;exports.c=c;exports.cb=St;exports.cd=Ke;exports.cm=Mt;exports.d=l;exports.dc=lt;exports.dm=vt;exports.dy=_e;exports.e2=ra;exports.eT=hn;exports.eb=qt;exports.ec=st;exports.ee=N;exports.eg=ha;exports.el=be;exports.ey=Ae;exports.f=d;exports.fd=Ye;exports.fg=Ca;exports.fm=ht;exports.gd=nt;exports.gg=Da;exports.gl=we;exports.h5=Rn;exports.hb=jt;exports.hg=Ha;exports.hl=fe;exports.hw=yn;exports.hy=ke;exports.i2=oa;exports.iT=On;exports.ib=Bt;exports.ic=yt;exports.ig=ga;exports.ih=Wn;exports.j2=Ta;exports.jf=tn;exports.ju=de;exports.k2=ca;exports.k5=Fn;exports.kN=Zn;exports.kh=na;exports.km=Ht;exports.ku=ye;exports.l=v;exports.l2=da;exports.lT=zn;exports.lb=Lt;exports.lc=ut;exports.lg=Aa;exports.lh=Gn;exports.lm=ft;exports.m=m;exports.mb=Vt;exports.mc=dt;exports.mm=It;exports.my=Re;exports.n2=ua;exports.nT=Nn;exports.nc=pt;exports.ng=Na;exports.oe=ee;exports.p=o;exports.pb=Ut;exports.pg=za;exports.pl=ce;exports.pv=sn;exports.qw=wn;exports.re=ae;exports.rg=Oa;exports.s2=la;exports.sb=Pt;exports.sc=rt;exports.tb=kt;exports.tv=an;exports.ty=xe;exports.v=f;exports.vc=mt;exports.vm=Nt;exports.w=w;exports.wN=Un;exports.wc=bt;exports.wd=Qe;exports.wm=gt;exports.x5=En;exports.xw=dn;exports.xy=Le;exports.yT=An;exports.yc=ot;exports.yf=Zt;exports.yg=xa;exports.ym=wt;exports.z=te;exports.ze=Z;exports.zh=Yn;exports.zw=ln;exports.zy=Pe;