public static ExchangeMetaData adaptMetaData( List<CurrencyPair> currencyPairs, ExchangeMetaData metaData) { Map<CurrencyPair, CurrencyPairMetaData> pairsMap = metaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies(); for (CurrencyPair c : currencyPairs) { if (!pairsMap.containsKey(c)) { pairsMap.put(c, null); } if (!currenciesMap.containsKey(c.base)) { currenciesMap.put(c.base, null); } if (!currenciesMap.containsKey(c.counter)) { currenciesMap.put(c.counter, null); } } return metaData; }
public static ExchangeMetaData adaptMetaData( List<BityPair> rawSymbols, ExchangeMetaData metaData) { List<CurrencyPair> currencyPairs = BityAdapters.adaptCurrencyPairs(rawSymbols); Map<CurrencyPair, CurrencyPairMetaData> pairsMap = metaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies(); for (CurrencyPair c : currencyPairs) { if (!pairsMap.containsKey(c)) { pairsMap.put(c, null); } if (!currenciesMap.containsKey(c.base)) { currenciesMap.put(c.base, null); } if (!currenciesMap.containsKey(c.counter)) { currenciesMap.put(c.counter, null); } } return metaData; }
public static ExchangeMetaData adaptMetaData( List<BittrexSymbol> rawSymbols, ExchangeMetaData metaData) { List<CurrencyPair> currencyPairs = BittrexAdapters.adaptCurrencyPairs(rawSymbols); Map<CurrencyPair, CurrencyPairMetaData> pairsMap = metaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies(); for (CurrencyPair c : currencyPairs) { if (!pairsMap.containsKey(c)) { pairsMap.put(c, null); } if (!currenciesMap.containsKey(c.base)) { currenciesMap.put(c.base, null); } if (!currenciesMap.containsKey(c.counter)) { currenciesMap.put(c.counter, null); } } return metaData; }
public static ExchangeMetaData adaptToExchangeMetaData( Map<String, PoloniexCurrencyInfo> poloniexCurrencyInfo, Map<String, PoloniexMarketData> poloniexMarketData, ExchangeMetaData exchangeMetaData) { Map<Currency, CurrencyMetaData> currencyMetaDataMap = exchangeMetaData.getCurrencies(); CurrencyMetaData currencyArchetype = currencyMetaDataMap.values().iterator().next(); for (Map.Entry<String, PoloniexCurrencyInfo> entry : poloniexCurrencyInfo.entrySet()) { Currency ccy = Currency.getInstance(entry.getKey()); if (!currencyMetaDataMap.containsKey(ccy)) currencyMetaDataMap.put(ccy, currencyArchetype); } Map<CurrencyPair, CurrencyPairMetaData> marketMetaDataMap = exchangeMetaData.getCurrencyPairs(); CurrencyPairMetaData marketArchetype = marketMetaDataMap.values().iterator().next(); for (String market : poloniexMarketData.keySet()) { CurrencyPair currencyPair = PoloniexUtils.toCurrencyPair(market); if (!marketMetaDataMap.containsKey(currencyPair)) marketMetaDataMap.put(currencyPair, marketArchetype); } return exchangeMetaData; }
public static ExchangeMetaData adaptMetaData( BitfinexAccountFeesResponse accountFeesResponse, ExchangeMetaData metaData) { Map<Currency, CurrencyMetaData> currencies = metaData.getCurrencies(); final Map<Currency, BigDecimal> withdrawFees = accountFeesResponse.getWithdraw(); withdrawFees.forEach( (currency, withdrawalFee) -> { CurrencyMetaData newMetaData = new CurrencyMetaData( // Currency should have at least the scale of the withdrawalFee currencies.get(currency) == null ? withdrawalFee.scale() : Math.max(withdrawalFee.scale(), currencies.get(currency).getScale()), withdrawalFee); currencies.put(currency, newMetaData); }); return metaData; }
@Override public AccountInfo getAccountInfo() throws IOException { Collection<CoinfloorBalance> rawBalances = new ArrayList<>(); for (CurrencyPair pair : exchange.getExchangeSymbols()) { CoinfloorBalance balance = getCoinfloorBalance(pair); rawBalances.add(balance); } return CoinfloorAdapters.adaptAccountInfo( exchange.getExchangeMetaData().getCurrencies().keySet(), rawBalances); }
Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies();
public void updateMetadata(ExchangeMetaData exchangeMetaData) throws IOException { Map<CurrencyPair, CurrencyPairMetaData> currencyPairs = exchangeMetaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currencies = exchangeMetaData.getCurrencies(); Map<String, Map<String, String>> map = exmo.pairSettings(); for (String marketName : map.keySet()) { CurrencyPair currencyPair = adaptMarket(marketName); Map<String, String> data = map.get(marketName); Integer priceScale = null; BigDecimal tradingFee = null; if (currencyPairs.containsKey(currencyPair)) { priceScale = currencyPairs.get(currencyPair).getPriceScale(); tradingFee = currencyPairs.get(currencyPair).getTradingFee(); } CurrencyPairMetaData staticMeta = currencyPairs.get(currencyPair); // min_quantity or min_amount ??? CurrencyPairMetaData currencyPairMetaData = new CurrencyPairMetaData( tradingFee, new BigDecimal(data.get("min_quantity")), new BigDecimal(data.get("max_quantity")), priceScale, staticMeta != null ? staticMeta.getFeeTiers() : null); currencyPairs.put(currencyPair, currencyPairMetaData); if (!currencies.containsKey(currencyPair.base)) currencies.put(currencyPair.base, new CurrencyMetaData(8, null)); if (!currencies.containsKey(currencyPair.counter)) currencies.put(currencyPair.counter, new CurrencyMetaData(8, null)); } }
currencies.putAll(originalMetaData.getCurrencies()); for (String krakenAssetCode : krakenAssets.keySet()) { KrakenAsset krakenAsset = krakenAssets.get(krakenAssetCode); Currency currencyCode = KrakenAdapters.adaptCurrency(krakenAssetCode); BigDecimal withdrawalFee = originalMetaData.getCurrencies().get(currencyCode) == null ? null : originalMetaData.getCurrencies().get(currencyCode).getWithdrawalFee(); currencies.put(currencyCode, new CurrencyMetaData(krakenAsset.getScale(), withdrawalFee));
@Override public String withdrawFunds(Currency currency, BigDecimal amount, String address) throws IOException { boolean useIntl = this.exchange .getExchangeSpecification() .getExchangeSpecificParametersItem("Use_Intl") .equals(true); String currencySymbol = OkCoinAdapters.adaptSymbol( new CurrencyPair(currency, useIntl ? Currency.USD : Currency.CNY)); BigDecimal staticFee = this.exchange.getExchangeMetaData().getCurrencies().get(currency).getWithdrawalFee(); if (staticFee == null) { throw new IllegalArgumentException("Unsupported withdraw currency " + currency); } NumberFormat format = new DecimalFormat("0.####"); // lowest fee is 0.0005 String fee = format.format(staticFee); // Default withdraw target is external address. Use withdraw function in OkCoinAccountServiceRaw // for internal withdraw OKCoinWithdraw result = withdraw(currencySymbol, address, amount, "address", fee); if (result != null) return result.getWithdrawId(); return ""; }
public static ExchangeMetaData adaptToExchangeMetaData( ExchangeMetaData exchangeMetaData, List<LivecoinRestriction> products) { Map<CurrencyPair, CurrencyPairMetaData> currencyPairs = exchangeMetaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currencies = exchangeMetaData.getCurrencies(); for (LivecoinRestriction product : products) { BigDecimal minSize = product.getMinLimitQuantity() == null ? BigDecimal.ZERO : product.getMinLimitQuantity(); minSize = minSize.setScale(product.getPriceScale(), BigDecimal.ROUND_UNNECESSARY); CurrencyPair pair = adaptCurrencyPair(product); CurrencyPairMetaData staticMetaData = exchangeMetaData.getCurrencyPairs().get(pair); int priceScale = staticMetaData == null ? 8 : staticMetaData.getPriceScale(); if (currencyPairs.containsKey(pair)) { CurrencyPairMetaData existing = currencyPairs.get(pair); currencyPairs.put( pair, new CurrencyPairMetaData( existing.getTradingFee(), minSize, existing.getMaximumAmount(), priceScale, existing.getFeeTiers())); } else { currencyPairs.put(pair, new CurrencyPairMetaData(null, minSize, null, priceScale, null)); } if (!currencies.containsKey(pair.base)) currencies.put(pair.base, null); if (!currencies.containsKey(pair.counter)) currencies.put(pair.counter, null); } return new ExchangeMetaData(currencyPairs, currencies, null, null, true); }
currencies.putAll(originalMetaData.getCurrencies()); originalMetaData.getCurrencies().get(baseCurrencyCode) == null ? null : originalMetaData.getCurrencies().get(baseCurrencyCode).getWithdrawalFee(); BigDecimal quoteWithdrawalFee = originalMetaData.getCurrencies().get(quoteCurrencyCode) == null ? null : originalMetaData.getCurrencies().get(quoteCurrencyCode).getWithdrawalFee();
static ExchangeMetaData adaptToExchangeMetaData( HuobiAssetPair[] assetPairs, HuobiAsset[] assets, ExchangeMetaData staticMetaData) { HuobiUtils.setHuobiAssets(assets); HuobiUtils.setHuobiAssetPairs(assetPairs); Map<CurrencyPair, CurrencyPairMetaData> pairsMetaData = staticMetaData.getCurrencyPairs(); Map<CurrencyPair, CurrencyPairMetaData> pairs = new HashMap<>(); for (HuobiAssetPair assetPair : assetPairs) { CurrencyPair pair = adaptCurrencyPair(assetPair.getKey()); pairs.put(pair, adaptPair(assetPair, pairsMetaData.getOrDefault(pair, null))); } Map<Currency, CurrencyMetaData> currenciesMetaData = staticMetaData.getCurrencies(); Map<Currency, CurrencyMetaData> currencies = new HashMap<>(); for (HuobiAsset asset : assets) { Currency currency = adaptCurrency(asset.getAsset()); CurrencyMetaData metadata = currenciesMetaData.getOrDefault(currency, null); BigDecimal withdrawalFee = metadata == null ? null : metadata.getWithdrawalFee(); int scale = metadata == null ? 8 : metadata.getScale(); currencies.put(currency, new CurrencyMetaData(scale, withdrawalFee)); } return new ExchangeMetaData(pairs, currencies, null, null, false); }
public static ExchangeMetaData adaptToExchangeMetaData( ExchangeMetaData exchangeMetaData, YoBitInfo products) { Map<CurrencyPair, CurrencyPairMetaData> currencyPairs = exchangeMetaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currencies = exchangeMetaData.getCurrencies(); CurrencyMetaData currencyMetaData = exchangeMetaData.getCurrencies().get(pair.base); BigDecimal withdrawalFee = currencyMetaData == null ? null : currencyMetaData.getWithdrawalFee(); CurrencyMetaData currencyMetaData = exchangeMetaData.getCurrencies().get(pair.counter); CurrencyMetaData withdrawalFee = currencyMetaData == null
contractAddress = contractAddress == null ? contractAddress().getAddress() : contractAddress; expires = expires == null ? BigInteger.valueOf(100000) : expires; exchange.getExchangeMetaData().getCurrencies().get(baseCurrency); exchange.getExchangeMetaData().getCurrencies().get(counterCurrency); OrderReq orderReq = null; exchange.getExchangeMetaData().getCurrencies().get(listOfCurrencies.get(0)); IdexCurrencyMeta sell_currency = (IdexCurrencyMeta) exchange.getExchangeMetaData().getCurrencies().get(listOfCurrencies.get(1)); BigDecimal divide = originalAmount.divide(limitPrice, MathContext.DECIMAL128); BigDecimal amount_buy =
public static ExchangeMetaData adaptToExchangeMetaData( ExchangeMetaData exchangeMetaData, CoinbaseProProduct[] products) { Map<CurrencyPair, CurrencyPairMetaData> currencyPairs = exchangeMetaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currencies = exchangeMetaData.getCurrencies(); for (CoinbaseProProduct product : products) { BigDecimal minSize = product.getBaseMinSize(); BigDecimal maxSize = product.getBaseMaxSize(); CurrencyPair pair = adaptCurrencyPair(product); CurrencyPairMetaData staticMetaData = exchangeMetaData.getCurrencyPairs().get(pair); int priceScale = numberOfDecimals(product.getQuoteIncrement()); CurrencyPairMetaData cpmd = new CurrencyPairMetaData( null, minSize, maxSize, priceScale, staticMetaData != null ? staticMetaData.getFeeTiers() : null); currencyPairs.put(pair, cpmd); if (!currencies.containsKey(pair.base)) currencies.put(pair.base, null); if (!currencies.containsKey(pair.counter)) currencies.put(pair.counter, null); } return new ExchangeMetaData( currencyPairs, currencies, exchangeMetaData.getPublicRateLimits(), exchangeMetaData.getPrivateRateLimits(), true); }
Map<Currency, CurrencyMetaData> currencies = exchangeMetaData.getCurrencies();
public static ExchangeMetaData adaptMetaData( ExchangeMetaData exchangeMetaData, BitcoinChartsTicker[] tickers) { Map<CurrencyPair, CurrencyPairMetaData> pairs = new HashMap<>(); for (BitcoinChartsTicker ticker : tickers) { BigDecimal anyPrice = firstNonNull( ticker.getAsk(), ticker.getBid(), ticker.getClose(), ticker.getHigh(), ticker.getHigh()); int scale = anyPrice != null ? anyPrice.scale() : 0; pairs.put( new CurrencyPair(Currency.BTC, Currency.getInstance(ticker.getSymbol())), new CurrencyPairMetaData(null, null, null, scale, null)); } return new ExchangeMetaData( pairs, exchangeMetaData.getCurrencies(), exchangeMetaData.getPublicRateLimits(), exchangeMetaData.getPrivateRateLimits(), exchangeMetaData.isShareRateLimits()); }
public static ExchangeMetaData adaptMetaData( List<CurrencyPair> currencyPairs, ExchangeMetaData metaData) { Map<CurrencyPair, CurrencyPairMetaData> pairsMap = metaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies(); for (CurrencyPair c : currencyPairs) { if (!pairsMap.containsKey(c)) { pairsMap.put(c, null); } if (!currenciesMap.containsKey(c.base)) { currenciesMap.put(c.base, null); } if (!currenciesMap.containsKey(c.counter)) { currenciesMap.put(c.counter, null); } } return metaData; }
public static ExchangeMetaData adaptToExchangeMetaData( Map<String, PoloniexCurrencyInfo> poloniexCurrencyInfo, Map<String, PoloniexMarketData> poloniexMarketData, ExchangeMetaData exchangeMetaData) { Map<Currency, CurrencyMetaData> currencyMetaDataMap = exchangeMetaData.getCurrencies(); CurrencyMetaData currencyArchetype = currencyMetaDataMap.values().iterator().next(); for (Map.Entry<String, PoloniexCurrencyInfo> entry : poloniexCurrencyInfo.entrySet()) { Currency ccy = Currency.getInstance(entry.getKey()); if (!currencyMetaDataMap.containsKey(ccy)) currencyMetaDataMap.put(ccy, currencyArchetype); } Map<CurrencyPair, CurrencyPairMetaData> marketMetaDataMap = exchangeMetaData.getCurrencyPairs(); CurrencyPairMetaData marketArchetype = marketMetaDataMap.values().iterator().next(); for (String market : poloniexMarketData.keySet()) { CurrencyPair currencyPair = PoloniexUtils.toCurrencyPair(market); if (!marketMetaDataMap.containsKey(currencyPair)) marketMetaDataMap.put(currencyPair, marketArchetype); } return exchangeMetaData; }