mirror of
https://github.com/fdundjer/solana-sniper-bot.git
synced 2025-11-09 20:12:06 +10:00
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import { PublicKey } from '@solana/web3.js';
|
|
import { Liquidity, LiquidityPoolKeys, LiquidityStateV4, MAINNET_PROGRAM_ID, Market } from '@raydium-io/raydium-sdk';
|
|
import { MinimalMarketLayoutV3 } from './market';
|
|
|
|
export function createPoolKeys(
|
|
id: PublicKey,
|
|
accountData: LiquidityStateV4,
|
|
minimalMarketLayoutV3: MinimalMarketLayoutV3,
|
|
): LiquidityPoolKeys {
|
|
return {
|
|
id,
|
|
baseMint: accountData.baseMint,
|
|
quoteMint: accountData.quoteMint,
|
|
lpMint: accountData.lpMint,
|
|
baseDecimals: accountData.baseDecimal.toNumber(),
|
|
quoteDecimals: accountData.quoteDecimal.toNumber(),
|
|
lpDecimals: 5,
|
|
version: 4,
|
|
programId: MAINNET_PROGRAM_ID.AmmV4,
|
|
authority: Liquidity.getAssociatedAuthority({
|
|
programId: 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: 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: PublicKey.default,
|
|
};
|
|
}
|