@boostxyz/sdk 0.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +7 -0
  3. package/dist/Actions/Action.cjs +2 -0
  4. package/dist/Actions/Action.cjs.map +1 -0
  5. package/dist/Actions/Action.d.ts +31 -0
  6. package/dist/Actions/Action.d.ts.map +1 -0
  7. package/dist/Actions/Action.js +29 -0
  8. package/dist/Actions/Action.js.map +1 -0
  9. package/dist/Actions/ContractAction.d.ts +370 -0
  10. package/dist/Actions/ContractAction.d.ts.map +1 -0
  11. package/dist/Actions/ERC721MintAction.d.ts +513 -0
  12. package/dist/Actions/ERC721MintAction.d.ts.map +1 -0
  13. package/dist/Actions/EventAction.cjs +2 -0
  14. package/dist/Actions/EventAction.cjs.map +1 -0
  15. package/dist/Actions/EventAction.d.ts +694 -0
  16. package/dist/Actions/EventAction.d.ts.map +1 -0
  17. package/dist/Actions/EventAction.js +491 -0
  18. package/dist/Actions/EventAction.js.map +1 -0
  19. package/dist/AllowLists/AllowList.cjs +2 -0
  20. package/dist/AllowLists/AllowList.cjs.map +1 -0
  21. package/dist/AllowLists/AllowList.d.ts +32 -0
  22. package/dist/AllowLists/AllowList.d.ts.map +1 -0
  23. package/dist/AllowLists/AllowList.js +30 -0
  24. package/dist/AllowLists/AllowList.js.map +1 -0
  25. package/dist/AllowLists/SimpleAllowList.cjs +2 -0
  26. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
  27. package/dist/AllowLists/SimpleAllowList.d.ts +481 -0
  28. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -0
  29. package/dist/AllowLists/SimpleAllowList.js +154 -0
  30. package/dist/AllowLists/SimpleAllowList.js.map +1 -0
  31. package/dist/AllowLists/SimpleDenyList.cjs +2 -0
  32. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
  33. package/dist/AllowLists/SimpleDenyList.d.ts +335 -0
  34. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -0
  35. package/dist/AllowLists/SimpleDenyList.js +115 -0
  36. package/dist/AllowLists/SimpleDenyList.js.map +1 -0
  37. package/dist/Auth/Auth.cjs +2 -0
  38. package/dist/Auth/Auth.cjs.map +1 -0
  39. package/dist/Auth/Auth.d.ts +10 -0
  40. package/dist/Auth/Auth.d.ts.map +1 -0
  41. package/dist/Auth/Auth.js +5 -0
  42. package/dist/Auth/Auth.js.map +1 -0
  43. package/dist/Auth/PassthroughAuth.cjs +2 -0
  44. package/dist/Auth/PassthroughAuth.cjs.map +1 -0
  45. package/dist/Auth/PassthroughAuth.d.ts +51 -0
  46. package/dist/Auth/PassthroughAuth.d.ts.map +1 -0
  47. package/dist/Auth/PassthroughAuth.js +39 -0
  48. package/dist/Auth/PassthroughAuth.js.map +1 -0
  49. package/dist/Boost.cjs +2 -0
  50. package/dist/Boost.cjs.map +1 -0
  51. package/dist/Boost.d.ts +234 -0
  52. package/dist/Boost.d.ts.map +1 -0
  53. package/dist/Boost.js +162 -0
  54. package/dist/Boost.js.map +1 -0
  55. package/dist/BoostCore.cjs +3 -0
  56. package/dist/BoostCore.cjs.map +1 -0
  57. package/dist/BoostCore.d.ts +498 -0
  58. package/dist/BoostCore.d.ts.map +1 -0
  59. package/dist/BoostCore.js +1153 -0
  60. package/dist/BoostCore.js.map +1 -0
  61. package/dist/BoostRegistry.cjs +2 -0
  62. package/dist/BoostRegistry.cjs.map +1 -0
  63. package/dist/BoostRegistry.d.ts +243 -0
  64. package/dist/BoostRegistry.d.ts.map +1 -0
  65. package/dist/BoostRegistry.js +262 -0
  66. package/dist/BoostRegistry.js.map +1 -0
  67. package/dist/Budgets/Budget.cjs +2 -0
  68. package/dist/Budgets/Budget.cjs.map +1 -0
  69. package/dist/Budgets/Budget.d.ts +31 -0
  70. package/dist/Budgets/Budget.d.ts.map +1 -0
  71. package/dist/Budgets/Budget.js +29 -0
  72. package/dist/Budgets/Budget.js.map +1 -0
  73. package/dist/Budgets/ManagedBudget.cjs +2 -0
  74. package/dist/Budgets/ManagedBudget.cjs.map +1 -0
  75. package/dist/Budgets/ManagedBudget.d.ts +1103 -0
  76. package/dist/Budgets/ManagedBudget.d.ts.map +1 -0
  77. package/dist/Budgets/ManagedBudget.js +516 -0
  78. package/dist/Budgets/ManagedBudget.js.map +1 -0
  79. package/dist/Budgets/SimpleBudget.d.ts +824 -0
  80. package/dist/Budgets/SimpleBudget.d.ts.map +1 -0
  81. package/dist/Budgets/VestingBudget.d.ts +778 -0
  82. package/dist/Budgets/VestingBudget.d.ts.map +1 -0
  83. package/dist/Deployable/Contract.cjs +2 -0
  84. package/dist/Deployable/Contract.cjs.map +1 -0
  85. package/dist/Deployable/Contract.d.ts +125 -0
  86. package/dist/Deployable/Contract.d.ts.map +1 -0
  87. package/dist/Deployable/Contract.js +150 -0
  88. package/dist/Deployable/Contract.js.map +1 -0
  89. package/dist/Deployable/Deployable.cjs +2 -0
  90. package/dist/Deployable/Deployable.cjs.map +1 -0
  91. package/dist/Deployable/Deployable.d.ts +161 -0
  92. package/dist/Deployable/Deployable.d.ts.map +1 -0
  93. package/dist/Deployable/Deployable.js +131 -0
  94. package/dist/Deployable/Deployable.js.map +1 -0
  95. package/dist/Deployable/DeployableTarget.cjs +2 -0
  96. package/dist/Deployable/DeployableTarget.cjs.map +1 -0
  97. package/dist/Deployable/DeployableTarget.d.ts +116 -0
  98. package/dist/Deployable/DeployableTarget.d.ts.map +1 -0
  99. package/dist/Deployable/DeployableTarget.js +132 -0
  100. package/dist/Deployable/DeployableTarget.js.map +1 -0
  101. package/dist/Incentives/AllowListIncentive.cjs +2 -0
  102. package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
  103. package/dist/Incentives/AllowListIncentive.d.ts +513 -0
  104. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -0
  105. package/dist/Incentives/AllowListIncentive.js +201 -0
  106. package/dist/Incentives/AllowListIncentive.js.map +1 -0
  107. package/dist/Incentives/CGDAIncentive.cjs +2 -0
  108. package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
  109. package/dist/Incentives/CGDAIncentive.d.ts +644 -0
  110. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -0
  111. package/dist/Incentives/CGDAIncentive.js +271 -0
  112. package/dist/Incentives/CGDAIncentive.js.map +1 -0
  113. package/dist/Incentives/ERC1155Incentive.d.ts +713 -0
  114. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -0
  115. package/dist/Incentives/ERC20Incentive.cjs +2 -0
  116. package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
  117. package/dist/Incentives/ERC20Incentive.d.ts +666 -0
  118. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -0
  119. package/dist/Incentives/ERC20Incentive.js +312 -0
  120. package/dist/Incentives/ERC20Incentive.js.map +1 -0
  121. package/dist/Incentives/ERC20VariableIncentive.d.ts +582 -0
  122. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -0
  123. package/dist/Incentives/Incentive.cjs +2 -0
  124. package/dist/Incentives/Incentive.cjs.map +1 -0
  125. package/dist/Incentives/Incentive.d.ts +36 -0
  126. package/dist/Incentives/Incentive.d.ts.map +1 -0
  127. package/dist/Incentives/Incentive.js +299 -0
  128. package/dist/Incentives/Incentive.js.map +1 -0
  129. package/dist/Incentives/PointsIncentive.cjs +2 -0
  130. package/dist/Incentives/PointsIncentive.cjs.map +1 -0
  131. package/dist/Incentives/PointsIncentive.d.ts +659 -0
  132. package/dist/Incentives/PointsIncentive.d.ts.map +1 -0
  133. package/dist/Incentives/PointsIncentive.js +215 -0
  134. package/dist/Incentives/PointsIncentive.js.map +1 -0
  135. package/dist/Validators/SignerValidator.cjs +2 -0
  136. package/dist/Validators/SignerValidator.cjs.map +1 -0
  137. package/dist/Validators/SignerValidator.d.ts +745 -0
  138. package/dist/Validators/SignerValidator.d.ts.map +1 -0
  139. package/dist/Validators/SignerValidator.js +293 -0
  140. package/dist/Validators/SignerValidator.js.map +1 -0
  141. package/dist/Validators/Validator.cjs +2 -0
  142. package/dist/Validators/Validator.cjs.map +1 -0
  143. package/dist/Validators/Validator.d.ts +31 -0
  144. package/dist/Validators/Validator.d.ts.map +1 -0
  145. package/dist/Validators/Validator.js +27 -0
  146. package/dist/Validators/Validator.js.map +1 -0
  147. package/dist/claiming.cjs +2 -0
  148. package/dist/claiming.cjs.map +1 -0
  149. package/dist/claiming.d.ts +43 -0
  150. package/dist/claiming.d.ts.map +1 -0
  151. package/dist/claiming.js +17 -0
  152. package/dist/claiming.js.map +1 -0
  153. package/dist/componentInterfaces-CKCBwG16.cjs +2 -0
  154. package/dist/componentInterfaces-CKCBwG16.cjs.map +1 -0
  155. package/dist/componentInterfaces-DYkaxBda.js +13 -0
  156. package/dist/componentInterfaces-DYkaxBda.js.map +1 -0
  157. package/dist/errors.cjs +2 -0
  158. package/dist/errors.cjs.map +1 -0
  159. package/dist/errors.d.ts +441 -0
  160. package/dist/errors.d.ts.map +1 -0
  161. package/dist/errors.js +262 -0
  162. package/dist/errors.js.map +1 -0
  163. package/dist/generated-BDeDiaCK.js +4625 -0
  164. package/dist/generated-BDeDiaCK.js.map +1 -0
  165. package/dist/generated-wKBNvm48.cjs +3 -0
  166. package/dist/generated-wKBNvm48.cjs.map +1 -0
  167. package/dist/index.cjs +2 -0
  168. package/dist/index.cjs.map +1 -0
  169. package/dist/index.d.ts +25 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +113 -0
  172. package/dist/index.js.map +1 -0
  173. package/dist/transfers.cjs +2 -0
  174. package/dist/transfers.cjs.map +1 -0
  175. package/dist/transfers.d.ts +198 -0
  176. package/dist/transfers.d.ts.map +1 -0
  177. package/dist/transfers.js +84 -0
  178. package/dist/transfers.js.map +1 -0
  179. package/dist/utils.cjs +2 -0
  180. package/dist/utils.cjs.map +1 -0
  181. package/dist/utils.d.ts +116 -0
  182. package/dist/utils.d.ts.map +1 -0
  183. package/dist/utils.js +30 -0
  184. package/dist/utils.js.map +1 -0
  185. package/package.json +211 -0
  186. package/src/Actions/Action.test.ts +75 -0
  187. package/src/Actions/Action.ts +61 -0
  188. package/src/Actions/ContractAction.test.ts +197 -0
  189. package/src/Actions/ContractAction.ts +301 -0
  190. package/src/Actions/ERC721MintAction.test.ts +112 -0
  191. package/src/Actions/ERC721MintAction.ts +292 -0
  192. package/src/Actions/EventAction.test.ts +205 -0
  193. package/src/Actions/EventAction.ts +811 -0
  194. package/src/AllowLists/AllowList.test.ts +64 -0
  195. package/src/AllowLists/AllowList.ts +60 -0
  196. package/src/AllowLists/SimpleAllowList.test.ts +52 -0
  197. package/src/AllowLists/SimpleAllowList.ts +284 -0
  198. package/src/AllowLists/SimpleDenyList.test.ts +52 -0
  199. package/src/AllowLists/SimpleDenyList.ts +227 -0
  200. package/src/Auth/Auth.ts +11 -0
  201. package/src/Auth/PassthroughAuth.test.ts +12 -0
  202. package/src/Auth/PassthroughAuth.ts +80 -0
  203. package/src/Boost.ts +290 -0
  204. package/src/BoostCore.test.ts +773 -0
  205. package/src/BoostCore.ts +1261 -0
  206. package/src/BoostRegistry.ts +467 -0
  207. package/src/Budgets/Budget.test.ts +27 -0
  208. package/src/Budgets/Budget.ts +61 -0
  209. package/src/Budgets/ManagedBudget.test.ts +154 -0
  210. package/src/Budgets/ManagedBudget.ts +796 -0
  211. package/src/Budgets/SimpleBudget.test.ts +152 -0
  212. package/src/Budgets/SimpleBudget.ts +564 -0
  213. package/src/Budgets/VestingBudget.test.ts +123 -0
  214. package/src/Budgets/VestingBudget.ts +602 -0
  215. package/src/Deployable/Contract.ts +229 -0
  216. package/src/Deployable/Deployable.ts +250 -0
  217. package/src/Deployable/DeployableTarget.ts +223 -0
  218. package/src/Incentives/AllowListIncentive.test.ts +143 -0
  219. package/src/Incentives/AllowListIncentive.ts +334 -0
  220. package/src/Incentives/CGDAIncentive.test.ts +132 -0
  221. package/src/Incentives/CGDAIncentive.ts +468 -0
  222. package/src/Incentives/ERC1155Incentive.test.ts +87 -0
  223. package/src/Incentives/ERC1155Incentive.ts +466 -0
  224. package/src/Incentives/ERC20Incentive.test.ts +130 -0
  225. package/src/Incentives/ERC20Incentive.ts +482 -0
  226. package/src/Incentives/ERC20VariableIncentive.test.ts +136 -0
  227. package/src/Incentives/ERC20VariableIncentive.ts +420 -0
  228. package/src/Incentives/Incentive.test.ts +92 -0
  229. package/src/Incentives/Incentive.ts +85 -0
  230. package/src/Incentives/PointsIncentive.test.ts +139 -0
  231. package/src/Incentives/PointsIncentive.ts +365 -0
  232. package/src/Validators/SignerValidator.test.ts +159 -0
  233. package/src/Validators/SignerValidator.ts +681 -0
  234. package/src/Validators/Validator.test.ts +21 -0
  235. package/src/Validators/Validator.ts +55 -0
  236. package/src/claiming.ts +56 -0
  237. package/src/errors.ts +542 -0
  238. package/src/index.test.ts +40 -0
  239. package/src/index.ts +53 -0
  240. package/src/transfers.ts +284 -0
  241. package/src/utils.test.ts +44 -0
  242. package/src/utils.ts +198 -0
@@ -0,0 +1,666 @@
1
+ import { erc20IncentiveAbi } from '@boostxyz/evm';
2
+ import { type Address, type ContractEventName } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTarget } from '../Deployable/DeployableTarget';
5
+ import { type ClaimPayload, type StrategyType } from '../claiming';
6
+ import { type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
7
+ export { erc20IncentiveAbi };
8
+ /**
9
+ * The object representation of a `ERC20Incentive.InitPayload`
10
+ *
11
+ * @export
12
+ * @interface ERC20IncentivePayload
13
+ * @typedef {ERC20IncentivePayload}
14
+ */
15
+ export interface ERC20IncentivePayload {
16
+ /**
17
+ * The address of the incentivized asset.
18
+ *
19
+ * @type {Address}
20
+ */
21
+ asset: Address;
22
+ /**
23
+ * The type of disbursement strategy for the incentive. `StrategyType.MINT` is not supported for `ERC20Incentives`
24
+ *
25
+ * @type {StrategyType}
26
+ */
27
+ strategy: StrategyType;
28
+ /**
29
+ * The amount of the asset to distribute.
30
+ *
31
+ * @type {bigint}
32
+ */
33
+ reward: bigint;
34
+ /**
35
+ * How many times can this incentive be claimed.
36
+ *
37
+ * @type {bigint}
38
+ */
39
+ limit: bigint;
40
+ }
41
+ /**
42
+ * A generic `viem.Log` event with support for `ERC20Incentive` event types.
43
+ *
44
+ * @export
45
+ * @typedef {ERC20IncentiveLog}
46
+ * @template {ContractEventName<typeof erc20IncentiveAbi>} [event=ContractEventName<
47
+ * typeof erc20IncentiveAbi
48
+ * >]
49
+ */
50
+ export type ERC20IncentiveLog<event extends ContractEventName<typeof erc20IncentiveAbi> = ContractEventName<typeof erc20IncentiveAbi>> = GenericLog<typeof erc20IncentiveAbi, event>;
51
+ /**
52
+ * A simple ERC20 incentive implementation that allows claiming of tokens
53
+ *
54
+ * @export
55
+ * @class ERC20Incentive
56
+ * @typedef {ERC20Incentive}
57
+ * @extends {DeployableTarget<ERC20IncentivePayload>}
58
+ */
59
+ export declare class ERC20Incentive extends DeployableTarget<ERC20IncentivePayload, typeof erc20IncentiveAbi> {
60
+ readonly abi: readonly [{
61
+ readonly type: "constructor";
62
+ readonly inputs: readonly [];
63
+ readonly stateMutability: "nonpayable";
64
+ }, {
65
+ readonly type: "error";
66
+ readonly inputs: readonly [];
67
+ readonly name: "AlreadyInitialized";
68
+ }, {
69
+ readonly type: "error";
70
+ readonly inputs: readonly [];
71
+ readonly name: "ClaimFailed";
72
+ }, {
73
+ readonly type: "error";
74
+ readonly inputs: readonly [{
75
+ readonly name: "caller";
76
+ readonly internalType: "address";
77
+ readonly type: "address";
78
+ }, {
79
+ readonly name: "data";
80
+ readonly internalType: "bytes";
81
+ readonly type: "bytes";
82
+ }];
83
+ readonly name: "ClaimFailed";
84
+ }, {
85
+ readonly type: "error";
86
+ readonly inputs: readonly [];
87
+ readonly name: "CloneAlreadyInitialized";
88
+ }, {
89
+ readonly type: "error";
90
+ readonly inputs: readonly [];
91
+ readonly name: "InitializerNotImplemented";
92
+ }, {
93
+ readonly type: "error";
94
+ readonly inputs: readonly [{
95
+ readonly name: "asset";
96
+ readonly internalType: "address";
97
+ readonly type: "address";
98
+ }, {
99
+ readonly name: "available";
100
+ readonly internalType: "uint256";
101
+ readonly type: "uint256";
102
+ }, {
103
+ readonly name: "required";
104
+ readonly internalType: "uint256";
105
+ readonly type: "uint256";
106
+ }];
107
+ readonly name: "InsufficientFunds";
108
+ }, {
109
+ readonly type: "error";
110
+ readonly inputs: readonly [];
111
+ readonly name: "InvalidInitialization";
112
+ }, {
113
+ readonly type: "error";
114
+ readonly inputs: readonly [];
115
+ readonly name: "InvalidInitialization";
116
+ }, {
117
+ readonly type: "error";
118
+ readonly inputs: readonly [];
119
+ readonly name: "InvalidInitializationData";
120
+ }, {
121
+ readonly type: "error";
122
+ readonly inputs: readonly [];
123
+ readonly name: "NewOwnerIsZeroAddress";
124
+ }, {
125
+ readonly type: "error";
126
+ readonly inputs: readonly [];
127
+ readonly name: "NoHandoverRequest";
128
+ }, {
129
+ readonly type: "error";
130
+ readonly inputs: readonly [];
131
+ readonly name: "NotClaimable";
132
+ }, {
133
+ readonly type: "error";
134
+ readonly inputs: readonly [];
135
+ readonly name: "NotInitializing";
136
+ }, {
137
+ readonly type: "error";
138
+ readonly inputs: readonly [];
139
+ readonly name: "Unauthorized";
140
+ }, {
141
+ readonly type: "error";
142
+ readonly inputs: readonly [];
143
+ readonly name: "Unauthorized";
144
+ }, {
145
+ readonly type: "event";
146
+ readonly anonymous: false;
147
+ readonly inputs: readonly [{
148
+ readonly name: "recipient";
149
+ readonly internalType: "address";
150
+ readonly type: "address";
151
+ readonly indexed: true;
152
+ }, {
153
+ readonly name: "data";
154
+ readonly internalType: "bytes";
155
+ readonly type: "bytes";
156
+ readonly indexed: false;
157
+ }];
158
+ readonly name: "Claimed";
159
+ }, {
160
+ readonly type: "event";
161
+ readonly anonymous: false;
162
+ readonly inputs: readonly [{
163
+ readonly name: "entry";
164
+ readonly internalType: "address";
165
+ readonly type: "address";
166
+ readonly indexed: true;
167
+ }];
168
+ readonly name: "Entry";
169
+ }, {
170
+ readonly type: "event";
171
+ readonly anonymous: false;
172
+ readonly inputs: readonly [{
173
+ readonly name: "version";
174
+ readonly internalType: "uint64";
175
+ readonly type: "uint64";
176
+ readonly indexed: false;
177
+ }];
178
+ readonly name: "Initialized";
179
+ }, {
180
+ readonly type: "event";
181
+ readonly anonymous: false;
182
+ readonly inputs: readonly [{
183
+ readonly name: "pendingOwner";
184
+ readonly internalType: "address";
185
+ readonly type: "address";
186
+ readonly indexed: true;
187
+ }];
188
+ readonly name: "OwnershipHandoverCanceled";
189
+ }, {
190
+ readonly type: "event";
191
+ readonly anonymous: false;
192
+ readonly inputs: readonly [{
193
+ readonly name: "pendingOwner";
194
+ readonly internalType: "address";
195
+ readonly type: "address";
196
+ readonly indexed: true;
197
+ }];
198
+ readonly name: "OwnershipHandoverRequested";
199
+ }, {
200
+ readonly type: "event";
201
+ readonly anonymous: false;
202
+ readonly inputs: readonly [{
203
+ readonly name: "oldOwner";
204
+ readonly internalType: "address";
205
+ readonly type: "address";
206
+ readonly indexed: true;
207
+ }, {
208
+ readonly name: "newOwner";
209
+ readonly internalType: "address";
210
+ readonly type: "address";
211
+ readonly indexed: true;
212
+ }];
213
+ readonly name: "OwnershipTransferred";
214
+ }, {
215
+ readonly type: "function";
216
+ readonly inputs: readonly [];
217
+ readonly name: "asset";
218
+ readonly outputs: readonly [{
219
+ readonly name: "";
220
+ readonly internalType: "address";
221
+ readonly type: "address";
222
+ }];
223
+ readonly stateMutability: "view";
224
+ }, {
225
+ readonly type: "function";
226
+ readonly inputs: readonly [];
227
+ readonly name: "cancelOwnershipHandover";
228
+ readonly outputs: readonly [];
229
+ readonly stateMutability: "payable";
230
+ }, {
231
+ readonly type: "function";
232
+ readonly inputs: readonly [{
233
+ readonly name: "claimTarget";
234
+ readonly internalType: "address";
235
+ readonly type: "address";
236
+ }, {
237
+ readonly name: "";
238
+ readonly internalType: "bytes";
239
+ readonly type: "bytes";
240
+ }];
241
+ readonly name: "claim";
242
+ readonly outputs: readonly [{
243
+ readonly name: "";
244
+ readonly internalType: "bool";
245
+ readonly type: "bool";
246
+ }];
247
+ readonly stateMutability: "nonpayable";
248
+ }, {
249
+ readonly type: "function";
250
+ readonly inputs: readonly [{
251
+ readonly name: "";
252
+ readonly internalType: "address";
253
+ readonly type: "address";
254
+ }];
255
+ readonly name: "claimed";
256
+ readonly outputs: readonly [{
257
+ readonly name: "";
258
+ readonly internalType: "bool";
259
+ readonly type: "bool";
260
+ }];
261
+ readonly stateMutability: "view";
262
+ }, {
263
+ readonly type: "function";
264
+ readonly inputs: readonly [];
265
+ readonly name: "claims";
266
+ readonly outputs: readonly [{
267
+ readonly name: "";
268
+ readonly internalType: "uint256";
269
+ readonly type: "uint256";
270
+ }];
271
+ readonly stateMutability: "view";
272
+ }, {
273
+ readonly type: "function";
274
+ readonly inputs: readonly [{
275
+ readonly name: "data_";
276
+ readonly internalType: "bytes";
277
+ readonly type: "bytes";
278
+ }];
279
+ readonly name: "clawback";
280
+ readonly outputs: readonly [{
281
+ readonly name: "";
282
+ readonly internalType: "bool";
283
+ readonly type: "bool";
284
+ }];
285
+ readonly stateMutability: "nonpayable";
286
+ }, {
287
+ readonly type: "function";
288
+ readonly inputs: readonly [{
289
+ readonly name: "pendingOwner";
290
+ readonly internalType: "address";
291
+ readonly type: "address";
292
+ }];
293
+ readonly name: "completeOwnershipHandover";
294
+ readonly outputs: readonly [];
295
+ readonly stateMutability: "payable";
296
+ }, {
297
+ readonly type: "function";
298
+ readonly inputs: readonly [];
299
+ readonly name: "currentReward";
300
+ readonly outputs: readonly [{
301
+ readonly name: "";
302
+ readonly internalType: "uint256";
303
+ readonly type: "uint256";
304
+ }];
305
+ readonly stateMutability: "view";
306
+ }, {
307
+ readonly type: "function";
308
+ readonly inputs: readonly [];
309
+ readonly name: "drawRaffle";
310
+ readonly outputs: readonly [];
311
+ readonly stateMutability: "nonpayable";
312
+ }, {
313
+ readonly type: "function";
314
+ readonly inputs: readonly [{
315
+ readonly name: "";
316
+ readonly internalType: "uint256";
317
+ readonly type: "uint256";
318
+ }];
319
+ readonly name: "entries";
320
+ readonly outputs: readonly [{
321
+ readonly name: "";
322
+ readonly internalType: "address";
323
+ readonly type: "address";
324
+ }];
325
+ readonly stateMutability: "view";
326
+ }, {
327
+ readonly type: "function";
328
+ readonly inputs: readonly [];
329
+ readonly name: "getComponentInterface";
330
+ readonly outputs: readonly [{
331
+ readonly name: "";
332
+ readonly internalType: "bytes4";
333
+ readonly type: "bytes4";
334
+ }];
335
+ readonly stateMutability: "pure";
336
+ }, {
337
+ readonly type: "function";
338
+ readonly inputs: readonly [{
339
+ readonly name: "data_";
340
+ readonly internalType: "bytes";
341
+ readonly type: "bytes";
342
+ }];
343
+ readonly name: "initialize";
344
+ readonly outputs: readonly [];
345
+ readonly stateMutability: "nonpayable";
346
+ }, {
347
+ readonly type: "function";
348
+ readonly inputs: readonly [{
349
+ readonly name: "claimTarget";
350
+ readonly internalType: "address";
351
+ readonly type: "address";
352
+ }, {
353
+ readonly name: "";
354
+ readonly internalType: "bytes";
355
+ readonly type: "bytes";
356
+ }];
357
+ readonly name: "isClaimable";
358
+ readonly outputs: readonly [{
359
+ readonly name: "";
360
+ readonly internalType: "bool";
361
+ readonly type: "bool";
362
+ }];
363
+ readonly stateMutability: "view";
364
+ }, {
365
+ readonly type: "function";
366
+ readonly inputs: readonly [];
367
+ readonly name: "limit";
368
+ readonly outputs: readonly [{
369
+ readonly name: "";
370
+ readonly internalType: "uint256";
371
+ readonly type: "uint256";
372
+ }];
373
+ readonly stateMutability: "view";
374
+ }, {
375
+ readonly type: "function";
376
+ readonly inputs: readonly [];
377
+ readonly name: "owner";
378
+ readonly outputs: readonly [{
379
+ readonly name: "result";
380
+ readonly internalType: "address";
381
+ readonly type: "address";
382
+ }];
383
+ readonly stateMutability: "view";
384
+ }, {
385
+ readonly type: "function";
386
+ readonly inputs: readonly [{
387
+ readonly name: "pendingOwner";
388
+ readonly internalType: "address";
389
+ readonly type: "address";
390
+ }];
391
+ readonly name: "ownershipHandoverExpiresAt";
392
+ readonly outputs: readonly [{
393
+ readonly name: "result";
394
+ readonly internalType: "uint256";
395
+ readonly type: "uint256";
396
+ }];
397
+ readonly stateMutability: "view";
398
+ }, {
399
+ readonly type: "function";
400
+ readonly inputs: readonly [{
401
+ readonly name: "data_";
402
+ readonly internalType: "bytes";
403
+ readonly type: "bytes";
404
+ }];
405
+ readonly name: "preflight";
406
+ readonly outputs: readonly [{
407
+ readonly name: "budgetData";
408
+ readonly internalType: "bytes";
409
+ readonly type: "bytes";
410
+ }];
411
+ readonly stateMutability: "view";
412
+ }, {
413
+ readonly type: "function";
414
+ readonly inputs: readonly [];
415
+ readonly name: "renounceOwnership";
416
+ readonly outputs: readonly [];
417
+ readonly stateMutability: "payable";
418
+ }, {
419
+ readonly type: "function";
420
+ readonly inputs: readonly [];
421
+ readonly name: "requestOwnershipHandover";
422
+ readonly outputs: readonly [];
423
+ readonly stateMutability: "payable";
424
+ }, {
425
+ readonly type: "function";
426
+ readonly inputs: readonly [];
427
+ readonly name: "reward";
428
+ readonly outputs: readonly [{
429
+ readonly name: "";
430
+ readonly internalType: "uint256";
431
+ readonly type: "uint256";
432
+ }];
433
+ readonly stateMutability: "view";
434
+ }, {
435
+ readonly type: "function";
436
+ readonly inputs: readonly [];
437
+ readonly name: "strategy";
438
+ readonly outputs: readonly [{
439
+ readonly name: "";
440
+ readonly internalType: "enum AERC20Incentive.Strategy";
441
+ readonly type: "uint8";
442
+ }];
443
+ readonly stateMutability: "view";
444
+ }, {
445
+ readonly type: "function";
446
+ readonly inputs: readonly [{
447
+ readonly name: "interfaceId";
448
+ readonly internalType: "bytes4";
449
+ readonly type: "bytes4";
450
+ }];
451
+ readonly name: "supportsInterface";
452
+ readonly outputs: readonly [{
453
+ readonly name: "";
454
+ readonly internalType: "bool";
455
+ readonly type: "bool";
456
+ }];
457
+ readonly stateMutability: "view";
458
+ }, {
459
+ readonly type: "function";
460
+ readonly inputs: readonly [{
461
+ readonly name: "newOwner";
462
+ readonly internalType: "address";
463
+ readonly type: "address";
464
+ }];
465
+ readonly name: "transferOwnership";
466
+ readonly outputs: readonly [];
467
+ readonly stateMutability: "payable";
468
+ }];
469
+ /**
470
+ * @inheritdoc
471
+ *
472
+ * @public
473
+ * @static
474
+ * @type {Address}
475
+ */
476
+ static base: Address;
477
+ /**
478
+ * @inheritdoc
479
+ *
480
+ * @public
481
+ * @static
482
+ * @type {RegistryType}
483
+ */
484
+ static registryType: RegistryType;
485
+ /**
486
+ * The owner of the incentive
487
+ *
488
+ * @public
489
+ * @async
490
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'owner'>} [params]
491
+ * @returns {unknown}
492
+ */
493
+ owner(params?: ReadParams<typeof erc20IncentiveAbi, 'owner'>): Promise<`0x${string}`>;
494
+ /**
495
+ * Calculates the current reward based on the time since the last claim. The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget. For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`
496
+ *
497
+ * @public
498
+ * @async
499
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'currentReward'>} [params]
500
+ * @returns {Promise<bigint>} - The current reward
501
+ */
502
+ currentReward(params?: ReadParams<typeof erc20IncentiveAbi, 'currentReward'>): Promise<bigint>;
503
+ /**
504
+ * The number of claims that have been made
505
+ *
506
+ * @public
507
+ * @async
508
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'claims'>} [params]
509
+ * @returns {Promise<bigint>}
510
+ */
511
+ claims(params?: ReadParams<typeof erc20IncentiveAbi, 'claims'>): Promise<bigint>;
512
+ /**
513
+ * A mapping of address to claim status
514
+ *
515
+ * @public
516
+ * @async
517
+ * @param {Address} address
518
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'claimed'>} [params]
519
+ * @returns {Promise<boolean>}
520
+ */
521
+ claimed(address: Address, params?: ReadParams<typeof erc20IncentiveAbi, 'claimed'>): Promise<boolean>;
522
+ /**
523
+ * The address of the ERC20-like token
524
+ *
525
+ * @public
526
+ * @async
527
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'asset'>} [params]
528
+ * @returns {Promise<Address>}
529
+ */
530
+ asset(params?: ReadParams<typeof erc20IncentiveAbi, 'asset'>): Promise<`0x${string}`>;
531
+ /**
532
+ * The strategy for the incentive (MINT or POOL)
533
+ *
534
+ * @public
535
+ * @async
536
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'strategy'>} [params]
537
+ * @returns {Promise<StrategyType>}
538
+ */
539
+ strategy(params?: ReadParams<typeof erc20IncentiveAbi, 'strategy'>): Promise<StrategyType>;
540
+ /**
541
+ * The reward amount issued for each claim
542
+ *
543
+ * @public
544
+ * @async
545
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'reward'>} [params]
546
+ * @returns {Promise<bigint>}
547
+ */
548
+ reward(params?: ReadParams<typeof erc20IncentiveAbi, 'reward'>): Promise<bigint>;
549
+ /**
550
+ * The limit (max claims, or max entries for raffles)
551
+ *
552
+ * @public
553
+ * @async
554
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'limit'>} [params]
555
+ * @returns {unknown}
556
+ */
557
+ limit(params?: ReadParams<typeof erc20IncentiveAbi, 'limit'>): Promise<bigint>;
558
+ /**
559
+ * The set of addresses that have claimed a slot in the incentive raffle, accessed by bigint index.
560
+ *
561
+ * @public
562
+ * @async
563
+ * @param {bigint} i - Index of address
564
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'entries'>} [params]
565
+ * @returns {Promise<Address>}
566
+ */
567
+ entries(i: bigint, params?: ReadParams<typeof erc20IncentiveAbi, 'entries'>): Promise<`0x${string}`>;
568
+ /**
569
+ * Claim the incentive
570
+ *
571
+ * @public
572
+ * @async
573
+ * @param {ClaimPayload} payload
574
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'claim'>} [params]
575
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
576
+ */
577
+ protected claim(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'claim'>): Promise<boolean>;
578
+ /**
579
+ * Claim the incentive
580
+ *
581
+ * @public
582
+ * @async
583
+ * @param {ClaimPayload} payload
584
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'claim'>} [params]
585
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
586
+ */
587
+ protected claimRaw(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'claim'>): Promise<{
588
+ hash: `0x${string}`;
589
+ result: boolean;
590
+ }>;
591
+ /**
592
+ * Clawback assets from the incentive
593
+ *
594
+ * @public
595
+ * @async
596
+ * @param {ClaimPayload} payload
597
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'clawback'>} [params]
598
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
599
+ */
600
+ clawback(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'clawback'>): Promise<boolean>;
601
+ /**
602
+ * Clawback assets from the incentive
603
+ *
604
+ * @public
605
+ * @async
606
+ * @param {ClaimPayload} payload
607
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'clawback'>} [params]
608
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
609
+ */
610
+ clawbackRaw(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'clawback'>): Promise<{
611
+ hash: `0x${string}`;
612
+ result: boolean;
613
+ }>;
614
+ /**
615
+ * Check if an incentive is claimable. For the POOL strategy, the `bytes data` portion of the payload ignored. The recipient must not have already claimed the incentive.
616
+ *
617
+ * @public
618
+ * @async
619
+ * @param {ClaimPayload} payload
620
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'isClaimable'>} [params]
621
+ * @returns {unknown} = True if the incentive is claimable based on the data payload
622
+ */
623
+ isClaimable(payload: ClaimPayload, params?: ReadParams<typeof erc20IncentiveAbi, 'isClaimable'>): Promise<boolean>;
624
+ /**
625
+ * Draw a winner from the raffle. Only callable by owner. Only valid when the strategy is set to `Strategy.RAFFLE`
626
+ *
627
+ * @public
628
+ * @async
629
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>} [params]
630
+ * @returns {Promise<void>}
631
+ */
632
+ drawRaffle(params?: WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>): Promise<void>;
633
+ /**
634
+ * Draw a winner from the raffle. Only callable by owner. Only valid when the strategy is set to `Strategy.RAFFLE`
635
+ *
636
+ * @public
637
+ * @async
638
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>} [params]
639
+ * @returns {Promise<void>}
640
+ */
641
+ drawRaffleRaw(params?: WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>): Promise<{
642
+ hash: `0x${string}`;
643
+ result: void;
644
+ }>;
645
+ /**
646
+ * @inheritdoc
647
+ *
648
+ * @public
649
+ * @param {?ERC20IncentivePayload} [_payload]
650
+ * @param {?DeployableOptions} [_options]
651
+ * @returns {GenericDeployableParams}
652
+ */
653
+ buildParameters(_payload?: ERC20IncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
654
+ }
655
+ /**
656
+ * Given a {@link ERC20IncentivePayload}, properly encode a `ERC20Incentive.InitPayload` for use with {@link ERC20Incentive} initialization.
657
+ *
658
+ * @param {ERC20IncentivePayload} param0
659
+ * @param {Address} param0.asset - The address of the incentivized asset.
660
+ * @param {StrategyType} param0.strategy - The type of disbursement strategy for the incentive. `StrategyType.MINT` is not supported for `ERC20Incentives`
661
+ * @param {bigint} param0.reward - The amount of the asset to distribute.
662
+ * @param {bigint} param0.limit - How many times can this incentive be claimed.
663
+ * @returns {*}
664
+ */
665
+ export declare function prepareERC20IncentivePayload({ asset, strategy, reward, limit, }: ERC20IncentivePayload): `0x${string}`;
666
+ //# sourceMappingURL=ERC20Incentive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC20Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/ERC20Incentive.ts"],"names":[],"mappings":"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"}