@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,287 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SynapseClient = void 0;
4
+ const eventemitter3_1 = require("eventemitter3");
5
+ const types_1 = require("./types");
6
+ /**
7
+ * @name SynapseClient
8
+ * @description The core client for interacting with the Synapse RPC Gateway. This class handles all low-level communication with the gateway, including request serialization, response deserialization, and error handling.
9
+ * @author SteveTheHead
10
+ * @author 0xArmorer
11
+ * @constructor SynapseConfig
12
+ */
13
+ class SynapseClient extends eventemitter3_1.EventEmitter {
14
+ config;
15
+ requestId = 0;
16
+ stats;
17
+ constructor(config) {
18
+ super();
19
+ this.config = {
20
+ timeout: 30000,
21
+ debug: false,
22
+ ...config
23
+ };
24
+ this.stats = {
25
+ requestCount: 0,
26
+ errorCount: 0,
27
+ averageLatency: 0,
28
+ cacheHitRate: 0,
29
+ uptime: Date.now(),
30
+ activeConnections: 0,
31
+ pendingRequests: 0
32
+ };
33
+ if (this.config.debug) {
34
+ console.log('🚀 Synapse Client initialized:', this.config.endpoint);
35
+ }
36
+ }
37
+ /**
38
+ * Get endpoint URL
39
+ */
40
+ get endpoint() {
41
+ return this.config.endpoint;
42
+ }
43
+ /**
44
+ * Get API key
45
+ */
46
+ get apiKey() {
47
+ return this.config.apiKey;
48
+ }
49
+ /**
50
+ * Make a single RPC call
51
+ * Uses zero-copy operations, early returns, and minimal branching
52
+ */
53
+ async call(method, params = [], options = {}) {
54
+ // Fast path: increment stats inline (avoid function calls)
55
+ const id = ++this.requestId;
56
+ ++this.stats.pendingRequests;
57
+ ++this.stats.requestCount;
58
+ // Conditional debug only when needed
59
+ const startTime = this.config.debug ? performance.now() : 0;
60
+ if (this.config.debug) {
61
+ console.log(`${id} ${method}`, params.length > 0 ? params : '');
62
+ }
63
+ try {
64
+ // Single RPC call with rotation
65
+ const response = await this.sendRpcWithRotation(method, params, options);
66
+ // Fast path: check for error first (most common case is success)
67
+ if (!response.error) {
68
+ // Update stats inline for hot path
69
+ if (this.config.debug) {
70
+ const latency = performance.now() - startTime;
71
+ this.updateLatencyStats(latency);
72
+ console.log(`📥 [${id}] ✅ ${Math.round(latency)}ms`);
73
+ }
74
+ --this.stats.pendingRequests;
75
+ return response.result;
76
+ }
77
+ // Error path: build detailed error
78
+ ++this.stats.errorCount;
79
+ --this.stats.pendingRequests;
80
+ const err = new types_1.SynapseError(response.error.message, response.error.code, undefined);
81
+ // Attach upstream data if present
82
+ const data = response.error.data;
83
+ if (data && typeof data === 'object') {
84
+ err.data = data;
85
+ if (data.upstreamName)
86
+ err.upstreamName = data.upstreamName;
87
+ if (data.upstreamUrl)
88
+ err.upstreamUrl = data.upstreamUrl;
89
+ }
90
+ throw err;
91
+ }
92
+ catch (error) {
93
+ // Catch path: handle exceptions
94
+ ++this.stats.errorCount;
95
+ --this.stats.pendingRequests;
96
+ if (this.config.debug) {
97
+ const latency = performance.now() - startTime;
98
+ console.error(`[${id}] ${Math.round(latency)}ms`, error.message);
99
+ }
100
+ // Re-throw SynapseError as-is (avoid wrapping)
101
+ if (error instanceof types_1.SynapseError) {
102
+ throw error;
103
+ }
104
+ throw new types_1.NetworkError(`Request failed: ${error.message}`, error);
105
+ }
106
+ }
107
+ /**
108
+ * Send an RPC request with automatic upstream rotation on "method not allowed" errors.
109
+ */
110
+ async sendRpcWithRotation(method, params, options) {
111
+ const maxAttempts = Math.max(1, (options.maxRetries ?? 3));
112
+ let lastResponse = null;
113
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
114
+ const req = {
115
+ jsonrpc: '2.0',
116
+ id: ++this.requestId,
117
+ method,
118
+ params
119
+ };
120
+ const routeOptions = {
121
+ ...options,
122
+ routeHint: 'rotate',
123
+ routeIndex: attempt
124
+ };
125
+ const res = await this.makeHttpRequest(req, routeOptions);
126
+ // If batch somehow returned, surface error
127
+ if (Array.isArray(res)) {
128
+ throw new types_1.SynapseError('Expected single response but received batch', -32000);
129
+ }
130
+ // If result present, return immediately
131
+ if (!res.error)
132
+ return res;
133
+ // If method not allowed, try next attempt (rotate)
134
+ const msg = res.error.message?.toLowerCase?.() || '';
135
+ if (res.error.code === -32601 || msg.includes('method not allowed')) {
136
+ lastResponse = res;
137
+ continue;
138
+ }
139
+ // Other errors: return as-is
140
+ return res;
141
+ }
142
+ // Exhausted attempts; return last response (likely method not allowed)
143
+ if (lastResponse)
144
+ return lastResponse;
145
+ // Fallback: generic error
146
+ return { jsonrpc: '2.0', id: ++this.requestId, error: { code: -32000, message: 'Unknown error' } };
147
+ }
148
+ /**
149
+ * Make multiple RPC calls in batch
150
+ */
151
+ async batch(requests, options = {}) {
152
+ const batchRequest = requests.map((req, index) => ({
153
+ jsonrpc: '2.0',
154
+ id: ++this.requestId,
155
+ method: req.method,
156
+ params: req.params || []
157
+ }));
158
+ if (this.config.debug) {
159
+ console.log(`📦 Batch request: ${requests.length} methods`);
160
+ }
161
+ const response = await this.makeHttpRequest(batchRequest, options);
162
+ if (!Array.isArray(response)) {
163
+ throw new types_1.SynapseError('Invalid batch response format', -32000);
164
+ }
165
+ return response.map((res) => {
166
+ if (res.error) {
167
+ throw new types_1.SynapseError(res.error.message, res.error.code, res.error.data);
168
+ }
169
+ if (typeof res.result === 'undefined') {
170
+ throw new types_1.SynapseError('Batch response missing result', -32000);
171
+ }
172
+ return res.result;
173
+ });
174
+ }
175
+ /**
176
+ * Internal HTTP request handler
177
+ */
178
+ async makeHttpRequest(request, options) {
179
+ const timeout = options.timeout || this.config.timeout;
180
+ const controller = new AbortController();
181
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
182
+ try {
183
+ const response = await fetch(this.config.endpoint + '/rpc', {
184
+ method: 'POST',
185
+ headers: {
186
+ 'Content-Type': 'application/json',
187
+ 'X-API-Key': this.config.apiKey,
188
+ 'User-Agent': 'synapse-client-sdk/1.0.0',
189
+ ...(options.routeHint ? { 'X-Route-Hint': String(options.routeHint) } : {}),
190
+ ...(typeof options.routeIndex === 'number' ? { 'X-Route-Index': String(options.routeIndex) } : {})
191
+ },
192
+ body: JSON.stringify(request),
193
+ signal: controller.signal
194
+ });
195
+ if (!response.ok) {
196
+ throw new types_1.NetworkError(`HTTP ${response.status}: ${response.statusText}`);
197
+ }
198
+ const data = await response.json();
199
+ // Check for cache hit header
200
+ const cacheHit = response.headers.get('x-cache-status') === 'hit';
201
+ if (cacheHit) {
202
+ this.stats.cacheHitRate = (this.stats.cacheHitRate + 1) / 2; // Simple moving average
203
+ }
204
+ return data;
205
+ }
206
+ finally {
207
+ clearTimeout(timeoutId);
208
+ }
209
+ }
210
+ /**
211
+ * Get a signature for a given address and message.
212
+ * @param address The base-58 encoded account address (required).
213
+ * @param options Optional configuration object:
214
+ * - commitment: string
215
+ * - minContextSlot: number
216
+ * - limit: number
217
+ * - before: string
218
+ * - until: string
219
+ * @returns The signature info array.
220
+ */
221
+ async getSignatureForAddress(address, options) {
222
+ const params = address;
223
+ return await this.call('getSignatureForAddress', params);
224
+ }
225
+ /**
226
+ * Update latency statistics
227
+ */
228
+ updateLatencyStats(latency) {
229
+ // Exponential moving average
230
+ const alpha = 0.1;
231
+ this.stats.averageLatency = this.stats.averageLatency * (1 - alpha) + latency * alpha;
232
+ }
233
+ /**
234
+ * Get client statistics
235
+ */
236
+ getStats() {
237
+ return {
238
+ ...this.stats,
239
+ uptime: Date.now() - this.stats.uptime
240
+ };
241
+ }
242
+ /**
243
+ * Reset statistics
244
+ */
245
+ resetStats() {
246
+ this.stats = {
247
+ requestCount: 0,
248
+ errorCount: 0,
249
+ averageLatency: 0,
250
+ cacheHitRate: 0,
251
+ uptime: Date.now(),
252
+ activeConnections: 0,
253
+ pendingRequests: 0
254
+ };
255
+ }
256
+ /**
257
+ * Health check
258
+ */
259
+ async healthCheck() {
260
+ try {
261
+ const response = await fetch(this.config.endpoint + '/health', {
262
+ headers: { 'X-API-Key': this.config.apiKey }
263
+ });
264
+ if (!response.ok)
265
+ return false;
266
+ const data = await response.json();
267
+ return data.status === 'healthy';
268
+ }
269
+ catch {
270
+ return false;
271
+ }
272
+ }
273
+ /**
274
+ * Get gateway performance metrics
275
+ */
276
+ async getGatewayMetrics() {
277
+ const response = await fetch(this.config.endpoint + '/performance', {
278
+ headers: { 'X-API-Key': this.config.apiKey }
279
+ });
280
+ if (!response.ok) {
281
+ throw new types_1.NetworkError(`Failed to get metrics: HTTP ${response.status}`);
282
+ }
283
+ return await response.json();
284
+ }
285
+ }
286
+ exports.SynapseClient = SynapseClient;
287
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -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=advanced-features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-features.d.ts","sourceRoot":"","sources":["../../../src/defi/advanced-features.ts"],"names":[],"mappings":"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"}