@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,374 @@
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 { DeFiError } from '../types.js';
11
+ /**
12
+ * MEV Protection Engine
13
+ * Protects trades from sandwich attacks and front-running using Jito bundles
14
+ */
15
+ export class MEVProtection extends EventEmitter {
16
+ config;
17
+ constructor(config = {}) {
18
+ super();
19
+ this.config = {
20
+ enableJitoBundle: true,
21
+ jitoBlockEngineUrl: 'https://mainnet.block-engine.jito.wtf',
22
+ maxTipLamports: 10_000_000, // 0.01 SOL
23
+ enableSimulation: true,
24
+ slippageBps: 50, // 0.5%
25
+ ...config,
26
+ };
27
+ }
28
+ /**
29
+ * Protect a swap transaction from MEV
30
+ */
31
+ async protectSwap(txBase64, options) {
32
+ try {
33
+ this.emit('mev-protection-start', { txBase64 });
34
+ const result = {
35
+ protected: false,
36
+ };
37
+ // Step 1: Simulate transaction if enabled
38
+ if (this.config.enableSimulation && !options?.skipSimulation) {
39
+ const simulation = await this.simulateTransaction(txBase64);
40
+ result.simulation = simulation;
41
+ if (!simulation.success) {
42
+ throw new DeFiError('Transaction simulation failed', 'mev-protection');
43
+ }
44
+ }
45
+ // Step 2: Submit via Jito bundle if enabled
46
+ if (this.config.enableJitoBundle) {
47
+ const tipLamports = Math.min(options?.tipLamports || 1_000_000, this.config.maxTipLamports);
48
+ const bundleId = await this.submitJitoBundle(txBase64, tipLamports);
49
+ result.protected = true;
50
+ result.bundleId = bundleId;
51
+ result.tips = { jito: tipLamports };
52
+ }
53
+ this.emit('mev-protection-complete', result);
54
+ return result;
55
+ }
56
+ catch (error) {
57
+ this.emit('mev-protection-error', error);
58
+ throw new DeFiError(`MEV protection failed: ${error.message}`, 'mev-protection', undefined, error);
59
+ }
60
+ }
61
+ /**
62
+ * Simulate transaction
63
+ */
64
+ async simulateTransaction(txBase64) {
65
+ // Placeholder - integrate with Solana simulation
66
+ return {
67
+ success: true,
68
+ logs: [],
69
+ };
70
+ }
71
+ /**
72
+ * Submit transaction via Jito bundle
73
+ */
74
+ async submitJitoBundle(txBase64, tipLamports) {
75
+ try {
76
+ const response = await fetch(`${this.config.jitoBlockEngineUrl}/api/v1/bundles`, {
77
+ method: 'POST',
78
+ headers: { 'Content-Type': 'application/json' },
79
+ body: JSON.stringify({
80
+ jsonrpc: '2.0',
81
+ id: 1,
82
+ method: 'sendBundle',
83
+ params: [[txBase64]],
84
+ }),
85
+ });
86
+ if (!response.ok) {
87
+ throw new Error(`Jito bundle submission failed: ${response.status}`);
88
+ }
89
+ const data = await response.json();
90
+ return data.result || 'unknown';
91
+ }
92
+ catch (error) {
93
+ throw new DeFiError(`Jito bundle submission failed: ${error.message}`, 'mev-protection', undefined, error);
94
+ }
95
+ }
96
+ /**
97
+ * Estimate MEV risk for a transaction
98
+ */
99
+ async estimateMEVRisk(inputMint, outputMint, amount) {
100
+ // Simplified risk assessment
101
+ const volatilityScore = Math.random(); // Replace with real volatility data
102
+ let risk = 'low';
103
+ let estimatedLoss = 0;
104
+ let recommendation = 'Transaction appears safe';
105
+ if (volatilityScore > 0.7) {
106
+ risk = 'high';
107
+ estimatedLoss = amount * 0.05; // 5% potential loss
108
+ recommendation = 'Use Jito bundle for protection';
109
+ }
110
+ else if (volatilityScore > 0.4) {
111
+ risk = 'medium';
112
+ estimatedLoss = amount * 0.02; // 2% potential loss
113
+ recommendation = 'Consider MEV protection';
114
+ }
115
+ return { risk, estimatedLoss, recommendation };
116
+ }
117
+ }
118
+ /**
119
+ * Arbitrage Detection Engine
120
+ * Scans multiple DEXes for profitable arbitrage opportunities
121
+ */
122
+ export class ArbitrageDetector extends EventEmitter {
123
+ client;
124
+ scanInterval;
125
+ constructor(client) {
126
+ super();
127
+ this.client = client;
128
+ }
129
+ /**
130
+ * Find arbitrage opportunities between DEXes
131
+ */
132
+ async findOpportunities(options) {
133
+ try {
134
+ const minProfit = options?.minProfitPercent || 1.0;
135
+ const maxHops = options?.maxHops || 3;
136
+ this.emit('arbitrage-scan-start');
137
+ // Placeholder - integrate with actual DEX price feeds
138
+ const opportunities = [];
139
+ // Scan Jupiter, Raydium, Orca for price differences
140
+ // This is a simplified example
141
+ const mockOpportunities = [
142
+ {
143
+ path: ['SOL', 'USDC', 'SOL'],
144
+ profit: 0.5,
145
+ profitPercent: 2.5,
146
+ exchanges: ['Jupiter', 'Raydium'],
147
+ estimatedGas: 0.001,
148
+ netProfit: 0.499,
149
+ confidence: 0.85,
150
+ },
151
+ ];
152
+ const filtered = mockOpportunities.filter((opp) => opp.profitPercent >= minProfit);
153
+ this.emit('arbitrage-scan-complete', { found: filtered.length });
154
+ return filtered;
155
+ }
156
+ catch (error) {
157
+ this.emit('arbitrage-scan-error', error);
158
+ throw new DeFiError(`Arbitrage detection failed: ${error.message}`, 'arbitrage', undefined, error);
159
+ }
160
+ }
161
+ /**
162
+ * Start continuous arbitrage scanning
163
+ */
164
+ startScanning(intervalMs = 30000) {
165
+ if (this.scanInterval) {
166
+ clearInterval(this.scanInterval);
167
+ }
168
+ this.scanInterval = setInterval(async () => {
169
+ try {
170
+ const opportunities = await this.findOpportunities();
171
+ if (opportunities.length > 0) {
172
+ this.emit('arbitrage-found', opportunities);
173
+ }
174
+ }
175
+ catch (error) {
176
+ this.emit('arbitrage-scan-error', error);
177
+ }
178
+ }, intervalMs);
179
+ this.emit('scanning-started', { intervalMs });
180
+ }
181
+ /**
182
+ * Stop scanning
183
+ */
184
+ stopScanning() {
185
+ if (this.scanInterval) {
186
+ clearInterval(this.scanInterval);
187
+ this.scanInterval = undefined;
188
+ this.emit('scanning-stopped');
189
+ }
190
+ }
191
+ }
192
+ /**
193
+ * Portfolio Analytics Engine
194
+ * Analyzes token holdings with risk assessment and recommendations
195
+ */
196
+ export class PortfolioAnalytics extends EventEmitter {
197
+ client;
198
+ constructor(client) {
199
+ super();
200
+ this.client = client;
201
+ }
202
+ /**
203
+ * Analyze wallet portfolio
204
+ */
205
+ async analyzeWallet(walletAddress) {
206
+ try {
207
+ this.emit('portfolio-analysis-start', { wallet: walletAddress });
208
+ // Fetch token accounts
209
+ const holdings = await this.fetchTokenHoldings(walletAddress);
210
+ // Calculate metrics
211
+ const totalValue = holdings.reduce((sum, h) => sum + h.usdValue, 0);
212
+ const riskScore = this.calculateRiskScore(holdings);
213
+ const diversificationScore = this.calculateDiversification(holdings);
214
+ const metrics = {
215
+ totalValue,
216
+ holdings,
217
+ pnl24h: 0, // Placeholder - requires price history
218
+ pnl7d: 0,
219
+ pnl30d: 0,
220
+ riskScore,
221
+ diversificationScore,
222
+ topPerformers: holdings.slice(0, 5),
223
+ recommendations: this.generateRecommendations(holdings, riskScore),
224
+ };
225
+ this.emit('portfolio-analysis-complete', metrics);
226
+ return metrics;
227
+ }
228
+ catch (error) {
229
+ this.emit('portfolio-analysis-error', error);
230
+ throw new DeFiError(`Portfolio analysis failed: ${error.message}`, 'portfolio', undefined, error);
231
+ }
232
+ }
233
+ /**
234
+ * Fetch token holdings for wallet
235
+ */
236
+ async fetchTokenHoldings(walletAddress) {
237
+ // Placeholder - integrate with actual token account fetching
238
+ return [];
239
+ }
240
+ /**
241
+ * Calculate portfolio risk score (0-100)
242
+ */
243
+ calculateRiskScore(holdings) {
244
+ if (holdings.length === 0)
245
+ return 0;
246
+ // Simplified risk calculation
247
+ const concentrationRisk = holdings[0]?.allocation || 0;
248
+ const countRisk = Math.max(0, 50 - holdings.length * 5);
249
+ return Math.min(100, concentrationRisk + countRisk);
250
+ }
251
+ /**
252
+ * Calculate diversification score (0-100)
253
+ */
254
+ calculateDiversification(holdings) {
255
+ if (holdings.length === 0)
256
+ return 0;
257
+ const idealCount = 10;
258
+ const countScore = Math.min(100, (holdings.length / idealCount) * 70);
259
+ // Check allocation spread
260
+ const maxAllocation = Math.max(...holdings.map(h => h.allocation));
261
+ const spreadScore = (1 - maxAllocation / 100) * 30;
262
+ return Math.round(countScore + spreadScore);
263
+ }
264
+ /**
265
+ * Generate portfolio recommendations
266
+ */
267
+ generateRecommendations(holdings, riskScore) {
268
+ const recommendations = [];
269
+ if (riskScore > 70) {
270
+ recommendations.push('High risk detected - consider diversifying holdings');
271
+ }
272
+ if (holdings.length < 5) {
273
+ recommendations.push('Low diversification - consider adding more tokens');
274
+ }
275
+ if (holdings.length > 0 && holdings[0].allocation > 50) {
276
+ recommendations.push(`Concentrated in ${holdings[0].symbol} - reduce exposure`);
277
+ }
278
+ return recommendations;
279
+ }
280
+ }
281
+ /**
282
+ * Flash Loan Simulator
283
+ * Simulates flash loan opportunities without execution
284
+ */
285
+ export class FlashLoanSimulator extends EventEmitter {
286
+ client;
287
+ constructor(client) {
288
+ super();
289
+ this.client = client;
290
+ }
291
+ /**
292
+ * Simulate flash loan execution
293
+ */
294
+ async simulate(options) {
295
+ try {
296
+ this.emit('flash-loan-simulation-start', options);
297
+ const logs = [];
298
+ let currentAmount = options.loanAmount;
299
+ // Simulate each action
300
+ for (const action of options.actions) {
301
+ logs.push(`Executing ${action.type}: ${action.description}`);
302
+ currentAmount = action.outputAmount;
303
+ }
304
+ const estimatedCost = options.loanAmount * 0.0009; // 0.09% flash loan fee
305
+ const netProfit = currentAmount - options.loanAmount - estimatedCost;
306
+ const result = {
307
+ ...options,
308
+ estimatedProfit: currentAmount - options.loanAmount,
309
+ estimatedCost,
310
+ netProfit,
311
+ success: netProfit > 0,
312
+ logs,
313
+ };
314
+ this.emit('flash-loan-simulation-complete', result);
315
+ return result;
316
+ }
317
+ catch (error) {
318
+ throw new DeFiError(`Flash loan simulation failed: ${error.message}`, 'flash-loan', undefined, error);
319
+ }
320
+ }
321
+ }
322
+ /**
323
+ * Yield Farming Finder
324
+ * Discovers high-yield farming opportunities across Solana protocols
325
+ */
326
+ export class YieldFarmingFinder extends EventEmitter {
327
+ client;
328
+ constructor(client) {
329
+ super();
330
+ this.client = client;
331
+ }
332
+ /**
333
+ * Find yield farming opportunities
334
+ */
335
+ async findOpportunities(options) {
336
+ try {
337
+ this.emit('yield-search-start', options);
338
+ const minAPY = options?.minAPY || 10;
339
+ const maxRisk = options?.maxRisk || 'high';
340
+ // Placeholder - integrate with DeFi protocols APIs
341
+ const opportunities = [
342
+ {
343
+ protocol: 'Marinade',
344
+ pool: 'mSOL Staking',
345
+ apy: 7.5,
346
+ tvl: 1_500_000_000,
347
+ tokens: ['SOL'],
348
+ risk: 'low',
349
+ url: 'https://marinade.finance',
350
+ },
351
+ {
352
+ protocol: 'Orca',
353
+ pool: 'SOL/USDC Whirlpool',
354
+ apy: 25.3,
355
+ tvl: 50_000_000,
356
+ tokens: ['SOL', 'USDC'],
357
+ risk: 'medium',
358
+ url: 'https://orca.so',
359
+ },
360
+ ];
361
+ const riskLevels = { low: 1, medium: 2, high: 3 };
362
+ const maxRiskLevel = riskLevels[maxRisk];
363
+ const filtered = opportunities.filter((opp) => opp.apy >= minAPY && riskLevels[opp.risk] <= maxRiskLevel);
364
+ // Sort by APY descending
365
+ filtered.sort((a, b) => b.apy - a.apy);
366
+ this.emit('yield-search-complete', { found: filtered.length });
367
+ return filtered;
368
+ }
369
+ catch (error) {
370
+ throw new DeFiError(`Yield farming search failed: ${error.message}`, 'yield', undefined, error);
371
+ }
372
+ }
373
+ }
374
+ //# 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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"}