@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.
- package/LICENSE +21 -0
- package/README.md +1393 -0
- package/dist/cjs/advanced/circuit-breaker.d.ts +111 -0
- package/dist/cjs/advanced/circuit-breaker.d.ts.map +1 -0
- package/dist/cjs/advanced/circuit-breaker.js +278 -0
- package/dist/cjs/advanced/circuit-breaker.js.map +1 -0
- package/dist/cjs/advanced/index.d.ts +8 -0
- package/dist/cjs/advanced/index.d.ts.map +1 -0
- package/dist/cjs/advanced/index.js +13 -0
- package/dist/cjs/advanced/index.js.map +1 -0
- package/dist/cjs/advanced/load-balancer.d.ts +114 -0
- package/dist/cjs/advanced/load-balancer.d.ts.map +1 -0
- package/dist/cjs/advanced/load-balancer.js +354 -0
- package/dist/cjs/advanced/load-balancer.js.map +1 -0
- package/dist/cjs/advanced/smart-caching.d.ts +113 -0
- package/dist/cjs/advanced/smart-caching.d.ts.map +1 -0
- package/dist/cjs/advanced/smart-caching.js +461 -0
- package/dist/cjs/advanced/smart-caching.js.map +1 -0
- package/dist/cjs/advanced/types.d.ts +228 -0
- package/dist/cjs/advanced/types.d.ts.map +1 -0
- package/dist/cjs/advanced/types.js +7 -0
- package/dist/cjs/advanced/types.js.map +1 -0
- package/dist/cjs/ai/index.d.ts +15 -0
- package/dist/cjs/ai/index.d.ts.map +1 -0
- package/dist/cjs/ai/index.js +20 -0
- package/dist/cjs/ai/index.js.map +1 -0
- package/dist/cjs/ai/merkle-operation.d.ts +245 -0
- package/dist/cjs/ai/merkle-operation.d.ts.map +1 -0
- package/dist/cjs/ai/merkle-operation.js +522 -0
- package/dist/cjs/ai/merkle-operation.js.map +1 -0
- package/dist/cjs/ai/pda-manager.d.ts +134 -0
- package/dist/cjs/ai/pda-manager.d.ts.map +1 -0
- package/dist/cjs/ai/pda-manager.js +250 -0
- package/dist/cjs/ai/pda-manager.js.map +1 -0
- package/dist/cjs/ai/types.ai.d.ts +172 -0
- package/dist/cjs/ai/types.ai.d.ts.map +1 -0
- package/dist/cjs/ai/types.ai.js +14 -0
- package/dist/cjs/ai/types.ai.js.map +1 -0
- package/dist/cjs/ai/zero-combine-fetcher.d.ts +171 -0
- package/dist/cjs/ai/zero-combine-fetcher.d.ts.map +1 -0
- package/dist/cjs/ai/zero-combine-fetcher.js +412 -0
- package/dist/cjs/ai/zero-combine-fetcher.js.map +1 -0
- package/dist/cjs/client.d.ts +83 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +287 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/defi/advanced-features.d.ts +207 -0
- package/dist/cjs/defi/advanced-features.d.ts.map +1 -0
- package/dist/cjs/defi/advanced-features.js +382 -0
- package/dist/cjs/defi/advanced-features.js.map +1 -0
- package/dist/cjs/defi/index.d.ts +29 -0
- package/dist/cjs/defi/index.d.ts.map +1 -0
- package/dist/cjs/defi/index.js +50 -0
- package/dist/cjs/defi/index.js.map +1 -0
- package/dist/cjs/defi/jito.d.ts +118 -0
- package/dist/cjs/defi/jito.d.ts.map +1 -0
- package/dist/cjs/defi/jito.js +291 -0
- package/dist/cjs/defi/jito.js.map +1 -0
- package/dist/cjs/defi/jupiter.d.ts +143 -0
- package/dist/cjs/defi/jupiter.d.ts.map +1 -0
- package/dist/cjs/defi/jupiter.js +219 -0
- package/dist/cjs/defi/jupiter.js.map +1 -0
- package/dist/cjs/defi/price-feed.d.ts +63 -0
- package/dist/cjs/defi/price-feed.d.ts.map +1 -0
- package/dist/cjs/defi/price-feed.js +153 -0
- package/dist/cjs/defi/price-feed.js.map +1 -0
- package/dist/cjs/defi/token-data.d.ts +83 -0
- package/dist/cjs/defi/token-data.d.ts.map +1 -0
- package/dist/cjs/defi/token-data.js +205 -0
- package/dist/cjs/defi/token-data.js.map +1 -0
- package/dist/cjs/defi/unstable-features.d.ts +207 -0
- package/dist/cjs/defi/unstable-features.d.ts.map +1 -0
- package/dist/cjs/defi/unstable-features.js +382 -0
- package/dist/cjs/defi/unstable-features.js.map +1 -0
- package/dist/cjs/defi/utils.d.ts +265 -0
- package/dist/cjs/defi/utils.d.ts.map +1 -0
- package/dist/cjs/defi/utils.js +619 -0
- package/dist/cjs/defi/utils.js.map +1 -0
- package/dist/cjs/index.d.ts +31 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +71 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/methods/solana-rpc.d.ts +362 -0
- package/dist/cjs/methods/solana-rpc.d.ts.map +1 -0
- package/dist/cjs/methods/solana-rpc.js +584 -0
- package/dist/cjs/methods/solana-rpc.js.map +1 -0
- package/dist/cjs/nft/advanced-features.d.ts +205 -0
- package/dist/cjs/nft/advanced-features.d.ts.map +1 -0
- package/dist/cjs/nft/advanced-features.js +529 -0
- package/dist/cjs/nft/advanced-features.js.map +1 -0
- package/dist/cjs/nft/clients/index.d.ts +8 -0
- package/dist/cjs/nft/clients/index.d.ts.map +1 -0
- package/dist/cjs/nft/clients/index.js +14 -0
- package/dist/cjs/nft/clients/index.js.map +1 -0
- package/dist/cjs/nft/clients/magic-eden-client.d.ts +101 -0
- package/dist/cjs/nft/clients/magic-eden-client.d.ts.map +1 -0
- package/dist/cjs/nft/clients/magic-eden-client.js +263 -0
- package/dist/cjs/nft/clients/magic-eden-client.js.map +1 -0
- package/dist/cjs/nft/clients/metaplex-onchain-client.d.ts +154 -0
- package/dist/cjs/nft/clients/metaplex-onchain-client.d.ts.map +1 -0
- package/dist/cjs/nft/clients/metaplex-onchain-client.js +408 -0
- package/dist/cjs/nft/clients/metaplex-onchain-client.js.map +1 -0
- package/dist/cjs/nft/clients/tensor-client.d.ts +79 -0
- package/dist/cjs/nft/clients/tensor-client.d.ts.map +1 -0
- package/dist/cjs/nft/clients/tensor-client.js +222 -0
- package/dist/cjs/nft/clients/tensor-client.js.map +1 -0
- package/dist/cjs/nft/index.d.ts +13 -0
- package/dist/cjs/nft/index.d.ts.map +1 -0
- package/dist/cjs/nft/index.js +37 -0
- package/dist/cjs/nft/index.js.map +1 -0
- package/dist/cjs/nft/types.nft.d.ts +342 -0
- package/dist/cjs/nft/types.nft.d.ts.map +1 -0
- package/dist/cjs/nft/types.nft.js +3 -0
- package/dist/cjs/nft/types.nft.js.map +1 -0
- package/dist/cjs/nft/utils.d.ts +46 -0
- package/dist/cjs/nft/utils.d.ts.map +1 -0
- package/dist/cjs/nft/utils.js +281 -0
- package/dist/cjs/nft/utils.js.map +1 -0
- package/dist/cjs/types.d.ts +525 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +192 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/constant.d.ts +8 -0
- package/dist/cjs/utils/constant.d.ts.map +1 -0
- package/dist/cjs/utils/constant.js +12 -0
- package/dist/cjs/utils/constant.js.map +1 -0
- package/dist/cjs/utils/helpers.d.ts +92 -0
- package/dist/cjs/utils/helpers.d.ts.map +1 -0
- package/dist/cjs/utils/helpers.js +248 -0
- package/dist/cjs/utils/helpers.js.map +1 -0
- package/dist/cjs/websocket/client.d.ts +182 -0
- package/dist/cjs/websocket/client.d.ts.map +1 -0
- package/dist/cjs/websocket/client.js +465 -0
- package/dist/cjs/websocket/client.js.map +1 -0
- package/dist/cjs/websocket/index.d.ts +6 -0
- package/dist/cjs/websocket/index.d.ts.map +1 -0
- package/dist/cjs/websocket/index.js +9 -0
- package/dist/cjs/websocket/index.js.map +1 -0
- package/dist/docs/.nojekyll +1 -0
- package/dist/docs/assets/highlight.css +113 -0
- package/dist/docs/assets/icons.js +18 -0
- package/dist/docs/assets/icons.svg +1 -0
- package/dist/docs/assets/main.js +60 -0
- package/dist/docs/assets/navigation.js +1 -0
- package/dist/docs/assets/search.js +1 -0
- package/dist/docs/assets/style.css +1493 -0
- package/dist/docs/classes/AIError.html +40 -0
- package/dist/docs/classes/AIInvestmentAdvisor.html +26 -0
- package/dist/docs/classes/AIRarityCalculator.html +28 -0
- package/dist/docs/classes/ArbitrageDetector.html +30 -0
- package/dist/docs/classes/BatchingError.html +40 -0
- package/dist/docs/classes/CacheError.html +40 -0
- package/dist/docs/classes/CircuitBreaker.html +38 -0
- package/dist/docs/classes/CircuitBreakerError.html +40 -0
- package/dist/docs/classes/CollectionAnalytics.html +30 -0
- package/dist/docs/classes/DeFiError.html +40 -0
- package/dist/docs/classes/FlashLoanSimulator.html +26 -0
- package/dist/docs/classes/JitoIntegration.html +53 -0
- package/dist/docs/classes/JupiterIntegration.html +43 -0
- package/dist/docs/classes/Keypair.html +28 -0
- package/dist/docs/classes/LoadBalancer.html +34 -0
- package/dist/docs/classes/MEVProtection.html +28 -0
- package/dist/docs/classes/MarketplaceAggregator.html +28 -0
- package/dist/docs/classes/MerkleOperation.html +74 -0
- package/dist/docs/classes/NFTEngine.html +29 -0
- package/dist/docs/classes/NFTError.html +40 -0
- package/dist/docs/classes/NetworkError.html +40 -0
- package/dist/docs/classes/PDAManager.html +46 -0
- package/dist/docs/classes/PortfolioAnalytics.html +26 -0
- package/dist/docs/classes/PriceFeedIntegration.html +37 -0
- package/dist/docs/classes/PublicKey.html +46 -0
- package/dist/docs/classes/RateLimitError.html +39 -0
- package/dist/docs/classes/SmartCaching.html +42 -0
- package/dist/docs/classes/Synapse.html +6 -0
- package/dist/docs/classes/SynapseClient.html +55 -0
- package/dist/docs/classes/SynapseError.html +37 -0
- package/dist/docs/classes/SynapseSolanaEngine.html +49 -0
- package/dist/docs/classes/SynapseUtils.html +25 -0
- package/dist/docs/classes/TokenDataIntegration.html +41 -0
- package/dist/docs/classes/Transaction.html +87 -0
- package/dist/docs/classes/TransactionInstruction.html +10 -0
- package/dist/docs/classes/UpstreamError.html +39 -0
- package/dist/docs/classes/WebSocketClient.html +47 -0
- package/dist/docs/classes/WebSocketError.html +40 -0
- package/dist/docs/classes/YieldFarmingFinder.html +26 -0
- package/dist/docs/classes/ZeroCombineFetcher.html +25 -0
- package/dist/docs/functions/createSynapseClient.html +2 -0
- package/dist/docs/hierarchy.html +1 -0
- package/dist/docs/index.html +776 -0
- package/dist/docs/interfaces/AIAgentConfig.html +11 -0
- package/dist/docs/interfaces/AIAgentContext.html +7 -0
- package/dist/docs/interfaces/AIContext.html +6 -0
- package/dist/docs/interfaces/AIMethodResult.html +6 -0
- package/dist/docs/interfaces/AIRarityAnalysis.html +3 -0
- package/dist/docs/interfaces/AIResponse.html +5 -0
- package/dist/docs/interfaces/AccountInfo.html +8 -0
- package/dist/docs/interfaces/AdvancedClientConfig.html +7 -0
- package/dist/docs/interfaces/AdvancedEvents.html +9 -0
- package/dist/docs/interfaces/AdvancedMetricsData.html +5 -0
- package/dist/docs/interfaces/AdvancedPerformanceMetrics.html +6 -0
- package/dist/docs/interfaces/AgentAdapter.html +6 -0
- package/dist/docs/interfaces/AgentRiskReport.html +6 -0
- package/dist/docs/interfaces/AgentTradeSuggestion.html +10 -0
- package/dist/docs/interfaces/AggregatedCollectionStats.html +36 -0
- package/dist/docs/interfaces/ArbitrageOpportunity.html +8 -0
- package/dist/docs/interfaces/AutoTradingStrategy.html +13 -0
- package/dist/docs/interfaces/BatchResponse.html +4 -0
- package/dist/docs/interfaces/BatchResult.html +6 -0
- package/dist/docs/interfaces/BatcherConfig.html +5 -0
- package/dist/docs/interfaces/BirdeyeTokenPrice.html +4 -0
- package/dist/docs/interfaces/BlockhashInfo.html +5 -0
- package/dist/docs/interfaces/BuildSwapTxResult.html +7 -0
- package/dist/docs/interfaces/CacheStats.html +9 -0
- package/dist/docs/interfaces/ChunkInfo.html +10 -0
- package/dist/docs/interfaces/CircuitBreakerConfig.html +6 -0
- package/dist/docs/interfaces/ClientStats.html +14 -0
- package/dist/docs/interfaces/CollectionStats.html +17 -0
- package/dist/docs/interfaces/CollectionTrends.html +7 -0
- package/dist/docs/interfaces/CompressedNFTInfo.html +13 -0
- package/dist/docs/interfaces/ConfirmedTransaction.html +6 -0
- package/dist/docs/interfaces/ConnectionEvents.html +11 -0
- package/dist/docs/interfaces/DeFiConfig.html +16 -0
- package/dist/docs/interfaces/DiagnosticsResult.html +6 -0
- package/dist/docs/interfaces/EpochInfo.html +9 -0
- package/dist/docs/interfaces/ExecuteSwapParams.html +10 -0
- package/dist/docs/interfaces/FetchConfig.html +7 -0
- package/dist/docs/interfaces/FlashLoanAction.html +6 -0
- package/dist/docs/interfaces/FlashLoanSimulation.html +9 -0
- package/dist/docs/interfaces/GatewayStats.html +7 -0
- package/dist/docs/interfaces/InscriptionResult.html +18 -0
- package/dist/docs/interfaces/InvestmentRecommendation.html +10 -0
- package/dist/docs/interfaces/JitoBundleParams.html +4 -0
- package/dist/docs/interfaces/JitoBundleResult.html +6 -0
- package/dist/docs/interfaces/JitoBundleStatus.html +6 -0
- package/dist/docs/interfaces/JitoTipAccount.html +3 -0
- package/dist/docs/interfaces/JupiterQuoteParams.html +10 -0
- package/dist/docs/interfaces/JupiterQuoteRequest.html +17 -0
- package/dist/docs/interfaces/JupiterQuoteResponse.html +13 -0
- package/dist/docs/interfaces/JupiterSwapOptions.html +8 -0
- package/dist/docs/interfaces/JupiterSwapResponse.html +4 -0
- package/dist/docs/interfaces/JupiterTokenPrice.html +5 -0
- package/dist/docs/interfaces/LoadBalancerConfig.html +5 -0
- package/dist/docs/interfaces/MEVProtectionConfig.html +11 -0
- package/dist/docs/interfaces/MEVProtectionResult.html +6 -0
- package/dist/docs/interfaces/MagicEdenActivity.html +22 -0
- package/dist/docs/interfaces/MagicEdenCollection.html +22 -0
- package/dist/docs/interfaces/MagicEdenCollectionStats.html +17 -0
- package/dist/docs/interfaces/MagicEdenErrorResponse.html +4 -0
- package/dist/docs/interfaces/MagicEdenListing.html +24 -0
- package/dist/docs/interfaces/MarketplaceClientConfig.html +14 -0
- package/dist/docs/interfaces/MarketplaceFloorPrices.html +7 -0
- package/dist/docs/interfaces/MarketplaceListing.html +9 -0
- package/dist/docs/interfaces/MerkleLeaf.html +6 -0
- package/dist/docs/interfaces/MerkleProof.html +8 -0
- package/dist/docs/interfaces/MerkleValidationResult.html +10 -0
- package/dist/docs/interfaces/MultiChainSignal.html +8 -0
- package/dist/docs/interfaces/NFTAttribute.html +4 -0
- package/dist/docs/interfaces/NFTConfig.html +6 -0
- package/dist/docs/interfaces/NFTInfo.html +10 -0
- package/dist/docs/interfaces/NFTMetadata.html +9 -0
- package/dist/docs/interfaces/NormalizedMarketplaceListing.html +18 -0
- package/dist/docs/interfaces/OOBECompatibleAgent.html +8 -0
- package/dist/docs/interfaces/PDAConfig.html +10 -0
- package/dist/docs/interfaces/ParsedAccountInfo.html +8 -0
- package/dist/docs/interfaces/PerformanceMetrics.html +9 -0
- package/dist/docs/interfaces/PortfolioMetrics.html +10 -0
- package/dist/docs/interfaces/PriceData.html +8 -0
- package/dist/docs/interfaces/ProofRecord.html +12 -0
- package/dist/docs/interfaces/QuoteRequestCommon.html +11 -0
- package/dist/docs/interfaces/QuoteResponse.html +6 -0
- package/dist/docs/interfaces/RarityAlgorithmConfig.html +3 -0
- package/dist/docs/interfaces/RarityScore.html +8 -0
- package/dist/docs/interfaces/RaydiumBuildSwapParams.html +14 -0
- package/dist/docs/interfaces/RaydiumQuoteRequest.html +14 -0
- package/dist/docs/interfaces/RequestOptions.html +12 -0
- package/dist/docs/interfaces/RetryAttempt.html +5 -0
- package/dist/docs/interfaces/RpcError.html +5 -0
- package/dist/docs/interfaces/RpcRequest.html +6 -0
- package/dist/docs/interfaces/RpcResponse.html +6 -0
- package/dist/docs/interfaces/SecurityThreat.html +6 -0
- package/dist/docs/interfaces/SignatureInfo.html +8 -0
- package/dist/docs/interfaces/Signer.html +4 -0
- package/dist/docs/interfaces/SmartCacheConfig.html +7 -0
- package/dist/docs/interfaces/SmartQueryOptions.html +10 -0
- package/dist/docs/interfaces/StressTestOptions.html +8 -0
- package/dist/docs/interfaces/StressTestResult.html +9 -0
- package/dist/docs/interfaces/SubscriptionConfig.html +9 -0
- package/dist/docs/interfaces/SubscriptionOptions.html +7 -0
- package/dist/docs/interfaces/SubscriptionResult.html +7 -0
- package/dist/docs/interfaces/SynapseConfig.html +13 -0
- package/dist/docs/interfaces/SynapseLikeClient.html +4 -0
- package/dist/docs/interfaces/TensorCollectionStats.html +33 -0
- package/dist/docs/interfaces/TensorErrorResponse.html +5 -0
- package/dist/docs/interfaces/TensorListing.html +16 -0
- package/dist/docs/interfaces/TensorSale.html +16 -0
- package/dist/docs/interfaces/TokenAccount.html +7 -0
- package/dist/docs/interfaces/TokenAccountInfo.html +12 -0
- package/dist/docs/interfaces/TokenHolding.html +8 -0
- package/dist/docs/interfaces/TokenInfo.html +7 -0
- package/dist/docs/interfaces/TokenLargestAccount.html +5 -0
- package/dist/docs/interfaces/TokenSupply.html +5 -0
- package/dist/docs/interfaces/TradeExecution.html +14 -0
- package/dist/docs/interfaces/TransactionSignature.html +8 -0
- package/dist/docs/interfaces/UpstreamHealth.html +8 -0
- package/dist/docs/interfaces/UserPDAs.html +10 -0
- package/dist/docs/interfaces/WebSocketConfig.html +12 -0
- package/dist/docs/interfaces/WebSocketMessage.html +6 -0
- package/dist/docs/interfaces/YieldOpportunity.html +8 -0
- package/dist/docs/interfaces/ZeroChunk.html +8 -0
- package/dist/docs/interfaces/ZeroCombineResult.html +3 -0
- package/dist/docs/media/LICENSE +21 -0
- package/dist/docs/media/README-1.md +778 -0
- package/dist/docs/media/README-2.md +1050 -0
- package/dist/docs/media/README-3.md +1522 -0
- package/dist/docs/media/README-4.md +869 -0
- package/dist/docs/media/README-5.md +857 -0
- package/dist/docs/media/README-6.md +727 -0
- package/dist/docs/media/README.md +766 -0
- package/dist/docs/modules.html +168 -0
- package/dist/docs/types/BlockhashWithExpiryBlockHeight.html +1 -0
- package/dist/docs/types/Commitment.html +3 -0
- package/dist/docs/types/RiskTolerance.html +1 -0
- package/dist/docs/types/SimulatedTransactionResponse.html +1 -0
- package/dist/esm/advanced/circuit-breaker.d.ts +111 -0
- package/dist/esm/advanced/circuit-breaker.d.ts.map +1 -0
- package/dist/esm/advanced/circuit-breaker.js +274 -0
- package/dist/esm/advanced/circuit-breaker.js.map +1 -0
- package/dist/esm/advanced/index.d.ts +8 -0
- package/dist/esm/advanced/index.d.ts.map +1 -0
- package/dist/esm/advanced/index.js +7 -0
- package/dist/esm/advanced/index.js.map +1 -0
- package/dist/esm/advanced/load-balancer.d.ts +114 -0
- package/dist/esm/advanced/load-balancer.d.ts.map +1 -0
- package/dist/esm/advanced/load-balancer.js +350 -0
- package/dist/esm/advanced/load-balancer.js.map +1 -0
- package/dist/esm/advanced/smart-caching.d.ts +113 -0
- package/dist/esm/advanced/smart-caching.d.ts.map +1 -0
- package/dist/esm/advanced/smart-caching.js +457 -0
- package/dist/esm/advanced/smart-caching.js.map +1 -0
- package/dist/esm/advanced/types.d.ts +228 -0
- package/dist/esm/advanced/types.d.ts.map +1 -0
- package/dist/esm/advanced/types.js +6 -0
- package/dist/esm/advanced/types.js.map +1 -0
- package/dist/esm/ai/index.d.ts +15 -0
- package/dist/esm/ai/index.d.ts.map +1 -0
- package/dist/esm/ai/index.js +14 -0
- package/dist/esm/ai/index.js.map +1 -0
- package/dist/esm/ai/merkle-operation.d.ts +245 -0
- package/dist/esm/ai/merkle-operation.d.ts.map +1 -0
- package/dist/esm/ai/merkle-operation.js +485 -0
- package/dist/esm/ai/merkle-operation.js.map +1 -0
- package/dist/esm/ai/pda-manager.d.ts +134 -0
- package/dist/esm/ai/pda-manager.d.ts.map +1 -0
- package/dist/esm/ai/pda-manager.js +213 -0
- package/dist/esm/ai/pda-manager.js.map +1 -0
- package/dist/esm/ai/types.ai.d.ts +172 -0
- package/dist/esm/ai/types.ai.d.ts.map +1 -0
- package/dist/esm/ai/types.ai.js +13 -0
- package/dist/esm/ai/types.ai.js.map +1 -0
- package/dist/esm/ai/zero-combine-fetcher.d.ts +171 -0
- package/dist/esm/ai/zero-combine-fetcher.d.ts.map +1 -0
- package/dist/esm/ai/zero-combine-fetcher.js +408 -0
- package/dist/esm/ai/zero-combine-fetcher.js.map +1 -0
- package/dist/esm/client.d.ts +83 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +283 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/defi/advanced-features.d.ts +207 -0
- package/dist/esm/defi/advanced-features.d.ts.map +1 -0
- package/dist/esm/defi/advanced-features.js +374 -0
- package/dist/esm/defi/advanced-features.js.map +1 -0
- package/dist/esm/defi/index.d.ts +29 -0
- package/dist/esm/defi/index.d.ts.map +1 -0
- package/dist/esm/defi/index.js +37 -0
- package/dist/esm/defi/index.js.map +1 -0
- package/dist/esm/defi/jito.d.ts +118 -0
- package/dist/esm/defi/jito.d.ts.map +1 -0
- package/dist/esm/defi/jito.js +287 -0
- package/dist/esm/defi/jito.js.map +1 -0
- package/dist/esm/defi/jupiter.d.ts +143 -0
- package/dist/esm/defi/jupiter.d.ts.map +1 -0
- package/dist/esm/defi/jupiter.js +215 -0
- package/dist/esm/defi/jupiter.js.map +1 -0
- package/dist/esm/defi/price-feed.d.ts +63 -0
- package/dist/esm/defi/price-feed.d.ts.map +1 -0
- package/dist/esm/defi/price-feed.js +149 -0
- package/dist/esm/defi/price-feed.js.map +1 -0
- package/dist/esm/defi/token-data.d.ts +83 -0
- package/dist/esm/defi/token-data.d.ts.map +1 -0
- package/dist/esm/defi/token-data.js +201 -0
- package/dist/esm/defi/token-data.js.map +1 -0
- package/dist/esm/defi/unstable-features.d.ts +207 -0
- package/dist/esm/defi/unstable-features.d.ts.map +1 -0
- package/dist/esm/defi/unstable-features.js +374 -0
- package/dist/esm/defi/unstable-features.js.map +1 -0
- package/dist/esm/defi/utils.d.ts +265 -0
- package/dist/esm/defi/utils.d.ts.map +1 -0
- package/dist/esm/defi/utils.js +582 -0
- package/dist/esm/defi/utils.js.map +1 -0
- package/dist/esm/index.d.ts +31 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +47 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/methods/solana-rpc.d.ts +362 -0
- package/dist/esm/methods/solana-rpc.d.ts.map +1 -0
- package/dist/esm/methods/solana-rpc.js +532 -0
- package/dist/esm/methods/solana-rpc.js.map +1 -0
- package/dist/esm/nft/advanced-features.d.ts +205 -0
- package/dist/esm/nft/advanced-features.d.ts.map +1 -0
- package/dist/esm/nft/advanced-features.js +489 -0
- package/dist/esm/nft/advanced-features.js.map +1 -0
- package/dist/esm/nft/clients/index.d.ts +8 -0
- package/dist/esm/nft/clients/index.d.ts.map +1 -0
- package/dist/esm/nft/clients/index.js +8 -0
- package/dist/esm/nft/clients/index.js.map +1 -0
- package/dist/esm/nft/clients/magic-eden-client.d.ts +101 -0
- package/dist/esm/nft/clients/magic-eden-client.d.ts.map +1 -0
- package/dist/esm/nft/clients/magic-eden-client.js +259 -0
- package/dist/esm/nft/clients/magic-eden-client.js.map +1 -0
- package/dist/esm/nft/clients/metaplex-onchain-client.d.ts +154 -0
- package/dist/esm/nft/clients/metaplex-onchain-client.d.ts.map +1 -0
- package/dist/esm/nft/clients/metaplex-onchain-client.js +404 -0
- package/dist/esm/nft/clients/metaplex-onchain-client.js.map +1 -0
- package/dist/esm/nft/clients/tensor-client.d.ts +79 -0
- package/dist/esm/nft/clients/tensor-client.d.ts.map +1 -0
- package/dist/esm/nft/clients/tensor-client.js +218 -0
- package/dist/esm/nft/clients/tensor-client.js.map +1 -0
- package/dist/esm/nft/index.d.ts +13 -0
- package/dist/esm/nft/index.d.ts.map +1 -0
- package/dist/esm/nft/index.js +15 -0
- package/dist/esm/nft/index.js.map +1 -0
- package/dist/esm/nft/types.nft.d.ts +342 -0
- package/dist/esm/nft/types.nft.d.ts.map +1 -0
- package/dist/esm/nft/types.nft.js +2 -0
- package/dist/esm/nft/types.nft.js.map +1 -0
- package/dist/esm/nft/utils.d.ts +46 -0
- package/dist/esm/nft/utils.d.ts.map +1 -0
- package/dist/esm/nft/utils.js +276 -0
- package/dist/esm/nft/utils.js.map +1 -0
- package/dist/esm/types.d.ts +525 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +178 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/constant.d.ts +8 -0
- package/dist/esm/utils/constant.d.ts.map +1 -0
- package/dist/esm/utils/constant.js +8 -0
- package/dist/esm/utils/constant.js.map +1 -0
- package/dist/esm/utils/helpers.d.ts +92 -0
- package/dist/esm/utils/helpers.d.ts.map +1 -0
- package/dist/esm/utils/helpers.js +243 -0
- package/dist/esm/utils/helpers.js.map +1 -0
- package/dist/esm/websocket/client.d.ts +182 -0
- package/dist/esm/websocket/client.d.ts.map +1 -0
- package/dist/esm/websocket/client.js +458 -0
- package/dist/esm/websocket/client.js.map +1 -0
- package/dist/esm/websocket/index.d.ts +6 -0
- package/dist/esm/websocket/index.d.ts.map +1 -0
- package/dist/esm/websocket/index.js +5 -0
- package/dist/esm/websocket/index.js.map +1 -0
- package/package.json +160 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDA Manager - Synapse SDK Implementation
|
|
3
|
+
*
|
|
4
|
+
* Professional PDA (Program Derived Address) manager inspired by OOBE Protocol
|
|
5
|
+
* but implemented using Synapse SDK's modular architecture and batch methods.
|
|
6
|
+
* No Raydium dependencies - pure Solana Web3.js integration.
|
|
7
|
+
*
|
|
8
|
+
* @module PDAManager
|
|
9
|
+
* @author Synapse Gateway Team
|
|
10
|
+
*/
|
|
11
|
+
import { PublicKey, SystemProgram } from '@solana/web3.js';
|
|
12
|
+
import * as crypto from 'crypto';
|
|
13
|
+
import { SolanaRpcMethods } from '../methods/solana-rpc.js';
|
|
14
|
+
/**
|
|
15
|
+
* Default PDA seeds configuration
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_PDA_CONFIG = {
|
|
18
|
+
merkleDbSeed: 'merkle_db',
|
|
19
|
+
merkleRootSeed: 'merkle_root',
|
|
20
|
+
personalityDbSeed: 'personality_db',
|
|
21
|
+
personalityRootSeed: 'personality_root',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* PDAManager - manages Program Derived Addresses for Merkle storage
|
|
25
|
+
*
|
|
26
|
+
* This class provides utilities to derive and manage PDAs used for storing
|
|
27
|
+
* large amounts of transaction data on-chain using a Merkle tree approach.
|
|
28
|
+
* Compatible with OOBE Protocol patterns but using pure Solana libraries.
|
|
29
|
+
*/
|
|
30
|
+
export class PDAManager {
|
|
31
|
+
client;
|
|
32
|
+
wallet;
|
|
33
|
+
config;
|
|
34
|
+
programId;
|
|
35
|
+
rpcMethods;
|
|
36
|
+
batchConfig;
|
|
37
|
+
/**
|
|
38
|
+
* Create a new PDAManager instance
|
|
39
|
+
* @param client - Synapse client for RPC calls
|
|
40
|
+
* @param walletAddress - User wallet address
|
|
41
|
+
* @param config - Optional PDA configuration
|
|
42
|
+
* @param programId - Optional program ID (defaults to System Program)
|
|
43
|
+
* @param batchConfig - Optional batch processing configuration
|
|
44
|
+
*/
|
|
45
|
+
constructor(client, walletAddress, config, programId, batchConfig) {
|
|
46
|
+
this.client = client;
|
|
47
|
+
this.wallet = new PublicKey(walletAddress);
|
|
48
|
+
this.config = { ...DEFAULT_PDA_CONFIG, ...config };
|
|
49
|
+
this.programId = programId ? new PublicKey(programId) : SystemProgram.programId;
|
|
50
|
+
this.rpcMethods = new SolanaRpcMethods(client);
|
|
51
|
+
this.batchConfig = {
|
|
52
|
+
batchSize: 100,
|
|
53
|
+
delayMs: 500,
|
|
54
|
+
maxRetries: 3,
|
|
55
|
+
retryDelayMs: 1000,
|
|
56
|
+
...batchConfig,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Generate a deterministic seed buffer from a string seed and wallet
|
|
61
|
+
* Uses SHA-256 hashing for deterministic derivation (OOBE-compatible)
|
|
62
|
+
* @param seed - Base seed string
|
|
63
|
+
* @param wallet - Wallet public key
|
|
64
|
+
* @returns 32-byte seed buffer
|
|
65
|
+
*/
|
|
66
|
+
generateSeed(seed, wallet) {
|
|
67
|
+
const combined = `${seed}@${wallet.toBase58()}`;
|
|
68
|
+
const hash = crypto.createHash('sha256').update(combined).digest('hex');
|
|
69
|
+
// Take first 32 bytes (64 hex chars) as seed
|
|
70
|
+
return Buffer.from(hash.slice(0, 64), 'hex');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get user PDAs for Merkle data storage
|
|
74
|
+
* Derives two PDAs: one for storing leaf/chunk data, one for roots
|
|
75
|
+
* @param customConfig - Optional custom seed configuration
|
|
76
|
+
* @returns UserPDAs with leaf and root addresses + bumps
|
|
77
|
+
*/
|
|
78
|
+
getUserPDAs(customConfig) {
|
|
79
|
+
const config = { ...this.config, ...customConfig };
|
|
80
|
+
// Derive Leaf/DB PDA
|
|
81
|
+
const leafSeed = this.generateSeed(config.merkleDbSeed, this.wallet);
|
|
82
|
+
const [leafPDA, leafBump] = PublicKey.findProgramAddressSync([leafSeed], this.programId);
|
|
83
|
+
// Derive Root PDA
|
|
84
|
+
const rootSeed = this.generateSeed(config.merkleRootSeed, this.wallet);
|
|
85
|
+
const [rootPDA, rootBump] = PublicKey.findProgramAddressSync([rootSeed], this.programId);
|
|
86
|
+
return {
|
|
87
|
+
leafPDA,
|
|
88
|
+
rootPDA,
|
|
89
|
+
leafBump,
|
|
90
|
+
rootBump,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get user PDAs for Personality storage (OOBE Agent personality system)
|
|
95
|
+
* Similar to getUserPDAs but uses personality-specific seeds
|
|
96
|
+
* @returns UserPDAs for personality data
|
|
97
|
+
*/
|
|
98
|
+
getUserPersonalityPDAs() {
|
|
99
|
+
const { personalityDbSeed, personalityRootSeed } = this.config;
|
|
100
|
+
// Derive Personality Leaf PDA
|
|
101
|
+
const leafSeed = this.generateSeed(personalityDbSeed, this.wallet);
|
|
102
|
+
const [leafPDA, leafBump] = PublicKey.findProgramAddressSync([leafSeed], this.programId);
|
|
103
|
+
// Derive Personality Root PDA
|
|
104
|
+
const rootSeed = this.generateSeed(personalityRootSeed, this.wallet);
|
|
105
|
+
const [rootPDA, rootBump] = PublicKey.findProgramAddressSync([rootSeed], this.programId);
|
|
106
|
+
return {
|
|
107
|
+
leafPDA,
|
|
108
|
+
rootPDA,
|
|
109
|
+
leafBump,
|
|
110
|
+
rootBump,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Check if PDA accounts exist on-chain
|
|
115
|
+
* Uses Synapse client's batch() for optimal performance
|
|
116
|
+
* @param pdas - UserPDAs to check
|
|
117
|
+
* @returns Object indicating which PDAs exist
|
|
118
|
+
*/
|
|
119
|
+
async checkPDAExistence(pdas) {
|
|
120
|
+
try {
|
|
121
|
+
// Use batch() for parallel account checks
|
|
122
|
+
const results = await this.client.batch([
|
|
123
|
+
{
|
|
124
|
+
method: 'getAccountInfo',
|
|
125
|
+
params: [pdas.leafPDA.toBase58(), { commitment: 'confirmed', encoding: 'base64' }],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
method: 'getAccountInfo',
|
|
129
|
+
params: [pdas.rootPDA.toBase58(), { commitment: 'confirmed', encoding: 'base64' }],
|
|
130
|
+
},
|
|
131
|
+
]);
|
|
132
|
+
return {
|
|
133
|
+
leafExists: results[0]?.value !== null,
|
|
134
|
+
rootExists: results[1]?.value !== null,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
return { leafExists: false, rootExists: false };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get PDA account info using Synapse client
|
|
143
|
+
* @param pda - PDA public key
|
|
144
|
+
* @returns Account info or null
|
|
145
|
+
*/
|
|
146
|
+
async getPDAAccountInfo(pda) {
|
|
147
|
+
try {
|
|
148
|
+
return await this.rpcMethods.getAccountInfo(pda.toBase58(), { commitment: 'confirmed', encoding: 'base64' });
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get multiple PDA account infos using batch for optimal performance
|
|
156
|
+
* @param pdas - Array of PDA public keys
|
|
157
|
+
* @returns Array of account infos (null if not found)
|
|
158
|
+
*/
|
|
159
|
+
async getBatchPDAAccountInfo(pdas) {
|
|
160
|
+
if (pdas.length === 0)
|
|
161
|
+
return [];
|
|
162
|
+
try {
|
|
163
|
+
// Use batch() for parallel requests
|
|
164
|
+
const requests = pdas.map((pda) => ({
|
|
165
|
+
method: 'getAccountInfo',
|
|
166
|
+
params: [pda.toBase58(), { commitment: 'confirmed', encoding: 'base64' }],
|
|
167
|
+
}));
|
|
168
|
+
const results = await this.client.batch(requests);
|
|
169
|
+
return results.map((res) => res?.value || null);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return pdas.map(() => null);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Validate PDA derivation (utility for debugging)
|
|
177
|
+
* @param pda - PDA to validate
|
|
178
|
+
* @param seeds - Seeds used for derivation
|
|
179
|
+
* @returns true if PDA matches expected derivation
|
|
180
|
+
*/
|
|
181
|
+
validatePDA(pda, seeds) {
|
|
182
|
+
try {
|
|
183
|
+
const [derived] = PublicKey.findProgramAddressSync(seeds, this.programId);
|
|
184
|
+
return derived.equals(pda);
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get all PDAs for a wallet (convenience method)
|
|
192
|
+
* Returns both standard and personality PDAs
|
|
193
|
+
*/
|
|
194
|
+
getAllUserPDAs() {
|
|
195
|
+
return {
|
|
196
|
+
standard: this.getUserPDAs(),
|
|
197
|
+
personality: this.getUserPersonalityPDAs(),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Get batch configuration
|
|
202
|
+
*/
|
|
203
|
+
getBatchConfig() {
|
|
204
|
+
return { ...this.batchConfig };
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Update batch configuration
|
|
208
|
+
*/
|
|
209
|
+
updateBatchConfig(config) {
|
|
210
|
+
this.batchConfig = { ...this.batchConfig, ...config };
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=pda-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda-manager.js","sourceRoot":"","sources":["../../../src/ai/pda-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI module types - OOBE Protocol compatible
|
|
3
|
+
*
|
|
4
|
+
* Types and interfaces for AI agents compatible with the OOBE Protocol
|
|
5
|
+
* (https://github.com/CryptoFamilyNFT/oobe-protocol). These types support
|
|
6
|
+
* LangChain StructuredTool patterns, multi-LLM providers, and Agent-based
|
|
7
|
+
* dependency injection.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: LangChain types are declared as 'any' here since @langchain packages
|
|
10
|
+
* are peer dependencies. Install @langchain/core for full type safety.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Minimal Agent interface compatible with OOBE Protocol Agent class.
|
|
14
|
+
* Real implementations should use the full oobe-protocol Agent.
|
|
15
|
+
*/
|
|
16
|
+
export interface OOBECompatibleAgent {
|
|
17
|
+
getCurrentLLM(): Promise<any>;
|
|
18
|
+
switchLLMProvider?(config: any): Promise<any>;
|
|
19
|
+
walletAddress?: string;
|
|
20
|
+
logger?: any;
|
|
21
|
+
executeAction?(actionName: string, input: Record<string, any>): Promise<any>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Market analysis suggestion from an AI agent
|
|
25
|
+
*/
|
|
26
|
+
export interface AgentTradeSuggestion {
|
|
27
|
+
id: string;
|
|
28
|
+
symbol: string;
|
|
29
|
+
side: 'buy' | 'sell';
|
|
30
|
+
size: number;
|
|
31
|
+
price?: number;
|
|
32
|
+
confidence?: number;
|
|
33
|
+
reasoning?: string;
|
|
34
|
+
metadata?: Record<string, any>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Risk assessment report from an AI agent
|
|
38
|
+
*/
|
|
39
|
+
export interface AgentRiskReport {
|
|
40
|
+
score: number;
|
|
41
|
+
level?: 'low' | 'medium' | 'high' | 'critical';
|
|
42
|
+
reasons?: string[];
|
|
43
|
+
details?: Record<string, any>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* AgentAdapter interface for pluggable intelligence.
|
|
47
|
+
* Implement this to integrate LangChain, Langraph, or custom AI logic.
|
|
48
|
+
*/
|
|
49
|
+
export interface AgentAdapter {
|
|
50
|
+
analyzeMarket(context: {
|
|
51
|
+
pairs: string[];
|
|
52
|
+
client: any;
|
|
53
|
+
agent?: OOBECompatibleAgent;
|
|
54
|
+
}): Promise<AgentTradeSuggestion[]>;
|
|
55
|
+
evaluateRisk?(context: {
|
|
56
|
+
client: any;
|
|
57
|
+
agent?: OOBECompatibleAgent;
|
|
58
|
+
}): Promise<AgentRiskReport>;
|
|
59
|
+
proposeStrategies?(context: {
|
|
60
|
+
client: any;
|
|
61
|
+
agent?: OOBECompatibleAgent;
|
|
62
|
+
}): Promise<any>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* AI agent configuration
|
|
66
|
+
*/
|
|
67
|
+
export interface AIAgentConfig {
|
|
68
|
+
agentId: string;
|
|
69
|
+
description?: string;
|
|
70
|
+
capabilities: string[];
|
|
71
|
+
tier: 'basic' | 'advanced' | 'premium';
|
|
72
|
+
oobeAgent?: OOBECompatibleAgent;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Blockchain context for AI operations
|
|
76
|
+
*/
|
|
77
|
+
export interface AIContext {
|
|
78
|
+
currentSlot?: number;
|
|
79
|
+
epochInfo?: any;
|
|
80
|
+
networkStatus: 'healthy' | 'degraded' | 'unhealthy';
|
|
81
|
+
availableMethods: string[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Batch operation configuration
|
|
85
|
+
*/
|
|
86
|
+
export interface BatchOptionRequest {
|
|
87
|
+
batchSize: number;
|
|
88
|
+
delayMs?: number;
|
|
89
|
+
maxRetries?: number;
|
|
90
|
+
retryDelayMs?: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Standard AI response wrapper
|
|
94
|
+
*/
|
|
95
|
+
export interface AIResponse<T = any> {
|
|
96
|
+
data: T;
|
|
97
|
+
context: AIContext;
|
|
98
|
+
metadata: {
|
|
99
|
+
latency: number;
|
|
100
|
+
cacheHit: boolean;
|
|
101
|
+
upstreamUsed: string;
|
|
102
|
+
timestamp: string;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Market prediction from quantum/AI analysis
|
|
107
|
+
*/
|
|
108
|
+
export interface QuantumPrediction {
|
|
109
|
+
asset: string;
|
|
110
|
+
timeframe: string;
|
|
111
|
+
direction: 'bullish' | 'bearish' | 'neutral';
|
|
112
|
+
confidence: number;
|
|
113
|
+
priceTarget: number;
|
|
114
|
+
supportLevels?: number[];
|
|
115
|
+
resistanceLevels?: number[];
|
|
116
|
+
signals?: string[];
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Trade execution record
|
|
120
|
+
*/
|
|
121
|
+
export interface TradeExecution {
|
|
122
|
+
id: string;
|
|
123
|
+
source: string;
|
|
124
|
+
type: string;
|
|
125
|
+
symbol: string;
|
|
126
|
+
side: 'buy' | 'sell';
|
|
127
|
+
size: number;
|
|
128
|
+
price?: number;
|
|
129
|
+
timestamp: string;
|
|
130
|
+
status: 'pending' | 'filled' | 'failed' | 'cancelled';
|
|
131
|
+
expectedProfit?: number;
|
|
132
|
+
actualProfit?: number | null;
|
|
133
|
+
metadata?: Record<string, any>;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Multi-chain signal analysis
|
|
137
|
+
*/
|
|
138
|
+
export interface MultiChainSignal {
|
|
139
|
+
chain: string;
|
|
140
|
+
signal: string;
|
|
141
|
+
strength: number;
|
|
142
|
+
impact: 'positive' | 'negative' | 'neutral';
|
|
143
|
+
crossChainCorrelation: number;
|
|
144
|
+
arbitrageOpportunities: Array<{
|
|
145
|
+
fromChain: string;
|
|
146
|
+
toChain: string;
|
|
147
|
+
asset: string;
|
|
148
|
+
profitPotential: number;
|
|
149
|
+
}>;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Trading strategy metadata
|
|
153
|
+
*/
|
|
154
|
+
export interface AutoTradingStrategy {
|
|
155
|
+
id: string;
|
|
156
|
+
name: string;
|
|
157
|
+
description: string;
|
|
158
|
+
active: boolean;
|
|
159
|
+
riskScore: number;
|
|
160
|
+
expectedReturn: number;
|
|
161
|
+
maxDrawdown: number;
|
|
162
|
+
winRate: number;
|
|
163
|
+
averageHoldTime: string;
|
|
164
|
+
signals: string[];
|
|
165
|
+
performance: {
|
|
166
|
+
totalTrades: number;
|
|
167
|
+
profitableTrades: number;
|
|
168
|
+
totalPnL: number;
|
|
169
|
+
sharpeRatio: number;
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=types.ai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.ai.d.ts","sourceRoot":"","sources":["../../../src/ai/types.ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,iBAAiB,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC9E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,CAAC,EAAE,mBAAmB,CAAC;KAC7B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACpC,YAAY,CAAC,CAAC,OAAO,EAAE;QACrB,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,CAAC,EAAE,mBAAmB,CAAC;KAC7B,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7B,iBAAiB,CAAC,CAAC,OAAO,EAAE;QAC1B,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,CAAC,EAAE,mBAAmB,CAAC;KAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IACpD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,KAAK,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI module types - OOBE Protocol compatible
|
|
3
|
+
*
|
|
4
|
+
* Types and interfaces for AI agents compatible with the OOBE Protocol
|
|
5
|
+
* (https://github.com/CryptoFamilyNFT/oobe-protocol). These types support
|
|
6
|
+
* LangChain StructuredTool patterns, multi-LLM providers, and Agent-based
|
|
7
|
+
* dependency injection.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: LangChain types are declared as 'any' here since @langchain packages
|
|
10
|
+
* are peer dependencies. Install @langchain/core for full type safety.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=types.ai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.ai.js","sourceRoot":"","sources":["../../../src/ai/types.ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zero Combine Fetcher - Synapse SDK Implementation
|
|
3
|
+
*
|
|
4
|
+
* Professional implementation of the OOBE Protocol's ZeroCombine pattern for
|
|
5
|
+
* fetching and reconstructing large transaction datasets split across multiple
|
|
6
|
+
* on-chain memo chunks. Uses Synapse SDK's batch capabilities for efficiency.
|
|
7
|
+
*
|
|
8
|
+
* @module ZeroCombineFetcher
|
|
9
|
+
* @author SteveTheHead
|
|
10
|
+
*/
|
|
11
|
+
import type { SynapseClient } from '../client';
|
|
12
|
+
import { PDAManager, type UserPDAs } from './pda-manager';
|
|
13
|
+
/**
|
|
14
|
+
* Zero Chunk structure (128 bytes: 2 merkle leaves + previous signature)
|
|
15
|
+
*/
|
|
16
|
+
export interface ZeroChunk {
|
|
17
|
+
/** First 64 bytes - Merkle Leaf 1 */
|
|
18
|
+
leaf1: string;
|
|
19
|
+
/** Second 64 bytes - Merkle Leaf 2 */
|
|
20
|
+
leaf2: string;
|
|
21
|
+
/** Remaining bytes - Previous transaction signature */
|
|
22
|
+
prevSign: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Confirmed signature info (simplified)
|
|
26
|
+
*/
|
|
27
|
+
export interface SignatureInfo {
|
|
28
|
+
signature: string;
|
|
29
|
+
slot: number;
|
|
30
|
+
blockTime: number | null;
|
|
31
|
+
memo: string | null;
|
|
32
|
+
err: any;
|
|
33
|
+
confirmationStatus?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Proof record - complete reconstructed transaction proof
|
|
37
|
+
*/
|
|
38
|
+
export interface ProofRecord {
|
|
39
|
+
/** Merkle root hash */
|
|
40
|
+
root: string;
|
|
41
|
+
/** Signature of the proof transaction */
|
|
42
|
+
proofSignature: string;
|
|
43
|
+
/** Original zero chunk transaction */
|
|
44
|
+
transaction: {
|
|
45
|
+
signature: string;
|
|
46
|
+
slot: number;
|
|
47
|
+
memo: ZeroChunk;
|
|
48
|
+
};
|
|
49
|
+
/** First chunk content */
|
|
50
|
+
firstChunkContent: {
|
|
51
|
+
prev_chunk_sign: string;
|
|
52
|
+
content: string;
|
|
53
|
+
};
|
|
54
|
+
/** All cycled content chunks */
|
|
55
|
+
cycledContent: Array<{
|
|
56
|
+
prev_chunk_sign?: string;
|
|
57
|
+
content?: string;
|
|
58
|
+
leaf1?: string;
|
|
59
|
+
leaf2?: string;
|
|
60
|
+
prevSign?: string;
|
|
61
|
+
result?: string;
|
|
62
|
+
}>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Batch configuration for fetching
|
|
66
|
+
* Includes all batch processing options
|
|
67
|
+
*/
|
|
68
|
+
export interface FetchConfig {
|
|
69
|
+
batchSize: number;
|
|
70
|
+
delayMs?: number;
|
|
71
|
+
maxRetries?: number;
|
|
72
|
+
retryDelayMs?: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Zero Combine Fetcher Result
|
|
76
|
+
*/
|
|
77
|
+
export interface ZeroCombineResult {
|
|
78
|
+
tools: ProofRecord[];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* ZeroCombineFetcher - fetches and reconstructs large transaction datasets
|
|
82
|
+
*
|
|
83
|
+
* This class implements the OOBE Protocol pattern for storing large data on-chain
|
|
84
|
+
* by splitting it across multiple memo transactions and linking them via signatures.
|
|
85
|
+
* Uses Synapse SDK's efficient batching for optimal performance.
|
|
86
|
+
*/
|
|
87
|
+
export declare class ZeroCombineFetcher {
|
|
88
|
+
private client;
|
|
89
|
+
private pdaManager;
|
|
90
|
+
private config;
|
|
91
|
+
/**
|
|
92
|
+
* Create a new ZeroCombineFetcher instance
|
|
93
|
+
* @param client - Synapse client for RPC calls
|
|
94
|
+
* @param walletAddress - User wallet address
|
|
95
|
+
* @param fetchConfig - Optional fetch configuration
|
|
96
|
+
*/
|
|
97
|
+
constructor(client: SynapseClient, walletAddress: string, fetchConfig?: FetchConfig);
|
|
98
|
+
/**
|
|
99
|
+
* Execute the full fetch and reconstruction process
|
|
100
|
+
* @param pdas - Optional custom PDAs (if null, will derive from wallet)
|
|
101
|
+
* @returns ZeroCombineResult with all reconstructed proof records
|
|
102
|
+
*/
|
|
103
|
+
execute(pdas?: UserPDAs | null): Promise<ZeroCombineResult>;
|
|
104
|
+
/**
|
|
105
|
+
* Fetch all transactions from Root PDA
|
|
106
|
+
* Root PDA contains merkle roots and proof signatures
|
|
107
|
+
* Uses optimized batch fetching for maximum performance
|
|
108
|
+
* @param rootPDA - Root PDA public key
|
|
109
|
+
* @returns Array of signature info with decoded memos
|
|
110
|
+
*/
|
|
111
|
+
private getRootTransactions;
|
|
112
|
+
/**
|
|
113
|
+
* Fetch and structure transactions from DB/Leaf PDA
|
|
114
|
+
* Uses optimized batch fetching for maximum performance
|
|
115
|
+
* @param leafPDA - Leaf PDA public key
|
|
116
|
+
* @param rootTransactions - Root transactions to match against
|
|
117
|
+
* @returns Zero transactions and all DB transactions
|
|
118
|
+
*/
|
|
119
|
+
private getDbTransactions;
|
|
120
|
+
/**
|
|
121
|
+
* Fetch first chunk content for a batch of transactions
|
|
122
|
+
* @param batch - Batch of transactions to process
|
|
123
|
+
* @param allTransactions - All DB transactions for lookup
|
|
124
|
+
* @returns Transactions enriched with first chunk content
|
|
125
|
+
*/
|
|
126
|
+
private fetchFirstChunkBatch;
|
|
127
|
+
/**
|
|
128
|
+
* Resolve all memo chunks by following prev_chunk_sign links
|
|
129
|
+
* @param transactions - Transactions with first chunk
|
|
130
|
+
* @param allTransactions - All DB transactions for lookup
|
|
131
|
+
* @returns Complete proof records with all chunks resolved
|
|
132
|
+
*/
|
|
133
|
+
private resolveMemoChunksBatch;
|
|
134
|
+
/**
|
|
135
|
+
* Extract memo from transaction details
|
|
136
|
+
* @param tx - Transaction object
|
|
137
|
+
* @returns Memo string or null
|
|
138
|
+
*/
|
|
139
|
+
private extractMemoFromTransaction;
|
|
140
|
+
/**
|
|
141
|
+
* Decode memo from base64 or raw string
|
|
142
|
+
* @param memo - Memo to decode
|
|
143
|
+
* @returns Decoded memo string
|
|
144
|
+
*/
|
|
145
|
+
private decodeMemo;
|
|
146
|
+
/**
|
|
147
|
+
* Sleep utility for batch delays
|
|
148
|
+
* @param ms - Milliseconds to sleep
|
|
149
|
+
*/
|
|
150
|
+
private sleep;
|
|
151
|
+
/**
|
|
152
|
+
* Get PDA manager instance (for advanced usage)
|
|
153
|
+
*/
|
|
154
|
+
getPDAManager(): PDAManager;
|
|
155
|
+
/**
|
|
156
|
+
* Get batch configuration
|
|
157
|
+
*/
|
|
158
|
+
getBatchConfig(): FetchConfig;
|
|
159
|
+
/**
|
|
160
|
+
* Update batch configuration
|
|
161
|
+
*/
|
|
162
|
+
updateBatchConfig(config: Partial<FetchConfig>): void;
|
|
163
|
+
/**
|
|
164
|
+
* Batch fetch multiple proof records for different wallets
|
|
165
|
+
* Uses optimized batching for parallel fetching
|
|
166
|
+
* @param walletAddresses - Array of wallet addresses to fetch for
|
|
167
|
+
* @returns Map of wallet address to their proof records
|
|
168
|
+
*/
|
|
169
|
+
batchExecuteForWallets(walletAddresses: string[]): Promise<Map<string, ZeroCombineResult>>;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=zero-combine-fetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zero-combine-fetcher.d.ts","sourceRoot":"","sources":["../../../src/ai/zero-combine-fetcher.ts"],"names":[],"mappings":"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"}
|