debug_pacifica.ts 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /**
  2. * Pacifica 调试脚本
  3. */
  4. import 'dotenv/config'
  5. import { PacificaClient } from './src/exchanges/pacifica/PacificaClient'
  6. import { PacificaAdapter } from './src/exchanges/pacifica/PacificaAdapter'
  7. async function debugPacifica() {
  8. console.log('🔍 调试 Pacifica 连接...')
  9. // 1. 检查环境变量
  10. console.log('📋 环境变量检查:')
  11. console.log(` PACIFICA_ACCOUNT: ${process.env.PACIFICA_ACCOUNT ? '设置了' : '未设置'}`)
  12. console.log(` PACIFICA_ACCOUNT_PRIVATE_KEY: ${process.env.PACIFICA_ACCOUNT_PRIVATE_KEY ? '设置了' : '未设置'}`)
  13. console.log(` PACIFICA_BASE_URL: ${process.env.PACIFICA_BASE_URL}`)
  14. console.log(` PACIFICA_WS_URL: ${process.env.PACIFICA_WS_URL}`)
  15. // 2. 创建 Pacifica Client
  16. console.log('\n🔧 创建 Pacifica Client...')
  17. const client = new PacificaClient({
  18. baseUrl: process.env.PACIFICA_BASE_URL || 'https://api.pacifica.fi',
  19. wsUrl: process.env.PACIFICA_WS_URL || 'wss://ws.pacifica.fi/ws',
  20. account: process.env.PACIFICA_ACCOUNT,
  21. privateKey: process.env.PACIFICA_ACCOUNT_PRIVATE_KEY,
  22. agentWallet: process.env.PACIFICA_AGENT_WALLET,
  23. agentPrivateKey: process.env.PACIFICA_AGENT_PRIVATE_KEY,
  24. })
  25. // 3. 测试基本 API 调用
  26. try {
  27. console.log('\n🧪 测试 /api/v1/info 端点...')
  28. const info = await client.getPublic('/api/v1/info')
  29. console.log(`✅ 成功获取市场信息,共 ${info.length} 个交易对`)
  30. // 显示前5个交易对
  31. console.log('📋 前5个交易对:')
  32. info.slice(0, 5).forEach((market: any) => {
  33. console.log(` ${market.symbol}: 价格精度=${market.tick_size}, 数量精度=${market.lot_size}`)
  34. })
  35. } catch (error) {
  36. console.error('❌ API 调用失败:', error)
  37. return
  38. }
  39. // 4. 创建 Adapter 并测试
  40. try {
  41. console.log('\n🔌 创建 Pacifica Adapter...')
  42. const adapter = new PacificaAdapter(client)
  43. console.log('🕐 测试时间同步...')
  44. const serverTime = await adapter.time()
  45. const localTime = Date.now()
  46. const skew = Math.abs(serverTime - localTime)
  47. console.log(`⏰ 服务器时间: ${new Date(serverTime).toISOString()}`)
  48. console.log(`⏰ 本地时间: ${new Date(localTime).toISOString()}`)
  49. console.log(`⏰ 时间偏差: ${skew}ms`)
  50. console.log('\n📊 测试符号列表...')
  51. const symbols = await adapter.symbols()
  52. console.log(`✅ 成功获取 ${symbols.length} 个交易符号`)
  53. console.log('\n💰 测试余额查询...')
  54. const balances = await adapter.balances()
  55. console.log(`✅ 成功获取余额信息,共 ${balances.length} 项`)
  56. balances.forEach(balance => {
  57. if (parseFloat(balance.total) > 0) {
  58. console.log(` ${balance.asset}: ${balance.total} (可用: ${balance.free})`)
  59. }
  60. })
  61. } catch (error) {
  62. console.error('❌ Adapter 测试失败:', error)
  63. }
  64. }
  65. debugPacifica().catch(console.error)