knowm / XChange

XChange is a Java library providing a streamlined API for interacting with 60+ Bitcoin and Altcoin exchanges providing a consistent interface for trading and accessing market data.
http://knowm.org/open-source/xchange/
MIT License
3.82k stars 1.93k forks source link

BINANCE FUTURE exchangeMetaData, need some advise #4790

Closed rizer1980 closed 2 months ago

rizer1980 commented 7 months ago

Hello. When we set 'SPECIFIC_PARAM_FUTURES_ENABLED = true' and create Future Binance exchange: according to this code in remoteInit()

@makarid

if(usingSandbox()){
        if(isFuturesSandbox()){
          BinanceAdapters.adaptFutureExchangeMetaData(exchangeMetaData, marketDataService.getFutureExchangeInfo());
        } else {
          exchangeMetaData = BinanceAdapters.adaptExchangeMetaData(marketDataService.getExchangeInfo(), assetDetailMap);
        }
      } else {
        exchangeMetaData = BinanceAdapters.adaptExchangeMetaData(marketDataService.getExchangeInfo(), assetDetailMap);
        if(isFuturesEnabled()){
          BinanceAdapters.adaptFutureExchangeMetaData(exchangeMetaData, marketDataService.getFutureExchangeInfo());
        }
      }

we save in exchangeMetaData all currency pair from Binance Spot and after all futurecontract from Future. same behavoir in Okx. I think this is wrong, if we use Future we should receive only related Instruments. spot - only currency pair future - only future instruments.

Tell me, if I'm right, I'll fix it.