Support reloading reloadSerum3ExternalMarkets from Ids class

remove console logs
This commit is contained in:
tjs 2023-09-05 09:34:15 -04:00
parent 3715a9a7f2
commit c7c362292c
1 changed files with 52 additions and 13 deletions

View File

@ -144,7 +144,7 @@ export class Group {
),
this.reloadMintInfos(client, ids),
this.reloadSerum3Markets(client, ids).then(() =>
this.reloadSerum3ExternalMarkets(client),
this.reloadSerum3ExternalMarkets(client, ids),
),
]);
// console.timeEnd('group.reload');
@ -280,23 +280,63 @@ export class Group {
);
}
public async reloadSerum3ExternalMarkets(client: MangoClient): Promise<void> {
const externalMarkets = await Promise.all(
Array.from(this.serum3MarketsMapByExternal.values()).map((serum3Market) =>
Market.load(
client.program.provider.connection,
serum3Market.serumMarketExternal,
{ commitment: client.program.provider.connection.commitment },
OPENBOOK_PROGRAM_ID[client.cluster],
public async reloadSerum3ExternalMarkets(
client: MangoClient,
ids?: Id,
): Promise<void> {
let markets: Market[] = [];
const externalMarketIds = ids?.getSerum3ExternalMarkets();
if (ids && externalMarketIds && externalMarketIds.length) {
markets = await Promise.all(
(
await client.program.provider.connection.getMultipleAccountsInfo(
externalMarketIds,
)
).map(
(account, index) =>
new Market(
Market.getLayout(OPENBOOK_PROGRAM_ID[client.cluster]).decode(
account?.data,
),
ids.banks.find(
(b) =>
b.tokenIndex ===
this.serum3MarketsMapByExternal.get(
externalMarketIds[index].toString(),
)?.baseTokenIndex,
)?.decimals || 6,
ids.banks.find(
(b) =>
b.tokenIndex ===
this.serum3MarketsMapByExternal.get(
externalMarketIds[index].toString(),
)?.quoteTokenIndex,
)?.decimals || 6,
{ commitment: client.program.provider.connection.commitment },
OPENBOOK_PROGRAM_ID[client.cluster],
),
),
),
);
);
} else {
markets = await Promise.all(
Array.from(this.serum3MarketsMapByExternal.values()).map(
(serum3Market) =>
Market.load(
client.program.provider.connection,
serum3Market.serumMarketExternal,
{ commitment: client.program.provider.connection.commitment },
OPENBOOK_PROGRAM_ID[client.cluster],
),
),
);
}
this.serum3ExternalMarketsMap = new Map(
Array.from(this.serum3MarketsMapByExternal.values()).map(
(serum3Market, index) => [
serum3Market.serumMarketExternal.toBase58(),
externalMarkets[index],
markets[index],
],
),
);
@ -469,7 +509,6 @@ export class Group {
await client.program.provider.connection.getMultipleAccountsInfo(
vaultPks,
);
const coder = new BorshAccountsCoder(client.program.idl);
this.vaultAmountsMap = new Map(
vaultAccounts.map((vaultAi, i) => {
if (!vaultAi) {