Log messages start with ""Program log: " - need to account for this when parsing.

This commit is contained in:
Nicholas Clarke 2021-10-08 00:13:57 -07:00
parent 22f22cb016
commit 0928b4e5de
2 changed files with 8 additions and 13 deletions

View File

@ -1379,12 +1379,11 @@ function parseUpdateFunding(
const perpMarketConfig = groupConfig.perpMarkets.find( const perpMarketConfig = groupConfig.perpMarkets.find(
(p) => p.publicKey.toString() === perpMarketPk, (p) => p.publicKey.toString() === perpMarketPk,
) as PerpMarketConfig; ) as PerpMarketConfig;
const parsed = JSON.parse(logMessage); const parsed = JSON.parse(logMessage.slice("Program log: ".length));
if ('long_funding' in parsed && 'short_funding' in parsed) { if ('long_funding' in parsed && 'short_funding' in parsed) {
return [ return [
{ {
symbol: perpMarketConfig.baseSymbol, symbol: perpMarketConfig.baseSymbol,
market_index: perpMarketConfig.marketIndex,
long_funding: parsed.long_funding, long_funding: parsed.long_funding,
short_funding: parsed.short_funding, short_funding: parsed.short_funding,
instruction_num: instructionNum, instruction_num: instructionNum,
@ -1410,7 +1409,7 @@ function extractUpdateFundings(
blockDatetime, blockDatetime,
) { ) {
const fundingLogs = result.meta.logMessages.filter((line) => const fundingLogs = result.meta.logMessages.filter((line) =>
line.startsWith('{"long_funding":'), line.startsWith('Program log: {"long_funding":'),
); );
const fundingInstructions = instructions.filter((ix) => { const fundingInstructions = instructions.filter((ix) => {
return ix.instructionName === 'UpdateFunding'; return ix.instructionName === 'UpdateFunding';

View File

@ -70,17 +70,13 @@ async function consumeTransactions() {
}, },
}); });
console.log('Initialized'); let transactionsParsingLimit = 50000;
while (true) { await processMangoTransactions(
console.log('Refreshing transactions ' + Date()); rawTransactionsPool,
schema,
transactionsParsingLimit,
);
let transactionsParsingLimit = 50000;
await processMangoTransactions(
rawTransactionsPool,
schema,
transactionsParsingLimit,
);
}
} }
consumeTransactions(); consumeTransactions();