using System;
using System.Collections.Generic;
using System.Text;

namespace Knoks.Core.Exchanges.Binance
{
    class ExchangeInfo
    {
        //    "timezone": "UTC",
        //    "serverTime": 1524231965254,
        /*"rateLimits": [
            {
                "rateLimitType": "REQUESTS",
                "interval": "MINUTE",
                "limit": 1200
            },*/
        //"exchangeFilters": [],
        public IEnumerable<BinanceSymbol> Symbols { get; set; }

    }
    enum SymbolStatus
    {
        UNKNOWN,
        PRE_TRADING,
        TRADING,
        POST_TRADING,
        END_OF_DAY,
        HALT,
        AUCTION_MATCH,
        BREAK
    }
    class BinanceSymbol
    {
        public string Symbol { get; set; }//            "symbol": "ETHBTC",
        public SymbolStatus Status { get; set; }// "TRADING",
        public string BaseAsset { get; set; }// "ETH",
        public int BaseAssetPrecision { get; set; }// 8,
        public string QuoteAsset { get; set; }// "BTC",
        public int QuotePrecision { get; set; }// 8,
                                               /*"orderTypes": [
                                                   "LIMIT",
                                                   "LIMIT_MAKER",
                                                   "MARKET",
                                                   "STOP_LOSS_LIMIT",
                                                   "TAKE_PROFIT_LIMIT"
                                               ],*/
                                               //"icebergAllowed": false,
        public List<Dictionary<string, string>> Filters { get; set; }
        /*[
            {
                "filterType": "PRICE_FILTER",
                "minPrice": "0.00000100",
                "maxPrice": "100000.00000000",
                "tickSize": "0.00000100"
            },
            {
                "filterType": "LOT_SIZE",
                "minQty": "0.00100000",
                "maxQty": "100000.00000000",
                "stepSize": "0.00100000"
            },
            {
                "filterType": "MIN_NOTIONAL",
                "minNotional": "0.00100000"
            }
        ]*/

    }
}
