12345678910111213141516171819202122 |
- 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);
- }
|