@crossmint/wallets-sdk 0.10.8 → 0.10.10

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 (154) hide show
  1. package/README.md +38 -114
  2. package/dist/api/client.cjs +1 -1
  3. package/dist/api/client.d.cts +2 -2
  4. package/dist/api/client.d.ts +2 -2
  5. package/dist/api/client.js +1 -1
  6. package/dist/api/gen/index.cjs +1 -1
  7. package/dist/api/gen/index.d.cts +2 -2
  8. package/dist/api/gen/index.d.ts +2 -2
  9. package/dist/api/gen/index.js +1 -1
  10. package/dist/api/gen/sdk.gen.cjs +1 -1
  11. package/dist/api/gen/sdk.gen.d.cts +201 -10
  12. package/dist/api/gen/sdk.gen.d.ts +201 -10
  13. package/dist/api/gen/sdk.gen.js +1 -1
  14. package/dist/api/gen/types.gen.d.cts +8130 -3074
  15. package/dist/api/gen/types.gen.d.ts +8130 -3074
  16. package/dist/api/index.cjs +1 -1
  17. package/dist/api/index.d.cts +1 -1
  18. package/dist/api/index.d.ts +1 -1
  19. package/dist/api/index.js +1 -1
  20. package/dist/api/types.d.cts +40 -28
  21. package/dist/api/types.d.ts +40 -28
  22. package/dist/chunk-2RYV526P.js +1 -0
  23. package/dist/chunk-3A5IGCCQ.js +1 -0
  24. package/dist/chunk-3VBHCOMA.cjs +1 -0
  25. package/dist/chunk-4KXOWU5E.cjs +1 -0
  26. package/dist/chunk-5S6YZJHE.js +1 -0
  27. package/dist/chunk-7F2XBOHW.js +1 -0
  28. package/dist/chunk-BM7YI7RZ.js +1 -0
  29. package/dist/chunk-BPUDXO56.js +1 -0
  30. package/dist/chunk-BULGM35W.cjs +1 -0
  31. package/dist/chunk-EXY25K62.cjs +1 -0
  32. package/dist/chunk-HTM5EELI.cjs +1 -0
  33. package/dist/chunk-IGBQEAD5.js +1 -0
  34. package/dist/chunk-IJMFCZIY.js +1 -0
  35. package/dist/chunk-IZPWMIWD.cjs +1 -0
  36. package/dist/chunk-JHLGQJW3.js +1 -0
  37. package/dist/chunk-KH5LXU3K.cjs +1 -0
  38. package/dist/chunk-KPWPRH6J.cjs +1 -0
  39. package/dist/chunk-LMDBWVPC.js +1 -0
  40. package/dist/chunk-LW6JSI4J.js +1 -0
  41. package/dist/{chunk-SN3LCVYC.js → chunk-NEEKQHR3.js} +1 -1
  42. package/dist/{chunk-3L6EVBXA.cjs → chunk-NIO5D63W.cjs} +1 -1
  43. package/dist/chunk-RFK6N7LC.cjs +1 -0
  44. package/dist/chunk-RMIMNREY.js +1 -0
  45. package/dist/chunk-RSISNAJJ.cjs +1 -0
  46. package/dist/chunk-SCS4UDW7.js +1 -0
  47. package/dist/chunk-SHDM6MXU.js +1 -0
  48. package/dist/chunk-SLEKIJXX.cjs +1 -0
  49. package/dist/{chunk-EV4AUN33.cjs → chunk-STUTWUOQ.cjs} +1 -1
  50. package/dist/chunk-TCTVRXRX.cjs +1 -0
  51. package/dist/chunk-UBOWSXW3.js +1 -0
  52. package/dist/{chunk-APQSPTH3.js → chunk-XVQ5TWFN.js} +1 -1
  53. package/dist/chunk-YTAW674L.cjs +1 -0
  54. package/dist/chunk-YWPTI2QO.cjs +1 -0
  55. package/dist/chunk-YZ4HRYSL.cjs +1 -0
  56. package/dist/index.cjs +1 -1
  57. package/dist/index.d.cts +7 -9
  58. package/dist/index.d.ts +7 -9
  59. package/dist/index.js +1 -1
  60. package/dist/sdk.cjs +1 -1
  61. package/dist/sdk.d.cts +7 -8
  62. package/dist/sdk.d.ts +7 -8
  63. package/dist/sdk.js +1 -1
  64. package/dist/signers/email/evm-email-signer.cjs +1 -1
  65. package/dist/signers/email/evm-email-signer.d.cts +1 -2
  66. package/dist/signers/email/evm-email-signer.d.ts +1 -2
  67. package/dist/signers/email/evm-email-signer.js +1 -1
  68. package/dist/signers/email/index.cjs +1 -1
  69. package/dist/signers/email/index.js +1 -1
  70. package/dist/signers/email/solana-email-signer.cjs +1 -1
  71. package/dist/signers/email/solana-email-signer.d.cts +1 -2
  72. package/dist/signers/email/solana-email-signer.d.ts +1 -2
  73. package/dist/signers/email/solana-email-signer.js +1 -1
  74. package/dist/signers/evm-api-key.cjs +1 -1
  75. package/dist/signers/evm-api-key.js +1 -1
  76. package/dist/signers/evm-external-wallet.cjs +1 -1
  77. package/dist/signers/evm-external-wallet.d.cts +5 -4
  78. package/dist/signers/evm-external-wallet.d.ts +5 -4
  79. package/dist/signers/evm-external-wallet.js +1 -1
  80. package/dist/signers/index.cjs +1 -1
  81. package/dist/signers/index.js +1 -1
  82. package/dist/signers/passkey.cjs +1 -1
  83. package/dist/signers/passkey.js +1 -1
  84. package/dist/signers/solana-api-key.cjs +1 -1
  85. package/dist/signers/solana-api-key.js +1 -1
  86. package/dist/signers/solana-external-wallet.cjs +1 -1
  87. package/dist/signers/solana-external-wallet.d.cts +5 -4
  88. package/dist/signers/solana-external-wallet.d.ts +5 -4
  89. package/dist/signers/solana-external-wallet.js +1 -1
  90. package/dist/signers/types.d.cts +6 -2
  91. package/dist/signers/types.d.ts +6 -2
  92. package/dist/utils/constants.cjs +1 -1
  93. package/dist/utils/constants.js +1 -1
  94. package/dist/utils/signer-validation.cjs +1 -1
  95. package/dist/utils/signer-validation.d.cts +2 -2
  96. package/dist/utils/signer-validation.d.ts +2 -2
  97. package/dist/utils/signer-validation.js +1 -1
  98. package/dist/wallets/evm.cjs +1 -1
  99. package/dist/wallets/evm.d.cts +1 -1
  100. package/dist/wallets/evm.d.ts +1 -1
  101. package/dist/wallets/evm.js +1 -1
  102. package/dist/wallets/solana.cjs +1 -1
  103. package/dist/wallets/solana.js +1 -1
  104. package/dist/wallets/types.cjs +1 -1
  105. package/dist/wallets/types.d.cts +13 -3
  106. package/dist/wallets/types.d.ts +13 -3
  107. package/dist/wallets/types.js +0 -1
  108. package/dist/wallets/wallet-factory.cjs +1 -1
  109. package/dist/wallets/wallet-factory.d.cts +6 -12
  110. package/dist/wallets/wallet-factory.d.ts +6 -12
  111. package/dist/wallets/wallet-factory.js +1 -1
  112. package/dist/wallets/wallet.cjs +1 -1
  113. package/dist/wallets/wallet.d.cts +11 -11
  114. package/dist/wallets/wallet.d.ts +11 -11
  115. package/dist/wallets/wallet.js +1 -1
  116. package/package.json +2 -2
  117. package/dist/chunk-2KK65AC6.js +0 -1
  118. package/dist/chunk-424EIRNB.js +0 -1
  119. package/dist/chunk-4BJMFWAY.cjs +0 -1
  120. package/dist/chunk-4UVSDKGY.cjs +0 -1
  121. package/dist/chunk-77QBSFHG.js +0 -1
  122. package/dist/chunk-7JAILZE2.cjs +0 -1
  123. package/dist/chunk-A6ZBW2VA.js +0 -1
  124. package/dist/chunk-AC4TCW3L.cjs +0 -1
  125. package/dist/chunk-AFYBD7FI.cjs +0 -1
  126. package/dist/chunk-DIZVZP5P.cjs +0 -1
  127. package/dist/chunk-DYRSQN7X.cjs +0 -1
  128. package/dist/chunk-EJSIN53L.cjs +0 -1
  129. package/dist/chunk-FUUYGB4K.js +0 -1
  130. package/dist/chunk-GIDUQBAX.cjs +0 -1
  131. package/dist/chunk-HTEW2JRC.cjs +0 -1
  132. package/dist/chunk-IZGS2VHO.js +0 -1
  133. package/dist/chunk-J67J2N7M.js +0 -1
  134. package/dist/chunk-LURBQMOO.js +0 -1
  135. package/dist/chunk-MHKWLGN5.cjs +0 -1
  136. package/dist/chunk-NKUDWDSH.cjs +0 -1
  137. package/dist/chunk-NUERDBYD.cjs +0 -1
  138. package/dist/chunk-NVJN7LPY.cjs +0 -1
  139. package/dist/chunk-OV4CFQ36.js +0 -1
  140. package/dist/chunk-PJUVPRKB.js +0 -0
  141. package/dist/chunk-Q3WOEBKN.js +0 -1
  142. package/dist/chunk-QNBRYCK7.js +0 -1
  143. package/dist/chunk-QTSZSHKK.js +0 -1
  144. package/dist/chunk-RD5PG4M6.cjs +0 -1
  145. package/dist/chunk-S3IXONDB.js +0 -1
  146. package/dist/chunk-T3ICQDFS.js +0 -1
  147. package/dist/chunk-TDNPEWFY.cjs +0 -1
  148. package/dist/chunk-UPTOMSKW.js +0 -1
  149. package/dist/chunk-VEKXBWC5.js +0 -1
  150. package/dist/chunk-YO6BJ2DI.cjs +0 -1
  151. package/dist/signers/email/email-signer-api-client.cjs +0 -1
  152. package/dist/signers/email/email-signer-api-client.d.cts +0 -14
  153. package/dist/signers/email/email-signer-api-client.d.ts +0 -14
  154. package/dist/signers/email/email-signer-api-client.js +0 -1
@@ -1 +1 @@
1
- "use strict";require('../chunk-MHKWLGN5.cjs');
1
+ "use strict";
@@ -4,8 +4,12 @@ import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-sig
4
4
  import { Abi } from 'abitype';
5
5
  import { CreateTransactionSuccessResponse } from '../api/types.cjs';
6
6
  export { Activity } from '../api/types.cjs';
7
+ import { Chain } from '../chains/chains.cjs';
8
+ import { SignerConfigForChain } from '../signers/types.cjs';
7
9
  import 'viem';
8
10
  import '../api/gen/types.gen.cjs';
11
+ import 'ox';
12
+ import '@crossmint/common-sdk-base';
9
13
 
10
14
  type TransactionInputOptions = {
11
15
  experimental_prepareOnly?: boolean;
@@ -23,11 +27,11 @@ type EVMTransactionInput = EVMTransactionInputBase & ({
23
27
  } | {
24
28
  transaction: string;
25
29
  });
26
- interface SolanaTransactionInput {
30
+ type SolanaTransactionInput = {
27
31
  transaction: VersionedTransaction;
28
32
  additionalSigners?: Keypair[];
29
33
  options?: TransactionInputOptions;
30
- }
34
+ };
31
35
  type FormattedEVMTransaction = {
32
36
  to: string;
33
37
  value: string;
@@ -47,6 +51,12 @@ type WalletOptions = {
47
51
  experimental_callbacks?: Callbacks;
48
52
  clientTEEConnection?: HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
49
53
  };
54
+ type WalletArgsFor<C extends Chain> = {
55
+ chain: C;
56
+ signer: SignerConfigForChain<C>;
57
+ owner?: string;
58
+ options?: WalletOptions;
59
+ };
50
60
  type TokenBalance = {
51
61
  symbol: "sol" | "eth" | "usdc" | string;
52
62
  name: string;
@@ -81,4 +91,4 @@ type Transaction<TPrepareOnly extends boolean = false> = TPrepareOnly extends tr
81
91
  transactionId: string;
82
92
  };
83
93
 
84
- export type { Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, SolanaTransactionInput, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletOptions };
94
+ export type { Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, SolanaTransactionInput, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletArgsFor, WalletOptions };
@@ -4,8 +4,12 @@ import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-sig
4
4
  import { Abi } from 'abitype';
5
5
  import { CreateTransactionSuccessResponse } from '../api/types.js';
6
6
  export { Activity } from '../api/types.js';
7
+ import { Chain } from '../chains/chains.js';
8
+ import { SignerConfigForChain } from '../signers/types.js';
7
9
  import 'viem';
8
10
  import '../api/gen/types.gen.js';
11
+ import 'ox';
12
+ import '@crossmint/common-sdk-base';
9
13
 
10
14
  type TransactionInputOptions = {
11
15
  experimental_prepareOnly?: boolean;
@@ -23,11 +27,11 @@ type EVMTransactionInput = EVMTransactionInputBase & ({
23
27
  } | {
24
28
  transaction: string;
25
29
  });
26
- interface SolanaTransactionInput {
30
+ type SolanaTransactionInput = {
27
31
  transaction: VersionedTransaction;
28
32
  additionalSigners?: Keypair[];
29
33
  options?: TransactionInputOptions;
30
- }
34
+ };
31
35
  type FormattedEVMTransaction = {
32
36
  to: string;
33
37
  value: string;
@@ -47,6 +51,12 @@ type WalletOptions = {
47
51
  experimental_callbacks?: Callbacks;
48
52
  clientTEEConnection?: HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
49
53
  };
54
+ type WalletArgsFor<C extends Chain> = {
55
+ chain: C;
56
+ signer: SignerConfigForChain<C>;
57
+ owner?: string;
58
+ options?: WalletOptions;
59
+ };
50
60
  type TokenBalance = {
51
61
  symbol: "sol" | "eth" | "usdc" | string;
52
62
  name: string;
@@ -81,4 +91,4 @@ type Transaction<TPrepareOnly extends boolean = false> = TPrepareOnly extends tr
81
91
  transactionId: string;
82
92
  };
83
93
 
84
- export type { Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, SolanaTransactionInput, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletOptions };
94
+ export type { Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, SolanaTransactionInput, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletArgsFor, WalletOptions };
@@ -1 +0,0 @@
1
- import"../chunk-PJUVPRKB.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEJSIN53Lcjs = require('../chunk-EJSIN53L.cjs');require('../chunk-NUERDBYD.cjs');require('../chunk-AC4TCW3L.cjs');require('../chunk-VMEGMTOD.cjs');require('../chunk-TDNPEWFY.cjs');require('../chunk-7JAILZE2.cjs');require('../chunk-4BJMFWAY.cjs');require('../chunk-NWOKSI3V.cjs');require('../chunk-FWMSAG7V.cjs');require('../chunk-DYRSQN7X.cjs');require('../chunk-NVJN7LPY.cjs');require('../chunk-AFYBD7FI.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-RD5PG4M6.cjs');require('../chunk-NKUDWDSH.cjs');require('../chunk-CT2UGJEL.cjs');require('../chunk-YO6BJ2DI.cjs');require('../chunk-DIZVZP5P.cjs');require('../chunk-XALFCQKD.cjs');exports.WalletFactory = _chunkEJSIN53Lcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkIZPWMIWDcjs = require('../chunk-IZPWMIWD.cjs');require('../chunk-RSISNAJJ.cjs');require('../chunk-SLEKIJXX.cjs');require('../chunk-VMEGMTOD.cjs');require('../chunk-KH5LXU3K.cjs');require('../chunk-EXY25K62.cjs');require('../chunk-NWOKSI3V.cjs');require('../chunk-FWMSAG7V.cjs');require('../chunk-YWPTI2QO.cjs');require('../chunk-4KXOWU5E.cjs');require('../chunk-YTAW674L.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-RFK6N7LC.cjs');require('../chunk-HTM5EELI.cjs');require('../chunk-CT2UGJEL.cjs');require('../chunk-YZ4HRYSL.cjs');require('../chunk-BULGM35W.cjs');require('../chunk-XALFCQKD.cjs');exports.WalletFactory = _chunkIZPWMIWDcjs.a;
@@ -1,24 +1,18 @@
1
1
  import { ApiClient } from '../api/client.cjs';
2
2
  import { Chain } from '../chains/chains.cjs';
3
- import { SignerConfigForChain } from '../signers/types.cjs';
4
3
  import { Wallet } from './wallet.cjs';
5
- import { WalletOptions } from './types.cjs';
4
+ import { WalletArgsFor } from './types.cjs';
6
5
  import '@crossmint/common-sdk-base';
7
6
  import '../api/types.cjs';
8
7
  import 'viem';
9
8
  import '../api/gen/types.gen.cjs';
9
+ import '../signers/types.cjs';
10
10
  import 'ox';
11
11
  import '@crossmint/client-sdk-window';
12
12
  import '@crossmint/client-signers';
13
13
  import '@solana/web3.js';
14
14
  import 'abitype';
15
15
 
16
- type WalletArgsFor<C extends Chain> = {
17
- chain: C;
18
- signer: SignerConfigForChain<C>;
19
- owner?: string;
20
- options?: WalletOptions;
21
- };
22
16
  declare class WalletFactory {
23
17
  private readonly apiClient;
24
18
  constructor(apiClient: ApiClient);
@@ -27,9 +21,9 @@ declare class WalletFactory {
27
21
  createWallet<C extends Chain>(args: WalletArgsFor<C>): Promise<Wallet<C>>;
28
22
  private createWalletInstance;
29
23
  private toInternalSignerConfig;
30
- private configureSigner;
31
- private toExternalSignerConfig;
32
- private validateWalletConfig;
24
+ private createPasskeyAdminSigner;
25
+ private mutateSignerFromCustomAuth;
26
+ private validateExistingWalletConfig;
33
27
  }
34
28
 
35
- export { type WalletArgsFor, WalletFactory };
29
+ export { WalletFactory };
@@ -1,24 +1,18 @@
1
1
  import { ApiClient } from '../api/client.js';
2
2
  import { Chain } from '../chains/chains.js';
3
- import { SignerConfigForChain } from '../signers/types.js';
4
3
  import { Wallet } from './wallet.js';
5
- import { WalletOptions } from './types.js';
4
+ import { WalletArgsFor } from './types.js';
6
5
  import '@crossmint/common-sdk-base';
7
6
  import '../api/types.js';
8
7
  import 'viem';
9
8
  import '../api/gen/types.gen.js';
9
+ import '../signers/types.js';
10
10
  import 'ox';
11
11
  import '@crossmint/client-sdk-window';
12
12
  import '@crossmint/client-signers';
13
13
  import '@solana/web3.js';
14
14
  import 'abitype';
15
15
 
16
- type WalletArgsFor<C extends Chain> = {
17
- chain: C;
18
- signer: SignerConfigForChain<C>;
19
- owner?: string;
20
- options?: WalletOptions;
21
- };
22
16
  declare class WalletFactory {
23
17
  private readonly apiClient;
24
18
  constructor(apiClient: ApiClient);
@@ -27,9 +21,9 @@ declare class WalletFactory {
27
21
  createWallet<C extends Chain>(args: WalletArgsFor<C>): Promise<Wallet<C>>;
28
22
  private createWalletInstance;
29
23
  private toInternalSignerConfig;
30
- private configureSigner;
31
- private toExternalSignerConfig;
32
- private validateWalletConfig;
24
+ private createPasskeyAdminSigner;
25
+ private mutateSignerFromCustomAuth;
26
+ private validateExistingWalletConfig;
33
27
  }
34
28
 
35
- export { type WalletArgsFor, WalletFactory };
29
+ export { WalletFactory };
@@ -1 +1 @@
1
- import{a}from"../chunk-VEKXBWC5.js";import"../chunk-424EIRNB.js";import"../chunk-QNBRYCK7.js";import"../chunk-TN6YXWPL.js";import"../chunk-UPTOMSKW.js";import"../chunk-A6ZBW2VA.js";import"../chunk-IZGS2VHO.js";import"../chunk-7KHMZPZO.js";import"../chunk-PPTGFYIV.js";import"../chunk-OV4CFQ36.js";import"../chunk-77QBSFHG.js";import"../chunk-T3ICQDFS.js";import"../chunk-M4ELAV7U.js";import"../chunk-FUUYGB4K.js";import"../chunk-LURBQMOO.js";import"../chunk-7ENJXL4H.js";import"../chunk-2KK65AC6.js";import"../chunk-QTSZSHKK.js";import"../chunk-BW7YYVZE.js";export{a as WalletFactory};
1
+ import{a}from"../chunk-JHLGQJW3.js";import"../chunk-BM7YI7RZ.js";import"../chunk-SHDM6MXU.js";import"../chunk-TN6YXWPL.js";import"../chunk-LMDBWVPC.js";import"../chunk-BPUDXO56.js";import"../chunk-7KHMZPZO.js";import"../chunk-PPTGFYIV.js";import"../chunk-UBOWSXW3.js";import"../chunk-IGBQEAD5.js";import"../chunk-SCS4UDW7.js";import"../chunk-M4ELAV7U.js";import"../chunk-IJMFCZIY.js";import"../chunk-7F2XBOHW.js";import"../chunk-7ENJXL4H.js";import"../chunk-LW6JSI4J.js";import"../chunk-5S6YZJHE.js";import"../chunk-BW7YYVZE.js";export{a as WalletFactory};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNUERDBYDcjs = require('../chunk-NUERDBYD.cjs');require('../chunk-NKUDWDSH.cjs');require('../chunk-CT2UGJEL.cjs');require('../chunk-XALFCQKD.cjs');exports.Wallet = _chunkNUERDBYDcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRSISNAJJcjs = require('../chunk-RSISNAJJ.cjs');require('../chunk-HTM5EELI.cjs');require('../chunk-CT2UGJEL.cjs');require('../chunk-XALFCQKD.cjs');exports.Wallet = _chunkRSISNAJJcjs.a;
@@ -1,7 +1,7 @@
1
1
  import { Signer, PasskeySignResult, BaseSignResult } from '../signers/types.cjs';
2
- import { WalletsV1Alpha2TransactionResponseDto } from '../api/gen/types.gen.cjs';
3
2
  import { ApiClient } from '../api/client.cjs';
4
- import { GetNftsResponse, GetTransactionsResponse, Activity } from '../api/types.cjs';
3
+ import { GetTransactionsResponse, Activity, RegisterSignerPasskeyParams, WalletLocator } from '../api/types.cjs';
4
+ import { WalletNftsResponseDto, WalletsTransactionV2025ResponseDto } from '../api/gen/types.gen.cjs';
5
5
  import { WalletOptions, Balances, TransactionInputOptions, UserLocator, Transaction, DelegatedSigner, PendingApproval } from './types.cjs';
6
6
  import { Chain } from '../chains/chains.cjs';
7
7
  import 'ox';
@@ -25,7 +25,7 @@ declare class Wallet<C extends Chain> {
25
25
  address: string;
26
26
  owner?: string;
27
27
  signer: Signer;
28
- constructor({ chain, address, owner, signer, options }: WalletContructorType<C>, apiClient: ApiClient);
28
+ constructor(args: WalletContructorType<C>, apiClient: ApiClient);
29
29
  protected static getApiClient<C extends Chain>(wallet: Wallet<C>): ApiClient;
30
30
  protected static getOptions<C extends Chain>(wallet: Wallet<C>): WalletOptions | undefined;
31
31
  protected get apiClient(): ApiClient;
@@ -34,7 +34,7 @@ declare class Wallet<C extends Chain> {
34
34
  * Get the wallet balances - always includes USDC and native token (ETH/SOL)
35
35
  * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
36
36
  * @param {Chain[]} chains - The chains (optional)
37
- * @returns {Promise<Balances>} The balances structured as { nativeToken, usdc, tokens }
37
+ * @returns {Promise<Balances>} The balances returns nativeToken, usdc, tokens
38
38
  * @throws {Error} If the balances cannot be retrieved
39
39
  */
40
40
  balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
@@ -48,14 +48,14 @@ declare class Wallet<C extends Chain> {
48
48
  * @param {Object} params - The parameters
49
49
  * @param {number} params.perPage - The number of NFTs per page
50
50
  * @param {number} params.page - The page number
51
- * @param {EvmWalletLocator} [params.locator] - The locator
51
+ * @param {WalletLocator} [params.locator] - The locator
52
52
  * @returns The NFTs
53
53
  * @experimental This API is experimental and may change in the future
54
54
  */
55
55
  experimental_nfts(params: {
56
56
  perPage: number;
57
57
  page: number;
58
- }): Promise<GetNftsResponse>;
58
+ }): Promise<WalletNftsResponseDto>;
59
59
  /**
60
60
  * Get the wallet transactions
61
61
  * @returns The transactions
@@ -81,21 +81,21 @@ declare class Wallet<C extends Chain> {
81
81
  } ? true : false>>;
82
82
  /**
83
83
  * Add a delegated signer to the wallet
84
- * @param signer - The signer
84
+ * @param signer - The signer. For Solana, it must be a string. For EVM, it can be a string or a passkey.
85
85
  * @returns The delegated signer
86
86
  */
87
- addDelegatedSigner({ signer }: {
88
- signer: string;
87
+ addDelegatedSigner(params: {
88
+ signer: string | RegisterSignerPasskeyParams;
89
89
  }): Promise<void>;
90
90
  delegatedSigners(): Promise<DelegatedSigner[]>;
91
- protected get walletLocator(): string;
91
+ protected get walletLocator(): WalletLocator;
92
92
  protected get isSolanaWallet(): boolean;
93
93
  protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<{
94
94
  hash: string;
95
95
  explorerLink: string;
96
96
  transactionId: string;
97
97
  }>;
98
- protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsV1Alpha2TransactionResponseDto>;
98
+ protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsTransactionV2025ResponseDto>;
99
99
  protected approveSignature(pendingApprovals: Array<PendingApproval>, signatureId: string): Promise<PasskeySignResult | BaseSignResult>;
100
100
  protected waitForSignature(signatureId: string): Promise<string>;
101
101
  protected waitForTransaction(transactionId: string, timeoutMs?: number, { backoffMultiplier, maxBackoffMs, initialBackoffMs, }?: {
@@ -1,7 +1,7 @@
1
1
  import { Signer, PasskeySignResult, BaseSignResult } from '../signers/types.js';
2
- import { WalletsV1Alpha2TransactionResponseDto } from '../api/gen/types.gen.js';
3
2
  import { ApiClient } from '../api/client.js';
4
- import { GetNftsResponse, GetTransactionsResponse, Activity } from '../api/types.js';
3
+ import { GetTransactionsResponse, Activity, RegisterSignerPasskeyParams, WalletLocator } from '../api/types.js';
4
+ import { WalletNftsResponseDto, WalletsTransactionV2025ResponseDto } from '../api/gen/types.gen.js';
5
5
  import { WalletOptions, Balances, TransactionInputOptions, UserLocator, Transaction, DelegatedSigner, PendingApproval } from './types.js';
6
6
  import { Chain } from '../chains/chains.js';
7
7
  import 'ox';
@@ -25,7 +25,7 @@ declare class Wallet<C extends Chain> {
25
25
  address: string;
26
26
  owner?: string;
27
27
  signer: Signer;
28
- constructor({ chain, address, owner, signer, options }: WalletContructorType<C>, apiClient: ApiClient);
28
+ constructor(args: WalletContructorType<C>, apiClient: ApiClient);
29
29
  protected static getApiClient<C extends Chain>(wallet: Wallet<C>): ApiClient;
30
30
  protected static getOptions<C extends Chain>(wallet: Wallet<C>): WalletOptions | undefined;
31
31
  protected get apiClient(): ApiClient;
@@ -34,7 +34,7 @@ declare class Wallet<C extends Chain> {
34
34
  * Get the wallet balances - always includes USDC and native token (ETH/SOL)
35
35
  * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
36
36
  * @param {Chain[]} chains - The chains (optional)
37
- * @returns {Promise<Balances>} The balances structured as { nativeToken, usdc, tokens }
37
+ * @returns {Promise<Balances>} The balances returns nativeToken, usdc, tokens
38
38
  * @throws {Error} If the balances cannot be retrieved
39
39
  */
40
40
  balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
@@ -48,14 +48,14 @@ declare class Wallet<C extends Chain> {
48
48
  * @param {Object} params - The parameters
49
49
  * @param {number} params.perPage - The number of NFTs per page
50
50
  * @param {number} params.page - The page number
51
- * @param {EvmWalletLocator} [params.locator] - The locator
51
+ * @param {WalletLocator} [params.locator] - The locator
52
52
  * @returns The NFTs
53
53
  * @experimental This API is experimental and may change in the future
54
54
  */
55
55
  experimental_nfts(params: {
56
56
  perPage: number;
57
57
  page: number;
58
- }): Promise<GetNftsResponse>;
58
+ }): Promise<WalletNftsResponseDto>;
59
59
  /**
60
60
  * Get the wallet transactions
61
61
  * @returns The transactions
@@ -81,21 +81,21 @@ declare class Wallet<C extends Chain> {
81
81
  } ? true : false>>;
82
82
  /**
83
83
  * Add a delegated signer to the wallet
84
- * @param signer - The signer
84
+ * @param signer - The signer. For Solana, it must be a string. For EVM, it can be a string or a passkey.
85
85
  * @returns The delegated signer
86
86
  */
87
- addDelegatedSigner({ signer }: {
88
- signer: string;
87
+ addDelegatedSigner(params: {
88
+ signer: string | RegisterSignerPasskeyParams;
89
89
  }): Promise<void>;
90
90
  delegatedSigners(): Promise<DelegatedSigner[]>;
91
- protected get walletLocator(): string;
91
+ protected get walletLocator(): WalletLocator;
92
92
  protected get isSolanaWallet(): boolean;
93
93
  protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<{
94
94
  hash: string;
95
95
  explorerLink: string;
96
96
  transactionId: string;
97
97
  }>;
98
- protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsV1Alpha2TransactionResponseDto>;
98
+ protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsTransactionV2025ResponseDto>;
99
99
  protected approveSignature(pendingApprovals: Array<PendingApproval>, signatureId: string): Promise<PasskeySignResult | BaseSignResult>;
100
100
  protected waitForSignature(signatureId: string): Promise<string>;
101
101
  protected waitForTransaction(transactionId: string, timeoutMs?: number, { backoffMultiplier, maxBackoffMs, initialBackoffMs, }?: {
@@ -1 +1 @@
1
- import{a}from"../chunk-424EIRNB.js";import"../chunk-LURBQMOO.js";import"../chunk-7ENJXL4H.js";import"../chunk-BW7YYVZE.js";export{a as Wallet};
1
+ import{a}from"../chunk-BM7YI7RZ.js";import"../chunk-7F2XBOHW.js";import"../chunk-7ENJXL4H.js";import"../chunk-BW7YYVZE.js";export{a as Wallet};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/wallets-sdk",
3
- "version": "0.10.8",
3
+ "version": "0.10.10",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -25,8 +25,8 @@
25
25
  "ox": "0.6.9",
26
26
  "tweetnacl": "1.0.3",
27
27
  "viem": "2.23.6",
28
- "@crossmint/client-sdk-window": "1.0.0",
29
28
  "@crossmint/client-signers": "0.0.18",
29
+ "@crossmint/client-sdk-window": "1.0.0",
30
30
  "@crossmint/common-sdk-base": "0.8.2"
31
31
  },
32
32
  "devDependencies": {
@@ -1 +0,0 @@
1
- import{f as e}from"./chunk-BW7YYVZE.js";var n=class{constructor(t){this.config=t;this.type="api-key"}locator(){return`evm-fireblocks-custodial:${this.config.address}`}signMessage(){return e(this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct message signing - signatures are handled automatically by the backend"))})}signTransaction(){return e(this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct transaction signing - transaction are handled automatically by the backend"))})}};export{n as a};
@@ -1 +0,0 @@
1
- import{d as C}from"./chunk-LURBQMOO.js";import{c as O,d as N,i as A,m as E,p as L,q as $,r as x,s as W,t as B,u as P,v as _,w as F}from"./chunk-7ENJXL4H.js";import{a as T,b,c as p,d as S,e as v,f as d}from"./chunk-BW7YYVZE.js";import{isValidAddress as J}from"@crossmint/common-sdk-base";var f,c,I=class{constructor({chain:t,address:e,owner:r,signer:i,options:a},n){S(this,f);S(this,c);v(this,c,n),this.chain=t,this.address=e,this.owner=r,this.signer=i,v(this,f,a)}static getApiClient(t){return t.apiClient}static getOptions(t){return t.options}get apiClient(){return p(this,c)}get options(){return p(this,f)}balances(t,e){return d(this,null,function*(){let r=this.chain==="solana"?"sol":"eth",i=[r,"usdc",...t!=null?t:[]],a=yield p(this,c).getBalance(this.address,{chains:e!=null?e:[this.chain],tokens:i.map(n=>n.toLowerCase())});if("error"in a)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(a.message)}`);return this.transformBalanceResponse(a,r,t)})}transformBalanceResponse(t,e,r){let i=s=>{var w,m,y;let g,h=(w=s.forChain)==null?void 0:w[this.chain];return h&&"contractAddress"in h&&(g=h.contractAddress),{symbol:s.token,name:s.token,amount:(m=s.amount)!=null?m:"0",contractAddress:g,decimals:s.decimals,rawAmount:(y=s.rawAmount)!=null?y:"0"}},a=t.find(s=>s.token===e||s.token.toLowerCase().includes(e)),n=t.find(s=>s.token.toLowerCase().includes("usdc")),u=t.filter(s=>{let g=s.token.toLowerCase();return!g.includes(e)&&!g.includes("usdc")&&(r==null?void 0:r.some(h=>g.includes(h.toLowerCase())))}),o=s=>({symbol:s,name:s,amount:"0",contractAddress:void 0,decimals:0,rawAmount:"0"});return{nativeToken:a!=null?i(a):o(e),usdc:n!=null?i(n):o("usdc"),tokens:u.map(i)}}experimental_nfts(t){return d(this,null,function*(){return yield p(this,c).experimental_getNfts(b(T({},t),{chain:this.chain,address:this.address}))})}experimental_transactions(){return d(this,null,function*(){return yield p(this,c).getTransactions(this.walletLocator)})}experimental_activity(){return d(this,null,function*(){let t=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in t)throw new Error(`Failed to get activity: ${JSON.stringify(t.message)}`);return t})}send(t,e,r,i){return d(this,null,function*(){let a=G(t),n=R(e,this.chain),u={recipient:a,amount:r},o=yield p(this,c).send(this.walletLocator,n,u);if("message"in o)throw new $(`Failed to send token: ${JSON.stringify(o.message)}`);return i!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:o.id}:yield this.approveAndWait(o.id)})}addDelegatedSigner(e){return d(this,arguments,function*({signer:t}){var i,a;let r=yield p(this,c).registerSigner(this.walletLocator,{signer:t,chain:this.chain==="solana"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.message)}`);if("transaction"in r){let n=r.transaction.id;yield this.approveAndWait(n)}else{let n=(i=r.chains)==null?void 0:i[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){let u=((a=n.approvals)==null?void 0:a.pending)||[];yield this.approveSignature(u,n.id),yield this.waitForSignature(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return d(this,null,function*(){var e,r,i;let t=yield p(this,c).getWallet(this.walletLocator);if("error"in t)throw new N(JSON.stringify(t));if(t.type!=="solana-smart-wallet"&&t.type!=="evm-smart-wallet")throw new O(`Wallet type ${t.type} not supported`);return(i=(r=(e=t==null?void 0:t.config)==null?void 0:e.delegatedSigners)==null?void 0:r.map(a=>{let n=a.locator.indexOf(":");return{signer:`external-wallet:${n>=0?a.locator.slice(n+1):a.locator}`}}))!=null?i:[]})}get walletLocator(){return p(this,c).isServerSide?this.address:`me:${this.isSolanaWallet?"solana-smart-wallet":"evm-smart-wallet"}`}get isSolanaWallet(){return this.chain==="solana"}approveAndWait(t,e){return d(this,null,function*(){return yield this.approveTransaction(t,e),yield this.sleep(1e3),yield this.waitForTransaction(t)})}approveTransaction(t,e){return d(this,null,function*(){var o,s,g,h;let r=yield p(this,c).getTransaction(this.walletLocator,t);if(r.error)throw new x(JSON.stringify(r));if(yield(g=(s=(o=p(this,f))==null?void 0:o.experimental_callbacks)==null?void 0:s.onTransactionStart)==null?void 0:g.call(s),this.signer.type==="api-key")return r;let i=(h=r.approvals)==null?void 0:h.pending;if(i==null)return r;let a=[...e!=null?e:[],this.signer],n=yield Promise.all(i.map(w=>{let m=a.find(k=>k.locator()===w.signer);if(m==null)throw new A(`Signer ${w.signer} not found in pending approvals`);let y=r.walletType==="solana-smart-wallet"?r.onChain.transaction:w.message;return m.signTransaction(y)})),u=yield p(this,c).approveTransaction(this.walletLocator,r.id,{approvals:n.map(w=>T({signer:this.signer.locator()},w))});if(u.error)throw new F(JSON.stringify(u));return u})}approveSignature(t,e){return d(this,null,function*(){if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let r=t.find(a=>a.signer===this.signer.locator());if(!r)throw new A(`Signer ${this.signer.locator()} not found in pending approvals`);let i=yield this.signer.signMessage(r.message);return yield p(this,c).approveSignature(this.walletLocator,e,{approvals:[T({signer:this.signer.locator()},i)]}),i})}waitForSignature(t){return d(this,null,function*(){let e=null;do if(yield new Promise(r=>setTimeout(r,C)),e=yield p(this,c).getSignature(this.walletLocator,t),"error"in e)throw new L(JSON.stringify(e));while(e===null||e.status==="pending");if(e.status==="failed")throw new E("Signature signing failed");if(!e.outputSignature)throw new L("Signature not available");return e.outputSignature})}waitForTransaction(n){return d(this,arguments,function*(t,e=6e4,{backoffMultiplier:r=1.1,maxBackoffMs:i=2e3,initialBackoffMs:a=C}={}){var g;let u=Date.now(),o;do{if(Date.now()-u>e)throw new W("Transaction confirmation timeout");if(o=yield p(this,c).getTransaction(this.walletLocator,t),o.error)throw new x(JSON.stringify(o));yield this.sleep(a),a=Math.min(a*r,i)}while(o.status==="pending");if(o.status==="failed")throw new B(`Transaction sending failed: ${JSON.stringify(o.error)}`);if(o.status==="awaiting-approval")throw new P("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let s=o.onChain.txId;if(s==null)throw new _("Transaction hash not found on transaction response");return{hash:s,explorerLink:(g=o.onChain.explorerLink)!=null?g:"",transactionId:o.id}})}sleep(t){return d(this,null,function*(){return new Promise(e=>setTimeout(e,t))})}};f=new WeakMap,c=new WeakMap;function G(l){if(typeof l=="string")return l;if("email"in l)return`email:${l.email}`;if("x"in l)return`x:${l.x}`;if("twitter"in l)return`twitter:${l.twitter}`;if("phone"in l)return`phoneNumber:${l.phone}`;if("userId"in l)return`userId:${l.userId}`;throw new Error("Invalid recipient locator")}function R(l,t){return J(l)?`${t}:${l}`:`${t}:${l.toLowerCase()}`}export{I as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNKUDWDSHcjs = require('./chunk-NKUDWDSH.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var o=class extends _commonsdkbase.CrossmintApiClient{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:_chunkNKUDWDSHcjs.c,version:_chunkNKUDWDSHcjs.b}}});this.apiPrefix="api/v1/signers"}pregenerateSigner(e,a){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=yield this.post(`${this.apiPrefix}/derive-public-key`,{body:JSON.stringify({authId:`email:${e}`,keyType:a}),headers:this.headers});if(!r.ok){let p=yield r.text();throw new Error(`Failed to fetch public key: ${r.status} ${p}`)}return yield r.json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===_commonsdkbase.APIKeyUsageOrigin.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new (0, _chunkCT2UGJELcjs.a)("Invalid API key");return this.parsedAPIKey.environment}get headers(){return{"Content-Type":"application/json"}}};exports.a = o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNUERDBYDcjs = require('./chunk-NUERDBYD.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunk6VJEBYPNcjs = require('./chunk-6VJEBYPN.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _viem = require('viem');var _commonsdkbase = require('@crossmint/common-sdk-base');var w=class C extends _chunkNUERDBYDcjs.a{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:_chunkNUERDBYDcjs.a.getOptions(t)},_chunkNUERDBYDcjs.a.getApiClient(t))}static from(t){if(!_commonsdkbase.isValidEvmAddress.call(void 0, t.address))throw new Error("Wallet is not an EVM wallet");return new C(t)}sendTransaction(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e;let n=this.buildTransaction(t),a=yield this.createTransaction(n);return(e=t.options)!=null&&e.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:a.id}:yield this.approveAndWait(a.id)})}signMessage(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i;let n=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:t,signer:this.signer.locator(),chain:this.chain}});if("error"in n)throw new (0, _chunkCT2UGJELcjs.o)(JSON.stringify(n));let a=n.id,e=((i=n.approvals)==null?void 0:i.pending)||[];return yield this.approveSignature(e,a),yield this.waitForSignature(a)})}createTypedDataSignature(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var m;let{domain:n,message:a,primaryType:e,types:i,chain:r}=t;if(!n||!a||!i||!r)throw new (0, _chunkCT2UGJELcjs.k)("Invalid typed data");let{name:u,version:l,chainId:h,verifyingContract:y,salt:v}=n;if(!u||!l||!h||!y)throw new (0, _chunkCT2UGJELcjs.k)("Invalid typed data domain");let s=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:u,version:l,chainId:Number(h),verifyingContract:y,salt:v},message:a,primaryType:e,types:i},signer:this.signer.locator(),chain:r,isSmartWalletSignature:!1}});if("error"in s)throw new (0, _chunkCT2UGJELcjs.o)(JSON.stringify(s));let g=s.id,D=((m=s.approvals)==null?void 0:m.pending)||[];return yield this.approveSignature(D,g),yield this.waitForSignature(g)})}getViemClient(t){var n;return _viem.createPublicClient.call(void 0, {transport:(n=t==null?void 0:t.transport)!=null?n:_viem.http.call(void 0, ),chain:_chunk6VJEBYPNcjs.a.call(void 0, this.chain)})}createTransaction(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let n=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signer.locator(),chain:this.chain,calls:[t]}});if("error"in n)throw new (0, _chunkCT2UGJELcjs.q)(JSON.stringify(n));return n})}buildTransaction(t){var n,a,e,i,r;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(a=(n=t.value)==null?void 0:n.toString())!=null?a:"0",data:(e=t.data)!=null?e:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(r=(i=t.value)==null?void 0:i.toString())!=null?r:"0",data:_viem.encodeFunctionData.call(void 0, {abi:t.abi,functionName:t.functionName,args:t.args})}}};exports.a = w;
@@ -1 +0,0 @@
1
- import{f as e}from"./chunk-BW7YYVZE.js";var n=class{constructor(t){this.config=t;this.type="api-key"}locator(){return`solana-fireblocks-custodial:${this.config.address}`}signMessage(){return e(this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct message signing - signatures are handled automatically by the backend"))})}signTransaction(){return e(this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct transaction signing - transaction are handled automatically by the backend"))})}};export{n as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4BJMFWAYcjs = require('./chunk-4BJMFWAY.cjs');var _chunkNWOKSI3Vcjs = require('./chunk-NWOKSI3V.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _ox = require('ox');var _viem = require('viem');var p=class u extends _chunkNWOKSI3Vcjs.a{constructor(e){super(e)}locator(){return`evm-keypair:${this.config.signerAddress}`}signMessage(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=_viem.isHex.call(void 0, e)?e:_viem.toHex.call(void 0, e),n=_ox.PersonalMessage.getSignPayload(t);return yield this.sign(n)})}signTransaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.sign(e)})}sign(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i;yield this.handleAuthRequired();let t=this.getJwtOrThrow(),n=e.replace("0x",""),r=yield(i=this.config.clientTEEConnection)==null?void 0:i.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:t,apiKey:this.config.crossmint.apiKey},data:{keyType:"secp256k1",bytes:n,encoding:"hex"}},options:_chunkNWOKSI3Vcjs.b});if((r==null?void 0:r.status)==="error")throw new Error(r.error);if((r==null?void 0:r.signature)==null)throw new Error("Failed to sign transaction");return u.verifyPublicKeyFormat(r.publicKey),{signature:r.signature.bytes}})}static pregenerateSigner(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;let n=e!=null?e:(r=t.experimental_customAuth)==null?void 0:r.email;if(n==null)throw new Error("Email is required to pregenerate a signer");try{let o=(yield new (0, _chunk4BJMFWAYcjs.a)(t).pregenerateSigner(n,"secp256k1")).publicKey;return this.verifyPublicKeyFormat(o),this.publicKeyToEvmAddress(o.bytes)}catch(i){throw console.error("[EvmEmailSigner] Failed to pregenerate signer:",i),i}})}static verifyPublicKeyFormat(e){if(e==null)throw new Error("No public key found");if(e.encoding!=="hex"||e.keyType!=="secp256k1"||e.bytes==null)throw new Error("Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: "+JSON.stringify(e))}static publicKeyToEvmAddress(e){let t=_ox.PublicKey.from(`0x${e}`);return _ox.Address.fromPublicKey(t,{checksum:!0})}};exports.a = p;
@@ -1 +0,0 @@
1
- import{a as g}from"./chunk-IZGS2VHO.js";import{a,b as c}from"./chunk-7KHMZPZO.js";import{f as s}from"./chunk-BW7YYVZE.js";import{Address as y,PublicKey as l,PersonalMessage as m}from"ox";import{isHex as d,toHex as h}from"viem";var p=class u extends a{constructor(e){super(e)}locator(){return`evm-keypair:${this.config.signerAddress}`}signMessage(e){return s(this,null,function*(){let t=d(e)?e:h(e),n=m.getSignPayload(t);return yield this.sign(n)})}signTransaction(e){return s(this,null,function*(){return yield this.sign(e)})}sign(e){return s(this,null,function*(){var i;yield this.handleAuthRequired();let t=this.getJwtOrThrow(),n=e.replace("0x",""),r=yield(i=this.config.clientTEEConnection)==null?void 0:i.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:t,apiKey:this.config.crossmint.apiKey},data:{keyType:"secp256k1",bytes:n,encoding:"hex"}},options:c});if((r==null?void 0:r.status)==="error")throw new Error(r.error);if((r==null?void 0:r.signature)==null)throw new Error("Failed to sign transaction");return u.verifyPublicKeyFormat(r.publicKey),{signature:r.signature.bytes}})}static pregenerateSigner(e,t){return s(this,null,function*(){var r;let n=e!=null?e:(r=t.experimental_customAuth)==null?void 0:r.email;if(n==null)throw new Error("Email is required to pregenerate a signer");try{let o=(yield new g(t).pregenerateSigner(n,"secp256k1")).publicKey;return this.verifyPublicKeyFormat(o),this.publicKeyToEvmAddress(o.bytes)}catch(i){throw console.error("[EvmEmailSigner] Failed to pregenerate signer:",i),i}})}static verifyPublicKeyFormat(e){if(e==null)throw new Error("No public key found");if(e.encoding!=="hex"||e.keyType!=="secp256k1"||e.bytes==null)throw new Error("Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: "+JSON.stringify(e))}static publicKeyToEvmAddress(e){let t=l.from(`0x${e}`);return y.fromPublicKey(t,{checksum:!0})}};export{p as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTDNPEWFYcjs = require('./chunk-TDNPEWFY.cjs');var _chunk7JAILZE2cjs = require('./chunk-7JAILZE2.cjs');var _chunkDYRSQN7Xcjs = require('./chunk-DYRSQN7X.cjs');var _chunkNVJN7LPYcjs = require('./chunk-NVJN7LPY.cjs');var _chunkAFYBD7FIcjs = require('./chunk-AFYBD7FI.cjs');var _chunkYO6BJ2DIcjs = require('./chunk-YO6BJ2DI.cjs');var _chunkDIZVZP5Pcjs = require('./chunk-DIZVZP5P.cjs');function E(r,e){switch(e.type){case"email":return r==="solana"?new (0, _chunkTDNPEWFYcjs.a)(e):new (0, _chunk7JAILZE2cjs.a)(e);case"api-key":return r==="solana"?new (0, _chunkNVJN7LPYcjs.a)(e):new (0, _chunkYO6BJ2DIcjs.a)(e);case"external-wallet":return r==="solana"?new (0, _chunkAFYBD7FIcjs.a)(e):new (0, _chunkDIZVZP5Pcjs.a)(e);case"passkey":return new (0, _chunkDYRSQN7Xcjs.a)(e)}}exports.a = E;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _web3js = require('@solana/web3.js');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var o=class{constructor(n){this.type="external-wallet";if(n.address==null)throw new Error("Please provide an address for the External Wallet Signer");this.address=n.address,this.onSignTransaction=n.onSignTransaction}locator(){return`solana-keypair:${this.address}`}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for solana external wallet signer"))})}signTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.onSignTransaction==null)return yield Promise.reject(new Error("onSignTransaction method is required to sign transactions with a Solana external wallet"));let l=_bs582.default.decode(n),c=_web3js.VersionedTransaction.deserialize(l),t=yield this.onSignTransaction(c),d=new (0, _web3js.PublicKey)(this.address),a=t.message.staticAccountKeys.findIndex(u=>u.equals(d));if(a===-1)throw new (0, _chunkCT2UGJELcjs.w)("Wallet public key not found in transaction signers");let s=t.signatures[a];if(s==null)throw new (0, _chunkCT2UGJELcjs.w)("No valid signature found in the transaction");let g=new Uint8Array(Object.values(s));return{signature:_bs582.default.encode(g)}})}};exports.a = o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var t=class{constructor(e){this.type="external-wallet";if(e.address==null)throw new Error("Please provide an address for the External Wallet Signer");this.address=e.address,this.provider=e.provider,this.viemAccount=e.viemAccount}locator(){return`evm-keypair:${this.address}`}signMessage(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i;if(this.provider!=null){let r=yield this.provider.request({method:"personal_sign",params:[e,this.address]});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: EIP1193 provider signMessage returned null");return{signature:r}}if(((i=this.viemAccount)==null?void 0:i.signMessage)!=null){let r=yield this.viemAccount.signMessage({message:{raw:e}});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: Viem account signMessage returned null");return{signature:r}}throw new Error("No signer provider or viem account provided")})}signTransaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.signMessage(e)})}};exports.a = t;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _ox = require('ox');var n=class{constructor(s){this.config=s;this.type="passkey";this.id=s.id}locator(){return`evm-passkey:${this.id}`}signMessage(s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.config.onSignWithPasskey)return yield this.config.onSignWithPasskey(s);let{signature:t,metadata:e}=yield _ox.WebAuthnP256.sign({credentialId:this.id,challenge:s});return{signature:{r:`0x${t.r.toString(16)}`,s:`0x${t.s.toString(16)}`},metadata:e}})}signTransaction(s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.signMessage(s)})}};exports.a = n;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNUERDBYDcjs = require('./chunk-NUERDBYD.cjs');var _chunkAC4TCW3Lcjs = require('./chunk-AC4TCW3L.cjs');var _chunkTDNPEWFYcjs = require('./chunk-TDNPEWFY.cjs');var _chunk7JAILZE2cjs = require('./chunk-7JAILZE2.cjs');var _chunkRD5PG4M6cjs = require('./chunk-RD5PG4M6.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _ox = require('ox');var _commonsdkbase = require('@crossmint/common-sdk-base');var g=class{constructor(e){this.apiClient=e}getOrCreateWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.apiClient.isServerSide)throw new (0, _chunkCT2UGJELcjs.f)("getOrCreateWallet is not supported on server side");let i=yield this.apiClient.getWallet(`me:${e.chain==="solana"?"solana-smart-wallet":"evm-smart-wallet"}`);return i&&!("error"in i)?(yield this.validateWalletConfig(i,e),this.createWalletInstance(i,e)):this.createWallet(e)})}getWallet(e,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(!this.apiClient.isServerSide)throw new (0, _chunkCT2UGJELcjs.f)("getWallet is not supported on client side, use getOrCreateWallet instead");let t=yield this.apiClient.getWallet(e);if("error"in t)throw new (0, _chunkCT2UGJELcjs.d)(JSON.stringify(t));return this.createWalletInstance(t,i)})}createWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var n,a,r,o,p;yield(r=(a=(n=e.options)==null?void 0:n.experimental_callbacks)==null?void 0:a.onWalletCreationStart)==null?void 0:r.call(a);let i;e.chain==="solana"?i={type:"solana-smart-wallet",config:{adminSigner:yield this.configureSigner(e.chain,e.signer)},linkedUser:(o=e.owner)!=null?o:void 0}:i={type:"evm-smart-wallet",config:{adminSigner:yield this.configureSigner(e.chain,e.signer)},linkedUser:(p=e.owner)!=null?p:void 0};let t=yield this.apiClient.createWallet(i);if("error"in t)throw new (0, _chunkCT2UGJELcjs.f)(JSON.stringify(t));return this.createWalletInstance(t,e)})}createWalletInstance(e,i){let t=this.toInternalSignerConfig(e,i.signer,i.options);return new (0, _chunkNUERDBYDcjs.a)({chain:i.chain,address:e.address,owner:e.linkedUser,signer:_chunkAC4TCW3Lcjs.a.call(void 0, i.chain,t),options:i.options},this.apiClient)}toInternalSignerConfig(e,i,t){var n,a;if(i==null)throw new (0, _chunkCT2UGJELcjs.f)("Signer is required to create a wallet");switch(i.type){case"api-key":{let r;switch(e.type){case"solana-smart-wallet":r=e.config.adminSigner.address;break;case"evm-smart-wallet":e.config.adminSigner.type==="evm-fireblocks-custodial"&&(r=e.config.adminSigner.address);break}if(r==null)throw new (0, _chunkCT2UGJELcjs.f)("Wallet signer 'api-key' has no address");return{type:"api-key",address:r}}case"external-wallet":return i;case"passkey":if(e.type==="evm-smart-wallet"&&e.config.adminSigner.type==="evm-passkey")return{type:"passkey",id:e.config.adminSigner.id,name:e.config.adminSigner.name,onCreatePasskey:i.onCreatePasskey,onSignWithPasskey:i.onSignWithPasskey};throw new (0, _chunkCT2UGJELcjs.f)("Passkey signer is not supported for this wallet type");case"email":{if(!(e.type==="solana-smart-wallet"&&e.config.adminSigner.type==="solana-keypair"||e.type==="evm-smart-wallet"&&e.config.adminSigner.type==="evm-keypair"))throw new (0, _chunkCT2UGJELcjs.f)("Wallet signer 'email' has no address");let r=e.config.adminSigner.address;return{type:"email",email:(a=i.email)!=null?a:(n=this.apiClient.crossmint.experimental_customAuth)==null?void 0:n.email,signerAddress:r,crossmint:this.apiClient.crossmint,onAuthRequired:i.onAuthRequired,clientTEEConnection:t==null?void 0:t.clientTEEConnection}}default:throw new Error("Invalid signer type")}}configureSigner(e,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t;if((i==null?void 0:i.type)==="passkey"){let n=(t=i.name)!=null?t:`Crossmint Wallet ${Date.now()}`,a=i.onCreatePasskey?yield i.onCreatePasskey(n):yield _ox.WebAuthnP256.createCredential({name:n});return{type:"evm-passkey",id:a.id,name:n,publicKey:{x:a.publicKey.x.toString(),y:a.publicKey.y.toString()}}}return yield this.toExternalSignerConfig(e,i)})}toExternalSignerConfig(e,i,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var n,a;if(!i||i.type==="api-key")return{type:e==="solana"?"solana-fireblocks-custodial":"evm-fireblocks-custodial"};if(i.type==="external-wallet")return{type:e==="solana"?"solana-keypair":"evm-keypair",address:i.address};if(i.type==="passkey"&&t!=null){if((t==null?void 0:t.type)!=="evm-smart-wallet"||t.config.adminSigner.type!=="evm-passkey")throw new (0, _chunkCT2UGJELcjs.f)("Passkey signer is not supported for this wallet type");return{type:"evm-passkey",id:t.config.adminSigner.id,name:t.config.adminSigner.name,publicKey:{x:t.config.adminSigner.publicKey.x,y:t.config.adminSigner.publicKey.y}}}if(i.type==="email"){let r=(a=i.email)!=null?a:(n=this.apiClient.crossmint.experimental_customAuth)==null?void 0:n.email;if(r==null)throw new Error("Email is required to create a wallet with email signer");if(e==="solana")return{type:"solana-keypair",address:yield _chunkTDNPEWFYcjs.a.pregenerateSigner(r,this.apiClient.crossmint)};if(_commonsdkbase.isEVMBlockchain.call(void 0, e))return{type:"evm-keypair",address:yield _chunk7JAILZE2cjs.a.pregenerateSigner(r,this.apiClient.crossmint)}}throw new Error("Invalid signer type")})}validateWalletConfig(e,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(i.owner!=null&&e.linkedUser!=null&&i.owner!==e.linkedUser)throw new (0, _chunkCT2UGJELcjs.f)("Wallet owner does not match existing wallet's linked user");if(e.type!=="solana-smart-wallet"&&e.type!=="evm-smart-wallet")return;let t=yield this.toExternalSignerConfig(i.chain,i.signer,e),n=e.config.adminSigner;if(t&&n){if(t.type!==n.type)throw new (0, _chunkCT2UGJELcjs.f)("The wallet signer type provided in the wallet config does not match the existing wallet's adminSigner type");_chunkRD5PG4M6cjs.a.call(void 0, t,n)}})}};exports.a = g;
@@ -1 +0,0 @@
1
- import{f as c}from"./chunk-7ENJXL4H.js";var l=(n,e,r)=>`Wallet signer configuration mismatch at "${n}" - expected "${r}" from existing wallet but found "${e}"`;function a(n,e,r=""){if(n!==e){if(n==null||e==null)throw new Error(`Cannot compare null or undefined objects at path: ${r}`);for(let i of Object.keys(n)){let s=r?`${r}.${i}`:i,t=n[i],o=e[i];if(!(i in e))throw new c(l(s,t,o));if(typeof t=="object"&&t!==null&&typeof o=="object"&&o!==null)a(t,o,s);else if(t!==o)throw new c(l(s,t,o))}}}export{a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkNUERDBYDcjs = require('./chunk-NUERDBYD.cjs');var _chunkAFYBD7FIcjs = require('./chunk-AFYBD7FI.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _commonsdkbase = require('@crossmint/common-sdk-base');var d=class u extends _chunkNUERDBYDcjs.a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer},_chunkNUERDBYDcjs.a.getApiClient(n))}static from(n){if(!_commonsdkbase.isValidSolanaAddress.call(void 0, n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i,o;let t=yield this.createTransaction(n);if((i=n.options)!=null&&i.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let a=(o=n.additionalSigners)==null?void 0:o.map(s=>new (0, _chunkAFYBD7FIcjs.a)({type:"external-wallet",address:s.publicKey.toString(),onSignTransaction:p=>(p.sign([s]),Promise.resolve(p))}));return yield this.approveAndWait(t.id,a)})}createTransaction(t){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*({transaction:n}){let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:_bs582.default.encode(n.serialize())}});if(a.error)throw new (0, _chunkCT2UGJELcjs.q)(JSON.stringify(a));return a})}};exports.a = d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSTYSP6KLcjs = require('./chunk-STYSP6KL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var s=e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},i= exports.b =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}"},e))},C= exports.c =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/transactions"},e))},p= exports.d =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/transactions"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},W= exports.e =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/signers/{signer}"},e))},c= exports.f =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/signers"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},u= exports.g =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},V= exports.h =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}"},e))},w= exports.i =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/signatures"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},T= exports.j =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}/activity"},e))},h= exports.k =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me{walletType}"},e))},g= exports.l =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/me"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},E= exports.m =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},S= exports.n =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}"},e))},O= exports.o =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/transactions"},e))},d= exports.p =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/transactions"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},G= exports.q =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/signers/{signer}"},e))},D= exports.r =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/signers"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},M= exports.s =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},R= exports.t =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}"},e))},b= exports.u =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/signatures"},e))},v= exports.v =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/signatures"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},x= exports.w =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{identifier}/nfts"},e))},y= exports.x =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/balances"},e))},A= exports.y =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/balances"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},m= exports.z =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}/activity"},e))},f= exports.A =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets/{walletLocator}"},e))},L= exports.B =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/v1-alpha2/wallets"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},B= exports.C =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/unstable/wallets/me{walletType}/tokens/{tokenLocator}/transfers"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},F= exports.D =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/unstable/wallets/{walletLocator}/tokens/{tokenLocator}/transfers"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},k= exports.E =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/unstable/wallets/{walletLocator}/balances"},e))},q= exports.F =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/transactions/{transactionId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},j= exports.G =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/transactions/{transactionId}"},e))},I= exports.H =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/transactions"},e))},U= exports.I =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/transactions"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},_= exports.J =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/signers/{signer}"},e))},z= exports.K =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/signers"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},H= exports.L =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/signatures/{signatureId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},J= exports.M =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/signatures/{signatureId}"},e))},K= exports.N =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/signatures"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},N= exports.O =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}/activity"},e))},P= exports.P =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me{walletType}"},e))},Q= exports.Q =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/me"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},X= exports.R =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},Y= exports.S =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}"},e))},Z= exports.T =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/transactions"},e))},$= exports.U =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/transactions"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},ee= exports.V =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/signers/{signer}"},e))},re= exports.W =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/signers"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},te= exports.X =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},le= exports.Y =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}"},e))},oe= exports.Z =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/signatures"},e))},ae= exports._ =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/signatures"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))},ne= exports.$ =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}/activity"},e))},se= exports.aa =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).get(_chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets/{walletLocator}"},e))},ie= exports.ba =e=>{var r;return((r=e.client)!=null?r:_chunkSTYSP6KLcjs.a).post(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {url:"/2022-06-09/wallets"},e),{headers:_chunkXALFCQKDcjs.a.call(void 0, {"Content-Type":"application/json"},e.headers)}))};exports.a = s; exports.b = i; exports.c = C; exports.d = p; exports.e = W; exports.f = c; exports.g = u; exports.h = V; exports.i = w; exports.j = T; exports.k = h; exports.l = g; exports.m = E; exports.n = S; exports.o = O; exports.p = d; exports.q = G; exports.r = D; exports.s = M; exports.t = R; exports.u = b; exports.v = v; exports.w = x; exports.x = y; exports.y = A; exports.z = m; exports.A = f; exports.B = L; exports.C = B; exports.D = F; exports.E = k; exports.F = q; exports.G = j; exports.H = I; exports.I = U; exports.J = _; exports.K = z; exports.L = H; exports.M = J; exports.N = K; exports.O = N; exports.P = P; exports.Q = Q; exports.R = X; exports.S = Y; exports.T = Z; exports.U = $; exports.V = ee; exports.W = re; exports.X = te; exports.Y = le; exports.Z = oe; exports._ = ae; exports.$ = ne; exports.aa = se; exports.ba = ie;
@@ -1 +0,0 @@
1
- import{b as i,c as s}from"./chunk-LURBQMOO.js";import{a as n}from"./chunk-7ENJXL4H.js";import{f as t}from"./chunk-BW7YYVZE.js";import{APIKeyUsageOrigin as d,CrossmintApiClient as y}from"@crossmint/common-sdk-base";var o=class extends y{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:s,version:i}}});this.apiPrefix="api/v1/signers"}pregenerateSigner(e,a){return t(this,null,function*(){let r=yield this.post(`${this.apiPrefix}/derive-public-key`,{body:JSON.stringify({authId:`email:${e}`,keyType:a}),headers:this.headers});if(!r.ok){let p=yield r.text();throw new Error(`Failed to fetch public key: ${r.status} ${p}`)}return yield r.json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===d.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new n("Invalid API key");return this.parsedAPIKey.environment}get headers(){return{"Content-Type":"application/json"}}};export{o as a};
@@ -1 +0,0 @@
1
- import{a as r}from"./chunk-424EIRNB.js";import{a as l}from"./chunk-T3ICQDFS.js";import{q as c}from"./chunk-7ENJXL4H.js";import{f as e}from"./chunk-BW7YYVZE.js";import m from"bs58";import{isValidSolanaAddress as T}from"@crossmint/common-sdk-base";var d=class u extends r{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer},r.getApiClient(n))}static from(n){if(!T(n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return e(this,null,function*(){var i,o;let t=yield this.createTransaction(n);if((i=n.options)!=null&&i.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let a=(o=n.additionalSigners)==null?void 0:o.map(s=>new l({type:"external-wallet",address:s.publicKey.toString(),onSignTransaction:p=>(p.sign([s]),Promise.resolve(p))}));return yield this.approveAndWait(t.id,a)})}createTransaction(t){return e(this,arguments,function*({transaction:n}){let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:m.encode(n.serialize())}});if(a.error)throw new c(JSON.stringify(a));return a})}};export{d as a};
@@ -1 +0,0 @@
1
- var s="@crossmint/wallets-sdk",t="0.10.8";var c="WALLETS_SDK",r=t,d=s,a=500;export{c as a,r as b,d as c,a as d};
@@ -1 +0,0 @@
1
- "use strict";
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/wallets-sdk",t="0.10.8";var p="WALLETS_SDK",c= exports.b =t,r= exports.c =s,d= exports.d =500;exports.a = p; exports.b = c; exports.c = r; exports.d = d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNKUDWDSHcjs = require('./chunk-NKUDWDSH.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var f,c,I= exports.a =class{constructor({chain:t,address:e,owner:r,signer:i,options:a},n){_chunkXALFCQKDcjs.d.call(void 0, this,f);_chunkXALFCQKDcjs.d.call(void 0, this,c);_chunkXALFCQKDcjs.e.call(void 0, this,c,n),this.chain=t,this.address=e,this.owner=r,this.signer=i,_chunkXALFCQKDcjs.e.call(void 0, this,f,a)}static getApiClient(t){return t.apiClient}static getOptions(t){return t.options}get apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,c)}get options(){return _chunkXALFCQKDcjs.c.call(void 0, this,f)}balances(t,e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=this.chain==="solana"?"sol":"eth",i=[r,"usdc",...t!=null?t:[]],a=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getBalance(this.address,{chains:e!=null?e:[this.chain],tokens:i.map(n=>n.toLowerCase())});if("error"in a)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(a.message)}`);return this.transformBalanceResponse(a,r,t)})}transformBalanceResponse(t,e,r){let i=s=>{var w,m,y;let g,h=(w=s.forChain)==null?void 0:w[this.chain];return h&&"contractAddress"in h&&(g=h.contractAddress),{symbol:s.token,name:s.token,amount:(m=s.amount)!=null?m:"0",contractAddress:g,decimals:s.decimals,rawAmount:(y=s.rawAmount)!=null?y:"0"}},a=t.find(s=>s.token===e||s.token.toLowerCase().includes(e)),n=t.find(s=>s.token.toLowerCase().includes("usdc")),u=t.filter(s=>{let g=s.token.toLowerCase();return!g.includes(e)&&!g.includes("usdc")&&(r==null?void 0:r.some(h=>g.includes(h.toLowerCase())))}),o=s=>({symbol:s,name:s,amount:"0",contractAddress:void 0,decimals:0,rawAmount:"0"});return{nativeToken:a!=null?i(a):o(e),usdc:n!=null?i(n):o("usdc"),tokens:u.map(i)}}experimental_nfts(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield _chunkXALFCQKDcjs.c.call(void 0, this,c).experimental_getNfts(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},t),{chain:this.chain,address:this.address}))})}experimental_transactions(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getTransactions(this.walletLocator)})}experimental_activity(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in t)throw new Error(`Failed to get activity: ${JSON.stringify(t.message)}`);return t})}send(t,e,r,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let a=G(t),n=R(e,this.chain),u={recipient:a,amount:r},o=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).send(this.walletLocator,n,u);if("message"in o)throw new (0, _chunkCT2UGJELcjs.q)(`Failed to send token: ${JSON.stringify(o.message)}`);return i!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:o.id}:yield this.approveAndWait(o.id)})}addDelegatedSigner(e){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*({signer:t}){var i,a;let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).registerSigner(this.walletLocator,{signer:t,chain:this.chain==="solana"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.message)}`);if("transaction"in r){let n=r.transaction.id;yield this.approveAndWait(n)}else{let n=(i=r.chains)==null?void 0:i[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){let u=((a=n.approvals)==null?void 0:a.pending)||[];yield this.approveSignature(u,n.id),yield this.waitForSignature(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e,r,i;let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getWallet(this.walletLocator);if("error"in t)throw new (0, _chunkCT2UGJELcjs.d)(JSON.stringify(t));if(t.type!=="solana-smart-wallet"&&t.type!=="evm-smart-wallet")throw new (0, _chunkCT2UGJELcjs.c)(`Wallet type ${t.type} not supported`);return(i=(r=(e=t==null?void 0:t.config)==null?void 0:e.delegatedSigners)==null?void 0:r.map(a=>{let n=a.locator.indexOf(":");return{signer:`external-wallet:${n>=0?a.locator.slice(n+1):a.locator}`}}))!=null?i:[]})}get walletLocator(){return _chunkXALFCQKDcjs.c.call(void 0, this,c).isServerSide?this.address:`me:${this.isSolanaWallet?"solana-smart-wallet":"evm-smart-wallet"}`}get isSolanaWallet(){return this.chain==="solana"}approveAndWait(t,e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.approveTransaction(t,e),yield this.sleep(1e3),yield this.waitForTransaction(t)})}approveTransaction(t,e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var o,s,g,h;let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getTransaction(this.walletLocator,t);if(r.error)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(r));if(yield(g=(s=(o=_chunkXALFCQKDcjs.c.call(void 0, this,f))==null?void 0:o.experimental_callbacks)==null?void 0:s.onTransactionStart)==null?void 0:g.call(s),this.signer.type==="api-key")return r;let i=(h=r.approvals)==null?void 0:h.pending;if(i==null)return r;let a=[...e!=null?e:[],this.signer],n=yield Promise.all(i.map(w=>{let m=a.find(k=>k.locator()===w.signer);if(m==null)throw new (0, _chunkCT2UGJELcjs.i)(`Signer ${w.signer} not found in pending approvals`);let y=r.walletType==="solana-smart-wallet"?r.onChain.transaction:w.message;return m.signTransaction(y)})),u=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).approveTransaction(this.walletLocator,r.id,{approvals:n.map(w=>_chunkXALFCQKDcjs.a.call(void 0, {signer:this.signer.locator()},w))});if(u.error)throw new (0, _chunkCT2UGJELcjs.w)(JSON.stringify(u));return u})}approveSignature(t,e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let r=t.find(a=>a.signer===this.signer.locator());if(!r)throw new (0, _chunkCT2UGJELcjs.i)(`Signer ${this.signer.locator()} not found in pending approvals`);let i=yield this.signer.signMessage(r.message);return yield _chunkXALFCQKDcjs.c.call(void 0, this,c).approveSignature(this.walletLocator,e,{approvals:[_chunkXALFCQKDcjs.a.call(void 0, {signer:this.signer.locator()},i)]}),i})}waitForSignature(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=null;do if(yield new Promise(r=>setTimeout(r,_chunkNKUDWDSHcjs.d)),e=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getSignature(this.walletLocator,t),"error"in e)throw new (0, _chunkCT2UGJELcjs.p)(JSON.stringify(e));while(e===null||e.status==="pending");if(e.status==="failed")throw new (0, _chunkCT2UGJELcjs.m)("Signature signing failed");if(!e.outputSignature)throw new (0, _chunkCT2UGJELcjs.p)("Signature not available");return e.outputSignature})}waitForTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*(t,e=6e4,{backoffMultiplier:r=1.1,maxBackoffMs:i=2e3,initialBackoffMs:a=_chunkNKUDWDSHcjs.d}={}){var g;let u=Date.now(),o;do{if(Date.now()-u>e)throw new (0, _chunkCT2UGJELcjs.s)("Transaction confirmation timeout");if(o=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getTransaction(this.walletLocator,t),o.error)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(o));yield this.sleep(a),a=Math.min(a*r,i)}while(o.status==="pending");if(o.status==="failed")throw new (0, _chunkCT2UGJELcjs.t)(`Transaction sending failed: ${JSON.stringify(o.error)}`);if(o.status==="awaiting-approval")throw new (0, _chunkCT2UGJELcjs.u)("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let s=o.onChain.txId;if(s==null)throw new (0, _chunkCT2UGJELcjs.v)("Transaction hash not found on transaction response");return{hash:s,explorerLink:(g=o.onChain.explorerLink)!=null?g:"",transactionId:o.id}})}sleep(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return new Promise(e=>setTimeout(e,t))})}};f=new WeakMap,c=new WeakMap;function G(l){if(typeof l=="string")return l;if("email"in l)return`email:${l.email}`;if("x"in l)return`x:${l.x}`;if("twitter"in l)return`twitter:${l.twitter}`;if("phone"in l)return`phoneNumber:${l.phone}`;if("userId"in l)return`userId:${l.userId}`;throw new Error("Invalid recipient locator")}function R(l,t){return _commonsdkbase.isValidAddress.call(void 0, l)?`${t}:${l}`:`${t}:${l.toLowerCase()}`}exports.a = I;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var n=class{constructor(t){this.config=t;this.type="api-key"}locator(){return`solana-fireblocks-custodial:${this.config.address}`}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct message signing - signatures are handled automatically by the backend"))})}signTransaction(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct transaction signing - transaction are handled automatically by the backend"))})}};exports.a = n;
@@ -1 +0,0 @@
1
- import{f as i}from"./chunk-BW7YYVZE.js";import{WebAuthnP256 as r}from"ox";var n=class{constructor(s){this.config=s;this.type="passkey";this.id=s.id}locator(){return`evm-passkey:${this.id}`}signMessage(s){return i(this,null,function*(){if(this.config.onSignWithPasskey)return yield this.config.onSignWithPasskey(s);let{signature:t,metadata:e}=yield r.sign({credentialId:this.id,challenge:s});return{signature:{r:`0x${t.r.toString(16)}`,s:`0x${t.s.toString(16)}`},metadata:e}})}signTransaction(s){return i(this,null,function*(){return yield this.signMessage(s)})}};export{n as a};
File without changes
@@ -1 +0,0 @@
1
- import{a as l}from"./chunk-5M7IRODB.js";import{a as t,b as o}from"./chunk-BW7YYVZE.js";var i=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},C=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}"},e))},p=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/me{walletType}/transactions"},e))},W=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/me{walletType}/transactions"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},c=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/me{walletType}/signers/{signer}"},e))},u=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/me{walletType}/signers"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},V=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},w=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}"},e))},T=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/me{walletType}/signatures"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},h=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/me{walletType}/activity"},e))},g=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/me{walletType}"},e))},E=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/me"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},S=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},O=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}"},e))},d=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}/transactions"},e))},G=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/{walletLocator}/transactions"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},D=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}/signers/{signer}"},e))},M=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/{walletLocator}/signers"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},R=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},b=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}"},e))},v=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}/signatures"},e))},x=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/{walletLocator}/signatures"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},y=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{identifier}/nfts"},e))},A=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}/balances"},e))},m=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets/{walletLocator}/balances"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},f=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}/activity"},e))},L=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/v1-alpha2/wallets/{walletLocator}"},e))},B=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/v1-alpha2/wallets"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},F=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/unstable/wallets/me{walletType}/tokens/{tokenLocator}/transfers"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},k=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/unstable/wallets/{walletLocator}/tokens/{tokenLocator}/transfers"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},q=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/unstable/wallets/{walletLocator}/balances"},e))},j=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/me{walletType}/transactions/{transactionId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},I=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/me{walletType}/transactions/{transactionId}"},e))},U=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/me{walletType}/transactions"},e))},_=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/me{walletType}/transactions"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},z=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/me{walletType}/signers/{signer}"},e))},H=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/me{walletType}/signers"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},J=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/me{walletType}/signatures/{signatureId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},K=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/me{walletType}/signatures/{signatureId}"},e))},N=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/me{walletType}/signatures"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},P=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/me{walletType}/activity"},e))},Q=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/me{walletType}"},e))},X=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/me"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},Y=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},Z=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}"},e))},$=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{walletLocator}/transactions"},e))},ee=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/{walletLocator}/transactions"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},re=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{walletLocator}/signers/{signer}"},e))},te=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/{walletLocator}/signers"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},le=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},oe=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}"},e))},ae=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{walletLocator}/signatures"},e))},ne=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets/{walletLocator}/signatures"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))},se=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{walletLocator}/activity"},e))},ie=e=>{var r;return((r=e.client)!=null?r:l).get(t({url:"/2022-06-09/wallets/{walletLocator}"},e))},Ce=e=>{var r;return((r=e.client)!=null?r:l).post(o(t({url:"/2022-06-09/wallets"},e),{headers:t({"Content-Type":"application/json"},e.headers)}))};export{i as a,C as b,p as c,W as d,c as e,u as f,V as g,w as h,T as i,h as j,g as k,E as l,S as m,O as n,d as o,G as p,D as q,M as r,R as s,b as t,v as u,x as v,y as w,A as x,m as y,f as z,L as A,B,F as C,k as D,q as E,j as F,I as G,U as H,_ as I,z as J,H as K,J as L,K as M,N,P as O,Q as P,X as Q,Y as R,Z as S,$ as T,ee as U,re as V,te as W,le as X,oe as Y,ae as Z,ne as _,se as $,ie as aa,Ce as ba};