Nick/fix topmakers error (#362)

* add fallback account fetch to topMakers

* remove accidental inclusion
This commit is contained in:
lowkeynicc
2025-03-27 12:22:54 -04:00
committed by GitHub
parent f0bcb14aa0
commit 0690be72bd
2 changed files with 17 additions and 2 deletions

View File

@@ -18,6 +18,7 @@ import { RedisClient } from '@drift/common/clients';
import { logger } from './logger';
import { NextFunction, Request, Response } from 'express';
import FEATURE_FLAGS from './featureFlags';
import { Connection } from '@solana/web3.js';
export const l2WithBNToStrings = (l2: L2OrderBook): any => {
for (const key of Object.keys(l2)) {
@@ -380,7 +381,8 @@ export const getAccountFromId = async (
export const getRawAccountFromId = async (
userMapClient: RedisClient,
topMakers: string[]
topMakers: string[],
connection: Connection
): Promise<
{
userAccountPubKey: string;
@@ -395,7 +397,19 @@ export const getRawAccountFromId = async (
userAccountPubKey,
accountBase64: userAccountEncoded.split('::')[1],
};
} else {
// user is not in the userMap, try to fetch from the connection
const account = await connection.getAccountInfo(
new PublicKey(userAccountPubKey)
);
if (account) {
return {
userAccountPubKey,
accountBase64: account.data.toString('base64'),
};
}
}
return {
userAccountPubKey,
accountBase64: null,