private Order Convert(LiquidQuoinePlacedOrder o) //TODO: ??? { return(new Order( o.Id.ToString(), o.CurrencyPairCode, "", //liquid doesn't supply clientOrderId field nameof(o.Status), nameof(o.OrderType), "", //time in force o.CreatedAt.ToString(), o.UpdatedAt.ToString(), o.CreatedAt.ToString(), //timestamp (float)o.Quantity, (float)o.Price )); }
/// <summary> /// By default when not send user preffered fundingCurrensies, subscribes to each pair for each funding currency ("usd", "btc", "cash", "eth"). /// </summary> /// <param name="onData">action on update</param> /// <param name="fundingCurrensies">user preffered funding currencies</param> public void SubscribeToUserOrdersUpdate(Action <LiquidQuoinePlacedOrder> onData, string[] fundingCurrensies = null) { if (authProvider == null) { throw new Exception("for subscribing to private channels you must provide api credentials"); } if (fundingCurrensies == null || !fundingCurrensies.Any()) { fundingCurrensies = new string[] { "usd", "btc", "cash", "eth" }; } foreach (var fundingCurrency in fundingCurrensies) { var channel = _pusherClient.Subscribe(FillPathParameter(UserAccountOrdersEndpoint, fundingCurrency)); channel.Bind("updated", (dynamic data) => { string t = Convert.ToString(data); LiquidQuoinePlacedOrder deserialized = Deserialize <LiquidQuoinePlacedOrder>(t, false).Data; onData(deserialized); }); } }