Skip to content

Instantly share code, notes, and snippets.

@metaproph3t
Created October 14, 2023 23:28
Show Gist options
  • Save metaproph3t/3ac57f7b6dd3f5521d60a281a9be4d1b to your computer and use it in GitHub Desktop.
Save metaproph3t/3ac57f7b6dd3f5521d60a281a9be4d1b to your computer and use it in GitHub Desktop.
let market = await openbook.createMarket(
provider.wallet.payer,
"MARKET1",
quoteMint,
baseMint,
new BN(10),
new BN(10),
new BN(0),
new BN(0),
new BN(0),
null,
null,
null,
null,
null,
);
let openOrders = await openbook.createOpenOrders(market, new BN(1));
let placeOrderArgs = {
side: { bid: {} },
priceLots: I80F48.fromNumber(1000).toTwos(),
maxBaseLots: new BN(1),
maxQuoteLotsIncludingFees: new BN(1000),
clientOrderId: new BN(0),
orderType: { limit: {} },
expiryTimestamp: new BN(0),
selfTradeBehavior: { decrementTake: {} },
limit: 200,
};
let storedMarket = await openbook.getMarket(market);
await openbookProgram.methods
.placeOrder(placeOrderArgs)
.accounts({
signer: payer.publicKey,
asks: storedMarket.asks,
bids: storedMarket.bids,
marketVault: storedMarket.marketQuoteVault,
eventHeap: storedMarket.eventHeap,
market: market,
oracleA: null,
oracleB: null,
openOrdersAdmin: null,
openOrdersAccount: openOrders,
userTokenAccount: quoteAccount,
tokenProgram: TOKEN_PROGRAM_ID,
})
.rpc();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment