@icgio/clients-config 1.0.13 → 1.0.15

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.
@@ -1,2 +1,2 @@
1
- secretread.js:cce6a28d51280329b2dc6dd66f6087b9c03e78ac9b3cf3e6d4ed3b8a0988c159
1
+ secretread.js:45e2c039641fc5970570dc21d92bfb44694f5230b528e1cec26bf3fc0cd53207
2
2
  data-source.js:15072408c197eb95e24f85f09efc1e134aaa7574c5a19510ee1f318e0d6e9dac
@@ -3,6 +3,9 @@
3
3
  "AVAV": {
4
4
  "Bitget": ["AVAVUSDT"]
5
5
  },
6
+ "CARAC": {
7
+ "Xt": ["CARACUSDT"]
8
+ },
6
9
  "CARE": {
7
10
  "Bitmart": ["CAREUSDT"],
8
11
  "Gatev4": ["CAREUSDT"],
@@ -10,6 +13,10 @@
10
13
  "Mexc": ["CAREUSDT"],
11
14
  "Xt": ["CAREUSDT"]
12
15
  },
16
+ "CELO": {
17
+ "Binance": ["ETHUSDC"],
18
+ "Uniswap": ["ETHUSDC"]
19
+ },
13
20
  "CTG": {
14
21
  "Mexc": ["CTGUSDT"]
15
22
  },
@@ -24,12 +31,23 @@
24
31
  "Coinw": ["HMTTUSDT"],
25
32
  "Mexc": ["HMTTUSDT"]
26
33
  },
34
+ "KOAVA": {
35
+ "Mexc": ["KOAVAUSDT"]
36
+ },
27
37
  "MEGODS": {
28
38
  "Bitmart": ["MEGODSUSDT"]
29
39
  },
40
+ "MEMEMINT": {
41
+ "Bitmart": ["MEMEMINTUSDT"],
42
+ "Mexc": ["MEMEMINTUSDT"]
43
+ },
30
44
  "MGROK": {
31
45
  "Mexc": ["MGROKUSDT"]
32
46
  },
47
+ "MUSSEL": {
48
+ "Bitmart": ["MUSSELUSDT"],
49
+ "Mexc": ["MUSSELUSDT"]
50
+ },
33
51
  "PIAS": {
34
52
  "Bitmart": ["PIASUSDT"],
35
53
  "Gatev4": ["PIASUSDT"],
@@ -54,66 +72,59 @@
54
72
  "Phemex": ["REDUSDT"],
55
73
  "Xt": ["REDUSDT"]
56
74
  },
57
- "XERT": {
58
- "Mexc": ["XERTUSDT"],
59
- "Xt": ["XERTUSDT"]
60
- },
61
- "VTC": {
62
- "Mexc": ["VTCUSDT"]
63
- },
64
- "TV": {
65
- "Mexc": ["TVUSDT"]
75
+ "RWX": {
76
+ "Mexc": ["RWXUSDT"]
66
77
  },
67
78
  "TGMT": {
68
79
  "Mexc": ["TGMTUSDT"]
69
80
  },
70
- "CARAC": {
71
- "Xt": ["CARACUSDT"]
72
- },
73
- "CELO": {
74
- "Binance": ["ETHUSDC"],
75
- "Uniswap": ["ETHUSDC"]
76
- },
77
- "RWX": {
78
- "Mexc": ["RWXUSDT"]
81
+ "TV": {
82
+ "Mexc": ["TVUSDT"]
79
83
  },
80
- "MUSSEL": {
81
- "Bitmart": ["MUSSELUSDT"],
82
- "Mexc": ["MUSSELUSDT"]
84
+ "VTC": {
85
+ "Mexc": ["VTCUSDT"]
83
86
  },
84
- "KOAVA": {
85
- "Mexc": ["KOAVAUSDT"]
87
+ "XERT": {
88
+ "Mexc": ["XERTUSDT"],
89
+ "Xt": ["XERTUSDT"]
86
90
  }
87
91
  },
88
92
  "client_not_include_exchanges": {
89
93
  "AVAV": [],
94
+ "CARAC": [],
90
95
  "CARE": [],
96
+ "CELO": [],
91
97
  "CTG": [],
92
98
  "FAI": [],
93
99
  "FREN": [],
94
100
  "HMTT": [],
101
+ "KOAVA": [],
95
102
  "MEGODS": [],
103
+ "MEMEMINT": [],
96
104
  "MGROK": [],
105
+ "MUSSEL": [],
97
106
  "PIAS": [],
98
107
  "PRMX": [],
99
108
  "RED": [],
100
- "XERT": [],
101
- "VTC": [],
102
- "TV": [],
103
- "TGMT": [],
104
- "CARAC": [],
105
- "CELO": [],
106
109
  "RWX": [],
107
- "MUSSEL": [],
108
- "KOAVA": []
110
+ "TGMT": [],
111
+ "TV": [],
112
+ "VTC": [],
113
+ "XERT": []
109
114
  },
110
115
  "client_pair_main_exchanges": {
111
116
  "AVAV": {
112
117
  "AVAVUSDT": ["Bitget"]
113
118
  },
119
+ "CARAC": {
120
+ "CARACUSDT": ["Xt"]
121
+ },
114
122
  "CARE": {
115
123
  "CAREUSDT": ["Lbank"]
116
124
  },
125
+ "CELO": {
126
+ "ETHUSDC": ["Binance"]
127
+ },
117
128
  "CTG": {
118
129
  "CTGUSDT": ["Mexc"]
119
130
  },
@@ -126,12 +137,21 @@
126
137
  "HMTT": {
127
138
  "HMTTUSDT": ["Gatev4"]
128
139
  },
140
+ "KOAVA": {
141
+ "KOAVAUSDT": ["Mexc"]
142
+ },
129
143
  "MEGODS": {
130
144
  "MEGODSUSDT": ["Bitmart"]
131
145
  },
146
+ "MEMEMINT": {
147
+ "MEMEMINTUSDT": ["Mexc"]
148
+ },
132
149
  "MGROK": {
133
150
  "MGROKUSDT": ["Mexc"]
134
151
  },
152
+ "MUSSEL": {
153
+ "MUSSELUSDT": ["Mexc"]
154
+ },
135
155
  "PIAS": {
136
156
  "PIASUSDT": ["Gatev4"]
137
157
  },
@@ -141,32 +161,20 @@
141
161
  "RED": {
142
162
  "REDUSDT": ["Lbank"]
143
163
  },
144
- "XERT": {
145
- "XERTUSDT": ["Mexc"]
146
- },
147
- "VTC": {
148
- "VTCUSDT": ["Mexc"]
149
- },
150
- "TV": {
151
- "TVUSDT": ["Mexc"]
164
+ "RWX": {
165
+ "RWXUSDT": ["Mexc"]
152
166
  },
153
167
  "TGMT": {
154
168
  "TGMTUSDT": ["Mexc"]
155
169
  },
156
- "CARAC": {
157
- "CARACUSDT": ["Xt"]
158
- },
159
- "CELO": {
160
- "ETHUSDC": ["Binance"]
161
- },
162
- "RWX": {
163
- "RWXUSDT": ["Mexc"]
170
+ "TV": {
171
+ "TVUSDT": ["Mexc"]
164
172
  },
165
- "MUSSEL": {
166
- "MUSSELUSDT": ["Mexc"]
173
+ "VTC": {
174
+ "VTCUSDT": ["Mexc"]
167
175
  },
168
- "KOAVA": {
169
- "KOAVAUSDT": ["Mexc"]
176
+ "XERT": {
177
+ "XERTUSDT": ["Mexc"]
170
178
  }
171
179
  },
172
180
  "client_exchange_currencies": {
@@ -219,6 +227,11 @@
219
227
  "trades": 1,
220
228
  "orderbook": 1
221
229
  },
230
+ "MEMEMINT": {
231
+ "balance": 1,
232
+ "trades": 1,
233
+ "orderbook": 1
234
+ },
222
235
  "MGROK": {
223
236
  "balance": 1,
224
237
  "trades": 1,
@@ -253,6 +266,7 @@
253
266
  "FAI": true,
254
267
  "FREN": true,
255
268
  "HMTT": true,
269
+ "MEMEMINT": true,
256
270
  "MGROK": true,
257
271
  "PRMX": true,
258
272
  "RED": true
@@ -274,6 +288,7 @@
274
288
  "FREN": true,
275
289
  "HMTT": true,
276
290
  "MEGODS": true,
291
+ "MEMEMINT": true,
277
292
  "MGROK": true,
278
293
  "PRMX": true,
279
294
  "RED": true,
@@ -287,68 +302,79 @@
287
302
  },
288
303
  "client_levels": {
289
304
  "AVAV": [2, 5, 10],
305
+ "CARAC": [2, 5, 10],
290
306
  "CARE": [2, 5, 10],
307
+ "CELO": [2, 5, 10],
291
308
  "CTG": [2, 5, 10],
292
309
  "FAI": [2, 5, 10],
293
310
  "FREN": [2, 5, 10],
294
311
  "HMTT": [2, 5, 10],
312
+ "KOAVA": [2, 5, 10],
295
313
  "MEGODS": [2, 5, 10],
314
+ "MEMEMINT": [2, 5, 10],
296
315
  "MGROK": [2, 5, 10],
316
+ "MUSSEL": [2, 5, 10],
297
317
  "PIAS": [2, 5, 10],
298
318
  "PRMX": [2, 5, 10],
299
319
  "RED": [2, 5, 10],
300
- "XERT": [2, 5, 10],
301
- "VTC": [2, 5, 10],
302
- "TV": [2, 5, 10],
303
- "TGMT": [2, 5, 10],
304
- "CARAC": [2, 5, 10],
305
- "CELO": [2, 5, 10],
306
320
  "RWX": [2, 5, 10],
307
- "MUSSEL": [2, 5, 10],
308
- "KOAVA": [2, 5, 10]
321
+ "TGMT": [2, 5, 10],
322
+ "TV": [2, 5, 10],
323
+ "VTC": [2, 5, 10],
324
+ "XERT": [2, 5, 10]
309
325
  },
310
326
  "client_benchmarks": {
311
327
  "AVAV": ["BTC", "ETH"],
328
+ "CARAC": ["BTC", "ETH"],
312
329
  "CARE": ["BTC", "ETH"],
330
+ "CELO": ["BTC", "ETH"],
313
331
  "CTG": ["BTC", "ETH"],
314
332
  "FAI": ["BTC", "ETH"],
315
333
  "FREN": ["BTC", "ETH"],
316
334
  "HMTT": ["BTC", "ETH"],
335
+ "KOAVA": ["BTC", "ETH"],
317
336
  "MEGODS": ["BTC", "ETH"],
337
+ "MEMEMINT": ["BTC", "ETH"],
318
338
  "MGROK": ["BTC", "ETH"],
339
+ "MUSSEL": ["BTC", "ETH"],
319
340
  "PIAS": ["BTC", "ETH"],
320
341
  "PRMX": ["BTC", "ETH"],
321
342
  "RED": ["BTC", "ETH"],
322
- "XERT": ["BTC", "ETH"],
323
- "VTC": ["BTC", "ETH"],
324
- "TV": ["BTC", "ETH"],
325
- "TGMT": ["BTC", "ETH"],
326
- "CARAC": ["BTC", "ETH"],
327
- "CELO": ["BTC", "ETH"],
328
343
  "RWX": ["BTC", "ETH"],
329
- "MUSSEL": ["BTC", "ETH"],
330
- "KOAVA": ["BTC", "ETH"]
344
+ "TGMT": ["BTC", "ETH"],
345
+ "TV": ["BTC", "ETH"],
346
+ "VTC": ["BTC", "ETH"],
347
+ "XERT": ["BTC", "ETH"]
331
348
  },
332
349
  "client_telegram_ids": {
333
350
  "AVAV": "-4199615909",
351
+ "CARAC": "-4103921001",
334
352
  "CARE": "-1002118117567",
353
+ "CELO": "-1001814469370",
335
354
  "CTG": "-4180828280",
336
355
  "FAI": "-1001659722021",
337
356
  "FREN": "-1001996048202",
338
357
  "HMTT": "-1002035174196",
358
+ "KOAVA": "-1002045767005",
339
359
  "MEGODS": "-1002012186332",
360
+ "MEMEMINT": "-1002066405497",
340
361
  "MGROK": "-1002106426914",
362
+ "MUSSEL": "-1002045767005",
341
363
  "PIAS": "-1002118117567",
342
364
  "PRMX": "-1002118117567",
343
365
  "RED": "-1002118117567",
344
- "XERT": "-1002139475658",
345
- "VTC": "-1002045767005",
346
- "TV": "-4158304999",
347
- "TGMT": "-1002053322082",
348
- "CARAC": "-4103921001",
349
- "CELO": "-1001814469370",
350
366
  "RWX": "-1002045767005",
351
- "MUSSEL": "-1002045767005",
352
- "KOAVA": "-1002045767005"
353
- }
367
+ "TGMT": "-1002053322082",
368
+ "TV": "-4158304999",
369
+ "VTC": "-1002045767005",
370
+ "XERT": "-1002139475658"
371
+ },
372
+ "balance_premium": {
373
+ "XERT": {
374
+ "mexc_1": {
375
+ "XERT": 5000
376
+ }
377
+ }
378
+ },
379
+ "client_additional_telegram_ids": {}
354
380
  }
package/config.js CHANGED
@@ -81,23 +81,7 @@ module.exports.client_currencies_with_stables = _.fromPairs(
81
81
  const clients_reporter_interval = config_data.clients_reporter_interval
82
82
  module.exports.clients_reporter_interval = clients_reporter_interval
83
83
 
84
- const balance_premium = {
85
- IONX: {
86
- mexc_1: {
87
- IONX: 10000000,
88
- },
89
- },
90
- SWFTC: {
91
- coinbase_1: {
92
- USDC: 20000,
93
- },
94
- },
95
- // XERT: {
96
- // mexc_1: {
97
- // XERT: 5000,
98
- // },
99
- // },
100
- }
84
+ const balance_premium = config_data.balance_premium
101
85
  module.exports.balance_premium = balance_premium
102
86
 
103
87
  const client_enabled = config_data.client_enabled
@@ -113,7 +97,5 @@ const client_telegram_ids = config_data.client_telegram_ids
113
97
  module.exports.client_telegram_ids = client_telegram_ids
114
98
  module.exports.telegram_id_clients = _.invertBy(client_telegram_ids)
115
99
 
116
- const client_additional_telegram_ids = {
117
- DMC: '-1002106853406',
118
- }
100
+ const client_additional_telegram_ids = config_data.client_additional_telegram_ids
119
101
  module.exports.client_additional_telegram_ids = client_additional_telegram_ids
package/config.json CHANGED
@@ -38,10 +38,6 @@
38
38
  "JASMY": {
39
39
  "Bitmart": ["JASMYUSDT"]
40
40
  },
41
- "MEMEMINT": {
42
- "Bitmart": ["MEMEMINTUSDT"],
43
- "Mexc": ["MEMEMINTUSDT"]
44
- },
45
41
  "MRPT": {
46
42
  "Lbank": ["MRPTUSDT"],
47
43
  "Mexc": ["MRPTUSDT"]
@@ -83,7 +79,6 @@
83
79
  "GKB": [],
84
80
  "IONX": [],
85
81
  "JASMY": [],
86
- "MEMEMINT": [],
87
82
  "MRPT": [],
88
83
  "NODED": [],
89
84
  "OGB": [],
@@ -124,9 +119,6 @@
124
119
  "JASMY": {
125
120
  "JASMYUSDT": ["Bitmart"]
126
121
  },
127
- "MEMEMINT": {
128
- "MEMEMINTUSDT": ["Mexc"]
129
- },
130
122
  "MRPT": {
131
123
  "MRPTUSDT": ["Mexc"]
132
124
  },
@@ -206,11 +198,6 @@
206
198
  "trades": 1,
207
199
  "orderbook": 1
208
200
  },
209
- "MEMEMINT": {
210
- "balance": 1,
211
- "trades": 1,
212
- "orderbook": 1
213
- },
214
201
  "MRPT": {
215
202
  "balance": 1,
216
203
  "trades": 1,
@@ -256,14 +243,12 @@
256
243
  "balance": {
257
244
  "AVALOX": true,
258
245
  "AXL": true,
259
- "BONG": true,
260
246
  "CAVADA": true,
261
247
  "DIS": true,
262
248
  "DMC": true,
263
249
  "GHD": true,
264
250
  "GKB": true,
265
251
  "JASMY": true,
266
- "MEMEMINT": true,
267
252
  "MRPT": true,
268
253
  "NODED": true,
269
254
  "OGB": true,
@@ -273,6 +258,7 @@
273
258
  "TIPS": true
274
259
  },
275
260
  "balance_cur": {
261
+ "BONG": true,
276
262
  "IONX": true
277
263
  },
278
264
  "total_in_usd": {
@@ -298,7 +284,6 @@
298
284
  "GKB": true,
299
285
  "IONX": true,
300
286
  "JASMY": true,
301
- "MEMEMINT": true,
302
287
  "MRPT": true,
303
288
  "NODED": true,
304
289
  "OGB": true,
@@ -325,7 +310,6 @@
325
310
  "GKB": [2, 5, 10],
326
311
  "IONX": [2, 5, 10],
327
312
  "JASMY": [2, 5, 10],
328
- "MEMEMINT": [2, 5, 10],
329
313
  "MRPT": [2, 5, 10],
330
314
  "NODED": [2, 5, 10],
331
315
  "OGB": [2, 5, 10],
@@ -346,7 +330,6 @@
346
330
  "GKB": ["BTC", "ETH"],
347
331
  "IONX": ["BTC", "ETH"],
348
332
  "JASMY": ["BTC", "ETH"],
349
- "MEMEMINT": ["BTC", "ETH"],
350
333
  "MRPT": ["BTC", "ETH"],
351
334
  "NODED": ["BTC", "ETH"],
352
335
  "OGB": ["BTC", "ETH"],
@@ -367,7 +350,6 @@
367
350
  "GKB": "-4213454386",
368
351
  "IONX": "-1002085059560",
369
352
  "JASMY": "-1002118117567",
370
- "MEMEMINT": "-1002066405497",
371
353
  "MRPT": "-4117016124",
372
354
  "NODED": "-4147346529",
373
355
  "OGB": "-4195618936",
@@ -376,5 +358,20 @@
376
358
  "SWFTC": "-1002067948127",
377
359
  "TIN": "-1002085447080",
378
360
  "TIPS": "-4151715633"
361
+ },
362
+ "balance_premium": {
363
+ "IONX": {
364
+ "mexc_1": {
365
+ "IONX": 10000000
366
+ }
367
+ },
368
+ "SWFTC": {
369
+ "coinbase_1": {
370
+ "USDC": 20000
371
+ }
372
+ }
373
+ },
374
+ "client_additional_telegram_ids": {
375
+ "DMC": "-1002106853406"
379
376
  }
380
377
  }
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icgio/clients-config",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
Binary file
@@ -79,6 +79,12 @@ function delete_client(client_name) {
79
79
  delete config_file_data.client_telegram_ids[client_name]
80
80
  delete config_file_data.clients_reporter_interval[client_name]
81
81
 
82
+ for (let key in config_file_data.client_enabled) {
83
+ if (config_file_data.client_enabled.hasOwnProperty(key)) {
84
+ delete config_file_data.client_enabled[key][client_name];
85
+ }
86
+ }
87
+
82
88
  write_config_file(config_file_data, config_file_path)
83
89
  .then(() => {
84
90
  console.log(`Client '${client_name}' has been deleted successfully.`)
@@ -107,7 +113,7 @@ function add_client(client_name) {
107
113
  },
108
114
  client_not_include_exchanges: {
109
115
  description: 'Enter client not include exchanges (Comma-separated values, e.g., Jubi, Lbank)',
110
- required: true,
116
+ required: false,
111
117
  },
112
118
  client_pair_main_exchanges: {
113
119
  description: 'Enter client pair main exchanges (JSON format i.e {"ETHUSDT": ["Bitget", "Gatev4"]} )',
@@ -127,7 +133,7 @@ function add_client(client_name) {
127
133
  },
128
134
  client_benchmarks: {
129
135
  description: 'Enter client benchmarks (Comma-separated values, e.g., BTC,ETH)',
130
- required: true,
136
+ required: false,
131
137
  },
132
138
  client_telegram_ids: {
133
139
  description: 'Enter client telegram ids i.e 1233457 ',
@@ -153,8 +159,17 @@ function add_client(client_name) {
153
159
  let reporter_interval = result.clients_reporter_interval.trim()
154
160
  reporter_interval = JSON.parse(reporter_interval)
155
161
 
156
- let not_include_exchanges = result.client_not_include_exchanges.split(',').map((value) => value.trim())
157
- let benchmarks = result.client_benchmarks.split(',').map((value) => value.trim())
162
+ let not_include_exchanges = [];
163
+ if (result.client_not_include_exchanges) {
164
+ not_include_exchanges = result.client_not_include_exchanges.split(',').map((value) => value.trim());
165
+ not_include_exchanges.sort();
166
+ }
167
+
168
+ let benchmarks = []
169
+ if (result.client_benchmarks) {
170
+ benchmarks = result.client_benchmarks.split(',').map((value) => value.trim())
171
+ benchmarks.sort()
172
+ }
158
173
  let levels = result.client_levels.split(',').map((value) => Number(value.trim()))
159
174
 
160
175
  config_file_data.client_exchange_pairs[client_name] = exchange_pairs
@@ -168,6 +183,15 @@ function add_client(client_name) {
168
183
 
169
184
  config_file_data.client_telegram_ids[client_name] = result.client_telegram_ids
170
185
 
186
+
187
+ config_file_data.client_exchange_pairs = sort(config_file_data.client_exchange_pairs);
188
+ config_file_data.client_pair_main_exchanges = sort(config_file_data.client_pair_main_exchanges);
189
+ config_file_data.clients_reporter_interval = sort(config_file_data.clients_reporter_interval);
190
+ config_file_data.client_not_include_exchanges = sort(config_file_data.client_not_include_exchanges);
191
+ config_file_data.client_levels = sort(config_file_data.client_levels);
192
+ config_file_data.client_benchmarks = sort(config_file_data.client_benchmarks);
193
+ config_file_data.client_telegram_ids = sort(config_file_data.client_telegram_ids);
194
+
171
195
  write_config_file(config_file_data, config_file_path)
172
196
  .then(() => {
173
197
  console.log(`Client '${client_name}' has been added successfully.`)
@@ -195,13 +219,39 @@ function update_config_archive(config_file_data, client_name) {
195
219
 
196
220
  config_archive_data.client_exchange_pairs[client_name] = config_file_data.client_exchange_pairs[client_name]
197
221
  config_archive_data.client_pair_main_exchanges[client_name] = config_file_data.client_pair_main_exchanges[client_name]
198
-
222
+ config_archive_data.clients_reporter_interval[client_name] = config_file_data.clients_reporter_interval[client_name]
199
223
  config_archive_data.client_not_include_exchanges[client_name] = config_file_data.client_not_include_exchanges[client_name]
200
224
  config_archive_data.client_levels[client_name] = config_file_data.client_levels[client_name]
201
225
  config_archive_data.client_benchmarks[client_name] = config_file_data.client_benchmarks[client_name]
202
-
203
226
  config_archive_data.client_telegram_ids[client_name] = config_file_data.client_telegram_ids[client_name]
204
227
 
228
+ if (!config_archive_data.client_enabled) {
229
+ config_archive_data.client_enabled = {};
230
+ }
231
+ for (let key in config_file_data.client_enabled) {
232
+ if (config_file_data.client_enabled.hasOwnProperty(key)) {
233
+ if (!config_archive_data.client_enabled[key]) {
234
+ config_archive_data.client_enabled[key] = {};
235
+ }
236
+ config_archive_data.client_enabled[key][client_name] = config_file_data.client_enabled[key][client_name];
237
+ }
238
+ }
239
+
240
+
241
+ config_archive_data.client_exchange_pairs = sort(config_archive_data.client_exchange_pairs);
242
+ config_archive_data.client_pair_main_exchanges = sort(config_archive_data.client_pair_main_exchanges);
243
+ config_archive_data.clients_reporter_interval = sort(config_archive_data.clients_reporter_interval)
244
+ config_archive_data.client_not_include_exchanges = sort(config_archive_data.client_not_include_exchanges);
245
+ config_archive_data.client_levels = sort(config_archive_data.client_levels);
246
+ config_archive_data.client_benchmarks = sort(config_archive_data.client_benchmarks);
247
+ config_archive_data.client_telegram_ids = sort(config_archive_data.client_telegram_ids);
248
+
249
+ for (let key in config_archive_data.client_enabled) {
250
+ if (config_archive_data.client_enabled.hasOwnProperty(key)) {
251
+ config_archive_data.client_enabled[key] = sort(config_archive_data.client_enabled[key]);
252
+ }
253
+ }
254
+
205
255
  write_config_file(config_archive_data, config_archive_file_path)
206
256
  .then(() => {
207
257
  resolve()
@@ -218,4 +268,11 @@ function update_config_archive(config_file_data, client_name) {
218
268
  })
219
269
  }
220
270
 
271
+ function sort(obj) {
272
+ return Object.keys(obj).sort().reduce((result, key) => {
273
+ result[key] = obj[key];
274
+ return result;
275
+ }, {});
276
+ }
277
+
221
278
  process_config()