lib/adapters/crypto/kraken_adapter.rb in currency-rate-1.4.1 vs lib/adapters/crypto/kraken_adapter.rb in currency-rate-1.5.1
- old
+ new
@@ -1,33 +1,39 @@
module CurrencyRate
class KrakenAdapter < Adapter
SUPPORTED_CURRENCIES = %w(
ADA BCH BSV BTC DASH EOS ETC ETH GNO LTC MLN
- NMC QTUM REP USDT XDG XLM XMR XRP XTZ ZEC
+ NMC QTUM REP XDG XLM XMR XRP XTZ ZEC
)
ASSET_MAP = {
"XXBTZ" => "BTC",
- "XETCZ" => "ETC",
- "XETHZ" => "ETH",
- "XLTCZ" => "LTC",
- "XREPZ" => "REP",
- "XXLMZ" => "XLM",
- "XXMRZ" => "XMR",
- "XXRPZ" => "XRP",
- "XZECZ" => "ZEC",
- "USDTZ" => "USDT",
- "TZUSD" => "USDT",
+ "XETCX" => "ETC",
+ "XETHX" => "ETH",
+ "XLTCX" => "LTC",
+ "XREPX" => "REP",
+ "XXLMX" => "XLM",
+ "XXMRX" => "XMR",
+ "XXRPX" => "XRP",
+ "XZECX" => "ZEC",
+ "XZUSD" => "USD",
+ "BTC" => "XBT",
}
- ANCHOR_CURRENCY = "USD"
+ ANCHOR_CURRENCY = "BTC"
- FETCH_URL = "https://api.kraken.com/0/public/Ticker?pair=#{ %w(ADAUSD BCHUSD BSVUSD DASHUSD EOSUSD GNOUSD QTUMUSD XTZUSD USDTZUSD XETCZUSD XETHZUSD XLTCZUSD XREPZUSD XXLMZUSD XXMRZUSD XXRPZUSD XZECZUSD XXBTZUSD).join(",") }"
+ FETCH_URL = "https://api.kraken.com/0/public/Ticker?pair=#{ %w(ADAXBT BCHXBT BSVXBT DASHXBT EOSXBT GNOXBT QTUMXBT XTZXBT XETCXXBT XETHXXBT XLTCXXBT XREPXXBT XXLMXXBT XXMRXXBT XXRPXXBT XZECXXBT XXBTZUSD).join(",") }"
def normalize(data)
return nil unless super
- data["result"].reduce({ "anchor" => ANCHOR_CURRENCY, ANCHOR_CURRENCY => BigDecimal.new("1") }) do |result, (pair, value)|
- result[ta(pair.sub(ANCHOR_CURRENCY, ""))] = 1 / BigDecimal.new(value["c"].first.to_s)
+ data["result"].reduce({ "anchor" => ANCHOR_CURRENCY }) do |result, (pair, value)|
+ key = ta(pair.sub(ta(ANCHOR_CURRENCY), ""))
+
+ if key == "USD"
+ result[key] = BigDecimal(value["c"].first.to_s)
+ else
+ result[key] = 1 / BigDecimal(value["c"].first.to_s)
+ end
result
end
end
def translate_asset(asset)