private static async Task RestAPI() { var api = new BinanceApi(); if (await api.PingAsync()) { Console.WriteLine("Successful!"); } else { Console.WriteLine("Fail!"); } var apiKey = Environment.GetEnvironmentVariable("API_KEY"); var apiSecret = Environment.GetEnvironmentVariable("API_SECRET"); using var user = new BinanceApiUser(apiKey, apiSecret); //await Symbol.UpdateCacheAsync(api); //Console.WriteLine(Symbol.Cache.GetAll().Count()); //Console.WriteLine(Symbol.Cache.Get("BTCUSD")); //Console.WriteLine(Symbol.Cache.Get("BTCEUR")); //Console.WriteLine($"{Symbol.Cache.Get("BTCUSDT")} {Symbol.Cache.Get("BTCUSDT")?.IsMarginTradingAllowed}"); try { var clientOrderId = "my_2"; //var clientOrder = new MarketOrder(user) //{ // Symbol = Symbol.XLM_USDT, // Side = OrderSide.Sell, // Quantity = 90m, // Id = clientOrderId //}; //var conf = await api.PlaceMarginMarketAsync(clientOrder, true); //Console.WriteLine(JsonConvert.SerializeObject(conf, Formatting.Indented)); var order = await api.GetMarginOrderByClientIdAsync(user, Symbol.XLM_USDT, clientOrderId); Console.WriteLine(JsonConvert.SerializeObject(order, Formatting.Indented)); //var xlmMaxBorrow = api.GetMaxBorrowAsync(user, "XLM"); //var usdMaxBorrow = api.GetMaxBorrowAsync(user, "USDT"); //var btcMaxBorrow = api.GetMaxBorrowAsync(user, "BTC"); //await Task.WhenAll(new[] {xlmMaxBorrow, usdMaxBorrow, btcMaxBorrow}); //Console.WriteLine($"Xlm: {xlmMaxBorrow.Result}"); //Console.WriteLine($"usd: {usdMaxBorrow.Result}"); //Console.WriteLine($"usd: {btcMaxBorrow.Result}"); //var pairs = await api.GetMarginPairsAsync(user); //Console.WriteLine(JsonConvert.SerializeObject(pairs, Formatting.Indented)); } catch (BinanceRequestRateLimitExceededException ex) { Console.WriteLine( $"TEST Order HTTP Failed: Status: {ex.StatusCode}, Code: {ex.ErrorCode}, Message: {ex.ErrorMessage}"); } catch (BinanceHttpException ex) { Console.WriteLine( $"TEST Order HTTP Failed: Status: {ex.StatusCode}, Code: {ex.ErrorCode}, Message: {ex.ErrorMessage}"); } catch (BinanceApiException e) { Console.WriteLine($"TEST Order Failed: \"{e.Message}\""); } catch (Exception e) { Console.WriteLine($"TEST Order Exception: \"{e.Message}\""); } }