@coinbase/cdp-sdk 1.7.0 → 1.9.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 (226) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +326 -28
  3. package/_cjs/accounts/evm/toEvmServerAccount.js +4 -2
  4. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  5. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  6. package/_cjs/accounts/solana/toSolanaAccount.js +8 -0
  7. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  8. package/_cjs/actions/evm/transfer/accountTransferStrategy.js +30 -63
  9. package/_cjs/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
  10. package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js +39 -56
  11. package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
  12. package/_cjs/actions/evm/transfer/transfer.js +2 -39
  13. package/_cjs/actions/evm/transfer/transfer.js.map +1 -1
  14. package/_cjs/actions/evm/transfer/utils.js +0 -12
  15. package/_cjs/actions/evm/transfer/utils.js.map +1 -1
  16. package/_cjs/actions/solana/constants.js +9 -0
  17. package/_cjs/actions/solana/constants.js.map +1 -0
  18. package/_cjs/actions/solana/transfer.js +117 -0
  19. package/_cjs/actions/solana/transfer.js.map +1 -0
  20. package/_cjs/actions/solana/utils.js +66 -0
  21. package/_cjs/actions/solana/utils.js.map +1 -0
  22. package/_cjs/analytics.js +70 -8
  23. package/_cjs/analytics.js.map +1 -1
  24. package/_cjs/client/cdp.js +9 -3
  25. package/_cjs/client/cdp.js.map +1 -1
  26. package/_cjs/client/evm/evm.js +133 -15
  27. package/_cjs/client/evm/evm.js.map +1 -1
  28. package/_cjs/client/policies/index.js +6 -0
  29. package/_cjs/client/policies/index.js.map +1 -0
  30. package/_cjs/client/policies/policies.js +232 -0
  31. package/_cjs/client/policies/policies.js.map +1 -0
  32. package/_cjs/client/policies/policies.types.js +3 -0
  33. package/_cjs/client/policies/policies.types.js.map +1 -0
  34. package/_cjs/client/solana/solana.js +76 -19
  35. package/_cjs/client/solana/solana.js.map +1 -1
  36. package/_cjs/index.js +4 -1
  37. package/_cjs/index.js.map +1 -1
  38. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +35 -4
  39. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  40. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +27 -1
  41. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  42. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js +56 -1
  43. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  44. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +3 -1
  45. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  46. package/_cjs/openapi-client/generated/index.msw.js +2 -2
  47. package/_cjs/openapi-client/generated/index.msw.js.map +1 -1
  48. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +121 -36
  49. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  50. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js +14 -1
  51. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  52. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +42 -1
  53. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  54. package/_cjs/openapi-client/index.js +6 -1
  55. package/_cjs/openapi-client/index.js.map +1 -1
  56. package/_cjs/policies/schema.js +245 -0
  57. package/_cjs/policies/schema.js.map +1 -0
  58. package/_cjs/policies/types.js +3 -0
  59. package/_cjs/policies/types.js.map +1 -0
  60. package/_cjs/version.js +1 -1
  61. package/_esm/accounts/evm/toEvmServerAccount.js +4 -2
  62. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  63. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  64. package/_esm/accounts/solana/toSolanaAccount.js +8 -0
  65. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  66. package/_esm/actions/evm/transfer/accountTransferStrategy.js +31 -64
  67. package/_esm/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
  68. package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js +39 -56
  69. package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
  70. package/_esm/actions/evm/transfer/transfer.js +2 -39
  71. package/_esm/actions/evm/transfer/transfer.js.map +1 -1
  72. package/_esm/actions/evm/transfer/utils.js +0 -11
  73. package/_esm/actions/evm/transfer/utils.js.map +1 -1
  74. package/_esm/actions/solana/constants.js +6 -0
  75. package/_esm/actions/solana/constants.js.map +1 -0
  76. package/_esm/actions/solana/transfer.js +114 -0
  77. package/_esm/actions/solana/transfer.js.map +1 -0
  78. package/_esm/actions/solana/utils.js +61 -0
  79. package/_esm/actions/solana/utils.js.map +1 -0
  80. package/_esm/analytics.js +70 -7
  81. package/_esm/analytics.js.map +1 -1
  82. package/_esm/client/cdp.js +10 -4
  83. package/_esm/client/cdp.js.map +1 -1
  84. package/_esm/client/evm/evm.js +133 -15
  85. package/_esm/client/evm/evm.js.map +1 -1
  86. package/_esm/client/policies/index.js +2 -0
  87. package/_esm/client/policies/index.js.map +1 -0
  88. package/_esm/client/policies/policies.js +228 -0
  89. package/_esm/client/policies/policies.js.map +1 -0
  90. package/_esm/client/policies/policies.types.js +2 -0
  91. package/_esm/client/policies/policies.types.js.map +1 -0
  92. package/_esm/client/solana/solana.js +76 -19
  93. package/_esm/client/solana/solana.js.map +1 -1
  94. package/_esm/index.js +1 -0
  95. package/_esm/index.js.map +1 -1
  96. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +34 -3
  97. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  98. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +24 -0
  99. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  100. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js +51 -0
  101. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  102. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +3 -1
  103. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  104. package/_esm/openapi-client/generated/index.msw.js +2 -2
  105. package/_esm/openapi-client/generated/index.msw.js.map +1 -1
  106. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +116 -35
  107. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  108. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js +12 -0
  109. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  110. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +39 -0
  111. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  112. package/_esm/openapi-client/index.js +5 -0
  113. package/_esm/openapi-client/index.js.map +1 -1
  114. package/_esm/policies/schema.js +242 -0
  115. package/_esm/policies/schema.js.map +1 -0
  116. package/_esm/policies/types.js +2 -0
  117. package/_esm/policies/types.js.map +1 -0
  118. package/_esm/version.js +1 -1
  119. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  120. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  121. package/_types/accounts/evm/types.d.ts +6 -3
  122. package/_types/accounts/evm/types.d.ts.map +1 -1
  123. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  124. package/_types/actions/evm/transfer/accountTransferStrategy.d.ts +2 -2
  125. package/_types/actions/evm/transfer/accountTransferStrategy.d.ts.map +1 -1
  126. package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts +2 -2
  127. package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts.map +1 -1
  128. package/_types/actions/evm/transfer/transfer.d.ts +6 -4
  129. package/_types/actions/evm/transfer/transfer.d.ts.map +1 -1
  130. package/_types/actions/evm/transfer/types.d.ts +8 -54
  131. package/_types/actions/evm/transfer/types.d.ts.map +1 -1
  132. package/_types/actions/evm/transfer/utils.d.ts +0 -619
  133. package/_types/actions/evm/transfer/utils.d.ts.map +1 -1
  134. package/_types/actions/evm/types.d.ts +140 -68
  135. package/_types/actions/evm/types.d.ts.map +1 -1
  136. package/_types/actions/solana/constants.d.ts +6 -0
  137. package/_types/actions/solana/constants.d.ts.map +1 -0
  138. package/_types/actions/solana/transfer.d.ts +36 -0
  139. package/_types/actions/solana/transfer.d.ts.map +1 -0
  140. package/_types/actions/solana/types.d.ts +27 -0
  141. package/_types/actions/solana/types.d.ts.map +1 -1
  142. package/_types/actions/solana/utils.d.ts +34 -0
  143. package/_types/actions/solana/utils.d.ts.map +1 -0
  144. package/_types/analytics.d.ts +14 -5
  145. package/_types/analytics.d.ts.map +1 -1
  146. package/_types/client/cdp.d.ts +3 -0
  147. package/_types/client/cdp.d.ts.map +1 -1
  148. package/_types/client/evm/evm.d.ts +89 -1
  149. package/_types/client/evm/evm.d.ts.map +1 -1
  150. package/_types/client/evm/evm.types.d.ts +33 -3
  151. package/_types/client/evm/evm.types.d.ts.map +1 -1
  152. package/_types/client/policies/index.d.ts +2 -0
  153. package/_types/client/policies/index.d.ts.map +1 -0
  154. package/_types/client/policies/policies.d.ts +216 -0
  155. package/_types/client/policies/policies.d.ts.map +1 -0
  156. package/_types/client/policies/policies.types.d.ts +96 -0
  157. package/_types/client/policies/policies.types.d.ts.map +1 -0
  158. package/_types/client/solana/solana.d.ts +43 -1
  159. package/_types/client/solana/solana.d.ts.map +1 -1
  160. package/_types/client/solana/solana.types.d.ts +14 -2
  161. package/_types/client/solana/solana.types.d.ts.map +1 -1
  162. package/_types/index.d.ts +2 -0
  163. package/_types/index.d.ts.map +1 -1
  164. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +176 -17
  165. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  166. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +13 -1
  167. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
  168. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts +5 -1
  169. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts.map +1 -1
  170. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts +3 -1
  171. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts.map +1 -1
  172. package/_types/openapi-client/generated/index.msw.d.ts +2 -2
  173. package/_types/openapi-client/generated/index.msw.d.ts.map +1 -1
  174. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +5 -1
  175. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +1 -1
  176. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +7 -1
  177. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
  178. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts +2 -0
  179. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +1 -1
  180. package/_types/openapi-client/index.d.ts +18 -0
  181. package/_types/openapi-client/index.d.ts.map +1 -1
  182. package/_types/policies/schema.d.ts +1552 -0
  183. package/_types/policies/schema.d.ts.map +1 -0
  184. package/_types/policies/types.d.ts +19 -0
  185. package/_types/policies/types.d.ts.map +1 -0
  186. package/_types/types/misc.d.ts +39 -0
  187. package/_types/types/misc.d.ts.map +1 -1
  188. package/_types/version.d.ts +1 -1
  189. package/accounts/evm/toEvmServerAccount.ts +11 -7
  190. package/accounts/evm/toEvmSmartAccount.ts +1 -2
  191. package/accounts/evm/types.ts +6 -8
  192. package/accounts/solana/toSolanaAccount.ts +8 -0
  193. package/actions/evm/transfer/accountTransferStrategy.ts +38 -78
  194. package/actions/evm/transfer/smartAccountTransferStrategy.ts +43 -63
  195. package/actions/evm/transfer/transfer.ts +10 -51
  196. package/actions/evm/transfer/types.ts +9 -67
  197. package/actions/evm/transfer/utils.ts +0 -13
  198. package/actions/evm/types.ts +143 -78
  199. package/actions/solana/constants.ts +6 -0
  200. package/actions/solana/transfer.ts +219 -0
  201. package/actions/solana/types.ts +28 -0
  202. package/actions/solana/utils.ts +79 -0
  203. package/analytics.ts +86 -11
  204. package/client/cdp.ts +11 -4
  205. package/client/evm/evm.ts +159 -17
  206. package/client/evm/evm.types.ts +38 -1
  207. package/client/policies/index.ts +1 -0
  208. package/client/policies/policies.ts +246 -0
  209. package/client/policies/policies.types.ts +109 -0
  210. package/client/solana/solana.ts +94 -20
  211. package/client/solana/solana.types.ts +16 -1
  212. package/index.ts +7 -0
  213. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +220 -18
  214. package/openapi-client/generated/evm-accounts/evm-accounts.msw.ts +102 -0
  215. package/openapi-client/generated/evm-accounts/evm-accounts.ts +43 -0
  216. package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.ts +3 -1
  217. package/openapi-client/generated/index.msw.ts +2 -2
  218. package/openapi-client/generated/policy-engine/policy-engine.msw.ts +199 -56
  219. package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +75 -0
  220. package/openapi-client/generated/solana-accounts/solana-accounts.ts +23 -0
  221. package/openapi-client/index.ts +6 -0
  222. package/package.json +4 -2
  223. package/policies/schema.ts +349 -0
  224. package/policies/types.ts +19 -0
  225. package/types/misc.ts +41 -0
  226. package/version.ts +1 -1
@@ -0,0 +1,1552 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Enum for EthValueOperator values
4
+ */
5
+ export declare const EthValueOperatorEnum: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
6
+ /**
7
+ * Type representing the operators that can be used for ETH value comparisons.
8
+ * These operators determine how transaction values are compared against thresholds.
9
+ */
10
+ export type EthValueOperator = z.infer<typeof EthValueOperatorEnum>;
11
+ /**
12
+ * Enum for EvmAddressOperator values
13
+ */
14
+ export declare const EvmAddressOperatorEnum: z.ZodEnum<["in", "not in"]>;
15
+ /**
16
+ * Type representing the operators that can be used for EVM address comparisons.
17
+ * These operators determine how transaction recipient addresses are evaluated against a list.
18
+ */
19
+ export type EvmAddressOperator = z.infer<typeof EvmAddressOperatorEnum>;
20
+ /**
21
+ * Enum for EvmNetworkOperator values
22
+ */
23
+ export declare const EvmNetworkOperatorEnum: z.ZodEnum<["in", "not in"]>;
24
+ /**
25
+ * Type representing the operators that can be used for EVM network comparisons.
26
+ * These operators determine how the transaction's network is evaluated against a list.
27
+ */
28
+ export type EvmNetworkOperator = z.infer<typeof EvmNetworkOperatorEnum>;
29
+ /**
30
+ * Enum for SolAddressOperator values
31
+ */
32
+ export declare const SolAddressOperatorEnum: z.ZodEnum<["in", "not in"]>;
33
+ /**
34
+ * Type representing the operators that can be used for Solana address comparisons.
35
+ * These operators determine how transaction addresses are evaluated against a list.
36
+ */
37
+ export type SolAddressOperator = z.infer<typeof SolAddressOperatorEnum>;
38
+ /**
39
+ * Schema for ETH value criterions
40
+ */
41
+ export declare const EthValueCriterionSchema: z.ZodObject<{
42
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
43
+ type: z.ZodLiteral<"ethValue">;
44
+ /**
45
+ * The ETH value amount in wei to compare against, as a string.
46
+ * Must contain only digits.
47
+ */
48
+ ethValue: z.ZodString;
49
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
50
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ ethValue: string;
53
+ type: "ethValue";
54
+ operator: ">" | ">=" | "<" | "<=" | "==";
55
+ }, {
56
+ ethValue: string;
57
+ type: "ethValue";
58
+ operator: ">" | ">=" | "<" | "<=" | "==";
59
+ }>;
60
+ export type EthValueCriterion = z.infer<typeof EthValueCriterionSchema>;
61
+ /**
62
+ * Schema for EVM address criterions
63
+ */
64
+ export declare const EvmAddressCriterionSchema: z.ZodObject<{
65
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
66
+ type: z.ZodLiteral<"evmAddress">;
67
+ /**
68
+ * Array of EVM addresses to compare against.
69
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
70
+ * Limited to a maximum of 100 addresses per criterion.
71
+ */
72
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
73
+ /**
74
+ * The operator to use for evaluating transaction addresses.
75
+ * "in" checks if an address is in the provided list.
76
+ * "not in" checks if an address is not in the provided list.
77
+ */
78
+ operator: z.ZodEnum<["in", "not in"]>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ type: "evmAddress";
81
+ operator: "in" | "not in";
82
+ addresses: `0x${string}`[];
83
+ }, {
84
+ type: "evmAddress";
85
+ operator: "in" | "not in";
86
+ addresses: string[];
87
+ }>;
88
+ export type EvmAddressCriterion = z.infer<typeof EvmAddressCriterionSchema>;
89
+ /**
90
+ * Enum for EVM Network values
91
+ */
92
+ export declare const EvmNetworkEnum: z.ZodEnum<["base", "base-sepolia"]>;
93
+ /**
94
+ * Type representing the valid networks used with CDP transaction API's.
95
+ */
96
+ export type EvmNetwork = z.infer<typeof EvmNetworkEnum>;
97
+ /**
98
+ * Schema for EVM network criterions
99
+ */
100
+ export declare const EvmNetworkCriterionSchema: z.ZodObject<{
101
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
102
+ type: z.ZodLiteral<"evmNetwork">;
103
+ /**
104
+ * Array of EVM network identifiers to compare against.
105
+ * Either "base" or "base-sepolia"
106
+ */
107
+ networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia"]>, "many">;
108
+ /**
109
+ * The operator to use for evaluating transaction network.
110
+ * "in" checks if a network is in the provided list.
111
+ * "not in" checks if a network is not in the provided list.
112
+ */
113
+ operator: z.ZodEnum<["in", "not in"]>;
114
+ }, "strip", z.ZodTypeAny, {
115
+ type: "evmNetwork";
116
+ operator: "in" | "not in";
117
+ networks: ("base-sepolia" | "base")[];
118
+ }, {
119
+ type: "evmNetwork";
120
+ operator: "in" | "not in";
121
+ networks: ("base-sepolia" | "base")[];
122
+ }>;
123
+ export type EvmNetworkCriterion = z.infer<typeof EvmNetworkCriterionSchema>;
124
+ /**
125
+ * Schema for Solana address criterions
126
+ */
127
+ export declare const SolAddressCriterionSchema: z.ZodObject<{
128
+ /** The type of criterion, must be "solAddress" for Solana address-based rules. */
129
+ type: z.ZodLiteral<"solAddress">;
130
+ /**
131
+ * Array of Solana addresses to compare against.
132
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
133
+ */
134
+ addresses: z.ZodArray<z.ZodString, "many">;
135
+ /**
136
+ * The operator to use for evaluating transaction addresses.
137
+ * "in" checks if an address is in the provided list.
138
+ * "not in" checks if an address is not in the provided list.
139
+ */
140
+ operator: z.ZodEnum<["in", "not in"]>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ type: "solAddress";
143
+ operator: "in" | "not in";
144
+ addresses: string[];
145
+ }, {
146
+ type: "solAddress";
147
+ operator: "in" | "not in";
148
+ addresses: string[];
149
+ }>;
150
+ export type SolAddressCriterion = z.infer<typeof SolAddressCriterionSchema>;
151
+ /**
152
+ * Schema for criteria used in SignEvmTransaction operations
153
+ */
154
+ export declare const SignEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
155
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
156
+ type: z.ZodLiteral<"ethValue">;
157
+ /**
158
+ * The ETH value amount in wei to compare against, as a string.
159
+ * Must contain only digits.
160
+ */
161
+ ethValue: z.ZodString;
162
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
163
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
164
+ }, "strip", z.ZodTypeAny, {
165
+ ethValue: string;
166
+ type: "ethValue";
167
+ operator: ">" | ">=" | "<" | "<=" | "==";
168
+ }, {
169
+ ethValue: string;
170
+ type: "ethValue";
171
+ operator: ">" | ">=" | "<" | "<=" | "==";
172
+ }>, z.ZodObject<{
173
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
174
+ type: z.ZodLiteral<"evmAddress">;
175
+ /**
176
+ * Array of EVM addresses to compare against.
177
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
178
+ * Limited to a maximum of 100 addresses per criterion.
179
+ */
180
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
181
+ /**
182
+ * The operator to use for evaluating transaction addresses.
183
+ * "in" checks if an address is in the provided list.
184
+ * "not in" checks if an address is not in the provided list.
185
+ */
186
+ operator: z.ZodEnum<["in", "not in"]>;
187
+ }, "strip", z.ZodTypeAny, {
188
+ type: "evmAddress";
189
+ operator: "in" | "not in";
190
+ addresses: `0x${string}`[];
191
+ }, {
192
+ type: "evmAddress";
193
+ operator: "in" | "not in";
194
+ addresses: string[];
195
+ }>]>, "many">;
196
+ /**
197
+ * Type representing a set of criteria for the signEvmTransaction operation.
198
+ * Can contain up to 10 individual criterion objects of ETH value or EVM address types.
199
+ */
200
+ export type SignEvmTransactionCriteria = z.infer<typeof SignEvmTransactionCriteriaSchema>;
201
+ /**
202
+ * Schema for criteria used in SendEvmTransaction operations
203
+ */
204
+ export declare const SendEvmTransactionCriteriaSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
205
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
206
+ type: z.ZodLiteral<"ethValue">;
207
+ /**
208
+ * The ETH value amount in wei to compare against, as a string.
209
+ * Must contain only digits.
210
+ */
211
+ ethValue: z.ZodString;
212
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
213
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
214
+ }, "strip", z.ZodTypeAny, {
215
+ ethValue: string;
216
+ type: "ethValue";
217
+ operator: ">" | ">=" | "<" | "<=" | "==";
218
+ }, {
219
+ ethValue: string;
220
+ type: "ethValue";
221
+ operator: ">" | ">=" | "<" | "<=" | "==";
222
+ }>, z.ZodObject<{
223
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
224
+ type: z.ZodLiteral<"evmAddress">;
225
+ /**
226
+ * Array of EVM addresses to compare against.
227
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
228
+ * Limited to a maximum of 100 addresses per criterion.
229
+ */
230
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
231
+ /**
232
+ * The operator to use for evaluating transaction addresses.
233
+ * "in" checks if an address is in the provided list.
234
+ * "not in" checks if an address is not in the provided list.
235
+ */
236
+ operator: z.ZodEnum<["in", "not in"]>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ type: "evmAddress";
239
+ operator: "in" | "not in";
240
+ addresses: `0x${string}`[];
241
+ }, {
242
+ type: "evmAddress";
243
+ operator: "in" | "not in";
244
+ addresses: string[];
245
+ }>, z.ZodObject<{
246
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
247
+ type: z.ZodLiteral<"evmNetwork">;
248
+ /**
249
+ * Array of EVM network identifiers to compare against.
250
+ * Either "base" or "base-sepolia"
251
+ */
252
+ networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia"]>, "many">;
253
+ /**
254
+ * The operator to use for evaluating transaction network.
255
+ * "in" checks if a network is in the provided list.
256
+ * "not in" checks if a network is not in the provided list.
257
+ */
258
+ operator: z.ZodEnum<["in", "not in"]>;
259
+ }, "strip", z.ZodTypeAny, {
260
+ type: "evmNetwork";
261
+ operator: "in" | "not in";
262
+ networks: ("base-sepolia" | "base")[];
263
+ }, {
264
+ type: "evmNetwork";
265
+ operator: "in" | "not in";
266
+ networks: ("base-sepolia" | "base")[];
267
+ }>]>, "many">;
268
+ /**
269
+ * Type representing a set of criteria for the sendEvmTransaction operation.
270
+ * Can contain up to 10 individual criterion objects of ETH value or EVM address types.
271
+ */
272
+ export type SendEvmTransactionCriteria = z.infer<typeof SendEvmTransactionCriteriaSchema>;
273
+ /**
274
+ * Schema for criteria used in SignSolTransaction operations
275
+ */
276
+ export declare const SignSolTransactionCriteriaSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
277
+ /** The type of criterion, must be "solAddress" for Solana address-based rules. */
278
+ type: z.ZodLiteral<"solAddress">;
279
+ /**
280
+ * Array of Solana addresses to compare against.
281
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
282
+ */
283
+ addresses: z.ZodArray<z.ZodString, "many">;
284
+ /**
285
+ * The operator to use for evaluating transaction addresses.
286
+ * "in" checks if an address is in the provided list.
287
+ * "not in" checks if an address is not in the provided list.
288
+ */
289
+ operator: z.ZodEnum<["in", "not in"]>;
290
+ }, "strip", z.ZodTypeAny, {
291
+ type: "solAddress";
292
+ operator: "in" | "not in";
293
+ addresses: string[];
294
+ }, {
295
+ type: "solAddress";
296
+ operator: "in" | "not in";
297
+ addresses: string[];
298
+ }>]>, "many">;
299
+ /**
300
+ * Type representing a set of criteria for the signSolTransaction operation.
301
+ * Can contain up to 10 individual Solana address criterion objects.
302
+ */
303
+ export type SignSolTransactionCriteria = z.infer<typeof SignSolTransactionCriteriaSchema>;
304
+ /**
305
+ * Enum for Solana Operation types
306
+ */
307
+ export declare const SolOperationEnum: z.ZodEnum<["signSolTransaction"]>;
308
+ /**
309
+ * Type representing the operations that can be governed by a policy.
310
+ * Defines what Solana operations the policy applies to.
311
+ */
312
+ export type SolOperation = z.infer<typeof SolOperationEnum>;
313
+ /**
314
+ * Enum for Evm Operation types
315
+ */
316
+ export declare const EvmOperationEnum: z.ZodEnum<["signEvmTransaction"]>;
317
+ /**
318
+ * Type representing the operations that can be governed by a policy.
319
+ * Defines what EVM operations the policy applies to.
320
+ */
321
+ export type EvmOperation = z.infer<typeof EvmOperationEnum>;
322
+ /**
323
+ * Enum for Action types
324
+ */
325
+ export declare const ActionEnum: z.ZodEnum<["reject", "accept"]>;
326
+ /**
327
+ * Type representing the possible policy actions.
328
+ * Determines whether matching the rule will cause a request to be accepted or rejected.
329
+ */
330
+ export type Action = z.infer<typeof ActionEnum>;
331
+ /**
332
+ * Type representing a 'signEvmTransaction' policy rule that can accept or reject specific operations
333
+ * based on a set of criteria.
334
+ */
335
+ export declare const SignEvmTransactionRuleSchema: z.ZodObject<{
336
+ /**
337
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
338
+ * "accept" will allow the transaction, "reject" will block it.
339
+ */
340
+ action: z.ZodEnum<["reject", "accept"]>;
341
+ /**
342
+ * The operation to which this rule applies.
343
+ * Must be "signEvmTransaction".
344
+ */
345
+ operation: z.ZodLiteral<"signEvmTransaction">;
346
+ /**
347
+ * The set of criteria that must be matched for this rule to apply.
348
+ * Must be compatible with the specified operation type.
349
+ */
350
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
351
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
352
+ type: z.ZodLiteral<"ethValue">;
353
+ /**
354
+ * The ETH value amount in wei to compare against, as a string.
355
+ * Must contain only digits.
356
+ */
357
+ ethValue: z.ZodString;
358
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
359
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
360
+ }, "strip", z.ZodTypeAny, {
361
+ ethValue: string;
362
+ type: "ethValue";
363
+ operator: ">" | ">=" | "<" | "<=" | "==";
364
+ }, {
365
+ ethValue: string;
366
+ type: "ethValue";
367
+ operator: ">" | ">=" | "<" | "<=" | "==";
368
+ }>, z.ZodObject<{
369
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
370
+ type: z.ZodLiteral<"evmAddress">;
371
+ /**
372
+ * Array of EVM addresses to compare against.
373
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
374
+ * Limited to a maximum of 100 addresses per criterion.
375
+ */
376
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
377
+ /**
378
+ * The operator to use for evaluating transaction addresses.
379
+ * "in" checks if an address is in the provided list.
380
+ * "not in" checks if an address is not in the provided list.
381
+ */
382
+ operator: z.ZodEnum<["in", "not in"]>;
383
+ }, "strip", z.ZodTypeAny, {
384
+ type: "evmAddress";
385
+ operator: "in" | "not in";
386
+ addresses: `0x${string}`[];
387
+ }, {
388
+ type: "evmAddress";
389
+ operator: "in" | "not in";
390
+ addresses: string[];
391
+ }>]>, "many">;
392
+ }, "strip", z.ZodTypeAny, {
393
+ action: "reject" | "accept";
394
+ operation: "signEvmTransaction";
395
+ criteria: ({
396
+ ethValue: string;
397
+ type: "ethValue";
398
+ operator: ">" | ">=" | "<" | "<=" | "==";
399
+ } | {
400
+ type: "evmAddress";
401
+ operator: "in" | "not in";
402
+ addresses: `0x${string}`[];
403
+ })[];
404
+ }, {
405
+ action: "reject" | "accept";
406
+ operation: "signEvmTransaction";
407
+ criteria: ({
408
+ ethValue: string;
409
+ type: "ethValue";
410
+ operator: ">" | ">=" | "<" | "<=" | "==";
411
+ } | {
412
+ type: "evmAddress";
413
+ operator: "in" | "not in";
414
+ addresses: string[];
415
+ })[];
416
+ }>;
417
+ export type SignEvmTransactionRule = z.infer<typeof SignEvmTransactionRuleSchema>;
418
+ /**
419
+ * Type representing a 'sendEvmTransaction' policy rule that can accept or reject specific operations
420
+ * based on a set of criteria.
421
+ */
422
+ export declare const SendEvmTransactionRuleSchema: z.ZodObject<{
423
+ /**
424
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
425
+ * "accept" will allow the transaction, "reject" will block it.
426
+ */
427
+ action: z.ZodEnum<["reject", "accept"]>;
428
+ /**
429
+ * The operation to which this rule applies.
430
+ * Must be "sendEvmTransaction".
431
+ */
432
+ operation: z.ZodLiteral<"sendEvmTransaction">;
433
+ /**
434
+ * The set of criteria that must be matched for this rule to apply.
435
+ * Must be compatible with the specified operation type.
436
+ */
437
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
438
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
439
+ type: z.ZodLiteral<"ethValue">;
440
+ /**
441
+ * The ETH value amount in wei to compare against, as a string.
442
+ * Must contain only digits.
443
+ */
444
+ ethValue: z.ZodString;
445
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
446
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
447
+ }, "strip", z.ZodTypeAny, {
448
+ ethValue: string;
449
+ type: "ethValue";
450
+ operator: ">" | ">=" | "<" | "<=" | "==";
451
+ }, {
452
+ ethValue: string;
453
+ type: "ethValue";
454
+ operator: ">" | ">=" | "<" | "<=" | "==";
455
+ }>, z.ZodObject<{
456
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
457
+ type: z.ZodLiteral<"evmAddress">;
458
+ /**
459
+ * Array of EVM addresses to compare against.
460
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
461
+ * Limited to a maximum of 100 addresses per criterion.
462
+ */
463
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
464
+ /**
465
+ * The operator to use for evaluating transaction addresses.
466
+ * "in" checks if an address is in the provided list.
467
+ * "not in" checks if an address is not in the provided list.
468
+ */
469
+ operator: z.ZodEnum<["in", "not in"]>;
470
+ }, "strip", z.ZodTypeAny, {
471
+ type: "evmAddress";
472
+ operator: "in" | "not in";
473
+ addresses: `0x${string}`[];
474
+ }, {
475
+ type: "evmAddress";
476
+ operator: "in" | "not in";
477
+ addresses: string[];
478
+ }>, z.ZodObject<{
479
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
480
+ type: z.ZodLiteral<"evmNetwork">;
481
+ /**
482
+ * Array of EVM network identifiers to compare against.
483
+ * Either "base" or "base-sepolia"
484
+ */
485
+ networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia"]>, "many">;
486
+ /**
487
+ * The operator to use for evaluating transaction network.
488
+ * "in" checks if a network is in the provided list.
489
+ * "not in" checks if a network is not in the provided list.
490
+ */
491
+ operator: z.ZodEnum<["in", "not in"]>;
492
+ }, "strip", z.ZodTypeAny, {
493
+ type: "evmNetwork";
494
+ operator: "in" | "not in";
495
+ networks: ("base-sepolia" | "base")[];
496
+ }, {
497
+ type: "evmNetwork";
498
+ operator: "in" | "not in";
499
+ networks: ("base-sepolia" | "base")[];
500
+ }>]>, "many">;
501
+ }, "strip", z.ZodTypeAny, {
502
+ action: "reject" | "accept";
503
+ operation: "sendEvmTransaction";
504
+ criteria: ({
505
+ ethValue: string;
506
+ type: "ethValue";
507
+ operator: ">" | ">=" | "<" | "<=" | "==";
508
+ } | {
509
+ type: "evmAddress";
510
+ operator: "in" | "not in";
511
+ addresses: `0x${string}`[];
512
+ } | {
513
+ type: "evmNetwork";
514
+ operator: "in" | "not in";
515
+ networks: ("base-sepolia" | "base")[];
516
+ })[];
517
+ }, {
518
+ action: "reject" | "accept";
519
+ operation: "sendEvmTransaction";
520
+ criteria: ({
521
+ ethValue: string;
522
+ type: "ethValue";
523
+ operator: ">" | ">=" | "<" | "<=" | "==";
524
+ } | {
525
+ type: "evmAddress";
526
+ operator: "in" | "not in";
527
+ addresses: string[];
528
+ } | {
529
+ type: "evmNetwork";
530
+ operator: "in" | "not in";
531
+ networks: ("base-sepolia" | "base")[];
532
+ })[];
533
+ }>;
534
+ export type SendEvmTransactionRule = z.infer<typeof SendEvmTransactionRuleSchema>;
535
+ /**
536
+ * Type representing a 'signSolTransaction' policy rule that can accept or reject specific operations
537
+ * based on a set of criteria.
538
+ */
539
+ export declare const SignSolTransactionRuleSchema: z.ZodObject<{
540
+ /**
541
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
542
+ * "accept" will allow the transaction, "reject" will block it.
543
+ */
544
+ action: z.ZodEnum<["reject", "accept"]>;
545
+ /**
546
+ * The operation to which this rule applies.
547
+ * Must be "signSolTransaction".
548
+ */
549
+ operation: z.ZodLiteral<"signSolTransaction">;
550
+ /**
551
+ * The set of criteria that must be matched for this rule to apply.
552
+ * Must be compatible with the specified operation type.
553
+ */
554
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
555
+ /** The type of criterion, must be "solAddress" for Solana address-based rules. */
556
+ type: z.ZodLiteral<"solAddress">;
557
+ /**
558
+ * Array of Solana addresses to compare against.
559
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
560
+ */
561
+ addresses: z.ZodArray<z.ZodString, "many">;
562
+ /**
563
+ * The operator to use for evaluating transaction addresses.
564
+ * "in" checks if an address is in the provided list.
565
+ * "not in" checks if an address is not in the provided list.
566
+ */
567
+ operator: z.ZodEnum<["in", "not in"]>;
568
+ }, "strip", z.ZodTypeAny, {
569
+ type: "solAddress";
570
+ operator: "in" | "not in";
571
+ addresses: string[];
572
+ }, {
573
+ type: "solAddress";
574
+ operator: "in" | "not in";
575
+ addresses: string[];
576
+ }>]>, "many">;
577
+ }, "strip", z.ZodTypeAny, {
578
+ action: "reject" | "accept";
579
+ operation: "signSolTransaction";
580
+ criteria: {
581
+ type: "solAddress";
582
+ operator: "in" | "not in";
583
+ addresses: string[];
584
+ }[];
585
+ }, {
586
+ action: "reject" | "accept";
587
+ operation: "signSolTransaction";
588
+ criteria: {
589
+ type: "solAddress";
590
+ operator: "in" | "not in";
591
+ addresses: string[];
592
+ }[];
593
+ }>;
594
+ export type SignSolTransactionRule = z.infer<typeof SignSolTransactionRuleSchema>;
595
+ /**
596
+ * Schema for policy rules
597
+ */
598
+ export declare const RuleSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
599
+ /**
600
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
601
+ * "accept" will allow the transaction, "reject" will block it.
602
+ */
603
+ action: z.ZodEnum<["reject", "accept"]>;
604
+ /**
605
+ * The operation to which this rule applies.
606
+ * Must be "signEvmTransaction".
607
+ */
608
+ operation: z.ZodLiteral<"signEvmTransaction">;
609
+ /**
610
+ * The set of criteria that must be matched for this rule to apply.
611
+ * Must be compatible with the specified operation type.
612
+ */
613
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
614
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
615
+ type: z.ZodLiteral<"ethValue">;
616
+ /**
617
+ * The ETH value amount in wei to compare against, as a string.
618
+ * Must contain only digits.
619
+ */
620
+ ethValue: z.ZodString;
621
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
622
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
623
+ }, "strip", z.ZodTypeAny, {
624
+ ethValue: string;
625
+ type: "ethValue";
626
+ operator: ">" | ">=" | "<" | "<=" | "==";
627
+ }, {
628
+ ethValue: string;
629
+ type: "ethValue";
630
+ operator: ">" | ">=" | "<" | "<=" | "==";
631
+ }>, z.ZodObject<{
632
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
633
+ type: z.ZodLiteral<"evmAddress">;
634
+ /**
635
+ * Array of EVM addresses to compare against.
636
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
637
+ * Limited to a maximum of 100 addresses per criterion.
638
+ */
639
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
640
+ /**
641
+ * The operator to use for evaluating transaction addresses.
642
+ * "in" checks if an address is in the provided list.
643
+ * "not in" checks if an address is not in the provided list.
644
+ */
645
+ operator: z.ZodEnum<["in", "not in"]>;
646
+ }, "strip", z.ZodTypeAny, {
647
+ type: "evmAddress";
648
+ operator: "in" | "not in";
649
+ addresses: `0x${string}`[];
650
+ }, {
651
+ type: "evmAddress";
652
+ operator: "in" | "not in";
653
+ addresses: string[];
654
+ }>]>, "many">;
655
+ }, "strip", z.ZodTypeAny, {
656
+ action: "reject" | "accept";
657
+ operation: "signEvmTransaction";
658
+ criteria: ({
659
+ ethValue: string;
660
+ type: "ethValue";
661
+ operator: ">" | ">=" | "<" | "<=" | "==";
662
+ } | {
663
+ type: "evmAddress";
664
+ operator: "in" | "not in";
665
+ addresses: `0x${string}`[];
666
+ })[];
667
+ }, {
668
+ action: "reject" | "accept";
669
+ operation: "signEvmTransaction";
670
+ criteria: ({
671
+ ethValue: string;
672
+ type: "ethValue";
673
+ operator: ">" | ">=" | "<" | "<=" | "==";
674
+ } | {
675
+ type: "evmAddress";
676
+ operator: "in" | "not in";
677
+ addresses: string[];
678
+ })[];
679
+ }>, z.ZodObject<{
680
+ /**
681
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
682
+ * "accept" will allow the transaction, "reject" will block it.
683
+ */
684
+ action: z.ZodEnum<["reject", "accept"]>;
685
+ /**
686
+ * The operation to which this rule applies.
687
+ * Must be "sendEvmTransaction".
688
+ */
689
+ operation: z.ZodLiteral<"sendEvmTransaction">;
690
+ /**
691
+ * The set of criteria that must be matched for this rule to apply.
692
+ * Must be compatible with the specified operation type.
693
+ */
694
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
695
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
696
+ type: z.ZodLiteral<"ethValue">;
697
+ /**
698
+ * The ETH value amount in wei to compare against, as a string.
699
+ * Must contain only digits.
700
+ */
701
+ ethValue: z.ZodString;
702
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
703
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
704
+ }, "strip", z.ZodTypeAny, {
705
+ ethValue: string;
706
+ type: "ethValue";
707
+ operator: ">" | ">=" | "<" | "<=" | "==";
708
+ }, {
709
+ ethValue: string;
710
+ type: "ethValue";
711
+ operator: ">" | ">=" | "<" | "<=" | "==";
712
+ }>, z.ZodObject<{
713
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
714
+ type: z.ZodLiteral<"evmAddress">;
715
+ /**
716
+ * Array of EVM addresses to compare against.
717
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
718
+ * Limited to a maximum of 100 addresses per criterion.
719
+ */
720
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
721
+ /**
722
+ * The operator to use for evaluating transaction addresses.
723
+ * "in" checks if an address is in the provided list.
724
+ * "not in" checks if an address is not in the provided list.
725
+ */
726
+ operator: z.ZodEnum<["in", "not in"]>;
727
+ }, "strip", z.ZodTypeAny, {
728
+ type: "evmAddress";
729
+ operator: "in" | "not in";
730
+ addresses: `0x${string}`[];
731
+ }, {
732
+ type: "evmAddress";
733
+ operator: "in" | "not in";
734
+ addresses: string[];
735
+ }>, z.ZodObject<{
736
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
737
+ type: z.ZodLiteral<"evmNetwork">;
738
+ /**
739
+ * Array of EVM network identifiers to compare against.
740
+ * Either "base" or "base-sepolia"
741
+ */
742
+ networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia"]>, "many">;
743
+ /**
744
+ * The operator to use for evaluating transaction network.
745
+ * "in" checks if a network is in the provided list.
746
+ * "not in" checks if a network is not in the provided list.
747
+ */
748
+ operator: z.ZodEnum<["in", "not in"]>;
749
+ }, "strip", z.ZodTypeAny, {
750
+ type: "evmNetwork";
751
+ operator: "in" | "not in";
752
+ networks: ("base-sepolia" | "base")[];
753
+ }, {
754
+ type: "evmNetwork";
755
+ operator: "in" | "not in";
756
+ networks: ("base-sepolia" | "base")[];
757
+ }>]>, "many">;
758
+ }, "strip", z.ZodTypeAny, {
759
+ action: "reject" | "accept";
760
+ operation: "sendEvmTransaction";
761
+ criteria: ({
762
+ ethValue: string;
763
+ type: "ethValue";
764
+ operator: ">" | ">=" | "<" | "<=" | "==";
765
+ } | {
766
+ type: "evmAddress";
767
+ operator: "in" | "not in";
768
+ addresses: `0x${string}`[];
769
+ } | {
770
+ type: "evmNetwork";
771
+ operator: "in" | "not in";
772
+ networks: ("base-sepolia" | "base")[];
773
+ })[];
774
+ }, {
775
+ action: "reject" | "accept";
776
+ operation: "sendEvmTransaction";
777
+ criteria: ({
778
+ ethValue: string;
779
+ type: "ethValue";
780
+ operator: ">" | ">=" | "<" | "<=" | "==";
781
+ } | {
782
+ type: "evmAddress";
783
+ operator: "in" | "not in";
784
+ addresses: string[];
785
+ } | {
786
+ type: "evmNetwork";
787
+ operator: "in" | "not in";
788
+ networks: ("base-sepolia" | "base")[];
789
+ })[];
790
+ }>, z.ZodObject<{
791
+ /**
792
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
793
+ * "accept" will allow the transaction, "reject" will block it.
794
+ */
795
+ action: z.ZodEnum<["reject", "accept"]>;
796
+ /**
797
+ * The operation to which this rule applies.
798
+ * Must be "signSolTransaction".
799
+ */
800
+ operation: z.ZodLiteral<"signSolTransaction">;
801
+ /**
802
+ * The set of criteria that must be matched for this rule to apply.
803
+ * Must be compatible with the specified operation type.
804
+ */
805
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
806
+ /** The type of criterion, must be "solAddress" for Solana address-based rules. */
807
+ type: z.ZodLiteral<"solAddress">;
808
+ /**
809
+ * Array of Solana addresses to compare against.
810
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
811
+ */
812
+ addresses: z.ZodArray<z.ZodString, "many">;
813
+ /**
814
+ * The operator to use for evaluating transaction addresses.
815
+ * "in" checks if an address is in the provided list.
816
+ * "not in" checks if an address is not in the provided list.
817
+ */
818
+ operator: z.ZodEnum<["in", "not in"]>;
819
+ }, "strip", z.ZodTypeAny, {
820
+ type: "solAddress";
821
+ operator: "in" | "not in";
822
+ addresses: string[];
823
+ }, {
824
+ type: "solAddress";
825
+ operator: "in" | "not in";
826
+ addresses: string[];
827
+ }>]>, "many">;
828
+ }, "strip", z.ZodTypeAny, {
829
+ action: "reject" | "accept";
830
+ operation: "signSolTransaction";
831
+ criteria: {
832
+ type: "solAddress";
833
+ operator: "in" | "not in";
834
+ addresses: string[];
835
+ }[];
836
+ }, {
837
+ action: "reject" | "accept";
838
+ operation: "signSolTransaction";
839
+ criteria: {
840
+ type: "solAddress";
841
+ operator: "in" | "not in";
842
+ addresses: string[];
843
+ }[];
844
+ }>]>;
845
+ /**
846
+ * Type representing a policy rule that can accept or reject specific operations
847
+ * based on a set of criteria.
848
+ */
849
+ export type Rule = z.infer<typeof RuleSchema>;
850
+ /**
851
+ * Enum for policy scopes
852
+ */
853
+ export declare const PolicyScopeEnum: z.ZodEnum<["project", "account"]>;
854
+ /**
855
+ * Type representing the scope of a policy.
856
+ * Determines whether the policy applies at the project level or account level.
857
+ */
858
+ export type PolicyScope = z.infer<typeof PolicyScopeEnum>;
859
+ /**
860
+ * Schema for creating or updating a Policy.
861
+ */
862
+ export declare const CreatePolicyBodySchema: z.ZodObject<{
863
+ /**
864
+ * The scope of the policy.
865
+ * "project" applies to the entire project, "account" applies to specific accounts.
866
+ */
867
+ scope: z.ZodEnum<["project", "account"]>;
868
+ /**
869
+ * An optional human-readable description for the policy.
870
+ * Limited to 50 characters of alphanumeric characters, spaces, commas, and periods.
871
+ */
872
+ description: z.ZodOptional<z.ZodString>;
873
+ /**
874
+ * Array of rules that comprise the policy.
875
+ * Limited to a maximum of 10 rules per policy.
876
+ */
877
+ rules: z.ZodArray<z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
878
+ /**
879
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
880
+ * "accept" will allow the transaction, "reject" will block it.
881
+ */
882
+ action: z.ZodEnum<["reject", "accept"]>;
883
+ /**
884
+ * The operation to which this rule applies.
885
+ * Must be "signEvmTransaction".
886
+ */
887
+ operation: z.ZodLiteral<"signEvmTransaction">;
888
+ /**
889
+ * The set of criteria that must be matched for this rule to apply.
890
+ * Must be compatible with the specified operation type.
891
+ */
892
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
893
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
894
+ type: z.ZodLiteral<"ethValue">;
895
+ /**
896
+ * The ETH value amount in wei to compare against, as a string.
897
+ * Must contain only digits.
898
+ */
899
+ ethValue: z.ZodString;
900
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
901
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
902
+ }, "strip", z.ZodTypeAny, {
903
+ ethValue: string;
904
+ type: "ethValue";
905
+ operator: ">" | ">=" | "<" | "<=" | "==";
906
+ }, {
907
+ ethValue: string;
908
+ type: "ethValue";
909
+ operator: ">" | ">=" | "<" | "<=" | "==";
910
+ }>, z.ZodObject<{
911
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
912
+ type: z.ZodLiteral<"evmAddress">;
913
+ /**
914
+ * Array of EVM addresses to compare against.
915
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
916
+ * Limited to a maximum of 100 addresses per criterion.
917
+ */
918
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
919
+ /**
920
+ * The operator to use for evaluating transaction addresses.
921
+ * "in" checks if an address is in the provided list.
922
+ * "not in" checks if an address is not in the provided list.
923
+ */
924
+ operator: z.ZodEnum<["in", "not in"]>;
925
+ }, "strip", z.ZodTypeAny, {
926
+ type: "evmAddress";
927
+ operator: "in" | "not in";
928
+ addresses: `0x${string}`[];
929
+ }, {
930
+ type: "evmAddress";
931
+ operator: "in" | "not in";
932
+ addresses: string[];
933
+ }>]>, "many">;
934
+ }, "strip", z.ZodTypeAny, {
935
+ action: "reject" | "accept";
936
+ operation: "signEvmTransaction";
937
+ criteria: ({
938
+ ethValue: string;
939
+ type: "ethValue";
940
+ operator: ">" | ">=" | "<" | "<=" | "==";
941
+ } | {
942
+ type: "evmAddress";
943
+ operator: "in" | "not in";
944
+ addresses: `0x${string}`[];
945
+ })[];
946
+ }, {
947
+ action: "reject" | "accept";
948
+ operation: "signEvmTransaction";
949
+ criteria: ({
950
+ ethValue: string;
951
+ type: "ethValue";
952
+ operator: ">" | ">=" | "<" | "<=" | "==";
953
+ } | {
954
+ type: "evmAddress";
955
+ operator: "in" | "not in";
956
+ addresses: string[];
957
+ })[];
958
+ }>, z.ZodObject<{
959
+ /**
960
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
961
+ * "accept" will allow the transaction, "reject" will block it.
962
+ */
963
+ action: z.ZodEnum<["reject", "accept"]>;
964
+ /**
965
+ * The operation to which this rule applies.
966
+ * Must be "sendEvmTransaction".
967
+ */
968
+ operation: z.ZodLiteral<"sendEvmTransaction">;
969
+ /**
970
+ * The set of criteria that must be matched for this rule to apply.
971
+ * Must be compatible with the specified operation type.
972
+ */
973
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
974
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
975
+ type: z.ZodLiteral<"ethValue">;
976
+ /**
977
+ * The ETH value amount in wei to compare against, as a string.
978
+ * Must contain only digits.
979
+ */
980
+ ethValue: z.ZodString;
981
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
982
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
983
+ }, "strip", z.ZodTypeAny, {
984
+ ethValue: string;
985
+ type: "ethValue";
986
+ operator: ">" | ">=" | "<" | "<=" | "==";
987
+ }, {
988
+ ethValue: string;
989
+ type: "ethValue";
990
+ operator: ">" | ">=" | "<" | "<=" | "==";
991
+ }>, z.ZodObject<{
992
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
993
+ type: z.ZodLiteral<"evmAddress">;
994
+ /**
995
+ * Array of EVM addresses to compare against.
996
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
997
+ * Limited to a maximum of 100 addresses per criterion.
998
+ */
999
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
1000
+ /**
1001
+ * The operator to use for evaluating transaction addresses.
1002
+ * "in" checks if an address is in the provided list.
1003
+ * "not in" checks if an address is not in the provided list.
1004
+ */
1005
+ operator: z.ZodEnum<["in", "not in"]>;
1006
+ }, "strip", z.ZodTypeAny, {
1007
+ type: "evmAddress";
1008
+ operator: "in" | "not in";
1009
+ addresses: `0x${string}`[];
1010
+ }, {
1011
+ type: "evmAddress";
1012
+ operator: "in" | "not in";
1013
+ addresses: string[];
1014
+ }>, z.ZodObject<{
1015
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
1016
+ type: z.ZodLiteral<"evmNetwork">;
1017
+ /**
1018
+ * Array of EVM network identifiers to compare against.
1019
+ * Either "base" or "base-sepolia"
1020
+ */
1021
+ networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia"]>, "many">;
1022
+ /**
1023
+ * The operator to use for evaluating transaction network.
1024
+ * "in" checks if a network is in the provided list.
1025
+ * "not in" checks if a network is not in the provided list.
1026
+ */
1027
+ operator: z.ZodEnum<["in", "not in"]>;
1028
+ }, "strip", z.ZodTypeAny, {
1029
+ type: "evmNetwork";
1030
+ operator: "in" | "not in";
1031
+ networks: ("base-sepolia" | "base")[];
1032
+ }, {
1033
+ type: "evmNetwork";
1034
+ operator: "in" | "not in";
1035
+ networks: ("base-sepolia" | "base")[];
1036
+ }>]>, "many">;
1037
+ }, "strip", z.ZodTypeAny, {
1038
+ action: "reject" | "accept";
1039
+ operation: "sendEvmTransaction";
1040
+ criteria: ({
1041
+ ethValue: string;
1042
+ type: "ethValue";
1043
+ operator: ">" | ">=" | "<" | "<=" | "==";
1044
+ } | {
1045
+ type: "evmAddress";
1046
+ operator: "in" | "not in";
1047
+ addresses: `0x${string}`[];
1048
+ } | {
1049
+ type: "evmNetwork";
1050
+ operator: "in" | "not in";
1051
+ networks: ("base-sepolia" | "base")[];
1052
+ })[];
1053
+ }, {
1054
+ action: "reject" | "accept";
1055
+ operation: "sendEvmTransaction";
1056
+ criteria: ({
1057
+ ethValue: string;
1058
+ type: "ethValue";
1059
+ operator: ">" | ">=" | "<" | "<=" | "==";
1060
+ } | {
1061
+ type: "evmAddress";
1062
+ operator: "in" | "not in";
1063
+ addresses: string[];
1064
+ } | {
1065
+ type: "evmNetwork";
1066
+ operator: "in" | "not in";
1067
+ networks: ("base-sepolia" | "base")[];
1068
+ })[];
1069
+ }>, z.ZodObject<{
1070
+ /**
1071
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
1072
+ * "accept" will allow the transaction, "reject" will block it.
1073
+ */
1074
+ action: z.ZodEnum<["reject", "accept"]>;
1075
+ /**
1076
+ * The operation to which this rule applies.
1077
+ * Must be "signSolTransaction".
1078
+ */
1079
+ operation: z.ZodLiteral<"signSolTransaction">;
1080
+ /**
1081
+ * The set of criteria that must be matched for this rule to apply.
1082
+ * Must be compatible with the specified operation type.
1083
+ */
1084
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1085
+ /** The type of criterion, must be "solAddress" for Solana address-based rules. */
1086
+ type: z.ZodLiteral<"solAddress">;
1087
+ /**
1088
+ * Array of Solana addresses to compare against.
1089
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
1090
+ */
1091
+ addresses: z.ZodArray<z.ZodString, "many">;
1092
+ /**
1093
+ * The operator to use for evaluating transaction addresses.
1094
+ * "in" checks if an address is in the provided list.
1095
+ * "not in" checks if an address is not in the provided list.
1096
+ */
1097
+ operator: z.ZodEnum<["in", "not in"]>;
1098
+ }, "strip", z.ZodTypeAny, {
1099
+ type: "solAddress";
1100
+ operator: "in" | "not in";
1101
+ addresses: string[];
1102
+ }, {
1103
+ type: "solAddress";
1104
+ operator: "in" | "not in";
1105
+ addresses: string[];
1106
+ }>]>, "many">;
1107
+ }, "strip", z.ZodTypeAny, {
1108
+ action: "reject" | "accept";
1109
+ operation: "signSolTransaction";
1110
+ criteria: {
1111
+ type: "solAddress";
1112
+ operator: "in" | "not in";
1113
+ addresses: string[];
1114
+ }[];
1115
+ }, {
1116
+ action: "reject" | "accept";
1117
+ operation: "signSolTransaction";
1118
+ criteria: {
1119
+ type: "solAddress";
1120
+ operator: "in" | "not in";
1121
+ addresses: string[];
1122
+ }[];
1123
+ }>]>, "many">;
1124
+ }, "strip", z.ZodTypeAny, {
1125
+ scope: "project" | "account";
1126
+ rules: ({
1127
+ action: "reject" | "accept";
1128
+ operation: "signEvmTransaction";
1129
+ criteria: ({
1130
+ ethValue: string;
1131
+ type: "ethValue";
1132
+ operator: ">" | ">=" | "<" | "<=" | "==";
1133
+ } | {
1134
+ type: "evmAddress";
1135
+ operator: "in" | "not in";
1136
+ addresses: `0x${string}`[];
1137
+ })[];
1138
+ } | {
1139
+ action: "reject" | "accept";
1140
+ operation: "sendEvmTransaction";
1141
+ criteria: ({
1142
+ ethValue: string;
1143
+ type: "ethValue";
1144
+ operator: ">" | ">=" | "<" | "<=" | "==";
1145
+ } | {
1146
+ type: "evmAddress";
1147
+ operator: "in" | "not in";
1148
+ addresses: `0x${string}`[];
1149
+ } | {
1150
+ type: "evmNetwork";
1151
+ operator: "in" | "not in";
1152
+ networks: ("base-sepolia" | "base")[];
1153
+ })[];
1154
+ } | {
1155
+ action: "reject" | "accept";
1156
+ operation: "signSolTransaction";
1157
+ criteria: {
1158
+ type: "solAddress";
1159
+ operator: "in" | "not in";
1160
+ addresses: string[];
1161
+ }[];
1162
+ })[];
1163
+ description?: string | undefined;
1164
+ }, {
1165
+ scope: "project" | "account";
1166
+ rules: ({
1167
+ action: "reject" | "accept";
1168
+ operation: "signEvmTransaction";
1169
+ criteria: ({
1170
+ ethValue: string;
1171
+ type: "ethValue";
1172
+ operator: ">" | ">=" | "<" | "<=" | "==";
1173
+ } | {
1174
+ type: "evmAddress";
1175
+ operator: "in" | "not in";
1176
+ addresses: string[];
1177
+ })[];
1178
+ } | {
1179
+ action: "reject" | "accept";
1180
+ operation: "sendEvmTransaction";
1181
+ criteria: ({
1182
+ ethValue: string;
1183
+ type: "ethValue";
1184
+ operator: ">" | ">=" | "<" | "<=" | "==";
1185
+ } | {
1186
+ type: "evmAddress";
1187
+ operator: "in" | "not in";
1188
+ addresses: string[];
1189
+ } | {
1190
+ type: "evmNetwork";
1191
+ operator: "in" | "not in";
1192
+ networks: ("base-sepolia" | "base")[];
1193
+ })[];
1194
+ } | {
1195
+ action: "reject" | "accept";
1196
+ operation: "signSolTransaction";
1197
+ criteria: {
1198
+ type: "solAddress";
1199
+ operator: "in" | "not in";
1200
+ addresses: string[];
1201
+ }[];
1202
+ })[];
1203
+ description?: string | undefined;
1204
+ }>;
1205
+ /**
1206
+ * Type representing the request body for creating a new policy.
1207
+ * Contains the scope, optional description, and rules for the policy.
1208
+ */
1209
+ export type CreatePolicyBody = z.infer<typeof CreatePolicyBodySchema>;
1210
+ export declare const UpdatePolicyBodySchema: z.ZodObject<{
1211
+ /**
1212
+ * An optional human-readable description for the policy.
1213
+ * Limited to 50 characters of alphanumeric characters, spaces, commas, and periods.
1214
+ */
1215
+ description: z.ZodOptional<z.ZodString>;
1216
+ /**
1217
+ * Array of rules that comprise the policy.
1218
+ * Limited to a maximum of 10 rules per policy.
1219
+ */
1220
+ rules: z.ZodArray<z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
1221
+ /**
1222
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
1223
+ * "accept" will allow the transaction, "reject" will block it.
1224
+ */
1225
+ action: z.ZodEnum<["reject", "accept"]>;
1226
+ /**
1227
+ * The operation to which this rule applies.
1228
+ * Must be "signEvmTransaction".
1229
+ */
1230
+ operation: z.ZodLiteral<"signEvmTransaction">;
1231
+ /**
1232
+ * The set of criteria that must be matched for this rule to apply.
1233
+ * Must be compatible with the specified operation type.
1234
+ */
1235
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1236
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
1237
+ type: z.ZodLiteral<"ethValue">;
1238
+ /**
1239
+ * The ETH value amount in wei to compare against, as a string.
1240
+ * Must contain only digits.
1241
+ */
1242
+ ethValue: z.ZodString;
1243
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
1244
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
1245
+ }, "strip", z.ZodTypeAny, {
1246
+ ethValue: string;
1247
+ type: "ethValue";
1248
+ operator: ">" | ">=" | "<" | "<=" | "==";
1249
+ }, {
1250
+ ethValue: string;
1251
+ type: "ethValue";
1252
+ operator: ">" | ">=" | "<" | "<=" | "==";
1253
+ }>, z.ZodObject<{
1254
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
1255
+ type: z.ZodLiteral<"evmAddress">;
1256
+ /**
1257
+ * Array of EVM addresses to compare against.
1258
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
1259
+ * Limited to a maximum of 100 addresses per criterion.
1260
+ */
1261
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
1262
+ /**
1263
+ * The operator to use for evaluating transaction addresses.
1264
+ * "in" checks if an address is in the provided list.
1265
+ * "not in" checks if an address is not in the provided list.
1266
+ */
1267
+ operator: z.ZodEnum<["in", "not in"]>;
1268
+ }, "strip", z.ZodTypeAny, {
1269
+ type: "evmAddress";
1270
+ operator: "in" | "not in";
1271
+ addresses: `0x${string}`[];
1272
+ }, {
1273
+ type: "evmAddress";
1274
+ operator: "in" | "not in";
1275
+ addresses: string[];
1276
+ }>]>, "many">;
1277
+ }, "strip", z.ZodTypeAny, {
1278
+ action: "reject" | "accept";
1279
+ operation: "signEvmTransaction";
1280
+ criteria: ({
1281
+ ethValue: string;
1282
+ type: "ethValue";
1283
+ operator: ">" | ">=" | "<" | "<=" | "==";
1284
+ } | {
1285
+ type: "evmAddress";
1286
+ operator: "in" | "not in";
1287
+ addresses: `0x${string}`[];
1288
+ })[];
1289
+ }, {
1290
+ action: "reject" | "accept";
1291
+ operation: "signEvmTransaction";
1292
+ criteria: ({
1293
+ ethValue: string;
1294
+ type: "ethValue";
1295
+ operator: ">" | ">=" | "<" | "<=" | "==";
1296
+ } | {
1297
+ type: "evmAddress";
1298
+ operator: "in" | "not in";
1299
+ addresses: string[];
1300
+ })[];
1301
+ }>, z.ZodObject<{
1302
+ /**
1303
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
1304
+ * "accept" will allow the transaction, "reject" will block it.
1305
+ */
1306
+ action: z.ZodEnum<["reject", "accept"]>;
1307
+ /**
1308
+ * The operation to which this rule applies.
1309
+ * Must be "sendEvmTransaction".
1310
+ */
1311
+ operation: z.ZodLiteral<"sendEvmTransaction">;
1312
+ /**
1313
+ * The set of criteria that must be matched for this rule to apply.
1314
+ * Must be compatible with the specified operation type.
1315
+ */
1316
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1317
+ /** The type of criterion, must be "ethValue" for Ethereum value-based rules. */
1318
+ type: z.ZodLiteral<"ethValue">;
1319
+ /**
1320
+ * The ETH value amount in wei to compare against, as a string.
1321
+ * Must contain only digits.
1322
+ */
1323
+ ethValue: z.ZodString;
1324
+ /** The comparison operator to use for evaluating transaction values against the threshold. */
1325
+ operator: z.ZodEnum<[">", ">=", "<", "<=", "=="]>;
1326
+ }, "strip", z.ZodTypeAny, {
1327
+ ethValue: string;
1328
+ type: "ethValue";
1329
+ operator: ">" | ">=" | "<" | "<=" | "==";
1330
+ }, {
1331
+ ethValue: string;
1332
+ type: "ethValue";
1333
+ operator: ">" | ">=" | "<" | "<=" | "==";
1334
+ }>, z.ZodObject<{
1335
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
1336
+ type: z.ZodLiteral<"evmAddress">;
1337
+ /**
1338
+ * Array of EVM addresses to compare against.
1339
+ * Each address must be a 0x-prefixed 40-character hexadecimal string.
1340
+ * Limited to a maximum of 100 addresses per criterion.
1341
+ */
1342
+ addresses: z.ZodArray<z.ZodEffects<z.ZodString, `0x${string}`, string>, "many">;
1343
+ /**
1344
+ * The operator to use for evaluating transaction addresses.
1345
+ * "in" checks if an address is in the provided list.
1346
+ * "not in" checks if an address is not in the provided list.
1347
+ */
1348
+ operator: z.ZodEnum<["in", "not in"]>;
1349
+ }, "strip", z.ZodTypeAny, {
1350
+ type: "evmAddress";
1351
+ operator: "in" | "not in";
1352
+ addresses: `0x${string}`[];
1353
+ }, {
1354
+ type: "evmAddress";
1355
+ operator: "in" | "not in";
1356
+ addresses: string[];
1357
+ }>, z.ZodObject<{
1358
+ /** The type of criterion, must be "evmAddress" for EVM address-based rules. */
1359
+ type: z.ZodLiteral<"evmNetwork">;
1360
+ /**
1361
+ * Array of EVM network identifiers to compare against.
1362
+ * Either "base" or "base-sepolia"
1363
+ */
1364
+ networks: z.ZodArray<z.ZodEnum<["base", "base-sepolia"]>, "many">;
1365
+ /**
1366
+ * The operator to use for evaluating transaction network.
1367
+ * "in" checks if a network is in the provided list.
1368
+ * "not in" checks if a network is not in the provided list.
1369
+ */
1370
+ operator: z.ZodEnum<["in", "not in"]>;
1371
+ }, "strip", z.ZodTypeAny, {
1372
+ type: "evmNetwork";
1373
+ operator: "in" | "not in";
1374
+ networks: ("base-sepolia" | "base")[];
1375
+ }, {
1376
+ type: "evmNetwork";
1377
+ operator: "in" | "not in";
1378
+ networks: ("base-sepolia" | "base")[];
1379
+ }>]>, "many">;
1380
+ }, "strip", z.ZodTypeAny, {
1381
+ action: "reject" | "accept";
1382
+ operation: "sendEvmTransaction";
1383
+ criteria: ({
1384
+ ethValue: string;
1385
+ type: "ethValue";
1386
+ operator: ">" | ">=" | "<" | "<=" | "==";
1387
+ } | {
1388
+ type: "evmAddress";
1389
+ operator: "in" | "not in";
1390
+ addresses: `0x${string}`[];
1391
+ } | {
1392
+ type: "evmNetwork";
1393
+ operator: "in" | "not in";
1394
+ networks: ("base-sepolia" | "base")[];
1395
+ })[];
1396
+ }, {
1397
+ action: "reject" | "accept";
1398
+ operation: "sendEvmTransaction";
1399
+ criteria: ({
1400
+ ethValue: string;
1401
+ type: "ethValue";
1402
+ operator: ">" | ">=" | "<" | "<=" | "==";
1403
+ } | {
1404
+ type: "evmAddress";
1405
+ operator: "in" | "not in";
1406
+ addresses: string[];
1407
+ } | {
1408
+ type: "evmNetwork";
1409
+ operator: "in" | "not in";
1410
+ networks: ("base-sepolia" | "base")[];
1411
+ })[];
1412
+ }>, z.ZodObject<{
1413
+ /**
1414
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
1415
+ * "accept" will allow the transaction, "reject" will block it.
1416
+ */
1417
+ action: z.ZodEnum<["reject", "accept"]>;
1418
+ /**
1419
+ * The operation to which this rule applies.
1420
+ * Must be "signSolTransaction".
1421
+ */
1422
+ operation: z.ZodLiteral<"signSolTransaction">;
1423
+ /**
1424
+ * The set of criteria that must be matched for this rule to apply.
1425
+ * Must be compatible with the specified operation type.
1426
+ */
1427
+ criteria: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1428
+ /** The type of criterion, must be "solAddress" for Solana address-based rules. */
1429
+ type: z.ZodLiteral<"solAddress">;
1430
+ /**
1431
+ * Array of Solana addresses to compare against.
1432
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
1433
+ */
1434
+ addresses: z.ZodArray<z.ZodString, "many">;
1435
+ /**
1436
+ * The operator to use for evaluating transaction addresses.
1437
+ * "in" checks if an address is in the provided list.
1438
+ * "not in" checks if an address is not in the provided list.
1439
+ */
1440
+ operator: z.ZodEnum<["in", "not in"]>;
1441
+ }, "strip", z.ZodTypeAny, {
1442
+ type: "solAddress";
1443
+ operator: "in" | "not in";
1444
+ addresses: string[];
1445
+ }, {
1446
+ type: "solAddress";
1447
+ operator: "in" | "not in";
1448
+ addresses: string[];
1449
+ }>]>, "many">;
1450
+ }, "strip", z.ZodTypeAny, {
1451
+ action: "reject" | "accept";
1452
+ operation: "signSolTransaction";
1453
+ criteria: {
1454
+ type: "solAddress";
1455
+ operator: "in" | "not in";
1456
+ addresses: string[];
1457
+ }[];
1458
+ }, {
1459
+ action: "reject" | "accept";
1460
+ operation: "signSolTransaction";
1461
+ criteria: {
1462
+ type: "solAddress";
1463
+ operator: "in" | "not in";
1464
+ addresses: string[];
1465
+ }[];
1466
+ }>]>, "many">;
1467
+ }, "strip", z.ZodTypeAny, {
1468
+ rules: ({
1469
+ action: "reject" | "accept";
1470
+ operation: "signEvmTransaction";
1471
+ criteria: ({
1472
+ ethValue: string;
1473
+ type: "ethValue";
1474
+ operator: ">" | ">=" | "<" | "<=" | "==";
1475
+ } | {
1476
+ type: "evmAddress";
1477
+ operator: "in" | "not in";
1478
+ addresses: `0x${string}`[];
1479
+ })[];
1480
+ } | {
1481
+ action: "reject" | "accept";
1482
+ operation: "sendEvmTransaction";
1483
+ criteria: ({
1484
+ ethValue: string;
1485
+ type: "ethValue";
1486
+ operator: ">" | ">=" | "<" | "<=" | "==";
1487
+ } | {
1488
+ type: "evmAddress";
1489
+ operator: "in" | "not in";
1490
+ addresses: `0x${string}`[];
1491
+ } | {
1492
+ type: "evmNetwork";
1493
+ operator: "in" | "not in";
1494
+ networks: ("base-sepolia" | "base")[];
1495
+ })[];
1496
+ } | {
1497
+ action: "reject" | "accept";
1498
+ operation: "signSolTransaction";
1499
+ criteria: {
1500
+ type: "solAddress";
1501
+ operator: "in" | "not in";
1502
+ addresses: string[];
1503
+ }[];
1504
+ })[];
1505
+ description?: string | undefined;
1506
+ }, {
1507
+ rules: ({
1508
+ action: "reject" | "accept";
1509
+ operation: "signEvmTransaction";
1510
+ criteria: ({
1511
+ ethValue: string;
1512
+ type: "ethValue";
1513
+ operator: ">" | ">=" | "<" | "<=" | "==";
1514
+ } | {
1515
+ type: "evmAddress";
1516
+ operator: "in" | "not in";
1517
+ addresses: string[];
1518
+ })[];
1519
+ } | {
1520
+ action: "reject" | "accept";
1521
+ operation: "sendEvmTransaction";
1522
+ criteria: ({
1523
+ ethValue: string;
1524
+ type: "ethValue";
1525
+ operator: ">" | ">=" | "<" | "<=" | "==";
1526
+ } | {
1527
+ type: "evmAddress";
1528
+ operator: "in" | "not in";
1529
+ addresses: string[];
1530
+ } | {
1531
+ type: "evmNetwork";
1532
+ operator: "in" | "not in";
1533
+ networks: ("base-sepolia" | "base")[];
1534
+ })[];
1535
+ } | {
1536
+ action: "reject" | "accept";
1537
+ operation: "signSolTransaction";
1538
+ criteria: {
1539
+ type: "solAddress";
1540
+ operator: "in" | "not in";
1541
+ addresses: string[];
1542
+ }[];
1543
+ })[];
1544
+ description?: string | undefined;
1545
+ }>;
1546
+ /**
1547
+ * Type representing the request body for updating an existing policy.
1548
+ * Contains the optional description and rules for the updated policy.
1549
+ * Note that the scope cannot be changed once a policy is created.
1550
+ */
1551
+ export type UpdatePolicyBody = z.infer<typeof UpdatePolicyBodySchema>;
1552
+ //# sourceMappingURL=schema.d.ts.map