@coinbase/cdp-sdk 1.15.0 → 1.17.0

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 (145) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +82 -20
  3. package/_cjs/accounts/evm/toEvmServerAccount.js +20 -7
  4. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  5. package/_cjs/accounts/evm/toEvmSmartAccount.js +26 -0
  6. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  7. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js +28 -0
  8. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -0
  9. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +26 -0
  10. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -0
  11. package/_cjs/actions/evm/signAndWrapTypedDataForSmartAccount.js +186 -0
  12. package/_cjs/actions/evm/signAndWrapTypedDataForSmartAccount.js.map +1 -0
  13. package/_cjs/actions/evm/swap/createSwapQuote.js +26 -8
  14. package/_cjs/actions/evm/swap/createSwapQuote.js.map +1 -1
  15. package/_cjs/actions/evm/swap/getSwapPrice.js +3 -2
  16. package/_cjs/actions/evm/swap/getSwapPrice.js.map +1 -1
  17. package/_cjs/actions/evm/swap/sendSwapOperation.js +153 -0
  18. package/_cjs/actions/evm/swap/sendSwapOperation.js.map +1 -0
  19. package/_cjs/actions/evm/swap/sendSwapTransaction.js +16 -2
  20. package/_cjs/actions/evm/swap/sendSwapTransaction.js.map +1 -1
  21. package/_cjs/client/evm/evm.js +13 -6
  22. package/_cjs/client/evm/evm.js.map +1 -1
  23. package/_cjs/client/policies/policies.js +6 -2
  24. package/_cjs/client/policies/policies.js.map +1 -1
  25. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +45 -1
  26. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  27. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js +48 -0
  28. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  29. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js +35 -0
  30. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js.map +1 -1
  31. package/_cjs/openapi-client/generated/index.msw.js +5 -5
  32. package/_cjs/openapi-client/generated/index.msw.js.map +1 -1
  33. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +342 -1
  34. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  35. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +40 -0
  36. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  37. package/_cjs/policies/schema.js +83 -2
  38. package/_cjs/policies/schema.js.map +1 -1
  39. package/_cjs/utils/uuidV4.js +26 -0
  40. package/_cjs/utils/uuidV4.js.map +1 -0
  41. package/_cjs/version.js +1 -1
  42. package/_esm/accounts/evm/toEvmServerAccount.js +21 -8
  43. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  44. package/_esm/accounts/evm/toEvmSmartAccount.js +26 -0
  45. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  46. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js +25 -0
  47. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -0
  48. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +23 -0
  49. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -0
  50. package/_esm/actions/evm/signAndWrapTypedDataForSmartAccount.js +181 -0
  51. package/_esm/actions/evm/signAndWrapTypedDataForSmartAccount.js.map +1 -0
  52. package/_esm/actions/evm/swap/createSwapQuote.js +26 -8
  53. package/_esm/actions/evm/swap/createSwapQuote.js.map +1 -1
  54. package/_esm/actions/evm/swap/getSwapPrice.js +3 -2
  55. package/_esm/actions/evm/swap/getSwapPrice.js.map +1 -1
  56. package/_esm/actions/evm/swap/sendSwapOperation.js +150 -0
  57. package/_esm/actions/evm/swap/sendSwapOperation.js.map +1 -0
  58. package/_esm/actions/evm/swap/sendSwapTransaction.js +16 -2
  59. package/_esm/actions/evm/swap/sendSwapTransaction.js.map +1 -1
  60. package/_esm/client/evm/evm.js +14 -7
  61. package/_esm/client/evm/evm.js.map +1 -1
  62. package/_esm/client/policies/policies.js +7 -3
  63. package/_esm/client/policies/policies.js.map +1 -1
  64. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +44 -0
  65. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  66. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js +48 -0
  67. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  68. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js +35 -0
  69. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js.map +1 -1
  70. package/_esm/openapi-client/generated/index.msw.js +5 -5
  71. package/_esm/openapi-client/generated/index.msw.js.map +1 -1
  72. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +321 -0
  73. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  74. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +40 -0
  75. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  76. package/_esm/policies/schema.js +83 -2
  77. package/_esm/policies/schema.js.map +1 -1
  78. package/_esm/utils/uuidV4.js +23 -0
  79. package/_esm/utils/uuidV4.js.map +1 -0
  80. package/_esm/version.js +1 -1
  81. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  82. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  83. package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts +23 -0
  84. package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts.map +1 -0
  85. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts +27 -0
  86. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -0
  87. package/_types/accounts/evm/types.d.ts +26 -9
  88. package/_types/accounts/evm/types.d.ts.map +1 -1
  89. package/_types/actions/evm/signAndWrapTypedDataForSmartAccount.d.ts +133 -0
  90. package/_types/actions/evm/signAndWrapTypedDataForSmartAccount.d.ts.map +1 -0
  91. package/_types/actions/evm/swap/createSwapQuote.d.ts.map +1 -1
  92. package/_types/actions/evm/swap/getSwapPrice.d.ts +2 -1
  93. package/_types/actions/evm/swap/getSwapPrice.d.ts.map +1 -1
  94. package/_types/actions/evm/swap/sendSwapOperation.d.ts +64 -0
  95. package/_types/actions/evm/swap/sendSwapOperation.d.ts.map +1 -0
  96. package/_types/actions/evm/swap/sendSwapTransaction.d.ts.map +1 -1
  97. package/_types/actions/evm/swap/types.d.ts +131 -5
  98. package/_types/actions/evm/swap/types.d.ts.map +1 -1
  99. package/_types/actions/evm/types.d.ts +112 -21
  100. package/_types/actions/evm/types.d.ts.map +1 -1
  101. package/_types/client/evm/evm.d.ts.map +1 -1
  102. package/_types/client/evm/evm.types.d.ts +33 -7
  103. package/_types/client/evm/evm.types.d.ts.map +1 -1
  104. package/_types/client/policies/policies.d.ts.map +1 -1
  105. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +182 -2
  106. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  107. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts.map +1 -1
  108. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.d.ts.map +1 -1
  109. package/_types/openapi-client/generated/index.msw.d.ts +5 -5
  110. package/_types/openapi-client/generated/index.msw.d.ts.map +1 -1
  111. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +21 -1
  112. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +1 -1
  113. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +1 -1
  114. package/_types/openapi-client/index.d.ts.map +1 -1
  115. package/_types/policies/schema.d.ts +3780 -7
  116. package/_types/policies/schema.d.ts.map +1 -1
  117. package/_types/utils/uuidV4.d.ts +10 -0
  118. package/_types/utils/uuidV4.d.ts.map +1 -0
  119. package/_types/version.d.ts +1 -1
  120. package/accounts/evm/toEvmServerAccount.ts +40 -15
  121. package/accounts/evm/toEvmSmartAccount.ts +33 -0
  122. package/accounts/evm/toNetworkScopedEvmServerAccount.ts +42 -0
  123. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +41 -0
  124. package/accounts/evm/types.ts +46 -17
  125. package/actions/evm/signAndWrapTypedDataForSmartAccount.ts +246 -0
  126. package/actions/evm/swap/createSwapQuote.ts +42 -17
  127. package/actions/evm/swap/getSwapPrice.ts +15 -11
  128. package/actions/evm/swap/sendSwapOperation.ts +182 -0
  129. package/actions/evm/swap/sendSwapTransaction.ts +18 -2
  130. package/actions/evm/swap/types.ts +154 -5
  131. package/actions/evm/types.ts +123 -21
  132. package/client/evm/evm.ts +19 -8
  133. package/client/evm/evm.types.ts +34 -7
  134. package/client/policies/policies.ts +12 -3
  135. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +221 -2
  136. package/openapi-client/generated/evm-accounts/evm-accounts.msw.ts +48 -0
  137. package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.ts +35 -0
  138. package/openapi-client/generated/faucets/faucets.ts +4 -4
  139. package/openapi-client/generated/index.msw.ts +5 -5
  140. package/openapi-client/generated/policy-engine/policy-engine.msw.ts +434 -0
  141. package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +40 -0
  142. package/package.json +1 -1
  143. package/policies/schema.ts +94 -6
  144. package/utils/uuidV4.ts +23 -0
  145. package/version.ts +1 -1
@@ -140,6 +140,423 @@ export declare const EvmMessageCriterionSchema: z.ZodObject<{
140
140
  match: string;
141
141
  }>;
142
142
  export type EvmMessageCriterion = z.infer<typeof EvmMessageCriterionSchema>;
143
+ /**
144
+ * A list of comparables to apply against encoded arguments in the transaction's `data` field.
145
+ */
146
+ export declare const EvmDataParameterConditionListSchema: z.ZodObject<{
147
+ /**
148
+ * The name of the parameter to check against a transaction's calldata.
149
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
150
+ */
151
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
152
+ /**
153
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
154
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
155
+ */
156
+ operator: z.ZodEnum<["in", "not in"]>;
157
+ /**
158
+ * Values to compare against the resolved `name` value.
159
+ * All values are encoded as strings. Refer to the table in the documentation for how values
160
+ * should be encoded, and which operators are supported for each type.
161
+ */
162
+ values: z.ZodArray<z.ZodString, "many">;
163
+ }, "strip", z.ZodTypeAny, {
164
+ values: string[];
165
+ name: string;
166
+ operator: "in" | "not in";
167
+ }, {
168
+ values: string[];
169
+ name: string;
170
+ operator: "in" | "not in";
171
+ }>;
172
+ export type EvmDataParameterConditionList = z.infer<typeof EvmDataParameterConditionListSchema>;
173
+ /**
174
+ * A single condition to apply against encoded arguments in the transaction's `data` field.
175
+ */
176
+ export declare const EvmDataParameterConditionSchema: z.ZodObject<{
177
+ /**
178
+ * The name of the parameter to check against a transaction's calldata.
179
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
180
+ */
181
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
182
+ /**
183
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
184
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
185
+ */
186
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
187
+ /**
188
+ * A single value to compare the value resolved at `name` to.
189
+ * All values are encoded as strings. Refer to the table in the documentation for how values
190
+ * should be encoded, and which operators are supported for each type.
191
+ */
192
+ value: z.ZodString;
193
+ }, "strip", z.ZodTypeAny, {
194
+ name: string;
195
+ value: string;
196
+ operator: ">" | ">=" | "<" | "<=" | "==";
197
+ }, {
198
+ name: string;
199
+ value: string;
200
+ operator: ">" | ">=" | "<" | "<=" | "==";
201
+ }>;
202
+ export type EvmDataParameterCondition = z.infer<typeof EvmDataParameterConditionSchema>;
203
+ /**
204
+ * A single condition to apply against the function and encoded arguments in the transaction's `data` field.
205
+ * Each `parameter` configuration must be successfully evaluated against the corresponding function argument
206
+ * in order for a policy to be accepted.
207
+ */
208
+ export declare const EvmDataConditionSchema: z.ZodObject<{
209
+ /**
210
+ * The name of a smart contract function being called.
211
+ */
212
+ function: z.ZodString;
213
+ /**
214
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
215
+ */
216
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
217
+ /**
218
+ * The name of the parameter to check against a transaction's calldata.
219
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
220
+ */
221
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
222
+ /**
223
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
224
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
225
+ */
226
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
227
+ /**
228
+ * A single value to compare the value resolved at `name` to.
229
+ * All values are encoded as strings. Refer to the table in the documentation for how values
230
+ * should be encoded, and which operators are supported for each type.
231
+ */
232
+ value: z.ZodString;
233
+ }, "strip", z.ZodTypeAny, {
234
+ name: string;
235
+ value: string;
236
+ operator: ">" | ">=" | "<" | "<=" | "==";
237
+ }, {
238
+ name: string;
239
+ value: string;
240
+ operator: ">" | ">=" | "<" | "<=" | "==";
241
+ }>, z.ZodObject<{
242
+ /**
243
+ * The name of the parameter to check against a transaction's calldata.
244
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
245
+ */
246
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
247
+ /**
248
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
249
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
250
+ */
251
+ operator: z.ZodEnum<["in", "not in"]>;
252
+ /**
253
+ * Values to compare against the resolved `name` value.
254
+ * All values are encoded as strings. Refer to the table in the documentation for how values
255
+ * should be encoded, and which operators are supported for each type.
256
+ */
257
+ values: z.ZodArray<z.ZodString, "many">;
258
+ }, "strip", z.ZodTypeAny, {
259
+ values: string[];
260
+ name: string;
261
+ operator: "in" | "not in";
262
+ }, {
263
+ values: string[];
264
+ name: string;
265
+ operator: "in" | "not in";
266
+ }>]>, "many">>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ function: string;
269
+ params?: ({
270
+ values: string[];
271
+ name: string;
272
+ operator: "in" | "not in";
273
+ } | {
274
+ name: string;
275
+ value: string;
276
+ operator: ">" | ">=" | "<" | "<=" | "==";
277
+ })[] | undefined;
278
+ }, {
279
+ function: string;
280
+ params?: ({
281
+ values: string[];
282
+ name: string;
283
+ operator: "in" | "not in";
284
+ } | {
285
+ name: string;
286
+ value: string;
287
+ operator: ">" | ">=" | "<" | "<=" | "==";
288
+ })[] | undefined;
289
+ }>;
290
+ export type EvmDataCondition = z.infer<typeof EvmDataConditionSchema>;
291
+ /**
292
+ * Schema for EVM data criterion
293
+ */
294
+ export declare const EvmDataCriterionSchema: z.ZodObject<{
295
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
296
+ type: z.ZodLiteral<"evmData">;
297
+ /**
298
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
299
+ */
300
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
301
+ type: z.ZodLiteral<"error">;
302
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
303
+ name: z.ZodString;
304
+ }, "strip", z.ZodTypeAny, {
305
+ inputs: readonly import("abitype").AbiParameter[];
306
+ type: "error";
307
+ name: string;
308
+ }, {
309
+ inputs: readonly import("abitype").AbiParameter[];
310
+ type: "error";
311
+ name: string;
312
+ }>, z.ZodObject<{
313
+ type: z.ZodLiteral<"event">;
314
+ anonymous: z.ZodOptional<z.ZodBoolean>;
315
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
316
+ name: z.ZodString;
317
+ }, "strip", z.ZodTypeAny, {
318
+ inputs: readonly import("abitype").AbiEventParameter[];
319
+ type: "event";
320
+ name: string;
321
+ anonymous?: boolean | undefined;
322
+ }, {
323
+ inputs: readonly import("abitype").AbiEventParameter[];
324
+ type: "event";
325
+ name: string;
326
+ anonymous?: boolean | undefined;
327
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
328
+ constant: z.ZodOptional<z.ZodBoolean>;
329
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
330
+ payable: z.ZodOptional<z.ZodBoolean>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ payable?: boolean | undefined;
333
+ constant?: boolean | undefined;
334
+ gas?: number | undefined;
335
+ }, {
336
+ payable?: boolean | undefined;
337
+ constant?: boolean | undefined;
338
+ gas?: number | undefined;
339
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
340
+ type: z.ZodLiteral<"function">;
341
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
342
+ name: z.ZodString;
343
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
344
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ inputs: readonly import("abitype").AbiParameter[];
347
+ outputs: readonly import("abitype").AbiParameter[];
348
+ type: "function";
349
+ name: string;
350
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
351
+ }, {
352
+ inputs: readonly import("abitype").AbiParameter[];
353
+ outputs: readonly import("abitype").AbiParameter[];
354
+ type: "function";
355
+ name: string;
356
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
357
+ }>, z.ZodObject<{
358
+ type: z.ZodLiteral<"constructor">;
359
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
360
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
361
+ }, "strip", z.ZodTypeAny, {
362
+ inputs: readonly import("abitype").AbiParameter[];
363
+ type: "constructor";
364
+ stateMutability: "nonpayable" | "payable";
365
+ }, {
366
+ inputs: readonly import("abitype").AbiParameter[];
367
+ type: "constructor";
368
+ stateMutability: "nonpayable" | "payable";
369
+ }>, z.ZodObject<{
370
+ type: z.ZodLiteral<"fallback">;
371
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
372
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
373
+ }, "strip", z.ZodTypeAny, {
374
+ type: "fallback";
375
+ stateMutability: "nonpayable" | "payable";
376
+ inputs?: [] | undefined;
377
+ }, {
378
+ type: "fallback";
379
+ stateMutability: "nonpayable" | "payable";
380
+ inputs?: [] | undefined;
381
+ }>, z.ZodObject<{
382
+ type: z.ZodLiteral<"receive">;
383
+ stateMutability: z.ZodLiteral<"payable">;
384
+ }, "strip", z.ZodTypeAny, {
385
+ type: "receive";
386
+ stateMutability: "payable";
387
+ }, {
388
+ type: "receive";
389
+ stateMutability: "payable";
390
+ }>]>>, {
391
+ payable?: boolean | undefined;
392
+ constant?: boolean | undefined;
393
+ gas?: number | undefined;
394
+ } & ({
395
+ inputs: readonly import("abitype").AbiParameter[];
396
+ outputs: readonly import("abitype").AbiParameter[];
397
+ type: "function";
398
+ name: string;
399
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
400
+ } | {
401
+ inputs: readonly import("abitype").AbiParameter[];
402
+ type: "constructor";
403
+ stateMutability: "nonpayable" | "payable";
404
+ } | {
405
+ type: "fallback";
406
+ stateMutability: "nonpayable" | "payable";
407
+ inputs?: [] | undefined;
408
+ } | {
409
+ type: "receive";
410
+ stateMutability: "payable";
411
+ }), unknown>]>, "many">>]>;
412
+ /**
413
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
414
+ * Each condition must be met in order for this policy to be accepted or rejected.
415
+ */
416
+ conditions: z.ZodArray<z.ZodObject<{
417
+ /**
418
+ * The name of a smart contract function being called.
419
+ */
420
+ function: z.ZodString;
421
+ /**
422
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
423
+ */
424
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
425
+ /**
426
+ * The name of the parameter to check against a transaction's calldata.
427
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
428
+ */
429
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
430
+ /**
431
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
432
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
433
+ */
434
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
435
+ /**
436
+ * A single value to compare the value resolved at `name` to.
437
+ * All values are encoded as strings. Refer to the table in the documentation for how values
438
+ * should be encoded, and which operators are supported for each type.
439
+ */
440
+ value: z.ZodString;
441
+ }, "strip", z.ZodTypeAny, {
442
+ name: string;
443
+ value: string;
444
+ operator: ">" | ">=" | "<" | "<=" | "==";
445
+ }, {
446
+ name: string;
447
+ value: string;
448
+ operator: ">" | ">=" | "<" | "<=" | "==";
449
+ }>, z.ZodObject<{
450
+ /**
451
+ * The name of the parameter to check against a transaction's calldata.
452
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
453
+ */
454
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
455
+ /**
456
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
457
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
458
+ */
459
+ operator: z.ZodEnum<["in", "not in"]>;
460
+ /**
461
+ * Values to compare against the resolved `name` value.
462
+ * All values are encoded as strings. Refer to the table in the documentation for how values
463
+ * should be encoded, and which operators are supported for each type.
464
+ */
465
+ values: z.ZodArray<z.ZodString, "many">;
466
+ }, "strip", z.ZodTypeAny, {
467
+ values: string[];
468
+ name: string;
469
+ operator: "in" | "not in";
470
+ }, {
471
+ values: string[];
472
+ name: string;
473
+ operator: "in" | "not in";
474
+ }>]>, "many">>;
475
+ }, "strip", z.ZodTypeAny, {
476
+ function: string;
477
+ params?: ({
478
+ values: string[];
479
+ name: string;
480
+ operator: "in" | "not in";
481
+ } | {
482
+ name: string;
483
+ value: string;
484
+ operator: ">" | ">=" | "<" | "<=" | "==";
485
+ })[] | undefined;
486
+ }, {
487
+ function: string;
488
+ params?: ({
489
+ values: string[];
490
+ name: string;
491
+ operator: "in" | "not in";
492
+ } | {
493
+ name: string;
494
+ value: string;
495
+ operator: ">" | ">=" | "<" | "<=" | "==";
496
+ })[] | undefined;
497
+ }>, "many">;
498
+ }, "strip", z.ZodTypeAny, {
499
+ type: "evmData";
500
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
501
+ inputs: readonly import("abitype").AbiParameter[];
502
+ type: "error";
503
+ name: string;
504
+ } | {
505
+ inputs: readonly import("abitype").AbiEventParameter[];
506
+ type: "event";
507
+ name: string;
508
+ anonymous?: boolean | undefined;
509
+ } | ({
510
+ payable?: boolean | undefined;
511
+ constant?: boolean | undefined;
512
+ gas?: number | undefined;
513
+ } & ({
514
+ inputs: readonly import("abitype").AbiParameter[];
515
+ outputs: readonly import("abitype").AbiParameter[];
516
+ type: "function";
517
+ name: string;
518
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
519
+ } | {
520
+ inputs: readonly import("abitype").AbiParameter[];
521
+ type: "constructor";
522
+ stateMutability: "nonpayable" | "payable";
523
+ } | {
524
+ type: "fallback";
525
+ stateMutability: "nonpayable" | "payable";
526
+ inputs?: [] | undefined;
527
+ } | {
528
+ type: "receive";
529
+ stateMutability: "payable";
530
+ })))[];
531
+ conditions: {
532
+ function: string;
533
+ params?: ({
534
+ values: string[];
535
+ name: string;
536
+ operator: "in" | "not in";
537
+ } | {
538
+ name: string;
539
+ value: string;
540
+ operator: ">" | ">=" | "<" | "<=" | "==";
541
+ })[] | undefined;
542
+ }[];
543
+ }, {
544
+ type: "evmData";
545
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
546
+ conditions: {
547
+ function: string;
548
+ params?: ({
549
+ values: string[];
550
+ name: string;
551
+ operator: "in" | "not in";
552
+ } | {
553
+ name: string;
554
+ value: string;
555
+ operator: ">" | ">=" | "<" | "<=" | "==";
556
+ })[] | undefined;
557
+ }[];
558
+ }>;
559
+ export type EvmDataCriterion = z.infer<typeof EvmDataCriterionSchema>;
143
560
  /**
144
561
  * Schema for Solana address criterions
145
562
  */
@@ -211,6 +628,270 @@ export declare const SignEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscrimin
211
628
  type: "evmAddress";
212
629
  operator: "in" | "not in";
213
630
  addresses: string[];
631
+ }>, z.ZodObject<{
632
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
633
+ type: z.ZodLiteral<"evmData">;
634
+ /**
635
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
636
+ */
637
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
638
+ type: z.ZodLiteral<"error">;
639
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
640
+ name: z.ZodString;
641
+ }, "strip", z.ZodTypeAny, {
642
+ inputs: readonly import("abitype").AbiParameter[];
643
+ type: "error";
644
+ name: string;
645
+ }, {
646
+ inputs: readonly import("abitype").AbiParameter[];
647
+ type: "error";
648
+ name: string;
649
+ }>, z.ZodObject<{
650
+ type: z.ZodLiteral<"event">;
651
+ anonymous: z.ZodOptional<z.ZodBoolean>;
652
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
653
+ name: z.ZodString;
654
+ }, "strip", z.ZodTypeAny, {
655
+ inputs: readonly import("abitype").AbiEventParameter[];
656
+ type: "event";
657
+ name: string;
658
+ anonymous?: boolean | undefined;
659
+ }, {
660
+ inputs: readonly import("abitype").AbiEventParameter[];
661
+ type: "event";
662
+ name: string;
663
+ anonymous?: boolean | undefined;
664
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
665
+ constant: z.ZodOptional<z.ZodBoolean>;
666
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
667
+ payable: z.ZodOptional<z.ZodBoolean>;
668
+ }, "strip", z.ZodTypeAny, {
669
+ payable?: boolean | undefined;
670
+ constant?: boolean | undefined;
671
+ gas?: number | undefined;
672
+ }, {
673
+ payable?: boolean | undefined;
674
+ constant?: boolean | undefined;
675
+ gas?: number | undefined;
676
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
677
+ type: z.ZodLiteral<"function">;
678
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
679
+ name: z.ZodString;
680
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
681
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
682
+ }, "strip", z.ZodTypeAny, {
683
+ inputs: readonly import("abitype").AbiParameter[];
684
+ outputs: readonly import("abitype").AbiParameter[];
685
+ type: "function";
686
+ name: string;
687
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
688
+ }, {
689
+ inputs: readonly import("abitype").AbiParameter[];
690
+ outputs: readonly import("abitype").AbiParameter[];
691
+ type: "function";
692
+ name: string;
693
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
694
+ }>, z.ZodObject<{
695
+ type: z.ZodLiteral<"constructor">;
696
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
697
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
698
+ }, "strip", z.ZodTypeAny, {
699
+ inputs: readonly import("abitype").AbiParameter[];
700
+ type: "constructor";
701
+ stateMutability: "nonpayable" | "payable";
702
+ }, {
703
+ inputs: readonly import("abitype").AbiParameter[];
704
+ type: "constructor";
705
+ stateMutability: "nonpayable" | "payable";
706
+ }>, z.ZodObject<{
707
+ type: z.ZodLiteral<"fallback">;
708
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
709
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
710
+ }, "strip", z.ZodTypeAny, {
711
+ type: "fallback";
712
+ stateMutability: "nonpayable" | "payable";
713
+ inputs?: [] | undefined;
714
+ }, {
715
+ type: "fallback";
716
+ stateMutability: "nonpayable" | "payable";
717
+ inputs?: [] | undefined;
718
+ }>, z.ZodObject<{
719
+ type: z.ZodLiteral<"receive">;
720
+ stateMutability: z.ZodLiteral<"payable">;
721
+ }, "strip", z.ZodTypeAny, {
722
+ type: "receive";
723
+ stateMutability: "payable";
724
+ }, {
725
+ type: "receive";
726
+ stateMutability: "payable";
727
+ }>]>>, {
728
+ payable?: boolean | undefined;
729
+ constant?: boolean | undefined;
730
+ gas?: number | undefined;
731
+ } & ({
732
+ inputs: readonly import("abitype").AbiParameter[];
733
+ outputs: readonly import("abitype").AbiParameter[];
734
+ type: "function";
735
+ name: string;
736
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
737
+ } | {
738
+ inputs: readonly import("abitype").AbiParameter[];
739
+ type: "constructor";
740
+ stateMutability: "nonpayable" | "payable";
741
+ } | {
742
+ type: "fallback";
743
+ stateMutability: "nonpayable" | "payable";
744
+ inputs?: [] | undefined;
745
+ } | {
746
+ type: "receive";
747
+ stateMutability: "payable";
748
+ }), unknown>]>, "many">>]>;
749
+ /**
750
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
751
+ * Each condition must be met in order for this policy to be accepted or rejected.
752
+ */
753
+ conditions: z.ZodArray<z.ZodObject<{
754
+ /**
755
+ * The name of a smart contract function being called.
756
+ */
757
+ function: z.ZodString;
758
+ /**
759
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
760
+ */
761
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
762
+ /**
763
+ * The name of the parameter to check against a transaction's calldata.
764
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
765
+ */
766
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
767
+ /**
768
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
769
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
770
+ */
771
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
772
+ /**
773
+ * A single value to compare the value resolved at `name` to.
774
+ * All values are encoded as strings. Refer to the table in the documentation for how values
775
+ * should be encoded, and which operators are supported for each type.
776
+ */
777
+ value: z.ZodString;
778
+ }, "strip", z.ZodTypeAny, {
779
+ name: string;
780
+ value: string;
781
+ operator: ">" | ">=" | "<" | "<=" | "==";
782
+ }, {
783
+ name: string;
784
+ value: string;
785
+ operator: ">" | ">=" | "<" | "<=" | "==";
786
+ }>, z.ZodObject<{
787
+ /**
788
+ * The name of the parameter to check against a transaction's calldata.
789
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
790
+ */
791
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
792
+ /**
793
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
794
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
795
+ */
796
+ operator: z.ZodEnum<["in", "not in"]>;
797
+ /**
798
+ * Values to compare against the resolved `name` value.
799
+ * All values are encoded as strings. Refer to the table in the documentation for how values
800
+ * should be encoded, and which operators are supported for each type.
801
+ */
802
+ values: z.ZodArray<z.ZodString, "many">;
803
+ }, "strip", z.ZodTypeAny, {
804
+ values: string[];
805
+ name: string;
806
+ operator: "in" | "not in";
807
+ }, {
808
+ values: string[];
809
+ name: string;
810
+ operator: "in" | "not in";
811
+ }>]>, "many">>;
812
+ }, "strip", z.ZodTypeAny, {
813
+ function: string;
814
+ params?: ({
815
+ values: string[];
816
+ name: string;
817
+ operator: "in" | "not in";
818
+ } | {
819
+ name: string;
820
+ value: string;
821
+ operator: ">" | ">=" | "<" | "<=" | "==";
822
+ })[] | undefined;
823
+ }, {
824
+ function: string;
825
+ params?: ({
826
+ values: string[];
827
+ name: string;
828
+ operator: "in" | "not in";
829
+ } | {
830
+ name: string;
831
+ value: string;
832
+ operator: ">" | ">=" | "<" | "<=" | "==";
833
+ })[] | undefined;
834
+ }>, "many">;
835
+ }, "strip", z.ZodTypeAny, {
836
+ type: "evmData";
837
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
838
+ inputs: readonly import("abitype").AbiParameter[];
839
+ type: "error";
840
+ name: string;
841
+ } | {
842
+ inputs: readonly import("abitype").AbiEventParameter[];
843
+ type: "event";
844
+ name: string;
845
+ anonymous?: boolean | undefined;
846
+ } | ({
847
+ payable?: boolean | undefined;
848
+ constant?: boolean | undefined;
849
+ gas?: number | undefined;
850
+ } & ({
851
+ inputs: readonly import("abitype").AbiParameter[];
852
+ outputs: readonly import("abitype").AbiParameter[];
853
+ type: "function";
854
+ name: string;
855
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
856
+ } | {
857
+ inputs: readonly import("abitype").AbiParameter[];
858
+ type: "constructor";
859
+ stateMutability: "nonpayable" | "payable";
860
+ } | {
861
+ type: "fallback";
862
+ stateMutability: "nonpayable" | "payable";
863
+ inputs?: [] | undefined;
864
+ } | {
865
+ type: "receive";
866
+ stateMutability: "payable";
867
+ })))[];
868
+ conditions: {
869
+ function: string;
870
+ params?: ({
871
+ values: string[];
872
+ name: string;
873
+ operator: "in" | "not in";
874
+ } | {
875
+ name: string;
876
+ value: string;
877
+ operator: ">" | ">=" | "<" | "<=" | "==";
878
+ })[] | undefined;
879
+ }[];
880
+ }, {
881
+ type: "evmData";
882
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
883
+ conditions: {
884
+ function: string;
885
+ params?: ({
886
+ values: string[];
887
+ name: string;
888
+ operator: "in" | "not in";
889
+ } | {
890
+ name: string;
891
+ value: string;
892
+ operator: ">" | ">=" | "<" | "<=" | "==";
893
+ })[] | undefined;
894
+ }[];
214
895
  }>]>, "many">;
215
896
  /**
216
897
  * Type representing a set of criteria for the signEvmTransaction operation.
@@ -303,14 +984,274 @@ export declare const SendEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscrimin
303
984
  operator: "in" | "not in";
304
985
  networks: ("base-sepolia" | "base")[];
305
986
  }, {
306
- type: "evmNetwork";
307
- operator: "in" | "not in";
308
- networks: ("base-sepolia" | "base")[];
987
+ type: "evmNetwork";
988
+ operator: "in" | "not in";
989
+ networks: ("base-sepolia" | "base")[];
990
+ }>, z.ZodObject<{
991
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
992
+ type: z.ZodLiteral<"evmData">;
993
+ /**
994
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
995
+ */
996
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
997
+ type: z.ZodLiteral<"error">;
998
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
999
+ name: z.ZodString;
1000
+ }, "strip", z.ZodTypeAny, {
1001
+ inputs: readonly import("abitype").AbiParameter[];
1002
+ type: "error";
1003
+ name: string;
1004
+ }, {
1005
+ inputs: readonly import("abitype").AbiParameter[];
1006
+ type: "error";
1007
+ name: string;
1008
+ }>, z.ZodObject<{
1009
+ type: z.ZodLiteral<"event">;
1010
+ anonymous: z.ZodOptional<z.ZodBoolean>;
1011
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
1012
+ name: z.ZodString;
1013
+ }, "strip", z.ZodTypeAny, {
1014
+ inputs: readonly import("abitype").AbiEventParameter[];
1015
+ type: "event";
1016
+ name: string;
1017
+ anonymous?: boolean | undefined;
1018
+ }, {
1019
+ inputs: readonly import("abitype").AbiEventParameter[];
1020
+ type: "event";
1021
+ name: string;
1022
+ anonymous?: boolean | undefined;
1023
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
1024
+ constant: z.ZodOptional<z.ZodBoolean>;
1025
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
1026
+ payable: z.ZodOptional<z.ZodBoolean>;
1027
+ }, "strip", z.ZodTypeAny, {
1028
+ payable?: boolean | undefined;
1029
+ constant?: boolean | undefined;
1030
+ gas?: number | undefined;
1031
+ }, {
1032
+ payable?: boolean | undefined;
1033
+ constant?: boolean | undefined;
1034
+ gas?: number | undefined;
1035
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1036
+ type: z.ZodLiteral<"function">;
1037
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1038
+ name: z.ZodString;
1039
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1040
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
1041
+ }, "strip", z.ZodTypeAny, {
1042
+ inputs: readonly import("abitype").AbiParameter[];
1043
+ outputs: readonly import("abitype").AbiParameter[];
1044
+ type: "function";
1045
+ name: string;
1046
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1047
+ }, {
1048
+ inputs: readonly import("abitype").AbiParameter[];
1049
+ outputs: readonly import("abitype").AbiParameter[];
1050
+ type: "function";
1051
+ name: string;
1052
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1053
+ }>, z.ZodObject<{
1054
+ type: z.ZodLiteral<"constructor">;
1055
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1056
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1057
+ }, "strip", z.ZodTypeAny, {
1058
+ inputs: readonly import("abitype").AbiParameter[];
1059
+ type: "constructor";
1060
+ stateMutability: "nonpayable" | "payable";
1061
+ }, {
1062
+ inputs: readonly import("abitype").AbiParameter[];
1063
+ type: "constructor";
1064
+ stateMutability: "nonpayable" | "payable";
1065
+ }>, z.ZodObject<{
1066
+ type: z.ZodLiteral<"fallback">;
1067
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
1068
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1069
+ }, "strip", z.ZodTypeAny, {
1070
+ type: "fallback";
1071
+ stateMutability: "nonpayable" | "payable";
1072
+ inputs?: [] | undefined;
1073
+ }, {
1074
+ type: "fallback";
1075
+ stateMutability: "nonpayable" | "payable";
1076
+ inputs?: [] | undefined;
1077
+ }>, z.ZodObject<{
1078
+ type: z.ZodLiteral<"receive">;
1079
+ stateMutability: z.ZodLiteral<"payable">;
1080
+ }, "strip", z.ZodTypeAny, {
1081
+ type: "receive";
1082
+ stateMutability: "payable";
1083
+ }, {
1084
+ type: "receive";
1085
+ stateMutability: "payable";
1086
+ }>]>>, {
1087
+ payable?: boolean | undefined;
1088
+ constant?: boolean | undefined;
1089
+ gas?: number | undefined;
1090
+ } & ({
1091
+ inputs: readonly import("abitype").AbiParameter[];
1092
+ outputs: readonly import("abitype").AbiParameter[];
1093
+ type: "function";
1094
+ name: string;
1095
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1096
+ } | {
1097
+ inputs: readonly import("abitype").AbiParameter[];
1098
+ type: "constructor";
1099
+ stateMutability: "nonpayable" | "payable";
1100
+ } | {
1101
+ type: "fallback";
1102
+ stateMutability: "nonpayable" | "payable";
1103
+ inputs?: [] | undefined;
1104
+ } | {
1105
+ type: "receive";
1106
+ stateMutability: "payable";
1107
+ }), unknown>]>, "many">>]>;
1108
+ /**
1109
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
1110
+ * Each condition must be met in order for this policy to be accepted or rejected.
1111
+ */
1112
+ conditions: z.ZodArray<z.ZodObject<{
1113
+ /**
1114
+ * The name of a smart contract function being called.
1115
+ */
1116
+ function: z.ZodString;
1117
+ /**
1118
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
1119
+ */
1120
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
1121
+ /**
1122
+ * The name of the parameter to check against a transaction's calldata.
1123
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
1124
+ */
1125
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
1126
+ /**
1127
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
1128
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
1129
+ */
1130
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
1131
+ /**
1132
+ * A single value to compare the value resolved at `name` to.
1133
+ * All values are encoded as strings. Refer to the table in the documentation for how values
1134
+ * should be encoded, and which operators are supported for each type.
1135
+ */
1136
+ value: z.ZodString;
1137
+ }, "strip", z.ZodTypeAny, {
1138
+ name: string;
1139
+ value: string;
1140
+ operator: ">" | ">=" | "<" | "<=" | "==";
1141
+ }, {
1142
+ name: string;
1143
+ value: string;
1144
+ operator: ">" | ">=" | "<" | "<=" | "==";
1145
+ }>, z.ZodObject<{
1146
+ /**
1147
+ * The name of the parameter to check against a transaction's calldata.
1148
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
1149
+ */
1150
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
1151
+ /**
1152
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
1153
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
1154
+ */
1155
+ operator: z.ZodEnum<["in", "not in"]>;
1156
+ /**
1157
+ * Values to compare against the resolved `name` value.
1158
+ * All values are encoded as strings. Refer to the table in the documentation for how values
1159
+ * should be encoded, and which operators are supported for each type.
1160
+ */
1161
+ values: z.ZodArray<z.ZodString, "many">;
1162
+ }, "strip", z.ZodTypeAny, {
1163
+ values: string[];
1164
+ name: string;
1165
+ operator: "in" | "not in";
1166
+ }, {
1167
+ values: string[];
1168
+ name: string;
1169
+ operator: "in" | "not in";
1170
+ }>]>, "many">>;
1171
+ }, "strip", z.ZodTypeAny, {
1172
+ function: string;
1173
+ params?: ({
1174
+ values: string[];
1175
+ name: string;
1176
+ operator: "in" | "not in";
1177
+ } | {
1178
+ name: string;
1179
+ value: string;
1180
+ operator: ">" | ">=" | "<" | "<=" | "==";
1181
+ })[] | undefined;
1182
+ }, {
1183
+ function: string;
1184
+ params?: ({
1185
+ values: string[];
1186
+ name: string;
1187
+ operator: "in" | "not in";
1188
+ } | {
1189
+ name: string;
1190
+ value: string;
1191
+ operator: ">" | ">=" | "<" | "<=" | "==";
1192
+ })[] | undefined;
1193
+ }>, "many">;
1194
+ }, "strip", z.ZodTypeAny, {
1195
+ type: "evmData";
1196
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
1197
+ inputs: readonly import("abitype").AbiParameter[];
1198
+ type: "error";
1199
+ name: string;
1200
+ } | {
1201
+ inputs: readonly import("abitype").AbiEventParameter[];
1202
+ type: "event";
1203
+ name: string;
1204
+ anonymous?: boolean | undefined;
1205
+ } | ({
1206
+ payable?: boolean | undefined;
1207
+ constant?: boolean | undefined;
1208
+ gas?: number | undefined;
1209
+ } & ({
1210
+ inputs: readonly import("abitype").AbiParameter[];
1211
+ outputs: readonly import("abitype").AbiParameter[];
1212
+ type: "function";
1213
+ name: string;
1214
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1215
+ } | {
1216
+ inputs: readonly import("abitype").AbiParameter[];
1217
+ type: "constructor";
1218
+ stateMutability: "nonpayable" | "payable";
1219
+ } | {
1220
+ type: "fallback";
1221
+ stateMutability: "nonpayable" | "payable";
1222
+ inputs?: [] | undefined;
1223
+ } | {
1224
+ type: "receive";
1225
+ stateMutability: "payable";
1226
+ })))[];
1227
+ conditions: {
1228
+ function: string;
1229
+ params?: ({
1230
+ values: string[];
1231
+ name: string;
1232
+ operator: "in" | "not in";
1233
+ } | {
1234
+ name: string;
1235
+ value: string;
1236
+ operator: ">" | ">=" | "<" | "<=" | "==";
1237
+ })[] | undefined;
1238
+ }[];
1239
+ }, {
1240
+ type: "evmData";
1241
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
1242
+ conditions: {
1243
+ function: string;
1244
+ params?: ({
1245
+ values: string[];
1246
+ name: string;
1247
+ operator: "in" | "not in";
1248
+ } | {
1249
+ name: string;
1250
+ value: string;
1251
+ operator: ">" | ">=" | "<" | "<=" | "==";
1252
+ })[] | undefined;
1253
+ }[];
309
1254
  }>]>, "many">;
310
- /**
311
- * Type representing a set of criteria for the sendEvmTransaction operation.
312
- * Can contain up to 10 individual criterion objects of ETH value or EVM address types.
313
- */
314
1255
  export type SendEvmTransactionCriteria = z.infer<typeof SendEvmTransactionCriteriaSchema>;
315
1256
  /**
316
1257
  * Schema for criteria used in SignSolTransaction operations
@@ -430,6 +1371,270 @@ export declare const SignEvmTransactionRuleSchema: z.ZodObject<{
430
1371
  type: "evmAddress";
431
1372
  operator: "in" | "not in";
432
1373
  addresses: string[];
1374
+ }>, z.ZodObject<{
1375
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
1376
+ type: z.ZodLiteral<"evmData">;
1377
+ /**
1378
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
1379
+ */
1380
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
1381
+ type: z.ZodLiteral<"error">;
1382
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1383
+ name: z.ZodString;
1384
+ }, "strip", z.ZodTypeAny, {
1385
+ inputs: readonly import("abitype").AbiParameter[];
1386
+ type: "error";
1387
+ name: string;
1388
+ }, {
1389
+ inputs: readonly import("abitype").AbiParameter[];
1390
+ type: "error";
1391
+ name: string;
1392
+ }>, z.ZodObject<{
1393
+ type: z.ZodLiteral<"event">;
1394
+ anonymous: z.ZodOptional<z.ZodBoolean>;
1395
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
1396
+ name: z.ZodString;
1397
+ }, "strip", z.ZodTypeAny, {
1398
+ inputs: readonly import("abitype").AbiEventParameter[];
1399
+ type: "event";
1400
+ name: string;
1401
+ anonymous?: boolean | undefined;
1402
+ }, {
1403
+ inputs: readonly import("abitype").AbiEventParameter[];
1404
+ type: "event";
1405
+ name: string;
1406
+ anonymous?: boolean | undefined;
1407
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
1408
+ constant: z.ZodOptional<z.ZodBoolean>;
1409
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
1410
+ payable: z.ZodOptional<z.ZodBoolean>;
1411
+ }, "strip", z.ZodTypeAny, {
1412
+ payable?: boolean | undefined;
1413
+ constant?: boolean | undefined;
1414
+ gas?: number | undefined;
1415
+ }, {
1416
+ payable?: boolean | undefined;
1417
+ constant?: boolean | undefined;
1418
+ gas?: number | undefined;
1419
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1420
+ type: z.ZodLiteral<"function">;
1421
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1422
+ name: z.ZodString;
1423
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1424
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
1425
+ }, "strip", z.ZodTypeAny, {
1426
+ inputs: readonly import("abitype").AbiParameter[];
1427
+ outputs: readonly import("abitype").AbiParameter[];
1428
+ type: "function";
1429
+ name: string;
1430
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1431
+ }, {
1432
+ inputs: readonly import("abitype").AbiParameter[];
1433
+ outputs: readonly import("abitype").AbiParameter[];
1434
+ type: "function";
1435
+ name: string;
1436
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1437
+ }>, z.ZodObject<{
1438
+ type: z.ZodLiteral<"constructor">;
1439
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1440
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1441
+ }, "strip", z.ZodTypeAny, {
1442
+ inputs: readonly import("abitype").AbiParameter[];
1443
+ type: "constructor";
1444
+ stateMutability: "nonpayable" | "payable";
1445
+ }, {
1446
+ inputs: readonly import("abitype").AbiParameter[];
1447
+ type: "constructor";
1448
+ stateMutability: "nonpayable" | "payable";
1449
+ }>, z.ZodObject<{
1450
+ type: z.ZodLiteral<"fallback">;
1451
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
1452
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1453
+ }, "strip", z.ZodTypeAny, {
1454
+ type: "fallback";
1455
+ stateMutability: "nonpayable" | "payable";
1456
+ inputs?: [] | undefined;
1457
+ }, {
1458
+ type: "fallback";
1459
+ stateMutability: "nonpayable" | "payable";
1460
+ inputs?: [] | undefined;
1461
+ }>, z.ZodObject<{
1462
+ type: z.ZodLiteral<"receive">;
1463
+ stateMutability: z.ZodLiteral<"payable">;
1464
+ }, "strip", z.ZodTypeAny, {
1465
+ type: "receive";
1466
+ stateMutability: "payable";
1467
+ }, {
1468
+ type: "receive";
1469
+ stateMutability: "payable";
1470
+ }>]>>, {
1471
+ payable?: boolean | undefined;
1472
+ constant?: boolean | undefined;
1473
+ gas?: number | undefined;
1474
+ } & ({
1475
+ inputs: readonly import("abitype").AbiParameter[];
1476
+ outputs: readonly import("abitype").AbiParameter[];
1477
+ type: "function";
1478
+ name: string;
1479
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1480
+ } | {
1481
+ inputs: readonly import("abitype").AbiParameter[];
1482
+ type: "constructor";
1483
+ stateMutability: "nonpayable" | "payable";
1484
+ } | {
1485
+ type: "fallback";
1486
+ stateMutability: "nonpayable" | "payable";
1487
+ inputs?: [] | undefined;
1488
+ } | {
1489
+ type: "receive";
1490
+ stateMutability: "payable";
1491
+ }), unknown>]>, "many">>]>;
1492
+ /**
1493
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
1494
+ * Each condition must be met in order for this policy to be accepted or rejected.
1495
+ */
1496
+ conditions: z.ZodArray<z.ZodObject<{
1497
+ /**
1498
+ * The name of a smart contract function being called.
1499
+ */
1500
+ function: z.ZodString;
1501
+ /**
1502
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
1503
+ */
1504
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
1505
+ /**
1506
+ * The name of the parameter to check against a transaction's calldata.
1507
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
1508
+ */
1509
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
1510
+ /**
1511
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
1512
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
1513
+ */
1514
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
1515
+ /**
1516
+ * A single value to compare the value resolved at `name` to.
1517
+ * All values are encoded as strings. Refer to the table in the documentation for how values
1518
+ * should be encoded, and which operators are supported for each type.
1519
+ */
1520
+ value: z.ZodString;
1521
+ }, "strip", z.ZodTypeAny, {
1522
+ name: string;
1523
+ value: string;
1524
+ operator: ">" | ">=" | "<" | "<=" | "==";
1525
+ }, {
1526
+ name: string;
1527
+ value: string;
1528
+ operator: ">" | ">=" | "<" | "<=" | "==";
1529
+ }>, z.ZodObject<{
1530
+ /**
1531
+ * The name of the parameter to check against a transaction's calldata.
1532
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
1533
+ */
1534
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
1535
+ /**
1536
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
1537
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
1538
+ */
1539
+ operator: z.ZodEnum<["in", "not in"]>;
1540
+ /**
1541
+ * Values to compare against the resolved `name` value.
1542
+ * All values are encoded as strings. Refer to the table in the documentation for how values
1543
+ * should be encoded, and which operators are supported for each type.
1544
+ */
1545
+ values: z.ZodArray<z.ZodString, "many">;
1546
+ }, "strip", z.ZodTypeAny, {
1547
+ values: string[];
1548
+ name: string;
1549
+ operator: "in" | "not in";
1550
+ }, {
1551
+ values: string[];
1552
+ name: string;
1553
+ operator: "in" | "not in";
1554
+ }>]>, "many">>;
1555
+ }, "strip", z.ZodTypeAny, {
1556
+ function: string;
1557
+ params?: ({
1558
+ values: string[];
1559
+ name: string;
1560
+ operator: "in" | "not in";
1561
+ } | {
1562
+ name: string;
1563
+ value: string;
1564
+ operator: ">" | ">=" | "<" | "<=" | "==";
1565
+ })[] | undefined;
1566
+ }, {
1567
+ function: string;
1568
+ params?: ({
1569
+ values: string[];
1570
+ name: string;
1571
+ operator: "in" | "not in";
1572
+ } | {
1573
+ name: string;
1574
+ value: string;
1575
+ operator: ">" | ">=" | "<" | "<=" | "==";
1576
+ })[] | undefined;
1577
+ }>, "many">;
1578
+ }, "strip", z.ZodTypeAny, {
1579
+ type: "evmData";
1580
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
1581
+ inputs: readonly import("abitype").AbiParameter[];
1582
+ type: "error";
1583
+ name: string;
1584
+ } | {
1585
+ inputs: readonly import("abitype").AbiEventParameter[];
1586
+ type: "event";
1587
+ name: string;
1588
+ anonymous?: boolean | undefined;
1589
+ } | ({
1590
+ payable?: boolean | undefined;
1591
+ constant?: boolean | undefined;
1592
+ gas?: number | undefined;
1593
+ } & ({
1594
+ inputs: readonly import("abitype").AbiParameter[];
1595
+ outputs: readonly import("abitype").AbiParameter[];
1596
+ type: "function";
1597
+ name: string;
1598
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1599
+ } | {
1600
+ inputs: readonly import("abitype").AbiParameter[];
1601
+ type: "constructor";
1602
+ stateMutability: "nonpayable" | "payable";
1603
+ } | {
1604
+ type: "fallback";
1605
+ stateMutability: "nonpayable" | "payable";
1606
+ inputs?: [] | undefined;
1607
+ } | {
1608
+ type: "receive";
1609
+ stateMutability: "payable";
1610
+ })))[];
1611
+ conditions: {
1612
+ function: string;
1613
+ params?: ({
1614
+ values: string[];
1615
+ name: string;
1616
+ operator: "in" | "not in";
1617
+ } | {
1618
+ name: string;
1619
+ value: string;
1620
+ operator: ">" | ">=" | "<" | "<=" | "==";
1621
+ })[] | undefined;
1622
+ }[];
1623
+ }, {
1624
+ type: "evmData";
1625
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
1626
+ conditions: {
1627
+ function: string;
1628
+ params?: ({
1629
+ values: string[];
1630
+ name: string;
1631
+ operator: "in" | "not in";
1632
+ } | {
1633
+ name: string;
1634
+ value: string;
1635
+ operator: ">" | ">=" | "<" | "<=" | "==";
1636
+ })[] | undefined;
1637
+ }[];
433
1638
  }>]>, "many">;
434
1639
  }, "strip", z.ZodTypeAny, {
435
1640
  action: "reject" | "accept";
@@ -442,6 +1647,51 @@ export declare const SignEvmTransactionRuleSchema: z.ZodObject<{
442
1647
  type: "evmAddress";
443
1648
  operator: "in" | "not in";
444
1649
  addresses: `0x${string}`[];
1650
+ } | {
1651
+ type: "evmData";
1652
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
1653
+ inputs: readonly import("abitype").AbiParameter[];
1654
+ type: "error";
1655
+ name: string;
1656
+ } | {
1657
+ inputs: readonly import("abitype").AbiEventParameter[];
1658
+ type: "event";
1659
+ name: string;
1660
+ anonymous?: boolean | undefined;
1661
+ } | ({
1662
+ payable?: boolean | undefined;
1663
+ constant?: boolean | undefined;
1664
+ gas?: number | undefined;
1665
+ } & ({
1666
+ inputs: readonly import("abitype").AbiParameter[];
1667
+ outputs: readonly import("abitype").AbiParameter[];
1668
+ type: "function";
1669
+ name: string;
1670
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1671
+ } | {
1672
+ inputs: readonly import("abitype").AbiParameter[];
1673
+ type: "constructor";
1674
+ stateMutability: "nonpayable" | "payable";
1675
+ } | {
1676
+ type: "fallback";
1677
+ stateMutability: "nonpayable" | "payable";
1678
+ inputs?: [] | undefined;
1679
+ } | {
1680
+ type: "receive";
1681
+ stateMutability: "payable";
1682
+ })))[];
1683
+ conditions: {
1684
+ function: string;
1685
+ params?: ({
1686
+ values: string[];
1687
+ name: string;
1688
+ operator: "in" | "not in";
1689
+ } | {
1690
+ name: string;
1691
+ value: string;
1692
+ operator: ">" | ">=" | "<" | "<=" | "==";
1693
+ })[] | undefined;
1694
+ }[];
445
1695
  })[];
446
1696
  }, {
447
1697
  action: "reject" | "accept";
@@ -454,6 +1704,21 @@ export declare const SignEvmTransactionRuleSchema: z.ZodObject<{
454
1704
  type: "evmAddress";
455
1705
  operator: "in" | "not in";
456
1706
  addresses: string[];
1707
+ } | {
1708
+ type: "evmData";
1709
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
1710
+ conditions: {
1711
+ function: string;
1712
+ params?: ({
1713
+ values: string[];
1714
+ name: string;
1715
+ operator: "in" | "not in";
1716
+ } | {
1717
+ name: string;
1718
+ value: string;
1719
+ operator: ">" | ">=" | "<" | "<=" | "==";
1720
+ })[] | undefined;
1721
+ }[];
457
1722
  })[];
458
1723
  }>;
459
1724
  export type SignEvmTransactionRule = z.infer<typeof SignEvmTransactionRuleSchema>;
@@ -612,6 +1877,270 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
612
1877
  type: "evmNetwork";
613
1878
  operator: "in" | "not in";
614
1879
  networks: ("base-sepolia" | "base")[];
1880
+ }>, z.ZodObject<{
1881
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
1882
+ type: z.ZodLiteral<"evmData">;
1883
+ /**
1884
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
1885
+ */
1886
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
1887
+ type: z.ZodLiteral<"error">;
1888
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1889
+ name: z.ZodString;
1890
+ }, "strip", z.ZodTypeAny, {
1891
+ inputs: readonly import("abitype").AbiParameter[];
1892
+ type: "error";
1893
+ name: string;
1894
+ }, {
1895
+ inputs: readonly import("abitype").AbiParameter[];
1896
+ type: "error";
1897
+ name: string;
1898
+ }>, z.ZodObject<{
1899
+ type: z.ZodLiteral<"event">;
1900
+ anonymous: z.ZodOptional<z.ZodBoolean>;
1901
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
1902
+ name: z.ZodString;
1903
+ }, "strip", z.ZodTypeAny, {
1904
+ inputs: readonly import("abitype").AbiEventParameter[];
1905
+ type: "event";
1906
+ name: string;
1907
+ anonymous?: boolean | undefined;
1908
+ }, {
1909
+ inputs: readonly import("abitype").AbiEventParameter[];
1910
+ type: "event";
1911
+ name: string;
1912
+ anonymous?: boolean | undefined;
1913
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
1914
+ constant: z.ZodOptional<z.ZodBoolean>;
1915
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
1916
+ payable: z.ZodOptional<z.ZodBoolean>;
1917
+ }, "strip", z.ZodTypeAny, {
1918
+ payable?: boolean | undefined;
1919
+ constant?: boolean | undefined;
1920
+ gas?: number | undefined;
1921
+ }, {
1922
+ payable?: boolean | undefined;
1923
+ constant?: boolean | undefined;
1924
+ gas?: number | undefined;
1925
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1926
+ type: z.ZodLiteral<"function">;
1927
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1928
+ name: z.ZodString;
1929
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1930
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
1931
+ }, "strip", z.ZodTypeAny, {
1932
+ inputs: readonly import("abitype").AbiParameter[];
1933
+ outputs: readonly import("abitype").AbiParameter[];
1934
+ type: "function";
1935
+ name: string;
1936
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1937
+ }, {
1938
+ inputs: readonly import("abitype").AbiParameter[];
1939
+ outputs: readonly import("abitype").AbiParameter[];
1940
+ type: "function";
1941
+ name: string;
1942
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1943
+ }>, z.ZodObject<{
1944
+ type: z.ZodLiteral<"constructor">;
1945
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1946
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1947
+ }, "strip", z.ZodTypeAny, {
1948
+ inputs: readonly import("abitype").AbiParameter[];
1949
+ type: "constructor";
1950
+ stateMutability: "nonpayable" | "payable";
1951
+ }, {
1952
+ inputs: readonly import("abitype").AbiParameter[];
1953
+ type: "constructor";
1954
+ stateMutability: "nonpayable" | "payable";
1955
+ }>, z.ZodObject<{
1956
+ type: z.ZodLiteral<"fallback">;
1957
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
1958
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1959
+ }, "strip", z.ZodTypeAny, {
1960
+ type: "fallback";
1961
+ stateMutability: "nonpayable" | "payable";
1962
+ inputs?: [] | undefined;
1963
+ }, {
1964
+ type: "fallback";
1965
+ stateMutability: "nonpayable" | "payable";
1966
+ inputs?: [] | undefined;
1967
+ }>, z.ZodObject<{
1968
+ type: z.ZodLiteral<"receive">;
1969
+ stateMutability: z.ZodLiteral<"payable">;
1970
+ }, "strip", z.ZodTypeAny, {
1971
+ type: "receive";
1972
+ stateMutability: "payable";
1973
+ }, {
1974
+ type: "receive";
1975
+ stateMutability: "payable";
1976
+ }>]>>, {
1977
+ payable?: boolean | undefined;
1978
+ constant?: boolean | undefined;
1979
+ gas?: number | undefined;
1980
+ } & ({
1981
+ inputs: readonly import("abitype").AbiParameter[];
1982
+ outputs: readonly import("abitype").AbiParameter[];
1983
+ type: "function";
1984
+ name: string;
1985
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
1986
+ } | {
1987
+ inputs: readonly import("abitype").AbiParameter[];
1988
+ type: "constructor";
1989
+ stateMutability: "nonpayable" | "payable";
1990
+ } | {
1991
+ type: "fallback";
1992
+ stateMutability: "nonpayable" | "payable";
1993
+ inputs?: [] | undefined;
1994
+ } | {
1995
+ type: "receive";
1996
+ stateMutability: "payable";
1997
+ }), unknown>]>, "many">>]>;
1998
+ /**
1999
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
2000
+ * Each condition must be met in order for this policy to be accepted or rejected.
2001
+ */
2002
+ conditions: z.ZodArray<z.ZodObject<{
2003
+ /**
2004
+ * The name of a smart contract function being called.
2005
+ */
2006
+ function: z.ZodString;
2007
+ /**
2008
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
2009
+ */
2010
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2011
+ /**
2012
+ * The name of the parameter to check against a transaction's calldata.
2013
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2014
+ */
2015
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2016
+ /**
2017
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
2018
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
2019
+ */
2020
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2021
+ /**
2022
+ * A single value to compare the value resolved at `name` to.
2023
+ * All values are encoded as strings. Refer to the table in the documentation for how values
2024
+ * should be encoded, and which operators are supported for each type.
2025
+ */
2026
+ value: z.ZodString;
2027
+ }, "strip", z.ZodTypeAny, {
2028
+ name: string;
2029
+ value: string;
2030
+ operator: ">" | ">=" | "<" | "<=" | "==";
2031
+ }, {
2032
+ name: string;
2033
+ value: string;
2034
+ operator: ">" | ">=" | "<" | "<=" | "==";
2035
+ }>, z.ZodObject<{
2036
+ /**
2037
+ * The name of the parameter to check against a transaction's calldata.
2038
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2039
+ */
2040
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2041
+ /**
2042
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
2043
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
2044
+ */
2045
+ operator: z.ZodEnum<["in", "not in"]>;
2046
+ /**
2047
+ * Values to compare against the resolved `name` value.
2048
+ * All values are encoded as strings. Refer to the table in the documentation for how values
2049
+ * should be encoded, and which operators are supported for each type.
2050
+ */
2051
+ values: z.ZodArray<z.ZodString, "many">;
2052
+ }, "strip", z.ZodTypeAny, {
2053
+ values: string[];
2054
+ name: string;
2055
+ operator: "in" | "not in";
2056
+ }, {
2057
+ values: string[];
2058
+ name: string;
2059
+ operator: "in" | "not in";
2060
+ }>]>, "many">>;
2061
+ }, "strip", z.ZodTypeAny, {
2062
+ function: string;
2063
+ params?: ({
2064
+ values: string[];
2065
+ name: string;
2066
+ operator: "in" | "not in";
2067
+ } | {
2068
+ name: string;
2069
+ value: string;
2070
+ operator: ">" | ">=" | "<" | "<=" | "==";
2071
+ })[] | undefined;
2072
+ }, {
2073
+ function: string;
2074
+ params?: ({
2075
+ values: string[];
2076
+ name: string;
2077
+ operator: "in" | "not in";
2078
+ } | {
2079
+ name: string;
2080
+ value: string;
2081
+ operator: ">" | ">=" | "<" | "<=" | "==";
2082
+ })[] | undefined;
2083
+ }>, "many">;
2084
+ }, "strip", z.ZodTypeAny, {
2085
+ type: "evmData";
2086
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
2087
+ inputs: readonly import("abitype").AbiParameter[];
2088
+ type: "error";
2089
+ name: string;
2090
+ } | {
2091
+ inputs: readonly import("abitype").AbiEventParameter[];
2092
+ type: "event";
2093
+ name: string;
2094
+ anonymous?: boolean | undefined;
2095
+ } | ({
2096
+ payable?: boolean | undefined;
2097
+ constant?: boolean | undefined;
2098
+ gas?: number | undefined;
2099
+ } & ({
2100
+ inputs: readonly import("abitype").AbiParameter[];
2101
+ outputs: readonly import("abitype").AbiParameter[];
2102
+ type: "function";
2103
+ name: string;
2104
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2105
+ } | {
2106
+ inputs: readonly import("abitype").AbiParameter[];
2107
+ type: "constructor";
2108
+ stateMutability: "nonpayable" | "payable";
2109
+ } | {
2110
+ type: "fallback";
2111
+ stateMutability: "nonpayable" | "payable";
2112
+ inputs?: [] | undefined;
2113
+ } | {
2114
+ type: "receive";
2115
+ stateMutability: "payable";
2116
+ })))[];
2117
+ conditions: {
2118
+ function: string;
2119
+ params?: ({
2120
+ values: string[];
2121
+ name: string;
2122
+ operator: "in" | "not in";
2123
+ } | {
2124
+ name: string;
2125
+ value: string;
2126
+ operator: ">" | ">=" | "<" | "<=" | "==";
2127
+ })[] | undefined;
2128
+ }[];
2129
+ }, {
2130
+ type: "evmData";
2131
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
2132
+ conditions: {
2133
+ function: string;
2134
+ params?: ({
2135
+ values: string[];
2136
+ name: string;
2137
+ operator: "in" | "not in";
2138
+ } | {
2139
+ name: string;
2140
+ value: string;
2141
+ operator: ">" | ">=" | "<" | "<=" | "==";
2142
+ })[] | undefined;
2143
+ }[];
615
2144
  }>]>, "many">;
616
2145
  }, "strip", z.ZodTypeAny, {
617
2146
  action: "reject" | "accept";
@@ -628,6 +2157,51 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
628
2157
  type: "evmNetwork";
629
2158
  operator: "in" | "not in";
630
2159
  networks: ("base-sepolia" | "base")[];
2160
+ } | {
2161
+ type: "evmData";
2162
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
2163
+ inputs: readonly import("abitype").AbiParameter[];
2164
+ type: "error";
2165
+ name: string;
2166
+ } | {
2167
+ inputs: readonly import("abitype").AbiEventParameter[];
2168
+ type: "event";
2169
+ name: string;
2170
+ anonymous?: boolean | undefined;
2171
+ } | ({
2172
+ payable?: boolean | undefined;
2173
+ constant?: boolean | undefined;
2174
+ gas?: number | undefined;
2175
+ } & ({
2176
+ inputs: readonly import("abitype").AbiParameter[];
2177
+ outputs: readonly import("abitype").AbiParameter[];
2178
+ type: "function";
2179
+ name: string;
2180
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2181
+ } | {
2182
+ inputs: readonly import("abitype").AbiParameter[];
2183
+ type: "constructor";
2184
+ stateMutability: "nonpayable" | "payable";
2185
+ } | {
2186
+ type: "fallback";
2187
+ stateMutability: "nonpayable" | "payable";
2188
+ inputs?: [] | undefined;
2189
+ } | {
2190
+ type: "receive";
2191
+ stateMutability: "payable";
2192
+ })))[];
2193
+ conditions: {
2194
+ function: string;
2195
+ params?: ({
2196
+ values: string[];
2197
+ name: string;
2198
+ operator: "in" | "not in";
2199
+ } | {
2200
+ name: string;
2201
+ value: string;
2202
+ operator: ">" | ">=" | "<" | "<=" | "==";
2203
+ })[] | undefined;
2204
+ }[];
631
2205
  })[];
632
2206
  }, {
633
2207
  action: "reject" | "accept";
@@ -644,6 +2218,21 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
644
2218
  type: "evmNetwork";
645
2219
  operator: "in" | "not in";
646
2220
  networks: ("base-sepolia" | "base")[];
2221
+ } | {
2222
+ type: "evmData";
2223
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
2224
+ conditions: {
2225
+ function: string;
2226
+ params?: ({
2227
+ values: string[];
2228
+ name: string;
2229
+ operator: "in" | "not in";
2230
+ } | {
2231
+ name: string;
2232
+ value: string;
2233
+ operator: ">" | ">=" | "<" | "<=" | "==";
2234
+ })[] | undefined;
2235
+ }[];
647
2236
  })[];
648
2237
  }>;
649
2238
  export type SendEvmTransactionRule = z.infer<typeof SendEvmTransactionRuleSchema>;
@@ -766,6 +2355,270 @@ export declare const RuleSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObje
766
2355
  type: "evmAddress";
767
2356
  operator: "in" | "not in";
768
2357
  addresses: string[];
2358
+ }>, z.ZodObject<{
2359
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
2360
+ type: z.ZodLiteral<"evmData">;
2361
+ /**
2362
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
2363
+ */
2364
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2365
+ type: z.ZodLiteral<"error">;
2366
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2367
+ name: z.ZodString;
2368
+ }, "strip", z.ZodTypeAny, {
2369
+ inputs: readonly import("abitype").AbiParameter[];
2370
+ type: "error";
2371
+ name: string;
2372
+ }, {
2373
+ inputs: readonly import("abitype").AbiParameter[];
2374
+ type: "error";
2375
+ name: string;
2376
+ }>, z.ZodObject<{
2377
+ type: z.ZodLiteral<"event">;
2378
+ anonymous: z.ZodOptional<z.ZodBoolean>;
2379
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
2380
+ name: z.ZodString;
2381
+ }, "strip", z.ZodTypeAny, {
2382
+ inputs: readonly import("abitype").AbiEventParameter[];
2383
+ type: "event";
2384
+ name: string;
2385
+ anonymous?: boolean | undefined;
2386
+ }, {
2387
+ inputs: readonly import("abitype").AbiEventParameter[];
2388
+ type: "event";
2389
+ name: string;
2390
+ anonymous?: boolean | undefined;
2391
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
2392
+ constant: z.ZodOptional<z.ZodBoolean>;
2393
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
2394
+ payable: z.ZodOptional<z.ZodBoolean>;
2395
+ }, "strip", z.ZodTypeAny, {
2396
+ payable?: boolean | undefined;
2397
+ constant?: boolean | undefined;
2398
+ gas?: number | undefined;
2399
+ }, {
2400
+ payable?: boolean | undefined;
2401
+ constant?: boolean | undefined;
2402
+ gas?: number | undefined;
2403
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2404
+ type: z.ZodLiteral<"function">;
2405
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2406
+ name: z.ZodString;
2407
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2408
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
2409
+ }, "strip", z.ZodTypeAny, {
2410
+ inputs: readonly import("abitype").AbiParameter[];
2411
+ outputs: readonly import("abitype").AbiParameter[];
2412
+ type: "function";
2413
+ name: string;
2414
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2415
+ }, {
2416
+ inputs: readonly import("abitype").AbiParameter[];
2417
+ outputs: readonly import("abitype").AbiParameter[];
2418
+ type: "function";
2419
+ name: string;
2420
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2421
+ }>, z.ZodObject<{
2422
+ type: z.ZodLiteral<"constructor">;
2423
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2424
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2425
+ }, "strip", z.ZodTypeAny, {
2426
+ inputs: readonly import("abitype").AbiParameter[];
2427
+ type: "constructor";
2428
+ stateMutability: "nonpayable" | "payable";
2429
+ }, {
2430
+ inputs: readonly import("abitype").AbiParameter[];
2431
+ type: "constructor";
2432
+ stateMutability: "nonpayable" | "payable";
2433
+ }>, z.ZodObject<{
2434
+ type: z.ZodLiteral<"fallback">;
2435
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
2436
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2437
+ }, "strip", z.ZodTypeAny, {
2438
+ type: "fallback";
2439
+ stateMutability: "nonpayable" | "payable";
2440
+ inputs?: [] | undefined;
2441
+ }, {
2442
+ type: "fallback";
2443
+ stateMutability: "nonpayable" | "payable";
2444
+ inputs?: [] | undefined;
2445
+ }>, z.ZodObject<{
2446
+ type: z.ZodLiteral<"receive">;
2447
+ stateMutability: z.ZodLiteral<"payable">;
2448
+ }, "strip", z.ZodTypeAny, {
2449
+ type: "receive";
2450
+ stateMutability: "payable";
2451
+ }, {
2452
+ type: "receive";
2453
+ stateMutability: "payable";
2454
+ }>]>>, {
2455
+ payable?: boolean | undefined;
2456
+ constant?: boolean | undefined;
2457
+ gas?: number | undefined;
2458
+ } & ({
2459
+ inputs: readonly import("abitype").AbiParameter[];
2460
+ outputs: readonly import("abitype").AbiParameter[];
2461
+ type: "function";
2462
+ name: string;
2463
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2464
+ } | {
2465
+ inputs: readonly import("abitype").AbiParameter[];
2466
+ type: "constructor";
2467
+ stateMutability: "nonpayable" | "payable";
2468
+ } | {
2469
+ type: "fallback";
2470
+ stateMutability: "nonpayable" | "payable";
2471
+ inputs?: [] | undefined;
2472
+ } | {
2473
+ type: "receive";
2474
+ stateMutability: "payable";
2475
+ }), unknown>]>, "many">>]>;
2476
+ /**
2477
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
2478
+ * Each condition must be met in order for this policy to be accepted or rejected.
2479
+ */
2480
+ conditions: z.ZodArray<z.ZodObject<{
2481
+ /**
2482
+ * The name of a smart contract function being called.
2483
+ */
2484
+ function: z.ZodString;
2485
+ /**
2486
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
2487
+ */
2488
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2489
+ /**
2490
+ * The name of the parameter to check against a transaction's calldata.
2491
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2492
+ */
2493
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2494
+ /**
2495
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
2496
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
2497
+ */
2498
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2499
+ /**
2500
+ * A single value to compare the value resolved at `name` to.
2501
+ * All values are encoded as strings. Refer to the table in the documentation for how values
2502
+ * should be encoded, and which operators are supported for each type.
2503
+ */
2504
+ value: z.ZodString;
2505
+ }, "strip", z.ZodTypeAny, {
2506
+ name: string;
2507
+ value: string;
2508
+ operator: ">" | ">=" | "<" | "<=" | "==";
2509
+ }, {
2510
+ name: string;
2511
+ value: string;
2512
+ operator: ">" | ">=" | "<" | "<=" | "==";
2513
+ }>, z.ZodObject<{
2514
+ /**
2515
+ * The name of the parameter to check against a transaction's calldata.
2516
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2517
+ */
2518
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2519
+ /**
2520
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
2521
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
2522
+ */
2523
+ operator: z.ZodEnum<["in", "not in"]>;
2524
+ /**
2525
+ * Values to compare against the resolved `name` value.
2526
+ * All values are encoded as strings. Refer to the table in the documentation for how values
2527
+ * should be encoded, and which operators are supported for each type.
2528
+ */
2529
+ values: z.ZodArray<z.ZodString, "many">;
2530
+ }, "strip", z.ZodTypeAny, {
2531
+ values: string[];
2532
+ name: string;
2533
+ operator: "in" | "not in";
2534
+ }, {
2535
+ values: string[];
2536
+ name: string;
2537
+ operator: "in" | "not in";
2538
+ }>]>, "many">>;
2539
+ }, "strip", z.ZodTypeAny, {
2540
+ function: string;
2541
+ params?: ({
2542
+ values: string[];
2543
+ name: string;
2544
+ operator: "in" | "not in";
2545
+ } | {
2546
+ name: string;
2547
+ value: string;
2548
+ operator: ">" | ">=" | "<" | "<=" | "==";
2549
+ })[] | undefined;
2550
+ }, {
2551
+ function: string;
2552
+ params?: ({
2553
+ values: string[];
2554
+ name: string;
2555
+ operator: "in" | "not in";
2556
+ } | {
2557
+ name: string;
2558
+ value: string;
2559
+ operator: ">" | ">=" | "<" | "<=" | "==";
2560
+ })[] | undefined;
2561
+ }>, "many">;
2562
+ }, "strip", z.ZodTypeAny, {
2563
+ type: "evmData";
2564
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
2565
+ inputs: readonly import("abitype").AbiParameter[];
2566
+ type: "error";
2567
+ name: string;
2568
+ } | {
2569
+ inputs: readonly import("abitype").AbiEventParameter[];
2570
+ type: "event";
2571
+ name: string;
2572
+ anonymous?: boolean | undefined;
2573
+ } | ({
2574
+ payable?: boolean | undefined;
2575
+ constant?: boolean | undefined;
2576
+ gas?: number | undefined;
2577
+ } & ({
2578
+ inputs: readonly import("abitype").AbiParameter[];
2579
+ outputs: readonly import("abitype").AbiParameter[];
2580
+ type: "function";
2581
+ name: string;
2582
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2583
+ } | {
2584
+ inputs: readonly import("abitype").AbiParameter[];
2585
+ type: "constructor";
2586
+ stateMutability: "nonpayable" | "payable";
2587
+ } | {
2588
+ type: "fallback";
2589
+ stateMutability: "nonpayable" | "payable";
2590
+ inputs?: [] | undefined;
2591
+ } | {
2592
+ type: "receive";
2593
+ stateMutability: "payable";
2594
+ })))[];
2595
+ conditions: {
2596
+ function: string;
2597
+ params?: ({
2598
+ values: string[];
2599
+ name: string;
2600
+ operator: "in" | "not in";
2601
+ } | {
2602
+ name: string;
2603
+ value: string;
2604
+ operator: ">" | ">=" | "<" | "<=" | "==";
2605
+ })[] | undefined;
2606
+ }[];
2607
+ }, {
2608
+ type: "evmData";
2609
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
2610
+ conditions: {
2611
+ function: string;
2612
+ params?: ({
2613
+ values: string[];
2614
+ name: string;
2615
+ operator: "in" | "not in";
2616
+ } | {
2617
+ name: string;
2618
+ value: string;
2619
+ operator: ">" | ">=" | "<" | "<=" | "==";
2620
+ })[] | undefined;
2621
+ }[];
769
2622
  }>]>, "many">;
770
2623
  }, "strip", z.ZodTypeAny, {
771
2624
  action: "reject" | "accept";
@@ -778,6 +2631,51 @@ export declare const RuleSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObje
778
2631
  type: "evmAddress";
779
2632
  operator: "in" | "not in";
780
2633
  addresses: `0x${string}`[];
2634
+ } | {
2635
+ type: "evmData";
2636
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
2637
+ inputs: readonly import("abitype").AbiParameter[];
2638
+ type: "error";
2639
+ name: string;
2640
+ } | {
2641
+ inputs: readonly import("abitype").AbiEventParameter[];
2642
+ type: "event";
2643
+ name: string;
2644
+ anonymous?: boolean | undefined;
2645
+ } | ({
2646
+ payable?: boolean | undefined;
2647
+ constant?: boolean | undefined;
2648
+ gas?: number | undefined;
2649
+ } & ({
2650
+ inputs: readonly import("abitype").AbiParameter[];
2651
+ outputs: readonly import("abitype").AbiParameter[];
2652
+ type: "function";
2653
+ name: string;
2654
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2655
+ } | {
2656
+ inputs: readonly import("abitype").AbiParameter[];
2657
+ type: "constructor";
2658
+ stateMutability: "nonpayable" | "payable";
2659
+ } | {
2660
+ type: "fallback";
2661
+ stateMutability: "nonpayable" | "payable";
2662
+ inputs?: [] | undefined;
2663
+ } | {
2664
+ type: "receive";
2665
+ stateMutability: "payable";
2666
+ })))[];
2667
+ conditions: {
2668
+ function: string;
2669
+ params?: ({
2670
+ values: string[];
2671
+ name: string;
2672
+ operator: "in" | "not in";
2673
+ } | {
2674
+ name: string;
2675
+ value: string;
2676
+ operator: ">" | ">=" | "<" | "<=" | "==";
2677
+ })[] | undefined;
2678
+ }[];
781
2679
  })[];
782
2680
  }, {
783
2681
  action: "reject" | "accept";
@@ -790,6 +2688,21 @@ export declare const RuleSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObje
790
2688
  type: "evmAddress";
791
2689
  operator: "in" | "not in";
792
2690
  addresses: string[];
2691
+ } | {
2692
+ type: "evmData";
2693
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
2694
+ conditions: {
2695
+ function: string;
2696
+ params?: ({
2697
+ values: string[];
2698
+ name: string;
2699
+ operator: "in" | "not in";
2700
+ } | {
2701
+ name: string;
2702
+ value: string;
2703
+ operator: ">" | ">=" | "<" | "<=" | "==";
2704
+ })[] | undefined;
2705
+ }[];
793
2706
  })[];
794
2707
  }>, z.ZodObject<{
795
2708
  /**
@@ -930,6 +2843,270 @@ export declare const RuleSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObje
930
2843
  type: "evmNetwork";
931
2844
  operator: "in" | "not in";
932
2845
  networks: ("base-sepolia" | "base")[];
2846
+ }>, z.ZodObject<{
2847
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
2848
+ type: z.ZodLiteral<"evmData">;
2849
+ /**
2850
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
2851
+ */
2852
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2853
+ type: z.ZodLiteral<"error">;
2854
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2855
+ name: z.ZodString;
2856
+ }, "strip", z.ZodTypeAny, {
2857
+ inputs: readonly import("abitype").AbiParameter[];
2858
+ type: "error";
2859
+ name: string;
2860
+ }, {
2861
+ inputs: readonly import("abitype").AbiParameter[];
2862
+ type: "error";
2863
+ name: string;
2864
+ }>, z.ZodObject<{
2865
+ type: z.ZodLiteral<"event">;
2866
+ anonymous: z.ZodOptional<z.ZodBoolean>;
2867
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
2868
+ name: z.ZodString;
2869
+ }, "strip", z.ZodTypeAny, {
2870
+ inputs: readonly import("abitype").AbiEventParameter[];
2871
+ type: "event";
2872
+ name: string;
2873
+ anonymous?: boolean | undefined;
2874
+ }, {
2875
+ inputs: readonly import("abitype").AbiEventParameter[];
2876
+ type: "event";
2877
+ name: string;
2878
+ anonymous?: boolean | undefined;
2879
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
2880
+ constant: z.ZodOptional<z.ZodBoolean>;
2881
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
2882
+ payable: z.ZodOptional<z.ZodBoolean>;
2883
+ }, "strip", z.ZodTypeAny, {
2884
+ payable?: boolean | undefined;
2885
+ constant?: boolean | undefined;
2886
+ gas?: number | undefined;
2887
+ }, {
2888
+ payable?: boolean | undefined;
2889
+ constant?: boolean | undefined;
2890
+ gas?: number | undefined;
2891
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2892
+ type: z.ZodLiteral<"function">;
2893
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2894
+ name: z.ZodString;
2895
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2896
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
2897
+ }, "strip", z.ZodTypeAny, {
2898
+ inputs: readonly import("abitype").AbiParameter[];
2899
+ outputs: readonly import("abitype").AbiParameter[];
2900
+ type: "function";
2901
+ name: string;
2902
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2903
+ }, {
2904
+ inputs: readonly import("abitype").AbiParameter[];
2905
+ outputs: readonly import("abitype").AbiParameter[];
2906
+ type: "function";
2907
+ name: string;
2908
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2909
+ }>, z.ZodObject<{
2910
+ type: z.ZodLiteral<"constructor">;
2911
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2912
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2913
+ }, "strip", z.ZodTypeAny, {
2914
+ inputs: readonly import("abitype").AbiParameter[];
2915
+ type: "constructor";
2916
+ stateMutability: "nonpayable" | "payable";
2917
+ }, {
2918
+ inputs: readonly import("abitype").AbiParameter[];
2919
+ type: "constructor";
2920
+ stateMutability: "nonpayable" | "payable";
2921
+ }>, z.ZodObject<{
2922
+ type: z.ZodLiteral<"fallback">;
2923
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
2924
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2925
+ }, "strip", z.ZodTypeAny, {
2926
+ type: "fallback";
2927
+ stateMutability: "nonpayable" | "payable";
2928
+ inputs?: [] | undefined;
2929
+ }, {
2930
+ type: "fallback";
2931
+ stateMutability: "nonpayable" | "payable";
2932
+ inputs?: [] | undefined;
2933
+ }>, z.ZodObject<{
2934
+ type: z.ZodLiteral<"receive">;
2935
+ stateMutability: z.ZodLiteral<"payable">;
2936
+ }, "strip", z.ZodTypeAny, {
2937
+ type: "receive";
2938
+ stateMutability: "payable";
2939
+ }, {
2940
+ type: "receive";
2941
+ stateMutability: "payable";
2942
+ }>]>>, {
2943
+ payable?: boolean | undefined;
2944
+ constant?: boolean | undefined;
2945
+ gas?: number | undefined;
2946
+ } & ({
2947
+ inputs: readonly import("abitype").AbiParameter[];
2948
+ outputs: readonly import("abitype").AbiParameter[];
2949
+ type: "function";
2950
+ name: string;
2951
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2952
+ } | {
2953
+ inputs: readonly import("abitype").AbiParameter[];
2954
+ type: "constructor";
2955
+ stateMutability: "nonpayable" | "payable";
2956
+ } | {
2957
+ type: "fallback";
2958
+ stateMutability: "nonpayable" | "payable";
2959
+ inputs?: [] | undefined;
2960
+ } | {
2961
+ type: "receive";
2962
+ stateMutability: "payable";
2963
+ }), unknown>]>, "many">>]>;
2964
+ /**
2965
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
2966
+ * Each condition must be met in order for this policy to be accepted or rejected.
2967
+ */
2968
+ conditions: z.ZodArray<z.ZodObject<{
2969
+ /**
2970
+ * The name of a smart contract function being called.
2971
+ */
2972
+ function: z.ZodString;
2973
+ /**
2974
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
2975
+ */
2976
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2977
+ /**
2978
+ * The name of the parameter to check against a transaction's calldata.
2979
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2980
+ */
2981
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2982
+ /**
2983
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
2984
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
2985
+ */
2986
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2987
+ /**
2988
+ * A single value to compare the value resolved at `name` to.
2989
+ * All values are encoded as strings. Refer to the table in the documentation for how values
2990
+ * should be encoded, and which operators are supported for each type.
2991
+ */
2992
+ value: z.ZodString;
2993
+ }, "strip", z.ZodTypeAny, {
2994
+ name: string;
2995
+ value: string;
2996
+ operator: ">" | ">=" | "<" | "<=" | "==";
2997
+ }, {
2998
+ name: string;
2999
+ value: string;
3000
+ operator: ">" | ">=" | "<" | "<=" | "==";
3001
+ }>, z.ZodObject<{
3002
+ /**
3003
+ * The name of the parameter to check against a transaction's calldata.
3004
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
3005
+ */
3006
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
3007
+ /**
3008
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
3009
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
3010
+ */
3011
+ operator: z.ZodEnum<["in", "not in"]>;
3012
+ /**
3013
+ * Values to compare against the resolved `name` value.
3014
+ * All values are encoded as strings. Refer to the table in the documentation for how values
3015
+ * should be encoded, and which operators are supported for each type.
3016
+ */
3017
+ values: z.ZodArray<z.ZodString, "many">;
3018
+ }, "strip", z.ZodTypeAny, {
3019
+ values: string[];
3020
+ name: string;
3021
+ operator: "in" | "not in";
3022
+ }, {
3023
+ values: string[];
3024
+ name: string;
3025
+ operator: "in" | "not in";
3026
+ }>]>, "many">>;
3027
+ }, "strip", z.ZodTypeAny, {
3028
+ function: string;
3029
+ params?: ({
3030
+ values: string[];
3031
+ name: string;
3032
+ operator: "in" | "not in";
3033
+ } | {
3034
+ name: string;
3035
+ value: string;
3036
+ operator: ">" | ">=" | "<" | "<=" | "==";
3037
+ })[] | undefined;
3038
+ }, {
3039
+ function: string;
3040
+ params?: ({
3041
+ values: string[];
3042
+ name: string;
3043
+ operator: "in" | "not in";
3044
+ } | {
3045
+ name: string;
3046
+ value: string;
3047
+ operator: ">" | ">=" | "<" | "<=" | "==";
3048
+ })[] | undefined;
3049
+ }>, "many">;
3050
+ }, "strip", z.ZodTypeAny, {
3051
+ type: "evmData";
3052
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
3053
+ inputs: readonly import("abitype").AbiParameter[];
3054
+ type: "error";
3055
+ name: string;
3056
+ } | {
3057
+ inputs: readonly import("abitype").AbiEventParameter[];
3058
+ type: "event";
3059
+ name: string;
3060
+ anonymous?: boolean | undefined;
3061
+ } | ({
3062
+ payable?: boolean | undefined;
3063
+ constant?: boolean | undefined;
3064
+ gas?: number | undefined;
3065
+ } & ({
3066
+ inputs: readonly import("abitype").AbiParameter[];
3067
+ outputs: readonly import("abitype").AbiParameter[];
3068
+ type: "function";
3069
+ name: string;
3070
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3071
+ } | {
3072
+ inputs: readonly import("abitype").AbiParameter[];
3073
+ type: "constructor";
3074
+ stateMutability: "nonpayable" | "payable";
3075
+ } | {
3076
+ type: "fallback";
3077
+ stateMutability: "nonpayable" | "payable";
3078
+ inputs?: [] | undefined;
3079
+ } | {
3080
+ type: "receive";
3081
+ stateMutability: "payable";
3082
+ })))[];
3083
+ conditions: {
3084
+ function: string;
3085
+ params?: ({
3086
+ values: string[];
3087
+ name: string;
3088
+ operator: "in" | "not in";
3089
+ } | {
3090
+ name: string;
3091
+ value: string;
3092
+ operator: ">" | ">=" | "<" | "<=" | "==";
3093
+ })[] | undefined;
3094
+ }[];
3095
+ }, {
3096
+ type: "evmData";
3097
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
3098
+ conditions: {
3099
+ function: string;
3100
+ params?: ({
3101
+ values: string[];
3102
+ name: string;
3103
+ operator: "in" | "not in";
3104
+ } | {
3105
+ name: string;
3106
+ value: string;
3107
+ operator: ">" | ">=" | "<" | "<=" | "==";
3108
+ })[] | undefined;
3109
+ }[];
933
3110
  }>]>, "many">;
934
3111
  }, "strip", z.ZodTypeAny, {
935
3112
  action: "reject" | "accept";
@@ -946,6 +3123,51 @@ export declare const RuleSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObje
946
3123
  type: "evmNetwork";
947
3124
  operator: "in" | "not in";
948
3125
  networks: ("base-sepolia" | "base")[];
3126
+ } | {
3127
+ type: "evmData";
3128
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
3129
+ inputs: readonly import("abitype").AbiParameter[];
3130
+ type: "error";
3131
+ name: string;
3132
+ } | {
3133
+ inputs: readonly import("abitype").AbiEventParameter[];
3134
+ type: "event";
3135
+ name: string;
3136
+ anonymous?: boolean | undefined;
3137
+ } | ({
3138
+ payable?: boolean | undefined;
3139
+ constant?: boolean | undefined;
3140
+ gas?: number | undefined;
3141
+ } & ({
3142
+ inputs: readonly import("abitype").AbiParameter[];
3143
+ outputs: readonly import("abitype").AbiParameter[];
3144
+ type: "function";
3145
+ name: string;
3146
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3147
+ } | {
3148
+ inputs: readonly import("abitype").AbiParameter[];
3149
+ type: "constructor";
3150
+ stateMutability: "nonpayable" | "payable";
3151
+ } | {
3152
+ type: "fallback";
3153
+ stateMutability: "nonpayable" | "payable";
3154
+ inputs?: [] | undefined;
3155
+ } | {
3156
+ type: "receive";
3157
+ stateMutability: "payable";
3158
+ })))[];
3159
+ conditions: {
3160
+ function: string;
3161
+ params?: ({
3162
+ values: string[];
3163
+ name: string;
3164
+ operator: "in" | "not in";
3165
+ } | {
3166
+ name: string;
3167
+ value: string;
3168
+ operator: ">" | ">=" | "<" | "<=" | "==";
3169
+ })[] | undefined;
3170
+ }[];
949
3171
  })[];
950
3172
  }, {
951
3173
  action: "reject" | "accept";
@@ -962,6 +3184,21 @@ export declare const RuleSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObje
962
3184
  type: "evmNetwork";
963
3185
  operator: "in" | "not in";
964
3186
  networks: ("base-sepolia" | "base")[];
3187
+ } | {
3188
+ type: "evmData";
3189
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
3190
+ conditions: {
3191
+ function: string;
3192
+ params?: ({
3193
+ values: string[];
3194
+ name: string;
3195
+ operator: "in" | "not in";
3196
+ } | {
3197
+ name: string;
3198
+ value: string;
3199
+ operator: ">" | ">=" | "<" | "<=" | "==";
3200
+ })[] | undefined;
3201
+ }[];
965
3202
  })[];
966
3203
  }>, z.ZodObject<{
967
3204
  /**
@@ -1106,6 +3343,270 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1106
3343
  type: "evmAddress";
1107
3344
  operator: "in" | "not in";
1108
3345
  addresses: string[];
3346
+ }>, z.ZodObject<{
3347
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
3348
+ type: z.ZodLiteral<"evmData">;
3349
+ /**
3350
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
3351
+ */
3352
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
3353
+ type: z.ZodLiteral<"error">;
3354
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3355
+ name: z.ZodString;
3356
+ }, "strip", z.ZodTypeAny, {
3357
+ inputs: readonly import("abitype").AbiParameter[];
3358
+ type: "error";
3359
+ name: string;
3360
+ }, {
3361
+ inputs: readonly import("abitype").AbiParameter[];
3362
+ type: "error";
3363
+ name: string;
3364
+ }>, z.ZodObject<{
3365
+ type: z.ZodLiteral<"event">;
3366
+ anonymous: z.ZodOptional<z.ZodBoolean>;
3367
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
3368
+ name: z.ZodString;
3369
+ }, "strip", z.ZodTypeAny, {
3370
+ inputs: readonly import("abitype").AbiEventParameter[];
3371
+ type: "event";
3372
+ name: string;
3373
+ anonymous?: boolean | undefined;
3374
+ }, {
3375
+ inputs: readonly import("abitype").AbiEventParameter[];
3376
+ type: "event";
3377
+ name: string;
3378
+ anonymous?: boolean | undefined;
3379
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
3380
+ constant: z.ZodOptional<z.ZodBoolean>;
3381
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
3382
+ payable: z.ZodOptional<z.ZodBoolean>;
3383
+ }, "strip", z.ZodTypeAny, {
3384
+ payable?: boolean | undefined;
3385
+ constant?: boolean | undefined;
3386
+ gas?: number | undefined;
3387
+ }, {
3388
+ payable?: boolean | undefined;
3389
+ constant?: boolean | undefined;
3390
+ gas?: number | undefined;
3391
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3392
+ type: z.ZodLiteral<"function">;
3393
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3394
+ name: z.ZodString;
3395
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3396
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
3397
+ }, "strip", z.ZodTypeAny, {
3398
+ inputs: readonly import("abitype").AbiParameter[];
3399
+ outputs: readonly import("abitype").AbiParameter[];
3400
+ type: "function";
3401
+ name: string;
3402
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3403
+ }, {
3404
+ inputs: readonly import("abitype").AbiParameter[];
3405
+ outputs: readonly import("abitype").AbiParameter[];
3406
+ type: "function";
3407
+ name: string;
3408
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3409
+ }>, z.ZodObject<{
3410
+ type: z.ZodLiteral<"constructor">;
3411
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3412
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
3413
+ }, "strip", z.ZodTypeAny, {
3414
+ inputs: readonly import("abitype").AbiParameter[];
3415
+ type: "constructor";
3416
+ stateMutability: "nonpayable" | "payable";
3417
+ }, {
3418
+ inputs: readonly import("abitype").AbiParameter[];
3419
+ type: "constructor";
3420
+ stateMutability: "nonpayable" | "payable";
3421
+ }>, z.ZodObject<{
3422
+ type: z.ZodLiteral<"fallback">;
3423
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
3424
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
3425
+ }, "strip", z.ZodTypeAny, {
3426
+ type: "fallback";
3427
+ stateMutability: "nonpayable" | "payable";
3428
+ inputs?: [] | undefined;
3429
+ }, {
3430
+ type: "fallback";
3431
+ stateMutability: "nonpayable" | "payable";
3432
+ inputs?: [] | undefined;
3433
+ }>, z.ZodObject<{
3434
+ type: z.ZodLiteral<"receive">;
3435
+ stateMutability: z.ZodLiteral<"payable">;
3436
+ }, "strip", z.ZodTypeAny, {
3437
+ type: "receive";
3438
+ stateMutability: "payable";
3439
+ }, {
3440
+ type: "receive";
3441
+ stateMutability: "payable";
3442
+ }>]>>, {
3443
+ payable?: boolean | undefined;
3444
+ constant?: boolean | undefined;
3445
+ gas?: number | undefined;
3446
+ } & ({
3447
+ inputs: readonly import("abitype").AbiParameter[];
3448
+ outputs: readonly import("abitype").AbiParameter[];
3449
+ type: "function";
3450
+ name: string;
3451
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3452
+ } | {
3453
+ inputs: readonly import("abitype").AbiParameter[];
3454
+ type: "constructor";
3455
+ stateMutability: "nonpayable" | "payable";
3456
+ } | {
3457
+ type: "fallback";
3458
+ stateMutability: "nonpayable" | "payable";
3459
+ inputs?: [] | undefined;
3460
+ } | {
3461
+ type: "receive";
3462
+ stateMutability: "payable";
3463
+ }), unknown>]>, "many">>]>;
3464
+ /**
3465
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
3466
+ * Each condition must be met in order for this policy to be accepted or rejected.
3467
+ */
3468
+ conditions: z.ZodArray<z.ZodObject<{
3469
+ /**
3470
+ * The name of a smart contract function being called.
3471
+ */
3472
+ function: z.ZodString;
3473
+ /**
3474
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
3475
+ */
3476
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
3477
+ /**
3478
+ * The name of the parameter to check against a transaction's calldata.
3479
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
3480
+ */
3481
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
3482
+ /**
3483
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
3484
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
3485
+ */
3486
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
3487
+ /**
3488
+ * A single value to compare the value resolved at `name` to.
3489
+ * All values are encoded as strings. Refer to the table in the documentation for how values
3490
+ * should be encoded, and which operators are supported for each type.
3491
+ */
3492
+ value: z.ZodString;
3493
+ }, "strip", z.ZodTypeAny, {
3494
+ name: string;
3495
+ value: string;
3496
+ operator: ">" | ">=" | "<" | "<=" | "==";
3497
+ }, {
3498
+ name: string;
3499
+ value: string;
3500
+ operator: ">" | ">=" | "<" | "<=" | "==";
3501
+ }>, z.ZodObject<{
3502
+ /**
3503
+ * The name of the parameter to check against a transaction's calldata.
3504
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
3505
+ */
3506
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
3507
+ /**
3508
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
3509
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
3510
+ */
3511
+ operator: z.ZodEnum<["in", "not in"]>;
3512
+ /**
3513
+ * Values to compare against the resolved `name` value.
3514
+ * All values are encoded as strings. Refer to the table in the documentation for how values
3515
+ * should be encoded, and which operators are supported for each type.
3516
+ */
3517
+ values: z.ZodArray<z.ZodString, "many">;
3518
+ }, "strip", z.ZodTypeAny, {
3519
+ values: string[];
3520
+ name: string;
3521
+ operator: "in" | "not in";
3522
+ }, {
3523
+ values: string[];
3524
+ name: string;
3525
+ operator: "in" | "not in";
3526
+ }>]>, "many">>;
3527
+ }, "strip", z.ZodTypeAny, {
3528
+ function: string;
3529
+ params?: ({
3530
+ values: string[];
3531
+ name: string;
3532
+ operator: "in" | "not in";
3533
+ } | {
3534
+ name: string;
3535
+ value: string;
3536
+ operator: ">" | ">=" | "<" | "<=" | "==";
3537
+ })[] | undefined;
3538
+ }, {
3539
+ function: string;
3540
+ params?: ({
3541
+ values: string[];
3542
+ name: string;
3543
+ operator: "in" | "not in";
3544
+ } | {
3545
+ name: string;
3546
+ value: string;
3547
+ operator: ">" | ">=" | "<" | "<=" | "==";
3548
+ })[] | undefined;
3549
+ }>, "many">;
3550
+ }, "strip", z.ZodTypeAny, {
3551
+ type: "evmData";
3552
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
3553
+ inputs: readonly import("abitype").AbiParameter[];
3554
+ type: "error";
3555
+ name: string;
3556
+ } | {
3557
+ inputs: readonly import("abitype").AbiEventParameter[];
3558
+ type: "event";
3559
+ name: string;
3560
+ anonymous?: boolean | undefined;
3561
+ } | ({
3562
+ payable?: boolean | undefined;
3563
+ constant?: boolean | undefined;
3564
+ gas?: number | undefined;
3565
+ } & ({
3566
+ inputs: readonly import("abitype").AbiParameter[];
3567
+ outputs: readonly import("abitype").AbiParameter[];
3568
+ type: "function";
3569
+ name: string;
3570
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3571
+ } | {
3572
+ inputs: readonly import("abitype").AbiParameter[];
3573
+ type: "constructor";
3574
+ stateMutability: "nonpayable" | "payable";
3575
+ } | {
3576
+ type: "fallback";
3577
+ stateMutability: "nonpayable" | "payable";
3578
+ inputs?: [] | undefined;
3579
+ } | {
3580
+ type: "receive";
3581
+ stateMutability: "payable";
3582
+ })))[];
3583
+ conditions: {
3584
+ function: string;
3585
+ params?: ({
3586
+ values: string[];
3587
+ name: string;
3588
+ operator: "in" | "not in";
3589
+ } | {
3590
+ name: string;
3591
+ value: string;
3592
+ operator: ">" | ">=" | "<" | "<=" | "==";
3593
+ })[] | undefined;
3594
+ }[];
3595
+ }, {
3596
+ type: "evmData";
3597
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
3598
+ conditions: {
3599
+ function: string;
3600
+ params?: ({
3601
+ values: string[];
3602
+ name: string;
3603
+ operator: "in" | "not in";
3604
+ } | {
3605
+ name: string;
3606
+ value: string;
3607
+ operator: ">" | ">=" | "<" | "<=" | "==";
3608
+ })[] | undefined;
3609
+ }[];
1109
3610
  }>]>, "many">;
1110
3611
  }, "strip", z.ZodTypeAny, {
1111
3612
  action: "reject" | "accept";
@@ -1118,6 +3619,51 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1118
3619
  type: "evmAddress";
1119
3620
  operator: "in" | "not in";
1120
3621
  addresses: `0x${string}`[];
3622
+ } | {
3623
+ type: "evmData";
3624
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
3625
+ inputs: readonly import("abitype").AbiParameter[];
3626
+ type: "error";
3627
+ name: string;
3628
+ } | {
3629
+ inputs: readonly import("abitype").AbiEventParameter[];
3630
+ type: "event";
3631
+ name: string;
3632
+ anonymous?: boolean | undefined;
3633
+ } | ({
3634
+ payable?: boolean | undefined;
3635
+ constant?: boolean | undefined;
3636
+ gas?: number | undefined;
3637
+ } & ({
3638
+ inputs: readonly import("abitype").AbiParameter[];
3639
+ outputs: readonly import("abitype").AbiParameter[];
3640
+ type: "function";
3641
+ name: string;
3642
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3643
+ } | {
3644
+ inputs: readonly import("abitype").AbiParameter[];
3645
+ type: "constructor";
3646
+ stateMutability: "nonpayable" | "payable";
3647
+ } | {
3648
+ type: "fallback";
3649
+ stateMutability: "nonpayable" | "payable";
3650
+ inputs?: [] | undefined;
3651
+ } | {
3652
+ type: "receive";
3653
+ stateMutability: "payable";
3654
+ })))[];
3655
+ conditions: {
3656
+ function: string;
3657
+ params?: ({
3658
+ values: string[];
3659
+ name: string;
3660
+ operator: "in" | "not in";
3661
+ } | {
3662
+ name: string;
3663
+ value: string;
3664
+ operator: ">" | ">=" | "<" | "<=" | "==";
3665
+ })[] | undefined;
3666
+ }[];
1121
3667
  })[];
1122
3668
  }, {
1123
3669
  action: "reject" | "accept";
@@ -1130,6 +3676,21 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1130
3676
  type: "evmAddress";
1131
3677
  operator: "in" | "not in";
1132
3678
  addresses: string[];
3679
+ } | {
3680
+ type: "evmData";
3681
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
3682
+ conditions: {
3683
+ function: string;
3684
+ params?: ({
3685
+ values: string[];
3686
+ name: string;
3687
+ operator: "in" | "not in";
3688
+ } | {
3689
+ name: string;
3690
+ value: string;
3691
+ operator: ">" | ">=" | "<" | "<=" | "==";
3692
+ })[] | undefined;
3693
+ }[];
1133
3694
  })[];
1134
3695
  }>, z.ZodObject<{
1135
3696
  /**
@@ -1270,6 +3831,270 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1270
3831
  type: "evmNetwork";
1271
3832
  operator: "in" | "not in";
1272
3833
  networks: ("base-sepolia" | "base")[];
3834
+ }>, z.ZodObject<{
3835
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
3836
+ type: z.ZodLiteral<"evmData">;
3837
+ /**
3838
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
3839
+ */
3840
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
3841
+ type: z.ZodLiteral<"error">;
3842
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3843
+ name: z.ZodString;
3844
+ }, "strip", z.ZodTypeAny, {
3845
+ inputs: readonly import("abitype").AbiParameter[];
3846
+ type: "error";
3847
+ name: string;
3848
+ }, {
3849
+ inputs: readonly import("abitype").AbiParameter[];
3850
+ type: "error";
3851
+ name: string;
3852
+ }>, z.ZodObject<{
3853
+ type: z.ZodLiteral<"event">;
3854
+ anonymous: z.ZodOptional<z.ZodBoolean>;
3855
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
3856
+ name: z.ZodString;
3857
+ }, "strip", z.ZodTypeAny, {
3858
+ inputs: readonly import("abitype").AbiEventParameter[];
3859
+ type: "event";
3860
+ name: string;
3861
+ anonymous?: boolean | undefined;
3862
+ }, {
3863
+ inputs: readonly import("abitype").AbiEventParameter[];
3864
+ type: "event";
3865
+ name: string;
3866
+ anonymous?: boolean | undefined;
3867
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
3868
+ constant: z.ZodOptional<z.ZodBoolean>;
3869
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
3870
+ payable: z.ZodOptional<z.ZodBoolean>;
3871
+ }, "strip", z.ZodTypeAny, {
3872
+ payable?: boolean | undefined;
3873
+ constant?: boolean | undefined;
3874
+ gas?: number | undefined;
3875
+ }, {
3876
+ payable?: boolean | undefined;
3877
+ constant?: boolean | undefined;
3878
+ gas?: number | undefined;
3879
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3880
+ type: z.ZodLiteral<"function">;
3881
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3882
+ name: z.ZodString;
3883
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3884
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
3885
+ }, "strip", z.ZodTypeAny, {
3886
+ inputs: readonly import("abitype").AbiParameter[];
3887
+ outputs: readonly import("abitype").AbiParameter[];
3888
+ type: "function";
3889
+ name: string;
3890
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3891
+ }, {
3892
+ inputs: readonly import("abitype").AbiParameter[];
3893
+ outputs: readonly import("abitype").AbiParameter[];
3894
+ type: "function";
3895
+ name: string;
3896
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3897
+ }>, z.ZodObject<{
3898
+ type: z.ZodLiteral<"constructor">;
3899
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3900
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
3901
+ }, "strip", z.ZodTypeAny, {
3902
+ inputs: readonly import("abitype").AbiParameter[];
3903
+ type: "constructor";
3904
+ stateMutability: "nonpayable" | "payable";
3905
+ }, {
3906
+ inputs: readonly import("abitype").AbiParameter[];
3907
+ type: "constructor";
3908
+ stateMutability: "nonpayable" | "payable";
3909
+ }>, z.ZodObject<{
3910
+ type: z.ZodLiteral<"fallback">;
3911
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
3912
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
3913
+ }, "strip", z.ZodTypeAny, {
3914
+ type: "fallback";
3915
+ stateMutability: "nonpayable" | "payable";
3916
+ inputs?: [] | undefined;
3917
+ }, {
3918
+ type: "fallback";
3919
+ stateMutability: "nonpayable" | "payable";
3920
+ inputs?: [] | undefined;
3921
+ }>, z.ZodObject<{
3922
+ type: z.ZodLiteral<"receive">;
3923
+ stateMutability: z.ZodLiteral<"payable">;
3924
+ }, "strip", z.ZodTypeAny, {
3925
+ type: "receive";
3926
+ stateMutability: "payable";
3927
+ }, {
3928
+ type: "receive";
3929
+ stateMutability: "payable";
3930
+ }>]>>, {
3931
+ payable?: boolean | undefined;
3932
+ constant?: boolean | undefined;
3933
+ gas?: number | undefined;
3934
+ } & ({
3935
+ inputs: readonly import("abitype").AbiParameter[];
3936
+ outputs: readonly import("abitype").AbiParameter[];
3937
+ type: "function";
3938
+ name: string;
3939
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3940
+ } | {
3941
+ inputs: readonly import("abitype").AbiParameter[];
3942
+ type: "constructor";
3943
+ stateMutability: "nonpayable" | "payable";
3944
+ } | {
3945
+ type: "fallback";
3946
+ stateMutability: "nonpayable" | "payable";
3947
+ inputs?: [] | undefined;
3948
+ } | {
3949
+ type: "receive";
3950
+ stateMutability: "payable";
3951
+ }), unknown>]>, "many">>]>;
3952
+ /**
3953
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
3954
+ * Each condition must be met in order for this policy to be accepted or rejected.
3955
+ */
3956
+ conditions: z.ZodArray<z.ZodObject<{
3957
+ /**
3958
+ * The name of a smart contract function being called.
3959
+ */
3960
+ function: z.ZodString;
3961
+ /**
3962
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
3963
+ */
3964
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
3965
+ /**
3966
+ * The name of the parameter to check against a transaction's calldata.
3967
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
3968
+ */
3969
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
3970
+ /**
3971
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
3972
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
3973
+ */
3974
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
3975
+ /**
3976
+ * A single value to compare the value resolved at `name` to.
3977
+ * All values are encoded as strings. Refer to the table in the documentation for how values
3978
+ * should be encoded, and which operators are supported for each type.
3979
+ */
3980
+ value: z.ZodString;
3981
+ }, "strip", z.ZodTypeAny, {
3982
+ name: string;
3983
+ value: string;
3984
+ operator: ">" | ">=" | "<" | "<=" | "==";
3985
+ }, {
3986
+ name: string;
3987
+ value: string;
3988
+ operator: ">" | ">=" | "<" | "<=" | "==";
3989
+ }>, z.ZodObject<{
3990
+ /**
3991
+ * The name of the parameter to check against a transaction's calldata.
3992
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
3993
+ */
3994
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
3995
+ /**
3996
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
3997
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
3998
+ */
3999
+ operator: z.ZodEnum<["in", "not in"]>;
4000
+ /**
4001
+ * Values to compare against the resolved `name` value.
4002
+ * All values are encoded as strings. Refer to the table in the documentation for how values
4003
+ * should be encoded, and which operators are supported for each type.
4004
+ */
4005
+ values: z.ZodArray<z.ZodString, "many">;
4006
+ }, "strip", z.ZodTypeAny, {
4007
+ values: string[];
4008
+ name: string;
4009
+ operator: "in" | "not in";
4010
+ }, {
4011
+ values: string[];
4012
+ name: string;
4013
+ operator: "in" | "not in";
4014
+ }>]>, "many">>;
4015
+ }, "strip", z.ZodTypeAny, {
4016
+ function: string;
4017
+ params?: ({
4018
+ values: string[];
4019
+ name: string;
4020
+ operator: "in" | "not in";
4021
+ } | {
4022
+ name: string;
4023
+ value: string;
4024
+ operator: ">" | ">=" | "<" | "<=" | "==";
4025
+ })[] | undefined;
4026
+ }, {
4027
+ function: string;
4028
+ params?: ({
4029
+ values: string[];
4030
+ name: string;
4031
+ operator: "in" | "not in";
4032
+ } | {
4033
+ name: string;
4034
+ value: string;
4035
+ operator: ">" | ">=" | "<" | "<=" | "==";
4036
+ })[] | undefined;
4037
+ }>, "many">;
4038
+ }, "strip", z.ZodTypeAny, {
4039
+ type: "evmData";
4040
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4041
+ inputs: readonly import("abitype").AbiParameter[];
4042
+ type: "error";
4043
+ name: string;
4044
+ } | {
4045
+ inputs: readonly import("abitype").AbiEventParameter[];
4046
+ type: "event";
4047
+ name: string;
4048
+ anonymous?: boolean | undefined;
4049
+ } | ({
4050
+ payable?: boolean | undefined;
4051
+ constant?: boolean | undefined;
4052
+ gas?: number | undefined;
4053
+ } & ({
4054
+ inputs: readonly import("abitype").AbiParameter[];
4055
+ outputs: readonly import("abitype").AbiParameter[];
4056
+ type: "function";
4057
+ name: string;
4058
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4059
+ } | {
4060
+ inputs: readonly import("abitype").AbiParameter[];
4061
+ type: "constructor";
4062
+ stateMutability: "nonpayable" | "payable";
4063
+ } | {
4064
+ type: "fallback";
4065
+ stateMutability: "nonpayable" | "payable";
4066
+ inputs?: [] | undefined;
4067
+ } | {
4068
+ type: "receive";
4069
+ stateMutability: "payable";
4070
+ })))[];
4071
+ conditions: {
4072
+ function: string;
4073
+ params?: ({
4074
+ values: string[];
4075
+ name: string;
4076
+ operator: "in" | "not in";
4077
+ } | {
4078
+ name: string;
4079
+ value: string;
4080
+ operator: ">" | ">=" | "<" | "<=" | "==";
4081
+ })[] | undefined;
4082
+ }[];
4083
+ }, {
4084
+ type: "evmData";
4085
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4086
+ conditions: {
4087
+ function: string;
4088
+ params?: ({
4089
+ values: string[];
4090
+ name: string;
4091
+ operator: "in" | "not in";
4092
+ } | {
4093
+ name: string;
4094
+ value: string;
4095
+ operator: ">" | ">=" | "<" | "<=" | "==";
4096
+ })[] | undefined;
4097
+ }[];
1273
4098
  }>]>, "many">;
1274
4099
  }, "strip", z.ZodTypeAny, {
1275
4100
  action: "reject" | "accept";
@@ -1286,6 +4111,51 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1286
4111
  type: "evmNetwork";
1287
4112
  operator: "in" | "not in";
1288
4113
  networks: ("base-sepolia" | "base")[];
4114
+ } | {
4115
+ type: "evmData";
4116
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4117
+ inputs: readonly import("abitype").AbiParameter[];
4118
+ type: "error";
4119
+ name: string;
4120
+ } | {
4121
+ inputs: readonly import("abitype").AbiEventParameter[];
4122
+ type: "event";
4123
+ name: string;
4124
+ anonymous?: boolean | undefined;
4125
+ } | ({
4126
+ payable?: boolean | undefined;
4127
+ constant?: boolean | undefined;
4128
+ gas?: number | undefined;
4129
+ } & ({
4130
+ inputs: readonly import("abitype").AbiParameter[];
4131
+ outputs: readonly import("abitype").AbiParameter[];
4132
+ type: "function";
4133
+ name: string;
4134
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4135
+ } | {
4136
+ inputs: readonly import("abitype").AbiParameter[];
4137
+ type: "constructor";
4138
+ stateMutability: "nonpayable" | "payable";
4139
+ } | {
4140
+ type: "fallback";
4141
+ stateMutability: "nonpayable" | "payable";
4142
+ inputs?: [] | undefined;
4143
+ } | {
4144
+ type: "receive";
4145
+ stateMutability: "payable";
4146
+ })))[];
4147
+ conditions: {
4148
+ function: string;
4149
+ params?: ({
4150
+ values: string[];
4151
+ name: string;
4152
+ operator: "in" | "not in";
4153
+ } | {
4154
+ name: string;
4155
+ value: string;
4156
+ operator: ">" | ">=" | "<" | "<=" | "==";
4157
+ })[] | undefined;
4158
+ }[];
1289
4159
  })[];
1290
4160
  }, {
1291
4161
  action: "reject" | "accept";
@@ -1302,6 +4172,21 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1302
4172
  type: "evmNetwork";
1303
4173
  operator: "in" | "not in";
1304
4174
  networks: ("base-sepolia" | "base")[];
4175
+ } | {
4176
+ type: "evmData";
4177
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4178
+ conditions: {
4179
+ function: string;
4180
+ params?: ({
4181
+ values: string[];
4182
+ name: string;
4183
+ operator: "in" | "not in";
4184
+ } | {
4185
+ name: string;
4186
+ value: string;
4187
+ operator: ">" | ">=" | "<" | "<=" | "==";
4188
+ })[] | undefined;
4189
+ }[];
1305
4190
  })[];
1306
4191
  }>, z.ZodObject<{
1307
4192
  /**
@@ -1371,6 +4256,51 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1371
4256
  type: "evmAddress";
1372
4257
  operator: "in" | "not in";
1373
4258
  addresses: `0x${string}`[];
4259
+ } | {
4260
+ type: "evmData";
4261
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4262
+ inputs: readonly import("abitype").AbiParameter[];
4263
+ type: "error";
4264
+ name: string;
4265
+ } | {
4266
+ inputs: readonly import("abitype").AbiEventParameter[];
4267
+ type: "event";
4268
+ name: string;
4269
+ anonymous?: boolean | undefined;
4270
+ } | ({
4271
+ payable?: boolean | undefined;
4272
+ constant?: boolean | undefined;
4273
+ gas?: number | undefined;
4274
+ } & ({
4275
+ inputs: readonly import("abitype").AbiParameter[];
4276
+ outputs: readonly import("abitype").AbiParameter[];
4277
+ type: "function";
4278
+ name: string;
4279
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4280
+ } | {
4281
+ inputs: readonly import("abitype").AbiParameter[];
4282
+ type: "constructor";
4283
+ stateMutability: "nonpayable" | "payable";
4284
+ } | {
4285
+ type: "fallback";
4286
+ stateMutability: "nonpayable" | "payable";
4287
+ inputs?: [] | undefined;
4288
+ } | {
4289
+ type: "receive";
4290
+ stateMutability: "payable";
4291
+ })))[];
4292
+ conditions: {
4293
+ function: string;
4294
+ params?: ({
4295
+ values: string[];
4296
+ name: string;
4297
+ operator: "in" | "not in";
4298
+ } | {
4299
+ name: string;
4300
+ value: string;
4301
+ operator: ">" | ">=" | "<" | "<=" | "==";
4302
+ })[] | undefined;
4303
+ }[];
1374
4304
  })[];
1375
4305
  } | {
1376
4306
  action: "reject" | "accept";
@@ -1397,6 +4327,51 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1397
4327
  type: "evmNetwork";
1398
4328
  operator: "in" | "not in";
1399
4329
  networks: ("base-sepolia" | "base")[];
4330
+ } | {
4331
+ type: "evmData";
4332
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4333
+ inputs: readonly import("abitype").AbiParameter[];
4334
+ type: "error";
4335
+ name: string;
4336
+ } | {
4337
+ inputs: readonly import("abitype").AbiEventParameter[];
4338
+ type: "event";
4339
+ name: string;
4340
+ anonymous?: boolean | undefined;
4341
+ } | ({
4342
+ payable?: boolean | undefined;
4343
+ constant?: boolean | undefined;
4344
+ gas?: number | undefined;
4345
+ } & ({
4346
+ inputs: readonly import("abitype").AbiParameter[];
4347
+ outputs: readonly import("abitype").AbiParameter[];
4348
+ type: "function";
4349
+ name: string;
4350
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4351
+ } | {
4352
+ inputs: readonly import("abitype").AbiParameter[];
4353
+ type: "constructor";
4354
+ stateMutability: "nonpayable" | "payable";
4355
+ } | {
4356
+ type: "fallback";
4357
+ stateMutability: "nonpayable" | "payable";
4358
+ inputs?: [] | undefined;
4359
+ } | {
4360
+ type: "receive";
4361
+ stateMutability: "payable";
4362
+ })))[];
4363
+ conditions: {
4364
+ function: string;
4365
+ params?: ({
4366
+ values: string[];
4367
+ name: string;
4368
+ operator: "in" | "not in";
4369
+ } | {
4370
+ name: string;
4371
+ value: string;
4372
+ operator: ">" | ">=" | "<" | "<=" | "==";
4373
+ })[] | undefined;
4374
+ }[];
1400
4375
  })[];
1401
4376
  } | {
1402
4377
  action: "reject" | "accept";
@@ -1421,6 +4396,21 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1421
4396
  type: "evmAddress";
1422
4397
  operator: "in" | "not in";
1423
4398
  addresses: string[];
4399
+ } | {
4400
+ type: "evmData";
4401
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4402
+ conditions: {
4403
+ function: string;
4404
+ params?: ({
4405
+ values: string[];
4406
+ name: string;
4407
+ operator: "in" | "not in";
4408
+ } | {
4409
+ name: string;
4410
+ value: string;
4411
+ operator: ">" | ">=" | "<" | "<=" | "==";
4412
+ })[] | undefined;
4413
+ }[];
1424
4414
  })[];
1425
4415
  } | {
1426
4416
  action: "reject" | "accept";
@@ -1447,6 +4437,21 @@ export declare const CreatePolicyBodySchema: z.ZodObject<{
1447
4437
  type: "evmNetwork";
1448
4438
  operator: "in" | "not in";
1449
4439
  networks: ("base-sepolia" | "base")[];
4440
+ } | {
4441
+ type: "evmData";
4442
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4443
+ conditions: {
4444
+ function: string;
4445
+ params?: ({
4446
+ values: string[];
4447
+ name: string;
4448
+ operator: "in" | "not in";
4449
+ } | {
4450
+ name: string;
4451
+ value: string;
4452
+ operator: ">" | ">=" | "<" | "<=" | "==";
4453
+ })[] | undefined;
4454
+ }[];
1450
4455
  })[];
1451
4456
  } | {
1452
4457
  action: "reject" | "accept";
@@ -1530,6 +4535,270 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1530
4535
  type: "evmAddress";
1531
4536
  operator: "in" | "not in";
1532
4537
  addresses: string[];
4538
+ }>, z.ZodObject<{
4539
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
4540
+ type: z.ZodLiteral<"evmData">;
4541
+ /**
4542
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
4543
+ */
4544
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
4545
+ type: z.ZodLiteral<"error">;
4546
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4547
+ name: z.ZodString;
4548
+ }, "strip", z.ZodTypeAny, {
4549
+ inputs: readonly import("abitype").AbiParameter[];
4550
+ type: "error";
4551
+ name: string;
4552
+ }, {
4553
+ inputs: readonly import("abitype").AbiParameter[];
4554
+ type: "error";
4555
+ name: string;
4556
+ }>, z.ZodObject<{
4557
+ type: z.ZodLiteral<"event">;
4558
+ anonymous: z.ZodOptional<z.ZodBoolean>;
4559
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
4560
+ name: z.ZodString;
4561
+ }, "strip", z.ZodTypeAny, {
4562
+ inputs: readonly import("abitype").AbiEventParameter[];
4563
+ type: "event";
4564
+ name: string;
4565
+ anonymous?: boolean | undefined;
4566
+ }, {
4567
+ inputs: readonly import("abitype").AbiEventParameter[];
4568
+ type: "event";
4569
+ name: string;
4570
+ anonymous?: boolean | undefined;
4571
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
4572
+ constant: z.ZodOptional<z.ZodBoolean>;
4573
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
4574
+ payable: z.ZodOptional<z.ZodBoolean>;
4575
+ }, "strip", z.ZodTypeAny, {
4576
+ payable?: boolean | undefined;
4577
+ constant?: boolean | undefined;
4578
+ gas?: number | undefined;
4579
+ }, {
4580
+ payable?: boolean | undefined;
4581
+ constant?: boolean | undefined;
4582
+ gas?: number | undefined;
4583
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4584
+ type: z.ZodLiteral<"function">;
4585
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4586
+ name: z.ZodString;
4587
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4588
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
4589
+ }, "strip", z.ZodTypeAny, {
4590
+ inputs: readonly import("abitype").AbiParameter[];
4591
+ outputs: readonly import("abitype").AbiParameter[];
4592
+ type: "function";
4593
+ name: string;
4594
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4595
+ }, {
4596
+ inputs: readonly import("abitype").AbiParameter[];
4597
+ outputs: readonly import("abitype").AbiParameter[];
4598
+ type: "function";
4599
+ name: string;
4600
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4601
+ }>, z.ZodObject<{
4602
+ type: z.ZodLiteral<"constructor">;
4603
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4604
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
4605
+ }, "strip", z.ZodTypeAny, {
4606
+ inputs: readonly import("abitype").AbiParameter[];
4607
+ type: "constructor";
4608
+ stateMutability: "nonpayable" | "payable";
4609
+ }, {
4610
+ inputs: readonly import("abitype").AbiParameter[];
4611
+ type: "constructor";
4612
+ stateMutability: "nonpayable" | "payable";
4613
+ }>, z.ZodObject<{
4614
+ type: z.ZodLiteral<"fallback">;
4615
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
4616
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
4617
+ }, "strip", z.ZodTypeAny, {
4618
+ type: "fallback";
4619
+ stateMutability: "nonpayable" | "payable";
4620
+ inputs?: [] | undefined;
4621
+ }, {
4622
+ type: "fallback";
4623
+ stateMutability: "nonpayable" | "payable";
4624
+ inputs?: [] | undefined;
4625
+ }>, z.ZodObject<{
4626
+ type: z.ZodLiteral<"receive">;
4627
+ stateMutability: z.ZodLiteral<"payable">;
4628
+ }, "strip", z.ZodTypeAny, {
4629
+ type: "receive";
4630
+ stateMutability: "payable";
4631
+ }, {
4632
+ type: "receive";
4633
+ stateMutability: "payable";
4634
+ }>]>>, {
4635
+ payable?: boolean | undefined;
4636
+ constant?: boolean | undefined;
4637
+ gas?: number | undefined;
4638
+ } & ({
4639
+ inputs: readonly import("abitype").AbiParameter[];
4640
+ outputs: readonly import("abitype").AbiParameter[];
4641
+ type: "function";
4642
+ name: string;
4643
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4644
+ } | {
4645
+ inputs: readonly import("abitype").AbiParameter[];
4646
+ type: "constructor";
4647
+ stateMutability: "nonpayable" | "payable";
4648
+ } | {
4649
+ type: "fallback";
4650
+ stateMutability: "nonpayable" | "payable";
4651
+ inputs?: [] | undefined;
4652
+ } | {
4653
+ type: "receive";
4654
+ stateMutability: "payable";
4655
+ }), unknown>]>, "many">>]>;
4656
+ /**
4657
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
4658
+ * Each condition must be met in order for this policy to be accepted or rejected.
4659
+ */
4660
+ conditions: z.ZodArray<z.ZodObject<{
4661
+ /**
4662
+ * The name of a smart contract function being called.
4663
+ */
4664
+ function: z.ZodString;
4665
+ /**
4666
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
4667
+ */
4668
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
4669
+ /**
4670
+ * The name of the parameter to check against a transaction's calldata.
4671
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
4672
+ */
4673
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
4674
+ /**
4675
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
4676
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
4677
+ */
4678
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4679
+ /**
4680
+ * A single value to compare the value resolved at `name` to.
4681
+ * All values are encoded as strings. Refer to the table in the documentation for how values
4682
+ * should be encoded, and which operators are supported for each type.
4683
+ */
4684
+ value: z.ZodString;
4685
+ }, "strip", z.ZodTypeAny, {
4686
+ name: string;
4687
+ value: string;
4688
+ operator: ">" | ">=" | "<" | "<=" | "==";
4689
+ }, {
4690
+ name: string;
4691
+ value: string;
4692
+ operator: ">" | ">=" | "<" | "<=" | "==";
4693
+ }>, z.ZodObject<{
4694
+ /**
4695
+ * The name of the parameter to check against a transaction's calldata.
4696
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
4697
+ */
4698
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
4699
+ /**
4700
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
4701
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
4702
+ */
4703
+ operator: z.ZodEnum<["in", "not in"]>;
4704
+ /**
4705
+ * Values to compare against the resolved `name` value.
4706
+ * All values are encoded as strings. Refer to the table in the documentation for how values
4707
+ * should be encoded, and which operators are supported for each type.
4708
+ */
4709
+ values: z.ZodArray<z.ZodString, "many">;
4710
+ }, "strip", z.ZodTypeAny, {
4711
+ values: string[];
4712
+ name: string;
4713
+ operator: "in" | "not in";
4714
+ }, {
4715
+ values: string[];
4716
+ name: string;
4717
+ operator: "in" | "not in";
4718
+ }>]>, "many">>;
4719
+ }, "strip", z.ZodTypeAny, {
4720
+ function: string;
4721
+ params?: ({
4722
+ values: string[];
4723
+ name: string;
4724
+ operator: "in" | "not in";
4725
+ } | {
4726
+ name: string;
4727
+ value: string;
4728
+ operator: ">" | ">=" | "<" | "<=" | "==";
4729
+ })[] | undefined;
4730
+ }, {
4731
+ function: string;
4732
+ params?: ({
4733
+ values: string[];
4734
+ name: string;
4735
+ operator: "in" | "not in";
4736
+ } | {
4737
+ name: string;
4738
+ value: string;
4739
+ operator: ">" | ">=" | "<" | "<=" | "==";
4740
+ })[] | undefined;
4741
+ }>, "many">;
4742
+ }, "strip", z.ZodTypeAny, {
4743
+ type: "evmData";
4744
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4745
+ inputs: readonly import("abitype").AbiParameter[];
4746
+ type: "error";
4747
+ name: string;
4748
+ } | {
4749
+ inputs: readonly import("abitype").AbiEventParameter[];
4750
+ type: "event";
4751
+ name: string;
4752
+ anonymous?: boolean | undefined;
4753
+ } | ({
4754
+ payable?: boolean | undefined;
4755
+ constant?: boolean | undefined;
4756
+ gas?: number | undefined;
4757
+ } & ({
4758
+ inputs: readonly import("abitype").AbiParameter[];
4759
+ outputs: readonly import("abitype").AbiParameter[];
4760
+ type: "function";
4761
+ name: string;
4762
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4763
+ } | {
4764
+ inputs: readonly import("abitype").AbiParameter[];
4765
+ type: "constructor";
4766
+ stateMutability: "nonpayable" | "payable";
4767
+ } | {
4768
+ type: "fallback";
4769
+ stateMutability: "nonpayable" | "payable";
4770
+ inputs?: [] | undefined;
4771
+ } | {
4772
+ type: "receive";
4773
+ stateMutability: "payable";
4774
+ })))[];
4775
+ conditions: {
4776
+ function: string;
4777
+ params?: ({
4778
+ values: string[];
4779
+ name: string;
4780
+ operator: "in" | "not in";
4781
+ } | {
4782
+ name: string;
4783
+ value: string;
4784
+ operator: ">" | ">=" | "<" | "<=" | "==";
4785
+ })[] | undefined;
4786
+ }[];
4787
+ }, {
4788
+ type: "evmData";
4789
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4790
+ conditions: {
4791
+ function: string;
4792
+ params?: ({
4793
+ values: string[];
4794
+ name: string;
4795
+ operator: "in" | "not in";
4796
+ } | {
4797
+ name: string;
4798
+ value: string;
4799
+ operator: ">" | ">=" | "<" | "<=" | "==";
4800
+ })[] | undefined;
4801
+ }[];
1533
4802
  }>]>, "many">;
1534
4803
  }, "strip", z.ZodTypeAny, {
1535
4804
  action: "reject" | "accept";
@@ -1542,6 +4811,51 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1542
4811
  type: "evmAddress";
1543
4812
  operator: "in" | "not in";
1544
4813
  addresses: `0x${string}`[];
4814
+ } | {
4815
+ type: "evmData";
4816
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4817
+ inputs: readonly import("abitype").AbiParameter[];
4818
+ type: "error";
4819
+ name: string;
4820
+ } | {
4821
+ inputs: readonly import("abitype").AbiEventParameter[];
4822
+ type: "event";
4823
+ name: string;
4824
+ anonymous?: boolean | undefined;
4825
+ } | ({
4826
+ payable?: boolean | undefined;
4827
+ constant?: boolean | undefined;
4828
+ gas?: number | undefined;
4829
+ } & ({
4830
+ inputs: readonly import("abitype").AbiParameter[];
4831
+ outputs: readonly import("abitype").AbiParameter[];
4832
+ type: "function";
4833
+ name: string;
4834
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4835
+ } | {
4836
+ inputs: readonly import("abitype").AbiParameter[];
4837
+ type: "constructor";
4838
+ stateMutability: "nonpayable" | "payable";
4839
+ } | {
4840
+ type: "fallback";
4841
+ stateMutability: "nonpayable" | "payable";
4842
+ inputs?: [] | undefined;
4843
+ } | {
4844
+ type: "receive";
4845
+ stateMutability: "payable";
4846
+ })))[];
4847
+ conditions: {
4848
+ function: string;
4849
+ params?: ({
4850
+ values: string[];
4851
+ name: string;
4852
+ operator: "in" | "not in";
4853
+ } | {
4854
+ name: string;
4855
+ value: string;
4856
+ operator: ">" | ">=" | "<" | "<=" | "==";
4857
+ })[] | undefined;
4858
+ }[];
1545
4859
  })[];
1546
4860
  }, {
1547
4861
  action: "reject" | "accept";
@@ -1554,6 +4868,21 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1554
4868
  type: "evmAddress";
1555
4869
  operator: "in" | "not in";
1556
4870
  addresses: string[];
4871
+ } | {
4872
+ type: "evmData";
4873
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4874
+ conditions: {
4875
+ function: string;
4876
+ params?: ({
4877
+ values: string[];
4878
+ name: string;
4879
+ operator: "in" | "not in";
4880
+ } | {
4881
+ name: string;
4882
+ value: string;
4883
+ operator: ">" | ">=" | "<" | "<=" | "==";
4884
+ })[] | undefined;
4885
+ }[];
1557
4886
  })[];
1558
4887
  }>, z.ZodObject<{
1559
4888
  /**
@@ -1694,6 +5023,270 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1694
5023
  type: "evmNetwork";
1695
5024
  operator: "in" | "not in";
1696
5025
  networks: ("base-sepolia" | "base")[];
5026
+ }>, z.ZodObject<{
5027
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
5028
+ type: z.ZodLiteral<"evmData">;
5029
+ /**
5030
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
5031
+ */
5032
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
5033
+ type: z.ZodLiteral<"error">;
5034
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5035
+ name: z.ZodString;
5036
+ }, "strip", z.ZodTypeAny, {
5037
+ inputs: readonly import("abitype").AbiParameter[];
5038
+ type: "error";
5039
+ name: string;
5040
+ }, {
5041
+ inputs: readonly import("abitype").AbiParameter[];
5042
+ type: "error";
5043
+ name: string;
5044
+ }>, z.ZodObject<{
5045
+ type: z.ZodLiteral<"event">;
5046
+ anonymous: z.ZodOptional<z.ZodBoolean>;
5047
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
5048
+ name: z.ZodString;
5049
+ }, "strip", z.ZodTypeAny, {
5050
+ inputs: readonly import("abitype").AbiEventParameter[];
5051
+ type: "event";
5052
+ name: string;
5053
+ anonymous?: boolean | undefined;
5054
+ }, {
5055
+ inputs: readonly import("abitype").AbiEventParameter[];
5056
+ type: "event";
5057
+ name: string;
5058
+ anonymous?: boolean | undefined;
5059
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
5060
+ constant: z.ZodOptional<z.ZodBoolean>;
5061
+ gas: z.ZodOptional /** The type of criterion, must be "solAddress" for Solana address-based rules. */<z.ZodNumber>;
5062
+ payable: z.ZodOptional<z.ZodBoolean>;
5063
+ }, "strip", z.ZodTypeAny, {
5064
+ payable?: boolean | undefined;
5065
+ constant?: boolean | undefined;
5066
+ gas?: number | undefined;
5067
+ }, {
5068
+ payable?: boolean | undefined;
5069
+ constant?: boolean | undefined;
5070
+ gas?: number | undefined;
5071
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
5072
+ type: z.ZodLiteral<"function">;
5073
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5074
+ name: z.ZodString;
5075
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5076
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
5077
+ }, "strip", z.ZodTypeAny, {
5078
+ inputs: readonly import("abitype").AbiParameter[];
5079
+ outputs: readonly import("abitype").AbiParameter[];
5080
+ type: "function";
5081
+ name: string;
5082
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5083
+ }, {
5084
+ inputs: readonly import("abitype").AbiParameter[];
5085
+ outputs: readonly import("abitype").AbiParameter[];
5086
+ type: "function";
5087
+ name: string;
5088
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5089
+ }>, z.ZodObject<{
5090
+ type: z.ZodLiteral<"constructor">;
5091
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5092
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
5093
+ }, "strip", z.ZodTypeAny, {
5094
+ inputs: readonly import("abitype").AbiParameter[];
5095
+ type: "constructor";
5096
+ stateMutability: "nonpayable" | "payable";
5097
+ }, {
5098
+ inputs: readonly import("abitype").AbiParameter[];
5099
+ type: "constructor";
5100
+ stateMutability: "nonpayable" | "payable";
5101
+ }>, z.ZodObject<{
5102
+ type: z.ZodLiteral<"fallback">;
5103
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
5104
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
5105
+ }, "strip", z.ZodTypeAny, {
5106
+ type: "fallback";
5107
+ stateMutability: "nonpayable" | "payable";
5108
+ inputs?: [] | undefined;
5109
+ }, {
5110
+ type: "fallback";
5111
+ stateMutability: "nonpayable" | "payable";
5112
+ inputs?: [] | undefined;
5113
+ }>, z.ZodObject<{
5114
+ type: z.ZodLiteral<"receive">;
5115
+ stateMutability: z.ZodLiteral<"payable">;
5116
+ }, "strip", z.ZodTypeAny, {
5117
+ type: "receive";
5118
+ stateMutability: "payable";
5119
+ }, {
5120
+ type: "receive";
5121
+ stateMutability: "payable";
5122
+ }>]>>, {
5123
+ payable?: boolean | undefined;
5124
+ constant?: boolean | undefined;
5125
+ gas?: number | undefined;
5126
+ } & ({
5127
+ inputs: readonly import("abitype").AbiParameter[];
5128
+ outputs: readonly import("abitype").AbiParameter[];
5129
+ type: "function";
5130
+ name: string;
5131
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5132
+ } | {
5133
+ inputs: readonly import("abitype").AbiParameter[];
5134
+ type: "constructor";
5135
+ stateMutability: "nonpayable" | "payable";
5136
+ } | {
5137
+ type: "fallback";
5138
+ stateMutability: "nonpayable" | "payable";
5139
+ inputs?: [] | undefined;
5140
+ } | {
5141
+ type: "receive";
5142
+ stateMutability: "payable";
5143
+ }), unknown>]>, "many">>]>;
5144
+ /**
5145
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
5146
+ * Each condition must be met in order for this policy to be accepted or rejected.
5147
+ */
5148
+ conditions: z.ZodArray<z.ZodObject<{
5149
+ /**
5150
+ * The name of a smart contract function being called.
5151
+ */
5152
+ function: z.ZodString;
5153
+ /**
5154
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
5155
+ */
5156
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
5157
+ /**
5158
+ * The name of the parameter to check against a transaction's calldata.
5159
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
5160
+ */
5161
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
5162
+ /**
5163
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
5164
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
5165
+ */
5166
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
5167
+ /**
5168
+ * A single value to compare the value resolved at `name` to.
5169
+ * All values are encoded as strings. Refer to the table in the documentation for how values
5170
+ * should be encoded, and which operators are supported for each type.
5171
+ */
5172
+ value: z.ZodString;
5173
+ }, "strip", z.ZodTypeAny, {
5174
+ name: string;
5175
+ value: string;
5176
+ operator: ">" | ">=" | "<" | "<=" | "==";
5177
+ }, {
5178
+ name: string;
5179
+ value: string;
5180
+ operator: ">" | ">=" | "<" | "<=" | "==";
5181
+ }>, z.ZodObject<{
5182
+ /**
5183
+ * The name of the parameter to check against a transaction's calldata.
5184
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
5185
+ */
5186
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
5187
+ /**
5188
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
5189
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
5190
+ */
5191
+ operator: z.ZodEnum<["in", "not in"]>;
5192
+ /**
5193
+ * Values to compare against the resolved `name` value.
5194
+ * All values are encoded as strings. Refer to the table in the documentation for how values
5195
+ * should be encoded, and which operators are supported for each type.
5196
+ */
5197
+ values: z.ZodArray<z.ZodString, "many">;
5198
+ }, "strip", z.ZodTypeAny, {
5199
+ values: string[];
5200
+ name: string;
5201
+ operator: "in" | "not in";
5202
+ }, {
5203
+ values: string[];
5204
+ name: string;
5205
+ operator: "in" | "not in";
5206
+ }>]>, "many">>;
5207
+ }, "strip", z.ZodTypeAny, {
5208
+ function: string;
5209
+ params?: ({
5210
+ values: string[];
5211
+ name: string;
5212
+ operator: "in" | "not in";
5213
+ } | {
5214
+ name: string;
5215
+ value: string;
5216
+ operator: ">" | ">=" | "<" | "<=" | "==";
5217
+ })[] | undefined;
5218
+ }, {
5219
+ function: string;
5220
+ params?: ({
5221
+ values: string[];
5222
+ name: string;
5223
+ operator: "in" | "not in";
5224
+ } | {
5225
+ name: string;
5226
+ value: string;
5227
+ operator: ">" | ">=" | "<" | "<=" | "==";
5228
+ })[] | undefined;
5229
+ }>, "many">;
5230
+ }, "strip", z.ZodTypeAny, {
5231
+ type: "evmData";
5232
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
5233
+ inputs: readonly import("abitype").AbiParameter[];
5234
+ type: "error";
5235
+ name: string;
5236
+ } | {
5237
+ inputs: readonly import("abitype").AbiEventParameter[];
5238
+ type: "event";
5239
+ name: string;
5240
+ anonymous?: boolean | undefined;
5241
+ } | ({
5242
+ payable?: boolean | undefined;
5243
+ constant?: boolean | undefined;
5244
+ gas?: number | undefined;
5245
+ } & ({
5246
+ inputs: readonly import("abitype").AbiParameter[];
5247
+ outputs: readonly import("abitype").AbiParameter[];
5248
+ type: "function";
5249
+ name: string;
5250
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5251
+ } | {
5252
+ inputs: readonly import("abitype").AbiParameter[];
5253
+ type: "constructor";
5254
+ stateMutability: "nonpayable" | "payable";
5255
+ } | {
5256
+ type: "fallback";
5257
+ stateMutability: "nonpayable" | "payable";
5258
+ inputs?: [] | undefined;
5259
+ } | {
5260
+ type: "receive";
5261
+ stateMutability: "payable";
5262
+ })))[];
5263
+ conditions: {
5264
+ function: string;
5265
+ params?: ({
5266
+ values: string[];
5267
+ name: string;
5268
+ operator: "in" | "not in";
5269
+ } | {
5270
+ name: string;
5271
+ value: string;
5272
+ operator: ">" | ">=" | "<" | "<=" | "==";
5273
+ })[] | undefined;
5274
+ }[];
5275
+ }, {
5276
+ type: "evmData";
5277
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
5278
+ conditions: {
5279
+ function: string;
5280
+ params?: ({
5281
+ values: string[];
5282
+ name: string;
5283
+ operator: "in" | "not in";
5284
+ } | {
5285
+ name: string;
5286
+ value: string;
5287
+ operator: ">" | ">=" | "<" | "<=" | "==";
5288
+ })[] | undefined;
5289
+ }[];
1697
5290
  }>]>, "many">;
1698
5291
  }, "strip", z.ZodTypeAny, {
1699
5292
  action: "reject" | "accept";
@@ -1710,6 +5303,51 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1710
5303
  type: "evmNetwork";
1711
5304
  operator: "in" | "not in";
1712
5305
  networks: ("base-sepolia" | "base")[];
5306
+ } | {
5307
+ type: "evmData";
5308
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
5309
+ inputs: readonly import("abitype").AbiParameter[];
5310
+ type: "error";
5311
+ name: string;
5312
+ } | {
5313
+ inputs: readonly import("abitype").AbiEventParameter[];
5314
+ type: "event";
5315
+ name: string;
5316
+ anonymous?: boolean | undefined;
5317
+ } | ({
5318
+ payable?: boolean | undefined;
5319
+ constant?: boolean | undefined;
5320
+ gas?: number | undefined;
5321
+ } & ({
5322
+ inputs: readonly import("abitype").AbiParameter[];
5323
+ outputs: readonly import("abitype").AbiParameter[];
5324
+ type: "function";
5325
+ name: string;
5326
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5327
+ } | {
5328
+ inputs: readonly import("abitype").AbiParameter[];
5329
+ type: "constructor";
5330
+ stateMutability: "nonpayable" | "payable";
5331
+ } | {
5332
+ type: "fallback";
5333
+ stateMutability: "nonpayable" | "payable";
5334
+ inputs?: [] | undefined;
5335
+ } | {
5336
+ type: "receive";
5337
+ stateMutability: "payable";
5338
+ })))[];
5339
+ conditions: {
5340
+ function: string;
5341
+ params?: ({
5342
+ values: string[];
5343
+ name: string;
5344
+ operator: "in" | "not in";
5345
+ } | {
5346
+ name: string;
5347
+ value: string;
5348
+ operator: ">" | ">=" | "<" | "<=" | "==";
5349
+ })[] | undefined;
5350
+ }[];
1713
5351
  })[];
1714
5352
  }, {
1715
5353
  action: "reject" | "accept";
@@ -1726,6 +5364,21 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1726
5364
  type: "evmNetwork";
1727
5365
  operator: "in" | "not in";
1728
5366
  networks: ("base-sepolia" | "base")[];
5367
+ } | {
5368
+ type: "evmData";
5369
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
5370
+ conditions: {
5371
+ function: string;
5372
+ params?: ({
5373
+ values: string[];
5374
+ name: string;
5375
+ operator: "in" | "not in";
5376
+ } | {
5377
+ name: string;
5378
+ value: string;
5379
+ operator: ">" | ">=" | "<" | "<=" | "==";
5380
+ })[] | undefined;
5381
+ }[];
1729
5382
  })[];
1730
5383
  }>, z.ZodObject<{
1731
5384
  /**
@@ -1794,6 +5447,51 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1794
5447
  type: "evmAddress";
1795
5448
  operator: "in" | "not in";
1796
5449
  addresses: `0x${string}`[];
5450
+ } | {
5451
+ type: "evmData";
5452
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
5453
+ inputs: readonly import("abitype").AbiParameter[];
5454
+ type: "error";
5455
+ name: string;
5456
+ } | {
5457
+ inputs: readonly import("abitype").AbiEventParameter[];
5458
+ type: "event";
5459
+ name: string;
5460
+ anonymous?: boolean | undefined;
5461
+ } | ({
5462
+ payable?: boolean | undefined;
5463
+ constant?: boolean | undefined;
5464
+ gas?: number | undefined;
5465
+ } & ({
5466
+ inputs: readonly import("abitype").AbiParameter[];
5467
+ outputs: readonly import("abitype").AbiParameter[];
5468
+ type: "function";
5469
+ name: string;
5470
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5471
+ } | {
5472
+ inputs: readonly import("abitype").AbiParameter[];
5473
+ type: "constructor";
5474
+ stateMutability: "nonpayable" | "payable";
5475
+ } | {
5476
+ type: "fallback";
5477
+ stateMutability: "nonpayable" | "payable";
5478
+ inputs?: [] | undefined;
5479
+ } | {
5480
+ type: "receive";
5481
+ stateMutability: "payable";
5482
+ })))[];
5483
+ conditions: {
5484
+ function: string;
5485
+ params?: ({
5486
+ values: string[];
5487
+ name: string;
5488
+ operator: "in" | "not in";
5489
+ } | {
5490
+ name: string;
5491
+ value: string;
5492
+ operator: ">" | ">=" | "<" | "<=" | "==";
5493
+ })[] | undefined;
5494
+ }[];
1797
5495
  })[];
1798
5496
  } | {
1799
5497
  action: "reject" | "accept";
@@ -1820,6 +5518,51 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1820
5518
  type: "evmNetwork";
1821
5519
  operator: "in" | "not in";
1822
5520
  networks: ("base-sepolia" | "base")[];
5521
+ } | {
5522
+ type: "evmData";
5523
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
5524
+ inputs: readonly import("abitype").AbiParameter[];
5525
+ type: "error";
5526
+ name: string;
5527
+ } | {
5528
+ inputs: readonly import("abitype").AbiEventParameter[];
5529
+ type: "event";
5530
+ name: string;
5531
+ anonymous?: boolean | undefined;
5532
+ } | ({
5533
+ payable?: boolean | undefined;
5534
+ constant?: boolean | undefined;
5535
+ gas?: number | undefined;
5536
+ } & ({
5537
+ inputs: readonly import("abitype").AbiParameter[];
5538
+ outputs: readonly import("abitype").AbiParameter[];
5539
+ type: "function";
5540
+ name: string;
5541
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5542
+ } | {
5543
+ inputs: readonly import("abitype").AbiParameter[];
5544
+ type: "constructor";
5545
+ stateMutability: "nonpayable" | "payable";
5546
+ } | {
5547
+ type: "fallback";
5548
+ stateMutability: "nonpayable" | "payable";
5549
+ inputs?: [] | undefined;
5550
+ } | {
5551
+ type: "receive";
5552
+ stateMutability: "payable";
5553
+ })))[];
5554
+ conditions: {
5555
+ function: string;
5556
+ params?: ({
5557
+ values: string[];
5558
+ name: string;
5559
+ operator: "in" | "not in";
5560
+ } | {
5561
+ name: string;
5562
+ value: string;
5563
+ operator: ">" | ">=" | "<" | "<=" | "==";
5564
+ })[] | undefined;
5565
+ }[];
1823
5566
  })[];
1824
5567
  } | {
1825
5568
  action: "reject" | "accept";
@@ -1843,6 +5586,21 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1843
5586
  type: "evmAddress";
1844
5587
  operator: "in" | "not in";
1845
5588
  addresses: string[];
5589
+ } | {
5590
+ type: "evmData";
5591
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
5592
+ conditions: {
5593
+ function: string;
5594
+ params?: ({
5595
+ values: string[];
5596
+ name: string;
5597
+ operator: "in" | "not in";
5598
+ } | {
5599
+ name: string;
5600
+ value: string;
5601
+ operator: ">" | ">=" | "<" | "<=" | "==";
5602
+ })[] | undefined;
5603
+ }[];
1846
5604
  })[];
1847
5605
  } | {
1848
5606
  action: "reject" | "accept";
@@ -1869,6 +5627,21 @@ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1869
5627
  type: "evmNetwork";
1870
5628
  operator: "in" | "not in";
1871
5629
  networks: ("base-sepolia" | "base")[];
5630
+ } | {
5631
+ type: "evmData";
5632
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
5633
+ conditions: {
5634
+ function: string;
5635
+ params?: ({
5636
+ values: string[];
5637
+ name: string;
5638
+ operator: "in" | "not in";
5639
+ } | {
5640
+ name: string;
5641
+ value: string;
5642
+ operator: ">" | ">=" | "<" | "<=" | "==";
5643
+ })[] | undefined;
5644
+ }[];
1872
5645
  })[];
1873
5646
  } | {
1874
5647
  action: "reject" | "accept";