✅ Key fixes: - Bypass problematic SDK subscription that caused 410 Gone errors - Use direct account verification without subscription - Add fallback modes for better reliability - Switch to Helius RPC endpoint for better rate limits - Implement proper error handling and retry logic 🔧 Technical changes: - Enhanced drift-trading.ts with no-subscription approach - Added Drift API endpoints (/api/drift/login, /balance, /positions) - Created DriftAccountStatus and DriftTradingPanel components - Updated Dashboard.tsx to show Drift account status - Added comprehensive test scripts for debugging 📊 Results: - Connection Status: Connected ✅ - Account verification: Working ✅ - Balance retrieval: Working ✅ (21.94 total collateral) - Private key authentication: Working ✅ - User account: 3dG7wayp7b9NBMo92D2qL2sy1curSC4TTmskFpaGDrtA 🌐 RPC improvements: - Using Helius RPC for better reliability - Added fallback RPC options in .env - Eliminated rate limiting issues
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
/**
|
|
* Minimal Drift test
|
|
*/
|
|
|
|
require('dotenv').config();
|
|
|
|
async function minimalTest() {
|
|
console.log('🧪 Minimal Drift test...');
|
|
|
|
try {
|
|
console.log('📦 Loading packages...');
|
|
const { Connection, Keypair } = require('@solana/web3.js');
|
|
console.log('✅ @solana/web3.js loaded');
|
|
|
|
const drift = require('@drift-labs/sdk');
|
|
console.log('✅ @drift-labs/sdk loaded');
|
|
console.log('📋 Available exports:', Object.keys(drift).slice(0, 10).join(', '), '...');
|
|
|
|
// Test basic classes
|
|
const connection = new Connection('https://api.mainnet-beta.solana.com', 'confirmed');
|
|
console.log('✅ Connection created');
|
|
|
|
const privateKey = JSON.parse(process.env.SOLANA_PRIVATE_KEY);
|
|
const keypair = Keypair.fromSecretKey(Buffer.from(privateKey));
|
|
console.log('✅ Keypair created');
|
|
|
|
const wallet = new drift.Wallet(keypair);
|
|
console.log('✅ Wallet created');
|
|
|
|
console.log('🎯 All basic components working!');
|
|
|
|
} catch (error) {
|
|
console.error('❌ Error:', error.message);
|
|
}
|
|
}
|
|
|
|
minimalTest().catch(console.error);
|