"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPoolKeys = void 0; const web3_js_1 = require("@solana/web3.js"); const raydium_sdk_1 = require("@raydium-io/raydium-sdk"); function createPoolKeys(id, accountData, minimalMarketLayoutV3) { return { id, baseMint: accountData.baseMint, quoteMint: accountData.quoteMint, lpMint: accountData.lpMint, baseDecimals: accountData.baseDecimal.toNumber(), quoteDecimals: accountData.quoteDecimal.toNumber(), lpDecimals: 5, version: 4, programId: raydium_sdk_1.MAINNET_PROGRAM_ID.AmmV4, authority: raydium_sdk_1.Liquidity.getAssociatedAuthority({ programId: raydium_sdk_1.MAINNET_PROGRAM_ID.AmmV4, }).publicKey, openOrders: accountData.openOrders, targetOrders: accountData.targetOrders, baseVault: accountData.baseVault, quoteVault: accountData.quoteVault, marketVersion: 3, marketProgramId: accountData.marketProgramId, marketId: accountData.marketId, marketAuthority: raydium_sdk_1.Market.getAssociatedAuthority({ programId: accountData.marketProgramId, marketId: accountData.marketId, }).publicKey, marketBaseVault: accountData.baseVault, marketQuoteVault: accountData.quoteVault, marketBids: minimalMarketLayoutV3.bids, marketAsks: minimalMarketLayoutV3.asks, marketEventQueue: minimalMarketLayoutV3.eventQueue, withdrawQueue: accountData.withdrawQueue, lpVault: accountData.lpVault, lookupTableAccount: web3_js_1.PublicKey.default, }; } exports.createPoolKeys = createPoolKeys;