Tucsky / aggr

Cryptocurrency trades aggregator
https://charts.aggr.trade/
GNU General Public License v3.0
811 stars 232 forks source link

[BUG] BINANCE_FUTURES is missing some trading pairs #333

Closed jellycookie1 closed 1 year ago

jellycookie1 commented 1 year ago

Describe the issue

There are only 80 trading pairs in the connection pool, but there are obviously many more trading pairs available on BINANCE_FUTURES.

Steps to reproduce

  1. Open any trades panel then click search.
  2. Filter with BINANCE_FUTURES then seach "1000pepeusdt".
  3. Matching result does not exist.
adeacetis commented 1 year ago

Hey, Thank you for filling this bug as discussed in Discord.

A quick investigation shows that the pair you are mentioning is returned by the API when sending a GET request to https://fapi.binance.com/fapi/v1/exchangeInfo.

{
    "symbol": "1000PEPEUSDT",
    "pair": "1000PEPEUSDT",
    "contractType": "PERPETUAL",
    "deliveryDate": 4133404800000,
    "onboardDate": 1683244800000,
    "status": "TRADING",
    "maintMarginPercent": "2.5000",
    "requiredMarginPercent": "5.0000",
    "baseAsset": "1000PEPE",
    "quoteAsset": "USDT",
    "marginAsset": "USDT",
    "pricePrecision": 7,
    "quantityPrecision": 0,
    "baseAssetPrecision": 8,
    "quotePrecision": 8,
    "underlyingType": "COIN",
    "underlyingSubType": [
        "Meme"
    ],
    "settlePlan": 0,
    "triggerProtect": "0.1500",
    "liquidationFee": "0.015000",
    "marketTakeBound": "0.15",
    "maxMoveOrderLimit": 10000,
    "filters": [
        {
            "minPrice": "0.0000001",
            "maxPrice": "200",
            "filterType": "PRICE_FILTER",
            "tickSize": "0.0000001"
        },
        {
            "stepSize": "1",
            "filterType": "LOT_SIZE",
            "maxQty": "800000000",
            "minQty": "1"
        },
        {
            "stepSize": "1",
            "filterType": "MARKET_LOT_SIZE",
            "maxQty": "50000000",
            "minQty": "1"
        },
        {
            "limit": 200,
            "filterType": "MAX_NUM_ORDERS"
        },
        {
            "limit": 10,
            "filterType": "MAX_NUM_ALGO_ORDERS"
        },
        {
            "notional": "5.0",
            "filterType": "MIN_NOTIONAL"
        },
        {
            "multiplierDown": "0.8500",
            "multiplierUp": "1.1500",
            "multiplierDecimal": "4",
            "filterType": "PERCENT_PRICE"
        }
    ],
    "orderTypes": [
        "LIMIT",
        "MARKET",
        "STOP",
        "STOP_MARKET",
        "TAKE_PROFIT",
        "TAKE_PROFIT_MARKET",
        "TRAILING_STOP_MARKET"
    ],
    "timeInForce": [
        "GTC",
        "IOC",
        "FOK",
        "GTX"
    ]
},

I have looked into the request we send to the CORS server when we refresh the product list manually it doesn't return this pair. It seems that there's some HTTP/PROXY caching going on the server side. I don't have access to it.

@Tucsky should flush it and it should work normally. Ideally, we should invalidate the cache much faster than the actual rate which seems to be higher than a day.

See Proxy Caches

Tucsky commented 1 year ago

The server IP was geo restricted by Binance for a while and I had them manualy cached with infinite expiration because of that BUT they seems to have fixed it now so yeah, flushed it and it should show now 👍🏼

@jellycookie1 be sure to refresh on the client too using the 🔁 icon next to the exchange name in the search sources window

adeacetis commented 1 year ago

Aaand we're live!

image