cryptoexchange 0.20.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/cryptoexchange.gemspec +4 -4
  4. data/lib/cryptoexchange/client.rb +3 -0
  5. data/lib/cryptoexchange/error.rb +6 -0
  6. data/lib/cryptoexchange/exchanges/anx/services/market.rb +4 -7
  7. data/lib/cryptoexchange/exchanges/bancor/market.rb +8 -0
  8. data/lib/cryptoexchange/exchanges/bancor/services/market.rb +36 -0
  9. data/lib/cryptoexchange/exchanges/bancor/services/pair.rb +24 -0
  10. data/lib/cryptoexchange/exchanges/bigone/market.rb +8 -0
  11. data/lib/cryptoexchange/exchanges/bigone/services/market.rb +49 -0
  12. data/lib/cryptoexchange/exchanges/bigone/services/order_book.rb +44 -0
  13. data/lib/cryptoexchange/exchanges/bigone/services/pairs.rb +23 -0
  14. data/lib/cryptoexchange/exchanges/bigone/services/trades.rb +32 -0
  15. data/lib/cryptoexchange/exchanges/bitflyer/services/market.rb +4 -5
  16. data/lib/cryptoexchange/exchanges/bittrex/services/market.rb +7 -0
  17. data/lib/cryptoexchange/exchanges/coinbene/market.rb +8 -0
  18. data/lib/cryptoexchange/exchanges/coinbene/services/market.rb +52 -0
  19. data/lib/cryptoexchange/exchanges/coinbene/services/order_book.rb +43 -0
  20. data/lib/cryptoexchange/exchanges/coinbene/services/pairs.rb +27 -0
  21. data/lib/cryptoexchange/exchanges/coinbene/services/trades.rb +32 -0
  22. data/lib/cryptoexchange/exchanges/cryptopia/services/market.rb +7 -0
  23. data/lib/cryptoexchange/exchanges/ethfinex/market.rb +8 -0
  24. data/lib/cryptoexchange/exchanges/ethfinex/services/market.rb +52 -0
  25. data/lib/cryptoexchange/exchanges/ethfinex/services/order_book.rb +52 -0
  26. data/lib/cryptoexchange/exchanges/ethfinex/services/pairs.rb +26 -0
  27. data/lib/cryptoexchange/exchanges/ethfinex/services/trades.rb +33 -0
  28. data/lib/cryptoexchange/exchanges/koinex/market.rb +8 -0
  29. data/lib/cryptoexchange/exchanges/koinex/services/market.rb +49 -0
  30. data/lib/cryptoexchange/exchanges/koinex/services/pairs.rb +26 -0
  31. data/lib/cryptoexchange/exchanges/liqui/services/market.rb +7 -0
  32. data/lib/cryptoexchange/exchanges/novaexchange/services/market.rb +7 -0
  33. data/lib/cryptoexchange/exchanges/radar_relay/market.rb +8 -0
  34. data/lib/cryptoexchange/exchanges/radar_relay/radar_relay.yml +409 -0
  35. data/lib/cryptoexchange/exchanges/radar_relay/services/market.rb +44 -0
  36. data/lib/cryptoexchange/exchanges/radar_relay/services/pairs.rb +22 -0
  37. data/lib/cryptoexchange/exchanges/trade_ogre/market.rb +8 -0
  38. data/lib/cryptoexchange/exchanges/trade_ogre/services/market.rb +48 -0
  39. data/lib/cryptoexchange/exchanges/trade_ogre/services/order_book.rb +46 -0
  40. data/lib/cryptoexchange/exchanges/trade_ogre/services/pairs.rb +25 -0
  41. data/lib/cryptoexchange/exchanges/trade_ogre/services/trades.rb +31 -0
  42. data/lib/cryptoexchange/exchanges/zb/market.rb +8 -0
  43. data/lib/cryptoexchange/exchanges/zb/services/market.rb +39 -0
  44. data/lib/cryptoexchange/exchanges/zb/services/order_book.rb +44 -0
  45. data/lib/cryptoexchange/exchanges/zb/services/pairs.rb +24 -0
  46. data/lib/cryptoexchange/exchanges/zb/services/trades.rb +32 -0
  47. data/lib/cryptoexchange/helpers/numeric_helper.rb +2 -0
  48. data/lib/cryptoexchange/services/market.rb +2 -0
  49. data/lib/cryptoexchange/services/pairs.rb +7 -1
  50. data/lib/cryptoexchange/version.rb +1 -1
  51. metadata +45 -10
@@ -0,0 +1,44 @@
1
+ module Cryptoexchange::Exchanges
2
+ module RadarRelay
3
+ module Services
4
+ class Market < Cryptoexchange::Services::Market
5
+ class << self
6
+ def supports_individual_ticker_query?
7
+ true
8
+ end
9
+ end
10
+
11
+ def fetch(market_pair)
12
+ output = super(ticker_url(market_pair))
13
+ adapt(market_pair, output)
14
+ end
15
+
16
+ def ticker_url(market_pair)
17
+ "#{Cryptoexchange::Exchanges::RadarRelay::Market::API_URL}/ticker/#{market_pair.base}/#{market_pair.target}"
18
+ end
19
+
20
+ def adapt(market_pair, output)
21
+ ticker = Cryptoexchange::Models::Ticker.new
22
+
23
+ ticker.base = market_pair.base
24
+ ticker.target = market_pair.target
25
+ ticker.market = RadarRelay::Market::NAME
26
+ ticker.last = value_divisor(NumericHelper.to_d(output['last']))
27
+ ticker.high = output['high'] == "NA" ? nil : value_divisor(NumericHelper.to_d(output['high']))
28
+ ticker.low = output['low'] == "NA" ? nil : value_divisor(NumericHelper.to_d(output['low']))
29
+ ticker.volume = NumericHelper.to_d(output['baseVolume'])
30
+ ticker.timestamp = Time.now.to_i
31
+ ticker.payload = output
32
+ ticker
33
+ end
34
+
35
+ private
36
+
37
+ def value_divisor(amount)
38
+ # For radar_relay, price denominated in different format
39
+ 1.0/amount
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,22 @@
1
+ module Cryptoexchange::Exchanges
2
+ module RadarRelay
3
+ module Services
4
+ class Pairs < Cryptoexchange::Services::Pairs
5
+ def fetch
6
+ output = super
7
+ adapt(output)
8
+ end
9
+
10
+ def adapt(output)
11
+ output.map do |pair|
12
+ Cryptoexchange::Models::MarketPair.new({
13
+ base: pair[:base],
14
+ target: pair[:target],
15
+ market: RadarRelay::Market::NAME
16
+ })
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,8 @@
1
+ module Cryptoexchange::Exchanges
2
+ module TradeOgre
3
+ class Market
4
+ NAME = 'trade_ogre'
5
+ API_URL = 'https://tradeogre.com/api/v1'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,48 @@
1
+ module Cryptoexchange::Exchanges
2
+ module TradeOgre
3
+ module Services
4
+ class Market < Cryptoexchange::Services::Market
5
+ class << self
6
+ def supports_individual_ticker_query?
7
+ false
8
+ end
9
+ end
10
+
11
+ def fetch
12
+ output = super(ticker_url)
13
+ adapt_all(output)
14
+ end
15
+
16
+ def ticker_url
17
+ "#{Cryptoexchange::Exchanges::TradeOgre::Market::API_URL}/markets"
18
+ end
19
+
20
+ def adapt_all(output)
21
+ output.map do |market|
22
+ target, base = market.keys.first.split('-')
23
+ market_pair = Cryptoexchange::Models::MarketPair.new(
24
+ base: base,
25
+ target: target,
26
+ market: TradeOgre::Market::NAME
27
+ )
28
+ adapt(market.values.first, market_pair)
29
+ end
30
+ end
31
+
32
+ def adapt(output, market_pair)
33
+ ticker = Cryptoexchange::Models::Ticker.new
34
+ ticker.base = market_pair.base
35
+ ticker.target = market_pair.target
36
+ ticker.market = TradeOgre::Market::NAME
37
+ ticker.last = NumericHelper.to_d(output['price'])
38
+ ticker.high = NumericHelper.to_d(output['high'])
39
+ ticker.low = NumericHelper.to_d(output['low'])
40
+ ticker.volume = NumericHelper.divide(NumericHelper.to_d(output['volume']), ticker.last)
41
+ ticker.timestamp = Time.now.to_i
42
+ ticker.payload = output
43
+ ticker
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,46 @@
1
+ module Cryptoexchange::Exchanges
2
+ module TradeOgre
3
+ module Services
4
+ class OrderBook < Cryptoexchange::Services::Market
5
+ class << self
6
+ def supports_individual_ticker_query?
7
+ true
8
+ end
9
+ end
10
+
11
+ def fetch(market_pair)
12
+ output = super(ticker_url(market_pair))
13
+ adapt(output, market_pair)
14
+ end
15
+
16
+ def ticker_url(market_pair)
17
+ "#{Cryptoexchange::Exchanges::TradeOgre::Market::API_URL}/orders/#{market_pair.target}-#{market_pair.base}"
18
+ end
19
+
20
+ def adapt(output, market_pair)
21
+ order_book = Cryptoexchange::Models::OrderBook.new
22
+ timestamp = Time.now.to_i
23
+
24
+ order_book.base = market_pair.base
25
+ order_book.target = market_pair.target
26
+ order_book.market = TradeOgre::Market::NAME
27
+ order_book.asks = adapt_orders output['sell']
28
+ order_book.bids = adapt_orders output['buy']
29
+ order_book.timestamp = timestamp
30
+ order_book.payload = output
31
+ order_book
32
+ end
33
+
34
+ def adapt_orders(orders)
35
+ orders.collect do |key, value|
36
+ Cryptoexchange::Models::Order.new(
37
+ price: key,
38
+ amount: value,
39
+ timestamp: nil
40
+ )
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,25 @@
1
+ module Cryptoexchange::Exchanges
2
+ module TradeOgre
3
+ module Services
4
+ class Pairs < Cryptoexchange::Services::Pairs
5
+ PAIRS_URL = "#{Cryptoexchange::Exchanges::TradeOgre::Market::API_URL}/markets"
6
+
7
+ def fetch
8
+ output = super
9
+ adapt(output)
10
+ end
11
+
12
+ def adapt(output)
13
+ output.collect do |pair|
14
+ target, base = pair.keys.first.split("-")
15
+ Cryptoexchange::Models::MarketPair.new(
16
+ base: base,
17
+ target: target,
18
+ market: TradeOgre::Market::NAME
19
+ )
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ module Cryptoexchange::Exchanges
2
+ module TradeOgre
3
+ module Services
4
+ class Trades < Cryptoexchange::Services::Market
5
+ def fetch(market_pair)
6
+ output = super(ticker_url(market_pair))
7
+ adapt(output, market_pair)
8
+ end
9
+
10
+ def ticker_url(market_pair)
11
+ "#{Cryptoexchange::Exchanges::TradeOgre::Market::API_URL}/history/#{market_pair.target}-#{market_pair.base}"
12
+ end
13
+
14
+ def adapt(output, market_pair)
15
+ output.collect do |trade|
16
+ tr = Cryptoexchange::Models::Trade.new
17
+ tr.base = market_pair.base
18
+ tr.target = market_pair.target
19
+ tr.type = trade['type']
20
+ tr.price = trade['price']
21
+ tr.amount = trade['quantity']
22
+ tr.timestamp = trade['date']
23
+ tr.payload = trade
24
+ tr.market = TradeOgre::Market::NAME
25
+ tr
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,8 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Zb
3
+ class Market
4
+ NAME = 'zb'
5
+ API_URL = 'http://api.zb.com/data/v1'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,39 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Zb
3
+ module Services
4
+ class Market < Cryptoexchange::Services::Market
5
+ class << self
6
+ def supports_individual_ticker_query?
7
+ true
8
+ end
9
+ end
10
+
11
+ def fetch(market_pair)
12
+ output = super(ticker_url(market_pair))
13
+ adapt(output, market_pair)
14
+ end
15
+
16
+ def ticker_url(market_pair)
17
+ "#{Cryptoexchange::Exchanges::Zb::Market::API_URL}/ticker?market=#{market_pair.base.downcase}_#{market_pair.target.downcase}"
18
+ end
19
+
20
+ def adapt(output, market_pair)
21
+ ticker = Cryptoexchange::Models::Ticker.new
22
+ ticker.base = market_pair.base
23
+ ticker.target = market_pair.target
24
+ ticker.market = Zb::Market::NAME
25
+ ticker.ask = NumericHelper.to_d(output["ticker"]["sell"])
26
+ ticker.bid = NumericHelper.to_d(output["ticker"]["buy"])
27
+ ticker.last = NumericHelper.to_d(output["ticker"]["last"])
28
+ ticker.high = NumericHelper.to_d(output["ticker"]["high"])
29
+ ticker.low = NumericHelper.to_d(output["ticker"]["low"])
30
+ ticker.volume = NumericHelper.to_d(output["ticker"]["vol"])
31
+ ticker.timestamp = Time.now.to_i
32
+ ticker.payload = output
33
+ ticker
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,44 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Zb
3
+ module Services
4
+ class OrderBook < Cryptoexchange::Services::Market
5
+ class << self
6
+ def supports_individual_ticker_query?
7
+ true
8
+ end
9
+ end
10
+
11
+ def fetch(market_pair)
12
+ output = super(orderbook_url(market_pair))
13
+ adapt(output, market_pair)
14
+ end
15
+
16
+ def orderbook_url(market_pair)
17
+ "#{Cryptoexchange::Exchanges::Zb::Market::API_URL}/depth?market=#{market_pair.base.downcase}_#{market_pair.target.downcase}"
18
+ end
19
+
20
+ def adapt(output, market_pair)
21
+ order_book = Cryptoexchange::Models::OrderBook.new
22
+ timestamp = output["timestamp"].to_i
23
+
24
+ order_book.base = market_pair.base
25
+ order_book.target = market_pair.target
26
+ order_book.market = Zb::Market::NAME
27
+ order_book.asks = adapt_orders(output["asks"])
28
+ order_book.bids = adapt_orders(output["bids"])
29
+ order_book.timestamp = timestamp
30
+ order_book.payload = output
31
+ order_book
32
+ end
33
+
34
+ def adapt_orders(orders)
35
+ orders.collect do |order_entry|
36
+ Cryptoexchange::Models::Order.new(price: order_entry[0],
37
+ amount: order_entry[1],
38
+ timestamp: nil)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,24 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Zb
3
+ module Services
4
+ class Pairs < Cryptoexchange::Services::Pairs
5
+ PAIRS_URL = "#{Cryptoexchange::Exchanges::Zb::Market::API_URL}/markets"
6
+
7
+ def fetch
8
+ output = super
9
+ market_pairs = []
10
+ output.each do |pair|
11
+ pair_split = pair[0].split('_')
12
+ market_pairs << Cryptoexchange::Models::MarketPair.new(
13
+ base: pair_split[0],
14
+ target: pair_split[1],
15
+ market: Zb::Market::NAME
16
+ )
17
+ end
18
+ market_pairs
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,32 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Zb
3
+ module Services
4
+ class Trades < Cryptoexchange::Services::Market
5
+ def fetch(market_pair)
6
+ output = super(ticker_url(market_pair))
7
+ adapt(output, market_pair)
8
+ end
9
+
10
+ def ticker_url(market_pair)
11
+ "#{Cryptoexchange::Exchanges::Zb::Market::API_URL}/trades?market=#{market_pair.base.downcase}_#{market_pair.target.downcase}"
12
+ end
13
+
14
+ def adapt(output, market_pair)
15
+ output.collect do |trade|
16
+ tr = Cryptoexchange::Models::Trade.new
17
+ tr.trade_id = trade["tid"]
18
+ tr.base = market_pair.base
19
+ tr.target = market_pair.target
20
+ tr.market = Zb::Market::NAME
21
+ tr.type = trade["type"]
22
+ tr.price = trade["price"]
23
+ tr.amount = trade["amount"]
24
+ tr.timestamp = trade["date"].to_i
25
+ tr.payload = trade
26
+ tr
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -7,6 +7,8 @@ class NumericHelper
7
7
  else
8
8
  nil
9
9
  end
10
+ rescue
11
+ nil
10
12
  end
11
13
 
12
14
  def divide(number, divisor)
@@ -13,6 +13,8 @@ module Cryptoexchange
13
13
  response = http_get(endpoint)
14
14
  if response.code == 200
15
15
  response.parse :json
16
+ elsif response.code == 400
17
+ raise Cryptoexchange::HttpBadRequestError, { response: response }
16
18
  else
17
19
  raise Cryptoexchange::HttpResponseError, { response: response }
18
20
  end
@@ -19,9 +19,11 @@ module Cryptoexchange
19
19
 
20
20
  def fetch_via_api(endpoint = self.class::PAIRS_URL)
21
21
  begin
22
- fetch_response = HTTP.timeout(:write => 2, :connect => 5, :read => 8).get(endpoint)
22
+ fetch_response = http_get(endpoint)
23
23
  if fetch_response.code == 200
24
24
  fetch_response.parse :json
25
+ elsif fetch_response.code == 400
26
+ raise Cryptoexchange::HttpBadRequestError, { response: fetch_response }
25
27
  else
26
28
  raise Cryptoexchange::HttpResponseError, { response: fetch_response }
27
29
  end
@@ -60,6 +62,10 @@ module Cryptoexchange
60
62
  exchange_name = self.class.name.split('::')[2]
61
63
  Object.const_get "Cryptoexchange::Exchanges::#{exchange_name}::Market"
62
64
  end
65
+
66
+ def http_get(endpoint)
67
+ fetch_response = HTTP.timeout(:write => 2, :connect => 5, :read => 8).get(endpoint)
68
+ end
63
69
  end
64
70
  end
65
71
  end
@@ -1,3 +1,3 @@
1
1
  module Cryptoexchange
2
- VERSION = "0.20.0"
2
+ VERSION = "0.21.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptoexchange
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TM Lee
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-28 00:00:00.000000000 Z
11
+ date: 2018-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,42 +86,42 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 3.0.3
89
+ version: 4.0.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 3.0.3
96
+ version: 4.0.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: webmock
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 3.3.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 3.3.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: http
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.0.0
117
+ version: 3.0.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.0.0
124
+ version: 3.0.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: lru_redux
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -178,11 +178,19 @@ files:
178
178
  - lib/cryptoexchange/exchanges/anx/market.rb
179
179
  - lib/cryptoexchange/exchanges/anx/services/market.rb
180
180
  - lib/cryptoexchange/exchanges/anx/services/pairs.rb
181
+ - lib/cryptoexchange/exchanges/bancor/market.rb
182
+ - lib/cryptoexchange/exchanges/bancor/services/market.rb
183
+ - lib/cryptoexchange/exchanges/bancor/services/pair.rb
181
184
  - lib/cryptoexchange/exchanges/bibox/market.rb
182
185
  - lib/cryptoexchange/exchanges/bibox/services/market.rb
183
186
  - lib/cryptoexchange/exchanges/bibox/services/order_book.rb
184
187
  - lib/cryptoexchange/exchanges/bibox/services/pairs.rb
185
188
  - lib/cryptoexchange/exchanges/bibox/services/trades.rb
189
+ - lib/cryptoexchange/exchanges/bigone/market.rb
190
+ - lib/cryptoexchange/exchanges/bigone/services/market.rb
191
+ - lib/cryptoexchange/exchanges/bigone/services/order_book.rb
192
+ - lib/cryptoexchange/exchanges/bigone/services/pairs.rb
193
+ - lib/cryptoexchange/exchanges/bigone/services/trades.rb
186
194
  - lib/cryptoexchange/exchanges/binance/market.rb
187
195
  - lib/cryptoexchange/exchanges/binance/services/market.rb
188
196
  - lib/cryptoexchange/exchanges/binance/services/order_book.rb
@@ -258,6 +266,11 @@ files:
258
266
  - lib/cryptoexchange/exchanges/coin_exchange/market.rb
259
267
  - lib/cryptoexchange/exchanges/coin_exchange/services/market.rb
260
268
  - lib/cryptoexchange/exchanges/coin_exchange/services/pairs.rb
269
+ - lib/cryptoexchange/exchanges/coinbene/market.rb
270
+ - lib/cryptoexchange/exchanges/coinbene/services/market.rb
271
+ - lib/cryptoexchange/exchanges/coinbene/services/order_book.rb
272
+ - lib/cryptoexchange/exchanges/coinbene/services/pairs.rb
273
+ - lib/cryptoexchange/exchanges/coinbene/services/trades.rb
261
274
  - lib/cryptoexchange/exchanges/coincheck/coincheck.yml
262
275
  - lib/cryptoexchange/exchanges/coincheck/market.rb
263
276
  - lib/cryptoexchange/exchanges/coincheck/services/market.rb
@@ -293,6 +306,11 @@ files:
293
306
  - lib/cryptoexchange/exchanges/ether_delta/market.rb
294
307
  - lib/cryptoexchange/exchanges/ether_delta/services/market.rb
295
308
  - lib/cryptoexchange/exchanges/ether_delta/services/pairs.rb
309
+ - lib/cryptoexchange/exchanges/ethfinex/market.rb
310
+ - lib/cryptoexchange/exchanges/ethfinex/services/market.rb
311
+ - lib/cryptoexchange/exchanges/ethfinex/services/order_book.rb
312
+ - lib/cryptoexchange/exchanges/ethfinex/services/pairs.rb
313
+ - lib/cryptoexchange/exchanges/ethfinex/services/trades.rb
296
314
  - lib/cryptoexchange/exchanges/exmo/market.rb
297
315
  - lib/cryptoexchange/exchanges/exmo/services/market.rb
298
316
  - lib/cryptoexchange/exchanges/exmo/services/order_book.rb
@@ -337,6 +355,9 @@ files:
337
355
  - lib/cryptoexchange/exchanges/k_kex/services/order_book.rb
338
356
  - lib/cryptoexchange/exchanges/k_kex/services/pairs.rb
339
357
  - lib/cryptoexchange/exchanges/k_kex/services/trades.rb
358
+ - lib/cryptoexchange/exchanges/koinex/market.rb
359
+ - lib/cryptoexchange/exchanges/koinex/services/market.rb
360
+ - lib/cryptoexchange/exchanges/koinex/services/pairs.rb
340
361
  - lib/cryptoexchange/exchanges/korbit/korbit.yml
341
362
  - lib/cryptoexchange/exchanges/korbit/market.rb
342
363
  - lib/cryptoexchange/exchanges/korbit/services/market.rb
@@ -405,6 +426,10 @@ files:
405
426
  - lib/cryptoexchange/exchanges/quoine/market.rb
406
427
  - lib/cryptoexchange/exchanges/quoine/services/market.rb
407
428
  - lib/cryptoexchange/exchanges/quoine/services/pairs.rb
429
+ - lib/cryptoexchange/exchanges/radar_relay/market.rb
430
+ - lib/cryptoexchange/exchanges/radar_relay/radar_relay.yml
431
+ - lib/cryptoexchange/exchanges/radar_relay/services/market.rb
432
+ - lib/cryptoexchange/exchanges/radar_relay/services/pairs.rb
408
433
  - lib/cryptoexchange/exchanges/stocks_exchange/market.rb
409
434
  - lib/cryptoexchange/exchanges/stocks_exchange/services/market.rb
410
435
  - lib/cryptoexchange/exchanges/stocks_exchange/services/pairs.rb
@@ -417,6 +442,11 @@ files:
417
442
  - lib/cryptoexchange/exchanges/tidex/market.rb
418
443
  - lib/cryptoexchange/exchanges/tidex/services/market.rb
419
444
  - lib/cryptoexchange/exchanges/tidex/services/pairs.rb
445
+ - lib/cryptoexchange/exchanges/trade_ogre/market.rb
446
+ - lib/cryptoexchange/exchanges/trade_ogre/services/market.rb
447
+ - lib/cryptoexchange/exchanges/trade_ogre/services/order_book.rb
448
+ - lib/cryptoexchange/exchanges/trade_ogre/services/pairs.rb
449
+ - lib/cryptoexchange/exchanges/trade_ogre/services/trades.rb
420
450
  - lib/cryptoexchange/exchanges/trade_satoshi/market.rb
421
451
  - lib/cryptoexchange/exchanges/trade_satoshi/services/market.rb
422
452
  - lib/cryptoexchange/exchanges/trade_satoshi/services/pairs.rb
@@ -447,6 +477,11 @@ files:
447
477
  - lib/cryptoexchange/exchanges/zaif/services/order_book.rb
448
478
  - lib/cryptoexchange/exchanges/zaif/services/pairs.rb
449
479
  - lib/cryptoexchange/exchanges/zaif/services/trades.rb
480
+ - lib/cryptoexchange/exchanges/zb/market.rb
481
+ - lib/cryptoexchange/exchanges/zb/services/market.rb
482
+ - lib/cryptoexchange/exchanges/zb/services/order_book.rb
483
+ - lib/cryptoexchange/exchanges/zb/services/pairs.rb
484
+ - lib/cryptoexchange/exchanges/zb/services/trades.rb
450
485
  - lib/cryptoexchange/helpers/hash_helper.rb
451
486
  - lib/cryptoexchange/helpers/numeric_helper.rb
452
487
  - lib/cryptoexchange/helpers/string_helper.rb