@coinbase/cdp-sdk 1.44.1 → 1.46.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 (282) hide show
  1. package/CHANGELOG.md +28 -2
  2. package/README.md +164 -43
  3. package/_cjs/accounts/evm/eip6492.js +49 -0
  4. package/_cjs/accounts/evm/eip6492.js.map +1 -0
  5. package/_cjs/accounts/evm/toEvmDelegatedAccount.js +27 -0
  6. package/_cjs/accounts/evm/toEvmDelegatedAccount.js.map +1 -0
  7. package/_cjs/accounts/evm/toEvmServerAccount.js +127 -55
  8. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  9. package/_cjs/accounts/evm/toEvmSmartAccount.js +115 -45
  10. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  11. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +31 -0
  12. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  13. package/_cjs/accounts/solana/toSolanaAccount.js +49 -19
  14. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  15. package/_cjs/actions/evm/waitForEvmEip7702DelegationStatus.js +37 -0
  16. package/_cjs/actions/evm/waitForEvmEip7702DelegationStatus.js.map +1 -0
  17. package/_cjs/actions/solana/transfer.js.map +1 -1
  18. package/_cjs/actions/solana/utils.js +9 -9
  19. package/_cjs/actions/solana/utils.js.map +1 -1
  20. package/_cjs/analytics.js +10 -228
  21. package/_cjs/analytics.js.map +1 -1
  22. package/_cjs/auth/utils/http.js +1 -0
  23. package/_cjs/auth/utils/http.js.map +1 -1
  24. package/_cjs/client/cdp.js +4 -7
  25. package/_cjs/client/cdp.js.map +1 -1
  26. package/_cjs/client/end-user/endUser.js +385 -4
  27. package/_cjs/client/end-user/endUser.js.map +1 -1
  28. package/_cjs/client/end-user/toEndUserAccount.js +201 -23
  29. package/_cjs/client/end-user/toEndUserAccount.js.map +1 -1
  30. package/_cjs/client/evm/evm.js +482 -227
  31. package/_cjs/client/evm/evm.js.map +1 -1
  32. package/_cjs/client/policies/policies.js +41 -11
  33. package/_cjs/client/policies/policies.js.map +1 -1
  34. package/_cjs/client/solana/solana.js +215 -118
  35. package/_cjs/client/solana/solana.js.map +1 -1
  36. package/_cjs/index.js +3 -1
  37. package/_cjs/index.js.map +1 -1
  38. package/_cjs/openapi-client/cdpApiClient.js +32 -0
  39. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  40. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +178 -9
  41. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  42. package/_cjs/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js +261 -0
  43. package/_cjs/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +1 -0
  44. package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  45. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +30 -1
  46. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  47. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +2 -2
  48. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  49. package/_cjs/openapi-client/generated/evm-swaps/evm-swaps.js.map +1 -1
  50. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -1
  51. package/_cjs/openapi-client/generated/faucets/faucets.js +6 -5
  52. package/_cjs/openapi-client/generated/faucets/faucets.js.map +1 -1
  53. package/_cjs/openapi-client/generated/onchain-data/onchain-data.js.map +1 -1
  54. package/_cjs/openapi-client/generated/onramp/onramp.js +15 -1
  55. package/_cjs/openapi-client/generated/onramp/onramp.js.map +1 -1
  56. package/_cjs/openapi-client/generated/policy-engine/policy-engine.js.map +1 -1
  57. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  58. package/_cjs/openapi-client/generated/solana-token-balances/solana-token-balances.js.map +1 -1
  59. package/_cjs/openapi-client/generated/sql-api/sql-api.js +75 -0
  60. package/_cjs/openapi-client/generated/sql-api/sql-api.js.map +1 -0
  61. package/_cjs/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  62. package/_cjs/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  63. package/_cjs/openapi-client/index.js +4 -1
  64. package/_cjs/openapi-client/index.js.map +1 -1
  65. package/_cjs/policies/evmSchema.js +127 -1
  66. package/_cjs/policies/evmSchema.js.map +1 -1
  67. package/_cjs/policies/solanaSchema.js +102 -1
  68. package/_cjs/policies/solanaSchema.js.map +1 -1
  69. package/_cjs/policies/types.js +7 -0
  70. package/_cjs/policies/types.js.map +1 -1
  71. package/_cjs/utils/export.js +6 -5
  72. package/_cjs/utils/export.js.map +1 -1
  73. package/_cjs/version.js +1 -1
  74. package/_esm/accounts/evm/eip6492.js +46 -0
  75. package/_esm/accounts/evm/eip6492.js.map +1 -0
  76. package/_esm/accounts/evm/toEvmDelegatedAccount.js +24 -0
  77. package/_esm/accounts/evm/toEvmDelegatedAccount.js.map +1 -0
  78. package/_esm/accounts/evm/toEvmServerAccount.js +127 -55
  79. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  80. package/_esm/accounts/evm/toEvmSmartAccount.js +115 -45
  81. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  82. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +31 -0
  83. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  84. package/_esm/accounts/solana/toSolanaAccount.js +49 -19
  85. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  86. package/_esm/actions/evm/waitForEvmEip7702DelegationStatus.js +34 -0
  87. package/_esm/actions/evm/waitForEvmEip7702DelegationStatus.js.map +1 -0
  88. package/_esm/actions/solana/transfer.js.map +1 -1
  89. package/_esm/actions/solana/utils.js +9 -9
  90. package/_esm/actions/solana/utils.js.map +1 -1
  91. package/_esm/analytics.js +9 -227
  92. package/_esm/analytics.js.map +1 -1
  93. package/_esm/auth/utils/http.js +1 -0
  94. package/_esm/auth/utils/http.js.map +1 -1
  95. package/_esm/client/cdp.js +4 -7
  96. package/_esm/client/cdp.js.map +1 -1
  97. package/_esm/client/end-user/endUser.js +385 -4
  98. package/_esm/client/end-user/endUser.js.map +1 -1
  99. package/_esm/client/end-user/toEndUserAccount.js +201 -23
  100. package/_esm/client/end-user/toEndUserAccount.js.map +1 -1
  101. package/_esm/client/evm/evm.js +482 -227
  102. package/_esm/client/evm/evm.js.map +1 -1
  103. package/_esm/client/policies/policies.js +41 -11
  104. package/_esm/client/policies/policies.js.map +1 -1
  105. package/_esm/client/solana/solana.js +215 -118
  106. package/_esm/client/solana/solana.js.map +1 -1
  107. package/_esm/index.js +1 -0
  108. package/_esm/index.js.map +1 -1
  109. package/_esm/openapi-client/cdpApiClient.js +32 -0
  110. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  111. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +175 -7
  112. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  113. package/_esm/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js +243 -0
  114. package/_esm/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +1 -0
  115. package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  116. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +27 -0
  117. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  118. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +2 -2
  119. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  120. package/_esm/openapi-client/generated/evm-swaps/evm-swaps.js.map +1 -1
  121. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -1
  122. package/_esm/openapi-client/generated/faucets/faucets.js +6 -5
  123. package/_esm/openapi-client/generated/faucets/faucets.js.map +1 -1
  124. package/_esm/openapi-client/generated/onchain-data/onchain-data.js.map +1 -1
  125. package/_esm/openapi-client/generated/onramp/onramp.js +13 -0
  126. package/_esm/openapi-client/generated/onramp/onramp.js.map +1 -1
  127. package/_esm/openapi-client/generated/policy-engine/policy-engine.js.map +1 -1
  128. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  129. package/_esm/openapi-client/generated/solana-token-balances/solana-token-balances.js.map +1 -1
  130. package/_esm/openapi-client/generated/sql-api/sql-api.js +70 -0
  131. package/_esm/openapi-client/generated/sql-api/sql-api.js.map +1 -0
  132. package/_esm/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  133. package/_esm/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  134. package/_esm/openapi-client/index.js +4 -1
  135. package/_esm/openapi-client/index.js.map +1 -1
  136. package/_esm/policies/evmSchema.js +126 -0
  137. package/_esm/policies/evmSchema.js.map +1 -1
  138. package/_esm/policies/solanaSchema.js +101 -0
  139. package/_esm/policies/solanaSchema.js.map +1 -1
  140. package/_esm/policies/types.js +9 -2
  141. package/_esm/policies/types.js.map +1 -1
  142. package/_esm/utils/export.js +6 -5
  143. package/_esm/utils/export.js.map +1 -1
  144. package/_esm/version.js +1 -1
  145. package/_types/accounts/evm/eip6492.d.ts +17 -0
  146. package/_types/accounts/evm/eip6492.d.ts.map +1 -0
  147. package/_types/accounts/evm/toEvmDelegatedAccount.d.ts +13 -0
  148. package/_types/accounts/evm/toEvmDelegatedAccount.d.ts.map +1 -0
  149. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  150. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  151. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts +4 -4
  152. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
  153. package/_types/accounts/evm/types.d.ts +3 -2
  154. package/_types/accounts/evm/types.d.ts.map +1 -1
  155. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  156. package/_types/actions/evm/waitForEvmEip7702DelegationStatus.d.ts +32 -0
  157. package/_types/actions/evm/waitForEvmEip7702DelegationStatus.d.ts.map +1 -0
  158. package/_types/actions/solana/transfer.d.ts +3 -4
  159. package/_types/actions/solana/transfer.d.ts.map +1 -1
  160. package/_types/actions/solana/types.d.ts +79 -29
  161. package/_types/actions/solana/types.d.ts.map +1 -1
  162. package/_types/actions/solana/utils.d.ts +10 -9
  163. package/_types/actions/solana/utils.d.ts.map +1 -1
  164. package/_types/analytics.d.ts +5 -38
  165. package/_types/analytics.d.ts.map +1 -1
  166. package/_types/auth/utils/http.d.ts.map +1 -1
  167. package/_types/client/cdp.d.ts +4 -0
  168. package/_types/client/cdp.d.ts.map +1 -1
  169. package/_types/client/end-user/endUser.d.ts +272 -1
  170. package/_types/client/end-user/endUser.d.ts.map +1 -1
  171. package/_types/client/end-user/endUser.types.d.ts +491 -1
  172. package/_types/client/end-user/endUser.types.d.ts.map +1 -1
  173. package/_types/client/end-user/toEndUserAccount.d.ts +4 -1
  174. package/_types/client/end-user/toEndUserAccount.d.ts.map +1 -1
  175. package/_types/client/evm/evm.d.ts +54 -1
  176. package/_types/client/evm/evm.d.ts.map +1 -1
  177. package/_types/client/evm/evm.types.d.ts +29 -2
  178. package/_types/client/evm/evm.types.d.ts.map +1 -1
  179. package/_types/client/policies/policies.d.ts.map +1 -1
  180. package/_types/client/solana/solana.d.ts +38 -12
  181. package/_types/client/solana/solana.d.ts.map +1 -1
  182. package/_types/index.d.ts +3 -1
  183. package/_types/index.d.ts.map +1 -1
  184. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  185. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +884 -90
  186. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  187. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts +163 -0
  188. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts.map +1 -0
  189. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts +9 -9
  190. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts.map +1 -1
  191. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +35 -15
  192. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
  193. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts +14 -14
  194. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts.map +1 -1
  195. package/_types/openapi-client/generated/evm-swaps/evm-swaps.d.ts +3 -3
  196. package/_types/openapi-client/generated/evm-swaps/evm-swaps.d.ts.map +1 -1
  197. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts +2 -2
  198. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts.map +1 -1
  199. package/_types/openapi-client/generated/faucets/faucets.d.ts +9 -8
  200. package/_types/openapi-client/generated/faucets/faucets.d.ts.map +1 -1
  201. package/_types/openapi-client/generated/onchain-data/onchain-data.d.ts +3 -3
  202. package/_types/openapi-client/generated/onchain-data/onchain-data.d.ts.map +1 -1
  203. package/_types/openapi-client/generated/onramp/onramp.d.ts +12 -5
  204. package/_types/openapi-client/generated/onramp/onramp.d.ts.map +1 -1
  205. package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts +6 -6
  206. package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts.map +1 -1
  207. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +12 -12
  208. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
  209. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.d.ts +2 -2
  210. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.d.ts.map +1 -1
  211. package/_types/openapi-client/generated/sql-api/sql-api.d.ts +73 -0
  212. package/_types/openapi-client/generated/sql-api/sql-api.d.ts.map +1 -0
  213. package/_types/openapi-client/generated/webhooks/webhooks.d.ts +6 -6
  214. package/_types/openapi-client/generated/webhooks/webhooks.d.ts.map +1 -1
  215. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts +4 -4
  216. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts.map +1 -1
  217. package/_types/openapi-client/index.d.ts +23 -3
  218. package/_types/openapi-client/index.d.ts.map +1 -1
  219. package/_types/policies/evmSchema.d.ts +3128 -1064
  220. package/_types/policies/evmSchema.d.ts.map +1 -1
  221. package/_types/policies/solanaSchema.d.ts +1411 -47
  222. package/_types/policies/solanaSchema.d.ts.map +1 -1
  223. package/_types/policies/types.d.ts +8427 -2942
  224. package/_types/policies/types.d.ts.map +1 -1
  225. package/_types/types/contract.d.ts.map +1 -1
  226. package/_types/utils/export.d.ts +1 -1
  227. package/_types/utils/export.d.ts.map +1 -1
  228. package/_types/version.d.ts +1 -1
  229. package/accounts/evm/eip6492.ts +60 -0
  230. package/accounts/evm/toEvmDelegatedAccount.ts +26 -0
  231. package/accounts/evm/toEvmServerAccount.ts +115 -67
  232. package/accounts/evm/toEvmSmartAccount.ts +114 -57
  233. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +44 -5
  234. package/accounts/evm/types.ts +8 -3
  235. package/accounts/solana/toSolanaAccount.ts +44 -24
  236. package/actions/evm/waitForEvmEip7702DelegationStatus.ts +57 -0
  237. package/actions/solana/transfer.ts +3 -3
  238. package/actions/solana/types.ts +79 -29
  239. package/actions/solana/utils.ts +13 -11
  240. package/analytics.ts +8 -294
  241. package/auth/utils/http.ts +1 -0
  242. package/client/cdp.ts +6 -8
  243. package/client/end-user/endUser.ts +513 -4
  244. package/client/end-user/endUser.types.ts +598 -0
  245. package/client/end-user/toEndUserAccount.ts +330 -26
  246. package/client/evm/evm.ts +517 -282
  247. package/client/evm/evm.types.ts +45 -2
  248. package/client/policies/policies.ts +41 -16
  249. package/client/solana/solana.ts +233 -153
  250. package/index.ts +36 -1
  251. package/openapi-client/cdpApiClient.ts +34 -0
  252. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +1155 -172
  253. package/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.ts +455 -0
  254. package/openapi-client/generated/end-user-accounts/end-user-accounts.ts +12 -9
  255. package/openapi-client/generated/evm-accounts/evm-accounts.ts +66 -14
  256. package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.ts +16 -16
  257. package/openapi-client/generated/evm-swaps/evm-swaps.ts +3 -3
  258. package/openapi-client/generated/evm-token-balances/evm-token-balances.ts +2 -2
  259. package/openapi-client/generated/faucets/faucets.ts +9 -8
  260. package/openapi-client/generated/onchain-data/onchain-data.ts +3 -3
  261. package/openapi-client/generated/onramp/onramp.ts +28 -4
  262. package/openapi-client/generated/policy-engine/policy-engine.ts +12 -6
  263. package/openapi-client/generated/solana-accounts/solana-accounts.ts +12 -12
  264. package/openapi-client/generated/solana-token-balances/solana-token-balances.ts +2 -2
  265. package/openapi-client/generated/sql-api/sql-api.ts +92 -0
  266. package/openapi-client/generated/webhooks/webhooks.ts +6 -6
  267. package/openapi-client/generated/x402-facilitator/x402-facilitator.ts +6 -4
  268. package/openapi-client/index.ts +4 -1
  269. package/package.json +7 -8
  270. package/policies/evmSchema.ts +164 -0
  271. package/policies/solanaSchema.ts +130 -0
  272. package/policies/types.ts +14 -0
  273. package/types/contract.ts +2 -4
  274. package/utils/export.ts +6 -5
  275. package/version.ts +1 -1
  276. package/_cjs/openapi-client/generated/sql-api-alpha/sql-api-alpha.js +0 -55
  277. package/_cjs/openapi-client/generated/sql-api-alpha/sql-api-alpha.js.map +0 -1
  278. package/_esm/openapi-client/generated/sql-api-alpha/sql-api-alpha.js +0 -50
  279. package/_esm/openapi-client/generated/sql-api-alpha/sql-api-alpha.js.map +0 -1
  280. package/_types/openapi-client/generated/sql-api-alpha/sql-api-alpha.d.ts +0 -53
  281. package/_types/openapi-client/generated/sql-api-alpha/sql-api-alpha.d.ts.map +0 -1
  282. package/openapi-client/generated/sql-api-alpha/sql-api-alpha.ts +0 -72
@@ -113,11 +113,11 @@ export declare const SendEvmTransactionEvmNetworkCriterionSchema: z.ZodObject<{
113
113
  }, "strip", z.ZodTypeAny, {
114
114
  type: "evmNetwork";
115
115
  operator: "in" | "not in";
116
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
116
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
117
117
  }, {
118
118
  type: "evmNetwork";
119
119
  operator: "in" | "not in";
120
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
120
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
121
121
  }>;
122
122
  export declare const PrepareUserOperationEvmNetworkCriterionSchema: z.ZodObject<{
123
123
  /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
@@ -136,11 +136,11 @@ export declare const PrepareUserOperationEvmNetworkCriterionSchema: z.ZodObject<
136
136
  }, "strip", z.ZodTypeAny, {
137
137
  type: "evmNetwork";
138
138
  operator: "in" | "not in";
139
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
139
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
140
140
  }, {
141
141
  type: "evmNetwork";
142
142
  operator: "in" | "not in";
143
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
143
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
144
144
  }>;
145
145
  export declare const EvmNetworkCriterionSchema: z.ZodUnion<[z.ZodObject<{
146
146
  /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
@@ -159,11 +159,11 @@ export declare const EvmNetworkCriterionSchema: z.ZodUnion<[z.ZodObject<{
159
159
  }, "strip", z.ZodTypeAny, {
160
160
  type: "evmNetwork";
161
161
  operator: "in" | "not in";
162
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
162
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
163
163
  }, {
164
164
  type: "evmNetwork";
165
165
  operator: "in" | "not in";
166
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
166
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
167
167
  }>, z.ZodObject<{
168
168
  /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
169
169
  type: z.ZodLiteral<"evmNetwork">;
@@ -181,11 +181,11 @@ export declare const EvmNetworkCriterionSchema: z.ZodUnion<[z.ZodObject<{
181
181
  }, "strip", z.ZodTypeAny, {
182
182
  type: "evmNetwork";
183
183
  operator: "in" | "not in";
184
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
184
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
185
185
  }, {
186
186
  type: "evmNetwork";
187
187
  operator: "in" | "not in";
188
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
188
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
189
189
  }>]>;
190
190
  export type EvmNetworkCriterion = z.ZodUnion<[
191
191
  typeof SendEvmTransactionEvmNetworkCriterionSchema,
@@ -880,7 +880,7 @@ export declare const EvmDataCriterionSchema: z.ZodObject<{
880
880
  gas?: number | undefined;
881
881
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
882
882
  type: z.ZodLiteral<"function">;
883
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
883
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
884
884
  name: z.ZodString;
885
885
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
886
886
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
@@ -911,11 +911,7 @@ export declare const EvmDataCriterionSchema: z.ZodObject<{
911
911
  }>, z.ZodObject<{
912
912
  type: z.ZodLiteral<"fallback">;
913
913
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
914
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
915
- * Array of EVM addresses allowed or disallowed as verifying contracts.
916
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
917
- * Limited to a maximum of 300 addresses per criterion.
918
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
914
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
919
915
  }, "strip", z.ZodTypeAny, {
920
916
  type: "fallback";
921
917
  stateMutability: "nonpayable" | "payable";
@@ -1194,7 +1190,7 @@ export declare const SignEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscrimin
1194
1190
  gas?: number | undefined;
1195
1191
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1196
1192
  type: z.ZodLiteral<"function">;
1197
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1193
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1198
1194
  name: z.ZodString;
1199
1195
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1200
1196
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
@@ -1225,11 +1221,7 @@ export declare const SignEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscrimin
1225
1221
  }>, z.ZodObject<{
1226
1222
  type: z.ZodLiteral<"fallback">;
1227
1223
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
1228
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
1229
- * Array of EVM addresses allowed or disallowed as verifying contracts.
1230
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
1231
- * Limited to a maximum of 300 addresses per criterion.
1232
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
1224
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1233
1225
  }, "strip", z.ZodTypeAny, {
1234
1226
  type: "fallback";
1235
1227
  stateMutability: "nonpayable" | "payable";
@@ -1524,11 +1516,11 @@ export declare const SendEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscrimin
1524
1516
  }, "strip", z.ZodTypeAny, {
1525
1517
  type: "evmNetwork";
1526
1518
  operator: "in" | "not in";
1527
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
1519
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
1528
1520
  }, {
1529
1521
  type: "evmNetwork";
1530
1522
  operator: "in" | "not in";
1531
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
1523
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
1532
1524
  }>, z.ZodObject<{
1533
1525
  /** The type of criterion, must be "evmData" for EVM transaction rules. */
1534
1526
  type: z.ZodLiteral<"evmData">;
@@ -1576,7 +1568,7 @@ export declare const SendEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscrimin
1576
1568
  gas?: number | undefined;
1577
1569
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1578
1570
  type: z.ZodLiteral<"function">;
1579
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1571
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1580
1572
  name: z.ZodString;
1581
1573
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1582
1574
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
@@ -1607,11 +1599,7 @@ export declare const SendEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscrimin
1607
1599
  }>, z.ZodObject<{
1608
1600
  type: z.ZodLiteral<"fallback">;
1609
1601
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
1610
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
1611
- * Array of EVM addresses allowed or disallowed as verifying contracts.
1612
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
1613
- * Limited to a maximum of 300 addresses per criterion.
1614
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
1602
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1615
1603
  }, "strip", z.ZodTypeAny, {
1616
1604
  type: "fallback";
1617
1605
  stateMutability: "nonpayable" | "payable";
@@ -1879,11 +1867,11 @@ export declare const PrepareUserOperationCriteriaSchema: z.ZodArray<z.ZodDiscrim
1879
1867
  }, "strip", z.ZodTypeAny, {
1880
1868
  type: "evmNetwork";
1881
1869
  operator: "in" | "not in";
1882
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
1870
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
1883
1871
  }, {
1884
1872
  type: "evmNetwork";
1885
1873
  operator: "in" | "not in";
1886
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
1874
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
1887
1875
  }>, z.ZodObject<{
1888
1876
  /** The type of criterion, must be "evmData" for EVM transaction rules. */
1889
1877
  type: z.ZodLiteral<"evmData">;
@@ -1931,7 +1919,7 @@ export declare const PrepareUserOperationCriteriaSchema: z.ZodArray<z.ZodDiscrim
1931
1919
  gas?: number | undefined;
1932
1920
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1933
1921
  type: z.ZodLiteral<"function">;
1934
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1922
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1935
1923
  name: z.ZodString;
1936
1924
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
1937
1925
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
@@ -1962,11 +1950,7 @@ export declare const PrepareUserOperationCriteriaSchema: z.ZodArray<z.ZodDiscrim
1962
1950
  }>, z.ZodObject<{
1963
1951
  type: z.ZodLiteral<"fallback">;
1964
1952
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
1965
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
1966
- * Array of EVM addresses allowed or disallowed as verifying contracts.
1967
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
1968
- * Limited to a maximum of 300 addresses per criterion.
1969
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
1953
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
1970
1954
  }, "strip", z.ZodTypeAny, {
1971
1955
  type: "fallback";
1972
1956
  stateMutability: "nonpayable" | "payable";
@@ -2268,7 +2252,7 @@ export declare const SendUserOperationCriteriaSchema: z.ZodArray<z.ZodDiscrimina
2268
2252
  gas?: number | undefined;
2269
2253
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2270
2254
  type: z.ZodLiteral<"function">;
2271
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2255
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2272
2256
  name: z.ZodString;
2273
2257
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2274
2258
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
@@ -2299,11 +2283,7 @@ export declare const SendUserOperationCriteriaSchema: z.ZodArray<z.ZodDiscrimina
2299
2283
  }>, z.ZodObject<{
2300
2284
  type: z.ZodLiteral<"fallback">;
2301
2285
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
2302
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
2303
- * Array of EVM addresses allowed or disallowed as verifying contracts.
2304
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
2305
- * Limited to a maximum of 300 addresses per criterion.
2306
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
2286
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2307
2287
  }, "strip", z.ZodTypeAny, {
2308
2288
  type: "fallback";
2309
2289
  stateMutability: "nonpayable" | "payable";
@@ -2515,807 +2495,928 @@ export declare const SendUserOperationCriteriaSchema: z.ZodArray<z.ZodDiscrimina
2515
2495
  */
2516
2496
  export type SendUserOperationCriteria = z.infer<typeof SendUserOperationCriteriaSchema>;
2517
2497
  /**
2518
- * Enum for Evm Operation types
2519
- */
2520
- export declare const EvmOperationEnum: z.ZodEnum<["signEvmTransaction", "sendEvmTransaction", "signEvmMessage", "signEvmTypedData", "signEvmHash", "prepareUserOperation", "sendUserOperation"]>;
2521
- /**
2522
- * Type representing the operations that can be governed by a policy.
2523
- * Defines what EVM operations the policy applies to.
2524
- */
2525
- export type EvmOperation = z.infer<typeof EvmOperationEnum>;
2526
- /**
2527
- * Enum for Action types
2528
- */
2529
- export declare const ActionEnum: z.ZodEnum<["reject", "accept"]>;
2530
- /**
2531
- * Type representing the possible policy actions.
2532
- * Determines whether matching the rule will cause a request to be accepted or rejected.
2533
- */
2534
- export type Action = z.infer<typeof ActionEnum>;
2535
- /**
2536
- * Type representing a 'signEvmTransaction' policy rule that can accept or reject specific operations
2537
- * based on a set of criteria.
2498
+ * Schema for criteria used in SignEndUserEvmTransaction operations
2538
2499
  */
2539
- export declare const SignEvmTransactionRuleSchema: z.ZodObject<{
2500
+ export declare const SignEndUserEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2501
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
2502
+ type: z.ZodLiteral<"ethValue">;
2540
2503
  /**
2541
- * Determines whether matching the rule will cause a request to be rejected or accepted.
2542
- * "accept" will allow the transaction, "reject" will block it.
2504
+ * The ETH value amount in wei to compare against, as a string.
2505
+ * Must contain only digits.
2543
2506
  */
2544
- action: z.ZodEnum<["reject", "accept"]>;
2507
+ ethValue: z.ZodString;
2508
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
2509
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2510
+ }, "strip", z.ZodTypeAny, {
2511
+ ethValue: string;
2512
+ type: "ethValue";
2513
+ operator: ">" | ">=" | "<" | "<=" | "==";
2514
+ }, {
2515
+ ethValue: string;
2516
+ type: "ethValue";
2517
+ operator: ">" | ">=" | "<" | "<=" | "==";
2518
+ }>, z.ZodObject<{
2519
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
2520
+ type: z.ZodLiteral<"evmAddress">;
2545
2521
  /**
2546
- * The operation to which this rule applies.
2547
- * Must be "signEvmTransaction".
2522
+ * Array of EVM addresses to compare against.
2523
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
2524
+ * Limited to a maximum of 300 addresses per criterion.
2548
2525
  */
2549
- operation: z.ZodLiteral<"signEvmTransaction">;
2526
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
2550
2527
  /**
2551
- * The set of criteria that must be matched for this rule to apply.
2552
- * Must be compatible with the specified operation type.
2528
+ * The operator to use for evaluating transaction addresses.
2529
+ * "in" checks if an address is in the provided list.
2530
+ * "not in" checks if an address is not in the provided list.
2553
2531
  */
2554
- criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2555
- /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
2556
- type: z.ZodLiteral<"ethValue">;
2557
- /**
2558
- * The ETH value amount in wei to compare against, as a string.
2559
- * Must contain only digits.
2560
- */
2561
- ethValue: z.ZodString;
2562
- /** The comparison operator to use for evaluating transaction values against the threshold. */
2563
- operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2532
+ operator: z.ZodEnum<["in", "not in"]>;
2533
+ }, "strip", z.ZodTypeAny, {
2534
+ type: "evmAddress";
2535
+ operator: "in" | "not in";
2536
+ addresses: `0x${string}`[];
2537
+ }, {
2538
+ type: "evmAddress";
2539
+ operator: "in" | "not in";
2540
+ addresses: string[];
2541
+ }>, z.ZodObject<{
2542
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
2543
+ type: z.ZodLiteral<"evmData">;
2544
+ /**
2545
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
2546
+ */
2547
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2548
+ type: z.ZodLiteral<"error">;
2549
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2550
+ name: z.ZodString;
2564
2551
  }, "strip", z.ZodTypeAny, {
2565
- ethValue: string;
2566
- type: "ethValue";
2567
- operator: ">" | ">=" | "<" | "<=" | "==";
2552
+ inputs: readonly import("abitype").AbiParameter[];
2553
+ type: "error";
2554
+ name: string;
2568
2555
  }, {
2569
- ethValue: string;
2570
- type: "ethValue";
2571
- operator: ">" | ">=" | "<" | "<=" | "==";
2556
+ inputs: readonly import("abitype").AbiParameter[];
2557
+ type: "error";
2558
+ name: string;
2572
2559
  }>, z.ZodObject<{
2573
- /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
2574
- type: z.ZodLiteral<"evmAddress">;
2575
- /**
2576
- * Array of EVM addresses to compare against.
2577
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
2578
- * Limited to a maximum of 300 addresses per criterion.
2579
- */
2580
- addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
2581
- /**
2582
- * The operator to use for evaluating transaction addresses.
2583
- * "in" checks if an address is in the provided list.
2584
- * "not in" checks if an address is not in the provided list.
2585
- */
2586
- operator: z.ZodEnum<["in", "not in"]>;
2560
+ type: z.ZodLiteral<"event">;
2561
+ anonymous: z.ZodOptional<z.ZodBoolean>;
2562
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
2563
+ name: z.ZodString;
2587
2564
  }, "strip", z.ZodTypeAny, {
2588
- type: "evmAddress";
2589
- operator: "in" | "not in";
2590
- addresses: `0x${string}`[];
2565
+ inputs: readonly import("abitype").AbiEventParameter[];
2566
+ type: "event";
2567
+ name: string;
2568
+ anonymous?: boolean | undefined;
2591
2569
  }, {
2592
- type: "evmAddress";
2593
- operator: "in" | "not in";
2594
- addresses: string[];
2570
+ inputs: readonly import("abitype").AbiEventParameter[];
2571
+ type: "event";
2572
+ name: string;
2573
+ anonymous?: boolean | undefined;
2574
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
2575
+ constant: z.ZodOptional<z.ZodBoolean>;
2576
+ gas: z.ZodOptional<z.ZodNumber>;
2577
+ payable: z.ZodOptional<z.ZodBoolean>;
2578
+ }, "strip", z.ZodTypeAny, {
2579
+ payable?: boolean | undefined;
2580
+ constant?: boolean | undefined;
2581
+ gas?: number | undefined;
2582
+ }, {
2583
+ payable?: boolean | undefined;
2584
+ constant?: boolean | undefined;
2585
+ gas?: number | undefined;
2586
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2587
+ type: z.ZodLiteral<"function">;
2588
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2589
+ name: z.ZodString;
2590
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2591
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
2592
+ }, "strip", z.ZodTypeAny, {
2593
+ inputs: readonly import("abitype").AbiParameter[];
2594
+ outputs: readonly import("abitype").AbiParameter[];
2595
+ type: "function";
2596
+ name: string;
2597
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2598
+ }, {
2599
+ inputs: readonly import("abitype").AbiParameter[];
2600
+ outputs: readonly import("abitype").AbiParameter[];
2601
+ type: "function";
2602
+ name: string;
2603
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2595
2604
  }>, z.ZodObject<{
2596
- /** The type of criterion, must be "evmData" for EVM transaction rules. */
2597
- type: z.ZodLiteral<"evmData">;
2605
+ type: z.ZodLiteral<"constructor">;
2606
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2607
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2608
+ }, "strip", z.ZodTypeAny, {
2609
+ inputs: readonly import("abitype").AbiParameter[];
2610
+ type: "constructor";
2611
+ stateMutability: "nonpayable" | "payable";
2612
+ }, {
2613
+ inputs: readonly import("abitype").AbiParameter[];
2614
+ type: "constructor";
2615
+ stateMutability: "nonpayable" | "payable";
2616
+ }>, z.ZodObject<{
2617
+ type: z.ZodLiteral<"fallback">;
2618
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
2619
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2620
+ }, "strip", z.ZodTypeAny, {
2621
+ type: "fallback";
2622
+ stateMutability: "nonpayable" | "payable";
2623
+ inputs?: [] | undefined;
2624
+ }, {
2625
+ type: "fallback";
2626
+ stateMutability: "nonpayable" | "payable";
2627
+ inputs?: [] | undefined;
2628
+ }>, z.ZodObject<{
2629
+ type: z.ZodLiteral<"receive">;
2630
+ stateMutability: z.ZodLiteral<"payable">;
2631
+ }, "strip", z.ZodTypeAny, {
2632
+ type: "receive";
2633
+ stateMutability: "payable";
2634
+ }, {
2635
+ type: "receive";
2636
+ stateMutability: "payable";
2637
+ }>]>>, {
2638
+ payable?: boolean | undefined;
2639
+ constant?: boolean | undefined;
2640
+ gas?: number | undefined;
2641
+ } & ({
2642
+ inputs: readonly import("abitype").AbiParameter[];
2643
+ outputs: readonly import("abitype").AbiParameter[];
2644
+ type: "function";
2645
+ name: string;
2646
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2647
+ } | {
2648
+ inputs: readonly import("abitype").AbiParameter[];
2649
+ type: "constructor";
2650
+ stateMutability: "nonpayable" | "payable";
2651
+ } | {
2652
+ type: "fallback";
2653
+ stateMutability: "nonpayable" | "payable";
2654
+ inputs?: [] | undefined;
2655
+ } | {
2656
+ type: "receive";
2657
+ stateMutability: "payable";
2658
+ }), unknown>]>, "many">>]>;
2659
+ /**
2660
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
2661
+ * Each condition must be met in order for this policy to be accepted or rejected.
2662
+ */
2663
+ conditions: z.ZodArray<z.ZodObject<{
2598
2664
  /**
2599
- * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
2665
+ * The name of a smart contract function being called.
2600
2666
  */
2601
- abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2602
- type: z.ZodLiteral<"error">;
2603
- inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2604
- name: z.ZodString;
2605
- }, "strip", z.ZodTypeAny, {
2606
- inputs: readonly import("abitype").AbiParameter[];
2607
- type: "error";
2608
- name: string;
2609
- }, {
2610
- inputs: readonly import("abitype").AbiParameter[];
2611
- type: "error";
2612
- name: string;
2613
- }>, z.ZodObject<{
2614
- type: z.ZodLiteral<"event">;
2615
- anonymous: z.ZodOptional<z.ZodBoolean>;
2616
- inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
2617
- name: z.ZodString;
2618
- }, "strip", z.ZodTypeAny, {
2619
- inputs: readonly import("abitype").AbiEventParameter[];
2620
- type: "event";
2621
- name: string;
2622
- anonymous?: boolean | undefined;
2623
- }, {
2624
- inputs: readonly import("abitype").AbiEventParameter[];
2625
- type: "event";
2626
- name: string;
2627
- anonymous?: boolean | undefined;
2628
- }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
2629
- constant: z.ZodOptional<z.ZodBoolean>;
2630
- gas: z.ZodOptional<z.ZodNumber>;
2631
- payable: z.ZodOptional<z.ZodBoolean>;
2632
- }, "strip", z.ZodTypeAny, {
2633
- payable?: boolean | undefined;
2634
- constant?: boolean | undefined;
2635
- gas?: number | undefined;
2636
- }, {
2637
- payable?: boolean | undefined;
2638
- constant?: boolean | undefined;
2639
- gas?: number | undefined;
2640
- }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2641
- type: z.ZodLiteral<"function">;
2642
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2643
- name: z.ZodString;
2644
- outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2645
- stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
2667
+ function: z.ZodString;
2668
+ /**
2669
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
2670
+ */
2671
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2672
+ /**
2673
+ * The name of the parameter to check against a transaction's calldata.
2674
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2675
+ */
2676
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2677
+ /**
2678
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
2679
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
2680
+ */
2681
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2682
+ /**
2683
+ * A single value to compare the value resolved at `name` to.
2684
+ * All values are encoded as strings. Refer to the table in the documentation for how values
2685
+ * should be encoded, and which operators are supported for each type.
2686
+ */
2687
+ value: z.ZodString;
2646
2688
  }, "strip", z.ZodTypeAny, {
2647
- inputs: readonly import("abitype").AbiParameter[];
2648
- outputs: readonly import("abitype").AbiParameter[];
2649
- type: "function";
2689
+ value: string;
2650
2690
  name: string;
2651
- stateMutability: "pure" | "view" | "nonpayable" | "payable";
2691
+ operator: ">" | ">=" | "<" | "<=" | "==";
2652
2692
  }, {
2653
- inputs: readonly import("abitype").AbiParameter[];
2654
- outputs: readonly import("abitype").AbiParameter[];
2655
- type: "function";
2693
+ value: string;
2656
2694
  name: string;
2657
- stateMutability: "pure" | "view" | "nonpayable" | "payable";
2658
- }>, z.ZodObject<{
2659
- type: z.ZodLiteral<"constructor">;
2660
- inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2661
- stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2662
- }, "strip", z.ZodTypeAny, {
2663
- inputs: readonly import("abitype").AbiParameter[];
2664
- type: "constructor";
2665
- stateMutability: "nonpayable" | "payable";
2666
- }, {
2667
- inputs: readonly import("abitype").AbiParameter[];
2668
- type: "constructor";
2669
- stateMutability: "nonpayable" | "payable";
2670
- }>, z.ZodObject<{
2671
- type: z.ZodLiteral<"fallback">;
2672
- inputs: z.ZodOptional<z.ZodTuple<[], null>>;
2673
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
2674
- * Array of EVM addresses allowed or disallowed as verifying contracts.
2675
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
2676
- * Limited to a maximum of 300 addresses per criterion.
2677
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
2678
- }, "strip", z.ZodTypeAny, {
2679
- type: "fallback";
2680
- stateMutability: "nonpayable" | "payable";
2681
- inputs?: [] | undefined;
2682
- }, {
2683
- type: "fallback";
2684
- stateMutability: "nonpayable" | "payable";
2685
- inputs?: [] | undefined;
2695
+ operator: ">" | ">=" | "<" | "<=" | "==";
2686
2696
  }>, z.ZodObject<{
2687
- type: z.ZodLiteral<"receive">;
2688
- stateMutability: z.ZodLiteral<"payable">;
2689
- }, "strip", z.ZodTypeAny, {
2690
- type: "receive";
2691
- stateMutability: "payable";
2692
- }, {
2693
- type: "receive";
2694
- stateMutability: "payable";
2695
- }>]>>, {
2696
- payable?: boolean | undefined;
2697
- constant?: boolean | undefined;
2698
- gas?: number | undefined;
2699
- } & ({
2700
- inputs: readonly import("abitype").AbiParameter[];
2701
- outputs: readonly import("abitype").AbiParameter[];
2702
- type: "function";
2703
- name: string;
2704
- stateMutability: "pure" | "view" | "nonpayable" | "payable";
2705
- } | {
2706
- inputs: readonly import("abitype").AbiParameter[];
2707
- type: "constructor";
2708
- stateMutability: "nonpayable" | "payable";
2709
- } | {
2710
- type: "fallback";
2711
- stateMutability: "nonpayable" | "payable";
2712
- inputs?: [] | undefined;
2713
- } | {
2714
- type: "receive";
2715
- stateMutability: "payable";
2716
- }), unknown>]>, "many">>]>;
2717
- /**
2718
- * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
2719
- * Each condition must be met in order for this policy to be accepted or rejected.
2720
- */
2721
- conditions: z.ZodArray<z.ZodObject<{
2722
2697
  /**
2723
- * The name of a smart contract function being called.
2698
+ * The name of the parameter to check against a transaction's calldata.
2699
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2724
2700
  */
2725
- function: z.ZodString;
2701
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2726
2702
  /**
2727
- * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
2703
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
2704
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
2728
2705
  */
2729
- params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2730
- /**
2731
- * The name of the parameter to check against a transaction's calldata.
2732
- * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2733
- */
2734
- name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2735
- /**
2736
- * The operator to use for the comparison. The value resolved at the `name` will be on the
2737
- * left-hand side of the operator, and the `value` field will be on the right-hand side.
2738
- */
2739
- operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2740
- /**
2741
- * A single value to compare the value resolved at `name` to.
2742
- * All values are encoded as strings. Refer to the table in the documentation for how values
2743
- * should be encoded, and which operators are supported for each type.
2744
- */
2745
- value: z.ZodString;
2746
- }, "strip", z.ZodTypeAny, {
2747
- value: string;
2748
- name: string;
2749
- operator: ">" | ">=" | "<" | "<=" | "==";
2750
- }, {
2751
- value: string;
2752
- name: string;
2753
- operator: ">" | ">=" | "<" | "<=" | "==";
2754
- }>, z.ZodObject<{
2755
- /**
2756
- * The name of the parameter to check against a transaction's calldata.
2757
- * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
2758
- */
2759
- name: z.ZodUnion<[z.ZodString, z.ZodString]>;
2760
- /**
2761
- * The operator to use for the comparison. The value resolved at the `name` will be on the
2762
- * left-hand side of the operator, and the `values` field will be on the right-hand side.
2763
- */
2764
- operator: z.ZodEnum<["in", "not in"]>;
2765
- /**
2766
- * Values to compare against the resolved `name` value.
2767
- * All values are encoded as strings. Refer to the table in the documentation for how values
2768
- * should be encoded, and which operators are supported for each type.
2769
- */
2770
- values: z.ZodArray<z.ZodString, "many">;
2771
- }, "strip", z.ZodTypeAny, {
2772
- values: string[];
2773
- name: string;
2774
- operator: "in" | "not in";
2775
- }, {
2776
- values: string[];
2777
- name: string;
2778
- operator: "in" | "not in";
2779
- }>]>, "many">>;
2706
+ operator: z.ZodEnum<["in", "not in"]>;
2707
+ /**
2708
+ * Values to compare against the resolved `name` value.
2709
+ * All values are encoded as strings. Refer to the table in the documentation for how values
2710
+ * should be encoded, and which operators are supported for each type.
2711
+ */
2712
+ values: z.ZodArray<z.ZodString, "many">;
2780
2713
  }, "strip", z.ZodTypeAny, {
2781
- function: string;
2782
- params?: ({
2783
- values: string[];
2784
- name: string;
2785
- operator: "in" | "not in";
2786
- } | {
2787
- value: string;
2788
- name: string;
2789
- operator: ">" | ">=" | "<" | "<=" | "==";
2790
- })[] | undefined;
2714
+ values: string[];
2715
+ name: string;
2716
+ operator: "in" | "not in";
2791
2717
  }, {
2792
- function: string;
2793
- params?: ({
2794
- values: string[];
2795
- name: string;
2796
- operator: "in" | "not in";
2797
- } | {
2798
- value: string;
2799
- name: string;
2800
- operator: ">" | ">=" | "<" | "<=" | "==";
2801
- })[] | undefined;
2802
- }>, "many">;
2718
+ values: string[];
2719
+ name: string;
2720
+ operator: "in" | "not in";
2721
+ }>]>, "many">>;
2803
2722
  }, "strip", z.ZodTypeAny, {
2804
- type: "evmData";
2805
- abi: "erc20" | "erc721" | "erc1155" | readonly ({
2806
- inputs: readonly import("abitype").AbiParameter[];
2807
- type: "error";
2723
+ function: string;
2724
+ params?: ({
2725
+ values: string[];
2808
2726
  name: string;
2727
+ operator: "in" | "not in";
2809
2728
  } | {
2810
- inputs: readonly import("abitype").AbiEventParameter[];
2811
- type: "event";
2729
+ value: string;
2812
2730
  name: string;
2813
- anonymous?: boolean | undefined;
2814
- } | ({
2815
- payable?: boolean | undefined;
2816
- constant?: boolean | undefined;
2817
- gas?: number | undefined;
2818
- } & ({
2819
- inputs: readonly import("abitype").AbiParameter[];
2820
- outputs: readonly import("abitype").AbiParameter[];
2821
- type: "function";
2731
+ operator: ">" | ">=" | "<" | "<=" | "==";
2732
+ })[] | undefined;
2733
+ }, {
2734
+ function: string;
2735
+ params?: ({
2736
+ values: string[];
2822
2737
  name: string;
2823
- stateMutability: "pure" | "view" | "nonpayable" | "payable";
2824
- } | {
2825
- inputs: readonly import("abitype").AbiParameter[];
2826
- type: "constructor";
2827
- stateMutability: "nonpayable" | "payable";
2828
- } | {
2829
- type: "fallback";
2830
- stateMutability: "nonpayable" | "payable";
2831
- inputs?: [] | undefined;
2738
+ operator: "in" | "not in";
2832
2739
  } | {
2833
- type: "receive";
2834
- stateMutability: "payable";
2835
- })))[];
2836
- conditions: {
2837
- function: string;
2838
- params?: ({
2839
- values: string[];
2840
- name: string;
2841
- operator: "in" | "not in";
2842
- } | {
2843
- value: string;
2844
- name: string;
2845
- operator: ">" | ">=" | "<" | "<=" | "==";
2846
- })[] | undefined;
2847
- }[];
2848
- }, {
2849
- type: "evmData";
2850
- abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
2851
- conditions: {
2852
- function: string;
2853
- params?: ({
2854
- values: string[];
2855
- name: string;
2856
- operator: "in" | "not in";
2857
- } | {
2858
- value: string;
2859
- name: string;
2860
- operator: ">" | ">=" | "<" | "<=" | "==";
2861
- })[] | undefined;
2862
- }[];
2863
- }>, z.ZodObject<{
2864
- /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
2865
- type: z.ZodLiteral<"netUSDChange">;
2866
- /**
2867
- * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
2868
- */
2869
- changeCents: z.ZodNumber;
2870
- /**
2871
- * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
2872
- */
2873
- operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2874
- }, "strip", z.ZodTypeAny, {
2875
- type: "netUSDChange";
2876
- operator: ">" | ">=" | "<" | "<=" | "==";
2877
- changeCents: number;
2878
- }, {
2879
- type: "netUSDChange";
2880
- operator: ">" | ">=" | "<" | "<=" | "==";
2881
- changeCents: number;
2882
- }>]>, "many">;
2740
+ value: string;
2741
+ name: string;
2742
+ operator: ">" | ">=" | "<" | "<=" | "==";
2743
+ })[] | undefined;
2744
+ }>, "many">;
2883
2745
  }, "strip", z.ZodTypeAny, {
2884
- action: "reject" | "accept";
2885
- operation: "signEvmTransaction";
2886
- criteria: ({
2887
- ethValue: string;
2888
- type: "ethValue";
2889
- operator: ">" | ">=" | "<" | "<=" | "==";
2746
+ type: "evmData";
2747
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
2748
+ inputs: readonly import("abitype").AbiParameter[];
2749
+ type: "error";
2750
+ name: string;
2890
2751
  } | {
2891
- type: "evmAddress";
2892
- operator: "in" | "not in";
2893
- addresses: `0x${string}`[];
2752
+ inputs: readonly import("abitype").AbiEventParameter[];
2753
+ type: "event";
2754
+ name: string;
2755
+ anonymous?: boolean | undefined;
2756
+ } | ({
2757
+ payable?: boolean | undefined;
2758
+ constant?: boolean | undefined;
2759
+ gas?: number | undefined;
2760
+ } & ({
2761
+ inputs: readonly import("abitype").AbiParameter[];
2762
+ outputs: readonly import("abitype").AbiParameter[];
2763
+ type: "function";
2764
+ name: string;
2765
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2894
2766
  } | {
2895
- type: "netUSDChange";
2896
- operator: ">" | ">=" | "<" | "<=" | "==";
2897
- changeCents: number;
2767
+ inputs: readonly import("abitype").AbiParameter[];
2768
+ type: "constructor";
2769
+ stateMutability: "nonpayable" | "payable";
2898
2770
  } | {
2899
- type: "evmData";
2900
- abi: "erc20" | "erc721" | "erc1155" | readonly ({
2901
- inputs: readonly import("abitype").AbiParameter[];
2902
- type: "error";
2771
+ type: "fallback";
2772
+ stateMutability: "nonpayable" | "payable";
2773
+ inputs?: [] | undefined;
2774
+ } | {
2775
+ type: "receive";
2776
+ stateMutability: "payable";
2777
+ })))[];
2778
+ conditions: {
2779
+ function: string;
2780
+ params?: ({
2781
+ values: string[];
2903
2782
  name: string;
2783
+ operator: "in" | "not in";
2904
2784
  } | {
2905
- inputs: readonly import("abitype").AbiEventParameter[];
2906
- type: "event";
2785
+ value: string;
2907
2786
  name: string;
2908
- anonymous?: boolean | undefined;
2909
- } | ({
2910
- payable?: boolean | undefined;
2911
- constant?: boolean | undefined;
2912
- gas?: number | undefined;
2913
- } & ({
2914
- inputs: readonly import("abitype").AbiParameter[];
2915
- outputs: readonly import("abitype").AbiParameter[];
2916
- type: "function";
2787
+ operator: ">" | ">=" | "<" | "<=" | "==";
2788
+ })[] | undefined;
2789
+ }[];
2790
+ }, {
2791
+ type: "evmData";
2792
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
2793
+ conditions: {
2794
+ function: string;
2795
+ params?: ({
2796
+ values: string[];
2917
2797
  name: string;
2918
- stateMutability: "pure" | "view" | "nonpayable" | "payable";
2919
- } | {
2920
- inputs: readonly import("abitype").AbiParameter[];
2921
- type: "constructor";
2922
- stateMutability: "nonpayable" | "payable";
2923
- } | {
2924
- type: "fallback";
2925
- stateMutability: "nonpayable" | "payable";
2926
- inputs?: [] | undefined;
2798
+ operator: "in" | "not in";
2927
2799
  } | {
2928
- type: "receive";
2929
- stateMutability: "payable";
2930
- })))[];
2931
- conditions: {
2932
- function: string;
2933
- params?: ({
2934
- values: string[];
2935
- name: string;
2936
- operator: "in" | "not in";
2937
- } | {
2938
- value: string;
2939
- name: string;
2940
- operator: ">" | ">=" | "<" | "<=" | "==";
2941
- })[] | undefined;
2942
- }[];
2943
- })[];
2944
- }, {
2945
- action: "reject" | "accept";
2946
- operation: "signEvmTransaction";
2947
- criteria: ({
2948
- ethValue: string;
2949
- type: "ethValue";
2950
- operator: ">" | ">=" | "<" | "<=" | "==";
2951
- } | {
2952
- type: "evmAddress";
2953
- operator: "in" | "not in";
2954
- addresses: string[];
2955
- } | {
2956
- type: "netUSDChange";
2957
- operator: ">" | ">=" | "<" | "<=" | "==";
2958
- changeCents: number;
2959
- } | {
2960
- type: "evmData";
2961
- abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
2962
- conditions: {
2963
- function: string;
2964
- params?: ({
2965
- values: string[];
2966
- name: string;
2967
- operator: "in" | "not in";
2968
- } | {
2969
- value: string;
2970
- name: string;
2971
- operator: ">" | ">=" | "<" | "<=" | "==";
2972
- })[] | undefined;
2973
- }[];
2974
- })[];
2975
- }>;
2976
- export type SignEvmTransactionRule = z.infer<typeof SignEvmTransactionRuleSchema>;
2977
- /**
2978
- * Type representing a 'signEvmHash' policy rule that can accept or reject specific operations
2979
- * based on a set of criteria.
2980
- */
2981
- export declare const SignEvmHashRuleSchema: z.ZodObject<{
2800
+ value: string;
2801
+ name: string;
2802
+ operator: ">" | ">=" | "<" | "<=" | "==";
2803
+ })[] | undefined;
2804
+ }[];
2805
+ }>, z.ZodObject<{
2806
+ /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
2807
+ type: z.ZodLiteral<"netUSDChange">;
2982
2808
  /**
2983
- * Determines whether matching the rule will cause a request to be rejected or accepted.
2984
- * "accept" will allow the signing, "reject" will block it.
2809
+ * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
2985
2810
  */
2986
- action: z.ZodEnum<["reject", "accept"]>;
2811
+ changeCents: z.ZodNumber;
2987
2812
  /**
2988
- * The operation to which this rule applies.
2989
- * Must be "signEvmHash".
2813
+ * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
2990
2814
  */
2991
- operation: z.ZodLiteral<"signEvmHash">;
2815
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2992
2816
  }, "strip", z.ZodTypeAny, {
2993
- action: "reject" | "accept";
2994
- operation: "signEvmHash";
2817
+ type: "netUSDChange";
2818
+ operator: ">" | ">=" | "<" | "<=" | "==";
2819
+ changeCents: number;
2995
2820
  }, {
2996
- action: "reject" | "accept";
2997
- operation: "signEvmHash";
2998
- }>;
2999
- export type SignEvmHashRule = z.infer<typeof SignEvmHashRuleSchema>;
2821
+ type: "netUSDChange";
2822
+ operator: ">" | ">=" | "<" | "<=" | "==";
2823
+ changeCents: number;
2824
+ }>]>, "many">;
3000
2825
  /**
3001
- * Type representing a 'signEvmMessage' policy rule that can accept or reject specific operations
3002
- * based on a set of criteria.
2826
+ * Type representing a set of criteria for the signEndUserEvmTransaction operation.
3003
2827
  */
3004
- export declare const SignEvmMessageRuleSchema: z.ZodObject<{
2828
+ export type SignEndUserEvmTransactionCriteria = z.infer<typeof SignEndUserEvmTransactionCriteriaSchema>;
2829
+ /**
2830
+ * Schema for criteria used in SendEndUserEvmTransaction operations
2831
+ */
2832
+ export declare const SendEndUserEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2833
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
2834
+ type: z.ZodLiteral<"ethValue">;
3005
2835
  /**
3006
- * Determines whether matching the rule will cause a request to be rejected or accepted.
3007
- * "accept" will allow the signing, "reject" will block it.
2836
+ * The ETH value amount in wei to compare against, as a string.
2837
+ * Must contain only digits.
3008
2838
  */
3009
- action: z.ZodEnum<["reject", "accept"]>;
2839
+ ethValue: z.ZodString;
2840
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
2841
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
2842
+ }, "strip", z.ZodTypeAny, {
2843
+ ethValue: string;
2844
+ type: "ethValue";
2845
+ operator: ">" | ">=" | "<" | "<=" | "==";
2846
+ }, {
2847
+ ethValue: string;
2848
+ type: "ethValue";
2849
+ operator: ">" | ">=" | "<" | "<=" | "==";
2850
+ }>, z.ZodObject<{
2851
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
2852
+ type: z.ZodLiteral<"evmAddress">;
3010
2853
  /**
3011
- * The operation to which this rule applies.
3012
- * Must be "signEvmMessage".
2854
+ * Array of EVM addresses to compare against.
2855
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
2856
+ * Limited to a maximum of 300 addresses per criterion.
3013
2857
  */
3014
- operation: z.ZodLiteral<"signEvmMessage">;
2858
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
3015
2859
  /**
3016
- * The set of criteria that must be matched for this rule to apply.
3017
- * Must be compatible with the specified operation type.
2860
+ * The operator to use for evaluating transaction addresses.
2861
+ * "in" checks if an address is in the provided list.
2862
+ * "not in" checks if an address is not in the provided list.
3018
2863
  */
3019
- criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3020
- /** The type of criterion, must be "evmMessage" for EVM message-based rules. */
3021
- type: z.ZodLiteral<"evmMessage">;
3022
- /**
3023
- * A regular expression the message is matched against.
3024
- * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
3025
- */
3026
- match: z.ZodString;
3027
- }, "strip", z.ZodTypeAny, {
3028
- match: string;
3029
- type: "evmMessage";
3030
- }, {
3031
- match: string;
3032
- type: "evmMessage";
3033
- }>]>, "many">;
2864
+ operator: z.ZodEnum<["in", "not in"]>;
3034
2865
  }, "strip", z.ZodTypeAny, {
3035
- action: "reject" | "accept";
3036
- operation: "signEvmMessage";
3037
- criteria: {
3038
- match: string;
3039
- type: "evmMessage";
3040
- }[];
2866
+ type: "evmAddress";
2867
+ operator: "in" | "not in";
2868
+ addresses: `0x${string}`[];
3041
2869
  }, {
3042
- action: "reject" | "accept";
3043
- operation: "signEvmMessage";
3044
- criteria: {
3045
- match: string;
3046
- type: "evmMessage";
3047
- }[];
3048
- }>;
3049
- export type SignEvmMessageRule = z.infer<typeof SignEvmMessageRuleSchema>;
3050
- /**
3051
- * Type representing a 'signEvmTypedData' policy rule that can accept or reject specific operations
3052
- * based on a set of criteria.
3053
- */
3054
- export declare const SignEvmTypedDataRuleSchema: z.ZodObject<{
2870
+ type: "evmAddress";
2871
+ operator: "in" | "not in";
2872
+ addresses: string[];
2873
+ }>, z.ZodObject<{
2874
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
2875
+ type: z.ZodLiteral<"evmNetwork">;
3055
2876
  /**
3056
- * Determines whether matching the rule will cause a request to be rejected or accepted.
3057
- * "accept" will allow the signing, "reject" will block it.
2877
+ * Array of EVM network identifiers to compare against.
2878
+ * Either "base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"
3058
2879
  */
3059
- action: z.ZodEnum<["reject", "accept"]>;
2880
+ networks: z.ZodArray<z.ZodEnum<["base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"]>, "many">;
3060
2881
  /**
3061
- * The operation to which this rule applies.
3062
- * Must be "signEvmTypedData".
2882
+ * The operator to use for evaluating transaction network.
2883
+ * "in" checks if a network is in the provided list.
2884
+ * "not in" checks if a network is not in the provided list.
3063
2885
  */
3064
- operation: z.ZodLiteral<"signEvmTypedData">;
2886
+ operator: z.ZodEnum<["in", "not in"]>;
2887
+ }, "strip", z.ZodTypeAny, {
2888
+ type: "evmNetwork";
2889
+ operator: "in" | "not in";
2890
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
2891
+ }, {
2892
+ type: "evmNetwork";
2893
+ operator: "in" | "not in";
2894
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
2895
+ }>, z.ZodObject<{
2896
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
2897
+ type: z.ZodLiteral<"evmData">;
3065
2898
  /**
3066
- * The set of criteria that must be matched for this rule to apply.
3067
- * Must be compatible with the specified operation type.
2899
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
3068
2900
  */
3069
- criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3070
- /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */
3071
- type: z.ZodLiteral<"evmTypedDataField">;
2901
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
2902
+ type: z.ZodLiteral<"error">;
2903
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2904
+ name: z.ZodString;
2905
+ }, "strip", z.ZodTypeAny, {
2906
+ inputs: readonly import("abitype").AbiParameter[];
2907
+ type: "error";
2908
+ name: string;
2909
+ }, {
2910
+ inputs: readonly import("abitype").AbiParameter[];
2911
+ type: "error";
2912
+ name: string;
2913
+ }>, z.ZodObject<{
2914
+ type: z.ZodLiteral<"event">;
2915
+ anonymous: z.ZodOptional<z.ZodBoolean>;
2916
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
2917
+ name: z.ZodString;
2918
+ }, "strip", z.ZodTypeAny, {
2919
+ inputs: readonly import("abitype").AbiEventParameter[];
2920
+ type: "event";
2921
+ name: string;
2922
+ anonymous?: boolean | undefined;
2923
+ }, {
2924
+ inputs: readonly import("abitype").AbiEventParameter[];
2925
+ type: "event";
2926
+ name: string;
2927
+ anonymous?: boolean | undefined;
2928
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
2929
+ constant: z.ZodOptional<z.ZodBoolean>;
2930
+ gas: z.ZodOptional<z.ZodNumber>;
2931
+ payable: z.ZodOptional<z.ZodBoolean>;
2932
+ }, "strip", z.ZodTypeAny, {
2933
+ payable?: boolean | undefined;
2934
+ constant?: boolean | undefined;
2935
+ gas?: number | undefined;
2936
+ }, {
2937
+ payable?: boolean | undefined;
2938
+ constant?: boolean | undefined;
2939
+ gas?: number | undefined;
2940
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2941
+ type: z.ZodLiteral<"function">;
2942
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2943
+ name: z.ZodString;
2944
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2945
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
2946
+ }, "strip", z.ZodTypeAny, {
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
+ outputs: readonly import("abitype").AbiParameter[];
2955
+ type: "function";
2956
+ name: string;
2957
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
2958
+ }>, z.ZodObject<{
2959
+ type: z.ZodLiteral<"constructor">;
2960
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
2961
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2962
+ }, "strip", z.ZodTypeAny, {
2963
+ inputs: readonly import("abitype").AbiParameter[];
2964
+ type: "constructor";
2965
+ stateMutability: "nonpayable" | "payable";
2966
+ }, {
2967
+ inputs: readonly import("abitype").AbiParameter[];
2968
+ type: "constructor";
2969
+ stateMutability: "nonpayable" | "payable";
2970
+ }>, z.ZodObject<{
2971
+ type: z.ZodLiteral<"fallback">;
2972
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
2973
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
2974
+ }, "strip", z.ZodTypeAny, {
2975
+ type: "fallback";
2976
+ stateMutability: "nonpayable" | "payable";
2977
+ inputs?: [] | undefined;
2978
+ }, {
2979
+ type: "fallback";
2980
+ stateMutability: "nonpayable" | "payable";
2981
+ inputs?: [] | undefined;
2982
+ }>, z.ZodObject<{
2983
+ type: z.ZodLiteral<"receive">;
2984
+ stateMutability: z.ZodLiteral<"payable">;
2985
+ }, "strip", z.ZodTypeAny, {
2986
+ type: "receive";
2987
+ stateMutability: "payable";
2988
+ }, {
2989
+ type: "receive";
2990
+ stateMutability: "payable";
2991
+ }>]>>, {
2992
+ payable?: boolean | undefined;
2993
+ constant?: boolean | undefined;
2994
+ gas?: number | undefined;
2995
+ } & ({
2996
+ inputs: readonly import("abitype").AbiParameter[];
2997
+ outputs: readonly import("abitype").AbiParameter[];
2998
+ type: "function";
2999
+ name: string;
3000
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3001
+ } | {
3002
+ inputs: readonly import("abitype").AbiParameter[];
3003
+ type: "constructor";
3004
+ stateMutability: "nonpayable" | "payable";
3005
+ } | {
3006
+ type: "fallback";
3007
+ stateMutability: "nonpayable" | "payable";
3008
+ inputs?: [] | undefined;
3009
+ } | {
3010
+ type: "receive";
3011
+ stateMutability: "payable";
3012
+ }), unknown>]>, "many">>]>;
3013
+ /**
3014
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
3015
+ * Each condition must be met in order for this policy to be accepted or rejected.
3016
+ */
3017
+ conditions: z.ZodArray<z.ZodObject<{
3072
3018
  /**
3073
- * The EIP-712 type definitions for the typed data.
3074
- * Must include at minimum the primary type being signed.
3019
+ * The name of a smart contract function being called.
3075
3020
  */
3076
- types: z.ZodObject<{
3077
- /**
3078
- * EIP-712 compliant map of model names to model definitions.
3079
- */
3080
- types: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
3081
- name: z.ZodString;
3082
- type: z.ZodString;
3083
- }, "strip", z.ZodTypeAny, {
3084
- type: string;
3085
- name: string;
3086
- }, {
3087
- type: string;
3088
- name: string;
3089
- }>, "many">>;
3090
- /**
3091
- * The name of the root EIP-712 type. This value must be included in the `types` object.
3092
- */
3093
- primaryType: z.ZodString;
3094
- }, "strip", z.ZodTypeAny, {
3095
- types: Record<string, {
3096
- type: string;
3097
- name: string;
3098
- }[]>;
3099
- primaryType: string;
3100
- }, {
3101
- types: Record<string, {
3102
- type: string;
3103
- name: string;
3104
- }[]>;
3105
- primaryType: string;
3106
- }>;
3021
+ function: z.ZodString;
3107
3022
  /**
3108
- * Array of conditions to apply against typed data fields.
3109
- * Each condition specifies how to validate a specific field within the typed data.
3023
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
3110
3024
  */
3111
- conditions: z.ZodArray<z.ZodUnion<[z.ZodObject<{
3025
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
3112
3026
  /**
3113
- * Array of EVM addresses to compare against.
3114
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
3115
- * Limited to a maximum of 300 addresses per condition.
3027
+ * The name of the parameter to check against a transaction's calldata.
3028
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
3116
3029
  */
3117
- addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
3030
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
3118
3031
  /**
3119
- * The operator to use for evaluating addresses.
3120
- * "in" checks if an address is in the provided list.
3121
- * "not in" checks if an address is not in the provided list.
3032
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
3033
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
3122
3034
  */
3123
- operator: z.ZodEnum<["in", "not in"]>;
3035
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
3124
3036
  /**
3125
- * The path to the field to compare against this criterion.
3126
- * To reference deeply nested fields, use dot notation (e.g., "order.buyer").
3037
+ * A single value to compare the value resolved at `name` to.
3038
+ * All values are encoded as strings. Refer to the table in the documentation for how values
3039
+ * should be encoded, and which operators are supported for each type.
3127
3040
  */
3128
- path: z.ZodString;
3129
- }, "strip", z.ZodTypeAny, {
3130
- path: string;
3131
- operator: "in" | "not in";
3132
- addresses: `0x${string}`[];
3133
- }, {
3134
- path: string;
3135
- operator: "in" | "not in";
3136
- addresses: string[];
3137
- }>, z.ZodObject<{
3138
- /**
3139
- * The numerical value to compare against, as a string.
3140
- * Must contain only digits.
3141
- */
3142
- value: z.ZodString;
3143
- /**
3144
- * The comparison operator to use.
3145
- */
3146
- operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
3147
- /**
3148
- * The path to the field to compare against this criterion.
3149
- * To reference deeply nested fields, use dot notation (e.g., "order.price").
3150
- */
3151
- path: z.ZodString;
3041
+ value: z.ZodString;
3152
3042
  }, "strip", z.ZodTypeAny, {
3153
3043
  value: string;
3154
- path: string;
3044
+ name: string;
3155
3045
  operator: ">" | ">=" | "<" | "<=" | "==";
3156
3046
  }, {
3157
3047
  value: string;
3158
- path: string;
3048
+ name: string;
3159
3049
  operator: ">" | ">=" | "<" | "<=" | "==";
3160
3050
  }>, z.ZodObject<{
3161
3051
  /**
3162
- * A regular expression the string field is matched against.
3163
- * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
3052
+ * The name of the parameter to check against a transaction's calldata.
3053
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
3164
3054
  */
3165
- match: z.ZodString;
3055
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
3166
3056
  /**
3167
- * The path to the field to compare against this criterion.
3168
- * To reference deeply nested fields, use dot notation (e.g., "metadata.description").
3057
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
3058
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
3169
3059
  */
3170
- path: z.ZodString;
3060
+ operator: z.ZodEnum<["in", "not in"]>;
3061
+ /**
3062
+ * Values to compare against the resolved `name` value.
3063
+ * All values are encoded as strings. Refer to the table in the documentation for how values
3064
+ * should be encoded, and which operators are supported for each type.
3065
+ */
3066
+ values: z.ZodArray<z.ZodString, "many">;
3171
3067
  }, "strip", z.ZodTypeAny, {
3172
- match: string;
3173
- path: string;
3068
+ values: string[];
3069
+ name: string;
3070
+ operator: "in" | "not in";
3174
3071
  }, {
3175
- match: string;
3176
- path: string;
3177
- }>]>, "many">;
3072
+ values: string[];
3073
+ name: string;
3074
+ operator: "in" | "not in";
3075
+ }>]>, "many">>;
3178
3076
  }, "strip", z.ZodTypeAny, {
3179
- type: "evmTypedDataField";
3180
- types: {
3181
- types: Record<string, {
3182
- type: string;
3183
- name: string;
3184
- }[]>;
3185
- primaryType: string;
3186
- };
3187
- conditions: ({
3188
- path: string;
3077
+ function: string;
3078
+ params?: ({
3079
+ values: string[];
3080
+ name: string;
3189
3081
  operator: "in" | "not in";
3190
- addresses: `0x${string}`[];
3191
3082
  } | {
3192
3083
  value: string;
3193
- path: string;
3084
+ name: string;
3194
3085
  operator: ">" | ">=" | "<" | "<=" | "==";
3195
- } | {
3196
- match: string;
3197
- path: string;
3198
- })[];
3086
+ })[] | undefined;
3199
3087
  }, {
3200
- type: "evmTypedDataField";
3201
- types: {
3202
- types: Record<string, {
3203
- type: string;
3204
- name: string;
3205
- }[]>;
3206
- primaryType: string;
3207
- };
3208
- conditions: ({
3209
- path: string;
3088
+ function: string;
3089
+ params?: ({
3090
+ values: string[];
3091
+ name: string;
3210
3092
  operator: "in" | "not in";
3211
- addresses: string[];
3212
3093
  } | {
3213
3094
  value: string;
3214
- path: string;
3095
+ name: string;
3215
3096
  operator: ">" | ">=" | "<" | "<=" | "==";
3216
- } | {
3217
- match: string;
3218
- path: string;
3219
- })[];
3220
- }>, z.ZodObject<{
3221
- /** The type of criterion, must be "evmTypedDataVerifyingContract" for verifying contract-based rules. */
3222
- type: z.ZodLiteral<"evmTypedDataVerifyingContract">;
3223
- /**
3224
- * Array of EVM addresses allowed or disallowed as verifying contracts.
3225
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
3226
- * Limited to a maximum of 300 addresses per criterion.
3227
- */
3228
- addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
3229
- /**
3230
- * The operator to use for evaluating verifying contract addresses.
3231
- * "in" checks if the verifying contract is in the provided list.
3232
- * "not in" checks if the verifying contract is not in the provided list.
3233
- */
3234
- operator: z.ZodEnum<["in", "not in"]>;
3235
- }, "strip", z.ZodTypeAny, {
3236
- type: "evmTypedDataVerifyingContract";
3237
- operator: "in" | "not in";
3238
- addresses: `0x${string}`[];
3239
- }, {
3240
- type: "evmTypedDataVerifyingContract";
3241
- operator: "in" | "not in";
3242
- addresses: string[];
3243
- }>]>, "many">;
3097
+ })[] | undefined;
3098
+ }>, "many">;
3244
3099
  }, "strip", z.ZodTypeAny, {
3245
- action: "reject" | "accept";
3246
- operation: "signEvmTypedData";
3247
- criteria: ({
3248
- type: "evmTypedDataField";
3249
- types: {
3250
- types: Record<string, {
3251
- type: string;
3252
- name: string;
3253
- }[]>;
3254
- primaryType: string;
3255
- };
3256
- conditions: ({
3257
- path: string;
3100
+ type: "evmData";
3101
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
3102
+ inputs: readonly import("abitype").AbiParameter[];
3103
+ type: "error";
3104
+ name: string;
3105
+ } | {
3106
+ inputs: readonly import("abitype").AbiEventParameter[];
3107
+ type: "event";
3108
+ name: string;
3109
+ anonymous?: boolean | undefined;
3110
+ } | ({
3111
+ payable?: boolean | undefined;
3112
+ constant?: boolean | undefined;
3113
+ gas?: number | undefined;
3114
+ } & ({
3115
+ inputs: readonly import("abitype").AbiParameter[];
3116
+ outputs: readonly import("abitype").AbiParameter[];
3117
+ type: "function";
3118
+ name: string;
3119
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
3120
+ } | {
3121
+ inputs: readonly import("abitype").AbiParameter[];
3122
+ type: "constructor";
3123
+ stateMutability: "nonpayable" | "payable";
3124
+ } | {
3125
+ type: "fallback";
3126
+ stateMutability: "nonpayable" | "payable";
3127
+ inputs?: [] | undefined;
3128
+ } | {
3129
+ type: "receive";
3130
+ stateMutability: "payable";
3131
+ })))[];
3132
+ conditions: {
3133
+ function: string;
3134
+ params?: ({
3135
+ values: string[];
3136
+ name: string;
3258
3137
  operator: "in" | "not in";
3259
- addresses: `0x${string}`[];
3260
3138
  } | {
3261
3139
  value: string;
3262
- path: string;
3140
+ name: string;
3263
3141
  operator: ">" | ">=" | "<" | "<=" | "==";
3264
- } | {
3265
- match: string;
3266
- path: string;
3267
- })[];
3268
- } | {
3269
- type: "evmTypedDataVerifyingContract";
3270
- operator: "in" | "not in";
3271
- addresses: `0x${string}`[];
3272
- })[];
3142
+ })[] | undefined;
3143
+ }[];
3273
3144
  }, {
3274
- action: "reject" | "accept";
3275
- operation: "signEvmTypedData";
3276
- criteria: ({
3277
- type: "evmTypedDataField";
3278
- types: {
3279
- types: Record<string, {
3280
- type: string;
3281
- name: string;
3282
- }[]>;
3283
- primaryType: string;
3284
- };
3285
- conditions: ({
3286
- path: string;
3145
+ type: "evmData";
3146
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
3147
+ conditions: {
3148
+ function: string;
3149
+ params?: ({
3150
+ values: string[];
3151
+ name: string;
3287
3152
  operator: "in" | "not in";
3288
- addresses: string[];
3289
3153
  } | {
3290
3154
  value: string;
3291
- path: string;
3155
+ name: string;
3292
3156
  operator: ">" | ">=" | "<" | "<=" | "==";
3293
- } | {
3294
- match: string;
3295
- path: string;
3296
- })[];
3297
- } | {
3298
- type: "evmTypedDataVerifyingContract";
3299
- operator: "in" | "not in";
3300
- addresses: string[];
3301
- })[];
3302
- }>;
3303
- export type SignEvmTypedDataRule = z.infer<typeof SignEvmTypedDataRuleSchema>;
3304
- /**
3305
- * Type representing a 'sendEvmTransaction' policy rule that can accept or reject specific operations
3306
- * based on a set of criteria.
3307
- */
3308
- export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3157
+ })[] | undefined;
3158
+ }[];
3159
+ }>, z.ZodObject<{
3160
+ /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
3161
+ type: z.ZodLiteral<"netUSDChange">;
3309
3162
  /**
3310
- * Determines whether matching the rule will cause a request to be rejected or accepted.
3311
- * "accept" will allow the transaction, "reject" will block it.
3163
+ * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
3312
3164
  */
3313
- action: z.ZodEnum<["reject", "accept"]>;
3165
+ changeCents: z.ZodNumber;
3314
3166
  /**
3315
- * The operation to which this rule applies.
3316
- * Must be "sendEvmTransaction".
3167
+ * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
3317
3168
  */
3318
- operation: z.ZodLiteral<"sendEvmTransaction">;
3169
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
3170
+ }, "strip", z.ZodTypeAny, {
3171
+ type: "netUSDChange";
3172
+ operator: ">" | ">=" | "<" | "<=" | "==";
3173
+ changeCents: number;
3174
+ }, {
3175
+ type: "netUSDChange";
3176
+ operator: ">" | ">=" | "<" | "<=" | "==";
3177
+ changeCents: number;
3178
+ }>]>, "many">;
3179
+ /**
3180
+ * Type representing a set of criteria for the sendEndUserEvmTransaction operation.
3181
+ */
3182
+ export type SendEndUserEvmTransactionCriteria = z.infer<typeof SendEndUserEvmTransactionCriteriaSchema>;
3183
+ /**
3184
+ * Schema for criteria used in SignEndUserEvmMessage operations
3185
+ */
3186
+ export declare const SignEndUserEvmMessageCriteriaSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3187
+ /** The type of criterion, must be "evmMessage" for EVM message-based rules. */
3188
+ type: z.ZodLiteral<"evmMessage">;
3189
+ /**
3190
+ * A regular expression the message is matched against.
3191
+ * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
3192
+ */
3193
+ match: z.ZodString;
3194
+ }, "strip", z.ZodTypeAny, {
3195
+ match: string;
3196
+ type: "evmMessage";
3197
+ }, {
3198
+ match: string;
3199
+ type: "evmMessage";
3200
+ }>]>, "many">;
3201
+ /**
3202
+ * Type representing a set of criteria for the signEndUserEvmMessage operation.
3203
+ */
3204
+ export type SignEndUserEvmMessageCriteria = z.infer<typeof SignEndUserEvmMessageCriteriaSchema>;
3205
+ /**
3206
+ * Schema for criteria used in SignEndUserEvmTypedData operations
3207
+ */
3208
+ export declare const SignEndUserEvmTypedDataCriteriaSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3209
+ /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */
3210
+ type: z.ZodLiteral<"evmTypedDataField">;
3211
+ /**
3212
+ * The EIP-712 type definitions for the typed data.
3213
+ * Must include at minimum the primary type being signed.
3214
+ */
3215
+ types: z.ZodObject<{
3216
+ /**
3217
+ * EIP-712 compliant map of model names to model definitions.
3218
+ */
3219
+ types: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
3220
+ name: z.ZodString;
3221
+ type: z.ZodString;
3222
+ }, "strip", z.ZodTypeAny, {
3223
+ type: string;
3224
+ name: string;
3225
+ }, {
3226
+ type: string;
3227
+ name: string;
3228
+ }>, "many">>;
3229
+ /**
3230
+ * The name of the root EIP-712 type. This value must be included in the `types` object.
3231
+ */
3232
+ primaryType: z.ZodString;
3233
+ }, "strip", z.ZodTypeAny, {
3234
+ types: Record<string, {
3235
+ type: string;
3236
+ name: string;
3237
+ }[]>;
3238
+ primaryType: string;
3239
+ }, {
3240
+ types: Record<string, {
3241
+ type: string;
3242
+ name: string;
3243
+ }[]>;
3244
+ primaryType: string;
3245
+ }>;
3246
+ /**
3247
+ * Array of conditions to apply against typed data fields.
3248
+ * Each condition specifies how to validate a specific field within the typed data.
3249
+ */
3250
+ conditions: z.ZodArray<z.ZodUnion<[z.ZodObject<{
3251
+ /**
3252
+ * Array of EVM addresses to compare against.
3253
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
3254
+ * Limited to a maximum of 300 addresses per condition.
3255
+ */
3256
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
3257
+ /**
3258
+ * The operator to use for evaluating addresses.
3259
+ * "in" checks if an address is in the provided list.
3260
+ * "not in" checks if an address is not in the provided list.
3261
+ */
3262
+ operator: z.ZodEnum<["in", "not in"]>;
3263
+ /**
3264
+ * The path to the field to compare against this criterion.
3265
+ * To reference deeply nested fields, use dot notation (e.g., "order.buyer").
3266
+ */
3267
+ path: z.ZodString;
3268
+ }, "strip", z.ZodTypeAny, {
3269
+ path: string;
3270
+ operator: "in" | "not in";
3271
+ addresses: `0x${string}`[];
3272
+ }, {
3273
+ path: string;
3274
+ operator: "in" | "not in";
3275
+ addresses: string[];
3276
+ }>, z.ZodObject<{
3277
+ /**
3278
+ * The numerical value to compare against, as a string.
3279
+ * Must contain only digits.
3280
+ */
3281
+ value: z.ZodString;
3282
+ /**
3283
+ * The comparison operator to use.
3284
+ */
3285
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
3286
+ /**
3287
+ * The path to the field to compare against this criterion.
3288
+ * To reference deeply nested fields, use dot notation (e.g., "order.price").
3289
+ */
3290
+ path: z.ZodString;
3291
+ }, "strip", z.ZodTypeAny, {
3292
+ value: string;
3293
+ path: string;
3294
+ operator: ">" | ">=" | "<" | "<=" | "==";
3295
+ }, {
3296
+ value: string;
3297
+ path: string;
3298
+ operator: ">" | ">=" | "<" | "<=" | "==";
3299
+ }>, z.ZodObject<{
3300
+ /**
3301
+ * A regular expression the string field is matched against.
3302
+ * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
3303
+ */
3304
+ match: z.ZodString;
3305
+ /**
3306
+ * The path to the field to compare against this criterion.
3307
+ * To reference deeply nested fields, use dot notation (e.g., "metadata.description").
3308
+ */
3309
+ path: z.ZodString;
3310
+ }, "strip", z.ZodTypeAny, {
3311
+ match: string;
3312
+ path: string;
3313
+ }, {
3314
+ match: string;
3315
+ path: string;
3316
+ }>]>, "many">;
3317
+ }, "strip", z.ZodTypeAny, {
3318
+ type: "evmTypedDataField";
3319
+ types: {
3320
+ types: Record<string, {
3321
+ type: string;
3322
+ name: string;
3323
+ }[]>;
3324
+ primaryType: string;
3325
+ };
3326
+ conditions: ({
3327
+ path: string;
3328
+ operator: "in" | "not in";
3329
+ addresses: `0x${string}`[];
3330
+ } | {
3331
+ value: string;
3332
+ path: string;
3333
+ operator: ">" | ">=" | "<" | "<=" | "==";
3334
+ } | {
3335
+ match: string;
3336
+ path: string;
3337
+ })[];
3338
+ }, {
3339
+ type: "evmTypedDataField";
3340
+ types: {
3341
+ types: Record<string, {
3342
+ type: string;
3343
+ name: string;
3344
+ }[]>;
3345
+ primaryType: string;
3346
+ };
3347
+ conditions: ({
3348
+ path: string;
3349
+ operator: "in" | "not in";
3350
+ addresses: string[];
3351
+ } | {
3352
+ value: string;
3353
+ path: string;
3354
+ operator: ">" | ">=" | "<" | "<=" | "==";
3355
+ } | {
3356
+ match: string;
3357
+ path: string;
3358
+ })[];
3359
+ }>, z.ZodObject<{
3360
+ /** The type of criterion, must be "evmTypedDataVerifyingContract" for verifying contract-based rules. */
3361
+ type: z.ZodLiteral<"evmTypedDataVerifyingContract">;
3362
+ /**
3363
+ * Array of EVM addresses allowed or disallowed as verifying contracts.
3364
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
3365
+ * Limited to a maximum of 300 addresses per criterion.
3366
+ */
3367
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
3368
+ /**
3369
+ * The operator to use for evaluating verifying contract addresses.
3370
+ * "in" checks if the verifying contract is in the provided list.
3371
+ * "not in" checks if the verifying contract is not in the provided list.
3372
+ */
3373
+ operator: z.ZodEnum<["in", "not in"]>;
3374
+ }, "strip", z.ZodTypeAny, {
3375
+ type: "evmTypedDataVerifyingContract";
3376
+ operator: "in" | "not in";
3377
+ addresses: `0x${string}`[];
3378
+ }, {
3379
+ type: "evmTypedDataVerifyingContract";
3380
+ operator: "in" | "not in";
3381
+ addresses: string[];
3382
+ }>]>, "many">;
3383
+ /**
3384
+ * Type representing a set of criteria for the signEndUserEvmTypedData operation.
3385
+ */
3386
+ export type SignEndUserEvmTypedDataCriteria = z.infer<typeof SignEndUserEvmTypedDataCriteriaSchema>;
3387
+ /**
3388
+ * Enum for Evm Operation types
3389
+ */
3390
+ export declare const EvmOperationEnum: z.ZodEnum<["signEvmTransaction", "sendEvmTransaction", "signEvmMessage", "signEvmTypedData", "signEvmHash", "prepareUserOperation", "sendUserOperation"]>;
3391
+ /**
3392
+ * Type representing the operations that can be governed by a policy.
3393
+ * Defines what EVM operations the policy applies to.
3394
+ */
3395
+ export type EvmOperation = z.infer<typeof EvmOperationEnum>;
3396
+ /**
3397
+ * Enum for Action types
3398
+ */
3399
+ export declare const ActionEnum: z.ZodEnum<["reject", "accept"]>;
3400
+ /**
3401
+ * Type representing the possible policy actions.
3402
+ * Determines whether matching the rule will cause a request to be accepted or rejected.
3403
+ */
3404
+ export type Action = z.infer<typeof ActionEnum>;
3405
+ /**
3406
+ * Type representing a 'signEvmTransaction' policy rule that can accept or reject specific operations
3407
+ * based on a set of criteria.
3408
+ */
3409
+ export declare const SignEvmTransactionRuleSchema: z.ZodObject<{
3410
+ /**
3411
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
3412
+ * "accept" will allow the transaction, "reject" will block it.
3413
+ */
3414
+ action: z.ZodEnum<["reject", "accept"]>;
3415
+ /**
3416
+ * The operation to which this rule applies.
3417
+ * Must be "signEvmTransaction".
3418
+ */
3419
+ operation: z.ZodLiteral<"signEvmTransaction">;
3319
3420
  /**
3320
3421
  * The set of criteria that must be matched for this rule to apply.
3321
3422
  * Must be compatible with the specified operation type.
@@ -3361,28 +3462,6 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3361
3462
  type: "evmAddress";
3362
3463
  operator: "in" | "not in";
3363
3464
  addresses: string[];
3364
- }>, z.ZodObject<{
3365
- /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
3366
- type: z.ZodLiteral<"evmNetwork">;
3367
- /**
3368
- * Array of EVM network identifiers to compare against.
3369
- * Either "base", "base-sepolia", "ethereum", "ethereum-sepolia", "avalanche", "polygon", "optimism", "arbitrum"
3370
- */
3371
- networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia", "ethereum", "ethereum-sepolia", "avalanche", "polygon", "optimism", "arbitrum"]>, "many">;
3372
- /**
3373
- * The operator to use for evaluating transaction network.
3374
- * "in" checks if a network is in the provided list.
3375
- * "not in" checks if a network is not in the provided list.
3376
- */
3377
- operator: z.ZodEnum<["in", "not in"]>;
3378
- }, "strip", z.ZodTypeAny, {
3379
- type: "evmNetwork";
3380
- operator: "in" | "not in";
3381
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
3382
- }, {
3383
- type: "evmNetwork";
3384
- operator: "in" | "not in";
3385
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
3386
3465
  }>, z.ZodObject<{
3387
3466
  /** The type of criterion, must be "evmData" for EVM transaction rules. */
3388
3467
  type: z.ZodLiteral<"evmData">;
@@ -3430,7 +3509,7 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3430
3509
  gas?: number | undefined;
3431
3510
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3432
3511
  type: z.ZodLiteral<"function">;
3433
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3512
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3434
3513
  name: z.ZodString;
3435
3514
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3436
3515
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
@@ -3461,11 +3540,7 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3461
3540
  }>, z.ZodObject<{
3462
3541
  type: z.ZodLiteral<"fallback">;
3463
3542
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
3464
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
3465
- * Array of EVM addresses allowed or disallowed as verifying contracts.
3466
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
3467
- * Limited to a maximum of 300 addresses per criterion.
3468
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
3543
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
3469
3544
  }, "strip", z.ZodTypeAny, {
3470
3545
  type: "fallback";
3471
3546
  stateMutability: "nonpayable" | "payable";
@@ -3673,7 +3748,7 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3673
3748
  }>]>, "many">;
3674
3749
  }, "strip", z.ZodTypeAny, {
3675
3750
  action: "reject" | "accept";
3676
- operation: "sendEvmTransaction";
3751
+ operation: "signEvmTransaction";
3677
3752
  criteria: ({
3678
3753
  ethValue: string;
3679
3754
  type: "ethValue";
@@ -3682,10 +3757,6 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3682
3757
  type: "evmAddress";
3683
3758
  operator: "in" | "not in";
3684
3759
  addresses: `0x${string}`[];
3685
- } | {
3686
- type: "evmNetwork";
3687
- operator: "in" | "not in";
3688
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
3689
3760
  } | {
3690
3761
  type: "netUSDChange";
3691
3762
  operator: ">" | ">=" | "<" | "<=" | "==";
@@ -3738,7 +3809,7 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3738
3809
  })[];
3739
3810
  }, {
3740
3811
  action: "reject" | "accept";
3741
- operation: "sendEvmTransaction";
3812
+ operation: "signEvmTransaction";
3742
3813
  criteria: ({
3743
3814
  ethValue: string;
3744
3815
  type: "ethValue";
@@ -3747,10 +3818,6 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3747
3818
  type: "evmAddress";
3748
3819
  operator: "in" | "not in";
3749
3820
  addresses: string[];
3750
- } | {
3751
- type: "evmNetwork";
3752
- operator: "in" | "not in";
3753
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
3754
3821
  } | {
3755
3822
  type: "netUSDChange";
3756
3823
  operator: ">" | ">=" | "<" | "<=" | "==";
@@ -3772,138 +3839,1817 @@ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
3772
3839
  }[];
3773
3840
  })[];
3774
3841
  }>;
3775
- export type SendEvmTransactionRule = z.infer<typeof SendEvmTransactionRuleSchema>;
3842
+ export type SignEvmTransactionRule = z.infer<typeof SignEvmTransactionRuleSchema>;
3776
3843
  /**
3777
- * Type representing a 'prepareUserOperation' policy rule that can accept or reject specific operations
3844
+ * Type representing a 'signEvmHash' policy rule that can accept or reject specific operations
3778
3845
  * based on a set of criteria.
3779
3846
  */
3780
- export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
3847
+ export declare const SignEvmHashRuleSchema: z.ZodObject<{
3781
3848
  /**
3782
3849
  * Determines whether matching the rule will cause a request to be rejected or accepted.
3783
- * "accept" will allow the operation, "reject" will block it.
3850
+ * "accept" will allow the signing, "reject" will block it.
3784
3851
  */
3785
3852
  action: z.ZodEnum<["reject", "accept"]>;
3786
3853
  /**
3787
3854
  * The operation to which this rule applies.
3788
- * Must be "prepareUserOperation".
3855
+ * Must be "signEvmHash".
3789
3856
  */
3790
- operation: z.ZodLiteral<"prepareUserOperation">;
3857
+ operation: z.ZodLiteral<"signEvmHash">;
3858
+ }, "strip", z.ZodTypeAny, {
3859
+ action: "reject" | "accept";
3860
+ operation: "signEvmHash";
3861
+ }, {
3862
+ action: "reject" | "accept";
3863
+ operation: "signEvmHash";
3864
+ }>;
3865
+ export type SignEvmHashRule = z.infer<typeof SignEvmHashRuleSchema>;
3866
+ /**
3867
+ * Type representing a 'signEvmMessage' policy rule that can accept or reject specific operations
3868
+ * based on a set of criteria.
3869
+ */
3870
+ export declare const SignEvmMessageRuleSchema: z.ZodObject<{
3871
+ /**
3872
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
3873
+ * "accept" will allow the signing, "reject" will block it.
3874
+ */
3875
+ action: z.ZodEnum<["reject", "accept"]>;
3876
+ /**
3877
+ * The operation to which this rule applies.
3878
+ * Must be "signEvmMessage".
3879
+ */
3880
+ operation: z.ZodLiteral<"signEvmMessage">;
3791
3881
  /**
3792
3882
  * The set of criteria that must be matched for this rule to apply.
3793
3883
  * Must be compatible with the specified operation type.
3794
3884
  */
3795
3885
  criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3796
- /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
3797
- type: z.ZodLiteral<"ethValue">;
3798
- /**
3799
- * The ETH value amount in wei to compare against, as a string.
3800
- * Must contain only digits.
3801
- */
3802
- ethValue: z.ZodString;
3803
- /** The comparison operator to use for evaluating transaction values against the threshold. */
3804
- operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
3805
- }, "strip", z.ZodTypeAny, {
3806
- ethValue: string;
3807
- type: "ethValue";
3808
- operator: ">" | ">=" | "<" | "<=" | "==";
3809
- }, {
3810
- ethValue: string;
3811
- type: "ethValue";
3812
- operator: ">" | ">=" | "<" | "<=" | "==";
3813
- }>, z.ZodObject<{
3814
- /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
3815
- type: z.ZodLiteral<"evmAddress">;
3816
- /**
3817
- * Array of EVM addresses to compare against.
3818
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
3819
- * Limited to a maximum of 300 addresses per criterion.
3820
- */
3821
- addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
3886
+ /** The type of criterion, must be "evmMessage" for EVM message-based rules. */
3887
+ type: z.ZodLiteral<"evmMessage">;
3822
3888
  /**
3823
- * The operator to use for evaluating transaction addresses.
3824
- * "in" checks if an address is in the provided list.
3825
- * "not in" checks if an address is not in the provided list.
3889
+ * A regular expression the message is matched against.
3890
+ * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
3826
3891
  */
3827
- operator: z.ZodEnum<["in", "not in"]>;
3892
+ match: z.ZodString;
3828
3893
  }, "strip", z.ZodTypeAny, {
3829
- type: "evmAddress";
3830
- operator: "in" | "not in";
3831
- addresses: `0x${string}`[];
3894
+ match: string;
3895
+ type: "evmMessage";
3832
3896
  }, {
3833
- type: "evmAddress";
3834
- operator: "in" | "not in";
3835
- addresses: string[];
3836
- }>, z.ZodObject<{
3837
- /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
3838
- type: z.ZodLiteral<"evmNetwork">;
3839
- /**
3840
- * Array of EVM network identifiers to compare against.
3841
- * Either "base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"
3842
- */
3843
- networks: z.ZodArray<z.ZodEnum<["base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"]>, "many">;
3897
+ match: string;
3898
+ type: "evmMessage";
3899
+ }>]>, "many">;
3900
+ }, "strip", z.ZodTypeAny, {
3901
+ action: "reject" | "accept";
3902
+ operation: "signEvmMessage";
3903
+ criteria: {
3904
+ match: string;
3905
+ type: "evmMessage";
3906
+ }[];
3907
+ }, {
3908
+ action: "reject" | "accept";
3909
+ operation: "signEvmMessage";
3910
+ criteria: {
3911
+ match: string;
3912
+ type: "evmMessage";
3913
+ }[];
3914
+ }>;
3915
+ export type SignEvmMessageRule = z.infer<typeof SignEvmMessageRuleSchema>;
3916
+ /**
3917
+ * Type representing a 'signEvmTypedData' policy rule that can accept or reject specific operations
3918
+ * based on a set of criteria.
3919
+ */
3920
+ export declare const SignEvmTypedDataRuleSchema: z.ZodObject<{
3921
+ /**
3922
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
3923
+ * "accept" will allow the signing, "reject" will block it.
3924
+ */
3925
+ action: z.ZodEnum<["reject", "accept"]>;
3926
+ /**
3927
+ * The operation to which this rule applies.
3928
+ * Must be "signEvmTypedData".
3929
+ */
3930
+ operation: z.ZodLiteral<"signEvmTypedData">;
3931
+ /**
3932
+ * The set of criteria that must be matched for this rule to apply.
3933
+ * Must be compatible with the specified operation type.
3934
+ */
3935
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3936
+ /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */
3937
+ type: z.ZodLiteral<"evmTypedDataField">;
3844
3938
  /**
3845
- * The operator to use for evaluating transaction network.
3846
- * "in" checks if a network is in the provided list.
3847
- * "not in" checks if a network is not in the provided list.
3939
+ * The EIP-712 type definitions for the typed data.
3940
+ * Must include at minimum the primary type being signed.
3848
3941
  */
3849
- operator: z.ZodEnum<["in", "not in"]>;
3850
- }, "strip", z.ZodTypeAny, {
3851
- type: "evmNetwork";
3852
- operator: "in" | "not in";
3853
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
3854
- }, {
3855
- type: "evmNetwork";
3856
- operator: "in" | "not in";
3857
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
3858
- }>, z.ZodObject<{
3859
- /** The type of criterion, must be "evmData" for EVM transaction rules. */
3860
- type: z.ZodLiteral<"evmData">;
3942
+ types: z.ZodObject<{
3943
+ /**
3944
+ * EIP-712 compliant map of model names to model definitions.
3945
+ */
3946
+ types: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
3947
+ name: z.ZodString;
3948
+ type: z.ZodString;
3949
+ }, "strip", z.ZodTypeAny, {
3950
+ type: string;
3951
+ name: string;
3952
+ }, {
3953
+ type: string;
3954
+ name: string;
3955
+ }>, "many">>;
3956
+ /**
3957
+ * The name of the root EIP-712 type. This value must be included in the `types` object.
3958
+ */
3959
+ primaryType: z.ZodString;
3960
+ }, "strip", z.ZodTypeAny, {
3961
+ types: Record<string, {
3962
+ type: string;
3963
+ name: string;
3964
+ }[]>;
3965
+ primaryType: string;
3966
+ }, {
3967
+ types: Record<string, {
3968
+ type: string;
3969
+ name: string;
3970
+ }[]>;
3971
+ primaryType: string;
3972
+ }>;
3861
3973
  /**
3862
- * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
3974
+ * Array of conditions to apply against typed data fields.
3975
+ * Each condition specifies how to validate a specific field within the typed data.
3863
3976
  */
3864
- abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
3865
- type: z.ZodLiteral<"error">;
3866
- inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3867
- name: z.ZodString;
3977
+ conditions: z.ZodArray<z.ZodUnion<[z.ZodObject<{
3978
+ /**
3979
+ * Array of EVM addresses to compare against.
3980
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
3981
+ * Limited to a maximum of 300 addresses per condition.
3982
+ */
3983
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
3984
+ /**
3985
+ * The operator to use for evaluating addresses.
3986
+ * "in" checks if an address is in the provided list.
3987
+ * "not in" checks if an address is not in the provided list.
3988
+ */
3989
+ operator: z.ZodEnum<["in", "not in"]>;
3990
+ /**
3991
+ * The path to the field to compare against this criterion.
3992
+ * To reference deeply nested fields, use dot notation (e.g., "order.buyer").
3993
+ */
3994
+ path: z.ZodString;
3868
3995
  }, "strip", z.ZodTypeAny, {
3869
- inputs: readonly import("abitype").AbiParameter[];
3870
- type: "error";
3871
- name: string;
3996
+ path: string;
3997
+ operator: "in" | "not in";
3998
+ addresses: `0x${string}`[];
3872
3999
  }, {
3873
- inputs: readonly import("abitype").AbiParameter[];
3874
- type: "error";
3875
- name: string;
4000
+ path: string;
4001
+ operator: "in" | "not in";
4002
+ addresses: string[];
3876
4003
  }>, z.ZodObject<{
3877
- type: z.ZodLiteral<"event">;
3878
- anonymous: z.ZodOptional<z.ZodBoolean>;
3879
- inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
3880
- name: z.ZodString;
3881
- }, "strip", z.ZodTypeAny, {
3882
- inputs: readonly import("abitype").AbiEventParameter[];
3883
- type: "event";
3884
- name: string;
3885
- anonymous?: boolean | undefined;
3886
- }, {
3887
- inputs: readonly import("abitype").AbiEventParameter[];
3888
- type: "event";
3889
- name: string;
3890
- anonymous?: boolean | undefined;
3891
- }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
3892
- constant: z.ZodOptional<z.ZodBoolean>;
3893
- gas: z.ZodOptional<z.ZodNumber>;
3894
- payable: z.ZodOptional<z.ZodBoolean>;
4004
+ /**
4005
+ * The numerical value to compare against, as a string.
4006
+ * Must contain only digits.
4007
+ */
4008
+ value: z.ZodString;
4009
+ /**
4010
+ * The comparison operator to use.
4011
+ */
4012
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4013
+ /**
4014
+ * The path to the field to compare against this criterion.
4015
+ * To reference deeply nested fields, use dot notation (e.g., "order.price").
4016
+ */
4017
+ path: z.ZodString;
3895
4018
  }, "strip", z.ZodTypeAny, {
3896
- payable?: boolean | undefined;
3897
- constant?: boolean | undefined;
3898
- gas?: number | undefined;
4019
+ value: string;
4020
+ path: string;
4021
+ operator: ">" | ">=" | "<" | "<=" | "==";
3899
4022
  }, {
3900
- payable?: boolean | undefined;
3901
- constant?: boolean | undefined;
3902
- gas?: number | undefined;
3903
- }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3904
- type: z.ZodLiteral<"function">;
3905
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3906
- name: z.ZodString;
4023
+ value: string;
4024
+ path: string;
4025
+ operator: ">" | ">=" | "<" | "<=" | "==";
4026
+ }>, z.ZodObject<{
4027
+ /**
4028
+ * A regular expression the string field is matched against.
4029
+ * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
4030
+ */
4031
+ match: z.ZodString;
4032
+ /**
4033
+ * The path to the field to compare against this criterion.
4034
+ * To reference deeply nested fields, use dot notation (e.g., "metadata.description").
4035
+ */
4036
+ path: z.ZodString;
4037
+ }, "strip", z.ZodTypeAny, {
4038
+ match: string;
4039
+ path: string;
4040
+ }, {
4041
+ match: string;
4042
+ path: string;
4043
+ }>]>, "many">;
4044
+ }, "strip", z.ZodTypeAny, {
4045
+ type: "evmTypedDataField";
4046
+ types: {
4047
+ types: Record<string, {
4048
+ type: string;
4049
+ name: string;
4050
+ }[]>;
4051
+ primaryType: string;
4052
+ };
4053
+ conditions: ({
4054
+ path: string;
4055
+ operator: "in" | "not in";
4056
+ addresses: `0x${string}`[];
4057
+ } | {
4058
+ value: string;
4059
+ path: string;
4060
+ operator: ">" | ">=" | "<" | "<=" | "==";
4061
+ } | {
4062
+ match: string;
4063
+ path: string;
4064
+ })[];
4065
+ }, {
4066
+ type: "evmTypedDataField";
4067
+ types: {
4068
+ types: Record<string, {
4069
+ type: string;
4070
+ name: string;
4071
+ }[]>;
4072
+ primaryType: string;
4073
+ };
4074
+ conditions: ({
4075
+ path: string;
4076
+ operator: "in" | "not in";
4077
+ addresses: string[];
4078
+ } | {
4079
+ value: string;
4080
+ path: string;
4081
+ operator: ">" | ">=" | "<" | "<=" | "==";
4082
+ } | {
4083
+ match: string;
4084
+ path: string;
4085
+ })[];
4086
+ }>, z.ZodObject<{
4087
+ /** The type of criterion, must be "evmTypedDataVerifyingContract" for verifying contract-based rules. */
4088
+ type: z.ZodLiteral<"evmTypedDataVerifyingContract">;
4089
+ /**
4090
+ * Array of EVM addresses allowed or disallowed as verifying contracts.
4091
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
4092
+ * Limited to a maximum of 300 addresses per criterion.
4093
+ */
4094
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
4095
+ /**
4096
+ * The operator to use for evaluating verifying contract addresses.
4097
+ * "in" checks if the verifying contract is in the provided list.
4098
+ * "not in" checks if the verifying contract is not in the provided list.
4099
+ */
4100
+ operator: z.ZodEnum<["in", "not in"]>;
4101
+ }, "strip", z.ZodTypeAny, {
4102
+ type: "evmTypedDataVerifyingContract";
4103
+ operator: "in" | "not in";
4104
+ addresses: `0x${string}`[];
4105
+ }, {
4106
+ type: "evmTypedDataVerifyingContract";
4107
+ operator: "in" | "not in";
4108
+ addresses: string[];
4109
+ }>]>, "many">;
4110
+ }, "strip", z.ZodTypeAny, {
4111
+ action: "reject" | "accept";
4112
+ operation: "signEvmTypedData";
4113
+ criteria: ({
4114
+ type: "evmTypedDataField";
4115
+ types: {
4116
+ types: Record<string, {
4117
+ type: string;
4118
+ name: string;
4119
+ }[]>;
4120
+ primaryType: string;
4121
+ };
4122
+ conditions: ({
4123
+ path: string;
4124
+ operator: "in" | "not in";
4125
+ addresses: `0x${string}`[];
4126
+ } | {
4127
+ value: string;
4128
+ path: string;
4129
+ operator: ">" | ">=" | "<" | "<=" | "==";
4130
+ } | {
4131
+ match: string;
4132
+ path: string;
4133
+ })[];
4134
+ } | {
4135
+ type: "evmTypedDataVerifyingContract";
4136
+ operator: "in" | "not in";
4137
+ addresses: `0x${string}`[];
4138
+ })[];
4139
+ }, {
4140
+ action: "reject" | "accept";
4141
+ operation: "signEvmTypedData";
4142
+ criteria: ({
4143
+ type: "evmTypedDataField";
4144
+ types: {
4145
+ types: Record<string, {
4146
+ type: string;
4147
+ name: string;
4148
+ }[]>;
4149
+ primaryType: string;
4150
+ };
4151
+ conditions: ({
4152
+ path: string;
4153
+ operator: "in" | "not in";
4154
+ addresses: string[];
4155
+ } | {
4156
+ value: string;
4157
+ path: string;
4158
+ operator: ">" | ">=" | "<" | "<=" | "==";
4159
+ } | {
4160
+ match: string;
4161
+ path: string;
4162
+ })[];
4163
+ } | {
4164
+ type: "evmTypedDataVerifyingContract";
4165
+ operator: "in" | "not in";
4166
+ addresses: string[];
4167
+ })[];
4168
+ }>;
4169
+ export type SignEvmTypedDataRule = z.infer<typeof SignEvmTypedDataRuleSchema>;
4170
+ /**
4171
+ * Type representing a 'sendEvmTransaction' policy rule that can accept or reject specific operations
4172
+ * based on a set of criteria.
4173
+ */
4174
+ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
4175
+ /**
4176
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
4177
+ * "accept" will allow the transaction, "reject" will block it.
4178
+ */
4179
+ action: z.ZodEnum<["reject", "accept"]>;
4180
+ /**
4181
+ * The operation to which this rule applies.
4182
+ * Must be "sendEvmTransaction".
4183
+ */
4184
+ operation: z.ZodLiteral<"sendEvmTransaction">;
4185
+ /**
4186
+ * The set of criteria that must be matched for this rule to apply.
4187
+ * Must be compatible with the specified operation type.
4188
+ */
4189
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4190
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
4191
+ type: z.ZodLiteral<"ethValue">;
4192
+ /**
4193
+ * The ETH value amount in wei to compare against, as a string.
4194
+ * Must contain only digits.
4195
+ */
4196
+ ethValue: z.ZodString;
4197
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
4198
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4199
+ }, "strip", z.ZodTypeAny, {
4200
+ ethValue: string;
4201
+ type: "ethValue";
4202
+ operator: ">" | ">=" | "<" | "<=" | "==";
4203
+ }, {
4204
+ ethValue: string;
4205
+ type: "ethValue";
4206
+ operator: ">" | ">=" | "<" | "<=" | "==";
4207
+ }>, z.ZodObject<{
4208
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
4209
+ type: z.ZodLiteral<"evmAddress">;
4210
+ /**
4211
+ * Array of EVM addresses to compare against.
4212
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
4213
+ * Limited to a maximum of 300 addresses per criterion.
4214
+ */
4215
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
4216
+ /**
4217
+ * The operator to use for evaluating transaction addresses.
4218
+ * "in" checks if an address is in the provided list.
4219
+ * "not in" checks if an address is not in the provided list.
4220
+ */
4221
+ operator: z.ZodEnum<["in", "not in"]>;
4222
+ }, "strip", z.ZodTypeAny, {
4223
+ type: "evmAddress";
4224
+ operator: "in" | "not in";
4225
+ addresses: `0x${string}`[];
4226
+ }, {
4227
+ type: "evmAddress";
4228
+ operator: "in" | "not in";
4229
+ addresses: string[];
4230
+ }>, z.ZodObject<{
4231
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
4232
+ type: z.ZodLiteral<"evmNetwork">;
4233
+ /**
4234
+ * Array of EVM network identifiers to compare against.
4235
+ * Either "base", "base-sepolia", "ethereum", "ethereum-sepolia", "avalanche", "polygon", "optimism", "arbitrum"
4236
+ */
4237
+ networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia", "ethereum", "ethereum-sepolia", "avalanche", "polygon", "optimism", "arbitrum"]>, "many">;
4238
+ /**
4239
+ * The operator to use for evaluating transaction network.
4240
+ * "in" checks if a network is in the provided list.
4241
+ * "not in" checks if a network is not in the provided list.
4242
+ */
4243
+ operator: z.ZodEnum<["in", "not in"]>;
4244
+ }, "strip", z.ZodTypeAny, {
4245
+ type: "evmNetwork";
4246
+ operator: "in" | "not in";
4247
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
4248
+ }, {
4249
+ type: "evmNetwork";
4250
+ operator: "in" | "not in";
4251
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
4252
+ }>, z.ZodObject<{
4253
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
4254
+ type: z.ZodLiteral<"evmData">;
4255
+ /**
4256
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
4257
+ */
4258
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
4259
+ type: z.ZodLiteral<"error">;
4260
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4261
+ name: z.ZodString;
4262
+ }, "strip", z.ZodTypeAny, {
4263
+ inputs: readonly import("abitype").AbiParameter[];
4264
+ type: "error";
4265
+ name: string;
4266
+ }, {
4267
+ inputs: readonly import("abitype").AbiParameter[];
4268
+ type: "error";
4269
+ name: string;
4270
+ }>, z.ZodObject<{
4271
+ type: z.ZodLiteral<"event">;
4272
+ anonymous: z.ZodOptional<z.ZodBoolean>;
4273
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
4274
+ name: z.ZodString;
4275
+ }, "strip", z.ZodTypeAny, {
4276
+ inputs: readonly import("abitype").AbiEventParameter[];
4277
+ type: "event";
4278
+ name: string;
4279
+ anonymous?: boolean | undefined;
4280
+ }, {
4281
+ inputs: readonly import("abitype").AbiEventParameter[];
4282
+ type: "event";
4283
+ name: string;
4284
+ anonymous?: boolean | undefined;
4285
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
4286
+ constant: z.ZodOptional<z.ZodBoolean>;
4287
+ gas: z.ZodOptional<z.ZodNumber>;
4288
+ payable: z.ZodOptional<z.ZodBoolean>;
4289
+ }, "strip", z.ZodTypeAny, {
4290
+ payable?: boolean | undefined;
4291
+ constant?: boolean | undefined;
4292
+ gas?: number | undefined;
4293
+ }, {
4294
+ payable?: boolean | undefined;
4295
+ constant?: boolean | undefined;
4296
+ gas?: number | undefined;
4297
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4298
+ type: z.ZodLiteral<"function">;
4299
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4300
+ name: z.ZodString;
4301
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4302
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
4303
+ }, "strip", z.ZodTypeAny, {
4304
+ inputs: readonly import("abitype").AbiParameter[];
4305
+ outputs: readonly import("abitype").AbiParameter[];
4306
+ type: "function";
4307
+ name: string;
4308
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4309
+ }, {
4310
+ inputs: readonly import("abitype").AbiParameter[];
4311
+ outputs: readonly import("abitype").AbiParameter[];
4312
+ type: "function";
4313
+ name: string;
4314
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4315
+ }>, z.ZodObject<{
4316
+ type: z.ZodLiteral<"constructor">;
4317
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4318
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
4319
+ }, "strip", z.ZodTypeAny, {
4320
+ inputs: readonly import("abitype").AbiParameter[];
4321
+ type: "constructor";
4322
+ stateMutability: "nonpayable" | "payable";
4323
+ }, {
4324
+ inputs: readonly import("abitype").AbiParameter[];
4325
+ type: "constructor";
4326
+ stateMutability: "nonpayable" | "payable";
4327
+ }>, z.ZodObject<{
4328
+ type: z.ZodLiteral<"fallback">;
4329
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
4330
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
4331
+ }, "strip", z.ZodTypeAny, {
4332
+ type: "fallback";
4333
+ stateMutability: "nonpayable" | "payable";
4334
+ inputs?: [] | undefined;
4335
+ }, {
4336
+ type: "fallback";
4337
+ stateMutability: "nonpayable" | "payable";
4338
+ inputs?: [] | undefined;
4339
+ }>, z.ZodObject<{
4340
+ type: z.ZodLiteral<"receive">;
4341
+ stateMutability: z.ZodLiteral<"payable">;
4342
+ }, "strip", z.ZodTypeAny, {
4343
+ type: "receive";
4344
+ stateMutability: "payable";
4345
+ }, {
4346
+ type: "receive";
4347
+ stateMutability: "payable";
4348
+ }>]>>, {
4349
+ payable?: boolean | undefined;
4350
+ constant?: boolean | undefined;
4351
+ gas?: number | undefined;
4352
+ } & ({
4353
+ inputs: readonly import("abitype").AbiParameter[];
4354
+ outputs: readonly import("abitype").AbiParameter[];
4355
+ type: "function";
4356
+ name: string;
4357
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4358
+ } | {
4359
+ inputs: readonly import("abitype").AbiParameter[];
4360
+ type: "constructor";
4361
+ stateMutability: "nonpayable" | "payable";
4362
+ } | {
4363
+ type: "fallback";
4364
+ stateMutability: "nonpayable" | "payable";
4365
+ inputs?: [] | undefined;
4366
+ } | {
4367
+ type: "receive";
4368
+ stateMutability: "payable";
4369
+ }), unknown>]>, "many">>]>;
4370
+ /**
4371
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
4372
+ * Each condition must be met in order for this policy to be accepted or rejected.
4373
+ */
4374
+ conditions: z.ZodArray<z.ZodObject<{
4375
+ /**
4376
+ * The name of a smart contract function being called.
4377
+ */
4378
+ function: z.ZodString;
4379
+ /**
4380
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
4381
+ */
4382
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
4383
+ /**
4384
+ * The name of the parameter to check against a transaction's calldata.
4385
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
4386
+ */
4387
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
4388
+ /**
4389
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
4390
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
4391
+ */
4392
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4393
+ /**
4394
+ * A single value to compare the value resolved at `name` to.
4395
+ * All values are encoded as strings. Refer to the table in the documentation for how values
4396
+ * should be encoded, and which operators are supported for each type.
4397
+ */
4398
+ value: z.ZodString;
4399
+ }, "strip", z.ZodTypeAny, {
4400
+ value: string;
4401
+ name: string;
4402
+ operator: ">" | ">=" | "<" | "<=" | "==";
4403
+ }, {
4404
+ value: string;
4405
+ name: string;
4406
+ operator: ">" | ">=" | "<" | "<=" | "==";
4407
+ }>, z.ZodObject<{
4408
+ /**
4409
+ * The name of the parameter to check against a transaction's calldata.
4410
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
4411
+ */
4412
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
4413
+ /**
4414
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
4415
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
4416
+ */
4417
+ operator: z.ZodEnum<["in", "not in"]>;
4418
+ /**
4419
+ * Values to compare against the resolved `name` value.
4420
+ * All values are encoded as strings. Refer to the table in the documentation for how values
4421
+ * should be encoded, and which operators are supported for each type.
4422
+ */
4423
+ values: z.ZodArray<z.ZodString, "many">;
4424
+ }, "strip", z.ZodTypeAny, {
4425
+ values: string[];
4426
+ name: string;
4427
+ operator: "in" | "not in";
4428
+ }, {
4429
+ values: string[];
4430
+ name: string;
4431
+ operator: "in" | "not in";
4432
+ }>]>, "many">>;
4433
+ }, "strip", z.ZodTypeAny, {
4434
+ function: string;
4435
+ params?: ({
4436
+ values: string[];
4437
+ name: string;
4438
+ operator: "in" | "not in";
4439
+ } | {
4440
+ value: string;
4441
+ name: string;
4442
+ operator: ">" | ">=" | "<" | "<=" | "==";
4443
+ })[] | undefined;
4444
+ }, {
4445
+ function: string;
4446
+ params?: ({
4447
+ values: string[];
4448
+ name: string;
4449
+ operator: "in" | "not in";
4450
+ } | {
4451
+ value: string;
4452
+ name: string;
4453
+ operator: ">" | ">=" | "<" | "<=" | "==";
4454
+ })[] | undefined;
4455
+ }>, "many">;
4456
+ }, "strip", z.ZodTypeAny, {
4457
+ type: "evmData";
4458
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4459
+ inputs: readonly import("abitype").AbiParameter[];
4460
+ type: "error";
4461
+ name: string;
4462
+ } | {
4463
+ inputs: readonly import("abitype").AbiEventParameter[];
4464
+ type: "event";
4465
+ name: string;
4466
+ anonymous?: boolean | undefined;
4467
+ } | ({
4468
+ payable?: boolean | undefined;
4469
+ constant?: boolean | undefined;
4470
+ gas?: number | undefined;
4471
+ } & ({
4472
+ inputs: readonly import("abitype").AbiParameter[];
4473
+ outputs: readonly import("abitype").AbiParameter[];
4474
+ type: "function";
4475
+ name: string;
4476
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4477
+ } | {
4478
+ inputs: readonly import("abitype").AbiParameter[];
4479
+ type: "constructor";
4480
+ stateMutability: "nonpayable" | "payable";
4481
+ } | {
4482
+ type: "fallback";
4483
+ stateMutability: "nonpayable" | "payable";
4484
+ inputs?: [] | undefined;
4485
+ } | {
4486
+ type: "receive";
4487
+ stateMutability: "payable";
4488
+ })))[];
4489
+ conditions: {
4490
+ function: string;
4491
+ params?: ({
4492
+ values: string[];
4493
+ name: string;
4494
+ operator: "in" | "not in";
4495
+ } | {
4496
+ value: string;
4497
+ name: string;
4498
+ operator: ">" | ">=" | "<" | "<=" | "==";
4499
+ })[] | undefined;
4500
+ }[];
4501
+ }, {
4502
+ type: "evmData";
4503
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4504
+ conditions: {
4505
+ function: string;
4506
+ params?: ({
4507
+ values: string[];
4508
+ name: string;
4509
+ operator: "in" | "not in";
4510
+ } | {
4511
+ value: string;
4512
+ name: string;
4513
+ operator: ">" | ">=" | "<" | "<=" | "==";
4514
+ })[] | undefined;
4515
+ }[];
4516
+ }>, z.ZodObject<{
4517
+ /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
4518
+ type: z.ZodLiteral<"netUSDChange">;
4519
+ /**
4520
+ * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
4521
+ */
4522
+ changeCents: z.ZodNumber;
4523
+ /**
4524
+ * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
4525
+ */
4526
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4527
+ }, "strip", z.ZodTypeAny, {
4528
+ type: "netUSDChange";
4529
+ operator: ">" | ">=" | "<" | "<=" | "==";
4530
+ changeCents: number;
4531
+ }, {
4532
+ type: "netUSDChange";
4533
+ operator: ">" | ">=" | "<" | "<=" | "==";
4534
+ changeCents: number;
4535
+ }>]>, "many">;
4536
+ }, "strip", z.ZodTypeAny, {
4537
+ action: "reject" | "accept";
4538
+ operation: "sendEvmTransaction";
4539
+ criteria: ({
4540
+ ethValue: string;
4541
+ type: "ethValue";
4542
+ operator: ">" | ">=" | "<" | "<=" | "==";
4543
+ } | {
4544
+ type: "evmAddress";
4545
+ operator: "in" | "not in";
4546
+ addresses: `0x${string}`[];
4547
+ } | {
4548
+ type: "evmNetwork";
4549
+ operator: "in" | "not in";
4550
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
4551
+ } | {
4552
+ type: "netUSDChange";
4553
+ operator: ">" | ">=" | "<" | "<=" | "==";
4554
+ changeCents: number;
4555
+ } | {
4556
+ type: "evmData";
4557
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4558
+ inputs: readonly import("abitype").AbiParameter[];
4559
+ type: "error";
4560
+ name: string;
4561
+ } | {
4562
+ inputs: readonly import("abitype").AbiEventParameter[];
4563
+ type: "event";
4564
+ name: string;
4565
+ anonymous?: boolean | undefined;
4566
+ } | ({
4567
+ payable?: boolean | undefined;
4568
+ constant?: boolean | undefined;
4569
+ gas?: number | undefined;
4570
+ } & ({
4571
+ inputs: readonly import("abitype").AbiParameter[];
4572
+ outputs: readonly import("abitype").AbiParameter[];
4573
+ type: "function";
4574
+ name: string;
4575
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4576
+ } | {
4577
+ inputs: readonly import("abitype").AbiParameter[];
4578
+ type: "constructor";
4579
+ stateMutability: "nonpayable" | "payable";
4580
+ } | {
4581
+ type: "fallback";
4582
+ stateMutability: "nonpayable" | "payable";
4583
+ inputs?: [] | undefined;
4584
+ } | {
4585
+ type: "receive";
4586
+ stateMutability: "payable";
4587
+ })))[];
4588
+ conditions: {
4589
+ function: string;
4590
+ params?: ({
4591
+ values: string[];
4592
+ name: string;
4593
+ operator: "in" | "not in";
4594
+ } | {
4595
+ value: string;
4596
+ name: string;
4597
+ operator: ">" | ">=" | "<" | "<=" | "==";
4598
+ })[] | undefined;
4599
+ }[];
4600
+ })[];
4601
+ }, {
4602
+ action: "reject" | "accept";
4603
+ operation: "sendEvmTransaction";
4604
+ criteria: ({
4605
+ ethValue: string;
4606
+ type: "ethValue";
4607
+ operator: ">" | ">=" | "<" | "<=" | "==";
4608
+ } | {
4609
+ type: "evmAddress";
4610
+ operator: "in" | "not in";
4611
+ addresses: string[];
4612
+ } | {
4613
+ type: "evmNetwork";
4614
+ operator: "in" | "not in";
4615
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "avalanche")[];
4616
+ } | {
4617
+ type: "netUSDChange";
4618
+ operator: ">" | ">=" | "<" | "<=" | "==";
4619
+ changeCents: number;
4620
+ } | {
4621
+ type: "evmData";
4622
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4623
+ conditions: {
4624
+ function: string;
4625
+ params?: ({
4626
+ values: string[];
4627
+ name: string;
4628
+ operator: "in" | "not in";
4629
+ } | {
4630
+ value: string;
4631
+ name: string;
4632
+ operator: ">" | ">=" | "<" | "<=" | "==";
4633
+ })[] | undefined;
4634
+ }[];
4635
+ })[];
4636
+ }>;
4637
+ export type SendEvmTransactionRule = z.infer<typeof SendEvmTransactionRuleSchema>;
4638
+ /**
4639
+ * Type representing a 'prepareUserOperation' policy rule that can accept or reject specific operations
4640
+ * based on a set of criteria.
4641
+ */
4642
+ export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
4643
+ /**
4644
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
4645
+ * "accept" will allow the operation, "reject" will block it.
4646
+ */
4647
+ action: z.ZodEnum<["reject", "accept"]>;
4648
+ /**
4649
+ * The operation to which this rule applies.
4650
+ * Must be "prepareUserOperation".
4651
+ */
4652
+ operation: z.ZodLiteral<"prepareUserOperation">;
4653
+ /**
4654
+ * The set of criteria that must be matched for this rule to apply.
4655
+ * Must be compatible with the specified operation type.
4656
+ */
4657
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4658
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
4659
+ type: z.ZodLiteral<"ethValue">;
4660
+ /**
4661
+ * The ETH value amount in wei to compare against, as a string.
4662
+ * Must contain only digits.
4663
+ */
4664
+ ethValue: z.ZodString;
4665
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
4666
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4667
+ }, "strip", z.ZodTypeAny, {
4668
+ ethValue: string;
4669
+ type: "ethValue";
4670
+ operator: ">" | ">=" | "<" | "<=" | "==";
4671
+ }, {
4672
+ ethValue: string;
4673
+ type: "ethValue";
4674
+ operator: ">" | ">=" | "<" | "<=" | "==";
4675
+ }>, z.ZodObject<{
4676
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
4677
+ type: z.ZodLiteral<"evmAddress">;
4678
+ /**
4679
+ * Array of EVM addresses to compare against.
4680
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
4681
+ * Limited to a maximum of 300 addresses per criterion.
4682
+ */
4683
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
4684
+ /**
4685
+ * The operator to use for evaluating transaction addresses.
4686
+ * "in" checks if an address is in the provided list.
4687
+ * "not in" checks if an address is not in the provided list.
4688
+ */
4689
+ operator: z.ZodEnum<["in", "not in"]>;
4690
+ }, "strip", z.ZodTypeAny, {
4691
+ type: "evmAddress";
4692
+ operator: "in" | "not in";
4693
+ addresses: `0x${string}`[];
4694
+ }, {
4695
+ type: "evmAddress";
4696
+ operator: "in" | "not in";
4697
+ addresses: string[];
4698
+ }>, z.ZodObject<{
4699
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
4700
+ type: z.ZodLiteral<"evmNetwork">;
4701
+ /**
4702
+ * Array of EVM network identifiers to compare against.
4703
+ * Either "base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"
4704
+ */
4705
+ networks: z.ZodArray<z.ZodEnum<["base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"]>, "many">;
4706
+ /**
4707
+ * The operator to use for evaluating transaction network.
4708
+ * "in" checks if a network is in the provided list.
4709
+ * "not in" checks if a network is not in the provided list.
4710
+ */
4711
+ operator: z.ZodEnum<["in", "not in"]>;
4712
+ }, "strip", z.ZodTypeAny, {
4713
+ type: "evmNetwork";
4714
+ operator: "in" | "not in";
4715
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
4716
+ }, {
4717
+ type: "evmNetwork";
4718
+ operator: "in" | "not in";
4719
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
4720
+ }>, z.ZodObject<{
4721
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
4722
+ type: z.ZodLiteral<"evmData">;
4723
+ /**
4724
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
4725
+ */
4726
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
4727
+ type: z.ZodLiteral<"error">;
4728
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4729
+ name: z.ZodString;
4730
+ }, "strip", z.ZodTypeAny, {
4731
+ inputs: readonly import("abitype").AbiParameter[];
4732
+ type: "error";
4733
+ name: string;
4734
+ }, {
4735
+ inputs: readonly import("abitype").AbiParameter[];
4736
+ type: "error";
4737
+ name: string;
4738
+ }>, z.ZodObject<{
4739
+ type: z.ZodLiteral<"event">;
4740
+ anonymous: z.ZodOptional<z.ZodBoolean>;
4741
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
4742
+ name: z.ZodString;
4743
+ }, "strip", z.ZodTypeAny, {
4744
+ inputs: readonly import("abitype").AbiEventParameter[];
4745
+ type: "event";
4746
+ name: string;
4747
+ anonymous?: boolean | undefined;
4748
+ }, {
4749
+ inputs: readonly import("abitype").AbiEventParameter[];
4750
+ type: "event";
4751
+ name: string;
4752
+ anonymous?: boolean | undefined;
4753
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
4754
+ constant: z.ZodOptional<z.ZodBoolean>;
4755
+ gas: z.ZodOptional<z.ZodNumber>;
4756
+ payable: z.ZodOptional<z.ZodBoolean>;
4757
+ }, "strip", z.ZodTypeAny, {
4758
+ payable?: boolean | undefined;
4759
+ constant?: boolean | undefined;
4760
+ gas?: number | undefined;
4761
+ }, {
4762
+ payable?: boolean | undefined;
4763
+ constant?: boolean | undefined;
4764
+ gas?: number | undefined;
4765
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4766
+ type: z.ZodLiteral<"function">;
4767
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4768
+ name: z.ZodString;
4769
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4770
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
4771
+ }, "strip", z.ZodTypeAny, {
4772
+ inputs: readonly import("abitype").AbiParameter[];
4773
+ outputs: readonly import("abitype").AbiParameter[];
4774
+ type: "function";
4775
+ name: string;
4776
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4777
+ }, {
4778
+ inputs: readonly import("abitype").AbiParameter[];
4779
+ outputs: readonly import("abitype").AbiParameter[];
4780
+ type: "function";
4781
+ name: string;
4782
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4783
+ }>, z.ZodObject<{
4784
+ type: z.ZodLiteral<"constructor">;
4785
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4786
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
4787
+ }, "strip", z.ZodTypeAny, {
4788
+ inputs: readonly import("abitype").AbiParameter[];
4789
+ type: "constructor";
4790
+ stateMutability: "nonpayable" | "payable";
4791
+ }, {
4792
+ inputs: readonly import("abitype").AbiParameter[];
4793
+ type: "constructor";
4794
+ stateMutability: "nonpayable" | "payable";
4795
+ }>, z.ZodObject<{
4796
+ type: z.ZodLiteral<"fallback">;
4797
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
4798
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
4799
+ }, "strip", z.ZodTypeAny, {
4800
+ type: "fallback";
4801
+ stateMutability: "nonpayable" | "payable";
4802
+ inputs?: [] | undefined;
4803
+ }, {
4804
+ type: "fallback";
4805
+ stateMutability: "nonpayable" | "payable";
4806
+ inputs?: [] | undefined;
4807
+ }>, z.ZodObject<{
4808
+ type: z.ZodLiteral<"receive">;
4809
+ stateMutability: z.ZodLiteral<"payable">;
4810
+ }, "strip", z.ZodTypeAny, {
4811
+ type: "receive";
4812
+ stateMutability: "payable";
4813
+ }, {
4814
+ type: "receive";
4815
+ stateMutability: "payable";
4816
+ }>]>>, {
4817
+ payable?: boolean | undefined;
4818
+ constant?: boolean | undefined;
4819
+ gas?: number | undefined;
4820
+ } & ({
4821
+ inputs: readonly import("abitype").AbiParameter[];
4822
+ outputs: readonly import("abitype").AbiParameter[];
4823
+ type: "function";
4824
+ name: string;
4825
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4826
+ } | {
4827
+ inputs: readonly import("abitype").AbiParameter[];
4828
+ type: "constructor";
4829
+ stateMutability: "nonpayable" | "payable";
4830
+ } | {
4831
+ type: "fallback";
4832
+ stateMutability: "nonpayable" | "payable";
4833
+ inputs?: [] | undefined;
4834
+ } | {
4835
+ type: "receive";
4836
+ stateMutability: "payable";
4837
+ }), unknown>]>, "many">>]>;
4838
+ /**
4839
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
4840
+ * Each condition must be met in order for this policy to be accepted or rejected.
4841
+ */
4842
+ conditions: z.ZodArray<z.ZodObject<{
4843
+ /**
4844
+ * The name of a smart contract function being called.
4845
+ */
4846
+ function: z.ZodString;
4847
+ /**
4848
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
4849
+ */
4850
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
4851
+ /**
4852
+ * The name of the parameter to check against a transaction's calldata.
4853
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
4854
+ */
4855
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
4856
+ /**
4857
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
4858
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
4859
+ */
4860
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4861
+ /**
4862
+ * A single value to compare the value resolved at `name` to.
4863
+ * All values are encoded as strings. Refer to the table in the documentation for how values
4864
+ * should be encoded, and which operators are supported for each type.
4865
+ */
4866
+ value: z.ZodString;
4867
+ }, "strip", z.ZodTypeAny, {
4868
+ value: string;
4869
+ name: string;
4870
+ operator: ">" | ">=" | "<" | "<=" | "==";
4871
+ }, {
4872
+ value: string;
4873
+ name: string;
4874
+ operator: ">" | ">=" | "<" | "<=" | "==";
4875
+ }>, z.ZodObject<{
4876
+ /**
4877
+ * The name of the parameter to check against a transaction's calldata.
4878
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
4879
+ */
4880
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
4881
+ /**
4882
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
4883
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
4884
+ */
4885
+ operator: z.ZodEnum<["in", "not in"]>;
4886
+ /**
4887
+ * Values to compare against the resolved `name` value.
4888
+ * All values are encoded as strings. Refer to the table in the documentation for how values
4889
+ * should be encoded, and which operators are supported for each type.
4890
+ */
4891
+ values: z.ZodArray<z.ZodString, "many">;
4892
+ }, "strip", z.ZodTypeAny, {
4893
+ values: string[];
4894
+ name: string;
4895
+ operator: "in" | "not in";
4896
+ }, {
4897
+ values: string[];
4898
+ name: string;
4899
+ operator: "in" | "not in";
4900
+ }>]>, "many">>;
4901
+ }, "strip", z.ZodTypeAny, {
4902
+ function: string;
4903
+ params?: ({
4904
+ values: string[];
4905
+ name: string;
4906
+ operator: "in" | "not in";
4907
+ } | {
4908
+ value: string;
4909
+ name: string;
4910
+ operator: ">" | ">=" | "<" | "<=" | "==";
4911
+ })[] | undefined;
4912
+ }, {
4913
+ function: string;
4914
+ params?: ({
4915
+ values: string[];
4916
+ name: string;
4917
+ operator: "in" | "not in";
4918
+ } | {
4919
+ value: string;
4920
+ name: string;
4921
+ operator: ">" | ">=" | "<" | "<=" | "==";
4922
+ })[] | undefined;
4923
+ }>, "many">;
4924
+ }, "strip", z.ZodTypeAny, {
4925
+ type: "evmData";
4926
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
4927
+ inputs: readonly import("abitype").AbiParameter[];
4928
+ type: "error";
4929
+ name: string;
4930
+ } | {
4931
+ inputs: readonly import("abitype").AbiEventParameter[];
4932
+ type: "event";
4933
+ name: string;
4934
+ anonymous?: boolean | undefined;
4935
+ } | ({
4936
+ payable?: boolean | undefined;
4937
+ constant?: boolean | undefined;
4938
+ gas?: number | undefined;
4939
+ } & ({
4940
+ inputs: readonly import("abitype").AbiParameter[];
4941
+ outputs: readonly import("abitype").AbiParameter[];
4942
+ type: "function";
4943
+ name: string;
4944
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
4945
+ } | {
4946
+ inputs: readonly import("abitype").AbiParameter[];
4947
+ type: "constructor";
4948
+ stateMutability: "nonpayable" | "payable";
4949
+ } | {
4950
+ type: "fallback";
4951
+ stateMutability: "nonpayable" | "payable";
4952
+ inputs?: [] | undefined;
4953
+ } | {
4954
+ type: "receive";
4955
+ stateMutability: "payable";
4956
+ })))[];
4957
+ conditions: {
4958
+ function: string;
4959
+ params?: ({
4960
+ values: string[];
4961
+ name: string;
4962
+ operator: "in" | "not in";
4963
+ } | {
4964
+ value: string;
4965
+ name: string;
4966
+ operator: ">" | ">=" | "<" | "<=" | "==";
4967
+ })[] | undefined;
4968
+ }[];
4969
+ }, {
4970
+ type: "evmData";
4971
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4972
+ conditions: {
4973
+ function: string;
4974
+ params?: ({
4975
+ values: string[];
4976
+ name: string;
4977
+ operator: "in" | "not in";
4978
+ } | {
4979
+ value: string;
4980
+ name: string;
4981
+ operator: ">" | ">=" | "<" | "<=" | "==";
4982
+ })[] | undefined;
4983
+ }[];
4984
+ }>, z.ZodObject<{
4985
+ /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
4986
+ type: z.ZodLiteral<"netUSDChange">;
4987
+ /**
4988
+ * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
4989
+ */
4990
+ changeCents: z.ZodNumber;
4991
+ /**
4992
+ * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
4993
+ */
4994
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
4995
+ }, "strip", z.ZodTypeAny, {
4996
+ type: "netUSDChange";
4997
+ operator: ">" | ">=" | "<" | "<=" | "==";
4998
+ changeCents: number;
4999
+ }, {
5000
+ type: "netUSDChange";
5001
+ operator: ">" | ">=" | "<" | "<=" | "==";
5002
+ changeCents: number;
5003
+ }>]>, "many">;
5004
+ }, "strip", z.ZodTypeAny, {
5005
+ action: "reject" | "accept";
5006
+ operation: "prepareUserOperation";
5007
+ criteria: ({
5008
+ ethValue: string;
5009
+ type: "ethValue";
5010
+ operator: ">" | ">=" | "<" | "<=" | "==";
5011
+ } | {
5012
+ type: "evmAddress";
5013
+ operator: "in" | "not in";
5014
+ addresses: `0x${string}`[];
5015
+ } | {
5016
+ type: "evmNetwork";
5017
+ operator: "in" | "not in";
5018
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
5019
+ } | {
5020
+ type: "netUSDChange";
5021
+ operator: ">" | ">=" | "<" | "<=" | "==";
5022
+ changeCents: number;
5023
+ } | {
5024
+ type: "evmData";
5025
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
5026
+ inputs: readonly import("abitype").AbiParameter[];
5027
+ type: "error";
5028
+ name: string;
5029
+ } | {
5030
+ inputs: readonly import("abitype").AbiEventParameter[];
5031
+ type: "event";
5032
+ name: string;
5033
+ anonymous?: boolean | undefined;
5034
+ } | ({
5035
+ payable?: boolean | undefined;
5036
+ constant?: boolean | undefined;
5037
+ gas?: number | undefined;
5038
+ } & ({
5039
+ inputs: readonly import("abitype").AbiParameter[];
5040
+ outputs: readonly import("abitype").AbiParameter[];
5041
+ type: "function";
5042
+ name: string;
5043
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5044
+ } | {
5045
+ inputs: readonly import("abitype").AbiParameter[];
5046
+ type: "constructor";
5047
+ stateMutability: "nonpayable" | "payable";
5048
+ } | {
5049
+ type: "fallback";
5050
+ stateMutability: "nonpayable" | "payable";
5051
+ inputs?: [] | undefined;
5052
+ } | {
5053
+ type: "receive";
5054
+ stateMutability: "payable";
5055
+ })))[];
5056
+ conditions: {
5057
+ function: string;
5058
+ params?: ({
5059
+ values: string[];
5060
+ name: string;
5061
+ operator: "in" | "not in";
5062
+ } | {
5063
+ value: string;
5064
+ name: string;
5065
+ operator: ">" | ">=" | "<" | "<=" | "==";
5066
+ })[] | undefined;
5067
+ }[];
5068
+ })[];
5069
+ }, {
5070
+ action: "reject" | "accept";
5071
+ operation: "prepareUserOperation";
5072
+ criteria: ({
5073
+ ethValue: string;
5074
+ type: "ethValue";
5075
+ operator: ">" | ">=" | "<" | "<=" | "==";
5076
+ } | {
5077
+ type: "evmAddress";
5078
+ operator: "in" | "not in";
5079
+ addresses: string[];
5080
+ } | {
5081
+ type: "evmNetwork";
5082
+ operator: "in" | "not in";
5083
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
5084
+ } | {
5085
+ type: "netUSDChange";
5086
+ operator: ">" | ">=" | "<" | "<=" | "==";
5087
+ changeCents: number;
5088
+ } | {
5089
+ type: "evmData";
5090
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
5091
+ conditions: {
5092
+ function: string;
5093
+ params?: ({
5094
+ values: string[];
5095
+ name: string;
5096
+ operator: "in" | "not in";
5097
+ } | {
5098
+ value: string;
5099
+ name: string;
5100
+ operator: ">" | ">=" | "<" | "<=" | "==";
5101
+ })[] | undefined;
5102
+ }[];
5103
+ })[];
5104
+ }>;
5105
+ export type PrepareUserOperationRule = z.infer<typeof PrepareUserOperationRuleSchema>;
5106
+ /**
5107
+ * Type representing a 'sendUserOperation' policy rule that can accept or reject specific operations
5108
+ * based on a set of criteria.
5109
+ */
5110
+ export declare const SendUserOperationRuleSchema: z.ZodObject<{
5111
+ /**
5112
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
5113
+ * "accept" will allow the operation, "reject" will block it.
5114
+ */
5115
+ action: z.ZodEnum<["reject", "accept"]>;
5116
+ /**
5117
+ * The operation to which this rule applies.
5118
+ * Must be "sendUserOperation".
5119
+ */
5120
+ operation: z.ZodLiteral<"sendUserOperation">;
5121
+ /**
5122
+ * The set of criteria that must be matched for this rule to apply.
5123
+ * Must be compatible with the specified operation type.
5124
+ */
5125
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
5126
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
5127
+ type: z.ZodLiteral<"ethValue">;
5128
+ /**
5129
+ * The ETH value amount in wei to compare against, as a string.
5130
+ * Must contain only digits.
5131
+ */
5132
+ ethValue: z.ZodString;
5133
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
5134
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
5135
+ }, "strip", z.ZodTypeAny, {
5136
+ ethValue: string;
5137
+ type: "ethValue";
5138
+ operator: ">" | ">=" | "<" | "<=" | "==";
5139
+ }, {
5140
+ ethValue: string;
5141
+ type: "ethValue";
5142
+ operator: ">" | ">=" | "<" | "<=" | "==";
5143
+ }>, z.ZodObject<{
5144
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
5145
+ type: z.ZodLiteral<"evmAddress">;
5146
+ /**
5147
+ * Array of EVM addresses to compare against.
5148
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
5149
+ * Limited to a maximum of 300 addresses per criterion.
5150
+ */
5151
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
5152
+ /**
5153
+ * The operator to use for evaluating transaction addresses.
5154
+ * "in" checks if an address is in the provided list.
5155
+ * "not in" checks if an address is not in the provided list.
5156
+ */
5157
+ operator: z.ZodEnum<["in", "not in"]>;
5158
+ }, "strip", z.ZodTypeAny, {
5159
+ type: "evmAddress";
5160
+ operator: "in" | "not in";
5161
+ addresses: `0x${string}`[];
5162
+ }, {
5163
+ type: "evmAddress";
5164
+ operator: "in" | "not in";
5165
+ addresses: string[];
5166
+ }>, z.ZodObject<{
5167
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
5168
+ type: z.ZodLiteral<"evmData">;
5169
+ /**
5170
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
5171
+ */
5172
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
5173
+ type: z.ZodLiteral<"error">;
5174
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5175
+ name: z.ZodString;
5176
+ }, "strip", z.ZodTypeAny, {
5177
+ inputs: readonly import("abitype").AbiParameter[];
5178
+ type: "error";
5179
+ name: string;
5180
+ }, {
5181
+ inputs: readonly import("abitype").AbiParameter[];
5182
+ type: "error";
5183
+ name: string;
5184
+ }>, z.ZodObject<{
5185
+ type: z.ZodLiteral<"event">;
5186
+ anonymous: z.ZodOptional<z.ZodBoolean>;
5187
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
5188
+ name: z.ZodString;
5189
+ }, "strip", z.ZodTypeAny, {
5190
+ inputs: readonly import("abitype").AbiEventParameter[];
5191
+ type: "event";
5192
+ name: string;
5193
+ anonymous?: boolean | undefined;
5194
+ }, {
5195
+ inputs: readonly import("abitype").AbiEventParameter[];
5196
+ type: "event";
5197
+ name: string;
5198
+ anonymous?: boolean | undefined;
5199
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
5200
+ constant: z.ZodOptional<z.ZodBoolean>;
5201
+ gas: z.ZodOptional<z.ZodNumber>;
5202
+ payable: z.ZodOptional<z.ZodBoolean>;
5203
+ }, "strip", z.ZodTypeAny, {
5204
+ payable?: boolean | undefined;
5205
+ constant?: boolean | undefined;
5206
+ gas?: number | undefined;
5207
+ }, {
5208
+ payable?: boolean | undefined;
5209
+ constant?: boolean | undefined;
5210
+ gas?: number | undefined;
5211
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
5212
+ type: z.ZodLiteral<"function">;
5213
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5214
+ name: z.ZodString;
5215
+ outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5216
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
5217
+ }, "strip", z.ZodTypeAny, {
5218
+ inputs: readonly import("abitype").AbiParameter[];
5219
+ outputs: readonly import("abitype").AbiParameter[];
5220
+ type: "function";
5221
+ name: string;
5222
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5223
+ }, {
5224
+ inputs: readonly import("abitype").AbiParameter[];
5225
+ outputs: readonly import("abitype").AbiParameter[];
5226
+ type: "function";
5227
+ name: string;
5228
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5229
+ }>, z.ZodObject<{
5230
+ type: z.ZodLiteral<"constructor">;
5231
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5232
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
5233
+ }, "strip", z.ZodTypeAny, {
5234
+ inputs: readonly import("abitype").AbiParameter[];
5235
+ type: "constructor";
5236
+ stateMutability: "nonpayable" | "payable";
5237
+ }, {
5238
+ inputs: readonly import("abitype").AbiParameter[];
5239
+ type: "constructor";
5240
+ stateMutability: "nonpayable" | "payable";
5241
+ }>, z.ZodObject<{
5242
+ type: z.ZodLiteral<"fallback">;
5243
+ inputs: z.ZodOptional<z.ZodTuple<[], null>>;
5244
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
5245
+ }, "strip", z.ZodTypeAny, {
5246
+ type: "fallback";
5247
+ stateMutability: "nonpayable" | "payable";
5248
+ inputs?: [] | undefined;
5249
+ }, {
5250
+ type: "fallback";
5251
+ stateMutability: "nonpayable" | "payable";
5252
+ inputs?: [] | undefined;
5253
+ }>, z.ZodObject<{
5254
+ type: z.ZodLiteral<"receive">;
5255
+ stateMutability: z.ZodLiteral<"payable">;
5256
+ }, "strip", z.ZodTypeAny, {
5257
+ type: "receive";
5258
+ stateMutability: "payable";
5259
+ }, {
5260
+ type: "receive";
5261
+ stateMutability: "payable";
5262
+ }>]>>, {
5263
+ payable?: boolean | undefined;
5264
+ constant?: boolean | undefined;
5265
+ gas?: number | undefined;
5266
+ } & ({
5267
+ inputs: readonly import("abitype").AbiParameter[];
5268
+ outputs: readonly import("abitype").AbiParameter[];
5269
+ type: "function";
5270
+ name: string;
5271
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5272
+ } | {
5273
+ inputs: readonly import("abitype").AbiParameter[];
5274
+ type: "constructor";
5275
+ stateMutability: "nonpayable" | "payable";
5276
+ } | {
5277
+ type: "fallback";
5278
+ stateMutability: "nonpayable" | "payable";
5279
+ inputs?: [] | undefined;
5280
+ } | {
5281
+ type: "receive";
5282
+ stateMutability: "payable";
5283
+ }), unknown>]>, "many">>]>;
5284
+ /**
5285
+ * A list of conditions to apply against the function and encoded arguments in the transaction's `data` field.
5286
+ * Each condition must be met in order for this policy to be accepted or rejected.
5287
+ */
5288
+ conditions: z.ZodArray<z.ZodObject<{
5289
+ /**
5290
+ * The name of a smart contract function being called.
5291
+ */
5292
+ function: z.ZodString;
5293
+ /**
5294
+ * An optional list of parameter conditions to apply against encoded arguments in the transaction's `data` field.
5295
+ */
5296
+ params: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
5297
+ /**
5298
+ * The name of the parameter to check against a transaction's calldata.
5299
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
5300
+ */
5301
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
5302
+ /**
5303
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
5304
+ * left-hand side of the operator, and the `value` field will be on the right-hand side.
5305
+ */
5306
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
5307
+ /**
5308
+ * A single value to compare the value resolved at `name` to.
5309
+ * All values are encoded as strings. Refer to the table in the documentation for how values
5310
+ * should be encoded, and which operators are supported for each type.
5311
+ */
5312
+ value: z.ZodString;
5313
+ }, "strip", z.ZodTypeAny, {
5314
+ value: string;
5315
+ name: string;
5316
+ operator: ">" | ">=" | "<" | "<=" | "==";
5317
+ }, {
5318
+ value: string;
5319
+ name: string;
5320
+ operator: ">" | ">=" | "<" | "<=" | "==";
5321
+ }>, z.ZodObject<{
5322
+ /**
5323
+ * The name of the parameter to check against a transaction's calldata.
5324
+ * If name is unknown, or is not named, you may supply an array index, e.g., `0` for first parameter.
5325
+ */
5326
+ name: z.ZodUnion<[z.ZodString, z.ZodString]>;
5327
+ /**
5328
+ * The operator to use for the comparison. The value resolved at the `name` will be on the
5329
+ * left-hand side of the operator, and the `values` field will be on the right-hand side.
5330
+ */
5331
+ operator: z.ZodEnum<["in", "not in"]>;
5332
+ /**
5333
+ * Values to compare against the resolved `name` value.
5334
+ * All values are encoded as strings. Refer to the table in the documentation for how values
5335
+ * should be encoded, and which operators are supported for each type.
5336
+ */
5337
+ values: z.ZodArray<z.ZodString, "many">;
5338
+ }, "strip", z.ZodTypeAny, {
5339
+ values: string[];
5340
+ name: string;
5341
+ operator: "in" | "not in";
5342
+ }, {
5343
+ values: string[];
5344
+ name: string;
5345
+ operator: "in" | "not in";
5346
+ }>]>, "many">>;
5347
+ }, "strip", z.ZodTypeAny, {
5348
+ function: string;
5349
+ params?: ({
5350
+ values: string[];
5351
+ name: string;
5352
+ operator: "in" | "not in";
5353
+ } | {
5354
+ value: string;
5355
+ name: string;
5356
+ operator: ">" | ">=" | "<" | "<=" | "==";
5357
+ })[] | undefined;
5358
+ }, {
5359
+ function: string;
5360
+ params?: ({
5361
+ values: string[];
5362
+ name: string;
5363
+ operator: "in" | "not in";
5364
+ } | {
5365
+ value: string;
5366
+ name: string;
5367
+ operator: ">" | ">=" | "<" | "<=" | "==";
5368
+ })[] | undefined;
5369
+ }>, "many">;
5370
+ }, "strip", z.ZodTypeAny, {
5371
+ type: "evmData";
5372
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
5373
+ inputs: readonly import("abitype").AbiParameter[];
5374
+ type: "error";
5375
+ name: string;
5376
+ } | {
5377
+ inputs: readonly import("abitype").AbiEventParameter[];
5378
+ type: "event";
5379
+ name: string;
5380
+ anonymous?: boolean | undefined;
5381
+ } | ({
5382
+ payable?: boolean | undefined;
5383
+ constant?: boolean | undefined;
5384
+ gas?: number | undefined;
5385
+ } & ({
5386
+ inputs: readonly import("abitype").AbiParameter[];
5387
+ outputs: readonly import("abitype").AbiParameter[];
5388
+ type: "function";
5389
+ name: string;
5390
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5391
+ } | {
5392
+ inputs: readonly import("abitype").AbiParameter[];
5393
+ type: "constructor";
5394
+ stateMutability: "nonpayable" | "payable";
5395
+ } | {
5396
+ type: "fallback";
5397
+ stateMutability: "nonpayable" | "payable";
5398
+ inputs?: [] | undefined;
5399
+ } | {
5400
+ type: "receive";
5401
+ stateMutability: "payable";
5402
+ })))[];
5403
+ conditions: {
5404
+ function: string;
5405
+ params?: ({
5406
+ values: string[];
5407
+ name: string;
5408
+ operator: "in" | "not in";
5409
+ } | {
5410
+ value: string;
5411
+ name: string;
5412
+ operator: ">" | ">=" | "<" | "<=" | "==";
5413
+ })[] | undefined;
5414
+ }[];
5415
+ }, {
5416
+ type: "evmData";
5417
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
5418
+ conditions: {
5419
+ function: string;
5420
+ params?: ({
5421
+ values: string[];
5422
+ name: string;
5423
+ operator: "in" | "not in";
5424
+ } | {
5425
+ value: string;
5426
+ name: string;
5427
+ operator: ">" | ">=" | "<" | "<=" | "==";
5428
+ })[] | undefined;
5429
+ }[];
5430
+ }>, z.ZodObject<{
5431
+ /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
5432
+ type: z.ZodLiteral<"netUSDChange">;
5433
+ /**
5434
+ * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
5435
+ */
5436
+ changeCents: z.ZodNumber;
5437
+ /**
5438
+ * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
5439
+ */
5440
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
5441
+ }, "strip", z.ZodTypeAny, {
5442
+ type: "netUSDChange";
5443
+ operator: ">" | ">=" | "<" | "<=" | "==";
5444
+ changeCents: number;
5445
+ }, {
5446
+ type: "netUSDChange";
5447
+ operator: ">" | ">=" | "<" | "<=" | "==";
5448
+ changeCents: number;
5449
+ }>]>, "many">;
5450
+ }, "strip", z.ZodTypeAny, {
5451
+ action: "reject" | "accept";
5452
+ operation: "sendUserOperation";
5453
+ criteria: ({
5454
+ ethValue: string;
5455
+ type: "ethValue";
5456
+ operator: ">" | ">=" | "<" | "<=" | "==";
5457
+ } | {
5458
+ type: "evmAddress";
5459
+ operator: "in" | "not in";
5460
+ addresses: `0x${string}`[];
5461
+ } | {
5462
+ type: "netUSDChange";
5463
+ operator: ">" | ">=" | "<" | "<=" | "==";
5464
+ changeCents: number;
5465
+ } | {
5466
+ type: "evmData";
5467
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
5468
+ inputs: readonly import("abitype").AbiParameter[];
5469
+ type: "error";
5470
+ name: string;
5471
+ } | {
5472
+ inputs: readonly import("abitype").AbiEventParameter[];
5473
+ type: "event";
5474
+ name: string;
5475
+ anonymous?: boolean | undefined;
5476
+ } | ({
5477
+ payable?: boolean | undefined;
5478
+ constant?: boolean | undefined;
5479
+ gas?: number | undefined;
5480
+ } & ({
5481
+ inputs: readonly import("abitype").AbiParameter[];
5482
+ outputs: readonly import("abitype").AbiParameter[];
5483
+ type: "function";
5484
+ name: string;
5485
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
5486
+ } | {
5487
+ inputs: readonly import("abitype").AbiParameter[];
5488
+ type: "constructor";
5489
+ stateMutability: "nonpayable" | "payable";
5490
+ } | {
5491
+ type: "fallback";
5492
+ stateMutability: "nonpayable" | "payable";
5493
+ inputs?: [] | undefined;
5494
+ } | {
5495
+ type: "receive";
5496
+ stateMutability: "payable";
5497
+ })))[];
5498
+ conditions: {
5499
+ function: string;
5500
+ params?: ({
5501
+ values: string[];
5502
+ name: string;
5503
+ operator: "in" | "not in";
5504
+ } | {
5505
+ value: string;
5506
+ name: string;
5507
+ operator: ">" | ">=" | "<" | "<=" | "==";
5508
+ })[] | undefined;
5509
+ }[];
5510
+ })[];
5511
+ }, {
5512
+ action: "reject" | "accept";
5513
+ operation: "sendUserOperation";
5514
+ criteria: ({
5515
+ ethValue: string;
5516
+ type: "ethValue";
5517
+ operator: ">" | ">=" | "<" | "<=" | "==";
5518
+ } | {
5519
+ type: "evmAddress";
5520
+ operator: "in" | "not in";
5521
+ addresses: string[];
5522
+ } | {
5523
+ type: "netUSDChange";
5524
+ operator: ">" | ">=" | "<" | "<=" | "==";
5525
+ changeCents: number;
5526
+ } | {
5527
+ type: "evmData";
5528
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
5529
+ conditions: {
5530
+ function: string;
5531
+ params?: ({
5532
+ values: string[];
5533
+ name: string;
5534
+ operator: "in" | "not in";
5535
+ } | {
5536
+ value: string;
5537
+ name: string;
5538
+ operator: ">" | ">=" | "<" | "<=" | "==";
5539
+ })[] | undefined;
5540
+ }[];
5541
+ })[];
5542
+ }>;
5543
+ export type SendUserOperationRule = z.infer<typeof SendUserOperationRuleSchema>;
5544
+ /**
5545
+ * Type representing a 'signEndUserEvmTransaction' policy rule that can accept or reject specific operations
5546
+ * based on a set of criteria.
5547
+ */
5548
+ export declare const SignEndUserEvmTransactionRuleSchema: z.ZodObject<{
5549
+ /**
5550
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
5551
+ * "accept" will allow the transaction, "reject" will block it.
5552
+ */
5553
+ action: z.ZodEnum<["reject", "accept"]>;
5554
+ /**
5555
+ * The operation to which this rule applies.
5556
+ * Must be "signEndUserEvmTransaction".
5557
+ */
5558
+ operation: z.ZodLiteral<"signEndUserEvmTransaction">;
5559
+ /**
5560
+ * The set of criteria that must be matched for this rule to apply.
5561
+ * Must be compatible with the specified operation type.
5562
+ */
5563
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
5564
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
5565
+ type: z.ZodLiteral<"ethValue">;
5566
+ /**
5567
+ * The ETH value amount in wei to compare against, as a string.
5568
+ * Must contain only digits.
5569
+ */
5570
+ ethValue: z.ZodString;
5571
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
5572
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
5573
+ }, "strip", z.ZodTypeAny, {
5574
+ ethValue: string;
5575
+ type: "ethValue";
5576
+ operator: ">" | ">=" | "<" | "<=" | "==";
5577
+ }, {
5578
+ ethValue: string;
5579
+ type: "ethValue";
5580
+ operator: ">" | ">=" | "<" | "<=" | "==";
5581
+ }>, z.ZodObject<{
5582
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
5583
+ type: z.ZodLiteral<"evmAddress">;
5584
+ /**
5585
+ * Array of EVM addresses to compare against.
5586
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
5587
+ * Limited to a maximum of 300 addresses per criterion.
5588
+ */
5589
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
5590
+ /**
5591
+ * The operator to use for evaluating transaction addresses.
5592
+ * "in" checks if an address is in the provided list.
5593
+ * "not in" checks if an address is not in the provided list.
5594
+ */
5595
+ operator: z.ZodEnum<["in", "not in"]>;
5596
+ }, "strip", z.ZodTypeAny, {
5597
+ type: "evmAddress";
5598
+ operator: "in" | "not in";
5599
+ addresses: `0x${string}`[];
5600
+ }, {
5601
+ type: "evmAddress";
5602
+ operator: "in" | "not in";
5603
+ addresses: string[];
5604
+ }>, z.ZodObject<{
5605
+ /** The type of criterion, must be "evmData" for EVM transaction rules. */
5606
+ type: z.ZodLiteral<"evmData">;
5607
+ /**
5608
+ * The ABI of the smart contract being called. This can be a partial structure with only specific functions.
5609
+ */
5610
+ abi: z.ZodUnion<[z.ZodEnum<["erc20", "erc721", "erc1155"]>, z.ZodReadonly<z.ZodArray<z.ZodUnion<[z.ZodObject<{
5611
+ type: z.ZodLiteral<"error">;
5612
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5613
+ name: z.ZodString;
5614
+ }, "strip", z.ZodTypeAny, {
5615
+ inputs: readonly import("abitype").AbiParameter[];
5616
+ type: "error";
5617
+ name: string;
5618
+ }, {
5619
+ inputs: readonly import("abitype").AbiParameter[];
5620
+ type: "error";
5621
+ name: string;
5622
+ }>, z.ZodObject<{
5623
+ type: z.ZodLiteral<"event">;
5624
+ anonymous: z.ZodOptional<z.ZodBoolean>;
5625
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiEventParameter, z.ZodTypeDef, import("abitype").AbiEventParameter>, "many">>;
5626
+ name: z.ZodString;
5627
+ }, "strip", z.ZodTypeAny, {
5628
+ inputs: readonly import("abitype").AbiEventParameter[];
5629
+ type: "event";
5630
+ name: string;
5631
+ anonymous?: boolean | undefined;
5632
+ }, {
5633
+ inputs: readonly import("abitype").AbiEventParameter[];
5634
+ type: "event";
5635
+ name: string;
5636
+ anonymous?: boolean | undefined;
5637
+ }>, z.ZodEffects<z.ZodIntersection<z.ZodObject<{
5638
+ constant: z.ZodOptional<z.ZodBoolean>;
5639
+ gas: z.ZodOptional<z.ZodNumber>;
5640
+ payable: z.ZodOptional<z.ZodBoolean>;
5641
+ }, "strip", z.ZodTypeAny, {
5642
+ payable?: boolean | undefined;
5643
+ constant?: boolean | undefined;
5644
+ gas?: number | undefined;
5645
+ }, {
5646
+ payable?: boolean | undefined;
5647
+ constant?: boolean | undefined;
5648
+ gas?: number | undefined;
5649
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
5650
+ type: z.ZodLiteral<"function">;
5651
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
5652
+ name: z.ZodString;
3907
5653
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
3908
5654
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
3909
5655
  }, "strip", z.ZodTypeAny, {
@@ -3933,11 +5679,7 @@ export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
3933
5679
  }>, z.ZodObject<{
3934
5680
  type: z.ZodLiteral<"fallback">;
3935
5681
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
3936
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
3937
- * Array of EVM addresses allowed or disallowed as verifying contracts.
3938
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
3939
- * Limited to a maximum of 300 addresses per criterion.
3940
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
5682
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
3941
5683
  }, "strip", z.ZodTypeAny, {
3942
5684
  type: "fallback";
3943
5685
  stateMutability: "nonpayable" | "payable";
@@ -4145,7 +5887,7 @@ export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
4145
5887
  }>]>, "many">;
4146
5888
  }, "strip", z.ZodTypeAny, {
4147
5889
  action: "reject" | "accept";
4148
- operation: "prepareUserOperation";
5890
+ operation: "signEndUserEvmTransaction";
4149
5891
  criteria: ({
4150
5892
  ethValue: string;
4151
5893
  type: "ethValue";
@@ -4154,10 +5896,6 @@ export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
4154
5896
  type: "evmAddress";
4155
5897
  operator: "in" | "not in";
4156
5898
  addresses: `0x${string}`[];
4157
- } | {
4158
- type: "evmNetwork";
4159
- operator: "in" | "not in";
4160
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
4161
5899
  } | {
4162
5900
  type: "netUSDChange";
4163
5901
  operator: ">" | ">=" | "<" | "<=" | "==";
@@ -4210,7 +5948,7 @@ export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
4210
5948
  })[];
4211
5949
  }, {
4212
5950
  action: "reject" | "accept";
4213
- operation: "prepareUserOperation";
5951
+ operation: "signEndUserEvmTransaction";
4214
5952
  criteria: ({
4215
5953
  ethValue: string;
4216
5954
  type: "ethValue";
@@ -4219,10 +5957,6 @@ export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
4219
5957
  type: "evmAddress";
4220
5958
  operator: "in" | "not in";
4221
5959
  addresses: string[];
4222
- } | {
4223
- type: "evmNetwork";
4224
- operator: "in" | "not in";
4225
- networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "zora" | "polygon" | "bnb" | "avalanche" | "ethereum" | "ethereum-sepolia")[];
4226
5960
  } | {
4227
5961
  type: "netUSDChange";
4228
5962
  operator: ">" | ">=" | "<" | "<=" | "==";
@@ -4244,22 +5978,22 @@ export declare const PrepareUserOperationRuleSchema: z.ZodObject<{
4244
5978
  }[];
4245
5979
  })[];
4246
5980
  }>;
4247
- export type PrepareUserOperationRule = z.infer<typeof PrepareUserOperationRuleSchema>;
5981
+ export type SignEndUserEvmTransactionRule = z.infer<typeof SignEndUserEvmTransactionRuleSchema>;
4248
5982
  /**
4249
- * Type representing a 'sendUserOperation' policy rule that can accept or reject specific operations
5983
+ * Type representing a 'sendEndUserEvmTransaction' policy rule that can accept or reject specific operations
4250
5984
  * based on a set of criteria.
4251
5985
  */
4252
- export declare const SendUserOperationRuleSchema: z.ZodObject<{
5986
+ export declare const SendEndUserEvmTransactionRuleSchema: z.ZodObject<{
4253
5987
  /**
4254
5988
  * Determines whether matching the rule will cause a request to be rejected or accepted.
4255
- * "accept" will allow the operation, "reject" will block it.
5989
+ * "accept" will allow the transaction, "reject" will block it.
4256
5990
  */
4257
5991
  action: z.ZodEnum<["reject", "accept"]>;
4258
5992
  /**
4259
5993
  * The operation to which this rule applies.
4260
- * Must be "sendUserOperation".
5994
+ * Must be "sendEndUserEvmTransaction".
4261
5995
  */
4262
- operation: z.ZodLiteral<"sendUserOperation">;
5996
+ operation: z.ZodLiteral<"sendEndUserEvmTransaction">;
4263
5997
  /**
4264
5998
  * The set of criteria that must be matched for this rule to apply.
4265
5999
  * Must be compatible with the specified operation type.
@@ -4305,6 +6039,28 @@ export declare const SendUserOperationRuleSchema: z.ZodObject<{
4305
6039
  type: "evmAddress";
4306
6040
  operator: "in" | "not in";
4307
6041
  addresses: string[];
6042
+ }>, z.ZodObject<{
6043
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
6044
+ type: z.ZodLiteral<"evmNetwork">;
6045
+ /**
6046
+ * Array of EVM network identifiers to compare against.
6047
+ * Either "base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"
6048
+ */
6049
+ networks: z.ZodArray<z.ZodEnum<["base-sepolia", "base", "arbitrum", "optimism", "zora", "polygon", "bnb", "avalanche", "ethereum", "ethereum-sepolia"]>, "many">;
6050
+ /**
6051
+ * The operator to use for evaluating transaction network.
6052
+ * "in" checks if a network is in the provided list.
6053
+ * "not in" checks if a network is not in the provided list.
6054
+ */
6055
+ operator: z.ZodEnum<["in", "not in"]>;
6056
+ }, "strip", z.ZodTypeAny, {
6057
+ type: "evmNetwork";
6058
+ operator: "in" | "not in";
6059
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
6060
+ }, {
6061
+ type: "evmNetwork";
6062
+ operator: "in" | "not in";
6063
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
4308
6064
  }>, z.ZodObject<{
4309
6065
  /** The type of criterion, must be "evmData" for EVM transaction rules. */
4310
6066
  type: z.ZodLiteral<"evmData">;
@@ -4352,7 +6108,7 @@ export declare const SendUserOperationRuleSchema: z.ZodObject<{
4352
6108
  gas?: number | undefined;
4353
6109
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4354
6110
  type: z.ZodLiteral<"function">;
4355
- inputs: z.ZodReadonly<z.ZodArray /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
6111
+ inputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4356
6112
  name: z.ZodString;
4357
6113
  outputs: z.ZodReadonly<z.ZodArray<z.ZodType<import("abitype").AbiParameter, z.ZodTypeDef, import("abitype").AbiParameter>, "many">>;
4358
6114
  stateMutability: z.ZodUnion<[z.ZodLiteral<"pure">, z.ZodLiteral<"view">, z.ZodLiteral<"nonpayable">, z.ZodLiteral<"payable">]>;
@@ -4383,11 +6139,7 @@ export declare const SendUserOperationRuleSchema: z.ZodObject<{
4383
6139
  }>, z.ZodObject<{
4384
6140
  type: z.ZodLiteral<"fallback">;
4385
6141
  inputs: z.ZodOptional<z.ZodTuple<[], null>>;
4386
- stateMutability: z.ZodUnion<[z.ZodLiteral /**
4387
- * Array of EVM addresses allowed or disallowed as verifying contracts.
4388
- * Each address must be a 0x-prefixed 40-character hexadecimal string.
4389
- * Limited to a maximum of 300 addresses per criterion.
4390
- */<"payable">, z.ZodLiteral<"nonpayable">]>;
6142
+ stateMutability: z.ZodUnion<[z.ZodLiteral<"payable">, z.ZodLiteral<"nonpayable">]>;
4391
6143
  }, "strip", z.ZodTypeAny, {
4392
6144
  type: "fallback";
4393
6145
  stateMutability: "nonpayable" | "payable";
@@ -4485,12 +6237,202 @@ export declare const SendUserOperationRuleSchema: z.ZodObject<{
4485
6237
  values: string[];
4486
6238
  name: string;
4487
6239
  operator: "in" | "not in";
4488
- }, {
4489
- values: string[];
6240
+ }, {
6241
+ values: string[];
6242
+ name: string;
6243
+ operator: "in" | "not in";
6244
+ }>]>, "many">>;
6245
+ }, "strip", z.ZodTypeAny, {
6246
+ function: string;
6247
+ params?: ({
6248
+ values: string[];
6249
+ name: string;
6250
+ operator: "in" | "not in";
6251
+ } | {
6252
+ value: string;
6253
+ name: string;
6254
+ operator: ">" | ">=" | "<" | "<=" | "==";
6255
+ })[] | undefined;
6256
+ }, {
6257
+ function: string;
6258
+ params?: ({
6259
+ values: string[];
6260
+ name: string;
6261
+ operator: "in" | "not in";
6262
+ } | {
6263
+ value: string;
6264
+ name: string;
6265
+ operator: ">" | ">=" | "<" | "<=" | "==";
6266
+ })[] | undefined;
6267
+ }>, "many">;
6268
+ }, "strip", z.ZodTypeAny, {
6269
+ type: "evmData";
6270
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
6271
+ inputs: readonly import("abitype").AbiParameter[];
6272
+ type: "error";
6273
+ name: string;
6274
+ } | {
6275
+ inputs: readonly import("abitype").AbiEventParameter[];
6276
+ type: "event";
6277
+ name: string;
6278
+ anonymous?: boolean | undefined;
6279
+ } | ({
6280
+ payable?: boolean | undefined;
6281
+ constant?: boolean | undefined;
6282
+ gas?: number | undefined;
6283
+ } & ({
6284
+ inputs: readonly import("abitype").AbiParameter[];
6285
+ outputs: readonly import("abitype").AbiParameter[];
6286
+ type: "function";
6287
+ name: string;
6288
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
6289
+ } | {
6290
+ inputs: readonly import("abitype").AbiParameter[];
6291
+ type: "constructor";
6292
+ stateMutability: "nonpayable" | "payable";
6293
+ } | {
6294
+ type: "fallback";
6295
+ stateMutability: "nonpayable" | "payable";
6296
+ inputs?: [] | undefined;
6297
+ } | {
6298
+ type: "receive";
6299
+ stateMutability: "payable";
6300
+ })))[];
6301
+ conditions: {
6302
+ function: string;
6303
+ params?: ({
6304
+ values: string[];
6305
+ name: string;
6306
+ operator: "in" | "not in";
6307
+ } | {
6308
+ value: string;
6309
+ name: string;
6310
+ operator: ">" | ">=" | "<" | "<=" | "==";
6311
+ })[] | undefined;
6312
+ }[];
6313
+ }, {
6314
+ type: "evmData";
6315
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
6316
+ conditions: {
6317
+ function: string;
6318
+ params?: ({
6319
+ values: string[];
6320
+ name: string;
6321
+ operator: "in" | "not in";
6322
+ } | {
6323
+ value: string;
6324
+ name: string;
6325
+ operator: ">" | ">=" | "<" | "<=" | "==";
6326
+ })[] | undefined;
6327
+ }[];
6328
+ }>, z.ZodObject<{
6329
+ /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
6330
+ type: z.ZodLiteral<"netUSDChange">;
6331
+ /**
6332
+ * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
6333
+ */
6334
+ changeCents: z.ZodNumber;
6335
+ /**
6336
+ * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
6337
+ */
6338
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
6339
+ }, "strip", z.ZodTypeAny, {
6340
+ type: "netUSDChange";
6341
+ operator: ">" | ">=" | "<" | "<=" | "==";
6342
+ changeCents: number;
6343
+ }, {
6344
+ type: "netUSDChange";
6345
+ operator: ">" | ">=" | "<" | "<=" | "==";
6346
+ changeCents: number;
6347
+ }>]>, "many">;
6348
+ }, "strip", z.ZodTypeAny, {
6349
+ action: "reject" | "accept";
6350
+ operation: "sendEndUserEvmTransaction";
6351
+ criteria: ({
6352
+ ethValue: string;
6353
+ type: "ethValue";
6354
+ operator: ">" | ">=" | "<" | "<=" | "==";
6355
+ } | {
6356
+ type: "evmAddress";
6357
+ operator: "in" | "not in";
6358
+ addresses: `0x${string}`[];
6359
+ } | {
6360
+ type: "evmNetwork";
6361
+ operator: "in" | "not in";
6362
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
6363
+ } | {
6364
+ type: "netUSDChange";
6365
+ operator: ">" | ">=" | "<" | "<=" | "==";
6366
+ changeCents: number;
6367
+ } | {
6368
+ type: "evmData";
6369
+ abi: "erc20" | "erc721" | "erc1155" | readonly ({
6370
+ inputs: readonly import("abitype").AbiParameter[];
6371
+ type: "error";
6372
+ name: string;
6373
+ } | {
6374
+ inputs: readonly import("abitype").AbiEventParameter[];
6375
+ type: "event";
6376
+ name: string;
6377
+ anonymous?: boolean | undefined;
6378
+ } | ({
6379
+ payable?: boolean | undefined;
6380
+ constant?: boolean | undefined;
6381
+ gas?: number | undefined;
6382
+ } & ({
6383
+ inputs: readonly import("abitype").AbiParameter[];
6384
+ outputs: readonly import("abitype").AbiParameter[];
6385
+ type: "function";
6386
+ name: string;
6387
+ stateMutability: "pure" | "view" | "nonpayable" | "payable";
6388
+ } | {
6389
+ inputs: readonly import("abitype").AbiParameter[];
6390
+ type: "constructor";
6391
+ stateMutability: "nonpayable" | "payable";
6392
+ } | {
6393
+ type: "fallback";
6394
+ stateMutability: "nonpayable" | "payable";
6395
+ inputs?: [] | undefined;
6396
+ } | {
6397
+ type: "receive";
6398
+ stateMutability: "payable";
6399
+ })))[];
6400
+ conditions: {
6401
+ function: string;
6402
+ params?: ({
6403
+ values: string[];
6404
+ name: string;
6405
+ operator: "in" | "not in";
6406
+ } | {
6407
+ value: string;
4490
6408
  name: string;
4491
- operator: "in" | "not in";
4492
- }>]>, "many">>;
4493
- }, "strip", z.ZodTypeAny, {
6409
+ operator: ">" | ">=" | "<" | "<=" | "==";
6410
+ })[] | undefined;
6411
+ }[];
6412
+ })[];
6413
+ }, {
6414
+ action: "reject" | "accept";
6415
+ operation: "sendEndUserEvmTransaction";
6416
+ criteria: ({
6417
+ ethValue: string;
6418
+ type: "ethValue";
6419
+ operator: ">" | ">=" | "<" | "<=" | "==";
6420
+ } | {
6421
+ type: "evmAddress";
6422
+ operator: "in" | "not in";
6423
+ addresses: string[];
6424
+ } | {
6425
+ type: "evmNetwork";
6426
+ operator: "in" | "not in";
6427
+ networks: ("base-sepolia" | "base" | "arbitrum" | "optimism" | "polygon" | "ethereum" | "ethereum-sepolia" | "zora" | "bnb" | "avalanche")[];
6428
+ } | {
6429
+ type: "netUSDChange";
6430
+ operator: ">" | ">=" | "<" | "<=" | "==";
6431
+ changeCents: number;
6432
+ } | {
6433
+ type: "evmData";
6434
+ abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
6435
+ conditions: {
4494
6436
  function: string;
4495
6437
  params?: ({
4496
6438
  values: string[];
@@ -4501,190 +6443,312 @@ export declare const SendUserOperationRuleSchema: z.ZodObject<{
4501
6443
  name: string;
4502
6444
  operator: ">" | ">=" | "<" | "<=" | "==";
4503
6445
  })[] | undefined;
6446
+ }[];
6447
+ })[];
6448
+ }>;
6449
+ export type SendEndUserEvmTransactionRule = z.infer<typeof SendEndUserEvmTransactionRuleSchema>;
6450
+ /**
6451
+ * Type representing a 'signEndUserEvmMessage' policy rule that can accept or reject specific operations
6452
+ * based on a set of criteria.
6453
+ */
6454
+ export declare const SignEndUserEvmMessageRuleSchema: z.ZodObject<{
6455
+ /**
6456
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
6457
+ * "accept" will allow the signing, "reject" will block it.
6458
+ */
6459
+ action: z.ZodEnum<["reject", "accept"]>;
6460
+ /**
6461
+ * The operation to which this rule applies.
6462
+ * Must be "signEndUserEvmMessage".
6463
+ */
6464
+ operation: z.ZodLiteral<"signEndUserEvmMessage">;
6465
+ /**
6466
+ * The set of criteria that must be matched for this rule to apply.
6467
+ * Must be compatible with the specified operation type.
6468
+ */
6469
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
6470
+ /** The type of criterion, must be "evmMessage" for EVM message-based rules. */
6471
+ type: z.ZodLiteral<"evmMessage">;
6472
+ /**
6473
+ * A regular expression the message is matched against.
6474
+ * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
6475
+ */
6476
+ match: z.ZodString;
6477
+ }, "strip", z.ZodTypeAny, {
6478
+ match: string;
6479
+ type: "evmMessage";
6480
+ }, {
6481
+ match: string;
6482
+ type: "evmMessage";
6483
+ }>]>, "many">;
6484
+ }, "strip", z.ZodTypeAny, {
6485
+ action: "reject" | "accept";
6486
+ operation: "signEndUserEvmMessage";
6487
+ criteria: {
6488
+ match: string;
6489
+ type: "evmMessage";
6490
+ }[];
6491
+ }, {
6492
+ action: "reject" | "accept";
6493
+ operation: "signEndUserEvmMessage";
6494
+ criteria: {
6495
+ match: string;
6496
+ type: "evmMessage";
6497
+ }[];
6498
+ }>;
6499
+ export type SignEndUserEvmMessageRule = z.infer<typeof SignEndUserEvmMessageRuleSchema>;
6500
+ /**
6501
+ * Type representing a 'signEndUserEvmTypedData' policy rule that can accept or reject specific operations
6502
+ * based on a set of criteria.
6503
+ */
6504
+ export declare const SignEndUserEvmTypedDataRuleSchema: z.ZodObject<{
6505
+ /**
6506
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
6507
+ * "accept" will allow the signing, "reject" will block it.
6508
+ */
6509
+ action: z.ZodEnum<["reject", "accept"]>;
6510
+ /**
6511
+ * The operation to which this rule applies.
6512
+ * Must be "signEndUserEvmTypedData".
6513
+ */
6514
+ operation: z.ZodLiteral<"signEndUserEvmTypedData">;
6515
+ /**
6516
+ * The set of criteria that must be matched for this rule to apply.
6517
+ * Must be compatible with the specified operation type.
6518
+ */
6519
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
6520
+ /** The type of criterion, must be "evmTypedDataField" for typed data field-based rules. */
6521
+ type: z.ZodLiteral<"evmTypedDataField">;
6522
+ /**
6523
+ * The EIP-712 type definitions for the typed data.
6524
+ * Must include at minimum the primary type being signed.
6525
+ */
6526
+ types: z.ZodObject<{
6527
+ /**
6528
+ * EIP-712 compliant map of model names to model definitions.
6529
+ */
6530
+ types: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
6531
+ name: z.ZodString;
6532
+ type: z.ZodString;
6533
+ }, "strip", z.ZodTypeAny, {
6534
+ type: string;
6535
+ name: string;
6536
+ }, {
6537
+ type: string;
6538
+ name: string;
6539
+ }>, "many">>;
6540
+ /**
6541
+ * The name of the root EIP-712 type. This value must be included in the `types` object.
6542
+ */
6543
+ primaryType: z.ZodString;
6544
+ }, "strip", z.ZodTypeAny, {
6545
+ types: Record<string, {
6546
+ type: string;
6547
+ name: string;
6548
+ }[]>;
6549
+ primaryType: string;
6550
+ }, {
6551
+ types: Record<string, {
6552
+ type: string;
6553
+ name: string;
6554
+ }[]>;
6555
+ primaryType: string;
6556
+ }>;
6557
+ /**
6558
+ * Array of conditions to apply against typed data fields.
6559
+ * Each condition specifies how to validate a specific field within the typed data.
6560
+ */
6561
+ conditions: z.ZodArray<z.ZodUnion<[z.ZodObject<{
6562
+ /**
6563
+ * Array of EVM addresses to compare against.
6564
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
6565
+ * Limited to a maximum of 300 addresses per condition.
6566
+ */
6567
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
6568
+ /**
6569
+ * The operator to use for evaluating addresses.
6570
+ * "in" checks if an address is in the provided list.
6571
+ * "not in" checks if an address is not in the provided list.
6572
+ */
6573
+ operator: z.ZodEnum<["in", "not in"]>;
6574
+ /**
6575
+ * The path to the field to compare against this criterion.
6576
+ * To reference deeply nested fields, use dot notation (e.g., "order.buyer").
6577
+ */
6578
+ path: z.ZodString;
6579
+ }, "strip", z.ZodTypeAny, {
6580
+ path: string;
6581
+ operator: "in" | "not in";
6582
+ addresses: `0x${string}`[];
6583
+ }, {
6584
+ path: string;
6585
+ operator: "in" | "not in";
6586
+ addresses: string[];
6587
+ }>, z.ZodObject<{
6588
+ /**
6589
+ * The numerical value to compare against, as a string.
6590
+ * Must contain only digits.
6591
+ */
6592
+ value: z.ZodString;
6593
+ /**
6594
+ * The comparison operator to use.
6595
+ */
6596
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
6597
+ /**
6598
+ * The path to the field to compare against this criterion.
6599
+ * To reference deeply nested fields, use dot notation (e.g., "order.price").
6600
+ */
6601
+ path: z.ZodString;
6602
+ }, "strip", z.ZodTypeAny, {
6603
+ value: string;
6604
+ path: string;
6605
+ operator: ">" | ">=" | "<" | "<=" | "==";
6606
+ }, {
6607
+ value: string;
6608
+ path: string;
6609
+ operator: ">" | ">=" | "<" | "<=" | "==";
6610
+ }>, z.ZodObject<{
6611
+ /**
6612
+ * A regular expression the string field is matched against.
6613
+ * Accepts valid regular expression syntax described by [RE2](https://github.com/google/re2/wiki/Syntax).
6614
+ */
6615
+ match: z.ZodString;
6616
+ /**
6617
+ * The path to the field to compare against this criterion.
6618
+ * To reference deeply nested fields, use dot notation (e.g., "metadata.description").
6619
+ */
6620
+ path: z.ZodString;
6621
+ }, "strip", z.ZodTypeAny, {
6622
+ match: string;
6623
+ path: string;
4504
6624
  }, {
4505
- function: string;
4506
- params?: ({
4507
- values: string[];
4508
- name: string;
4509
- operator: "in" | "not in";
4510
- } | {
4511
- value: string;
4512
- name: string;
4513
- operator: ">" | ">=" | "<" | "<=" | "==";
4514
- })[] | undefined;
4515
- }>, "many">;
6625
+ match: string;
6626
+ path: string;
6627
+ }>]>, "many">;
4516
6628
  }, "strip", z.ZodTypeAny, {
4517
- type: "evmData";
4518
- abi: "erc20" | "erc721" | "erc1155" | readonly ({
4519
- inputs: readonly import("abitype").AbiParameter[];
4520
- type: "error";
4521
- name: string;
4522
- } | {
4523
- inputs: readonly import("abitype").AbiEventParameter[];
4524
- type: "event";
4525
- name: string;
4526
- anonymous?: boolean | undefined;
4527
- } | ({
4528
- payable?: boolean | undefined;
4529
- constant?: boolean | undefined;
4530
- gas?: number | undefined;
4531
- } & ({
4532
- inputs: readonly import("abitype").AbiParameter[];
4533
- outputs: readonly import("abitype").AbiParameter[];
4534
- type: "function";
4535
- name: string;
4536
- stateMutability: "pure" | "view" | "nonpayable" | "payable";
4537
- } | {
4538
- inputs: readonly import("abitype").AbiParameter[];
4539
- type: "constructor";
4540
- stateMutability: "nonpayable" | "payable";
6629
+ type: "evmTypedDataField";
6630
+ types: {
6631
+ types: Record<string, {
6632
+ type: string;
6633
+ name: string;
6634
+ }[]>;
6635
+ primaryType: string;
6636
+ };
6637
+ conditions: ({
6638
+ path: string;
6639
+ operator: "in" | "not in";
6640
+ addresses: `0x${string}`[];
4541
6641
  } | {
4542
- type: "fallback";
4543
- stateMutability: "nonpayable" | "payable";
4544
- inputs?: [] | undefined;
6642
+ value: string;
6643
+ path: string;
6644
+ operator: ">" | ">=" | "<" | "<=" | "==";
4545
6645
  } | {
4546
- type: "receive";
4547
- stateMutability: "payable";
4548
- })))[];
4549
- conditions: {
4550
- function: string;
4551
- params?: ({
4552
- values: string[];
4553
- name: string;
4554
- operator: "in" | "not in";
4555
- } | {
4556
- value: string;
4557
- name: string;
4558
- operator: ">" | ">=" | "<" | "<=" | "==";
4559
- })[] | undefined;
4560
- }[];
6646
+ match: string;
6647
+ path: string;
6648
+ })[];
4561
6649
  }, {
4562
- type: "evmData";
4563
- abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4564
- conditions: {
4565
- function: string;
4566
- params?: ({
4567
- values: string[];
4568
- name: string;
4569
- operator: "in" | "not in";
4570
- } | {
4571
- value: string;
6650
+ type: "evmTypedDataField";
6651
+ types: {
6652
+ types: Record<string, {
6653
+ type: string;
4572
6654
  name: string;
4573
- operator: ">" | ">=" | "<" | "<=" | "==";
4574
- })[] | undefined;
4575
- }[];
6655
+ }[]>;
6656
+ primaryType: string;
6657
+ };
6658
+ conditions: ({
6659
+ path: string;
6660
+ operator: "in" | "not in";
6661
+ addresses: string[];
6662
+ } | {
6663
+ value: string;
6664
+ path: string;
6665
+ operator: ">" | ">=" | "<" | "<=" | "==";
6666
+ } | {
6667
+ match: string;
6668
+ path: string;
6669
+ })[];
4576
6670
  }>, z.ZodObject<{
4577
- /** The type of criterion, must be "netUSDChange" for USD denominated asset transfer rules. */
4578
- type: z.ZodLiteral<"netUSDChange">;
6671
+ /** The type of criterion, must be "evmTypedDataVerifyingContract" for verifying contract-based rules. */
6672
+ type: z.ZodLiteral<"evmTypedDataVerifyingContract">;
4579
6673
  /**
4580
- * The amount of USD, in cents, that the total USD value of a transaction's asset transfer and exposure should be compared to.
6674
+ * Array of EVM addresses allowed or disallowed as verifying contracts.
6675
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
6676
+ * Limited to a maximum of 300 addresses per criterion.
4581
6677
  */
4582
- changeCents: z.ZodNumber;
6678
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
4583
6679
  /**
4584
- * The operator to use for the comparison. The total value of a transaction's asset transfer and exposure in USD will be on the left-hand side of the operator, and the `changeCents` field will be on the right-hand side.
6680
+ * The operator to use for evaluating verifying contract addresses.
6681
+ * "in" checks if the verifying contract is in the provided list.
6682
+ * "not in" checks if the verifying contract is not in the provided list.
4585
6683
  */
4586
- operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
6684
+ operator: z.ZodEnum<["in", "not in"]>;
4587
6685
  }, "strip", z.ZodTypeAny, {
4588
- type: "netUSDChange";
4589
- operator: ">" | ">=" | "<" | "<=" | "==";
4590
- changeCents: number;
6686
+ type: "evmTypedDataVerifyingContract";
6687
+ operator: "in" | "not in";
6688
+ addresses: `0x${string}`[];
4591
6689
  }, {
4592
- type: "netUSDChange";
4593
- operator: ">" | ">=" | "<" | "<=" | "==";
4594
- changeCents: number;
6690
+ type: "evmTypedDataVerifyingContract";
6691
+ operator: "in" | "not in";
6692
+ addresses: string[];
4595
6693
  }>]>, "many">;
4596
6694
  }, "strip", z.ZodTypeAny, {
4597
6695
  action: "reject" | "accept";
4598
- operation: "sendUserOperation";
6696
+ operation: "signEndUserEvmTypedData";
4599
6697
  criteria: ({
4600
- ethValue: string;
4601
- type: "ethValue";
4602
- operator: ">" | ">=" | "<" | "<=" | "==";
6698
+ type: "evmTypedDataField";
6699
+ types: {
6700
+ types: Record<string, {
6701
+ type: string;
6702
+ name: string;
6703
+ }[]>;
6704
+ primaryType: string;
6705
+ };
6706
+ conditions: ({
6707
+ path: string;
6708
+ operator: "in" | "not in";
6709
+ addresses: `0x${string}`[];
6710
+ } | {
6711
+ value: string;
6712
+ path: string;
6713
+ operator: ">" | ">=" | "<" | "<=" | "==";
6714
+ } | {
6715
+ match: string;
6716
+ path: string;
6717
+ })[];
4603
6718
  } | {
4604
- type: "evmAddress";
6719
+ type: "evmTypedDataVerifyingContract";
4605
6720
  operator: "in" | "not in";
4606
6721
  addresses: `0x${string}`[];
4607
- } | {
4608
- type: "netUSDChange";
4609
- operator: ">" | ">=" | "<" | "<=" | "==";
4610
- changeCents: number;
4611
- } | {
4612
- type: "evmData";
4613
- abi: "erc20" | "erc721" | "erc1155" | readonly ({
4614
- inputs: readonly import("abitype").AbiParameter[];
4615
- type: "error";
4616
- name: string;
4617
- } | {
4618
- inputs: readonly import("abitype").AbiEventParameter[];
4619
- type: "event";
4620
- name: string;
4621
- anonymous?: boolean | undefined;
4622
- } | ({
4623
- payable?: boolean | undefined;
4624
- constant?: boolean | undefined;
4625
- gas?: number | undefined;
4626
- } & ({
4627
- inputs: readonly import("abitype").AbiParameter[];
4628
- outputs: readonly import("abitype").AbiParameter[];
4629
- type: "function";
4630
- name: string;
4631
- stateMutability: "pure" | "view" | "nonpayable" | "payable";
4632
- } | {
4633
- inputs: readonly import("abitype").AbiParameter[];
4634
- type: "constructor";
4635
- stateMutability: "nonpayable" | "payable";
4636
- } | {
4637
- type: "fallback";
4638
- stateMutability: "nonpayable" | "payable";
4639
- inputs?: [] | undefined;
4640
- } | {
4641
- type: "receive";
4642
- stateMutability: "payable";
4643
- })))[];
4644
- conditions: {
4645
- function: string;
4646
- params?: ({
4647
- values: string[];
4648
- name: string;
4649
- operator: "in" | "not in";
4650
- } | {
4651
- value: string;
4652
- name: string;
4653
- operator: ">" | ">=" | "<" | "<=" | "==";
4654
- })[] | undefined;
4655
- }[];
4656
6722
  })[];
4657
6723
  }, {
4658
6724
  action: "reject" | "accept";
4659
- operation: "sendUserOperation";
6725
+ operation: "signEndUserEvmTypedData";
4660
6726
  criteria: ({
4661
- ethValue: string;
4662
- type: "ethValue";
4663
- operator: ">" | ">=" | "<" | "<=" | "==";
6727
+ type: "evmTypedDataField";
6728
+ types: {
6729
+ types: Record<string, {
6730
+ type: string;
6731
+ name: string;
6732
+ }[]>;
6733
+ primaryType: string;
6734
+ };
6735
+ conditions: ({
6736
+ path: string;
6737
+ operator: "in" | "not in";
6738
+ addresses: string[];
6739
+ } | {
6740
+ value: string;
6741
+ path: string;
6742
+ operator: ">" | ">=" | "<" | "<=" | "==";
6743
+ } | {
6744
+ match: string;
6745
+ path: string;
6746
+ })[];
4664
6747
  } | {
4665
- type: "evmAddress";
6748
+ type: "evmTypedDataVerifyingContract";
4666
6749
  operator: "in" | "not in";
4667
6750
  addresses: string[];
4668
- } | {
4669
- type: "netUSDChange";
4670
- operator: ">" | ">=" | "<" | "<=" | "==";
4671
- changeCents: number;
4672
- } | {
4673
- type: "evmData";
4674
- abi: "erc20" | "erc721" | "erc1155" | readonly unknown[];
4675
- conditions: {
4676
- function: string;
4677
- params?: ({
4678
- values: string[];
4679
- name: string;
4680
- operator: "in" | "not in";
4681
- } | {
4682
- value: string;
4683
- name: string;
4684
- operator: ">" | ">=" | "<" | "<=" | "==";
4685
- })[] | undefined;
4686
- }[];
4687
6751
  })[];
4688
6752
  }>;
4689
- export type SendUserOperationRule = z.infer<typeof SendUserOperationRuleSchema>;
6753
+ export type SignEndUserEvmTypedDataRule = z.infer<typeof SignEndUserEvmTypedDataRuleSchema>;
4690
6754
  //# sourceMappingURL=evmSchema.d.ts.map