@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,412 @@
1
+ "use strict";
2
+ /**
3
+ * Zero Combine Fetcher - Synapse SDK Implementation
4
+ *
5
+ * Professional implementation of the OOBE Protocol's ZeroCombine pattern for
6
+ * fetching and reconstructing large transaction datasets split across multiple
7
+ * on-chain memo chunks. Uses Synapse SDK's batch capabilities for efficiency.
8
+ *
9
+ * @module ZeroCombineFetcher
10
+ * @author SteveTheHead
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ZeroCombineFetcher = void 0;
14
+ const pda_manager_1 = require("./pda-manager");
15
+ /**
16
+ * ZeroCombineFetcher - fetches and reconstructs large transaction datasets
17
+ *
18
+ * This class implements the OOBE Protocol pattern for storing large data on-chain
19
+ * by splitting it across multiple memo transactions and linking them via signatures.
20
+ * Uses Synapse SDK's efficient batching for optimal performance.
21
+ */
22
+ class ZeroCombineFetcher {
23
+ client;
24
+ pdaManager;
25
+ config;
26
+ /**
27
+ * Create a new ZeroCombineFetcher instance
28
+ * @param client - Synapse client for RPC calls
29
+ * @param walletAddress - User wallet address
30
+ * @param fetchConfig - Optional fetch configuration
31
+ */
32
+ constructor(client, walletAddress, fetchConfig) {
33
+ this.client = client;
34
+ this.pdaManager = new pda_manager_1.PDAManager(client, walletAddress);
35
+ this.config = {
36
+ batchSize: 100,
37
+ delayMs: 2000,
38
+ maxRetries: 3,
39
+ retryDelayMs: 1000,
40
+ ...fetchConfig,
41
+ };
42
+ }
43
+ /**
44
+ * Execute the full fetch and reconstruction process
45
+ * @param pdas - Optional custom PDAs (if null, will derive from wallet)
46
+ * @returns ZeroCombineResult with all reconstructed proof records
47
+ */
48
+ async execute(pdas) {
49
+ // Get or use provided PDAs
50
+ const userPDAs = pdas || this.pdaManager.getUserPDAs();
51
+ // Fetch root transactions
52
+ const rootTransactions = await this.getRootTransactions(userPDAs.rootPDA);
53
+ if (rootTransactions.length === 0) {
54
+ throw new Error('No transactions found in Root PDA');
55
+ }
56
+ // Fetch and structure DB transactions
57
+ const { zeroTransactions, allDbTransactions } = await this.getDbTransactions(userPDAs.leafPDA, rootTransactions);
58
+ // Process in batches
59
+ const allProofRecords = [];
60
+ for (let i = 0; i < zeroTransactions.length; i += this.config.batchSize) {
61
+ const batch = zeroTransactions.slice(i, i + this.config.batchSize);
62
+ // Fetch first chunk content for batch
63
+ const withFirstChunk = await this.fetchFirstChunkBatch(batch, allDbTransactions);
64
+ // Resolve all memo chunks
65
+ const fullRecords = await this.resolveMemoChunksBatch(withFirstChunk, allDbTransactions);
66
+ allProofRecords.push(...fullRecords);
67
+ // Delay between batches to avoid rate limiting
68
+ if (i + this.config.batchSize < zeroTransactions.length) {
69
+ await this.sleep(this.config.delayMs);
70
+ }
71
+ }
72
+ return {
73
+ tools: allProofRecords,
74
+ };
75
+ }
76
+ /**
77
+ * Fetch all transactions from Root PDA
78
+ * Root PDA contains merkle roots and proof signatures
79
+ * Uses optimized batch fetching for maximum performance
80
+ * @param rootPDA - Root PDA public key
81
+ * @returns Array of signature info with decoded memos
82
+ */
83
+ async getRootTransactions(rootPDA) {
84
+ const signatures = [];
85
+ let lastSignature = null;
86
+ // Paginate through all transactions using getSignaturesForAddress
87
+ while (true) {
88
+ const batch = await this.client.call('getSignaturesForAddress', [
89
+ rootPDA.toBase58(),
90
+ {
91
+ limit: 1000,
92
+ before: lastSignature || undefined,
93
+ },
94
+ ]);
95
+ if (batch.length === 0)
96
+ break;
97
+ // Process batch: fetch transaction details for all signatures in parallel
98
+ const txRequests = batch.map((sig) => ({
99
+ method: 'getTransaction',
100
+ params: [sig.signature, { encoding: 'json', maxSupportedTransactionVersion: 0 }],
101
+ }));
102
+ const txDetails = await this.client.batch(txRequests);
103
+ // Extract and decode memos from transaction details
104
+ const valid = batch
105
+ .map((sig, index) => {
106
+ const tx = txDetails[index];
107
+ const memo = this.extractMemoFromTransaction(tx);
108
+ return {
109
+ signature: sig.signature,
110
+ slot: sig.slot,
111
+ blockTime: sig.blockTime,
112
+ memo: memo ? this.decodeMemo(memo) : null,
113
+ err: sig.err,
114
+ confirmationStatus: sig.confirmationStatus,
115
+ };
116
+ })
117
+ .filter((sig) => sig.signature && sig.memo);
118
+ signatures.push(...valid);
119
+ lastSignature = batch[batch.length - 1].signature;
120
+ if (batch.length < 1000)
121
+ break;
122
+ // Small delay to avoid rate limiting (use configured delay)
123
+ await this.sleep(this.config.delayMs || 500);
124
+ }
125
+ return signatures;
126
+ }
127
+ /**
128
+ * Fetch and structure transactions from DB/Leaf PDA
129
+ * Uses optimized batch fetching for maximum performance
130
+ * @param leafPDA - Leaf PDA public key
131
+ * @param rootTransactions - Root transactions to match against
132
+ * @returns Zero transactions and all DB transactions
133
+ */
134
+ async getDbTransactions(leafPDA, rootTransactions) {
135
+ // Fetch all DB transactions with batch optimization
136
+ const allDbTransactions = [];
137
+ let lastSignature = null;
138
+ while (true) {
139
+ const batch = await this.client.call('getSignaturesForAddress', [
140
+ leafPDA.toBase58(),
141
+ {
142
+ limit: 1000,
143
+ before: lastSignature || undefined,
144
+ },
145
+ ]);
146
+ if (batch.length === 0)
147
+ break;
148
+ // Batch fetch transaction details for all signatures
149
+ const txRequests = batch.map((sig) => ({
150
+ method: 'getTransaction',
151
+ params: [sig.signature, { encoding: 'json', maxSupportedTransactionVersion: 0 }],
152
+ }));
153
+ const txDetails = await this.client.batch(txRequests);
154
+ // Extract memos and build signature info
155
+ const valid = batch
156
+ .map((sig, index) => {
157
+ const tx = txDetails[index];
158
+ const memo = this.extractMemoFromTransaction(tx);
159
+ return {
160
+ signature: sig.signature,
161
+ slot: sig.slot,
162
+ blockTime: sig.blockTime,
163
+ memo: memo ? this.decodeMemo(memo) : null,
164
+ err: sig.err,
165
+ };
166
+ })
167
+ .filter((sig) => sig.signature && sig.memo);
168
+ allDbTransactions.push(...valid);
169
+ lastSignature = batch[batch.length - 1].signature;
170
+ if (batch.length < 1000)
171
+ break;
172
+ // Small delay to avoid rate limiting (use configured delay)
173
+ await this.sleep(this.config.delayMs || 500);
174
+ }
175
+ // Filter zero chunk transactions (128 bytes: 64+64+64)
176
+ const zeroTransactions = allDbTransactions
177
+ .filter((sig) => {
178
+ if (!sig.memo)
179
+ return false;
180
+ const cleaned = sig.memo.replace(/\[\\d+\]\s*/, '').replace(/\\|\s+/g, '');
181
+ const parts = cleaned.split('|');
182
+ return (parts.length === 3 &&
183
+ parts[0].length === 64 &&
184
+ parts[1].length === 64 &&
185
+ parts[2].length >= 64);
186
+ })
187
+ .map((sig) => {
188
+ const parts = sig.memo.split('|');
189
+ return {
190
+ signature: sig.signature,
191
+ slot: sig.slot,
192
+ memo: {
193
+ leaf1: parts[0],
194
+ leaf2: parts[1],
195
+ prevSign: parts[2],
196
+ },
197
+ };
198
+ });
199
+ // Match zero transactions with root transactions
200
+ const matched = [];
201
+ for (const rootTx of rootTransactions) {
202
+ if (!rootTx.memo)
203
+ continue;
204
+ let rootMemo;
205
+ try {
206
+ rootMemo = JSON.parse(rootTx.memo);
207
+ }
208
+ catch {
209
+ continue;
210
+ }
211
+ if (!rootMemo.proofSignature)
212
+ continue;
213
+ const matchingZero = zeroTransactions.find((zero) => zero.signature === rootMemo.proofSignature);
214
+ if (matchingZero) {
215
+ matched.push({
216
+ root: rootMemo.root,
217
+ proofSignature: rootMemo.proofSignature,
218
+ transaction: matchingZero,
219
+ });
220
+ }
221
+ }
222
+ return { zeroTransactions: matched, allDbTransactions };
223
+ }
224
+ /**
225
+ * Fetch first chunk content for a batch of transactions
226
+ * @param batch - Batch of transactions to process
227
+ * @param allTransactions - All DB transactions for lookup
228
+ * @returns Transactions enriched with first chunk content
229
+ */
230
+ async fetchFirstChunkBatch(batch, allTransactions) {
231
+ return await Promise.all(batch.map(async (tx) => {
232
+ const firstSignature = tx.transaction.memo.prevSign;
233
+ const firstTx = allTransactions.find((t) => t.signature === firstSignature);
234
+ if (!firstTx || !firstTx.memo) {
235
+ return { ...tx, firstChunkContent: null };
236
+ }
237
+ let memo = firstTx.memo;
238
+ if (!memo.includes('|')) {
239
+ memo = `single|${memo}`;
240
+ }
241
+ const parts = memo.split('|');
242
+ return {
243
+ ...tx,
244
+ firstChunkContent: {
245
+ prev_chunk_sign: parts[0],
246
+ content: parts.slice(1).join('|').replace(/\\+/g, '').replace(/^"|"$/g, ''),
247
+ },
248
+ };
249
+ }));
250
+ }
251
+ /**
252
+ * Resolve all memo chunks by following prev_chunk_sign links
253
+ * @param transactions - Transactions with first chunk
254
+ * @param allTransactions - All DB transactions for lookup
255
+ * @returns Complete proof records with all chunks resolved
256
+ */
257
+ async resolveMemoChunksBatch(transactions, allTransactions) {
258
+ return await Promise.all(transactions.map(async (tx) => {
259
+ if (!tx.firstChunkContent)
260
+ return null;
261
+ const { prev_chunk_sign, content } = tx.firstChunkContent;
262
+ const chunks = [{ prev_chunk_sign, content }];
263
+ let prevSign = prev_chunk_sign;
264
+ // Follow the chain of previous signatures
265
+ while (prevSign && prevSign !== 'single') {
266
+ const prevTx = allTransactions.find((t) => t.signature === prevSign);
267
+ if (!prevTx || !prevTx.memo)
268
+ break;
269
+ let memo = prevTx.memo;
270
+ if (!memo.includes('|')) {
271
+ memo = `single|${memo}`;
272
+ }
273
+ const parts = memo.split('|');
274
+ const chunkData = {
275
+ prev_chunk_sign: parts[0],
276
+ content: parts.slice(1).join('|').replace(/\\+/g, '').replace(/^"|"$/g, ''),
277
+ };
278
+ chunks.push(chunkData);
279
+ prevSign = chunkData.prev_chunk_sign;
280
+ }
281
+ // Reconstruct final content
282
+ const finalContent = chunks
283
+ .reverse()
284
+ .map((c) => c.content)
285
+ .join('');
286
+ const cycledContent = [
287
+ { result: finalContent },
288
+ {
289
+ leaf1: tx.transaction.memo.leaf1,
290
+ leaf2: tx.transaction.memo.leaf2,
291
+ prevSign: tx.transaction.memo.prevSign,
292
+ },
293
+ ...chunks,
294
+ ];
295
+ return {
296
+ root: tx.root,
297
+ proofSignature: tx.proofSignature,
298
+ transaction: tx.transaction,
299
+ firstChunkContent: tx.firstChunkContent,
300
+ cycledContent,
301
+ };
302
+ })).then((records) => records.filter((r) => r !== null));
303
+ }
304
+ /**
305
+ * Extract memo from transaction details
306
+ * @param tx - Transaction object
307
+ * @returns Memo string or null
308
+ */
309
+ extractMemoFromTransaction(tx) {
310
+ if (!tx || !tx.transaction)
311
+ return null;
312
+ try {
313
+ // Look for memo program in instructions
314
+ const instructions = tx.transaction.message?.instructions || [];
315
+ const memoInstruction = instructions.find((ix) => ix.programId === 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr' ||
316
+ ix.program === 'spl-memo');
317
+ if (memoInstruction && memoInstruction.data) {
318
+ return memoInstruction.data;
319
+ }
320
+ // Fallback: check meta.logMessages for memo
321
+ const logs = tx.meta?.logMessages || [];
322
+ for (const log of logs) {
323
+ if (log.startsWith('Program log: Memo (len')) {
324
+ const match = log.match(/: "(.+)"$/);
325
+ if (match)
326
+ return match[1];
327
+ }
328
+ }
329
+ return null;
330
+ }
331
+ catch {
332
+ return null;
333
+ }
334
+ }
335
+ /**
336
+ * Decode memo from base64 or raw string
337
+ * @param memo - Memo to decode
338
+ * @returns Decoded memo string
339
+ */
340
+ decodeMemo(memo) {
341
+ try {
342
+ // Try base64 decode
343
+ return Buffer.from(memo, 'base64').toString('utf-8');
344
+ }
345
+ catch {
346
+ // Return as-is if not base64
347
+ return memo;
348
+ }
349
+ }
350
+ /**
351
+ * Sleep utility for batch delays
352
+ * @param ms - Milliseconds to sleep
353
+ */
354
+ sleep(ms) {
355
+ return new Promise((resolve) => setTimeout(resolve, ms));
356
+ }
357
+ /**
358
+ * Get PDA manager instance (for advanced usage)
359
+ */
360
+ getPDAManager() {
361
+ return this.pdaManager;
362
+ }
363
+ /**
364
+ * Get batch configuration
365
+ */
366
+ getBatchConfig() {
367
+ return { ...this.config };
368
+ }
369
+ /**
370
+ * Update batch configuration
371
+ */
372
+ updateBatchConfig(config) {
373
+ this.config = { ...this.config, ...config };
374
+ }
375
+ /**
376
+ * Batch fetch multiple proof records for different wallets
377
+ * Uses optimized batching for parallel fetching
378
+ * @param walletAddresses - Array of wallet addresses to fetch for
379
+ * @returns Map of wallet address to their proof records
380
+ */
381
+ async batchExecuteForWallets(walletAddresses) {
382
+ const results = new Map();
383
+ const batchSize = this.config.batchSize || 10;
384
+ // Process wallets in batches
385
+ for (let i = 0; i < walletAddresses.length; i += batchSize) {
386
+ const batch = walletAddresses.slice(i, i + batchSize);
387
+ // Fetch in parallel within batch
388
+ const batchResults = await Promise.all(batch.map(async (address) => {
389
+ try {
390
+ const pdaManager = new pda_manager_1.PDAManager(this.client, address);
391
+ const pdas = pdaManager.getUserPDAs();
392
+ const result = await this.execute(pdas);
393
+ return { address, result };
394
+ }
395
+ catch (error) {
396
+ return { address, result: { tools: [] } };
397
+ }
398
+ }));
399
+ // Store results
400
+ batchResults.forEach(({ address, result }) => {
401
+ results.set(address, result);
402
+ });
403
+ // Delay between batches
404
+ if (i + batchSize < walletAddresses.length) {
405
+ await this.sleep(this.config.delayMs || 2000);
406
+ }
407
+ }
408
+ return results;
409
+ }
410
+ }
411
+ exports.ZeroCombineFetcher = ZeroCombineFetcher;
412
+ //# sourceMappingURL=zero-combine-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zero-combine-fetcher.js","sourceRoot":"","sources":["../../../src/ai/zero-combine-fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { EventEmitter } from 'eventemitter3';
2
+ import { SynapseConfig, RequestOptions, ClientStats } from './types';
3
+ import { SignatureInfo } from './ai';
4
+ /**
5
+ * @name SynapseClient
6
+ * @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.
7
+ * @author SteveTheHead
8
+ * @author 0xArmorer
9
+ * @constructor SynapseConfig
10
+ */
11
+ export declare class SynapseClient extends EventEmitter {
12
+ private config;
13
+ private requestId;
14
+ private stats;
15
+ constructor(config: SynapseConfig);
16
+ /**
17
+ * Get endpoint URL
18
+ */
19
+ get endpoint(): string;
20
+ /**
21
+ * Get API key
22
+ */
23
+ get apiKey(): string | undefined;
24
+ /**
25
+ * Make a single RPC call
26
+ * Uses zero-copy operations, early returns, and minimal branching
27
+ */
28
+ call<T = any>(method: string, params?: any, options?: RequestOptions): Promise<T>;
29
+ /**
30
+ * Send an RPC request with automatic upstream rotation on "method not allowed" errors.
31
+ */
32
+ private sendRpcWithRotation;
33
+ /**
34
+ * Make multiple RPC calls in batch
35
+ */
36
+ batch<T = any>(requests: Array<{
37
+ method: string;
38
+ params?: any[];
39
+ }>, options?: RequestOptions): Promise<T[]>;
40
+ /**
41
+ * Internal HTTP request handler
42
+ */
43
+ private makeHttpRequest;
44
+ /**
45
+ * Get a signature for a given address and message.
46
+ * @param address The base-58 encoded account address (required).
47
+ * @param options Optional configuration object:
48
+ * - commitment: string
49
+ * - minContextSlot: number
50
+ * - limit: number
51
+ * - before: string
52
+ * - until: string
53
+ * @returns The signature info array.
54
+ */
55
+ getSignatureForAddress(address: string, options?: {
56
+ commitment?: string;
57
+ minContextSlot?: number;
58
+ limit?: number;
59
+ before?: string;
60
+ until?: string;
61
+ }): Promise<SignatureInfo[]>;
62
+ /**
63
+ * Update latency statistics
64
+ */
65
+ private updateLatencyStats;
66
+ /**
67
+ * Get client statistics
68
+ */
69
+ getStats(): ClientStats;
70
+ /**
71
+ * Reset statistics
72
+ */
73
+ resetStats(): void;
74
+ /**
75
+ * Health check
76
+ */
77
+ healthCheck(): Promise<boolean>;
78
+ /**
79
+ * Get gateway performance metrics
80
+ */
81
+ getGatewayMetrics(): Promise<any>;
82
+ }
83
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,aAAa,EAGb,cAAc,EAGd,WAAW,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC;;;;;;GAMG;AAEH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAc;gBAEf,MAAM,EAAE,aAAa;IAwBjC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED;;;OAGG;IACG,IAAI,CAAC,CAAC,GAAG,GAAG,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;IAqEb;;OAEG;YACW,mBAAmB;IAkDjC;;OAEG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,EACnD,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,EAAE,CAAC;IA6Bf;;OAEG;YACW,eAAe;IAyC7B;;;;;;;;;;OAUG;IACG,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,aAAa,EAAE,CAAC;IAK3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,QAAQ,IAAI,WAAW;IAOvB;;OAEG;IACH,UAAU,IAAI,IAAI;IAYlB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAerC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;CAWxC"}