solana-parser
Version:
lightweight transaction parser for popular DeFi applications on the Solana blockchain, written in TypeScript.
112 lines • 4.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RAY_AMM_V4_POOL_LAYOUT = exports.SWAP_BASE_OUT_LAYOUT = exports.SWAP_BASE_IN_LAYOUT = exports.WITHDRAW_LAYOUT = exports.DEPOSIT_LAYOUT = exports.INIT_POOL_LAYOUT = void 0;
const buffer_layout_1 = require("@solana/buffer-layout");
const layout_1 = require("../../../core/layout");
exports.INIT_POOL_LAYOUT = (0, buffer_layout_1.struct)([
(0, layout_1.uint64)('timestamp'),
(0, buffer_layout_1.u8)('quoteDecimals'),
(0, buffer_layout_1.u8)('baseDecimals'),
(0, layout_1.uint64)('quoteLotSize'),
(0, layout_1.uint64)('baseLotSize'),
(0, layout_1.uint64)('quoteAmountIn'),
(0, layout_1.uint64)('baseAmountIn'),
(0, layout_1.pubKey)('marketId'),
]);
exports.DEPOSIT_LAYOUT = (0, buffer_layout_1.struct)([
(0, layout_1.uint64)('maxBaseAmount'),
(0, layout_1.uint64)('maxQuoteAmount'),
(0, layout_1.uint64)('fixedSide'),
(0, layout_1.uint64)('baseReserve'),
(0, layout_1.uint64)('quoteReserve'),
(0, layout_1.uint64)('poolLpAmount'),
(0, layout_1.uint128)('pnlX'),
(0, layout_1.uint128)('pnlY'),
(0, layout_1.uint64)('baseAmountIn'),
(0, layout_1.uint64)('quoteAmountIn'),
(0, layout_1.uint64)('mintedLpAmount'),
]);
exports.WITHDRAW_LAYOUT = (0, buffer_layout_1.struct)([
(0, layout_1.uint64)('withdrawLpAmount'),
(0, layout_1.uint64)('userLpAmount'),
(0, layout_1.uint64)('baseReserve'),
(0, layout_1.uint64)('quoteReserve'),
(0, layout_1.uint64)('poolLpAmount'),
(0, layout_1.uint128)('pnlX'),
(0, layout_1.uint128)('pnlY'),
(0, layout_1.uint64)('baseAmountOut'),
(0, layout_1.uint64)('quoteAmountOut'),
]);
exports.SWAP_BASE_IN_LAYOUT = (0, buffer_layout_1.struct)([
(0, layout_1.uint64)('amountIn'),
(0, layout_1.uint64)('minimumAmountOut'),
(0, layout_1.uint64)('direction'),
(0, layout_1.uint64)('userSource'),
(0, layout_1.uint64)('baseReserve'),
(0, layout_1.uint64)('quoteReserve'),
(0, layout_1.uint64)('amountOut'),
]);
exports.SWAP_BASE_OUT_LAYOUT = (0, buffer_layout_1.struct)([
(0, layout_1.uint64)('maxAmountIn'),
(0, layout_1.uint64)('amountOut'),
(0, layout_1.uint64)('direction'),
(0, layout_1.uint64)('userSource'),
(0, layout_1.uint64)('baseReserve'),
(0, layout_1.uint64)('quoteReserve'),
(0, layout_1.uint64)('amountIn'),
]);
exports.RAY_AMM_V4_POOL_LAYOUT = (0, buffer_layout_1.struct)([
(0, layout_1.uint64)('status'),
(0, layout_1.uint64)('nonce'),
(0, layout_1.uint64)('maxOrder'),
(0, layout_1.uint64)('depth'),
(0, layout_1.uint64)('baseDecimal'),
(0, layout_1.uint64)('quoteDecimal'),
(0, layout_1.uint64)('state'),
(0, layout_1.uint64)('resetFlag'),
(0, layout_1.uint64)('minSize'),
(0, layout_1.uint64)('volMaxCutRatio'),
(0, layout_1.uint64)('amountWaveRatio'),
(0, layout_1.uint64)('baseLotSize'),
(0, layout_1.uint64)('quoteLotSize'),
(0, layout_1.uint64)('minPriceMultiplier'),
(0, layout_1.uint64)('maxPriceMultiplier'),
(0, layout_1.uint64)('systemDecimalValue'),
(0, layout_1.uint64)('minSeparateNumerator'),
(0, layout_1.uint64)('minSeparateDenominator'),
(0, layout_1.uint64)('tradeFeeNumerator'),
(0, layout_1.uint64)('tradeFeeDenominator'),
(0, layout_1.uint64)('pnlNumerator'),
(0, layout_1.uint64)('pnlDenominator'),
(0, layout_1.uint64)('swapFeeNumerator'),
(0, layout_1.uint64)('swapFeeDenominator'),
(0, layout_1.uint64)('baseNeedTakePnl'),
(0, layout_1.uint64)('quoteNeedTakePnl'),
(0, layout_1.uint64)('quoteTotalPnl'),
(0, layout_1.uint64)('baseTotalPnl'),
(0, layout_1.uint64)('poolOpenTime'),
(0, layout_1.uint64)('punishPcAmount'),
(0, layout_1.uint64)('punishCoinAmount'),
(0, layout_1.uint64)('orderbookToInitTime'),
(0, layout_1.uint128)('swapBaseInAmount'),
(0, layout_1.uint128)('swapQuoteOutAmount'),
(0, layout_1.uint64)('swapBase2QuoteFee'),
(0, layout_1.uint128)('swapQuoteInAmount'),
(0, layout_1.uint128)('swapBaseOutAmount'),
(0, layout_1.uint64)('swapQuote2BaseFee'),
(0, layout_1.pubKey)('baseVault'),
(0, layout_1.pubKey)('quoteVault'),
(0, layout_1.pubKey)('baseMint'),
(0, layout_1.pubKey)('quoteMint'),
(0, layout_1.pubKey)('lpMint'),
(0, layout_1.pubKey)('openOrders'),
(0, layout_1.pubKey)('marketId'),
(0, layout_1.pubKey)('marketProgramId'),
(0, layout_1.pubKey)('targetOrders'),
(0, layout_1.pubKey)('withdrawQueue'),
(0, layout_1.pubKey)('lpVault'),
(0, layout_1.pubKey)('owner'),
(0, layout_1.uint64)('lpReserve'),
(0, buffer_layout_1.blob)(24, 'padding'),
]);
//# sourceMappingURL=layout.js.map