@icgio/icg-exchanges-wrapper 1.9.45 → 1.9.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,107 @@
1
+ const _ = require('lodash')
2
+
3
+ const INVALID_EXCHANGES_LIST = ['Bitforex', 'Thinkbit', 'Kkcoin']
4
+ const TRADES_TIMEFRAME = 10 * 60 * 1000
5
+
6
+ let first_time = {}, exchange_pair_trades = {}, status = {}
7
+ module.exports.get_exchanges_trades = function (Exchanges, exchange_pair_dict, cb, ws_enabled=true) {
8
+ if (!Array.isArray(Exchanges)) {
9
+ console.error('Exchanges should be an array')
10
+ return
11
+ } else {
12
+ for (let exchange of Exchanges) {
13
+ let exchange_name = exchange.name, exchange_id = exchange.exchange_id
14
+ if (!exchange_pair_dict[exchange_name]) {
15
+ continue
16
+ }
17
+ let pair_list = exchange_pair_dict[exchange_name]
18
+ for (let pair of pair_list) {
19
+ _.set(status, [exchange + pair], false)
20
+ }
21
+ if (_.includes(INVALID_EXCHANGES_LIST, exchange_name)) {
22
+ continue
23
+ } else if (exchange.get_all_trades_ws) {
24
+ if (exchange.ws_status().trading === 'n-opened')
25
+ exchange.ws_account()
26
+ exchange.get_all_trades_ws(TRADES_TIMEFRAME, function (res) {
27
+ for (let pair of pair_list) {
28
+ _.set(status, [exchange + pair], true)
29
+ }
30
+ if (res.success) {
31
+ res.body(trade => {
32
+ let pair = trade.pair
33
+ if (!_.get(exchange_pair_trades, [exchange, pair])) {
34
+ _.set(exchange_pair_trades, [exchange_id, pair], [])
35
+ }
36
+ exchange_pair_trades[exchange][pair].push(trade)
37
+ })
38
+ _.set(exchange_pair_trades, [exchange_id, pair], res.body)
39
+ } else {
40
+ if (exchange_pair_trades[exchange]) {
41
+ delete exchange_pair_trades[exchange]
42
+ }
43
+ }
44
+ if (!_.includes(_.values(status), false)) {
45
+ cb(exchange_pair_trades)
46
+ }
47
+ })
48
+ } else if (exchange.get_all_trades) {
49
+ exchange.get_all_trades(TRADES_TIMEFRAME, function (res) {
50
+ for (let pair of pair_list) {
51
+ _.set(status, [exchange + pair], true)
52
+ }
53
+ if (res.success) {
54
+ res.body(trade => {
55
+ let pair = trade.pair
56
+ if (!_.get(exchange_pair_trades, [exchange_id, pair])) {
57
+ _.set(exchange_pair_trades, [exchange_id, pair], [])
58
+ }
59
+ exchange_pair_trades[exchange][pair].push(trade)
60
+ })
61
+ } else {
62
+ if (exchange_pair_trades[exchange]) {
63
+ delete exchange_pair_trades[exchange][pair]
64
+ }
65
+ }
66
+ if (!_.includes(_.values(status), false)) {
67
+ cb(exchange_pair_trades)
68
+ }
69
+ })
70
+ } else if (exchange.get_trades_ws) {
71
+ if (exchange.ws_status().trading === 'n-opened')
72
+ exchange.ws_account()
73
+ for (let pair of pair_list) {
74
+ exchange.get_trades_ws(pair, TRADES_TIMEFRAME, function (res) {
75
+ _.set(status, [exchange + pair], true)
76
+ if (res.success) {
77
+ _.set(exchange_pair_trades, [exchange_id, pair], res.body)
78
+ } else {
79
+ if (exchange_pair_trades[exchange]) {
80
+ delete exchange_pair_trades[exchange][pair]
81
+ }
82
+ }
83
+ if (!_.includes(_.values(status), false)) {
84
+ cb(exchange_pair_trades)
85
+ }
86
+ })
87
+ }
88
+ } else if (exchange.get_trades) {
89
+ for (let pair of pair_list) {
90
+ exchange.get_trades(pair, TRADES_TIMEFRAME, function (res) {
91
+ _.set(status, [exchange + pair], true)
92
+ if (res.success) {
93
+ _.set(exchange_pair_trades, [exchange_id, pair], res.body)
94
+ } else {
95
+ if (exchange_pair_trades[exchange]) {
96
+ delete exchange_pair_trades[exchange][pair]
97
+ }
98
+ }
99
+ if (!_.includes(_.values(status), false)) {
100
+ cb(exchange_pair_trades)
101
+ }
102
+ })
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
package/index.js CHANGED
@@ -1,14 +1,14 @@
1
- const get_exchanges_balance = require('./functions/get-exchanges-balance.js')
2
- const get_exchanges_open_orders = require('./functions/get-exchanges-open-orders.js')
3
1
  const get_exchanges_rates = require('./functions/get-exchanges-rates-market-history.js').get_exchanges_rates
4
2
  const get_exchanges_market_history = require('./functions/get-exchanges-rates-market-history.js').get_exchanges_market_history
3
+ const get_exchanges_balance = require('./functions/get-exchanges-balance.js')
4
+ const get_exchanges_open_orders = require('./functions/get-exchanges-open-orders.js')
5
5
  const get_exchanges_trades = require('./functions/get-exchanges-trades.js')
6
6
 
7
7
  module.exports.functions = {
8
- get_exchanges_balance,
9
- get_exchanges_open_orders,
10
8
  get_exchanges_rates,
11
9
  get_exchanges_market_history,
10
+ get_exchanges_balance,
11
+ get_exchanges_open_orders,
12
12
  get_exchanges_trades
13
13
  }
14
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icgio/icg-exchanges-wrapper",
3
- "version": "1.9.45",
3
+ "version": "1.9.47",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -17,8 +17,8 @@
17
17
  },
18
18
  "homepage": "https://github.com/icgio/icg-exchanges-wrapper#readme",
19
19
  "dependencies": {
20
- "@icgio/icg-exchanges": "^1.27.29",
21
- "@icgio/icg-exchanges-data": "^1.6.18",
20
+ "@icgio/icg-exchanges": "^1.27.33",
21
+ "@icgio/icg-exchanges-data": "^1.6.19",
22
22
  "@icgio/icg-utils": "^1.7.9",
23
23
  "influx": "^5.7.0",
24
24
  "lodash": "^4.17.20",