@crossmint/wallets-sdk 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/README.md +18 -18
  2. package/dist/api/client.cjs +1 -1
  3. package/dist/api/client.d.cts +3 -3
  4. package/dist/api/client.d.ts +3 -3
  5. package/dist/api/client.js +1 -1
  6. package/dist/api/gen/index.cjs +1 -1
  7. package/dist/api/gen/index.js +1 -1
  8. package/dist/api/gen/sdk.gen.cjs +1 -1
  9. package/dist/api/gen/sdk.gen.d.cts +1 -1
  10. package/dist/api/gen/sdk.gen.d.ts +1 -1
  11. package/dist/api/gen/sdk.gen.js +1 -1
  12. package/dist/api/gen/types.gen.d.cts +84 -37
  13. package/dist/api/gen/types.gen.d.ts +84 -37
  14. package/dist/api/index.cjs +1 -1
  15. package/dist/api/index.d.cts +1 -1
  16. package/dist/api/index.d.ts +1 -1
  17. package/dist/api/index.js +1 -1
  18. package/dist/api/types.d.cts +5 -3
  19. package/dist/api/types.d.ts +5 -3
  20. package/dist/chains/chains.cjs +1 -0
  21. package/dist/{evm/chains/index.d.cts → chains/chains.d.cts} +6 -6
  22. package/dist/{evm/chains/index.d.ts → chains/chains.d.ts} +6 -6
  23. package/dist/chains/chains.js +1 -0
  24. package/dist/chains/definitions/story.cjs +1 -0
  25. package/dist/chains/definitions/story.js +1 -0
  26. package/dist/chains/definitions/storyTestnet.cjs +1 -0
  27. package/dist/chains/definitions/storyTestnet.js +1 -0
  28. package/dist/chunk-2WI3SDNA.cjs +1 -0
  29. package/dist/chunk-3J7G6OXZ.cjs +1 -0
  30. package/dist/chunk-3V3TVDQL.cjs +1 -0
  31. package/dist/chunk-5HYE5LK5.cjs +1 -0
  32. package/dist/chunk-6BN4ICHP.cjs +1 -0
  33. package/dist/chunk-6EFZZZFC.js +1 -0
  34. package/dist/chunk-6VJEBYPN.cjs +1 -0
  35. package/dist/chunk-7DPGK746.cjs +1 -0
  36. package/dist/chunk-AN25LSQB.js +1 -0
  37. package/dist/chunk-BJDS5BJG.js +1 -0
  38. package/dist/chunk-BQJLKREV.cjs +1 -0
  39. package/dist/chunk-E5GSFWJV.js +1 -0
  40. package/dist/chunk-EBPF52SZ.cjs +1 -0
  41. package/dist/{chunk-MV7LJCAB.cjs → chunk-EHGCJCNZ.cjs} +1 -1
  42. package/dist/chunk-EOCGMBYW.js +1 -0
  43. package/dist/chunk-FHE35PRI.js +1 -0
  44. package/dist/chunk-FI42UB34.js +1 -0
  45. package/dist/chunk-FO5JCAOP.js +1 -0
  46. package/dist/chunk-ICJBF526.cjs +1 -0
  47. package/dist/chunk-ICWGBL27.js +1 -0
  48. package/dist/chunk-IVDTXN3O.js +1 -0
  49. package/dist/chunk-LBJIX2VH.cjs +1 -0
  50. package/dist/chunk-LG7WZW3Q.js +1 -0
  51. package/dist/chunk-M4ELAV7U.js +1 -0
  52. package/dist/chunk-N3Q3MSAS.cjs +1 -0
  53. package/dist/chunk-NFQHDB4C.cjs +1 -0
  54. package/dist/chunk-NSZEPQXP.cjs +1 -0
  55. package/dist/chunk-O4X74PTP.cjs +1 -0
  56. package/dist/chunk-Q3ZJOXAP.js +1 -0
  57. package/dist/chunk-Q4WJ7QNP.js +1 -0
  58. package/dist/chunk-QIHAACUW.js +1 -0
  59. package/dist/chunk-QPG5RPLB.js +1 -0
  60. package/dist/chunk-RCGA5LLF.cjs +1 -0
  61. package/dist/{chunk-3J4NDFR5.js → chunk-SCSTKTGR.js} +1 -1
  62. package/dist/chunk-VNNOPP7M.cjs +1 -0
  63. package/dist/chunk-WO3S2YII.js +1 -0
  64. package/dist/chunk-YE5N5ADW.js +1 -0
  65. package/dist/chunk-ZSWIQU3U.cjs +1 -0
  66. package/dist/index.cjs +1 -1
  67. package/dist/index.d.cts +16 -12
  68. package/dist/index.d.ts +16 -12
  69. package/dist/index.js +1 -1
  70. package/dist/sdk.cjs +1 -1
  71. package/dist/sdk.d.cts +21 -21
  72. package/dist/sdk.d.ts +21 -21
  73. package/dist/sdk.js +1 -1
  74. package/dist/signers/email-iframe-manager.cjs +1 -0
  75. package/dist/signers/email-iframe-manager.d.cts +15 -0
  76. package/dist/signers/email-iframe-manager.d.ts +15 -0
  77. package/dist/signers/email-iframe-manager.js +1 -0
  78. package/dist/signers/email-signer-api-client.cjs +1 -0
  79. package/dist/signers/email-signer-api-client.d.cts +13 -0
  80. package/dist/signers/email-signer-api-client.d.ts +13 -0
  81. package/dist/signers/email-signer-api-client.js +1 -0
  82. package/dist/signers/email.cjs +1 -0
  83. package/dist/signers/email.d.cts +29 -0
  84. package/dist/signers/email.d.ts +29 -0
  85. package/dist/signers/email.js +1 -0
  86. package/dist/signers/evm-api-key.cjs +1 -0
  87. package/dist/signers/evm-api-key.d.cts +19 -0
  88. package/dist/signers/evm-api-key.d.ts +19 -0
  89. package/dist/signers/evm-api-key.js +1 -0
  90. package/dist/signers/evm-external-wallet.cjs +1 -0
  91. package/dist/signers/evm-external-wallet.d.cts +25 -0
  92. package/dist/signers/evm-external-wallet.d.ts +25 -0
  93. package/dist/signers/evm-external-wallet.js +1 -0
  94. package/dist/signers/index.cjs +1 -0
  95. package/dist/signers/index.d.cts +12 -0
  96. package/dist/signers/index.d.ts +12 -0
  97. package/dist/signers/index.js +1 -0
  98. package/dist/signers/passkey.cjs +1 -0
  99. package/dist/signers/passkey.d.cts +20 -0
  100. package/dist/signers/passkey.d.ts +20 -0
  101. package/dist/signers/passkey.js +1 -0
  102. package/dist/signers/solana-api-key.cjs +1 -0
  103. package/dist/signers/solana-api-key.d.cts +19 -0
  104. package/dist/signers/solana-api-key.d.ts +19 -0
  105. package/dist/signers/solana-api-key.js +1 -0
  106. package/dist/{solana/utils.cjs → signers/solana-external-wallet.cjs} +1 -1
  107. package/dist/signers/solana-external-wallet.d.cts +22 -0
  108. package/dist/signers/solana-external-wallet.d.ts +22 -0
  109. package/dist/signers/solana-external-wallet.js +1 -0
  110. package/dist/signers/types.cjs +1 -0
  111. package/dist/signers/types.d.cts +91 -0
  112. package/dist/signers/types.d.ts +91 -0
  113. package/dist/signers/types.js +1 -0
  114. package/dist/utils/constants.cjs +1 -1
  115. package/dist/utils/constants.d.cts +2 -3
  116. package/dist/utils/constants.d.ts +2 -3
  117. package/dist/utils/constants.js +1 -1
  118. package/dist/wallets/evm.cjs +1 -0
  119. package/dist/wallets/evm.d.cts +134 -0
  120. package/dist/wallets/evm.d.ts +134 -0
  121. package/dist/wallets/evm.js +1 -0
  122. package/dist/wallets/solana.cjs +1 -0
  123. package/dist/wallets/solana.d.cts +21 -0
  124. package/dist/wallets/solana.d.ts +21 -0
  125. package/dist/wallets/solana.js +1 -0
  126. package/dist/wallets/types.cjs +1 -0
  127. package/dist/wallets/types.d.cts +30 -0
  128. package/dist/wallets/types.d.ts +30 -0
  129. package/dist/wallets/types.js +1 -0
  130. package/dist/wallets/wallet-factory.cjs +1 -0
  131. package/dist/wallets/wallet-factory.d.cts +32 -0
  132. package/dist/wallets/wallet-factory.d.ts +32 -0
  133. package/dist/wallets/wallet-factory.js +1 -0
  134. package/dist/wallets/wallet.cjs +1 -0
  135. package/dist/wallets/wallet.d.cts +98 -0
  136. package/dist/wallets/wallet.d.ts +98 -0
  137. package/dist/wallets/wallet.js +1 -0
  138. package/package.json +6 -4
  139. package/dist/chunk-3YDBLQ73.cjs +0 -1
  140. package/dist/chunk-53ZDAWYY.js +0 -1
  141. package/dist/chunk-5CX3CGJS.cjs +0 -1
  142. package/dist/chunk-6ARPMYUZ.js +0 -1
  143. package/dist/chunk-6DTBGTSS.cjs +0 -1
  144. package/dist/chunk-6W35AARC.js +0 -1
  145. package/dist/chunk-6XOH62PV.cjs +0 -1
  146. package/dist/chunk-7WRWCJJ6.js +0 -1
  147. package/dist/chunk-DANM4IBF.cjs +0 -1
  148. package/dist/chunk-DLYUSTHS.js +0 -1
  149. package/dist/chunk-DNWDTJR6.cjs +0 -1
  150. package/dist/chunk-EFRCLQXM.js +0 -1
  151. package/dist/chunk-ER6A2LAJ.cjs +0 -1
  152. package/dist/chunk-EZ7PEO5P.cjs +0 -1
  153. package/dist/chunk-F7GTDFYC.cjs +0 -1
  154. package/dist/chunk-HKY6CBZC.js +0 -1
  155. package/dist/chunk-LWGUOI5G.js +0 -1
  156. package/dist/chunk-LX6WD7J6.js +0 -1
  157. package/dist/chunk-MCMCLRNB.js +0 -1
  158. package/dist/chunk-MTWDHWDY.js +0 -1
  159. package/dist/chunk-OKXV3IAA.js +0 -1
  160. package/dist/chunk-PBD5HUCH.cjs +0 -1
  161. package/dist/chunk-PQH5C2OM.cjs +0 -1
  162. package/dist/chunk-QYX3J3RZ.js +0 -1
  163. package/dist/chunk-SDH5CVH7.js +0 -0
  164. package/dist/chunk-TCIZIST7.js +0 -1
  165. package/dist/chunk-UWWXOC7Y.cjs +0 -1
  166. package/dist/chunk-V445PZHL.cjs +0 -1
  167. package/dist/chunk-VDYYOSPR.cjs +0 -1
  168. package/dist/chunk-VEJMHFK7.cjs +0 -1
  169. package/dist/chunk-WNXCWDJQ.cjs +0 -1
  170. package/dist/chunk-WZAT3LML.js +0 -0
  171. package/dist/chunk-XKXW2FNY.cjs +0 -1
  172. package/dist/chunk-XP4DDN2K.cjs +0 -1
  173. package/dist/chunk-YLMKJ56K.js +0 -1
  174. package/dist/chunk-ZXV5SOXM.js +0 -1
  175. package/dist/evm/abi/entryPoint.cjs +0 -1
  176. package/dist/evm/abi/entryPoint.d.cts +0 -777
  177. package/dist/evm/abi/entryPoint.d.ts +0 -777
  178. package/dist/evm/abi/entryPoint.js +0 -1
  179. package/dist/evm/chains/definitions/story.cjs +0 -1
  180. package/dist/evm/chains/definitions/story.js +0 -1
  181. package/dist/evm/chains/definitions/storyTestnet.cjs +0 -1
  182. package/dist/evm/chains/definitions/storyTestnet.js +0 -1
  183. package/dist/evm/chains/index.cjs +0 -1
  184. package/dist/evm/chains/index.js +0 -1
  185. package/dist/evm/index.cjs +0 -1
  186. package/dist/evm/index.d.cts +0 -16
  187. package/dist/evm/index.d.ts +0 -16
  188. package/dist/evm/index.js +0 -1
  189. package/dist/evm/services/delegated-signers-service.cjs +0 -1
  190. package/dist/evm/services/delegated-signers-service.d.cts +0 -154
  191. package/dist/evm/services/delegated-signers-service.d.ts +0 -154
  192. package/dist/evm/services/delegated-signers-service.js +0 -1
  193. package/dist/evm/types/signers.cjs +0 -1
  194. package/dist/evm/types/signers.d.cts +0 -40
  195. package/dist/evm/types/signers.d.ts +0 -40
  196. package/dist/evm/types/signers.js +0 -0
  197. package/dist/evm/types/wallet.cjs +0 -1
  198. package/dist/evm/types/wallet.d.cts +0 -48
  199. package/dist/evm/types/wallet.d.ts +0 -48
  200. package/dist/evm/types/wallet.js +0 -0
  201. package/dist/evm/utils.cjs +0 -1
  202. package/dist/evm/utils.d.cts +0 -20
  203. package/dist/evm/utils.d.ts +0 -20
  204. package/dist/evm/utils.js +0 -1
  205. package/dist/evm/wallet.cjs +0 -1
  206. package/dist/evm/wallet.d.cts +0 -16
  207. package/dist/evm/wallet.d.ts +0 -16
  208. package/dist/evm/wallet.js +0 -1
  209. package/dist/options-DQUNKXxn.d.ts +0 -109
  210. package/dist/options-IchphkHW.d.cts +0 -109
  211. package/dist/services/types.cjs +0 -1
  212. package/dist/services/types.d.cts +0 -35
  213. package/dist/services/types.d.ts +0 -35
  214. package/dist/services/types.js +0 -0
  215. package/dist/services/wallet-factory.cjs +0 -1
  216. package/dist/services/wallet-factory.d.cts +0 -37
  217. package/dist/services/wallet-factory.d.ts +0 -37
  218. package/dist/services/wallet-factory.js +0 -1
  219. package/dist/solana/index.cjs +0 -1
  220. package/dist/solana/index.d.cts +0 -13
  221. package/dist/solana/index.d.ts +0 -13
  222. package/dist/solana/index.js +0 -1
  223. package/dist/solana/services/approvals-service.cjs +0 -1
  224. package/dist/solana/services/approvals-service.d.cts +0 -18
  225. package/dist/solana/services/approvals-service.d.ts +0 -18
  226. package/dist/solana/services/approvals-service.js +0 -1
  227. package/dist/solana/services/delegated-signers-service.cjs +0 -1
  228. package/dist/solana/services/delegated-signers-service.d.cts +0 -13
  229. package/dist/solana/services/delegated-signers-service.d.ts +0 -13
  230. package/dist/solana/services/delegated-signers-service.js +0 -1
  231. package/dist/solana/services/transactions-service.cjs +0 -1
  232. package/dist/solana/services/transactions-service.d.cts +0 -13
  233. package/dist/solana/services/transactions-service.d.ts +0 -13
  234. package/dist/solana/services/transactions-service.js +0 -1
  235. package/dist/solana/tokens.cjs +0 -1
  236. package/dist/solana/tokens.d.cts +0 -3
  237. package/dist/solana/tokens.d.ts +0 -3
  238. package/dist/solana/tokens.js +0 -1
  239. package/dist/solana/types/signers.cjs +0 -1
  240. package/dist/solana/types/signers.d.cts +0 -38
  241. package/dist/solana/types/signers.d.ts +0 -38
  242. package/dist/solana/types/signers.js +0 -1
  243. package/dist/solana/types/wallet.cjs +0 -1
  244. package/dist/solana/types/wallet.d.cts +0 -62
  245. package/dist/solana/types/wallet.d.ts +0 -62
  246. package/dist/solana/types/wallet.js +0 -0
  247. package/dist/solana/utils.d.cts +0 -6
  248. package/dist/solana/utils.d.ts +0 -6
  249. package/dist/solana/utils.js +0 -1
  250. package/dist/solana/wallet.cjs +0 -1
  251. package/dist/solana/wallet.d.cts +0 -13
  252. package/dist/solana/wallet.d.ts +0 -13
  253. package/dist/solana/wallet.js +0 -1
  254. package/dist/utils/index.cjs +0 -1
  255. package/dist/utils/index.d.cts +0 -3
  256. package/dist/utils/index.d.ts +0 -3
  257. package/dist/utils/index.js +0 -1
  258. package/dist/utils/options.cjs +0 -1
  259. package/dist/utils/options.d.cts +0 -13
  260. package/dist/utils/options.d.ts +0 -13
  261. package/dist/utils/options.js +0 -0
  262. /package/dist/{evm/chains → chains}/definitions/story.d.cts +0 -0
  263. /package/dist/{evm/chains → chains}/definitions/story.d.ts +0 -0
  264. /package/dist/{evm/chains → chains}/definitions/storyTestnet.d.cts +0 -0
  265. /package/dist/{evm/chains → chains}/definitions/storyTestnet.d.ts +0 -0
  266. /package/dist/{chunk-F2XDGZCB.cjs → chunk-GEY574TH.cjs} +0 -0
  267. /package/dist/{chunk-MFUN74KH.cjs → chunk-IR5WN6FQ.cjs} +0 -0
  268. /package/dist/{chunk-KVFFSUF4.js → chunk-KKQBZXFE.js} +0 -0
  269. /package/dist/{chunk-3TTYXSH3.cjs → chunk-MHKWLGN5.cjs} +0 -0
  270. /package/dist/{chunk-ITCP6W2T.js → chunk-PJUVPRKB.js} +0 -0
  271. /package/dist/{chunk-SILEK5O4.js → chunk-S3DYQVRD.js} +0 -0
@@ -0,0 +1,98 @@
1
+ import { Signer, PasskeySignResult, BaseSignResult } from '../signers/types.cjs';
2
+ import { WalletsV1Alpha2TransactionResponseDto } from '../api/gen/types.gen.cjs';
3
+ import { ApiClient } from '../api/client.cjs';
4
+ import { Balances, GetNftsResponse, GetTransactionsResponse } from '../api/types.cjs';
5
+ import { WalletOptions, Permission, PendingApproval } from './types.cjs';
6
+ import { Chain } from '../chains/chains.cjs';
7
+ import 'ox';
8
+ import '@solana/web3.js';
9
+ import 'viem';
10
+ import '@crossmint/client-sdk-window';
11
+ import '@crossmint/client-signers';
12
+ import '@crossmint/common-sdk-base';
13
+
14
+ type WalletContructorType<C extends Chain> = {
15
+ chain: C;
16
+ address: string;
17
+ owner?: string;
18
+ signer: Signer;
19
+ options?: WalletOptions;
20
+ };
21
+ declare class Wallet<C extends Chain> {
22
+ chain: C;
23
+ address: string;
24
+ owner?: string;
25
+ signer: Signer;
26
+ protected options?: WalletOptions;
27
+ protected apiClient: ApiClient;
28
+ constructor({ chain, address, owner, signer, options }: WalletContructorType<C>, apiClient: ApiClient);
29
+ protected static getApiClient<C extends Chain>(wallet: Wallet<C>): ApiClient;
30
+ protected static getOptions<C extends Chain>(wallet: Wallet<C>): WalletOptions | undefined;
31
+ /**
32
+ * Get the wallet balances
33
+ * @param {string[]} params.tokens - The tokens
34
+ * @returns {Promise<Balances>} The balances
35
+ * @throws {Error} If the balances cannot be retrieved
36
+ */
37
+ balances(tokens: string[]): Promise<Balances>;
38
+ /**
39
+ * Get the wallet NFTs
40
+ * @param {Object} params - The parameters
41
+ * @param {number} params.perPage - The number of NFTs per page
42
+ * @param {number} params.page - The page number
43
+ * @param {EvmWalletLocator} [params.locator] - The locator
44
+ * @returns The NFTs
45
+ * @unstable This API is unstable and may change in the future
46
+ */
47
+ unstable_nfts(params: {
48
+ perPage: number;
49
+ page: number;
50
+ }): Promise<GetNftsResponse>;
51
+ /**
52
+ * Get the wallet transactions
53
+ * @returns The transactions
54
+ */
55
+ unstable_transactions(): Promise<GetTransactionsResponse>;
56
+ /**
57
+ * Send a token to a wallet or user locator
58
+ * @param {string | UserLocator} to - The recipient (address or user locator)
59
+ * @param {string} token - The token (address or currency symbol)
60
+ * @param {string} amount - The amount to send (decimal units)
61
+ * @returns {string} The transaction hash
62
+ */
63
+ send(to: string | UserLocator, token: string, amount: string): Promise<string>;
64
+ /**
65
+ * Update permissions for a signer
66
+ * @param signer - The signer
67
+ * @returns The permissions
68
+ */
69
+ updatePermissions({ signer }: {
70
+ signer: string;
71
+ }): Promise<void>;
72
+ permissions(): Promise<Permission[]>;
73
+ protected get walletLocator(): string;
74
+ protected get isSolanaWallet(): boolean;
75
+ protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<string>;
76
+ protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsV1Alpha2TransactionResponseDto>;
77
+ protected approveSignature(pendingApprovals: Array<PendingApproval>, signatureId: string): Promise<PasskeySignResult | BaseSignResult>;
78
+ protected waitForSignature(signatureId: string): Promise<string>;
79
+ protected waitForTransaction(transactionId: string, timeoutMs?: number, { backoffMultiplier, maxBackoffMs, initialBackoffMs, }?: {
80
+ initialBackoffMs?: number;
81
+ backoffMultiplier?: number;
82
+ maxBackoffMs?: number;
83
+ }): Promise<string>;
84
+ protected sleep(ms: number): Promise<unknown>;
85
+ }
86
+ type UserLocator = {
87
+ email: string;
88
+ } | {
89
+ x: string;
90
+ } | {
91
+ twitter: string;
92
+ } | {
93
+ phone: string;
94
+ } | {
95
+ userId: string;
96
+ };
97
+
98
+ export { type UserLocator, Wallet };
@@ -0,0 +1,98 @@
1
+ import { Signer, PasskeySignResult, BaseSignResult } from '../signers/types.js';
2
+ import { WalletsV1Alpha2TransactionResponseDto } from '../api/gen/types.gen.js';
3
+ import { ApiClient } from '../api/client.js';
4
+ import { Balances, GetNftsResponse, GetTransactionsResponse } from '../api/types.js';
5
+ import { WalletOptions, Permission, PendingApproval } from './types.js';
6
+ import { Chain } from '../chains/chains.js';
7
+ import 'ox';
8
+ import '@solana/web3.js';
9
+ import 'viem';
10
+ import '@crossmint/client-sdk-window';
11
+ import '@crossmint/client-signers';
12
+ import '@crossmint/common-sdk-base';
13
+
14
+ type WalletContructorType<C extends Chain> = {
15
+ chain: C;
16
+ address: string;
17
+ owner?: string;
18
+ signer: Signer;
19
+ options?: WalletOptions;
20
+ };
21
+ declare class Wallet<C extends Chain> {
22
+ chain: C;
23
+ address: string;
24
+ owner?: string;
25
+ signer: Signer;
26
+ protected options?: WalletOptions;
27
+ protected apiClient: ApiClient;
28
+ constructor({ chain, address, owner, signer, options }: WalletContructorType<C>, apiClient: ApiClient);
29
+ protected static getApiClient<C extends Chain>(wallet: Wallet<C>): ApiClient;
30
+ protected static getOptions<C extends Chain>(wallet: Wallet<C>): WalletOptions | undefined;
31
+ /**
32
+ * Get the wallet balances
33
+ * @param {string[]} params.tokens - The tokens
34
+ * @returns {Promise<Balances>} The balances
35
+ * @throws {Error} If the balances cannot be retrieved
36
+ */
37
+ balances(tokens: string[]): Promise<Balances>;
38
+ /**
39
+ * Get the wallet NFTs
40
+ * @param {Object} params - The parameters
41
+ * @param {number} params.perPage - The number of NFTs per page
42
+ * @param {number} params.page - The page number
43
+ * @param {EvmWalletLocator} [params.locator] - The locator
44
+ * @returns The NFTs
45
+ * @unstable This API is unstable and may change in the future
46
+ */
47
+ unstable_nfts(params: {
48
+ perPage: number;
49
+ page: number;
50
+ }): Promise<GetNftsResponse>;
51
+ /**
52
+ * Get the wallet transactions
53
+ * @returns The transactions
54
+ */
55
+ unstable_transactions(): Promise<GetTransactionsResponse>;
56
+ /**
57
+ * Send a token to a wallet or user locator
58
+ * @param {string | UserLocator} to - The recipient (address or user locator)
59
+ * @param {string} token - The token (address or currency symbol)
60
+ * @param {string} amount - The amount to send (decimal units)
61
+ * @returns {string} The transaction hash
62
+ */
63
+ send(to: string | UserLocator, token: string, amount: string): Promise<string>;
64
+ /**
65
+ * Update permissions for a signer
66
+ * @param signer - The signer
67
+ * @returns The permissions
68
+ */
69
+ updatePermissions({ signer }: {
70
+ signer: string;
71
+ }): Promise<void>;
72
+ permissions(): Promise<Permission[]>;
73
+ protected get walletLocator(): string;
74
+ protected get isSolanaWallet(): boolean;
75
+ protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<string>;
76
+ protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsV1Alpha2TransactionResponseDto>;
77
+ protected approveSignature(pendingApprovals: Array<PendingApproval>, signatureId: string): Promise<PasskeySignResult | BaseSignResult>;
78
+ protected waitForSignature(signatureId: string): Promise<string>;
79
+ protected waitForTransaction(transactionId: string, timeoutMs?: number, { backoffMultiplier, maxBackoffMs, initialBackoffMs, }?: {
80
+ initialBackoffMs?: number;
81
+ backoffMultiplier?: number;
82
+ maxBackoffMs?: number;
83
+ }): Promise<string>;
84
+ protected sleep(ms: number): Promise<unknown>;
85
+ }
86
+ type UserLocator = {
87
+ email: string;
88
+ } | {
89
+ x: string;
90
+ } | {
91
+ twitter: string;
92
+ } | {
93
+ phone: string;
94
+ } | {
95
+ userId: string;
96
+ };
97
+
98
+ export { type UserLocator, Wallet };
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-IVDTXN3O.js";import"../chunk-EOCGMBYW.js";import"../chunk-7ENJXL4H.js";import"../chunk-22GIA4MK.js";export{a as Wallet};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/wallets-sdk",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -24,8 +24,10 @@
24
24
  "ox": "0.6.9",
25
25
  "tweetnacl": "1.0.3",
26
26
  "viem": "2.23.6",
27
- "@crossmint/common-sdk-auth": "1.0.31",
28
- "@crossmint/common-sdk-base": "0.5.0"
27
+ "@crossmint/common-sdk-auth": "1.0.33",
28
+ "@crossmint/common-sdk-base": "0.6.0",
29
+ "@crossmint/client-sdk-window": "1.0.0",
30
+ "@crossmint/client-signers": "0.0.16"
29
31
  },
30
32
  "devDependencies": {
31
33
  "@hey-api/openapi-ts": "0.66.3",
@@ -36,7 +38,7 @@
36
38
  "scripts": {
37
39
  "build": "pnpm generate && tsup",
38
40
  "dev": "tsup --watch",
39
- "test:vitest": "vitest run",
41
+ "test:vitest": "vitest run --passWithNoTests",
40
42
  "openapi-ts": "openapi-ts",
41
43
  "generate": "pnpm run openapi-ts",
42
44
  "generate:docs": "typedoc"
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkER6A2LAJcjs = require('./chunk-ER6A2LAJ.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var p=class extends _commonsdkbase.CrossmintApiClient{constructor(e,s){super(e,{internalConfig:{sdkMetadata:{name:_chunkER6A2LAJcjs.c,version:_chunkER6A2LAJcjs.b}}});this.appId=s;this.apiPrefix="api/2022-06-09/wallets"}createWallet(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let s=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(s,{body:JSON.stringify(e),headers:this.headers})).json()})}getWallet(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:this.headers})).json()})}createTransaction(e,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveTransaction(e,s,r){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${s}/approvals`,{body:JSON.stringify(r),headers:this.headers})).json()})}getTransaction(e,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${s}`,{headers:this.headers})).json()})}createSignature(e,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveSignature(e,s,r){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${s}/approvals`,{body:JSON.stringify(r),headers:this.headers})).json()})}getSignature(e,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${s}`,{headers:this.headers})).json()})}getTransactions(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:this.headers})).json()})}unstable_getNfts(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let s=new URLSearchParams;s.append("page",e.page.toString()),s.append("perPage",e.perPage.toString());let r=`${e.chain}:${e.address}`;return(yield this.get(`${this.apiPrefix}/${r}/nfts?${s.toString()}`,{headers:this.headers})).json()})}getBalance(e,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let r=new URLSearchParams;return s.chains&&s.chains.forEach(c=>r.append("chains",c)),r.append("tokens",s.tokens.join(",")),(yield this.get(`api/v1-alpha2/wallets/${e}/balances?${r.toString()}`,{headers:this.headers})).json()})}registerSigner(e,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(s),headers:this.headers})).json()})}getSigner(e,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${s}`,{headers:this.headers})).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(){let e={"Content-Type":"application/json"};return this.appId&&(e["X-App-Identifier"]=this.appId),e}};exports.a = p;
@@ -1 +0,0 @@
1
- import{a}from"./chunk-KVFFSUF4.js";import{a as n}from"./chunk-SILEK5O4.js";import{BlockchainIncludingTestnet as t}from"@crossmint/common-sdk-base";import{baseSepolia as r,base as S,polygonAmoy as s,polygon as i,optimismSepolia as E,optimism as M,arbitrumSepolia as l,arbitrum as o,modeTestnet as T,mode as m,bsc as A,shape as c}from"viem/chains";var O=[t.BASE_SEPOLIA,t.POLYGON_AMOY,t.OPTIMISM_SEPOLIA,t.ARBITRUM_SEPOLIA,t.STORY_TESTNET,t.MODE_SEPOLIA],u=[t.BASE,t.POLYGON,t.OPTIMISM,t.ARBITRUM,t.STORY,t.MODE,t.BSC,t.SHAPE];function _(e){return O.includes(e)}function I(e){return u.includes(e)}function C(e){return _(e)||I(e)}function N(e){switch(e){case t.BASE_SEPOLIA:return r;case t.BASE:return S;case t.POLYGON_AMOY:return s;case t.POLYGON:return i;case t.OPTIMISM_SEPOLIA:return E;case t.OPTIMISM:return M;case t.ARBITRUM_SEPOLIA:return l;case t.ARBITRUM:return o;case t.STORY_TESTNET:return n;case t.STORY:return a;case t.MODE_SEPOLIA:return T;case t.MODE:return m;case t.BSC:return A;case t.SHAPE:return c}}export{_ as a,I as b,C as c,N as d};
@@ -1 +0,0 @@
1
- "use strict";
@@ -1 +0,0 @@
1
- import{a as F}from"./chunk-QYX3J3RZ.js";import{a as I}from"./chunk-HKY6CBZC.js";import{d as V}from"./chunk-53ZDAWYY.js";import{a as v}from"./chunk-LX6WD7J6.js";import{d as b,e as w}from"./chunk-TCIZIST7.js";import{i as m,j as D,k as y,l as E,m as A,n as N,o as S,p as k,q as M,r as f,s as L,t as P,u as x,v as R,w as W}from"./chunk-7ENJXL4H.js";import{a as u,b as C,c as s}from"./chunk-22GIA4MK.js";import{WebAuthnP256 as O}from"ox";import{http as J,createPublicClient as _,concat as $}from"viem";var H=class{constructor(t,e,a,i){this.address=t;this.apiClient=e;this.adminSigner=a;this.callbacks=i;this.delegatedSignerService=new F(this.walletLocator,this,this.apiClient)}getBalances(t){return s(this,null,function*(){let e=yield this.apiClient.getBalance(this.address,{chains:[t.chain],tokens:t.tokens});if("error"in e)throw new Error(`Failed to get balances: ${JSON.stringify(e.error)}`);return e})}getTransactions(){return s(this,null,function*(){let t=yield this.apiClient.getTransactions(this.walletLocator);if("error"in t)throw new f(JSON.stringify(t));return t.transactions.filter(e=>e.walletType==="evm-smart-wallet")})}unstable_getNfts(t){return s(this,null,function*(){return yield this.apiClient.unstable_getNfts(C(u({},t),{address:this.address}))})}getNonce(t){return s(this,null,function*(){var i;return yield this.getViemClient({chain:t.chain,transport:t==null?void 0:t.transport}).readContract({abi:I,address:b,functionName:"getNonce",args:[this.address,(i=t==null?void 0:t.key)!=null?i:BigInt(0)]})})}signMessage(t){return s(this,null,function*(){var r;let e=yield this.createSignature(t),a=e.id,i=((r=e.approvals)==null?void 0:r.pending)||[],n=yield this.approveSignature(i,a);return yield this.waitForSignature(a),n})}signTypedData(t){return s(this,null,function*(){var r;let e=yield this.createTypedDataSignature(t),a=e.id,i=((r=e.approvals)==null?void 0:r.pending)||[],n=yield this.approveSignature(i,a);return yield this.waitForSignature(a),n})}sendTransaction(t){return s(this,null,function*(){var i,n,r;yield(n=(i=this.callbacks)==null?void 0:i.onTransactionStart)==null?void 0:n.call(i,t);let e=yield this.createTransaction(t),a=e.id;return yield this.approveTransaction(((r=e.approvals)==null?void 0:r.pending)||[],a),yield this.waitForTransaction(a)})}getViemClient(t){var e;return _({transport:(e=t.transport)!=null?e:J(),chain:V(t.chain)})}addDelegatedSigner(t){return s(this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(t.chain,t.signer,{adminSigner:this.adminSigner})})}getDelegatedSigners(){return s(this,null,function*(){return yield this.delegatedSignerService.getDelegatedSigners()})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:evm-smart-wallet"}get signerLocator(){return this.adminSigner.locator}signWithAdminSigner(t){return s(this,null,function*(){switch(this.adminSigner.type){case"evm-passkey":{if(this.adminSigner.signingCallback)return this.adminSigner.signingCallback(t);let{metadata:e,signature:a}=yield O.sign({credentialId:this.adminSigner.id,challenge:t});return{signature:$([`0x${a.r.toString(16)}`,`0x${a.s.toString(16)}`]),metadata:e}}case"evm-keypair":{let e=this.adminSigner.address;if(this.adminSigner.signer.type==="viem_v2"){let a=this.adminSigner.signer.account;if(!a.signMessage)throw new N("Account does not support signMessage");return{signature:yield a.signMessage({message:{raw:t}})}}else return{signature:yield this.adminSigner.signer.provider.request({method:"personal_sign",params:[t,e]})}}}})}createTransaction(t){return s(this,null,function*(){var a;let e=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signerLocator,chain:t.chain,calls:[{to:t.to,value:t.value?t.value.toString():"0",data:(a=t.data)!=null?a:"0x"}]}});if("error"in e)throw new M(JSON.stringify(e));return e})}approveTransaction(t,e){return s(this,null,function*(){var l,p;let a=t.find(g=>g.signer===this.signerLocator);if(!a){let g=new m(`Signer ${this.signerLocator} not found in pending approvals`);throw yield(p=(l=this.callbacks)==null?void 0:l.onTransactionFail)==null?void 0:p.call(l,g),g}let i=a.message,{signature:n,metadata:r}=yield this.signWithAdminSigner(i),c=yield this.apiClient.approveTransaction(this.walletLocator,e,{approvals:[u({signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:n.slice(0,66),s:`0x${n.slice(66)}`}:n},r&&{metadata:r})]});if("error"in c)throw new W(JSON.stringify(c))})}waitForTransaction(t,e=6e4){return s(this,null,function*(){var r,c,l,p,g,h,d,T;let a=Date.now(),i;do{if(Date.now()-a>e){let o=new L("Transaction confirmation timeout");throw yield(c=(r=this.callbacks).onTransactionFail)==null?void 0:c.call(r,o),o}if(i=yield this.apiClient.getTransaction(this.walletLocator,t),"error"in i)throw new f(JSON.stringify(i));yield v(w)}while(i.status==="pending");if(i.status==="failed"){let o=new P(`Transaction sending failed: ${JSON.stringify(i.error)}`);throw yield(p=(l=this.callbacks).onTransactionFail)==null?void 0:p.call(l,o),o}if(i.status==="awaiting-approval"){let o=new x("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw yield(h=(g=this.callbacks).onTransactionFail)==null?void 0:h.call(g,o),o}let n=i.onChain.txId;if(n==null){let o=new R("Transaction hash not found on transaction response");throw yield(T=(d=this.callbacks).onTransactionFail)==null?void 0:T.call(d,o),o}return n})}approveSignature(t,e){return s(this,null,function*(){let a=t.find(c=>c.signer===this.signerLocator);if(!a)throw new m(`Signer ${this.signerLocator} not found in pending approvals`);let i=a.message,{signature:n,metadata:r}=yield this.signWithAdminSigner(i);if(n===void 0)throw new E("Signature not available");return yield this.apiClient.approveSignature(this.walletLocator,e,{approvals:[{signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:n.slice(0,66),s:`0x${n.slice(66)}`}:n,metadata:r}]}),n})}waitForSignature(t){return s(this,null,function*(){let e=null;do if(yield v(w),e=yield this.apiClient.getSignature(this.walletLocator,t),"error"in e)throw new k(JSON.stringify(e));while(e===null||e.status==="pending");if(e.status==="failed")throw new A("Signature signing failed")})}createSignature(t){return s(this,null,function*(){if(typeof t.message!="string")throw new D("Message must be a string");let e=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:t.message,signer:this.signerLocator,chain:t.chain}});if("error"in e)throw new S(JSON.stringify(e));return e})}createTypedDataSignature(t){return s(this,null,function*(){let{domain:e,message:a,primaryType:i,types:n,chain:r}=t;if(!e||!a||!n||!r)throw new y("Invalid typed data");let{name:c,version:l,chainId:p,verifyingContract:g,salt:h}=e;if(!c||!l||!p||!g)throw new y("Invalid typed data domain");let d=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:c,version:l,chainId:Number(p),verifyingContract:g,salt:h},message:a,primaryType:i,types:n},signer:this.signerLocator,chain:r,isSmartWalletSignature:!1}});if("error"in d)throw new S(JSON.stringify(d));return d})}};export{H as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var e=[{inputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"ret",type:"bytes"}],name:"DelegateAndRevert",type:"error"},{inputs:[{internalType:"uint256",name:"opIndex",type:"uint256"},{internalType:"string",name:"reason",type:"string"}],name:"FailedOp",type:"error"},{inputs:[{internalType:"uint256",name:"opIndex",type:"uint256"},{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"inner",type:"bytes"}],name:"FailedOpWithRevert",type:"error"},{inputs:[{internalType:"bytes",name:"returnData",type:"bytes"}],name:"PostOpReverted",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"SenderAddressResult",type:"error"},{inputs:[{internalType:"address",name:"aggregator",type:"address"}],name:"SignatureValidationFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"address",name:"paymaster",type:"address"}],name:"AccountDeployed",type:"event"},{anonymous:!1,inputs:[],name:"BeforeExecution",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bytes",name:"revertReason",type:"bytes"}],name:"PostOpRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"aggregator",type:"address"}],name:"SignatureAggregatorChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalStaked",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"paymaster",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bool",name:"success",type:"bool"},{indexed:!1,internalType:"uint256",name:"actualGasCost",type:"uint256"},{indexed:!1,internalType:"uint256",name:"actualGasUsed",type:"uint256"}],name:"UserOperationEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"}],name:"UserOperationPrefundTooLow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bytes",name:"revertReason",type:"bytes"}],name:"UserOperationRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"delegateAndRevert",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"deposits",outputs:[{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],internalType:"struct IStakeManager.DepositInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint192",name:"key",type:"uint192"}],name:"getNonce",outputs:[{internalType:"uint256",name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"initCode",type:"bytes"}],name:"getSenderAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes32",name:"accountGasLimits",type:"bytes32"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"bytes32",name:"gasFees",type:"bytes32"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct PackedUserOperation",name:"userOp",type:"tuple"}],name:"getUserOpHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes32",name:"accountGasLimits",type:"bytes32"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"bytes32",name:"gasFees",type:"bytes32"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct PackedUserOperation[]",name:"userOps",type:"tuple[]"},{internalType:"contract IAggregator",name:"aggregator",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct IEntryPoint.UserOpsPerAggregator[]",name:"opsPerAggregator",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleAggregatedOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes32",name:"accountGasLimits",type:"bytes32"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"bytes32",name:"gasFees",type:"bytes32"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct PackedUserOperation[]",name:"ops",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint192",name:"key",type:"uint192"}],name:"incrementNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"callData",type:"bytes"},{components:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"paymasterVerificationGasLimit",type:"uint256"},{internalType:"uint256",name:"paymasterPostOpGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"address",name:"paymaster",type:"address"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"}],internalType:"struct EntryPoint.MemoryUserOp",name:"mUserOp",type:"tuple"},{internalType:"bytes32",name:"userOpHash",type:"bytes32"},{internalType:"uint256",name:"prefund",type:"uint256"},{internalType:"uint256",name:"contextOffset",type:"uint256"},{internalType:"uint256",name:"preOpGas",type:"uint256"}],internalType:"struct EntryPoint.UserOpInfo",name:"opInfo",type:"tuple"},{internalType:"bytes",name:"context",type:"bytes"}],name:"innerHandleOp",outputs:[{internalType:"uint256",name:"actualGasCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint192",name:"",type:"uint192"}],name:"nonceSequenceNumber",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"unlockStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"withdrawAddress",type:"address"}],name:"withdrawStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"withdrawAddress",type:"address"},{internalType:"uint256",name:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],n= exports.a =e;exports.a = n;
@@ -1 +0,0 @@
1
- import{c as r}from"./chunk-22GIA4MK.js";import{Keypair as o}from"@solana/web3.js";import i from"tweetnacl";var t=a=>{let{signer:n}=a;return n instanceof o?{type:"solana-keypair",address:n.publicKey.toBase58(),signTransaction:e=>r(void 0,null,function*(){return e.sign([n]),e}),signMessage:e=>r(void 0,null,function*(){let s=i.sign.detached(e,n.secretKey);return new Uint8Array(s)})}:{type:"solana-keypair",address:a.address,signTransaction:n.signTransaction,signMessage:n.signMessage}},l=a=>a.type==="solana-fireblocks-custodial",u=a=>!l(a),y=a=>a.type==="solana-fireblocks-custodial"?{type:"solana-fireblocks-custodial"}:t(a);export{t as a,l as b,u as c,y as d};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _web3js = require('@solana/web3.js');var _tweetnacl = require('tweetnacl'); var _tweetnacl2 = _interopRequireDefault(_tweetnacl);var t=a=>{let{signer:n}=a;return n instanceof _web3js.Keypair?{type:"solana-keypair",address:n.publicKey.toBase58(),signTransaction:e=>_chunkCK4JCQY6cjs.c.call(void 0, void 0,null,function*(){return e.sign([n]),e}),signMessage:e=>_chunkCK4JCQY6cjs.c.call(void 0, void 0,null,function*(){let s=_tweetnacl2.default.sign.detached(e,n.secretKey);return new Uint8Array(s)})}:{type:"solana-keypair",address:a.address,signTransaction:n.signTransaction,signMessage:n.signMessage}},l= exports.b =a=>a.type==="solana-fireblocks-custodial",g= exports.c =a=>!l(a),u= exports.d =a=>a.type==="solana-fireblocks-custodial"?{type:"solana-fireblocks-custodial"}:t(a);exports.a = t; exports.b = l; exports.c = g; exports.d = u;
@@ -1 +0,0 @@
1
- import{h as s}from"./chunk-7ENJXL4H.js";import{a as i,b as n,c as o}from"./chunk-22GIA4MK.js";import{WebAuthnP256 as m}from"ox";function g(t,a){var r;let e=a.config.adminSigner;switch(t.type){case"evm-keypair":if(e.type!=="evm-keypair")throw new s("Admin signer type mismatch");return n(i({},t),{locator:e.locator});case"evm-passkey":if(e.type!=="evm-passkey")throw new s("Admin signer type mismatch");return{type:"evm-passkey",id:e.id,name:(r=t==null?void 0:t.name)!=null?r:e.name,locator:e.locator}}}function k(t,a){return o(this,null,function*(){let e=t!=null?t:`Crossmint Wallet ${Date.now()}`,r=a?yield a(e):yield m.createCredential({name:e});return{type:"evm-passkey",id:r.id,name:e,publicKey:{x:r.publicKey.x.toString(),y:r.publicKey.y.toString()}}})}export{g as a,k as b};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');function o(n){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return new Promise(r=>setTimeout(r,n))})}exports.a = o;
@@ -1 +0,0 @@
1
- import{b as n,c as i}from"./chunk-TCIZIST7.js";import{a as o}from"./chunk-7ENJXL4H.js";import{c as t}from"./chunk-22GIA4MK.js";import{APIKeyUsageOrigin as h,CrossmintApiClient as g}from"@crossmint/common-sdk-base";var p=class extends g{constructor(e,s){super(e,{internalConfig:{sdkMetadata:{name:i,version:n}}});this.appId=s;this.apiPrefix="api/2022-06-09/wallets"}createWallet(e){return t(this,null,function*(){let s=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(s,{body:JSON.stringify(e),headers:this.headers})).json()})}getWallet(e){return t(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:this.headers})).json()})}createTransaction(e,s){return t(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveTransaction(e,s,r){return t(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${s}/approvals`,{body:JSON.stringify(r),headers:this.headers})).json()})}getTransaction(e,s){return t(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${s}`,{headers:this.headers})).json()})}createSignature(e,s){return t(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveSignature(e,s,r){return t(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${s}/approvals`,{body:JSON.stringify(r),headers:this.headers})).json()})}getSignature(e,s){return t(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${s}`,{headers:this.headers})).json()})}getTransactions(e){return t(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:this.headers})).json()})}unstable_getNfts(e){return t(this,null,function*(){let s=new URLSearchParams;s.append("page",e.page.toString()),s.append("perPage",e.perPage.toString());let r=`${e.chain}:${e.address}`;return(yield this.get(`${this.apiPrefix}/${r}/nfts?${s.toString()}`,{headers:this.headers})).json()})}getBalance(e,s){return t(this,null,function*(){let r=new URLSearchParams;return s.chains&&s.chains.forEach(c=>r.append("chains",c)),r.append("tokens",s.tokens.join(",")),(yield this.get(`api/v1-alpha2/wallets/${e}/balances?${r.toString()}`,{headers:this.headers})).json()})}registerSigner(e,s){return t(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(s),headers:this.headers})).json()})}getSigner(e,s){return t(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${s}`,{headers:this.headers})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===h.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new o("Invalid API key");return this.parsedAPIKey.environment}get headers(){let e={"Content-Type":"application/json"};return this.appId&&(e["X-App-Identifier"]=this.appId),e}};export{p as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var s=class{constructor(t,e,r){this.walletLocator=t;this.transactionsService=e;this.apiClient=r}registerDelegatedSigner(t,e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let a=(yield this.apiClient.registerSigner(this.walletLocator,{signer:t})).transaction.id;return yield this.transactionsService.approveTransaction(a,e?[e]:[]),yield this.transactionsService.waitForTransaction(a),this.getDelegatedSigner(t)})}getDelegatedSigner(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getSigner(this.walletLocator,t)})}getDelegatedSigners(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var r,a;let t=yield this.apiClient.getWallet(this.walletLocator);if("error"in t)throw new (0, _chunkCT2UGJELcjs.d)(JSON.stringify(t));if(t.type!=="solana-smart-wallet")throw new (0, _chunkCT2UGJELcjs.c)(`Wallet type ${t.type} not supported`);return(a=(r=t.config)==null?void 0:r.delegatedSigners)!=null?a:[]})}};exports.a = s;
@@ -1 +0,0 @@
1
- import{i as p,w as s,x as c}from"./chunk-7ENJXL4H.js";import{c as l}from"./chunk-22GIA4MK.js";import u from"bs58";import{PublicKey as v,VersionedTransaction as h}from"@solana/web3.js";var d=class{constructor(e,r){this.walletLocator=e;this.apiClient=r}approve(e,r,t){return l(this,null,function*(){if(e.walletType!=="solana-smart-wallet"&&e.walletType!=="solana-mpc-wallet")throw new Error(`Unsupported wallet type: ${e.walletType}`);let i=yield Promise.all(r.map(a=>l(this,null,function*(){let o=t.find(m=>a.signer.includes(m.address));if(o==null)throw new p(`Signer ${a.signer} is required for the transaction but was not found in the signer list`);let g=u.decode(e.onChain.transaction),w=h.deserialize(g),y=yield o.signTransaction(w),f=new v(o.address);return{signature:this.retrieveValidSignature(y,f),signer:a.signer}}))),n=yield this.apiClient.approveTransaction(this.walletLocator,e.id,{approvals:i});if(n.error)throw new s(JSON.stringify(n));if(n.status==="awaiting-approval")throw new c("Still has pending approvals, please submit all approvals");return n})}retrieveValidSignature(e,r){let t=e.message.staticAccountKeys.findIndex(a=>a.equals(r));if(t===-1)throw new s("Wallet public key not found in transaction signers");let i=e.signatures[t];if(i==null)throw new s("No valid signature found in the transaction");let n=new Uint8Array(Object.values(i));return u.encode(n)}};export{d as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/wallets-sdk",t="0.8.0";var p="WALLETS_SDK",d= exports.b =t,c= exports.c =s,a= exports.d ="0x0000000071727de22e5e9d8baf0edac6f37da032",r= exports.e =1e3;exports.a = p; exports.b = d; exports.c = c; exports.d = a; exports.e = r;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMFUN74KHcjs = require('./chunk-MFUN74KH.cjs');var _chunkF2XDGZCBcjs = require('./chunk-F2XDGZCB.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var _chains = require('viem/chains');var O=[_commonsdkbase.BlockchainIncludingTestnet.BASE_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.POLYGON_AMOY,_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.STORY_TESTNET,_commonsdkbase.BlockchainIncludingTestnet.MODE_SEPOLIA],u=[_commonsdkbase.BlockchainIncludingTestnet.BASE,_commonsdkbase.BlockchainIncludingTestnet.POLYGON,_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM,_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM,_commonsdkbase.BlockchainIncludingTestnet.STORY,_commonsdkbase.BlockchainIncludingTestnet.MODE,_commonsdkbase.BlockchainIncludingTestnet.BSC,_commonsdkbase.BlockchainIncludingTestnet.SHAPE];function _(e){return O.includes(e)}function I(e){return u.includes(e)}function h(e){return _(e)||I(e)}function C(e){switch(e){case _commonsdkbase.BlockchainIncludingTestnet.BASE_SEPOLIA:return _chains.baseSepolia;case _commonsdkbase.BlockchainIncludingTestnet.BASE:return _chains.base;case _commonsdkbase.BlockchainIncludingTestnet.POLYGON_AMOY:return _chains.polygonAmoy;case _commonsdkbase.BlockchainIncludingTestnet.POLYGON:return _chains.polygon;case _commonsdkbase.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA:return _chains.optimismSepolia;case _commonsdkbase.BlockchainIncludingTestnet.OPTIMISM:return _chains.optimism;case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA:return _chains.arbitrumSepolia;case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUM:return _chains.arbitrum;case _commonsdkbase.BlockchainIncludingTestnet.STORY_TESTNET:return _chunkF2XDGZCBcjs.a;case _commonsdkbase.BlockchainIncludingTestnet.STORY:return _chunkMFUN74KHcjs.a;case _commonsdkbase.BlockchainIncludingTestnet.MODE_SEPOLIA:return _chains.modeTestnet;case _commonsdkbase.BlockchainIncludingTestnet.MODE:return _chains.mode;case _commonsdkbase.BlockchainIncludingTestnet.BSC:return _chains.bsc;case _commonsdkbase.BlockchainIncludingTestnet.SHAPE:return _chains.shape}}exports.a = _; exports.b = I; exports.c = h; exports.d = C;
@@ -1 +0,0 @@
1
- "use strict";
@@ -1 +0,0 @@
1
- var e=[{inputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"ret",type:"bytes"}],name:"DelegateAndRevert",type:"error"},{inputs:[{internalType:"uint256",name:"opIndex",type:"uint256"},{internalType:"string",name:"reason",type:"string"}],name:"FailedOp",type:"error"},{inputs:[{internalType:"uint256",name:"opIndex",type:"uint256"},{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"inner",type:"bytes"}],name:"FailedOpWithRevert",type:"error"},{inputs:[{internalType:"bytes",name:"returnData",type:"bytes"}],name:"PostOpReverted",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"SenderAddressResult",type:"error"},{inputs:[{internalType:"address",name:"aggregator",type:"address"}],name:"SignatureValidationFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"address",name:"paymaster",type:"address"}],name:"AccountDeployed",type:"event"},{anonymous:!1,inputs:[],name:"BeforeExecution",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bytes",name:"revertReason",type:"bytes"}],name:"PostOpRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"aggregator",type:"address"}],name:"SignatureAggregatorChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalStaked",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"paymaster",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bool",name:"success",type:"bool"},{indexed:!1,internalType:"uint256",name:"actualGasCost",type:"uint256"},{indexed:!1,internalType:"uint256",name:"actualGasUsed",type:"uint256"}],name:"UserOperationEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"}],name:"UserOperationPrefundTooLow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bytes",name:"revertReason",type:"bytes"}],name:"UserOperationRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"delegateAndRevert",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"deposits",outputs:[{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],internalType:"struct IStakeManager.DepositInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint192",name:"key",type:"uint192"}],name:"getNonce",outputs:[{internalType:"uint256",name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"initCode",type:"bytes"}],name:"getSenderAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes32",name:"accountGasLimits",type:"bytes32"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"bytes32",name:"gasFees",type:"bytes32"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct PackedUserOperation",name:"userOp",type:"tuple"}],name:"getUserOpHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes32",name:"accountGasLimits",type:"bytes32"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"bytes32",name:"gasFees",type:"bytes32"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct PackedUserOperation[]",name:"userOps",type:"tuple[]"},{internalType:"contract IAggregator",name:"aggregator",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct IEntryPoint.UserOpsPerAggregator[]",name:"opsPerAggregator",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleAggregatedOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes32",name:"accountGasLimits",type:"bytes32"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"bytes32",name:"gasFees",type:"bytes32"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct PackedUserOperation[]",name:"ops",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint192",name:"key",type:"uint192"}],name:"incrementNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"callData",type:"bytes"},{components:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"paymasterVerificationGasLimit",type:"uint256"},{internalType:"uint256",name:"paymasterPostOpGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"address",name:"paymaster",type:"address"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"}],internalType:"struct EntryPoint.MemoryUserOp",name:"mUserOp",type:"tuple"},{internalType:"bytes32",name:"userOpHash",type:"bytes32"},{internalType:"uint256",name:"prefund",type:"uint256"},{internalType:"uint256",name:"contextOffset",type:"uint256"},{internalType:"uint256",name:"preOpGas",type:"uint256"}],internalType:"struct EntryPoint.UserOpInfo",name:"opInfo",type:"tuple"},{internalType:"bytes",name:"context",type:"bytes"}],name:"innerHandleOp",outputs:[{internalType:"uint256",name:"actualGasCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint192",name:"",type:"uint192"}],name:"nonceSequenceNumber",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"unlockStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"withdrawAddress",type:"address"}],name:"withdrawStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"withdrawAddress",type:"address"},{internalType:"uint256",name:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],a=e;export{a};
@@ -1 +0,0 @@
1
- import{a as N}from"./chunk-EFRCLQXM.js";import{a as b}from"./chunk-LX6WD7J6.js";import{e as f}from"./chunk-TCIZIST7.js";import{q as m,r as p,s as u,t as v,u as C,v as y}from"./chunk-7ENJXL4H.js";import{a as l,c}from"./chunk-22GIA4MK.js";import k from"bs58";var A=class{constructor(t,r,n=new N(t,r),a={}){this.walletLocator=t;this.apiClient=r;this.approvalsService=n;this.callbacks=a}createSignAndConfirm(t){return c(this,null,function*(){var a,s,o,e;yield(s=(a=this.callbacks).onTransactionStart)==null?void 0:s.call(a,t.transaction);let r=yield this.create(t);yield this.approveTransaction(r.id,[...t.signer!=null?[t.signer]:[],...t.additionalSigners||[]]);let n=yield this.waitForTransaction(r.id);return yield(e=(o=this.callbacks).onTransactionComplete)==null?void 0:e.call(o,t.transaction),n})}getTransactions(){return c(this,null,function*(){return yield this.apiClient.getTransactions(this.walletLocator)})}approveTransaction(t,r){return c(this,null,function*(){var a;let n=yield this.apiClient.getTransaction(this.walletLocator,t);if(n.error)throw new p(JSON.stringify(n));n.status==="awaiting-approval"&&(yield this.approvalsService.approve(n,((a=n.approvals)==null?void 0:a.pending)||[],r))})}create(t){return c(this,null,function*(){let{transaction:r,signer:n,additionalSigners:a}=t,s=l(l({transaction:k.encode(r.serialize())},n?{signer:n.address}:{}),a?{additionalSigners:a.map(e=>e.address)}:{}),o=yield this.apiClient.createTransaction(this.walletLocator,{params:s});if(o.error)throw new m(JSON.stringify(o));return o})}waitForTransaction(t,r=6e4){return c(this,null,function*(){var o,e,w,d,g,S,h,T;let n=Date.now(),a;do{if(Date.now()-n>r){let i=new u("Transaction confirmation timeout");throw yield(e=(o=this.callbacks).onTransactionFail)==null?void 0:e.call(o,i),i}if(a=yield this.apiClient.getTransaction(this.walletLocator,t),a.error)throw new p(JSON.stringify(a));yield b(f)}while(a.status==="pending");if(a.status==="failed"){let i=new v(`Transaction sending failed: ${JSON.stringify(a.error)}`);throw yield(d=(w=this.callbacks).onTransactionFail)==null?void 0:d.call(w,i),i}if(a.status==="awaiting-approval"){let i=new C("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw yield(S=(g=this.callbacks).onTransactionFail)==null?void 0:S.call(g,i),i}let s=a.onChain.txId;if(s==null){let i=new y("Transaction hash not found on transaction response");throw yield(T=(h=this.callbacks).onTransactionFail)==null?void 0:T.call(h,i),i}return s})}};export{A as a};
@@ -1 +0,0 @@
1
- import{c as e}from"./chunk-22GIA4MK.js";function s(n){return e(this,null,function*(){return new Promise(r=>setTimeout(r,n))})}export{s as a};
@@ -1 +0,0 @@
1
- import{a as o}from"./chunk-ZXV5SOXM.js";import{a as r}from"./chunk-DLYUSTHS.js";import{createCrossmint as y}from"@crossmint/common-sdk-base";var a=class s{constructor(t){let e=new r(t);this.walletFactory=new o(e)}static from(t){return new s(t)}getOrCreateWallet(t,e,l){return this.walletFactory.getOrCreateWallet(t,e,l)}getWallet(t,e,l,p){return this.walletFactory.getWallet(t,e,l,p)}};export{y as a,a as b};
@@ -1 +0,0 @@
1
- import{a as S}from"./chunk-YLMKJ56K.js";import{a as d}from"./chunk-LWGUOI5G.js";import{a as r,c as o,d as c}from"./chunk-6W35AARC.js";import{c as a}from"./chunk-22GIA4MK.js";var s=class{constructor(e,n,i,t){this.apiClient=e;this.publicKey=n;this.client=i;this.callbacks=t;this.transactionsService=new d(this.walletLocator,this.apiClient),this.delegatedSignerService=new S(this.walletLocator,this.transactionsService,e)}get address(){return this.publicKey.toBase58()}getBalances(e){return a(this,null,function*(){let n=yield this.apiClient.getBalance(this.address,{tokens:e.tokens});if("error"in n)throw new Error(`Failed to get balances: ${JSON.stringify(n.error)}`);return n})}getTransactions(){return a(this,null,function*(){return yield this.transactionsService.getTransactions()})}unstable_getNfts(e){return a(this,null,function*(){return yield this.apiClient.unstable_getNfts({address:this.address,perPage:e.perPage,page:e.page,chain:"solana"})})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:solana-smart-wallet"}},g=class extends s{constructor(e,n,i,t,u){super(e,n,t,u),this.adminSigner=c(i)}sendTransaction(e){return a(this,null,function*(){var t;let n=this.getEffectiveTransactionSigner(e.delegatedSigner),i=(t=e.additionalSigners)==null?void 0:t.map(r);return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,signer:n,additionalSigners:i})})}addDelegatedSigner(e){return a(this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(e,o(this.adminSigner)?this.adminSigner:void 0)})}getDelegatedSigners(){return a(this,null,function*(){return yield this.delegatedSignerService.getDelegatedSigners()})}getEffectiveTransactionSigner(e){return e==null?o(this.adminSigner)?this.adminSigner:void 0:r(e)}},p=class extends s{sendTransaction(e){return a(this,null,function*(){var n;return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,additionalSigners:(n=e.additionalSigners)==null?void 0:n.map(r)})})}};export{s as a,g as b,p as c};
@@ -1 +0,0 @@
1
- import{b as o}from"./chunk-7ENJXL4H.js";import{Connection as e}from"@solana/web3.js";var a=n=>{if(n==="development"||n==="staging")return new e("https://api.devnet.solana.com");if(n==="production")return new e("https://api.mainnet-beta.solana.com");throw new o(`Invalid environment ${n}`)};export{a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDNWDTJR6cjs = require('./chunk-DNWDTJR6.cjs');var _chunkUWWXOC7Ycjs = require('./chunk-UWWXOC7Y.cjs');var _chunk6XOH62PVcjs = require('./chunk-6XOH62PV.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var s=class{constructor(e,n,i,t){this.apiClient=e;this.publicKey=n;this.client=i;this.callbacks=t;this.transactionsService=new (0, _chunkUWWXOC7Ycjs.a)(this.walletLocator,this.apiClient),this.delegatedSignerService=new (0, _chunkDNWDTJR6cjs.a)(this.walletLocator,this.transactionsService,e)}get address(){return this.publicKey.toBase58()}getBalances(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let n=yield this.apiClient.getBalance(this.address,{tokens:e.tokens});if("error"in n)throw new Error(`Failed to get balances: ${JSON.stringify(n.error)}`);return n})}getTransactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.transactionsService.getTransactions()})}unstable_getNfts(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.unstable_getNfts({address:this.address,perPage:e.perPage,page:e.page,chain:"solana"})})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:solana-smart-wallet"}},g= exports.b =class extends s{constructor(e,n,i,t,u){super(e,n,t,u),this.adminSigner=_chunk6XOH62PVcjs.d.call(void 0, i)}sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var t;let n=this.getEffectiveTransactionSigner(e.delegatedSigner),i=(t=e.additionalSigners)==null?void 0:t.map(_chunk6XOH62PVcjs.a);return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,signer:n,additionalSigners:i})})}addDelegatedSigner(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(e,_chunk6XOH62PVcjs.c.call(void 0, this.adminSigner)?this.adminSigner:void 0)})}getDelegatedSigners(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.delegatedSignerService.getDelegatedSigners()})}getEffectiveTransactionSigner(e){return e==null?_chunk6XOH62PVcjs.c.call(void 0, this.adminSigner)?this.adminSigner:void 0:_chunk6XOH62PVcjs.a.call(void 0, e)}},p= exports.c =class extends s{sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var n;return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,additionalSigners:(n=e.additionalSigners)==null?void 0:n.map(_chunk6XOH62PVcjs.a)})})}};exports.a = s; exports.b = g; exports.c = p;
@@ -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 _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _web3js = require('@solana/web3.js');var d=class{constructor(e,r){this.walletLocator=e;this.apiClient=r}approve(e,r,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(e.walletType!=="solana-smart-wallet"&&e.walletType!=="solana-mpc-wallet")throw new Error(`Unsupported wallet type: ${e.walletType}`);let i=yield Promise.all(r.map(a=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let o=t.find(m=>a.signer.includes(m.address));if(o==null)throw new (0, _chunkCT2UGJELcjs.i)(`Signer ${a.signer} is required for the transaction but was not found in the signer list`);let g=_bs582.default.decode(e.onChain.transaction),w=_web3js.VersionedTransaction.deserialize(g),y=yield o.signTransaction(w),f=new (0, _web3js.PublicKey)(o.address);return{signature:this.retrieveValidSignature(y,f),signer:a.signer}}))),n=yield this.apiClient.approveTransaction(this.walletLocator,e.id,{approvals:i});if(n.error)throw new (0, _chunkCT2UGJELcjs.w)(JSON.stringify(n));if(n.status==="awaiting-approval")throw new (0, _chunkCT2UGJELcjs.x)("Still has pending approvals, please submit all approvals");return n})}retrieveValidSignature(e,r){let t=e.message.staticAccountKeys.findIndex(a=>a.equals(r));if(t===-1)throw new (0, _chunkCT2UGJELcjs.w)("Wallet public key not found in transaction signers");let i=e.signatures[t];if(i==null)throw new (0, _chunkCT2UGJELcjs.w)("No valid signature found in the transaction");let n=new Uint8Array(Object.values(i));return _bs582.default.encode(n)}};exports.a = d;
@@ -1 +0,0 @@
1
- import{c as g,d as p}from"./chunk-7ENJXL4H.js";import{c as i}from"./chunk-22GIA4MK.js";var o=class{constructor(e,a,t){this.walletLocator=e;this.wallet=a;this.apiClient=t}registerDelegatedSigner(e,a,t){return i(this,null,function*(){var n,l;let r=(n=(yield this.apiClient.registerSigner(this.walletLocator,{signer:a,chain:e,expiresAt:t==null?void 0:t.expiresAt})).chains)==null?void 0:n[e];if((r==null?void 0:r.status)==="awaiting-approval"){if(!(t!=null&&t.adminSigner))throw new Error("Admin signer is required to approve delegated signer registration");let m=((l=r.approvals)==null?void 0:l.pending)||[];yield this.wallet.approveSignature(m,r.id),yield this.wallet.waitForSignature(r.id)}return this.getDelegatedSigner(a)})}getDelegatedSigner(e){return i(this,null,function*(){return yield this.apiClient.getSigner(this.walletLocator,e)})}getDelegatedSigners(){return i(this,null,function*(){var t,s;let e=yield this.apiClient.getWallet(this.walletLocator);if("error"in e)throw new p(JSON.stringify(e));if(e.type!=="evm-smart-wallet")throw new g(`Wallet type ${e.type} not supported`);return(s=(t=e.config)==null?void 0:t.delegatedSigners)!=null?s:[]})}};export{o as a};
File without changes
@@ -1 +0,0 @@
1
- var s="@crossmint/wallets-sdk",t="0.8.0";var d="WALLETS_SDK",c=t,a=s,r="0x0000000071727de22e5e9d8baf0edac6f37da032",m=1e3;export{d as a,c as b,a as c,r as d,m as e};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkPQH5C2OMcjs = require('./chunk-PQH5C2OM.cjs');var _chunkDANM4IBFcjs = require('./chunk-DANM4IBF.cjs');var _chunkER6A2LAJcjs = require('./chunk-ER6A2LAJ.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var A=class{constructor(t,r,n=new (0, _chunkPQH5C2OMcjs.a)(t,r),a={}){this.walletLocator=t;this.apiClient=r;this.approvalsService=n;this.callbacks=a}createSignAndConfirm(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var a,s,o,e;yield(s=(a=this.callbacks).onTransactionStart)==null?void 0:s.call(a,t.transaction);let r=yield this.create(t);yield this.approveTransaction(r.id,[...t.signer!=null?[t.signer]:[],...t.additionalSigners||[]]);let n=yield this.waitForTransaction(r.id);return yield(e=(o=this.callbacks).onTransactionComplete)==null?void 0:e.call(o,t.transaction),n})}getTransactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getTransactions(this.walletLocator)})}approveTransaction(t,r){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var a;let n=yield this.apiClient.getTransaction(this.walletLocator,t);if(n.error)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(n));n.status==="awaiting-approval"&&(yield this.approvalsService.approve(n,((a=n.approvals)==null?void 0:a.pending)||[],r))})}create(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{transaction:r,signer:n,additionalSigners:a}=t,s=_chunkCK4JCQY6cjs.a.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {transaction:_bs582.default.encode(r.serialize())},n?{signer:n.address}:{}),a?{additionalSigners:a.map(e=>e.address)}:{}),o=yield this.apiClient.createTransaction(this.walletLocator,{params:s});if(o.error)throw new (0, _chunkCT2UGJELcjs.q)(JSON.stringify(o));return o})}waitForTransaction(t,r=6e4){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var o,e,w,d,g,S,h,T;let n=Date.now(),a;do{if(Date.now()-n>r){let i=new (0, _chunkCT2UGJELcjs.s)("Transaction confirmation timeout");throw yield(e=(o=this.callbacks).onTransactionFail)==null?void 0:e.call(o,i),i}if(a=yield this.apiClient.getTransaction(this.walletLocator,t),a.error)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(a));yield _chunkDANM4IBFcjs.a.call(void 0, _chunkER6A2LAJcjs.e)}while(a.status==="pending");if(a.status==="failed"){let i=new (0, _chunkCT2UGJELcjs.t)(`Transaction sending failed: ${JSON.stringify(a.error)}`);throw yield(d=(w=this.callbacks).onTransactionFail)==null?void 0:d.call(w,i),i}if(a.status==="awaiting-approval"){let i=new (0, _chunkCT2UGJELcjs.u)("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw yield(S=(g=this.callbacks).onTransactionFail)==null?void 0:S.call(g,i),i}let s=a.onChain.txId;if(s==null){let i=new (0, _chunkCT2UGJELcjs.v)("Transaction hash not found on transaction response");throw yield(T=(h=this.callbacks).onTransactionFail)==null?void 0:T.call(h,i),i}return s})}};exports.a = A;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWNXCWDJQcjs = require('./chunk-WNXCWDJQ.cjs');var _chunk6DTBGTSScjs = require('./chunk-6DTBGTSS.cjs');var _chunkEZ7PEO5Pcjs = require('./chunk-EZ7PEO5P.cjs');var _chunkDANM4IBFcjs = require('./chunk-DANM4IBF.cjs');var _chunkER6A2LAJcjs = require('./chunk-ER6A2LAJ.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _ox = require('ox');var _viem = require('viem');var H=class{constructor(t,e,a,i){this.address=t;this.apiClient=e;this.adminSigner=a;this.callbacks=i;this.delegatedSignerService=new (0, _chunkWNXCWDJQcjs.a)(this.walletLocator,this,this.apiClient)}getBalances(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let e=yield this.apiClient.getBalance(this.address,{chains:[t.chain],tokens:t.tokens});if("error"in e)throw new Error(`Failed to get balances: ${JSON.stringify(e.error)}`);return e})}getTransactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let t=yield this.apiClient.getTransactions(this.walletLocator);if("error"in t)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(t));return t.transactions.filter(e=>e.walletType==="evm-smart-wallet")})}unstable_getNfts(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.unstable_getNfts(_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},t),{address:this.address}))})}getNonce(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var i;return yield this.getViemClient({chain:t.chain,transport:t==null?void 0:t.transport}).readContract({abi:_chunk6DTBGTSScjs.a,address:_chunkER6A2LAJcjs.d,functionName:"getNonce",args:[this.address,(i=t==null?void 0:t.key)!=null?i:BigInt(0)]})})}signMessage(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var r;let e=yield this.createSignature(t),a=e.id,i=((r=e.approvals)==null?void 0:r.pending)||[],n=yield this.approveSignature(i,a);return yield this.waitForSignature(a),n})}signTypedData(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var r;let e=yield this.createTypedDataSignature(t),a=e.id,i=((r=e.approvals)==null?void 0:r.pending)||[],n=yield this.approveSignature(i,a);return yield this.waitForSignature(a),n})}sendTransaction(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var i,n,r;yield(n=(i=this.callbacks)==null?void 0:i.onTransactionStart)==null?void 0:n.call(i,t);let e=yield this.createTransaction(t),a=e.id;return yield this.approveTransaction(((r=e.approvals)==null?void 0:r.pending)||[],a),yield this.waitForTransaction(a)})}getViemClient(t){var e;return _viem.createPublicClient.call(void 0, {transport:(e=t.transport)!=null?e:_viem.http.call(void 0, ),chain:_chunkEZ7PEO5Pcjs.d.call(void 0, t.chain)})}addDelegatedSigner(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(t.chain,t.signer,{adminSigner:this.adminSigner})})}getDelegatedSigners(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.delegatedSignerService.getDelegatedSigners()})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:evm-smart-wallet"}get signerLocator(){return this.adminSigner.locator}signWithAdminSigner(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){switch(this.adminSigner.type){case"evm-passkey":{if(this.adminSigner.signingCallback)return this.adminSigner.signingCallback(t);let{metadata:e,signature:a}=yield _ox.WebAuthnP256.sign({credentialId:this.adminSigner.id,challenge:t});return{signature:_viem.concat.call(void 0, [`0x${a.r.toString(16)}`,`0x${a.s.toString(16)}`]),metadata:e}}case"evm-keypair":{let e=this.adminSigner.address;if(this.adminSigner.signer.type==="viem_v2"){let a=this.adminSigner.signer.account;if(!a.signMessage)throw new (0, _chunkCT2UGJELcjs.n)("Account does not support signMessage");return{signature:yield a.signMessage({message:{raw:t}})}}else return{signature:yield this.adminSigner.signer.provider.request({method:"personal_sign",params:[t,e]})}}}})}createTransaction(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var a;let e=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signerLocator,chain:t.chain,calls:[{to:t.to,value:t.value?t.value.toString():"0",data:(a=t.data)!=null?a:"0x"}]}});if("error"in e)throw new (0, _chunkCT2UGJELcjs.q)(JSON.stringify(e));return e})}approveTransaction(t,e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var l,p;let a=t.find(g=>g.signer===this.signerLocator);if(!a){let g=new (0, _chunkCT2UGJELcjs.i)(`Signer ${this.signerLocator} not found in pending approvals`);throw yield(p=(l=this.callbacks)==null?void 0:l.onTransactionFail)==null?void 0:p.call(l,g),g}let i=a.message,{signature:n,metadata:r}=yield this.signWithAdminSigner(i),c=yield this.apiClient.approveTransaction(this.walletLocator,e,{approvals:[_chunkCK4JCQY6cjs.a.call(void 0, {signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:n.slice(0,66),s:`0x${n.slice(66)}`}:n},r&&{metadata:r})]});if("error"in c)throw new (0, _chunkCT2UGJELcjs.w)(JSON.stringify(c))})}waitForTransaction(t,e=6e4){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var r,c,l,p,g,h,d,T;let a=Date.now(),i;do{if(Date.now()-a>e){let o=new (0, _chunkCT2UGJELcjs.s)("Transaction confirmation timeout");throw yield(c=(r=this.callbacks).onTransactionFail)==null?void 0:c.call(r,o),o}if(i=yield this.apiClient.getTransaction(this.walletLocator,t),"error"in i)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(i));yield _chunkDANM4IBFcjs.a.call(void 0, _chunkER6A2LAJcjs.e)}while(i.status==="pending");if(i.status==="failed"){let o=new (0, _chunkCT2UGJELcjs.t)(`Transaction sending failed: ${JSON.stringify(i.error)}`);throw yield(p=(l=this.callbacks).onTransactionFail)==null?void 0:p.call(l,o),o}if(i.status==="awaiting-approval"){let o=new (0, _chunkCT2UGJELcjs.u)("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw yield(h=(g=this.callbacks).onTransactionFail)==null?void 0:h.call(g,o),o}let n=i.onChain.txId;if(n==null){let o=new (0, _chunkCT2UGJELcjs.v)("Transaction hash not found on transaction response");throw yield(T=(d=this.callbacks).onTransactionFail)==null?void 0:T.call(d,o),o}return n})}approveSignature(t,e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let a=t.find(c=>c.signer===this.signerLocator);if(!a)throw new (0, _chunkCT2UGJELcjs.i)(`Signer ${this.signerLocator} not found in pending approvals`);let i=a.message,{signature:n,metadata:r}=yield this.signWithAdminSigner(i);if(n===void 0)throw new (0, _chunkCT2UGJELcjs.l)("Signature not available");return yield this.apiClient.approveSignature(this.walletLocator,e,{approvals:[{signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:n.slice(0,66),s:`0x${n.slice(66)}`}:n,metadata:r}]}),n})}waitForSignature(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let e=null;do if(yield _chunkDANM4IBFcjs.a.call(void 0, _chunkER6A2LAJcjs.e),e=yield this.apiClient.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")})}createSignature(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(typeof t.message!="string")throw new (0, _chunkCT2UGJELcjs.j)("Message must be a string");let e=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:t.message,signer:this.signerLocator,chain:t.chain}});if("error"in e)throw new (0, _chunkCT2UGJELcjs.o)(JSON.stringify(e));return e})}createTypedDataSignature(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{domain:e,message:a,primaryType:i,types:n,chain:r}=t;if(!e||!a||!n||!r)throw new (0, _chunkCT2UGJELcjs.k)("Invalid typed data");let{name:c,version:l,chainId:p,verifyingContract:g,salt:h}=e;if(!c||!l||!p||!g)throw new (0, _chunkCT2UGJELcjs.k)("Invalid typed data domain");let d=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:c,version:l,chainId:Number(p),verifyingContract:g,salt:h},message:a,primaryType:i,types:n},signer:this.signerLocator,chain:r,isSmartWalletSignature:!1}});if("error"in d)throw new (0, _chunkCT2UGJELcjs.o)(JSON.stringify(d));return d})}};exports.a = H;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _web3js = require('@solana/web3.js');var m=n=>{if(n==="development"||n==="staging")return new (0, _web3js.Connection)("https://api.devnet.solana.com");if(n==="production")return new (0, _web3js.Connection)("https://api.mainnet-beta.solana.com");throw new (0, _chunkCT2UGJELcjs.b)(`Invalid environment ${n}`)};exports.a = m;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXP4DDN2Kcjs = require('./chunk-XP4DDN2K.cjs');var _chunk3YDBLQ73cjs = require('./chunk-3YDBLQ73.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var a=class s{constructor(t){let e=new (0, _chunk3YDBLQ73cjs.a)(t);this.walletFactory=new (0, _chunkXP4DDN2Kcjs.a)(e)}static from(t){return new s(t)}getOrCreateWallet(t,e,l){return this.walletFactory.getOrCreateWallet(t,e,l)}getWallet(t,e,l,p){return this.walletFactory.getWallet(t,e,l,p)}};exports.a = _commonsdkbase.createCrossmint; exports.b = a;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var o=class{constructor(e,a,t){this.walletLocator=e;this.wallet=a;this.apiClient=t}registerDelegatedSigner(e,a,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var n,l;let r=(n=(yield this.apiClient.registerSigner(this.walletLocator,{signer:a,chain:e,expiresAt:t==null?void 0:t.expiresAt})).chains)==null?void 0:n[e];if((r==null?void 0:r.status)==="awaiting-approval"){if(!(t!=null&&t.adminSigner))throw new Error("Admin signer is required to approve delegated signer registration");let m=((l=r.approvals)==null?void 0:l.pending)||[];yield this.wallet.approveSignature(m,r.id),yield this.wallet.waitForSignature(r.id)}return this.getDelegatedSigner(a)})}getDelegatedSigner(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getSigner(this.walletLocator,e)})}getDelegatedSigners(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var t,s;let e=yield this.apiClient.getWallet(this.walletLocator);if("error"in e)throw new (0, _chunkCT2UGJELcjs.d)(JSON.stringify(e));if(e.type!=="evm-smart-wallet")throw new (0, _chunkCT2UGJELcjs.c)(`Wallet type ${e.type} not supported`);return(s=(t=e.config)==null?void 0:t.delegatedSigners)!=null?s:[]})}};exports.a = o;
File without changes
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _ox = require('ox');function l(t,a){var r;let e=a.config.adminSigner;switch(t.type){case"evm-keypair":if(e.type!=="evm-keypair")throw new (0, _chunkCT2UGJELcjs.h)("Admin signer type mismatch");return _chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},t),{locator:e.locator});case"evm-passkey":if(e.type!=="evm-passkey")throw new (0, _chunkCT2UGJELcjs.h)("Admin signer type mismatch");return{type:"evm-passkey",id:e.id,name:(r=t==null?void 0:t.name)!=null?r:e.name,locator:e.locator}}}function g(t,a){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let e=t!=null?t:`Crossmint Wallet ${Date.now()}`,r=a?yield a(e):yield _ox.WebAuthnP256.createCredential({name:e});return{type:"evm-passkey",id:r.id,name:e,publicKey:{x:r.publicKey.x.toString(),y:r.publicKey.y.toString()}}})}exports.a = l; exports.b = g;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVDYYOSPRcjs = require('./chunk-VDYYOSPR.cjs');var _chunkPBD5HUCHcjs = require('./chunk-PBD5HUCH.cjs');var _chunk6XOH62PVcjs = require('./chunk-6XOH62PV.cjs');var _chunkXKXW2FNYcjs = require('./chunk-XKXW2FNY.cjs');var _chunkV445PZHLcjs = require('./chunk-V445PZHL.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _web3js = require('@solana/web3.js');var v=class{constructor(l){this.apiClient=l}getOrCreateWallet(l,s,a){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var t,i,p,r;try{let e=yield this.getOrCreateWalletInternal(l,s,a);if("error"in e)throw new (0, _chunkCT2UGJELcjs.f)(JSON.stringify(e));let n=this.createWalletInstance(l,e,s,a);return yield(i=(t=a==null?void 0:a.experimental_callbacks)==null?void 0:t.onWalletCreationComplete)==null?void 0:i.call(t,n),n}catch(e){throw yield(r=(p=a==null?void 0:a.experimental_callbacks)==null?void 0:p.onWalletCreationFail)==null?void 0:r.call(p,e),e}})}getWallet(l,s,a,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let i=this.apiClient.isServerSide?l:`me:${s}`,p=yield this.apiClient.getWallet(i);if("error"in p)throw new (0, _chunkCT2UGJELcjs.d)(JSON.stringify(p));return this.createWalletInstance(s,p,a,t)})}getOrCreateWalletInternal(l,s,a){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var i,p;let t=this.apiClient.isServerSide?null:yield this.apiClient.getWallet(`me:${l}`);if(t&&!("error"in t))return t;if(yield(p=(i=a==null?void 0:a.experimental_callbacks)==null?void 0:i.onWalletCreationStart)==null?void 0:p.call(i),l==="evm-smart-wallet"){let{adminSigner:r,linkedUser:e}=s,n=r.type==="evm-keypair"?r:yield _chunkXKXW2FNYcjs.b.call(void 0, r.name,r.creationCallback);return yield this.apiClient.createWallet({type:"evm-smart-wallet",config:{adminSigner:n},linkedUser:e})}else if(l==="solana-smart-wallet"){let{adminSigner:r,linkedUser:e}=s;return yield this.apiClient.createWallet({type:"solana-smart-wallet",config:{adminSigner:r!=null?(()=>{let n=_chunk6XOH62PVcjs.d.call(void 0, r);return n.type==="solana-keypair"?{type:n.type,address:n.address}:{type:n.type}})():void 0},linkedUser:e})}else if(l==="solana-mpc-wallet"){let{linkedUser:r}=s;return yield this.apiClient.createWallet({type:"solana-mpc-wallet",linkedUser:r})}else throw new (0, _chunkCT2UGJELcjs.c)(`Wallet type ${l} not supported`)})}createWalletInstance(l,s,a,t){switch(this.assertCorrectWalletType(s,l),this.checkWalletConfig(s,a),l){case"evm-smart-wallet":let i=a;return this.createEvmWalletInstance(l,s,i,t);case"solana-smart-wallet":case"solana-mpc-wallet":let r=a;return this.createSolanaWalletInstance(l,s,r,t);default:throw new (0, _chunkCT2UGJELcjs.c)(`Wallet type ${l} not supported`)}}createEvmWalletInstance(l,s,a,t){var i;switch(l){case"evm-smart-wallet":{let{adminSigner:p}=a,r=s,e=new (0, _chunkV445PZHLcjs.a)(r.address,this.apiClient,_chunkXKXW2FNYcjs.a.call(void 0, p,r),(i=t==null?void 0:t.experimental_callbacks)!=null?i:{});return{getBalances:e.getBalances.bind(e),getTransactions:e.getTransactions.bind(e),unstable_getNfts:e.unstable_getNfts.bind(e),signMessage:e.signMessage.bind(e),sendTransaction:e.sendTransaction.bind(e),address:e.address,getViemClient:e.getViemClient.bind(e),getNonce:e.getNonce.bind(e),signTypedData:e.signTypedData.bind(e),addDelegatedSigner:e.addDelegatedSigner.bind(e),getDelegatedSigners:e.getDelegatedSigners.bind(e)}}}}createSolanaWalletInstance(l,s,a,t){var p,r;let i=s;switch(l){case"solana-smart-wallet":{let{adminSigner:e}=a,n=new (0, _chunkPBD5HUCHcjs.b)(this.apiClient,new (0, _web3js.PublicKey)(i.address),e!=null?e:{type:"solana-fireblocks-custodial"},_chunkVDYYOSPRcjs.a.call(void 0, this.apiClient.environment),(p=t==null?void 0:t.experimental_callbacks)!=null?p:{});return{getDelegatedSigners:n.getDelegatedSigners.bind(n),addDelegatedSigner:n.addDelegatedSigner.bind(n),getBalances:n.getBalances.bind(n),unstable_getNfts:n.unstable_getNfts.bind(n),sendTransaction:n.sendTransaction.bind(n),getTransactions:n.getTransactions.bind(n),address:n.address,publicKey:n.publicKey,adminSigner:n.adminSigner}}case"solana-mpc-wallet":{let e=new (0, _chunkPBD5HUCHcjs.c)(this.apiClient,new (0, _web3js.PublicKey)(i.address),_chunkVDYYOSPRcjs.a.call(void 0, this.apiClient.environment),(r=t==null?void 0:t.experimental_callbacks)!=null?r:{});return{sendTransaction:e.sendTransaction.bind(e),getBalances:e.getBalances.bind(e),unstable_getNfts:e.unstable_getNfts.bind(e),getTransactions:e.getTransactions.bind(e),address:e.address,publicKey:e.publicKey}}}}checkWalletConfig(l,s){switch(l.type){case"evm-smart-wallet":case"solana-smart-wallet":{let{adminSigner:a}=s;if(a===void 0)return;let t=l.config.adminSigner;if(t.type!==a.type)throw new (0, _chunkCT2UGJELcjs.e)(`Invalid admin signer type: expected "${a.type}", got "${t.type}"`);switch(t.type){case"evm-keypair":case"solana-keypair":{if(a.type!=="evm-keypair"&&a.type!=="solana-keypair")throw new (0, _chunkCT2UGJELcjs.e)(`Invalid admin signer type: expected "${a.type}", got "${t.type}"`);if(t.address!==a.address)throw new (0, _chunkCT2UGJELcjs.e)(`Invalid admin signer address: expected "${t.address}", got "${a.address}"`)}}}}}assertCorrectWalletType(l,s){if("error"in l)throw new (0, _chunkCT2UGJELcjs.f)(`Unable to init wallet: ${JSON.stringify(l)}`);if(l.type!==s)throw new (0, _chunkCT2UGJELcjs.g)("Invalid wallet type")}};exports.a = v;
@@ -1 +0,0 @@
1
- import{c as n,d as o}from"./chunk-7ENJXL4H.js";import{c as i}from"./chunk-22GIA4MK.js";var s=class{constructor(t,e,r){this.walletLocator=t;this.transactionsService=e;this.apiClient=r}registerDelegatedSigner(t,e){return i(this,null,function*(){let a=(yield this.apiClient.registerSigner(this.walletLocator,{signer:t})).transaction.id;return yield this.transactionsService.approveTransaction(a,e?[e]:[]),yield this.transactionsService.waitForTransaction(a),this.getDelegatedSigner(t)})}getDelegatedSigner(t){return i(this,null,function*(){return yield this.apiClient.getSigner(this.walletLocator,t)})}getDelegatedSigners(){return i(this,null,function*(){var r,a;let t=yield this.apiClient.getWallet(this.walletLocator);if("error"in t)throw new o(JSON.stringify(t));if(t.type!=="solana-smart-wallet")throw new n(`Wallet type ${t.type} not supported`);return(a=(r=t.config)==null?void 0:r.delegatedSigners)!=null?a:[]})}};export{s as a};
@@ -1 +0,0 @@
1
- import{a as y}from"./chunk-OKXV3IAA.js";import{b as f,c as u}from"./chunk-MTWDHWDY.js";import{d as S}from"./chunk-6W35AARC.js";import{a as T,b as w}from"./chunk-7WRWCJJ6.js";import{a as b}from"./chunk-6ARPMYUZ.js";import{c as d,d as m,e as c,f as W,g}from"./chunk-7ENJXL4H.js";import{c as o}from"./chunk-22GIA4MK.js";import{PublicKey as C}from"@solana/web3.js";var v=class{constructor(l){this.apiClient=l}getOrCreateWallet(l,s,a){return o(this,null,function*(){var t,i,p,r;try{let e=yield this.getOrCreateWalletInternal(l,s,a);if("error"in e)throw new W(JSON.stringify(e));let n=this.createWalletInstance(l,e,s,a);return yield(i=(t=a==null?void 0:a.experimental_callbacks)==null?void 0:t.onWalletCreationComplete)==null?void 0:i.call(t,n),n}catch(e){throw yield(r=(p=a==null?void 0:a.experimental_callbacks)==null?void 0:p.onWalletCreationFail)==null?void 0:r.call(p,e),e}})}getWallet(l,s,a,t){return o(this,null,function*(){let i=this.apiClient.isServerSide?l:`me:${s}`,p=yield this.apiClient.getWallet(i);if("error"in p)throw new m(JSON.stringify(p));return this.createWalletInstance(s,p,a,t)})}getOrCreateWalletInternal(l,s,a){return o(this,null,function*(){var i,p;let t=this.apiClient.isServerSide?null:yield this.apiClient.getWallet(`me:${l}`);if(t&&!("error"in t))return t;if(yield(p=(i=a==null?void 0:a.experimental_callbacks)==null?void 0:i.onWalletCreationStart)==null?void 0:p.call(i),l==="evm-smart-wallet"){let{adminSigner:r,linkedUser:e}=s,n=r.type==="evm-keypair"?r:yield w(r.name,r.creationCallback);return yield this.apiClient.createWallet({type:"evm-smart-wallet",config:{adminSigner:n},linkedUser:e})}else if(l==="solana-smart-wallet"){let{adminSigner:r,linkedUser:e}=s;return yield this.apiClient.createWallet({type:"solana-smart-wallet",config:{adminSigner:r!=null?(()=>{let n=S(r);return n.type==="solana-keypair"?{type:n.type,address:n.address}:{type:n.type}})():void 0},linkedUser:e})}else if(l==="solana-mpc-wallet"){let{linkedUser:r}=s;return yield this.apiClient.createWallet({type:"solana-mpc-wallet",linkedUser:r})}else throw new d(`Wallet type ${l} not supported`)})}createWalletInstance(l,s,a,t){switch(this.assertCorrectWalletType(s,l),this.checkWalletConfig(s,a),l){case"evm-smart-wallet":let i=a;return this.createEvmWalletInstance(l,s,i,t);case"solana-smart-wallet":case"solana-mpc-wallet":let r=a;return this.createSolanaWalletInstance(l,s,r,t);default:throw new d(`Wallet type ${l} not supported`)}}createEvmWalletInstance(l,s,a,t){var i;switch(l){case"evm-smart-wallet":{let{adminSigner:p}=a,r=s,e=new b(r.address,this.apiClient,T(p,r),(i=t==null?void 0:t.experimental_callbacks)!=null?i:{});return{getBalances:e.getBalances.bind(e),getTransactions:e.getTransactions.bind(e),unstable_getNfts:e.unstable_getNfts.bind(e),signMessage:e.signMessage.bind(e),sendTransaction:e.sendTransaction.bind(e),address:e.address,getViemClient:e.getViemClient.bind(e),getNonce:e.getNonce.bind(e),signTypedData:e.signTypedData.bind(e),addDelegatedSigner:e.addDelegatedSigner.bind(e),getDelegatedSigners:e.getDelegatedSigners.bind(e)}}}}createSolanaWalletInstance(l,s,a,t){var p,r;let i=s;switch(l){case"solana-smart-wallet":{let{adminSigner:e}=a,n=new f(this.apiClient,new C(i.address),e!=null?e:{type:"solana-fireblocks-custodial"},y(this.apiClient.environment),(p=t==null?void 0:t.experimental_callbacks)!=null?p:{});return{getDelegatedSigners:n.getDelegatedSigners.bind(n),addDelegatedSigner:n.addDelegatedSigner.bind(n),getBalances:n.getBalances.bind(n),unstable_getNfts:n.unstable_getNfts.bind(n),sendTransaction:n.sendTransaction.bind(n),getTransactions:n.getTransactions.bind(n),address:n.address,publicKey:n.publicKey,adminSigner:n.adminSigner}}case"solana-mpc-wallet":{let e=new u(this.apiClient,new C(i.address),y(this.apiClient.environment),(r=t==null?void 0:t.experimental_callbacks)!=null?r:{});return{sendTransaction:e.sendTransaction.bind(e),getBalances:e.getBalances.bind(e),unstable_getNfts:e.unstable_getNfts.bind(e),getTransactions:e.getTransactions.bind(e),address:e.address,publicKey:e.publicKey}}}}checkWalletConfig(l,s){switch(l.type){case"evm-smart-wallet":case"solana-smart-wallet":{let{adminSigner:a}=s;if(a===void 0)return;let t=l.config.adminSigner;if(t.type!==a.type)throw new c(`Invalid admin signer type: expected "${a.type}", got "${t.type}"`);switch(t.type){case"evm-keypair":case"solana-keypair":{if(a.type!=="evm-keypair"&&a.type!=="solana-keypair")throw new c(`Invalid admin signer type: expected "${a.type}", got "${t.type}"`);if(t.address!==a.address)throw new c(`Invalid admin signer address: expected "${t.address}", got "${a.address}"`)}}}}}assertCorrectWalletType(l,s){if("error"in l)throw new W(`Unable to init wallet: ${JSON.stringify(l)}`);if(l.type!==s)throw new g("Invalid wallet type")}};export{v as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6DTBGTSScjs = require('../../chunk-6DTBGTSS.cjs');require('../../chunk-CK4JCQY6.cjs');exports.default = _chunk6DTBGTSScjs.a;