From 840d1e975b5794eaf102f2d012ca1fb963a8bdd8 Mon Sep 17 00:00:00 2001 From: advaith101 Date: Wed, 4 Dec 2024 17:05:58 -0500 Subject: [PATCH] feat: update reserves in market table --- .../src/v3_indexer/indexers/amm/utils.ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/indexer/src/v3_indexer/indexers/amm/utils.ts b/packages/indexer/src/v3_indexer/indexers/amm/utils.ts index da532b8..1170df1 100644 --- a/packages/indexer/src/v3_indexer/indexers/amm/utils.ts +++ b/packages/indexer/src/v3_indexer/indexers/amm/utils.ts @@ -251,5 +251,25 @@ export async function indexAmmMarketAccountWithContext( return Err({ type: AmmMarketAccountIndexingErrors.AmmTwapPriceError }); } + try { + const marketReservesUpdateResult = await usingDb((db) => + db + .update(schema.markets) + .set({ + baseAmount: ammMarketAccount.baseAmount.toString(), + quoteAmount: ammMarketAccount.quoteAmount.toString(), + }) + .where(eq(schema.markets.marketAcct, account.toBase58())) + .returning({ marketAcct: schema.markets.marketAcct }) + ); + if (marketReservesUpdateResult === undefined || marketReservesUpdateResult.length === 0) { + logger.error("failed to update market reserves", account.toBase58()); + return Err({ type: AmmMarketAccountIndexingErrors.AmmTwapPriceError }); + } + } catch (e) { + logger.error("error updating market reserves", e); + return Err({ type: AmmMarketAccountIndexingErrors.AmmTwapPriceError }); + } + return Ok(`successfully indexed amm: ${account.toBase58()}`); }