@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
@@ -4,6 +4,7 @@ import { APIResource } from '../../core/resource';
4
4
  import * as WalletsAPI from './wallets';
5
5
  import * as AppsAPI from '../apps';
6
6
  import * as SharedAPI from '../shared';
7
+ import * as UsersAPI from '../users';
7
8
  import * as BalanceAPI from './balance';
8
9
  import { Balance, BalanceGetParams, BalanceGetResponse } from './balance';
9
10
  import * as TransactionsAPI from './transactions';
@@ -63,18 +64,19 @@ export class Wallets extends APIResource {
63
64
  *
64
65
  * @example
65
66
  * ```ts
66
- * const response = await client.wallets._export('wallet_id', {
67
- * encryption_type: 'HPKE',
68
- * recipient_public_key:
69
- * 'BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go=',
70
- * });
67
+ * const walletExportResponseBody =
68
+ * await client.wallets._export('wallet_id', {
69
+ * encryption_type: 'HPKE',
70
+ * recipient_public_key:
71
+ * 'BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go=',
72
+ * });
71
73
  * ```
72
74
  */
73
75
  _export(
74
76
  walletID: string,
75
77
  params: WalletExportParams,
76
78
  options?: RequestOptions,
77
- ): APIPromise<WalletExportResponse> {
79
+ ): APIPromise<WalletExportResponseBody> {
78
80
  const {
79
81
  'privy-authorization-signature': privyAuthorizationSignature,
80
82
  'privy-request-expiry': privyRequestExpiry,
@@ -122,7 +124,10 @@ export class Wallets extends APIResource {
122
124
  * 'wallet_id',
123
125
  * {
124
126
  * params: {
125
- * hash: '0x0775aeed9c9ce6e0fbc4db25c5e4e6368029651c905c286f813126a09025a21e',
127
+ * bytes:
128
+ * '0a0234ea220809701d7a17a77e04408093e981a6335a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a15417009bf59e27d2031a23a61e1590289fc3d21b3cd121541132b98ed6fb80a2d45f177cdef091ae2d9dc115418e80770a0bee581a633',
129
+ * encoding: 'hex',
130
+ * hash_function: 'sha256',
126
131
  * },
127
132
  * },
128
133
  * );
@@ -308,144 +313,123 @@ export interface WalletRevokeResponse {
308
313
  }
309
314
 
310
315
  /**
311
- * The wallet chain types that support curve-based signing.
316
+ * Additional signers for the wallet.
312
317
  */
313
- export type CurveSigningChainType =
314
- | 'cosmos'
315
- | 'stellar'
316
- | 'sui'
317
- | 'aptos'
318
- | 'movement'
319
- | 'tron'
320
- | 'bitcoin-segwit'
321
- | 'near'
322
- | 'ton'
323
- | 'starknet';
318
+ export type AdditionalSignerInput = Array<AdditionalSignerItemInput>;
324
319
 
325
320
  /**
326
- * The wallet chain types that are not first class chains.
321
+ * A single additional signer for a wallet, with an optional policy override.
327
322
  */
328
- export type ExtendedChainType =
329
- | 'cosmos'
330
- | 'stellar'
331
- | 'sui'
332
- | 'aptos'
333
- | 'movement'
334
- | 'tron'
335
- | 'bitcoin-segwit'
336
- | 'near'
337
- | 'ton'
338
- | 'starknet'
339
- | 'spark';
323
+ export interface AdditionalSignerItemInput {
324
+ /**
325
+ * A unique identifier for a key quorum.
326
+ */
327
+ signer_id: SharedAPI.KeyQuorumID;
340
328
 
341
- /**
342
- * The wallet chain types that offer first class support.
343
- */
344
- export type FirstClassChainType = 'ethereum' | 'solana';
329
+ /**
330
+ * An optional list of up to one policy ID to enforce on the wallet.
331
+ */
332
+ override_policy_ids?: PolicyInput;
333
+ }
345
334
 
346
335
  /**
347
- * The wallet chain types.
336
+ * A blockchain wallet address (Ethereum or Solana).
348
337
  */
349
- export type WalletChainType =
350
- | 'ethereum'
351
- | 'solana'
352
- | 'cosmos'
353
- | 'stellar'
354
- | 'sui'
355
- | 'aptos'
356
- | 'movement'
357
- | 'tron'
358
- | 'bitcoin-segwit'
359
- | 'near'
360
- | 'ton'
361
- | 'starknet'
362
- | 'spark';
338
+ export type Address = string;
363
339
 
364
340
  /**
365
- * The role of an authorization key, controlling what actions it can authorize on a
366
- * wallet.
341
+ * Whether the amount refers to the input token or output token.
367
342
  */
368
- export type AuthorizationKeyRole = 'root' | 'manager' | 'delegated-actions' | null;
343
+ export type AmountType = 'exact_input' | 'exact_output';
369
344
 
370
345
  /**
371
- * The entropy type of the wallet.
346
+ * Dashboard response for a wallet authorization key (includes role, which is an
347
+ * internal-only concept).
372
348
  */
373
- export type WalletEntropyType = 'hd' | 'private-key';
349
+ export interface AuthorizationKeyDashboardResponse {
350
+ id: string;
374
351
 
375
- /**
376
- * The derivation strategy used for Solana wallets.
377
- */
378
- export type SolanaWalletDerivationStrategy = 'ENTROPY_TO_SEED' | 'ENTROPY_TO_MNEMONIC_TO_SEED';
352
+ created_at: number;
379
353
 
380
- /**
381
- * An optional list of up to one policy ID to enforce on the wallet.
382
- */
383
- export type PolicyInput = Array<string>;
354
+ display_name: string | null;
384
355
 
385
- /**
386
- * A single additional signer for a wallet, with an optional policy override.
387
- */
388
- export interface AdditionalSignerItemInput {
389
- /**
390
- * A unique identifier for a key quorum.
391
- */
392
- signer_id: SharedAPI.KeyQuorumID;
356
+ public_key: string;
393
357
 
394
358
  /**
395
- * An optional list of up to one policy ID to enforce on the wallet.
359
+ * The role of an authorization key, controlling what actions it can authorize on a
360
+ * wallet.
396
361
  */
397
- override_policy_ids?: PolicyInput;
362
+ role: AuthorizationKeyRole | null;
398
363
  }
399
364
 
400
365
  /**
401
- * Additional signers for the wallet.
366
+ * Public-facing response for a wallet authorization key.
402
367
  */
403
- export type AdditionalSignerInput = Array<AdditionalSignerItemInput>;
368
+ export interface AuthorizationKeyResponse {
369
+ id: string;
404
370
 
405
- /**
406
- * A single additional signer on a wallet, with an optional policy override.
407
- */
408
- export interface WalletAdditionalSignerItem {
409
- /**
410
- * A unique identifier for a key quorum.
411
- */
412
- signer_id: SharedAPI.KeyQuorumID;
371
+ created_at: number;
413
372
 
414
- /**
415
- * An optional list of up to one policy ID to enforce on the wallet.
416
- */
417
- override_policy_ids?: PolicyInput;
373
+ display_name: string | null;
374
+
375
+ public_key: string;
418
376
  }
419
377
 
420
378
  /**
421
- * Additional signers for the wallet.
379
+ * The role of an authorization key, controlling what actions it can authorize on a
380
+ * wallet.
422
381
  */
423
- export type WalletAdditionalSigner = Array<WalletAdditionalSignerItem>;
382
+ export type AuthorizationKeyRole = 'root' | 'manager' | 'delegated-actions' | null;
424
383
 
425
384
  /**
426
- * A blockchain wallet address (Ethereum or Solana).
385
+ * The wallet chain types that support curve-based signing.
427
386
  */
428
- export type Address = string;
387
+ export type CurveSigningChainType =
388
+ | 'cosmos'
389
+ | 'stellar'
390
+ | 'sui'
391
+ | 'aptos'
392
+ | 'movement'
393
+ | 'tron'
394
+ | 'bitcoin-segwit'
395
+ | 'bitcoin-taproot'
396
+ | 'pearl'
397
+ | 'near'
398
+ | 'ton'
399
+ | 'starknet';
429
400
 
430
401
  /**
431
- * Information about the custodian managing this wallet.
402
+ * The cryptographic curve type used by the wallet.
432
403
  */
433
- export interface WalletCustodian {
404
+ export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
405
+
406
+ /**
407
+ * Information about a custodial wallet.
408
+ */
409
+ export interface CustodialWallet {
410
+ id: string;
411
+
412
+ address: string;
413
+
434
414
  /**
435
- * The custodian responsible for the wallet.
415
+ * The chain type of the custodial wallet.
436
416
  */
437
- provider: string;
417
+ chain_type: CustodialWalletChainType;
438
418
 
439
419
  /**
440
- * The resource ID of the beneficiary of the custodial wallet.
420
+ * Information about the custodian managing this wallet.
441
421
  */
442
- provider_user_id: string;
443
- }
422
+ custody: WalletCustodian;
444
423
 
445
- /**
446
- * The provider of the custodial wallet.
447
- */
448
- export type CustodialWalletProvider = 'bridge';
424
+ owner_id: string | null;
425
+
426
+ /**
427
+ * Additional signers for the wallet.
428
+ */
429
+ additional_signers?: WalletAdditionalSigner;
430
+
431
+ policy_ids?: Array<string>;
432
+ }
449
433
 
450
434
  /**
451
435
  * The chain type of the custodial wallet.
@@ -490,336 +474,319 @@ export interface CustodialWalletCreateInput {
490
474
  }
491
475
 
492
476
  /**
493
- * Information about a custodial wallet.
477
+ * The provider of the custodial wallet.
494
478
  */
495
- export interface CustodialWallet {
496
- id: string;
497
-
498
- address: string;
479
+ export type CustodialWalletProvider = 'bridge';
499
480
 
481
+ /**
482
+ * Source for a transfer identified by a token contract address (EVM) or mint
483
+ * address (Solana). Use this variant for tokens that are not first-class assets.
484
+ */
485
+ export interface CustomTokenTransferSource {
500
486
  /**
501
- * The chain type of the custodial wallet.
487
+ * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
488
+ * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
489
+ * etc.).
502
490
  */
503
- chain_type: CustodialWalletChainType;
491
+ amount: string;
504
492
 
505
493
  /**
506
- * Information about the custodian managing this wallet.
494
+ * The token contract address (EVM) or mint address (Solana) of the asset to
495
+ * transfer.
507
496
  */
508
- custody: WalletCustodian;
509
-
510
- owner_id: string | null;
497
+ asset_address: string;
511
498
 
512
499
  /**
513
- * Additional signers for the wallet.
500
+ * The blockchain network on which to perform the transfer. Supported chains
501
+ * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
502
+ * respective testnets.
514
503
  */
515
- additional_signers?: WalletAdditionalSigner;
516
-
517
- policy_ids?: Array<string>;
504
+ chain: string;
518
505
  }
519
506
 
520
507
  /**
521
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
522
- */
523
- export type HpkeEncryption = 'HPKE';
524
-
525
- /**
526
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
527
- * format.
528
- */
529
- export type RecipientPublicKey = string;
530
-
531
- /**
532
- * The export type. 'display' is for showing the key to the user in the UI,
533
- * 'client' is for exporting to the client application.
508
+ * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
534
509
  */
535
- export type ExportType = 'display' | 'client';
510
+ export interface EthereumPersonalSignRpcInput {
511
+ method: 'personal_sign';
536
512
 
537
- /**
538
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
539
- */
540
- export interface PrivateKeyExportInput {
541
513
  /**
542
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
514
+ * Parameters for the EVM `personal_sign` RPC.
543
515
  */
544
- encryption_type: HpkeEncryption;
516
+ params: EthereumPersonalSignRpcInputParams;
545
517
 
546
- /**
547
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
548
- * format.
549
- */
550
- recipient_public_key: RecipientPublicKey;
518
+ address?: string;
551
519
 
552
- export_seed_phrase?: boolean;
520
+ chain_type?: 'ethereum';
553
521
 
554
- /**
555
- * The export type. 'display' is for showing the key to the user in the UI,
556
- * 'client' is for exporting to the client application.
557
- */
558
- export_type?: ExportType;
522
+ wallet_id?: string;
559
523
  }
560
524
 
561
525
  /**
562
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
526
+ * Parameters for the EVM `personal_sign` RPC.
563
527
  */
564
- export interface PrivateKeyExportResponse {
565
- ciphertext: string;
566
-
567
- encapsulated_key: string;
528
+ export interface EthereumPersonalSignRpcInputParams {
529
+ encoding: 'utf-8' | 'hex';
568
530
 
569
- /**
570
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
571
- */
572
- encryption_type: HpkeEncryption;
531
+ message: string;
573
532
  }
574
533
 
575
534
  /**
576
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
535
+ * Response to the EVM `personal_sign` RPC.
577
536
  */
578
- export interface SeedPhraseExportInput {
537
+ export interface EthereumPersonalSignRpcResponse {
579
538
  /**
580
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
539
+ * Data returned by the EVM `personal_sign` RPC.
581
540
  */
582
- encryption_type: HpkeEncryption;
583
-
584
- /**
585
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
586
- * format.
587
- */
588
- recipient_public_key: RecipientPublicKey;
589
-
590
- export_seed_phrase?: boolean;
541
+ data: EthereumPersonalSignRpcResponseData;
591
542
 
592
- /**
593
- * The export type. 'display' is for showing the key to the user in the UI,
594
- * 'client' is for exporting to the client application.
595
- */
596
- export_type?: ExportType;
543
+ method: 'personal_sign';
597
544
  }
598
545
 
599
546
  /**
600
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
547
+ * Data returned by the EVM `personal_sign` RPC.
601
548
  */
602
- export interface SeedPhraseExportResponse {
603
- ciphertext: string;
604
-
605
- encapsulated_key: string;
549
+ export interface EthereumPersonalSignRpcResponseData {
550
+ encoding: 'hex';
606
551
 
607
- /**
608
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
609
- */
610
- encryption_type: HpkeEncryption;
552
+ signature: string;
611
553
  }
612
554
 
613
555
  /**
614
- * The chain type of the wallet to import. Currently supports `ethereum` and
615
- * `solana`.
556
+ * Request body for Ethereum wallet RPC operations, discriminated by method.
616
557
  */
617
- export type WalletImportSupportedChains = 'ethereum' | 'solana';
558
+ export type EthereumRpcInput =
559
+ | EthereumSignTransactionRpcInput
560
+ | EthereumSendTransactionRpcInput
561
+ | EthereumPersonalSignRpcInput
562
+ | EthereumSignTypedDataRpcInput
563
+ | EthereumSecp256k1SignRpcInput
564
+ | EthereumSign7702AuthorizationRpcInput
565
+ | EthereumSignUserOperationRpcInput
566
+ | EthereumSendCallsRpcInput;
618
567
 
619
568
  /**
620
- * The entropy type of the wallet to import. Supports `private-key` for raw private
621
- * keys and `hd` for HD wallet seed phrases.
569
+ * Response body for Ethereum wallet RPC operations, discriminated by method.
622
570
  */
623
- export type WalletImportSupportedEntropyTypes = 'private-key' | 'hd';
571
+ export type EthereumRpcResponse =
572
+ | EthereumPersonalSignRpcResponse
573
+ | EthereumSignTypedDataRpcResponse
574
+ | EthereumSignTransactionRpcResponse
575
+ | EthereumSendTransactionRpcResponse
576
+ | EthereumSignUserOperationRpcResponse
577
+ | EthereumSign7702AuthorizationRpcResponse
578
+ | EthereumSecp256k1SignRpcResponse
579
+ | EthereumSendCallsRpcResponse;
624
580
 
625
581
  /**
626
- * Response from initializing a wallet import, containing the encryption public
627
- * key.
582
+ * Signs a raw hash on the secp256k1 curve.
628
583
  */
629
- export interface WalletImportInitResponse {
630
- encryption_public_key: string;
584
+ export interface EthereumSecp256k1SignRpcInput {
585
+ method: 'secp256k1_sign';
631
586
 
632
587
  /**
633
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
588
+ * Parameters for the EVM `secp256k1_sign` RPC.
634
589
  */
635
- encryption_type: HpkeEncryption;
636
- }
637
-
638
- /**
639
- * The AEAD algorithm used for HPKE encryption.
640
- */
641
- export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
590
+ params: EthereumSecp256k1SignRpcInputParams;
642
591
 
643
- /**
644
- * Optional HPKE configuration for wallet import decryption. These parameters allow
645
- * importing wallets encrypted by external providers that use different HPKE
646
- * configurations.
647
- */
648
- export interface HpkeImportConfig {
649
- /**
650
- * Additional Authenticated Data (AAD) used during encryption. Should be
651
- * base64-encoded bytes.
652
- */
653
- aad?: string;
592
+ address?: string;
654
593
 
655
- /**
656
- * The AEAD algorithm used for HPKE encryption.
657
- */
658
- aead_algorithm?: HpkeAeadAlgorithm;
594
+ chain_type?: 'ethereum';
659
595
 
660
- /**
661
- * Application-specific context information (INFO) used during HPKE encryption.
662
- * Should be base64-encoded bytes.
663
- */
664
- info?: string;
596
+ wallet_id?: string;
665
597
  }
666
598
 
667
599
  /**
668
- * The cryptographic curve type used by the wallet.
600
+ * Parameters for the EVM `secp256k1_sign` RPC.
669
601
  */
670
- export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
602
+ export interface EthereumSecp256k1SignRpcInputParams {
603
+ /**
604
+ * A hex-encoded string prefixed with '0x'.
605
+ */
606
+ hash: Hex;
607
+ }
671
608
 
672
609
  /**
673
- * A BIP-32 hierarchical deterministic wallet derivation path.
610
+ * Response to the EVM `secp256k1_sign` RPC.
674
611
  */
675
- export type HDPath = string;
612
+ export interface EthereumSecp256k1SignRpcResponse {
613
+ /**
614
+ * Data returned by the EVM `secp256k1_sign` RPC.
615
+ */
616
+ data: EthereumSecp256k1SignRpcResponseData;
676
617
 
677
- /**
678
- * The signing algorithm used by the wallet.
679
- */
680
- export type SigningAlgorithm = 'ECDSA' | 'EdDSA';
618
+ method: 'secp256k1_sign';
619
+ }
681
620
 
682
621
  /**
683
- * A hex-encoded string prefixed with '0x'.
622
+ * Data returned by the EVM `secp256k1_sign` RPC.
684
623
  */
685
- export type Hex = string;
624
+ export interface EthereumSecp256k1SignRpcResponseData {
625
+ encoding: 'hex';
686
626
 
687
- /**
688
- * A quantity value that can be either a hex string starting with '0x' or a
689
- * non-negative integer.
690
- */
691
- export type Quantity = Hex | number;
627
+ /**
628
+ * A hex-encoded string prefixed with '0x'.
629
+ */
630
+ signature: Hex;
631
+ }
692
632
 
693
633
  /**
694
- * Exports the private key of the wallet.
634
+ * A single call within a batched wallet_sendCalls request.
695
635
  */
696
- export interface ExportPrivateKeyRpcInput {
697
- address: string;
636
+ export interface EthereumSendCallsCall {
637
+ to: string;
698
638
 
699
- method: 'exportPrivateKey';
639
+ /**
640
+ * A hex-encoded string prefixed with '0x'.
641
+ */
642
+ data?: Hex;
700
643
 
701
644
  /**
702
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
645
+ * A quantity value that can be either a hex string starting with '0x' or a
646
+ * non-negative integer.
703
647
  */
704
- params: PrivateKeyExportInput;
648
+ value?: Quantity;
705
649
  }
706
650
 
707
651
  /**
708
- * Response to the `exportPrivateKey` RPC.
652
+ * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
653
+ * single atomic transaction.
709
654
  */
710
- export interface ExportPrivateKeyRpcResponse {
655
+ export interface EthereumSendCallsRpcInput {
711
656
  /**
712
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
657
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
713
658
  */
714
- data: PrivateKeyExportInput;
659
+ caip2: AppsAPI.Caip2;
715
660
 
716
- method: 'exportPrivateKey';
717
- }
661
+ method: 'wallet_sendCalls';
718
662
 
719
- /**
720
- * Exports the seed phrase of the wallet.
721
- */
722
- export interface ExportSeedPhraseRpcInput {
723
- address: string;
663
+ /**
664
+ * Parameters for the `wallet_sendCalls` RPC.
665
+ */
666
+ params: EthereumSendCallsRpcInputParams;
724
667
 
725
- method: 'exportSeedPhrase';
668
+ address?: string;
669
+
670
+ chain_type?: 'ethereum';
726
671
 
727
672
  /**
728
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
673
+ * A hex-encoded string prefixed with '0x'.
729
674
  */
730
- params: SeedPhraseExportInput;
675
+ experimental_data_suffix?: Hex;
676
+
677
+ sponsor?: boolean;
678
+
679
+ wallet_id?: string;
731
680
  }
732
681
 
733
682
  /**
734
- * Response to the `exportSeedPhrase` RPC.
683
+ * Parameters for the `wallet_sendCalls` RPC.
735
684
  */
736
- export interface ExportSeedPhraseRpcResponse {
737
- /**
738
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
739
- */
740
- data: SeedPhraseExportResponse;
741
-
742
- method: 'exportSeedPhrase';
685
+ export interface EthereumSendCallsRpcInputParams {
686
+ calls: Array<EthereumSendCallsCall>;
743
687
  }
744
688
 
745
689
  /**
746
- * Parameters for signing a pre-computed hash with the `raw_sign` RPC.
690
+ * Response to the `wallet_sendCalls` RPC.
747
691
  */
748
- export interface RawSignHashParams {
692
+ export interface EthereumSendCallsRpcResponse {
749
693
  /**
750
- * A hex-encoded string prefixed with '0x'.
694
+ * Data returned by the `wallet_sendCalls` RPC.
751
695
  */
752
- hash: Hex;
696
+ data: EthereumSendCallsRpcResponseData;
697
+
698
+ method: 'wallet_sendCalls';
753
699
  }
754
700
 
755
701
  /**
756
- * Encoding scheme for bytes in the `raw_sign` RPC.
702
+ * Data returned by the `wallet_sendCalls` RPC.
757
703
  */
758
- export type RawSignBytesEncoding = 'utf-8' | 'hex' | 'base64';
704
+ export interface EthereumSendCallsRpcResponseData {
705
+ /**
706
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
707
+ */
708
+ caip2: AppsAPI.Caip2;
759
709
 
760
- /**
761
- * Hash function for bytes in the `raw_sign` RPC.
762
- */
763
- export type RawSignBytesHashFunction = 'keccak256' | 'sha256' | 'blake2b256';
710
+ transaction_id: string;
711
+ }
764
712
 
765
713
  /**
766
- * Parameters for hashing and signing bytes with the `raw_sign` RPC.
714
+ * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
767
715
  */
768
- export interface RawSignBytesParams {
716
+ export interface EthereumSendTransactionRpcInput {
769
717
  /**
770
- * The bytes to hash and sign.
718
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
771
719
  */
772
- bytes: string;
720
+ caip2: AppsAPI.Caip2;
721
+
722
+ method: 'eth_sendTransaction';
773
723
 
774
724
  /**
775
- * Encoding scheme for bytes in the `raw_sign` RPC.
725
+ * Parameters for the EVM `eth_sendTransaction` RPC.
776
726
  */
777
- encoding: RawSignBytesEncoding;
727
+ params: EthereumSendTransactionRpcInputParams;
728
+
729
+ address?: string;
730
+
731
+ chain_type?: 'ethereum';
778
732
 
779
733
  /**
780
- * Hash function for bytes in the `raw_sign` RPC.
734
+ * A hex-encoded string prefixed with '0x'.
781
735
  */
782
- hash_function: RawSignBytesHashFunction;
783
- }
736
+ experimental_data_suffix?: Hex;
784
737
 
785
- /**
786
- * Parameters for the `raw_sign` RPC.
787
- */
788
- export type RawSignInputParams = RawSignHashParams | RawSignBytesParams;
738
+ reference_id?: string;
739
+
740
+ sponsor?: boolean;
741
+
742
+ wallet_id?: string;
743
+ }
789
744
 
790
745
  /**
791
- * Provide either `hash` (to sign a pre-computed hash) OR `bytes`, `encoding`, and
792
- * `hash_function` (to hash and then sign). These options are mutually exclusive.
746
+ * Parameters for the EVM `eth_sendTransaction` RPC.
793
747
  */
794
- export interface RawSignInput {
748
+ export interface EthereumSendTransactionRpcInputParams {
795
749
  /**
796
- * Parameters for the `raw_sign` RPC.
750
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
751
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
797
752
  */
798
- params: RawSignInputParams;
753
+ transaction: UnsignedEthereumTransaction;
799
754
  }
800
755
 
801
756
  /**
802
- * Data returned by the `raw_sign` RPC.
757
+ * Response to the EVM `eth_sendTransaction` RPC.
803
758
  */
804
- export interface RawSignResponseData {
805
- encoding: 'hex';
806
-
759
+ export interface EthereumSendTransactionRpcResponse {
807
760
  /**
808
- * A hex-encoded string prefixed with '0x'.
761
+ * Data returned by the EVM `eth_sendTransaction` RPC.
809
762
  */
810
- signature: Hex;
763
+ data: EthereumSendTransactionRpcResponseData;
764
+
765
+ method: 'eth_sendTransaction';
811
766
  }
812
767
 
813
768
  /**
814
- * Response to the `raw_sign` RPC.
769
+ * Data returned by the EVM `eth_sendTransaction` RPC.
815
770
  */
816
- export interface RawSignResponse {
771
+ export interface EthereumSendTransactionRpcResponseData {
817
772
  /**
818
- * Data returned by the `raw_sign` RPC.
773
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
819
774
  */
820
- data: RawSignResponseData;
775
+ caip2: AppsAPI.Caip2;
821
776
 
822
- method: 'raw_sign';
777
+ hash: string;
778
+
779
+ reference_id?: string | null;
780
+
781
+ transaction_id?: string;
782
+
783
+ /**
784
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
785
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
786
+ */
787
+ transaction_request?: UnsignedEthereumTransaction;
788
+
789
+ user_operation_hash?: string;
823
790
  }
824
791
 
825
792
  /**
@@ -855,162 +822,128 @@ export interface EthereumSign7702Authorization {
855
822
  }
856
823
 
857
824
  /**
858
- * An unsigned Ethereum transaction object.
825
+ * Signs an EIP-7702 authorization.
859
826
  */
860
- export interface UnsignedEthereumTransaction {
861
- authorization_list?: Array<EthereumSign7702Authorization>;
827
+ export interface EthereumSign7702AuthorizationRpcInput {
828
+ method: 'eth_sign7702Authorization';
862
829
 
863
830
  /**
864
- * A quantity value that can be either a hex string starting with '0x' or a
865
- * non-negative integer.
831
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
866
832
  */
867
- chain_id?: Quantity;
833
+ params: EthereumSign7702AuthorizationRpcInputParams;
868
834
 
869
- /**
870
- * A hex-encoded string prefixed with '0x'.
871
- */
872
- data?: Hex;
835
+ address?: string;
873
836
 
874
- from?: string;
837
+ chain_type?: 'ethereum';
875
838
 
876
- /**
877
- * A quantity value that can be either a hex string starting with '0x' or a
878
- * non-negative integer.
879
- */
880
- gas_limit?: Quantity;
839
+ wallet_id?: string;
840
+ }
881
841
 
842
+ /**
843
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
844
+ */
845
+ export interface EthereumSign7702AuthorizationRpcInputParams {
882
846
  /**
883
847
  * A quantity value that can be either a hex string starting with '0x' or a
884
848
  * non-negative integer.
885
849
  */
886
- gas_price?: Quantity;
850
+ chain_id: Quantity;
887
851
 
888
- /**
889
- * A quantity value that can be either a hex string starting with '0x' or a
890
- * non-negative integer.
891
- */
892
- max_fee_per_gas?: Quantity;
852
+ contract: string;
893
853
 
894
- /**
895
- * A quantity value that can be either a hex string starting with '0x' or a
896
- * non-negative integer.
897
- */
898
- max_priority_fee_per_gas?: Quantity;
854
+ executor?: 'self';
899
855
 
900
856
  /**
901
857
  * A quantity value that can be either a hex string starting with '0x' or a
902
858
  * non-negative integer.
903
859
  */
904
860
  nonce?: Quantity;
905
-
906
- to?: string;
907
-
908
- type?: 0 | 1 | 2 | 4;
909
-
910
- /**
911
- * A quantity value that can be either a hex string starting with '0x' or a
912
- * non-negative integer.
913
- */
914
- value?: Quantity;
915
861
  }
916
862
 
917
863
  /**
918
- * An ERC-4337 user operation.
864
+ * Response to the EVM `eth_sign7702Authorization` RPC.
919
865
  */
920
- export interface UserOperationInput {
921
- /**
922
- * A hex-encoded string prefixed with '0x'.
923
- */
924
- call_data: Hex;
925
-
926
- /**
927
- * A hex-encoded string prefixed with '0x'.
928
- */
929
- call_gas_limit: Hex;
930
-
931
- /**
932
- * A hex-encoded string prefixed with '0x'.
933
- */
934
- max_fee_per_gas: Hex;
935
-
866
+ export interface EthereumSign7702AuthorizationRpcResponse {
936
867
  /**
937
- * A hex-encoded string prefixed with '0x'.
868
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
938
869
  */
939
- max_priority_fee_per_gas: Hex;
870
+ data: EthereumSign7702AuthorizationRpcResponseData;
940
871
 
941
- /**
942
- * A hex-encoded string prefixed with '0x'.
943
- */
944
- nonce: Hex;
872
+ method: 'eth_sign7702Authorization';
873
+ }
945
874
 
875
+ /**
876
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
877
+ */
878
+ export interface EthereumSign7702AuthorizationRpcResponseData {
946
879
  /**
947
- * A hex-encoded string prefixed with '0x'.
880
+ * A signed EIP-7702 authorization that delegates code execution to a contract
881
+ * address.
948
882
  */
949
- pre_verification_gas: Hex;
883
+ authorization: EthereumSign7702Authorization;
884
+ }
950
885
 
951
- sender: string;
886
+ /**
887
+ * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
888
+ */
889
+ export interface EthereumSignTransactionRpcInput {
890
+ method: 'eth_signTransaction';
952
891
 
953
892
  /**
954
- * A hex-encoded string prefixed with '0x'.
893
+ * Parameters for the EVM `eth_signTransaction` RPC.
955
894
  */
956
- verification_gas_limit: Hex;
957
-
958
- paymaster?: string;
895
+ params: EthereumSignTransactionRpcInputParams;
959
896
 
960
- /**
961
- * A hex-encoded string prefixed with '0x'.
962
- */
963
- paymaster_data?: Hex;
897
+ address?: string;
964
898
 
965
- /**
966
- * A hex-encoded string prefixed with '0x'.
967
- */
968
- paymaster_post_op_gas_limit?: Hex;
899
+ chain_type?: 'ethereum';
969
900
 
970
- /**
971
- * A hex-encoded string prefixed with '0x'.
972
- */
973
- paymaster_verification_gas_limit?: Hex;
901
+ wallet_id?: string;
974
902
  }
975
903
 
976
904
  /**
977
- * The domain parameters for EIP-712 typed data signing.
905
+ * Parameters for the EVM `eth_signTransaction` RPC.
978
906
  */
979
- export type TypedDataDomainInputParams = { [key: string]: unknown };
907
+ export interface EthereumSignTransactionRpcInputParams {
908
+ /**
909
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
910
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
911
+ */
912
+ transaction: UnsignedEthereumTransaction;
913
+ }
980
914
 
981
915
  /**
982
- * A single field definition in an EIP-712 typed data type.
916
+ * Response to the EVM `eth_signTransaction` RPC.
983
917
  */
984
- export interface TypedDataTypeFieldInput {
985
- name: string;
918
+ export interface EthereumSignTransactionRpcResponse {
919
+ /**
920
+ * Data returned by the EVM `eth_signTransaction` RPC.
921
+ */
922
+ data: EthereumSignTransactionRpcResponseData;
986
923
 
987
- type: string;
924
+ method: 'eth_signTransaction';
988
925
  }
989
926
 
990
927
  /**
991
- * The type definitions for EIP-712 typed data signing.
992
- */
993
- export type TypedDataTypesInputParams = { [key: string]: Array<TypedDataTypeFieldInput> };
994
-
995
- /**
996
- * Parameters for the EVM `personal_sign` RPC.
928
+ * Data returned by the EVM `eth_signTransaction` RPC.
997
929
  */
998
- export interface EthereumPersonalSignRpcInputParams {
999
- encoding: 'utf-8' | 'hex';
930
+ export interface EthereumSignTransactionRpcResponseData {
931
+ encoding: 'rlp';
1000
932
 
1001
- message: string;
933
+ signed_transaction: string;
1002
934
  }
1003
935
 
1004
936
  /**
1005
- * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
937
+ * Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data
938
+ * object.
1006
939
  */
1007
- export interface EthereumPersonalSignRpcInput {
1008
- method: 'personal_sign';
940
+ export interface EthereumSignTypedDataRpcInput {
941
+ method: 'eth_signTypedData_v4';
1009
942
 
1010
943
  /**
1011
- * Parameters for the EVM `personal_sign` RPC.
944
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
1012
945
  */
1013
- params: EthereumPersonalSignRpcInputParams;
946
+ params: EthereumSignTypedDataRpcInputParams;
1014
947
 
1015
948
  address?: string;
1016
949
 
@@ -1020,606 +953,672 @@ export interface EthereumPersonalSignRpcInput {
1020
953
  }
1021
954
 
1022
955
  /**
1023
- * Parameters for the EVM `eth_signTransaction` RPC.
956
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
1024
957
  */
1025
- export interface EthereumSignTransactionRpcInputParams {
958
+ export interface EthereumSignTypedDataRpcInputParams {
1026
959
  /**
1027
- * An unsigned Ethereum transaction object.
960
+ * EIP-712 typed data object.
1028
961
  */
1029
- transaction: UnsignedEthereumTransaction;
962
+ typed_data: EthereumTypedDataInput;
1030
963
  }
1031
964
 
1032
965
  /**
1033
- * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
966
+ * Response to the EVM `eth_signTypedData_v4` RPC.
1034
967
  */
1035
- export interface EthereumSignTransactionRpcInput {
1036
- method: 'eth_signTransaction';
1037
-
968
+ export interface EthereumSignTypedDataRpcResponse {
1038
969
  /**
1039
- * Parameters for the EVM `eth_signTransaction` RPC.
970
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
1040
971
  */
1041
- params: EthereumSignTransactionRpcInputParams;
1042
-
1043
- address?: string;
1044
-
1045
- chain_type?: 'ethereum';
972
+ data: EthereumSignTypedDataRpcResponseData;
1046
973
 
1047
- wallet_id?: string;
974
+ method: 'eth_signTypedData_v4';
1048
975
  }
1049
976
 
1050
977
  /**
1051
- * Parameters for the EVM `eth_sendTransaction` RPC.
978
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
1052
979
  */
1053
- export interface EthereumSendTransactionRpcInputParams {
1054
- /**
1055
- * An unsigned Ethereum transaction object.
1056
- */
1057
- transaction: UnsignedEthereumTransaction;
980
+ export interface EthereumSignTypedDataRpcResponseData {
981
+ encoding: 'hex';
982
+
983
+ signature: string;
1058
984
  }
1059
985
 
1060
986
  /**
1061
- * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
987
+ * Executes an RPC method to hash and sign a UserOperation.
1062
988
  */
1063
- export interface EthereumSendTransactionRpcInput {
1064
- /**
1065
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1066
- */
1067
- caip2: AppsAPI.Caip2;
1068
-
1069
- method: 'eth_sendTransaction';
989
+ export interface EthereumSignUserOperationRpcInput {
990
+ method: 'eth_signUserOperation';
1070
991
 
1071
992
  /**
1072
- * Parameters for the EVM `eth_sendTransaction` RPC.
993
+ * Parameters for the EVM `eth_signUserOperation` RPC.
1073
994
  */
1074
- params: EthereumSendTransactionRpcInputParams;
995
+ params: EthereumSignUserOperationRpcInputParams;
1075
996
 
1076
997
  address?: string;
1077
998
 
1078
999
  chain_type?: 'ethereum';
1079
1000
 
1080
- reference_id?: string;
1081
-
1082
- sponsor?: boolean;
1083
-
1084
1001
  wallet_id?: string;
1085
1002
  }
1086
1003
 
1087
1004
  /**
1088
- * EIP-712 typed data object.
1005
+ * Parameters for the EVM `eth_signUserOperation` RPC.
1089
1006
  */
1090
- export interface EthereumTypedDataInput {
1007
+ export interface EthereumSignUserOperationRpcInputParams {
1091
1008
  /**
1092
- * The domain parameters for EIP-712 typed data signing.
1009
+ * A quantity value that can be either a hex string starting with '0x' or a
1010
+ * non-negative integer.
1093
1011
  */
1094
- domain: TypedDataDomainInputParams;
1095
-
1096
- message: { [key: string]: unknown };
1012
+ chain_id: Quantity;
1097
1013
 
1098
- primary_type: string;
1014
+ contract: string;
1099
1015
 
1100
1016
  /**
1101
- * The type definitions for EIP-712 typed data signing.
1017
+ * An ERC-4337 user operation.
1102
1018
  */
1103
- types: TypedDataTypesInputParams;
1019
+ user_operation: UserOperationInput;
1104
1020
  }
1105
1021
 
1106
1022
  /**
1107
- * Parameters for the EVM `eth_signTypedData_v4` RPC.
1023
+ * Response to the EVM `eth_signUserOperation` RPC.
1108
1024
  */
1109
- export interface EthereumSignTypedDataRpcInputParams {
1025
+ export interface EthereumSignUserOperationRpcResponse {
1110
1026
  /**
1111
- * EIP-712 typed data object.
1027
+ * Data returned by the EVM `eth_signUserOperation` RPC.
1112
1028
  */
1113
- typed_data: EthereumTypedDataInput;
1029
+ data: EthereumSignUserOperationRpcResponseData;
1030
+
1031
+ method: 'eth_signUserOperation';
1114
1032
  }
1115
1033
 
1116
1034
  /**
1117
- * Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data
1118
- * object.
1035
+ * Data returned by the EVM `eth_signUserOperation` RPC.
1119
1036
  */
1120
- export interface EthereumSignTypedDataRpcInput {
1121
- method: 'eth_signTypedData_v4';
1037
+ export interface EthereumSignUserOperationRpcResponseData {
1038
+ encoding: 'hex';
1039
+
1040
+ signature: string;
1041
+ }
1122
1042
 
1043
+ /**
1044
+ * EIP-712 typed data object.
1045
+ */
1046
+ export interface EthereumTypedDataInput {
1123
1047
  /**
1124
- * Parameters for the EVM `eth_signTypedData_v4` RPC.
1048
+ * The domain parameters for EIP-712 typed data signing.
1125
1049
  */
1126
- params: EthereumSignTypedDataRpcInputParams;
1050
+ domain: TypedDataDomainInputParams;
1127
1051
 
1128
- address?: string;
1052
+ message: { [key: string]: unknown };
1129
1053
 
1130
- chain_type?: 'ethereum';
1054
+ primary_type: string;
1131
1055
 
1132
- wallet_id?: string;
1056
+ /**
1057
+ * The type definitions for EIP-712 typed data signing.
1058
+ */
1059
+ types: TypedDataTypesInputParams;
1133
1060
  }
1134
1061
 
1135
1062
  /**
1136
- * Parameters for the EVM `secp256k1_sign` RPC.
1063
+ * Exports the private key of the wallet.
1137
1064
  */
1138
- export interface EthereumSecp256k1SignRpcInputParams {
1065
+ export interface ExportPrivateKeyRpcInput {
1066
+ address: string;
1067
+
1068
+ method: 'exportPrivateKey';
1069
+
1139
1070
  /**
1140
- * A hex-encoded string prefixed with '0x'.
1071
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1141
1072
  */
1142
- hash: Hex;
1073
+ params: PrivateKeyExportInput;
1143
1074
  }
1144
1075
 
1145
1076
  /**
1146
- * Signs a raw hash on the secp256k1 curve.
1077
+ * Response to the `exportPrivateKey` RPC.
1147
1078
  */
1148
- export interface EthereumSecp256k1SignRpcInput {
1149
- method: 'secp256k1_sign';
1150
-
1079
+ export interface ExportPrivateKeyRpcResponse {
1151
1080
  /**
1152
- * Parameters for the EVM `secp256k1_sign` RPC.
1081
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1153
1082
  */
1154
- params: EthereumSecp256k1SignRpcInputParams;
1155
-
1156
- address?: string;
1157
-
1158
- chain_type?: 'ethereum';
1083
+ data: PrivateKeyExportInput;
1159
1084
 
1160
- wallet_id?: string;
1085
+ method: 'exportPrivateKey';
1161
1086
  }
1162
1087
 
1163
1088
  /**
1164
- * Parameters for the EVM `eth_sign7702Authorization` RPC.
1089
+ * Exports the seed phrase of the wallet.
1165
1090
  */
1166
- export interface EthereumSign7702AuthorizationRpcInputParams {
1167
- /**
1168
- * A quantity value that can be either a hex string starting with '0x' or a
1169
- * non-negative integer.
1170
- */
1171
- chain_id: Quantity;
1172
-
1173
- contract: string;
1091
+ export interface ExportSeedPhraseRpcInput {
1092
+ address: string;
1174
1093
 
1175
- executor?: 'self';
1094
+ method: 'exportSeedPhrase';
1176
1095
 
1177
1096
  /**
1178
- * A quantity value that can be either a hex string starting with '0x' or a
1179
- * non-negative integer.
1097
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1180
1098
  */
1181
- nonce?: Quantity;
1099
+ params: SeedPhraseExportInput;
1182
1100
  }
1183
1101
 
1184
1102
  /**
1185
- * Signs an EIP-7702 authorization.
1103
+ * Response to the `exportSeedPhrase` RPC.
1186
1104
  */
1187
- export interface EthereumSign7702AuthorizationRpcInput {
1188
- method: 'eth_sign7702Authorization';
1189
-
1105
+ export interface ExportSeedPhraseRpcResponse {
1190
1106
  /**
1191
- * Parameters for the EVM `eth_sign7702Authorization` RPC.
1107
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
1192
1108
  */
1193
- params: EthereumSign7702AuthorizationRpcInputParams;
1194
-
1195
- address?: string;
1196
-
1197
- chain_type?: 'ethereum';
1109
+ data: SeedPhraseExportResponse;
1198
1110
 
1199
- wallet_id?: string;
1111
+ method: 'exportSeedPhrase';
1200
1112
  }
1201
1113
 
1202
1114
  /**
1203
- * Parameters for the EVM `eth_signUserOperation` RPC.
1115
+ * The export type. 'display' is for showing the key to the user in the UI,
1116
+ * 'client' is for exporting to the client application.
1204
1117
  */
1205
- export interface EthereumSignUserOperationRpcInputParams {
1206
- /**
1207
- * A quantity value that can be either a hex string starting with '0x' or a
1208
- * non-negative integer.
1209
- */
1210
- chain_id: Quantity;
1118
+ export type ExportType = 'display' | 'client';
1211
1119
 
1212
- contract: string;
1120
+ /**
1121
+ * The wallet chain types that are not first class chains.
1122
+ */
1123
+ export type ExtendedChainType =
1124
+ | 'cosmos'
1125
+ | 'stellar'
1126
+ | 'sui'
1127
+ | 'aptos'
1128
+ | 'movement'
1129
+ | 'tron'
1130
+ | 'bitcoin-segwit'
1131
+ | 'bitcoin-taproot'
1132
+ | 'pearl'
1133
+ | 'near'
1134
+ | 'ton'
1135
+ | 'starknet'
1136
+ | 'spark';
1137
+
1138
+ /**
1139
+ * The wallet chain types that offer first class support.
1140
+ */
1141
+ export type FirstClassChainType = 'ethereum' | 'solana';
1213
1142
 
1143
+ /**
1144
+ * Request body for looking up a wallet by its blockchain address.
1145
+ */
1146
+ export interface GetByWalletAddressRequestBody {
1214
1147
  /**
1215
- * An ERC-4337 user operation.
1148
+ * A blockchain wallet address (Ethereum or Solana).
1216
1149
  */
1217
- user_operation: UserOperationInput;
1150
+ address: Address;
1218
1151
  }
1219
1152
 
1220
1153
  /**
1221
- * Executes an RPC method to hash and sign a UserOperation.
1154
+ * The input for HD wallets.
1222
1155
  */
1223
- export interface EthereumSignUserOperationRpcInput {
1224
- method: 'eth_signUserOperation';
1225
-
1156
+ export interface HDInitInput {
1226
1157
  /**
1227
- * Parameters for the EVM `eth_signUserOperation` RPC.
1158
+ * The address of the wallet to import.
1228
1159
  */
1229
- params: EthereumSignUserOperationRpcInputParams;
1230
-
1231
- address?: string;
1232
-
1233
- chain_type?: 'ethereum';
1160
+ address: string;
1234
1161
 
1235
- wallet_id?: string;
1236
- }
1162
+ /**
1163
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1164
+ * `solana`.
1165
+ */
1166
+ chain_type: WalletImportSupportedChains;
1237
1167
 
1238
- /**
1239
- * A single call within a batched wallet_sendCalls request.
1240
- */
1241
- export interface EthereumSendCallsCall {
1242
- to: string;
1168
+ /**
1169
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1170
+ */
1171
+ encryption_type: HpkeEncryption;
1243
1172
 
1244
1173
  /**
1245
- * A hex-encoded string prefixed with '0x'.
1174
+ * The entropy type of the wallet to import.
1246
1175
  */
1247
- data?: Hex;
1176
+ entropy_type: 'hd';
1248
1177
 
1249
1178
  /**
1250
- * A quantity value that can be either a hex string starting with '0x' or a
1251
- * non-negative integer.
1179
+ * The index of the wallet to import.
1252
1180
  */
1253
- value?: Quantity;
1181
+ index: number;
1254
1182
  }
1255
1183
 
1256
1184
  /**
1257
- * Parameters for the `wallet_sendCalls` RPC.
1185
+ * A BIP-32 hierarchical deterministic wallet derivation path.
1258
1186
  */
1259
- export interface EthereumSendCallsRpcInputParams {
1260
- calls: Array<EthereumSendCallsCall>;
1261
- }
1187
+ export type HDPath = string;
1262
1188
 
1263
1189
  /**
1264
- * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
1265
- * single atomic transaction.
1190
+ * The submission input for importing an HD wallet.
1266
1191
  */
1267
- export interface EthereumSendCallsRpcInput {
1192
+ export interface HDSubmitInput {
1268
1193
  /**
1269
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1194
+ * The address of the wallet to import.
1270
1195
  */
1271
- caip2: AppsAPI.Caip2;
1196
+ address: string;
1272
1197
 
1273
- method: 'wallet_sendCalls';
1198
+ /**
1199
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1200
+ * `solana`.
1201
+ */
1202
+ chain_type: WalletImportSupportedChains;
1274
1203
 
1275
1204
  /**
1276
- * Parameters for the `wallet_sendCalls` RPC.
1205
+ * The encrypted entropy of the wallet to import.
1277
1206
  */
1278
- params: EthereumSendCallsRpcInputParams;
1207
+ ciphertext: string;
1279
1208
 
1280
- address?: string;
1209
+ /**
1210
+ * The base64-encoded encapsulated key that was generated during encryption, for
1211
+ * use during decryption inside the TEE.
1212
+ */
1213
+ encapsulated_key: string;
1281
1214
 
1282
- chain_type?: 'ethereum';
1215
+ /**
1216
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1217
+ */
1218
+ encryption_type: HpkeEncryption;
1283
1219
 
1284
- sponsor?: boolean;
1220
+ /**
1221
+ * The entropy type of the wallet to import.
1222
+ */
1223
+ entropy_type: 'hd';
1285
1224
 
1286
- wallet_id?: string;
1225
+ /**
1226
+ * The index of the wallet to import.
1227
+ */
1228
+ index: number;
1229
+
1230
+ /**
1231
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
1232
+ * importing wallets encrypted by external providers that use different HPKE
1233
+ * configurations.
1234
+ */
1235
+ hpke_config?: HpkeImportConfig;
1287
1236
  }
1288
1237
 
1289
1238
  /**
1290
- * Request body for Ethereum wallet RPC operations, discriminated by method.
1239
+ * The AEAD algorithm used for HPKE encryption.
1291
1240
  */
1292
- export type EthereumRpcInput =
1293
- | EthereumSignTransactionRpcInput
1294
- | EthereumSendTransactionRpcInput
1295
- | EthereumPersonalSignRpcInput
1296
- | EthereumSignTypedDataRpcInput
1297
- | EthereumSecp256k1SignRpcInput
1298
- | EthereumSign7702AuthorizationRpcInput
1299
- | EthereumSignUserOperationRpcInput
1300
- | EthereumSendCallsRpcInput;
1241
+ export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
1301
1242
 
1302
1243
  /**
1303
- * Data returned by the EVM `personal_sign` RPC.
1244
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1304
1245
  */
1305
- export interface EthereumPersonalSignRpcResponseData {
1306
- encoding: 'hex';
1307
-
1308
- signature: string;
1309
- }
1246
+ export type HpkeEncryption = 'HPKE';
1310
1247
 
1311
1248
  /**
1312
- * Response to the EVM `personal_sign` RPC.
1249
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
1250
+ * importing wallets encrypted by external providers that use different HPKE
1251
+ * configurations.
1313
1252
  */
1314
- export interface EthereumPersonalSignRpcResponse {
1253
+ export interface HpkeImportConfig {
1315
1254
  /**
1316
- * Data returned by the EVM `personal_sign` RPC.
1255
+ * Additional Authenticated Data (AAD) used during encryption. Should be
1256
+ * base64-encoded bytes.
1317
1257
  */
1318
- data: EthereumPersonalSignRpcResponseData;
1258
+ aad?: string;
1319
1259
 
1320
- method: 'personal_sign';
1260
+ /**
1261
+ * The AEAD algorithm used for HPKE encryption.
1262
+ */
1263
+ aead_algorithm?: HpkeAeadAlgorithm;
1264
+
1265
+ /**
1266
+ * Application-specific context information (INFO) used during HPKE encryption.
1267
+ * Should be base64-encoded bytes.
1268
+ */
1269
+ info?: string;
1321
1270
  }
1322
1271
 
1323
1272
  /**
1324
- * Data returned by the EVM `eth_signTransaction` RPC.
1273
+ * A hex-encoded string prefixed with '0x'.
1325
1274
  */
1326
- export interface EthereumSignTransactionRpcResponseData {
1327
- encoding: 'rlp';
1328
-
1329
- signed_transaction: string;
1330
- }
1275
+ export type Hex = string;
1331
1276
 
1332
1277
  /**
1333
- * Response to the EVM `eth_signTransaction` RPC.
1278
+ * Source for a transfer identified by a named asset (e.g. "usdc", "eth"). Use this
1279
+ * variant for first-class assets maintained by Privy.
1334
1280
  */
1335
- export interface EthereumSignTransactionRpcResponse {
1281
+ export interface NamedTokenTransferSource {
1336
1282
  /**
1337
- * Data returned by the EVM `eth_signTransaction` RPC.
1283
+ * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
1284
+ * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
1285
+ * etc.).
1338
1286
  */
1339
- data: EthereumSignTransactionRpcResponseData;
1340
-
1341
- method: 'eth_signTransaction';
1342
- }
1287
+ amount: string;
1343
1288
 
1344
- /**
1345
- * Data returned by the EVM `eth_sendTransaction` RPC.
1346
- */
1347
- export interface EthereumSendTransactionRpcResponseData {
1348
1289
  /**
1349
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1290
+ * The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
1291
+ * (native Ethereum), 'sol' (native Solana).
1350
1292
  */
1351
- caip2: AppsAPI.Caip2;
1352
-
1353
- hash: string;
1354
-
1355
- reference_id?: string | null;
1356
-
1357
- transaction_id?: string;
1293
+ asset: string;
1358
1294
 
1359
1295
  /**
1360
- * An unsigned Ethereum transaction object.
1296
+ * The blockchain network on which to perform the transfer. Supported chains
1297
+ * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
1298
+ * respective testnets.
1361
1299
  */
1362
- transaction_request?: UnsignedEthereumTransaction;
1363
-
1364
- user_operation_hash?: string;
1300
+ chain: string;
1365
1301
  }
1366
1302
 
1367
1303
  /**
1368
- * Response to the EVM `eth_sendTransaction` RPC.
1304
+ * A Spark token output with its previous transaction data.
1369
1305
  */
1370
- export interface EthereumSendTransactionRpcResponse {
1306
+ export interface OutputWithPreviousTransactionData {
1307
+ previous_transaction_hash: string;
1308
+
1309
+ previous_transaction_vout: number;
1310
+
1371
1311
  /**
1372
- * Data returned by the EVM `eth_sendTransaction` RPC.
1312
+ * A Spark token output.
1373
1313
  */
1374
- data: EthereumSendTransactionRpcResponseData;
1375
-
1376
- method: 'eth_sendTransaction';
1314
+ output?: TokenOutput;
1377
1315
  }
1378
1316
 
1379
1317
  /**
1380
- * Data returned by the EVM `eth_signTypedData_v4` RPC.
1318
+ * An optional list of up to one policy ID to enforce on the wallet.
1381
1319
  */
1382
- export interface EthereumSignTypedDataRpcResponseData {
1383
- encoding: 'hex';
1384
-
1385
- signature: string;
1386
- }
1320
+ export type PolicyInput = Array<string>;
1387
1321
 
1388
1322
  /**
1389
- * Response to the EVM `eth_signTypedData_v4` RPC.
1323
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1390
1324
  */
1391
- export interface EthereumSignTypedDataRpcResponse {
1325
+ export interface PrivateKeyExportInput {
1392
1326
  /**
1393
- * Data returned by the EVM `eth_signTypedData_v4` RPC.
1327
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1394
1328
  */
1395
- data: EthereumSignTypedDataRpcResponseData;
1329
+ encryption_type: HpkeEncryption;
1396
1330
 
1397
- method: 'eth_signTypedData_v4';
1331
+ /**
1332
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
1333
+ * format.
1334
+ */
1335
+ recipient_public_key: RecipientPublicKey;
1336
+
1337
+ export_seed_phrase?: boolean;
1338
+
1339
+ /**
1340
+ * The export type. 'display' is for showing the key to the user in the UI,
1341
+ * 'client' is for exporting to the client application.
1342
+ */
1343
+ export_type?: ExportType;
1398
1344
  }
1399
1345
 
1400
1346
  /**
1401
- * Data returned by the EVM `secp256k1_sign` RPC.
1347
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
1402
1348
  */
1403
- export interface EthereumSecp256k1SignRpcResponseData {
1404
- encoding: 'hex';
1349
+ export interface PrivateKeyExportResponse {
1350
+ ciphertext: string;
1351
+
1352
+ encapsulated_key: string;
1405
1353
 
1406
1354
  /**
1407
- * A hex-encoded string prefixed with '0x'.
1355
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1408
1356
  */
1409
- signature: Hex;
1357
+ encryption_type: HpkeEncryption;
1410
1358
  }
1411
1359
 
1412
1360
  /**
1413
- * Response to the EVM `secp256k1_sign` RPC.
1361
+ * The input for private key wallets.
1414
1362
  */
1415
- export interface EthereumSecp256k1SignRpcResponse {
1363
+ export interface PrivateKeyInitInput {
1416
1364
  /**
1417
- * Data returned by the EVM `secp256k1_sign` RPC.
1365
+ * The address of the wallet to import.
1418
1366
  */
1419
- data: EthereumSecp256k1SignRpcResponseData;
1367
+ address: string;
1420
1368
 
1421
- method: 'secp256k1_sign';
1422
- }
1369
+ /**
1370
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1371
+ * `solana`.
1372
+ */
1373
+ chain_type: WalletImportSupportedChains;
1423
1374
 
1424
- /**
1425
- * Data returned by the EVM `eth_sign7702Authorization` RPC.
1426
- */
1427
- export interface EthereumSign7702AuthorizationRpcResponseData {
1428
1375
  /**
1429
- * A signed EIP-7702 authorization that delegates code execution to a contract
1430
- * address.
1376
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1431
1377
  */
1432
- authorization: EthereumSign7702Authorization;
1378
+ encryption_type: HpkeEncryption;
1379
+
1380
+ entropy_type: 'private-key';
1433
1381
  }
1434
1382
 
1435
1383
  /**
1436
- * Response to the EVM `eth_sign7702Authorization` RPC.
1384
+ * The submission input for importing a private key wallet.
1437
1385
  */
1438
- export interface EthereumSign7702AuthorizationRpcResponse {
1386
+ export interface PrivateKeySubmitInput {
1439
1387
  /**
1440
- * Data returned by the EVM `eth_sign7702Authorization` RPC.
1388
+ * The address of the wallet to import.
1441
1389
  */
1442
- data: EthereumSign7702AuthorizationRpcResponseData;
1390
+ address: string;
1443
1391
 
1444
- method: 'eth_sign7702Authorization';
1392
+ /**
1393
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1394
+ * `solana`.
1395
+ */
1396
+ chain_type: WalletImportSupportedChains;
1397
+
1398
+ /**
1399
+ * The encrypted entropy of the wallet to import.
1400
+ */
1401
+ ciphertext: string;
1402
+
1403
+ /**
1404
+ * The base64-encoded encapsulated key that was generated during encryption, for
1405
+ * use during decryption inside the TEE.
1406
+ */
1407
+ encapsulated_key: string;
1408
+
1409
+ /**
1410
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1411
+ */
1412
+ encryption_type: HpkeEncryption;
1413
+
1414
+ entropy_type: 'private-key';
1415
+
1416
+ /**
1417
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
1418
+ * importing wallets encrypted by external providers that use different HPKE
1419
+ * configurations.
1420
+ */
1421
+ hpke_config?: HpkeImportConfig;
1445
1422
  }
1446
1423
 
1447
1424
  /**
1448
- * Data returned by the EVM `eth_signUserOperation` RPC.
1425
+ * A quantity value that can be either a hex string starting with '0x' or a
1426
+ * non-negative integer.
1449
1427
  */
1450
- export interface EthereumSignUserOperationRpcResponseData {
1451
- encoding: 'hex';
1428
+ export type Quantity = Hex | number;
1452
1429
 
1453
- signature: string;
1454
- }
1430
+ /**
1431
+ * Encoding scheme for bytes in the `raw_sign` RPC.
1432
+ */
1433
+ export type RawSignBytesEncoding = 'utf-8' | 'hex' | 'base64';
1455
1434
 
1456
1435
  /**
1457
- * Response to the EVM `eth_signUserOperation` RPC.
1436
+ * Hash function for bytes in the `raw_sign` RPC.
1458
1437
  */
1459
- export interface EthereumSignUserOperationRpcResponse {
1438
+ export type RawSignBytesHashFunction = 'keccak256' | 'sha256' | 'blake2b256';
1439
+
1440
+ /**
1441
+ * Parameters for hashing and signing bytes with the `raw_sign` RPC.
1442
+ */
1443
+ export interface RawSignBytesParams {
1460
1444
  /**
1461
- * Data returned by the EVM `eth_signUserOperation` RPC.
1445
+ * The bytes to hash and sign.
1462
1446
  */
1463
- data: EthereumSignUserOperationRpcResponseData;
1447
+ bytes: string;
1464
1448
 
1465
- method: 'eth_signUserOperation';
1449
+ /**
1450
+ * Encoding scheme for bytes in the `raw_sign` RPC.
1451
+ */
1452
+ encoding: RawSignBytesEncoding;
1453
+
1454
+ /**
1455
+ * Hash function for bytes in the `raw_sign` RPC.
1456
+ */
1457
+ hash_function: RawSignBytesHashFunction;
1466
1458
  }
1467
1459
 
1468
1460
  /**
1469
- * Data returned by the `wallet_sendCalls` RPC.
1461
+ * Parameters for signing a pre-computed hash with the `raw_sign` RPC.
1470
1462
  */
1471
- export interface EthereumSendCallsRpcResponseData {
1463
+ export interface RawSignHashParams {
1472
1464
  /**
1473
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1465
+ * A hex-encoded string prefixed with '0x'.
1474
1466
  */
1475
- caip2: AppsAPI.Caip2;
1476
-
1477
- transaction_id: string;
1467
+ hash: Hex;
1478
1468
  }
1479
1469
 
1480
1470
  /**
1481
- * Response to the `wallet_sendCalls` RPC.
1471
+ * Provide either `hash` (to sign a pre-computed hash) OR `bytes`, `encoding`, and
1472
+ * `hash_function` (to hash and then sign). These options are mutually exclusive.
1482
1473
  */
1483
- export interface EthereumSendCallsRpcResponse {
1474
+ export interface RawSignInput {
1484
1475
  /**
1485
- * Data returned by the `wallet_sendCalls` RPC.
1476
+ * Parameters for the `raw_sign` RPC.
1486
1477
  */
1487
- data: EthereumSendCallsRpcResponseData;
1488
-
1489
- method: 'wallet_sendCalls';
1478
+ params: RawSignInputParams;
1490
1479
  }
1491
1480
 
1492
1481
  /**
1493
- * Response body for Ethereum wallet RPC operations, discriminated by method.
1482
+ * Parameters for the `raw_sign` RPC.
1494
1483
  */
1495
- export type EthereumRpcResponse =
1496
- | EthereumPersonalSignRpcResponse
1497
- | EthereumSignTypedDataRpcResponse
1498
- | EthereumSignTransactionRpcResponse
1499
- | EthereumSendTransactionRpcResponse
1500
- | EthereumSignUserOperationRpcResponse
1501
- | EthereumSign7702AuthorizationRpcResponse
1502
- | EthereumSecp256k1SignRpcResponse
1503
- | EthereumSendCallsRpcResponse;
1484
+ export type RawSignInputParams = RawSignHashParams | RawSignBytesParams;
1504
1485
 
1505
1486
  /**
1506
- * Parameters for the SVM `signTransaction` RPC.
1487
+ * Response to the `raw_sign` RPC.
1507
1488
  */
1508
- export interface SolanaSignTransactionRpcInputParams {
1509
- encoding: 'base64';
1489
+ export interface RawSignResponse {
1490
+ /**
1491
+ * Data returned by the `raw_sign` RPC.
1492
+ */
1493
+ data: RawSignResponseData;
1510
1494
 
1511
- transaction: string;
1495
+ method: 'raw_sign';
1512
1496
  }
1513
1497
 
1514
1498
  /**
1515
- * Executes the SVM `signTransaction` RPC to sign a transaction.
1499
+ * Data returned by the `raw_sign` RPC.
1516
1500
  */
1517
- export interface SolanaSignTransactionRpcInput {
1518
- method: 'signTransaction';
1501
+ export interface RawSignResponseData {
1502
+ encoding: 'hex';
1519
1503
 
1520
1504
  /**
1521
- * Parameters for the SVM `signTransaction` RPC.
1505
+ * A hex-encoded string prefixed with '0x'.
1522
1506
  */
1523
- params: SolanaSignTransactionRpcInputParams;
1524
-
1525
- address?: string;
1526
-
1527
- chain_type?: 'solana';
1528
-
1529
- wallet_id?: string;
1507
+ signature: Hex;
1530
1508
  }
1531
1509
 
1532
1510
  /**
1533
- * Parameters for the SVM `signAndSendTransaction` RPC.
1511
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
1512
+ * format.
1534
1513
  */
1535
- export interface SolanaSignAndSendTransactionRpcInputParams {
1536
- encoding: 'base64';
1537
-
1538
- transaction: string;
1539
- }
1514
+ export type RecipientPublicKey = string;
1540
1515
 
1541
1516
  /**
1542
- * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
1543
- * transaction.
1517
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1544
1518
  */
1545
- export interface SolanaSignAndSendTransactionRpcInput {
1519
+ export interface SeedPhraseExportInput {
1546
1520
  /**
1547
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1521
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1548
1522
  */
1549
- caip2: AppsAPI.Caip2;
1550
-
1551
- method: 'signAndSendTransaction';
1523
+ encryption_type: HpkeEncryption;
1552
1524
 
1553
1525
  /**
1554
- * Parameters for the SVM `signAndSendTransaction` RPC.
1526
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
1527
+ * format.
1555
1528
  */
1556
- params: SolanaSignAndSendTransactionRpcInputParams;
1529
+ recipient_public_key: RecipientPublicKey;
1557
1530
 
1558
- address?: string;
1531
+ export_seed_phrase?: boolean;
1559
1532
 
1560
- chain_type?: 'solana';
1533
+ /**
1534
+ * The export type. 'display' is for showing the key to the user in the UI,
1535
+ * 'client' is for exporting to the client application.
1536
+ */
1537
+ export_type?: ExportType;
1538
+ }
1561
1539
 
1562
- reference_id?: string;
1540
+ /**
1541
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
1542
+ */
1543
+ export interface SeedPhraseExportResponse {
1544
+ ciphertext: string;
1563
1545
 
1564
- sponsor?: boolean;
1546
+ encapsulated_key: string;
1565
1547
 
1566
- wallet_id?: string;
1548
+ /**
1549
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1550
+ */
1551
+ encryption_type: HpkeEncryption;
1567
1552
  }
1568
1553
 
1569
1554
  /**
1570
- * Parameters for the SVM `signMessage` RPC.
1555
+ * The signing algorithm used by the wallet.
1571
1556
  */
1572
- export interface SolanaSignMessageRpcInputParams {
1573
- encoding: 'base64';
1557
+ export type SigningAlgorithm = 'ECDSA' | 'EdDSA' | 'Schnorr';
1574
1558
 
1575
- message: string;
1576
- }
1559
+ /**
1560
+ * Request body for Solana wallet RPC operations, discriminated by method.
1561
+ */
1562
+ export type SolanaRpcInput =
1563
+ | SolanaSignTransactionRpcInput
1564
+ | SolanaSignAndSendTransactionRpcInput
1565
+ | SolanaSignMessageRpcInput;
1577
1566
 
1578
1567
  /**
1579
- * Executes the SVM `signMessage` RPC to sign a message.
1568
+ * Response body for Solana wallet RPC operations, discriminated by method.
1580
1569
  */
1581
- export interface SolanaSignMessageRpcInput {
1582
- method: 'signMessage';
1570
+ export type SolanaRpcResponse =
1571
+ | SolanaSignMessageRpcResponse
1572
+ | SolanaSignTransactionRpcResponse
1573
+ | SolanaSignAndSendTransactionRpcResponse;
1574
+
1575
+ /**
1576
+ * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
1577
+ * transaction.
1578
+ */
1579
+ export interface SolanaSignAndSendTransactionRpcInput {
1580
+ /**
1581
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1582
+ */
1583
+ caip2: AppsAPI.Caip2;
1584
+
1585
+ method: 'signAndSendTransaction';
1583
1586
 
1584
1587
  /**
1585
- * Parameters for the SVM `signMessage` RPC.
1588
+ * Parameters for the SVM `signAndSendTransaction` RPC.
1586
1589
  */
1587
- params: SolanaSignMessageRpcInputParams;
1590
+ params: SolanaSignAndSendTransactionRpcInputParams;
1588
1591
 
1589
1592
  address?: string;
1590
1593
 
1591
1594
  chain_type?: 'solana';
1592
1595
 
1596
+ reference_id?: string;
1597
+
1598
+ sponsor?: boolean;
1599
+
1593
1600
  wallet_id?: string;
1594
1601
  }
1595
1602
 
1596
1603
  /**
1597
- * Request body for Solana wallet RPC operations, discriminated by method.
1598
- */
1599
- export type SolanaRpcInput =
1600
- | SolanaSignTransactionRpcInput
1601
- | SolanaSignAndSendTransactionRpcInput
1602
- | SolanaSignMessageRpcInput;
1603
-
1604
- /**
1605
- * Data returned by the SVM `signTransaction` RPC.
1604
+ * Parameters for the SVM `signAndSendTransaction` RPC.
1606
1605
  */
1607
- export interface SolanaSignTransactionRpcResponseData {
1606
+ export interface SolanaSignAndSendTransactionRpcInputParams {
1608
1607
  encoding: 'base64';
1609
1608
 
1610
- signed_transaction: string;
1609
+ transaction: string;
1611
1610
  }
1612
1611
 
1613
1612
  /**
1614
- * Response to the SVM `signTransaction` RPC.
1613
+ * Response to the SVM `signAndSendTransaction` RPC.
1615
1614
  */
1616
- export interface SolanaSignTransactionRpcResponse {
1615
+ export interface SolanaSignAndSendTransactionRpcResponse {
1617
1616
  /**
1618
- * Data returned by the SVM `signTransaction` RPC.
1617
+ * Data returned by the SVM `signAndSendTransaction` RPC.
1619
1618
  */
1620
- data: SolanaSignTransactionRpcResponseData;
1619
+ data: SolanaSignAndSendTransactionRpcResponseData;
1621
1620
 
1622
- method: 'signTransaction';
1621
+ method: 'signAndSendTransaction';
1623
1622
  }
1624
1623
 
1625
1624
  /**
@@ -1639,24 +1638,30 @@ export interface SolanaSignAndSendTransactionRpcResponseData {
1639
1638
  }
1640
1639
 
1641
1640
  /**
1642
- * Response to the SVM `signAndSendTransaction` RPC.
1641
+ * Executes the SVM `signMessage` RPC to sign a message.
1643
1642
  */
1644
- export interface SolanaSignAndSendTransactionRpcResponse {
1643
+ export interface SolanaSignMessageRpcInput {
1644
+ method: 'signMessage';
1645
+
1645
1646
  /**
1646
- * Data returned by the SVM `signAndSendTransaction` RPC.
1647
+ * Parameters for the SVM `signMessage` RPC.
1647
1648
  */
1648
- data: SolanaSignAndSendTransactionRpcResponseData;
1649
+ params: SolanaSignMessageRpcInputParams;
1649
1650
 
1650
- method: 'signAndSendTransaction';
1651
+ address?: string;
1652
+
1653
+ chain_type?: 'solana';
1654
+
1655
+ wallet_id?: string;
1651
1656
  }
1652
1657
 
1653
1658
  /**
1654
- * Data returned by the SVM `signMessage` RPC.
1659
+ * Parameters for the SVM `signMessage` RPC.
1655
1660
  */
1656
- export interface SolanaSignMessageRpcResponseData {
1661
+ export interface SolanaSignMessageRpcInputParams {
1657
1662
  encoding: 'base64';
1658
1663
 
1659
- signature: string;
1664
+ message: string;
1660
1665
  }
1661
1666
 
1662
1667
  /**
@@ -1672,182 +1677,277 @@ export interface SolanaSignMessageRpcResponse {
1672
1677
  }
1673
1678
 
1674
1679
  /**
1675
- * Response body for Solana wallet RPC operations, discriminated by method.
1680
+ * Data returned by the SVM `signMessage` RPC.
1676
1681
  */
1677
- export type SolanaRpcResponse =
1678
- | SolanaSignMessageRpcResponse
1679
- | SolanaSignTransactionRpcResponse
1680
- | SolanaSignAndSendTransactionRpcResponse;
1682
+ export interface SolanaSignMessageRpcResponseData {
1683
+ encoding: 'base64';
1681
1684
 
1682
- /**
1683
- * The Spark network.
1684
- */
1685
- export type SparkNetwork = 'MAINNET' | 'REGTEST';
1685
+ signature: string;
1686
+ }
1686
1687
 
1687
1688
  /**
1688
- * A Spark signing keyshare.
1689
+ * Executes the SVM `signTransaction` RPC to sign a transaction.
1689
1690
  */
1690
- export interface SparkSigningKeyshare {
1691
- owner_identifiers: Array<string>;
1691
+ export interface SolanaSignTransactionRpcInput {
1692
+ method: 'signTransaction';
1692
1693
 
1693
- public_key: string;
1694
+ /**
1695
+ * Parameters for the SVM `signTransaction` RPC.
1696
+ */
1697
+ params: SolanaSignTransactionRpcInputParams;
1694
1698
 
1695
- public_shares: { [key: string]: string };
1699
+ address?: string;
1696
1700
 
1697
- threshold: number;
1701
+ chain_type?: 'solana';
1698
1702
 
1699
- updated_time: string;
1703
+ wallet_id?: string;
1700
1704
  }
1701
1705
 
1702
1706
  /**
1703
- * A Spark wallet leaf node.
1707
+ * Parameters for the SVM `signTransaction` RPC.
1704
1708
  */
1705
- export interface SparkWalletLeaf {
1706
- id: string;
1709
+ export interface SolanaSignTransactionRpcInputParams {
1710
+ encoding: 'base64';
1711
+
1712
+ transaction: string;
1713
+ }
1707
1714
 
1715
+ /**
1716
+ * Response to the SVM `signTransaction` RPC.
1717
+ */
1718
+ export interface SolanaSignTransactionRpcResponse {
1708
1719
  /**
1709
- * The Spark network.
1720
+ * Data returned by the SVM `signTransaction` RPC.
1710
1721
  */
1711
- network: SparkNetwork;
1712
-
1713
- node_tx: string;
1722
+ data: SolanaSignTransactionRpcResponseData;
1714
1723
 
1715
- owner_identity_public_key: string;
1724
+ method: 'signTransaction';
1725
+ }
1716
1726
 
1717
- refund_tx: string;
1727
+ /**
1728
+ * Data returned by the SVM `signTransaction` RPC.
1729
+ */
1730
+ export interface SolanaSignTransactionRpcResponseData {
1731
+ encoding: 'base64';
1718
1732
 
1719
- status: string;
1733
+ signed_transaction: string;
1734
+ }
1720
1735
 
1721
- tree_id: string;
1736
+ /**
1737
+ * The derivation strategy used for Solana wallets.
1738
+ */
1739
+ export type SolanaWalletDerivationStrategy = 'ENTROPY_TO_SEED' | 'ENTROPY_TO_MNEMONIC_TO_SEED';
1722
1740
 
1723
- value: number;
1741
+ /**
1742
+ * The balance of a Spark wallet.
1743
+ */
1744
+ export interface SparkBalance {
1745
+ balance: string;
1724
1746
 
1725
- verifying_public_key: string;
1747
+ token_balances: { [key: string]: SparkTokenBalance };
1748
+ }
1726
1749
 
1727
- vout: number;
1750
+ /**
1751
+ * Claims a static deposit into the Spark wallet.
1752
+ */
1753
+ export interface SparkClaimStaticDepositRpcInput {
1754
+ method: 'claimStaticDeposit';
1728
1755
 
1729
- parent_node_id?: string;
1756
+ /**
1757
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1758
+ */
1759
+ params: SparkClaimStaticDepositRpcInputParams;
1730
1760
 
1731
1761
  /**
1732
- * A Spark signing keyshare.
1762
+ * The Spark network.
1733
1763
  */
1734
- signing_keyshare?: SparkSigningKeyshare;
1764
+ network?: SparkNetwork;
1735
1765
  }
1736
1766
 
1737
1767
  /**
1738
- * A Spark transfer leaf.
1768
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1739
1769
  */
1740
- export interface SparkTransferLeaf {
1741
- intermediate_refund_tx: string;
1742
-
1743
- secret_cipher: string;
1770
+ export interface SparkClaimStaticDepositRpcInputParams {
1771
+ credit_amount_sats: number;
1744
1772
 
1745
1773
  signature: string;
1746
1774
 
1775
+ transaction_id: string;
1776
+
1777
+ output_index?: number;
1778
+ }
1779
+
1780
+ /**
1781
+ * Response to the Spark `claimStaticDeposit` RPC.
1782
+ */
1783
+ export interface SparkClaimStaticDepositRpcResponse {
1784
+ method: 'claimStaticDeposit';
1785
+
1747
1786
  /**
1748
- * A Spark wallet leaf node.
1787
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1749
1788
  */
1750
- leaf?: SparkWalletLeaf;
1789
+ data?: SparkClaimStaticDepositRpcResponseData;
1751
1790
  }
1752
1791
 
1753
1792
  /**
1754
- * A Spark transfer.
1793
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1755
1794
  */
1756
- export interface SparkTransfer {
1757
- id: string;
1795
+ export interface SparkClaimStaticDepositRpcResponseData {
1796
+ transfer_id: string;
1797
+ }
1758
1798
 
1759
- leaves: Array<SparkTransferLeaf>;
1799
+ /**
1800
+ * Creates a Lightning invoice for the Spark wallet.
1801
+ */
1802
+ export interface SparkCreateLightningInvoiceRpcInput {
1803
+ method: 'createLightningInvoice';
1760
1804
 
1761
- receiver_identity_public_key: string;
1805
+ /**
1806
+ * Parameters for the Spark `createLightningInvoice` RPC.
1807
+ */
1808
+ params: SparkCreateLightningInvoiceRpcInputParams;
1762
1809
 
1763
- sender_identity_public_key: string;
1810
+ /**
1811
+ * The Spark network.
1812
+ */
1813
+ network?: SparkNetwork;
1814
+ }
1764
1815
 
1765
- status: string;
1816
+ /**
1817
+ * Parameters for the Spark `createLightningInvoice` RPC.
1818
+ */
1819
+ export interface SparkCreateLightningInvoiceRpcInputParams {
1820
+ amount_sats: number;
1766
1821
 
1767
- total_value: number;
1822
+ description_hash?: string;
1768
1823
 
1769
- transfer_direction: string;
1770
-
1771
- type: string;
1824
+ expiry_seconds?: number;
1772
1825
 
1773
- created_time?: string;
1826
+ include_spark_address?: boolean;
1774
1827
 
1775
- expiry_time?: string;
1828
+ memo?: string;
1776
1829
 
1777
- updated_time?: string;
1830
+ receiver_identity_pubkey?: string;
1778
1831
  }
1779
1832
 
1780
1833
  /**
1781
- * Metadata for a Spark user token.
1834
+ * Response to the Spark `createLightningInvoice` RPC.
1782
1835
  */
1783
- export interface SparkUserTokenMetadata {
1784
- decimals: number;
1836
+ export interface SparkCreateLightningInvoiceRpcResponse {
1837
+ method: 'createLightningInvoice';
1785
1838
 
1786
- max_supply: string;
1839
+ /**
1840
+ * A Spark Lightning receive request.
1841
+ */
1842
+ data?: SparkLightningReceiveRequest;
1843
+ }
1787
1844
 
1788
- raw_token_identifier: string;
1845
+ /**
1846
+ * Gets the balance of the Spark wallet.
1847
+ */
1848
+ export interface SparkGetBalanceRpcInput {
1849
+ method: 'getBalance';
1789
1850
 
1790
- token_name: string;
1851
+ /**
1852
+ * The Spark network.
1853
+ */
1854
+ network?: SparkNetwork;
1855
+ }
1791
1856
 
1792
- token_public_key: string;
1857
+ /**
1858
+ * Response to the Spark `getBalance` RPC.
1859
+ */
1860
+ export interface SparkGetBalanceRpcResponse {
1861
+ method: 'getBalance';
1793
1862
 
1794
- token_ticker: string;
1863
+ /**
1864
+ * The balance of a Spark wallet.
1865
+ */
1866
+ data?: SparkBalance;
1795
1867
  }
1796
1868
 
1797
1869
  /**
1798
- * Balance of a Spark token.
1870
+ * Gets a quote for claiming a static deposit.
1799
1871
  */
1800
- export interface SparkTokenBalance {
1801
- balance: string;
1872
+ export interface SparkGetClaimStaticDepositQuoteRpcInput {
1873
+ method: 'getClaimStaticDepositQuote';
1802
1874
 
1803
1875
  /**
1804
- * Metadata for a Spark user token.
1876
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1805
1877
  */
1806
- token_metadata: SparkUserTokenMetadata;
1878
+ params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1879
+
1880
+ /**
1881
+ * The Spark network.
1882
+ */
1883
+ network?: SparkNetwork;
1807
1884
  }
1808
1885
 
1809
1886
  /**
1810
- * The balance of a Spark wallet.
1887
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1811
1888
  */
1812
- export interface SparkBalance {
1813
- balance: string;
1889
+ export interface SparkGetClaimStaticDepositQuoteRpcInputParams {
1890
+ transaction_id: string;
1814
1891
 
1815
- token_balances: { [key: string]: SparkTokenBalance };
1892
+ output_index?: number;
1816
1893
  }
1817
1894
 
1818
1895
  /**
1819
- * A Spark token output.
1896
+ * Response to the Spark `getClaimStaticDepositQuote` RPC.
1820
1897
  */
1821
- export interface TokenOutput {
1822
- owner_public_key: string;
1823
-
1824
- token_amount: string;
1898
+ export interface SparkGetClaimStaticDepositQuoteRpcResponse {
1899
+ method: 'getClaimStaticDepositQuote';
1825
1900
 
1826
- id?: string;
1901
+ /**
1902
+ * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1903
+ */
1904
+ data?: SparkGetClaimStaticDepositQuoteRpcResponseData;
1905
+ }
1827
1906
 
1828
- revocation_commitment?: string;
1907
+ /**
1908
+ * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1909
+ */
1910
+ export interface SparkGetClaimStaticDepositQuoteRpcResponseData {
1911
+ credit_amount_sats: number;
1829
1912
 
1830
- token_identifier?: string;
1913
+ network: string;
1831
1914
 
1832
- token_public_key?: string;
1915
+ output_index: number;
1833
1916
 
1834
- withdraw_bond_sats?: number;
1917
+ signature: string;
1835
1918
 
1836
- withdraw_relative_block_locktime?: number;
1919
+ transaction_id: string;
1837
1920
  }
1838
1921
 
1839
1922
  /**
1840
- * A Spark token output with its previous transaction data.
1923
+ * Gets a static deposit address for the Spark wallet.
1841
1924
  */
1842
- export interface OutputWithPreviousTransactionData {
1843
- previous_transaction_hash: string;
1925
+ export interface SparkGetStaticDepositAddressRpcInput {
1926
+ method: 'getStaticDepositAddress';
1844
1927
 
1845
- previous_transaction_vout: number;
1928
+ /**
1929
+ * The Spark network.
1930
+ */
1931
+ network?: SparkNetwork;
1932
+ }
1933
+
1934
+ /**
1935
+ * Response to the Spark `getStaticDepositAddress` RPC.
1936
+ */
1937
+ export interface SparkGetStaticDepositAddressRpcResponse {
1938
+ method: 'getStaticDepositAddress';
1846
1939
 
1847
1940
  /**
1848
- * A Spark token output.
1941
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1849
1942
  */
1850
- output?: TokenOutput;
1943
+ data?: SparkGetStaticDepositAddressRpcResponseData;
1944
+ }
1945
+
1946
+ /**
1947
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1948
+ */
1949
+ export interface SparkGetStaticDepositAddressRpcResponseData {
1950
+ address: string;
1851
1951
  }
1852
1952
 
1853
1953
  /**
@@ -1915,24 +2015,25 @@ export interface SparkLightningSendRequest {
1915
2015
  }
1916
2016
 
1917
2017
  /**
1918
- * Parameters for the Spark `transfer` RPC.
2018
+ * The Spark network.
1919
2019
  */
1920
- export interface SparkTransferRpcInputParams {
1921
- amount_sats: number;
2020
+ export type SparkNetwork = 'MAINNET' | 'REGTEST';
1922
2021
 
1923
- receiver_spark_address: string;
1924
- }
2022
+ /**
2023
+ * Strategy for selecting outputs in a Spark token transfer.
2024
+ */
2025
+ export type SparkOutputSelectionStrategy = 'SMALL_FIRST' | 'LARGE_FIRST';
1925
2026
 
1926
2027
  /**
1927
- * Transfers satoshis to a Spark address.
2028
+ * Pays a Lightning invoice from the Spark wallet.
1928
2029
  */
1929
- export interface SparkTransferRpcInput {
1930
- method: 'transfer';
2030
+ export interface SparkPayLightningInvoiceRpcInput {
2031
+ method: 'payLightningInvoice';
1931
2032
 
1932
2033
  /**
1933
- * Parameters for the Spark `transfer` RPC.
2034
+ * Parameters for the Spark `payLightningInvoice` RPC.
1934
2035
  */
1935
- params: SparkTransferRpcInputParams;
2036
+ params: SparkPayLightningInvoiceRpcInputParams;
1936
2037
 
1937
2038
  /**
1938
2039
  * The Spark network.
@@ -1941,50 +2042,68 @@ export interface SparkTransferRpcInput {
1941
2042
  }
1942
2043
 
1943
2044
  /**
1944
- * Gets the balance of the Spark wallet.
2045
+ * Parameters for the Spark `payLightningInvoice` RPC.
1945
2046
  */
1946
- export interface SparkGetBalanceRpcInput {
1947
- method: 'getBalance';
2047
+ export interface SparkPayLightningInvoiceRpcInputParams {
2048
+ invoice: string;
2049
+
2050
+ max_fee_sats: number;
2051
+
2052
+ amount_sats_to_send?: number;
2053
+
2054
+ prefer_spark?: boolean;
2055
+ }
2056
+
2057
+ /**
2058
+ * Response to the Spark `payLightningInvoice` RPC.
2059
+ */
2060
+ export interface SparkPayLightningInvoiceRpcResponse {
2061
+ method: 'payLightningInvoice';
1948
2062
 
1949
2063
  /**
1950
- * The Spark network.
2064
+ * A Spark transfer.
1951
2065
  */
1952
- network?: SparkNetwork;
2066
+ data?: SparkTransfer | SparkLightningSendRequest;
1953
2067
  }
1954
2068
 
1955
2069
  /**
1956
- * Strategy for selecting outputs in a Spark token transfer.
2070
+ * Request body for Spark wallet RPC operations, discriminated by method.
1957
2071
  */
1958
- export type SparkOutputSelectionStrategy = 'SMALL_FIRST' | 'LARGE_FIRST';
2072
+ export type SparkRpcInput =
2073
+ | SparkTransferRpcInput
2074
+ | SparkGetBalanceRpcInput
2075
+ | SparkTransferTokensRpcInput
2076
+ | SparkGetStaticDepositAddressRpcInput
2077
+ | SparkGetClaimStaticDepositQuoteRpcInput
2078
+ | SparkClaimStaticDepositRpcInput
2079
+ | SparkCreateLightningInvoiceRpcInput
2080
+ | SparkPayLightningInvoiceRpcInput
2081
+ | SparkSignMessageWithIdentityKeyRpcInput;
1959
2082
 
1960
2083
  /**
1961
- * Parameters for the Spark `transferTokens` RPC.
2084
+ * Response body for Spark wallet RPC operations, discriminated by method.
1962
2085
  */
1963
- export interface SparkTransferTokensRpcInputParams {
1964
- receiver_spark_address: string;
1965
-
1966
- token_amount: number;
1967
-
1968
- token_identifier: string;
1969
-
1970
- /**
1971
- * Strategy for selecting outputs in a Spark token transfer.
1972
- */
1973
- output_selection_strategy?: SparkOutputSelectionStrategy;
1974
-
1975
- selected_outputs?: Array<OutputWithPreviousTransactionData>;
1976
- }
2086
+ export type SparkRpcResponse =
2087
+ | SparkTransferRpcResponse
2088
+ | SparkGetBalanceRpcResponse
2089
+ | SparkTransferTokensRpcResponse
2090
+ | SparkGetStaticDepositAddressRpcResponse
2091
+ | SparkGetClaimStaticDepositQuoteRpcResponse
2092
+ | SparkClaimStaticDepositRpcResponse
2093
+ | SparkCreateLightningInvoiceRpcResponse
2094
+ | SparkPayLightningInvoiceRpcResponse
2095
+ | SparkSignMessageWithIdentityKeyRpcResponse;
1977
2096
 
1978
2097
  /**
1979
- * Transfers tokens to a Spark address.
2098
+ * Signs a message with the Spark identity key.
1980
2099
  */
1981
- export interface SparkTransferTokensRpcInput {
1982
- method: 'transferTokens';
2100
+ export interface SparkSignMessageWithIdentityKeyRpcInput {
2101
+ method: 'signMessageWithIdentityKey';
1983
2102
 
1984
2103
  /**
1985
- * Parameters for the Spark `transferTokens` RPC.
2104
+ * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1986
2105
  */
1987
- params: SparkTransferTokensRpcInputParams;
2106
+ params: SparkSignMessageWithIdentityKeyRpcInputParams;
1988
2107
 
1989
2108
  /**
1990
2109
  * The Spark network.
@@ -1993,156 +2112,113 @@ export interface SparkTransferTokensRpcInput {
1993
2112
  }
1994
2113
 
1995
2114
  /**
1996
- * Gets a static deposit address for the Spark wallet.
2115
+ * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1997
2116
  */
1998
- export interface SparkGetStaticDepositAddressRpcInput {
1999
- method: 'getStaticDepositAddress';
2117
+ export interface SparkSignMessageWithIdentityKeyRpcInputParams {
2118
+ message: string;
2000
2119
 
2001
- /**
2002
- * The Spark network.
2003
- */
2004
- network?: SparkNetwork;
2120
+ compact?: boolean;
2005
2121
  }
2006
2122
 
2007
2123
  /**
2008
- * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
2124
+ * Response to the Spark `signMessageWithIdentityKey` RPC.
2009
2125
  */
2010
- export interface SparkGetClaimStaticDepositQuoteRpcInputParams {
2011
- transaction_id: string;
2126
+ export interface SparkSignMessageWithIdentityKeyRpcResponse {
2127
+ method: 'signMessageWithIdentityKey';
2012
2128
 
2013
- output_index?: number;
2129
+ /**
2130
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
2131
+ */
2132
+ data?: SparkSignMessageWithIdentityKeyRpcResponseData;
2014
2133
  }
2015
2134
 
2016
2135
  /**
2017
- * Gets a quote for claiming a static deposit.
2136
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
2018
2137
  */
2019
- export interface SparkGetClaimStaticDepositQuoteRpcInput {
2020
- method: 'getClaimStaticDepositQuote';
2021
-
2022
- /**
2023
- * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
2024
- */
2025
- params: SparkGetClaimStaticDepositQuoteRpcInputParams;
2026
-
2027
- /**
2028
- * The Spark network.
2029
- */
2030
- network?: SparkNetwork;
2138
+ export interface SparkSignMessageWithIdentityKeyRpcResponseData {
2139
+ signature: string;
2031
2140
  }
2032
2141
 
2033
2142
  /**
2034
- * Parameters for the Spark `claimStaticDeposit` RPC.
2143
+ * A Spark signing keyshare.
2035
2144
  */
2036
- export interface SparkClaimStaticDepositRpcInputParams {
2037
- credit_amount_sats: number;
2145
+ export interface SparkSigningKeyshare {
2146
+ owner_identifiers: Array<string>;
2038
2147
 
2039
- signature: string;
2148
+ public_key: string;
2040
2149
 
2041
- transaction_id: string;
2150
+ public_shares: { [key: string]: string };
2042
2151
 
2043
- output_index?: number;
2152
+ threshold: number;
2153
+
2154
+ updated_time: string;
2044
2155
  }
2045
2156
 
2046
2157
  /**
2047
- * Claims a static deposit into the Spark wallet.
2158
+ * Balance of a Spark token.
2048
2159
  */
2049
- export interface SparkClaimStaticDepositRpcInput {
2050
- method: 'claimStaticDeposit';
2051
-
2052
- /**
2053
- * Parameters for the Spark `claimStaticDeposit` RPC.
2054
- */
2055
- params: SparkClaimStaticDepositRpcInputParams;
2160
+ export interface SparkTokenBalance {
2161
+ balance: string;
2056
2162
 
2057
2163
  /**
2058
- * The Spark network.
2164
+ * Metadata for a Spark user token.
2059
2165
  */
2060
- network?: SparkNetwork;
2166
+ token_metadata: SparkUserTokenMetadata;
2061
2167
  }
2062
2168
 
2063
2169
  /**
2064
- * Parameters for the Spark `createLightningInvoice` RPC.
2170
+ * A Spark transfer.
2065
2171
  */
2066
- export interface SparkCreateLightningInvoiceRpcInputParams {
2067
- amount_sats: number;
2068
-
2069
- description_hash?: string;
2070
-
2071
- expiry_seconds?: number;
2172
+ export interface SparkTransfer {
2173
+ id: string;
2072
2174
 
2073
- include_spark_address?: boolean;
2175
+ leaves: Array<SparkTransferLeaf>;
2074
2176
 
2075
- memo?: string;
2177
+ receiver_identity_public_key: string;
2076
2178
 
2077
- receiver_identity_pubkey?: string;
2078
- }
2179
+ sender_identity_public_key: string;
2079
2180
 
2080
- /**
2081
- * Creates a Lightning invoice for the Spark wallet.
2082
- */
2083
- export interface SparkCreateLightningInvoiceRpcInput {
2084
- method: 'createLightningInvoice';
2181
+ status: string;
2085
2182
 
2086
- /**
2087
- * Parameters for the Spark `createLightningInvoice` RPC.
2088
- */
2089
- params: SparkCreateLightningInvoiceRpcInputParams;
2183
+ total_value: number;
2090
2184
 
2091
- /**
2092
- * The Spark network.
2093
- */
2094
- network?: SparkNetwork;
2095
- }
2185
+ transfer_direction: string;
2096
2186
 
2097
- /**
2098
- * Parameters for the Spark `payLightningInvoice` RPC.
2099
- */
2100
- export interface SparkPayLightningInvoiceRpcInputParams {
2101
- invoice: string;
2187
+ type: string;
2102
2188
 
2103
- max_fee_sats: number;
2189
+ created_time?: string;
2104
2190
 
2105
- amount_sats_to_send?: number;
2191
+ expiry_time?: string;
2106
2192
 
2107
- prefer_spark?: boolean;
2193
+ updated_time?: string;
2108
2194
  }
2109
2195
 
2110
2196
  /**
2111
- * Pays a Lightning invoice from the Spark wallet.
2197
+ * A Spark transfer leaf.
2112
2198
  */
2113
- export interface SparkPayLightningInvoiceRpcInput {
2114
- method: 'payLightningInvoice';
2199
+ export interface SparkTransferLeaf {
2200
+ intermediate_refund_tx: string;
2115
2201
 
2116
- /**
2117
- * Parameters for the Spark `payLightningInvoice` RPC.
2118
- */
2119
- params: SparkPayLightningInvoiceRpcInputParams;
2202
+ secret_cipher: string;
2203
+
2204
+ signature: string;
2120
2205
 
2121
2206
  /**
2122
- * The Spark network.
2207
+ * A Spark wallet leaf node.
2123
2208
  */
2124
- network?: SparkNetwork;
2125
- }
2126
-
2127
- /**
2128
- * Parameters for the Spark `signMessageWithIdentityKey` RPC.
2129
- */
2130
- export interface SparkSignMessageWithIdentityKeyRpcInputParams {
2131
- message: string;
2132
-
2133
- compact?: boolean;
2209
+ leaf?: SparkWalletLeaf;
2134
2210
  }
2135
2211
 
2136
2212
  /**
2137
- * Signs a message with the Spark identity key.
2213
+ * Transfers satoshis to a Spark address.
2138
2214
  */
2139
- export interface SparkSignMessageWithIdentityKeyRpcInput {
2140
- method: 'signMessageWithIdentityKey';
2215
+ export interface SparkTransferRpcInput {
2216
+ method: 'transfer';
2141
2217
 
2142
2218
  /**
2143
- * Parameters for the Spark `signMessageWithIdentityKey` RPC.
2219
+ * Parameters for the Spark `transfer` RPC.
2144
2220
  */
2145
- params: SparkSignMessageWithIdentityKeyRpcInputParams;
2221
+ params: SparkTransferRpcInputParams;
2146
2222
 
2147
2223
  /**
2148
2224
  * The Spark network.
@@ -2151,18 +2227,13 @@ export interface SparkSignMessageWithIdentityKeyRpcInput {
2151
2227
  }
2152
2228
 
2153
2229
  /**
2154
- * Request body for Spark wallet RPC operations, discriminated by method.
2230
+ * Parameters for the Spark `transfer` RPC.
2155
2231
  */
2156
- export type SparkRpcInput =
2157
- | SparkTransferRpcInput
2158
- | SparkGetBalanceRpcInput
2159
- | SparkTransferTokensRpcInput
2160
- | SparkGetStaticDepositAddressRpcInput
2161
- | SparkGetClaimStaticDepositQuoteRpcInput
2162
- | SparkClaimStaticDepositRpcInput
2163
- | SparkCreateLightningInvoiceRpcInput
2164
- | SparkPayLightningInvoiceRpcInput
2165
- | SparkSignMessageWithIdentityKeyRpcInput;
2232
+ export interface SparkTransferRpcInputParams {
2233
+ amount_sats: number;
2234
+
2235
+ receiver_spark_address: string;
2236
+ }
2166
2237
 
2167
2238
  /**
2168
2239
  * Response to the Spark `transfer` RPC.
@@ -2177,22 +2248,38 @@ export interface SparkTransferRpcResponse {
2177
2248
  }
2178
2249
 
2179
2250
  /**
2180
- * Response to the Spark `getBalance` RPC.
2251
+ * Transfers tokens to a Spark address.
2181
2252
  */
2182
- export interface SparkGetBalanceRpcResponse {
2183
- method: 'getBalance';
2253
+ export interface SparkTransferTokensRpcInput {
2254
+ method: 'transferTokens';
2184
2255
 
2185
2256
  /**
2186
- * The balance of a Spark wallet.
2257
+ * Parameters for the Spark `transferTokens` RPC.
2187
2258
  */
2188
- data?: SparkBalance;
2259
+ params: SparkTransferTokensRpcInputParams;
2260
+
2261
+ /**
2262
+ * The Spark network.
2263
+ */
2264
+ network?: SparkNetwork;
2189
2265
  }
2190
2266
 
2191
2267
  /**
2192
- * Data returned by the Spark `transferTokens` RPC.
2268
+ * Parameters for the Spark `transferTokens` RPC.
2193
2269
  */
2194
- export interface SparkTransferTokensRpcResponseData {
2195
- id: string;
2270
+ export interface SparkTransferTokensRpcInputParams {
2271
+ receiver_spark_address: string;
2272
+
2273
+ token_amount: number;
2274
+
2275
+ token_identifier: string;
2276
+
2277
+ /**
2278
+ * Strategy for selecting outputs in a Spark token transfer.
2279
+ */
2280
+ output_selection_strategy?: SparkOutputSelectionStrategy;
2281
+
2282
+ selected_outputs?: Array<OutputWithPreviousTransactionData>;
2196
2283
  }
2197
2284
 
2198
2285
  /**
@@ -2208,293 +2295,693 @@ export interface SparkTransferTokensRpcResponse {
2208
2295
  }
2209
2296
 
2210
2297
  /**
2211
- * Data returned by the Spark `getStaticDepositAddress` RPC.
2298
+ * Data returned by the Spark `transferTokens` RPC.
2212
2299
  */
2213
- export interface SparkGetStaticDepositAddressRpcResponseData {
2214
- address: string;
2300
+ export interface SparkTransferTokensRpcResponseData {
2301
+ id: string;
2215
2302
  }
2216
2303
 
2217
2304
  /**
2218
- * Response to the Spark `getStaticDepositAddress` RPC.
2305
+ * Metadata for a Spark user token.
2219
2306
  */
2220
- export interface SparkGetStaticDepositAddressRpcResponse {
2221
- method: 'getStaticDepositAddress';
2307
+ export interface SparkUserTokenMetadata {
2308
+ decimals: number;
2222
2309
 
2223
- /**
2224
- * Data returned by the Spark `getStaticDepositAddress` RPC.
2225
- */
2226
- data?: SparkGetStaticDepositAddressRpcResponseData;
2310
+ max_supply: string;
2311
+
2312
+ raw_token_identifier: string;
2313
+
2314
+ token_name: string;
2315
+
2316
+ token_public_key: string;
2317
+
2318
+ token_ticker: string;
2227
2319
  }
2228
2320
 
2229
2321
  /**
2230
- * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
2322
+ * A Spark wallet leaf node.
2231
2323
  */
2232
- export interface SparkGetClaimStaticDepositQuoteRpcResponseData {
2233
- credit_amount_sats: number;
2324
+ export interface SparkWalletLeaf {
2325
+ id: string;
2234
2326
 
2235
- network: string;
2327
+ /**
2328
+ * The Spark network.
2329
+ */
2330
+ network: SparkNetwork;
2236
2331
 
2237
- output_index: number;
2332
+ node_tx: string;
2238
2333
 
2239
- signature: string;
2334
+ owner_identity_public_key: string;
2240
2335
 
2241
- transaction_id: string;
2242
- }
2336
+ refund_tx: string;
2243
2337
 
2244
- /**
2245
- * Response to the Spark `getClaimStaticDepositQuote` RPC.
2246
- */
2247
- export interface SparkGetClaimStaticDepositQuoteRpcResponse {
2248
- method: 'getClaimStaticDepositQuote';
2338
+ status: string;
2339
+
2340
+ tree_id: string;
2341
+
2342
+ value: number;
2343
+
2344
+ verifying_public_key: string;
2345
+
2346
+ vout: number;
2347
+
2348
+ parent_node_id?: string;
2249
2349
 
2250
2350
  /**
2251
- * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
2351
+ * A Spark signing keyshare.
2252
2352
  */
2253
- data?: SparkGetClaimStaticDepositQuoteRpcResponseData;
2353
+ signing_keyshare?: SparkSigningKeyshare;
2254
2354
  }
2255
2355
 
2256
2356
  /**
2257
- * Data returned by the Spark `claimStaticDeposit` RPC.
2357
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
2258
2358
  */
2259
- export interface SparkClaimStaticDepositRpcResponseData {
2260
- transfer_id: string;
2261
- }
2359
+ export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
2262
2360
 
2263
2361
  /**
2264
- * Response to the Spark `claimStaticDeposit` RPC.
2362
+ * An AA authorization for Tempo transactions with P256/WebAuthn signatures.
2265
2363
  */
2266
- export interface SparkClaimStaticDepositRpcResponse {
2267
- method: 'claimStaticDeposit';
2268
-
2364
+ export interface TempoAaAuthorization {
2269
2365
  /**
2270
- * Data returned by the Spark `claimStaticDeposit` RPC.
2366
+ * A quantity value that can be either a hex string starting with '0x' or a
2367
+ * non-negative integer.
2271
2368
  */
2272
- data?: SparkClaimStaticDepositRpcResponseData;
2273
- }
2369
+ chain_id: Quantity;
2274
2370
 
2275
- /**
2276
- * Response to the Spark `createLightningInvoice` RPC.
2277
- */
2278
- export interface SparkCreateLightningInvoiceRpcResponse {
2279
- method: 'createLightningInvoice';
2371
+ contract: string;
2280
2372
 
2281
2373
  /**
2282
- * A Spark Lightning receive request.
2374
+ * A quantity value that can be either a hex string starting with '0x' or a
2375
+ * non-negative integer.
2283
2376
  */
2284
- data?: SparkLightningReceiveRequest;
2377
+ nonce: Quantity;
2378
+
2379
+ /**
2380
+ * A hex-encoded string prefixed with '0x'.
2381
+ */
2382
+ signature: Hex;
2285
2383
  }
2286
2384
 
2287
2385
  /**
2288
- * Response to the Spark `payLightningInvoice` RPC.
2386
+ * A single call within a Tempo batched transaction.
2289
2387
  */
2290
- export interface SparkPayLightningInvoiceRpcResponse {
2291
- method: 'payLightningInvoice';
2388
+ export interface TempoCall {
2389
+ to: string;
2292
2390
 
2293
2391
  /**
2294
- * A Spark transfer.
2392
+ * A hex-encoded string prefixed with '0x'.
2295
2393
  */
2296
- data?: SparkTransfer | SparkLightningSendRequest;
2297
- }
2394
+ data?: Hex;
2298
2395
 
2299
- /**
2300
- * Data returned by the Spark `signMessageWithIdentityKey` RPC.
2301
- */
2302
- export interface SparkSignMessageWithIdentityKeyRpcResponseData {
2303
- signature: string;
2396
+ /**
2397
+ * A quantity value that can be either a hex string starting with '0x' or a
2398
+ * non-negative integer.
2399
+ */
2400
+ value?: Quantity;
2304
2401
  }
2305
2402
 
2306
2403
  /**
2307
- * Response to the Spark `signMessageWithIdentityKey` RPC.
2404
+ * A fee payer signature for sponsored Tempo transactions (secp256k1 only).
2308
2405
  */
2309
- export interface SparkSignMessageWithIdentityKeyRpcResponse {
2310
- method: 'signMessageWithIdentityKey';
2406
+ export interface TempoFeePayerSignature {
2407
+ /**
2408
+ * A hex-encoded string prefixed with '0x'.
2409
+ */
2410
+ r: Hex;
2311
2411
 
2312
2412
  /**
2313
- * Data returned by the Spark `signMessageWithIdentityKey` RPC.
2413
+ * A hex-encoded string prefixed with '0x'.
2314
2414
  */
2315
- data?: SparkSignMessageWithIdentityKeyRpcResponseData;
2415
+ s: Hex;
2416
+
2417
+ y_parity: 0 | 1;
2316
2418
  }
2317
2419
 
2318
2420
  /**
2319
- * Response body for Spark wallet RPC operations, discriminated by method.
2421
+ * A Spark token output.
2320
2422
  */
2321
- export type SparkRpcResponse =
2322
- | SparkTransferRpcResponse
2323
- | SparkGetBalanceRpcResponse
2324
- | SparkTransferTokensRpcResponse
2325
- | SparkGetStaticDepositAddressRpcResponse
2326
- | SparkGetClaimStaticDepositQuoteRpcResponse
2327
- | SparkClaimStaticDepositRpcResponse
2328
- | SparkCreateLightningInvoiceRpcResponse
2329
- | SparkPayLightningInvoiceRpcResponse
2330
- | SparkSignMessageWithIdentityKeyRpcResponse;
2423
+ export interface TokenOutput {
2424
+ owner_public_key: string;
2425
+
2426
+ token_amount: string;
2427
+
2428
+ id?: string;
2429
+
2430
+ revocation_commitment?: string;
2431
+
2432
+ token_identifier?: string;
2433
+
2434
+ token_public_key?: string;
2435
+
2436
+ withdraw_bond_sats?: number;
2437
+
2438
+ withdraw_relative_block_locktime?: number;
2439
+ }
2331
2440
 
2332
2441
  /**
2333
- * A wallet managed by Privy's wallet infrastructure.
2442
+ * The destination address for a token transfer. Optionally specify a different
2443
+ * asset or chain for cross-asset or cross-chain transfers.
2334
2444
  */
2335
- export interface Wallet {
2445
+ export interface TokenTransferDestination {
2336
2446
  /**
2337
- * Unique ID of the wallet. This will be the primary identifier when using the
2338
- * wallet in the future.
2447
+ * Recipient address (hex for EVM, base58 for Solana)
2339
2448
  */
2340
- id: string;
2449
+ address: string;
2341
2450
 
2342
2451
  /**
2343
- * Additional signers for the wallet.
2452
+ * The destination asset. Required for cross-asset transfers (e.g., source 'usdt'
2453
+ * to destination 'usdc').
2344
2454
  */
2345
- additional_signers: WalletAdditionalSigner;
2455
+ asset?: string;
2346
2456
 
2347
2457
  /**
2348
- * Address of the wallet.
2458
+ * The destination blockchain network. Required for cross-chain transfers (e.g.,
2459
+ * source 'base' to destination 'arbitrum').
2349
2460
  */
2350
- address: string;
2461
+ chain?: string;
2462
+ }
2463
+
2464
+ /**
2465
+ * The source asset, amount, and chain for a token transfer. Specify either `asset`
2466
+ * (named) or `asset_address` (custom), not both.
2467
+ */
2468
+ export type TokenTransferSource = NamedTokenTransferSource | CustomTokenTransferSource;
2469
+
2470
+ /**
2471
+ * Details of a wallet transaction, varying by transaction type.
2472
+ */
2473
+ export type TransactionDetail = TransferSentTransactionDetail | TransferReceivedTransactionDetail;
2474
+
2475
+ /**
2476
+ * Token contract address (EVM: 0x-prefixed hex) or mint address (Solana: base58),
2477
+ * used to filter wallet transactions.
2478
+ */
2479
+ export type TransactionTokenAddressInput = string;
2480
+
2481
+ /**
2482
+ * Details for a received transfer transaction.
2483
+ */
2484
+ export interface TransferReceivedTransactionDetail {
2485
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
2486
+
2487
+ chain:
2488
+ | 'ethereum'
2489
+ | 'arbitrum'
2490
+ | 'base'
2491
+ | 'tempo'
2492
+ | 'linea'
2493
+ | 'optimism'
2494
+ | 'polygon'
2495
+ | 'solana'
2496
+ | 'zksync_era'
2497
+ | 'sepolia'
2498
+ | 'arbitrum_sepolia'
2499
+ | 'base_sepolia'
2500
+ | 'linea_testnet'
2501
+ | 'optimism_sepolia'
2502
+ | 'polygon_amoy'
2503
+ | 'solana_devnet'
2504
+ | 'solana_testnet';
2505
+
2506
+ display_values: { [key: string]: string };
2507
+
2508
+ raw_value: string;
2509
+
2510
+ raw_value_decimals: number;
2351
2511
 
2512
+ recipient: string;
2513
+
2514
+ recipient_privy_user_id: string | null;
2515
+
2516
+ sender: string;
2517
+
2518
+ sender_privy_user_id: string | null;
2519
+
2520
+ type: 'transfer_received';
2521
+ }
2522
+
2523
+ /**
2524
+ * Request body for initiating a sponsored token transfer from an embedded wallet.
2525
+ */
2526
+ export interface TransferRequestBody {
2352
2527
  /**
2353
- * The wallet chain types.
2528
+ * The destination address for a token transfer. Optionally specify a different
2529
+ * asset or chain for cross-asset or cross-chain transfers.
2354
2530
  */
2355
- chain_type: WalletChainType;
2531
+ destination: TokenTransferDestination;
2356
2532
 
2357
2533
  /**
2358
- * Unix timestamp of when the wallet was created in milliseconds.
2534
+ * The source asset, amount, and chain for a token transfer. Specify either `asset`
2535
+ * (named) or `asset_address` (custom), not both.
2359
2536
  */
2360
- created_at: number;
2537
+ source: TokenTransferSource;
2361
2538
 
2362
2539
  /**
2363
- * Unix timestamp of when the wallet was exported in milliseconds, if the wallet
2364
- * was exported.
2540
+ * Whether the amount refers to the input token or output token.
2365
2541
  */
2366
- exported_at: number | null;
2542
+ amount_type?: AmountType;
2367
2543
 
2368
2544
  /**
2369
- * Unix timestamp of when the wallet was imported in milliseconds, if the wallet
2370
- * was imported.
2545
+ * Maximum allowed slippage in basis points (1 bps = 0.01%).
2371
2546
  */
2372
- imported_at: number | null;
2547
+ slippage_bps?: number;
2548
+ }
2549
+
2550
+ /**
2551
+ * Details for a sent transfer transaction.
2552
+ */
2553
+ export interface TransferSentTransactionDetail {
2554
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
2555
+
2556
+ chain:
2557
+ | 'ethereum'
2558
+ | 'arbitrum'
2559
+ | 'base'
2560
+ | 'tempo'
2561
+ | 'linea'
2562
+ | 'optimism'
2563
+ | 'polygon'
2564
+ | 'solana'
2565
+ | 'zksync_era'
2566
+ | 'sepolia'
2567
+ | 'arbitrum_sepolia'
2568
+ | 'base_sepolia'
2569
+ | 'linea_testnet'
2570
+ | 'optimism_sepolia'
2571
+ | 'polygon_amoy'
2572
+ | 'solana_devnet'
2573
+ | 'solana_testnet';
2574
+
2575
+ display_values: { [key: string]: string };
2576
+
2577
+ raw_value: string;
2578
+
2579
+ raw_value_decimals: number;
2580
+
2581
+ recipient: string;
2582
+
2583
+ recipient_privy_user_id: string | null;
2584
+
2585
+ sender: string;
2586
+
2587
+ sender_privy_user_id: string | null;
2588
+
2589
+ type: 'transfer_sent';
2590
+ }
2591
+
2592
+ /**
2593
+ * The domain parameters for EIP-712 typed data signing.
2594
+ */
2595
+ export type TypedDataDomainInputParams = { [key: string]: unknown };
2596
+
2597
+ /**
2598
+ * A single field definition in an EIP-712 typed data type.
2599
+ */
2600
+ export interface TypedDataTypeFieldInput {
2601
+ name: string;
2602
+
2603
+ type: string;
2604
+ }
2605
+
2606
+ /**
2607
+ * The type definitions for EIP-712 typed data signing.
2608
+ */
2609
+ export type TypedDataTypesInputParams = { [key: string]: Array<TypedDataTypeFieldInput> };
2610
+
2611
+ /**
2612
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
2613
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
2614
+ */
2615
+ export type UnsignedEthereumTransaction = UnsignedStandardEthereumTransaction | UnsignedTempoTransaction;
2616
+
2617
+ /**
2618
+ * An unsigned standard Ethereum transaction object. Supports EVM transaction types
2619
+ * 0, 1, 2, and 4.
2620
+ */
2621
+ export interface UnsignedStandardEthereumTransaction {
2622
+ authorization_list?: Array<EthereumSign7702Authorization>;
2373
2623
 
2374
2624
  /**
2375
- * The key quorum ID of the owner of the wallet.
2625
+ * A quantity value that can be either a hex string starting with '0x' or a
2626
+ * non-negative integer.
2376
2627
  */
2377
- owner_id: string | null;
2628
+ chain_id?: Quantity;
2378
2629
 
2379
2630
  /**
2380
- * List of policy IDs for policies that are enforced on the wallet.
2631
+ * A hex-encoded string prefixed with '0x'.
2381
2632
  */
2382
- policy_ids: Array<string>;
2633
+ data?: Hex;
2634
+
2635
+ from?: string;
2383
2636
 
2384
2637
  /**
2385
- * The number of keys that must sign for an action to be valid.
2638
+ * A quantity value that can be either a hex string starting with '0x' or a
2639
+ * non-negative integer.
2386
2640
  */
2387
- authorization_threshold?: number;
2641
+ gas_limit?: Quantity;
2388
2642
 
2389
2643
  /**
2390
- * Information about the custodian managing this wallet.
2644
+ * A quantity value that can be either a hex string starting with '0x' or a
2645
+ * non-negative integer.
2391
2646
  */
2392
- custody?: WalletCustodian;
2647
+ gas_price?: Quantity;
2393
2648
 
2394
2649
  /**
2395
- * A human-readable label for the wallet.
2650
+ * A quantity value that can be either a hex string starting with '0x' or a
2651
+ * non-negative integer.
2396
2652
  */
2397
- display_name?: string;
2653
+ max_fee_per_gas?: Quantity;
2398
2654
 
2399
2655
  /**
2400
- * A customer-provided identifier for mapping to external systems. Write-once, set
2401
- * only at creation.
2656
+ * A quantity value that can be either a hex string starting with '0x' or a
2657
+ * non-negative integer.
2402
2658
  */
2403
- external_id?: string;
2659
+ max_priority_fee_per_gas?: Quantity;
2404
2660
 
2405
2661
  /**
2406
- * The compressed, raw public key for the wallet along the chain cryptographic
2407
- * curve.
2662
+ * A quantity value that can be either a hex string starting with '0x' or a
2663
+ * non-negative integer.
2408
2664
  */
2409
- public_key?: string;
2410
- }
2665
+ nonce?: Quantity;
2666
+
2667
+ to?: string;
2668
+
2669
+ type?: 0 | 1 | 2 | 4;
2411
2670
 
2412
- /**
2413
- * Request body for looking up a wallet by its blockchain address.
2414
- */
2415
- export interface GetByWalletAddressRequestBody {
2416
2671
  /**
2417
- * A blockchain wallet address (Ethereum or Solana).
2672
+ * A quantity value that can be either a hex string starting with '0x' or a
2673
+ * non-negative integer.
2418
2674
  */
2419
- address: Address;
2675
+ value?: Quantity;
2420
2676
  }
2421
2677
 
2422
2678
  /**
2423
- * Request body for updating a wallet.
2679
+ * An unsigned Tempo transaction (type 118) with batched calls.
2424
2680
  */
2425
- export interface WalletUpdateRequestBody {
2681
+ export interface UnsignedTempoTransaction {
2682
+ calls: Array<TempoCall>;
2683
+
2684
+ type: 118;
2685
+
2686
+ aa_authorization_list?: Array<TempoAaAuthorization>;
2687
+
2688
+ access_list?: Array<UnsignedTempoTransaction.AccessList>;
2689
+
2426
2690
  /**
2427
- * Additional signers for the wallet.
2691
+ * A quantity value that can be either a hex string starting with '0x' or a
2692
+ * non-negative integer.
2428
2693
  */
2429
- additional_signers?: AdditionalSignerInput;
2694
+ chain_id?: Quantity;
2430
2695
 
2431
2696
  /**
2432
- * A human-readable label for the wallet. Set to null to clear.
2697
+ * A fee payer signature for sponsored Tempo transactions (secp256k1 only).
2433
2698
  */
2434
- display_name?: string | null;
2699
+ fee_payer_signature?: TempoFeePayerSignature;
2700
+
2701
+ fee_token?: string;
2702
+
2703
+ from?: string;
2435
2704
 
2436
2705
  /**
2437
- * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
2438
- * null to remove the current owner.
2706
+ * A quantity value that can be either a hex string starting with '0x' or a
2707
+ * non-negative integer.
2439
2708
  */
2440
- owner?: SharedAPI.OwnerInput | null;
2709
+ gas_limit?: Quantity;
2441
2710
 
2442
2711
  /**
2443
- * The key quorum ID to set as the owner of the resource. If you provide this, do
2444
- * not specify an owner.
2712
+ * A quantity value that can be either a hex string starting with '0x' or a
2713
+ * non-negative integer.
2445
2714
  */
2446
- owner_id?: SharedAPI.OwnerIDInput | null;
2715
+ max_fee_per_gas?: Quantity;
2447
2716
 
2448
2717
  /**
2449
- * New policy IDs to enforce on the wallet. Currently, only one policy is supported
2450
- * per wallet.
2718
+ * A quantity value that can be either a hex string starting with '0x' or a
2719
+ * non-negative integer.
2451
2720
  */
2452
- policy_ids?: Array<string>;
2453
- }
2721
+ max_priority_fee_per_gas?: Quantity;
2454
2722
 
2455
- /**
2456
- * Input for a single wallet in a batch creation request.
2457
- */
2458
- export interface WalletBatchItemInput {
2459
2723
  /**
2460
- * The wallet chain types.
2724
+ * A quantity value that can be either a hex string starting with '0x' or a
2725
+ * non-negative integer.
2461
2726
  */
2462
- chain_type: WalletChainType;
2727
+ nonce?: Quantity;
2463
2728
 
2464
2729
  /**
2465
- * Additional signers for the wallet.
2730
+ * A quantity value that can be either a hex string starting with '0x' or a
2731
+ * non-negative integer.
2466
2732
  */
2467
- additional_signers?: AdditionalSignerInput;
2733
+ nonce_key?: Quantity;
2468
2734
 
2469
2735
  /**
2470
- * A human-readable label for the wallet.
2736
+ * A quantity value that can be either a hex string starting with '0x' or a
2737
+ * non-negative integer.
2471
2738
  */
2472
- display_name?: string;
2739
+ valid_after?: Quantity;
2473
2740
 
2474
2741
  /**
2475
- * A customer-provided identifier for mapping to external systems. URL-safe
2476
- * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
2477
- * after creation.
2742
+ * A quantity value that can be either a hex string starting with '0x' or a
2743
+ * non-negative integer.
2744
+ */
2745
+ valid_before?: Quantity;
2746
+ }
2747
+
2748
+ export namespace UnsignedTempoTransaction {
2749
+ export interface AccessList {
2750
+ address: string;
2751
+
2752
+ storage_keys: Array<WalletsAPI.Hex>;
2753
+ }
2754
+ }
2755
+
2756
+ /**
2757
+ * An ERC-4337 user operation.
2758
+ */
2759
+ export interface UserOperationInput {
2760
+ /**
2761
+ * A hex-encoded string prefixed with '0x'.
2762
+ */
2763
+ call_data: Hex;
2764
+
2765
+ /**
2766
+ * A hex-encoded string prefixed with '0x'.
2767
+ */
2768
+ call_gas_limit: Hex;
2769
+
2770
+ /**
2771
+ * A hex-encoded string prefixed with '0x'.
2772
+ */
2773
+ max_fee_per_gas: Hex;
2774
+
2775
+ /**
2776
+ * A hex-encoded string prefixed with '0x'.
2777
+ */
2778
+ max_priority_fee_per_gas: Hex;
2779
+
2780
+ /**
2781
+ * A hex-encoded string prefixed with '0x'.
2782
+ */
2783
+ nonce: Hex;
2784
+
2785
+ /**
2786
+ * A hex-encoded string prefixed with '0x'.
2787
+ */
2788
+ pre_verification_gas: Hex;
2789
+
2790
+ sender: string;
2791
+
2792
+ /**
2793
+ * A hex-encoded string prefixed with '0x'.
2794
+ */
2795
+ verification_gas_limit: Hex;
2796
+
2797
+ paymaster?: string;
2798
+
2799
+ /**
2800
+ * A hex-encoded string prefixed with '0x'.
2801
+ */
2802
+ paymaster_data?: Hex;
2803
+
2804
+ /**
2805
+ * A hex-encoded string prefixed with '0x'.
2806
+ */
2807
+ paymaster_post_op_gas_limit?: Hex;
2808
+
2809
+ /**
2810
+ * A hex-encoded string prefixed with '0x'.
2811
+ */
2812
+ paymaster_verification_gas_limit?: Hex;
2813
+ }
2814
+
2815
+ /**
2816
+ * A wallet managed by Privy's wallet infrastructure.
2817
+ */
2818
+ export interface Wallet {
2819
+ /**
2820
+ * Unique ID of the wallet. This will be the primary identifier when using the
2821
+ * wallet in the future.
2822
+ */
2823
+ id: string;
2824
+
2825
+ /**
2826
+ * Additional signers for the wallet.
2827
+ */
2828
+ additional_signers: WalletAdditionalSigner;
2829
+
2830
+ /**
2831
+ * Address of the wallet.
2832
+ */
2833
+ address: string;
2834
+
2835
+ /**
2836
+ * The wallet chain types.
2837
+ */
2838
+ chain_type: WalletChainType;
2839
+
2840
+ /**
2841
+ * Unix timestamp of when the wallet was created in milliseconds.
2842
+ */
2843
+ created_at: number;
2844
+
2845
+ /**
2846
+ * Unix timestamp of when the wallet was exported in milliseconds, if the wallet
2847
+ * was exported.
2848
+ */
2849
+ exported_at: number | null;
2850
+
2851
+ /**
2852
+ * Unix timestamp of when the wallet was imported in milliseconds, if the wallet
2853
+ * was imported.
2854
+ */
2855
+ imported_at: number | null;
2856
+
2857
+ /**
2858
+ * The key quorum ID of the owner of the wallet.
2859
+ */
2860
+ owner_id: string | null;
2861
+
2862
+ /**
2863
+ * List of policy IDs for policies that are enforced on the wallet.
2864
+ */
2865
+ policy_ids: Array<string>;
2866
+
2867
+ /**
2868
+ * The number of keys that must sign for an action to be valid.
2869
+ */
2870
+ authorization_threshold?: number;
2871
+
2872
+ /**
2873
+ * Information about the custodian managing this wallet.
2874
+ */
2875
+ custody?: WalletCustodian;
2876
+
2877
+ /**
2878
+ * A human-readable label for the wallet.
2879
+ */
2880
+ display_name?: string;
2881
+
2882
+ /**
2883
+ * A customer-provided identifier for mapping to external systems. Write-once, set
2884
+ * only at creation.
2478
2885
  */
2479
2886
  external_id?: string;
2480
2887
 
2481
2888
  /**
2482
- * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
2483
- * null to remove the current owner.
2889
+ * The compressed, raw public key for the wallet along the chain cryptographic
2890
+ * curve.
2484
2891
  */
2485
- owner?: SharedAPI.OwnerInput | null;
2892
+ public_key?: string;
2893
+ }
2894
+
2895
+ /**
2896
+ * Additional signers for the wallet.
2897
+ */
2898
+ export type WalletAdditionalSigner = Array<WalletAdditionalSignerItem>;
2486
2899
 
2900
+ /**
2901
+ * A single additional signer on a wallet, with an optional policy override.
2902
+ */
2903
+ export interface WalletAdditionalSignerItem {
2487
2904
  /**
2488
- * The key quorum ID to set as the owner of the resource. If you provide this, do
2489
- * not specify an owner.
2905
+ * A unique identifier for a key quorum.
2490
2906
  */
2491
- owner_id?: SharedAPI.OwnerIDInput | null;
2907
+ signer_id: SharedAPI.KeyQuorumID;
2492
2908
 
2493
2909
  /**
2494
- * List of policy IDs for policies that should be enforced on the wallet.
2495
- * Currently, only one policy is supported per wallet.
2910
+ * An optional list of up to one policy ID to enforce on the wallet.
2496
2911
  */
2497
- policy_ids?: Array<string>;
2912
+ override_policy_ids?: PolicyInput;
2913
+ }
2914
+
2915
+ /**
2916
+ * Input for registering or updating an application public signing key for
2917
+ * API-based wallet actions.
2918
+ */
2919
+ export interface WalletAPIRegisterAuthorizationKeyInput {
2920
+ public_key: string;
2921
+
2922
+ display_name?: string;
2923
+
2924
+ /**
2925
+ * The role of an authorization key, controlling what actions it can authorize on a
2926
+ * wallet.
2927
+ */
2928
+ role?: AuthorizationKeyRole | null;
2929
+ }
2930
+
2931
+ /**
2932
+ * Input for revoking an application authorization key.
2933
+ */
2934
+ export interface WalletAPIRevokeAuthorizationKeyInput {
2935
+ id: string;
2936
+ }
2937
+
2938
+ /**
2939
+ * A named asset supported across all chains.
2940
+ */
2941
+ export type WalletAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol';
2942
+
2943
+ /**
2944
+ * Request body for wallet authentication with HPKE-encrypted response.
2945
+ */
2946
+ export interface WalletAuthenticateRequestBody {
2947
+ /**
2948
+ * The encryption type for the authentication response. Currently only supports
2949
+ * HPKE.
2950
+ */
2951
+ encryption_type: 'HPKE';
2952
+
2953
+ /**
2954
+ * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
2955
+ * private key will be able to decrypt the session key.
2956
+ */
2957
+ recipient_public_key: string;
2958
+
2959
+ /**
2960
+ * The user's JWT, to be used to authenticate the user.
2961
+ */
2962
+ user_jwt: string;
2963
+ }
2964
+
2965
+ /**
2966
+ * Headers required to authorize wallet operations.
2967
+ */
2968
+ export interface WalletAuthorizationHeaders {
2969
+ /**
2970
+ * ID of your Privy app.
2971
+ */
2972
+ 'privy-app-id': string;
2973
+
2974
+ /**
2975
+ * Request authorization signature. If multiple signatures are required, they
2976
+ * should be comma separated.
2977
+ */
2978
+ 'privy-authorization-signature'?: string;
2979
+
2980
+ /**
2981
+ * Request expiry. Value is a Unix timestamp in milliseconds representing the
2982
+ * deadline by which the request must be processed.
2983
+ */
2984
+ 'privy-request-expiry'?: string;
2498
2985
  }
2499
2986
 
2500
2987
  /**
@@ -2507,6 +2994,16 @@ export interface WalletBatchCreateInput {
2507
2994
  wallets: Array<WalletBatchItemInput>;
2508
2995
  }
2509
2996
 
2997
+ /**
2998
+ * Response for a batch wallet creation request.
2999
+ */
3000
+ export interface WalletBatchCreateResponse {
3001
+ /**
3002
+ * Array of results for each wallet creation request, in the same order as input.
3003
+ */
3004
+ results: Array<WalletBatchCreateResult>;
3005
+ }
3006
+
2510
3007
  /**
2511
3008
  * A single result from a batch wallet creation operation.
2512
3009
  */
@@ -2557,14 +3054,159 @@ export namespace WalletBatchCreateResult {
2557
3054
  }
2558
3055
 
2559
3056
  /**
2560
- * Response for a batch wallet creation request.
3057
+ * Input for a single wallet in a batch creation request.
2561
3058
  */
2562
- export interface WalletBatchCreateResponse {
3059
+ export interface WalletBatchItemInput {
2563
3060
  /**
2564
- * Array of results for each wallet creation request, in the same order as input.
3061
+ * The wallet chain types.
2565
3062
  */
2566
- results: Array<WalletBatchCreateResult>;
2567
- }
3063
+ chain_type: WalletChainType;
3064
+
3065
+ /**
3066
+ * Additional signers for the wallet.
3067
+ */
3068
+ additional_signers?: AdditionalSignerInput;
3069
+
3070
+ /**
3071
+ * A human-readable label for the wallet.
3072
+ */
3073
+ display_name?: string;
3074
+
3075
+ /**
3076
+ * A customer-provided identifier for mapping to external systems. URL-safe
3077
+ * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
3078
+ * after creation.
3079
+ */
3080
+ external_id?: string;
3081
+
3082
+ /**
3083
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
3084
+ * null to remove the current owner.
3085
+ */
3086
+ owner?: SharedAPI.OwnerInput | null;
3087
+
3088
+ /**
3089
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
3090
+ * not specify an owner.
3091
+ */
3092
+ owner_id?: SharedAPI.OwnerIDInput | null;
3093
+
3094
+ /**
3095
+ * List of policy IDs for policies that should be enforced on the wallet.
3096
+ * Currently, only one policy is supported per wallet.
3097
+ */
3098
+ policy_ids?: Array<string>;
3099
+ }
3100
+
3101
+ /**
3102
+ * The wallet chain types.
3103
+ */
3104
+ export type WalletChainType =
3105
+ | 'ethereum'
3106
+ | 'solana'
3107
+ | 'cosmos'
3108
+ | 'stellar'
3109
+ | 'sui'
3110
+ | 'aptos'
3111
+ | 'movement'
3112
+ | 'tron'
3113
+ | 'bitcoin-segwit'
3114
+ | 'bitcoin-taproot'
3115
+ | 'pearl'
3116
+ | 'near'
3117
+ | 'ton'
3118
+ | 'starknet'
3119
+ | 'spark';
3120
+
3121
+ /**
3122
+ * Information about the custodian managing this wallet.
3123
+ */
3124
+ export interface WalletCustodian {
3125
+ /**
3126
+ * The custodian responsible for the wallet.
3127
+ */
3128
+ provider: string;
3129
+
3130
+ /**
3131
+ * The resource ID of the beneficiary of the custodial wallet.
3132
+ */
3133
+ provider_user_id: string;
3134
+ }
3135
+
3136
+ /**
3137
+ * The entropy type of the wallet.
3138
+ */
3139
+ export type WalletEntropyType = 'hd' | 'private-key';
3140
+
3141
+ /**
3142
+ * A named asset on Ethereum-compatible chains.
3143
+ */
3144
+ export type WalletEthereumAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb';
3145
+
3146
+ /**
3147
+ * Request body for exporting a wallet private key.
3148
+ */
3149
+ export interface WalletExportRequestBody {
3150
+ /**
3151
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
3152
+ */
3153
+ encryption_type: HpkeEncryption;
3154
+
3155
+ /**
3156
+ * The base64-encoded encryption public key to encrypt the wallet private key with.
3157
+ */
3158
+ recipient_public_key: string;
3159
+
3160
+ export_seed_phrase?: boolean;
3161
+ }
3162
+
3163
+ /**
3164
+ * Response body containing the encrypted wallet private key.
3165
+ */
3166
+ export interface WalletExportResponseBody {
3167
+ /**
3168
+ * The encrypted private key.
3169
+ */
3170
+ ciphertext: string;
3171
+
3172
+ /**
3173
+ * The base64-encoded encapsulated key that was generated during encryption, for
3174
+ * use during decryption.
3175
+ */
3176
+ encapsulated_key: string;
3177
+
3178
+ /**
3179
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
3180
+ */
3181
+ encryption_type: HpkeEncryption;
3182
+ }
3183
+
3184
+ /**
3185
+ * Response from initializing a wallet import, containing the encryption public
3186
+ * key.
3187
+ */
3188
+ export interface WalletImportInitResponse {
3189
+ encryption_public_key: string;
3190
+
3191
+ /**
3192
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
3193
+ */
3194
+ encryption_type: HpkeEncryption;
3195
+
3196
+ import_id?: string;
3197
+ }
3198
+
3199
+ /**
3200
+ * The chain type of the wallet to import. Currently supports `ethereum` and
3201
+ * `solana`.
3202
+ */
3203
+ export type WalletImportSupportedChains = 'ethereum' | 'solana';
3204
+
3205
+ /**
3206
+ * The entropy type of the wallet to import. Supports `private-key` for raw private
3207
+ * keys and `hd` for HD wallet seed phrases.
3208
+ */
3209
+ export type WalletImportSupportedEntropyTypes = 'private-key' | 'hd';
2568
3210
 
2569
3211
  /**
2570
3212
  * Request body for wallet RPC operations, discriminated by method.
@@ -2621,219 +3263,84 @@ export type WalletRpcResponse =
2621
3263
  | ExportSeedPhraseRpcResponse;
2622
3264
 
2623
3265
  /**
2624
- * Request body for wallet authentication with HPKE-encrypted response.
3266
+ * A named asset on Solana.
2625
3267
  */
2626
- export interface WalletAuthenticateRequestBody {
2627
- /**
2628
- * The encryption type for the authentication response. Currently only supports
2629
- * HPKE.
2630
- */
2631
- encryption_type: 'HPKE';
2632
-
2633
- /**
2634
- * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
2635
- * private key will be able to decrypt the session key.
2636
- */
2637
- recipient_public_key: string;
2638
-
2639
- /**
2640
- * The user's JWT, to be used to authenticate the user.
2641
- */
2642
- user_jwt: string;
2643
- }
3268
+ export type WalletSolanaAsset = 'sol' | 'usdc' | 'eurc' | 'usdb';
2644
3269
 
2645
3270
  /**
2646
- * The source asset, amount, and chain for a token transfer.
3271
+ * Request body for updating a wallet.
2647
3272
  */
2648
- export interface TokenTransferSource {
3273
+ export interface WalletUpdateRequestBody {
2649
3274
  /**
2650
- * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
2651
- * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
2652
- * etc.).
3275
+ * Additional signers for the wallet.
2653
3276
  */
2654
- amount: string;
3277
+ additional_signers?: AdditionalSignerInput;
2655
3278
 
2656
3279
  /**
2657
- * The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
2658
- * (native Ethereum), 'sol' (native Solana).
3280
+ * A human-readable label for the wallet. Set to null to clear.
2659
3281
  */
2660
- asset: string;
3282
+ display_name?: string | null;
2661
3283
 
2662
3284
  /**
2663
- * The blockchain network on which to perform the transfer. Supported chains
2664
- * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
2665
- * respective testnets.
3285
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
3286
+ * null to remove the current owner.
2666
3287
  */
2667
- chain: string;
2668
- }
3288
+ owner?: SharedAPI.OwnerInput | null;
2669
3289
 
2670
- /**
2671
- * The destination address for a token transfer.
2672
- */
2673
- export interface TokenTransferDestination {
2674
3290
  /**
2675
- * Recipient address (hex for EVM, base58 for Solana)
3291
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
3292
+ * not specify an owner.
2676
3293
  */
2677
- address: string;
2678
- }
3294
+ owner_id?: SharedAPI.OwnerIDInput | null;
2679
3295
 
2680
- /**
2681
- * Request body for initiating a sponsored token transfer from an embedded wallet.
2682
- */
2683
- export interface CreateTokenTransferRequest {
2684
3296
  /**
2685
- * The destination address for a token transfer.
3297
+ * New policy IDs to enforce on the wallet. Currently, only one policy is supported
3298
+ * per wallet.
2686
3299
  */
2687
- destination: TokenTransferDestination;
3300
+ policy_ids?: Array<string>;
3301
+ }
2688
3302
 
3303
+ export interface WalletInitImportResponse {
2689
3304
  /**
2690
- * The source asset, amount, and chain for a token transfer.
3305
+ * The base64-encoded encryption public key to encrypt the wallet entropy with.
2691
3306
  */
2692
- source: TokenTransferSource;
2693
- }
2694
-
2695
- /**
2696
- * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
2697
- */
2698
- export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
2699
-
2700
- /**
2701
- * Input for registering or updating an application public signing key for
2702
- * API-based wallet actions.
2703
- */
2704
- export interface WalletAPIRegisterAuthorizationKeyInput {
2705
- public_key: string;
2706
-
2707
- display_name?: string;
3307
+ encryption_public_key: string;
2708
3308
 
2709
3309
  /**
2710
- * The role of an authorization key, controlling what actions it can authorize on a
2711
- * wallet.
3310
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2712
3311
  */
2713
- role?: AuthorizationKeyRole | null;
3312
+ encryption_type: HpkeEncryption;
2714
3313
  }
2715
3314
 
2716
- /**
2717
- * Input for revoking an application authorization key.
2718
- */
2719
- export interface WalletAPIRevokeAuthorizationKeyInput {
2720
- id: string;
2721
- }
3315
+ export type WalletAuthenticateWithJwtResponse =
3316
+ | WalletAuthenticateWithJwtResponse.WithEncryption
3317
+ | WalletAuthenticateWithJwtResponse.WithoutEncryption;
2722
3318
 
2723
- /**
2724
- * Dashboard response for a wallet authorization key (includes role, which is an
2725
- * internal-only concept).
2726
- */
2727
- export interface AuthorizationKeyDashboardResponse {
2728
- id: string;
3319
+ export namespace WalletAuthenticateWithJwtResponse {
3320
+ export interface WithEncryption {
3321
+ /**
3322
+ * The encrypted authorization key data.
3323
+ */
3324
+ encrypted_authorization_key: WithEncryption.EncryptedAuthorizationKey;
2729
3325
 
2730
- created_at: number;
3326
+ /**
3327
+ * The expiration time of the authorization key in milliseconds since the epoch.
3328
+ */
3329
+ expires_at: number;
2731
3330
 
2732
- display_name: string | null;
3331
+ wallets: Array<WalletsAPI.Wallet>;
3332
+ }
2733
3333
 
2734
- public_key: string;
2735
-
2736
- /**
2737
- * The role of an authorization key, controlling what actions it can authorize on a
2738
- * wallet.
2739
- */
2740
- role: AuthorizationKeyRole | null;
2741
- }
2742
-
2743
- /**
2744
- * Public-facing response for a wallet authorization key.
2745
- */
2746
- export interface AuthorizationKeyResponse {
2747
- id: string;
2748
-
2749
- created_at: number;
2750
-
2751
- display_name: string | null;
2752
-
2753
- public_key: string;
2754
- }
2755
-
2756
- /**
2757
- * Headers required to authorize wallet operations.
2758
- */
2759
- export interface WalletAuthorizationHeaders {
2760
- /**
2761
- * ID of your Privy app.
2762
- */
2763
- 'privy-app-id': string;
2764
-
2765
- /**
2766
- * Request authorization signature. If multiple signatures are required, they
2767
- * should be comma separated.
2768
- */
2769
- 'privy-authorization-signature'?: string;
2770
-
2771
- /**
2772
- * Request expiry. Value is a Unix timestamp in milliseconds representing the
2773
- * deadline by which the request must be processed.
2774
- */
2775
- 'privy-request-expiry'?: string;
2776
- }
2777
-
2778
- export interface WalletExportResponse {
2779
- /**
2780
- * The encrypted private key.
2781
- */
2782
- ciphertext: string;
2783
-
2784
- /**
2785
- * The base64-encoded encapsulated key that was generated during encryption, for
2786
- * use during decryption.
2787
- */
2788
- encapsulated_key: string;
2789
-
2790
- /**
2791
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2792
- */
2793
- encryption_type: HpkeEncryption;
2794
- }
2795
-
2796
- export interface WalletInitImportResponse {
2797
- /**
2798
- * The base64-encoded encryption public key to encrypt the wallet entropy with.
2799
- */
2800
- encryption_public_key: string;
2801
-
2802
- /**
2803
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2804
- */
2805
- encryption_type: HpkeEncryption;
2806
- }
2807
-
2808
- export type WalletAuthenticateWithJwtResponse =
2809
- | WalletAuthenticateWithJwtResponse.WithEncryption
2810
- | WalletAuthenticateWithJwtResponse.WithoutEncryption;
2811
-
2812
- export namespace WalletAuthenticateWithJwtResponse {
2813
- export interface WithEncryption {
2814
- /**
2815
- * The encrypted authorization key data.
2816
- */
2817
- encrypted_authorization_key: WithEncryption.EncryptedAuthorizationKey;
2818
-
2819
- /**
2820
- * The expiration time of the authorization key in seconds since the epoch.
2821
- */
2822
- expires_at: number;
2823
-
2824
- wallets: Array<WalletsAPI.Wallet>;
2825
- }
2826
-
2827
- export namespace WithEncryption {
2828
- /**
2829
- * The encrypted authorization key data.
2830
- */
2831
- export interface EncryptedAuthorizationKey {
2832
- /**
2833
- * The encrypted authorization key corresponding to the user's current
2834
- * authentication session.
2835
- */
2836
- ciphertext: string;
3334
+ export namespace WithEncryption {
3335
+ /**
3336
+ * The encrypted authorization key data.
3337
+ */
3338
+ export interface EncryptedAuthorizationKey {
3339
+ /**
3340
+ * The encrypted authorization key corresponding to the user's current
3341
+ * authentication session.
3342
+ */
3343
+ ciphertext: string;
2837
3344
 
2838
3345
  /**
2839
3346
  * Base64-encoded ephemeral public key used in the HPKE encryption process.
@@ -2855,7 +3362,7 @@ export namespace WalletAuthenticateWithJwtResponse {
2855
3362
  authorization_key: string;
2856
3363
 
2857
3364
  /**
2858
- * The expiration time of the authorization key in seconds since the epoch.
3365
+ * The expiration time of the authorization key in milliseconds since the epoch.
2859
3366
  */
2860
3367
  expires_at: number;
2861
3368
 
@@ -3152,6 +3659,11 @@ export declare namespace WalletRpcParams {
3152
3659
  */
3153
3660
  chain_type?: 'ethereum';
3154
3661
 
3662
+ /**
3663
+ * Body param: A hex-encoded string prefixed with '0x'.
3664
+ */
3665
+ experimental_data_suffix?: Hex;
3666
+
3155
3667
  /**
3156
3668
  * Body param
3157
3669
  */
@@ -3437,6 +3949,11 @@ export declare namespace WalletRpcParams {
3437
3949
  */
3438
3950
  chain_type?: 'ethereum';
3439
3951
 
3952
+ /**
3953
+ * Body param: A hex-encoded string prefixed with '0x'.
3954
+ */
3955
+ experimental_data_suffix?: Hex;
3956
+
3440
3957
  /**
3441
3958
  * Body param
3442
3959
  */
@@ -3995,7 +4512,10 @@ export declare namespace WalletRpcParams {
3995
4512
  }
3996
4513
 
3997
4514
  export interface WalletSubmitImportParams {
3998
- wallet: WalletSubmitImportParams.HDSubmitInput | WalletSubmitImportParams.PrivateKeySubmitInput;
4515
+ /**
4516
+ * The submission input for importing an HD wallet.
4517
+ */
4518
+ wallet: HDSubmitInput | PrivateKeySubmitInput;
3999
4519
 
4000
4520
  /**
4001
4521
  * Additional signers for the wallet.
@@ -4032,92 +4552,6 @@ export interface WalletSubmitImportParams {
4032
4552
  policy_ids?: PolicyInput;
4033
4553
  }
4034
4554
 
4035
- export namespace WalletSubmitImportParams {
4036
- export interface HDSubmitInput {
4037
- /**
4038
- * The address of the wallet to import.
4039
- */
4040
- address: string;
4041
-
4042
- /**
4043
- * The chain type of the wallet to import. Currently supports `ethereum` and
4044
- * `solana`.
4045
- */
4046
- chain_type: WalletsAPI.WalletImportSupportedChains;
4047
-
4048
- /**
4049
- * The encrypted entropy of the wallet to import.
4050
- */
4051
- ciphertext: string;
4052
-
4053
- /**
4054
- * The base64-encoded encapsulated key that was generated during encryption, for
4055
- * use during decryption inside the TEE.
4056
- */
4057
- encapsulated_key: string;
4058
-
4059
- /**
4060
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
4061
- */
4062
- encryption_type: WalletsAPI.HpkeEncryption;
4063
-
4064
- /**
4065
- * The entropy type of the wallet to import.
4066
- */
4067
- entropy_type: 'hd';
4068
-
4069
- /**
4070
- * The index of the wallet to import.
4071
- */
4072
- index: number;
4073
-
4074
- /**
4075
- * Optional HPKE configuration for wallet import decryption. These parameters allow
4076
- * importing wallets encrypted by external providers that use different HPKE
4077
- * configurations.
4078
- */
4079
- hpke_config?: WalletsAPI.HpkeImportConfig;
4080
- }
4081
-
4082
- export interface PrivateKeySubmitInput {
4083
- /**
4084
- * The address of the wallet to import.
4085
- */
4086
- address: string;
4087
-
4088
- /**
4089
- * The chain type of the wallet to import. Currently supports `ethereum` and
4090
- * `solana`.
4091
- */
4092
- chain_type: WalletsAPI.WalletImportSupportedChains;
4093
-
4094
- /**
4095
- * The encrypted entropy of the wallet to import.
4096
- */
4097
- ciphertext: string;
4098
-
4099
- /**
4100
- * The base64-encoded encapsulated key that was generated during encryption, for
4101
- * use during decryption inside the TEE.
4102
- */
4103
- encapsulated_key: string;
4104
-
4105
- /**
4106
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
4107
- */
4108
- encryption_type: WalletsAPI.HpkeEncryption;
4109
-
4110
- entropy_type: 'private-key';
4111
-
4112
- /**
4113
- * Optional HPKE configuration for wallet import decryption. These parameters allow
4114
- * importing wallets encrypted by external providers that use different HPKE
4115
- * configurations.
4116
- */
4117
- hpke_config?: WalletsAPI.HpkeImportConfig;
4118
- }
4119
- }
4120
-
4121
4555
  export interface WalletUpdateParams {
4122
4556
  /**
4123
4557
  * Body param: Additional signers for the wallet.
@@ -4196,27 +4630,7 @@ export namespace WalletCreateWalletsWithRecoveryParams {
4196
4630
  }
4197
4631
 
4198
4632
  export interface RecoveryUser {
4199
- linked_accounts: Array<RecoveryUser.UnionMember0 | RecoveryUser.UnionMember1>;
4200
- }
4201
-
4202
- export namespace RecoveryUser {
4203
- export interface UnionMember0 {
4204
- /**
4205
- * The email address of the user.
4206
- */
4207
- address: string;
4208
-
4209
- type: 'email';
4210
- }
4211
-
4212
- export interface UnionMember1 {
4213
- /**
4214
- * The JWT subject ID of the user.
4215
- */
4216
- custom_user_id: string;
4217
-
4218
- type: 'custom_auth';
4219
- }
4633
+ linked_accounts: Array<UsersAPI.LinkedAccountEmailInput | UsersAPI.LinkedAccountCustomJwtInput>;
4220
4634
  }
4221
4635
 
4222
4636
  export interface Wallet {
@@ -4250,175 +4664,195 @@ Wallets.Balance = Balance;
4250
4664
  export declare namespace Wallets {
4251
4665
  export {
4252
4666
  type WalletRevokeResponse as WalletRevokeResponse,
4253
- type CurveSigningChainType as CurveSigningChainType,
4254
- type ExtendedChainType as ExtendedChainType,
4255
- type FirstClassChainType as FirstClassChainType,
4256
- type WalletChainType as WalletChainType,
4257
- type AuthorizationKeyRole as AuthorizationKeyRole,
4258
- type WalletEntropyType as WalletEntropyType,
4259
- type SolanaWalletDerivationStrategy as SolanaWalletDerivationStrategy,
4260
- type PolicyInput as PolicyInput,
4261
- type AdditionalSignerItemInput as AdditionalSignerItemInput,
4262
4667
  type AdditionalSignerInput as AdditionalSignerInput,
4263
- type WalletAdditionalSignerItem as WalletAdditionalSignerItem,
4264
- type WalletAdditionalSigner as WalletAdditionalSigner,
4668
+ type AdditionalSignerItemInput as AdditionalSignerItemInput,
4265
4669
  type Address as Address,
4266
- type WalletCustodian as WalletCustodian,
4267
- type CustodialWalletProvider as CustodialWalletProvider,
4670
+ type AmountType as AmountType,
4671
+ type AuthorizationKeyDashboardResponse as AuthorizationKeyDashboardResponse,
4672
+ type AuthorizationKeyResponse as AuthorizationKeyResponse,
4673
+ type AuthorizationKeyRole as AuthorizationKeyRole,
4674
+ type CurveSigningChainType as CurveSigningChainType,
4675
+ type CurveType as CurveType,
4676
+ type CustodialWallet as CustodialWallet,
4268
4677
  type CustodialWalletChainType as CustodialWalletChainType,
4269
4678
  type CustodialWalletCreateInput as CustodialWalletCreateInput,
4270
- type CustodialWallet as CustodialWallet,
4271
- type HpkeEncryption as HpkeEncryption,
4272
- type RecipientPublicKey as RecipientPublicKey,
4679
+ type CustodialWalletProvider as CustodialWalletProvider,
4680
+ type CustomTokenTransferSource as CustomTokenTransferSource,
4681
+ type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput,
4682
+ type EthereumPersonalSignRpcInputParams as EthereumPersonalSignRpcInputParams,
4683
+ type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse,
4684
+ type EthereumPersonalSignRpcResponseData as EthereumPersonalSignRpcResponseData,
4685
+ type EthereumRpcInput as EthereumRpcInput,
4686
+ type EthereumRpcResponse as EthereumRpcResponse,
4687
+ type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput,
4688
+ type EthereumSecp256k1SignRpcInputParams as EthereumSecp256k1SignRpcInputParams,
4689
+ type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse,
4690
+ type EthereumSecp256k1SignRpcResponseData as EthereumSecp256k1SignRpcResponseData,
4691
+ type EthereumSendCallsCall as EthereumSendCallsCall,
4692
+ type EthereumSendCallsRpcInput as EthereumSendCallsRpcInput,
4693
+ type EthereumSendCallsRpcInputParams as EthereumSendCallsRpcInputParams,
4694
+ type EthereumSendCallsRpcResponse as EthereumSendCallsRpcResponse,
4695
+ type EthereumSendCallsRpcResponseData as EthereumSendCallsRpcResponseData,
4696
+ type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput,
4697
+ type EthereumSendTransactionRpcInputParams as EthereumSendTransactionRpcInputParams,
4698
+ type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse,
4699
+ type EthereumSendTransactionRpcResponseData as EthereumSendTransactionRpcResponseData,
4700
+ type EthereumSign7702Authorization as EthereumSign7702Authorization,
4701
+ type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput,
4702
+ type EthereumSign7702AuthorizationRpcInputParams as EthereumSign7702AuthorizationRpcInputParams,
4703
+ type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse,
4704
+ type EthereumSign7702AuthorizationRpcResponseData as EthereumSign7702AuthorizationRpcResponseData,
4705
+ type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput,
4706
+ type EthereumSignTransactionRpcInputParams as EthereumSignTransactionRpcInputParams,
4707
+ type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse,
4708
+ type EthereumSignTransactionRpcResponseData as EthereumSignTransactionRpcResponseData,
4709
+ type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput,
4710
+ type EthereumSignTypedDataRpcInputParams as EthereumSignTypedDataRpcInputParams,
4711
+ type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse,
4712
+ type EthereumSignTypedDataRpcResponseData as EthereumSignTypedDataRpcResponseData,
4713
+ type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput,
4714
+ type EthereumSignUserOperationRpcInputParams as EthereumSignUserOperationRpcInputParams,
4715
+ type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse,
4716
+ type EthereumSignUserOperationRpcResponseData as EthereumSignUserOperationRpcResponseData,
4717
+ type EthereumTypedDataInput as EthereumTypedDataInput,
4718
+ type ExportPrivateKeyRpcInput as ExportPrivateKeyRpcInput,
4719
+ type ExportPrivateKeyRpcResponse as ExportPrivateKeyRpcResponse,
4720
+ type ExportSeedPhraseRpcInput as ExportSeedPhraseRpcInput,
4721
+ type ExportSeedPhraseRpcResponse as ExportSeedPhraseRpcResponse,
4273
4722
  type ExportType as ExportType,
4274
- type PrivateKeyExportInput as PrivateKeyExportInput,
4275
- type PrivateKeyExportResponse as PrivateKeyExportResponse,
4276
- type SeedPhraseExportInput as SeedPhraseExportInput,
4277
- type SeedPhraseExportResponse as SeedPhraseExportResponse,
4278
- type WalletImportSupportedChains as WalletImportSupportedChains,
4279
- type WalletImportSupportedEntropyTypes as WalletImportSupportedEntropyTypes,
4280
- type WalletImportInitResponse as WalletImportInitResponse,
4723
+ type ExtendedChainType as ExtendedChainType,
4724
+ type FirstClassChainType as FirstClassChainType,
4725
+ type GetByWalletAddressRequestBody as GetByWalletAddressRequestBody,
4726
+ type HDInitInput as HDInitInput,
4727
+ type HDPath as HDPath,
4728
+ type HDSubmitInput as HDSubmitInput,
4281
4729
  type HpkeAeadAlgorithm as HpkeAeadAlgorithm,
4730
+ type HpkeEncryption as HpkeEncryption,
4282
4731
  type HpkeImportConfig as HpkeImportConfig,
4283
- type CurveType as CurveType,
4284
- type HDPath as HDPath,
4285
- type SigningAlgorithm as SigningAlgorithm,
4286
4732
  type Hex as Hex,
4733
+ type NamedTokenTransferSource as NamedTokenTransferSource,
4734
+ type OutputWithPreviousTransactionData as OutputWithPreviousTransactionData,
4735
+ type PolicyInput as PolicyInput,
4736
+ type PrivateKeyExportInput as PrivateKeyExportInput,
4737
+ type PrivateKeyExportResponse as PrivateKeyExportResponse,
4738
+ type PrivateKeyInitInput as PrivateKeyInitInput,
4739
+ type PrivateKeySubmitInput as PrivateKeySubmitInput,
4287
4740
  type Quantity as Quantity,
4288
- type ExportPrivateKeyRpcInput as ExportPrivateKeyRpcInput,
4289
- type ExportPrivateKeyRpcResponse as ExportPrivateKeyRpcResponse,
4290
- type ExportSeedPhraseRpcInput as ExportSeedPhraseRpcInput,
4291
- type ExportSeedPhraseRpcResponse as ExportSeedPhraseRpcResponse,
4292
- type RawSignHashParams as RawSignHashParams,
4293
4741
  type RawSignBytesEncoding as RawSignBytesEncoding,
4294
4742
  type RawSignBytesHashFunction as RawSignBytesHashFunction,
4295
4743
  type RawSignBytesParams as RawSignBytesParams,
4296
- type RawSignInputParams as RawSignInputParams,
4744
+ type RawSignHashParams as RawSignHashParams,
4297
4745
  type RawSignInput as RawSignInput,
4298
- type RawSignResponseData as RawSignResponseData,
4746
+ type RawSignInputParams as RawSignInputParams,
4299
4747
  type RawSignResponse as RawSignResponse,
4300
- type EthereumSign7702Authorization as EthereumSign7702Authorization,
4301
- type UnsignedEthereumTransaction as UnsignedEthereumTransaction,
4302
- type UserOperationInput as UserOperationInput,
4303
- type TypedDataDomainInputParams as TypedDataDomainInputParams,
4304
- type TypedDataTypeFieldInput as TypedDataTypeFieldInput,
4305
- type TypedDataTypesInputParams as TypedDataTypesInputParams,
4306
- type EthereumPersonalSignRpcInputParams as EthereumPersonalSignRpcInputParams,
4307
- type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput,
4308
- type EthereumSignTransactionRpcInputParams as EthereumSignTransactionRpcInputParams,
4309
- type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput,
4310
- type EthereumSendTransactionRpcInputParams as EthereumSendTransactionRpcInputParams,
4311
- type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput,
4312
- type EthereumTypedDataInput as EthereumTypedDataInput,
4313
- type EthereumSignTypedDataRpcInputParams as EthereumSignTypedDataRpcInputParams,
4314
- type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput,
4315
- type EthereumSecp256k1SignRpcInputParams as EthereumSecp256k1SignRpcInputParams,
4316
- type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput,
4317
- type EthereumSign7702AuthorizationRpcInputParams as EthereumSign7702AuthorizationRpcInputParams,
4318
- type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput,
4319
- type EthereumSignUserOperationRpcInputParams as EthereumSignUserOperationRpcInputParams,
4320
- type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput,
4321
- type EthereumSendCallsCall as EthereumSendCallsCall,
4322
- type EthereumSendCallsRpcInputParams as EthereumSendCallsRpcInputParams,
4323
- type EthereumSendCallsRpcInput as EthereumSendCallsRpcInput,
4324
- type EthereumRpcInput as EthereumRpcInput,
4325
- type EthereumPersonalSignRpcResponseData as EthereumPersonalSignRpcResponseData,
4326
- type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse,
4327
- type EthereumSignTransactionRpcResponseData as EthereumSignTransactionRpcResponseData,
4328
- type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse,
4329
- type EthereumSendTransactionRpcResponseData as EthereumSendTransactionRpcResponseData,
4330
- type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse,
4331
- type EthereumSignTypedDataRpcResponseData as EthereumSignTypedDataRpcResponseData,
4332
- type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse,
4333
- type EthereumSecp256k1SignRpcResponseData as EthereumSecp256k1SignRpcResponseData,
4334
- type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse,
4335
- type EthereumSign7702AuthorizationRpcResponseData as EthereumSign7702AuthorizationRpcResponseData,
4336
- type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse,
4337
- type EthereumSignUserOperationRpcResponseData as EthereumSignUserOperationRpcResponseData,
4338
- type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse,
4339
- type EthereumSendCallsRpcResponseData as EthereumSendCallsRpcResponseData,
4340
- type EthereumSendCallsRpcResponse as EthereumSendCallsRpcResponse,
4341
- type EthereumRpcResponse as EthereumRpcResponse,
4342
- type SolanaSignTransactionRpcInputParams as SolanaSignTransactionRpcInputParams,
4343
- type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput,
4344
- type SolanaSignAndSendTransactionRpcInputParams as SolanaSignAndSendTransactionRpcInputParams,
4345
- type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput,
4346
- type SolanaSignMessageRpcInputParams as SolanaSignMessageRpcInputParams,
4347
- type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput,
4748
+ type RawSignResponseData as RawSignResponseData,
4749
+ type RecipientPublicKey as RecipientPublicKey,
4750
+ type SeedPhraseExportInput as SeedPhraseExportInput,
4751
+ type SeedPhraseExportResponse as SeedPhraseExportResponse,
4752
+ type SigningAlgorithm as SigningAlgorithm,
4348
4753
  type SolanaRpcInput as SolanaRpcInput,
4349
- type SolanaSignTransactionRpcResponseData as SolanaSignTransactionRpcResponseData,
4350
- type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse,
4351
- type SolanaSignAndSendTransactionRpcResponseData as SolanaSignAndSendTransactionRpcResponseData,
4754
+ type SolanaRpcResponse as SolanaRpcResponse,
4755
+ type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput,
4756
+ type SolanaSignAndSendTransactionRpcInputParams as SolanaSignAndSendTransactionRpcInputParams,
4352
4757
  type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse,
4353
- type SolanaSignMessageRpcResponseData as SolanaSignMessageRpcResponseData,
4758
+ type SolanaSignAndSendTransactionRpcResponseData as SolanaSignAndSendTransactionRpcResponseData,
4759
+ type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput,
4760
+ type SolanaSignMessageRpcInputParams as SolanaSignMessageRpcInputParams,
4354
4761
  type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse,
4355
- type SolanaRpcResponse as SolanaRpcResponse,
4356
- type SparkNetwork as SparkNetwork,
4357
- type SparkSigningKeyshare as SparkSigningKeyshare,
4358
- type SparkWalletLeaf as SparkWalletLeaf,
4359
- type SparkTransferLeaf as SparkTransferLeaf,
4360
- type SparkTransfer as SparkTransfer,
4361
- type SparkUserTokenMetadata as SparkUserTokenMetadata,
4362
- type SparkTokenBalance as SparkTokenBalance,
4762
+ type SolanaSignMessageRpcResponseData as SolanaSignMessageRpcResponseData,
4763
+ type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput,
4764
+ type SolanaSignTransactionRpcInputParams as SolanaSignTransactionRpcInputParams,
4765
+ type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse,
4766
+ type SolanaSignTransactionRpcResponseData as SolanaSignTransactionRpcResponseData,
4767
+ type SolanaWalletDerivationStrategy as SolanaWalletDerivationStrategy,
4363
4768
  type SparkBalance as SparkBalance,
4364
- type TokenOutput as TokenOutput,
4365
- type OutputWithPreviousTransactionData as OutputWithPreviousTransactionData,
4769
+ type SparkClaimStaticDepositRpcInput as SparkClaimStaticDepositRpcInput,
4770
+ type SparkClaimStaticDepositRpcInputParams as SparkClaimStaticDepositRpcInputParams,
4771
+ type SparkClaimStaticDepositRpcResponse as SparkClaimStaticDepositRpcResponse,
4772
+ type SparkClaimStaticDepositRpcResponseData as SparkClaimStaticDepositRpcResponseData,
4773
+ type SparkCreateLightningInvoiceRpcInput as SparkCreateLightningInvoiceRpcInput,
4774
+ type SparkCreateLightningInvoiceRpcInputParams as SparkCreateLightningInvoiceRpcInputParams,
4775
+ type SparkCreateLightningInvoiceRpcResponse as SparkCreateLightningInvoiceRpcResponse,
4776
+ type SparkGetBalanceRpcInput as SparkGetBalanceRpcInput,
4777
+ type SparkGetBalanceRpcResponse as SparkGetBalanceRpcResponse,
4778
+ type SparkGetClaimStaticDepositQuoteRpcInput as SparkGetClaimStaticDepositQuoteRpcInput,
4779
+ type SparkGetClaimStaticDepositQuoteRpcInputParams as SparkGetClaimStaticDepositQuoteRpcInputParams,
4780
+ type SparkGetClaimStaticDepositQuoteRpcResponse as SparkGetClaimStaticDepositQuoteRpcResponse,
4781
+ type SparkGetClaimStaticDepositQuoteRpcResponseData as SparkGetClaimStaticDepositQuoteRpcResponseData,
4782
+ type SparkGetStaticDepositAddressRpcInput as SparkGetStaticDepositAddressRpcInput,
4783
+ type SparkGetStaticDepositAddressRpcResponse as SparkGetStaticDepositAddressRpcResponse,
4784
+ type SparkGetStaticDepositAddressRpcResponseData as SparkGetStaticDepositAddressRpcResponseData,
4366
4785
  type SparkLightningFee as SparkLightningFee,
4367
4786
  type SparkLightningReceiveRequest as SparkLightningReceiveRequest,
4368
4787
  type SparkLightningSendRequest as SparkLightningSendRequest,
4369
- type SparkTransferRpcInputParams as SparkTransferRpcInputParams,
4370
- type SparkTransferRpcInput as SparkTransferRpcInput,
4371
- type SparkGetBalanceRpcInput as SparkGetBalanceRpcInput,
4788
+ type SparkNetwork as SparkNetwork,
4372
4789
  type SparkOutputSelectionStrategy as SparkOutputSelectionStrategy,
4373
- type SparkTransferTokensRpcInputParams as SparkTransferTokensRpcInputParams,
4374
- type SparkTransferTokensRpcInput as SparkTransferTokensRpcInput,
4375
- type SparkGetStaticDepositAddressRpcInput as SparkGetStaticDepositAddressRpcInput,
4376
- type SparkGetClaimStaticDepositQuoteRpcInputParams as SparkGetClaimStaticDepositQuoteRpcInputParams,
4377
- type SparkGetClaimStaticDepositQuoteRpcInput as SparkGetClaimStaticDepositQuoteRpcInput,
4378
- type SparkClaimStaticDepositRpcInputParams as SparkClaimStaticDepositRpcInputParams,
4379
- type SparkClaimStaticDepositRpcInput as SparkClaimStaticDepositRpcInput,
4380
- type SparkCreateLightningInvoiceRpcInputParams as SparkCreateLightningInvoiceRpcInputParams,
4381
- type SparkCreateLightningInvoiceRpcInput as SparkCreateLightningInvoiceRpcInput,
4382
- type SparkPayLightningInvoiceRpcInputParams as SparkPayLightningInvoiceRpcInputParams,
4383
4790
  type SparkPayLightningInvoiceRpcInput as SparkPayLightningInvoiceRpcInput,
4384
- type SparkSignMessageWithIdentityKeyRpcInputParams as SparkSignMessageWithIdentityKeyRpcInputParams,
4385
- type SparkSignMessageWithIdentityKeyRpcInput as SparkSignMessageWithIdentityKeyRpcInput,
4791
+ type SparkPayLightningInvoiceRpcInputParams as SparkPayLightningInvoiceRpcInputParams,
4792
+ type SparkPayLightningInvoiceRpcResponse as SparkPayLightningInvoiceRpcResponse,
4386
4793
  type SparkRpcInput as SparkRpcInput,
4794
+ type SparkRpcResponse as SparkRpcResponse,
4795
+ type SparkSignMessageWithIdentityKeyRpcInput as SparkSignMessageWithIdentityKeyRpcInput,
4796
+ type SparkSignMessageWithIdentityKeyRpcInputParams as SparkSignMessageWithIdentityKeyRpcInputParams,
4797
+ type SparkSignMessageWithIdentityKeyRpcResponse as SparkSignMessageWithIdentityKeyRpcResponse,
4798
+ type SparkSignMessageWithIdentityKeyRpcResponseData as SparkSignMessageWithIdentityKeyRpcResponseData,
4799
+ type SparkSigningKeyshare as SparkSigningKeyshare,
4800
+ type SparkTokenBalance as SparkTokenBalance,
4801
+ type SparkTransfer as SparkTransfer,
4802
+ type SparkTransferLeaf as SparkTransferLeaf,
4803
+ type SparkTransferRpcInput as SparkTransferRpcInput,
4804
+ type SparkTransferRpcInputParams as SparkTransferRpcInputParams,
4387
4805
  type SparkTransferRpcResponse as SparkTransferRpcResponse,
4388
- type SparkGetBalanceRpcResponse as SparkGetBalanceRpcResponse,
4389
- type SparkTransferTokensRpcResponseData as SparkTransferTokensRpcResponseData,
4806
+ type SparkTransferTokensRpcInput as SparkTransferTokensRpcInput,
4807
+ type SparkTransferTokensRpcInputParams as SparkTransferTokensRpcInputParams,
4390
4808
  type SparkTransferTokensRpcResponse as SparkTransferTokensRpcResponse,
4391
- type SparkGetStaticDepositAddressRpcResponseData as SparkGetStaticDepositAddressRpcResponseData,
4392
- type SparkGetStaticDepositAddressRpcResponse as SparkGetStaticDepositAddressRpcResponse,
4393
- type SparkGetClaimStaticDepositQuoteRpcResponseData as SparkGetClaimStaticDepositQuoteRpcResponseData,
4394
- type SparkGetClaimStaticDepositQuoteRpcResponse as SparkGetClaimStaticDepositQuoteRpcResponse,
4395
- type SparkClaimStaticDepositRpcResponseData as SparkClaimStaticDepositRpcResponseData,
4396
- type SparkClaimStaticDepositRpcResponse as SparkClaimStaticDepositRpcResponse,
4397
- type SparkCreateLightningInvoiceRpcResponse as SparkCreateLightningInvoiceRpcResponse,
4398
- type SparkPayLightningInvoiceRpcResponse as SparkPayLightningInvoiceRpcResponse,
4399
- type SparkSignMessageWithIdentityKeyRpcResponseData as SparkSignMessageWithIdentityKeyRpcResponseData,
4400
- type SparkSignMessageWithIdentityKeyRpcResponse as SparkSignMessageWithIdentityKeyRpcResponse,
4401
- type SparkRpcResponse as SparkRpcResponse,
4809
+ type SparkTransferTokensRpcResponseData as SparkTransferTokensRpcResponseData,
4810
+ type SparkUserTokenMetadata as SparkUserTokenMetadata,
4811
+ type SparkWalletLeaf as SparkWalletLeaf,
4812
+ type SuiCommandName as SuiCommandName,
4813
+ type TempoAaAuthorization as TempoAaAuthorization,
4814
+ type TempoCall as TempoCall,
4815
+ type TempoFeePayerSignature as TempoFeePayerSignature,
4816
+ type TokenOutput as TokenOutput,
4817
+ type TokenTransferDestination as TokenTransferDestination,
4818
+ type TokenTransferSource as TokenTransferSource,
4819
+ type TransactionDetail as TransactionDetail,
4820
+ type TransactionTokenAddressInput as TransactionTokenAddressInput,
4821
+ type TransferReceivedTransactionDetail as TransferReceivedTransactionDetail,
4822
+ type TransferRequestBody as TransferRequestBody,
4823
+ type TransferSentTransactionDetail as TransferSentTransactionDetail,
4824
+ type TypedDataDomainInputParams as TypedDataDomainInputParams,
4825
+ type TypedDataTypeFieldInput as TypedDataTypeFieldInput,
4826
+ type TypedDataTypesInputParams as TypedDataTypesInputParams,
4827
+ type UnsignedEthereumTransaction as UnsignedEthereumTransaction,
4828
+ type UnsignedStandardEthereumTransaction as UnsignedStandardEthereumTransaction,
4829
+ type UnsignedTempoTransaction as UnsignedTempoTransaction,
4830
+ type UserOperationInput as UserOperationInput,
4402
4831
  type Wallet as Wallet,
4403
- type GetByWalletAddressRequestBody as GetByWalletAddressRequestBody,
4404
- type WalletUpdateRequestBody as WalletUpdateRequestBody,
4405
- type WalletBatchItemInput as WalletBatchItemInput,
4832
+ type WalletAdditionalSigner as WalletAdditionalSigner,
4833
+ type WalletAdditionalSignerItem as WalletAdditionalSignerItem,
4834
+ type WalletAPIRegisterAuthorizationKeyInput as WalletAPIRegisterAuthorizationKeyInput,
4835
+ type WalletAPIRevokeAuthorizationKeyInput as WalletAPIRevokeAuthorizationKeyInput,
4836
+ type WalletAsset as WalletAsset,
4837
+ type WalletAuthenticateRequestBody as WalletAuthenticateRequestBody,
4838
+ type WalletAuthorizationHeaders as WalletAuthorizationHeaders,
4406
4839
  type WalletBatchCreateInput as WalletBatchCreateInput,
4407
- type WalletBatchCreateResult as WalletBatchCreateResult,
4408
4840
  type WalletBatchCreateResponse as WalletBatchCreateResponse,
4841
+ type WalletBatchCreateResult as WalletBatchCreateResult,
4842
+ type WalletBatchItemInput as WalletBatchItemInput,
4843
+ type WalletChainType as WalletChainType,
4844
+ type WalletCustodian as WalletCustodian,
4845
+ type WalletEntropyType as WalletEntropyType,
4846
+ type WalletEthereumAsset as WalletEthereumAsset,
4847
+ type WalletExportRequestBody as WalletExportRequestBody,
4848
+ type WalletExportResponseBody as WalletExportResponseBody,
4849
+ type WalletImportInitResponse as WalletImportInitResponse,
4850
+ type WalletImportSupportedChains as WalletImportSupportedChains,
4851
+ type WalletImportSupportedEntropyTypes as WalletImportSupportedEntropyTypes,
4409
4852
  type WalletRpcRequestBody as WalletRpcRequestBody,
4410
4853
  type WalletRpcResponse as WalletRpcResponse,
4411
- type WalletAuthenticateRequestBody as WalletAuthenticateRequestBody,
4412
- type TokenTransferSource as TokenTransferSource,
4413
- type TokenTransferDestination as TokenTransferDestination,
4414
- type CreateTokenTransferRequest as CreateTokenTransferRequest,
4415
- type SuiCommandName as SuiCommandName,
4416
- type WalletAPIRegisterAuthorizationKeyInput as WalletAPIRegisterAuthorizationKeyInput,
4417
- type WalletAPIRevokeAuthorizationKeyInput as WalletAPIRevokeAuthorizationKeyInput,
4418
- type AuthorizationKeyDashboardResponse as AuthorizationKeyDashboardResponse,
4419
- type AuthorizationKeyResponse as AuthorizationKeyResponse,
4420
- type WalletAuthorizationHeaders as WalletAuthorizationHeaders,
4421
- type WalletExportResponse as WalletExportResponse,
4854
+ type WalletSolanaAsset as WalletSolanaAsset,
4855
+ type WalletUpdateRequestBody as WalletUpdateRequestBody,
4422
4856
  type WalletInitImportResponse as WalletInitImportResponse,
4423
4857
  type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse,
4424
4858
  type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse,