mirror of
https://github.com/0x1d/drift-keeper.git
synced 2025-12-18 03:36:40 +01:00
Add Solana market data to wallet tracker
This commit is contained in:
@@ -1,21 +1,23 @@
|
||||
const express = require('express');
|
||||
const { createMetrics } = require('./metrics');
|
||||
const { loadWalletBalance, loadUSDCBalance, extractWalletBalance, extractUSDCBalance } = require('./solana');
|
||||
const { loadWalletBalance, loadUSDCBalance, loadSolanaMarketData, extractWalletBalance, extractUSDCBalance, extractSOLPrice } = require('./solana');
|
||||
|
||||
const WALLET_ADDRESS = process.env.WALLET_ADDRESS;
|
||||
const [registry, usdcBalanceMetric, solBalanceMetric] = createMetrics();
|
||||
const [registry, usdcBalanceMetric, solBalanceMetric, solUsdcBalanceMetric] = createMetrics();
|
||||
const app = express();
|
||||
|
||||
app.get('/metrics', async (req, res) => {
|
||||
res.setHeader('Content-Type', registry.contentType);
|
||||
|
||||
let [solBalance, usdcBalance] = await Promise.all([
|
||||
let [solBalance, usdcBalance, marketData] = await Promise.all([
|
||||
loadWalletBalance(WALLET_ADDRESS),
|
||||
loadUSDCBalance(WALLET_ADDRESS)]);
|
||||
|
||||
solBalanceMetric.set(extractWalletBalance(solBalance));
|
||||
usdcBalanceMetric.set(extractUSDCBalance(usdcBalance));
|
||||
loadUSDCBalance(WALLET_ADDRESS),
|
||||
loadSolanaMarketData()]);
|
||||
|
||||
solBalanceMetric.set({ wallet: WALLET_ADDRESS}, extractWalletBalance(solBalance));
|
||||
usdcBalanceMetric.set({ wallet: WALLET_ADDRESS}, extractUSDCBalance(usdcBalance));
|
||||
solUsdcBalanceMetric.set({ wallet: WALLET_ADDRESS}, extractWalletBalance(solBalance) * extractSOLPrice(marketData));
|
||||
|
||||
res.send(await registry.metrics());
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user