@oobe-protocol-labs/synapse-client-sdk 1.0.0-beta

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 (460) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1393 -0
  3. package/dist/cjs/advanced/circuit-breaker.d.ts +111 -0
  4. package/dist/cjs/advanced/circuit-breaker.d.ts.map +1 -0
  5. package/dist/cjs/advanced/circuit-breaker.js +278 -0
  6. package/dist/cjs/advanced/circuit-breaker.js.map +1 -0
  7. package/dist/cjs/advanced/index.d.ts +8 -0
  8. package/dist/cjs/advanced/index.d.ts.map +1 -0
  9. package/dist/cjs/advanced/index.js +13 -0
  10. package/dist/cjs/advanced/index.js.map +1 -0
  11. package/dist/cjs/advanced/load-balancer.d.ts +114 -0
  12. package/dist/cjs/advanced/load-balancer.d.ts.map +1 -0
  13. package/dist/cjs/advanced/load-balancer.js +354 -0
  14. package/dist/cjs/advanced/load-balancer.js.map +1 -0
  15. package/dist/cjs/advanced/smart-caching.d.ts +113 -0
  16. package/dist/cjs/advanced/smart-caching.d.ts.map +1 -0
  17. package/dist/cjs/advanced/smart-caching.js +461 -0
  18. package/dist/cjs/advanced/smart-caching.js.map +1 -0
  19. package/dist/cjs/advanced/types.d.ts +228 -0
  20. package/dist/cjs/advanced/types.d.ts.map +1 -0
  21. package/dist/cjs/advanced/types.js +7 -0
  22. package/dist/cjs/advanced/types.js.map +1 -0
  23. package/dist/cjs/ai/index.d.ts +15 -0
  24. package/dist/cjs/ai/index.d.ts.map +1 -0
  25. package/dist/cjs/ai/index.js +20 -0
  26. package/dist/cjs/ai/index.js.map +1 -0
  27. package/dist/cjs/ai/merkle-operation.d.ts +245 -0
  28. package/dist/cjs/ai/merkle-operation.d.ts.map +1 -0
  29. package/dist/cjs/ai/merkle-operation.js +522 -0
  30. package/dist/cjs/ai/merkle-operation.js.map +1 -0
  31. package/dist/cjs/ai/pda-manager.d.ts +134 -0
  32. package/dist/cjs/ai/pda-manager.d.ts.map +1 -0
  33. package/dist/cjs/ai/pda-manager.js +250 -0
  34. package/dist/cjs/ai/pda-manager.js.map +1 -0
  35. package/dist/cjs/ai/types.ai.d.ts +172 -0
  36. package/dist/cjs/ai/types.ai.d.ts.map +1 -0
  37. package/dist/cjs/ai/types.ai.js +14 -0
  38. package/dist/cjs/ai/types.ai.js.map +1 -0
  39. package/dist/cjs/ai/zero-combine-fetcher.d.ts +171 -0
  40. package/dist/cjs/ai/zero-combine-fetcher.d.ts.map +1 -0
  41. package/dist/cjs/ai/zero-combine-fetcher.js +412 -0
  42. package/dist/cjs/ai/zero-combine-fetcher.js.map +1 -0
  43. package/dist/cjs/client.d.ts +83 -0
  44. package/dist/cjs/client.d.ts.map +1 -0
  45. package/dist/cjs/client.js +287 -0
  46. package/dist/cjs/client.js.map +1 -0
  47. package/dist/cjs/defi/advanced-features.d.ts +207 -0
  48. package/dist/cjs/defi/advanced-features.d.ts.map +1 -0
  49. package/dist/cjs/defi/advanced-features.js +382 -0
  50. package/dist/cjs/defi/advanced-features.js.map +1 -0
  51. package/dist/cjs/defi/index.d.ts +29 -0
  52. package/dist/cjs/defi/index.d.ts.map +1 -0
  53. package/dist/cjs/defi/index.js +50 -0
  54. package/dist/cjs/defi/index.js.map +1 -0
  55. package/dist/cjs/defi/jito.d.ts +118 -0
  56. package/dist/cjs/defi/jito.d.ts.map +1 -0
  57. package/dist/cjs/defi/jito.js +291 -0
  58. package/dist/cjs/defi/jito.js.map +1 -0
  59. package/dist/cjs/defi/jupiter.d.ts +143 -0
  60. package/dist/cjs/defi/jupiter.d.ts.map +1 -0
  61. package/dist/cjs/defi/jupiter.js +219 -0
  62. package/dist/cjs/defi/jupiter.js.map +1 -0
  63. package/dist/cjs/defi/price-feed.d.ts +63 -0
  64. package/dist/cjs/defi/price-feed.d.ts.map +1 -0
  65. package/dist/cjs/defi/price-feed.js +153 -0
  66. package/dist/cjs/defi/price-feed.js.map +1 -0
  67. package/dist/cjs/defi/token-data.d.ts +83 -0
  68. package/dist/cjs/defi/token-data.d.ts.map +1 -0
  69. package/dist/cjs/defi/token-data.js +205 -0
  70. package/dist/cjs/defi/token-data.js.map +1 -0
  71. package/dist/cjs/defi/unstable-features.d.ts +207 -0
  72. package/dist/cjs/defi/unstable-features.d.ts.map +1 -0
  73. package/dist/cjs/defi/unstable-features.js +382 -0
  74. package/dist/cjs/defi/unstable-features.js.map +1 -0
  75. package/dist/cjs/defi/utils.d.ts +265 -0
  76. package/dist/cjs/defi/utils.d.ts.map +1 -0
  77. package/dist/cjs/defi/utils.js +619 -0
  78. package/dist/cjs/defi/utils.js.map +1 -0
  79. package/dist/cjs/index.d.ts +31 -0
  80. package/dist/cjs/index.d.ts.map +1 -0
  81. package/dist/cjs/index.js +71 -0
  82. package/dist/cjs/index.js.map +1 -0
  83. package/dist/cjs/methods/solana-rpc.d.ts +362 -0
  84. package/dist/cjs/methods/solana-rpc.d.ts.map +1 -0
  85. package/dist/cjs/methods/solana-rpc.js +584 -0
  86. package/dist/cjs/methods/solana-rpc.js.map +1 -0
  87. package/dist/cjs/nft/advanced-features.d.ts +205 -0
  88. package/dist/cjs/nft/advanced-features.d.ts.map +1 -0
  89. package/dist/cjs/nft/advanced-features.js +529 -0
  90. package/dist/cjs/nft/advanced-features.js.map +1 -0
  91. package/dist/cjs/nft/clients/index.d.ts +8 -0
  92. package/dist/cjs/nft/clients/index.d.ts.map +1 -0
  93. package/dist/cjs/nft/clients/index.js +14 -0
  94. package/dist/cjs/nft/clients/index.js.map +1 -0
  95. package/dist/cjs/nft/clients/magic-eden-client.d.ts +101 -0
  96. package/dist/cjs/nft/clients/magic-eden-client.d.ts.map +1 -0
  97. package/dist/cjs/nft/clients/magic-eden-client.js +263 -0
  98. package/dist/cjs/nft/clients/magic-eden-client.js.map +1 -0
  99. package/dist/cjs/nft/clients/metaplex-onchain-client.d.ts +154 -0
  100. package/dist/cjs/nft/clients/metaplex-onchain-client.d.ts.map +1 -0
  101. package/dist/cjs/nft/clients/metaplex-onchain-client.js +408 -0
  102. package/dist/cjs/nft/clients/metaplex-onchain-client.js.map +1 -0
  103. package/dist/cjs/nft/clients/tensor-client.d.ts +79 -0
  104. package/dist/cjs/nft/clients/tensor-client.d.ts.map +1 -0
  105. package/dist/cjs/nft/clients/tensor-client.js +222 -0
  106. package/dist/cjs/nft/clients/tensor-client.js.map +1 -0
  107. package/dist/cjs/nft/index.d.ts +13 -0
  108. package/dist/cjs/nft/index.d.ts.map +1 -0
  109. package/dist/cjs/nft/index.js +37 -0
  110. package/dist/cjs/nft/index.js.map +1 -0
  111. package/dist/cjs/nft/types.nft.d.ts +342 -0
  112. package/dist/cjs/nft/types.nft.d.ts.map +1 -0
  113. package/dist/cjs/nft/types.nft.js +3 -0
  114. package/dist/cjs/nft/types.nft.js.map +1 -0
  115. package/dist/cjs/nft/utils.d.ts +46 -0
  116. package/dist/cjs/nft/utils.d.ts.map +1 -0
  117. package/dist/cjs/nft/utils.js +281 -0
  118. package/dist/cjs/nft/utils.js.map +1 -0
  119. package/dist/cjs/types.d.ts +525 -0
  120. package/dist/cjs/types.d.ts.map +1 -0
  121. package/dist/cjs/types.js +192 -0
  122. package/dist/cjs/types.js.map +1 -0
  123. package/dist/cjs/utils/constant.d.ts +8 -0
  124. package/dist/cjs/utils/constant.d.ts.map +1 -0
  125. package/dist/cjs/utils/constant.js +12 -0
  126. package/dist/cjs/utils/constant.js.map +1 -0
  127. package/dist/cjs/utils/helpers.d.ts +92 -0
  128. package/dist/cjs/utils/helpers.d.ts.map +1 -0
  129. package/dist/cjs/utils/helpers.js +248 -0
  130. package/dist/cjs/utils/helpers.js.map +1 -0
  131. package/dist/cjs/websocket/client.d.ts +182 -0
  132. package/dist/cjs/websocket/client.d.ts.map +1 -0
  133. package/dist/cjs/websocket/client.js +465 -0
  134. package/dist/cjs/websocket/client.js.map +1 -0
  135. package/dist/cjs/websocket/index.d.ts +6 -0
  136. package/dist/cjs/websocket/index.d.ts.map +1 -0
  137. package/dist/cjs/websocket/index.js +9 -0
  138. package/dist/cjs/websocket/index.js.map +1 -0
  139. package/dist/docs/.nojekyll +1 -0
  140. package/dist/docs/assets/highlight.css +113 -0
  141. package/dist/docs/assets/icons.js +18 -0
  142. package/dist/docs/assets/icons.svg +1 -0
  143. package/dist/docs/assets/main.js +60 -0
  144. package/dist/docs/assets/navigation.js +1 -0
  145. package/dist/docs/assets/search.js +1 -0
  146. package/dist/docs/assets/style.css +1493 -0
  147. package/dist/docs/classes/AIError.html +40 -0
  148. package/dist/docs/classes/AIInvestmentAdvisor.html +26 -0
  149. package/dist/docs/classes/AIRarityCalculator.html +28 -0
  150. package/dist/docs/classes/ArbitrageDetector.html +30 -0
  151. package/dist/docs/classes/BatchingError.html +40 -0
  152. package/dist/docs/classes/CacheError.html +40 -0
  153. package/dist/docs/classes/CircuitBreaker.html +38 -0
  154. package/dist/docs/classes/CircuitBreakerError.html +40 -0
  155. package/dist/docs/classes/CollectionAnalytics.html +30 -0
  156. package/dist/docs/classes/DeFiError.html +40 -0
  157. package/dist/docs/classes/FlashLoanSimulator.html +26 -0
  158. package/dist/docs/classes/JitoIntegration.html +53 -0
  159. package/dist/docs/classes/JupiterIntegration.html +43 -0
  160. package/dist/docs/classes/Keypair.html +28 -0
  161. package/dist/docs/classes/LoadBalancer.html +34 -0
  162. package/dist/docs/classes/MEVProtection.html +28 -0
  163. package/dist/docs/classes/MarketplaceAggregator.html +28 -0
  164. package/dist/docs/classes/MerkleOperation.html +74 -0
  165. package/dist/docs/classes/NFTEngine.html +29 -0
  166. package/dist/docs/classes/NFTError.html +40 -0
  167. package/dist/docs/classes/NetworkError.html +40 -0
  168. package/dist/docs/classes/PDAManager.html +46 -0
  169. package/dist/docs/classes/PortfolioAnalytics.html +26 -0
  170. package/dist/docs/classes/PriceFeedIntegration.html +37 -0
  171. package/dist/docs/classes/PublicKey.html +46 -0
  172. package/dist/docs/classes/RateLimitError.html +39 -0
  173. package/dist/docs/classes/SmartCaching.html +42 -0
  174. package/dist/docs/classes/Synapse.html +6 -0
  175. package/dist/docs/classes/SynapseClient.html +55 -0
  176. package/dist/docs/classes/SynapseError.html +37 -0
  177. package/dist/docs/classes/SynapseSolanaEngine.html +49 -0
  178. package/dist/docs/classes/SynapseUtils.html +25 -0
  179. package/dist/docs/classes/TokenDataIntegration.html +41 -0
  180. package/dist/docs/classes/Transaction.html +87 -0
  181. package/dist/docs/classes/TransactionInstruction.html +10 -0
  182. package/dist/docs/classes/UpstreamError.html +39 -0
  183. package/dist/docs/classes/WebSocketClient.html +47 -0
  184. package/dist/docs/classes/WebSocketError.html +40 -0
  185. package/dist/docs/classes/YieldFarmingFinder.html +26 -0
  186. package/dist/docs/classes/ZeroCombineFetcher.html +25 -0
  187. package/dist/docs/functions/createSynapseClient.html +2 -0
  188. package/dist/docs/hierarchy.html +1 -0
  189. package/dist/docs/index.html +776 -0
  190. package/dist/docs/interfaces/AIAgentConfig.html +11 -0
  191. package/dist/docs/interfaces/AIAgentContext.html +7 -0
  192. package/dist/docs/interfaces/AIContext.html +6 -0
  193. package/dist/docs/interfaces/AIMethodResult.html +6 -0
  194. package/dist/docs/interfaces/AIRarityAnalysis.html +3 -0
  195. package/dist/docs/interfaces/AIResponse.html +5 -0
  196. package/dist/docs/interfaces/AccountInfo.html +8 -0
  197. package/dist/docs/interfaces/AdvancedClientConfig.html +7 -0
  198. package/dist/docs/interfaces/AdvancedEvents.html +9 -0
  199. package/dist/docs/interfaces/AdvancedMetricsData.html +5 -0
  200. package/dist/docs/interfaces/AdvancedPerformanceMetrics.html +6 -0
  201. package/dist/docs/interfaces/AgentAdapter.html +6 -0
  202. package/dist/docs/interfaces/AgentRiskReport.html +6 -0
  203. package/dist/docs/interfaces/AgentTradeSuggestion.html +10 -0
  204. package/dist/docs/interfaces/AggregatedCollectionStats.html +36 -0
  205. package/dist/docs/interfaces/ArbitrageOpportunity.html +8 -0
  206. package/dist/docs/interfaces/AutoTradingStrategy.html +13 -0
  207. package/dist/docs/interfaces/BatchResponse.html +4 -0
  208. package/dist/docs/interfaces/BatchResult.html +6 -0
  209. package/dist/docs/interfaces/BatcherConfig.html +5 -0
  210. package/dist/docs/interfaces/BirdeyeTokenPrice.html +4 -0
  211. package/dist/docs/interfaces/BlockhashInfo.html +5 -0
  212. package/dist/docs/interfaces/BuildSwapTxResult.html +7 -0
  213. package/dist/docs/interfaces/CacheStats.html +9 -0
  214. package/dist/docs/interfaces/ChunkInfo.html +10 -0
  215. package/dist/docs/interfaces/CircuitBreakerConfig.html +6 -0
  216. package/dist/docs/interfaces/ClientStats.html +14 -0
  217. package/dist/docs/interfaces/CollectionStats.html +17 -0
  218. package/dist/docs/interfaces/CollectionTrends.html +7 -0
  219. package/dist/docs/interfaces/CompressedNFTInfo.html +13 -0
  220. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -0
  221. package/dist/docs/interfaces/ConnectionEvents.html +11 -0
  222. package/dist/docs/interfaces/DeFiConfig.html +16 -0
  223. package/dist/docs/interfaces/DiagnosticsResult.html +6 -0
  224. package/dist/docs/interfaces/EpochInfo.html +9 -0
  225. package/dist/docs/interfaces/ExecuteSwapParams.html +10 -0
  226. package/dist/docs/interfaces/FetchConfig.html +7 -0
  227. package/dist/docs/interfaces/FlashLoanAction.html +6 -0
  228. package/dist/docs/interfaces/FlashLoanSimulation.html +9 -0
  229. package/dist/docs/interfaces/GatewayStats.html +7 -0
  230. package/dist/docs/interfaces/InscriptionResult.html +18 -0
  231. package/dist/docs/interfaces/InvestmentRecommendation.html +10 -0
  232. package/dist/docs/interfaces/JitoBundleParams.html +4 -0
  233. package/dist/docs/interfaces/JitoBundleResult.html +6 -0
  234. package/dist/docs/interfaces/JitoBundleStatus.html +6 -0
  235. package/dist/docs/interfaces/JitoTipAccount.html +3 -0
  236. package/dist/docs/interfaces/JupiterQuoteParams.html +10 -0
  237. package/dist/docs/interfaces/JupiterQuoteRequest.html +17 -0
  238. package/dist/docs/interfaces/JupiterQuoteResponse.html +13 -0
  239. package/dist/docs/interfaces/JupiterSwapOptions.html +8 -0
  240. package/dist/docs/interfaces/JupiterSwapResponse.html +4 -0
  241. package/dist/docs/interfaces/JupiterTokenPrice.html +5 -0
  242. package/dist/docs/interfaces/LoadBalancerConfig.html +5 -0
  243. package/dist/docs/interfaces/MEVProtectionConfig.html +11 -0
  244. package/dist/docs/interfaces/MEVProtectionResult.html +6 -0
  245. package/dist/docs/interfaces/MagicEdenActivity.html +22 -0
  246. package/dist/docs/interfaces/MagicEdenCollection.html +22 -0
  247. package/dist/docs/interfaces/MagicEdenCollectionStats.html +17 -0
  248. package/dist/docs/interfaces/MagicEdenErrorResponse.html +4 -0
  249. package/dist/docs/interfaces/MagicEdenListing.html +24 -0
  250. package/dist/docs/interfaces/MarketplaceClientConfig.html +14 -0
  251. package/dist/docs/interfaces/MarketplaceFloorPrices.html +7 -0
  252. package/dist/docs/interfaces/MarketplaceListing.html +9 -0
  253. package/dist/docs/interfaces/MerkleLeaf.html +6 -0
  254. package/dist/docs/interfaces/MerkleProof.html +8 -0
  255. package/dist/docs/interfaces/MerkleValidationResult.html +10 -0
  256. package/dist/docs/interfaces/MultiChainSignal.html +8 -0
  257. package/dist/docs/interfaces/NFTAttribute.html +4 -0
  258. package/dist/docs/interfaces/NFTConfig.html +6 -0
  259. package/dist/docs/interfaces/NFTInfo.html +10 -0
  260. package/dist/docs/interfaces/NFTMetadata.html +9 -0
  261. package/dist/docs/interfaces/NormalizedMarketplaceListing.html +18 -0
  262. package/dist/docs/interfaces/OOBECompatibleAgent.html +8 -0
  263. package/dist/docs/interfaces/PDAConfig.html +10 -0
  264. package/dist/docs/interfaces/ParsedAccountInfo.html +8 -0
  265. package/dist/docs/interfaces/PerformanceMetrics.html +9 -0
  266. package/dist/docs/interfaces/PortfolioMetrics.html +10 -0
  267. package/dist/docs/interfaces/PriceData.html +8 -0
  268. package/dist/docs/interfaces/ProofRecord.html +12 -0
  269. package/dist/docs/interfaces/QuoteRequestCommon.html +11 -0
  270. package/dist/docs/interfaces/QuoteResponse.html +6 -0
  271. package/dist/docs/interfaces/RarityAlgorithmConfig.html +3 -0
  272. package/dist/docs/interfaces/RarityScore.html +8 -0
  273. package/dist/docs/interfaces/RaydiumBuildSwapParams.html +14 -0
  274. package/dist/docs/interfaces/RaydiumQuoteRequest.html +14 -0
  275. package/dist/docs/interfaces/RequestOptions.html +12 -0
  276. package/dist/docs/interfaces/RetryAttempt.html +5 -0
  277. package/dist/docs/interfaces/RpcError.html +5 -0
  278. package/dist/docs/interfaces/RpcRequest.html +6 -0
  279. package/dist/docs/interfaces/RpcResponse.html +6 -0
  280. package/dist/docs/interfaces/SecurityThreat.html +6 -0
  281. package/dist/docs/interfaces/SignatureInfo.html +8 -0
  282. package/dist/docs/interfaces/Signer.html +4 -0
  283. package/dist/docs/interfaces/SmartCacheConfig.html +7 -0
  284. package/dist/docs/interfaces/SmartQueryOptions.html +10 -0
  285. package/dist/docs/interfaces/StressTestOptions.html +8 -0
  286. package/dist/docs/interfaces/StressTestResult.html +9 -0
  287. package/dist/docs/interfaces/SubscriptionConfig.html +9 -0
  288. package/dist/docs/interfaces/SubscriptionOptions.html +7 -0
  289. package/dist/docs/interfaces/SubscriptionResult.html +7 -0
  290. package/dist/docs/interfaces/SynapseConfig.html +13 -0
  291. package/dist/docs/interfaces/SynapseLikeClient.html +4 -0
  292. package/dist/docs/interfaces/TensorCollectionStats.html +33 -0
  293. package/dist/docs/interfaces/TensorErrorResponse.html +5 -0
  294. package/dist/docs/interfaces/TensorListing.html +16 -0
  295. package/dist/docs/interfaces/TensorSale.html +16 -0
  296. package/dist/docs/interfaces/TokenAccount.html +7 -0
  297. package/dist/docs/interfaces/TokenAccountInfo.html +12 -0
  298. package/dist/docs/interfaces/TokenHolding.html +8 -0
  299. package/dist/docs/interfaces/TokenInfo.html +7 -0
  300. package/dist/docs/interfaces/TokenLargestAccount.html +5 -0
  301. package/dist/docs/interfaces/TokenSupply.html +5 -0
  302. package/dist/docs/interfaces/TradeExecution.html +14 -0
  303. package/dist/docs/interfaces/TransactionSignature.html +8 -0
  304. package/dist/docs/interfaces/UpstreamHealth.html +8 -0
  305. package/dist/docs/interfaces/UserPDAs.html +10 -0
  306. package/dist/docs/interfaces/WebSocketConfig.html +12 -0
  307. package/dist/docs/interfaces/WebSocketMessage.html +6 -0
  308. package/dist/docs/interfaces/YieldOpportunity.html +8 -0
  309. package/dist/docs/interfaces/ZeroChunk.html +8 -0
  310. package/dist/docs/interfaces/ZeroCombineResult.html +3 -0
  311. package/dist/docs/media/LICENSE +21 -0
  312. package/dist/docs/media/README-1.md +778 -0
  313. package/dist/docs/media/README-2.md +1050 -0
  314. package/dist/docs/media/README-3.md +1522 -0
  315. package/dist/docs/media/README-4.md +869 -0
  316. package/dist/docs/media/README-5.md +857 -0
  317. package/dist/docs/media/README-6.md +727 -0
  318. package/dist/docs/media/README.md +766 -0
  319. package/dist/docs/modules.html +168 -0
  320. package/dist/docs/types/BlockhashWithExpiryBlockHeight.html +1 -0
  321. package/dist/docs/types/Commitment.html +3 -0
  322. package/dist/docs/types/RiskTolerance.html +1 -0
  323. package/dist/docs/types/SimulatedTransactionResponse.html +1 -0
  324. package/dist/esm/advanced/circuit-breaker.d.ts +111 -0
  325. package/dist/esm/advanced/circuit-breaker.d.ts.map +1 -0
  326. package/dist/esm/advanced/circuit-breaker.js +274 -0
  327. package/dist/esm/advanced/circuit-breaker.js.map +1 -0
  328. package/dist/esm/advanced/index.d.ts +8 -0
  329. package/dist/esm/advanced/index.d.ts.map +1 -0
  330. package/dist/esm/advanced/index.js +7 -0
  331. package/dist/esm/advanced/index.js.map +1 -0
  332. package/dist/esm/advanced/load-balancer.d.ts +114 -0
  333. package/dist/esm/advanced/load-balancer.d.ts.map +1 -0
  334. package/dist/esm/advanced/load-balancer.js +350 -0
  335. package/dist/esm/advanced/load-balancer.js.map +1 -0
  336. package/dist/esm/advanced/smart-caching.d.ts +113 -0
  337. package/dist/esm/advanced/smart-caching.d.ts.map +1 -0
  338. package/dist/esm/advanced/smart-caching.js +457 -0
  339. package/dist/esm/advanced/smart-caching.js.map +1 -0
  340. package/dist/esm/advanced/types.d.ts +228 -0
  341. package/dist/esm/advanced/types.d.ts.map +1 -0
  342. package/dist/esm/advanced/types.js +6 -0
  343. package/dist/esm/advanced/types.js.map +1 -0
  344. package/dist/esm/ai/index.d.ts +15 -0
  345. package/dist/esm/ai/index.d.ts.map +1 -0
  346. package/dist/esm/ai/index.js +14 -0
  347. package/dist/esm/ai/index.js.map +1 -0
  348. package/dist/esm/ai/merkle-operation.d.ts +245 -0
  349. package/dist/esm/ai/merkle-operation.d.ts.map +1 -0
  350. package/dist/esm/ai/merkle-operation.js +485 -0
  351. package/dist/esm/ai/merkle-operation.js.map +1 -0
  352. package/dist/esm/ai/pda-manager.d.ts +134 -0
  353. package/dist/esm/ai/pda-manager.d.ts.map +1 -0
  354. package/dist/esm/ai/pda-manager.js +213 -0
  355. package/dist/esm/ai/pda-manager.js.map +1 -0
  356. package/dist/esm/ai/types.ai.d.ts +172 -0
  357. package/dist/esm/ai/types.ai.d.ts.map +1 -0
  358. package/dist/esm/ai/types.ai.js +13 -0
  359. package/dist/esm/ai/types.ai.js.map +1 -0
  360. package/dist/esm/ai/zero-combine-fetcher.d.ts +171 -0
  361. package/dist/esm/ai/zero-combine-fetcher.d.ts.map +1 -0
  362. package/dist/esm/ai/zero-combine-fetcher.js +408 -0
  363. package/dist/esm/ai/zero-combine-fetcher.js.map +1 -0
  364. package/dist/esm/client.d.ts +83 -0
  365. package/dist/esm/client.d.ts.map +1 -0
  366. package/dist/esm/client.js +283 -0
  367. package/dist/esm/client.js.map +1 -0
  368. package/dist/esm/defi/advanced-features.d.ts +207 -0
  369. package/dist/esm/defi/advanced-features.d.ts.map +1 -0
  370. package/dist/esm/defi/advanced-features.js +374 -0
  371. package/dist/esm/defi/advanced-features.js.map +1 -0
  372. package/dist/esm/defi/index.d.ts +29 -0
  373. package/dist/esm/defi/index.d.ts.map +1 -0
  374. package/dist/esm/defi/index.js +37 -0
  375. package/dist/esm/defi/index.js.map +1 -0
  376. package/dist/esm/defi/jito.d.ts +118 -0
  377. package/dist/esm/defi/jito.d.ts.map +1 -0
  378. package/dist/esm/defi/jito.js +287 -0
  379. package/dist/esm/defi/jito.js.map +1 -0
  380. package/dist/esm/defi/jupiter.d.ts +143 -0
  381. package/dist/esm/defi/jupiter.d.ts.map +1 -0
  382. package/dist/esm/defi/jupiter.js +215 -0
  383. package/dist/esm/defi/jupiter.js.map +1 -0
  384. package/dist/esm/defi/price-feed.d.ts +63 -0
  385. package/dist/esm/defi/price-feed.d.ts.map +1 -0
  386. package/dist/esm/defi/price-feed.js +149 -0
  387. package/dist/esm/defi/price-feed.js.map +1 -0
  388. package/dist/esm/defi/token-data.d.ts +83 -0
  389. package/dist/esm/defi/token-data.d.ts.map +1 -0
  390. package/dist/esm/defi/token-data.js +201 -0
  391. package/dist/esm/defi/token-data.js.map +1 -0
  392. package/dist/esm/defi/unstable-features.d.ts +207 -0
  393. package/dist/esm/defi/unstable-features.d.ts.map +1 -0
  394. package/dist/esm/defi/unstable-features.js +374 -0
  395. package/dist/esm/defi/unstable-features.js.map +1 -0
  396. package/dist/esm/defi/utils.d.ts +265 -0
  397. package/dist/esm/defi/utils.d.ts.map +1 -0
  398. package/dist/esm/defi/utils.js +582 -0
  399. package/dist/esm/defi/utils.js.map +1 -0
  400. package/dist/esm/index.d.ts +31 -0
  401. package/dist/esm/index.d.ts.map +1 -0
  402. package/dist/esm/index.js +47 -0
  403. package/dist/esm/index.js.map +1 -0
  404. package/dist/esm/methods/solana-rpc.d.ts +362 -0
  405. package/dist/esm/methods/solana-rpc.d.ts.map +1 -0
  406. package/dist/esm/methods/solana-rpc.js +532 -0
  407. package/dist/esm/methods/solana-rpc.js.map +1 -0
  408. package/dist/esm/nft/advanced-features.d.ts +205 -0
  409. package/dist/esm/nft/advanced-features.d.ts.map +1 -0
  410. package/dist/esm/nft/advanced-features.js +489 -0
  411. package/dist/esm/nft/advanced-features.js.map +1 -0
  412. package/dist/esm/nft/clients/index.d.ts +8 -0
  413. package/dist/esm/nft/clients/index.d.ts.map +1 -0
  414. package/dist/esm/nft/clients/index.js +8 -0
  415. package/dist/esm/nft/clients/index.js.map +1 -0
  416. package/dist/esm/nft/clients/magic-eden-client.d.ts +101 -0
  417. package/dist/esm/nft/clients/magic-eden-client.d.ts.map +1 -0
  418. package/dist/esm/nft/clients/magic-eden-client.js +259 -0
  419. package/dist/esm/nft/clients/magic-eden-client.js.map +1 -0
  420. package/dist/esm/nft/clients/metaplex-onchain-client.d.ts +154 -0
  421. package/dist/esm/nft/clients/metaplex-onchain-client.d.ts.map +1 -0
  422. package/dist/esm/nft/clients/metaplex-onchain-client.js +404 -0
  423. package/dist/esm/nft/clients/metaplex-onchain-client.js.map +1 -0
  424. package/dist/esm/nft/clients/tensor-client.d.ts +79 -0
  425. package/dist/esm/nft/clients/tensor-client.d.ts.map +1 -0
  426. package/dist/esm/nft/clients/tensor-client.js +218 -0
  427. package/dist/esm/nft/clients/tensor-client.js.map +1 -0
  428. package/dist/esm/nft/index.d.ts +13 -0
  429. package/dist/esm/nft/index.d.ts.map +1 -0
  430. package/dist/esm/nft/index.js +15 -0
  431. package/dist/esm/nft/index.js.map +1 -0
  432. package/dist/esm/nft/types.nft.d.ts +342 -0
  433. package/dist/esm/nft/types.nft.d.ts.map +1 -0
  434. package/dist/esm/nft/types.nft.js +2 -0
  435. package/dist/esm/nft/types.nft.js.map +1 -0
  436. package/dist/esm/nft/utils.d.ts +46 -0
  437. package/dist/esm/nft/utils.d.ts.map +1 -0
  438. package/dist/esm/nft/utils.js +276 -0
  439. package/dist/esm/nft/utils.js.map +1 -0
  440. package/dist/esm/types.d.ts +525 -0
  441. package/dist/esm/types.d.ts.map +1 -0
  442. package/dist/esm/types.js +178 -0
  443. package/dist/esm/types.js.map +1 -0
  444. package/dist/esm/utils/constant.d.ts +8 -0
  445. package/dist/esm/utils/constant.d.ts.map +1 -0
  446. package/dist/esm/utils/constant.js +8 -0
  447. package/dist/esm/utils/constant.js.map +1 -0
  448. package/dist/esm/utils/helpers.d.ts +92 -0
  449. package/dist/esm/utils/helpers.d.ts.map +1 -0
  450. package/dist/esm/utils/helpers.js +243 -0
  451. package/dist/esm/utils/helpers.js.map +1 -0
  452. package/dist/esm/websocket/client.d.ts +182 -0
  453. package/dist/esm/websocket/client.d.ts.map +1 -0
  454. package/dist/esm/websocket/client.js +458 -0
  455. package/dist/esm/websocket/client.js.map +1 -0
  456. package/dist/esm/websocket/index.d.ts +6 -0
  457. package/dist/esm/websocket/index.d.ts.map +1 -0
  458. package/dist/esm/websocket/index.js +5 -0
  459. package/dist/esm/websocket/index.js.map +1 -0
  460. package/package.json +160 -0
@@ -0,0 +1,207 @@
1
+ /**
2
+ * @file defi/advanced-features.ts
3
+ * @module SolanaDeFi
4
+ * @author Keepeeto
5
+ * @license MIT
6
+ * @description Advanced DeFi features: MEV protection, arbitrage detection, portfolio analytics,
7
+ * flash loan simulation, and yield farming opportunities.
8
+ */
9
+ import { EventEmitter } from 'eventemitter3';
10
+ import type { SynapseClient } from '../client';
11
+ export interface MEVProtectionConfig {
12
+ /** Enable Jito bundle submission for MEV protection */
13
+ enableJitoBundle?: boolean;
14
+ /** Jito block engine URL */
15
+ jitoBlockEngineUrl?: string;
16
+ /** Maximum MEV tip in lamports */
17
+ maxTipLamports?: number;
18
+ /** Enable transaction simulation before submission */
19
+ enableSimulation?: boolean;
20
+ /** Slippage tolerance in basis points */
21
+ slippageBps?: number;
22
+ }
23
+ export interface MEVProtectionResult {
24
+ protected: boolean;
25
+ bundleId?: string;
26
+ estimatedMEVSaved?: number;
27
+ tips?: {
28
+ jito?: number;
29
+ priority?: number;
30
+ };
31
+ simulation?: {
32
+ success: boolean;
33
+ logs?: string[];
34
+ };
35
+ }
36
+ /**
37
+ * MEV Protection Engine
38
+ * Protects trades from sandwich attacks and front-running using Jito bundles
39
+ */
40
+ export declare class MEVProtection extends EventEmitter {
41
+ private config;
42
+ constructor(config?: MEVProtectionConfig);
43
+ /**
44
+ * Protect a swap transaction from MEV
45
+ */
46
+ protectSwap(txBase64: string, options?: {
47
+ tipLamports?: number;
48
+ skipSimulation?: boolean;
49
+ }): Promise<MEVProtectionResult>;
50
+ /**
51
+ * Simulate transaction
52
+ */
53
+ private simulateTransaction;
54
+ /**
55
+ * Submit transaction via Jito bundle
56
+ */
57
+ private submitJitoBundle;
58
+ /**
59
+ * Estimate MEV risk for a transaction
60
+ */
61
+ estimateMEVRisk(inputMint: string, outputMint: string, amount: number): Promise<{
62
+ risk: 'low' | 'medium' | 'high';
63
+ estimatedLoss: number;
64
+ recommendation: string;
65
+ }>;
66
+ }
67
+ export interface ArbitrageOpportunity {
68
+ path: string[];
69
+ profit: number;
70
+ profitPercent: number;
71
+ exchanges: string[];
72
+ estimatedGas: number;
73
+ netProfit: number;
74
+ confidence: number;
75
+ }
76
+ /**
77
+ * Arbitrage Detection Engine
78
+ * Scans multiple DEXes for profitable arbitrage opportunities
79
+ */
80
+ export declare class ArbitrageDetector extends EventEmitter {
81
+ private client;
82
+ private scanInterval?;
83
+ constructor(client: SynapseClient);
84
+ /**
85
+ * Find arbitrage opportunities between DEXes
86
+ */
87
+ findOpportunities(options?: {
88
+ minProfitPercent?: number;
89
+ maxHops?: number;
90
+ tokens?: string[];
91
+ }): Promise<ArbitrageOpportunity[]>;
92
+ /**
93
+ * Start continuous arbitrage scanning
94
+ */
95
+ startScanning(intervalMs?: number): void;
96
+ /**
97
+ * Stop scanning
98
+ */
99
+ stopScanning(): void;
100
+ }
101
+ export interface TokenHolding {
102
+ mint: string;
103
+ symbol?: string;
104
+ amount: number;
105
+ decimals: number;
106
+ usdValue: number;
107
+ allocation: number;
108
+ change24h?: number;
109
+ }
110
+ export interface PortfolioMetrics {
111
+ totalValue: number;
112
+ holdings: TokenHolding[];
113
+ pnl24h: number;
114
+ pnl7d: number;
115
+ pnl30d: number;
116
+ riskScore: number;
117
+ diversificationScore: number;
118
+ topPerformers: TokenHolding[];
119
+ recommendations: string[];
120
+ }
121
+ /**
122
+ * Portfolio Analytics Engine
123
+ * Analyzes token holdings with risk assessment and recommendations
124
+ */
125
+ export declare class PortfolioAnalytics extends EventEmitter {
126
+ private client;
127
+ constructor(client: SynapseClient);
128
+ /**
129
+ * Analyze wallet portfolio
130
+ */
131
+ analyzeWallet(walletAddress: string): Promise<PortfolioMetrics>;
132
+ /**
133
+ * Fetch token holdings for wallet
134
+ */
135
+ private fetchTokenHoldings;
136
+ /**
137
+ * Calculate portfolio risk score (0-100)
138
+ */
139
+ private calculateRiskScore;
140
+ /**
141
+ * Calculate diversification score (0-100)
142
+ */
143
+ private calculateDiversification;
144
+ /**
145
+ * Generate portfolio recommendations
146
+ */
147
+ private generateRecommendations;
148
+ }
149
+ export interface FlashLoanSimulation {
150
+ loanAmount: number;
151
+ tokenMint: string;
152
+ actions: FlashLoanAction[];
153
+ estimatedProfit: number;
154
+ estimatedCost: number;
155
+ netProfit: number;
156
+ success: boolean;
157
+ logs: string[];
158
+ }
159
+ export interface FlashLoanAction {
160
+ type: 'swap' | 'arbitrage' | 'liquidation';
161
+ description: string;
162
+ inputAmount: number;
163
+ outputAmount: number;
164
+ exchange?: string;
165
+ }
166
+ /**
167
+ * Flash Loan Simulator
168
+ * Simulates flash loan opportunities without execution
169
+ */
170
+ export declare class FlashLoanSimulator extends EventEmitter {
171
+ private client;
172
+ constructor(client: SynapseClient);
173
+ /**
174
+ * Simulate flash loan execution
175
+ */
176
+ simulate(options: {
177
+ loanAmount: number;
178
+ tokenMint: string;
179
+ actions: FlashLoanAction[];
180
+ }): Promise<FlashLoanSimulation>;
181
+ }
182
+ export interface YieldOpportunity {
183
+ protocol: string;
184
+ pool: string;
185
+ apy: number;
186
+ tvl: number;
187
+ tokens: string[];
188
+ risk: 'low' | 'medium' | 'high';
189
+ url?: string;
190
+ }
191
+ /**
192
+ * Yield Farming Finder
193
+ * Discovers high-yield farming opportunities across Solana protocols
194
+ */
195
+ export declare class YieldFarmingFinder extends EventEmitter {
196
+ private client;
197
+ constructor(client: SynapseClient);
198
+ /**
199
+ * Find yield farming opportunities
200
+ */
201
+ findOpportunities(options?: {
202
+ minAPY?: number;
203
+ maxRisk?: 'low' | 'medium' | 'high';
204
+ protocols?: string[];
205
+ }): Promise<YieldOpportunity[]>;
206
+ }
207
+ //# sourceMappingURL=unstable-features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unstable-features.d.ts","sourceRoot":"","sources":["../../../src/defi/unstable-features.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+ /**
3
+ * @file defi/advanced-features.ts
4
+ * @module SolanaDeFi
5
+ * @author Keepeeto
6
+ * @license MIT
7
+ * @description Advanced DeFi features: MEV protection, arbitrage detection, portfolio analytics,
8
+ * flash loan simulation, and yield farming opportunities.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.YieldFarmingFinder = exports.FlashLoanSimulator = exports.PortfolioAnalytics = exports.ArbitrageDetector = exports.MEVProtection = void 0;
12
+ const eventemitter3_1 = require("eventemitter3");
13
+ const types_1 = require("../types");
14
+ /**
15
+ * MEV Protection Engine
16
+ * Protects trades from sandwich attacks and front-running using Jito bundles
17
+ */
18
+ class MEVProtection extends eventemitter3_1.EventEmitter {
19
+ config;
20
+ constructor(config = {}) {
21
+ super();
22
+ this.config = {
23
+ enableJitoBundle: true,
24
+ jitoBlockEngineUrl: 'https://mainnet.block-engine.jito.wtf',
25
+ maxTipLamports: 10_000_000, // 0.01 SOL
26
+ enableSimulation: true,
27
+ slippageBps: 50, // 0.5%
28
+ ...config,
29
+ };
30
+ }
31
+ /**
32
+ * Protect a swap transaction from MEV
33
+ */
34
+ async protectSwap(txBase64, options) {
35
+ try {
36
+ this.emit('mev-protection-start', { txBase64 });
37
+ const result = {
38
+ protected: false,
39
+ };
40
+ // Step 1: Simulate transaction if enabled
41
+ if (this.config.enableSimulation && !options?.skipSimulation) {
42
+ const simulation = await this.simulateTransaction(txBase64);
43
+ result.simulation = simulation;
44
+ if (!simulation.success) {
45
+ throw new types_1.DeFiError('Transaction simulation failed', 'mev-protection');
46
+ }
47
+ }
48
+ // Step 2: Submit via Jito bundle if enabled
49
+ if (this.config.enableJitoBundle) {
50
+ const tipLamports = Math.min(options?.tipLamports || 1_000_000, this.config.maxTipLamports);
51
+ const bundleId = await this.submitJitoBundle(txBase64, tipLamports);
52
+ result.protected = true;
53
+ result.bundleId = bundleId;
54
+ result.tips = { jito: tipLamports };
55
+ }
56
+ this.emit('mev-protection-complete', result);
57
+ return result;
58
+ }
59
+ catch (error) {
60
+ this.emit('mev-protection-error', error);
61
+ throw new types_1.DeFiError(`MEV protection failed: ${error.message}`, 'mev-protection', undefined, error);
62
+ }
63
+ }
64
+ /**
65
+ * Simulate transaction
66
+ */
67
+ async simulateTransaction(txBase64) {
68
+ // Placeholder - integrate with Solana simulation
69
+ return {
70
+ success: true,
71
+ logs: [],
72
+ };
73
+ }
74
+ /**
75
+ * Submit transaction via Jito bundle
76
+ */
77
+ async submitJitoBundle(txBase64, tipLamports) {
78
+ try {
79
+ const response = await fetch(`${this.config.jitoBlockEngineUrl}/api/v1/bundles`, {
80
+ method: 'POST',
81
+ headers: { 'Content-Type': 'application/json' },
82
+ body: JSON.stringify({
83
+ jsonrpc: '2.0',
84
+ id: 1,
85
+ method: 'sendBundle',
86
+ params: [[txBase64]],
87
+ }),
88
+ });
89
+ if (!response.ok) {
90
+ throw new Error(`Jito bundle submission failed: ${response.status}`);
91
+ }
92
+ const data = await response.json();
93
+ return data.result || 'unknown';
94
+ }
95
+ catch (error) {
96
+ throw new types_1.DeFiError(`Jito bundle submission failed: ${error.message}`, 'mev-protection', undefined, error);
97
+ }
98
+ }
99
+ /**
100
+ * Estimate MEV risk for a transaction
101
+ */
102
+ async estimateMEVRisk(inputMint, outputMint, amount) {
103
+ // Simplified risk assessment
104
+ const volatilityScore = Math.random(); // Replace with real volatility data
105
+ let risk = 'low';
106
+ let estimatedLoss = 0;
107
+ let recommendation = 'Transaction appears safe';
108
+ if (volatilityScore > 0.7) {
109
+ risk = 'high';
110
+ estimatedLoss = amount * 0.05; // 5% potential loss
111
+ recommendation = 'Use Jito bundle for protection';
112
+ }
113
+ else if (volatilityScore > 0.4) {
114
+ risk = 'medium';
115
+ estimatedLoss = amount * 0.02; // 2% potential loss
116
+ recommendation = 'Consider MEV protection';
117
+ }
118
+ return { risk, estimatedLoss, recommendation };
119
+ }
120
+ }
121
+ exports.MEVProtection = MEVProtection;
122
+ /**
123
+ * Arbitrage Detection Engine
124
+ * Scans multiple DEXes for profitable arbitrage opportunities
125
+ */
126
+ class ArbitrageDetector extends eventemitter3_1.EventEmitter {
127
+ client;
128
+ scanInterval;
129
+ constructor(client) {
130
+ super();
131
+ this.client = client;
132
+ }
133
+ /**
134
+ * Find arbitrage opportunities between DEXes
135
+ */
136
+ async findOpportunities(options) {
137
+ try {
138
+ const minProfit = options?.minProfitPercent || 1.0;
139
+ const maxHops = options?.maxHops || 3;
140
+ this.emit('arbitrage-scan-start');
141
+ // Placeholder - integrate with actual DEX price feeds
142
+ const opportunities = [];
143
+ // Scan Jupiter, Raydium, Orca for price differences
144
+ // This is a simplified example
145
+ const mockOpportunities = [
146
+ {
147
+ path: ['SOL', 'USDC', 'SOL'],
148
+ profit: 0.5,
149
+ profitPercent: 2.5,
150
+ exchanges: ['Jupiter', 'Raydium'],
151
+ estimatedGas: 0.001,
152
+ netProfit: 0.499,
153
+ confidence: 0.85,
154
+ },
155
+ ];
156
+ const filtered = mockOpportunities.filter((opp) => opp.profitPercent >= minProfit);
157
+ this.emit('arbitrage-scan-complete', { found: filtered.length });
158
+ return filtered;
159
+ }
160
+ catch (error) {
161
+ this.emit('arbitrage-scan-error', error);
162
+ throw new types_1.DeFiError(`Arbitrage detection failed: ${error.message}`, 'arbitrage', undefined, error);
163
+ }
164
+ }
165
+ /**
166
+ * Start continuous arbitrage scanning
167
+ */
168
+ startScanning(intervalMs = 30000) {
169
+ if (this.scanInterval) {
170
+ clearInterval(this.scanInterval);
171
+ }
172
+ this.scanInterval = setInterval(async () => {
173
+ try {
174
+ const opportunities = await this.findOpportunities();
175
+ if (opportunities.length > 0) {
176
+ this.emit('arbitrage-found', opportunities);
177
+ }
178
+ }
179
+ catch (error) {
180
+ this.emit('arbitrage-scan-error', error);
181
+ }
182
+ }, intervalMs);
183
+ this.emit('scanning-started', { intervalMs });
184
+ }
185
+ /**
186
+ * Stop scanning
187
+ */
188
+ stopScanning() {
189
+ if (this.scanInterval) {
190
+ clearInterval(this.scanInterval);
191
+ this.scanInterval = undefined;
192
+ this.emit('scanning-stopped');
193
+ }
194
+ }
195
+ }
196
+ exports.ArbitrageDetector = ArbitrageDetector;
197
+ /**
198
+ * Portfolio Analytics Engine
199
+ * Analyzes token holdings with risk assessment and recommendations
200
+ */
201
+ class PortfolioAnalytics extends eventemitter3_1.EventEmitter {
202
+ client;
203
+ constructor(client) {
204
+ super();
205
+ this.client = client;
206
+ }
207
+ /**
208
+ * Analyze wallet portfolio
209
+ */
210
+ async analyzeWallet(walletAddress) {
211
+ try {
212
+ this.emit('portfolio-analysis-start', { wallet: walletAddress });
213
+ // Fetch token accounts
214
+ const holdings = await this.fetchTokenHoldings(walletAddress);
215
+ // Calculate metrics
216
+ const totalValue = holdings.reduce((sum, h) => sum + h.usdValue, 0);
217
+ const riskScore = this.calculateRiskScore(holdings);
218
+ const diversificationScore = this.calculateDiversification(holdings);
219
+ const metrics = {
220
+ totalValue,
221
+ holdings,
222
+ pnl24h: 0, // Placeholder - requires price history
223
+ pnl7d: 0,
224
+ pnl30d: 0,
225
+ riskScore,
226
+ diversificationScore,
227
+ topPerformers: holdings.slice(0, 5),
228
+ recommendations: this.generateRecommendations(holdings, riskScore),
229
+ };
230
+ this.emit('portfolio-analysis-complete', metrics);
231
+ return metrics;
232
+ }
233
+ catch (error) {
234
+ this.emit('portfolio-analysis-error', error);
235
+ throw new types_1.DeFiError(`Portfolio analysis failed: ${error.message}`, 'portfolio', undefined, error);
236
+ }
237
+ }
238
+ /**
239
+ * Fetch token holdings for wallet
240
+ */
241
+ async fetchTokenHoldings(walletAddress) {
242
+ // Placeholder - integrate with actual token account fetching
243
+ return [];
244
+ }
245
+ /**
246
+ * Calculate portfolio risk score (0-100)
247
+ */
248
+ calculateRiskScore(holdings) {
249
+ if (holdings.length === 0)
250
+ return 0;
251
+ // Simplified risk calculation
252
+ const concentrationRisk = holdings[0]?.allocation || 0;
253
+ const countRisk = Math.max(0, 50 - holdings.length * 5);
254
+ return Math.min(100, concentrationRisk + countRisk);
255
+ }
256
+ /**
257
+ * Calculate diversification score (0-100)
258
+ */
259
+ calculateDiversification(holdings) {
260
+ if (holdings.length === 0)
261
+ return 0;
262
+ const idealCount = 10;
263
+ const countScore = Math.min(100, (holdings.length / idealCount) * 70);
264
+ // Check allocation spread
265
+ const maxAllocation = Math.max(...holdings.map(h => h.allocation));
266
+ const spreadScore = (1 - maxAllocation / 100) * 30;
267
+ return Math.round(countScore + spreadScore);
268
+ }
269
+ /**
270
+ * Generate portfolio recommendations
271
+ */
272
+ generateRecommendations(holdings, riskScore) {
273
+ const recommendations = [];
274
+ if (riskScore > 70) {
275
+ recommendations.push('High risk detected - consider diversifying holdings');
276
+ }
277
+ if (holdings.length < 5) {
278
+ recommendations.push('Low diversification - consider adding more tokens');
279
+ }
280
+ if (holdings.length > 0 && holdings[0].allocation > 50) {
281
+ recommendations.push(`Concentrated in ${holdings[0].symbol} - reduce exposure`);
282
+ }
283
+ return recommendations;
284
+ }
285
+ }
286
+ exports.PortfolioAnalytics = PortfolioAnalytics;
287
+ /**
288
+ * Flash Loan Simulator
289
+ * Simulates flash loan opportunities without execution
290
+ */
291
+ class FlashLoanSimulator extends eventemitter3_1.EventEmitter {
292
+ client;
293
+ constructor(client) {
294
+ super();
295
+ this.client = client;
296
+ }
297
+ /**
298
+ * Simulate flash loan execution
299
+ */
300
+ async simulate(options) {
301
+ try {
302
+ this.emit('flash-loan-simulation-start', options);
303
+ const logs = [];
304
+ let currentAmount = options.loanAmount;
305
+ // Simulate each action
306
+ for (const action of options.actions) {
307
+ logs.push(`Executing ${action.type}: ${action.description}`);
308
+ currentAmount = action.outputAmount;
309
+ }
310
+ const estimatedCost = options.loanAmount * 0.0009; // 0.09% flash loan fee
311
+ const netProfit = currentAmount - options.loanAmount - estimatedCost;
312
+ const result = {
313
+ ...options,
314
+ estimatedProfit: currentAmount - options.loanAmount,
315
+ estimatedCost,
316
+ netProfit,
317
+ success: netProfit > 0,
318
+ logs,
319
+ };
320
+ this.emit('flash-loan-simulation-complete', result);
321
+ return result;
322
+ }
323
+ catch (error) {
324
+ throw new types_1.DeFiError(`Flash loan simulation failed: ${error.message}`, 'flash-loan', undefined, error);
325
+ }
326
+ }
327
+ }
328
+ exports.FlashLoanSimulator = FlashLoanSimulator;
329
+ /**
330
+ * Yield Farming Finder
331
+ * Discovers high-yield farming opportunities across Solana protocols
332
+ */
333
+ class YieldFarmingFinder extends eventemitter3_1.EventEmitter {
334
+ client;
335
+ constructor(client) {
336
+ super();
337
+ this.client = client;
338
+ }
339
+ /**
340
+ * Find yield farming opportunities
341
+ */
342
+ async findOpportunities(options) {
343
+ try {
344
+ this.emit('yield-search-start', options);
345
+ const minAPY = options?.minAPY || 10;
346
+ const maxRisk = options?.maxRisk || 'high';
347
+ // Placeholder - integrate with DeFi protocols APIs
348
+ const opportunities = [
349
+ {
350
+ protocol: 'Marinade',
351
+ pool: 'mSOL Staking',
352
+ apy: 7.5,
353
+ tvl: 1_500_000_000,
354
+ tokens: ['SOL'],
355
+ risk: 'low',
356
+ url: 'https://marinade.finance',
357
+ },
358
+ {
359
+ protocol: 'Orca',
360
+ pool: 'SOL/USDC Whirlpool',
361
+ apy: 25.3,
362
+ tvl: 50_000_000,
363
+ tokens: ['SOL', 'USDC'],
364
+ risk: 'medium',
365
+ url: 'https://orca.so',
366
+ },
367
+ ];
368
+ const riskLevels = { low: 1, medium: 2, high: 3 };
369
+ const maxRiskLevel = riskLevels[maxRisk];
370
+ const filtered = opportunities.filter((opp) => opp.apy >= minAPY && riskLevels[opp.risk] <= maxRiskLevel);
371
+ // Sort by APY descending
372
+ filtered.sort((a, b) => b.apy - a.apy);
373
+ this.emit('yield-search-complete', { found: filtered.length });
374
+ return filtered;
375
+ }
376
+ catch (error) {
377
+ throw new types_1.DeFiError(`Yield farming search failed: ${error.message}`, 'yield', undefined, error);
378
+ }
379
+ }
380
+ }
381
+ exports.YieldFarmingFinder = YieldFarmingFinder;
382
+ //# sourceMappingURL=unstable-features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unstable-features.js","sourceRoot":"","sources":["../../../src/defi/unstable-features.ts"],"names":[],"mappings":"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"}