fixes for open order creation when placing order

This commit is contained in:
Adrian Brzeziński 2023-01-07 03:01:11 +01:00
parent b6996419ad
commit c28f3cd07a
1 changed files with 4 additions and 9 deletions

View File

@ -1211,20 +1211,15 @@ export class MangoClient {
this.program.programId,
mangoAccount.publicKey,
);
const tokenIndex =
serum3Market[
side == Serum3Side.bid ? 'baseTokenIndex' : 'quoteTokenIndex'
];
const tokenIndex = serum3Market['baseTokenIndex'];
const baseBank = group.getFirstBankByTokenIndex(tokenIndex);
// only push bank/oracle if no deposit has been previously made for same token
const hasBaseBank =
mangoAccount.tokens[tokenIndex].tokenIndex !==
TokenPosition.TokenIndexUnset;
const wasTokenInUseBefore = mangoAccount.getToken(tokenIndex);
additionalAccounts = {
banks: !hasBaseBank ? [baseBank.publicKey] : [],
oracles: !hasBaseBank ? [baseBank.oracle] : [],
banks: !wasTokenInUseBefore ? [baseBank.publicKey] : [],
oracles: !wasTokenInUseBefore ? [baseBank.oracle] : [],
openOrders: [ooPk],
perps: [],
};