@privy-io/node 0.10.1 → 0.11.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 (214) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/client.d.mts +37 -19
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +37 -19
  5. package/client.d.ts.map +1 -1
  6. package/client.js +29 -10
  7. package/client.js.map +1 -1
  8. package/client.mjs +30 -11
  9. package/client.mjs.map +1 -1
  10. package/index.d.mts +2 -0
  11. package/index.d.mts.map +1 -1
  12. package/index.d.ts +2 -0
  13. package/index.d.ts.map +1 -1
  14. package/index.js.map +1 -1
  15. package/index.mjs.map +1 -1
  16. package/package.json +12 -1
  17. package/public-api/PrivyClient.d.mts +3 -0
  18. package/public-api/PrivyClient.d.mts.map +1 -1
  19. package/public-api/PrivyClient.d.ts +3 -0
  20. package/public-api/PrivyClient.d.ts.map +1 -1
  21. package/public-api/PrivyClient.js +5 -0
  22. package/public-api/PrivyClient.js.map +1 -1
  23. package/public-api/PrivyClient.mjs +5 -0
  24. package/public-api/PrivyClient.mjs.map +1 -1
  25. package/public-api/services/apps.d.mts +25 -0
  26. package/public-api/services/apps.d.mts.map +1 -0
  27. package/public-api/services/apps.d.ts +25 -0
  28. package/public-api/services/apps.d.ts.map +1 -0
  29. package/public-api/services/apps.js +56 -0
  30. package/public-api/services/apps.js.map +1 -0
  31. package/public-api/services/apps.mjs +52 -0
  32. package/public-api/services/apps.mjs.map +1 -0
  33. package/public-api/services/policies.d.mts +6 -2
  34. package/public-api/services/policies.d.mts.map +1 -1
  35. package/public-api/services/policies.d.ts +6 -2
  36. package/public-api/services/policies.d.ts.map +1 -1
  37. package/public-api/services/policies.js +6 -0
  38. package/public-api/services/policies.js.map +1 -1
  39. package/public-api/services/policies.mjs +6 -0
  40. package/public-api/services/policies.mjs.map +1 -1
  41. package/public-api/services/wallets.d.mts +5 -1
  42. package/public-api/services/wallets.d.mts.map +1 -1
  43. package/public-api/services/wallets.d.ts +5 -1
  44. package/public-api/services/wallets.d.ts.map +1 -1
  45. package/public-api/services/wallets.js +6 -0
  46. package/public-api/services/wallets.js.map +1 -1
  47. package/public-api/services/wallets.mjs +6 -0
  48. package/public-api/services/wallets.mjs.map +1 -1
  49. package/resources/accounts.d.mts +182 -4
  50. package/resources/accounts.d.mts.map +1 -1
  51. package/resources/accounts.d.ts +182 -4
  52. package/resources/accounts.d.ts.map +1 -1
  53. package/resources/apps/allowlist.d.mts +81 -0
  54. package/resources/apps/allowlist.d.mts.map +1 -0
  55. package/resources/apps/allowlist.d.ts +81 -0
  56. package/resources/apps/allowlist.d.ts.map +1 -0
  57. package/resources/apps/allowlist.js +56 -0
  58. package/resources/apps/allowlist.js.map +1 -0
  59. package/resources/apps/allowlist.mjs +52 -0
  60. package/resources/apps/allowlist.mjs.map +1 -0
  61. package/resources/apps/apps.d.mts +238 -0
  62. package/resources/apps/apps.d.mts.map +1 -0
  63. package/resources/apps/apps.d.ts +238 -0
  64. package/resources/apps/apps.d.ts.map +1 -0
  65. package/resources/apps/apps.js +44 -0
  66. package/resources/apps/apps.js.map +1 -0
  67. package/resources/apps/apps.mjs +39 -0
  68. package/resources/apps/apps.mjs.map +1 -0
  69. package/resources/apps/index.d.mts +3 -0
  70. package/resources/apps/index.d.mts.map +1 -0
  71. package/resources/apps/index.d.ts +3 -0
  72. package/resources/apps/index.d.ts.map +1 -0
  73. package/resources/apps/index.js +9 -0
  74. package/resources/apps/index.js.map +1 -0
  75. package/resources/apps/index.mjs +4 -0
  76. package/resources/apps/index.mjs.map +1 -0
  77. package/resources/apps.d.mts +1 -151
  78. package/resources/apps.d.mts.map +1 -1
  79. package/resources/apps.d.ts +1 -151
  80. package/resources/apps.d.ts.map +1 -1
  81. package/resources/apps.js +2 -5
  82. package/resources/apps.js.map +1 -1
  83. package/resources/apps.mjs +1 -3
  84. package/resources/apps.mjs.map +1 -1
  85. package/resources/client-auth.d.mts +144 -1
  86. package/resources/client-auth.d.mts.map +1 -1
  87. package/resources/client-auth.d.ts +144 -1
  88. package/resources/client-auth.d.ts.map +1 -1
  89. package/resources/index.d.mts +11 -10
  90. package/resources/index.d.mts.map +1 -1
  91. package/resources/index.d.ts +11 -10
  92. package/resources/index.d.ts.map +1 -1
  93. package/resources/index.js +4 -2
  94. package/resources/index.js.map +1 -1
  95. package/resources/index.mjs +3 -2
  96. package/resources/index.mjs.map +1 -1
  97. package/resources/intents.d.mts +2815 -31
  98. package/resources/intents.d.mts.map +1 -1
  99. package/resources/intents.d.ts +2815 -31
  100. package/resources/intents.d.ts.map +1 -1
  101. package/resources/intents.js +156 -0
  102. package/resources/intents.js.map +1 -1
  103. package/resources/intents.mjs +156 -0
  104. package/resources/intents.mjs.map +1 -1
  105. package/resources/key-quorums.d.mts +45 -2
  106. package/resources/key-quorums.d.mts.map +1 -1
  107. package/resources/key-quorums.d.ts +45 -2
  108. package/resources/key-quorums.d.ts.map +1 -1
  109. package/resources/key-quorums.js +18 -1
  110. package/resources/key-quorums.js.map +1 -1
  111. package/resources/key-quorums.mjs +18 -1
  112. package/resources/key-quorums.mjs.map +1 -1
  113. package/resources/kraken-embed.d.mts +62 -0
  114. package/resources/kraken-embed.d.mts.map +1 -0
  115. package/resources/kraken-embed.d.ts +62 -0
  116. package/resources/kraken-embed.d.ts.map +1 -0
  117. package/resources/kraken-embed.js +9 -0
  118. package/resources/kraken-embed.js.map +1 -0
  119. package/resources/kraken-embed.mjs +5 -0
  120. package/resources/kraken-embed.mjs.map +1 -0
  121. package/resources/policies.d.mts +63 -56
  122. package/resources/policies.d.mts.map +1 -1
  123. package/resources/policies.d.ts +63 -56
  124. package/resources/policies.d.ts.map +1 -1
  125. package/resources/policies.js +3 -0
  126. package/resources/policies.js.map +1 -1
  127. package/resources/policies.mjs +3 -0
  128. package/resources/policies.mjs.map +1 -1
  129. package/resources/transactions.d.mts +3 -0
  130. package/resources/transactions.d.mts.map +1 -1
  131. package/resources/transactions.d.ts +3 -0
  132. package/resources/transactions.d.ts.map +1 -1
  133. package/resources/transactions.js +3 -0
  134. package/resources/transactions.js.map +1 -1
  135. package/resources/transactions.mjs +3 -0
  136. package/resources/transactions.mjs.map +1 -1
  137. package/resources/users.d.mts +50 -47
  138. package/resources/users.d.mts.map +1 -1
  139. package/resources/users.d.ts +50 -47
  140. package/resources/users.d.ts.map +1 -1
  141. package/resources/users.js +3 -0
  142. package/resources/users.js.map +1 -1
  143. package/resources/users.mjs +3 -0
  144. package/resources/users.mjs.map +1 -1
  145. package/resources/wallets/balance.d.mts +7 -4
  146. package/resources/wallets/balance.d.mts.map +1 -1
  147. package/resources/wallets/balance.d.ts +7 -4
  148. package/resources/wallets/balance.d.ts.map +1 -1
  149. package/resources/wallets/balance.js +3 -0
  150. package/resources/wallets/balance.js.map +1 -1
  151. package/resources/wallets/balance.mjs +3 -0
  152. package/resources/wallets/balance.mjs.map +1 -1
  153. package/resources/wallets/index.d.mts +1 -1
  154. package/resources/wallets/index.d.mts.map +1 -1
  155. package/resources/wallets/index.d.ts +1 -1
  156. package/resources/wallets/index.d.ts.map +1 -1
  157. package/resources/wallets/index.js.map +1 -1
  158. package/resources/wallets/index.mjs.map +1 -1
  159. package/resources/wallets/transactions.d.mts +9 -6
  160. package/resources/wallets/transactions.d.mts.map +1 -1
  161. package/resources/wallets/transactions.d.ts +9 -6
  162. package/resources/wallets/transactions.d.ts.map +1 -1
  163. package/resources/wallets/transactions.js +3 -0
  164. package/resources/wallets/transactions.js.map +1 -1
  165. package/resources/wallets/transactions.mjs +3 -0
  166. package/resources/wallets/transactions.mjs.map +1 -1
  167. package/resources/wallets/wallets.d.mts +126 -69
  168. package/resources/wallets/wallets.d.mts.map +1 -1
  169. package/resources/wallets/wallets.d.ts +126 -69
  170. package/resources/wallets/wallets.d.ts.map +1 -1
  171. package/resources/wallets/wallets.js +11 -5
  172. package/resources/wallets/wallets.js.map +1 -1
  173. package/resources/wallets/wallets.mjs +11 -5
  174. package/resources/wallets/wallets.mjs.map +1 -1
  175. package/resources/webhooks.d.mts +319 -283
  176. package/resources/webhooks.d.mts.map +1 -1
  177. package/resources/webhooks.d.ts +319 -283
  178. package/resources/webhooks.d.ts.map +1 -1
  179. package/resources/webhooks.js.map +1 -1
  180. package/resources/webhooks.mjs.map +1 -1
  181. package/resources/yield.d.mts +26 -9
  182. package/resources/yield.d.mts.map +1 -1
  183. package/resources/yield.d.ts +26 -9
  184. package/resources/yield.d.ts.map +1 -1
  185. package/src/client.ts +196 -37
  186. package/src/index.ts +10 -0
  187. package/src/public-api/PrivyClient.ts +7 -0
  188. package/src/public-api/services/apps.ts +85 -0
  189. package/src/public-api/services/policies.ts +15 -1
  190. package/src/public-api/services/wallets.ts +14 -0
  191. package/src/resources/accounts.ts +217 -3
  192. package/src/resources/apps/allowlist.ts +126 -0
  193. package/src/resources/apps/apps.ts +391 -0
  194. package/src/resources/apps/index.ts +20 -0
  195. package/src/resources/apps.ts +1 -257
  196. package/src/resources/client-auth.ts +202 -0
  197. package/src/resources/index.ts +93 -21
  198. package/src/resources/intents.ts +4579 -40
  199. package/src/resources/key-quorums.ts +50 -2
  200. package/src/resources/kraken-embed.ts +85 -0
  201. package/src/resources/policies.ts +83 -76
  202. package/src/resources/transactions.ts +3 -0
  203. package/src/resources/users.ts +66 -63
  204. package/src/resources/wallets/balance.ts +9 -2
  205. package/src/resources/wallets/index.ts +4 -2
  206. package/src/resources/wallets/transactions.ts +10 -4
  207. package/src/resources/wallets/wallets.ts +171 -93
  208. package/src/resources/webhooks.ts +454 -438
  209. package/src/resources/yield.ts +39 -10
  210. package/src/version.ts +1 -1
  211. package/version.d.mts +1 -1
  212. package/version.d.ts +1 -1
  213. package/version.js +1 -1
  214. package/version.mjs +1 -1
@@ -1,6 +1,508 @@
1
1
  import { APIResource } from "../core/resource.js";
2
2
  import * as IntentsAPI from "./intents.js";
3
+ import * as PoliciesAPI from "./policies.js";
4
+ import * as WalletsAPI from "./wallets/wallets.js";
5
+ import { APIPromise } from "../core/api-promise.js";
6
+ import { Cursor, type CursorParams, PagePromise } from "../core/pagination.js";
7
+ import { RequestOptions } from "../internal/request-options.js";
3
8
  export declare class Intents extends APIResource {
9
+ /**
10
+ * List intents for an app. Returns a paginated list of intents with their current
11
+ * status and details.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * // Automatically fetches more pages as needed.
16
+ * for await (const intentResponse of client.intents.list()) {
17
+ * // ...
18
+ * }
19
+ * ```
20
+ */
21
+ list(query?: IntentListParams | null | undefined, options?: RequestOptions): PagePromise<IntentResponsesCursor, IntentResponse>;
22
+ /**
23
+ * Create an intent to add a rule to a policy. The intent must be authorized by the
24
+ * policy owner before it can be executed.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const ruleIntentResponse =
29
+ * await client.intents.createPolicyRule('policy_id', {
30
+ * action: 'ALLOW',
31
+ * conditions: [
32
+ * {
33
+ * field: 'to',
34
+ * field_source: 'ethereum_transaction',
35
+ * operator: 'eq',
36
+ * value: 'string',
37
+ * },
38
+ * ],
39
+ * method: 'eth_sendTransaction',
40
+ * name: 'x',
41
+ * });
42
+ * ```
43
+ */
44
+ createPolicyRule(policyID: string, body: IntentCreatePolicyRuleParams, options?: RequestOptions): APIPromise<RuleIntentResponse>;
45
+ /**
46
+ * Create an intent to delete a rule from a policy. The intent must be authorized
47
+ * by the policy owner before it can be executed.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const ruleIntentResponse =
52
+ * await client.intents.deletePolicyRule('rule_id', {
53
+ * policy_id: 'policy_id',
54
+ * });
55
+ * ```
56
+ */
57
+ deletePolicyRule(ruleID: string, params: IntentDeletePolicyRuleParams, options?: RequestOptions): APIPromise<RuleIntentResponse>;
58
+ /**
59
+ * Retrieve an intent by ID. Returns the intent details including its current
60
+ * status, authorization details, and execution result if applicable.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * const intentResponse = await client.intents.get(
65
+ * 'intent_id',
66
+ * );
67
+ * ```
68
+ */
69
+ get(intentID: string, options?: RequestOptions): APIPromise<IntentResponse>;
70
+ /**
71
+ * Create an intent to execute an RPC method on a wallet. The intent must be
72
+ * authorized by either the wallet owner or signers before it can be executed.
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * const rpcIntentResponse = await client.intents.rpc(
77
+ * 'wallet_id',
78
+ * {
79
+ * method: 'personal_sign',
80
+ * params: { encoding: 'utf-8', message: 'message' },
81
+ * },
82
+ * );
83
+ * ```
84
+ */
85
+ rpc(walletID: string, body: IntentRpcParams, options?: RequestOptions): APIPromise<RpcIntentResponse>;
86
+ /**
87
+ * Create an intent to update a key quorum. The intent must be authorized by the
88
+ * key quorum members before it can be executed.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * const keyQuorumIntentResponse =
93
+ * await client.intents.updateKeyQuorum('key_quorum_id');
94
+ * ```
95
+ */
96
+ updateKeyQuorum(keyQuorumID: string, body: IntentUpdateKeyQuorumParams, options?: RequestOptions): APIPromise<KeyQuorumIntentResponse>;
97
+ /**
98
+ * Create an intent to update a policy. The intent must be authorized by the policy
99
+ * owner before it can be executed.
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * const policyIntentResponse =
104
+ * await client.intents.updatePolicy('policy_id');
105
+ * ```
106
+ */
107
+ updatePolicy(policyID: string, body: IntentUpdatePolicyParams, options?: RequestOptions): APIPromise<PolicyIntentResponse>;
108
+ /**
109
+ * Create an intent to update a rule on a policy. The intent must be authorized by
110
+ * the policy owner before it can be executed.
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const ruleIntentResponse =
115
+ * await client.intents.updatePolicyRule('rule_id', {
116
+ * policy_id: 'policy_id',
117
+ * action: 'ALLOW',
118
+ * conditions: [
119
+ * {
120
+ * field: 'to',
121
+ * field_source: 'ethereum_transaction',
122
+ * operator: 'eq',
123
+ * value: 'string',
124
+ * },
125
+ * ],
126
+ * method: 'eth_sendTransaction',
127
+ * name: 'x',
128
+ * });
129
+ * ```
130
+ */
131
+ updatePolicyRule(ruleID: string, params: IntentUpdatePolicyRuleParams, options?: RequestOptions): APIPromise<RuleIntentResponse>;
132
+ /**
133
+ * Create an intent to update a wallet. The intent must be authorized by the wallet
134
+ * owner before it can be executed.
135
+ *
136
+ * @example
137
+ * ```ts
138
+ * const walletIntentResponse =
139
+ * await client.intents.updateWallet('wallet_id');
140
+ * ```
141
+ */
142
+ updateWallet(walletID: string, body: IntentUpdateWalletParams, options?: RequestOptions): APIPromise<WalletIntentResponse>;
143
+ }
144
+ export type IntentResponsesCursor = Cursor<IntentResponse>;
145
+ /**
146
+ * Type of intent.
147
+ */
148
+ export type IntentType = 'KEY_QUORUM' | 'POLICY' | 'RULE' | 'RPC' | 'WALLET';
149
+ /**
150
+ * Current status of an intent.
151
+ */
152
+ export type IntentStatus = 'pending' | 'executed' | 'failed' | 'expired' | 'rejected' | 'dismissed';
153
+ /**
154
+ * The original rule request. Method is POST (create), PATCH (update), or DELETE
155
+ * (delete)
156
+ */
157
+ export type RuleIntentRequestDetails = RuleIntentRequestDetails.UnionMember0 | RuleIntentRequestDetails.UnionMember1 | RuleIntentRequestDetails.UnionMember2;
158
+ export declare namespace RuleIntentRequestDetails {
159
+ interface UnionMember0 {
160
+ body: UnionMember0.Body;
161
+ method: 'POST';
162
+ url: string;
163
+ }
164
+ namespace UnionMember0 {
165
+ interface Body {
166
+ action: 'ALLOW' | 'DENY';
167
+ conditions: Array<Body.UnionMember0 | Body.UnionMember1 | Body.UnionMember2 | Body.UnionMember3 | Body.UnionMember4 | Body.UnionMember5 | Body.UnionMember6 | Body.UnionMember7 | Body.UnionMember8 | Body.UnionMember9 | Body.UnionMember10 | Body.UnionMember11 | Body.UnionMember12 | Body.UnionMember13>;
168
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signTypedData_v4' | 'eth_signUserOperation' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'signTransactionBytes' | 'exportPrivateKey' | '*';
169
+ name: string;
170
+ }
171
+ namespace Body {
172
+ interface UnionMember0 {
173
+ field: 'to' | 'value' | 'chain_id';
174
+ field_source: 'ethereum_transaction';
175
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
176
+ value: string | Array<string>;
177
+ }
178
+ interface UnionMember1 {
179
+ abi: Array<UnionMember1.Abi>;
180
+ field: string;
181
+ field_source: 'ethereum_calldata';
182
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
183
+ value: string | Array<string>;
184
+ }
185
+ namespace UnionMember1 {
186
+ interface Abi {
187
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
188
+ anonymous?: boolean;
189
+ inputs?: Array<Abi.Input>;
190
+ name?: string;
191
+ outputs?: Array<Abi.Output>;
192
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
193
+ }
194
+ namespace Abi {
195
+ interface Input {
196
+ type: string;
197
+ components?: Array<unknown>;
198
+ indexed?: boolean;
199
+ internalType?: string;
200
+ name?: string;
201
+ }
202
+ interface Output {
203
+ type: string;
204
+ components?: Array<unknown>;
205
+ indexed?: boolean;
206
+ internalType?: string;
207
+ name?: string;
208
+ }
209
+ }
210
+ }
211
+ interface UnionMember2 {
212
+ field: 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract';
213
+ field_source: 'ethereum_typed_data_domain';
214
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
215
+ value: string | Array<string>;
216
+ }
217
+ interface UnionMember3 {
218
+ field: string;
219
+ field_source: 'ethereum_typed_data_message';
220
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
221
+ typed_data: UnionMember3.TypedData;
222
+ value: string | Array<string>;
223
+ }
224
+ namespace UnionMember3 {
225
+ interface TypedData {
226
+ primary_type: string;
227
+ types: {
228
+ [key: string]: Array<TypedData.Type>;
229
+ };
230
+ }
231
+ namespace TypedData {
232
+ interface Type {
233
+ name: string;
234
+ type: string;
235
+ }
236
+ }
237
+ }
238
+ interface UnionMember4 {
239
+ field: 'contract';
240
+ field_source: 'ethereum_7702_authorization';
241
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
242
+ value: string | Array<string>;
243
+ }
244
+ interface UnionMember5 {
245
+ field: 'programId';
246
+ field_source: 'solana_program_instruction';
247
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
248
+ value: string | Array<string>;
249
+ }
250
+ interface UnionMember6 {
251
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
252
+ field_source: 'solana_system_program_instruction';
253
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
254
+ value: string | Array<string>;
255
+ }
256
+ interface UnionMember7 {
257
+ field: 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner';
258
+ field_source: 'solana_token_program_instruction';
259
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
260
+ value: string | Array<string>;
261
+ }
262
+ interface UnionMember8 {
263
+ field: 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value';
264
+ field_source: 'tron_transaction';
265
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
266
+ value: string | Array<string>;
267
+ }
268
+ interface UnionMember9 {
269
+ field: 'current_unix_timestamp';
270
+ field_source: 'system';
271
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
272
+ value: string | Array<string>;
273
+ }
274
+ interface UnionMember10 {
275
+ field: string;
276
+ field_source: 'reference';
277
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
278
+ value: string | Array<string>;
279
+ }
280
+ interface UnionMember11 {
281
+ abi: Array<UnionMember11.Abi>;
282
+ field: string;
283
+ field_source: 'tron_trigger_smart_contract_data';
284
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
285
+ value: string | Array<string>;
286
+ }
287
+ namespace UnionMember11 {
288
+ interface Abi {
289
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
290
+ anonymous?: boolean;
291
+ inputs?: Array<Abi.Input>;
292
+ name?: string;
293
+ outputs?: Array<Abi.Output>;
294
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
295
+ }
296
+ namespace Abi {
297
+ interface Input {
298
+ type: string;
299
+ components?: Array<unknown>;
300
+ indexed?: boolean;
301
+ internalType?: string;
302
+ name?: string;
303
+ }
304
+ interface Output {
305
+ type: string;
306
+ components?: Array<unknown>;
307
+ indexed?: boolean;
308
+ internalType?: string;
309
+ name?: string;
310
+ }
311
+ }
312
+ }
313
+ interface UnionMember12 {
314
+ field: 'commandName';
315
+ field_source: 'sui_transaction_command';
316
+ operator: 'eq' | 'in';
317
+ /**
318
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
319
+ */
320
+ value: WalletsAPI.SuiCommandName | Array<WalletsAPI.SuiCommandName>;
321
+ }
322
+ interface UnionMember13 {
323
+ field: 'recipient' | 'amount';
324
+ field_source: 'sui_transfer_objects_command';
325
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
326
+ value: string | Array<string>;
327
+ }
328
+ }
329
+ }
330
+ interface UnionMember1 {
331
+ body: UnionMember1.Body;
332
+ method: 'PATCH';
333
+ url: string;
334
+ }
335
+ namespace UnionMember1 {
336
+ interface Body {
337
+ action: 'ALLOW' | 'DENY';
338
+ conditions: Array<Body.UnionMember0 | Body.UnionMember1 | Body.UnionMember2 | Body.UnionMember3 | Body.UnionMember4 | Body.UnionMember5 | Body.UnionMember6 | Body.UnionMember7 | Body.UnionMember8 | Body.UnionMember9 | Body.UnionMember10 | Body.UnionMember11 | Body.UnionMember12 | Body.UnionMember13>;
339
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signTypedData_v4' | 'eth_signUserOperation' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'signTransactionBytes' | 'exportPrivateKey' | '*';
340
+ name: string;
341
+ }
342
+ namespace Body {
343
+ interface UnionMember0 {
344
+ field: 'to' | 'value' | 'chain_id';
345
+ field_source: 'ethereum_transaction';
346
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
347
+ value: string | Array<string>;
348
+ }
349
+ interface UnionMember1 {
350
+ abi: Array<UnionMember1.Abi>;
351
+ field: string;
352
+ field_source: 'ethereum_calldata';
353
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
354
+ value: string | Array<string>;
355
+ }
356
+ namespace UnionMember1 {
357
+ interface Abi {
358
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
359
+ anonymous?: boolean;
360
+ inputs?: Array<Abi.Input>;
361
+ name?: string;
362
+ outputs?: Array<Abi.Output>;
363
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
364
+ }
365
+ namespace Abi {
366
+ interface Input {
367
+ type: string;
368
+ components?: Array<unknown>;
369
+ indexed?: boolean;
370
+ internalType?: string;
371
+ name?: string;
372
+ }
373
+ interface Output {
374
+ type: string;
375
+ components?: Array<unknown>;
376
+ indexed?: boolean;
377
+ internalType?: string;
378
+ name?: string;
379
+ }
380
+ }
381
+ }
382
+ interface UnionMember2 {
383
+ field: 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract';
384
+ field_source: 'ethereum_typed_data_domain';
385
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
386
+ value: string | Array<string>;
387
+ }
388
+ interface UnionMember3 {
389
+ field: string;
390
+ field_source: 'ethereum_typed_data_message';
391
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
392
+ typed_data: UnionMember3.TypedData;
393
+ value: string | Array<string>;
394
+ }
395
+ namespace UnionMember3 {
396
+ interface TypedData {
397
+ primary_type: string;
398
+ types: {
399
+ [key: string]: Array<TypedData.Type>;
400
+ };
401
+ }
402
+ namespace TypedData {
403
+ interface Type {
404
+ name: string;
405
+ type: string;
406
+ }
407
+ }
408
+ }
409
+ interface UnionMember4 {
410
+ field: 'contract';
411
+ field_source: 'ethereum_7702_authorization';
412
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
413
+ value: string | Array<string>;
414
+ }
415
+ interface UnionMember5 {
416
+ field: 'programId';
417
+ field_source: 'solana_program_instruction';
418
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
419
+ value: string | Array<string>;
420
+ }
421
+ interface UnionMember6 {
422
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
423
+ field_source: 'solana_system_program_instruction';
424
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
425
+ value: string | Array<string>;
426
+ }
427
+ interface UnionMember7 {
428
+ field: 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner';
429
+ field_source: 'solana_token_program_instruction';
430
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
431
+ value: string | Array<string>;
432
+ }
433
+ interface UnionMember8 {
434
+ field: 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value';
435
+ field_source: 'tron_transaction';
436
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
437
+ value: string | Array<string>;
438
+ }
439
+ interface UnionMember9 {
440
+ field: 'current_unix_timestamp';
441
+ field_source: 'system';
442
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
443
+ value: string | Array<string>;
444
+ }
445
+ interface UnionMember10 {
446
+ field: string;
447
+ field_source: 'reference';
448
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
449
+ value: string | Array<string>;
450
+ }
451
+ interface UnionMember11 {
452
+ abi: Array<UnionMember11.Abi>;
453
+ field: string;
454
+ field_source: 'tron_trigger_smart_contract_data';
455
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
456
+ value: string | Array<string>;
457
+ }
458
+ namespace UnionMember11 {
459
+ interface Abi {
460
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
461
+ anonymous?: boolean;
462
+ inputs?: Array<Abi.Input>;
463
+ name?: string;
464
+ outputs?: Array<Abi.Output>;
465
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
466
+ }
467
+ namespace Abi {
468
+ interface Input {
469
+ type: string;
470
+ components?: Array<unknown>;
471
+ indexed?: boolean;
472
+ internalType?: string;
473
+ name?: string;
474
+ }
475
+ interface Output {
476
+ type: string;
477
+ components?: Array<unknown>;
478
+ indexed?: boolean;
479
+ internalType?: string;
480
+ name?: string;
481
+ }
482
+ }
483
+ }
484
+ interface UnionMember12 {
485
+ field: 'commandName';
486
+ field_source: 'sui_transaction_command';
487
+ operator: 'eq' | 'in';
488
+ /**
489
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
490
+ */
491
+ value: WalletsAPI.SuiCommandName | Array<WalletsAPI.SuiCommandName>;
492
+ }
493
+ interface UnionMember13 {
494
+ field: 'recipient' | 'amount';
495
+ field_source: 'sui_transfer_objects_command';
496
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
497
+ value: string | Array<string>;
498
+ }
499
+ }
500
+ }
501
+ interface UnionMember2 {
502
+ method: 'DELETE';
503
+ url: string;
504
+ body?: unknown;
505
+ }
4
506
  }
5
507
  /**
6
508
  * A leaf member (user or key) of a nested key quorum in an intent authorization.
@@ -9,33 +511,25 @@ export type IntentAuthorizationKeyQuorumMember = IntentAuthorizationKeyQuorumMem
9
511
  export declare namespace IntentAuthorizationKeyQuorumMember {
10
512
  interface UserMember {
11
513
  /**
12
- * Whether this member has signed the intent
514
+ * Unix timestamp when this member signed, or null if not yet signed.
13
515
  */
14
- has_signed: boolean;
516
+ signed_at: number | null;
15
517
  type: 'user';
16
518
  /**
17
519
  * User ID of the key quorum member
18
520
  */
19
521
  user_id: string;
20
- /**
21
- * Display name for the user (email, etc)
22
- */
23
- display_name?: string;
24
522
  }
25
523
  interface KeyMember {
26
- /**
27
- * Whether this key has signed the intent
28
- */
29
- has_signed: boolean;
30
524
  /**
31
525
  * Public key of the key quorum member
32
526
  */
33
527
  public_key: string;
34
- type: 'key';
35
528
  /**
36
- * Display name for the key (if any)
529
+ * Unix timestamp when this member signed, or null if not yet signed.
37
530
  */
38
- display_name?: string;
531
+ signed_at: number | null;
532
+ type: 'key';
39
533
  }
40
534
  }
41
535
  /**
@@ -46,39 +540,27 @@ export type IntentAuthorizationMember = IntentAuthorizationMember.UserMember | I
46
540
  export declare namespace IntentAuthorizationMember {
47
541
  interface UserMember {
48
542
  /**
49
- * Whether this member has signed the intent
543
+ * Unix timestamp when this member signed, or null if not yet signed.
50
544
  */
51
- has_signed: boolean;
545
+ signed_at: number | null;
52
546
  type: 'user';
53
547
  /**
54
548
  * User ID of the key quorum member
55
549
  */
56
550
  user_id: string;
57
- /**
58
- * Display name for the user (email, etc)
59
- */
60
- display_name?: string;
61
551
  }
62
552
  interface KeyMember {
63
- /**
64
- * Whether this key has signed the intent
65
- */
66
- has_signed: boolean;
67
553
  /**
68
554
  * Public key of the key quorum member
69
555
  */
70
556
  public_key: string;
71
- type: 'key';
72
557
  /**
73
- * Display name for the key (if any)
558
+ * Unix timestamp when this member signed, or null if not yet signed.
74
559
  */
75
- display_name?: string;
560
+ signed_at: number | null;
561
+ type: 'key';
76
562
  }
77
563
  interface KeyQuorumMember {
78
- /**
79
- * Whether this child key quorum has fulfilled its threshold
80
- */
81
- has_signed: boolean;
82
564
  /**
83
565
  * ID of the child key quorum member
84
566
  */
@@ -91,6 +573,10 @@ export declare namespace IntentAuthorizationMember {
91
573
  * Number of signatures required from this child quorum
92
574
  */
93
575
  threshold: number;
576
+ /**
577
+ * Whether this child key quorum has met its signature threshold
578
+ */
579
+ threshold_met: boolean;
94
580
  type: 'key_quorum';
95
581
  /**
96
582
  * Display name for the child key quorum (if any)
@@ -98,7 +584,2305 @@ export declare namespace IntentAuthorizationMember {
98
584
  display_name?: string;
99
585
  }
100
586
  }
587
+ /**
588
+ * Authorization quorum for an intent
589
+ */
590
+ export interface IntentAuthorization {
591
+ /**
592
+ * Members in this authorization quorum
593
+ */
594
+ members: Array<IntentAuthorizationMember>;
595
+ /**
596
+ * Number of signatures required to satisfy this quorum
597
+ */
598
+ threshold: number;
599
+ /**
600
+ * Display name of the key quorum
601
+ */
602
+ display_name?: string;
603
+ }
604
+ /**
605
+ * Common fields for intent action execution results.
606
+ */
607
+ export interface BaseActionResult {
608
+ /**
609
+ * Unix timestamp when the action was executed
610
+ */
611
+ executed_at: number;
612
+ /**
613
+ * HTTP status code from the action execution
614
+ */
615
+ status_code: number;
616
+ /**
617
+ * Display name of the key quorum that authorized execution
618
+ */
619
+ authorized_by_display_name?: string;
620
+ /**
621
+ * ID of the key quorum that authorized execution
622
+ */
623
+ authorized_by_id?: string;
624
+ }
625
+ /**
626
+ * Response for an RPC intent
627
+ */
628
+ export interface RpcIntentResponse {
629
+ /**
630
+ * Detailed authorization information including key quorum members, thresholds, and
631
+ * signature status
632
+ */
633
+ authorization_details: Array<IntentAuthorization>;
634
+ /**
635
+ * Unix timestamp when the intent was created
636
+ */
637
+ created_at: number;
638
+ /**
639
+ * Display name of the user who created the intent
640
+ */
641
+ created_by_display_name: string;
642
+ /**
643
+ * Unix timestamp when the intent expires
644
+ */
645
+ expires_at: number;
646
+ /**
647
+ * Unique ID for the intent
648
+ */
649
+ intent_id: string;
650
+ intent_type: 'RPC';
651
+ /**
652
+ * The original RPC request that would be sent to the wallet endpoint
653
+ */
654
+ request_details: RpcIntentResponse.RequestDetails;
655
+ /**
656
+ * ID of the resource being modified (wallet_id, policy_id, etc)
657
+ */
658
+ resource_id: string;
659
+ /**
660
+ * Current status of an intent.
661
+ */
662
+ status: IntentStatus;
663
+ /**
664
+ * Result of RPC execution (only present if status is 'executed' or 'failed')
665
+ */
666
+ action_result?: BaseActionResult;
667
+ /**
668
+ * ID of the user who created the intent. If undefined, the intent was created
669
+ * using the app secret
670
+ */
671
+ created_by_id?: string;
672
+ /**
673
+ * Current state of the wallet before any changes. If undefined, the resource was
674
+ * deleted and no longer exists
675
+ */
676
+ current_resource_data?: RpcIntentResponse.CurrentResourceData;
677
+ /**
678
+ * Human-readable reason for dismissal, present when status is 'dismissed'
679
+ */
680
+ dismissal_reason?: string;
681
+ /**
682
+ * Unix timestamp when the intent was dismissed, present when status is 'dismissed'
683
+ */
684
+ dismissed_at?: number;
685
+ /**
686
+ * Unix timestamp when the intent was rejected, present when status is 'rejected'
687
+ */
688
+ rejected_at?: number;
689
+ }
690
+ export declare namespace RpcIntentResponse {
691
+ /**
692
+ * The original RPC request that would be sent to the wallet endpoint
693
+ */
694
+ interface RequestDetails {
695
+ body: RequestDetails.UnionMember0 | RequestDetails.UnionMember1 | RequestDetails.UnionMember2 | RequestDetails.UnionMember3 | RequestDetails.UnionMember4 | RequestDetails.UnionMember5 | RequestDetails.UnionMember6 | RequestDetails.UnionMember7 | RequestDetails.UnionMember8 | RequestDetails.UnionMember9 | RequestDetails.UnionMember10 | RequestDetails.UnionMember11 | RequestDetails.UnionMember12 | RequestDetails.UnionMember13 | RequestDetails.UnionMember14 | RequestDetails.UnionMember15 | RequestDetails.UnionMember16 | RequestDetails.UnionMember17 | RequestDetails.UnionMember18 | RequestDetails.UnionMember19;
696
+ method: 'POST';
697
+ url: string;
698
+ }
699
+ namespace RequestDetails {
700
+ interface UnionMember0 {
701
+ method: 'eth_signTransaction';
702
+ params: UnionMember0.Params;
703
+ address?: string;
704
+ chain_type?: 'ethereum';
705
+ wallet_id?: string;
706
+ }
707
+ namespace UnionMember0 {
708
+ interface Params {
709
+ transaction: Params.Transaction;
710
+ }
711
+ namespace Params {
712
+ interface Transaction {
713
+ authorization_list?: Array<Transaction.AuthorizationList>;
714
+ chain_id?: string | number;
715
+ data?: string;
716
+ from?: string;
717
+ gas_limit?: string | number;
718
+ gas_price?: string | number;
719
+ max_fee_per_gas?: string | number;
720
+ max_priority_fee_per_gas?: string | number;
721
+ nonce?: string | number;
722
+ to?: string;
723
+ type?: 0 | 1 | 2 | 4;
724
+ value?: string | number;
725
+ }
726
+ namespace Transaction {
727
+ interface AuthorizationList {
728
+ chain_id: string | number;
729
+ contract: string;
730
+ nonce: string | number;
731
+ r: string;
732
+ s: string;
733
+ y_parity: number;
734
+ }
735
+ }
736
+ }
737
+ }
738
+ interface UnionMember1 {
739
+ caip2: string;
740
+ method: 'eth_sendTransaction';
741
+ params: UnionMember1.Params;
742
+ address?: string;
743
+ chain_type?: 'ethereum';
744
+ sponsor?: boolean;
745
+ wallet_id?: string;
746
+ }
747
+ namespace UnionMember1 {
748
+ interface Params {
749
+ transaction: Params.Transaction;
750
+ }
751
+ namespace Params {
752
+ interface Transaction {
753
+ authorization_list?: Array<Transaction.AuthorizationList>;
754
+ chain_id?: string | number;
755
+ data?: string;
756
+ from?: string;
757
+ gas_limit?: string | number;
758
+ gas_price?: string | number;
759
+ max_fee_per_gas?: string | number;
760
+ max_priority_fee_per_gas?: string | number;
761
+ nonce?: string | number;
762
+ to?: string;
763
+ type?: 0 | 1 | 2 | 4;
764
+ value?: string | number;
765
+ }
766
+ namespace Transaction {
767
+ interface AuthorizationList {
768
+ chain_id: string | number;
769
+ contract: string;
770
+ nonce: string | number;
771
+ r: string;
772
+ s: string;
773
+ y_parity: number;
774
+ }
775
+ }
776
+ }
777
+ }
778
+ interface UnionMember2 {
779
+ method: 'personal_sign';
780
+ params: UnionMember2.Params;
781
+ address?: string;
782
+ chain_type?: 'ethereum';
783
+ wallet_id?: string;
784
+ }
785
+ namespace UnionMember2 {
786
+ interface Params {
787
+ encoding: 'utf-8' | 'hex';
788
+ message: string;
789
+ }
790
+ }
791
+ interface UnionMember3 {
792
+ method: 'eth_signTypedData_v4';
793
+ params: UnionMember3.Params;
794
+ address?: string;
795
+ chain_type?: 'ethereum';
796
+ wallet_id?: string;
797
+ }
798
+ namespace UnionMember3 {
799
+ interface Params {
800
+ typed_data: Params.TypedData;
801
+ }
802
+ namespace Params {
803
+ interface TypedData {
804
+ domain: {
805
+ [key: string]: unknown;
806
+ };
807
+ message: {
808
+ [key: string]: unknown;
809
+ };
810
+ primary_type: string;
811
+ types: {
812
+ [key: string]: Array<TypedData.Type>;
813
+ };
814
+ }
815
+ namespace TypedData {
816
+ interface Type {
817
+ name: string;
818
+ type: string;
819
+ }
820
+ }
821
+ }
822
+ }
823
+ interface UnionMember4 {
824
+ method: 'secp256k1_sign';
825
+ params: UnionMember4.Params;
826
+ address?: string;
827
+ chain_type?: 'ethereum';
828
+ wallet_id?: string;
829
+ }
830
+ namespace UnionMember4 {
831
+ interface Params {
832
+ hash: string;
833
+ }
834
+ }
835
+ interface UnionMember5 {
836
+ method: 'eth_sign7702Authorization';
837
+ params: UnionMember5.Params;
838
+ address?: string;
839
+ chain_type?: 'ethereum';
840
+ wallet_id?: string;
841
+ }
842
+ namespace UnionMember5 {
843
+ interface Params {
844
+ chain_id: string | number;
845
+ contract: string;
846
+ nonce?: string | number;
847
+ }
848
+ }
849
+ interface UnionMember6 {
850
+ method: 'eth_signUserOperation';
851
+ params: UnionMember6.Params;
852
+ address?: string;
853
+ chain_type?: 'ethereum';
854
+ wallet_id?: string;
855
+ }
856
+ namespace UnionMember6 {
857
+ interface Params {
858
+ chain_id: string | number;
859
+ contract: string;
860
+ user_operation: Params.UserOperation;
861
+ }
862
+ namespace Params {
863
+ interface UserOperation {
864
+ call_data: string;
865
+ call_gas_limit: string;
866
+ max_fee_per_gas: string;
867
+ max_priority_fee_per_gas: string;
868
+ nonce: string;
869
+ paymaster: string;
870
+ paymaster_data: string;
871
+ paymaster_post_op_gas_limit: string;
872
+ paymaster_verification_gas_limit: string;
873
+ pre_verification_gas: string;
874
+ sender: string;
875
+ verification_gas_limit: string;
876
+ }
877
+ }
878
+ }
879
+ interface UnionMember7 {
880
+ method: 'signTransaction';
881
+ params: UnionMember7.Params;
882
+ address?: string;
883
+ chain_type?: 'solana';
884
+ wallet_id?: string;
885
+ }
886
+ namespace UnionMember7 {
887
+ interface Params {
888
+ encoding: 'base64';
889
+ transaction: string;
890
+ }
891
+ }
892
+ interface UnionMember8 {
893
+ caip2: string;
894
+ method: 'signAndSendTransaction';
895
+ params: UnionMember8.Params;
896
+ address?: string;
897
+ chain_type?: 'solana';
898
+ sponsor?: boolean;
899
+ wallet_id?: string;
900
+ }
901
+ namespace UnionMember8 {
902
+ interface Params {
903
+ encoding: 'base64';
904
+ transaction: string;
905
+ }
906
+ }
907
+ interface UnionMember9 {
908
+ method: 'signMessage';
909
+ params: UnionMember9.Params;
910
+ address?: string;
911
+ chain_type?: 'solana';
912
+ wallet_id?: string;
913
+ }
914
+ namespace UnionMember9 {
915
+ interface Params {
916
+ encoding: 'base64';
917
+ message: string;
918
+ }
919
+ }
920
+ interface UnionMember10 {
921
+ address: string;
922
+ method: 'exportPrivateKey';
923
+ params: UnionMember10.Params;
924
+ }
925
+ namespace UnionMember10 {
926
+ interface Params {
927
+ encryption_type: 'HPKE';
928
+ recipient_public_key: string;
929
+ export_type?: 'display' | 'client';
930
+ }
931
+ }
932
+ interface UnionMember11 {
933
+ method: 'transfer';
934
+ params: UnionMember11.Params;
935
+ network?: 'MAINNET' | 'REGTEST';
936
+ }
937
+ namespace UnionMember11 {
938
+ interface Params {
939
+ amount_sats: number;
940
+ receiver_spark_address: string;
941
+ }
942
+ }
943
+ interface UnionMember12 {
944
+ method: 'getBalance';
945
+ network?: 'MAINNET' | 'REGTEST';
946
+ }
947
+ interface UnionMember13 {
948
+ method: 'transferTokens';
949
+ params: UnionMember13.Params;
950
+ network?: 'MAINNET' | 'REGTEST';
951
+ }
952
+ namespace UnionMember13 {
953
+ interface Params {
954
+ receiver_spark_address: string;
955
+ token_amount: number;
956
+ token_identifier: string;
957
+ output_selection_strategy?: 'SMALL_FIRST' | 'LARGE_FIRST';
958
+ selected_outputs?: Array<Params.SelectedOutput>;
959
+ }
960
+ namespace Params {
961
+ interface SelectedOutput {
962
+ previous_transaction_hash: string;
963
+ previous_transaction_vout: number;
964
+ output?: SelectedOutput.Output;
965
+ }
966
+ namespace SelectedOutput {
967
+ interface Output {
968
+ owner_public_key: string;
969
+ token_amount: string;
970
+ id?: string;
971
+ revocation_commitment?: string;
972
+ token_identifier?: string;
973
+ token_public_key?: string;
974
+ withdraw_bond_sats?: number;
975
+ withdraw_relative_block_locktime?: number;
976
+ }
977
+ }
978
+ }
979
+ }
980
+ interface UnionMember14 {
981
+ method: 'getStaticDepositAddress';
982
+ network?: 'MAINNET' | 'REGTEST';
983
+ }
984
+ interface UnionMember15 {
985
+ method: 'getClaimStaticDepositQuote';
986
+ params: UnionMember15.Params;
987
+ network?: 'MAINNET' | 'REGTEST';
988
+ }
989
+ namespace UnionMember15 {
990
+ interface Params {
991
+ transaction_id: string;
992
+ output_index?: number;
993
+ }
994
+ }
995
+ interface UnionMember16 {
996
+ method: 'claimStaticDeposit';
997
+ params: UnionMember16.Params;
998
+ network?: 'MAINNET' | 'REGTEST';
999
+ }
1000
+ namespace UnionMember16 {
1001
+ interface Params {
1002
+ credit_amount_sats: number;
1003
+ signature: string;
1004
+ transaction_id: string;
1005
+ output_index?: number;
1006
+ }
1007
+ }
1008
+ interface UnionMember17 {
1009
+ method: 'createLightningInvoice';
1010
+ params: UnionMember17.Params;
1011
+ network?: 'MAINNET' | 'REGTEST';
1012
+ }
1013
+ namespace UnionMember17 {
1014
+ interface Params {
1015
+ amount_sats: number;
1016
+ description_hash?: string;
1017
+ expiry_seconds?: number;
1018
+ include_spark_address?: boolean;
1019
+ memo?: string;
1020
+ receiver_identity_pubkey?: string;
1021
+ }
1022
+ }
1023
+ interface UnionMember18 {
1024
+ method: 'payLightningInvoice';
1025
+ params: UnionMember18.Params;
1026
+ network?: 'MAINNET' | 'REGTEST';
1027
+ }
1028
+ namespace UnionMember18 {
1029
+ interface Params {
1030
+ invoice: string;
1031
+ max_fee_sats: number;
1032
+ amount_sats_to_send?: number;
1033
+ prefer_spark?: boolean;
1034
+ }
1035
+ }
1036
+ interface UnionMember19 {
1037
+ method: 'signMessageWithIdentityKey';
1038
+ params: UnionMember19.Params;
1039
+ network?: 'MAINNET' | 'REGTEST';
1040
+ }
1041
+ namespace UnionMember19 {
1042
+ interface Params {
1043
+ message: string;
1044
+ compact?: boolean;
1045
+ }
1046
+ }
1047
+ }
1048
+ /**
1049
+ * Current state of the wallet before any changes. If undefined, the resource was
1050
+ * deleted and no longer exists
1051
+ */
1052
+ interface CurrentResourceData {
1053
+ id: string;
1054
+ additional_signers: Array<CurrentResourceData.AdditionalSigner>;
1055
+ address: string;
1056
+ /**
1057
+ * The wallet chain types.
1058
+ */
1059
+ chain_type: WalletsAPI.WalletChainType;
1060
+ created_at: number;
1061
+ exported_at: number | null;
1062
+ imported_at: number | null;
1063
+ owner_id: string | null;
1064
+ policy_ids: Array<string>;
1065
+ authorization_threshold?: number;
1066
+ custodian?: CurrentResourceData.Custodian;
1067
+ /**
1068
+ * Information about the custodian managing this wallet.
1069
+ */
1070
+ custody?: WalletsAPI.WalletCustodian;
1071
+ public_key?: string;
1072
+ }
1073
+ namespace CurrentResourceData {
1074
+ interface AdditionalSigner {
1075
+ signer_id: string;
1076
+ override_policy_ids?: Array<string>;
1077
+ }
1078
+ interface Custodian {
1079
+ name: string;
1080
+ }
1081
+ }
1082
+ }
1083
+ /**
1084
+ * Response for a wallet intent
1085
+ */
1086
+ export interface WalletIntentResponse {
1087
+ /**
1088
+ * Detailed authorization information including key quorum members, thresholds, and
1089
+ * signature status
1090
+ */
1091
+ authorization_details: Array<IntentAuthorization>;
1092
+ /**
1093
+ * Unix timestamp when the intent was created
1094
+ */
1095
+ created_at: number;
1096
+ /**
1097
+ * Display name of the user who created the intent
1098
+ */
1099
+ created_by_display_name: string;
1100
+ /**
1101
+ * Unix timestamp when the intent expires
1102
+ */
1103
+ expires_at: number;
1104
+ /**
1105
+ * Unique ID for the intent
1106
+ */
1107
+ intent_id: string;
1108
+ intent_type: 'WALLET';
1109
+ /**
1110
+ * The original wallet update request that would be sent to the wallet endpoint
1111
+ */
1112
+ request_details: WalletIntentResponse.RequestDetails;
1113
+ /**
1114
+ * ID of the resource being modified (wallet_id, policy_id, etc)
1115
+ */
1116
+ resource_id: string;
1117
+ /**
1118
+ * Current status of an intent.
1119
+ */
1120
+ status: IntentStatus;
1121
+ /**
1122
+ * Result of wallet update execution (only present if status is 'executed' or
1123
+ * 'failed')
1124
+ */
1125
+ action_result?: BaseActionResult;
1126
+ /**
1127
+ * ID of the user who created the intent. If undefined, the intent was created
1128
+ * using the app secret
1129
+ */
1130
+ created_by_id?: string;
1131
+ /**
1132
+ * Current state of the wallet before any changes. If undefined, the resource was
1133
+ * deleted and no longer exists
1134
+ */
1135
+ current_resource_data?: WalletIntentResponse.CurrentResourceData;
1136
+ /**
1137
+ * Human-readable reason for dismissal, present when status is 'dismissed'
1138
+ */
1139
+ dismissal_reason?: string;
1140
+ /**
1141
+ * Unix timestamp when the intent was dismissed, present when status is 'dismissed'
1142
+ */
1143
+ dismissed_at?: number;
1144
+ /**
1145
+ * Unix timestamp when the intent was rejected, present when status is 'rejected'
1146
+ */
1147
+ rejected_at?: number;
1148
+ }
1149
+ export declare namespace WalletIntentResponse {
1150
+ /**
1151
+ * The original wallet update request that would be sent to the wallet endpoint
1152
+ */
1153
+ interface RequestDetails {
1154
+ body: RequestDetails.Body;
1155
+ method: 'PATCH';
1156
+ url: string;
1157
+ }
1158
+ namespace RequestDetails {
1159
+ interface Body {
1160
+ additional_signers?: Array<Body.AdditionalSigner>;
1161
+ authorization_key_ids?: Array<string>;
1162
+ authorization_threshold?: number;
1163
+ owner?: Body.UserID | Body.PublicKey | null;
1164
+ owner_id?: string | null;
1165
+ policy_ids?: Array<string>;
1166
+ }
1167
+ namespace Body {
1168
+ interface AdditionalSigner {
1169
+ signer_id: string;
1170
+ override_policy_ids?: Array<string>;
1171
+ }
1172
+ interface UserID {
1173
+ user_id: string;
1174
+ }
1175
+ interface PublicKey {
1176
+ public_key: string;
1177
+ }
1178
+ }
1179
+ }
1180
+ /**
1181
+ * Current state of the wallet before any changes. If undefined, the resource was
1182
+ * deleted and no longer exists
1183
+ */
1184
+ interface CurrentResourceData {
1185
+ id: string;
1186
+ additional_signers: Array<CurrentResourceData.AdditionalSigner>;
1187
+ address: string;
1188
+ /**
1189
+ * The wallet chain types.
1190
+ */
1191
+ chain_type: WalletsAPI.WalletChainType;
1192
+ created_at: number;
1193
+ exported_at: number | null;
1194
+ imported_at: number | null;
1195
+ owner_id: string | null;
1196
+ policy_ids: Array<string>;
1197
+ authorization_threshold?: number;
1198
+ custodian?: CurrentResourceData.Custodian;
1199
+ /**
1200
+ * Information about the custodian managing this wallet.
1201
+ */
1202
+ custody?: WalletsAPI.WalletCustodian;
1203
+ public_key?: string;
1204
+ }
1205
+ namespace CurrentResourceData {
1206
+ interface AdditionalSigner {
1207
+ signer_id: string;
1208
+ override_policy_ids?: Array<string>;
1209
+ }
1210
+ interface Custodian {
1211
+ name: string;
1212
+ }
1213
+ }
1214
+ }
1215
+ /**
1216
+ * Response for a policy intent
1217
+ */
1218
+ export interface PolicyIntentResponse {
1219
+ /**
1220
+ * Detailed authorization information including key quorum members, thresholds, and
1221
+ * signature status
1222
+ */
1223
+ authorization_details: Array<IntentAuthorization>;
1224
+ /**
1225
+ * Unix timestamp when the intent was created
1226
+ */
1227
+ created_at: number;
1228
+ /**
1229
+ * Display name of the user who created the intent
1230
+ */
1231
+ created_by_display_name: string;
1232
+ /**
1233
+ * Unix timestamp when the intent expires
1234
+ */
1235
+ expires_at: number;
1236
+ /**
1237
+ * Unique ID for the intent
1238
+ */
1239
+ intent_id: string;
1240
+ intent_type: 'POLICY';
1241
+ /**
1242
+ * The original policy update request that would be sent to the policy endpoint
1243
+ */
1244
+ request_details: PolicyIntentResponse.RequestDetails;
1245
+ /**
1246
+ * ID of the resource being modified (wallet_id, policy_id, etc)
1247
+ */
1248
+ resource_id: string;
1249
+ /**
1250
+ * Current status of an intent.
1251
+ */
1252
+ status: IntentStatus;
1253
+ /**
1254
+ * Result of policy update execution (only present if status is 'executed' or
1255
+ * 'failed')
1256
+ */
1257
+ action_result?: BaseActionResult;
1258
+ /**
1259
+ * ID of the user who created the intent. If undefined, the intent was created
1260
+ * using the app secret
1261
+ */
1262
+ created_by_id?: string;
1263
+ /**
1264
+ * Current state of the policy before any changes. If undefined, the resource was
1265
+ * deleted and no longer exists
1266
+ */
1267
+ current_resource_data?: PolicyIntentResponse.CurrentResourceData;
1268
+ /**
1269
+ * Human-readable reason for dismissal, present when status is 'dismissed'
1270
+ */
1271
+ dismissal_reason?: string;
1272
+ /**
1273
+ * Unix timestamp when the intent was dismissed, present when status is 'dismissed'
1274
+ */
1275
+ dismissed_at?: number;
1276
+ /**
1277
+ * Unix timestamp when the intent was rejected, present when status is 'rejected'
1278
+ */
1279
+ rejected_at?: number;
1280
+ }
1281
+ export declare namespace PolicyIntentResponse {
1282
+ /**
1283
+ * The original policy update request that would be sent to the policy endpoint
1284
+ */
1285
+ interface RequestDetails {
1286
+ body: RequestDetails.Body;
1287
+ method: 'PATCH';
1288
+ url: string;
1289
+ }
1290
+ namespace RequestDetails {
1291
+ interface Body {
1292
+ name?: string;
1293
+ owner?: Body.UserID | Body.PublicKey | null;
1294
+ owner_id?: string | null;
1295
+ rules?: Array<Body.Rule>;
1296
+ }
1297
+ namespace Body {
1298
+ interface UserID {
1299
+ user_id: string;
1300
+ }
1301
+ interface PublicKey {
1302
+ public_key: string;
1303
+ }
1304
+ interface Rule {
1305
+ action: 'ALLOW' | 'DENY';
1306
+ conditions: Array<Rule.UnionMember0 | Rule.UnionMember1 | Rule.UnionMember2 | Rule.UnionMember3 | Rule.UnionMember4 | Rule.UnionMember5 | Rule.UnionMember6 | Rule.UnionMember7 | Rule.UnionMember8 | Rule.UnionMember9 | Rule.UnionMember10 | Rule.UnionMember11 | Rule.UnionMember12 | Rule.UnionMember13>;
1307
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signTypedData_v4' | 'eth_signUserOperation' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'signTransactionBytes' | 'exportPrivateKey' | '*';
1308
+ name: string;
1309
+ }
1310
+ namespace Rule {
1311
+ interface UnionMember0 {
1312
+ field: 'to' | 'value' | 'chain_id';
1313
+ field_source: 'ethereum_transaction';
1314
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1315
+ value: string | Array<string>;
1316
+ }
1317
+ interface UnionMember1 {
1318
+ abi: Array<UnionMember1.Abi>;
1319
+ field: string;
1320
+ field_source: 'ethereum_calldata';
1321
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1322
+ value: string | Array<string>;
1323
+ }
1324
+ namespace UnionMember1 {
1325
+ interface Abi {
1326
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
1327
+ anonymous?: boolean;
1328
+ inputs?: Array<Abi.Input>;
1329
+ name?: string;
1330
+ outputs?: Array<Abi.Output>;
1331
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
1332
+ }
1333
+ namespace Abi {
1334
+ interface Input {
1335
+ type: string;
1336
+ components?: Array<unknown>;
1337
+ indexed?: boolean;
1338
+ internalType?: string;
1339
+ name?: string;
1340
+ }
1341
+ interface Output {
1342
+ type: string;
1343
+ components?: Array<unknown>;
1344
+ indexed?: boolean;
1345
+ internalType?: string;
1346
+ name?: string;
1347
+ }
1348
+ }
1349
+ }
1350
+ interface UnionMember2 {
1351
+ field: 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract';
1352
+ field_source: 'ethereum_typed_data_domain';
1353
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1354
+ value: string | Array<string>;
1355
+ }
1356
+ interface UnionMember3 {
1357
+ field: string;
1358
+ field_source: 'ethereum_typed_data_message';
1359
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1360
+ typed_data: UnionMember3.TypedData;
1361
+ value: string | Array<string>;
1362
+ }
1363
+ namespace UnionMember3 {
1364
+ interface TypedData {
1365
+ primary_type: string;
1366
+ types: {
1367
+ [key: string]: Array<TypedData.Type>;
1368
+ };
1369
+ }
1370
+ namespace TypedData {
1371
+ interface Type {
1372
+ name: string;
1373
+ type: string;
1374
+ }
1375
+ }
1376
+ }
1377
+ interface UnionMember4 {
1378
+ field: 'contract';
1379
+ field_source: 'ethereum_7702_authorization';
1380
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1381
+ value: string | Array<string>;
1382
+ }
1383
+ interface UnionMember5 {
1384
+ field: 'programId';
1385
+ field_source: 'solana_program_instruction';
1386
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1387
+ value: string | Array<string>;
1388
+ }
1389
+ interface UnionMember6 {
1390
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
1391
+ field_source: 'solana_system_program_instruction';
1392
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1393
+ value: string | Array<string>;
1394
+ }
1395
+ interface UnionMember7 {
1396
+ field: 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner';
1397
+ field_source: 'solana_token_program_instruction';
1398
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1399
+ value: string | Array<string>;
1400
+ }
1401
+ interface UnionMember8 {
1402
+ field: 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value';
1403
+ field_source: 'tron_transaction';
1404
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1405
+ value: string | Array<string>;
1406
+ }
1407
+ interface UnionMember9 {
1408
+ field: 'current_unix_timestamp';
1409
+ field_source: 'system';
1410
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1411
+ value: string | Array<string>;
1412
+ }
1413
+ interface UnionMember10 {
1414
+ field: string;
1415
+ field_source: 'reference';
1416
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1417
+ value: string | Array<string>;
1418
+ }
1419
+ interface UnionMember11 {
1420
+ abi: Array<UnionMember11.Abi>;
1421
+ field: string;
1422
+ field_source: 'tron_trigger_smart_contract_data';
1423
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1424
+ value: string | Array<string>;
1425
+ }
1426
+ namespace UnionMember11 {
1427
+ interface Abi {
1428
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
1429
+ anonymous?: boolean;
1430
+ inputs?: Array<Abi.Input>;
1431
+ name?: string;
1432
+ outputs?: Array<Abi.Output>;
1433
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
1434
+ }
1435
+ namespace Abi {
1436
+ interface Input {
1437
+ type: string;
1438
+ components?: Array<unknown>;
1439
+ indexed?: boolean;
1440
+ internalType?: string;
1441
+ name?: string;
1442
+ }
1443
+ interface Output {
1444
+ type: string;
1445
+ components?: Array<unknown>;
1446
+ indexed?: boolean;
1447
+ internalType?: string;
1448
+ name?: string;
1449
+ }
1450
+ }
1451
+ }
1452
+ interface UnionMember12 {
1453
+ field: 'commandName';
1454
+ field_source: 'sui_transaction_command';
1455
+ operator: 'eq' | 'in';
1456
+ /**
1457
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
1458
+ */
1459
+ value: WalletsAPI.SuiCommandName | Array<WalletsAPI.SuiCommandName>;
1460
+ }
1461
+ interface UnionMember13 {
1462
+ field: 'recipient' | 'amount';
1463
+ field_source: 'sui_transfer_objects_command';
1464
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1465
+ value: string | Array<string>;
1466
+ }
1467
+ }
1468
+ }
1469
+ }
1470
+ /**
1471
+ * Current state of the policy before any changes. If undefined, the resource was
1472
+ * deleted and no longer exists
1473
+ */
1474
+ interface CurrentResourceData {
1475
+ id: string;
1476
+ /**
1477
+ * The wallet chain types.
1478
+ */
1479
+ chain_type: WalletsAPI.WalletChainType;
1480
+ created_at: number;
1481
+ name: string;
1482
+ owner_id: string | null;
1483
+ rules: Array<CurrentResourceData.Rule>;
1484
+ version: '1.0';
1485
+ }
1486
+ namespace CurrentResourceData {
1487
+ interface Rule {
1488
+ id: string;
1489
+ action: 'ALLOW' | 'DENY';
1490
+ conditions: Array<Rule.UnionMember0 | Rule.UnionMember1 | Rule.UnionMember2 | Rule.UnionMember3 | Rule.UnionMember4 | Rule.UnionMember5 | Rule.UnionMember6 | Rule.UnionMember7 | Rule.UnionMember8 | Rule.UnionMember9 | Rule.UnionMember10 | Rule.UnionMember11 | Rule.UnionMember12 | Rule.UnionMember13>;
1491
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signTypedData_v4' | 'eth_signUserOperation' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'signTransactionBytes' | 'exportPrivateKey' | '*';
1492
+ name: string;
1493
+ }
1494
+ namespace Rule {
1495
+ interface UnionMember0 {
1496
+ field: 'to' | 'value' | 'chain_id';
1497
+ field_source: 'ethereum_transaction';
1498
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1499
+ value: string | Array<string>;
1500
+ }
1501
+ interface UnionMember1 {
1502
+ abi: Array<UnionMember1.Abi>;
1503
+ field: string;
1504
+ field_source: 'ethereum_calldata';
1505
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1506
+ value: string | Array<string>;
1507
+ }
1508
+ namespace UnionMember1 {
1509
+ interface Abi {
1510
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
1511
+ anonymous?: boolean;
1512
+ inputs?: Array<Abi.Input>;
1513
+ name?: string;
1514
+ outputs?: Array<Abi.Output>;
1515
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
1516
+ }
1517
+ namespace Abi {
1518
+ interface Input {
1519
+ type: string;
1520
+ components?: Array<unknown>;
1521
+ indexed?: boolean;
1522
+ internalType?: string;
1523
+ name?: string;
1524
+ }
1525
+ interface Output {
1526
+ type: string;
1527
+ components?: Array<unknown>;
1528
+ indexed?: boolean;
1529
+ internalType?: string;
1530
+ name?: string;
1531
+ }
1532
+ }
1533
+ }
1534
+ interface UnionMember2 {
1535
+ field: 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract';
1536
+ field_source: 'ethereum_typed_data_domain';
1537
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1538
+ value: string | Array<string>;
1539
+ }
1540
+ interface UnionMember3 {
1541
+ field: string;
1542
+ field_source: 'ethereum_typed_data_message';
1543
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1544
+ typed_data: UnionMember3.TypedData;
1545
+ value: string | Array<string>;
1546
+ }
1547
+ namespace UnionMember3 {
1548
+ interface TypedData {
1549
+ primary_type: string;
1550
+ types: {
1551
+ [key: string]: Array<TypedData.Type>;
1552
+ };
1553
+ }
1554
+ namespace TypedData {
1555
+ interface Type {
1556
+ name: string;
1557
+ type: string;
1558
+ }
1559
+ }
1560
+ }
1561
+ interface UnionMember4 {
1562
+ field: 'contract';
1563
+ field_source: 'ethereum_7702_authorization';
1564
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1565
+ value: string | Array<string>;
1566
+ }
1567
+ interface UnionMember5 {
1568
+ field: 'programId';
1569
+ field_source: 'solana_program_instruction';
1570
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1571
+ value: string | Array<string>;
1572
+ }
1573
+ interface UnionMember6 {
1574
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
1575
+ field_source: 'solana_system_program_instruction';
1576
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1577
+ value: string | Array<string>;
1578
+ }
1579
+ interface UnionMember7 {
1580
+ field: 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner';
1581
+ field_source: 'solana_token_program_instruction';
1582
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1583
+ value: string | Array<string>;
1584
+ }
1585
+ interface UnionMember8 {
1586
+ field: 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value';
1587
+ field_source: 'tron_transaction';
1588
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1589
+ value: string | Array<string>;
1590
+ }
1591
+ interface UnionMember9 {
1592
+ field: 'current_unix_timestamp';
1593
+ field_source: 'system';
1594
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1595
+ value: string | Array<string>;
1596
+ }
1597
+ interface UnionMember10 {
1598
+ field: string;
1599
+ field_source: 'reference';
1600
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1601
+ value: string | Array<string>;
1602
+ }
1603
+ interface UnionMember11 {
1604
+ abi: Array<UnionMember11.Abi>;
1605
+ field: string;
1606
+ field_source: 'tron_trigger_smart_contract_data';
1607
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1608
+ value: string | Array<string>;
1609
+ }
1610
+ namespace UnionMember11 {
1611
+ interface Abi {
1612
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
1613
+ anonymous?: boolean;
1614
+ inputs?: Array<Abi.Input>;
1615
+ name?: string;
1616
+ outputs?: Array<Abi.Output>;
1617
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
1618
+ }
1619
+ namespace Abi {
1620
+ interface Input {
1621
+ type: string;
1622
+ components?: Array<unknown>;
1623
+ indexed?: boolean;
1624
+ internalType?: string;
1625
+ name?: string;
1626
+ }
1627
+ interface Output {
1628
+ type: string;
1629
+ components?: Array<unknown>;
1630
+ indexed?: boolean;
1631
+ internalType?: string;
1632
+ name?: string;
1633
+ }
1634
+ }
1635
+ }
1636
+ interface UnionMember12 {
1637
+ field: 'commandName';
1638
+ field_source: 'sui_transaction_command';
1639
+ operator: 'eq' | 'in';
1640
+ /**
1641
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
1642
+ */
1643
+ value: WalletsAPI.SuiCommandName | Array<WalletsAPI.SuiCommandName>;
1644
+ }
1645
+ interface UnionMember13 {
1646
+ field: 'recipient' | 'amount';
1647
+ field_source: 'sui_transfer_objects_command';
1648
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1649
+ value: string | Array<string>;
1650
+ }
1651
+ }
1652
+ }
1653
+ }
1654
+ /**
1655
+ * Response for a key quorum intent
1656
+ */
1657
+ export interface KeyQuorumIntentResponse {
1658
+ /**
1659
+ * Detailed authorization information including key quorum members, thresholds, and
1660
+ * signature status
1661
+ */
1662
+ authorization_details: Array<IntentAuthorization>;
1663
+ /**
1664
+ * Unix timestamp when the intent was created
1665
+ */
1666
+ created_at: number;
1667
+ /**
1668
+ * Display name of the user who created the intent
1669
+ */
1670
+ created_by_display_name: string;
1671
+ /**
1672
+ * Unix timestamp when the intent expires
1673
+ */
1674
+ expires_at: number;
1675
+ /**
1676
+ * Unique ID for the intent
1677
+ */
1678
+ intent_id: string;
1679
+ intent_type: 'KEY_QUORUM';
1680
+ /**
1681
+ * The original key quorum update request that would be sent to the key quorum
1682
+ * endpoint
1683
+ */
1684
+ request_details: KeyQuorumIntentResponse.RequestDetails;
1685
+ /**
1686
+ * ID of the resource being modified (wallet_id, policy_id, etc)
1687
+ */
1688
+ resource_id: string;
1689
+ /**
1690
+ * Current status of an intent.
1691
+ */
1692
+ status: IntentStatus;
1693
+ /**
1694
+ * Result of key quorum update execution (only present if status is 'executed' or
1695
+ * 'failed')
1696
+ */
1697
+ action_result?: BaseActionResult;
1698
+ /**
1699
+ * ID of the user who created the intent. If undefined, the intent was created
1700
+ * using the app secret
1701
+ */
1702
+ created_by_id?: string;
1703
+ /**
1704
+ * Current state of the key quorum before any changes. If undefined, the resource
1705
+ * was deleted and no longer exists
1706
+ */
1707
+ current_resource_data?: KeyQuorumIntentResponse.CurrentResourceData;
1708
+ /**
1709
+ * Human-readable reason for dismissal, present when status is 'dismissed'
1710
+ */
1711
+ dismissal_reason?: string;
1712
+ /**
1713
+ * Unix timestamp when the intent was dismissed, present when status is 'dismissed'
1714
+ */
1715
+ dismissed_at?: number;
1716
+ /**
1717
+ * Unix timestamp when the intent was rejected, present when status is 'rejected'
1718
+ */
1719
+ rejected_at?: number;
1720
+ }
1721
+ export declare namespace KeyQuorumIntentResponse {
1722
+ /**
1723
+ * The original key quorum update request that would be sent to the key quorum
1724
+ * endpoint
1725
+ */
1726
+ interface RequestDetails {
1727
+ body: RequestDetails.Body;
1728
+ method: 'PATCH';
1729
+ url: string;
1730
+ }
1731
+ namespace RequestDetails {
1732
+ interface Body {
1733
+ authorization_threshold?: number;
1734
+ display_name?: string;
1735
+ key_quorum_ids?: Array<string>;
1736
+ public_keys?: Array<string>;
1737
+ user_ids?: Array<string>;
1738
+ }
1739
+ }
1740
+ /**
1741
+ * Current state of the key quorum before any changes. If undefined, the resource
1742
+ * was deleted and no longer exists
1743
+ */
1744
+ interface CurrentResourceData {
1745
+ id: string;
1746
+ authorization_keys: Array<CurrentResourceData.AuthorizationKey>;
1747
+ authorization_threshold: number | null;
1748
+ display_name: string | null;
1749
+ user_ids: Array<string> | null;
1750
+ key_quorum_ids?: Array<string>;
1751
+ }
1752
+ namespace CurrentResourceData {
1753
+ interface AuthorizationKey {
1754
+ display_name: string | null;
1755
+ public_key: string;
1756
+ }
1757
+ }
1758
+ }
1759
+ /**
1760
+ * Response for a rule intent
1761
+ */
1762
+ export interface RuleIntentResponse {
1763
+ /**
1764
+ * Detailed authorization information including key quorum members, thresholds, and
1765
+ * signature status
1766
+ */
1767
+ authorization_details: Array<IntentAuthorization>;
1768
+ /**
1769
+ * Unix timestamp when the intent was created
1770
+ */
1771
+ created_at: number;
1772
+ /**
1773
+ * Display name of the user who created the intent
1774
+ */
1775
+ created_by_display_name: string;
1776
+ /**
1777
+ * Unix timestamp when the intent expires
1778
+ */
1779
+ expires_at: number;
1780
+ /**
1781
+ * Unique ID for the intent
1782
+ */
1783
+ intent_id: string;
1784
+ intent_type: 'RULE';
1785
+ /**
1786
+ * The original rule request. Method is POST (create), PATCH (update), or DELETE
1787
+ * (delete)
1788
+ */
1789
+ request_details: RuleIntentRequestDetails;
1790
+ /**
1791
+ * ID of the resource being modified (wallet_id, policy_id, etc)
1792
+ */
1793
+ resource_id: string;
1794
+ /**
1795
+ * Current status of an intent.
1796
+ */
1797
+ status: IntentStatus;
1798
+ /**
1799
+ * Result of rule execution (only present if status is 'executed' or 'failed')
1800
+ */
1801
+ action_result?: BaseActionResult;
1802
+ /**
1803
+ * ID of the user who created the intent. If undefined, the intent was created
1804
+ * using the app secret
1805
+ */
1806
+ created_by_id?: string;
1807
+ /**
1808
+ * Current state of the rule before any changes. Undefined for create intents or if
1809
+ * the rule was deleted
1810
+ */
1811
+ current_resource_data?: RuleIntentResponse.CurrentResourceData;
1812
+ /**
1813
+ * Human-readable reason for dismissal, present when status is 'dismissed'
1814
+ */
1815
+ dismissal_reason?: string;
1816
+ /**
1817
+ * Unix timestamp when the intent was dismissed, present when status is 'dismissed'
1818
+ */
1819
+ dismissed_at?: number;
1820
+ /**
1821
+ * Parent policy containing this rule, including sibling rules for contextual
1822
+ * display
1823
+ */
1824
+ policy?: RuleIntentResponse.Policy;
1825
+ /**
1826
+ * Unix timestamp when the intent was rejected, present when status is 'rejected'
1827
+ */
1828
+ rejected_at?: number;
1829
+ }
1830
+ export declare namespace RuleIntentResponse {
1831
+ /**
1832
+ * Current state of the rule before any changes. Undefined for create intents or if
1833
+ * the rule was deleted
1834
+ */
1835
+ interface CurrentResourceData {
1836
+ id: string;
1837
+ action: 'ALLOW' | 'DENY';
1838
+ conditions: Array<CurrentResourceData.UnionMember0 | CurrentResourceData.UnionMember1 | CurrentResourceData.UnionMember2 | CurrentResourceData.UnionMember3 | CurrentResourceData.UnionMember4 | CurrentResourceData.UnionMember5 | CurrentResourceData.UnionMember6 | CurrentResourceData.UnionMember7 | CurrentResourceData.UnionMember8 | CurrentResourceData.UnionMember9 | CurrentResourceData.UnionMember10 | CurrentResourceData.UnionMember11 | CurrentResourceData.UnionMember12 | CurrentResourceData.UnionMember13>;
1839
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signTypedData_v4' | 'eth_signUserOperation' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'signTransactionBytes' | 'exportPrivateKey' | '*';
1840
+ name: string;
1841
+ }
1842
+ namespace CurrentResourceData {
1843
+ interface UnionMember0 {
1844
+ field: 'to' | 'value' | 'chain_id';
1845
+ field_source: 'ethereum_transaction';
1846
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1847
+ value: string | Array<string>;
1848
+ }
1849
+ interface UnionMember1 {
1850
+ abi: Array<UnionMember1.Abi>;
1851
+ field: string;
1852
+ field_source: 'ethereum_calldata';
1853
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1854
+ value: string | Array<string>;
1855
+ }
1856
+ namespace UnionMember1 {
1857
+ interface Abi {
1858
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
1859
+ anonymous?: boolean;
1860
+ inputs?: Array<Abi.Input>;
1861
+ name?: string;
1862
+ outputs?: Array<Abi.Output>;
1863
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
1864
+ }
1865
+ namespace Abi {
1866
+ interface Input {
1867
+ type: string;
1868
+ components?: Array<unknown>;
1869
+ indexed?: boolean;
1870
+ internalType?: string;
1871
+ name?: string;
1872
+ }
1873
+ interface Output {
1874
+ type: string;
1875
+ components?: Array<unknown>;
1876
+ indexed?: boolean;
1877
+ internalType?: string;
1878
+ name?: string;
1879
+ }
1880
+ }
1881
+ }
1882
+ interface UnionMember2 {
1883
+ field: 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract';
1884
+ field_source: 'ethereum_typed_data_domain';
1885
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1886
+ value: string | Array<string>;
1887
+ }
1888
+ interface UnionMember3 {
1889
+ field: string;
1890
+ field_source: 'ethereum_typed_data_message';
1891
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1892
+ typed_data: UnionMember3.TypedData;
1893
+ value: string | Array<string>;
1894
+ }
1895
+ namespace UnionMember3 {
1896
+ interface TypedData {
1897
+ primary_type: string;
1898
+ types: {
1899
+ [key: string]: Array<TypedData.Type>;
1900
+ };
1901
+ }
1902
+ namespace TypedData {
1903
+ interface Type {
1904
+ name: string;
1905
+ type: string;
1906
+ }
1907
+ }
1908
+ }
1909
+ interface UnionMember4 {
1910
+ field: 'contract';
1911
+ field_source: 'ethereum_7702_authorization';
1912
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1913
+ value: string | Array<string>;
1914
+ }
1915
+ interface UnionMember5 {
1916
+ field: 'programId';
1917
+ field_source: 'solana_program_instruction';
1918
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1919
+ value: string | Array<string>;
1920
+ }
1921
+ interface UnionMember6 {
1922
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
1923
+ field_source: 'solana_system_program_instruction';
1924
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1925
+ value: string | Array<string>;
1926
+ }
1927
+ interface UnionMember7 {
1928
+ field: 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner';
1929
+ field_source: 'solana_token_program_instruction';
1930
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1931
+ value: string | Array<string>;
1932
+ }
1933
+ interface UnionMember8 {
1934
+ field: 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value';
1935
+ field_source: 'tron_transaction';
1936
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1937
+ value: string | Array<string>;
1938
+ }
1939
+ interface UnionMember9 {
1940
+ field: 'current_unix_timestamp';
1941
+ field_source: 'system';
1942
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1943
+ value: string | Array<string>;
1944
+ }
1945
+ interface UnionMember10 {
1946
+ field: string;
1947
+ field_source: 'reference';
1948
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1949
+ value: string | Array<string>;
1950
+ }
1951
+ interface UnionMember11 {
1952
+ abi: Array<UnionMember11.Abi>;
1953
+ field: string;
1954
+ field_source: 'tron_trigger_smart_contract_data';
1955
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1956
+ value: string | Array<string>;
1957
+ }
1958
+ namespace UnionMember11 {
1959
+ interface Abi {
1960
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
1961
+ anonymous?: boolean;
1962
+ inputs?: Array<Abi.Input>;
1963
+ name?: string;
1964
+ outputs?: Array<Abi.Output>;
1965
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
1966
+ }
1967
+ namespace Abi {
1968
+ interface Input {
1969
+ type: string;
1970
+ components?: Array<unknown>;
1971
+ indexed?: boolean;
1972
+ internalType?: string;
1973
+ name?: string;
1974
+ }
1975
+ interface Output {
1976
+ type: string;
1977
+ components?: Array<unknown>;
1978
+ indexed?: boolean;
1979
+ internalType?: string;
1980
+ name?: string;
1981
+ }
1982
+ }
1983
+ }
1984
+ interface UnionMember12 {
1985
+ field: 'commandName';
1986
+ field_source: 'sui_transaction_command';
1987
+ operator: 'eq' | 'in';
1988
+ /**
1989
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
1990
+ */
1991
+ value: WalletsAPI.SuiCommandName | Array<WalletsAPI.SuiCommandName>;
1992
+ }
1993
+ interface UnionMember13 {
1994
+ field: 'recipient' | 'amount';
1995
+ field_source: 'sui_transfer_objects_command';
1996
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
1997
+ value: string | Array<string>;
1998
+ }
1999
+ }
2000
+ /**
2001
+ * Parent policy containing this rule, including sibling rules for contextual
2002
+ * display
2003
+ */
2004
+ interface Policy {
2005
+ id: string;
2006
+ /**
2007
+ * The wallet chain types.
2008
+ */
2009
+ chain_type: WalletsAPI.WalletChainType;
2010
+ created_at: number;
2011
+ name: string;
2012
+ owner_id: string | null;
2013
+ rules: Array<Policy.Rule>;
2014
+ version: '1.0';
2015
+ }
2016
+ namespace Policy {
2017
+ interface Rule {
2018
+ id: string;
2019
+ action: 'ALLOW' | 'DENY';
2020
+ conditions: Array<Rule.UnionMember0 | Rule.UnionMember1 | Rule.UnionMember2 | Rule.UnionMember3 | Rule.UnionMember4 | Rule.UnionMember5 | Rule.UnionMember6 | Rule.UnionMember7 | Rule.UnionMember8 | Rule.UnionMember9 | Rule.UnionMember10 | Rule.UnionMember11 | Rule.UnionMember12 | Rule.UnionMember13>;
2021
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signTypedData_v4' | 'eth_signUserOperation' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'signTransactionBytes' | 'exportPrivateKey' | '*';
2022
+ name: string;
2023
+ }
2024
+ namespace Rule {
2025
+ interface UnionMember0 {
2026
+ field: 'to' | 'value' | 'chain_id';
2027
+ field_source: 'ethereum_transaction';
2028
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2029
+ value: string | Array<string>;
2030
+ }
2031
+ interface UnionMember1 {
2032
+ abi: Array<UnionMember1.Abi>;
2033
+ field: string;
2034
+ field_source: 'ethereum_calldata';
2035
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2036
+ value: string | Array<string>;
2037
+ }
2038
+ namespace UnionMember1 {
2039
+ interface Abi {
2040
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
2041
+ anonymous?: boolean;
2042
+ inputs?: Array<Abi.Input>;
2043
+ name?: string;
2044
+ outputs?: Array<Abi.Output>;
2045
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
2046
+ }
2047
+ namespace Abi {
2048
+ interface Input {
2049
+ type: string;
2050
+ components?: Array<unknown>;
2051
+ indexed?: boolean;
2052
+ internalType?: string;
2053
+ name?: string;
2054
+ }
2055
+ interface Output {
2056
+ type: string;
2057
+ components?: Array<unknown>;
2058
+ indexed?: boolean;
2059
+ internalType?: string;
2060
+ name?: string;
2061
+ }
2062
+ }
2063
+ }
2064
+ interface UnionMember2 {
2065
+ field: 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract';
2066
+ field_source: 'ethereum_typed_data_domain';
2067
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2068
+ value: string | Array<string>;
2069
+ }
2070
+ interface UnionMember3 {
2071
+ field: string;
2072
+ field_source: 'ethereum_typed_data_message';
2073
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2074
+ typed_data: UnionMember3.TypedData;
2075
+ value: string | Array<string>;
2076
+ }
2077
+ namespace UnionMember3 {
2078
+ interface TypedData {
2079
+ primary_type: string;
2080
+ types: {
2081
+ [key: string]: Array<TypedData.Type>;
2082
+ };
2083
+ }
2084
+ namespace TypedData {
2085
+ interface Type {
2086
+ name: string;
2087
+ type: string;
2088
+ }
2089
+ }
2090
+ }
2091
+ interface UnionMember4 {
2092
+ field: 'contract';
2093
+ field_source: 'ethereum_7702_authorization';
2094
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2095
+ value: string | Array<string>;
2096
+ }
2097
+ interface UnionMember5 {
2098
+ field: 'programId';
2099
+ field_source: 'solana_program_instruction';
2100
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2101
+ value: string | Array<string>;
2102
+ }
2103
+ interface UnionMember6 {
2104
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
2105
+ field_source: 'solana_system_program_instruction';
2106
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2107
+ value: string | Array<string>;
2108
+ }
2109
+ interface UnionMember7 {
2110
+ field: 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner';
2111
+ field_source: 'solana_token_program_instruction';
2112
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2113
+ value: string | Array<string>;
2114
+ }
2115
+ interface UnionMember8 {
2116
+ field: 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value';
2117
+ field_source: 'tron_transaction';
2118
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2119
+ value: string | Array<string>;
2120
+ }
2121
+ interface UnionMember9 {
2122
+ field: 'current_unix_timestamp';
2123
+ field_source: 'system';
2124
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2125
+ value: string | Array<string>;
2126
+ }
2127
+ interface UnionMember10 {
2128
+ field: string;
2129
+ field_source: 'reference';
2130
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2131
+ value: string | Array<string>;
2132
+ }
2133
+ interface UnionMember11 {
2134
+ abi: Array<UnionMember11.Abi>;
2135
+ field: string;
2136
+ field_source: 'tron_trigger_smart_contract_data';
2137
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2138
+ value: string | Array<string>;
2139
+ }
2140
+ namespace UnionMember11 {
2141
+ interface Abi {
2142
+ type: 'function' | 'constructor' | 'event' | 'fallback' | 'receive';
2143
+ anonymous?: boolean;
2144
+ inputs?: Array<Abi.Input>;
2145
+ name?: string;
2146
+ outputs?: Array<Abi.Output>;
2147
+ stateMutability?: 'pure' | 'view' | 'nonpayable' | 'payable';
2148
+ }
2149
+ namespace Abi {
2150
+ interface Input {
2151
+ type: string;
2152
+ components?: Array<unknown>;
2153
+ indexed?: boolean;
2154
+ internalType?: string;
2155
+ name?: string;
2156
+ }
2157
+ interface Output {
2158
+ type: string;
2159
+ components?: Array<unknown>;
2160
+ indexed?: boolean;
2161
+ internalType?: string;
2162
+ name?: string;
2163
+ }
2164
+ }
2165
+ }
2166
+ interface UnionMember12 {
2167
+ field: 'commandName';
2168
+ field_source: 'sui_transaction_command';
2169
+ operator: 'eq' | 'in';
2170
+ /**
2171
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
2172
+ */
2173
+ value: WalletsAPI.SuiCommandName | Array<WalletsAPI.SuiCommandName>;
2174
+ }
2175
+ interface UnionMember13 {
2176
+ field: 'recipient' | 'amount';
2177
+ field_source: 'sui_transfer_objects_command';
2178
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2179
+ value: string | Array<string>;
2180
+ }
2181
+ }
2182
+ }
2183
+ }
2184
+ /**
2185
+ * Response for an intent object
2186
+ */
2187
+ export type IntentResponse = RpcIntentResponse | WalletIntentResponse | PolicyIntentResponse | RuleIntentResponse | KeyQuorumIntentResponse;
2188
+ export interface IntentListParams extends CursorParams {
2189
+ created_by_id?: string;
2190
+ current_user_has_signed?: 'true' | 'false';
2191
+ /**
2192
+ * Type of intent.
2193
+ */
2194
+ intent_type?: IntentType;
2195
+ pending_member_id?: string;
2196
+ resource_id?: string;
2197
+ sort_by?: 'created_at_desc' | 'expires_at_asc' | 'updated_at_desc';
2198
+ /**
2199
+ * Current status of an intent.
2200
+ */
2201
+ status?: IntentStatus;
2202
+ }
2203
+ export interface IntentCreatePolicyRuleParams {
2204
+ /**
2205
+ * Action to take if the conditions are true.
2206
+ */
2207
+ action: 'ALLOW' | 'DENY';
2208
+ conditions: Array<IntentCreatePolicyRuleParams.EthereumTransactionCondition | IntentCreatePolicyRuleParams.EthereumCalldataCondition | IntentCreatePolicyRuleParams.EthereumTypedDataDomainCondition | IntentCreatePolicyRuleParams.EthereumTypedDataMessageCondition | IntentCreatePolicyRuleParams.Ethereum7702AuthorizationCondition | IntentCreatePolicyRuleParams.SolanaProgramInstructionCondition | IntentCreatePolicyRuleParams.SolanaSystemProgramInstructionCondition | IntentCreatePolicyRuleParams.SolanaTokenProgramInstructionCondition | IntentCreatePolicyRuleParams.SystemCondition | PoliciesAPI.TronTransactionCondition | PoliciesAPI.SuiTransactionCommandCondition | PoliciesAPI.SuiTransferObjectsCommandCondition>;
2209
+ /**
2210
+ * Method the rule applies to.
2211
+ */
2212
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signUserOperation' | 'eth_signTypedData_v4' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'exportPrivateKey' | 'signTransactionBytes' | '*';
2213
+ name: string;
2214
+ }
2215
+ export declare namespace IntentCreatePolicyRuleParams {
2216
+ /**
2217
+ * The verbatim Ethereum transaction object in an eth_signTransaction or
2218
+ * eth_sendTransaction request.
2219
+ */
2220
+ interface EthereumTransactionCondition {
2221
+ field: 'to' | 'value' | 'chain_id';
2222
+ field_source: 'ethereum_transaction';
2223
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2224
+ value: string | Array<string>;
2225
+ }
2226
+ /**
2227
+ * The decoded calldata in a smart contract interaction as the smart contract
2228
+ * method's parameters. Note that that 'ethereum_calldata' conditions must contain
2229
+ * an abi parameter with the JSON ABI of the smart contract.
2230
+ */
2231
+ interface EthereumCalldataCondition {
2232
+ abi: unknown;
2233
+ field: string;
2234
+ field_source: 'ethereum_calldata';
2235
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2236
+ value: string | Array<string>;
2237
+ }
2238
+ /**
2239
+ * Attributes from the signing domain that will verify the signature.
2240
+ */
2241
+ interface EthereumTypedDataDomainCondition {
2242
+ field: 'chainId' | 'verifyingContract';
2243
+ field_source: 'ethereum_typed_data_domain';
2244
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2245
+ value: string | Array<string>;
2246
+ }
2247
+ /**
2248
+ * 'types' and 'primary_type' attributes of the TypedData JSON object defined in
2249
+ * EIP-712.
2250
+ */
2251
+ interface EthereumTypedDataMessageCondition {
2252
+ field: string;
2253
+ field_source: 'ethereum_typed_data_message';
2254
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2255
+ typed_data: EthereumTypedDataMessageCondition.TypedData;
2256
+ value: string | Array<string>;
2257
+ }
2258
+ namespace EthereumTypedDataMessageCondition {
2259
+ interface TypedData {
2260
+ primary_type: string;
2261
+ types: {
2262
+ [key: string]: Array<TypedData.Type>;
2263
+ };
2264
+ }
2265
+ namespace TypedData {
2266
+ interface Type {
2267
+ name: string;
2268
+ type: string;
2269
+ }
2270
+ }
2271
+ }
2272
+ /**
2273
+ * Allowed contract addresses for eth_sign7702Authorization requests.
2274
+ */
2275
+ interface Ethereum7702AuthorizationCondition {
2276
+ field: 'contract';
2277
+ field_source: 'ethereum_7702_authorization';
2278
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2279
+ value: string | Array<string>;
2280
+ }
2281
+ /**
2282
+ * Solana Program attributes, enables allowlisting Solana Programs.
2283
+ */
2284
+ interface SolanaProgramInstructionCondition {
2285
+ field: 'programId';
2286
+ field_source: 'solana_program_instruction';
2287
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2288
+ value: string | Array<string>;
2289
+ }
2290
+ /**
2291
+ * Solana System Program attributes, including more granular Transfer instruction
2292
+ * fields.
2293
+ */
2294
+ interface SolanaSystemProgramInstructionCondition {
2295
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
2296
+ field_source: 'solana_system_program_instruction';
2297
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2298
+ value: string | Array<string>;
2299
+ }
2300
+ /**
2301
+ * Solana Token Program attributes, including more granular TransferChecked
2302
+ * instruction fields.
2303
+ */
2304
+ interface SolanaTokenProgramInstructionCondition {
2305
+ field: 'instructionName' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint';
2306
+ field_source: 'solana_token_program_instruction';
2307
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2308
+ value: string | Array<string>;
2309
+ }
2310
+ /**
2311
+ * System attributes, including current unix timestamp (in seconds).
2312
+ */
2313
+ interface SystemCondition {
2314
+ field: 'current_unix_timestamp';
2315
+ field_source: 'system';
2316
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2317
+ value: string | Array<string>;
2318
+ }
2319
+ }
2320
+ export interface IntentDeletePolicyRuleParams {
2321
+ /**
2322
+ * ID of the policy.
2323
+ */
2324
+ policy_id: string;
2325
+ }
2326
+ export type IntentRpcParams = IntentRpcParams.EthereumPersonalSignRpcInput | IntentRpcParams.EthereumSignTypedDataRpcInput | IntentRpcParams.EthereumSignTransactionRpcInput | IntentRpcParams.EthereumSignUserOperationRpcInput | IntentRpcParams.EthereumSendTransactionRpcInput | IntentRpcParams.EthereumSign7702AuthorizationRpcInput | IntentRpcParams.EthereumSecp256k1SignRpcInput | IntentRpcParams.SolanaSignMessageRpcInput | IntentRpcParams.SolanaSignTransactionRpcInput | IntentRpcParams.SolanaSignAndSendTransactionRpcInput;
2327
+ export declare namespace IntentRpcParams {
2328
+ interface EthereumPersonalSignRpcInput {
2329
+ method: 'personal_sign';
2330
+ params: EthereumPersonalSignRpcInput.Params;
2331
+ address?: string;
2332
+ chain_type?: 'ethereum';
2333
+ }
2334
+ namespace EthereumPersonalSignRpcInput {
2335
+ interface Params {
2336
+ encoding: 'utf-8' | 'hex';
2337
+ message: string;
2338
+ }
2339
+ }
2340
+ interface EthereumSignTypedDataRpcInput {
2341
+ method: 'eth_signTypedData_v4';
2342
+ params: EthereumSignTypedDataRpcInput.Params;
2343
+ address?: string;
2344
+ chain_type?: 'ethereum';
2345
+ }
2346
+ namespace EthereumSignTypedDataRpcInput {
2347
+ interface Params {
2348
+ typed_data: Params.TypedData;
2349
+ }
2350
+ namespace Params {
2351
+ interface TypedData {
2352
+ domain: {
2353
+ [key: string]: unknown;
2354
+ };
2355
+ message: {
2356
+ [key: string]: unknown;
2357
+ };
2358
+ primary_type: string;
2359
+ types: {
2360
+ [key: string]: Array<TypedData.Type>;
2361
+ };
2362
+ }
2363
+ namespace TypedData {
2364
+ interface Type {
2365
+ name: string;
2366
+ type: string;
2367
+ }
2368
+ }
2369
+ }
2370
+ }
2371
+ interface EthereumSignTransactionRpcInput {
2372
+ method: 'eth_signTransaction';
2373
+ params: EthereumSignTransactionRpcInput.Params;
2374
+ address?: string;
2375
+ chain_type?: 'ethereum';
2376
+ }
2377
+ namespace EthereumSignTransactionRpcInput {
2378
+ interface Params {
2379
+ transaction: Params.Transaction;
2380
+ }
2381
+ namespace Params {
2382
+ interface Transaction {
2383
+ authorization_list?: Array<Transaction.AuthorizationList>;
2384
+ chain_id?: string | number;
2385
+ data?: string;
2386
+ from?: string;
2387
+ gas_limit?: string | number;
2388
+ gas_price?: string | number;
2389
+ max_fee_per_gas?: string | number;
2390
+ max_priority_fee_per_gas?: string | number;
2391
+ nonce?: string | number;
2392
+ to?: string;
2393
+ type?: 0 | 1 | 2 | 4;
2394
+ value?: string | number;
2395
+ }
2396
+ namespace Transaction {
2397
+ interface AuthorizationList {
2398
+ chain_id: string | number;
2399
+ contract: string;
2400
+ nonce: string | number;
2401
+ r: string;
2402
+ s: string;
2403
+ y_parity: number;
2404
+ }
2405
+ }
2406
+ }
2407
+ }
2408
+ interface EthereumSignUserOperationRpcInput {
2409
+ method: 'eth_signUserOperation';
2410
+ params: EthereumSignUserOperationRpcInput.Params;
2411
+ address?: string;
2412
+ chain_type?: 'ethereum';
2413
+ }
2414
+ namespace EthereumSignUserOperationRpcInput {
2415
+ interface Params {
2416
+ chain_id: string | number;
2417
+ contract: string;
2418
+ user_operation: Params.UserOperation;
2419
+ }
2420
+ namespace Params {
2421
+ interface UserOperation {
2422
+ call_data: string;
2423
+ call_gas_limit: string;
2424
+ max_fee_per_gas: string;
2425
+ max_priority_fee_per_gas: string;
2426
+ nonce: string;
2427
+ paymaster: string;
2428
+ paymaster_data: string;
2429
+ paymaster_post_op_gas_limit: string;
2430
+ paymaster_verification_gas_limit: string;
2431
+ pre_verification_gas: string;
2432
+ sender: string;
2433
+ verification_gas_limit: string;
2434
+ }
2435
+ }
2436
+ }
2437
+ interface EthereumSendTransactionRpcInput {
2438
+ caip2: string;
2439
+ method: 'eth_sendTransaction';
2440
+ params: EthereumSendTransactionRpcInput.Params;
2441
+ address?: string;
2442
+ chain_type?: 'ethereum';
2443
+ sponsor?: boolean;
2444
+ }
2445
+ namespace EthereumSendTransactionRpcInput {
2446
+ interface Params {
2447
+ transaction: Params.Transaction;
2448
+ }
2449
+ namespace Params {
2450
+ interface Transaction {
2451
+ authorization_list?: Array<Transaction.AuthorizationList>;
2452
+ chain_id?: string | number;
2453
+ data?: string;
2454
+ from?: string;
2455
+ gas_limit?: string | number;
2456
+ gas_price?: string | number;
2457
+ max_fee_per_gas?: string | number;
2458
+ max_priority_fee_per_gas?: string | number;
2459
+ nonce?: string | number;
2460
+ to?: string;
2461
+ type?: 0 | 1 | 2 | 4;
2462
+ value?: string | number;
2463
+ }
2464
+ namespace Transaction {
2465
+ interface AuthorizationList {
2466
+ chain_id: string | number;
2467
+ contract: string;
2468
+ nonce: string | number;
2469
+ r: string;
2470
+ s: string;
2471
+ y_parity: number;
2472
+ }
2473
+ }
2474
+ }
2475
+ }
2476
+ interface EthereumSign7702AuthorizationRpcInput {
2477
+ method: 'eth_sign7702Authorization';
2478
+ params: EthereumSign7702AuthorizationRpcInput.Params;
2479
+ address?: string;
2480
+ chain_type?: 'ethereum';
2481
+ }
2482
+ namespace EthereumSign7702AuthorizationRpcInput {
2483
+ interface Params {
2484
+ chain_id: string | number;
2485
+ contract: string;
2486
+ nonce?: string | number;
2487
+ }
2488
+ }
2489
+ interface EthereumSecp256k1SignRpcInput {
2490
+ method: 'secp256k1_sign';
2491
+ params: EthereumSecp256k1SignRpcInput.Params;
2492
+ address?: string;
2493
+ chain_type?: 'ethereum';
2494
+ }
2495
+ namespace EthereumSecp256k1SignRpcInput {
2496
+ interface Params {
2497
+ hash: string;
2498
+ }
2499
+ }
2500
+ interface SolanaSignMessageRpcInput {
2501
+ method: 'signMessage';
2502
+ params: SolanaSignMessageRpcInput.Params;
2503
+ address?: string;
2504
+ chain_type?: 'solana';
2505
+ }
2506
+ namespace SolanaSignMessageRpcInput {
2507
+ interface Params {
2508
+ encoding: 'base64';
2509
+ message: string;
2510
+ }
2511
+ }
2512
+ interface SolanaSignTransactionRpcInput {
2513
+ method: 'signTransaction';
2514
+ params: SolanaSignTransactionRpcInput.Params;
2515
+ address?: string;
2516
+ chain_type?: 'solana';
2517
+ }
2518
+ namespace SolanaSignTransactionRpcInput {
2519
+ interface Params {
2520
+ encoding: 'base64';
2521
+ transaction: string;
2522
+ }
2523
+ }
2524
+ interface SolanaSignAndSendTransactionRpcInput {
2525
+ caip2: string;
2526
+ method: 'signAndSendTransaction';
2527
+ params: SolanaSignAndSendTransactionRpcInput.Params;
2528
+ address?: string;
2529
+ chain_type?: 'solana';
2530
+ sponsor?: boolean;
2531
+ }
2532
+ namespace SolanaSignAndSendTransactionRpcInput {
2533
+ interface Params {
2534
+ encoding: 'base64';
2535
+ transaction: string;
2536
+ }
2537
+ }
2538
+ }
2539
+ export interface IntentUpdateKeyQuorumParams {
2540
+ /**
2541
+ * The number of keys that must sign for an action to be valid. Must be less than
2542
+ * or equal to total number of key quorum members.
2543
+ */
2544
+ authorization_threshold?: number;
2545
+ display_name?: string;
2546
+ /**
2547
+ * List of key quorum IDs that should be members of this key quorum. Key quorums
2548
+ * can only be nested 1 level deep.
2549
+ */
2550
+ key_quorum_ids?: Array<string>;
2551
+ /**
2552
+ * List of P-256 public keys of the keys that should be authorized to sign on the
2553
+ * key quorum, in base64-encoded DER format.
2554
+ */
2555
+ public_keys?: Array<string>;
2556
+ /**
2557
+ * List of user IDs of the users that should be authorized to sign on the key
2558
+ * quorum.
2559
+ */
2560
+ user_ids?: Array<string>;
2561
+ }
2562
+ export interface IntentUpdatePolicyParams {
2563
+ /**
2564
+ * Name to assign to policy.
2565
+ */
2566
+ name?: string;
2567
+ /**
2568
+ * The owner of the resource. If you provide this, do not specify an owner_id as it
2569
+ * will be generated automatically. When updating a wallet, you can set the owner
2570
+ * to null to remove the owner.
2571
+ */
2572
+ owner?: IntentUpdatePolicyParams.PublicKeyOwner | IntentUpdatePolicyParams.UserOwner | null;
2573
+ owner_id?: string | null;
2574
+ rules?: Array<IntentUpdatePolicyParams.Rule>;
2575
+ }
2576
+ export declare namespace IntentUpdatePolicyParams {
2577
+ /**
2578
+ * The P-256 public key of the owner of the resource, in base64-encoded DER format.
2579
+ * If you provide this, do not specify an owner_id as it will be generated
2580
+ * automatically.
2581
+ */
2582
+ interface PublicKeyOwner {
2583
+ public_key: string;
2584
+ }
2585
+ /**
2586
+ * The user ID of the owner of the resource. The user must already exist, and this
2587
+ * value must start with "did:privy:". If you provide this, do not specify an
2588
+ * owner_id as it will be generated automatically.
2589
+ */
2590
+ interface UserOwner {
2591
+ user_id: string;
2592
+ }
2593
+ /**
2594
+ * The rules that apply to each method the policy covers.
2595
+ */
2596
+ interface Rule {
2597
+ /**
2598
+ * Action to take if the conditions are true.
2599
+ */
2600
+ action: 'ALLOW' | 'DENY';
2601
+ conditions: Array<Rule.EthereumTransactionCondition | Rule.EthereumCalldataCondition | Rule.EthereumTypedDataDomainCondition | Rule.EthereumTypedDataMessageCondition | Rule.Ethereum7702AuthorizationCondition | Rule.SolanaProgramInstructionCondition | Rule.SolanaSystemProgramInstructionCondition | Rule.SolanaTokenProgramInstructionCondition | Rule.SystemCondition | PoliciesAPI.TronTransactionCondition | PoliciesAPI.SuiTransactionCommandCondition | PoliciesAPI.SuiTransferObjectsCommandCondition>;
2602
+ /**
2603
+ * Method the rule applies to.
2604
+ */
2605
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signUserOperation' | 'eth_signTypedData_v4' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'exportPrivateKey' | 'signTransactionBytes' | '*';
2606
+ name: string;
2607
+ }
2608
+ namespace Rule {
2609
+ /**
2610
+ * The verbatim Ethereum transaction object in an eth_signTransaction or
2611
+ * eth_sendTransaction request.
2612
+ */
2613
+ interface EthereumTransactionCondition {
2614
+ field: 'to' | 'value' | 'chain_id';
2615
+ field_source: 'ethereum_transaction';
2616
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2617
+ value: string | Array<string>;
2618
+ }
2619
+ /**
2620
+ * The decoded calldata in a smart contract interaction as the smart contract
2621
+ * method's parameters. Note that that 'ethereum_calldata' conditions must contain
2622
+ * an abi parameter with the JSON ABI of the smart contract.
2623
+ */
2624
+ interface EthereumCalldataCondition {
2625
+ abi: unknown;
2626
+ field: string;
2627
+ field_source: 'ethereum_calldata';
2628
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2629
+ value: string | Array<string>;
2630
+ }
2631
+ /**
2632
+ * Attributes from the signing domain that will verify the signature.
2633
+ */
2634
+ interface EthereumTypedDataDomainCondition {
2635
+ field: 'chainId' | 'verifyingContract';
2636
+ field_source: 'ethereum_typed_data_domain';
2637
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2638
+ value: string | Array<string>;
2639
+ }
2640
+ /**
2641
+ * 'types' and 'primary_type' attributes of the TypedData JSON object defined in
2642
+ * EIP-712.
2643
+ */
2644
+ interface EthereumTypedDataMessageCondition {
2645
+ field: string;
2646
+ field_source: 'ethereum_typed_data_message';
2647
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2648
+ typed_data: EthereumTypedDataMessageCondition.TypedData;
2649
+ value: string | Array<string>;
2650
+ }
2651
+ namespace EthereumTypedDataMessageCondition {
2652
+ interface TypedData {
2653
+ primary_type: string;
2654
+ types: {
2655
+ [key: string]: Array<TypedData.Type>;
2656
+ };
2657
+ }
2658
+ namespace TypedData {
2659
+ interface Type {
2660
+ name: string;
2661
+ type: string;
2662
+ }
2663
+ }
2664
+ }
2665
+ /**
2666
+ * Allowed contract addresses for eth_sign7702Authorization requests.
2667
+ */
2668
+ interface Ethereum7702AuthorizationCondition {
2669
+ field: 'contract';
2670
+ field_source: 'ethereum_7702_authorization';
2671
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2672
+ value: string | Array<string>;
2673
+ }
2674
+ /**
2675
+ * Solana Program attributes, enables allowlisting Solana Programs.
2676
+ */
2677
+ interface SolanaProgramInstructionCondition {
2678
+ field: 'programId';
2679
+ field_source: 'solana_program_instruction';
2680
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2681
+ value: string | Array<string>;
2682
+ }
2683
+ /**
2684
+ * Solana System Program attributes, including more granular Transfer instruction
2685
+ * fields.
2686
+ */
2687
+ interface SolanaSystemProgramInstructionCondition {
2688
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
2689
+ field_source: 'solana_system_program_instruction';
2690
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2691
+ value: string | Array<string>;
2692
+ }
2693
+ /**
2694
+ * Solana Token Program attributes, including more granular TransferChecked
2695
+ * instruction fields.
2696
+ */
2697
+ interface SolanaTokenProgramInstructionCondition {
2698
+ field: 'instructionName' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint';
2699
+ field_source: 'solana_token_program_instruction';
2700
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2701
+ value: string | Array<string>;
2702
+ }
2703
+ /**
2704
+ * System attributes, including current unix timestamp (in seconds).
2705
+ */
2706
+ interface SystemCondition {
2707
+ field: 'current_unix_timestamp';
2708
+ field_source: 'system';
2709
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2710
+ value: string | Array<string>;
2711
+ }
2712
+ }
2713
+ }
2714
+ export interface IntentUpdatePolicyRuleParams {
2715
+ /**
2716
+ * Path param: ID of the policy.
2717
+ */
2718
+ policy_id: string;
2719
+ /**
2720
+ * Body param: Action to take if the conditions are true.
2721
+ */
2722
+ action: 'ALLOW' | 'DENY';
2723
+ /**
2724
+ * Body param
2725
+ */
2726
+ conditions: Array<IntentUpdatePolicyRuleParams.EthereumTransactionCondition | IntentUpdatePolicyRuleParams.EthereumCalldataCondition | IntentUpdatePolicyRuleParams.EthereumTypedDataDomainCondition | IntentUpdatePolicyRuleParams.EthereumTypedDataMessageCondition | IntentUpdatePolicyRuleParams.Ethereum7702AuthorizationCondition | IntentUpdatePolicyRuleParams.SolanaProgramInstructionCondition | IntentUpdatePolicyRuleParams.SolanaSystemProgramInstructionCondition | IntentUpdatePolicyRuleParams.SolanaTokenProgramInstructionCondition | IntentUpdatePolicyRuleParams.SystemCondition | PoliciesAPI.TronTransactionCondition | PoliciesAPI.SuiTransactionCommandCondition | PoliciesAPI.SuiTransferObjectsCommandCondition>;
2727
+ /**
2728
+ * Body param: Method the rule applies to.
2729
+ */
2730
+ method: 'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signUserOperation' | 'eth_signTypedData_v4' | 'eth_sign7702Authorization' | 'signTransaction' | 'signAndSendTransaction' | 'exportPrivateKey' | 'signTransactionBytes' | '*';
2731
+ /**
2732
+ * Body param
2733
+ */
2734
+ name: string;
2735
+ }
2736
+ export declare namespace IntentUpdatePolicyRuleParams {
2737
+ /**
2738
+ * The verbatim Ethereum transaction object in an eth_signTransaction or
2739
+ * eth_sendTransaction request.
2740
+ */
2741
+ interface EthereumTransactionCondition {
2742
+ field: 'to' | 'value' | 'chain_id';
2743
+ field_source: 'ethereum_transaction';
2744
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2745
+ value: string | Array<string>;
2746
+ }
2747
+ /**
2748
+ * The decoded calldata in a smart contract interaction as the smart contract
2749
+ * method's parameters. Note that that 'ethereum_calldata' conditions must contain
2750
+ * an abi parameter with the JSON ABI of the smart contract.
2751
+ */
2752
+ interface EthereumCalldataCondition {
2753
+ abi: unknown;
2754
+ field: string;
2755
+ field_source: 'ethereum_calldata';
2756
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2757
+ value: string | Array<string>;
2758
+ }
2759
+ /**
2760
+ * Attributes from the signing domain that will verify the signature.
2761
+ */
2762
+ interface EthereumTypedDataDomainCondition {
2763
+ field: 'chainId' | 'verifyingContract';
2764
+ field_source: 'ethereum_typed_data_domain';
2765
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2766
+ value: string | Array<string>;
2767
+ }
2768
+ /**
2769
+ * 'types' and 'primary_type' attributes of the TypedData JSON object defined in
2770
+ * EIP-712.
2771
+ */
2772
+ interface EthereumTypedDataMessageCondition {
2773
+ field: string;
2774
+ field_source: 'ethereum_typed_data_message';
2775
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2776
+ typed_data: EthereumTypedDataMessageCondition.TypedData;
2777
+ value: string | Array<string>;
2778
+ }
2779
+ namespace EthereumTypedDataMessageCondition {
2780
+ interface TypedData {
2781
+ primary_type: string;
2782
+ types: {
2783
+ [key: string]: Array<TypedData.Type>;
2784
+ };
2785
+ }
2786
+ namespace TypedData {
2787
+ interface Type {
2788
+ name: string;
2789
+ type: string;
2790
+ }
2791
+ }
2792
+ }
2793
+ /**
2794
+ * Allowed contract addresses for eth_sign7702Authorization requests.
2795
+ */
2796
+ interface Ethereum7702AuthorizationCondition {
2797
+ field: 'contract';
2798
+ field_source: 'ethereum_7702_authorization';
2799
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2800
+ value: string | Array<string>;
2801
+ }
2802
+ /**
2803
+ * Solana Program attributes, enables allowlisting Solana Programs.
2804
+ */
2805
+ interface SolanaProgramInstructionCondition {
2806
+ field: 'programId';
2807
+ field_source: 'solana_program_instruction';
2808
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2809
+ value: string | Array<string>;
2810
+ }
2811
+ /**
2812
+ * Solana System Program attributes, including more granular Transfer instruction
2813
+ * fields.
2814
+ */
2815
+ interface SolanaSystemProgramInstructionCondition {
2816
+ field: 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports';
2817
+ field_source: 'solana_system_program_instruction';
2818
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2819
+ value: string | Array<string>;
2820
+ }
2821
+ /**
2822
+ * Solana Token Program attributes, including more granular TransferChecked
2823
+ * instruction fields.
2824
+ */
2825
+ interface SolanaTokenProgramInstructionCondition {
2826
+ field: 'instructionName' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint';
2827
+ field_source: 'solana_token_program_instruction';
2828
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2829
+ value: string | Array<string>;
2830
+ }
2831
+ /**
2832
+ * System attributes, including current unix timestamp (in seconds).
2833
+ */
2834
+ interface SystemCondition {
2835
+ field: 'current_unix_timestamp';
2836
+ field_source: 'system';
2837
+ operator: 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set';
2838
+ value: string | Array<string>;
2839
+ }
2840
+ }
2841
+ export interface IntentUpdateWalletParams {
2842
+ /**
2843
+ * Additional signers for the wallet.
2844
+ */
2845
+ additional_signers?: Array<IntentUpdateWalletParams.AdditionalSigner>;
2846
+ /**
2847
+ * The owner of the resource. If you provide this, do not specify an owner_id as it
2848
+ * will be generated automatically. When updating a wallet, you can set the owner
2849
+ * to null to remove the owner.
2850
+ */
2851
+ owner?: IntentUpdateWalletParams.PublicKeyOwner | IntentUpdateWalletParams.UserOwner | null;
2852
+ owner_id?: string | null;
2853
+ /**
2854
+ * New policy IDs to enforce on the wallet. Currently, only one policy is supported
2855
+ * per wallet.
2856
+ */
2857
+ policy_ids?: Array<string>;
2858
+ }
2859
+ export declare namespace IntentUpdateWalletParams {
2860
+ interface AdditionalSigner {
2861
+ signer_id: string;
2862
+ /**
2863
+ * The array of policy IDs that will be applied to wallet requests. If specified,
2864
+ * this will override the base policy IDs set on the wallet.
2865
+ */
2866
+ override_policy_ids?: Array<string>;
2867
+ }
2868
+ /**
2869
+ * The P-256 public key of the owner of the resource, in base64-encoded DER format.
2870
+ * If you provide this, do not specify an owner_id as it will be generated
2871
+ * automatically.
2872
+ */
2873
+ interface PublicKeyOwner {
2874
+ public_key: string;
2875
+ }
2876
+ /**
2877
+ * The user ID of the owner of the resource. The user must already exist, and this
2878
+ * value must start with "did:privy:". If you provide this, do not specify an
2879
+ * owner_id as it will be generated automatically.
2880
+ */
2881
+ interface UserOwner {
2882
+ user_id: string;
2883
+ }
2884
+ }
101
2885
  export declare namespace Intents {
102
- export { type IntentAuthorizationKeyQuorumMember as IntentAuthorizationKeyQuorumMember, type IntentAuthorizationMember as IntentAuthorizationMember, };
2886
+ export { type IntentType as IntentType, type IntentStatus as IntentStatus, type RuleIntentRequestDetails as RuleIntentRequestDetails, type IntentAuthorizationKeyQuorumMember as IntentAuthorizationKeyQuorumMember, type IntentAuthorizationMember as IntentAuthorizationMember, type IntentAuthorization as IntentAuthorization, type BaseActionResult as BaseActionResult, type RpcIntentResponse as RpcIntentResponse, type WalletIntentResponse as WalletIntentResponse, type PolicyIntentResponse as PolicyIntentResponse, type KeyQuorumIntentResponse as KeyQuorumIntentResponse, type RuleIntentResponse as RuleIntentResponse, type IntentResponse as IntentResponse, type IntentResponsesCursor as IntentResponsesCursor, type IntentListParams as IntentListParams, type IntentCreatePolicyRuleParams as IntentCreatePolicyRuleParams, type IntentDeletePolicyRuleParams as IntentDeletePolicyRuleParams, type IntentRpcParams as IntentRpcParams, type IntentUpdateKeyQuorumParams as IntentUpdateKeyQuorumParams, type IntentUpdatePolicyParams as IntentUpdatePolicyParams, type IntentUpdatePolicyRuleParams as IntentUpdatePolicyRuleParams, type IntentUpdateWalletParams as IntentUpdateWalletParams, };
103
2887
  }
104
2888
  //# sourceMappingURL=intents.d.ts.map