Files
solana-sniper-bot/helpers/market.ts
Filip Dunder 4fcf5165d5 tsc & prettier
2024-04-30 10:54:57 -03:00

23 lines
858 B
TypeScript

import { Commitment, Connection, PublicKey } from "@solana/web3.js";
import { GetStructureSchema, MARKET_STATE_LAYOUT_V3, publicKey, struct } from "@raydium-io/raydium-sdk";
export const MINIMAL_MARKET_STATE_LAYOUT_V3 = struct([publicKey("eventQueue"), publicKey("bids"), publicKey("asks")]);
export type MinimalMarketStateLayoutV3 = typeof MINIMAL_MARKET_STATE_LAYOUT_V3;
export type MinimalMarketLayoutV3 = GetStructureSchema<MinimalMarketStateLayoutV3>;
export async function getMinimalMarketV3(
connection: Connection,
marketId: PublicKey,
commitment?: Commitment,
): Promise<MinimalMarketLayoutV3> {
const marketInfo = await connection.getAccountInfo(marketId, {
commitment,
dataSlice: {
offset: MARKET_STATE_LAYOUT_V3.offsetOf("eventQueue"),
length: 32 * 3,
},
});
return MINIMAL_MARKET_STATE_LAYOUT_V3.decode(marketInfo!.data);
}