Merge pull request #2 from blockworks-foundation/ts/anchorevents

Ts/anchorevents
This commit is contained in:
Nicholas Clarke 2021-10-19 09:16:56 -07:00 committed by GitHub
commit 2868fa2691
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 2691 additions and 1399 deletions

1225
src/anchorParsers.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -62,6 +62,8 @@ async function insertMangoTransactions(
await client.query('COMMIT');
} catch (e) {
await client.query('ROLLBACK');
console.log('transaction rolled back')
// TODO: check settle fees
throw e;
} finally {
client.release();
@ -91,6 +93,7 @@ async function insertMangoTransactions(
await client.query('COMMIT');
} catch (e) {
await client.query('ROLLBACK');
console.log('transaction rolled back')
throw e;
} finally {
client.release();

View File

@ -141,6 +141,8 @@ async function insertTransactions(
{ table: transactionsTable },
);
console.log('Starting transaction inserts')
let batchSize = 1000;
let client = await pool.connect();
try {

1409
src/jsonParsers.ts Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@ async function processMangoTransactions(rawTransactionsPool, schema, limit) {
'3bzj3KkA3FSZHJuCmRgHhSgqeaEzD32sCHkYdRLcZm1vcuB4ra5NbU5EZqBhW6QjeKRV9QRWC4SHxK2hS54s79Zx', // settle_pnl
'5TmhvKQJmjUD9dZgCszBF8gNKUohpxwjrYu1RngZVh1hEToGMtjPtXJF89QLHXzANMWWQRfMomsgCg8353CpYgBb', // settle_fees
'mxK5eEiEUeCcQtHwmUKziyYUZJ3NXdjmZigAR6npWgcpQoJtqvikt5A7osD4y6oiLZJhzYFvqAqDznFjHm77K8V', // settle_fees called but nothing settled
'4qV6PTD1nGj5qq89FQK8QKwN231pGgtayD7uX4B6y83b19gcVXB5ByLCvApSJjCRrboiCg7RVT2p2e1CtP3zuXDb', // force_settle_quote_positions
// '4qV6PTD1nGj5qq89FQK8QKwN231pGgtayD7uX4B6y83b19gcVXB5ByLCvApSJjCRrboiCg7RVT2p2e1CtP3zuXDb', // force_settle_quote_positions
'5qDPBrFjCcaZthjRCqisHRw1mFEkHFHRFWi5jbKCmpAgpAXNdEkSv8L472D12VB5AukYaGsWhAy5bcvvUGJ1Sgtv', // FillEvent
'3YXaEG95w5eG7jBBjz8hW9auXVAv9z2MH8yw51tL8nqSqmKgXtrD1hgE7LCqK2hpFwcrpjeWtBeVqGsbCHLh3kSe', // redeem mango
'2HNnZmThkFUsG1pw9bNaJoeeGUZJun3hkcpwBJt3ZU9FKe3CY17wrJgk1BZ8txm13RJ512ThbZVZxaqsxNFn4xVs', // checked_add_net details
@ -33,6 +33,21 @@ async function processMangoTransactions(rawTransactionsPool, schema, limit) {
'59DFSbsN1DbnqUiMsStS2xQn4tBncG8w3gg8aikBvQZKnWhf1yRt87EU4WMvXtnnVe18zWaRDFVfnVYp3ASgF7tV', //token socialized loss
'4RCvRY8BWPB6FixyfufYKojUdnE91DiqmFE2b8e4FCyuWCdT1ipSzPBaWUgaajKucFr1jsveiMvTft5iiWbctCFk', // settle_pnl_multiple
'KDv62AKFqyrvULdUUeShdYK9zCeUDX8yb6kuUadoa6dJKrqjDvKU3JQj9t8e4H1FTEaEMsyLnYAT4HbTr8ikSGq', // multiple update funding
// 3.1 transactions:
"2nyoFpqeopBuFgjSXntSUbJUYtxxFXTEWrf2t1715Bm4jTrYKNDwBkZKBuDN6mWt1vDcCuyPq56RGKv9SxuLJWwe", // UpdateRootBank
"3CPWZM49NXPmpB5GKkrJHLknfSN595Gkd3MxK3AdFvFJTFHsA9ShjAqyWjfSkxYpBAc3ju19maaECzb18ey3qwK4", // CachePrices and CacheRootBanks
"bf5kGknwbfzoMyz8cFHQAoK6ajwfqeNdFeWgaSGcy19poQPBbxpeW5BiLQFLK4DUswEwUvg2TZEusyqazT4WS4Y", // UpdateFunding
"4JuHNZy2GcFJYFCYoTrekyCa2eBSq8cECVUvQp32LbFshAVFaVrvypwoKNjpfZ2rK9N7AG5PHsqqhHSWuGU3rAFk", // MngoAccrualLog
"5MuJyoTsTzMGhGKDvN21BaZrfjaw1SeRgfTxz67U7zm7aVokrMqqvMhHvRCANGbjhvAeNFT1Zmk7vZoGp32b4H7t", // OpenOrdersBalanceLog, TokenBalanceLog
"Ztxy2398k8zDPh1VFiErvAQAnQdMuUok7Z772yCST9oZpagmqjggRuzU8ScrBEpcX4X4BknC7gxvfX128BGxkXg", // WithdrawLog
"3KzZ5jYfwp6LyPUt5LFbbPLEEsYNYtdAA5hs2KAdZxqarFiVVUKJ7WFxYXf8xeFnbWwypEWpNRCeE1d3y4e5Sxrk", // FillLog
"NGgdZu6YwNnFGoSMxc6ZgfUhSVy2rkB9BDY9yvYRLYZoteDSArWn5hDUGZuYCktC81jzGb6u9W6u7ab9mWutfQe", // SettlePnl
"67axUM8Q6tvCCNa6Cq8JfR9pLCAf5wyqc7gy1eafEtA4kcYE9Gte1LT8b9ziEWhtLfaGim5t5ChYU5uaQLfteGTJ", // SettlePnl - Multiple
"24hCHGXrf9nCnkioWf6HxtRqnQHGhhtTkARgA9tqkEmWb3uUzuE2oUU3so1JGNGZftCaBMjWek5rqAHRU3VAyQEJ", // Multiple net balances changes to the same (mangoAccount, token) pair
"eu5yMAACP41tvHAMmhuRAqu9tW4ZJeVY37TqbJLYVaqavKNh1rQEH97QGq6j3Zm721dgjMs94qmLm9PiSPDcwfX", // force_settle_quote_positions
"3twdGBA3Fz9Sbn4hS8AbHEcLomj8KyLVcB9P7ToiVP83cnHEHS7WFKgcsAa2TaDvYJ8emuhmBGWDybbtxVjgZXGt", // LiquidateTokenAndPerp
"3nQBUy8naBUj7US3PiVkcUt75jV4bszuQEV2vYMgrbYJGTJAbseuQJ7HvCQBhpWZqUUWPCeT72px1ijWdd4zC5ZG" // netbalances
];
let signaturesSql = signatures.map((e) => "'" + e + "'").join(',');
@ -55,6 +70,10 @@ async function processMangoTransactions(rawTransactionsPool, schema, limit) {
mangoProgramId,
);
let errorProcessStates = processStates.filter(e => e.process_state === 'parsing error');
console.log(errorProcessStates.length + ' parsing errors')
// Set a breakpoint here to examine parsed transactions
console.log(parsedTransactions);
}

View File

@ -47,4 +47,14 @@ export function notify(content) {
}
}
export function getLatestObjPerCombination(arr, combinationFields) {
// Utility function - iterates over arr and return the element with the highest index per set of combinationFields
let latestCombinations = {};
for (let values of arr) {
let combination = combinationFields.map((e) => values[e]);
latestCombinations[combination] = values;
}
return Object.values(latestCombinations);
}