@privy-io/api-types 0.8.0 → 0.10.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 (167) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/client.d.mts +35 -32
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +35 -32
  5. package/client.d.ts.map +1 -1
  6. package/client.js +22 -8
  7. package/client.js.map +1 -1
  8. package/client.mjs +22 -8
  9. package/client.mjs.map +1 -1
  10. package/internal/types.d.mts +6 -6
  11. package/internal/types.d.mts.map +1 -1
  12. package/internal/types.d.ts +6 -6
  13. package/internal/types.d.ts.map +1 -1
  14. package/internal/utils/env.js +2 -2
  15. package/internal/utils/env.js.map +1 -1
  16. package/internal/utils/env.mjs +2 -2
  17. package/internal/utils/env.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/resources/accounts.d.mts +128 -86
  20. package/resources/accounts.d.mts.map +1 -1
  21. package/resources/accounts.d.ts +128 -86
  22. package/resources/accounts.d.ts.map +1 -1
  23. package/resources/aggregations.d.mts +43 -43
  24. package/resources/aggregations.d.mts.map +1 -1
  25. package/resources/aggregations.d.ts +43 -43
  26. package/resources/aggregations.d.ts.map +1 -1
  27. package/resources/apps.d.mts +177 -129
  28. package/resources/apps.d.mts.map +1 -1
  29. package/resources/apps.d.ts +177 -129
  30. package/resources/apps.d.ts.map +1 -1
  31. package/resources/client-auth.d.mts +650 -648
  32. package/resources/client-auth.d.mts.map +1 -1
  33. package/resources/client-auth.d.ts +650 -648
  34. package/resources/client-auth.d.ts.map +1 -1
  35. package/resources/embedded-wallets.d.mts +84 -84
  36. package/resources/embedded-wallets.d.mts.map +1 -1
  37. package/resources/embedded-wallets.d.ts +84 -84
  38. package/resources/embedded-wallets.d.ts.map +1 -1
  39. package/resources/funding.d.mts +42 -42
  40. package/resources/funding.d.mts.map +1 -1
  41. package/resources/funding.d.ts +42 -42
  42. package/resources/funding.d.ts.map +1 -1
  43. package/resources/index.d.mts +19 -18
  44. package/resources/index.d.mts.map +1 -1
  45. package/resources/index.d.ts +19 -18
  46. package/resources/index.d.ts.map +1 -1
  47. package/resources/index.js +3 -1
  48. package/resources/index.js.map +1 -1
  49. package/resources/index.mjs +2 -1
  50. package/resources/index.mjs.map +1 -1
  51. package/resources/intents.d.mts +270 -266
  52. package/resources/intents.d.mts.map +1 -1
  53. package/resources/intents.d.ts +270 -266
  54. package/resources/intents.d.ts.map +1 -1
  55. package/resources/key-quorums.d.mts +20 -20
  56. package/resources/key-quorums.d.mts.map +1 -1
  57. package/resources/key-quorums.d.ts +20 -20
  58. package/resources/key-quorums.d.ts.map +1 -1
  59. package/resources/kraken-embed.d.mts +62 -19
  60. package/resources/kraken-embed.d.mts.map +1 -1
  61. package/resources/kraken-embed.d.ts +62 -19
  62. package/resources/kraken-embed.d.ts.map +1 -1
  63. package/resources/organizations.d.mts +65 -0
  64. package/resources/organizations.d.mts.map +1 -0
  65. package/resources/organizations.d.ts +65 -0
  66. package/resources/organizations.d.ts.map +1 -0
  67. package/resources/organizations.js +9 -0
  68. package/resources/organizations.js.map +1 -0
  69. package/resources/organizations.mjs +5 -0
  70. package/resources/organizations.mjs.map +1 -0
  71. package/resources/policies.d.mts +360 -231
  72. package/resources/policies.d.mts.map +1 -1
  73. package/resources/policies.d.ts +360 -231
  74. package/resources/policies.d.ts.map +1 -1
  75. package/resources/shared.d.mts +28 -28
  76. package/resources/shared.d.mts.map +1 -1
  77. package/resources/shared.d.ts +28 -28
  78. package/resources/shared.d.ts.map +1 -1
  79. package/resources/swaps.d.mts +8 -11
  80. package/resources/swaps.d.mts.map +1 -1
  81. package/resources/swaps.d.ts +8 -11
  82. package/resources/swaps.d.ts.map +1 -1
  83. package/resources/swaps.js.map +1 -1
  84. package/resources/swaps.mjs.map +1 -1
  85. package/resources/transactions.d.mts +56 -66
  86. package/resources/transactions.d.mts.map +1 -1
  87. package/resources/transactions.d.ts +56 -66
  88. package/resources/transactions.d.ts.map +1 -1
  89. package/resources/users.d.mts +457 -448
  90. package/resources/users.d.mts.map +1 -1
  91. package/resources/users.d.ts +457 -448
  92. package/resources/users.d.ts.map +1 -1
  93. package/resources/wallet-actions.d.mts +450 -41
  94. package/resources/wallet-actions.d.mts.map +1 -1
  95. package/resources/wallet-actions.d.ts +450 -41
  96. package/resources/wallet-actions.d.ts.map +1 -1
  97. package/resources/wallets/balance.d.mts +2 -1
  98. package/resources/wallets/balance.d.mts.map +1 -1
  99. package/resources/wallets/balance.d.ts +2 -1
  100. package/resources/wallets/balance.d.ts.map +1 -1
  101. package/resources/wallets/balance.js.map +1 -1
  102. package/resources/wallets/balance.mjs.map +1 -1
  103. package/resources/wallets/index.d.mts +1 -1
  104. package/resources/wallets/index.d.mts.map +1 -1
  105. package/resources/wallets/index.d.ts +1 -1
  106. package/resources/wallets/index.d.ts.map +1 -1
  107. package/resources/wallets/index.js.map +1 -1
  108. package/resources/wallets/index.mjs.map +1 -1
  109. package/resources/wallets/transactions.d.mts +16 -31
  110. package/resources/wallets/transactions.d.mts.map +1 -1
  111. package/resources/wallets/transactions.d.ts +16 -31
  112. package/resources/wallets/transactions.d.ts.map +1 -1
  113. package/resources/wallets/transactions.js +1 -1
  114. package/resources/wallets/transactions.js.map +1 -1
  115. package/resources/wallets/transactions.mjs +1 -1
  116. package/resources/wallets/transactions.mjs.map +1 -1
  117. package/resources/wallets/wallets.d.mts +1475 -1172
  118. package/resources/wallets/wallets.d.mts.map +1 -1
  119. package/resources/wallets/wallets.d.ts +1475 -1172
  120. package/resources/wallets/wallets.d.ts.map +1 -1
  121. package/resources/wallets/wallets.js +10 -6
  122. package/resources/wallets/wallets.js.map +1 -1
  123. package/resources/wallets/wallets.mjs +10 -6
  124. package/resources/wallets/wallets.mjs.map +1 -1
  125. package/resources/webhooks.d.mts +1345 -582
  126. package/resources/webhooks.d.mts.map +1 -1
  127. package/resources/webhooks.d.ts +1345 -582
  128. package/resources/webhooks.d.ts.map +1 -1
  129. package/resources/yield.d.mts +157 -157
  130. package/resources/yield.d.mts.map +1 -1
  131. package/resources/yield.d.ts +157 -157
  132. package/resources/yield.d.ts.map +1 -1
  133. package/src/client.ts +661 -455
  134. package/src/internal/types.ts +6 -8
  135. package/src/internal/utils/env.ts +2 -2
  136. package/src/resources/accounts.ts +157 -103
  137. package/src/resources/aggregations.ts +55 -55
  138. package/src/resources/apps.ts +232 -166
  139. package/src/resources/client-auth.ts +890 -890
  140. package/src/resources/embedded-wallets.ts +123 -123
  141. package/src/resources/funding.ts +66 -66
  142. package/src/resources/index.ts +521 -431
  143. package/src/resources/intents.ts +326 -322
  144. package/src/resources/key-quorums.ts +23 -23
  145. package/src/resources/kraken-embed.ts +116 -19
  146. package/src/resources/organizations.ts +82 -0
  147. package/src/resources/policies.ts +495 -339
  148. package/src/resources/shared.ts +34 -34
  149. package/src/resources/swaps.ts +9 -14
  150. package/src/resources/transactions.ts +88 -115
  151. package/src/resources/users.ts +664 -653
  152. package/src/resources/wallet-actions.ts +585 -56
  153. package/src/resources/wallets/balance.ts +2 -1
  154. package/src/resources/wallets/index.ts +158 -138
  155. package/src/resources/wallets/transactions.ts +20 -83
  156. package/src/resources/wallets/wallets.ts +1997 -1563
  157. package/src/resources/webhooks.ts +1652 -700
  158. package/src/resources/yield.ts +188 -188
  159. package/src/version.ts +1 -1
  160. package/version.d.mts +1 -1
  161. package/version.d.mts.map +1 -1
  162. package/version.d.ts +1 -1
  163. package/version.d.ts.map +1 -1
  164. package/version.js +1 -1
  165. package/version.js.map +1 -1
  166. package/version.mjs +1 -1
  167. package/version.mjs.map +1 -1
@@ -2,6 +2,7 @@ import { APIResource } from "../../core/resource.js";
2
2
  import * as WalletsAPI from "./wallets.js";
3
3
  import * as AppsAPI from "../apps.js";
4
4
  import * as SharedAPI from "../shared.js";
5
+ import * as UsersAPI from "../users.js";
5
6
  import * as BalanceAPI from "./balance.js";
6
7
  import { Balance, BalanceGetParams, BalanceGetResponse } from "./balance.js";
7
8
  import * as TransactionsAPI from "./transactions.js";
@@ -40,14 +41,15 @@ export declare class Wallets extends APIResource {
40
41
  *
41
42
  * @example
42
43
  * ```ts
43
- * const response = await client.wallets._export('wallet_id', {
44
- * encryption_type: 'HPKE',
45
- * recipient_public_key:
46
- * 'BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go=',
47
- * });
44
+ * const walletExportResponseBody =
45
+ * await client.wallets._export('wallet_id', {
46
+ * encryption_type: 'HPKE',
47
+ * recipient_public_key:
48
+ * 'BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go=',
49
+ * });
48
50
  * ```
49
51
  */
50
- _export(walletID: string, params: WalletExportParams, options?: RequestOptions): APIPromise<WalletExportResponse>;
52
+ _export(walletID: string, params: WalletExportParams, options?: RequestOptions): APIPromise<WalletExportResponseBody>;
51
53
  /**
52
54
  * Initialize a wallet import. Complete by submitting the import.
53
55
  *
@@ -72,7 +74,10 @@ export declare class Wallets extends APIResource {
72
74
  * 'wallet_id',
73
75
  * {
74
76
  * params: {
75
- * hash: '0x0775aeed9c9ce6e0fbc4db25c5e4e6368029651c905c286f813126a09025a21e',
77
+ * bytes:
78
+ * '0a0234ea220809701d7a17a77e04408093e981a6335a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a15417009bf59e27d2031a23a61e1590289fc3d21b3cd121541132b98ed6fb80a2d45f177cdef091ae2d9dc115418e80770a0bee581a633',
79
+ * encoding: 'hex',
80
+ * hash_function: 'sha256',
76
81
  * },
77
82
  * },
78
83
  * );
@@ -170,38 +175,9 @@ export interface WalletRevokeResponse {
170
175
  message: string;
171
176
  }
172
177
  /**
173
- * The wallet chain types that support curve-based signing.
174
- */
175
- export type CurveSigningChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'near' | 'ton' | 'starknet';
176
- /**
177
- * The wallet chain types that are not first class chains.
178
- */
179
- export type ExtendedChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'near' | 'ton' | 'starknet' | 'spark';
180
- /**
181
- * The wallet chain types that offer first class support.
182
- */
183
- export type FirstClassChainType = 'ethereum' | 'solana';
184
- /**
185
- * The wallet chain types.
186
- */
187
- export type WalletChainType = 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'near' | 'ton' | 'starknet' | 'spark';
188
- /**
189
- * The role of an authorization key, controlling what actions it can authorize on a
190
- * wallet.
191
- */
192
- export type AuthorizationKeyRole = 'root' | 'manager' | 'delegated-actions' | null;
193
- /**
194
- * The entropy type of the wallet.
195
- */
196
- export type WalletEntropyType = 'hd' | 'private-key';
197
- /**
198
- * The derivation strategy used for Solana wallets.
199
- */
200
- export type SolanaWalletDerivationStrategy = 'ENTROPY_TO_SEED' | 'ENTROPY_TO_MNEMONIC_TO_SEED';
201
- /**
202
- * An optional list of up to one policy ID to enforce on the wallet.
178
+ * Additional signers for the wallet.
203
179
  */
204
- export type PolicyInput = Array<string>;
180
+ export type AdditionalSignerInput = Array<AdditionalSignerItemInput>;
205
181
  /**
206
182
  * A single additional signer for a wallet, with an optional policy override.
207
183
  */
@@ -216,47 +192,71 @@ export interface AdditionalSignerItemInput {
216
192
  override_policy_ids?: PolicyInput;
217
193
  }
218
194
  /**
219
- * Additional signers for the wallet.
195
+ * A blockchain wallet address (Ethereum or Solana).
220
196
  */
221
- export type AdditionalSignerInput = Array<AdditionalSignerItemInput>;
197
+ export type Address = string;
222
198
  /**
223
- * A single additional signer on a wallet, with an optional policy override.
199
+ * Whether the amount refers to the input token or output token.
224
200
  */
225
- export interface WalletAdditionalSignerItem {
226
- /**
227
- * A unique identifier for a key quorum.
228
- */
229
- signer_id: SharedAPI.KeyQuorumID;
201
+ export type AmountType = 'exact_input' | 'exact_output';
202
+ /**
203
+ * Dashboard response for a wallet authorization key (includes role, which is an
204
+ * internal-only concept).
205
+ */
206
+ export interface AuthorizationKeyDashboardResponse {
207
+ id: string;
208
+ created_at: number;
209
+ display_name: string | null;
210
+ public_key: string;
230
211
  /**
231
- * An optional list of up to one policy ID to enforce on the wallet.
212
+ * The role of an authorization key, controlling what actions it can authorize on a
213
+ * wallet.
232
214
  */
233
- override_policy_ids?: PolicyInput;
215
+ role: AuthorizationKeyRole | null;
234
216
  }
235
217
  /**
236
- * Additional signers for the wallet.
218
+ * Public-facing response for a wallet authorization key.
237
219
  */
238
- export type WalletAdditionalSigner = Array<WalletAdditionalSignerItem>;
220
+ export interface AuthorizationKeyResponse {
221
+ id: string;
222
+ created_at: number;
223
+ display_name: string | null;
224
+ public_key: string;
225
+ }
239
226
  /**
240
- * A blockchain wallet address (Ethereum or Solana).
227
+ * The role of an authorization key, controlling what actions it can authorize on a
228
+ * wallet.
241
229
  */
242
- export type Address = string;
230
+ export type AuthorizationKeyRole = 'root' | 'manager' | 'delegated-actions' | null;
243
231
  /**
244
- * Information about the custodian managing this wallet.
232
+ * The wallet chain types that support curve-based signing.
245
233
  */
246
- export interface WalletCustodian {
234
+ export type CurveSigningChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet';
235
+ /**
236
+ * The cryptographic curve type used by the wallet.
237
+ */
238
+ export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
239
+ /**
240
+ * Information about a custodial wallet.
241
+ */
242
+ export interface CustodialWallet {
243
+ id: string;
244
+ address: string;
247
245
  /**
248
- * The custodian responsible for the wallet.
246
+ * The chain type of the custodial wallet.
249
247
  */
250
- provider: string;
248
+ chain_type: CustodialWalletChainType;
251
249
  /**
252
- * The resource ID of the beneficiary of the custodial wallet.
250
+ * Information about the custodian managing this wallet.
253
251
  */
254
- provider_user_id: string;
252
+ custody: WalletCustodian;
253
+ owner_id: string | null;
254
+ /**
255
+ * Additional signers for the wallet.
256
+ */
257
+ additional_signers?: WalletAdditionalSigner;
258
+ policy_ids?: Array<string>;
255
259
  }
256
- /**
257
- * The provider of the custodial wallet.
258
- */
259
- export type CustodialWalletProvider = 'bridge';
260
260
  /**
261
261
  * The chain type of the custodial wallet.
262
262
  */
@@ -293,278 +293,243 @@ export interface CustodialWalletCreateInput {
293
293
  policy_ids?: PolicyInput;
294
294
  }
295
295
  /**
296
- * Information about a custodial wallet.
296
+ * The provider of the custodial wallet.
297
297
  */
298
- export interface CustodialWallet {
299
- id: string;
300
- address: string;
298
+ export type CustodialWalletProvider = 'bridge';
299
+ /**
300
+ * Source for a transfer identified by a token contract address (EVM) or mint
301
+ * address (Solana). Use this variant for tokens that are not first-class assets.
302
+ */
303
+ export interface CustomTokenTransferSource {
301
304
  /**
302
- * The chain type of the custodial wallet.
305
+ * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
306
+ * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
307
+ * etc.).
303
308
  */
304
- chain_type: CustodialWalletChainType;
309
+ amount: string;
305
310
  /**
306
- * Information about the custodian managing this wallet.
311
+ * The token contract address (EVM) or mint address (Solana) of the asset to
312
+ * transfer.
307
313
  */
308
- custody: WalletCustodian;
309
- owner_id: string | null;
314
+ asset_address: string;
310
315
  /**
311
- * Additional signers for the wallet.
316
+ * The blockchain network on which to perform the transfer. Supported chains
317
+ * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
318
+ * respective testnets.
312
319
  */
313
- additional_signers?: WalletAdditionalSigner;
314
- policy_ids?: Array<string>;
320
+ chain: string;
315
321
  }
316
322
  /**
317
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
318
- */
319
- export type HpkeEncryption = 'HPKE';
320
- /**
321
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
322
- * format.
323
- */
324
- export type RecipientPublicKey = string;
325
- /**
326
- * The export type. 'display' is for showing the key to the user in the UI,
327
- * 'client' is for exporting to the client application.
328
- */
329
- export type ExportType = 'display' | 'client';
330
- /**
331
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
323
+ * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
332
324
  */
333
- export interface PrivateKeyExportInput {
334
- /**
335
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
336
- */
337
- encryption_type: HpkeEncryption;
338
- /**
339
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
340
- * format.
341
- */
342
- recipient_public_key: RecipientPublicKey;
343
- export_seed_phrase?: boolean;
325
+ export interface EthereumPersonalSignRpcInput {
326
+ method: 'personal_sign';
344
327
  /**
345
- * The export type. 'display' is for showing the key to the user in the UI,
346
- * 'client' is for exporting to the client application.
328
+ * Parameters for the EVM `personal_sign` RPC.
347
329
  */
348
- export_type?: ExportType;
330
+ params: EthereumPersonalSignRpcInputParams;
331
+ address?: string;
332
+ chain_type?: 'ethereum';
333
+ wallet_id?: string;
349
334
  }
350
335
  /**
351
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
336
+ * Parameters for the EVM `personal_sign` RPC.
352
337
  */
353
- export interface PrivateKeyExportResponse {
354
- ciphertext: string;
355
- encapsulated_key: string;
356
- /**
357
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
358
- */
359
- encryption_type: HpkeEncryption;
338
+ export interface EthereumPersonalSignRpcInputParams {
339
+ encoding: 'utf-8' | 'hex';
340
+ message: string;
360
341
  }
361
342
  /**
362
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
343
+ * Response to the EVM `personal_sign` RPC.
363
344
  */
364
- export interface SeedPhraseExportInput {
365
- /**
366
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
367
- */
368
- encryption_type: HpkeEncryption;
369
- /**
370
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
371
- * format.
372
- */
373
- recipient_public_key: RecipientPublicKey;
374
- export_seed_phrase?: boolean;
345
+ export interface EthereumPersonalSignRpcResponse {
375
346
  /**
376
- * The export type. 'display' is for showing the key to the user in the UI,
377
- * 'client' is for exporting to the client application.
347
+ * Data returned by the EVM `personal_sign` RPC.
378
348
  */
379
- export_type?: ExportType;
349
+ data: EthereumPersonalSignRpcResponseData;
350
+ method: 'personal_sign';
380
351
  }
381
352
  /**
382
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
353
+ * Data returned by the EVM `personal_sign` RPC.
383
354
  */
384
- export interface SeedPhraseExportResponse {
385
- ciphertext: string;
386
- encapsulated_key: string;
387
- /**
388
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
389
- */
390
- encryption_type: HpkeEncryption;
355
+ export interface EthereumPersonalSignRpcResponseData {
356
+ encoding: 'hex';
357
+ signature: string;
391
358
  }
392
359
  /**
393
- * The chain type of the wallet to import. Currently supports `ethereum` and
394
- * `solana`.
360
+ * Request body for Ethereum wallet RPC operations, discriminated by method.
395
361
  */
396
- export type WalletImportSupportedChains = 'ethereum' | 'solana';
362
+ export type EthereumRpcInput = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput;
397
363
  /**
398
- * The entropy type of the wallet to import. Supports `private-key` for raw private
399
- * keys and `hd` for HD wallet seed phrases.
364
+ * Response body for Ethereum wallet RPC operations, discriminated by method.
400
365
  */
401
- export type WalletImportSupportedEntropyTypes = 'private-key' | 'hd';
366
+ export type EthereumRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse;
402
367
  /**
403
- * Response from initializing a wallet import, containing the encryption public
404
- * key.
368
+ * Signs a raw hash on the secp256k1 curve.
405
369
  */
406
- export interface WalletImportInitResponse {
407
- encryption_public_key: string;
370
+ export interface EthereumSecp256k1SignRpcInput {
371
+ method: 'secp256k1_sign';
408
372
  /**
409
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
373
+ * Parameters for the EVM `secp256k1_sign` RPC.
410
374
  */
411
- encryption_type: HpkeEncryption;
375
+ params: EthereumSecp256k1SignRpcInputParams;
376
+ address?: string;
377
+ chain_type?: 'ethereum';
378
+ wallet_id?: string;
412
379
  }
413
380
  /**
414
- * The AEAD algorithm used for HPKE encryption.
415
- */
416
- export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
417
- /**
418
- * Optional HPKE configuration for wallet import decryption. These parameters allow
419
- * importing wallets encrypted by external providers that use different HPKE
420
- * configurations.
381
+ * Parameters for the EVM `secp256k1_sign` RPC.
421
382
  */
422
- export interface HpkeImportConfig {
423
- /**
424
- * Additional Authenticated Data (AAD) used during encryption. Should be
425
- * base64-encoded bytes.
426
- */
427
- aad?: string;
428
- /**
429
- * The AEAD algorithm used for HPKE encryption.
430
- */
431
- aead_algorithm?: HpkeAeadAlgorithm;
383
+ export interface EthereumSecp256k1SignRpcInputParams {
432
384
  /**
433
- * Application-specific context information (INFO) used during HPKE encryption.
434
- * Should be base64-encoded bytes.
385
+ * A hex-encoded string prefixed with '0x'.
435
386
  */
436
- info?: string;
387
+ hash: Hex;
437
388
  }
438
389
  /**
439
- * The cryptographic curve type used by the wallet.
440
- */
441
- export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
442
- /**
443
- * A BIP-32 hierarchical deterministic wallet derivation path.
444
- */
445
- export type HDPath = string;
446
- /**
447
- * The signing algorithm used by the wallet.
448
- */
449
- export type SigningAlgorithm = 'ECDSA' | 'EdDSA';
450
- /**
451
- * A hex-encoded string prefixed with '0x'.
452
- */
453
- export type Hex = string;
454
- /**
455
- * A quantity value that can be either a hex string starting with '0x' or a
456
- * non-negative integer.
457
- */
458
- export type Quantity = Hex | number;
459
- /**
460
- * Exports the private key of the wallet.
390
+ * Response to the EVM `secp256k1_sign` RPC.
461
391
  */
462
- export interface ExportPrivateKeyRpcInput {
463
- address: string;
464
- method: 'exportPrivateKey';
392
+ export interface EthereumSecp256k1SignRpcResponse {
465
393
  /**
466
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
394
+ * Data returned by the EVM `secp256k1_sign` RPC.
467
395
  */
468
- params: PrivateKeyExportInput;
396
+ data: EthereumSecp256k1SignRpcResponseData;
397
+ method: 'secp256k1_sign';
469
398
  }
470
399
  /**
471
- * Response to the `exportPrivateKey` RPC.
400
+ * Data returned by the EVM `secp256k1_sign` RPC.
472
401
  */
473
- export interface ExportPrivateKeyRpcResponse {
402
+ export interface EthereumSecp256k1SignRpcResponseData {
403
+ encoding: 'hex';
474
404
  /**
475
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
405
+ * A hex-encoded string prefixed with '0x'.
476
406
  */
477
- data: PrivateKeyExportInput;
478
- method: 'exportPrivateKey';
407
+ signature: Hex;
479
408
  }
480
409
  /**
481
- * Exports the seed phrase of the wallet.
410
+ * A single call within a batched wallet_sendCalls request.
482
411
  */
483
- export interface ExportSeedPhraseRpcInput {
484
- address: string;
485
- method: 'exportSeedPhrase';
412
+ export interface EthereumSendCallsCall {
413
+ to: string;
486
414
  /**
487
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
415
+ * A hex-encoded string prefixed with '0x'.
488
416
  */
489
- params: SeedPhraseExportInput;
490
- }
491
- /**
492
- * Response to the `exportSeedPhrase` RPC.
493
- */
494
- export interface ExportSeedPhraseRpcResponse {
417
+ data?: Hex;
495
418
  /**
496
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
419
+ * A quantity value that can be either a hex string starting with '0x' or a
420
+ * non-negative integer.
497
421
  */
498
- data: SeedPhraseExportResponse;
499
- method: 'exportSeedPhrase';
422
+ value?: Quantity;
500
423
  }
501
424
  /**
502
- * Parameters for signing a pre-computed hash with the `raw_sign` RPC.
425
+ * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
426
+ * single atomic transaction.
503
427
  */
504
- export interface RawSignHashParams {
428
+ export interface EthereumSendCallsRpcInput {
429
+ /**
430
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
431
+ */
432
+ caip2: AppsAPI.Caip2;
433
+ method: 'wallet_sendCalls';
434
+ /**
435
+ * Parameters for the `wallet_sendCalls` RPC.
436
+ */
437
+ params: EthereumSendCallsRpcInputParams;
438
+ address?: string;
439
+ chain_type?: 'ethereum';
505
440
  /**
506
441
  * A hex-encoded string prefixed with '0x'.
507
442
  */
508
- hash: Hex;
443
+ experimental_data_suffix?: Hex;
444
+ sponsor?: boolean;
445
+ wallet_id?: string;
509
446
  }
510
447
  /**
511
- * Encoding scheme for bytes in the `raw_sign` RPC.
448
+ * Parameters for the `wallet_sendCalls` RPC.
512
449
  */
513
- export type RawSignBytesEncoding = 'utf-8' | 'hex' | 'base64';
450
+ export interface EthereumSendCallsRpcInputParams {
451
+ calls: Array<EthereumSendCallsCall>;
452
+ }
514
453
  /**
515
- * Hash function for bytes in the `raw_sign` RPC.
454
+ * Response to the `wallet_sendCalls` RPC.
516
455
  */
517
- export type RawSignBytesHashFunction = 'keccak256' | 'sha256' | 'blake2b256';
456
+ export interface EthereumSendCallsRpcResponse {
457
+ /**
458
+ * Data returned by the `wallet_sendCalls` RPC.
459
+ */
460
+ data: EthereumSendCallsRpcResponseData;
461
+ method: 'wallet_sendCalls';
462
+ }
518
463
  /**
519
- * Parameters for hashing and signing bytes with the `raw_sign` RPC.
464
+ * Data returned by the `wallet_sendCalls` RPC.
520
465
  */
521
- export interface RawSignBytesParams {
466
+ export interface EthereumSendCallsRpcResponseData {
522
467
  /**
523
- * The bytes to hash and sign.
468
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
524
469
  */
525
- bytes: string;
470
+ caip2: AppsAPI.Caip2;
471
+ transaction_id: string;
472
+ }
473
+ /**
474
+ * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
475
+ */
476
+ export interface EthereumSendTransactionRpcInput {
526
477
  /**
527
- * Encoding scheme for bytes in the `raw_sign` RPC.
478
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
528
479
  */
529
- encoding: RawSignBytesEncoding;
480
+ caip2: AppsAPI.Caip2;
481
+ method: 'eth_sendTransaction';
530
482
  /**
531
- * Hash function for bytes in the `raw_sign` RPC.
483
+ * Parameters for the EVM `eth_sendTransaction` RPC.
532
484
  */
533
- hash_function: RawSignBytesHashFunction;
485
+ params: EthereumSendTransactionRpcInputParams;
486
+ address?: string;
487
+ chain_type?: 'ethereum';
488
+ /**
489
+ * A hex-encoded string prefixed with '0x'.
490
+ */
491
+ experimental_data_suffix?: Hex;
492
+ reference_id?: string;
493
+ sponsor?: boolean;
494
+ wallet_id?: string;
534
495
  }
535
496
  /**
536
- * Parameters for the `raw_sign` RPC.
537
- */
538
- export type RawSignInputParams = RawSignHashParams | RawSignBytesParams;
539
- /**
540
- * Provide either `hash` (to sign a pre-computed hash) OR `bytes`, `encoding`, and
541
- * `hash_function` (to hash and then sign). These options are mutually exclusive.
497
+ * Parameters for the EVM `eth_sendTransaction` RPC.
542
498
  */
543
- export interface RawSignInput {
499
+ export interface EthereumSendTransactionRpcInputParams {
544
500
  /**
545
- * Parameters for the `raw_sign` RPC.
501
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
502
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
546
503
  */
547
- params: RawSignInputParams;
504
+ transaction: UnsignedEthereumTransaction;
548
505
  }
549
506
  /**
550
- * Data returned by the `raw_sign` RPC.
507
+ * Response to the EVM `eth_sendTransaction` RPC.
551
508
  */
552
- export interface RawSignResponseData {
553
- encoding: 'hex';
509
+ export interface EthereumSendTransactionRpcResponse {
554
510
  /**
555
- * A hex-encoded string prefixed with '0x'.
511
+ * Data returned by the EVM `eth_sendTransaction` RPC.
556
512
  */
557
- signature: Hex;
513
+ data: EthereumSendTransactionRpcResponseData;
514
+ method: 'eth_sendTransaction';
558
515
  }
559
516
  /**
560
- * Response to the `raw_sign` RPC.
517
+ * Data returned by the EVM `eth_sendTransaction` RPC.
561
518
  */
562
- export interface RawSignResponse {
519
+ export interface EthereumSendTransactionRpcResponseData {
563
520
  /**
564
- * Data returned by the `raw_sign` RPC.
521
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
565
522
  */
566
- data: RawSignResponseData;
567
- method: 'raw_sign';
523
+ caip2: AppsAPI.Caip2;
524
+ hash: string;
525
+ reference_id?: string | null;
526
+ transaction_id?: string;
527
+ /**
528
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
529
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
530
+ */
531
+ transaction_request?: UnsignedEthereumTransaction;
532
+ user_operation_hash?: string;
568
533
  }
569
534
  /**
570
535
  * A signed EIP-7702 authorization that delegates code execution to a contract
@@ -593,188 +558,179 @@ export interface EthereumSign7702Authorization {
593
558
  y_parity: number;
594
559
  }
595
560
  /**
596
- * An unsigned Ethereum transaction object.
561
+ * Signs an EIP-7702 authorization.
597
562
  */
598
- export interface UnsignedEthereumTransaction {
599
- authorization_list?: Array<EthereumSign7702Authorization>;
600
- /**
601
- * A quantity value that can be either a hex string starting with '0x' or a
602
- * non-negative integer.
603
- */
604
- chain_id?: Quantity;
605
- /**
606
- * A hex-encoded string prefixed with '0x'.
607
- */
608
- data?: Hex;
609
- from?: string;
610
- /**
611
- * A quantity value that can be either a hex string starting with '0x' or a
612
- * non-negative integer.
613
- */
614
- gas_limit?: Quantity;
615
- /**
616
- * A quantity value that can be either a hex string starting with '0x' or a
617
- * non-negative integer.
618
- */
619
- gas_price?: Quantity;
563
+ export interface EthereumSign7702AuthorizationRpcInput {
564
+ method: 'eth_sign7702Authorization';
620
565
  /**
621
- * A quantity value that can be either a hex string starting with '0x' or a
622
- * non-negative integer.
566
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
623
567
  */
624
- max_fee_per_gas?: Quantity;
568
+ params: EthereumSign7702AuthorizationRpcInputParams;
569
+ address?: string;
570
+ chain_type?: 'ethereum';
571
+ wallet_id?: string;
572
+ }
573
+ /**
574
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
575
+ */
576
+ export interface EthereumSign7702AuthorizationRpcInputParams {
625
577
  /**
626
578
  * A quantity value that can be either a hex string starting with '0x' or a
627
579
  * non-negative integer.
628
580
  */
629
- max_priority_fee_per_gas?: Quantity;
581
+ chain_id: Quantity;
582
+ contract: string;
583
+ executor?: 'self';
630
584
  /**
631
585
  * A quantity value that can be either a hex string starting with '0x' or a
632
586
  * non-negative integer.
633
587
  */
634
588
  nonce?: Quantity;
635
- to?: string;
636
- type?: 0 | 1 | 2 | 4;
589
+ }
590
+ /**
591
+ * Response to the EVM `eth_sign7702Authorization` RPC.
592
+ */
593
+ export interface EthereumSign7702AuthorizationRpcResponse {
637
594
  /**
638
- * A quantity value that can be either a hex string starting with '0x' or a
639
- * non-negative integer.
595
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
640
596
  */
641
- value?: Quantity;
597
+ data: EthereumSign7702AuthorizationRpcResponseData;
598
+ method: 'eth_sign7702Authorization';
642
599
  }
643
600
  /**
644
- * An ERC-4337 user operation.
601
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
645
602
  */
646
- export interface UserOperationInput {
603
+ export interface EthereumSign7702AuthorizationRpcResponseData {
647
604
  /**
648
- * A hex-encoded string prefixed with '0x'.
605
+ * A signed EIP-7702 authorization that delegates code execution to a contract
606
+ * address.
649
607
  */
650
- call_data: Hex;
608
+ authorization: EthereumSign7702Authorization;
609
+ }
610
+ /**
611
+ * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
612
+ */
613
+ export interface EthereumSignTransactionRpcInput {
614
+ method: 'eth_signTransaction';
651
615
  /**
652
- * A hex-encoded string prefixed with '0x'.
616
+ * Parameters for the EVM `eth_signTransaction` RPC.
653
617
  */
654
- call_gas_limit: Hex;
618
+ params: EthereumSignTransactionRpcInputParams;
619
+ address?: string;
620
+ chain_type?: 'ethereum';
621
+ wallet_id?: string;
622
+ }
623
+ /**
624
+ * Parameters for the EVM `eth_signTransaction` RPC.
625
+ */
626
+ export interface EthereumSignTransactionRpcInputParams {
655
627
  /**
656
- * A hex-encoded string prefixed with '0x'.
628
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
629
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
657
630
  */
658
- max_fee_per_gas: Hex;
631
+ transaction: UnsignedEthereumTransaction;
632
+ }
633
+ /**
634
+ * Response to the EVM `eth_signTransaction` RPC.
635
+ */
636
+ export interface EthereumSignTransactionRpcResponse {
659
637
  /**
660
- * A hex-encoded string prefixed with '0x'.
661
- */
662
- max_priority_fee_per_gas: Hex;
663
- /**
664
- * A hex-encoded string prefixed with '0x'.
665
- */
666
- nonce: Hex;
667
- /**
668
- * A hex-encoded string prefixed with '0x'.
669
- */
670
- pre_verification_gas: Hex;
671
- sender: string;
672
- /**
673
- * A hex-encoded string prefixed with '0x'.
674
- */
675
- verification_gas_limit: Hex;
676
- paymaster?: string;
677
- /**
678
- * A hex-encoded string prefixed with '0x'.
679
- */
680
- paymaster_data?: Hex;
681
- /**
682
- * A hex-encoded string prefixed with '0x'.
683
- */
684
- paymaster_post_op_gas_limit?: Hex;
685
- /**
686
- * A hex-encoded string prefixed with '0x'.
638
+ * Data returned by the EVM `eth_signTransaction` RPC.
687
639
  */
688
- paymaster_verification_gas_limit?: Hex;
689
- }
690
- /**
691
- * The domain parameters for EIP-712 typed data signing.
692
- */
693
- export type TypedDataDomainInputParams = {
694
- [key: string]: unknown;
695
- };
696
- /**
697
- * A single field definition in an EIP-712 typed data type.
698
- */
699
- export interface TypedDataTypeFieldInput {
700
- name: string;
701
- type: string;
640
+ data: EthereumSignTransactionRpcResponseData;
641
+ method: 'eth_signTransaction';
702
642
  }
703
643
  /**
704
- * The type definitions for EIP-712 typed data signing.
705
- */
706
- export type TypedDataTypesInputParams = {
707
- [key: string]: Array<TypedDataTypeFieldInput>;
708
- };
709
- /**
710
- * Parameters for the EVM `personal_sign` RPC.
644
+ * Data returned by the EVM `eth_signTransaction` RPC.
711
645
  */
712
- export interface EthereumPersonalSignRpcInputParams {
713
- encoding: 'utf-8' | 'hex';
714
- message: string;
646
+ export interface EthereumSignTransactionRpcResponseData {
647
+ encoding: 'rlp';
648
+ signed_transaction: string;
715
649
  }
716
650
  /**
717
- * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
651
+ * Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data
652
+ * object.
718
653
  */
719
- export interface EthereumPersonalSignRpcInput {
720
- method: 'personal_sign';
654
+ export interface EthereumSignTypedDataRpcInput {
655
+ method: 'eth_signTypedData_v4';
721
656
  /**
722
- * Parameters for the EVM `personal_sign` RPC.
657
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
723
658
  */
724
- params: EthereumPersonalSignRpcInputParams;
659
+ params: EthereumSignTypedDataRpcInputParams;
725
660
  address?: string;
726
661
  chain_type?: 'ethereum';
727
662
  wallet_id?: string;
728
663
  }
729
664
  /**
730
- * Parameters for the EVM `eth_signTransaction` RPC.
665
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
731
666
  */
732
- export interface EthereumSignTransactionRpcInputParams {
667
+ export interface EthereumSignTypedDataRpcInputParams {
733
668
  /**
734
- * An unsigned Ethereum transaction object.
669
+ * EIP-712 typed data object.
735
670
  */
736
- transaction: UnsignedEthereumTransaction;
671
+ typed_data: EthereumTypedDataInput;
737
672
  }
738
673
  /**
739
- * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
674
+ * Response to the EVM `eth_signTypedData_v4` RPC.
740
675
  */
741
- export interface EthereumSignTransactionRpcInput {
742
- method: 'eth_signTransaction';
676
+ export interface EthereumSignTypedDataRpcResponse {
743
677
  /**
744
- * Parameters for the EVM `eth_signTransaction` RPC.
678
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
745
679
  */
746
- params: EthereumSignTransactionRpcInputParams;
680
+ data: EthereumSignTypedDataRpcResponseData;
681
+ method: 'eth_signTypedData_v4';
682
+ }
683
+ /**
684
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
685
+ */
686
+ export interface EthereumSignTypedDataRpcResponseData {
687
+ encoding: 'hex';
688
+ signature: string;
689
+ }
690
+ /**
691
+ * Executes an RPC method to hash and sign a UserOperation.
692
+ */
693
+ export interface EthereumSignUserOperationRpcInput {
694
+ method: 'eth_signUserOperation';
695
+ /**
696
+ * Parameters for the EVM `eth_signUserOperation` RPC.
697
+ */
698
+ params: EthereumSignUserOperationRpcInputParams;
747
699
  address?: string;
748
700
  chain_type?: 'ethereum';
749
701
  wallet_id?: string;
750
702
  }
751
703
  /**
752
- * Parameters for the EVM `eth_sendTransaction` RPC.
704
+ * Parameters for the EVM `eth_signUserOperation` RPC.
753
705
  */
754
- export interface EthereumSendTransactionRpcInputParams {
706
+ export interface EthereumSignUserOperationRpcInputParams {
755
707
  /**
756
- * An unsigned Ethereum transaction object.
708
+ * A quantity value that can be either a hex string starting with '0x' or a
709
+ * non-negative integer.
757
710
  */
758
- transaction: UnsignedEthereumTransaction;
711
+ chain_id: Quantity;
712
+ contract: string;
713
+ /**
714
+ * An ERC-4337 user operation.
715
+ */
716
+ user_operation: UserOperationInput;
759
717
  }
760
718
  /**
761
- * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
719
+ * Response to the EVM `eth_signUserOperation` RPC.
762
720
  */
763
- export interface EthereumSendTransactionRpcInput {
764
- /**
765
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
766
- */
767
- caip2: AppsAPI.Caip2;
768
- method: 'eth_sendTransaction';
721
+ export interface EthereumSignUserOperationRpcResponse {
769
722
  /**
770
- * Parameters for the EVM `eth_sendTransaction` RPC.
723
+ * Data returned by the EVM `eth_signUserOperation` RPC.
771
724
  */
772
- params: EthereumSendTransactionRpcInputParams;
773
- address?: string;
774
- chain_type?: 'ethereum';
775
- reference_id?: string;
776
- sponsor?: boolean;
777
- wallet_id?: string;
725
+ data: EthereumSignUserOperationRpcResponseData;
726
+ method: 'eth_signUserOperation';
727
+ }
728
+ /**
729
+ * Data returned by the EVM `eth_signUserOperation` RPC.
730
+ */
731
+ export interface EthereumSignUserOperationRpcResponseData {
732
+ encoding: 'hex';
733
+ signature: string;
778
734
  }
779
735
  /**
780
736
  * EIP-712 typed data object.
@@ -794,338 +750,416 @@ export interface EthereumTypedDataInput {
794
750
  types: TypedDataTypesInputParams;
795
751
  }
796
752
  /**
797
- * Parameters for the EVM `eth_signTypedData_v4` RPC.
753
+ * Exports the private key of the wallet.
798
754
  */
799
- export interface EthereumSignTypedDataRpcInputParams {
755
+ export interface ExportPrivateKeyRpcInput {
756
+ address: string;
757
+ method: 'exportPrivateKey';
800
758
  /**
801
- * EIP-712 typed data object.
759
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
802
760
  */
803
- typed_data: EthereumTypedDataInput;
761
+ params: PrivateKeyExportInput;
804
762
  }
805
763
  /**
806
- * Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data
807
- * object.
764
+ * Response to the `exportPrivateKey` RPC.
808
765
  */
809
- export interface EthereumSignTypedDataRpcInput {
810
- method: 'eth_signTypedData_v4';
766
+ export interface ExportPrivateKeyRpcResponse {
811
767
  /**
812
- * Parameters for the EVM `eth_signTypedData_v4` RPC.
768
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
813
769
  */
814
- params: EthereumSignTypedDataRpcInputParams;
815
- address?: string;
816
- chain_type?: 'ethereum';
817
- wallet_id?: string;
770
+ data: PrivateKeyExportInput;
771
+ method: 'exportPrivateKey';
818
772
  }
819
773
  /**
820
- * Parameters for the EVM `secp256k1_sign` RPC.
774
+ * Exports the seed phrase of the wallet.
821
775
  */
822
- export interface EthereumSecp256k1SignRpcInputParams {
776
+ export interface ExportSeedPhraseRpcInput {
777
+ address: string;
778
+ method: 'exportSeedPhrase';
823
779
  /**
824
- * A hex-encoded string prefixed with '0x'.
780
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
825
781
  */
826
- hash: Hex;
782
+ params: SeedPhraseExportInput;
827
783
  }
828
784
  /**
829
- * Signs a raw hash on the secp256k1 curve.
785
+ * Response to the `exportSeedPhrase` RPC.
830
786
  */
831
- export interface EthereumSecp256k1SignRpcInput {
832
- method: 'secp256k1_sign';
787
+ export interface ExportSeedPhraseRpcResponse {
833
788
  /**
834
- * Parameters for the EVM `secp256k1_sign` RPC.
789
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
835
790
  */
836
- params: EthereumSecp256k1SignRpcInputParams;
837
- address?: string;
838
- chain_type?: 'ethereum';
839
- wallet_id?: string;
791
+ data: SeedPhraseExportResponse;
792
+ method: 'exportSeedPhrase';
840
793
  }
841
794
  /**
842
- * Parameters for the EVM `eth_sign7702Authorization` RPC.
795
+ * The export type. 'display' is for showing the key to the user in the UI,
796
+ * 'client' is for exporting to the client application.
843
797
  */
844
- export interface EthereumSign7702AuthorizationRpcInputParams {
845
- /**
846
- * A quantity value that can be either a hex string starting with '0x' or a
847
- * non-negative integer.
848
- */
849
- chain_id: Quantity;
850
- contract: string;
851
- executor?: 'self';
852
- /**
853
- * A quantity value that can be either a hex string starting with '0x' or a
854
- * non-negative integer.
855
- */
856
- nonce?: Quantity;
857
- }
798
+ export type ExportType = 'display' | 'client';
858
799
  /**
859
- * Signs an EIP-7702 authorization.
800
+ * The wallet chain types that are not first class chains.
860
801
  */
861
- export interface EthereumSign7702AuthorizationRpcInput {
862
- method: 'eth_sign7702Authorization';
802
+ export type ExtendedChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark';
803
+ /**
804
+ * The wallet chain types that offer first class support.
805
+ */
806
+ export type FirstClassChainType = 'ethereum' | 'solana';
807
+ /**
808
+ * Request body for looking up a wallet by its blockchain address.
809
+ */
810
+ export interface GetByWalletAddressRequestBody {
863
811
  /**
864
- * Parameters for the EVM `eth_sign7702Authorization` RPC.
812
+ * A blockchain wallet address (Ethereum or Solana).
865
813
  */
866
- params: EthereumSign7702AuthorizationRpcInputParams;
867
- address?: string;
868
- chain_type?: 'ethereum';
869
- wallet_id?: string;
814
+ address: Address;
870
815
  }
871
816
  /**
872
- * Parameters for the EVM `eth_signUserOperation` RPC.
817
+ * The input for HD wallets.
873
818
  */
874
- export interface EthereumSignUserOperationRpcInputParams {
819
+ export interface HDInitInput {
875
820
  /**
876
- * A quantity value that can be either a hex string starting with '0x' or a
877
- * non-negative integer.
821
+ * The address of the wallet to import.
878
822
  */
879
- chain_id: Quantity;
880
- contract: string;
823
+ address: string;
881
824
  /**
882
- * An ERC-4337 user operation.
825
+ * The chain type of the wallet to import. Currently supports `ethereum` and
826
+ * `solana`.
883
827
  */
884
- user_operation: UserOperationInput;
885
- }
886
- /**
887
- * Executes an RPC method to hash and sign a UserOperation.
888
- */
889
- export interface EthereumSignUserOperationRpcInput {
890
- method: 'eth_signUserOperation';
828
+ chain_type: WalletImportSupportedChains;
891
829
  /**
892
- * Parameters for the EVM `eth_signUserOperation` RPC.
830
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
893
831
  */
894
- params: EthereumSignUserOperationRpcInputParams;
895
- address?: string;
896
- chain_type?: 'ethereum';
897
- wallet_id?: string;
898
- }
899
- /**
900
- * A single call within a batched wallet_sendCalls request.
901
- */
902
- export interface EthereumSendCallsCall {
903
- to: string;
832
+ encryption_type: HpkeEncryption;
904
833
  /**
905
- * A hex-encoded string prefixed with '0x'.
834
+ * The entropy type of the wallet to import.
906
835
  */
907
- data?: Hex;
836
+ entropy_type: 'hd';
908
837
  /**
909
- * A quantity value that can be either a hex string starting with '0x' or a
910
- * non-negative integer.
838
+ * The index of the wallet to import.
911
839
  */
912
- value?: Quantity;
840
+ index: number;
913
841
  }
914
842
  /**
915
- * Parameters for the `wallet_sendCalls` RPC.
843
+ * A BIP-32 hierarchical deterministic wallet derivation path.
916
844
  */
917
- export interface EthereumSendCallsRpcInputParams {
918
- calls: Array<EthereumSendCallsCall>;
919
- }
845
+ export type HDPath = string;
920
846
  /**
921
- * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
922
- * single atomic transaction.
847
+ * The submission input for importing an HD wallet.
923
848
  */
924
- export interface EthereumSendCallsRpcInput {
849
+ export interface HDSubmitInput {
925
850
  /**
926
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
851
+ * The address of the wallet to import.
927
852
  */
928
- caip2: AppsAPI.Caip2;
929
- method: 'wallet_sendCalls';
853
+ address: string;
930
854
  /**
931
- * Parameters for the `wallet_sendCalls` RPC.
855
+ * The chain type of the wallet to import. Currently supports `ethereum` and
856
+ * `solana`.
932
857
  */
933
- params: EthereumSendCallsRpcInputParams;
934
- address?: string;
935
- chain_type?: 'ethereum';
936
- sponsor?: boolean;
937
- wallet_id?: string;
858
+ chain_type: WalletImportSupportedChains;
859
+ /**
860
+ * The encrypted entropy of the wallet to import.
861
+ */
862
+ ciphertext: string;
863
+ /**
864
+ * The base64-encoded encapsulated key that was generated during encryption, for
865
+ * use during decryption inside the TEE.
866
+ */
867
+ encapsulated_key: string;
868
+ /**
869
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
870
+ */
871
+ encryption_type: HpkeEncryption;
872
+ /**
873
+ * The entropy type of the wallet to import.
874
+ */
875
+ entropy_type: 'hd';
876
+ /**
877
+ * The index of the wallet to import.
878
+ */
879
+ index: number;
880
+ /**
881
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
882
+ * importing wallets encrypted by external providers that use different HPKE
883
+ * configurations.
884
+ */
885
+ hpke_config?: HpkeImportConfig;
938
886
  }
939
887
  /**
940
- * Request body for Ethereum wallet RPC operations, discriminated by method.
888
+ * The AEAD algorithm used for HPKE encryption.
941
889
  */
942
- export type EthereumRpcInput = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput;
890
+ export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
943
891
  /**
944
- * Data returned by the EVM `personal_sign` RPC.
892
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
945
893
  */
946
- export interface EthereumPersonalSignRpcResponseData {
947
- encoding: 'hex';
948
- signature: string;
949
- }
894
+ export type HpkeEncryption = 'HPKE';
950
895
  /**
951
- * Response to the EVM `personal_sign` RPC.
896
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
897
+ * importing wallets encrypted by external providers that use different HPKE
898
+ * configurations.
952
899
  */
953
- export interface EthereumPersonalSignRpcResponse {
900
+ export interface HpkeImportConfig {
954
901
  /**
955
- * Data returned by the EVM `personal_sign` RPC.
902
+ * Additional Authenticated Data (AAD) used during encryption. Should be
903
+ * base64-encoded bytes.
956
904
  */
957
- data: EthereumPersonalSignRpcResponseData;
958
- method: 'personal_sign';
905
+ aad?: string;
906
+ /**
907
+ * The AEAD algorithm used for HPKE encryption.
908
+ */
909
+ aead_algorithm?: HpkeAeadAlgorithm;
910
+ /**
911
+ * Application-specific context information (INFO) used during HPKE encryption.
912
+ * Should be base64-encoded bytes.
913
+ */
914
+ info?: string;
959
915
  }
960
916
  /**
961
- * Data returned by the EVM `eth_signTransaction` RPC.
917
+ * A hex-encoded string prefixed with '0x'.
962
918
  */
963
- export interface EthereumSignTransactionRpcResponseData {
964
- encoding: 'rlp';
965
- signed_transaction: string;
966
- }
919
+ export type Hex = string;
967
920
  /**
968
- * Response to the EVM `eth_signTransaction` RPC.
921
+ * Source for a transfer identified by a named asset (e.g. "usdc", "eth"). Use this
922
+ * variant for first-class assets maintained by Privy.
969
923
  */
970
- export interface EthereumSignTransactionRpcResponse {
924
+ export interface NamedTokenTransferSource {
971
925
  /**
972
- * Data returned by the EVM `eth_signTransaction` RPC.
926
+ * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
927
+ * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
928
+ * etc.).
973
929
  */
974
- data: EthereumSignTransactionRpcResponseData;
975
- method: 'eth_signTransaction';
976
- }
977
- /**
978
- * Data returned by the EVM `eth_sendTransaction` RPC.
979
- */
980
- export interface EthereumSendTransactionRpcResponseData {
930
+ amount: string;
981
931
  /**
982
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
932
+ * The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
933
+ * (native Ethereum), 'sol' (native Solana).
983
934
  */
984
- caip2: AppsAPI.Caip2;
985
- hash: string;
986
- reference_id?: string | null;
987
- transaction_id?: string;
935
+ asset: string;
988
936
  /**
989
- * An unsigned Ethereum transaction object.
937
+ * The blockchain network on which to perform the transfer. Supported chains
938
+ * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
939
+ * respective testnets.
990
940
  */
991
- transaction_request?: UnsignedEthereumTransaction;
992
- user_operation_hash?: string;
941
+ chain: string;
993
942
  }
994
943
  /**
995
- * Response to the EVM `eth_sendTransaction` RPC.
944
+ * A Spark token output with its previous transaction data.
996
945
  */
997
- export interface EthereumSendTransactionRpcResponse {
946
+ export interface OutputWithPreviousTransactionData {
947
+ previous_transaction_hash: string;
948
+ previous_transaction_vout: number;
998
949
  /**
999
- * Data returned by the EVM `eth_sendTransaction` RPC.
950
+ * A Spark token output.
1000
951
  */
1001
- data: EthereumSendTransactionRpcResponseData;
1002
- method: 'eth_sendTransaction';
952
+ output?: TokenOutput;
1003
953
  }
1004
954
  /**
1005
- * Data returned by the EVM `eth_signTypedData_v4` RPC.
955
+ * An optional list of up to one policy ID to enforce on the wallet.
1006
956
  */
1007
- export interface EthereumSignTypedDataRpcResponseData {
1008
- encoding: 'hex';
1009
- signature: string;
1010
- }
957
+ export type PolicyInput = Array<string>;
1011
958
  /**
1012
- * Response to the EVM `eth_signTypedData_v4` RPC.
959
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1013
960
  */
1014
- export interface EthereumSignTypedDataRpcResponse {
961
+ export interface PrivateKeyExportInput {
1015
962
  /**
1016
- * Data returned by the EVM `eth_signTypedData_v4` RPC.
963
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1017
964
  */
1018
- data: EthereumSignTypedDataRpcResponseData;
1019
- method: 'eth_signTypedData_v4';
1020
- }
1021
- /**
1022
- * Data returned by the EVM `secp256k1_sign` RPC.
1023
- */
1024
- export interface EthereumSecp256k1SignRpcResponseData {
1025
- encoding: 'hex';
965
+ encryption_type: HpkeEncryption;
1026
966
  /**
1027
- * A hex-encoded string prefixed with '0x'.
967
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
968
+ * format.
1028
969
  */
1029
- signature: Hex;
970
+ recipient_public_key: RecipientPublicKey;
971
+ export_seed_phrase?: boolean;
972
+ /**
973
+ * The export type. 'display' is for showing the key to the user in the UI,
974
+ * 'client' is for exporting to the client application.
975
+ */
976
+ export_type?: ExportType;
1030
977
  }
1031
978
  /**
1032
- * Response to the EVM `secp256k1_sign` RPC.
979
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
1033
980
  */
1034
- export interface EthereumSecp256k1SignRpcResponse {
981
+ export interface PrivateKeyExportResponse {
982
+ ciphertext: string;
983
+ encapsulated_key: string;
1035
984
  /**
1036
- * Data returned by the EVM `secp256k1_sign` RPC.
985
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1037
986
  */
1038
- data: EthereumSecp256k1SignRpcResponseData;
1039
- method: 'secp256k1_sign';
987
+ encryption_type: HpkeEncryption;
1040
988
  }
1041
989
  /**
1042
- * Data returned by the EVM `eth_sign7702Authorization` RPC.
990
+ * The input for private key wallets.
1043
991
  */
1044
- export interface EthereumSign7702AuthorizationRpcResponseData {
992
+ export interface PrivateKeyInitInput {
1045
993
  /**
1046
- * A signed EIP-7702 authorization that delegates code execution to a contract
1047
- * address.
994
+ * The address of the wallet to import.
1048
995
  */
1049
- authorization: EthereumSign7702Authorization;
996
+ address: string;
997
+ /**
998
+ * The chain type of the wallet to import. Currently supports `ethereum` and
999
+ * `solana`.
1000
+ */
1001
+ chain_type: WalletImportSupportedChains;
1002
+ /**
1003
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1004
+ */
1005
+ encryption_type: HpkeEncryption;
1006
+ entropy_type: 'private-key';
1050
1007
  }
1051
1008
  /**
1052
- * Response to the EVM `eth_sign7702Authorization` RPC.
1009
+ * The submission input for importing a private key wallet.
1053
1010
  */
1054
- export interface EthereumSign7702AuthorizationRpcResponse {
1011
+ export interface PrivateKeySubmitInput {
1055
1012
  /**
1056
- * Data returned by the EVM `eth_sign7702Authorization` RPC.
1013
+ * The address of the wallet to import.
1057
1014
  */
1058
- data: EthereumSign7702AuthorizationRpcResponseData;
1059
- method: 'eth_sign7702Authorization';
1015
+ address: string;
1016
+ /**
1017
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1018
+ * `solana`.
1019
+ */
1020
+ chain_type: WalletImportSupportedChains;
1021
+ /**
1022
+ * The encrypted entropy of the wallet to import.
1023
+ */
1024
+ ciphertext: string;
1025
+ /**
1026
+ * The base64-encoded encapsulated key that was generated during encryption, for
1027
+ * use during decryption inside the TEE.
1028
+ */
1029
+ encapsulated_key: string;
1030
+ /**
1031
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1032
+ */
1033
+ encryption_type: HpkeEncryption;
1034
+ entropy_type: 'private-key';
1035
+ /**
1036
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
1037
+ * importing wallets encrypted by external providers that use different HPKE
1038
+ * configurations.
1039
+ */
1040
+ hpke_config?: HpkeImportConfig;
1060
1041
  }
1061
1042
  /**
1062
- * Data returned by the EVM `eth_signUserOperation` RPC.
1043
+ * A quantity value that can be either a hex string starting with '0x' or a
1044
+ * non-negative integer.
1063
1045
  */
1064
- export interface EthereumSignUserOperationRpcResponseData {
1065
- encoding: 'hex';
1066
- signature: string;
1067
- }
1046
+ export type Quantity = Hex | number;
1068
1047
  /**
1069
- * Response to the EVM `eth_signUserOperation` RPC.
1048
+ * Encoding scheme for bytes in the `raw_sign` RPC.
1070
1049
  */
1071
- export interface EthereumSignUserOperationRpcResponse {
1050
+ export type RawSignBytesEncoding = 'utf-8' | 'hex' | 'base64';
1051
+ /**
1052
+ * Hash function for bytes in the `raw_sign` RPC.
1053
+ */
1054
+ export type RawSignBytesHashFunction = 'keccak256' | 'sha256' | 'blake2b256';
1055
+ /**
1056
+ * Parameters for hashing and signing bytes with the `raw_sign` RPC.
1057
+ */
1058
+ export interface RawSignBytesParams {
1072
1059
  /**
1073
- * Data returned by the EVM `eth_signUserOperation` RPC.
1060
+ * The bytes to hash and sign.
1074
1061
  */
1075
- data: EthereumSignUserOperationRpcResponseData;
1076
- method: 'eth_signUserOperation';
1062
+ bytes: string;
1063
+ /**
1064
+ * Encoding scheme for bytes in the `raw_sign` RPC.
1065
+ */
1066
+ encoding: RawSignBytesEncoding;
1067
+ /**
1068
+ * Hash function for bytes in the `raw_sign` RPC.
1069
+ */
1070
+ hash_function: RawSignBytesHashFunction;
1077
1071
  }
1078
1072
  /**
1079
- * Data returned by the `wallet_sendCalls` RPC.
1073
+ * Parameters for signing a pre-computed hash with the `raw_sign` RPC.
1080
1074
  */
1081
- export interface EthereumSendCallsRpcResponseData {
1075
+ export interface RawSignHashParams {
1082
1076
  /**
1083
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1077
+ * A hex-encoded string prefixed with '0x'.
1084
1078
  */
1085
- caip2: AppsAPI.Caip2;
1086
- transaction_id: string;
1079
+ hash: Hex;
1087
1080
  }
1088
1081
  /**
1089
- * Response to the `wallet_sendCalls` RPC.
1082
+ * Provide either `hash` (to sign a pre-computed hash) OR `bytes`, `encoding`, and
1083
+ * `hash_function` (to hash and then sign). These options are mutually exclusive.
1090
1084
  */
1091
- export interface EthereumSendCallsRpcResponse {
1085
+ export interface RawSignInput {
1092
1086
  /**
1093
- * Data returned by the `wallet_sendCalls` RPC.
1087
+ * Parameters for the `raw_sign` RPC.
1094
1088
  */
1095
- data: EthereumSendCallsRpcResponseData;
1096
- method: 'wallet_sendCalls';
1089
+ params: RawSignInputParams;
1097
1090
  }
1098
1091
  /**
1099
- * Response body for Ethereum wallet RPC operations, discriminated by method.
1092
+ * Parameters for the `raw_sign` RPC.
1100
1093
  */
1101
- export type EthereumRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse;
1094
+ export type RawSignInputParams = RawSignHashParams | RawSignBytesParams;
1102
1095
  /**
1103
- * Parameters for the SVM `signTransaction` RPC.
1096
+ * Response to the `raw_sign` RPC.
1104
1097
  */
1105
- export interface SolanaSignTransactionRpcInputParams {
1106
- encoding: 'base64';
1107
- transaction: string;
1108
- }
1098
+ export interface RawSignResponse {
1099
+ /**
1100
+ * Data returned by the `raw_sign` RPC.
1101
+ */
1102
+ data: RawSignResponseData;
1103
+ method: 'raw_sign';
1104
+ }
1109
1105
  /**
1110
- * Executes the SVM `signTransaction` RPC to sign a transaction.
1106
+ * Data returned by the `raw_sign` RPC.
1111
1107
  */
1112
- export interface SolanaSignTransactionRpcInput {
1113
- method: 'signTransaction';
1108
+ export interface RawSignResponseData {
1109
+ encoding: 'hex';
1114
1110
  /**
1115
- * Parameters for the SVM `signTransaction` RPC.
1111
+ * A hex-encoded string prefixed with '0x'.
1116
1112
  */
1117
- params: SolanaSignTransactionRpcInputParams;
1118
- address?: string;
1119
- chain_type?: 'solana';
1120
- wallet_id?: string;
1113
+ signature: Hex;
1121
1114
  }
1122
1115
  /**
1123
- * Parameters for the SVM `signAndSendTransaction` RPC.
1116
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
1117
+ * format.
1124
1118
  */
1125
- export interface SolanaSignAndSendTransactionRpcInputParams {
1126
- encoding: 'base64';
1127
- transaction: string;
1119
+ export type RecipientPublicKey = string;
1120
+ /**
1121
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1122
+ */
1123
+ export interface SeedPhraseExportInput {
1124
+ /**
1125
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1126
+ */
1127
+ encryption_type: HpkeEncryption;
1128
+ /**
1129
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
1130
+ * format.
1131
+ */
1132
+ recipient_public_key: RecipientPublicKey;
1133
+ export_seed_phrase?: boolean;
1134
+ /**
1135
+ * The export type. 'display' is for showing the key to the user in the UI,
1136
+ * 'client' is for exporting to the client application.
1137
+ */
1138
+ export_type?: ExportType;
1139
+ }
1140
+ /**
1141
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
1142
+ */
1143
+ export interface SeedPhraseExportResponse {
1144
+ ciphertext: string;
1145
+ encapsulated_key: string;
1146
+ /**
1147
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1148
+ */
1149
+ encryption_type: HpkeEncryption;
1128
1150
  }
1151
+ /**
1152
+ * The signing algorithm used by the wallet.
1153
+ */
1154
+ export type SigningAlgorithm = 'ECDSA' | 'EdDSA' | 'Schnorr';
1155
+ /**
1156
+ * Request body for Solana wallet RPC operations, discriminated by method.
1157
+ */
1158
+ export type SolanaRpcInput = SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput;
1159
+ /**
1160
+ * Response body for Solana wallet RPC operations, discriminated by method.
1161
+ */
1162
+ export type SolanaRpcResponse = SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse;
1129
1163
  /**
1130
1164
  * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
1131
1165
  * transaction.
@@ -1147,45 +1181,21 @@ export interface SolanaSignAndSendTransactionRpcInput {
1147
1181
  wallet_id?: string;
1148
1182
  }
1149
1183
  /**
1150
- * Parameters for the SVM `signMessage` RPC.
1151
- */
1152
- export interface SolanaSignMessageRpcInputParams {
1153
- encoding: 'base64';
1154
- message: string;
1155
- }
1156
- /**
1157
- * Executes the SVM `signMessage` RPC to sign a message.
1158
- */
1159
- export interface SolanaSignMessageRpcInput {
1160
- method: 'signMessage';
1161
- /**
1162
- * Parameters for the SVM `signMessage` RPC.
1163
- */
1164
- params: SolanaSignMessageRpcInputParams;
1165
- address?: string;
1166
- chain_type?: 'solana';
1167
- wallet_id?: string;
1168
- }
1169
- /**
1170
- * Request body for Solana wallet RPC operations, discriminated by method.
1171
- */
1172
- export type SolanaRpcInput = SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput;
1173
- /**
1174
- * Data returned by the SVM `signTransaction` RPC.
1184
+ * Parameters for the SVM `signAndSendTransaction` RPC.
1175
1185
  */
1176
- export interface SolanaSignTransactionRpcResponseData {
1186
+ export interface SolanaSignAndSendTransactionRpcInputParams {
1177
1187
  encoding: 'base64';
1178
- signed_transaction: string;
1188
+ transaction: string;
1179
1189
  }
1180
1190
  /**
1181
- * Response to the SVM `signTransaction` RPC.
1191
+ * Response to the SVM `signAndSendTransaction` RPC.
1182
1192
  */
1183
- export interface SolanaSignTransactionRpcResponse {
1193
+ export interface SolanaSignAndSendTransactionRpcResponse {
1184
1194
  /**
1185
- * Data returned by the SVM `signTransaction` RPC.
1195
+ * Data returned by the SVM `signAndSendTransaction` RPC.
1186
1196
  */
1187
- data: SolanaSignTransactionRpcResponseData;
1188
- method: 'signTransaction';
1197
+ data: SolanaSignAndSendTransactionRpcResponseData;
1198
+ method: 'signAndSendTransaction';
1189
1199
  }
1190
1200
  /**
1191
1201
  * Data returned by the SVM `signAndSendTransaction` RPC.
@@ -1200,21 +1210,24 @@ export interface SolanaSignAndSendTransactionRpcResponseData {
1200
1210
  transaction_id?: string;
1201
1211
  }
1202
1212
  /**
1203
- * Response to the SVM `signAndSendTransaction` RPC.
1213
+ * Executes the SVM `signMessage` RPC to sign a message.
1204
1214
  */
1205
- export interface SolanaSignAndSendTransactionRpcResponse {
1215
+ export interface SolanaSignMessageRpcInput {
1216
+ method: 'signMessage';
1206
1217
  /**
1207
- * Data returned by the SVM `signAndSendTransaction` RPC.
1218
+ * Parameters for the SVM `signMessage` RPC.
1208
1219
  */
1209
- data: SolanaSignAndSendTransactionRpcResponseData;
1210
- method: 'signAndSendTransaction';
1220
+ params: SolanaSignMessageRpcInputParams;
1221
+ address?: string;
1222
+ chain_type?: 'solana';
1223
+ wallet_id?: string;
1211
1224
  }
1212
1225
  /**
1213
- * Data returned by the SVM `signMessage` RPC.
1226
+ * Parameters for the SVM `signMessage` RPC.
1214
1227
  */
1215
- export interface SolanaSignMessageRpcResponseData {
1228
+ export interface SolanaSignMessageRpcInputParams {
1216
1229
  encoding: 'base64';
1217
- signature: string;
1230
+ message: string;
1218
1231
  }
1219
1232
  /**
1220
1233
  * Response to the SVM `signMessage` RPC.
@@ -1227,97 +1240,53 @@ export interface SolanaSignMessageRpcResponse {
1227
1240
  method: 'signMessage';
1228
1241
  }
1229
1242
  /**
1230
- * Response body for Solana wallet RPC operations, discriminated by method.
1231
- */
1232
- export type SolanaRpcResponse = SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse;
1233
- /**
1234
- * The Spark network.
1235
- */
1236
- export type SparkNetwork = 'MAINNET' | 'REGTEST';
1237
- /**
1238
- * A Spark signing keyshare.
1243
+ * Data returned by the SVM `signMessage` RPC.
1239
1244
  */
1240
- export interface SparkSigningKeyshare {
1241
- owner_identifiers: Array<string>;
1242
- public_key: string;
1243
- public_shares: {
1244
- [key: string]: string;
1245
- };
1246
- threshold: number;
1247
- updated_time: string;
1245
+ export interface SolanaSignMessageRpcResponseData {
1246
+ encoding: 'base64';
1247
+ signature: string;
1248
1248
  }
1249
1249
  /**
1250
- * A Spark wallet leaf node.
1250
+ * Executes the SVM `signTransaction` RPC to sign a transaction.
1251
1251
  */
1252
- export interface SparkWalletLeaf {
1253
- id: string;
1254
- /**
1255
- * The Spark network.
1256
- */
1257
- network: SparkNetwork;
1258
- node_tx: string;
1259
- owner_identity_public_key: string;
1260
- refund_tx: string;
1261
- status: string;
1262
- tree_id: string;
1263
- value: number;
1264
- verifying_public_key: string;
1265
- vout: number;
1266
- parent_node_id?: string;
1252
+ export interface SolanaSignTransactionRpcInput {
1253
+ method: 'signTransaction';
1267
1254
  /**
1268
- * A Spark signing keyshare.
1255
+ * Parameters for the SVM `signTransaction` RPC.
1269
1256
  */
1270
- signing_keyshare?: SparkSigningKeyshare;
1257
+ params: SolanaSignTransactionRpcInputParams;
1258
+ address?: string;
1259
+ chain_type?: 'solana';
1260
+ wallet_id?: string;
1271
1261
  }
1272
1262
  /**
1273
- * A Spark transfer leaf.
1263
+ * Parameters for the SVM `signTransaction` RPC.
1274
1264
  */
1275
- export interface SparkTransferLeaf {
1276
- intermediate_refund_tx: string;
1277
- secret_cipher: string;
1278
- signature: string;
1279
- /**
1280
- * A Spark wallet leaf node.
1281
- */
1282
- leaf?: SparkWalletLeaf;
1265
+ export interface SolanaSignTransactionRpcInputParams {
1266
+ encoding: 'base64';
1267
+ transaction: string;
1283
1268
  }
1284
1269
  /**
1285
- * A Spark transfer.
1270
+ * Response to the SVM `signTransaction` RPC.
1286
1271
  */
1287
- export interface SparkTransfer {
1288
- id: string;
1289
- leaves: Array<SparkTransferLeaf>;
1290
- receiver_identity_public_key: string;
1291
- sender_identity_public_key: string;
1292
- status: string;
1293
- total_value: number;
1294
- transfer_direction: string;
1295
- type: string;
1296
- created_time?: string;
1297
- expiry_time?: string;
1298
- updated_time?: string;
1272
+ export interface SolanaSignTransactionRpcResponse {
1273
+ /**
1274
+ * Data returned by the SVM `signTransaction` RPC.
1275
+ */
1276
+ data: SolanaSignTransactionRpcResponseData;
1277
+ method: 'signTransaction';
1299
1278
  }
1300
1279
  /**
1301
- * Metadata for a Spark user token.
1280
+ * Data returned by the SVM `signTransaction` RPC.
1302
1281
  */
1303
- export interface SparkUserTokenMetadata {
1304
- decimals: number;
1305
- max_supply: string;
1306
- raw_token_identifier: string;
1307
- token_name: string;
1308
- token_public_key: string;
1309
- token_ticker: string;
1282
+ export interface SolanaSignTransactionRpcResponseData {
1283
+ encoding: 'base64';
1284
+ signed_transaction: string;
1310
1285
  }
1311
1286
  /**
1312
- * Balance of a Spark token.
1287
+ * The derivation strategy used for Solana wallets.
1313
1288
  */
1314
- export interface SparkTokenBalance {
1315
- balance: string;
1316
- /**
1317
- * Metadata for a Spark user token.
1318
- */
1319
- token_metadata: SparkUserTokenMetadata;
1320
- }
1289
+ export type SolanaWalletDerivationStrategy = 'ENTROPY_TO_SEED' | 'ENTROPY_TO_MNEMONIC_TO_SEED';
1321
1290
  /**
1322
1291
  * The balance of a Spark wallet.
1323
1292
  */
@@ -1328,90 +1297,78 @@ export interface SparkBalance {
1328
1297
  };
1329
1298
  }
1330
1299
  /**
1331
- * A Spark token output.
1300
+ * Claims a static deposit into the Spark wallet.
1332
1301
  */
1333
- export interface TokenOutput {
1334
- owner_public_key: string;
1335
- token_amount: string;
1336
- id?: string;
1337
- revocation_commitment?: string;
1338
- token_identifier?: string;
1339
- token_public_key?: string;
1340
- withdraw_bond_sats?: number;
1341
- withdraw_relative_block_locktime?: number;
1302
+ export interface SparkClaimStaticDepositRpcInput {
1303
+ method: 'claimStaticDeposit';
1304
+ /**
1305
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1306
+ */
1307
+ params: SparkClaimStaticDepositRpcInputParams;
1308
+ /**
1309
+ * The Spark network.
1310
+ */
1311
+ network?: SparkNetwork;
1342
1312
  }
1343
1313
  /**
1344
- * A Spark token output with its previous transaction data.
1314
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1345
1315
  */
1346
- export interface OutputWithPreviousTransactionData {
1347
- previous_transaction_hash: string;
1348
- previous_transaction_vout: number;
1349
- /**
1350
- * A Spark token output.
1351
- */
1352
- output?: TokenOutput;
1316
+ export interface SparkClaimStaticDepositRpcInputParams {
1317
+ credit_amount_sats: number;
1318
+ signature: string;
1319
+ transaction_id: string;
1320
+ output_index?: number;
1353
1321
  }
1354
1322
  /**
1355
- * The fee for a Spark Lightning payment.
1323
+ * Response to the Spark `claimStaticDeposit` RPC.
1356
1324
  */
1357
- export interface SparkLightningFee {
1358
- original_unit: string;
1359
- original_value: number;
1325
+ export interface SparkClaimStaticDepositRpcResponse {
1326
+ method: 'claimStaticDeposit';
1327
+ /**
1328
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1329
+ */
1330
+ data?: SparkClaimStaticDepositRpcResponseData;
1360
1331
  }
1361
1332
  /**
1362
- * A Spark Lightning receive request.
1333
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1363
1334
  */
1364
- export interface SparkLightningReceiveRequest {
1365
- id: string;
1366
- created_at: string;
1367
- network: string;
1368
- status: string;
1369
- typename: string;
1370
- updated_at: string;
1371
- invoice?: unknown;
1372
- payment_preimage?: string;
1373
- receiver_identity_public_key?: string;
1374
- transfer?: unknown;
1335
+ export interface SparkClaimStaticDepositRpcResponseData {
1336
+ transfer_id: string;
1375
1337
  }
1376
1338
  /**
1377
- * A Spark Lightning send request.
1339
+ * Creates a Lightning invoice for the Spark wallet.
1378
1340
  */
1379
- export interface SparkLightningSendRequest {
1380
- id: string;
1381
- created_at: string;
1382
- encoded_invoice: string;
1341
+ export interface SparkCreateLightningInvoiceRpcInput {
1342
+ method: 'createLightningInvoice';
1383
1343
  /**
1384
- * The fee for a Spark Lightning payment.
1344
+ * Parameters for the Spark `createLightningInvoice` RPC.
1385
1345
  */
1386
- fee: SparkLightningFee;
1387
- idempotency_key: string;
1388
- network: string;
1389
- status: string;
1390
- typename: string;
1391
- updated_at: string;
1392
- payment_preimage?: string;
1393
- transfer?: unknown;
1346
+ params: SparkCreateLightningInvoiceRpcInputParams;
1347
+ /**
1348
+ * The Spark network.
1349
+ */
1350
+ network?: SparkNetwork;
1394
1351
  }
1395
1352
  /**
1396
- * Parameters for the Spark `transfer` RPC.
1353
+ * Parameters for the Spark `createLightningInvoice` RPC.
1397
1354
  */
1398
- export interface SparkTransferRpcInputParams {
1355
+ export interface SparkCreateLightningInvoiceRpcInputParams {
1399
1356
  amount_sats: number;
1400
- receiver_spark_address: string;
1357
+ description_hash?: string;
1358
+ expiry_seconds?: number;
1359
+ include_spark_address?: boolean;
1360
+ memo?: string;
1361
+ receiver_identity_pubkey?: string;
1401
1362
  }
1402
1363
  /**
1403
- * Transfers satoshis to a Spark address.
1364
+ * Response to the Spark `createLightningInvoice` RPC.
1404
1365
  */
1405
- export interface SparkTransferRpcInput {
1406
- method: 'transfer';
1407
- /**
1408
- * Parameters for the Spark `transfer` RPC.
1409
- */
1410
- params: SparkTransferRpcInputParams;
1366
+ export interface SparkCreateLightningInvoiceRpcResponse {
1367
+ method: 'createLightningInvoice';
1411
1368
  /**
1412
- * The Spark network.
1369
+ * A Spark Lightning receive request.
1413
1370
  */
1414
- network?: SparkNetwork;
1371
+ data?: SparkLightningReceiveRequest;
1415
1372
  }
1416
1373
  /**
1417
1374
  * Gets the balance of the Spark wallet.
@@ -1424,41 +1381,24 @@ export interface SparkGetBalanceRpcInput {
1424
1381
  network?: SparkNetwork;
1425
1382
  }
1426
1383
  /**
1427
- * Strategy for selecting outputs in a Spark token transfer.
1428
- */
1429
- export type SparkOutputSelectionStrategy = 'SMALL_FIRST' | 'LARGE_FIRST';
1430
- /**
1431
- * Parameters for the Spark `transferTokens` RPC.
1384
+ * Response to the Spark `getBalance` RPC.
1432
1385
  */
1433
- export interface SparkTransferTokensRpcInputParams {
1434
- receiver_spark_address: string;
1435
- token_amount: number;
1436
- token_identifier: string;
1386
+ export interface SparkGetBalanceRpcResponse {
1387
+ method: 'getBalance';
1437
1388
  /**
1438
- * Strategy for selecting outputs in a Spark token transfer.
1389
+ * The balance of a Spark wallet.
1439
1390
  */
1440
- output_selection_strategy?: SparkOutputSelectionStrategy;
1441
- selected_outputs?: Array<OutputWithPreviousTransactionData>;
1391
+ data?: SparkBalance;
1442
1392
  }
1443
1393
  /**
1444
- * Transfers tokens to a Spark address.
1394
+ * Gets a quote for claiming a static deposit.
1445
1395
  */
1446
- export interface SparkTransferTokensRpcInput {
1447
- method: 'transferTokens';
1448
- /**
1449
- * Parameters for the Spark `transferTokens` RPC.
1450
- */
1451
- params: SparkTransferTokensRpcInputParams;
1396
+ export interface SparkGetClaimStaticDepositQuoteRpcInput {
1397
+ method: 'getClaimStaticDepositQuote';
1452
1398
  /**
1453
- * The Spark network.
1399
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1454
1400
  */
1455
- network?: SparkNetwork;
1456
- }
1457
- /**
1458
- * Gets a static deposit address for the Spark wallet.
1459
- */
1460
- export interface SparkGetStaticDepositAddressRpcInput {
1461
- method: 'getStaticDepositAddress';
1401
+ params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1462
1402
  /**
1463
1403
  * The Spark network.
1464
1404
  */
@@ -1472,62 +1412,109 @@ export interface SparkGetClaimStaticDepositQuoteRpcInputParams {
1472
1412
  output_index?: number;
1473
1413
  }
1474
1414
  /**
1475
- * Gets a quote for claiming a static deposit.
1415
+ * Response to the Spark `getClaimStaticDepositQuote` RPC.
1476
1416
  */
1477
- export interface SparkGetClaimStaticDepositQuoteRpcInput {
1417
+ export interface SparkGetClaimStaticDepositQuoteRpcResponse {
1478
1418
  method: 'getClaimStaticDepositQuote';
1479
1419
  /**
1480
- * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1481
- */
1482
- params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1483
- /**
1484
- * The Spark network.
1420
+ * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1485
1421
  */
1486
- network?: SparkNetwork;
1422
+ data?: SparkGetClaimStaticDepositQuoteRpcResponseData;
1487
1423
  }
1488
1424
  /**
1489
- * Parameters for the Spark `claimStaticDeposit` RPC.
1425
+ * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1490
1426
  */
1491
- export interface SparkClaimStaticDepositRpcInputParams {
1427
+ export interface SparkGetClaimStaticDepositQuoteRpcResponseData {
1492
1428
  credit_amount_sats: number;
1429
+ network: string;
1430
+ output_index: number;
1493
1431
  signature: string;
1494
1432
  transaction_id: string;
1495
- output_index?: number;
1496
1433
  }
1497
1434
  /**
1498
- * Claims a static deposit into the Spark wallet.
1435
+ * Gets a static deposit address for the Spark wallet.
1499
1436
  */
1500
- export interface SparkClaimStaticDepositRpcInput {
1501
- method: 'claimStaticDeposit';
1502
- /**
1503
- * Parameters for the Spark `claimStaticDeposit` RPC.
1504
- */
1505
- params: SparkClaimStaticDepositRpcInputParams;
1437
+ export interface SparkGetStaticDepositAddressRpcInput {
1438
+ method: 'getStaticDepositAddress';
1506
1439
  /**
1507
1440
  * The Spark network.
1508
1441
  */
1509
1442
  network?: SparkNetwork;
1510
1443
  }
1511
1444
  /**
1512
- * Parameters for the Spark `createLightningInvoice` RPC.
1445
+ * Response to the Spark `getStaticDepositAddress` RPC.
1513
1446
  */
1514
- export interface SparkCreateLightningInvoiceRpcInputParams {
1515
- amount_sats: number;
1516
- description_hash?: string;
1517
- expiry_seconds?: number;
1518
- include_spark_address?: boolean;
1519
- memo?: string;
1520
- receiver_identity_pubkey?: string;
1447
+ export interface SparkGetStaticDepositAddressRpcResponse {
1448
+ method: 'getStaticDepositAddress';
1449
+ /**
1450
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1451
+ */
1452
+ data?: SparkGetStaticDepositAddressRpcResponseData;
1521
1453
  }
1522
1454
  /**
1523
- * Creates a Lightning invoice for the Spark wallet.
1455
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1524
1456
  */
1525
- export interface SparkCreateLightningInvoiceRpcInput {
1526
- method: 'createLightningInvoice';
1457
+ export interface SparkGetStaticDepositAddressRpcResponseData {
1458
+ address: string;
1459
+ }
1460
+ /**
1461
+ * The fee for a Spark Lightning payment.
1462
+ */
1463
+ export interface SparkLightningFee {
1464
+ original_unit: string;
1465
+ original_value: number;
1466
+ }
1467
+ /**
1468
+ * A Spark Lightning receive request.
1469
+ */
1470
+ export interface SparkLightningReceiveRequest {
1471
+ id: string;
1472
+ created_at: string;
1473
+ network: string;
1474
+ status: string;
1475
+ typename: string;
1476
+ updated_at: string;
1477
+ invoice?: unknown;
1478
+ payment_preimage?: string;
1479
+ receiver_identity_public_key?: string;
1480
+ transfer?: unknown;
1481
+ }
1482
+ /**
1483
+ * A Spark Lightning send request.
1484
+ */
1485
+ export interface SparkLightningSendRequest {
1486
+ id: string;
1487
+ created_at: string;
1488
+ encoded_invoice: string;
1527
1489
  /**
1528
- * Parameters for the Spark `createLightningInvoice` RPC.
1490
+ * The fee for a Spark Lightning payment.
1529
1491
  */
1530
- params: SparkCreateLightningInvoiceRpcInputParams;
1492
+ fee: SparkLightningFee;
1493
+ idempotency_key: string;
1494
+ network: string;
1495
+ status: string;
1496
+ typename: string;
1497
+ updated_at: string;
1498
+ payment_preimage?: string;
1499
+ transfer?: unknown;
1500
+ }
1501
+ /**
1502
+ * The Spark network.
1503
+ */
1504
+ export type SparkNetwork = 'MAINNET' | 'REGTEST';
1505
+ /**
1506
+ * Strategy for selecting outputs in a Spark token transfer.
1507
+ */
1508
+ export type SparkOutputSelectionStrategy = 'SMALL_FIRST' | 'LARGE_FIRST';
1509
+ /**
1510
+ * Pays a Lightning invoice from the Spark wallet.
1511
+ */
1512
+ export interface SparkPayLightningInvoiceRpcInput {
1513
+ method: 'payLightningInvoice';
1514
+ /**
1515
+ * Parameters for the Spark `payLightningInvoice` RPC.
1516
+ */
1517
+ params: SparkPayLightningInvoiceRpcInputParams;
1531
1518
  /**
1532
1519
  * The Spark network.
1533
1520
  */
@@ -1543,14 +1530,32 @@ export interface SparkPayLightningInvoiceRpcInputParams {
1543
1530
  prefer_spark?: boolean;
1544
1531
  }
1545
1532
  /**
1546
- * Pays a Lightning invoice from the Spark wallet.
1533
+ * Response to the Spark `payLightningInvoice` RPC.
1547
1534
  */
1548
- export interface SparkPayLightningInvoiceRpcInput {
1535
+ export interface SparkPayLightningInvoiceRpcResponse {
1549
1536
  method: 'payLightningInvoice';
1550
1537
  /**
1551
- * Parameters for the Spark `payLightningInvoice` RPC.
1538
+ * A Spark transfer.
1552
1539
  */
1553
- params: SparkPayLightningInvoiceRpcInputParams;
1540
+ data?: SparkTransfer | SparkLightningSendRequest;
1541
+ }
1542
+ /**
1543
+ * Request body for Spark wallet RPC operations, discriminated by method.
1544
+ */
1545
+ export type SparkRpcInput = SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput;
1546
+ /**
1547
+ * Response body for Spark wallet RPC operations, discriminated by method.
1548
+ */
1549
+ export type SparkRpcResponse = SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse;
1550
+ /**
1551
+ * Signs a message with the Spark identity key.
1552
+ */
1553
+ export interface SparkSignMessageWithIdentityKeyRpcInput {
1554
+ method: 'signMessageWithIdentityKey';
1555
+ /**
1556
+ * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1557
+ */
1558
+ params: SparkSignMessageWithIdentityKeyRpcInputParams;
1554
1559
  /**
1555
1560
  * The Spark network.
1556
1561
  */
@@ -1564,151 +1569,517 @@ export interface SparkSignMessageWithIdentityKeyRpcInputParams {
1564
1569
  compact?: boolean;
1565
1570
  }
1566
1571
  /**
1567
- * Signs a message with the Spark identity key.
1572
+ * Response to the Spark `signMessageWithIdentityKey` RPC.
1568
1573
  */
1569
- export interface SparkSignMessageWithIdentityKeyRpcInput {
1574
+ export interface SparkSignMessageWithIdentityKeyRpcResponse {
1570
1575
  method: 'signMessageWithIdentityKey';
1571
1576
  /**
1572
- * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1577
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1578
+ */
1579
+ data?: SparkSignMessageWithIdentityKeyRpcResponseData;
1580
+ }
1581
+ /**
1582
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1583
+ */
1584
+ export interface SparkSignMessageWithIdentityKeyRpcResponseData {
1585
+ signature: string;
1586
+ }
1587
+ /**
1588
+ * A Spark signing keyshare.
1589
+ */
1590
+ export interface SparkSigningKeyshare {
1591
+ owner_identifiers: Array<string>;
1592
+ public_key: string;
1593
+ public_shares: {
1594
+ [key: string]: string;
1595
+ };
1596
+ threshold: number;
1597
+ updated_time: string;
1598
+ }
1599
+ /**
1600
+ * Balance of a Spark token.
1601
+ */
1602
+ export interface SparkTokenBalance {
1603
+ balance: string;
1604
+ /**
1605
+ * Metadata for a Spark user token.
1606
+ */
1607
+ token_metadata: SparkUserTokenMetadata;
1608
+ }
1609
+ /**
1610
+ * A Spark transfer.
1611
+ */
1612
+ export interface SparkTransfer {
1613
+ id: string;
1614
+ leaves: Array<SparkTransferLeaf>;
1615
+ receiver_identity_public_key: string;
1616
+ sender_identity_public_key: string;
1617
+ status: string;
1618
+ total_value: number;
1619
+ transfer_direction: string;
1620
+ type: string;
1621
+ created_time?: string;
1622
+ expiry_time?: string;
1623
+ updated_time?: string;
1624
+ }
1625
+ /**
1626
+ * A Spark transfer leaf.
1627
+ */
1628
+ export interface SparkTransferLeaf {
1629
+ intermediate_refund_tx: string;
1630
+ secret_cipher: string;
1631
+ signature: string;
1632
+ /**
1633
+ * A Spark wallet leaf node.
1634
+ */
1635
+ leaf?: SparkWalletLeaf;
1636
+ }
1637
+ /**
1638
+ * Transfers satoshis to a Spark address.
1639
+ */
1640
+ export interface SparkTransferRpcInput {
1641
+ method: 'transfer';
1642
+ /**
1643
+ * Parameters for the Spark `transfer` RPC.
1644
+ */
1645
+ params: SparkTransferRpcInputParams;
1646
+ /**
1647
+ * The Spark network.
1648
+ */
1649
+ network?: SparkNetwork;
1650
+ }
1651
+ /**
1652
+ * Parameters for the Spark `transfer` RPC.
1653
+ */
1654
+ export interface SparkTransferRpcInputParams {
1655
+ amount_sats: number;
1656
+ receiver_spark_address: string;
1657
+ }
1658
+ /**
1659
+ * Response to the Spark `transfer` RPC.
1660
+ */
1661
+ export interface SparkTransferRpcResponse {
1662
+ method: 'transfer';
1663
+ /**
1664
+ * A Spark transfer.
1665
+ */
1666
+ data?: SparkTransfer;
1667
+ }
1668
+ /**
1669
+ * Transfers tokens to a Spark address.
1670
+ */
1671
+ export interface SparkTransferTokensRpcInput {
1672
+ method: 'transferTokens';
1673
+ /**
1674
+ * Parameters for the Spark `transferTokens` RPC.
1675
+ */
1676
+ params: SparkTransferTokensRpcInputParams;
1677
+ /**
1678
+ * The Spark network.
1679
+ */
1680
+ network?: SparkNetwork;
1681
+ }
1682
+ /**
1683
+ * Parameters for the Spark `transferTokens` RPC.
1684
+ */
1685
+ export interface SparkTransferTokensRpcInputParams {
1686
+ receiver_spark_address: string;
1687
+ token_amount: number;
1688
+ token_identifier: string;
1689
+ /**
1690
+ * Strategy for selecting outputs in a Spark token transfer.
1691
+ */
1692
+ output_selection_strategy?: SparkOutputSelectionStrategy;
1693
+ selected_outputs?: Array<OutputWithPreviousTransactionData>;
1694
+ }
1695
+ /**
1696
+ * Response to the Spark `transferTokens` RPC.
1697
+ */
1698
+ export interface SparkTransferTokensRpcResponse {
1699
+ method: 'transferTokens';
1700
+ /**
1701
+ * Data returned by the Spark `transferTokens` RPC.
1702
+ */
1703
+ data?: SparkTransferTokensRpcResponseData;
1704
+ }
1705
+ /**
1706
+ * Data returned by the Spark `transferTokens` RPC.
1707
+ */
1708
+ export interface SparkTransferTokensRpcResponseData {
1709
+ id: string;
1710
+ }
1711
+ /**
1712
+ * Metadata for a Spark user token.
1713
+ */
1714
+ export interface SparkUserTokenMetadata {
1715
+ decimals: number;
1716
+ max_supply: string;
1717
+ raw_token_identifier: string;
1718
+ token_name: string;
1719
+ token_public_key: string;
1720
+ token_ticker: string;
1721
+ }
1722
+ /**
1723
+ * A Spark wallet leaf node.
1724
+ */
1725
+ export interface SparkWalletLeaf {
1726
+ id: string;
1727
+ /**
1728
+ * The Spark network.
1729
+ */
1730
+ network: SparkNetwork;
1731
+ node_tx: string;
1732
+ owner_identity_public_key: string;
1733
+ refund_tx: string;
1734
+ status: string;
1735
+ tree_id: string;
1736
+ value: number;
1737
+ verifying_public_key: string;
1738
+ vout: number;
1739
+ parent_node_id?: string;
1740
+ /**
1741
+ * A Spark signing keyshare.
1742
+ */
1743
+ signing_keyshare?: SparkSigningKeyshare;
1744
+ }
1745
+ /**
1746
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
1747
+ */
1748
+ export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
1749
+ /**
1750
+ * An AA authorization for Tempo transactions with P256/WebAuthn signatures.
1751
+ */
1752
+ export interface TempoAaAuthorization {
1753
+ /**
1754
+ * A quantity value that can be either a hex string starting with '0x' or a
1755
+ * non-negative integer.
1756
+ */
1757
+ chain_id: Quantity;
1758
+ contract: string;
1759
+ /**
1760
+ * A quantity value that can be either a hex string starting with '0x' or a
1761
+ * non-negative integer.
1762
+ */
1763
+ nonce: Quantity;
1764
+ /**
1765
+ * A hex-encoded string prefixed with '0x'.
1766
+ */
1767
+ signature: Hex;
1768
+ }
1769
+ /**
1770
+ * A single call within a Tempo batched transaction.
1771
+ */
1772
+ export interface TempoCall {
1773
+ to: string;
1774
+ /**
1775
+ * A hex-encoded string prefixed with '0x'.
1776
+ */
1777
+ data?: Hex;
1778
+ /**
1779
+ * A quantity value that can be either a hex string starting with '0x' or a
1780
+ * non-negative integer.
1781
+ */
1782
+ value?: Quantity;
1783
+ }
1784
+ /**
1785
+ * A fee payer signature for sponsored Tempo transactions (secp256k1 only).
1786
+ */
1787
+ export interface TempoFeePayerSignature {
1788
+ /**
1789
+ * A hex-encoded string prefixed with '0x'.
1790
+ */
1791
+ r: Hex;
1792
+ /**
1793
+ * A hex-encoded string prefixed with '0x'.
1794
+ */
1795
+ s: Hex;
1796
+ y_parity: 0 | 1;
1797
+ }
1798
+ /**
1799
+ * A Spark token output.
1800
+ */
1801
+ export interface TokenOutput {
1802
+ owner_public_key: string;
1803
+ token_amount: string;
1804
+ id?: string;
1805
+ revocation_commitment?: string;
1806
+ token_identifier?: string;
1807
+ token_public_key?: string;
1808
+ withdraw_bond_sats?: number;
1809
+ withdraw_relative_block_locktime?: number;
1810
+ }
1811
+ /**
1812
+ * The destination address for a token transfer. Optionally specify a different
1813
+ * asset or chain for cross-asset or cross-chain transfers.
1814
+ */
1815
+ export interface TokenTransferDestination {
1816
+ /**
1817
+ * Recipient address (hex for EVM, base58 for Solana)
1818
+ */
1819
+ address: string;
1820
+ /**
1821
+ * The destination asset. Required for cross-asset transfers (e.g., source 'usdt'
1822
+ * to destination 'usdc').
1823
+ */
1824
+ asset?: string;
1825
+ /**
1826
+ * The destination blockchain network. Required for cross-chain transfers (e.g.,
1827
+ * source 'base' to destination 'arbitrum').
1828
+ */
1829
+ chain?: string;
1830
+ }
1831
+ /**
1832
+ * The source asset, amount, and chain for a token transfer. Specify either `asset`
1833
+ * (named) or `asset_address` (custom), not both.
1834
+ */
1835
+ export type TokenTransferSource = NamedTokenTransferSource | CustomTokenTransferSource;
1836
+ /**
1837
+ * Details of a wallet transaction, varying by transaction type.
1838
+ */
1839
+ export type TransactionDetail = TransferSentTransactionDetail | TransferReceivedTransactionDetail;
1840
+ /**
1841
+ * Token contract address (EVM: 0x-prefixed hex) or mint address (Solana: base58),
1842
+ * used to filter wallet transactions.
1843
+ */
1844
+ export type TransactionTokenAddressInput = string;
1845
+ /**
1846
+ * Details for a received transfer transaction.
1847
+ */
1848
+ export interface TransferReceivedTransactionDetail {
1849
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
1850
+ chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
1851
+ display_values: {
1852
+ [key: string]: string;
1853
+ };
1854
+ raw_value: string;
1855
+ raw_value_decimals: number;
1856
+ recipient: string;
1857
+ recipient_privy_user_id: string | null;
1858
+ sender: string;
1859
+ sender_privy_user_id: string | null;
1860
+ type: 'transfer_received';
1861
+ }
1862
+ /**
1863
+ * Request body for initiating a sponsored token transfer from an embedded wallet.
1864
+ */
1865
+ export interface TransferRequestBody {
1866
+ /**
1867
+ * The destination address for a token transfer. Optionally specify a different
1868
+ * asset or chain for cross-asset or cross-chain transfers.
1869
+ */
1870
+ destination: TokenTransferDestination;
1871
+ /**
1872
+ * The source asset, amount, and chain for a token transfer. Specify either `asset`
1873
+ * (named) or `asset_address` (custom), not both.
1874
+ */
1875
+ source: TokenTransferSource;
1876
+ /**
1877
+ * Whether the amount refers to the input token or output token.
1878
+ */
1879
+ amount_type?: AmountType;
1880
+ /**
1881
+ * Maximum allowed slippage in basis points (1 bps = 0.01%).
1882
+ */
1883
+ slippage_bps?: number;
1884
+ }
1885
+ /**
1886
+ * Details for a sent transfer transaction.
1887
+ */
1888
+ export interface TransferSentTransactionDetail {
1889
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
1890
+ chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
1891
+ display_values: {
1892
+ [key: string]: string;
1893
+ };
1894
+ raw_value: string;
1895
+ raw_value_decimals: number;
1896
+ recipient: string;
1897
+ recipient_privy_user_id: string | null;
1898
+ sender: string;
1899
+ sender_privy_user_id: string | null;
1900
+ type: 'transfer_sent';
1901
+ }
1902
+ /**
1903
+ * The domain parameters for EIP-712 typed data signing.
1904
+ */
1905
+ export type TypedDataDomainInputParams = {
1906
+ [key: string]: unknown;
1907
+ };
1908
+ /**
1909
+ * A single field definition in an EIP-712 typed data type.
1910
+ */
1911
+ export interface TypedDataTypeFieldInput {
1912
+ name: string;
1913
+ type: string;
1914
+ }
1915
+ /**
1916
+ * The type definitions for EIP-712 typed data signing.
1917
+ */
1918
+ export type TypedDataTypesInputParams = {
1919
+ [key: string]: Array<TypedDataTypeFieldInput>;
1920
+ };
1921
+ /**
1922
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
1923
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
1924
+ */
1925
+ export type UnsignedEthereumTransaction = UnsignedStandardEthereumTransaction | UnsignedTempoTransaction;
1926
+ /**
1927
+ * An unsigned standard Ethereum transaction object. Supports EVM transaction types
1928
+ * 0, 1, 2, and 4.
1929
+ */
1930
+ export interface UnsignedStandardEthereumTransaction {
1931
+ authorization_list?: Array<EthereumSign7702Authorization>;
1932
+ /**
1933
+ * A quantity value that can be either a hex string starting with '0x' or a
1934
+ * non-negative integer.
1935
+ */
1936
+ chain_id?: Quantity;
1937
+ /**
1938
+ * A hex-encoded string prefixed with '0x'.
1939
+ */
1940
+ data?: Hex;
1941
+ from?: string;
1942
+ /**
1943
+ * A quantity value that can be either a hex string starting with '0x' or a
1944
+ * non-negative integer.
1945
+ */
1946
+ gas_limit?: Quantity;
1947
+ /**
1948
+ * A quantity value that can be either a hex string starting with '0x' or a
1949
+ * non-negative integer.
1950
+ */
1951
+ gas_price?: Quantity;
1952
+ /**
1953
+ * A quantity value that can be either a hex string starting with '0x' or a
1954
+ * non-negative integer.
1955
+ */
1956
+ max_fee_per_gas?: Quantity;
1957
+ /**
1958
+ * A quantity value that can be either a hex string starting with '0x' or a
1959
+ * non-negative integer.
1960
+ */
1961
+ max_priority_fee_per_gas?: Quantity;
1962
+ /**
1963
+ * A quantity value that can be either a hex string starting with '0x' or a
1964
+ * non-negative integer.
1965
+ */
1966
+ nonce?: Quantity;
1967
+ to?: string;
1968
+ type?: 0 | 1 | 2 | 4;
1969
+ /**
1970
+ * A quantity value that can be either a hex string starting with '0x' or a
1971
+ * non-negative integer.
1972
+ */
1973
+ value?: Quantity;
1974
+ }
1975
+ /**
1976
+ * An unsigned Tempo transaction (type 118) with batched calls.
1977
+ */
1978
+ export interface UnsignedTempoTransaction {
1979
+ calls: Array<TempoCall>;
1980
+ type: 118;
1981
+ aa_authorization_list?: Array<TempoAaAuthorization>;
1982
+ access_list?: Array<UnsignedTempoTransaction.AccessList>;
1983
+ /**
1984
+ * A quantity value that can be either a hex string starting with '0x' or a
1985
+ * non-negative integer.
1986
+ */
1987
+ chain_id?: Quantity;
1988
+ /**
1989
+ * A fee payer signature for sponsored Tempo transactions (secp256k1 only).
1990
+ */
1991
+ fee_payer_signature?: TempoFeePayerSignature;
1992
+ fee_token?: string;
1993
+ from?: string;
1994
+ /**
1995
+ * A quantity value that can be either a hex string starting with '0x' or a
1996
+ * non-negative integer.
1997
+ */
1998
+ gas_limit?: Quantity;
1999
+ /**
2000
+ * A quantity value that can be either a hex string starting with '0x' or a
2001
+ * non-negative integer.
2002
+ */
2003
+ max_fee_per_gas?: Quantity;
2004
+ /**
2005
+ * A quantity value that can be either a hex string starting with '0x' or a
2006
+ * non-negative integer.
2007
+ */
2008
+ max_priority_fee_per_gas?: Quantity;
2009
+ /**
2010
+ * A quantity value that can be either a hex string starting with '0x' or a
2011
+ * non-negative integer.
1573
2012
  */
1574
- params: SparkSignMessageWithIdentityKeyRpcInputParams;
2013
+ nonce?: Quantity;
1575
2014
  /**
1576
- * The Spark network.
2015
+ * A quantity value that can be either a hex string starting with '0x' or a
2016
+ * non-negative integer.
1577
2017
  */
1578
- network?: SparkNetwork;
1579
- }
1580
- /**
1581
- * Request body for Spark wallet RPC operations, discriminated by method.
1582
- */
1583
- export type SparkRpcInput = SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput;
1584
- /**
1585
- * Response to the Spark `transfer` RPC.
1586
- */
1587
- export interface SparkTransferRpcResponse {
1588
- method: 'transfer';
2018
+ nonce_key?: Quantity;
1589
2019
  /**
1590
- * A Spark transfer.
2020
+ * A quantity value that can be either a hex string starting with '0x' or a
2021
+ * non-negative integer.
1591
2022
  */
1592
- data?: SparkTransfer;
1593
- }
1594
- /**
1595
- * Response to the Spark `getBalance` RPC.
1596
- */
1597
- export interface SparkGetBalanceRpcResponse {
1598
- method: 'getBalance';
2023
+ valid_after?: Quantity;
1599
2024
  /**
1600
- * The balance of a Spark wallet.
2025
+ * A quantity value that can be either a hex string starting with '0x' or a
2026
+ * non-negative integer.
1601
2027
  */
1602
- data?: SparkBalance;
2028
+ valid_before?: Quantity;
1603
2029
  }
1604
- /**
1605
- * Data returned by the Spark `transferTokens` RPC.
1606
- */
1607
- export interface SparkTransferTokensRpcResponseData {
1608
- id: string;
2030
+ export declare namespace UnsignedTempoTransaction {
2031
+ interface AccessList {
2032
+ address: string;
2033
+ storage_keys: Array<WalletsAPI.Hex>;
2034
+ }
1609
2035
  }
1610
2036
  /**
1611
- * Response to the Spark `transferTokens` RPC.
2037
+ * An ERC-4337 user operation.
1612
2038
  */
1613
- export interface SparkTransferTokensRpcResponse {
1614
- method: 'transferTokens';
2039
+ export interface UserOperationInput {
1615
2040
  /**
1616
- * Data returned by the Spark `transferTokens` RPC.
2041
+ * A hex-encoded string prefixed with '0x'.
1617
2042
  */
1618
- data?: SparkTransferTokensRpcResponseData;
1619
- }
1620
- /**
1621
- * Data returned by the Spark `getStaticDepositAddress` RPC.
1622
- */
1623
- export interface SparkGetStaticDepositAddressRpcResponseData {
1624
- address: string;
1625
- }
1626
- /**
1627
- * Response to the Spark `getStaticDepositAddress` RPC.
1628
- */
1629
- export interface SparkGetStaticDepositAddressRpcResponse {
1630
- method: 'getStaticDepositAddress';
2043
+ call_data: Hex;
1631
2044
  /**
1632
- * Data returned by the Spark `getStaticDepositAddress` RPC.
2045
+ * A hex-encoded string prefixed with '0x'.
1633
2046
  */
1634
- data?: SparkGetStaticDepositAddressRpcResponseData;
1635
- }
1636
- /**
1637
- * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1638
- */
1639
- export interface SparkGetClaimStaticDepositQuoteRpcResponseData {
1640
- credit_amount_sats: number;
1641
- network: string;
1642
- output_index: number;
1643
- signature: string;
1644
- transaction_id: string;
1645
- }
1646
- /**
1647
- * Response to the Spark `getClaimStaticDepositQuote` RPC.
1648
- */
1649
- export interface SparkGetClaimStaticDepositQuoteRpcResponse {
1650
- method: 'getClaimStaticDepositQuote';
2047
+ call_gas_limit: Hex;
1651
2048
  /**
1652
- * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
2049
+ * A hex-encoded string prefixed with '0x'.
1653
2050
  */
1654
- data?: SparkGetClaimStaticDepositQuoteRpcResponseData;
1655
- }
1656
- /**
1657
- * Data returned by the Spark `claimStaticDeposit` RPC.
1658
- */
1659
- export interface SparkClaimStaticDepositRpcResponseData {
1660
- transfer_id: string;
1661
- }
1662
- /**
1663
- * Response to the Spark `claimStaticDeposit` RPC.
1664
- */
1665
- export interface SparkClaimStaticDepositRpcResponse {
1666
- method: 'claimStaticDeposit';
2051
+ max_fee_per_gas: Hex;
1667
2052
  /**
1668
- * Data returned by the Spark `claimStaticDeposit` RPC.
2053
+ * A hex-encoded string prefixed with '0x'.
1669
2054
  */
1670
- data?: SparkClaimStaticDepositRpcResponseData;
1671
- }
1672
- /**
1673
- * Response to the Spark `createLightningInvoice` RPC.
1674
- */
1675
- export interface SparkCreateLightningInvoiceRpcResponse {
1676
- method: 'createLightningInvoice';
2055
+ max_priority_fee_per_gas: Hex;
1677
2056
  /**
1678
- * A Spark Lightning receive request.
2057
+ * A hex-encoded string prefixed with '0x'.
1679
2058
  */
1680
- data?: SparkLightningReceiveRequest;
1681
- }
1682
- /**
1683
- * Response to the Spark `payLightningInvoice` RPC.
1684
- */
1685
- export interface SparkPayLightningInvoiceRpcResponse {
1686
- method: 'payLightningInvoice';
2059
+ nonce: Hex;
1687
2060
  /**
1688
- * A Spark transfer.
2061
+ * A hex-encoded string prefixed with '0x'.
1689
2062
  */
1690
- data?: SparkTransfer | SparkLightningSendRequest;
1691
- }
1692
- /**
1693
- * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1694
- */
1695
- export interface SparkSignMessageWithIdentityKeyRpcResponseData {
1696
- signature: string;
1697
- }
1698
- /**
1699
- * Response to the Spark `signMessageWithIdentityKey` RPC.
1700
- */
1701
- export interface SparkSignMessageWithIdentityKeyRpcResponse {
1702
- method: 'signMessageWithIdentityKey';
2063
+ pre_verification_gas: Hex;
2064
+ sender: string;
1703
2065
  /**
1704
- * Data returned by the Spark `signMessageWithIdentityKey` RPC.
2066
+ * A hex-encoded string prefixed with '0x'.
1705
2067
  */
1706
- data?: SparkSignMessageWithIdentityKeyRpcResponseData;
2068
+ verification_gas_limit: Hex;
2069
+ paymaster?: string;
2070
+ /**
2071
+ * A hex-encoded string prefixed with '0x'.
2072
+ */
2073
+ paymaster_data?: Hex;
2074
+ /**
2075
+ * A hex-encoded string prefixed with '0x'.
2076
+ */
2077
+ paymaster_post_op_gas_limit?: Hex;
2078
+ /**
2079
+ * A hex-encoded string prefixed with '0x'.
2080
+ */
2081
+ paymaster_verification_gas_limit?: Hex;
1707
2082
  }
1708
- /**
1709
- * Response body for Spark wallet RPC operations, discriminated by method.
1710
- */
1711
- export type SparkRpcResponse = SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse;
1712
2083
  /**
1713
2084
  * A wallet managed by Privy's wallet infrastructure.
1714
2085
  */
@@ -1776,79 +2147,82 @@ export interface Wallet {
1776
2147
  public_key?: string;
1777
2148
  }
1778
2149
  /**
1779
- * Request body for looking up a wallet by its blockchain address.
2150
+ * Additional signers for the wallet.
1780
2151
  */
1781
- export interface GetByWalletAddressRequestBody {
1782
- /**
1783
- * A blockchain wallet address (Ethereum or Solana).
1784
- */
1785
- address: Address;
1786
- }
2152
+ export type WalletAdditionalSigner = Array<WalletAdditionalSignerItem>;
1787
2153
  /**
1788
- * Request body for updating a wallet.
2154
+ * A single additional signer on a wallet, with an optional policy override.
1789
2155
  */
1790
- export interface WalletUpdateRequestBody {
1791
- /**
1792
- * Additional signers for the wallet.
1793
- */
1794
- additional_signers?: AdditionalSignerInput;
1795
- /**
1796
- * A human-readable label for the wallet. Set to null to clear.
1797
- */
1798
- display_name?: string | null;
1799
- /**
1800
- * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
1801
- * null to remove the current owner.
1802
- */
1803
- owner?: SharedAPI.OwnerInput | null;
2156
+ export interface WalletAdditionalSignerItem {
1804
2157
  /**
1805
- * The key quorum ID to set as the owner of the resource. If you provide this, do
1806
- * not specify an owner.
2158
+ * A unique identifier for a key quorum.
1807
2159
  */
1808
- owner_id?: SharedAPI.OwnerIDInput | null;
2160
+ signer_id: SharedAPI.KeyQuorumID;
1809
2161
  /**
1810
- * New policy IDs to enforce on the wallet. Currently, only one policy is supported
1811
- * per wallet.
2162
+ * An optional list of up to one policy ID to enforce on the wallet.
1812
2163
  */
1813
- policy_ids?: Array<string>;
2164
+ override_policy_ids?: PolicyInput;
1814
2165
  }
1815
2166
  /**
1816
- * Input for a single wallet in a batch creation request.
2167
+ * Input for registering or updating an application public signing key for
2168
+ * API-based wallet actions.
1817
2169
  */
1818
- export interface WalletBatchItemInput {
2170
+ export interface WalletAPIRegisterAuthorizationKeyInput {
2171
+ public_key: string;
2172
+ display_name?: string;
1819
2173
  /**
1820
- * The wallet chain types.
2174
+ * The role of an authorization key, controlling what actions it can authorize on a
2175
+ * wallet.
1821
2176
  */
1822
- chain_type: WalletChainType;
2177
+ role?: AuthorizationKeyRole | null;
2178
+ }
2179
+ /**
2180
+ * Input for revoking an application authorization key.
2181
+ */
2182
+ export interface WalletAPIRevokeAuthorizationKeyInput {
2183
+ id: string;
2184
+ }
2185
+ /**
2186
+ * A named asset supported across all chains.
2187
+ */
2188
+ export type WalletAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol';
2189
+ /**
2190
+ * Request body for wallet authentication with HPKE-encrypted response.
2191
+ */
2192
+ export interface WalletAuthenticateRequestBody {
1823
2193
  /**
1824
- * Additional signers for the wallet.
2194
+ * The encryption type for the authentication response. Currently only supports
2195
+ * HPKE.
1825
2196
  */
1826
- additional_signers?: AdditionalSignerInput;
2197
+ encryption_type: 'HPKE';
1827
2198
  /**
1828
- * A human-readable label for the wallet.
2199
+ * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
2200
+ * private key will be able to decrypt the session key.
1829
2201
  */
1830
- display_name?: string;
2202
+ recipient_public_key: string;
1831
2203
  /**
1832
- * A customer-provided identifier for mapping to external systems. URL-safe
1833
- * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
1834
- * after creation.
2204
+ * The user's JWT, to be used to authenticate the user.
1835
2205
  */
1836
- external_id?: string;
2206
+ user_jwt: string;
2207
+ }
2208
+ /**
2209
+ * Headers required to authorize wallet operations.
2210
+ */
2211
+ export interface WalletAuthorizationHeaders {
1837
2212
  /**
1838
- * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
1839
- * null to remove the current owner.
2213
+ * ID of your Privy app.
1840
2214
  */
1841
- owner?: SharedAPI.OwnerInput | null;
2215
+ 'privy-app-id': string;
1842
2216
  /**
1843
- * The key quorum ID to set as the owner of the resource. If you provide this, do
1844
- * not specify an owner.
2217
+ * Request authorization signature. If multiple signatures are required, they
2218
+ * should be comma separated.
1845
2219
  */
1846
- owner_id?: SharedAPI.OwnerIDInput | null;
2220
+ 'privy-authorization-signature'?: string;
1847
2221
  /**
1848
- * List of policy IDs for policies that should be enforced on the wallet.
1849
- * Currently, only one policy is supported per wallet.
2222
+ * Request expiry. Value is a Unix timestamp in milliseconds representing the
2223
+ * deadline by which the request must be processed.
1850
2224
  */
1851
- policy_ids?: Array<string>;
2225
+ 'privy-request-expiry'?: string;
1852
2226
  }
1853
2227
  /**
1854
2228
  * Request body for batch wallet creation.
@@ -1859,6 +2233,15 @@ export interface WalletBatchCreateInput {
1859
2233
  */
1860
2234
  wallets: Array<WalletBatchItemInput>;
1861
2235
  }
2236
+ /**
2237
+ * Response for a batch wallet creation request.
2238
+ */
2239
+ export interface WalletBatchCreateResponse {
2240
+ /**
2241
+ * Array of results for each wallet creation request, in the same order as input.
2242
+ */
2243
+ results: Array<WalletBatchCreateResult>;
2244
+ }
1862
2245
  /**
1863
2246
  * A single result from a batch wallet creation operation.
1864
2247
  */
@@ -1899,165 +2282,161 @@ export declare namespace WalletBatchCreateResult {
1899
2282
  }
1900
2283
  }
1901
2284
  /**
1902
- * Response for a batch wallet creation request.
2285
+ * Input for a single wallet in a batch creation request.
1903
2286
  */
1904
- export interface WalletBatchCreateResponse {
2287
+ export interface WalletBatchItemInput {
1905
2288
  /**
1906
- * Array of results for each wallet creation request, in the same order as input.
2289
+ * The wallet chain types.
1907
2290
  */
1908
- results: Array<WalletBatchCreateResult>;
1909
- }
1910
- /**
1911
- * Request body for wallet RPC operations, discriminated by method.
1912
- */
1913
- export type WalletRpcRequestBody = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput | SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput | SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput | ExportPrivateKeyRpcInput | ExportSeedPhraseRpcInput;
1914
- /**
1915
- * Response body for wallet RPC operations, discriminated by method.
1916
- */
1917
- export type WalletRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse | SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse | SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse | ExportPrivateKeyRpcResponse | ExportSeedPhraseRpcResponse;
1918
- /**
1919
- * Request body for wallet authentication with HPKE-encrypted response.
1920
- */
1921
- export interface WalletAuthenticateRequestBody {
2291
+ chain_type: WalletChainType;
1922
2292
  /**
1923
- * The encryption type for the authentication response. Currently only supports
1924
- * HPKE.
2293
+ * Additional signers for the wallet.
1925
2294
  */
1926
- encryption_type: 'HPKE';
2295
+ additional_signers?: AdditionalSignerInput;
1927
2296
  /**
1928
- * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
1929
- * private key will be able to decrypt the session key.
2297
+ * A human-readable label for the wallet.
1930
2298
  */
1931
- recipient_public_key: string;
2299
+ display_name?: string;
1932
2300
  /**
1933
- * The user's JWT, to be used to authenticate the user.
2301
+ * A customer-provided identifier for mapping to external systems. URL-safe
2302
+ * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
2303
+ * after creation.
1934
2304
  */
1935
- user_jwt: string;
1936
- }
1937
- /**
1938
- * The source asset, amount, and chain for a token transfer.
1939
- */
1940
- export interface TokenTransferSource {
2305
+ external_id?: string;
1941
2306
  /**
1942
- * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
1943
- * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
1944
- * etc.).
2307
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
2308
+ * null to remove the current owner.
1945
2309
  */
1946
- amount: string;
2310
+ owner?: SharedAPI.OwnerInput | null;
1947
2311
  /**
1948
- * The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
1949
- * (native Ethereum), 'sol' (native Solana).
2312
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
2313
+ * not specify an owner.
1950
2314
  */
1951
- asset: string;
2315
+ owner_id?: SharedAPI.OwnerIDInput | null;
1952
2316
  /**
1953
- * The blockchain network on which to perform the transfer. Supported chains
1954
- * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
1955
- * respective testnets.
2317
+ * List of policy IDs for policies that should be enforced on the wallet.
2318
+ * Currently, only one policy is supported per wallet.
1956
2319
  */
1957
- chain: string;
2320
+ policy_ids?: Array<string>;
1958
2321
  }
1959
2322
  /**
1960
- * The destination address for a token transfer.
2323
+ * The wallet chain types.
1961
2324
  */
1962
- export interface TokenTransferDestination {
1963
- /**
1964
- * Recipient address (hex for EVM, base58 for Solana)
1965
- */
1966
- address: string;
1967
- }
2325
+ export type WalletChainType = 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark';
1968
2326
  /**
1969
- * Request body for initiating a sponsored token transfer from an embedded wallet.
2327
+ * Information about the custodian managing this wallet.
1970
2328
  */
1971
- export interface CreateTokenTransferRequest {
2329
+ export interface WalletCustodian {
1972
2330
  /**
1973
- * The destination address for a token transfer.
2331
+ * The custodian responsible for the wallet.
1974
2332
  */
1975
- destination: TokenTransferDestination;
2333
+ provider: string;
1976
2334
  /**
1977
- * The source asset, amount, and chain for a token transfer.
2335
+ * The resource ID of the beneficiary of the custodial wallet.
1978
2336
  */
1979
- source: TokenTransferSource;
2337
+ provider_user_id: string;
1980
2338
  }
1981
2339
  /**
1982
- * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
2340
+ * The entropy type of the wallet.
1983
2341
  */
1984
- export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
2342
+ export type WalletEntropyType = 'hd' | 'private-key';
1985
2343
  /**
1986
- * Input for registering or updating an application public signing key for
1987
- * API-based wallet actions.
2344
+ * A named asset on Ethereum-compatible chains.
1988
2345
  */
1989
- export interface WalletAPIRegisterAuthorizationKeyInput {
1990
- public_key: string;
1991
- display_name?: string;
2346
+ export type WalletEthereumAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb';
2347
+ /**
2348
+ * Request body for exporting a wallet private key.
2349
+ */
2350
+ export interface WalletExportRequestBody {
1992
2351
  /**
1993
- * The role of an authorization key, controlling what actions it can authorize on a
1994
- * wallet.
2352
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1995
2353
  */
1996
- role?: AuthorizationKeyRole | null;
2354
+ encryption_type: HpkeEncryption;
2355
+ /**
2356
+ * The base64-encoded encryption public key to encrypt the wallet private key with.
2357
+ */
2358
+ recipient_public_key: string;
2359
+ export_seed_phrase?: boolean;
1997
2360
  }
1998
2361
  /**
1999
- * Input for revoking an application authorization key.
2362
+ * Response body containing the encrypted wallet private key.
2000
2363
  */
2001
- export interface WalletAPIRevokeAuthorizationKeyInput {
2002
- id: string;
2364
+ export interface WalletExportResponseBody {
2365
+ /**
2366
+ * The encrypted private key.
2367
+ */
2368
+ ciphertext: string;
2369
+ /**
2370
+ * The base64-encoded encapsulated key that was generated during encryption, for
2371
+ * use during decryption.
2372
+ */
2373
+ encapsulated_key: string;
2374
+ /**
2375
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2376
+ */
2377
+ encryption_type: HpkeEncryption;
2003
2378
  }
2004
2379
  /**
2005
- * Dashboard response for a wallet authorization key (includes role, which is an
2006
- * internal-only concept).
2380
+ * Response from initializing a wallet import, containing the encryption public
2381
+ * key.
2007
2382
  */
2008
- export interface AuthorizationKeyDashboardResponse {
2009
- id: string;
2010
- created_at: number;
2011
- display_name: string | null;
2012
- public_key: string;
2383
+ export interface WalletImportInitResponse {
2384
+ encryption_public_key: string;
2013
2385
  /**
2014
- * The role of an authorization key, controlling what actions it can authorize on a
2015
- * wallet.
2386
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2016
2387
  */
2017
- role: AuthorizationKeyRole | null;
2388
+ encryption_type: HpkeEncryption;
2389
+ import_id?: string;
2018
2390
  }
2019
2391
  /**
2020
- * Public-facing response for a wallet authorization key.
2392
+ * The chain type of the wallet to import. Currently supports `ethereum` and
2393
+ * `solana`.
2021
2394
  */
2022
- export interface AuthorizationKeyResponse {
2023
- id: string;
2024
- created_at: number;
2025
- display_name: string | null;
2026
- public_key: string;
2027
- }
2395
+ export type WalletImportSupportedChains = 'ethereum' | 'solana';
2028
2396
  /**
2029
- * Headers required to authorize wallet operations.
2397
+ * The entropy type of the wallet to import. Supports `private-key` for raw private
2398
+ * keys and `hd` for HD wallet seed phrases.
2030
2399
  */
2031
- export interface WalletAuthorizationHeaders {
2032
- /**
2033
- * ID of your Privy app.
2034
- */
2035
- 'privy-app-id': string;
2400
+ export type WalletImportSupportedEntropyTypes = 'private-key' | 'hd';
2401
+ /**
2402
+ * Request body for wallet RPC operations, discriminated by method.
2403
+ */
2404
+ export type WalletRpcRequestBody = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput | SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput | SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput | ExportPrivateKeyRpcInput | ExportSeedPhraseRpcInput;
2405
+ /**
2406
+ * Response body for wallet RPC operations, discriminated by method.
2407
+ */
2408
+ export type WalletRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse | SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse | SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse | ExportPrivateKeyRpcResponse | ExportSeedPhraseRpcResponse;
2409
+ /**
2410
+ * A named asset on Solana.
2411
+ */
2412
+ export type WalletSolanaAsset = 'sol' | 'usdc' | 'eurc' | 'usdb';
2413
+ /**
2414
+ * Request body for updating a wallet.
2415
+ */
2416
+ export interface WalletUpdateRequestBody {
2036
2417
  /**
2037
- * Request authorization signature. If multiple signatures are required, they
2038
- * should be comma separated.
2418
+ * Additional signers for the wallet.
2039
2419
  */
2040
- 'privy-authorization-signature'?: string;
2420
+ additional_signers?: AdditionalSignerInput;
2041
2421
  /**
2042
- * Request expiry. Value is a Unix timestamp in milliseconds representing the
2043
- * deadline by which the request must be processed.
2422
+ * A human-readable label for the wallet. Set to null to clear.
2044
2423
  */
2045
- 'privy-request-expiry'?: string;
2046
- }
2047
- export interface WalletExportResponse {
2424
+ display_name?: string | null;
2048
2425
  /**
2049
- * The encrypted private key.
2426
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
2427
+ * null to remove the current owner.
2050
2428
  */
2051
- ciphertext: string;
2429
+ owner?: SharedAPI.OwnerInput | null;
2052
2430
  /**
2053
- * The base64-encoded encapsulated key that was generated during encryption, for
2054
- * use during decryption.
2431
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
2432
+ * not specify an owner.
2055
2433
  */
2056
- encapsulated_key: string;
2434
+ owner_id?: SharedAPI.OwnerIDInput | null;
2057
2435
  /**
2058
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2436
+ * New policy IDs to enforce on the wallet. Currently, only one policy is supported
2437
+ * per wallet.
2059
2438
  */
2060
- encryption_type: HpkeEncryption;
2439
+ policy_ids?: Array<string>;
2061
2440
  }
2062
2441
  export interface WalletInitImportResponse {
2063
2442
  /**
@@ -2077,7 +2456,7 @@ export declare namespace WalletAuthenticateWithJwtResponse {
2077
2456
  */
2078
2457
  encrypted_authorization_key: WithEncryption.EncryptedAuthorizationKey;
2079
2458
  /**
2080
- * The expiration time of the authorization key in seconds since the epoch.
2459
+ * The expiration time of the authorization key in milliseconds since the epoch.
2081
2460
  */
2082
2461
  expires_at: number;
2083
2462
  wallets: Array<WalletsAPI.Wallet>;
@@ -2109,7 +2488,7 @@ export declare namespace WalletAuthenticateWithJwtResponse {
2109
2488
  */
2110
2489
  authorization_key: string;
2111
2490
  /**
2112
- * The expiration time of the authorization key in seconds since the epoch.
2491
+ * The expiration time of the authorization key in milliseconds since the epoch.
2113
2492
  */
2114
2493
  expires_at: number;
2115
2494
  wallets: Array<WalletsAPI.Wallet>;
@@ -2333,6 +2712,10 @@ export declare namespace WalletRpcParams {
2333
2712
  * Body param
2334
2713
  */
2335
2714
  chain_type?: 'ethereum';
2715
+ /**
2716
+ * Body param: A hex-encoded string prefixed with '0x'.
2717
+ */
2718
+ experimental_data_suffix?: Hex;
2336
2719
  /**
2337
2720
  * Body param
2338
2721
  */
@@ -2567,6 +2950,10 @@ export declare namespace WalletRpcParams {
2567
2950
  * Body param
2568
2951
  */
2569
2952
  chain_type?: 'ethereum';
2953
+ /**
2954
+ * Body param: A hex-encoded string prefixed with '0x'.
2955
+ */
2956
+ experimental_data_suffix?: Hex;
2570
2957
  /**
2571
2958
  * Body param
2572
2959
  */
@@ -3029,7 +3416,10 @@ export declare namespace WalletRpcParams {
3029
3416
  }
3030
3417
  }
3031
3418
  export interface WalletSubmitImportParams {
3032
- wallet: WalletSubmitImportParams.HDSubmitInput | WalletSubmitImportParams.PrivateKeySubmitInput;
3419
+ /**
3420
+ * The submission input for importing an HD wallet.
3421
+ */
3422
+ wallet: HDSubmitInput | PrivateKeySubmitInput;
3033
3423
  /**
3034
3424
  * Additional signers for the wallet.
3035
3425
  */
@@ -3059,77 +3449,6 @@ export interface WalletSubmitImportParams {
3059
3449
  */
3060
3450
  policy_ids?: PolicyInput;
3061
3451
  }
3062
- export declare namespace WalletSubmitImportParams {
3063
- interface HDSubmitInput {
3064
- /**
3065
- * The address of the wallet to import.
3066
- */
3067
- address: string;
3068
- /**
3069
- * The chain type of the wallet to import. Currently supports `ethereum` and
3070
- * `solana`.
3071
- */
3072
- chain_type: WalletsAPI.WalletImportSupportedChains;
3073
- /**
3074
- * The encrypted entropy of the wallet to import.
3075
- */
3076
- ciphertext: string;
3077
- /**
3078
- * The base64-encoded encapsulated key that was generated during encryption, for
3079
- * use during decryption inside the TEE.
3080
- */
3081
- encapsulated_key: string;
3082
- /**
3083
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
3084
- */
3085
- encryption_type: WalletsAPI.HpkeEncryption;
3086
- /**
3087
- * The entropy type of the wallet to import.
3088
- */
3089
- entropy_type: 'hd';
3090
- /**
3091
- * The index of the wallet to import.
3092
- */
3093
- index: number;
3094
- /**
3095
- * Optional HPKE configuration for wallet import decryption. These parameters allow
3096
- * importing wallets encrypted by external providers that use different HPKE
3097
- * configurations.
3098
- */
3099
- hpke_config?: WalletsAPI.HpkeImportConfig;
3100
- }
3101
- interface PrivateKeySubmitInput {
3102
- /**
3103
- * The address of the wallet to import.
3104
- */
3105
- address: string;
3106
- /**
3107
- * The chain type of the wallet to import. Currently supports `ethereum` and
3108
- * `solana`.
3109
- */
3110
- chain_type: WalletsAPI.WalletImportSupportedChains;
3111
- /**
3112
- * The encrypted entropy of the wallet to import.
3113
- */
3114
- ciphertext: string;
3115
- /**
3116
- * The base64-encoded encapsulated key that was generated during encryption, for
3117
- * use during decryption inside the TEE.
3118
- */
3119
- encapsulated_key: string;
3120
- /**
3121
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
3122
- */
3123
- encryption_type: WalletsAPI.HpkeEncryption;
3124
- entropy_type: 'private-key';
3125
- /**
3126
- * Optional HPKE configuration for wallet import decryption. These parameters allow
3127
- * importing wallets encrypted by external providers that use different HPKE
3128
- * configurations.
3129
- */
3130
- hpke_config?: WalletsAPI.HpkeImportConfig;
3131
- }
3132
- }
3133
3452
  export interface WalletUpdateParams {
3134
3453
  /**
3135
3454
  * Body param: Additional signers for the wallet.
@@ -3194,23 +3513,7 @@ export declare namespace WalletCreateWalletsWithRecoveryParams {
3194
3513
  subject_id: string;
3195
3514
  }
3196
3515
  interface RecoveryUser {
3197
- linked_accounts: Array<RecoveryUser.UnionMember0 | RecoveryUser.UnionMember1>;
3198
- }
3199
- namespace RecoveryUser {
3200
- interface UnionMember0 {
3201
- /**
3202
- * The email address of the user.
3203
- */
3204
- address: string;
3205
- type: 'email';
3206
- }
3207
- interface UnionMember1 {
3208
- /**
3209
- * The JWT subject ID of the user.
3210
- */
3211
- custom_user_id: string;
3212
- type: 'custom_auth';
3213
- }
3516
+ linked_accounts: Array<UsersAPI.LinkedAccountEmailInput | UsersAPI.LinkedAccountCustomJwtInput>;
3214
3517
  }
3215
3518
  interface Wallet {
3216
3519
  /**
@@ -3234,7 +3537,7 @@ export declare namespace WalletCreateWalletsWithRecoveryParams {
3234
3537
  }
3235
3538
  }
3236
3539
  export declare namespace Wallets {
3237
- export { type WalletRevokeResponse as WalletRevokeResponse, type CurveSigningChainType as CurveSigningChainType, type ExtendedChainType as ExtendedChainType, type FirstClassChainType as FirstClassChainType, type WalletChainType as WalletChainType, type AuthorizationKeyRole as AuthorizationKeyRole, type WalletEntropyType as WalletEntropyType, type SolanaWalletDerivationStrategy as SolanaWalletDerivationStrategy, type PolicyInput as PolicyInput, type AdditionalSignerItemInput as AdditionalSignerItemInput, type AdditionalSignerInput as AdditionalSignerInput, type WalletAdditionalSignerItem as WalletAdditionalSignerItem, type WalletAdditionalSigner as WalletAdditionalSigner, type Address as Address, type WalletCustodian as WalletCustodian, type CustodialWalletProvider as CustodialWalletProvider, type CustodialWalletChainType as CustodialWalletChainType, type CustodialWalletCreateInput as CustodialWalletCreateInput, type CustodialWallet as CustodialWallet, type HpkeEncryption as HpkeEncryption, type RecipientPublicKey as RecipientPublicKey, type ExportType as ExportType, type PrivateKeyExportInput as PrivateKeyExportInput, type PrivateKeyExportResponse as PrivateKeyExportResponse, type SeedPhraseExportInput as SeedPhraseExportInput, type SeedPhraseExportResponse as SeedPhraseExportResponse, type WalletImportSupportedChains as WalletImportSupportedChains, type WalletImportSupportedEntropyTypes as WalletImportSupportedEntropyTypes, type WalletImportInitResponse as WalletImportInitResponse, type HpkeAeadAlgorithm as HpkeAeadAlgorithm, type HpkeImportConfig as HpkeImportConfig, type CurveType as CurveType, type HDPath as HDPath, type SigningAlgorithm as SigningAlgorithm, type Hex as Hex, type Quantity as Quantity, type ExportPrivateKeyRpcInput as ExportPrivateKeyRpcInput, type ExportPrivateKeyRpcResponse as ExportPrivateKeyRpcResponse, type ExportSeedPhraseRpcInput as ExportSeedPhraseRpcInput, type ExportSeedPhraseRpcResponse as ExportSeedPhraseRpcResponse, type RawSignHashParams as RawSignHashParams, type RawSignBytesEncoding as RawSignBytesEncoding, type RawSignBytesHashFunction as RawSignBytesHashFunction, type RawSignBytesParams as RawSignBytesParams, type RawSignInputParams as RawSignInputParams, type RawSignInput as RawSignInput, type RawSignResponseData as RawSignResponseData, type RawSignResponse as RawSignResponse, type EthereumSign7702Authorization as EthereumSign7702Authorization, type UnsignedEthereumTransaction as UnsignedEthereumTransaction, type UserOperationInput as UserOperationInput, type TypedDataDomainInputParams as TypedDataDomainInputParams, type TypedDataTypeFieldInput as TypedDataTypeFieldInput, type TypedDataTypesInputParams as TypedDataTypesInputParams, type EthereumPersonalSignRpcInputParams as EthereumPersonalSignRpcInputParams, type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput, type EthereumSignTransactionRpcInputParams as EthereumSignTransactionRpcInputParams, type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput, type EthereumSendTransactionRpcInputParams as EthereumSendTransactionRpcInputParams, type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput, type EthereumTypedDataInput as EthereumTypedDataInput, type EthereumSignTypedDataRpcInputParams as EthereumSignTypedDataRpcInputParams, type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput, type EthereumSecp256k1SignRpcInputParams as EthereumSecp256k1SignRpcInputParams, type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput, type EthereumSign7702AuthorizationRpcInputParams as EthereumSign7702AuthorizationRpcInputParams, type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput, type EthereumSignUserOperationRpcInputParams as EthereumSignUserOperationRpcInputParams, type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput, type EthereumSendCallsCall as EthereumSendCallsCall, type EthereumSendCallsRpcInputParams as EthereumSendCallsRpcInputParams, type EthereumSendCallsRpcInput as EthereumSendCallsRpcInput, type EthereumRpcInput as EthereumRpcInput, type EthereumPersonalSignRpcResponseData as EthereumPersonalSignRpcResponseData, type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse, type EthereumSignTransactionRpcResponseData as EthereumSignTransactionRpcResponseData, type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse, type EthereumSendTransactionRpcResponseData as EthereumSendTransactionRpcResponseData, type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse, type EthereumSignTypedDataRpcResponseData as EthereumSignTypedDataRpcResponseData, type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse, type EthereumSecp256k1SignRpcResponseData as EthereumSecp256k1SignRpcResponseData, type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse, type EthereumSign7702AuthorizationRpcResponseData as EthereumSign7702AuthorizationRpcResponseData, type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse, type EthereumSignUserOperationRpcResponseData as EthereumSignUserOperationRpcResponseData, type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse, type EthereumSendCallsRpcResponseData as EthereumSendCallsRpcResponseData, type EthereumSendCallsRpcResponse as EthereumSendCallsRpcResponse, type EthereumRpcResponse as EthereumRpcResponse, type SolanaSignTransactionRpcInputParams as SolanaSignTransactionRpcInputParams, type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput, type SolanaSignAndSendTransactionRpcInputParams as SolanaSignAndSendTransactionRpcInputParams, type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput, type SolanaSignMessageRpcInputParams as SolanaSignMessageRpcInputParams, type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput, type SolanaRpcInput as SolanaRpcInput, type SolanaSignTransactionRpcResponseData as SolanaSignTransactionRpcResponseData, type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse, type SolanaSignAndSendTransactionRpcResponseData as SolanaSignAndSendTransactionRpcResponseData, type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse, type SolanaSignMessageRpcResponseData as SolanaSignMessageRpcResponseData, type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse, type SolanaRpcResponse as SolanaRpcResponse, type SparkNetwork as SparkNetwork, type SparkSigningKeyshare as SparkSigningKeyshare, type SparkWalletLeaf as SparkWalletLeaf, type SparkTransferLeaf as SparkTransferLeaf, type SparkTransfer as SparkTransfer, type SparkUserTokenMetadata as SparkUserTokenMetadata, type SparkTokenBalance as SparkTokenBalance, type SparkBalance as SparkBalance, type TokenOutput as TokenOutput, type OutputWithPreviousTransactionData as OutputWithPreviousTransactionData, type SparkLightningFee as SparkLightningFee, type SparkLightningReceiveRequest as SparkLightningReceiveRequest, type SparkLightningSendRequest as SparkLightningSendRequest, type SparkTransferRpcInputParams as SparkTransferRpcInputParams, type SparkTransferRpcInput as SparkTransferRpcInput, type SparkGetBalanceRpcInput as SparkGetBalanceRpcInput, type SparkOutputSelectionStrategy as SparkOutputSelectionStrategy, type SparkTransferTokensRpcInputParams as SparkTransferTokensRpcInputParams, type SparkTransferTokensRpcInput as SparkTransferTokensRpcInput, type SparkGetStaticDepositAddressRpcInput as SparkGetStaticDepositAddressRpcInput, type SparkGetClaimStaticDepositQuoteRpcInputParams as SparkGetClaimStaticDepositQuoteRpcInputParams, type SparkGetClaimStaticDepositQuoteRpcInput as SparkGetClaimStaticDepositQuoteRpcInput, type SparkClaimStaticDepositRpcInputParams as SparkClaimStaticDepositRpcInputParams, type SparkClaimStaticDepositRpcInput as SparkClaimStaticDepositRpcInput, type SparkCreateLightningInvoiceRpcInputParams as SparkCreateLightningInvoiceRpcInputParams, type SparkCreateLightningInvoiceRpcInput as SparkCreateLightningInvoiceRpcInput, type SparkPayLightningInvoiceRpcInputParams as SparkPayLightningInvoiceRpcInputParams, type SparkPayLightningInvoiceRpcInput as SparkPayLightningInvoiceRpcInput, type SparkSignMessageWithIdentityKeyRpcInputParams as SparkSignMessageWithIdentityKeyRpcInputParams, type SparkSignMessageWithIdentityKeyRpcInput as SparkSignMessageWithIdentityKeyRpcInput, type SparkRpcInput as SparkRpcInput, type SparkTransferRpcResponse as SparkTransferRpcResponse, type SparkGetBalanceRpcResponse as SparkGetBalanceRpcResponse, type SparkTransferTokensRpcResponseData as SparkTransferTokensRpcResponseData, type SparkTransferTokensRpcResponse as SparkTransferTokensRpcResponse, type SparkGetStaticDepositAddressRpcResponseData as SparkGetStaticDepositAddressRpcResponseData, type SparkGetStaticDepositAddressRpcResponse as SparkGetStaticDepositAddressRpcResponse, type SparkGetClaimStaticDepositQuoteRpcResponseData as SparkGetClaimStaticDepositQuoteRpcResponseData, type SparkGetClaimStaticDepositQuoteRpcResponse as SparkGetClaimStaticDepositQuoteRpcResponse, type SparkClaimStaticDepositRpcResponseData as SparkClaimStaticDepositRpcResponseData, type SparkClaimStaticDepositRpcResponse as SparkClaimStaticDepositRpcResponse, type SparkCreateLightningInvoiceRpcResponse as SparkCreateLightningInvoiceRpcResponse, type SparkPayLightningInvoiceRpcResponse as SparkPayLightningInvoiceRpcResponse, type SparkSignMessageWithIdentityKeyRpcResponseData as SparkSignMessageWithIdentityKeyRpcResponseData, type SparkSignMessageWithIdentityKeyRpcResponse as SparkSignMessageWithIdentityKeyRpcResponse, type SparkRpcResponse as SparkRpcResponse, type Wallet as Wallet, type GetByWalletAddressRequestBody as GetByWalletAddressRequestBody, type WalletUpdateRequestBody as WalletUpdateRequestBody, type WalletBatchItemInput as WalletBatchItemInput, type WalletBatchCreateInput as WalletBatchCreateInput, type WalletBatchCreateResult as WalletBatchCreateResult, type WalletBatchCreateResponse as WalletBatchCreateResponse, type WalletRpcRequestBody as WalletRpcRequestBody, type WalletRpcResponse as WalletRpcResponse, type WalletAuthenticateRequestBody as WalletAuthenticateRequestBody, type TokenTransferSource as TokenTransferSource, type TokenTransferDestination as TokenTransferDestination, type CreateTokenTransferRequest as CreateTokenTransferRequest, type SuiCommandName as SuiCommandName, type WalletAPIRegisterAuthorizationKeyInput as WalletAPIRegisterAuthorizationKeyInput, type WalletAPIRevokeAuthorizationKeyInput as WalletAPIRevokeAuthorizationKeyInput, type AuthorizationKeyDashboardResponse as AuthorizationKeyDashboardResponse, type AuthorizationKeyResponse as AuthorizationKeyResponse, type WalletAuthorizationHeaders as WalletAuthorizationHeaders, type WalletExportResponse as WalletExportResponse, type WalletInitImportResponse as WalletInitImportResponse, type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse, type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse, type WalletsCursor as WalletsCursor, type WalletCreateParams as WalletCreateParams, type WalletListParams as WalletListParams, type WalletExportParams as WalletExportParams, type WalletInitImportParams as WalletInitImportParams, type WalletRawSignParams as WalletRawSignParams, type WalletRpcParams as WalletRpcParams, type WalletSubmitImportParams as WalletSubmitImportParams, type WalletUpdateParams as WalletUpdateParams, type WalletAuthenticateWithJwtParams as WalletAuthenticateWithJwtParams, type WalletCreateWalletsWithRecoveryParams as WalletCreateWalletsWithRecoveryParams, };
3540
+ export { type WalletRevokeResponse as WalletRevokeResponse, type AdditionalSignerInput as AdditionalSignerInput, type AdditionalSignerItemInput as AdditionalSignerItemInput, type Address as Address, type AmountType as AmountType, type AuthorizationKeyDashboardResponse as AuthorizationKeyDashboardResponse, type AuthorizationKeyResponse as AuthorizationKeyResponse, type AuthorizationKeyRole as AuthorizationKeyRole, type CurveSigningChainType as CurveSigningChainType, type CurveType as CurveType, type CustodialWallet as CustodialWallet, type CustodialWalletChainType as CustodialWalletChainType, type CustodialWalletCreateInput as CustodialWalletCreateInput, type CustodialWalletProvider as CustodialWalletProvider, type CustomTokenTransferSource as CustomTokenTransferSource, type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput, type EthereumPersonalSignRpcInputParams as EthereumPersonalSignRpcInputParams, type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse, type EthereumPersonalSignRpcResponseData as EthereumPersonalSignRpcResponseData, type EthereumRpcInput as EthereumRpcInput, type EthereumRpcResponse as EthereumRpcResponse, type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput, type EthereumSecp256k1SignRpcInputParams as EthereumSecp256k1SignRpcInputParams, type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse, type EthereumSecp256k1SignRpcResponseData as EthereumSecp256k1SignRpcResponseData, type EthereumSendCallsCall as EthereumSendCallsCall, type EthereumSendCallsRpcInput as EthereumSendCallsRpcInput, type EthereumSendCallsRpcInputParams as EthereumSendCallsRpcInputParams, type EthereumSendCallsRpcResponse as EthereumSendCallsRpcResponse, type EthereumSendCallsRpcResponseData as EthereumSendCallsRpcResponseData, type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput, type EthereumSendTransactionRpcInputParams as EthereumSendTransactionRpcInputParams, type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse, type EthereumSendTransactionRpcResponseData as EthereumSendTransactionRpcResponseData, type EthereumSign7702Authorization as EthereumSign7702Authorization, type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput, type EthereumSign7702AuthorizationRpcInputParams as EthereumSign7702AuthorizationRpcInputParams, type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse, type EthereumSign7702AuthorizationRpcResponseData as EthereumSign7702AuthorizationRpcResponseData, type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput, type EthereumSignTransactionRpcInputParams as EthereumSignTransactionRpcInputParams, type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse, type EthereumSignTransactionRpcResponseData as EthereumSignTransactionRpcResponseData, type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput, type EthereumSignTypedDataRpcInputParams as EthereumSignTypedDataRpcInputParams, type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse, type EthereumSignTypedDataRpcResponseData as EthereumSignTypedDataRpcResponseData, type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput, type EthereumSignUserOperationRpcInputParams as EthereumSignUserOperationRpcInputParams, type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse, type EthereumSignUserOperationRpcResponseData as EthereumSignUserOperationRpcResponseData, type EthereumTypedDataInput as EthereumTypedDataInput, type ExportPrivateKeyRpcInput as ExportPrivateKeyRpcInput, type ExportPrivateKeyRpcResponse as ExportPrivateKeyRpcResponse, type ExportSeedPhraseRpcInput as ExportSeedPhraseRpcInput, type ExportSeedPhraseRpcResponse as ExportSeedPhraseRpcResponse, type ExportType as ExportType, type ExtendedChainType as ExtendedChainType, type FirstClassChainType as FirstClassChainType, type GetByWalletAddressRequestBody as GetByWalletAddressRequestBody, type HDInitInput as HDInitInput, type HDPath as HDPath, type HDSubmitInput as HDSubmitInput, type HpkeAeadAlgorithm as HpkeAeadAlgorithm, type HpkeEncryption as HpkeEncryption, type HpkeImportConfig as HpkeImportConfig, type Hex as Hex, type NamedTokenTransferSource as NamedTokenTransferSource, type OutputWithPreviousTransactionData as OutputWithPreviousTransactionData, type PolicyInput as PolicyInput, type PrivateKeyExportInput as PrivateKeyExportInput, type PrivateKeyExportResponse as PrivateKeyExportResponse, type PrivateKeyInitInput as PrivateKeyInitInput, type PrivateKeySubmitInput as PrivateKeySubmitInput, type Quantity as Quantity, type RawSignBytesEncoding as RawSignBytesEncoding, type RawSignBytesHashFunction as RawSignBytesHashFunction, type RawSignBytesParams as RawSignBytesParams, type RawSignHashParams as RawSignHashParams, type RawSignInput as RawSignInput, type RawSignInputParams as RawSignInputParams, type RawSignResponse as RawSignResponse, type RawSignResponseData as RawSignResponseData, type RecipientPublicKey as RecipientPublicKey, type SeedPhraseExportInput as SeedPhraseExportInput, type SeedPhraseExportResponse as SeedPhraseExportResponse, type SigningAlgorithm as SigningAlgorithm, type SolanaRpcInput as SolanaRpcInput, type SolanaRpcResponse as SolanaRpcResponse, type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput, type SolanaSignAndSendTransactionRpcInputParams as SolanaSignAndSendTransactionRpcInputParams, type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse, type SolanaSignAndSendTransactionRpcResponseData as SolanaSignAndSendTransactionRpcResponseData, type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput, type SolanaSignMessageRpcInputParams as SolanaSignMessageRpcInputParams, type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse, type SolanaSignMessageRpcResponseData as SolanaSignMessageRpcResponseData, type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput, type SolanaSignTransactionRpcInputParams as SolanaSignTransactionRpcInputParams, type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse, type SolanaSignTransactionRpcResponseData as SolanaSignTransactionRpcResponseData, type SolanaWalletDerivationStrategy as SolanaWalletDerivationStrategy, type SparkBalance as SparkBalance, type SparkClaimStaticDepositRpcInput as SparkClaimStaticDepositRpcInput, type SparkClaimStaticDepositRpcInputParams as SparkClaimStaticDepositRpcInputParams, type SparkClaimStaticDepositRpcResponse as SparkClaimStaticDepositRpcResponse, type SparkClaimStaticDepositRpcResponseData as SparkClaimStaticDepositRpcResponseData, type SparkCreateLightningInvoiceRpcInput as SparkCreateLightningInvoiceRpcInput, type SparkCreateLightningInvoiceRpcInputParams as SparkCreateLightningInvoiceRpcInputParams, type SparkCreateLightningInvoiceRpcResponse as SparkCreateLightningInvoiceRpcResponse, type SparkGetBalanceRpcInput as SparkGetBalanceRpcInput, type SparkGetBalanceRpcResponse as SparkGetBalanceRpcResponse, type SparkGetClaimStaticDepositQuoteRpcInput as SparkGetClaimStaticDepositQuoteRpcInput, type SparkGetClaimStaticDepositQuoteRpcInputParams as SparkGetClaimStaticDepositQuoteRpcInputParams, type SparkGetClaimStaticDepositQuoteRpcResponse as SparkGetClaimStaticDepositQuoteRpcResponse, type SparkGetClaimStaticDepositQuoteRpcResponseData as SparkGetClaimStaticDepositQuoteRpcResponseData, type SparkGetStaticDepositAddressRpcInput as SparkGetStaticDepositAddressRpcInput, type SparkGetStaticDepositAddressRpcResponse as SparkGetStaticDepositAddressRpcResponse, type SparkGetStaticDepositAddressRpcResponseData as SparkGetStaticDepositAddressRpcResponseData, type SparkLightningFee as SparkLightningFee, type SparkLightningReceiveRequest as SparkLightningReceiveRequest, type SparkLightningSendRequest as SparkLightningSendRequest, type SparkNetwork as SparkNetwork, type SparkOutputSelectionStrategy as SparkOutputSelectionStrategy, type SparkPayLightningInvoiceRpcInput as SparkPayLightningInvoiceRpcInput, type SparkPayLightningInvoiceRpcInputParams as SparkPayLightningInvoiceRpcInputParams, type SparkPayLightningInvoiceRpcResponse as SparkPayLightningInvoiceRpcResponse, type SparkRpcInput as SparkRpcInput, type SparkRpcResponse as SparkRpcResponse, type SparkSignMessageWithIdentityKeyRpcInput as SparkSignMessageWithIdentityKeyRpcInput, type SparkSignMessageWithIdentityKeyRpcInputParams as SparkSignMessageWithIdentityKeyRpcInputParams, type SparkSignMessageWithIdentityKeyRpcResponse as SparkSignMessageWithIdentityKeyRpcResponse, type SparkSignMessageWithIdentityKeyRpcResponseData as SparkSignMessageWithIdentityKeyRpcResponseData, type SparkSigningKeyshare as SparkSigningKeyshare, type SparkTokenBalance as SparkTokenBalance, type SparkTransfer as SparkTransfer, type SparkTransferLeaf as SparkTransferLeaf, type SparkTransferRpcInput as SparkTransferRpcInput, type SparkTransferRpcInputParams as SparkTransferRpcInputParams, type SparkTransferRpcResponse as SparkTransferRpcResponse, type SparkTransferTokensRpcInput as SparkTransferTokensRpcInput, type SparkTransferTokensRpcInputParams as SparkTransferTokensRpcInputParams, type SparkTransferTokensRpcResponse as SparkTransferTokensRpcResponse, type SparkTransferTokensRpcResponseData as SparkTransferTokensRpcResponseData, type SparkUserTokenMetadata as SparkUserTokenMetadata, type SparkWalletLeaf as SparkWalletLeaf, type SuiCommandName as SuiCommandName, type TempoAaAuthorization as TempoAaAuthorization, type TempoCall as TempoCall, type TempoFeePayerSignature as TempoFeePayerSignature, type TokenOutput as TokenOutput, type TokenTransferDestination as TokenTransferDestination, type TokenTransferSource as TokenTransferSource, type TransactionDetail as TransactionDetail, type TransactionTokenAddressInput as TransactionTokenAddressInput, type TransferReceivedTransactionDetail as TransferReceivedTransactionDetail, type TransferRequestBody as TransferRequestBody, type TransferSentTransactionDetail as TransferSentTransactionDetail, type TypedDataDomainInputParams as TypedDataDomainInputParams, type TypedDataTypeFieldInput as TypedDataTypeFieldInput, type TypedDataTypesInputParams as TypedDataTypesInputParams, type UnsignedEthereumTransaction as UnsignedEthereumTransaction, type UnsignedStandardEthereumTransaction as UnsignedStandardEthereumTransaction, type UnsignedTempoTransaction as UnsignedTempoTransaction, type UserOperationInput as UserOperationInput, type Wallet as Wallet, type WalletAdditionalSigner as WalletAdditionalSigner, type WalletAdditionalSignerItem as WalletAdditionalSignerItem, type WalletAPIRegisterAuthorizationKeyInput as WalletAPIRegisterAuthorizationKeyInput, type WalletAPIRevokeAuthorizationKeyInput as WalletAPIRevokeAuthorizationKeyInput, type WalletAsset as WalletAsset, type WalletAuthenticateRequestBody as WalletAuthenticateRequestBody, type WalletAuthorizationHeaders as WalletAuthorizationHeaders, type WalletBatchCreateInput as WalletBatchCreateInput, type WalletBatchCreateResponse as WalletBatchCreateResponse, type WalletBatchCreateResult as WalletBatchCreateResult, type WalletBatchItemInput as WalletBatchItemInput, type WalletChainType as WalletChainType, type WalletCustodian as WalletCustodian, type WalletEntropyType as WalletEntropyType, type WalletEthereumAsset as WalletEthereumAsset, type WalletExportRequestBody as WalletExportRequestBody, type WalletExportResponseBody as WalletExportResponseBody, type WalletImportInitResponse as WalletImportInitResponse, type WalletImportSupportedChains as WalletImportSupportedChains, type WalletImportSupportedEntropyTypes as WalletImportSupportedEntropyTypes, type WalletRpcRequestBody as WalletRpcRequestBody, type WalletRpcResponse as WalletRpcResponse, type WalletSolanaAsset as WalletSolanaAsset, type WalletUpdateRequestBody as WalletUpdateRequestBody, type WalletInitImportResponse as WalletInitImportResponse, type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse, type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse, type WalletsCursor as WalletsCursor, type WalletCreateParams as WalletCreateParams, type WalletListParams as WalletListParams, type WalletExportParams as WalletExportParams, type WalletInitImportParams as WalletInitImportParams, type WalletRawSignParams as WalletRawSignParams, type WalletRpcParams as WalletRpcParams, type WalletSubmitImportParams as WalletSubmitImportParams, type WalletUpdateParams as WalletUpdateParams, type WalletAuthenticateWithJwtParams as WalletAuthenticateWithJwtParams, type WalletCreateWalletsWithRecoveryParams as WalletCreateWalletsWithRecoveryParams, };
3238
3541
  export { Transactions as Transactions, type TransactionGetResponse as TransactionGetResponse, type TransactionGetParams as TransactionGetParams, };
3239
3542
  export { Balance as Balance, type BalanceGetResponse as BalanceGetResponse, type BalanceGetParams as BalanceGetParams, };
3240
3543
  }