UNPKG

solana-dex-parser

Version:

Solana Dex Transaction Parser

55 lines 2.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const web3_js_1 = require("@solana/web3.js"); const dotenv_1 = __importDefault(require("dotenv")); const dex_parser_1 = require("../dex-parser"); const utils_1 = require("../utils"); dotenv_1.default.config(); describe('Dex Parser', () => { let connection; beforeAll(async () => { // Initialize connection const rpcUrl = process.env.SOLANA_RPC_URL; if (!rpcUrl) { throw new Error('SOLANA_RPC_URL environment variable is not set'); } connection = new web3_js_1.Connection(rpcUrl, { commitment: 'confirmed', // httpAgent: new https.Agent({ host: '127.0.0.1', port: 7890 }) }); }); describe('Parse Trades', () => { const parser = new dex_parser_1.DexParser(); [ "2dpTLk6AQQMJUAdhNz3dK8guEDBfR3vogUkgHwDg9praDxthgsz5cAYCL4WHrnKuAWBMG3VNquSJ3W9RNbv1pVoo", // "125MRda3h1pwGZpPRwSRdesTPiETaKvy4gdiizyc3SWAik4cECqKGw2gggwyA1sb2uekQVkupA2X9S4vKjbstxx3", // "4WGyuUf65j9ojW6zrKf9zBEQsEfW5WiuKjdh6K2dxQAn7ggMkmT1cn1v9GuFs3Ew1d7oMJGh2z1VNvwdLQqJoC9s" // transfer ] .forEach((signature) => { it(`${signature} `, async () => { const tx = await connection.getTransaction(signature, { commitment: 'confirmed', maxSupportedTransactionVersion: 0, }); if (!tx) { throw new Error(`Transaction not found > ${signature}`); } const { trades, liquidities, transfers } = parser.parseAll(tx, { tryUnknowDEX: false, // programIds: [DEX_PROGRAMS.PUMP_FUN.id, DEX_PROGRAMS.PUMP_SWAP.id] }); // fs.writeFileSync(`./src/__tests__/tx-${signature}.json`, JSON.stringify(tx, null, 2)); const swap = (0, utils_1.getFinalSwap)(trades); console.log('finalSwap', swap); console.log('trades', trades); console.log('liquidity', liquidities); console.log('transfer', transfers); expect(trades.length + liquidities.length + transfers.length).toBeGreaterThanOrEqual(1); }); }); }); }); //# sourceMappingURL=parser-trade.test.js.map