UNPKG

solana-dex-parser

Version:

Solana Dex Transaction Parser

51 lines (46 loc) 1.18 kB
import { PublicKey } from '@solana/web3.js'; import { JupiterSwapEvent } from '../../types/jupiter'; export class JupiterLayout { amm: Uint8Array; inputMint: Uint8Array; inputAmount: bigint; outputMint: Uint8Array; outputAmount: bigint; constructor(fields: { amm: Uint8Array; inputMint: Uint8Array; inputAmount: bigint; outputMint: Uint8Array; outputAmount: bigint; }) { this.amm = fields.amm; this.inputMint = fields.inputMint; this.inputAmount = fields.inputAmount; this.outputMint = fields.outputMint; this.outputAmount = fields.outputAmount; } static schema = new Map([ [ JupiterLayout, { kind: 'struct', fields: [ ['amm', [32]], ['inputMint', [32]], ['inputAmount', 'u64'], ['outputMint', [32]], ['outputAmount', 'u64'], ], }, ], ]); toSwapEvent(): JupiterSwapEvent { return { amm: new PublicKey(this.amm), inputMint: new PublicKey(this.inputMint), inputAmount: this.inputAmount, outputMint: new PublicKey(this.outputMint), outputAmount: this.outputAmount, }; } }