Gmx V2 Prices (#8)

* Update prices api

* Update worker services in Program.cs
This commit is contained in:
Oda
2025-02-03 16:33:41 +07:00
committed by GitHub
parent 17114ac787
commit ff0433c349
9 changed files with 126 additions and 36 deletions

View File

@@ -2,6 +2,7 @@ using System.Numerics;
using Managing.ABI.GmxV2.SyntheticsReader.ContractDefinition;
using Managing.Common;
using Managing.Core;
using Managing.Domain.Candles;
using Managing.Domain.Trades;
using Managing.Infrastructure.Evm.Models.Gmx.v2;
using Nethereum.Web3;
@@ -104,4 +105,39 @@ internal static class GmxV2Mappers
ShortTokenPrice = mp.ShortTokenPrice
}).ToList();
}
public static Candle Map(List<double> marketPrices, Enums.Ticker ticker, Enums.Timeframe timeframe, int timeBetween)
{
return new Candle()
{
Date = DateHelpers.GetFromUnixTimestamp((int)marketPrices[0]).AddSeconds(timeBetween).AddSeconds(-1),
OpenTime = DateHelpers.GetFromUnixTimestamp((int)marketPrices[0]),
Open = Convert.ToDecimal(marketPrices[1]),
High = Convert.ToDecimal(marketPrices[2]),
Low = Convert.ToDecimal(marketPrices[3]),
Close = Convert.ToDecimal(marketPrices[4]),
Exchange = Enums.TradingExchanges.Evm,
Ticker = ticker.ToString(),
Timeframe = timeframe
};
}
public static List<Enums.Ticker> Map(GmxV2TokenList tokenList)
{
var tokens = new List<Enums.Ticker>();
foreach (var t in tokenList.Tokens)
{
try
{
var ticker = MiscExtensions.ParseEnum<Enums.Ticker>(t.Symbol);
tokens.Add(ticker);
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
return tokens;
}
}