@coinbase/agentkit 0.0.0-nightly-20250328174338

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 (292) hide show
  1. package/README.md +827 -0
  2. package/dist/action-providers/across/acrossActionProvider.d.ts +50 -0
  3. package/dist/action-providers/across/acrossActionProvider.js +333 -0
  4. package/dist/action-providers/across/acrossActionProvider.test.d.ts +1 -0
  5. package/dist/action-providers/across/acrossActionProvider.test.js +391 -0
  6. package/dist/action-providers/across/constants.d.ts +1 -0
  7. package/dist/action-providers/across/constants.js +2 -0
  8. package/dist/action-providers/across/index.d.ts +1 -0
  9. package/dist/action-providers/across/index.js +17 -0
  10. package/dist/action-providers/across/schemas.d.ts +36 -0
  11. package/dist/action-providers/across/schemas.js +46 -0
  12. package/dist/action-providers/across/utils.d.ts +7 -0
  13. package/dist/action-providers/across/utils.js +25 -0
  14. package/dist/action-providers/actionDecorator.d.ts +69 -0
  15. package/dist/action-providers/actionDecorator.js +96 -0
  16. package/dist/action-providers/actionProvider.d.ts +48 -0
  17. package/dist/action-providers/actionProvider.js +62 -0
  18. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.d.ts +55 -0
  19. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.js +173 -0
  20. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.test.d.ts +1 -0
  21. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.test.js +131 -0
  22. package/dist/action-providers/alchemy/index.d.ts +2 -0
  23. package/dist/action-providers/alchemy/index.js +18 -0
  24. package/dist/action-providers/alchemy/schemas.d.ts +41 -0
  25. package/dist/action-providers/alchemy/schemas.js +34 -0
  26. package/dist/action-providers/allora/alloraActionProvider.d.ts +44 -0
  27. package/dist/action-providers/allora/alloraActionProvider.js +195 -0
  28. package/dist/action-providers/allora/alloraActionProvider.test.d.ts +1 -0
  29. package/dist/action-providers/allora/alloraActionProvider.test.js +109 -0
  30. package/dist/action-providers/allora/index.d.ts +2 -0
  31. package/dist/action-providers/allora/index.js +18 -0
  32. package/dist/action-providers/allora/schemas.d.ts +28 -0
  33. package/dist/action-providers/allora/schemas.js +30 -0
  34. package/dist/action-providers/basename/basenameActionProvider.d.ts +30 -0
  35. package/dist/action-providers/basename/basenameActionProvider.js +109 -0
  36. package/dist/action-providers/basename/basenameActionProvider.test.d.ts +1 -0
  37. package/dist/action-providers/basename/basenameActionProvider.test.js +146 -0
  38. package/dist/action-providers/basename/constants.d.ts +52 -0
  39. package/dist/action-providers/basename/constants.js +81 -0
  40. package/dist/action-providers/basename/index.d.ts +2 -0
  41. package/dist/action-providers/basename/index.js +18 -0
  42. package/dist/action-providers/basename/schemas.d.ts +14 -0
  43. package/dist/action-providers/basename/schemas.js +14 -0
  44. package/dist/action-providers/cdp/cdpApiActionProvider.d.ts +43 -0
  45. package/dist/action-providers/cdp/cdpApiActionProvider.js +128 -0
  46. package/dist/action-providers/cdp/cdpApiActionProvider.test.d.ts +1 -0
  47. package/dist/action-providers/cdp/cdpApiActionProvider.test.js +146 -0
  48. package/dist/action-providers/cdp/cdpWalletActionProvider.d.ts +58 -0
  49. package/dist/action-providers/cdp/cdpWalletActionProvider.js +224 -0
  50. package/dist/action-providers/cdp/cdpWalletActionProvider.test.d.ts +1 -0
  51. package/dist/action-providers/cdp/cdpWalletActionProvider.test.js +267 -0
  52. package/dist/action-providers/cdp/constants.d.ts +31 -0
  53. package/dist/action-providers/cdp/constants.js +34 -0
  54. package/dist/action-providers/cdp/index.d.ts +3 -0
  55. package/dist/action-providers/cdp/index.js +19 -0
  56. package/dist/action-providers/cdp/schemas.d.ts +91 -0
  57. package/dist/action-providers/cdp/schemas.js +77 -0
  58. package/dist/action-providers/compound/compoundActionProvider.d.ts +67 -0
  59. package/dist/action-providers/compound/compoundActionProvider.js +365 -0
  60. package/dist/action-providers/compound/compoundActionProvider.test.d.ts +1 -0
  61. package/dist/action-providers/compound/compoundActionProvider.test.js +353 -0
  62. package/dist/action-providers/compound/constants.d.ts +180 -0
  63. package/dist/action-providers/compound/constants.js +129 -0
  64. package/dist/action-providers/compound/index.d.ts +1 -0
  65. package/dist/action-providers/compound/index.js +17 -0
  66. package/dist/action-providers/compound/schemas.d.ts +57 -0
  67. package/dist/action-providers/compound/schemas.js +58 -0
  68. package/dist/action-providers/compound/utils.d.ts +95 -0
  69. package/dist/action-providers/compound/utils.js +353 -0
  70. package/dist/action-providers/customActionProvider.d.ts +30 -0
  71. package/dist/action-providers/customActionProvider.js +66 -0
  72. package/dist/action-providers/defillama/constants.d.ts +8 -0
  73. package/dist/action-providers/defillama/constants.js +11 -0
  74. package/dist/action-providers/defillama/defillamaActionProvider.d.ts +54 -0
  75. package/dist/action-providers/defillama/defillamaActionProvider.js +180 -0
  76. package/dist/action-providers/defillama/defillamaActionProvider.test.d.ts +1 -0
  77. package/dist/action-providers/defillama/defillamaActionProvider.test.js +114 -0
  78. package/dist/action-providers/defillama/index.d.ts +1 -0
  79. package/dist/action-providers/defillama/index.js +17 -0
  80. package/dist/action-providers/defillama/schemas.d.ts +34 -0
  81. package/dist/action-providers/defillama/schemas.js +34 -0
  82. package/dist/action-providers/defillama/types.d.ts +73 -0
  83. package/dist/action-providers/defillama/types.js +2 -0
  84. package/dist/action-providers/defillama/utils.d.ts +10 -0
  85. package/dist/action-providers/defillama/utils.js +87 -0
  86. package/dist/action-providers/defillama/utils.test.d.ts +1 -0
  87. package/dist/action-providers/defillama/utils.test.js +124 -0
  88. package/dist/action-providers/erc20/constants.d.ts +137 -0
  89. package/dist/action-providers/erc20/constants.js +202 -0
  90. package/dist/action-providers/erc20/erc20ActionProvider.d.ts +38 -0
  91. package/dist/action-providers/erc20/erc20ActionProvider.js +142 -0
  92. package/dist/action-providers/erc20/erc20ActionProvider.test.d.ts +1 -0
  93. package/dist/action-providers/erc20/erc20ActionProvider.test.js +131 -0
  94. package/dist/action-providers/erc20/index.d.ts +1 -0
  95. package/dist/action-providers/erc20/index.js +17 -0
  96. package/dist/action-providers/erc20/schemas.d.ts +27 -0
  97. package/dist/action-providers/erc20/schemas.js +26 -0
  98. package/dist/action-providers/erc721/constants.d.ts +232 -0
  99. package/dist/action-providers/erc721/constants.js +298 -0
  100. package/dist/action-providers/erc721/erc721ActionProvider.d.ts +46 -0
  101. package/dist/action-providers/erc721/erc721ActionProvider.js +164 -0
  102. package/dist/action-providers/erc721/erc721ActionProvider.test.d.ts +1 -0
  103. package/dist/action-providers/erc721/erc721ActionProvider.test.js +137 -0
  104. package/dist/action-providers/erc721/index.d.ts +1 -0
  105. package/dist/action-providers/erc721/index.js +17 -0
  106. package/dist/action-providers/erc721/schemas.d.ts +46 -0
  107. package/dist/action-providers/erc721/schemas.js +44 -0
  108. package/dist/action-providers/farcaster/farcasterActionProvider.d.ts +57 -0
  109. package/dist/action-providers/farcaster/farcasterActionProvider.js +142 -0
  110. package/dist/action-providers/farcaster/farcasterActionProvider.test.d.ts +1 -0
  111. package/dist/action-providers/farcaster/farcasterActionProvider.test.js +151 -0
  112. package/dist/action-providers/farcaster/index.d.ts +2 -0
  113. package/dist/action-providers/farcaster/index.js +18 -0
  114. package/dist/action-providers/farcaster/schemas.d.ts +15 -0
  115. package/dist/action-providers/farcaster/schemas.js +20 -0
  116. package/dist/action-providers/index.d.ts +24 -0
  117. package/dist/action-providers/index.js +40 -0
  118. package/dist/action-providers/jupiter/index.d.ts +1 -0
  119. package/dist/action-providers/jupiter/index.js +17 -0
  120. package/dist/action-providers/jupiter/jupiterActionProvider.d.ts +36 -0
  121. package/dist/action-providers/jupiter/jupiterActionProvider.js +115 -0
  122. package/dist/action-providers/jupiter/jupiterActionProvider.test.d.ts +1 -0
  123. package/dist/action-providers/jupiter/jupiterActionProvider.test.js +146 -0
  124. package/dist/action-providers/jupiter/schemas.d.ts +20 -0
  125. package/dist/action-providers/jupiter/schemas.js +20 -0
  126. package/dist/action-providers/messari/constants.d.ts +17 -0
  127. package/dist/action-providers/messari/constants.js +20 -0
  128. package/dist/action-providers/messari/index.d.ts +5 -0
  129. package/dist/action-providers/messari/index.js +21 -0
  130. package/dist/action-providers/messari/messariActionProvider.d.ts +42 -0
  131. package/dist/action-providers/messari/messariActionProvider.js +128 -0
  132. package/dist/action-providers/messari/messariActionProvider.test.d.ts +1 -0
  133. package/dist/action-providers/messari/messariActionProvider.test.js +152 -0
  134. package/dist/action-providers/messari/schemas.d.ts +11 -0
  135. package/dist/action-providers/messari/schemas.js +16 -0
  136. package/dist/action-providers/messari/types.d.ts +40 -0
  137. package/dist/action-providers/messari/types.js +2 -0
  138. package/dist/action-providers/messari/utils.d.ts +22 -0
  139. package/dist/action-providers/messari/utils.js +65 -0
  140. package/dist/action-providers/moonwell/constants.d.ts +78 -0
  141. package/dist/action-providers/moonwell/constants.js +111 -0
  142. package/dist/action-providers/moonwell/index.d.ts +1 -0
  143. package/dist/action-providers/moonwell/index.js +5 -0
  144. package/dist/action-providers/moonwell/moonwellActionProvider.d.ts +39 -0
  145. package/dist/action-providers/moonwell/moonwellActionProvider.js +249 -0
  146. package/dist/action-providers/moonwell/moonwellActionProvider.test.d.ts +1 -0
  147. package/dist/action-providers/moonwell/moonwellActionProvider.test.js +455 -0
  148. package/dist/action-providers/moonwell/schemas.d.ts +30 -0
  149. package/dist/action-providers/moonwell/schemas.js +39 -0
  150. package/dist/action-providers/morpho/constants.d.ts +16 -0
  151. package/dist/action-providers/morpho/constants.js +27 -0
  152. package/dist/action-providers/morpho/index.d.ts +2 -0
  153. package/dist/action-providers/morpho/index.js +18 -0
  154. package/dist/action-providers/morpho/morphoActionProvider.d.ts +39 -0
  155. package/dist/action-providers/morpho/morphoActionProvider.js +154 -0
  156. package/dist/action-providers/morpho/morphoActionProvider.test.d.ts +1 -0
  157. package/dist/action-providers/morpho/morphoActionProvider.test.js +128 -0
  158. package/dist/action-providers/morpho/schemas.d.ts +36 -0
  159. package/dist/action-providers/morpho/schemas.js +47 -0
  160. package/dist/action-providers/opensea/index.d.ts +1 -0
  161. package/dist/action-providers/opensea/index.js +17 -0
  162. package/dist/action-providers/opensea/openseaActionProvider.d.ts +59 -0
  163. package/dist/action-providers/opensea/openseaActionProvider.js +146 -0
  164. package/dist/action-providers/opensea/openseaActionProvider.test.d.ts +1 -0
  165. package/dist/action-providers/opensea/openseaActionProvider.test.js +201 -0
  166. package/dist/action-providers/opensea/schemas.d.ts +30 -0
  167. package/dist/action-providers/opensea/schemas.js +33 -0
  168. package/dist/action-providers/opensea/utils.d.ts +12 -0
  169. package/dist/action-providers/opensea/utils.js +47 -0
  170. package/dist/action-providers/pyth/index.d.ts +2 -0
  171. package/dist/action-providers/pyth/index.js +18 -0
  172. package/dist/action-providers/pyth/pythActionProvider.d.ts +33 -0
  173. package/dist/action-providers/pyth/pythActionProvider.js +121 -0
  174. package/dist/action-providers/pyth/pythActionProvider.test.d.ts +1 -0
  175. package/dist/action-providers/pyth/pythActionProvider.test.js +113 -0
  176. package/dist/action-providers/pyth/schemas.d.ts +21 -0
  177. package/dist/action-providers/pyth/schemas.js +20 -0
  178. package/dist/action-providers/spl/index.d.ts +1 -0
  179. package/dist/action-providers/spl/index.js +17 -0
  180. package/dist/action-providers/spl/schemas.d.ts +30 -0
  181. package/dist/action-providers/spl/schemas.js +26 -0
  182. package/dist/action-providers/spl/splActionProvider.d.ts +45 -0
  183. package/dist/action-providers/spl/splActionProvider.js +173 -0
  184. package/dist/action-providers/spl/splActionProvider.test.d.ts +1 -0
  185. package/dist/action-providers/spl/splActionProvider.test.js +300 -0
  186. package/dist/action-providers/twitter/index.d.ts +2 -0
  187. package/dist/action-providers/twitter/index.js +18 -0
  188. package/dist/action-providers/twitter/schemas.d.ts +38 -0
  189. package/dist/action-providers/twitter/schemas.js +44 -0
  190. package/dist/action-providers/twitter/twitterActionProvider.d.ts +82 -0
  191. package/dist/action-providers/twitter/twitterActionProvider.js +204 -0
  192. package/dist/action-providers/twitter/twitterActionProvider.test.d.ts +1 -0
  193. package/dist/action-providers/twitter/twitterActionProvider.test.js +185 -0
  194. package/dist/action-providers/wallet/index.d.ts +1 -0
  195. package/dist/action-providers/wallet/index.js +17 -0
  196. package/dist/action-providers/wallet/schemas.d.ts +19 -0
  197. package/dist/action-providers/wallet/schemas.js +19 -0
  198. package/dist/action-providers/wallet/walletActionProvider.d.ts +44 -0
  199. package/dist/action-providers/wallet/walletActionProvider.js +140 -0
  200. package/dist/action-providers/wallet/walletActionProvider.test.d.ts +1 -0
  201. package/dist/action-providers/wallet/walletActionProvider.test.js +194 -0
  202. package/dist/action-providers/weth/constants.d.ts +19 -0
  203. package/dist/action-providers/weth/constants.js +29 -0
  204. package/dist/action-providers/weth/index.d.ts +1 -0
  205. package/dist/action-providers/weth/index.js +17 -0
  206. package/dist/action-providers/weth/schemas.d.ts +8 -0
  207. package/dist/action-providers/weth/schemas.js +10 -0
  208. package/dist/action-providers/weth/wethActionProvider.d.ts +30 -0
  209. package/dist/action-providers/weth/wethActionProvider.js +89 -0
  210. package/dist/action-providers/weth/wethActionProvider.test.d.ts +1 -0
  211. package/dist/action-providers/weth/wethActionProvider.test.js +92 -0
  212. package/dist/action-providers/wow/constants.d.ts +15 -0
  213. package/dist/action-providers/wow/constants.js +844 -0
  214. package/dist/action-providers/wow/index.d.ts +2 -0
  215. package/dist/action-providers/wow/index.js +18 -0
  216. package/dist/action-providers/wow/schemas.d.ts +43 -0
  217. package/dist/action-providers/wow/schemas.js +47 -0
  218. package/dist/action-providers/wow/uniswap/constants.d.ts +3 -0
  219. package/dist/action-providers/wow/uniswap/constants.js +100 -0
  220. package/dist/action-providers/wow/uniswap/utils.d.ts +82 -0
  221. package/dist/action-providers/wow/uniswap/utils.js +226 -0
  222. package/dist/action-providers/wow/utils.d.ts +27 -0
  223. package/dist/action-providers/wow/utils.js +63 -0
  224. package/dist/action-providers/wow/wowActionProvider.d.ts +46 -0
  225. package/dist/action-providers/wow/wowActionProvider.js +223 -0
  226. package/dist/action-providers/wow/wowActionProvider.test.d.ts +1 -0
  227. package/dist/action-providers/wow/wowActionProvider.test.js +291 -0
  228. package/dist/agentkit.d.ts +44 -0
  229. package/dist/agentkit.js +68 -0
  230. package/dist/analytics/index.d.ts +1 -0
  231. package/dist/analytics/index.js +17 -0
  232. package/dist/analytics/sendAnalyticsEvent.d.ts +31 -0
  233. package/dist/analytics/sendAnalyticsEvent.js +52 -0
  234. package/dist/index.d.ts +4 -0
  235. package/dist/index.js +20 -0
  236. package/dist/network/index.d.ts +3 -0
  237. package/dist/network/index.js +19 -0
  238. package/dist/network/network.d.ts +20 -0
  239. package/dist/network/network.js +86 -0
  240. package/dist/network/svm.d.ts +15 -0
  241. package/dist/network/svm.js +38 -0
  242. package/dist/network/types.d.ts +17 -0
  243. package/dist/network/types.js +2 -0
  244. package/dist/utils.d.ts +22 -0
  245. package/dist/utils.js +57 -0
  246. package/dist/utils.test.d.ts +1 -0
  247. package/dist/utils.test.js +50 -0
  248. package/dist/wallet-providers/cdpWalletProvider.d.ts +246 -0
  249. package/dist/wallet-providers/cdpWalletProvider.js +421 -0
  250. package/dist/wallet-providers/cdpWalletProvider.test.d.ts +1 -0
  251. package/dist/wallet-providers/cdpWalletProvider.test.js +701 -0
  252. package/dist/wallet-providers/evmWalletProvider.d.ts +51 -0
  253. package/dist/wallet-providers/evmWalletProvider.js +14 -0
  254. package/dist/wallet-providers/evmWalletProvider.test.d.ts +1 -0
  255. package/dist/wallet-providers/evmWalletProvider.test.js +56 -0
  256. package/dist/wallet-providers/index.d.ts +10 -0
  257. package/dist/wallet-providers/index.js +26 -0
  258. package/dist/wallet-providers/privyEvmWalletProvider.d.ts +55 -0
  259. package/dist/wallet-providers/privyEvmWalletProvider.js +140 -0
  260. package/dist/wallet-providers/privyEvmWalletProvider.test.d.ts +1 -0
  261. package/dist/wallet-providers/privyEvmWalletProvider.test.js +331 -0
  262. package/dist/wallet-providers/privyShared.d.ts +40 -0
  263. package/dist/wallet-providers/privyShared.js +49 -0
  264. package/dist/wallet-providers/privySvmWalletProvider.d.ts +128 -0
  265. package/dist/wallet-providers/privySvmWalletProvider.js +212 -0
  266. package/dist/wallet-providers/privySvmWalletProvider.test.d.ts +1 -0
  267. package/dist/wallet-providers/privySvmWalletProvider.test.js +310 -0
  268. package/dist/wallet-providers/privyWalletProvider.d.ts +35 -0
  269. package/dist/wallet-providers/privyWalletProvider.js +39 -0
  270. package/dist/wallet-providers/privyWalletProvider.test.d.ts +1 -0
  271. package/dist/wallet-providers/privyWalletProvider.test.js +124 -0
  272. package/dist/wallet-providers/smartWalletProvider.d.ts +177 -0
  273. package/dist/wallet-providers/smartWalletProvider.js +303 -0
  274. package/dist/wallet-providers/smartWalletProvider.test.d.ts +1 -0
  275. package/dist/wallet-providers/smartWalletProvider.test.js +388 -0
  276. package/dist/wallet-providers/solanaKeypairWalletProvider.d.ts +143 -0
  277. package/dist/wallet-providers/solanaKeypairWalletProvider.js +280 -0
  278. package/dist/wallet-providers/solanaKeypairWalletProvider.test.d.ts +1 -0
  279. package/dist/wallet-providers/solanaKeypairWalletProvider.test.js +218 -0
  280. package/dist/wallet-providers/svmWalletProvider.d.ts +56 -0
  281. package/dist/wallet-providers/svmWalletProvider.js +13 -0
  282. package/dist/wallet-providers/svmWalletProvider.test.d.ts +1 -0
  283. package/dist/wallet-providers/svmWalletProvider.test.js +55 -0
  284. package/dist/wallet-providers/viemWalletProvider.d.ts +103 -0
  285. package/dist/wallet-providers/viemWalletProvider.js +206 -0
  286. package/dist/wallet-providers/viemWalletProvider.test.d.ts +1 -0
  287. package/dist/wallet-providers/viemWalletProvider.test.js +338 -0
  288. package/dist/wallet-providers/walletProvider.d.ts +48 -0
  289. package/dist/wallet-providers/walletProvider.js +41 -0
  290. package/dist/wallet-providers/walletProvider.test.d.ts +1 -0
  291. package/dist/wallet-providers/walletProvider.test.js +103 -0
  292. package/package.json +83 -0
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _PrivySvmWalletProvider_walletId, _PrivySvmWalletProvider_address, _PrivySvmWalletProvider_authorizationPrivateKey, _PrivySvmWalletProvider_privyClient, _PrivySvmWalletProvider_connection, _PrivySvmWalletProvider_genesisHash;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PrivySvmWalletProvider = void 0;
16
+ const svmWalletProvider_1 = require("./svmWalletProvider");
17
+ const web3_js_1 = require("@solana/web3.js");
18
+ const svm_1 = require("../network/svm");
19
+ const privyShared_1 = require("./privyShared");
20
+ /**
21
+ * A wallet provider that uses Privy's server wallet API.
22
+ * This provider extends the SvmWalletProvider to provide Privy-specific wallet functionality
23
+ * while maintaining compatibility with the base wallet provider interface.
24
+ */
25
+ class PrivySvmWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
26
+ /**
27
+ * Private constructor to enforce use of factory method.
28
+ *
29
+ * @param config - The configuration options for the Privy wallet
30
+ */
31
+ constructor(config) {
32
+ super();
33
+ _PrivySvmWalletProvider_walletId.set(this, void 0);
34
+ _PrivySvmWalletProvider_address.set(this, void 0);
35
+ _PrivySvmWalletProvider_authorizationPrivateKey.set(this, void 0);
36
+ _PrivySvmWalletProvider_privyClient.set(this, void 0);
37
+ _PrivySvmWalletProvider_connection.set(this, void 0);
38
+ _PrivySvmWalletProvider_genesisHash.set(this, void 0);
39
+ __classPrivateFieldSet(this, _PrivySvmWalletProvider_walletId, config.walletId, "f");
40
+ __classPrivateFieldSet(this, _PrivySvmWalletProvider_address, config.address, "f");
41
+ __classPrivateFieldSet(this, _PrivySvmWalletProvider_authorizationPrivateKey, config.authorizationPrivateKey, "f");
42
+ __classPrivateFieldSet(this, _PrivySvmWalletProvider_privyClient, config.privyClient, "f");
43
+ __classPrivateFieldSet(this, _PrivySvmWalletProvider_connection, config.connection, "f");
44
+ __classPrivateFieldSet(this, _PrivySvmWalletProvider_genesisHash, config.genesisHash, "f");
45
+ }
46
+ /**
47
+ * Creates and configures a new PrivySolanaWalletProvider instance.
48
+ *
49
+ * @param config - The configuration options for the Privy wallet
50
+ * @returns A configured PrivySolanaWalletProvider instance
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const provider = await PrivySolanaWalletProvider.configureWithWallet({
55
+ * appId: "your-app-id",
56
+ * appSecret: "your-app-secret",
57
+ * walletId: "wallet-id",
58
+ * });
59
+ * ```
60
+ */
61
+ static async configureWithWallet(config) {
62
+ const { wallet, privy } = await (0, privyShared_1.createPrivyWallet)(config);
63
+ const connection = config.connection ??
64
+ new web3_js_1.Connection((0, web3_js_1.clusterApiUrl)(svm_1.SOLANA_CLUSTER_ID_BY_NETWORK_ID[config.networkId ?? ""]));
65
+ return new PrivySvmWalletProvider({
66
+ ...config,
67
+ walletId: wallet.id,
68
+ address: wallet.address,
69
+ privyClient: privy,
70
+ connection,
71
+ genesisHash: await connection.getGenesisHash(),
72
+ });
73
+ }
74
+ /**
75
+ * Sign a transaction.
76
+ *
77
+ * @param transaction - The transaction to sign.
78
+ * @returns The signed transaction.
79
+ */
80
+ async signTransaction(transaction) {
81
+ const { signedTransaction } = await __classPrivateFieldGet(this, _PrivySvmWalletProvider_privyClient, "f").walletApi.solana.signTransaction({
82
+ walletId: __classPrivateFieldGet(this, _PrivySvmWalletProvider_walletId, "f"),
83
+ transaction,
84
+ });
85
+ return signedTransaction;
86
+ }
87
+ /**
88
+ * Sign and send a transaction.
89
+ *
90
+ * @param transaction - The transaction to send.
91
+ * @returns The transaction hash.
92
+ */
93
+ async signAndSendTransaction(transaction) {
94
+ try {
95
+ const { hash } = await __classPrivateFieldGet(this, _PrivySvmWalletProvider_privyClient, "f").walletApi.solana.signAndSendTransaction({
96
+ walletId: __classPrivateFieldGet(this, _PrivySvmWalletProvider_walletId, "f"),
97
+ caip2: `solana:${__classPrivateFieldGet(this, _PrivySvmWalletProvider_genesisHash, "f").substring(0, 32)}`,
98
+ transaction,
99
+ });
100
+ return hash;
101
+ }
102
+ catch (error) {
103
+ console.error("Failed to send transaction", error);
104
+ throw new Error("Failed to send transaction");
105
+ }
106
+ }
107
+ /**
108
+ * Send a transaction.
109
+ *
110
+ * @param _ - The transaction to send.
111
+ * @returns The transaction hash.
112
+ */
113
+ async sendTransaction(_) {
114
+ throw new Error("Method not implemented.");
115
+ }
116
+ /**
117
+ * Exports the wallet data.
118
+ *
119
+ * @returns The wallet data
120
+ */
121
+ exportWallet() {
122
+ return {
123
+ walletId: __classPrivateFieldGet(this, _PrivySvmWalletProvider_walletId, "f"),
124
+ authorizationPrivateKey: __classPrivateFieldGet(this, _PrivySvmWalletProvider_authorizationPrivateKey, "f"),
125
+ chainId: this.getNetwork().chainId,
126
+ networkId: this.getNetwork().networkId,
127
+ };
128
+ }
129
+ /**
130
+ * Gets the name of the wallet provider.
131
+ *
132
+ * @returns The string identifier for this wallet provider
133
+ */
134
+ getName() {
135
+ return "privy_svm_wallet_provider";
136
+ }
137
+ /**
138
+ * Get the address of the wallet.
139
+ *
140
+ * @returns The address of the wallet.
141
+ */
142
+ getAddress() {
143
+ return __classPrivateFieldGet(this, _PrivySvmWalletProvider_address, "f");
144
+ }
145
+ /**
146
+ * Get the network of the wallet.
147
+ *
148
+ * @returns The network of the wallet.
149
+ */
150
+ getNetwork() {
151
+ return svm_1.SOLANA_NETWORKS[__classPrivateFieldGet(this, _PrivySvmWalletProvider_genesisHash, "f")];
152
+ }
153
+ /**
154
+ * Get the balance of the wallet.
155
+ *
156
+ * @returns The balance of the wallet.
157
+ */
158
+ async getBalance() {
159
+ const balance = await __classPrivateFieldGet(this, _PrivySvmWalletProvider_connection, "f").getBalance(new web3_js_1.PublicKey(__classPrivateFieldGet(this, _PrivySvmWalletProvider_address, "f")));
160
+ return BigInt(balance);
161
+ }
162
+ /**
163
+ * Transfer a native token.
164
+ *
165
+ * @param _ - The address to transfer the token to.
166
+ * @param arg2 - The value to transfer.
167
+ * @returns The transaction hash.
168
+ */
169
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
170
+ async nativeTransfer(_, arg2) {
171
+ throw new Error("Method not implemented.");
172
+ }
173
+ /**
174
+ * Get the status of a transaction.
175
+ *
176
+ * @param signature - The transaction signature.
177
+ * @returns The transaction status.
178
+ */
179
+ async getSignatureStatus(signature) {
180
+ return __classPrivateFieldGet(this, _PrivySvmWalletProvider_connection, "f").getSignatureStatus(signature);
181
+ }
182
+ /**
183
+ * Wait for a signature result.
184
+ *
185
+ * @param signature - The signature to wait for.
186
+ * @returns The signature result.
187
+ */
188
+ waitForSignatureResult(signature) {
189
+ return __classPrivateFieldGet(this, _PrivySvmWalletProvider_connection, "f").confirmTransaction({
190
+ signature,
191
+ ...svm_1.SOLANA_NETWORKS[__classPrivateFieldGet(this, _PrivySvmWalletProvider_genesisHash, "f")],
192
+ });
193
+ }
194
+ /**
195
+ * Get the connection.
196
+ *
197
+ * @returns The connection.
198
+ */
199
+ getConnection() {
200
+ return __classPrivateFieldGet(this, _PrivySvmWalletProvider_connection, "f");
201
+ }
202
+ /**
203
+ * Get the public key.
204
+ *
205
+ * @returns The public key.
206
+ */
207
+ getPublicKey() {
208
+ return new web3_js_1.PublicKey(__classPrivateFieldGet(this, _PrivySvmWalletProvider_address, "f"));
209
+ }
210
+ }
211
+ exports.PrivySvmWalletProvider = PrivySvmWalletProvider;
212
+ _PrivySvmWalletProvider_walletId = new WeakMap(), _PrivySvmWalletProvider_address = new WeakMap(), _PrivySvmWalletProvider_authorizationPrivateKey = new WeakMap(), _PrivySvmWalletProvider_privyClient = new WeakMap(), _PrivySvmWalletProvider_connection = new WeakMap(), _PrivySvmWalletProvider_genesisHash = new WeakMap();
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const privySvmWalletProvider_1 = require("./privySvmWalletProvider");
37
+ const web3_js_1 = require("@solana/web3.js");
38
+ const solanaNetworks = __importStar(require("../network/svm"));
39
+ global.fetch = jest.fn(() => Promise.resolve({
40
+ ok: true,
41
+ json: () => Promise.resolve({}),
42
+ }));
43
+ jest.mock("../analytics", () => ({
44
+ sendAnalyticsEvent: jest.fn().mockImplementation(() => Promise.resolve()),
45
+ }));
46
+ jest.mock("@privy-io/server-auth", () => ({
47
+ PrivyClient: jest.fn().mockImplementation(() => ({
48
+ walletApi: {
49
+ getWallet: jest.fn().mockResolvedValue({
50
+ id: "test-wallet-id",
51
+ address: "AQoKYV7tYpTrFZN6P5oUufbQKAUr9mNYGe1TTJC9wajM",
52
+ }),
53
+ create: jest.fn().mockResolvedValue({
54
+ id: "test-wallet-id",
55
+ address: "AQoKYV7tYpTrFZN6P5oUufbQKAUr9mNYGe1TTJC9wajM",
56
+ }),
57
+ solana: {
58
+ signTransaction: jest.fn().mockResolvedValue({
59
+ signedTransaction: "mock-signed-transaction",
60
+ }),
61
+ signAndSendTransaction: jest.fn().mockResolvedValue({
62
+ hash: "mock-hash",
63
+ }),
64
+ },
65
+ },
66
+ })),
67
+ }));
68
+ jest.mock("@solana/web3.js", () => {
69
+ const actual = jest.requireActual("@solana/web3.js");
70
+ return {
71
+ ...actual,
72
+ Connection: jest.fn().mockImplementation(() => ({
73
+ getGenesisHash: jest.fn().mockResolvedValue(solanaNetworks.SOLANA_DEVNET_GENESIS_BLOCK_HASH),
74
+ getBalance: jest.fn().mockResolvedValue(1000000000),
75
+ getSignatureStatus: jest.fn().mockResolvedValue({
76
+ context: { slot: 123 },
77
+ value: { slot: 123, confirmations: 10, err: null },
78
+ }),
79
+ confirmTransaction: jest.fn().mockResolvedValue({
80
+ context: { slot: 123 },
81
+ value: { err: null },
82
+ }),
83
+ })),
84
+ PublicKey: jest.fn().mockImplementation(address => ({
85
+ toBase58: jest.fn().mockReturnValue(address),
86
+ })),
87
+ VersionedTransaction: jest.fn().mockImplementation(() => ({
88
+ signatures: [],
89
+ message: { compiledMessage: Buffer.from([]) },
90
+ })),
91
+ clusterApiUrl: jest.fn().mockImplementation(network => `https://api.${network}.solana.com`),
92
+ };
93
+ });
94
+ jest.mock("./privyShared", () => ({
95
+ createPrivyWallet: jest.fn().mockResolvedValue({
96
+ wallet: {
97
+ id: "test-wallet-id",
98
+ address: "AQoKYV7tYpTrFZN6P5oUufbQKAUr9mNYGe1TTJC9wajM",
99
+ },
100
+ privy: {
101
+ walletApi: {
102
+ solana: {
103
+ signTransaction: jest.fn().mockResolvedValue({
104
+ signedTransaction: "mock-signed-transaction",
105
+ }),
106
+ signAndSendTransaction: jest.fn().mockResolvedValue({
107
+ hash: "mock-hash",
108
+ }),
109
+ },
110
+ },
111
+ },
112
+ }),
113
+ }));
114
+ jest.mock("../network/svm", () => {
115
+ const SOLANA_DEVNET_GENESIS_BLOCK_HASH = "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG";
116
+ const SOLANA_TESTNET_GENESIS_BLOCK_HASH = "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY";
117
+ const SOLANA_MAINNET_GENESIS_BLOCK_HASH = "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d";
118
+ return {
119
+ SOLANA_DEVNET_GENESIS_BLOCK_HASH,
120
+ SOLANA_TESTNET_GENESIS_BLOCK_HASH,
121
+ SOLANA_MAINNET_GENESIS_BLOCK_HASH,
122
+ SOLANA_CLUSTER_ID_BY_NETWORK_ID: {
123
+ devnet: "devnet",
124
+ testnet: "testnet",
125
+ "mainnet-beta": "mainnet-beta",
126
+ },
127
+ SOLANA_NETWORKS: {
128
+ [SOLANA_DEVNET_GENESIS_BLOCK_HASH]: {
129
+ protocolFamily: "solana",
130
+ chainId: "devnet",
131
+ networkId: "devnet",
132
+ },
133
+ [SOLANA_TESTNET_GENESIS_BLOCK_HASH]: {
134
+ protocolFamily: "solana",
135
+ chainId: "testnet",
136
+ networkId: "testnet",
137
+ },
138
+ [SOLANA_MAINNET_GENESIS_BLOCK_HASH]: {
139
+ protocolFamily: "solana",
140
+ chainId: "mainnet-beta",
141
+ networkId: "mainnet-beta",
142
+ },
143
+ },
144
+ };
145
+ });
146
+ describe("PrivySvmWalletProvider", () => {
147
+ const MOCK_ADDRESS = "AQoKYV7tYpTrFZN6P5oUufbQKAUr9mNYGe1TTJC9wajM";
148
+ const MOCK_CONFIG = {
149
+ appId: "test-app-id",
150
+ appSecret: "test-app-secret",
151
+ };
152
+ const MOCK_CONFIG_WITH_WALLET_ID = {
153
+ ...MOCK_CONFIG,
154
+ walletId: "test-wallet-id",
155
+ };
156
+ const MOCK_CONFIG_WITH_NETWORK_ID = {
157
+ ...MOCK_CONFIG,
158
+ networkId: "devnet",
159
+ };
160
+ const MOCK_CONFIG_WITH_AUTH_KEY = {
161
+ ...MOCK_CONFIG,
162
+ authorizationPrivateKey: "test-auth-key",
163
+ authorizationKeyId: "test-auth-key-id",
164
+ };
165
+ beforeEach(() => {
166
+ jest.clearAllMocks();
167
+ });
168
+ describe("configureWithWallet", () => {
169
+ it("should configure with default settings", async () => {
170
+ const provider = await privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet(MOCK_CONFIG);
171
+ expect(provider).toBeInstanceOf(privySvmWalletProvider_1.PrivySvmWalletProvider);
172
+ });
173
+ it("should configure with an existing wallet ID", async () => {
174
+ const provider = await privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet(MOCK_CONFIG_WITH_WALLET_ID);
175
+ expect(provider).toBeInstanceOf(privySvmWalletProvider_1.PrivySvmWalletProvider);
176
+ });
177
+ it("should configure with a specified network ID", async () => {
178
+ const provider = await privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet(MOCK_CONFIG_WITH_NETWORK_ID);
179
+ expect(provider).toBeInstanceOf(privySvmWalletProvider_1.PrivySvmWalletProvider);
180
+ });
181
+ it("should configure with authorization keys", async () => {
182
+ const provider = await privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet(MOCK_CONFIG_WITH_AUTH_KEY);
183
+ expect(provider).toBeInstanceOf(privySvmWalletProvider_1.PrivySvmWalletProvider);
184
+ });
185
+ it("should configure with a custom connection", async () => {
186
+ const connection = new web3_js_1.Connection("https://custom-rpc.example.com");
187
+ const provider = await privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet({
188
+ ...MOCK_CONFIG,
189
+ connection,
190
+ });
191
+ expect(provider).toBeInstanceOf(privySvmWalletProvider_1.PrivySvmWalletProvider);
192
+ });
193
+ it("should handle configuration with invalid network", async () => {
194
+ const mockClusterApiUrl = jest.fn().mockImplementation(() => {
195
+ throw new Error("Invalid cluster");
196
+ });
197
+ const webThreeJs = jest.requireMock("@solana/web3.js");
198
+ const originalFn = webThreeJs.clusterApiUrl;
199
+ webThreeJs.clusterApiUrl = mockClusterApiUrl;
200
+ await expect(privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet({
201
+ ...MOCK_CONFIG,
202
+ networkId: "this-network-definitely-does-not-exist",
203
+ })).rejects.toThrow();
204
+ webThreeJs.clusterApiUrl = originalFn;
205
+ });
206
+ });
207
+ describe("wallet methods", () => {
208
+ let provider;
209
+ let mockTransaction;
210
+ beforeEach(async () => {
211
+ provider = await privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet(MOCK_CONFIG);
212
+ mockTransaction = {
213
+ message: { compiledMessage: Buffer.from([]) },
214
+ signatures: [],
215
+ };
216
+ });
217
+ it("should get the wallet address", () => {
218
+ expect(provider.getAddress()).toBe(MOCK_ADDRESS);
219
+ });
220
+ it("should get the network information", () => {
221
+ expect(provider.getNetwork()).toEqual({
222
+ protocolFamily: "solana",
223
+ chainId: "devnet",
224
+ networkId: "devnet",
225
+ });
226
+ });
227
+ it("should get the provider name", () => {
228
+ expect(provider.getName()).toBe("privy_svm_wallet_provider");
229
+ });
230
+ it("should get the wallet balance", async () => {
231
+ const balance = await provider.getBalance();
232
+ expect(balance).toBe(BigInt(1000000000));
233
+ });
234
+ it("should sign a transaction", async () => {
235
+ const signedTx = await provider.signTransaction(mockTransaction);
236
+ expect(signedTx).toBe("mock-signed-transaction");
237
+ });
238
+ it("should sign and send a transaction", async () => {
239
+ const hash = await provider.signAndSendTransaction(mockTransaction);
240
+ expect(hash).toBe("mock-hash");
241
+ });
242
+ it("should throw an error when sending a transaction directly", async () => {
243
+ await expect(provider.sendTransaction(mockTransaction)).rejects.toThrow("Method not implemented");
244
+ });
245
+ it("should throw an error when transferring native tokens", async () => {
246
+ await expect(provider.nativeTransfer("destination-address", "1.0")).rejects.toThrow("Method not implemented");
247
+ });
248
+ it("should get the signature status", async () => {
249
+ const status = await provider.getSignatureStatus("mock-signature");
250
+ expect(status).toEqual({
251
+ context: { slot: 123 },
252
+ value: { slot: 123, confirmations: 10, err: null },
253
+ });
254
+ });
255
+ it("should wait for signature result", async () => {
256
+ const result = await provider.waitForSignatureResult("mock-signature");
257
+ expect(result).toEqual({
258
+ context: { slot: 123 },
259
+ value: { err: null },
260
+ });
261
+ });
262
+ it("should get the connection", () => {
263
+ const connection = provider.getConnection();
264
+ expect(connection).toBeDefined();
265
+ });
266
+ it("should get the public key", () => {
267
+ const publicKey = provider.getPublicKey();
268
+ expect(publicKey.toBase58()).toBe(MOCK_ADDRESS);
269
+ });
270
+ it("should export wallet data", () => {
271
+ const walletData = provider.exportWallet();
272
+ expect(walletData).toEqual({
273
+ walletId: "test-wallet-id",
274
+ authorizationPrivateKey: undefined,
275
+ chainId: "devnet",
276
+ networkId: "devnet",
277
+ });
278
+ });
279
+ it("should handle errors when signing transaction", async () => {
280
+ jest.spyOn(provider, "signTransaction").mockRejectedValueOnce(new Error("Signing failed"));
281
+ const mockTransaction = {
282
+ message: { compiledMessage: Buffer.from([]) },
283
+ signatures: [],
284
+ };
285
+ await expect(provider.signTransaction(mockTransaction)).rejects.toThrow("Signing failed");
286
+ });
287
+ it("should handle errors when signing and sending transaction", async () => {
288
+ jest
289
+ .spyOn(provider, "signAndSendTransaction")
290
+ .mockRejectedValueOnce(new Error("Failed to send transaction"));
291
+ const mockTransaction = {
292
+ message: { compiledMessage: Buffer.from([]) },
293
+ signatures: [],
294
+ };
295
+ await expect(provider.signAndSendTransaction(mockTransaction)).rejects.toThrow("Failed to send transaction");
296
+ });
297
+ it("should handle timeout during transaction signature status check", async () => {
298
+ const mockMethod = jest.fn().mockRejectedValueOnce(new Error("Request timed out"));
299
+ const connection = provider.getConnection();
300
+ connection.getSignatureStatus = mockMethod;
301
+ await expect(provider.getSignatureStatus("mock-signature")).rejects.toThrow("Request timed out");
302
+ });
303
+ it("should handle network errors during balance check", async () => {
304
+ const mockMethod = jest.fn().mockRejectedValueOnce(new Error("RPC endpoint error"));
305
+ const connection = provider.getConnection();
306
+ connection.getBalance = mockMethod;
307
+ await expect(provider.getBalance()).rejects.toThrow("RPC endpoint error");
308
+ });
309
+ });
310
+ });
@@ -0,0 +1,35 @@
1
+ import { PrivyEvmWalletProvider, PrivyEvmWalletConfig } from "./privyEvmWalletProvider";
2
+ import { PrivySvmWalletProvider, PrivySvmWalletConfig } from "./privySvmWalletProvider";
3
+ export type PrivyWalletConfig = PrivyEvmWalletConfig | PrivySvmWalletConfig;
4
+ /**
5
+ * Factory class for creating chain-specific Privy wallet providers
6
+ */
7
+ export declare class PrivyWalletProvider {
8
+ /**
9
+ * Creates and configures a new wallet provider instance based on the chain type.
10
+ *
11
+ * @param config - The configuration options for the Privy wallet
12
+ * @returns A configured WalletProvider instance for the specified chain
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // For EVM (default)
17
+ * const evmWallet = await PrivyWalletProvider.configureWithWallet({
18
+ * appId: "your-app-id",
19
+ * appSecret: "your-app-secret"
20
+ * });
21
+ *
22
+ * // For Solana
23
+ * const solanaWallet = await PrivyWalletProvider.configureWithWallet({
24
+ * appId: "your-app-id",
25
+ * appSecret: "your-app-secret",
26
+ * chainType: "solana"
27
+ * });
28
+ * ```
29
+ */
30
+ static configureWithWallet<T extends PrivyWalletConfig>(config: T & {
31
+ chainType?: "ethereum" | "solana";
32
+ }): Promise<T extends {
33
+ chainType: "solana";
34
+ } ? PrivySvmWalletProvider : PrivyEvmWalletProvider>;
35
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrivyWalletProvider = void 0;
4
+ const privyEvmWalletProvider_1 = require("./privyEvmWalletProvider");
5
+ const privySvmWalletProvider_1 = require("./privySvmWalletProvider");
6
+ /**
7
+ * Factory class for creating chain-specific Privy wallet providers
8
+ */
9
+ class PrivyWalletProvider {
10
+ /**
11
+ * Creates and configures a new wallet provider instance based on the chain type.
12
+ *
13
+ * @param config - The configuration options for the Privy wallet
14
+ * @returns A configured WalletProvider instance for the specified chain
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // For EVM (default)
19
+ * const evmWallet = await PrivyWalletProvider.configureWithWallet({
20
+ * appId: "your-app-id",
21
+ * appSecret: "your-app-secret"
22
+ * });
23
+ *
24
+ * // For Solana
25
+ * const solanaWallet = await PrivyWalletProvider.configureWithWallet({
26
+ * appId: "your-app-id",
27
+ * appSecret: "your-app-secret",
28
+ * chainType: "solana"
29
+ * });
30
+ * ```
31
+ */
32
+ static async configureWithWallet(config) {
33
+ if (config.chainType === "solana") {
34
+ return (await privySvmWalletProvider_1.PrivySvmWalletProvider.configureWithWallet(config));
35
+ }
36
+ return (await privyEvmWalletProvider_1.PrivyEvmWalletProvider.configureWithWallet(config));
37
+ }
38
+ }
39
+ exports.PrivyWalletProvider = PrivyWalletProvider;