@boostxyz/sdk 0.0.0-alpha.2

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 (117) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +7 -0
  3. package/dist/Actions/Action.cjs +1 -0
  4. package/dist/Actions/Action.d.ts +31 -0
  5. package/dist/Actions/Action.d.ts.map +1 -0
  6. package/dist/Actions/Action.js +27 -0
  7. package/dist/Actions/ContractAction.d.ts +327 -0
  8. package/dist/Actions/ContractAction.d.ts.map +1 -0
  9. package/dist/Actions/ERC721MintAction.d.ts +486 -0
  10. package/dist/Actions/ERC721MintAction.d.ts.map +1 -0
  11. package/dist/Actions/EventAction.cjs +1 -0
  12. package/dist/Actions/EventAction.d.ts +433 -0
  13. package/dist/Actions/EventAction.d.ts.map +1 -0
  14. package/dist/Actions/EventAction.js +211 -0
  15. package/dist/AllowLists/AllowList.cjs +1 -0
  16. package/dist/AllowLists/AllowList.d.ts +33 -0
  17. package/dist/AllowLists/AllowList.d.ts.map +1 -0
  18. package/dist/AllowLists/AllowList.js +28 -0
  19. package/dist/AllowLists/SimpleAllowList.cjs +1 -0
  20. package/dist/AllowLists/SimpleAllowList.d.ts +452 -0
  21. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -0
  22. package/dist/AllowLists/SimpleAllowList.js +138 -0
  23. package/dist/AllowLists/SimpleDenyList.cjs +1 -0
  24. package/dist/AllowLists/SimpleDenyList.d.ts +306 -0
  25. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -0
  26. package/dist/AllowLists/SimpleDenyList.js +202 -0
  27. package/dist/Auth/Auth.cjs +1 -0
  28. package/dist/Auth/Auth.d.ts +10 -0
  29. package/dist/Auth/Auth.d.ts.map +1 -0
  30. package/dist/Auth/Auth.js +4 -0
  31. package/dist/Auth/PassthroughAuth.cjs +1 -0
  32. package/dist/Auth/PassthroughAuth.d.ts +51 -0
  33. package/dist/Auth/PassthroughAuth.d.ts.map +1 -0
  34. package/dist/Auth/PassthroughAuth.js +38 -0
  35. package/dist/Boost.cjs +1 -0
  36. package/dist/Boost.d.ts +142 -0
  37. package/dist/Boost.d.ts.map +1 -0
  38. package/dist/Boost.js +15 -0
  39. package/dist/BoostCore.cjs +2 -0
  40. package/dist/BoostCore.d.ts +460 -0
  41. package/dist/BoostCore.d.ts.map +1 -0
  42. package/dist/BoostCore.js +1105 -0
  43. package/dist/BoostRegistry.cjs +1 -0
  44. package/dist/BoostRegistry.d.ts +229 -0
  45. package/dist/BoostRegistry.d.ts.map +1 -0
  46. package/dist/BoostRegistry.js +250 -0
  47. package/dist/Budgets/Budget.cjs +1 -0
  48. package/dist/Budgets/Budget.d.ts +31 -0
  49. package/dist/Budgets/Budget.d.ts.map +1 -0
  50. package/dist/Budgets/Budget.js +27 -0
  51. package/dist/Budgets/ManagedBudget.cjs +1 -0
  52. package/dist/Budgets/ManagedBudget.d.ts +1065 -0
  53. package/dist/Budgets/ManagedBudget.d.ts.map +1 -0
  54. package/dist/Budgets/ManagedBudget.js +498 -0
  55. package/dist/Budgets/SimpleBudget.d.ts +793 -0
  56. package/dist/Budgets/SimpleBudget.d.ts.map +1 -0
  57. package/dist/Budgets/VestingBudget.d.ts +726 -0
  58. package/dist/Budgets/VestingBudget.d.ts.map +1 -0
  59. package/dist/Deployable/Contract.cjs +1 -0
  60. package/dist/Deployable/Contract.d.ts +125 -0
  61. package/dist/Deployable/Contract.d.ts.map +1 -0
  62. package/dist/Deployable/Contract.js +149 -0
  63. package/dist/Deployable/Deployable.cjs +1 -0
  64. package/dist/Deployable/Deployable.d.ts +155 -0
  65. package/dist/Deployable/Deployable.d.ts.map +1 -0
  66. package/dist/Deployable/Deployable.js +124 -0
  67. package/dist/Deployable/DeployableTarget.cjs +1 -0
  68. package/dist/Deployable/DeployableTarget.d.ts +115 -0
  69. package/dist/Deployable/DeployableTarget.d.ts.map +1 -0
  70. package/dist/Deployable/DeployableTarget.js +128 -0
  71. package/dist/Incentives/AllowListIncentive.cjs +1 -0
  72. package/dist/Incentives/AllowListIncentive.d.ts +483 -0
  73. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -0
  74. package/dist/Incentives/AllowListIncentive.js +188 -0
  75. package/dist/Incentives/CGDAIncentive.cjs +1 -0
  76. package/dist/Incentives/CGDAIncentive.d.ts +560 -0
  77. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -0
  78. package/dist/Incentives/CGDAIncentive.js +249 -0
  79. package/dist/Incentives/ERC1155Incentive.d.ts +652 -0
  80. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -0
  81. package/dist/Incentives/ERC20Incentive.cjs +1 -0
  82. package/dist/Incentives/ERC20Incentive.d.ts +622 -0
  83. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -0
  84. package/dist/Incentives/ERC20Incentive.js +292 -0
  85. package/dist/Incentives/ERC20VariableIncentive.d.ts +545 -0
  86. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -0
  87. package/dist/Incentives/Incentive.cjs +1 -0
  88. package/dist/Incentives/Incentive.d.ts +39 -0
  89. package/dist/Incentives/Incentive.d.ts.map +1 -0
  90. package/dist/Incentives/Incentive.js +280 -0
  91. package/dist/Incentives/PointsIncentive.cjs +1 -0
  92. package/dist/Incentives/PointsIncentive.d.ts +615 -0
  93. package/dist/Incentives/PointsIncentive.d.ts.map +1 -0
  94. package/dist/Incentives/PointsIncentive.js +197 -0
  95. package/dist/Validators/SignerValidator.cjs +1 -0
  96. package/dist/Validators/SignerValidator.d.ts +452 -0
  97. package/dist/Validators/SignerValidator.d.ts.map +1 -0
  98. package/dist/Validators/SignerValidator.js +167 -0
  99. package/dist/Validators/Validator.cjs +1 -0
  100. package/dist/Validators/Validator.d.ts +31 -0
  101. package/dist/Validators/Validator.d.ts.map +1 -0
  102. package/dist/Validators/Validator.js +25 -0
  103. package/dist/errors.cjs +1 -0
  104. package/dist/errors.d.ts +257 -0
  105. package/dist/errors.d.ts.map +1 -0
  106. package/dist/errors.js +161 -0
  107. package/dist/generated-BaaleHW-.cjs +2 -0
  108. package/dist/generated-x_abr3Yv.js +6228 -0
  109. package/dist/index.cjs +1 -0
  110. package/dist/index.d.ts +29 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +1355 -0
  113. package/dist/utils.cjs +1 -0
  114. package/dist/utils.d.ts +1454 -0
  115. package/dist/utils.d.ts.map +1 -0
  116. package/dist/utils.js +643 -0
  117. package/package.json +197 -0
@@ -0,0 +1,545 @@
1
+ import { erc20VariableIncentiveAbi } from '@boostxyz/evm';
2
+ import type { Address, ContractEventName } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTarget } from '../Deployable/DeployableTarget';
5
+ import { type ClaimPayload, type ERC20VariableIncentivePayload, type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
6
+ export { erc20VariableIncentiveAbi };
7
+ export type { ERC20VariableIncentivePayload };
8
+ /**
9
+ * A generic `viem.Log` event with support for `ERC20VariableIncentive` event types.
10
+ *
11
+ * @export
12
+ * @typedef {ERC20VariableIncentiveLog}
13
+ * @template {ContractEventName<typeof erc20VariableIncentiveAbi>} [event=ContractEventName<
14
+ * typeof erc20VariableIncentiveAbi
15
+ * >]
16
+ */
17
+ export type ERC20VariableIncentiveLog<event extends ContractEventName<typeof erc20VariableIncentiveAbi> = ContractEventName<typeof erc20VariableIncentiveAbi>> = GenericLog<typeof erc20VariableIncentiveAbi, event>;
18
+ /**
19
+ * A simple ERC20 incentive implementation that allows claiming of tokens
20
+ *
21
+ * @export
22
+ * @class ERC20VariableIncentive
23
+ * @typedef {ERC20VariableIncentive}
24
+ * @extends {DeployableTarget<ERC20VariableIncentivePayload>}
25
+ */
26
+ export declare class ERC20VariableIncentive extends DeployableTarget<ERC20VariableIncentivePayload, typeof erc20VariableIncentiveAbi> {
27
+ readonly abi: readonly [{
28
+ readonly type: "constructor";
29
+ readonly inputs: readonly [];
30
+ readonly stateMutability: "nonpayable";
31
+ }, {
32
+ readonly type: "error";
33
+ readonly inputs: readonly [];
34
+ readonly name: "AlreadyInitialized";
35
+ }, {
36
+ readonly type: "error";
37
+ readonly inputs: readonly [];
38
+ readonly name: "ClaimFailed";
39
+ }, {
40
+ readonly type: "error";
41
+ readonly inputs: readonly [];
42
+ readonly name: "CloneAlreadyInitialized";
43
+ }, {
44
+ readonly type: "error";
45
+ readonly inputs: readonly [];
46
+ readonly name: "InitializerNotImplemented";
47
+ }, {
48
+ readonly type: "error";
49
+ readonly inputs: readonly [{
50
+ readonly name: "asset";
51
+ readonly internalType: "address";
52
+ readonly type: "address";
53
+ }, {
54
+ readonly name: "available";
55
+ readonly internalType: "uint256";
56
+ readonly type: "uint256";
57
+ }, {
58
+ readonly name: "required";
59
+ readonly internalType: "uint256";
60
+ readonly type: "uint256";
61
+ }];
62
+ readonly name: "InsufficientFunds";
63
+ }, {
64
+ readonly type: "error";
65
+ readonly inputs: readonly [];
66
+ readonly name: "InvalidInitialization";
67
+ }, {
68
+ readonly type: "error";
69
+ readonly inputs: readonly [];
70
+ readonly name: "InvalidInitialization";
71
+ }, {
72
+ readonly type: "error";
73
+ readonly inputs: readonly [];
74
+ readonly name: "InvalidInitializationData";
75
+ }, {
76
+ readonly type: "error";
77
+ readonly inputs: readonly [];
78
+ readonly name: "NewOwnerIsZeroAddress";
79
+ }, {
80
+ readonly type: "error";
81
+ readonly inputs: readonly [];
82
+ readonly name: "NoHandoverRequest";
83
+ }, {
84
+ readonly type: "error";
85
+ readonly inputs: readonly [];
86
+ readonly name: "NotClaimable";
87
+ }, {
88
+ readonly type: "error";
89
+ readonly inputs: readonly [];
90
+ readonly name: "NotInitializing";
91
+ }, {
92
+ readonly type: "error";
93
+ readonly inputs: readonly [];
94
+ readonly name: "Unauthorized";
95
+ }, {
96
+ readonly type: "event";
97
+ readonly anonymous: false;
98
+ readonly inputs: readonly [{
99
+ readonly name: "recipient";
100
+ readonly internalType: "address";
101
+ readonly type: "address";
102
+ readonly indexed: true;
103
+ }, {
104
+ readonly name: "data";
105
+ readonly internalType: "bytes";
106
+ readonly type: "bytes";
107
+ readonly indexed: false;
108
+ }];
109
+ readonly name: "Claimed";
110
+ }, {
111
+ readonly type: "event";
112
+ readonly anonymous: false;
113
+ readonly inputs: readonly [{
114
+ readonly name: "version";
115
+ readonly internalType: "uint64";
116
+ readonly type: "uint64";
117
+ readonly indexed: false;
118
+ }];
119
+ readonly name: "Initialized";
120
+ }, {
121
+ readonly type: "event";
122
+ readonly anonymous: false;
123
+ readonly inputs: readonly [{
124
+ readonly name: "pendingOwner";
125
+ readonly internalType: "address";
126
+ readonly type: "address";
127
+ readonly indexed: true;
128
+ }];
129
+ readonly name: "OwnershipHandoverCanceled";
130
+ }, {
131
+ readonly type: "event";
132
+ readonly anonymous: false;
133
+ readonly inputs: readonly [{
134
+ readonly name: "pendingOwner";
135
+ readonly internalType: "address";
136
+ readonly type: "address";
137
+ readonly indexed: true;
138
+ }];
139
+ readonly name: "OwnershipHandoverRequested";
140
+ }, {
141
+ readonly type: "event";
142
+ readonly anonymous: false;
143
+ readonly inputs: readonly [{
144
+ readonly name: "oldOwner";
145
+ readonly internalType: "address";
146
+ readonly type: "address";
147
+ readonly indexed: true;
148
+ }, {
149
+ readonly name: "newOwner";
150
+ readonly internalType: "address";
151
+ readonly type: "address";
152
+ readonly indexed: true;
153
+ }];
154
+ readonly name: "OwnershipTransferred";
155
+ }, {
156
+ readonly type: "function";
157
+ readonly inputs: readonly [];
158
+ readonly name: "asset";
159
+ readonly outputs: readonly [{
160
+ readonly name: "";
161
+ readonly internalType: "address";
162
+ readonly type: "address";
163
+ }];
164
+ readonly stateMutability: "view";
165
+ }, {
166
+ readonly type: "function";
167
+ readonly inputs: readonly [];
168
+ readonly name: "cancelOwnershipHandover";
169
+ readonly outputs: readonly [];
170
+ readonly stateMutability: "payable";
171
+ }, {
172
+ readonly type: "function";
173
+ readonly inputs: readonly [{
174
+ readonly name: "claimTarget";
175
+ readonly internalType: "address";
176
+ readonly type: "address";
177
+ }, {
178
+ readonly name: "data_";
179
+ readonly internalType: "bytes";
180
+ readonly type: "bytes";
181
+ }];
182
+ readonly name: "claim";
183
+ readonly outputs: readonly [{
184
+ readonly name: "";
185
+ readonly internalType: "bool";
186
+ readonly type: "bool";
187
+ }];
188
+ readonly stateMutability: "nonpayable";
189
+ }, {
190
+ readonly type: "function";
191
+ readonly inputs: readonly [{
192
+ readonly name: "";
193
+ readonly internalType: "address";
194
+ readonly type: "address";
195
+ }];
196
+ readonly name: "claimed";
197
+ readonly outputs: readonly [{
198
+ readonly name: "";
199
+ readonly internalType: "bool";
200
+ readonly type: "bool";
201
+ }];
202
+ readonly stateMutability: "view";
203
+ }, {
204
+ readonly type: "function";
205
+ readonly inputs: readonly [];
206
+ readonly name: "claims";
207
+ readonly outputs: readonly [{
208
+ readonly name: "";
209
+ readonly internalType: "uint256";
210
+ readonly type: "uint256";
211
+ }];
212
+ readonly stateMutability: "view";
213
+ }, {
214
+ readonly type: "function";
215
+ readonly inputs: readonly [{
216
+ readonly name: "data_";
217
+ readonly internalType: "bytes";
218
+ readonly type: "bytes";
219
+ }];
220
+ readonly name: "clawback";
221
+ readonly outputs: readonly [{
222
+ readonly name: "";
223
+ readonly internalType: "bool";
224
+ readonly type: "bool";
225
+ }];
226
+ readonly stateMutability: "nonpayable";
227
+ }, {
228
+ readonly type: "function";
229
+ readonly inputs: readonly [{
230
+ readonly name: "pendingOwner";
231
+ readonly internalType: "address";
232
+ readonly type: "address";
233
+ }];
234
+ readonly name: "completeOwnershipHandover";
235
+ readonly outputs: readonly [];
236
+ readonly stateMutability: "payable";
237
+ }, {
238
+ readonly type: "function";
239
+ readonly inputs: readonly [];
240
+ readonly name: "currentReward";
241
+ readonly outputs: readonly [{
242
+ readonly name: "";
243
+ readonly internalType: "uint256";
244
+ readonly type: "uint256";
245
+ }];
246
+ readonly stateMutability: "view";
247
+ }, {
248
+ readonly type: "function";
249
+ readonly inputs: readonly [];
250
+ readonly name: "getComponentInterface";
251
+ readonly outputs: readonly [{
252
+ readonly name: "";
253
+ readonly internalType: "bytes4";
254
+ readonly type: "bytes4";
255
+ }];
256
+ readonly stateMutability: "pure";
257
+ }, {
258
+ readonly type: "function";
259
+ readonly inputs: readonly [{
260
+ readonly name: "data_";
261
+ readonly internalType: "bytes";
262
+ readonly type: "bytes";
263
+ }];
264
+ readonly name: "initialize";
265
+ readonly outputs: readonly [];
266
+ readonly stateMutability: "nonpayable";
267
+ }, {
268
+ readonly type: "function";
269
+ readonly inputs: readonly [{
270
+ readonly name: "claimTarget";
271
+ readonly internalType: "address";
272
+ readonly type: "address";
273
+ }, {
274
+ readonly name: "";
275
+ readonly internalType: "bytes";
276
+ readonly type: "bytes";
277
+ }];
278
+ readonly name: "isClaimable";
279
+ readonly outputs: readonly [{
280
+ readonly name: "";
281
+ readonly internalType: "bool";
282
+ readonly type: "bool";
283
+ }];
284
+ readonly stateMutability: "view";
285
+ }, {
286
+ readonly type: "function";
287
+ readonly inputs: readonly [];
288
+ readonly name: "limit";
289
+ readonly outputs: readonly [{
290
+ readonly name: "";
291
+ readonly internalType: "uint256";
292
+ readonly type: "uint256";
293
+ }];
294
+ readonly stateMutability: "view";
295
+ }, {
296
+ readonly type: "function";
297
+ readonly inputs: readonly [];
298
+ readonly name: "owner";
299
+ readonly outputs: readonly [{
300
+ readonly name: "result";
301
+ readonly internalType: "address";
302
+ readonly type: "address";
303
+ }];
304
+ readonly stateMutability: "view";
305
+ }, {
306
+ readonly type: "function";
307
+ readonly inputs: readonly [{
308
+ readonly name: "pendingOwner";
309
+ readonly internalType: "address";
310
+ readonly type: "address";
311
+ }];
312
+ readonly name: "ownershipHandoverExpiresAt";
313
+ readonly outputs: readonly [{
314
+ readonly name: "result";
315
+ readonly internalType: "uint256";
316
+ readonly type: "uint256";
317
+ }];
318
+ readonly stateMutability: "view";
319
+ }, {
320
+ readonly type: "function";
321
+ readonly inputs: readonly [{
322
+ readonly name: "data_";
323
+ readonly internalType: "bytes";
324
+ readonly type: "bytes";
325
+ }];
326
+ readonly name: "preflight";
327
+ readonly outputs: readonly [{
328
+ readonly name: "budgetData";
329
+ readonly internalType: "bytes";
330
+ readonly type: "bytes";
331
+ }];
332
+ readonly stateMutability: "view";
333
+ }, {
334
+ readonly type: "function";
335
+ readonly inputs: readonly [];
336
+ readonly name: "renounceOwnership";
337
+ readonly outputs: readonly [];
338
+ readonly stateMutability: "payable";
339
+ }, {
340
+ readonly type: "function";
341
+ readonly inputs: readonly [];
342
+ readonly name: "requestOwnershipHandover";
343
+ readonly outputs: readonly [];
344
+ readonly stateMutability: "payable";
345
+ }, {
346
+ readonly type: "function";
347
+ readonly inputs: readonly [];
348
+ readonly name: "reward";
349
+ readonly outputs: readonly [{
350
+ readonly name: "";
351
+ readonly internalType: "uint256";
352
+ readonly type: "uint256";
353
+ }];
354
+ readonly stateMutability: "view";
355
+ }, {
356
+ readonly type: "function";
357
+ readonly inputs: readonly [{
358
+ readonly name: "interfaceId";
359
+ readonly internalType: "bytes4";
360
+ readonly type: "bytes4";
361
+ }];
362
+ readonly name: "supportsInterface";
363
+ readonly outputs: readonly [{
364
+ readonly name: "";
365
+ readonly internalType: "bool";
366
+ readonly type: "bool";
367
+ }];
368
+ readonly stateMutability: "view";
369
+ }, {
370
+ readonly type: "function";
371
+ readonly inputs: readonly [];
372
+ readonly name: "totalClaimed";
373
+ readonly outputs: readonly [{
374
+ readonly name: "";
375
+ readonly internalType: "uint256";
376
+ readonly type: "uint256";
377
+ }];
378
+ readonly stateMutability: "view";
379
+ }, {
380
+ readonly type: "function";
381
+ readonly inputs: readonly [{
382
+ readonly name: "newOwner";
383
+ readonly internalType: "address";
384
+ readonly type: "address";
385
+ }];
386
+ readonly name: "transferOwnership";
387
+ readonly outputs: readonly [];
388
+ readonly stateMutability: "payable";
389
+ }];
390
+ /**
391
+ * @inheritdoc
392
+ *
393
+ * @public
394
+ * @static
395
+ * @type {Address}
396
+ */
397
+ static base: Address;
398
+ /**
399
+ * @inheritdoc
400
+ *
401
+ * @public
402
+ * @static
403
+ * @type {RegistryType}
404
+ */
405
+ static registryType: RegistryType;
406
+ /**
407
+ * The owner of the incentive
408
+ *
409
+ * @public
410
+ * @async
411
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'owner'>} [params]
412
+ * @returns {unknown}
413
+ */
414
+ owner(params?: ReadParams<typeof erc20VariableIncentiveAbi, 'owner'>): Promise<`0x${string}`>;
415
+ /**
416
+ * The current reward
417
+ *
418
+ * @public
419
+ * @async
420
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'currentReward'>} [params]
421
+ * @returns {Promise<bigint>} - The current reward
422
+ */
423
+ totalClaimed(params?: ReadParams<typeof erc20VariableIncentiveAbi, 'totalClaimed'>): Promise<bigint>;
424
+ /**
425
+ * The current reward
426
+ *
427
+ * @public
428
+ * @async
429
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'currentReward'>} [params]
430
+ * @returns {Promise<bigint>} - The current reward
431
+ */
432
+ currentReward(params?: ReadParams<typeof erc20VariableIncentiveAbi, 'currentReward'>): Promise<bigint>;
433
+ /**
434
+ * The number of claims that have been made
435
+ *
436
+ * @public
437
+ * @async
438
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'claims'>} [params]
439
+ * @returns {Promise<bigint>}
440
+ */
441
+ claims(params?: ReadParams<typeof erc20VariableIncentiveAbi, 'claims'>): Promise<bigint>;
442
+ /**
443
+ * A mapping of address to claim status
444
+ *
445
+ * @public
446
+ * @async
447
+ * @param {Address} address
448
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'claimed'>} [params]
449
+ * @returns {Promise<boolean>}
450
+ */
451
+ claimed(address: Address, params?: ReadParams<typeof erc20VariableIncentiveAbi, 'claimed'>): Promise<boolean>;
452
+ /**
453
+ * The address of the ERC20-like token
454
+ *
455
+ * @public
456
+ * @async
457
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'asset'>} [params]
458
+ * @returns {Promise<Address>}
459
+ */
460
+ asset(params?: ReadParams<typeof erc20VariableIncentiveAbi, 'asset'>): Promise<`0x${string}`>;
461
+ /**
462
+ * The reward amount issued for each claim
463
+ *
464
+ * @public
465
+ * @async
466
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'reward'>} [params]
467
+ * @returns {Promise<bigint>}
468
+ */
469
+ reward(params?: ReadParams<typeof erc20VariableIncentiveAbi, 'reward'>): Promise<bigint>;
470
+ /**
471
+ * The limit (max claims, or max entries for raffles)
472
+ *
473
+ * @public
474
+ * @async
475
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'limit'>} [params]
476
+ * @returns {unknown}
477
+ */
478
+ limit(params?: ReadParams<typeof erc20VariableIncentiveAbi, 'limit'>): Promise<bigint>;
479
+ /**
480
+ * Claim the incentive
481
+ *
482
+ * @public
483
+ * @async
484
+ * @param {ClaimPayload} payload
485
+ * @param {?WriteParams<typeof erc20VariableIncentiveAbi, 'claim'>} [params]
486
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
487
+ */
488
+ claim(payload: ClaimPayload, params?: WriteParams<typeof erc20VariableIncentiveAbi, 'claim'>): Promise<boolean>;
489
+ /**
490
+ * Claim the incentive
491
+ *
492
+ * @public
493
+ * @async
494
+ * @param {ClaimPayload} payload
495
+ * @param {?WriteParams<typeof erc20VariableIncentiveAbi, 'claim'>} [params]
496
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
497
+ */
498
+ claimRaw(payload: ClaimPayload, params?: WriteParams<typeof erc20VariableIncentiveAbi, 'claim'>): Promise<{
499
+ hash: `0x${string}`;
500
+ result: boolean;
501
+ }>;
502
+ /**
503
+ * Clawback assets from the incentive
504
+ *
505
+ * @public
506
+ * @async
507
+ * @param {ClaimPayload} payload
508
+ * @param {?WriteParams<typeof erc20VariableIncentiveAbi, 'clawback'>} [params]
509
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
510
+ */
511
+ clawback(payload: ClaimPayload, params?: WriteParams<typeof erc20VariableIncentiveAbi, 'clawback'>): Promise<boolean>;
512
+ /**
513
+ * Clawback assets from the incentive
514
+ *
515
+ * @public
516
+ * @async
517
+ * @param {ClaimPayload} payload
518
+ * @param {?WriteParams<typeof erc20VariableIncentiveAbi, 'clawback'>} [params]
519
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
520
+ */
521
+ clawbackRaw(payload: ClaimPayload, params?: WriteParams<typeof erc20VariableIncentiveAbi, 'clawback'>): Promise<{
522
+ hash: `0x${string}`;
523
+ result: boolean;
524
+ }>;
525
+ /**
526
+ * 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.
527
+ *
528
+ * @public
529
+ * @async
530
+ * @param {ClaimPayload} payload
531
+ * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'isClaimable'>} [params]
532
+ * @returns {unknown} = True if the incentive is claimable based on the data payload
533
+ */
534
+ isClaimable(payload: ClaimPayload, params?: ReadParams<typeof erc20VariableIncentiveAbi, 'isClaimable'>): Promise<boolean>;
535
+ /**
536
+ * @inheritdoc
537
+ *
538
+ * @public
539
+ * @param {?ERC20VariableIncentivePayload} [_payload]
540
+ * @param {?DeployableOptions} [_options]
541
+ * @returns {GenericDeployableParams}
542
+ */
543
+ buildParameters(_payload?: ERC20VariableIncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
544
+ }
545
+ //# sourceMappingURL=ERC20VariableIncentive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC20VariableIncentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/ERC20VariableIncentive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../generated-BaaleHW-.cjs"),y=require("@wagmi/core"),g=require("../errors.cjs"),i=require("./AllowListIncentive.cjs"),o=require("./CGDAIncentive.cjs"),l=require("./ERC20Incentive.cjs"),A=require("../Deployable/DeployableTarget.cjs"),d=require("../utils.cjs"),h=require("./PointsIncentive.cjs"),w="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611c07806100bd5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100aa578063d54ad2a11161006e578063d54ad2a11461039b578063db09da12146103c5578063dcc59b6f14610401578063f04e283e1461042b578063f2fde38b14610447578063fee81cf41461046357610129565b8063715018a6146102c55780638da5cb5b146102cf578063a4d66daf146102f9578063bb1757cf14610323578063c884ef831461035f57610129565b806338d52e0f116100f157806338d52e0f146101f1578063439fab911461021b578063474f5a44146102435780634e7165a21461027f57806354d1f13d146102bb57610129565b806301ffc9a71461012d57806307621eca14610169578063228cb7331461019357806325692962146101bd57806328d6183b146101c7575b5f80fd5b348015610138575f80fd5b50610153600480360381019061014e9190611115565b61049f565b604051610160919061115a565b60405180910390f35b348015610174575f80fd5b5061017d610518565b60405161018a919061118b565b60405180910390f35b34801561019e575f80fd5b506101a7610521565b6040516101b4919061118b565b60405180910390f35b6101c5610527565b005b3480156101d2575f80fd5b506101db610578565b6040516101e891906111b3565b60405180910390f35b3480156101fc575f80fd5b5061020561059f565b604051610212919061120b565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c9190611285565b6105c4565b005b34801561024e575f80fd5b5061026960048036038101906102649190611285565b610780565b604051610276919061115a565b60405180910390f35b34801561028a575f80fd5b506102a560048036038101906102a09190611285565b6108c1565b6040516102b29190611340565b60405180910390f35b6102c3610992565b005b6102cd6109cb565b005b3480156102da575f80fd5b506102e36109de565b6040516102f0919061120b565b60405180910390f35b348015610304575f80fd5b5061030d610a06565b60405161031a919061118b565b60405180910390f35b34801561032e575f80fd5b506103496004803603810190610344919061138a565b610a0c565b604051610356919061115a565b60405180910390f35b34801561036a575f80fd5b50610385600480360381019061038091906113e7565b610c04565b604051610392919061115a565b60405180910390f35b3480156103a6575f80fd5b506103af610c21565b6040516103bc919061118b565b60405180910390f35b3480156103d0575f80fd5b506103eb60048036038101906103e6919061138a565b610c27565b6040516103f8919061115a565b60405180910390f35b34801561040c575f80fd5b50610415610c3a565b604051610422919061118b565b60405180910390f35b610445600480360381019061044091906113e7565b610c3f565b005b610461600480360381019061045c91906113e7565b610c7d565b005b34801561046e575f80fd5b50610489600480360381019061048491906113e7565b610ca6565b604051610496919061118b565b60405180910390f35b5f7f6060409d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610511575061051082610cbf565b5b9050919050565b5f600154905090565b60015481565b5f610530610d38565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f6060409d00000000000000000000000000000000000000000000000000000000905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6105cd610d42565b905080546003825580156105ff5760018160011c14303b106105f65763f92ee8a95f526004601cfd5b818160ff1b1b91505b5061060933610d6b565b5f8383810190610619919061151d565b90505f815f015190505f826020015190505f836040015190505f810361066b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610695308573ffffffffffffffffffffffffffffffffffffffff16610e4190919063ffffffff16565b9050818110156106e357845f015181836040517f5c54305e0000000000000000000000000000000000000000000000000000000081526004016106da93929190611548565b60405180910390fd5b8360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600181905550816004819055505f60058190555061074133610d6b565b5050505050801561077b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f610789610e74565b5f83838101906107999190611696565b90505f81602001518060200190518101906107b491906116f1565b90508060045f8282546107c79190611749565b9250508190555061081d825f01518260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eab9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610891939291906117e1565b6040516020818303038152906040526040516108ad9190611340565b60405180910390a260019250505092915050565b60605f805f85858101906108d59190611858565b9250925092506040518060800160405280600160028111156108fa576108f96118a8565b5b81526020018473ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808481525060405160200161095691906118fe565b6040516020818303038152906040528152506040516020016109789190611a14565b604051602081830303815290604052935050505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6109d3610e74565b6109dc5f610ef4565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f610a15610e74565b5f8383810190610a259190611ab9565b90505f8160200151806020019051810190610a4091906116f1565b90505f610a4c87610fba565b610a82576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60015403610a9357819050610ab7565b670de0b6b3a764000082600154610aaa9190611b00565b610ab49190611b6e565b90505b60045481600554610ac89190611b9e565b1115610b00576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f828254610b119190611b9e565b92505081905550610b64878260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eab9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168984604051602001610bd2939291906117e1565b604051602081830303815290604052604051610bee9190611340565b60405180910390a2600193505050509392505050565b6002602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f610c3184610fba565b90509392505050565b5f5481565b610c47610e74565b63389a75e1600c52805f526020600c208054421115610c6d57636f5e88185f526004601cfd5b5f815550610c7a81610ef4565b50565b610c85610e74565b8060601b610c9a57637448fbae5f526004601cfd5b610ca381610ef4565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5970a689000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d315750610d3082610fc9565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610d73611042565b15610deb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610dad57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610e3e565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610ea9576382b429005f526004601cfd5b565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716610eeb576390b8ec185f526004601cfd5b5f603452505050565b610efc611042565b15610f61577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fb7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103b575061103a82611046565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6110f4816110c0565b81146110fe575f80fd5b50565b5f8135905061110f816110eb565b92915050565b5f6020828403121561112a576111296110b8565b5b5f61113784828501611101565b91505092915050565b5f8115159050919050565b61115481611140565b82525050565b5f60208201905061116d5f83018461114b565b92915050565b5f819050919050565b61118581611173565b82525050565b5f60208201905061119e5f83018461117c565b92915050565b6111ad816110c0565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111f5826111cc565b9050919050565b611205816111eb565b82525050565b5f60208201905061121e5f8301846111fc565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261124557611244611224565b5b8235905067ffffffffffffffff81111561126257611261611228565b5b60208301915083600182028301111561127e5761127d61122c565b5b9250929050565b5f806020838503121561129b5761129a6110b8565b5b5f83013567ffffffffffffffff8111156112b8576112b76110bc565b5b6112c485828601611230565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611312826112d0565b61131c81856112da565b935061132c8185602086016112ea565b611335816112f8565b840191505092915050565b5f6020820190508181035f8301526113588184611308565b905092915050565b611369816111eb565b8114611373575f80fd5b50565b5f8135905061138481611360565b92915050565b5f805f604084860312156113a1576113a06110b8565b5b5f6113ae86828701611376565b935050602084013567ffffffffffffffff8111156113cf576113ce6110bc565b5b6113db86828701611230565b92509250509250925092565b5f602082840312156113fc576113fb6110b8565b5b5f61140984828501611376565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61144c826112f8565b810181811067ffffffffffffffff8211171561146b5761146a611416565b5b80604052505050565b5f61147d6110af565b90506114898282611443565b919050565b5f80fd5b61149b81611173565b81146114a5575f80fd5b50565b5f813590506114b681611492565b92915050565b5f606082840312156114d1576114d0611412565b5b6114db6060611474565b90505f6114ea84828501611376565b5f8301525060206114fd848285016114a8565b6020830152506040611511848285016114a8565b60408301525092915050565b5f60608284031215611532576115316110b8565b5b5f61153f848285016114bc565b91505092915050565b5f60608201905061155b5f8301866111fc565b611568602083018561117c565b611575604083018461117c565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561159b5761159a611416565b5b6115a4826112f8565b9050602081019050919050565b828183375f83830152505050565b5f6115d16115cc84611581565b611474565b9050828152602081018484840111156115ed576115ec61157d565b5b6115f88482856115b1565b509392505050565b5f82601f83011261161457611613611224565b5b81356116248482602086016115bf565b91505092915050565b5f6040828403121561164257611641611412565b5b61164c6040611474565b90505f61165b84828501611376565b5f83015250602082013567ffffffffffffffff81111561167e5761167d61148e565b5b61168a84828501611600565b60208301525092915050565b5f602082840312156116ab576116aa6110b8565b5b5f82013567ffffffffffffffff8111156116c8576116c76110bc565b5b6116d48482850161162d565b91505092915050565b5f815190506116eb81611492565b92915050565b5f60208284031215611706576117056110b8565b5b5f611713848285016116dd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61175382611173565b915061175e83611173565b92508282039050818111156117765761177561171c565b5b92915050565b5f8160601b9050919050565b5f6117928261177c565b9050919050565b5f6117a382611788565b9050919050565b6117bb6117b6826111eb565b611799565b82525050565b5f819050919050565b6117db6117d682611173565b6117c1565b82525050565b5f6117ec82866117aa565b6014820191506117fc82856117aa565b60148201915061180c82846117ca565b602082019150819050949350505050565b5f611827826111cc565b9050919050565b6118378161181d565b8114611841575f80fd5b50565b5f813590506118528161182e565b92915050565b5f805f6060848603121561186f5761186e6110b8565b5b5f61187c86828701611844565b935050602061188d868287016114a8565b925050604061189e868287016114a8565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6118de81611173565b82525050565b602082015f8201516118f85f8501826118d5565b50505050565b5f6020820190506119115f8301846118e4565b92915050565b60038110611928576119276118a8565b5b50565b5f81905061193882611917565b919050565b5f6119478261192b565b9050919050565b6119578161193d565b82525050565b611966816111eb565b82525050565b5f82825260208201905092915050565b5f611986826112d0565b611990818561196c565b93506119a08185602086016112ea565b6119a9816112f8565b840191505092915050565b5f608083015f8301516119c95f86018261194e565b5060208301516119dc602086018261195d565b5060408301516119ef604086018261195d565b5060608301518482036060860152611a07828261197c565b9150508091505092915050565b5f6020820190508181035f830152611a2c81846119b4565b905092915050565b5f60408284031215611a4957611a48611412565b5b611a536040611474565b90505f82013567ffffffffffffffff811115611a7257611a7161148e565b5b611a7e84828501611600565b5f83015250602082013567ffffffffffffffff811115611aa157611aa061148e565b5b611aad84828501611600565b60208301525092915050565b5f60208284031215611ace57611acd6110b8565b5b5f82013567ffffffffffffffff811115611aeb57611aea6110bc565b5b611af784828501611a34565b91505092915050565b5f611b0a82611173565b9150611b1583611173565b9250828202611b2381611173565b91508282048414831517611b3a57611b3961171c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b7882611173565b9150611b8383611173565b925082611b9357611b92611b41565b5b828204905092915050565b5f611ba882611173565b9150611bb383611173565b9250828201905080821115611bcb57611bca61171c565b5b9291505056fea2646970667358221220a9439a260a68f54e27503ba4a35d38eead0eee9484d16611fb206387bc2ede8564736f6c634300081a0033",t=class t extends A.DeployableTarget{constructor(){super(...arguments),this.abi=e.w}async owner(f){return e.sb(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return e.lb(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return e.tb(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return e.eb(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return e.Ym(this._config,{address:this.assertValidAddress(),args:[f],...b})}async asset(f){return e.Xm(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return e.pb(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return e.ib(this._config,{address:this.assertValidAddress(),...f})}async claim(f,b){return this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:a,result:c}=await e.Nb(this._config,{address:this.assertValidAddress(),args:[d.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.cb(this._config,a),result:c}}async clawback(f,b){return this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:a,result:c}=await e.hb(this._config,{address:this.assertValidAddress(),args:[d.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.mb(this._config,a),result:c}}async isClaimable(f,b){return e.ab(this._config,{address:this.assertValidAddress(),args:[d.prepareClaimPayload(f)],...b})}buildParameters(f,b){const[a,c]=this.validateDeploymentConfig(f,b);return{abi:e.w,bytecode:w,args:[d.prepareERC20VariableIncentivePayload(a)],...this.optionallyAttachAccount(c.account)}}};t.base="0xA7b6c33828693d431C64e59A27d985c4DfB19B95",t.registryType=d.RegistryType.INCENTIVE;let s=t;const r={"0xc5b24b8e":h.PointsIncentive,"0x8c901437":l.ERC20Incentive,"0x0a466e6f":i.AllowListIncentive,"0xa39e44d9":o.CGDAIncentive,"0x6060409d":s};async function m(n,f){const b=await y.readContract(n.config,{abi:e.G,functionName:"getComponentInterface",address:f}),a=r[b];if(!a)throw new g.InvalidComponentInterfaceError(Object.keys(r),b);return new a(n,f)}exports.AllowListIncentive=i.AllowListIncentive;exports.CGDAIncentive=o.CGDAIncentive;exports.ERC20Incentive=l.ERC20Incentive;exports.PointsIncentive=h.PointsIncentive;exports.ERC20VariableIncentive=s;exports.IncentiveByComponentInterface=r;exports.incentiveFromAddress=m;
@@ -0,0 +1,39 @@
1
+ import type { Address } from 'viem';
2
+ import type { DeployableOptions } from '../Deployable/Deployable';
3
+ import { AllowListIncentive } from './AllowListIncentive';
4
+ import { CGDAIncentive } from './CGDAIncentive';
5
+ import { ERC20Incentive } from './ERC20Incentive';
6
+ import { ERC20VariableIncentive } from './ERC20VariableIncentive';
7
+ import { PointsIncentive } from './PointsIncentive';
8
+ export { AllowListIncentive, CGDAIncentive, ERC20Incentive, PointsIncentive, ERC20VariableIncentive, };
9
+ /**
10
+ * A union type representing all valid protocol Incentive implementations
11
+ *
12
+ * @export
13
+ * @typedef {Incentive}
14
+ */
15
+ export type Incentive = AllowListIncentive | CGDAIncentive | ERC20Incentive | PointsIncentive | ERC20VariableIncentive;
16
+ /**
17
+ * A map of Incentive component interfaces to their constructors.
18
+ *
19
+ * @type {{ "0xc5b24b8e": typeof PointsIncentive; "0x8c901437": typeof ERC20Incentive; "0x0a466e6f": typeof AllowListIncentive; "0xa39e44d9": typeof CGDAIncentive; "0x6060409d": typeof ERC20VariableIncentive }}
20
+ */
21
+ export declare const IncentiveByComponentInterface: {
22
+ "0xc5b24b8e": typeof PointsIncentive;
23
+ "0x8c901437": typeof ERC20Incentive;
24
+ "0x0a466e6f": typeof AllowListIncentive;
25
+ "0xa39e44d9": typeof CGDAIncentive;
26
+ "0x6060409d": typeof ERC20VariableIncentive;
27
+ };
28
+ /**
29
+ * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.
30
+ *
31
+ * @export
32
+ * @async
33
+ * @param {DeployableOptions} options
34
+ * @param {Address} address
35
+ * @returns {unknown}
36
+ * @throws {@link InvalidComponentInterfaceError}
37
+ */
38
+ export declare function incentiveFromAddress(options: DeployableOptions, address: Address): Promise<AllowListIncentive | CGDAIncentive | ERC20Incentive | ERC20VariableIncentive | PointsIncentive>;
39
+ //# sourceMappingURL=Incentive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/Incentive.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GAEd,eAAe,GACf,sBAAsB,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;CAOzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,2GAejB"}