cryptoexchange 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (342) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +100 -9
  3. data/lib/cryptoexchange.rb +2 -0
  4. data/lib/cryptoexchange/credentials.rb +26 -0
  5. data/lib/cryptoexchange/error.rb +3 -0
  6. data/lib/cryptoexchange/exchanges/abcc/market.rb +8 -0
  7. data/lib/cryptoexchange/exchanges/abcc/services/market.rb +52 -0
  8. data/lib/cryptoexchange/exchanges/abcc/services/pairs.rb +27 -0
  9. data/lib/cryptoexchange/exchanges/bancor/services/{pair.rb → pairs.rb} +0 -0
  10. data/lib/cryptoexchange/exchanges/bcex/market.rb +8 -0
  11. data/lib/cryptoexchange/exchanges/bcex/services/market.rb +41 -0
  12. data/lib/cryptoexchange/exchanges/bcex/services/order_book.rb +46 -0
  13. data/lib/cryptoexchange/exchanges/bcex/services/pairs.rb +33 -0
  14. data/lib/cryptoexchange/exchanges/bcex/services/trades.rb +35 -0
  15. data/lib/cryptoexchange/exchanges/bigone/market.rb +1 -1
  16. data/lib/cryptoexchange/exchanges/bigone/services/market.rb +20 -18
  17. data/lib/cryptoexchange/exchanges/bigone/services/order_book.rb +5 -6
  18. data/lib/cryptoexchange/exchanges/bigone/services/pairs.rb +2 -2
  19. data/lib/cryptoexchange/exchanges/bigone/services/trades.rb +6 -6
  20. data/lib/cryptoexchange/exchanges/bilaxy/market.rb +24 -0
  21. data/lib/cryptoexchange/exchanges/bilaxy/services/market.rb +42 -0
  22. data/lib/cryptoexchange/exchanges/bilaxy/services/order_book.rb +48 -0
  23. data/lib/cryptoexchange/exchanges/bilaxy/services/pairs.rb +23 -0
  24. data/lib/cryptoexchange/exchanges/bilaxy/services/trades.rb +35 -0
  25. data/lib/cryptoexchange/exchanges/bitbns/market.rb +8 -0
  26. data/lib/cryptoexchange/exchanges/bitbns/services/market.rb +49 -0
  27. data/lib/cryptoexchange/exchanges/bitbns/services/pairs.rb +26 -0
  28. data/lib/cryptoexchange/exchanges/bitebtc/market.rb +8 -0
  29. data/lib/cryptoexchange/exchanges/bitebtc/services/market.rb +50 -0
  30. data/lib/cryptoexchange/exchanges/bitebtc/services/order_book.rb +45 -0
  31. data/lib/cryptoexchange/exchanges/bitebtc/services/pairs.rb +25 -0
  32. data/lib/cryptoexchange/exchanges/bitebtc/services/trades.rb +34 -0
  33. data/lib/cryptoexchange/exchanges/bithash/market.rb +8 -0
  34. data/lib/cryptoexchange/exchanges/bithash/services/market.rb +50 -0
  35. data/lib/cryptoexchange/exchanges/bithash/services/order_book.rb +55 -0
  36. data/lib/cryptoexchange/exchanges/bithash/services/pairs.rb +25 -0
  37. data/lib/cryptoexchange/exchanges/bithash/services/trades.rb +36 -0
  38. data/lib/cryptoexchange/exchanges/bitibu/market.rb +8 -0
  39. data/lib/cryptoexchange/exchanges/bitibu/services/market.rb +40 -0
  40. data/lib/cryptoexchange/exchanges/bitibu/services/order_book.rb +45 -0
  41. data/lib/cryptoexchange/exchanges/bitibu/services/pairs.rb +25 -0
  42. data/lib/cryptoexchange/exchanges/bitibu/services/trades.rb +34 -0
  43. data/lib/cryptoexchange/exchanges/bitpaction/market.rb +8 -0
  44. data/lib/cryptoexchange/exchanges/bitpaction/services/market.rb +50 -0
  45. data/lib/cryptoexchange/exchanges/bitpaction/services/order_book.rb +65 -0
  46. data/lib/cryptoexchange/exchanges/bitpaction/services/pairs.rb +25 -0
  47. data/lib/cryptoexchange/exchanges/bitpaction/services/trades.rb +32 -0
  48. data/lib/cryptoexchange/exchanges/braziliex/market.rb +8 -0
  49. data/lib/cryptoexchange/exchanges/braziliex/services/market.rb +50 -0
  50. data/lib/cryptoexchange/exchanges/braziliex/services/order_book.rb +43 -0
  51. data/lib/cryptoexchange/exchanges/braziliex/services/pairs.rb +23 -0
  52. data/lib/cryptoexchange/exchanges/braziliex/services/trades.rb +33 -0
  53. data/lib/cryptoexchange/exchanges/btc_alpha/services/market.rb +2 -2
  54. data/lib/cryptoexchange/exchanges/btc_alpha/services/order_book.rb +2 -2
  55. data/lib/cryptoexchange/exchanges/btc_alpha/services/trades.rb +2 -2
  56. data/lib/cryptoexchange/exchanges/btc_trade_ua/market.rb +8 -0
  57. data/lib/cryptoexchange/exchanges/btc_trade_ua/services/market.rb +51 -0
  58. data/lib/cryptoexchange/exchanges/btc_trade_ua/services/order_book.rb +53 -0
  59. data/lib/cryptoexchange/exchanges/btc_trade_ua/services/pairs.rb +25 -0
  60. data/lib/cryptoexchange/exchanges/btc_trade_ua/services/trades.rb +33 -0
  61. data/lib/cryptoexchange/exchanges/btcsquare/market.rb +8 -0
  62. data/lib/cryptoexchange/exchanges/btcsquare/services/market.rb +50 -0
  63. data/lib/cryptoexchange/exchanges/btcsquare/services/order_book.rb +45 -0
  64. data/lib/cryptoexchange/exchanges/btcsquare/services/pairs.rb +26 -0
  65. data/lib/cryptoexchange/exchanges/btcsquare/services/trades.rb +32 -0
  66. data/lib/cryptoexchange/exchanges/cfinex/market.rb +8 -0
  67. data/lib/cryptoexchange/exchanges/cfinex/services/market.rb +52 -0
  68. data/lib/cryptoexchange/exchanges/cfinex/services/order_book.rb +45 -0
  69. data/lib/cryptoexchange/exchanges/cfinex/services/pairs.rb +26 -0
  70. data/lib/cryptoexchange/exchanges/cfinex/services/trades.rb +34 -0
  71. data/lib/cryptoexchange/exchanges/coin2001/market.rb +8 -0
  72. data/lib/cryptoexchange/exchanges/coin2001/services/market.rb +51 -0
  73. data/lib/cryptoexchange/exchanges/coin2001/services/order_book.rb +45 -0
  74. data/lib/cryptoexchange/exchanges/coin2001/services/pairs.rb +25 -0
  75. data/lib/cryptoexchange/exchanges/coin2001/services/trades.rb +34 -0
  76. data/lib/cryptoexchange/exchanges/coinbene/services/market.rb +8 -20
  77. data/lib/cryptoexchange/exchanges/coinbene/services/order_book.rb +5 -3
  78. data/lib/cryptoexchange/exchanges/coinbene/services/pairs.rb +6 -3
  79. data/lib/cryptoexchange/exchanges/coinbene/services/trades.rb +1 -1
  80. data/lib/cryptoexchange/exchanges/coinex/market.rb +1 -0
  81. data/lib/cryptoexchange/exchanges/coinex/services/market.rb +1 -1
  82. data/lib/cryptoexchange/exchanges/coinex/services/pairs.rb +2 -1
  83. data/lib/cryptoexchange/exchanges/coinfield/market.rb +8 -0
  84. data/lib/cryptoexchange/exchanges/coinfield/services/market.rb +54 -0
  85. data/lib/cryptoexchange/exchanges/coinfield/services/pairs.rb +25 -0
  86. data/lib/cryptoexchange/exchanges/coingi/market.rb +8 -0
  87. data/lib/cryptoexchange/exchanges/coingi/services/market.rb +51 -0
  88. data/lib/cryptoexchange/exchanges/coingi/services/order_book.rb +44 -0
  89. data/lib/cryptoexchange/exchanges/coingi/services/pairs.rb +26 -0
  90. data/lib/cryptoexchange/exchanges/coingi/services/trades.rb +34 -0
  91. data/lib/cryptoexchange/exchanges/coinjar/market.rb +8 -0
  92. data/lib/cryptoexchange/exchanges/coinjar/services/market.rb +40 -0
  93. data/lib/cryptoexchange/exchanges/coinjar/services/order_book.rb +45 -0
  94. data/lib/cryptoexchange/exchanges/coinjar/services/pairs.rb +27 -0
  95. data/lib/cryptoexchange/exchanges/coinjar/services/trades.rb +35 -0
  96. data/lib/cryptoexchange/exchanges/coinnox/market.rb +8 -0
  97. data/lib/cryptoexchange/exchanges/coinnox/services/market.rb +52 -0
  98. data/lib/cryptoexchange/exchanges/coinnox/services/order_book.rb +44 -0
  99. data/lib/cryptoexchange/exchanges/coinnox/services/pairs.rb +25 -0
  100. data/lib/cryptoexchange/exchanges/coinnox/services/trades.rb +33 -0
  101. data/lib/cryptoexchange/exchanges/coinstock/market.rb +8 -0
  102. data/lib/cryptoexchange/exchanges/coinstock/services/market.rb +54 -0
  103. data/lib/cryptoexchange/exchanges/coinstock/services/order_book.rb +49 -0
  104. data/lib/cryptoexchange/exchanges/coinstock/services/pairs.rb +25 -0
  105. data/lib/cryptoexchange/exchanges/coinstock/services/trades.rb +36 -0
  106. data/lib/cryptoexchange/exchanges/coinsuper/market.rb +8 -0
  107. data/lib/cryptoexchange/exchanges/coinsuper/services/market.rb +52 -0
  108. data/lib/cryptoexchange/exchanges/coinsuper/services/pairs.rb +29 -0
  109. data/lib/cryptoexchange/exchanges/cointiger/market.rb +9 -0
  110. data/lib/cryptoexchange/exchanges/cointiger/services/market.rb +73 -0
  111. data/lib/cryptoexchange/exchanges/cointiger/services/order_book.rb +42 -0
  112. data/lib/cryptoexchange/exchanges/cointiger/services/pairs.rb +51 -0
  113. data/lib/cryptoexchange/exchanges/cointiger/services/trades.rb +32 -0
  114. data/lib/cryptoexchange/exchanges/coinut/authentication.rb +19 -0
  115. data/lib/cryptoexchange/exchanges/coinut/market.rb +8 -0
  116. data/lib/cryptoexchange/exchanges/coinut/services/market.rb +48 -0
  117. data/lib/cryptoexchange/exchanges/coinut/services/order_book.rb +57 -0
  118. data/lib/cryptoexchange/exchanges/coinut/services/pairs.rb +42 -0
  119. data/lib/cryptoexchange/exchanges/coinut/services/trades.rb +46 -0
  120. data/lib/cryptoexchange/exchanges/cpdax/market.rb +8 -0
  121. data/lib/cryptoexchange/exchanges/cpdax/services/market.rb +42 -0
  122. data/lib/cryptoexchange/exchanges/cpdax/services/pairs.rb +25 -0
  123. data/lib/cryptoexchange/exchanges/crxzone/services/id_fetcher.rb +13 -0
  124. data/lib/cryptoexchange/exchanges/crxzone/services/market.rb +8 -12
  125. data/lib/cryptoexchange/exchanges/crxzone/services/order_book.rb +7 -11
  126. data/lib/cryptoexchange/exchanges/crxzone/services/pairs.rb +0 -4
  127. data/lib/cryptoexchange/exchanges/crxzone/services/trades.rb +8 -12
  128. data/lib/cryptoexchange/exchanges/cryptex/cryptex.yml +5 -0
  129. data/lib/cryptoexchange/exchanges/cryptex/market.rb +8 -0
  130. data/lib/cryptoexchange/exchanges/cryptex/services/market.rb +40 -0
  131. data/lib/cryptoexchange/exchanges/cryptex/services/order_book.rb +48 -0
  132. data/lib/cryptoexchange/exchanges/{hksy → cryptex}/services/pairs.rb +3 -6
  133. data/lib/cryptoexchange/exchanges/cryptex/services/trades.rb +33 -0
  134. data/lib/cryptoexchange/exchanges/cryptobulls/market.rb +8 -0
  135. data/lib/cryptoexchange/exchanges/cryptobulls/services/market.rb +50 -0
  136. data/lib/cryptoexchange/exchanges/cryptobulls/services/pairs.rb +26 -0
  137. data/lib/cryptoexchange/exchanges/cybex/market.rb +18 -0
  138. data/lib/cryptoexchange/exchanges/cybex/services/market.rb +40 -0
  139. data/lib/cryptoexchange/exchanges/cybex/services/order_book.rb +49 -0
  140. data/lib/cryptoexchange/exchanges/cybex/services/pairs.rb +46 -0
  141. data/lib/cryptoexchange/exchanges/cybex/services/trades.rb +41 -0
  142. data/lib/cryptoexchange/exchanges/ddex/market.rb +8 -0
  143. data/lib/cryptoexchange/exchanges/ddex/services/market.rb +54 -0
  144. data/lib/cryptoexchange/exchanges/ddex/services/pairs.rb +25 -0
  145. data/lib/cryptoexchange/exchanges/dsx/market.rb +8 -0
  146. data/lib/cryptoexchange/exchanges/dsx/services/market.rb +42 -0
  147. data/lib/cryptoexchange/exchanges/dsx/services/order_book.rb +50 -0
  148. data/lib/cryptoexchange/exchanges/dsx/services/pairs.rb +24 -0
  149. data/lib/cryptoexchange/exchanges/dsx/services/trades.rb +36 -0
  150. data/lib/cryptoexchange/exchanges/ercdex/market.rb +8 -0
  151. data/lib/cryptoexchange/exchanges/ercdex/services/id_fetcher.rb +21 -0
  152. data/lib/cryptoexchange/exchanges/ercdex/services/market.rb +43 -0
  153. data/lib/cryptoexchange/exchanges/ercdex/services/order_book.rb +45 -0
  154. data/lib/cryptoexchange/exchanges/ercdex/services/pairs.rb +28 -0
  155. data/lib/cryptoexchange/exchanges/ether_delta/services/market.rb +0 -2
  156. data/lib/cryptoexchange/exchanges/exmo/services/pairs.rb +1 -1
  157. data/lib/cryptoexchange/exchanges/exrates/market.rb +8 -0
  158. data/lib/cryptoexchange/exchanges/exrates/services/market.rb +51 -0
  159. data/lib/cryptoexchange/exchanges/exrates/services/pairs.rb +29 -0
  160. data/lib/cryptoexchange/exchanges/f1cx/market.rb +8 -0
  161. data/lib/cryptoexchange/exchanges/f1cx/services/market.rb +38 -0
  162. data/lib/cryptoexchange/exchanges/f1cx/services/order_book.rb +45 -0
  163. data/lib/cryptoexchange/exchanges/f1cx/services/pairs.rb +25 -0
  164. data/lib/cryptoexchange/exchanges/f1cx/services/trades.rb +34 -0
  165. data/lib/cryptoexchange/exchanges/fcoin/market.rb +8 -0
  166. data/lib/cryptoexchange/exchanges/fcoin/services/market.rb +50 -0
  167. data/lib/cryptoexchange/exchanges/fcoin/services/order_book.rb +42 -0
  168. data/lib/cryptoexchange/exchanges/fcoin/services/pairs.rb +27 -0
  169. data/lib/cryptoexchange/exchanges/fcoin/services/trades.rb +33 -0
  170. data/lib/cryptoexchange/exchanges/fex/market.rb +8 -0
  171. data/lib/cryptoexchange/exchanges/fex/services/market.rb +52 -0
  172. data/lib/cryptoexchange/exchanges/fex/services/pairs.rb +25 -0
  173. data/lib/cryptoexchange/exchanges/forkdelta/market.rb +43 -0
  174. data/lib/cryptoexchange/exchanges/forkdelta/services/market.rb +51 -0
  175. data/lib/cryptoexchange/exchanges/forkdelta/services/pairs.rb +29 -0
  176. data/lib/cryptoexchange/exchanges/freiexchange/market.rb +8 -0
  177. data/lib/cryptoexchange/exchanges/freiexchange/services/market.rb +52 -0
  178. data/lib/cryptoexchange/exchanges/freiexchange/services/orderbook.rb +44 -0
  179. data/lib/cryptoexchange/exchanges/freiexchange/services/pairs.rb +25 -0
  180. data/lib/cryptoexchange/exchanges/graviex/market.rb +9 -0
  181. data/lib/cryptoexchange/exchanges/graviex/services/market.rb +40 -0
  182. data/lib/cryptoexchange/exchanges/graviex/services/pairs.rb +25 -0
  183. data/lib/cryptoexchange/exchanges/hadax/market.rb +9 -0
  184. data/lib/cryptoexchange/exchanges/hadax/services/market.rb +40 -0
  185. data/lib/cryptoexchange/exchanges/hadax/services/pairs.rb +24 -0
  186. data/lib/cryptoexchange/exchanges/hotbit/market.rb +8 -0
  187. data/lib/cryptoexchange/exchanges/hotbit/services/market.rb +50 -0
  188. data/lib/cryptoexchange/exchanges/hotbit/services/pairs.rb +25 -0
  189. data/lib/cryptoexchange/exchanges/idax/market.rb +8 -0
  190. data/lib/cryptoexchange/exchanges/idax/services/market.rb +48 -0
  191. data/lib/cryptoexchange/exchanges/idax/services/pairs.rb +26 -0
  192. data/lib/cryptoexchange/exchanges/idcm/market.rb +8 -0
  193. data/lib/cryptoexchange/exchanges/idcm/services/market.rb +49 -0
  194. data/lib/cryptoexchange/exchanges/idcm/services/pairs.rb +25 -0
  195. data/lib/cryptoexchange/exchanges/idex/services/pairs.rb +2 -1
  196. data/lib/cryptoexchange/exchanges/jex/market.rb +8 -0
  197. data/lib/cryptoexchange/exchanges/jex/services/market.rb +70 -0
  198. data/lib/cryptoexchange/exchanges/jex/services/pairs.rb +42 -0
  199. data/lib/cryptoexchange/exchanges/joyso/market.rb +8 -0
  200. data/lib/cryptoexchange/exchanges/joyso/services/id_fetcher.rb +14 -0
  201. data/lib/cryptoexchange/exchanges/joyso/services/market.rb +46 -0
  202. data/lib/cryptoexchange/exchanges/joyso/services/order_book.rb +45 -0
  203. data/lib/cryptoexchange/exchanges/joyso/services/pairs.rb +27 -0
  204. data/lib/cryptoexchange/exchanges/kkcoin/market.rb +8 -0
  205. data/lib/cryptoexchange/exchanges/kkcoin/services/market.rb +66 -0
  206. data/lib/cryptoexchange/exchanges/kkcoin/services/order_book.rb +44 -0
  207. data/lib/cryptoexchange/exchanges/kkcoin/services/pairs.rb +25 -0
  208. data/lib/cryptoexchange/exchanges/kkcoin/services/trades.rb +39 -0
  209. data/lib/cryptoexchange/exchanges/koinex/services/get_symbol.rb +20 -0
  210. data/lib/cryptoexchange/exchanges/koinex/services/market.rb +17 -15
  211. data/lib/cryptoexchange/exchanges/koinex/services/pairs.rb +9 -6
  212. data/lib/cryptoexchange/exchanges/koinok/market.rb +8 -0
  213. data/lib/cryptoexchange/exchanges/koinok/services/market.rb +52 -0
  214. data/lib/cryptoexchange/exchanges/koinok/services/pairs.rb +25 -0
  215. data/lib/cryptoexchange/exchanges/kryptono/market.rb +9 -0
  216. data/lib/cryptoexchange/exchanges/kryptono/services/market.rb +52 -0
  217. data/lib/cryptoexchange/exchanges/kryptono/services/order_book.rb +47 -0
  218. data/lib/cryptoexchange/exchanges/kryptono/services/pairs.rb +25 -0
  219. data/lib/cryptoexchange/exchanges/kryptono/services/trades.rb +34 -0
  220. data/lib/cryptoexchange/exchanges/myspeedtrade/market.rb +8 -0
  221. data/lib/cryptoexchange/exchanges/myspeedtrade/services/market.rb +41 -0
  222. data/lib/cryptoexchange/exchanges/myspeedtrade/services/order_book.rb +45 -0
  223. data/lib/cryptoexchange/exchanges/myspeedtrade/services/pairs.rb +26 -0
  224. data/lib/cryptoexchange/exchanges/nebula/market.rb +8 -0
  225. data/lib/cryptoexchange/exchanges/nebula/services/market.rb +49 -0
  226. data/lib/cryptoexchange/exchanges/nebula/services/pairs.rb +24 -0
  227. data/lib/cryptoexchange/exchanges/{hksy → nebula}/services/trades.rb +8 -7
  228. data/lib/cryptoexchange/exchanges/ninecoin/market.rb +8 -0
  229. data/lib/cryptoexchange/exchanges/ninecoin/services/market.rb +50 -0
  230. data/lib/cryptoexchange/exchanges/ninecoin/services/pairs.rb +23 -0
  231. data/lib/cryptoexchange/exchanges/novadex/market.rb +8 -0
  232. data/lib/cryptoexchange/exchanges/novadex/services/market.rb +49 -0
  233. data/lib/cryptoexchange/exchanges/novadex/services/pairs.rb +25 -0
  234. data/lib/cryptoexchange/exchanges/oasisdex/market.rb +8 -0
  235. data/lib/cryptoexchange/exchanges/oasisdex/services/market.rb +50 -0
  236. data/lib/cryptoexchange/exchanges/oasisdex/services/pairs.rb +22 -0
  237. data/lib/cryptoexchange/exchanges/octaex/market.rb +8 -0
  238. data/lib/cryptoexchange/exchanges/octaex/services/market.rb +50 -0
  239. data/lib/cryptoexchange/exchanges/octaex/services/order_book.rb +45 -0
  240. data/lib/cryptoexchange/exchanges/octaex/services/pairs.rb +25 -0
  241. data/lib/cryptoexchange/exchanges/octaex/services/trades.rb +34 -0
  242. data/lib/cryptoexchange/exchanges/okex/services/market.rb +28 -16
  243. data/lib/cryptoexchange/exchanges/okex/services/pairs.rb +9 -8
  244. data/lib/cryptoexchange/exchanges/omnitrade/market.rb +8 -0
  245. data/lib/cryptoexchange/exchanges/omnitrade/services/market.rb +40 -0
  246. data/lib/cryptoexchange/exchanges/omnitrade/services/order_book.rb +48 -0
  247. data/lib/cryptoexchange/exchanges/omnitrade/services/pairs.rb +34 -0
  248. data/lib/cryptoexchange/exchanges/omnitrade/services/trades.rb +39 -0
  249. data/lib/cryptoexchange/exchanges/ooobtc/market.rb +8 -0
  250. data/lib/cryptoexchange/exchanges/ooobtc/services/market.rb +48 -0
  251. data/lib/cryptoexchange/exchanges/ooobtc/services/order_book.rb +48 -0
  252. data/lib/cryptoexchange/exchanges/ooobtc/services/pairs.rb +25 -0
  253. data/lib/cryptoexchange/exchanges/ooobtc/services/trades.rb +33 -0
  254. data/lib/cryptoexchange/exchanges/openledger/market.rb +8 -0
  255. data/lib/cryptoexchange/exchanges/openledger/services/market.rb +42 -0
  256. data/lib/cryptoexchange/exchanges/openledger/services/order_book.rb +48 -0
  257. data/lib/cryptoexchange/exchanges/openledger/services/pairs.rb +24 -0
  258. data/lib/cryptoexchange/exchanges/openledger/services/trades.rb +34 -0
  259. data/lib/cryptoexchange/exchanges/orderbook/market.rb +8 -0
  260. data/lib/cryptoexchange/exchanges/orderbook/services/market.rb +50 -0
  261. data/lib/cryptoexchange/exchanges/orderbook/services/order_book.rb +42 -0
  262. data/lib/cryptoexchange/exchanges/orderbook/services/pairs.rb +28 -0
  263. data/lib/cryptoexchange/exchanges/orderbook/services/trades.rb +33 -0
  264. data/lib/cryptoexchange/exchanges/ore_bz/market.rb +8 -0
  265. data/lib/cryptoexchange/exchanges/ore_bz/services/market.rb +41 -0
  266. data/lib/cryptoexchange/exchanges/ore_bz/services/order_book.rb +53 -0
  267. data/lib/cryptoexchange/exchanges/ore_bz/services/pairs.rb +31 -0
  268. data/lib/cryptoexchange/exchanges/ore_bz/services/trades.rb +34 -0
  269. data/lib/cryptoexchange/exchanges/radar_relay/services/market.rb +3 -10
  270. data/lib/cryptoexchange/exchanges/radar_relay/services/pairs.rb +6 -3
  271. data/lib/cryptoexchange/exchanges/rightbtc/services/market.rb +5 -4
  272. data/lib/cryptoexchange/exchanges/safe_trade/market.rb +8 -0
  273. data/lib/cryptoexchange/exchanges/safe_trade/services/market.rb +53 -0
  274. data/lib/cryptoexchange/exchanges/safe_trade/services/pairs.rb +25 -0
  275. data/lib/cryptoexchange/exchanges/sigen/market.rb +8 -0
  276. data/lib/cryptoexchange/exchanges/sigen/services/market.rb +53 -0
  277. data/lib/cryptoexchange/exchanges/sigen/services/pairs.rb +25 -0
  278. data/lib/cryptoexchange/exchanges/simex/market.rb +8 -0
  279. data/lib/cryptoexchange/exchanges/simex/services/market.rb +54 -0
  280. data/lib/cryptoexchange/exchanges/simex/services/pairs.rb +26 -0
  281. data/lib/cryptoexchange/exchanges/singularx/market.rb +8 -0
  282. data/lib/cryptoexchange/exchanges/singularx/services/market.rb +48 -0
  283. data/lib/cryptoexchange/exchanges/singularx/services/pairs.rb +25 -0
  284. data/lib/cryptoexchange/exchanges/sistemkoin/market.rb +8 -0
  285. data/lib/cryptoexchange/exchanges/sistemkoin/services/market.rb +57 -0
  286. data/lib/cryptoexchange/exchanges/sistemkoin/services/pairs.rb +28 -0
  287. data/lib/cryptoexchange/exchanges/stocks_exchange/market.rb +1 -1
  288. data/lib/cryptoexchange/exchanges/stocks_exchange/services/market.rb +0 -2
  289. data/lib/cryptoexchange/exchanges/switcheo/market.rb +8 -0
  290. data/lib/cryptoexchange/exchanges/switcheo/services/market.rb +50 -0
  291. data/lib/cryptoexchange/exchanges/switcheo/services/pairs.rb +25 -0
  292. data/lib/cryptoexchange/exchanges/syex/market.rb +9 -0
  293. data/lib/cryptoexchange/exchanges/{hksy → syex}/services/market.rb +20 -11
  294. data/lib/cryptoexchange/exchanges/syex/services/pairs.rb +23 -0
  295. data/lib/cryptoexchange/exchanges/thetokenstore/market.rb +8 -0
  296. data/lib/cryptoexchange/exchanges/thetokenstore/services/market.rb +49 -0
  297. data/lib/cryptoexchange/exchanges/thetokenstore/services/order_book.rb +44 -0
  298. data/lib/cryptoexchange/exchanges/thetokenstore/services/pairs.rb +22 -0
  299. data/lib/cryptoexchange/exchanges/thetokenstore/services/trades.rb +33 -0
  300. data/lib/cryptoexchange/exchanges/tokenjar/market.rb +8 -0
  301. data/lib/cryptoexchange/exchanges/tokenjar/services/market.rb +53 -0
  302. data/lib/cryptoexchange/exchanges/tokenjar/services/pairs.rb +30 -0
  303. data/lib/cryptoexchange/exchanges/tokenomy/market.rb +8 -0
  304. data/lib/cryptoexchange/exchanges/tokenomy/services/market.rb +52 -0
  305. data/lib/cryptoexchange/exchanges/tokenomy/services/order_book.rb +48 -0
  306. data/lib/cryptoexchange/exchanges/tokenomy/services/pairs.rb +25 -0
  307. data/lib/cryptoexchange/exchanges/tokenomy/services/trades.rb +34 -0
  308. data/lib/cryptoexchange/exchanges/topbtc/market.rb +8 -0
  309. data/lib/cryptoexchange/exchanges/topbtc/services/market.rb +53 -0
  310. data/lib/cryptoexchange/exchanges/topbtc/services/pairs.rb +26 -0
  311. data/lib/cryptoexchange/exchanges/trademn/market.rb +8 -0
  312. data/lib/cryptoexchange/exchanges/trademn/services/market.rb +38 -0
  313. data/lib/cryptoexchange/exchanges/trademn/services/order_book.rb +44 -0
  314. data/lib/cryptoexchange/exchanges/trademn/services/pairs.rb +37 -0
  315. data/lib/cryptoexchange/exchanges/trademn/services/trades.rb +31 -0
  316. data/lib/cryptoexchange/exchanges/upbit/market.rb +1 -2
  317. data/lib/cryptoexchange/exchanges/upbit/services/market.rb +9 -24
  318. data/lib/cryptoexchange/exchanges/upbit/services/order_book.rb +50 -0
  319. data/lib/cryptoexchange/exchanges/upbit/services/pairs.rb +9 -5
  320. data/lib/cryptoexchange/exchanges/upbit/services/trades.rb +33 -0
  321. data/lib/cryptoexchange/exchanges/vertpig/market.rb +8 -0
  322. data/lib/cryptoexchange/exchanges/vertpig/services/market.rb +51 -0
  323. data/lib/cryptoexchange/exchanges/vertpig/services/order_book.rb +43 -0
  324. data/lib/cryptoexchange/exchanges/vertpig/services/pairs.rb +25 -0
  325. data/lib/cryptoexchange/exchanges/wcx/market.rb +8 -0
  326. data/lib/cryptoexchange/exchanges/wcx/services/market.rb +74 -0
  327. data/lib/cryptoexchange/exchanges/wcx/services/order_book.rb +45 -0
  328. data/lib/cryptoexchange/exchanges/wcx/services/pairs.rb +25 -0
  329. data/lib/cryptoexchange/exchanges/wcx/services/trades.rb +34 -0
  330. data/lib/cryptoexchange/exchanges/zebpay/market.rb +8 -0
  331. data/lib/cryptoexchange/exchanges/zebpay/services/market.rb +39 -0
  332. data/lib/cryptoexchange/exchanges/zebpay/services/pairs.rb +25 -0
  333. data/lib/cryptoexchange/models/market_pair.rb +12 -2
  334. data/lib/cryptoexchange/services/authentication.rb +43 -0
  335. data/lib/cryptoexchange/services/market.rb +14 -5
  336. data/lib/cryptoexchange/services/pairs.rb +17 -8
  337. data/lib/cryptoexchange/version.rb +1 -1
  338. metadata +298 -11
  339. data/lib/cryptoexchange/exchanges/hksy/hksy.yml +0 -69
  340. data/lib/cryptoexchange/exchanges/hksy/market.rb +0 -9
  341. data/lib/cryptoexchange/exchanges/okex/okex.yml +0 -43
  342. data/lib/cryptoexchange/exchanges/radar_relay/radar_relay.yml +0 -409
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd662971ac55025073fc7be928bc83d8e32637eb
4
- data.tar.gz: 639ef4db5ca0086b8cf95530f1e9672c5e7f320f
3
+ metadata.gz: 6ba0f45d433db62f42f19181fe1645372a0ef801
4
+ data.tar.gz: 6a6e22d79af35020fec2b3ae19028d54f50d4ded
5
5
  SHA512:
6
- metadata.gz: bea91d45eb863e43e221274eeffc9e887d1e1fdb4ef0da0ef5524c4482325dcd0e5554d58ba15d3f61fbf6836554a0c50058bbc86d7707e1c646920fffa8a0cd
7
- data.tar.gz: f9bcc7183d018c71c2f3f53bf083e60e4257cdd1e84126bc8964063e0755487ef1d7f6685f5c4392f9adcb5c9cfd1b6a4f751cf04cc6700be97adfbe23bd922f
6
+ metadata.gz: 1db1be82cf056aa43c28753638e0c44dd0ace47d07e7f3449c936881664802f3b87d2010b8754f55abe86278965005e094e7e23151d143242c2afe9a48bc347c
7
+ data.tar.gz: d698974541e984b22adcb97aba141002cc48999efc0501b302144f7799fd5f110c27e062897332e33d51ba590260a7a4e983b1ac0a7e6a09a4b339a369cfa312
data/README.md CHANGED
@@ -24,89 +24,133 @@ Or install it yourself as:
24
24
 
25
25
  | Exchange | Ticker | Order Book | Trade | Account | Market List |
26
26
  | ----------------- | ------- | ---------- | ------- | ------- | ----------- |
27
+ | Abcc | Y | N | N | | Y |
27
28
  | Abucoins | Y | Y | Y | | Y |
28
29
  | ACX | Y | Y | Y | | Y |
29
30
  | AEX | Y | Y | Y | | Y |
30
31
  | Allcoin | Y | Y | | | User-Defined|
31
32
  | ANX | Y | | | | User-Defined|
32
33
  | Bancor | Y | N | N | | Y |
34
+ | Bcex | Y | Y | Y | | Y |
33
35
  | Bibox | Y | Y | Y | | Y |
34
36
  | BigONE | Y | Y | Y | | Y |
37
+ | Bilaxy | Y | Y | Y | | Y |
35
38
  | Bit-Z | Y | | | | Y |
36
39
  | Bit2C | Y | Y | Y | | User-Defined|
37
40
  | Binance | Y | Y | | | Y |
38
41
  | Bitbay | Y | | | | User-Defined|
42
+ | BitBNS | Y | | | | Y |
39
43
  | Bitbank | Y | Y | Y | | User-Defined|
40
44
  | Bitcoin Indonesia | Y | | | | User-Defined|
41
45
  | Bitconnect | Y | | | | Y |
46
+ | Bitebtc | Y | Y | Y | | Y |
42
47
  | Bitfinex | Y | | | | Y |
43
48
  | Bitflyer | Y | | | | Y |
49
+ | Bithash | Y | Y | Y | | Y |
44
50
  | Bithumb | Y | | | | Y |
51
+ | Bitibu | Y | Y | Y | | Y |
45
52
  | Bitkonan | Y | | | | User-Defined|
46
53
  | Bitmex | Y | Y | Y | | Y |
54
+ | Bitpaction | Y | Y | Y | | Y |
47
55
  | Bits Blockchain | Y | Y | | | Y |
48
56
  | Bitso | Y | | | | Y |
49
57
  | Bitstamp | Y | Y | Y | | User-Defined|
50
58
  | Bittrex | Y | | | | Y |
51
59
  | Bleutrade | Y | | | | Y |
60
+ | Braziliex | Y | Y | Y | | Y |
52
61
  | BtcAlpha | Y | Y | Y | | Y |
62
+ | BtcTradeUa | Y | Y | Y | | Y |
53
63
  | BTCBox | Y | Y | | | User-Defined|
54
64
  | BTC-e | | | | | |
55
65
  | BTC38 | | | | | |
56
66
  | BTCC | Y | | | | User-Defined|
57
67
  | BTCChina | | | | | |
68
+ | Btcsquare | Y | Y | Unstable| | Y |
58
69
  | BTER | Y | | | | Y |
59
70
  | Buyucoin | Y | N | N | | Y |
60
71
  | BX Thailand | Y | | | | Y |
61
- | Cex | Y | Y | Y | | Y |
62
72
  | CCex | Y | | | | Y |
73
+ | Cex | Y | Y | Y | | Y |
74
+ | Cfinex | Y | Y | Y | | Y |
63
75
  | CHBTC | Y | | | | User-Defined|
64
76
  | Cobinhood | Y | Y | | | Y |
77
+ | Coin2001 | Y | Y | Y | | Y |
65
78
  | CoinEgg | Y | Y | Y | | User-Defined|
66
79
  | Coincheck | Y | | | | User-Defined|
67
80
  | Coinex | Y | Y | Y | | Y |
68
81
  | Coinfalcon | Y | Y | Y | | Y |
82
+ | Coinfield | Y | N | N | | Y |
83
+ | Coingi | Y | Y | Y | | Y |
69
84
  | CoinExchange | Y | | | | Y |
70
85
  | Coinbene | Y | Y | Y | | Y |
71
86
  | Coinhouse | Y | | | | Y |
87
+ | CoinJar | Y | Y | Y | | Y |
72
88
  | Coinmate | Y | Y | | | User-Defined|
73
89
  | Coinnest | Y | Y | Y | | User-Defined|
90
+ | Coinnox | Y | Y | Y | | Y |
74
91
  | Coinroom | Y | | | | Y |
75
92
  | Coinone | Y | Y | Y | | Y |
76
93
  | Coinrail | Y | Y | Y | | Y |
77
94
  | CoinsMarkets | Y | | | | Y |
95
+ | Coinsuper | Y | | | | Y |
96
+ | Coinstock | Y | Y | Y | | Y |
97
+ | Cointiger | Y | Y | Y | | Y |
98
+ | Coinut | Y | Y | Y | Y | Y |
78
99
  | COSS | Y | | | | Y |
100
+ | Cpdax | Y | | | | Y |
79
101
  | Crex24 | Y | Y | Y | | Y |
80
102
  | CRXZone | Y | Y | Y | | Y |
103
+ | Cryptex | Y | Y | Y | | User-Defined|
81
104
  | CryptoBridge | Y | | | | Y |
82
105
  | CryptoHub | Y | N | N | | Y |
106
+ | Cryptobulls | Y | N | N | | Y |
83
107
  | Cryptopia | Y | Y | Y | | Y |
108
+ | Cybex | Y | Y | Y | | Y |
109
+ | Ddex | Y | | | | Y |
110
+ | Dsx | Y | Y | Y | | Y |
111
+ | Ercdex | Y | Y | | | Y |
84
112
  | EtherDelta | Y | | | | Y |
85
113
  | Ethfinex | Y | Y | Y | | Y |
86
114
  | Exmo | Y | Y | Y | | Y |
115
+ | Exrates | Y | N | N | | Y |
87
116
  | Extstock | Y | Y | Y | | Y |
88
117
  | Exx | Y | Y | Y | | Y |
118
+ | F1cx | Y | Y | Y | | Y |
119
+ | Fcoin | Y | Y | Y | | Y |
120
+ | Fex | Y | N | N | | Y |
89
121
  | Fisco | Y | Y | Y | | Y |
122
+ | Forkdelta | Y | N | N | | Y |
123
+ | Freiexchange | Y | Y | | | User-Defined|
90
124
  | Gate | Y | Y | Y | | Y |
91
125
  | Gatecoin | Y | | | | Y |
92
126
  | GDAX | Y | | | | Y |
93
127
  | Gemini | Y | Y | Y | | Y |
94
128
  | GetBTC | Y | Y | Y | | User-Defined|
95
129
  | GOPAX | Y | Y | Y | | Y |
130
+ | Graviex | Y | N | N | | Y |
131
+ | Hadax | Y | N | N | | Y |
96
132
  | HitBTC | Y | | | | Y |
97
133
  | Hksy | Y | | Y | | User-Defined|
134
+ | Hotbit | Y | N | N | | Y |
98
135
  | Huobi | Y | | | | Y |
136
+ | Idax | Y | N | N | | Y |
137
+ | Idcm | Y | | | | Y |
138
+ | Idex | Y | Unstable | Y | | Y |
99
139
  | InfinityCoin | Y | | | | Y |
100
140
  | Itbit | Y | Y | Y | | User-Defined|
101
- | Idex | Y | Unstable | Y | | Y |
102
- | KKex | Y | Y | Y | | Y |
103
- | KyberNetwork | Y | N | N | | Y |
141
+ | Jex | Y | N | N | | Y |
142
+ | Joyso | Y | Y | | | Y |
104
143
  | Jubi | Y | | | | Y |
144
+ | KKex | Y | Y | Y | | Y |
145
+ | Kkcoin | Y | Y | Y | | Y |
105
146
  | Koinex | Y | | | | Y |
147
+ | Koinok | Y | | | | Y |
106
148
  | Korbit | Y | | | | User-Defined|
107
149
  | Kraken | Y | | | | Y |
150
+ | Kryptono | Y | Y | Y | | User-Defined|
108
151
  | Kucoin | Y | Y | Y | | Y |
109
152
  | Kuna | Y | Y | Y | | User-Defined|
153
+ | KyberNetwork | Y | N | N | | Y |
110
154
  | LakeBTC | Y | | | | Y |
111
155
  | Latoken | Y | | | | Y |
112
156
  | Lbank | Y | Y | Y | | Y |
@@ -118,58 +162,88 @@ Or install it yourself as:
118
162
  | Lykke | Y | Y | N | | Y |
119
163
  | MercadoBitcoin | Y | | | | User-Defined|
120
164
  | Mercatox | Y | N | N | N | Y |
165
+ | Myspeedtrade | Y | Y | | | Y |
121
166
  | Nanex | Y | N | N | N | Y |
167
+ | Nebula | Y | N | Y | | Y |
122
168
  | Neraex | Y | Y | Y | | Y |
169
+ | Ninecoin | Y | | | | Y |
123
170
  | NLexch | Y | | | | Y |
171
+ | Novadex | Y | N | N | | Y |
124
172
  | Nova Exchange | Y | | | | Y |
173
+ | OasisDEX | Y | | | | Y |
174
+ | Octaex | Y | Y | Y | | Y |
125
175
  | OKCoin | Y | | | | User-Defined|
126
- | OKEx | Y | Y | Y | | User-Defined|
176
+ | OKEx | Y | Y | Y | | Y |
177
+ | OmniTrade | Y | Y | Y | Y | Y |
178
+ | Ooobtc | Y | Y | Y | | Y |
179
+ | Openledger | Y | Y | Y | | Y |
180
+ | OrderBook | Y | Y | Y | | Y |
181
+ | Ore Bz | Y | Y | Y | | Y |
127
182
  | Paribu | Y | | | | Y |
128
183
  | Paymium | Y | Y | Y | | User-Defined|
129
184
  | Poloniex | Y | | | | Y |
130
185
  | Qryptos | Y | | | | Y |
131
186
  | QuadrigaCX | Y | | | | User-Defined|
132
187
  | Quoine | Y | | | | Y |
133
- | RadarRelay | Y | | | | User-Defined|
188
+ | RadarRelay | Y | | | | Y |
134
189
  | RightBTC | Y | Y | Y | | Y |
190
+ | SafeTrade | Y | N | N | | Y |
191
+ | Sigen | Y | | | | Y |
192
+ | Simex | Y | N | N | | Y |
193
+ | Singularx | Y | N | N | | Y |
194
+ | Sistemkoin | Y | | | | Y |
135
195
  | SouthXchange | Y | Y | Y | | Y |
136
196
  | Stocks Exchange | Y | | | | Y |
197
+ | Switcheo | Y | N | N | | Y |
198
+ | Syex | Y | N | N | | Y |
137
199
  | SZZC | Y | | | | Y |
138
200
  | The Rock Trading | Y | | | | Y |
201
+ | The Token Store | Y | Y | Y | | Y |
139
202
  | Tidex | Y | | | | Y |
203
+ | Tokenjar | Y | | | | Y |
204
+ | Tokenomy | Y | Y | Y | | Y |
205
+ | Topbtc | Y | N | N | | Y |
140
206
  | TradeOgre | Y | Y | Y | | Y |
141
207
  | Trade Satoshi | Y | | | | Y |
208
+ | Trade.mn | Y | Y | Y | | Y |
142
209
  | TrustDex ** | Y | | | | Y |
143
210
  | TuxExchange | Y | | | | Y |
144
- | Upbit | Y | | | | Y |
211
+ | Upbit | Y | Y | Y | | Y |
145
212
  | Unocoin | | | | | |
213
+ | Vertpig | Y | Y | N | | Y |
146
214
  | Viabtc | Y | | | | User-Defined|
147
215
  | Waves | Y | N | Y | | Y |
216
+ | Wcx | Y | Y | Y | | Y |
148
217
  | Wex | Y | Y | Y | | Y |
149
218
  | Yobit | Y | | | | Y |
150
219
  | Yuanbao | Y | | | | User-Defined|
151
220
  | Yunbi | Y | | | | Y |
152
221
  | Zaif | Y | Y | Y | | Y |
153
222
  | ZB | Y | Y | Y | | Y |
223
+ | Zebpay | Y | | | | Y |
154
224
 
155
225
  ** Mapping and data may be incorrect (Cannot determine correctness)
226
+ *** User-Defined requires pair id
156
227
 
157
228
  ## Usage
158
229
 
159
230
  ### List market pairs supported by an exchange
231
+
160
232
  ```
161
233
  client = Cryptoexchange::Client.new
162
234
  pairs = client.pairs('bitflyer')
163
235
  ```
164
236
 
165
237
  ### List exchange services for certain currency
238
+
166
239
  ```
167
240
  client.exchange_for('btc')
168
241
 
169
- # ['anx', 'bianance', ...]
242
+ # ['anx', 'binance', ...]
170
243
  ```
171
244
 
172
245
  ### Query the Ticker API
246
+
173
247
  ```
174
248
  pair = client.pairs('bitflyer').first
175
249
  ticker = client.ticker(pair)
@@ -179,9 +253,10 @@ Or install it yourself as:
179
253
  ```
180
254
 
181
255
  ### Query the OrderBook API
256
+
182
257
  ```
183
258
  # Check if exchange has support for OrderBook
184
- pair = client.pairs('bitflyer').first
259
+ pair = client.pairs('bitbank').first
185
260
  order_book = client.order_book(pair)
186
261
  order_book.base
187
262
  order_book.target
@@ -189,7 +264,22 @@ Or install it yourself as:
189
264
  order_book.asks
190
265
  ```
191
266
 
267
+ ### Query the Trades API
268
+
269
+ ```
270
+ # Check if exchange has support for Trades
271
+ # returns array
272
+
273
+ pair = client.pairs('neraex').first
274
+ trades = client.trades(pair)
275
+ trades[0].base
276
+ trades[0].target
277
+ trades[0].price
278
+ trades[0].amount
279
+ ```
280
+
192
281
  ### Market List
282
+
193
283
  Some exchange API do not support market pair listings. For those exchanges, we included
194
284
  a custom YML file to define the list of market pairs supported by that exchange.
195
285
  That configuration works out of the box, however if that exchange adds new market pairs,
@@ -200,6 +290,7 @@ In the table above, look for the `User-Defined` under the Market List column.
200
290
 
201
291
  The format of the yaml file should look like below.
202
292
  Name the file <exchange_name>.yml and place it under the config/cryptoexchange directory.
293
+
203
294
  ```
204
295
  :pairs:
205
296
  - :base: BTC
@@ -1,4 +1,5 @@
1
1
  require "cryptoexchange/version"
2
+ require "cryptoexchange/credentials"
2
3
  require "cryptoexchange/client"
3
4
  require "cryptoexchange/lru_ttl_cache"
4
5
  require "cryptoexchange/helpers/string_helper"
@@ -8,6 +9,7 @@ require "cryptoexchange/models/ticker"
8
9
  require "cryptoexchange/models/market_pair"
9
10
  require "cryptoexchange/services/market"
10
11
  require "cryptoexchange/services/pairs"
12
+ require "cryptoexchange/services/authentication"
11
13
 
12
14
  path_files = Dir[File.join(File.dirname(__dir__), 'lib', 'cryptoexchange', '**', '*.rb')]
13
15
 
@@ -0,0 +1,26 @@
1
+ module Cryptoexchange
2
+ class Credentials
3
+ class << self
4
+ def get(exchange)
5
+ unless File.exists?(filename)
6
+ raise Cryptoexchange::CredentialsMissingError, "#{filename} does not exist!"
7
+ end
8
+
9
+ exchange_credentials = HashHelper.dig(credentials, exchange)
10
+ raise Cryptoexchange::CredentialsMissingError, "Credentials for #{exchange} does not exist!" unless exchange_credentials
11
+
12
+ exchange_credentials
13
+ end
14
+
15
+ private
16
+
17
+ def filename
18
+ 'config/cryptoexchange/credentials.yml'
19
+ end
20
+
21
+ def credentials
22
+ YAML.load_file(filename)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -22,4 +22,7 @@ module Cryptoexchange
22
22
 
23
23
  class ResultParseError < Error
24
24
  end
25
+
26
+ class CredentialsMissingError < Error
27
+ end
25
28
  end
@@ -0,0 +1,8 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Abcc
3
+ class Market
4
+ NAME = 'abcc'
5
+ API_URL = 'https://api.abcc.com/api/v2'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,52 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Abcc
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::Abcc::Market::API_URL}/tickers.json"
18
+ end
19
+
20
+ def adapt_all(output)
21
+ output.map do |pair, ticker|
22
+ separator = /(USDT|BTC|ETH)\z/i =~ pair
23
+ base = pair[0..separator - 1]
24
+ target = pair[separator..-1]
25
+ market_pair = Cryptoexchange::Models::MarketPair.new(
26
+ base: base,
27
+ target: target,
28
+ market: Abcc::Market::NAME
29
+ )
30
+ adapt(ticker, market_pair)
31
+ end
32
+ end
33
+
34
+ def adapt(output, market_pair)
35
+ ticker = Cryptoexchange::Models::Ticker.new
36
+ ticker.base = market_pair.base
37
+ ticker.target = market_pair.target
38
+ ticker.market = Abcc::Market::NAME
39
+ ticker.bid = NumericHelper.to_d(HashHelper.dig(output, 'ticker', 'buy'))
40
+ ticker.ask = NumericHelper.to_d(HashHelper.dig(output, 'ticker', 'sell'))
41
+ ticker.last = NumericHelper.to_d(HashHelper.dig(output, 'ticker', 'last'))
42
+ ticker.high = NumericHelper.to_d(HashHelper.dig(output, 'ticker', 'high'))
43
+ ticker.low = NumericHelper.to_d(HashHelper.dig(output, 'ticker', 'low'))
44
+ ticker.volume = NumericHelper.to_d(HashHelper.dig(output, 'ticker', 'vol'))
45
+ ticker.timestamp = NumericHelper.to_d(output['at'])
46
+ ticker.payload = output
47
+ ticker
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,27 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Abcc
3
+ module Services
4
+ class Pairs < Cryptoexchange::Services::Pairs
5
+ PAIRS_URL = "#{Cryptoexchange::Exchanges::Abcc::Market::API_URL}/tickers.json"
6
+
7
+ def fetch
8
+ output = super
9
+ adapt(output)
10
+ end
11
+
12
+ def adapt(output)
13
+ output.map do |pair, _ticker|
14
+ separator = /(USDT|BTC|ETH)\z/i =~ pair
15
+ base = pair[0..separator - 1]
16
+ target = pair[separator..-1]
17
+ Cryptoexchange::Models::MarketPair.new(
18
+ base: base,
19
+ target: target,
20
+ market: Abcc::Market::NAME
21
+ )
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,8 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Bcex
3
+ class Market
4
+ NAME = 'bcex'
5
+ API_URL = 'https://www.bcex.ca'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,41 @@
1
+ module Cryptoexchange::Exchanges
2
+ module Bcex
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 = fetch_using_post(ticker_url(market_pair), {})
13
+ adapt(output, market_pair)
14
+ end
15
+
16
+ def ticker_url(market_pair)
17
+ base = market_pair.base.downcase
18
+ target = market_pair.target.downcase
19
+ "#{Cryptoexchange::Exchanges::Bcex::Market::API_URL}/Api_Order/ticker?symbol=#{base}2#{target}"
20
+ end
21
+
22
+ def adapt(output, market_pair)
23
+ data = output['data']
24
+ ticker = Cryptoexchange::Models::Ticker.new
25
+ ticker.base = market_pair.base
26
+ ticker.target = market_pair.target
27
+ ticker.market = Bcex::Market::NAME
28
+ ticker.ask = NumericHelper.to_d(data['sell'])
29
+ ticker.bid = NumericHelper.to_d(data['buy'])
30
+ ticker.last = NumericHelper.to_d(data['last'])
31
+ ticker.high = NumericHelper.to_d(data['high'])
32
+ ticker.low = NumericHelper.to_d(data['low'])
33
+ ticker.volume = NumericHelper.to_d(data['vol'])
34
+ ticker.timestamp = Time.now.to_i
35
+ ticker.payload = output
36
+ ticker
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end