@boostxyz/sdk 0.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +7 -0
  3. package/dist/Actions/Action.cjs +2 -0
  4. package/dist/Actions/Action.cjs.map +1 -0
  5. package/dist/Actions/Action.d.ts +31 -0
  6. package/dist/Actions/Action.d.ts.map +1 -0
  7. package/dist/Actions/Action.js +29 -0
  8. package/dist/Actions/Action.js.map +1 -0
  9. package/dist/Actions/ContractAction.d.ts +370 -0
  10. package/dist/Actions/ContractAction.d.ts.map +1 -0
  11. package/dist/Actions/ERC721MintAction.d.ts +513 -0
  12. package/dist/Actions/ERC721MintAction.d.ts.map +1 -0
  13. package/dist/Actions/EventAction.cjs +2 -0
  14. package/dist/Actions/EventAction.cjs.map +1 -0
  15. package/dist/Actions/EventAction.d.ts +694 -0
  16. package/dist/Actions/EventAction.d.ts.map +1 -0
  17. package/dist/Actions/EventAction.js +491 -0
  18. package/dist/Actions/EventAction.js.map +1 -0
  19. package/dist/AllowLists/AllowList.cjs +2 -0
  20. package/dist/AllowLists/AllowList.cjs.map +1 -0
  21. package/dist/AllowLists/AllowList.d.ts +32 -0
  22. package/dist/AllowLists/AllowList.d.ts.map +1 -0
  23. package/dist/AllowLists/AllowList.js +30 -0
  24. package/dist/AllowLists/AllowList.js.map +1 -0
  25. package/dist/AllowLists/SimpleAllowList.cjs +2 -0
  26. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
  27. package/dist/AllowLists/SimpleAllowList.d.ts +481 -0
  28. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -0
  29. package/dist/AllowLists/SimpleAllowList.js +154 -0
  30. package/dist/AllowLists/SimpleAllowList.js.map +1 -0
  31. package/dist/AllowLists/SimpleDenyList.cjs +2 -0
  32. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
  33. package/dist/AllowLists/SimpleDenyList.d.ts +335 -0
  34. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -0
  35. package/dist/AllowLists/SimpleDenyList.js +115 -0
  36. package/dist/AllowLists/SimpleDenyList.js.map +1 -0
  37. package/dist/Auth/Auth.cjs +2 -0
  38. package/dist/Auth/Auth.cjs.map +1 -0
  39. package/dist/Auth/Auth.d.ts +10 -0
  40. package/dist/Auth/Auth.d.ts.map +1 -0
  41. package/dist/Auth/Auth.js +5 -0
  42. package/dist/Auth/Auth.js.map +1 -0
  43. package/dist/Auth/PassthroughAuth.cjs +2 -0
  44. package/dist/Auth/PassthroughAuth.cjs.map +1 -0
  45. package/dist/Auth/PassthroughAuth.d.ts +51 -0
  46. package/dist/Auth/PassthroughAuth.d.ts.map +1 -0
  47. package/dist/Auth/PassthroughAuth.js +39 -0
  48. package/dist/Auth/PassthroughAuth.js.map +1 -0
  49. package/dist/Boost.cjs +2 -0
  50. package/dist/Boost.cjs.map +1 -0
  51. package/dist/Boost.d.ts +234 -0
  52. package/dist/Boost.d.ts.map +1 -0
  53. package/dist/Boost.js +162 -0
  54. package/dist/Boost.js.map +1 -0
  55. package/dist/BoostCore.cjs +3 -0
  56. package/dist/BoostCore.cjs.map +1 -0
  57. package/dist/BoostCore.d.ts +498 -0
  58. package/dist/BoostCore.d.ts.map +1 -0
  59. package/dist/BoostCore.js +1153 -0
  60. package/dist/BoostCore.js.map +1 -0
  61. package/dist/BoostRegistry.cjs +2 -0
  62. package/dist/BoostRegistry.cjs.map +1 -0
  63. package/dist/BoostRegistry.d.ts +243 -0
  64. package/dist/BoostRegistry.d.ts.map +1 -0
  65. package/dist/BoostRegistry.js +262 -0
  66. package/dist/BoostRegistry.js.map +1 -0
  67. package/dist/Budgets/Budget.cjs +2 -0
  68. package/dist/Budgets/Budget.cjs.map +1 -0
  69. package/dist/Budgets/Budget.d.ts +31 -0
  70. package/dist/Budgets/Budget.d.ts.map +1 -0
  71. package/dist/Budgets/Budget.js +29 -0
  72. package/dist/Budgets/Budget.js.map +1 -0
  73. package/dist/Budgets/ManagedBudget.cjs +2 -0
  74. package/dist/Budgets/ManagedBudget.cjs.map +1 -0
  75. package/dist/Budgets/ManagedBudget.d.ts +1103 -0
  76. package/dist/Budgets/ManagedBudget.d.ts.map +1 -0
  77. package/dist/Budgets/ManagedBudget.js +516 -0
  78. package/dist/Budgets/ManagedBudget.js.map +1 -0
  79. package/dist/Budgets/SimpleBudget.d.ts +824 -0
  80. package/dist/Budgets/SimpleBudget.d.ts.map +1 -0
  81. package/dist/Budgets/VestingBudget.d.ts +778 -0
  82. package/dist/Budgets/VestingBudget.d.ts.map +1 -0
  83. package/dist/Deployable/Contract.cjs +2 -0
  84. package/dist/Deployable/Contract.cjs.map +1 -0
  85. package/dist/Deployable/Contract.d.ts +125 -0
  86. package/dist/Deployable/Contract.d.ts.map +1 -0
  87. package/dist/Deployable/Contract.js +150 -0
  88. package/dist/Deployable/Contract.js.map +1 -0
  89. package/dist/Deployable/Deployable.cjs +2 -0
  90. package/dist/Deployable/Deployable.cjs.map +1 -0
  91. package/dist/Deployable/Deployable.d.ts +161 -0
  92. package/dist/Deployable/Deployable.d.ts.map +1 -0
  93. package/dist/Deployable/Deployable.js +131 -0
  94. package/dist/Deployable/Deployable.js.map +1 -0
  95. package/dist/Deployable/DeployableTarget.cjs +2 -0
  96. package/dist/Deployable/DeployableTarget.cjs.map +1 -0
  97. package/dist/Deployable/DeployableTarget.d.ts +116 -0
  98. package/dist/Deployable/DeployableTarget.d.ts.map +1 -0
  99. package/dist/Deployable/DeployableTarget.js +132 -0
  100. package/dist/Deployable/DeployableTarget.js.map +1 -0
  101. package/dist/Incentives/AllowListIncentive.cjs +2 -0
  102. package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
  103. package/dist/Incentives/AllowListIncentive.d.ts +513 -0
  104. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -0
  105. package/dist/Incentives/AllowListIncentive.js +201 -0
  106. package/dist/Incentives/AllowListIncentive.js.map +1 -0
  107. package/dist/Incentives/CGDAIncentive.cjs +2 -0
  108. package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
  109. package/dist/Incentives/CGDAIncentive.d.ts +644 -0
  110. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -0
  111. package/dist/Incentives/CGDAIncentive.js +271 -0
  112. package/dist/Incentives/CGDAIncentive.js.map +1 -0
  113. package/dist/Incentives/ERC1155Incentive.d.ts +713 -0
  114. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -0
  115. package/dist/Incentives/ERC20Incentive.cjs +2 -0
  116. package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
  117. package/dist/Incentives/ERC20Incentive.d.ts +666 -0
  118. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -0
  119. package/dist/Incentives/ERC20Incentive.js +312 -0
  120. package/dist/Incentives/ERC20Incentive.js.map +1 -0
  121. package/dist/Incentives/ERC20VariableIncentive.d.ts +582 -0
  122. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -0
  123. package/dist/Incentives/Incentive.cjs +2 -0
  124. package/dist/Incentives/Incentive.cjs.map +1 -0
  125. package/dist/Incentives/Incentive.d.ts +36 -0
  126. package/dist/Incentives/Incentive.d.ts.map +1 -0
  127. package/dist/Incentives/Incentive.js +299 -0
  128. package/dist/Incentives/Incentive.js.map +1 -0
  129. package/dist/Incentives/PointsIncentive.cjs +2 -0
  130. package/dist/Incentives/PointsIncentive.cjs.map +1 -0
  131. package/dist/Incentives/PointsIncentive.d.ts +659 -0
  132. package/dist/Incentives/PointsIncentive.d.ts.map +1 -0
  133. package/dist/Incentives/PointsIncentive.js +215 -0
  134. package/dist/Incentives/PointsIncentive.js.map +1 -0
  135. package/dist/Validators/SignerValidator.cjs +2 -0
  136. package/dist/Validators/SignerValidator.cjs.map +1 -0
  137. package/dist/Validators/SignerValidator.d.ts +745 -0
  138. package/dist/Validators/SignerValidator.d.ts.map +1 -0
  139. package/dist/Validators/SignerValidator.js +293 -0
  140. package/dist/Validators/SignerValidator.js.map +1 -0
  141. package/dist/Validators/Validator.cjs +2 -0
  142. package/dist/Validators/Validator.cjs.map +1 -0
  143. package/dist/Validators/Validator.d.ts +31 -0
  144. package/dist/Validators/Validator.d.ts.map +1 -0
  145. package/dist/Validators/Validator.js +27 -0
  146. package/dist/Validators/Validator.js.map +1 -0
  147. package/dist/claiming.cjs +2 -0
  148. package/dist/claiming.cjs.map +1 -0
  149. package/dist/claiming.d.ts +43 -0
  150. package/dist/claiming.d.ts.map +1 -0
  151. package/dist/claiming.js +17 -0
  152. package/dist/claiming.js.map +1 -0
  153. package/dist/componentInterfaces-CKCBwG16.cjs +2 -0
  154. package/dist/componentInterfaces-CKCBwG16.cjs.map +1 -0
  155. package/dist/componentInterfaces-DYkaxBda.js +13 -0
  156. package/dist/componentInterfaces-DYkaxBda.js.map +1 -0
  157. package/dist/errors.cjs +2 -0
  158. package/dist/errors.cjs.map +1 -0
  159. package/dist/errors.d.ts +441 -0
  160. package/dist/errors.d.ts.map +1 -0
  161. package/dist/errors.js +262 -0
  162. package/dist/errors.js.map +1 -0
  163. package/dist/generated-BDeDiaCK.js +4625 -0
  164. package/dist/generated-BDeDiaCK.js.map +1 -0
  165. package/dist/generated-wKBNvm48.cjs +3 -0
  166. package/dist/generated-wKBNvm48.cjs.map +1 -0
  167. package/dist/index.cjs +2 -0
  168. package/dist/index.cjs.map +1 -0
  169. package/dist/index.d.ts +25 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +113 -0
  172. package/dist/index.js.map +1 -0
  173. package/dist/transfers.cjs +2 -0
  174. package/dist/transfers.cjs.map +1 -0
  175. package/dist/transfers.d.ts +198 -0
  176. package/dist/transfers.d.ts.map +1 -0
  177. package/dist/transfers.js +84 -0
  178. package/dist/transfers.js.map +1 -0
  179. package/dist/utils.cjs +2 -0
  180. package/dist/utils.cjs.map +1 -0
  181. package/dist/utils.d.ts +116 -0
  182. package/dist/utils.d.ts.map +1 -0
  183. package/dist/utils.js +30 -0
  184. package/dist/utils.js.map +1 -0
  185. package/package.json +211 -0
  186. package/src/Actions/Action.test.ts +75 -0
  187. package/src/Actions/Action.ts +61 -0
  188. package/src/Actions/ContractAction.test.ts +197 -0
  189. package/src/Actions/ContractAction.ts +301 -0
  190. package/src/Actions/ERC721MintAction.test.ts +112 -0
  191. package/src/Actions/ERC721MintAction.ts +292 -0
  192. package/src/Actions/EventAction.test.ts +205 -0
  193. package/src/Actions/EventAction.ts +811 -0
  194. package/src/AllowLists/AllowList.test.ts +64 -0
  195. package/src/AllowLists/AllowList.ts +60 -0
  196. package/src/AllowLists/SimpleAllowList.test.ts +52 -0
  197. package/src/AllowLists/SimpleAllowList.ts +284 -0
  198. package/src/AllowLists/SimpleDenyList.test.ts +52 -0
  199. package/src/AllowLists/SimpleDenyList.ts +227 -0
  200. package/src/Auth/Auth.ts +11 -0
  201. package/src/Auth/PassthroughAuth.test.ts +12 -0
  202. package/src/Auth/PassthroughAuth.ts +80 -0
  203. package/src/Boost.ts +290 -0
  204. package/src/BoostCore.test.ts +773 -0
  205. package/src/BoostCore.ts +1261 -0
  206. package/src/BoostRegistry.ts +467 -0
  207. package/src/Budgets/Budget.test.ts +27 -0
  208. package/src/Budgets/Budget.ts +61 -0
  209. package/src/Budgets/ManagedBudget.test.ts +154 -0
  210. package/src/Budgets/ManagedBudget.ts +796 -0
  211. package/src/Budgets/SimpleBudget.test.ts +152 -0
  212. package/src/Budgets/SimpleBudget.ts +564 -0
  213. package/src/Budgets/VestingBudget.test.ts +123 -0
  214. package/src/Budgets/VestingBudget.ts +602 -0
  215. package/src/Deployable/Contract.ts +229 -0
  216. package/src/Deployable/Deployable.ts +250 -0
  217. package/src/Deployable/DeployableTarget.ts +223 -0
  218. package/src/Incentives/AllowListIncentive.test.ts +143 -0
  219. package/src/Incentives/AllowListIncentive.ts +334 -0
  220. package/src/Incentives/CGDAIncentive.test.ts +132 -0
  221. package/src/Incentives/CGDAIncentive.ts +468 -0
  222. package/src/Incentives/ERC1155Incentive.test.ts +87 -0
  223. package/src/Incentives/ERC1155Incentive.ts +466 -0
  224. package/src/Incentives/ERC20Incentive.test.ts +130 -0
  225. package/src/Incentives/ERC20Incentive.ts +482 -0
  226. package/src/Incentives/ERC20VariableIncentive.test.ts +136 -0
  227. package/src/Incentives/ERC20VariableIncentive.ts +420 -0
  228. package/src/Incentives/Incentive.test.ts +92 -0
  229. package/src/Incentives/Incentive.ts +85 -0
  230. package/src/Incentives/PointsIncentive.test.ts +139 -0
  231. package/src/Incentives/PointsIncentive.ts +365 -0
  232. package/src/Validators/SignerValidator.test.ts +159 -0
  233. package/src/Validators/SignerValidator.ts +681 -0
  234. package/src/Validators/Validator.test.ts +21 -0
  235. package/src/Validators/Validator.ts +55 -0
  236. package/src/claiming.ts +56 -0
  237. package/src/errors.ts +542 -0
  238. package/src/index.test.ts +40 -0
  239. package/src/index.ts +53 -0
  240. package/src/transfers.ts +284 -0
  241. package/src/utils.test.ts +44 -0
  242. package/src/utils.ts +198 -0
@@ -0,0 +1,694 @@
1
+ import { eventActionAbi } from '@boostxyz/evm';
2
+ import { type Abi, type AbiEvent, type Address, type ContractEventName, type Hex, type Log } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTarget } from '../Deployable/DeployableTarget';
5
+ import { type GetLogsParams, type ReadParams, RegistryType, type WriteParams } from '../utils';
6
+ /**
7
+ * Filter types used to determine how criteria are evaluated.
8
+ *
9
+ * @export
10
+ * @enum {number}
11
+ */
12
+ export declare enum FilterType {
13
+ EQUAL = 0,
14
+ NOT_EQUAL = 1,
15
+ GREATER_THAN = 2,
16
+ LESS_THAN = 3,
17
+ CONTAINS = 4
18
+ }
19
+ /**
20
+ * The primitive types supported for filtering.
21
+ *
22
+ * @export
23
+ * @enum {number}
24
+ */
25
+ export declare enum PrimitiveType {
26
+ UINT = 0,
27
+ ADDRESS = 1,
28
+ BYTES = 2,
29
+ STRING = 3
30
+ }
31
+ /**
32
+ * Object representation of a `Criteria` struct used in event actions.
33
+ *
34
+ * @export
35
+ * @interface Criteria
36
+ * @typedef {Criteria}
37
+ */
38
+ export interface Criteria {
39
+ /**
40
+ * The filter type used in this criteria.
41
+ *
42
+ * @type {FilterType}
43
+ */
44
+ filterType: FilterType;
45
+ /**
46
+ * The primitive type of the field being filtered.
47
+ *
48
+ * @type {PrimitiveType}
49
+ */
50
+ fieldType: PrimitiveType;
51
+ /**
52
+ * The index in the logs argument array where the field is located.
53
+ *
54
+ * @type {number}
55
+ */
56
+ fieldIndex: number;
57
+ /**
58
+ * The filter data used for complex filtering.
59
+ *
60
+ * @type {Hex}
61
+ */
62
+ filterData: Hex;
63
+ }
64
+ /**
65
+ * Whether a given signature is an event or function
66
+ *
67
+ * @export
68
+ * @enum {number}
69
+ */
70
+ export declare enum SignatureType {
71
+ EVENT = 0,
72
+ FUNC = 1
73
+ }
74
+ /**
75
+ * The payload describing how claimants are identified
76
+ *
77
+ * @export
78
+ * @interface ActionClaimant
79
+ * @typedef {ActionClaimant}
80
+ */
81
+ export interface ActionClaimant {
82
+ /**
83
+ * Whether claimaint is inferred from event or function
84
+ *
85
+ * @type {SignatureType}
86
+ */
87
+ signatureType: SignatureType;
88
+ /**
89
+ * The 4 byte signature of the event or function
90
+ *
91
+ * @type {Hex}
92
+ */
93
+ signature: Hex;
94
+ /**
95
+ * The index corresponding to claimant.
96
+ *
97
+ * @type {number}
98
+ */
99
+ fieldIndex: number;
100
+ /**
101
+ * The address of the target contract
102
+ *
103
+ * @type {Address}
104
+ */
105
+ targetContract: Address;
106
+ /**
107
+ * The chain id of the target contract.
108
+ * @type {number}
109
+ */
110
+ chainid: number;
111
+ }
112
+ /**
113
+ * Object representation of an `ActionStep` struct used in event actions.
114
+ *
115
+ * @export
116
+ * @interface ActionStep
117
+ * @typedef {ActionStep}
118
+ */
119
+ export interface ActionStep {
120
+ /**
121
+ * The signature of the event.
122
+ *
123
+ * @type {Hex}
124
+ */
125
+ signature: Hex;
126
+ /**
127
+ * Whether claimaint is inferred from event or function
128
+ *
129
+ * @type {SignatureType}
130
+ */
131
+ signatureType: SignatureType;
132
+ /**
133
+ * The type of action being performed.
134
+ *
135
+ * @type {number}
136
+ */
137
+ actionType?: number;
138
+ /**
139
+ * The address of the target contract.
140
+ *
141
+ * @type {Address}
142
+ */
143
+ targetContract: Address;
144
+ /**
145
+ * The chain id of the target contract.
146
+ * @type {number}
147
+ */
148
+ chainid: number;
149
+ /**
150
+ * The criteria used for this action step.
151
+ *
152
+ * @type {Criteria}
153
+ */
154
+ actionParameter: Criteria;
155
+ }
156
+ /**
157
+ * You can either supply a simplified version of the payload, or one that explicitly declares action steps.
158
+ *
159
+ * @export
160
+ * @typedef {EventActionPayload}
161
+ */
162
+ export type EventActionPayload = EventActionPayloadSimple | EventActionPayloadRaw;
163
+ export interface EventActionPayloadSimple {
164
+ /**
165
+ * The payload describing how claimants are identified
166
+ *
167
+ * @type {ActionClaimant}
168
+ */
169
+ actionClaimant: ActionClaimant;
170
+ /**
171
+ * Up to 4 action steps.
172
+ * If you supply less than 4, then the last step will be reused to satisfy the EventAction.InitPayload
173
+ * Any more than 4 will throw an error.
174
+ *
175
+ * @type {ActionStep[]}
176
+ */
177
+ actionSteps: ActionStep[];
178
+ }
179
+ export type ActionStepTuple = [ActionStep, ActionStep, ActionStep, ActionStep];
180
+ /**
181
+ * Typeguard to determine if a user is supplying a simple or raw EventActionPayload
182
+ *
183
+ * @param {*} opts
184
+ * @returns {opts is EventActionPayloadSimple}
185
+ */
186
+ export declare function isEventActionPayloadSimple(opts: EventActionPayload): opts is EventActionPayloadSimple;
187
+ /**
188
+ * Object representation of an `InitPayload` struct used to initialize event actions.
189
+ *
190
+ * @export
191
+ * @interface EventActionPayloadRaw
192
+ * @typedef {EventActionPayloadRaw}
193
+ */
194
+ export interface EventActionPayloadRaw {
195
+ /**
196
+ * The payload describing how claimants are identified
197
+ *
198
+ * @type {ActionClaimant}
199
+ */
200
+ actionClaimant: ActionClaimant;
201
+ /**
202
+ * The first action step.
203
+ *
204
+ * @type {ActionStep}
205
+ */
206
+ actionStepOne: ActionStep;
207
+ /**
208
+ * The second action step.
209
+ *
210
+ * @type {ActionStep}
211
+ */
212
+ actionStepTwo: ActionStep;
213
+ /**
214
+ * The third action step.
215
+ *
216
+ * @type {ActionStep}
217
+ */
218
+ actionStepThree: ActionStep;
219
+ /**
220
+ * The fourth action step.
221
+ *
222
+ * @type {ActionStep}
223
+ */
224
+ actionStepFour: ActionStep;
225
+ }
226
+ /**
227
+ * A generic event action
228
+ *
229
+ * @export
230
+ * @class EventAction
231
+ * @typedef {EventAction}
232
+ * @extends {DeployableTarget<EventActionPayload>}
233
+ */
234
+ export declare class EventAction extends DeployableTarget<EventActionPayload, typeof eventActionAbi> {
235
+ /**
236
+ * @inheritdoc
237
+ *
238
+ * @public
239
+ * @readonly
240
+ * @type {*}
241
+ */
242
+ readonly abi: readonly [{
243
+ readonly type: "constructor";
244
+ readonly inputs: readonly [];
245
+ readonly stateMutability: "nonpayable";
246
+ }, {
247
+ readonly type: "error";
248
+ readonly inputs: readonly [];
249
+ readonly name: "CloneAlreadyInitialized";
250
+ }, {
251
+ readonly type: "error";
252
+ readonly inputs: readonly [];
253
+ readonly name: "InitializerNotImplemented";
254
+ }, {
255
+ readonly type: "error";
256
+ readonly inputs: readonly [];
257
+ readonly name: "InvalidInitialization";
258
+ }, {
259
+ readonly type: "error";
260
+ readonly inputs: readonly [];
261
+ readonly name: "InvalidInitializationData";
262
+ }, {
263
+ readonly type: "error";
264
+ readonly inputs: readonly [];
265
+ readonly name: "NotImplemented";
266
+ }, {
267
+ readonly type: "error";
268
+ readonly inputs: readonly [];
269
+ readonly name: "NotInitializing";
270
+ }, {
271
+ readonly type: "event";
272
+ readonly anonymous: false;
273
+ readonly inputs: readonly [{
274
+ readonly name: "executor";
275
+ readonly internalType: "address";
276
+ readonly type: "address";
277
+ readonly indexed: true;
278
+ }, {
279
+ readonly name: "caller";
280
+ readonly internalType: "address";
281
+ readonly type: "address";
282
+ readonly indexed: false;
283
+ }, {
284
+ readonly name: "success";
285
+ readonly internalType: "bool";
286
+ readonly type: "bool";
287
+ readonly indexed: false;
288
+ }, {
289
+ readonly name: "data";
290
+ readonly internalType: "bytes";
291
+ readonly type: "bytes";
292
+ readonly indexed: false;
293
+ }];
294
+ readonly name: "ActionExecuted";
295
+ }, {
296
+ readonly type: "event";
297
+ readonly anonymous: false;
298
+ readonly inputs: readonly [{
299
+ readonly name: "user";
300
+ readonly internalType: "address";
301
+ readonly type: "address";
302
+ readonly indexed: true;
303
+ }, {
304
+ readonly name: "isValidated";
305
+ readonly internalType: "bool";
306
+ readonly type: "bool";
307
+ readonly indexed: false;
308
+ }, {
309
+ readonly name: "data";
310
+ readonly internalType: "bytes";
311
+ readonly type: "bytes";
312
+ readonly indexed: false;
313
+ }];
314
+ readonly name: "ActionValidated";
315
+ }, {
316
+ readonly type: "event";
317
+ readonly anonymous: false;
318
+ readonly inputs: readonly [{
319
+ readonly name: "version";
320
+ readonly internalType: "uint64";
321
+ readonly type: "uint64";
322
+ readonly indexed: false;
323
+ }];
324
+ readonly name: "Initialized";
325
+ }, {
326
+ readonly type: "function";
327
+ readonly inputs: readonly [];
328
+ readonly name: "VALIDATOR";
329
+ readonly outputs: readonly [{
330
+ readonly name: "";
331
+ readonly internalType: "contract AValidator";
332
+ readonly type: "address";
333
+ }];
334
+ readonly stateMutability: "view";
335
+ }, {
336
+ readonly type: "function";
337
+ readonly inputs: readonly [{
338
+ readonly name: "";
339
+ readonly internalType: "bytes";
340
+ readonly type: "bytes";
341
+ }];
342
+ readonly name: "execute";
343
+ readonly outputs: readonly [{
344
+ readonly name: "";
345
+ readonly internalType: "bool";
346
+ readonly type: "bool";
347
+ }, {
348
+ readonly name: "";
349
+ readonly internalType: "bytes";
350
+ readonly type: "bytes";
351
+ }];
352
+ readonly stateMutability: "payable";
353
+ }, {
354
+ readonly type: "function";
355
+ readonly inputs: readonly [];
356
+ readonly name: "getActionClaimant";
357
+ readonly outputs: readonly [{
358
+ readonly name: "";
359
+ readonly internalType: "struct AEventAction.ActionClaimant";
360
+ readonly type: "tuple";
361
+ readonly components: readonly [{
362
+ readonly name: "signatureType";
363
+ readonly internalType: "enum AEventAction.SignatureType";
364
+ readonly type: "uint8";
365
+ }, {
366
+ readonly name: "signature";
367
+ readonly internalType: "bytes32";
368
+ readonly type: "bytes32";
369
+ }, {
370
+ readonly name: "fieldIndex";
371
+ readonly internalType: "uint8";
372
+ readonly type: "uint8";
373
+ }, {
374
+ readonly name: "targetContract";
375
+ readonly internalType: "address";
376
+ readonly type: "address";
377
+ }, {
378
+ readonly name: "chainid";
379
+ readonly internalType: "uint256";
380
+ readonly type: "uint256";
381
+ }];
382
+ }];
383
+ readonly stateMutability: "view";
384
+ }, {
385
+ readonly type: "function";
386
+ readonly inputs: readonly [{
387
+ readonly name: "index";
388
+ readonly internalType: "uint256";
389
+ readonly type: "uint256";
390
+ }];
391
+ readonly name: "getActionStep";
392
+ readonly outputs: readonly [{
393
+ readonly name: "";
394
+ readonly internalType: "struct AEventAction.ActionStep";
395
+ readonly type: "tuple";
396
+ readonly components: readonly [{
397
+ readonly name: "signature";
398
+ readonly internalType: "bytes32";
399
+ readonly type: "bytes32";
400
+ }, {
401
+ readonly name: "signatureType";
402
+ readonly internalType: "enum AEventAction.SignatureType";
403
+ readonly type: "uint8";
404
+ }, {
405
+ readonly name: "actionType";
406
+ readonly internalType: "uint8";
407
+ readonly type: "uint8";
408
+ }, {
409
+ readonly name: "targetContract";
410
+ readonly internalType: "address";
411
+ readonly type: "address";
412
+ }, {
413
+ readonly name: "chainid";
414
+ readonly internalType: "uint256";
415
+ readonly type: "uint256";
416
+ }, {
417
+ readonly name: "actionParameter";
418
+ readonly internalType: "struct AEventAction.Criteria";
419
+ readonly type: "tuple";
420
+ readonly components: readonly [{
421
+ readonly name: "filterType";
422
+ readonly internalType: "enum AEventAction.FilterType";
423
+ readonly type: "uint8";
424
+ }, {
425
+ readonly name: "fieldType";
426
+ readonly internalType: "enum AEventAction.PrimitiveType";
427
+ readonly type: "uint8";
428
+ }, {
429
+ readonly name: "fieldIndex";
430
+ readonly internalType: "uint8";
431
+ readonly type: "uint8";
432
+ }, {
433
+ readonly name: "filterData";
434
+ readonly internalType: "bytes";
435
+ readonly type: "bytes";
436
+ }];
437
+ }];
438
+ }];
439
+ readonly stateMutability: "view";
440
+ }, {
441
+ readonly type: "function";
442
+ readonly inputs: readonly [];
443
+ readonly name: "getActionSteps";
444
+ readonly outputs: readonly [{
445
+ readonly name: "";
446
+ readonly internalType: "struct AEventAction.ActionStep[]";
447
+ readonly type: "tuple[]";
448
+ readonly components: readonly [{
449
+ readonly name: "signature";
450
+ readonly internalType: "bytes32";
451
+ readonly type: "bytes32";
452
+ }, {
453
+ readonly name: "signatureType";
454
+ readonly internalType: "enum AEventAction.SignatureType";
455
+ readonly type: "uint8";
456
+ }, {
457
+ readonly name: "actionType";
458
+ readonly internalType: "uint8";
459
+ readonly type: "uint8";
460
+ }, {
461
+ readonly name: "targetContract";
462
+ readonly internalType: "address";
463
+ readonly type: "address";
464
+ }, {
465
+ readonly name: "chainid";
466
+ readonly internalType: "uint256";
467
+ readonly type: "uint256";
468
+ }, {
469
+ readonly name: "actionParameter";
470
+ readonly internalType: "struct AEventAction.Criteria";
471
+ readonly type: "tuple";
472
+ readonly components: readonly [{
473
+ readonly name: "filterType";
474
+ readonly internalType: "enum AEventAction.FilterType";
475
+ readonly type: "uint8";
476
+ }, {
477
+ readonly name: "fieldType";
478
+ readonly internalType: "enum AEventAction.PrimitiveType";
479
+ readonly type: "uint8";
480
+ }, {
481
+ readonly name: "fieldIndex";
482
+ readonly internalType: "uint8";
483
+ readonly type: "uint8";
484
+ }, {
485
+ readonly name: "filterData";
486
+ readonly internalType: "bytes";
487
+ readonly type: "bytes";
488
+ }];
489
+ }];
490
+ }];
491
+ readonly stateMutability: "view";
492
+ }, {
493
+ readonly type: "function";
494
+ readonly inputs: readonly [];
495
+ readonly name: "getActionStepsCount";
496
+ readonly outputs: readonly [{
497
+ readonly name: "";
498
+ readonly internalType: "uint256";
499
+ readonly type: "uint256";
500
+ }];
501
+ readonly stateMutability: "view";
502
+ }, {
503
+ readonly type: "function";
504
+ readonly inputs: readonly [];
505
+ readonly name: "getComponentInterface";
506
+ readonly outputs: readonly [{
507
+ readonly name: "";
508
+ readonly internalType: "bytes4";
509
+ readonly type: "bytes4";
510
+ }];
511
+ readonly stateMutability: "pure";
512
+ }, {
513
+ readonly type: "function";
514
+ readonly inputs: readonly [{
515
+ readonly name: "data_";
516
+ readonly internalType: "bytes";
517
+ readonly type: "bytes";
518
+ }];
519
+ readonly name: "initialize";
520
+ readonly outputs: readonly [];
521
+ readonly stateMutability: "nonpayable";
522
+ }, {
523
+ readonly type: "function";
524
+ readonly inputs: readonly [{
525
+ readonly name: "";
526
+ readonly internalType: "bytes";
527
+ readonly type: "bytes";
528
+ }];
529
+ readonly name: "prepare";
530
+ readonly outputs: readonly [{
531
+ readonly name: "";
532
+ readonly internalType: "bytes";
533
+ readonly type: "bytes";
534
+ }];
535
+ readonly stateMutability: "view";
536
+ }, {
537
+ readonly type: "function";
538
+ readonly inputs: readonly [{
539
+ readonly name: "interfaceId";
540
+ readonly internalType: "bytes4";
541
+ readonly type: "bytes4";
542
+ }];
543
+ readonly name: "supportsInterface";
544
+ readonly outputs: readonly [{
545
+ readonly name: "";
546
+ readonly internalType: "bool";
547
+ readonly type: "bool";
548
+ }];
549
+ readonly stateMutability: "view";
550
+ }];
551
+ /**
552
+ * @inheritdoc
553
+ *
554
+ * @public
555
+ * @static
556
+ * @type {Address}
557
+ */
558
+ static base: Address;
559
+ /**
560
+ * @inheritdoc
561
+ *
562
+ * @public
563
+ * @static
564
+ * @type {RegistryType}
565
+ */
566
+ static registryType: RegistryType;
567
+ /**
568
+ * Gets a specific action event by index
569
+ *
570
+ * @public
571
+ * @async
572
+ * @param {number} index The index of the action event to retrieve
573
+ * @param {?ReadParams<typeof eventActionAbi, 'getActionStep'>} [params]
574
+ * @returns {Promise<ActionStep>}
575
+ */
576
+ getActionStep(index: number, params?: ReadParams<typeof eventActionAbi, 'getActionStep'>): Promise<ActionStep | undefined>;
577
+ /**
578
+ * Gets all action events
579
+ *
580
+ * @public
581
+ * @async
582
+ * @param {?ReadParams<typeof eventActionAbi, 'getActionSteps'>} [params]
583
+ * @returns {Promise<ActionStep[]>}
584
+ */
585
+ getActionSteps(params?: ReadParams<typeof eventActionAbi, 'getActionSteps'>): Promise<ActionStep[]>;
586
+ /**
587
+ * Gets the count of action events
588
+ *
589
+ * @public
590
+ * @async
591
+ * @param {?ReadParams<typeof eventActionAbi, 'getActionStepsCount'>} [params]
592
+ * @returns {Promise<bigint>}
593
+ */
594
+ getActionStepsCount(params?: ReadParams<typeof eventActionAbi, 'getActionStepsCount'>): Promise<number>;
595
+ /**
596
+ * Retrieves the payload describing how claimants can be identified from logs or function calls.
597
+ *
598
+ * @public
599
+ * @async
600
+ * @param {?ReadParams<typeof eventActionAbi, 'getActionClaimant'>} [params]
601
+ * @returns {Promise<ActionClaimant>}
602
+ */
603
+ getActionClaimant(params?: ReadParams<typeof eventActionAbi, 'getActionClaimant'>): Promise<Pick<ActionClaimant, "signatureType" | "signature" | "fieldIndex" | "targetContract"> & {
604
+ chainid: bigint;
605
+ } & {
606
+ chainid: number;
607
+ }>;
608
+ /**
609
+ * Executes a prepared event action
610
+ *
611
+ * @public
612
+ * @async
613
+ * @param {Hex} data
614
+ * @param {?WriteParams<typeof eventActionAbi, 'execute'>} [params]
615
+ * @returns {Promise<readonly [boolean, `0x${string}`]>}
616
+ */
617
+ execute(data: Hex, params?: WriteParams<typeof eventActionAbi, 'execute'>): Promise<readonly [boolean, `0x${string}`]>;
618
+ /**
619
+ * Executes a prepared event action
620
+ *
621
+ * @public
622
+ * @async
623
+ * @param {Hex} data
624
+ * @param {?WriteParams<typeof eventActionAbi, 'execute'>} [params]
625
+ * @returns {unknown}
626
+ */
627
+ executeRaw(data: Hex, params?: WriteParams<typeof eventActionAbi, 'execute'>): Promise<{
628
+ hash: `0x${string}`;
629
+ result: readonly [boolean, `0x${string}`];
630
+ }>;
631
+ /**
632
+ * Retrieves action steps, and uses them to validate against, and optionally fetch logs that match the step's signature.
633
+ * If logs are provided in the optional `params` argument, then those logs will be used instead of fetched with the configured client.
634
+ *
635
+ * @public
636
+ * @async
637
+ * @param {?ReadParams<typeof eventActionAbi, 'getActionSteps'> &
638
+ * GetLogsParams<Abi, ContractEventName<Abi>> & {
639
+ * knownEvents?: Record<Hex, AbiEvent>;
640
+ * logs?: Log[];
641
+ * }} [params]
642
+ * @returns {Promise<boolean>}
643
+ */
644
+ validateActionSteps(params?: ReadParams<typeof eventActionAbi, 'getActionSteps'> & GetLogsParams<Abi, ContractEventName<Abi>> & {
645
+ knownEvents?: Record<Hex, AbiEvent>;
646
+ logs?: Log[];
647
+ }): Promise<boolean>;
648
+ /**
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.
651
+ *
652
+ * @public
653
+ * @async
654
+ * @param {ActionStep} actionStep
655
+ * @param {?GetLogsParams<Abi, ContractEventName<Abi>> & {
656
+ * knownEvents?: Record<Hex, AbiEvent>;
657
+ * logs?: Log[];
658
+ * }} [params]
659
+ * @returns {Promise<boolean>}
660
+ */
661
+ isActionStepValid(actionStep: ActionStep, params?: GetLogsParams<Abi, ContractEventName<Abi>> & {
662
+ knownEvents?: Record<Hex, AbiEvent>;
663
+ logs?: Log[];
664
+ }): Promise<boolean>;
665
+ /**
666
+ * Validates a {@link Log} against a given criteria.
667
+ *
668
+ * @param {Criteria} criteria - The criteria to validate against.
669
+ * @param {Log} log - The Viem event log.
670
+ * @returns {boolean} - Returns true if the log passes the criteria, false otherwise.
671
+ */
672
+ validateLogAgainstCriteria(criteria: Criteria, log: Log): boolean;
673
+ /**
674
+ * @inheritdoc
675
+ *
676
+ * @public
677
+ * @param {?EventActionPayload} [_payload]
678
+ * @param {?DeployableOptions} [_options]
679
+ * @returns {GenericDeployableParams}
680
+ */
681
+ buildParameters(_payload?: EventActionPayload, _options?: DeployableOptions): GenericDeployableParams;
682
+ }
683
+ /**
684
+ * Function to properly encode an event action payload.
685
+ *
686
+ * @param {InitPayload} param0
687
+ * @param {ActionStep} param0.actionStepOne - The first action step to initialize.
688
+ * @param {ActionStep} param0.actionStepTwo - The second action step to initialize.
689
+ * @param {ActionStep} param0.actionStepThree - The third action step to initialize.
690
+ * @param {ActionStep} param0.actionStepFour - The fourth action step to initialize.
691
+ * @returns {Hex}
692
+ */
693
+ export declare function prepareEventActionPayload({ actionClaimant, actionStepOne, actionStepTwo, actionStepThree, actionStepFour, }: EventActionPayloadRaw): `0x${string}`;
694
+ //# sourceMappingURL=EventAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventAction.d.ts","sourceRoot":"","sources":["../../src/Actions/EventAction.ts"],"names":[],"mappings":"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"}