@boostxyz/sdk 8.0.0-canary.3 → 8.0.0-canary.4

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 (161) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +2 -2
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.js +45 -45
  5. package/dist/{AllowList-DQf-8HQC.js → AllowList-CTRuUBCQ.js} +41 -41
  6. package/dist/{AllowList-DQf-8HQC.js.map → AllowList-CTRuUBCQ.js.map} +1 -1
  7. package/dist/{AllowList-DaX239DR.cjs → AllowList-GEmUfOR1.cjs} +2 -2
  8. package/dist/{AllowList-DaX239DR.cjs.map → AllowList-GEmUfOR1.cjs.map} +1 -1
  9. package/dist/AllowLists/AllowList.cjs +1 -1
  10. package/dist/AllowLists/AllowList.js +4 -4
  11. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  12. package/dist/AllowLists/SimpleAllowList.js +7 -7
  13. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  14. package/dist/AllowLists/SimpleDenyList.js +3 -3
  15. package/dist/Auth/PassthroughAuth.cjs +1 -1
  16. package/dist/Auth/PassthroughAuth.js +2 -2
  17. package/dist/BoostCore.cjs +2 -2
  18. package/dist/BoostCore.cjs.map +1 -1
  19. package/dist/BoostCore.d.ts +137 -2
  20. package/dist/BoostCore.d.ts.map +1 -1
  21. package/dist/BoostCore.js +336 -206
  22. package/dist/BoostCore.js.map +1 -1
  23. package/dist/BoostRegistry.cjs +1 -1
  24. package/dist/BoostRegistry.js +21 -21
  25. package/dist/{Budget-LnAQ_Slw.js → Budget-BH0s7Bxu.js} +52 -52
  26. package/dist/{Budget-LnAQ_Slw.js.map → Budget-BH0s7Bxu.js.map} +1 -1
  27. package/dist/{Budget-WIB8IJoM.cjs → Budget-CwNhsa3m.cjs} +2 -2
  28. package/dist/{Budget-WIB8IJoM.cjs.map → Budget-CwNhsa3m.cjs.map} +1 -1
  29. package/dist/Budgets/Budget.cjs +1 -1
  30. package/dist/Budgets/Budget.js +3 -3
  31. package/dist/Budgets/ManagedBudget.cjs +1 -1
  32. package/dist/Budgets/ManagedBudget.js +26 -26
  33. package/dist/Deployable/DeployableTarget.cjs +1 -1
  34. package/dist/Deployable/DeployableTarget.js +1 -1
  35. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  36. package/dist/Deployable/DeployableTargetWithRBAC.js +17 -17
  37. package/dist/{Incentive-gT7z-4v3.cjs → Incentive-B2ZBE5LU.cjs} +2 -2
  38. package/dist/{Incentive-gT7z-4v3.cjs.map → Incentive-B2ZBE5LU.cjs.map} +1 -1
  39. package/dist/{Incentive-D_IBex5V.js → Incentive-BCSV7OtF.js} +41 -41
  40. package/dist/{Incentive-D_IBex5V.js.map → Incentive-BCSV7OtF.js.map} +1 -1
  41. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  42. package/dist/Incentives/AllowListIncentive.js +17 -17
  43. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  44. package/dist/Incentives/CGDAIncentive.js +14 -14
  45. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  46. package/dist/Incentives/ERC20Incentive.js +13 -13
  47. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
  48. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +71 -71
  49. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  50. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +35 -35
  51. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  52. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +9 -9
  53. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  54. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +12 -12
  55. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  56. package/dist/Incentives/ERC20VariableIncentive.js +8 -8
  57. package/dist/Incentives/Incentive.cjs +1 -1
  58. package/dist/Incentives/Incentive.js +3 -3
  59. package/dist/Incentives/PointsIncentive.cjs +1 -1
  60. package/dist/Incentives/PointsIncentive.js +28 -28
  61. package/dist/{SimpleDenyList-D5AoBdVi.cjs → SimpleDenyList-6_sxnZB0.cjs} +2 -2
  62. package/dist/{SimpleDenyList-D5AoBdVi.cjs.map → SimpleDenyList-6_sxnZB0.cjs.map} +1 -1
  63. package/dist/{SimpleDenyList-CtdXM49y.js → SimpleDenyList-CrjjFnn5.js} +17 -17
  64. package/dist/{SimpleDenyList-CtdXM49y.js.map → SimpleDenyList-CrjjFnn5.js.map} +1 -1
  65. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  66. package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
  67. package/dist/Validators/LimitedSignerValidator.d.ts +9 -9
  68. package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -1
  69. package/dist/Validators/LimitedSignerValidator.js +19 -19
  70. package/dist/Validators/LimitedSignerValidator.js.map +1 -1
  71. package/dist/Validators/LimitedSignerValidatorV2.cjs +2 -0
  72. package/dist/Validators/LimitedSignerValidatorV2.cjs.map +1 -0
  73. package/dist/Validators/LimitedSignerValidatorV2.d.ts +842 -0
  74. package/dist/Validators/LimitedSignerValidatorV2.d.ts.map +1 -0
  75. package/dist/Validators/LimitedSignerValidatorV2.js +301 -0
  76. package/dist/Validators/LimitedSignerValidatorV2.js.map +1 -0
  77. package/dist/Validators/PayableLimitedSignerValidator.cjs +2 -0
  78. package/dist/Validators/PayableLimitedSignerValidator.cjs.map +1 -0
  79. package/dist/Validators/PayableLimitedSignerValidator.d.ts.map +1 -1
  80. package/dist/{Validator-BEUqV28V.js → Validators/PayableLimitedSignerValidator.js} +56 -102
  81. package/dist/Validators/PayableLimitedSignerValidator.js.map +1 -0
  82. package/dist/Validators/PayableLimitedSignerValidatorV2.cjs +2 -0
  83. package/dist/Validators/PayableLimitedSignerValidatorV2.cjs.map +1 -0
  84. package/dist/Validators/PayableLimitedSignerValidatorV2.d.ts +855 -0
  85. package/dist/Validators/PayableLimitedSignerValidatorV2.d.ts.map +1 -0
  86. package/dist/Validators/PayableLimitedSignerValidatorV2.js +372 -0
  87. package/dist/Validators/PayableLimitedSignerValidatorV2.js.map +1 -0
  88. package/dist/Validators/SignerValidator.cjs +1 -1
  89. package/dist/Validators/SignerValidator.cjs.map +1 -1
  90. package/dist/Validators/SignerValidator.d.ts +4 -2
  91. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  92. package/dist/Validators/SignerValidator.js +12 -12
  93. package/dist/Validators/SignerValidator.js.map +1 -1
  94. package/dist/Validators/SignerValidatorV2.cjs +2 -0
  95. package/dist/Validators/SignerValidatorV2.cjs.map +1 -0
  96. package/dist/Validators/SignerValidatorV2.d.ts +728 -0
  97. package/dist/Validators/SignerValidatorV2.d.ts.map +1 -0
  98. package/dist/Validators/SignerValidatorV2.js +299 -0
  99. package/dist/Validators/SignerValidatorV2.js.map +1 -0
  100. package/dist/Validators/Validator.cjs +1 -1
  101. package/dist/Validators/Validator.cjs.map +1 -1
  102. package/dist/Validators/Validator.d.ts +19 -4
  103. package/dist/Validators/Validator.d.ts.map +1 -1
  104. package/dist/Validators/Validator.js +79 -14
  105. package/dist/Validators/Validator.js.map +1 -1
  106. package/dist/componentInterfaces-43ygGrVO.js +28 -0
  107. package/dist/componentInterfaces-43ygGrVO.js.map +1 -0
  108. package/dist/componentInterfaces-JU4NBkEc.cjs +2 -0
  109. package/dist/componentInterfaces-JU4NBkEc.cjs.map +1 -0
  110. package/dist/{deployments-Dw5Suk_D.js → deployments-COm00j8v.js} +48 -39
  111. package/dist/{deployments-Dw5Suk_D.js.map → deployments-COm00j8v.js.map} +1 -1
  112. package/dist/deployments-uLDgrxCp.cjs +2 -0
  113. package/dist/deployments-uLDgrxCp.cjs.map +1 -0
  114. package/dist/deployments.json +30 -21
  115. package/dist/generated-CkZm1EVH.cjs +3 -0
  116. package/dist/generated-CkZm1EVH.cjs.map +1 -0
  117. package/dist/{generated-krkFnwbV.js → generated-DRbljODL.js} +2314 -1284
  118. package/dist/generated-DRbljODL.js.map +1 -0
  119. package/dist/index.cjs +1 -1
  120. package/dist/index.d.ts +3 -0
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +185 -165
  123. package/dist/index.js.map +1 -1
  124. package/package.json +25 -1
  125. package/src/BoostCore.test.ts +77 -11
  126. package/src/BoostCore.ts +165 -4
  127. package/src/Budgets/ManagedBudgetWithFees.test.ts +14 -14
  128. package/src/Budgets/ManagedBudgetWithFeesV2.test.ts +3 -3
  129. package/src/Incentives/AllowListIncentive.test.ts +5 -5
  130. package/src/Incentives/CGDAIncentive.test.ts +6 -6
  131. package/src/Incentives/ERC1155Incentive.test.ts +2 -2
  132. package/src/Incentives/ERC20Incentive.test.ts +6 -6
  133. package/src/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.test.ts +5 -5
  134. package/src/Incentives/ERC20VariableCriteriaIncentiveV2.test.ts +5 -5
  135. package/src/Incentives/ERC20VariableIncentive.test.ts +7 -8
  136. package/src/Incentives/PointsIncentive.test.ts +5 -5
  137. package/src/Validators/LimitedSignerValidator.test.ts +1 -1
  138. package/src/Validators/LimitedSignerValidator.ts +9 -10
  139. package/src/Validators/LimitedSignerValidatorV2.test.ts +231 -0
  140. package/src/Validators/LimitedSignerValidatorV2.ts +707 -0
  141. package/src/Validators/PayableLimitedSignerValidator.test.ts +1 -1
  142. package/src/Validators/PayableLimitedSignerValidator.ts +0 -1
  143. package/src/Validators/PayableLimitedSignerValidatorV2.test.ts +202 -0
  144. package/src/Validators/PayableLimitedSignerValidatorV2.ts +688 -0
  145. package/src/Validators/SignerValidator.ts +4 -2
  146. package/src/Validators/SignerValidatorV2.test.ts +163 -0
  147. package/src/Validators/SignerValidatorV2.ts +635 -0
  148. package/src/Validators/Validator.ts +45 -2
  149. package/src/index.ts +3 -0
  150. package/dist/Validator-BEUqV28V.js.map +0 -1
  151. package/dist/Validator-FxcxYKhR.cjs +0 -2
  152. package/dist/Validator-FxcxYKhR.cjs.map +0 -1
  153. package/dist/componentInterfaces-BZ3fSNkT.cjs +0 -2
  154. package/dist/componentInterfaces-BZ3fSNkT.cjs.map +0 -1
  155. package/dist/componentInterfaces-D2s6AXlV.js +0 -25
  156. package/dist/componentInterfaces-D2s6AXlV.js.map +0 -1
  157. package/dist/deployments-DimWVnA4.cjs +0 -2
  158. package/dist/deployments-DimWVnA4.cjs.map +0 -1
  159. package/dist/generated-Cf82M-QP.cjs +0 -3
  160. package/dist/generated-Cf82M-QP.cjs.map +0 -1
  161. package/dist/generated-krkFnwbV.js.map +0 -1
@@ -0,0 +1,842 @@
1
+ import { limitedSignerValidatorV2Abi } from '@boostxyz/evm';
2
+ import { type Address, type ContractEventName, type Hex, type PrivateKeyAccount } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTarget } from '../Deployable/DeployableTarget';
5
+ import { type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
6
+ export { limitedSignerValidatorV2Abi };
7
+ /**
8
+ * Object reprentation of a {@link LimitedSignerValidatorV2} initialization payload
9
+ *
10
+ * @export
11
+ * @interface LimitedSignerValidatorV2Payload
12
+ * @typedef {LimitedSignerValidatorV2Payload}
13
+ */
14
+ export interface LimitedSignerValidatorV2Payload {
15
+ /**
16
+ * The list of authorized signers. The first address in the list will be the initial owner of the contract.
17
+ *
18
+ * @type {Address[]}
19
+ */
20
+ signers: Address[];
21
+ /**
22
+ * The authorized caller of the {@link prepareSignerValidator} function
23
+ * @type {Address}
24
+ */
25
+ validatorCaller: Address;
26
+ /**
27
+ * The max quantity of claims a user can make for a given incentive,
28
+ * regardless of how many valid transactions they have
29
+ * @type {number}
30
+ */
31
+ maxClaimCount: number;
32
+ }
33
+ /**
34
+ * Description placeholder
35
+ *
36
+ * @export
37
+ * @interface LimitedSignerValidatorV2ValidatePayload
38
+ * @typedef {LimitedSignerValidatorV2ValidatePayload}
39
+ */
40
+ export interface LimitedSignerValidatorV2ValidatePayload {
41
+ /**
42
+ * The ID of the boost.
43
+ *
44
+ * @type {bigint}
45
+ */
46
+ boostId: bigint;
47
+ /**
48
+ * The ID of the incentive.
49
+ *
50
+ * @type {bigint}
51
+ */
52
+ incentiveId: bigint;
53
+ /**
54
+ * The address of the claimant.
55
+ *
56
+ * @type {Address}
57
+ */
58
+ claimant: Address;
59
+ /**
60
+ * The claim data.
61
+ *
62
+ * @type {Hex}
63
+ */
64
+ claimData: Hex;
65
+ }
66
+ /**
67
+ * Object reprentation of a {@link LimitedSignerValidatorV2} initialization payload
68
+ *
69
+ * @export
70
+ * @interface LimitedSignerValidatorV2Payload
71
+ * @typedef {LimitedSignerValidatorV2Payload}
72
+ */
73
+ export interface LimitedSignerValidatorV2Payload {
74
+ /**
75
+ * The list of authorized signers. The first address in the list will be the initial owner of the contract.
76
+ *
77
+ * @type {Address[]}
78
+ */
79
+ signers: Address[];
80
+ /**
81
+ * The authorized caller of the {@link prepareSignerValidator} function
82
+ * @type {Address}
83
+ */
84
+ validatorCaller: Address;
85
+ }
86
+ /**
87
+ * Description placeholder
88
+ *
89
+ * @export
90
+ * @interface LimitedSignerValidatorV2ValidatePayload
91
+ * @typedef {LimitedSignerValidatorV2ValidatePayload}
92
+ */
93
+ export interface LimitedSignerValidatorV2ValidatePayload {
94
+ /**
95
+ * The ID of the boost.
96
+ *
97
+ * @type {bigint}
98
+ */
99
+ boostId: bigint;
100
+ /**
101
+ * The ID of the incentive.
102
+ *
103
+ * @type {bigint}
104
+ */
105
+ incentiveId: bigint;
106
+ /**
107
+ * The address of the claimant.
108
+ *
109
+ * @type {Address}
110
+ */
111
+ claimant: Address;
112
+ /**
113
+ * The claim data.
114
+ *
115
+ * @type {Hex}
116
+ */
117
+ claimData: Hex;
118
+ }
119
+ /**
120
+ * Signer Validator Claim Data Payload
121
+ *
122
+ * @export
123
+ * @interface LimitedSignerValidatorV2ClaimDataParams
124
+ * @typedef {LimitedSignerValidatorV2ClaimDataParams}
125
+ */
126
+ export interface LimitedSignerValidatorV2ClaimDataParams {
127
+ /**
128
+ * The signer with which to sign the input
129
+ *
130
+ * @type {{
131
+ * account: Address;
132
+ * key: Hex;
133
+ * privateKey: PrivateKeyAccount;
134
+ * }}
135
+ */
136
+ signer: {
137
+ account: Address;
138
+ key: Hex;
139
+ privateKey: PrivateKeyAccount;
140
+ };
141
+ /**
142
+ * The encoded data to provide the underlying incentive. You can use {@link prepareAllowListIncentivePayload}, {@link prepareCGDAIncentivePayload}, {@link prepareERC20IncentivePayload}, {@link prepareERC1155IncentivePayload}, or {@link preparePointsIncentivePayload}
143
+ *
144
+ * @type {Hex}
145
+ */
146
+ incentiveData: Hex;
147
+ /**
148
+ * The chain id to target
149
+ *
150
+ * @type {number}
151
+ */
152
+ chainId: number;
153
+ /**
154
+ * The address of the validator
155
+ *
156
+ * @type {Address}
157
+ */
158
+ validator: Address;
159
+ /**
160
+ * The incentive quantity.
161
+ *
162
+ * @type {number}
163
+ */
164
+ incentiveQuantity: number;
165
+ /**
166
+ * The address of the claimant
167
+ *
168
+ * @type {Address}
169
+ */
170
+ claimant: Address;
171
+ /**
172
+ * The ID of the boost
173
+ *
174
+ * @type {bigint}
175
+ */
176
+ boostId: bigint;
177
+ /**
178
+ * The address of the referrer
179
+ *
180
+ * @type {?Address}
181
+ */
182
+ referrer?: Address;
183
+ }
184
+ /**
185
+ * Object representation of a {@link LimitedSignerValidatorV2InputParams} initialization payload
186
+ *
187
+ * @export
188
+ * @interface LimitedSignerValidatorV2InputParams
189
+ * @typedef {LimitedSignerValidatorV2InputParams}
190
+ */
191
+ export interface LimitedSignerValidatorV2InputParams {
192
+ /**
193
+ * The signer address.
194
+ *
195
+ * @type {Address}
196
+ */
197
+ signer: Address;
198
+ /**
199
+ * The signature data.
200
+ *
201
+ * @type {Hex}
202
+ */
203
+ signature: Hex;
204
+ /**
205
+ * The incentive quantity.
206
+ *
207
+ * @type {number}
208
+ */
209
+ incentiveQuantity: number;
210
+ }
211
+ /**
212
+ * Object representing the payload for signing before validaton.
213
+ *
214
+ * @export
215
+ * @interface LimitedSignerValidatorV2SignaturePayload
216
+ * @typedef {LimitedSignerValidatorV2SignaturePayload}
217
+ */
218
+ export interface LimitedSignerValidatorV2SignaturePayload {
219
+ /**
220
+ * The ID of the boost.
221
+ *
222
+ * @type {bigint}
223
+ */
224
+ boostId: bigint;
225
+ /**
226
+ * The ID of the incentive.
227
+ *
228
+ * @type {number}
229
+ */
230
+ incentiveQuantity: number;
231
+ /**
232
+ * The address of the claimant.
233
+ *
234
+ * @type {Address}
235
+ */
236
+ claimant: Address;
237
+ /**
238
+ * The claim data.
239
+ *
240
+ * @type {Hex}
241
+ */
242
+ incentiveData: Hex;
243
+ /**
244
+ * The address of the referrer (defaults to claimant if omitted)
245
+ *
246
+ * @type {?Address}
247
+ */
248
+ referrer?: Address;
249
+ }
250
+ /**
251
+ * A generic `viem.Log` event with support for `BoostCore` event types.
252
+ *
253
+ * @export
254
+ * @typedef {LimitedSignerValidatorV2Log}
255
+ * @template {ContractEventName<
256
+ * typeof limitedSignerValidatorV2Abi
257
+ * >} [event=ContractEventName<typeof limitedSignerValidatorV2Abi>]
258
+ */
259
+ export type LimitedSignerValidatorV2Log<event extends ContractEventName<typeof limitedSignerValidatorV2Abi> = ContractEventName<typeof limitedSignerValidatorV2Abi>> = GenericLog<typeof limitedSignerValidatorV2Abi, event>;
260
+ /**
261
+ * A simple implementation of a Validator that verifies a given signature and checks the recovered address against a set of authorized signers
262
+ *
263
+ * @export
264
+ * @class LimitedSignerValidatorV2
265
+ * @typedef {LimitedSignerValidatorV2}
266
+ * @extends {DeployableTarget<LimitedSignerValidatorV2Payload>}
267
+ */
268
+ export declare class LimitedSignerValidatorV2 extends DeployableTarget<LimitedSignerValidatorV2Payload, typeof limitedSignerValidatorV2Abi> {
269
+ /**
270
+ * @inheritdoc
271
+ *
272
+ * @public
273
+ * @readonly
274
+ * @type {*}
275
+ */
276
+ readonly abi: readonly [{
277
+ readonly type: "error";
278
+ readonly inputs: readonly [];
279
+ readonly name: "AlreadyInitialized";
280
+ }, {
281
+ readonly type: "error";
282
+ readonly inputs: readonly [];
283
+ readonly name: "CloneAlreadyInitialized";
284
+ }, {
285
+ readonly type: "error";
286
+ readonly inputs: readonly [];
287
+ readonly name: "InitializerNotImplemented";
288
+ }, {
289
+ readonly type: "error";
290
+ readonly inputs: readonly [{
291
+ readonly name: "available";
292
+ readonly internalType: "uint8";
293
+ readonly type: "uint8";
294
+ }, {
295
+ readonly name: "id";
296
+ readonly internalType: "uint256";
297
+ readonly type: "uint256";
298
+ }];
299
+ readonly name: "InvalidIncentive";
300
+ }, {
301
+ readonly type: "error";
302
+ readonly inputs: readonly [];
303
+ readonly name: "InvalidInitialization";
304
+ }, {
305
+ readonly type: "error";
306
+ readonly inputs: readonly [];
307
+ readonly name: "InvalidInitializationData";
308
+ }, {
309
+ readonly type: "error";
310
+ readonly inputs: readonly [];
311
+ readonly name: "LengthMismatch";
312
+ }, {
313
+ readonly type: "error";
314
+ readonly inputs: readonly [{
315
+ readonly name: "claimant";
316
+ readonly internalType: "address";
317
+ readonly type: "address";
318
+ }];
319
+ readonly name: "MaximumClaimed";
320
+ }, {
321
+ readonly type: "error";
322
+ readonly inputs: readonly [];
323
+ readonly name: "NewOwnerIsZeroAddress";
324
+ }, {
325
+ readonly type: "error";
326
+ readonly inputs: readonly [];
327
+ readonly name: "NoHandoverRequest";
328
+ }, {
329
+ readonly type: "error";
330
+ readonly inputs: readonly [];
331
+ readonly name: "NotInitializing";
332
+ }, {
333
+ readonly type: "error";
334
+ readonly inputs: readonly [];
335
+ readonly name: "Unauthorized";
336
+ }, {
337
+ readonly type: "error";
338
+ readonly inputs: readonly [];
339
+ readonly name: "Unauthorized";
340
+ }, {
341
+ readonly type: "event";
342
+ readonly anonymous: false;
343
+ readonly inputs: readonly [{
344
+ readonly name: "version";
345
+ readonly internalType: "uint64";
346
+ readonly type: "uint64";
347
+ readonly indexed: false;
348
+ }];
349
+ readonly name: "Initialized";
350
+ }, {
351
+ readonly type: "event";
352
+ readonly anonymous: false;
353
+ readonly inputs: readonly [{
354
+ readonly name: "pendingOwner";
355
+ readonly internalType: "address";
356
+ readonly type: "address";
357
+ readonly indexed: true;
358
+ }];
359
+ readonly name: "OwnershipHandoverCanceled";
360
+ }, {
361
+ readonly type: "event";
362
+ readonly anonymous: false;
363
+ readonly inputs: readonly [{
364
+ readonly name: "pendingOwner";
365
+ readonly internalType: "address";
366
+ readonly type: "address";
367
+ readonly indexed: true;
368
+ }];
369
+ readonly name: "OwnershipHandoverRequested";
370
+ }, {
371
+ readonly type: "event";
372
+ readonly anonymous: false;
373
+ readonly inputs: readonly [{
374
+ readonly name: "oldOwner";
375
+ readonly internalType: "address";
376
+ readonly type: "address";
377
+ readonly indexed: true;
378
+ }, {
379
+ readonly name: "newOwner";
380
+ readonly internalType: "address";
381
+ readonly type: "address";
382
+ readonly indexed: true;
383
+ }];
384
+ readonly name: "OwnershipTransferred";
385
+ }, {
386
+ readonly type: "event";
387
+ readonly anonymous: false;
388
+ readonly inputs: readonly [{
389
+ readonly name: "validatorCaller";
390
+ readonly internalType: "address";
391
+ readonly type: "address";
392
+ readonly indexed: false;
393
+ }];
394
+ readonly name: "SignerValidatorV2Initialized";
395
+ }, {
396
+ readonly type: "function";
397
+ readonly inputs: readonly [];
398
+ readonly name: "cancelOwnershipHandover";
399
+ readonly outputs: readonly [];
400
+ readonly stateMutability: "payable";
401
+ }, {
402
+ readonly type: "function";
403
+ readonly inputs: readonly [{
404
+ readonly name: "pendingOwner";
405
+ readonly internalType: "address";
406
+ readonly type: "address";
407
+ }];
408
+ readonly name: "completeOwnershipHandover";
409
+ readonly outputs: readonly [];
410
+ readonly stateMutability: "payable";
411
+ }, {
412
+ readonly type: "function";
413
+ readonly inputs: readonly [];
414
+ readonly name: "eip712Domain";
415
+ readonly outputs: readonly [{
416
+ readonly name: "fields";
417
+ readonly internalType: "bytes1";
418
+ readonly type: "bytes1";
419
+ }, {
420
+ readonly name: "name";
421
+ readonly internalType: "string";
422
+ readonly type: "string";
423
+ }, {
424
+ readonly name: "version";
425
+ readonly internalType: "string";
426
+ readonly type: "string";
427
+ }, {
428
+ readonly name: "chainId";
429
+ readonly internalType: "uint256";
430
+ readonly type: "uint256";
431
+ }, {
432
+ readonly name: "verifyingContract";
433
+ readonly internalType: "address";
434
+ readonly type: "address";
435
+ }, {
436
+ readonly name: "salt";
437
+ readonly internalType: "bytes32";
438
+ readonly type: "bytes32";
439
+ }, {
440
+ readonly name: "extensions";
441
+ readonly internalType: "uint256[]";
442
+ readonly type: "uint256[]";
443
+ }];
444
+ readonly stateMutability: "view";
445
+ }, {
446
+ readonly type: "function";
447
+ readonly inputs: readonly [];
448
+ readonly name: "getComponentInterface";
449
+ readonly outputs: readonly [{
450
+ readonly name: "";
451
+ readonly internalType: "bytes4";
452
+ readonly type: "bytes4";
453
+ }];
454
+ readonly stateMutability: "pure";
455
+ }, {
456
+ readonly type: "function";
457
+ readonly inputs: readonly [{
458
+ readonly name: "boostId";
459
+ readonly internalType: "uint256";
460
+ readonly type: "uint256";
461
+ }, {
462
+ readonly name: "incentiveId";
463
+ readonly internalType: "uint256";
464
+ readonly type: "uint256";
465
+ }, {
466
+ readonly name: "claimant";
467
+ readonly internalType: "address";
468
+ readonly type: "address";
469
+ }];
470
+ readonly name: "hashClaimantData";
471
+ readonly outputs: readonly [{
472
+ readonly name: "hash";
473
+ readonly internalType: "bytes32";
474
+ readonly type: "bytes32";
475
+ }];
476
+ readonly stateMutability: "pure";
477
+ }, {
478
+ readonly type: "function";
479
+ readonly inputs: readonly [{
480
+ readonly name: "boostId";
481
+ readonly internalType: "uint256";
482
+ readonly type: "uint256";
483
+ }, {
484
+ readonly name: "incentiveQuantity";
485
+ readonly internalType: "uint8";
486
+ readonly type: "uint8";
487
+ }, {
488
+ readonly name: "claimant";
489
+ readonly internalType: "address";
490
+ readonly type: "address";
491
+ }, {
492
+ readonly name: "incentiveData";
493
+ readonly internalType: "bytes";
494
+ readonly type: "bytes";
495
+ }, {
496
+ readonly name: "referrer";
497
+ readonly internalType: "address";
498
+ readonly type: "address";
499
+ }];
500
+ readonly name: "hashSignerData";
501
+ readonly outputs: readonly [{
502
+ readonly name: "hashedSignerData";
503
+ readonly internalType: "bytes32";
504
+ readonly type: "bytes32";
505
+ }];
506
+ readonly stateMutability: "view";
507
+ }, {
508
+ readonly type: "function";
509
+ readonly inputs: readonly [{
510
+ readonly name: "data_";
511
+ readonly internalType: "bytes";
512
+ readonly type: "bytes";
513
+ }];
514
+ readonly name: "initialize";
515
+ readonly outputs: readonly [];
516
+ readonly stateMutability: "nonpayable";
517
+ }, {
518
+ readonly type: "function";
519
+ readonly inputs: readonly [];
520
+ readonly name: "maxClaimCount";
521
+ readonly outputs: readonly [{
522
+ readonly name: "";
523
+ readonly internalType: "uint256";
524
+ readonly type: "uint256";
525
+ }];
526
+ readonly stateMutability: "view";
527
+ }, {
528
+ readonly type: "function";
529
+ readonly inputs: readonly [];
530
+ readonly name: "owner";
531
+ readonly outputs: readonly [{
532
+ readonly name: "result";
533
+ readonly internalType: "address";
534
+ readonly type: "address";
535
+ }];
536
+ readonly stateMutability: "view";
537
+ }, {
538
+ readonly type: "function";
539
+ readonly inputs: readonly [{
540
+ readonly name: "pendingOwner";
541
+ readonly internalType: "address";
542
+ readonly type: "address";
543
+ }];
544
+ readonly name: "ownershipHandoverExpiresAt";
545
+ readonly outputs: readonly [{
546
+ readonly name: "result";
547
+ readonly internalType: "uint256";
548
+ readonly type: "uint256";
549
+ }];
550
+ readonly stateMutability: "view";
551
+ }, {
552
+ readonly type: "function";
553
+ readonly inputs: readonly [{
554
+ readonly name: "";
555
+ readonly internalType: "bytes32";
556
+ readonly type: "bytes32";
557
+ }];
558
+ readonly name: "quantityClaimed";
559
+ readonly outputs: readonly [{
560
+ readonly name: "";
561
+ readonly internalType: "uint256";
562
+ readonly type: "uint256";
563
+ }];
564
+ readonly stateMutability: "view";
565
+ }, {
566
+ readonly type: "function";
567
+ readonly inputs: readonly [];
568
+ readonly name: "renounceOwnership";
569
+ readonly outputs: readonly [];
570
+ readonly stateMutability: "payable";
571
+ }, {
572
+ readonly type: "function";
573
+ readonly inputs: readonly [];
574
+ readonly name: "requestOwnershipHandover";
575
+ readonly outputs: readonly [];
576
+ readonly stateMutability: "payable";
577
+ }, {
578
+ readonly type: "function";
579
+ readonly inputs: readonly [{
580
+ readonly name: "signers_";
581
+ readonly internalType: "address[]";
582
+ readonly type: "address[]";
583
+ }, {
584
+ readonly name: "authorized_";
585
+ readonly internalType: "bool[]";
586
+ readonly type: "bool[]";
587
+ }];
588
+ readonly name: "setAuthorized";
589
+ readonly outputs: readonly [];
590
+ readonly stateMutability: "nonpayable";
591
+ }, {
592
+ readonly type: "function";
593
+ readonly inputs: readonly [{
594
+ readonly name: "newCaller";
595
+ readonly internalType: "address";
596
+ readonly type: "address";
597
+ }];
598
+ readonly name: "setValidatorCaller";
599
+ readonly outputs: readonly [];
600
+ readonly stateMutability: "nonpayable";
601
+ }, {
602
+ readonly type: "function";
603
+ readonly inputs: readonly [{
604
+ readonly name: "";
605
+ readonly internalType: "address";
606
+ readonly type: "address";
607
+ }];
608
+ readonly name: "signers";
609
+ readonly outputs: readonly [{
610
+ readonly name: "";
611
+ readonly internalType: "bool";
612
+ readonly type: "bool";
613
+ }];
614
+ readonly stateMutability: "view";
615
+ }, {
616
+ readonly type: "function";
617
+ readonly inputs: readonly [{
618
+ readonly name: "interfaceId";
619
+ readonly internalType: "bytes4";
620
+ readonly type: "bytes4";
621
+ }];
622
+ readonly name: "supportsInterface";
623
+ readonly outputs: readonly [{
624
+ readonly name: "";
625
+ readonly internalType: "bool";
626
+ readonly type: "bool";
627
+ }];
628
+ readonly stateMutability: "view";
629
+ }, {
630
+ readonly type: "function";
631
+ readonly inputs: readonly [{
632
+ readonly name: "newOwner";
633
+ readonly internalType: "address";
634
+ readonly type: "address";
635
+ }];
636
+ readonly name: "transferOwnership";
637
+ readonly outputs: readonly [];
638
+ readonly stateMutability: "payable";
639
+ }, {
640
+ readonly type: "function";
641
+ readonly inputs: readonly [{
642
+ readonly name: "boostId";
643
+ readonly internalType: "uint256";
644
+ readonly type: "uint256";
645
+ }, {
646
+ readonly name: "incentiveId";
647
+ readonly internalType: "uint256";
648
+ readonly type: "uint256";
649
+ }, {
650
+ readonly name: "claimant";
651
+ readonly internalType: "address";
652
+ readonly type: "address";
653
+ }, {
654
+ readonly name: "claimData";
655
+ readonly internalType: "bytes";
656
+ readonly type: "bytes";
657
+ }];
658
+ readonly name: "validate";
659
+ readonly outputs: readonly [{
660
+ readonly name: "";
661
+ readonly internalType: "bool";
662
+ readonly type: "bool";
663
+ }];
664
+ readonly stateMutability: "payable";
665
+ }, {
666
+ readonly type: "function";
667
+ readonly inputs: readonly [];
668
+ readonly name: "validatorName";
669
+ readonly outputs: readonly [{
670
+ readonly name: "";
671
+ readonly internalType: "string";
672
+ readonly type: "string";
673
+ }];
674
+ readonly stateMutability: "pure";
675
+ }];
676
+ /**
677
+ * @inheritdoc
678
+ *
679
+ * @public
680
+ * @static
681
+ * @type {Record<number, Address>}
682
+ */
683
+ static bases: Record<number, Address>;
684
+ /**
685
+ * @inheritdoc
686
+ *
687
+ * @public
688
+ * @static
689
+ * @type {RegistryType}
690
+ */
691
+ static registryType: RegistryType;
692
+ /**
693
+ * The set of authorized signers
694
+ *
695
+ * @public
696
+ * @async
697
+ * @param {Address} address
698
+ * @param {?ReadParams} [params]
699
+ * @returns {Promise<boolean>}
700
+ */
701
+ signers(address: Address, params?: ReadParams): Promise<boolean>;
702
+ /**
703
+ * Retrieve the hash and signer data for a given hash
704
+ *
705
+ * @public
706
+ * @async
707
+ * @param {SignerValidatorSignaturePayload} payload
708
+ * @param {?ReadParams} [params]
709
+ * @returns {Promise<Hex>}
710
+ */
711
+ hashSignerData(payload: LimitedSignerValidatorV2SignaturePayload, params?: ReadParams): Promise<`0x${string}`>;
712
+ /**
713
+ * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.
714
+ *
715
+ * @public
716
+ * @async
717
+ * @param {LimitedSignerValidatorV2ValidatePayload} payload
718
+ * @param {?WriteParams} [params]
719
+ * @returns {Promise<boolean>} - True if the action has been validated based on the data payload
720
+ */
721
+ validate(payload: LimitedSignerValidatorV2ValidatePayload, params?: WriteParams): Promise<boolean>;
722
+ /**
723
+ * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.
724
+ *
725
+ * @public
726
+ * @async
727
+ * @param {LimitedSignerValidatorV2ValidatePayload} payload
728
+ * @param {?WriteParams} [params]
729
+ * @returns {Promise<boolean>} - True if the action has been validated based on the data payload
730
+ */
731
+ validateRaw(payload: LimitedSignerValidatorV2ValidatePayload, params?: WriteParams): Promise<{
732
+ hash: `0x${string}`;
733
+ result: boolean;
734
+ }>;
735
+ /**
736
+ * Set the authorized status of a signer
737
+ *
738
+ * @public
739
+ * @async
740
+ * @param {Address[]} addresses - The list of signers to update
741
+ * @param {boolean[]} allowed - The authorized status of each signer
742
+ * @param {?WriteParams} [params]
743
+ * @returns {Promise<void>}
744
+ */
745
+ setAuthorized(addresses: Address[], allowed: boolean[], params?: WriteParams): Promise<void>;
746
+ /**
747
+ * Set the authorized status of a signer
748
+ *
749
+ * @public
750
+ * @async
751
+ * @param {Address[]} addresses - The list of signers to update
752
+ * @param {boolean[]} allowed - The authorized status of each signer
753
+ * @param {?WriteParams} [params]
754
+ * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
755
+ */
756
+ setAuthorizedRaw(addresses: Address[], allowed: boolean[], params?: WriteParams): Promise<{
757
+ hash: `0x${string}`;
758
+ result: void;
759
+ }>;
760
+ /**
761
+ * Update the authorized caller of the validator function
762
+ *
763
+ * @public
764
+ * @async
765
+ * @param {Address} address
766
+ * @param {?WriteParams} [params]
767
+ * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
768
+ */
769
+ setValidatorCallerRaw(address: Address, params?: WriteParams): Promise<{
770
+ hash: `0x${string}`;
771
+ result: void;
772
+ }>;
773
+ /**
774
+ * Update the authorized caller of the validator function
775
+ *
776
+ * @public
777
+ * @async
778
+ * @param {Address} address
779
+ * @param {?WriteParams} [params]
780
+ * @returns {Promise<void>}
781
+ */
782
+ setValidatorCaller(address: Address, params?: WriteParams): Promise<void>;
783
+ /**
784
+ * Properly encodes the data needed to claim
785
+ *
786
+ * @public
787
+ * @async
788
+ * @param {LimitedSignerValidatorV2ClaimDataParams} params
789
+ * @returns {Promise<Hex>}
790
+ */
791
+ encodeClaimData(params: Omit<LimitedSignerValidatorV2ClaimDataParams, 'validator'>): Promise<Hex>;
792
+ /**
793
+ * @inheritdoc
794
+ *
795
+ * @public
796
+ * @param {?LimitedSignerValidatorV2Payload} [_payload]
797
+ * @param {?DeployableOptions} [_options]
798
+ * @returns {GenericDeployableParams}
799
+ */
800
+ buildParameters(_payload?: LimitedSignerValidatorV2Payload, _options?: DeployableOptions): GenericDeployableParams;
801
+ }
802
+ /**
803
+ * Signer Validator Claim Data Payload Preparation
804
+ *
805
+ * @export
806
+ * @async
807
+ * @param {LimitedSignerValidatorV2ClaimDataParams} param0
808
+ * @param {{ account: Address; key: Hex; privateKey: PrivateKeyAccount; }} param0.signer
809
+ * @param {Hex} param0.incentiveData
810
+ * @param {number} param0.chainId
811
+ * @param {Address} param0.validator
812
+ * @param {number} param0.incentiveQuantity
813
+ * @param {Address} param0.claimant
814
+ * @param {bigint} param0.boostId
815
+ * @returns {Promise<Hex>}
816
+ */
817
+ export declare function prepareLimitedSignerValidatorV2ClaimDataPayload({ signer, incentiveData, chainId, validator, incentiveQuantity, claimant, boostId, referrer, }: LimitedSignerValidatorV2ClaimDataParams): Promise<Hex>;
818
+ /**
819
+ * Given a {@link SignerValidatorInputParams}, properly encode the initialization payload.
820
+ *
821
+ * @param {SignerValidatorInputParams} param0
822
+ * @param {Address} param0.signer
823
+ * @param {Hex} param0.signature
824
+ * @param {number} param0.incentiveQuantity
825
+ * @returns {Hex}
826
+ */
827
+ export declare function prepareLimitedSignerValidatorV2InputParams({ signer, signature, incentiveQuantity, }: LimitedSignerValidatorV2InputParams): `0x${string}`;
828
+ /**
829
+ * Given a {@link LimitedSignerValidatorV2Payload}, properly encode the initialization payload.
830
+ *
831
+ * @param {LimitedSignerValidatorV2Payload} param0
832
+ SignerValidator: class TSignerValidator extends SignerValidator {
833
+ public static override bases: Record<number, Address> = {
834
+ [chainId]: signerValidatorBase,
835
+ };
836
+ },
837
+ * @param {Address[]} param0.signers
838
+ * @param {Address} param0.validatorCaller
839
+ * @returns {Hex}
840
+ */
841
+ export declare function prepareLimitedSignerValidatorV2Payload({ signers, validatorCaller, maxClaimCount, }: LimitedSignerValidatorV2Payload): `0x${string}`;
842
+ //# sourceMappingURL=LimitedSignerValidatorV2.d.ts.map