@boostxyz/sdk 0.0.0-alpha.9 → 1.1.0-alpha.22

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 (257) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.cjs.map +1 -1
  3. package/dist/Actions/Action.js +7 -7
  4. package/dist/Actions/ContractAction.d.ts +11 -11
  5. package/dist/Actions/ContractAction.d.ts.map +1 -1
  6. package/dist/Actions/ERC721MintAction.d.ts +14 -14
  7. package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.cjs +1 -1
  9. package/dist/Actions/EventAction.cjs.map +1 -1
  10. package/dist/Actions/EventAction.d.ts +171 -41
  11. package/dist/Actions/EventAction.d.ts.map +1 -1
  12. package/dist/Actions/EventAction.js +15 -392
  13. package/dist/Actions/EventAction.js.map +1 -1
  14. package/dist/AllowLists/AllowList.cjs +1 -1
  15. package/dist/AllowLists/AllowList.cjs.map +1 -1
  16. package/dist/AllowLists/AllowList.d.ts +6 -4
  17. package/dist/AllowLists/AllowList.d.ts.map +1 -1
  18. package/dist/AllowLists/AllowList.js +45 -23
  19. package/dist/AllowLists/AllowList.js.map +1 -1
  20. package/dist/AllowLists/OpenAllowList.d.ts +423 -0
  21. package/dist/AllowLists/OpenAllowList.d.ts.map +1 -0
  22. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  23. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  24. package/dist/AllowLists/SimpleAllowList.d.ts +92 -37
  25. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  26. package/dist/AllowLists/SimpleAllowList.js +55 -71
  27. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  28. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  29. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -1
  30. package/dist/AllowLists/SimpleDenyList.d.ts +203 -11
  31. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  32. package/dist/AllowLists/SimpleDenyList.js +11 -112
  33. package/dist/AllowLists/SimpleDenyList.js.map +1 -1
  34. package/dist/Auth/PassthroughAuth.cjs +1 -1
  35. package/dist/Auth/PassthroughAuth.js +1 -1
  36. package/dist/Boost.cjs +1 -1
  37. package/dist/Boost.cjs.map +1 -1
  38. package/dist/Boost.d.ts +20 -21
  39. package/dist/Boost.d.ts.map +1 -1
  40. package/dist/Boost.js +43 -57
  41. package/dist/Boost.js.map +1 -1
  42. package/dist/BoostCore-BVZExPPu.js +1462 -0
  43. package/dist/BoostCore-BVZExPPu.js.map +1 -0
  44. package/dist/BoostCore-D-E-cnGI.cjs +3 -0
  45. package/dist/BoostCore-D-E-cnGI.cjs.map +1 -0
  46. package/dist/BoostCore.cjs +1 -2
  47. package/dist/BoostCore.cjs.map +1 -1
  48. package/dist/BoostCore.d.ts +748 -77
  49. package/dist/BoostCore.d.ts.map +1 -1
  50. package/dist/BoostCore.js +29 -1150
  51. package/dist/BoostCore.js.map +1 -1
  52. package/dist/BoostRegistry.cjs +1 -1
  53. package/dist/BoostRegistry.cjs.map +1 -1
  54. package/dist/BoostRegistry.d.ts +80 -25
  55. package/dist/BoostRegistry.d.ts.map +1 -1
  56. package/dist/BoostRegistry.js +165 -83
  57. package/dist/BoostRegistry.js.map +1 -1
  58. package/dist/Budgets/Budget.cjs +1 -1
  59. package/dist/Budgets/Budget.cjs.map +1 -1
  60. package/dist/Budgets/Budget.d.ts.map +1 -1
  61. package/dist/Budgets/Budget.js +2 -2
  62. package/dist/Budgets/Budget.js.map +1 -1
  63. package/dist/Budgets/ManagedBudget.cjs +1 -1
  64. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  65. package/dist/Budgets/ManagedBudget.d.ts +75 -193
  66. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  67. package/dist/Budgets/ManagedBudget.js +80 -298
  68. package/dist/Budgets/ManagedBudget.js.map +1 -1
  69. package/dist/Budgets/VestingBudget.d.ts +223 -89
  70. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  71. package/dist/Deployable/Contract.cjs +1 -1
  72. package/dist/Deployable/Contract.cjs.map +1 -1
  73. package/dist/Deployable/Contract.d.ts +4 -5
  74. package/dist/Deployable/Contract.d.ts.map +1 -1
  75. package/dist/Deployable/Contract.js +5 -7
  76. package/dist/Deployable/Contract.js.map +1 -1
  77. package/dist/Deployable/Deployable.cjs.map +1 -1
  78. package/dist/Deployable/Deployable.d.ts +1 -1
  79. package/dist/Deployable/Deployable.d.ts.map +1 -1
  80. package/dist/Deployable/Deployable.js +3 -5
  81. package/dist/Deployable/Deployable.js.map +1 -1
  82. package/dist/Deployable/DeployableTarget.cjs +1 -1
  83. package/dist/Deployable/DeployableTarget.cjs.map +1 -1
  84. package/dist/Deployable/DeployableTarget.d.ts +13 -13
  85. package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
  86. package/dist/Deployable/DeployableTarget.js +28 -25
  87. package/dist/Deployable/DeployableTarget.js.map +1 -1
  88. package/dist/Deployable/DeployableTargetWithRBAC.cjs +2 -0
  89. package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -0
  90. package/dist/Deployable/DeployableTargetWithRBAC.d.ts +179 -0
  91. package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -0
  92. package/dist/Deployable/DeployableTargetWithRBAC.js +222 -0
  93. package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -0
  94. package/dist/EventAction-BZt5cjbe.cjs +2 -0
  95. package/dist/EventAction-BZt5cjbe.cjs.map +1 -0
  96. package/dist/EventAction-C_-hJXWm.js +1541 -0
  97. package/dist/EventAction-C_-hJXWm.js.map +1 -0
  98. package/dist/Incentive-BhHaK3PZ.cjs +2 -0
  99. package/dist/Incentive-BhHaK3PZ.cjs.map +1 -0
  100. package/dist/Incentive-Cqg1w6wD.js +312 -0
  101. package/dist/Incentive-Cqg1w6wD.js.map +1 -0
  102. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  103. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  104. package/dist/Incentives/AllowListIncentive.d.ts +38 -16
  105. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  106. package/dist/Incentives/AllowListIncentive.js +42 -29
  107. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  108. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  109. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  110. package/dist/Incentives/CGDAIncentive.d.ts +234 -21
  111. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  112. package/dist/Incentives/CGDAIncentive.js +45 -32
  113. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  114. package/dist/Incentives/ERC1155Incentive.d.ts +224 -37
  115. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  116. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  117. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  118. package/dist/Incentives/ERC20Incentive.d.ts +230 -29
  119. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  120. package/dist/Incentives/ERC20Incentive.js +56 -43
  121. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  122. package/dist/{Budgets/SimpleBudget.d.ts → Incentives/ERC20VariableCriteriaIncentive.d.ts} +335 -440
  123. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
  124. package/dist/Incentives/ERC20VariableIncentive.d.ts +231 -29
  125. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  126. package/dist/Incentives/Incentive.cjs +1 -1
  127. package/dist/Incentives/Incentive.cjs.map +1 -1
  128. package/dist/Incentives/Incentive.d.ts +4 -4
  129. package/dist/Incentives/Incentive.d.ts.map +1 -1
  130. package/dist/Incentives/Incentive.js +16 -296
  131. package/dist/Incentives/Incentive.js.map +1 -1
  132. package/dist/Incentives/PointsIncentive.cjs +1 -1
  133. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  134. package/dist/Incentives/PointsIncentive.d.ts +40 -18
  135. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  136. package/dist/Incentives/PointsIncentive.js +37 -24
  137. package/dist/Incentives/PointsIncentive.js.map +1 -1
  138. package/dist/SimpleDenyList-BUR17Tt1.cjs +2 -0
  139. package/dist/SimpleDenyList-BUR17Tt1.cjs.map +1 -0
  140. package/dist/SimpleDenyList-CGaWjuld.js +132 -0
  141. package/dist/SimpleDenyList-CGaWjuld.js.map +1 -0
  142. package/dist/Validators/SignerValidator.cjs +1 -1
  143. package/dist/Validators/SignerValidator.cjs.map +1 -1
  144. package/dist/Validators/SignerValidator.d.ts +16 -16
  145. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  146. package/dist/Validators/SignerValidator.js +30 -27
  147. package/dist/Validators/SignerValidator.js.map +1 -1
  148. package/dist/Validators/Validator.cjs +1 -1
  149. package/dist/Validators/Validator.cjs.map +1 -1
  150. package/dist/Validators/Validator.d.ts +1 -1
  151. package/dist/Validators/Validator.js +2 -2
  152. package/dist/Validators/Validator.js.map +1 -1
  153. package/dist/claiming.cjs.map +1 -1
  154. package/dist/claiming.d.ts +1 -1
  155. package/dist/claiming.js.map +1 -1
  156. package/dist/componentInterfaces-BBCFkrZv.js +14 -0
  157. package/dist/componentInterfaces-BBCFkrZv.js.map +1 -0
  158. package/dist/componentInterfaces-DRI_dQ-P.cjs +2 -0
  159. package/dist/componentInterfaces-DRI_dQ-P.cjs.map +1 -0
  160. package/dist/deployments-DVXioW2i.cjs +2 -0
  161. package/dist/deployments-DVXioW2i.cjs.map +1 -0
  162. package/dist/deployments-oykLv3_Z.js +43 -0
  163. package/dist/deployments-oykLv3_Z.js.map +1 -0
  164. package/dist/deployments.json +44 -0
  165. package/dist/errors.cjs +1 -1
  166. package/dist/errors.cjs.map +1 -1
  167. package/dist/errors.d.ts +256 -20
  168. package/dist/errors.d.ts.map +1 -1
  169. package/dist/errors.js +183 -26
  170. package/dist/errors.js.map +1 -1
  171. package/dist/{generated-57_Kffpz.js → generated-CKt2yCQd.js} +3613 -1869
  172. package/dist/generated-CKt2yCQd.js.map +1 -0
  173. package/dist/generated-CyTNlOwM.cjs +3 -0
  174. package/dist/generated-CyTNlOwM.cjs.map +1 -0
  175. package/dist/index.cjs +1 -1
  176. package/dist/index.d.ts +5 -0
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +142 -108
  179. package/dist/index.js.map +1 -1
  180. package/dist/transfers.cjs.map +1 -1
  181. package/dist/transfers.d.ts +1 -1
  182. package/dist/transfers.js.map +1 -1
  183. package/dist/utils.cjs +1 -1
  184. package/dist/utils.cjs.map +1 -1
  185. package/dist/utils.d.ts +26 -12
  186. package/dist/utils.d.ts.map +1 -1
  187. package/dist/utils.js +38 -23
  188. package/dist/utils.js.map +1 -1
  189. package/package.json +20 -10
  190. package/src/Actions/Action.test.ts +14 -13
  191. package/src/Actions/ContractAction.test.ts +10 -10
  192. package/src/Actions/ContractAction.ts +11 -12
  193. package/src/Actions/ERC721MintAction.test.ts +6 -6
  194. package/src/Actions/ERC721MintAction.ts +14 -15
  195. package/src/Actions/EventAction.test.ts +729 -109
  196. package/src/Actions/EventAction.ts +542 -84
  197. package/src/AllowLists/AllowList.test.ts +7 -7
  198. package/src/AllowLists/AllowList.ts +5 -3
  199. package/src/AllowLists/OpenAllowList.test.ts +40 -0
  200. package/src/AllowLists/OpenAllowList.ts +45 -0
  201. package/src/AllowLists/SimpleAllowList.test.ts +4 -4
  202. package/src/AllowLists/SimpleAllowList.ts +39 -61
  203. package/src/AllowLists/SimpleDenyList.test.ts +4 -4
  204. package/src/AllowLists/SimpleDenyList.ts +40 -17
  205. package/src/Auth/PassthroughAuth.test.ts +1 -1
  206. package/src/Boost.ts +21 -24
  207. package/src/BoostCore.test.ts +323 -268
  208. package/src/BoostCore.ts +396 -219
  209. package/src/BoostRegistry.test.ts +53 -0
  210. package/src/BoostRegistry.ts +161 -40
  211. package/src/Budgets/Budget.test.ts +2 -2
  212. package/src/Budgets/Budget.ts +1 -2
  213. package/src/Budgets/ManagedBudget.test.ts +82 -19
  214. package/src/Budgets/ManagedBudget.ts +48 -310
  215. package/src/Budgets/VestingBudget.test.ts +7 -7
  216. package/src/Budgets/VestingBudget.ts +34 -106
  217. package/src/Deployable/Contract.ts +4 -5
  218. package/src/Deployable/Deployable.ts +1 -1
  219. package/src/Deployable/DeployableTarget.ts +30 -19
  220. package/src/Deployable/DeployableTargetWithRBAC.ts +323 -0
  221. package/src/Incentives/AllowListIncentive.test.ts +5 -5
  222. package/src/Incentives/AllowListIncentive.ts +29 -15
  223. package/src/Incentives/CGDAIncentive.test.ts +9 -6
  224. package/src/Incentives/CGDAIncentive.ts +38 -18
  225. package/src/Incentives/ERC1155Incentive.test.ts +3 -3
  226. package/src/Incentives/ERC1155Incentive.ts +28 -29
  227. package/src/Incentives/ERC20Incentive.test.ts +9 -6
  228. package/src/Incentives/ERC20Incentive.ts +46 -26
  229. package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +184 -0
  230. package/src/Incentives/ERC20VariableCriteriaIncentive.ts +324 -0
  231. package/src/Incentives/ERC20VariableIncentive.test.ts +8 -11
  232. package/src/Incentives/ERC20VariableIncentive.ts +49 -26
  233. package/src/Incentives/Incentive.test.ts +4 -1
  234. package/src/Incentives/Incentive.ts +7 -6
  235. package/src/Incentives/PointsIncentive.test.ts +24 -25
  236. package/src/Incentives/PointsIncentive.ts +31 -17
  237. package/src/Validators/SignerValidator.test.ts +6 -6
  238. package/src/Validators/SignerValidator.ts +19 -17
  239. package/src/Validators/Validator.test.ts +2 -2
  240. package/src/Validators/Validator.ts +1 -1
  241. package/src/claiming.ts +1 -1
  242. package/src/errors.ts +345 -21
  243. package/src/index.test.ts +118 -36
  244. package/src/index.ts +5 -0
  245. package/src/transfers.ts +1 -1
  246. package/src/utils.test.ts +2 -2
  247. package/src/utils.ts +61 -12
  248. package/dist/Budgets/SimpleBudget.d.ts.map +0 -1
  249. package/dist/componentInterfaces-CKCBwG16.cjs +0 -2
  250. package/dist/componentInterfaces-CKCBwG16.cjs.map +0 -1
  251. package/dist/componentInterfaces-DYkaxBda.js +0 -13
  252. package/dist/componentInterfaces-DYkaxBda.js.map +0 -1
  253. package/dist/generated-57_Kffpz.js.map +0 -1
  254. package/dist/generated-wKBNvm48.cjs +0 -3
  255. package/dist/generated-wKBNvm48.cjs.map +0 -1
  256. package/src/Budgets/SimpleBudget.test.ts +0 -152
  257. package/src/Budgets/SimpleBudget.ts +0 -564
@@ -1,8 +1,8 @@
1
1
  import { eventActionAbi } from '@boostxyz/evm';
2
- import { type Abi, type AbiEvent, type Address, type ContractEventName, type Hex, type Log } from 'viem';
2
+ import { type AbiEvent, type AbiFunction, type Address, type ContractFunctionName, type GetLogsReturnType, type Hex, type Transaction } from 'viem';
3
3
  import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
4
  import { DeployableTarget } from '../Deployable/DeployableTarget';
5
- import { type GetLogsParams, type ReadParams, RegistryType, type WriteParams } from '../utils';
5
+ import { type ReadParams, RegistryType, type WriteParams } from '../utils';
6
6
  /**
7
7
  * Filter types used to determine how criteria are evaluated.
8
8
  *
@@ -14,7 +14,8 @@ export declare enum FilterType {
14
14
  NOT_EQUAL = 1,
15
15
  GREATER_THAN = 2,
16
16
  LESS_THAN = 3,
17
- CONTAINS = 4
17
+ CONTAINS = 4,
18
+ REGEX = 5
18
19
  }
19
20
  /**
20
21
  * The primitive types supported for filtering.
@@ -153,6 +154,25 @@ export interface ActionStep {
153
154
  */
154
155
  actionParameter: Criteria;
155
156
  }
157
+ /**
158
+ * Parameters for validating an action step.
159
+ *
160
+ * @typedef {Object} ValidateActionStepParams
161
+ * @property {Record<Hex, AbiEvent | AbiFunction>} [knownSignatures] - Optional record of known events, keyed by 32 byte selectors.
162
+ * @property {AbiEvent | AbiFunction} [abiItem] - Optional ABI item definition.
163
+ * @property {EventLogs} [logs] - Event logs to validate against. Required if 'hash' is not provided.
164
+ * @property {Hex} [hash] - Transaction hash to validate against. Required if 'logs' is not provided.
165
+ * @property {number} [chainId] - Chain ID for the transaction. Required if 'hash' is provided.
166
+ */
167
+ export type ValidateActionStepParams = {
168
+ knownSignatures?: Record<Hex, AbiEvent | AbiFunction>;
169
+ abiItem?: AbiEvent | AbiFunction;
170
+ } & ({
171
+ logs: EventLogs;
172
+ } | {
173
+ hash: Hex;
174
+ chainId: number;
175
+ });
156
176
  /**
157
177
  * You can either supply a simplified version of the payload, or one that explicitly declares action steps.
158
178
  *
@@ -223,6 +243,20 @@ export interface EventActionPayloadRaw {
223
243
  */
224
244
  actionStepFour: ActionStep;
225
245
  }
246
+ /**
247
+ * Array of event logs to pass into TxParams
248
+ * @export
249
+ * @typedef {EventLogs}
250
+ */
251
+ export type EventLogs = GetLogsReturnType<AbiEvent, AbiEvent[], true>;
252
+ /**
253
+ * Getter params from the event action contract
254
+ *
255
+ * @export
256
+ * @typedef {ReadEventActionParams}
257
+ * @param {fnName} fnName - The getter function name
258
+ */
259
+ export type ReadEventActionParams<fnName extends ContractFunctionName<typeof eventActionAbi, 'pure' | 'view'>> = ReadParams<typeof eventActionAbi, fnName>;
226
260
  /**
227
261
  * A generic event action
228
262
  *
@@ -553,9 +587,9 @@ export declare class EventAction extends DeployableTarget<EventActionPayload, ty
553
587
  *
554
588
  * @public
555
589
  * @static
556
- * @type {Address}
590
+ * @type {Record<number, Address>}
557
591
  */
558
- static base: Address;
592
+ static bases: Record<number, Address>;
559
593
  /**
560
594
  * @inheritdoc
561
595
  *
@@ -570,48 +604,44 @@ export declare class EventAction extends DeployableTarget<EventActionPayload, ty
570
604
  * @public
571
605
  * @async
572
606
  * @param {number} index The index of the action event to retrieve
573
- * @param {?ReadParams<typeof eventActionAbi, 'getActionStep'>} [params]
607
+ * @param {?ReadEventActionParams<'getActionStep'>} [params]
574
608
  * @returns {Promise<ActionStep>}
575
609
  */
576
- getActionStep(index: number, params?: ReadParams<typeof eventActionAbi, 'getActionStep'>): Promise<ActionStep | undefined>;
610
+ getActionStep(index: number, params?: ReadEventActionParams<'getActionStep'>): Promise<ActionStep | undefined>;
577
611
  /**
578
612
  * Gets all action events
579
613
  *
580
614
  * @public
581
615
  * @async
582
- * @param {?ReadParams<typeof eventActionAbi, 'getActionSteps'>} [params]
616
+ * @param {?ReadEventActionParams<'getActionSteps'>} [params]
583
617
  * @returns {Promise<ActionStep[]>}
584
618
  */
585
- getActionSteps(params?: ReadParams<typeof eventActionAbi, 'getActionSteps'>): Promise<ActionStep[]>;
619
+ getActionSteps(params?: ReadEventActionParams<'getActionSteps'>): Promise<ActionStep[]>;
586
620
  /**
587
621
  * Gets the count of action events
588
622
  *
589
623
  * @public
590
624
  * @async
591
- * @param {?ReadParams<typeof eventActionAbi, 'getActionStepsCount'>} [params]
625
+ * @param {?ReadEventActionParams<'getActionStepsCount'>} [params]
592
626
  * @returns {Promise<bigint>}
593
627
  */
594
- getActionStepsCount(params?: ReadParams<typeof eventActionAbi, 'getActionStepsCount'>): Promise<number>;
628
+ getActionStepsCount(params?: ReadEventActionParams<'getActionStepsCount'>): Promise<number>;
595
629
  /**
596
630
  * Retrieves the payload describing how claimants can be identified from logs or function calls.
597
631
  *
598
632
  * @public
599
633
  * @async
600
- * @param {?ReadParams<typeof eventActionAbi, 'getActionClaimant'>} [params]
634
+ * @param {?ReadEventActionParams<'getActionClaimant'>} [params]
601
635
  * @returns {Promise<ActionClaimant>}
602
636
  */
603
- getActionClaimant(params?: ReadParams<typeof eventActionAbi, 'getActionClaimant'>): Promise<Pick<ActionClaimant, "signatureType" | "signature" | "fieldIndex" | "targetContract"> & {
604
- chainid: bigint;
605
- } & {
606
- chainid: number;
607
- }>;
637
+ getActionClaimant(params?: ReadEventActionParams<'getActionClaimant'>): Promise<ActionClaimant>;
608
638
  /**
609
639
  * Executes a prepared event action
610
640
  *
611
641
  * @public
612
642
  * @async
613
643
  * @param {Hex} data
614
- * @param {?WriteParams<typeof eventActionAbi, 'execute'>} [params]
644
+ * @param {?WriteParams} [params]
615
645
  * @returns {Promise<readonly [boolean, `0x${string}`]>}
616
646
  */
617
647
  execute(data: Hex, params?: WriteParams<typeof eventActionAbi, 'execute'>): Promise<readonly [boolean, `0x${string}`]>;
@@ -621,55 +651,134 @@ export declare class EventAction extends DeployableTarget<EventActionPayload, ty
621
651
  * @public
622
652
  * @async
623
653
  * @param {Hex} data
624
- * @param {?WriteParams<typeof eventActionAbi, 'execute'>} [params]
625
- * @returns {unknown}
654
+ * @param {?WriteParams} [params]
655
+ * @returns {Promise<{ hash: `0x${string}`; result: readonly [boolean, `0x${string}`]; }>}
626
656
  */
627
657
  executeRaw(data: Hex, params?: WriteParams<typeof eventActionAbi, 'execute'>): Promise<{
628
658
  hash: `0x${string}`;
629
659
  result: readonly [boolean, `0x${string}`];
630
660
  }>;
661
+ /**
662
+ * Derives the action claimant address from a transaction based on the provided ActionClaimant configuration.
663
+ * This method supports both event-based and function-based claimant derivation.
664
+ *
665
+ ** @example
666
+ * // Example usage
667
+ * const eventAction = boost.action as EventAction
668
+ * const claimant = await eventAction.getActionClaimant() // {
669
+ * signatureType: SignatureType.EVENT,
670
+ * signature: '0x1234...',
671
+ * fieldIndex: 2,
672
+ * targetContract: '0xabcd...',
673
+ * chainid: 1
674
+ * };
675
+ * const params: ValidateActionStepParams = {
676
+ * hash: '0x5678...',
677
+ * chainId: 1,
678
+ * knownSignatures?: {
679
+ * '0x1234...': {}
680
+ * }
681
+ * };
682
+ * const claimantAddress = await eventAction.deriveActionClaimantFromTransaction(claimant, params);
683
+ *
684
+ * @param {ActionClaimant} claimant - The configuration specifying how to derive the claimant.
685
+ * @param {ValidateActionStepParams} params - Parameters for validation, including transaction hash, known signatures, logs, and chain ID.
686
+ * @returns {Promise<Address | undefined>} The derived claimant address if found, undefined otherwise.
687
+ * @throws {ValidationAbiMissingError} If the ABI for the specified signature is not found.
688
+ * @throws {FunctionDataDecodeError} If there's an error decoding function data (for function-based derivation).
689
+ */
690
+ deriveActionClaimantFromTransaction(claimant: ActionClaimant, params: ValidateActionStepParams): Promise<Address | undefined>;
691
+ /**
692
+ * Validates the action claimant against the arguments of a log or function data.
693
+ *
694
+ * @param {ActionClaimant} claimant - The action claimant to validate.
695
+ * @param {Object} [logOrFnData] - Optional object containing the arguments to validate against.
696
+ * @param {Array<any> | readonly unknown[] | Record<string, unknown>} [logOrFnData.args] - The arguments from the log or function data.
697
+ * @returns {Address | undefined} The validated address if found and valid, otherwise undefined.
698
+ */
699
+ validateClaimantAgainstArgs(claimant: ActionClaimant, logOrFnData?: {
700
+ args: Array<unknown> | readonly unknown[] | Record<string, unknown>;
701
+ }): Address | undefined;
631
702
  /**
632
703
  * Retrieves action steps, and uses them to validate against, and optionally fetch logs that match the step's signature.
633
704
  * If logs are provided in the optional `params` argument, then those logs will be used instead of fetched with the configured client.
634
705
  *
635
706
  * @public
636
707
  * @async
637
- * @param {?ReadParams<typeof eventActionAbi, 'getActionSteps'> &
638
- * GetLogsParams<Abi, ContractEventName<Abi>> & {
639
- * knownEvents?: Record<Hex, AbiEvent>;
640
- * logs?: Log[];
641
- * }} [params]
708
+ * @param ValidateActionStepParams params
642
709
  * @returns {Promise<boolean>}
643
710
  */
644
- validateActionSteps(params?: ReadParams<typeof eventActionAbi, 'getActionSteps'> & GetLogsParams<Abi, ContractEventName<Abi>> & {
645
- knownEvents?: Record<Hex, AbiEvent>;
646
- logs?: Log[];
647
- }): Promise<boolean>;
711
+ validateActionSteps(params: ValidateActionStepParams): Promise<boolean>;
648
712
  /**
649
- * Validates a single action step with a given criteria against logs.
650
- * If logs are provided in the optional `params` argument, then those logs will be used instead of fetched with the configured client.
713
+ * Validates a single action step with a given criteria against logs or function calls.
714
+ * If logs are provided in the optional `params` argument, then those logs will be used instead of being fetched with the configured client.
715
+ * For functions a hash is required.
651
716
  *
652
717
  * @public
653
718
  * @async
654
- * @param {ActionStep} actionStep
655
- * @param {?GetLogsParams<Abi, ContractEventName<Abi>> & {
656
- * knownEvents?: Record<Hex, AbiEvent>;
657
- * logs?: Log[];
658
- * }} [params]
719
+ * @param {ActionStep} actionStep - The action step to validate. Can be a function of event step.
720
+ * @param {ValidateActionStepParams} params - Additional parameters for validation, including hash, known events, logs, and chain ID.
659
721
  * @returns {Promise<boolean>}
660
722
  */
661
- isActionStepValid(actionStep: ActionStep, params?: GetLogsParams<Abi, ContractEventName<Abi>> & {
662
- knownEvents?: Record<Hex, AbiEvent>;
663
- logs?: Log[];
664
- }): Promise<boolean>;
723
+ isActionStepValid(actionStep: ActionStep, params: ValidateActionStepParams): Promise<boolean>;
724
+ /**
725
+ * Validates a single action event with a given criteria against logs.
726
+ * If logs are provided in the optional `params` argument, then those logs will be used instead of being fetched with the configured client.
727
+ *
728
+ * @public
729
+ * @async
730
+ * @param {ActionStep} actionStep - The action step containing the event to validate.
731
+ * @param {EventLogs} logs - Event logs to validate the given step against
732
+ * @returns {Promise<boolean>} Resolves to true if the action event is valid, throws if input is invalid, otherwise false.
733
+ */
734
+ isActionEventValid(actionStep: ActionStep, logs: EventLogs): boolean;
735
+ /**
736
+ * Validates a single action function with a given criteria against the transaction input.
737
+ *
738
+ * @public
739
+ * @param {ActionStep} actionStep - The action step containing the function to validate.
740
+ * @param {Transaction} transaction - The transaction that will be validated against.
741
+ * @param {Object} [params] - Optional parameters for validation.
742
+ * @param {AbiItem} [params.abiItem] - The ABI item for the function, if known.
743
+ * @param {Record<Hex, AbiEvent | AbiFunction>} [params.knownSignatures] - A record of known signatures.
744
+ * @returns {boolean} Returns true if the action function is valid, false otherwise.
745
+ * @throws {ValidationAbiMissingError} Throws if the ABI for the function signature is not found.
746
+ * @throws {FunctionDataDecodeError} Throws if there's an error decoding the function data.
747
+ */
748
+ isActionFunctionValid(actionStep: ActionStep, transaction: Transaction, params?: Pick<ValidateActionStepParams, 'abiItem' | 'knownSignatures'>): boolean;
749
+ /**
750
+ * Validates a field against a given criteria.
751
+ *
752
+ * @param {Criteria} criteria - The criteria to validate against.
753
+ * @param {string | bigint | Hex} fieldValue - The field value to validate.
754
+ * @param {Object} input - Additional context for validation.
755
+ * @param {EventLogs[0]} [input.log] - The event log, if validating an event.
756
+ * @param {readonly (string | bigint)[]} [input.decodedArgs] - The decoded function arguments, if validating a function call.
757
+ * @returns {Promise<boolean>} - Returns true if the field passes the criteria, false otherwise.
758
+ */
759
+ validateFieldAgainstCriteria(criteria: Criteria, fieldValue: string | bigint | Hex, input: {
760
+ log: EventLogs[0];
761
+ } | {
762
+ decodedArgs: readonly (string | bigint)[];
763
+ }): boolean;
665
764
  /**
666
765
  * Validates a {@link Log} against a given criteria.
766
+ * If the criteria's fieldIndex is 255, it is reserved for anyValidation
667
767
  *
668
768
  * @param {Criteria} criteria - The criteria to validate against.
669
769
  * @param {Log} log - The Viem event log.
670
770
  * @returns {boolean} - Returns true if the log passes the criteria, false otherwise.
671
771
  */
672
- validateLogAgainstCriteria(criteria: Criteria, log: Log): boolean;
772
+ validateLogAgainstCriteria(criteria: Criteria, log: EventLogs[0]): boolean;
773
+ /**
774
+ * Validates a function's decoded arguments against a given criteria.
775
+ * If the criteria's fieldIndex is 255, it is reserved for anyValidation
776
+ *
777
+ * @param {Criteria} criteria - The criteria to validate against.
778
+ * @param {unknown[]} decodedArgs - The decoded arguments of the function call.
779
+ * @returns {Promise<boolean>} - Returns true if the decoded argument passes the criteria, false otherwise.
780
+ */
781
+ validateFunctionAgainstCriteria(criteria: Criteria, decodedArgs: readonly (string | bigint)[]): boolean;
673
782
  /**
674
783
  * @inheritdoc
675
784
  *
@@ -679,6 +788,7 @@ export declare class EventAction extends DeployableTarget<EventActionPayload, ty
679
788
  * @returns {GenericDeployableParams}
680
789
  */
681
790
  buildParameters(_payload?: EventActionPayload, _options?: DeployableOptions): GenericDeployableParams;
791
+ isArraylikeIndexed(step: ActionStep, event: AbiEvent): boolean;
682
792
  }
683
793
  /**
684
794
  * Function to properly encode an event action payload.
@@ -691,4 +801,24 @@ export declare class EventAction extends DeployableTarget<EventActionPayload, ty
691
801
  * @returns {Hex}
692
802
  */
693
803
  export declare function prepareEventActionPayload({ actionClaimant, actionStepOne, actionStepTwo, actionStepThree, actionStepFour, }: EventActionPayloadRaw): `0x${string}`;
804
+ /**
805
+ * Creates a default Criteria object that allows validation to pass. This is used if you don't care about targeting specific parameters in the action step.
806
+ *
807
+ * This function returns a Criteria object with the following properties:
808
+ * - filterType: Set to EQUAL for exact matching
809
+ * - fieldType: Set to BYTES to handle any data type
810
+ * - fieldIndex: Set to 255, which is typically used to indicate "any" or "all" in this context
811
+ * - filterData: Set to zeroHash (0x0000...0000)
812
+ *
813
+ * @returns {Criteria} A Criteria object that can be used to match any action parameter
814
+ *
815
+ * @example
816
+ * const anyCriteria = anyActionParameter();
817
+ * // Use this criteria in an ActionStep to match any parameter
818
+ * const actionStep = {
819
+ * // ... other properties ...
820
+ * actionParameter: anyCriteria
821
+ * };
822
+ */
823
+ export declare function anyActionParameter(): Criteria;
694
824
  //# sourceMappingURL=EventAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventAction.d.ts","sourceRoot":"","sources":["../../src/Actions/EventAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventAction.d.ts","sourceRoot":"","sources":["../../src/Actions/EventAction.ts"],"names":[],"mappings":"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"}