@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
39 lines (36 loc) • 1.18 kB
text/typescript
import { blob, publicKey, struct, u64, WideBits } from "../../marshmallow";
function accountFlagsLayout(property = "accountFlags"): WideBits<string> {
const ACCOUNT_FLAGS_LAYOUT = new WideBits(property);
ACCOUNT_FLAGS_LAYOUT.addBoolean("initialized");
ACCOUNT_FLAGS_LAYOUT.addBoolean("market");
ACCOUNT_FLAGS_LAYOUT.addBoolean("openOrders");
ACCOUNT_FLAGS_LAYOUT.addBoolean("requestQueue");
ACCOUNT_FLAGS_LAYOUT.addBoolean("eventQueue");
ACCOUNT_FLAGS_LAYOUT.addBoolean("bids");
ACCOUNT_FLAGS_LAYOUT.addBoolean("asks");
return ACCOUNT_FLAGS_LAYOUT;
}
export const MARKET_STATE_LAYOUT_V2 = struct([
blob(5),
accountFlagsLayout("accountFlags"),
publicKey("ownAddress"),
u64("vaultSignerNonce"),
publicKey("baseMint"),
publicKey("quoteMint"),
publicKey("baseVault"),
u64("baseDepositsTotal"),
u64("baseFeesAccrued"),
publicKey("quoteVault"),
u64("quoteDepositsTotal"),
u64("quoteFeesAccrued"),
u64("quoteDustThreshold"),
publicKey("requestQueue"),
publicKey("eventQueue"),
publicKey("bids"),
publicKey("asks"),
u64("baseLotSize"),
u64("quoteLotSize"),
u64("feeRateBps"),
u64("referrerRebatesAccrued"),
blob(7),
]);