Add perp market to redeem mngo parsing.

This commit is contained in:
Nicholas Clarke 2022-01-24 15:27:22 -08:00
parent 5bf322ef00
commit 7922403ae2
2 changed files with 26 additions and 3 deletions

View File

@ -1059,11 +1059,23 @@ function parseFillLog(
) {
let mangoGroup = eventData.mangoGroup.toString();
let marginAccount = eventData.mangoAccount.toString();
const config = new Config(IDS);
const groupConfig = config.groups.find((g) =>
g.publicKey.equals(eventData.mangoGroup)
) as GroupConfig;
let perpMarketConfig = groupConfig.perpMarkets.find(
(p) => p.marketIndex === eventData.marketIndex.toNumber()
) as PerpMarketConfig;
let decimals = ids["groups"]
.find((e) => e["publicKey"] === mangoGroup)
["tokens"].find((e) => e.symbol === "MNGO").decimals;
let perpMarketName = perpMarketConfig.name
let baseSymbol = perpMarketConfig.baseSymbol
let quantity = eventData.redeemedMngo.toNumber() / Math.pow(10, decimals);
return {
@ -1075,6 +1087,8 @@ function parseFillLog(
slot: slot,
signature: signature,
blocktime: blockTime,
perp_market: perpMarketName,
baseSymbol: baseSymbol
};
}

View File

@ -1029,12 +1029,19 @@ function extractSettleFees(
let decimals = ids['groups']
.find((e) => e['publicKey'] === mangoGroup)
['tokens'].find((e) => e.symbol === 'MNGO').decimals;
let perpMarket = ids['groups']
.find((e) => e['publicKey'] === mangoGroup)
['perpMarkets'].find(e => e.publicKey === instruction.accounts[4])
let perpMarketName = perpMarket.name
let baseSymbol = perpMarket.baseSymbol
// TODO: This would be simpler to just parse logs
let transferInstruction = innerInstructions.find(
(e) => e.index === instructionNum - 1,
).instructions[0];
let quantity =
parseInt(transferInstruction.parsed.info.amount) / Math.pow(10, decimals);
@ -1048,6 +1055,8 @@ function extractSettleFees(
slot: slot,
signature: signature,
blocktime: blockTime,
perp_market: perpMarketName,
baseSymbol: baseSymbol
},
];
}