hollaex-node-lib 2.19.2 → 2.19.4
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.
- package/README.md +5 -4
- package/kit.js +144 -66
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,10 +92,10 @@ client
|
|
|
92
92
|
| `getExchangeWithdrawals` | <ul><li>**opts.userId**: The identifier of the user to filter by</li><li>**opts.currency**: The currency to filter by, pass undefined to receive data on all currencies</li><li>**opts.status**: Confirmed status of the withdrawals to get. Leave blank to get all confirmed and unconfirmed withdrawals</li><li>**opts.dismissed**: Dismissed status of the withdrawals to get. Leave blank to get all dismissed and undismissed withdrawals</li><li>**opts.rejected**: Rejected status of the withdrawals to get. Leave blank to get all rejected and unrejected withdrawals</li><li>**opts.processing**: Processing status of the withdrawals to get. Leave blank to get all processing and unprocessing withdrawals</li><li>**opts.waiting**: Waiting status of the withdrawals to get. Leave blank to get all waiting and unwaiting withdrawals</li><li>**opts.limit**: Amount of withdrawals per page. Maximum: 50. Default: 50</li><li>**opts.page**: Page of withdrawal data. Default: 1</li><li>**opts.orderBy**: The field to order data by e.g. amount, id.</li><li>**opts.order**: Ascending (asc) or descending (desc).</li><li>**opts.startDate**: Start date of query in ISO8601 format.</li><li>**opts.endDate**: End date of query in ISO8601 format.</li><li>**opts.transactionId**: Withdrawals with specific transaction ID.</li><li>**opts.address**: Withdrawals with specific address.</li><li>**opts.format**: Custom format of data set. Enum: ['all', 'csv']</li></ul> | Retrieve list of the user's withdrawals by admin |
|
|
93
93
|
| `getExchangeBalance` | | Retrieve admin's wallet balance |
|
|
94
94
|
| `transferExchangeAsset` | <ul><li>**senderId**: The identifier of the sender</li><li>**receiverId**: The identifier of the receiver</li><li>**currency**: The currency to specify</li><li>**amount**: The amount to specify</li><li>**opts.description**: The description field</li><li>**opts.email**: The email field</li></ul> | Transfer exchange asset by admin |
|
|
95
|
-
| `createExchangeDeposit` | <ul><li>**userId**: The identifier of the user</li><li>**currency**: The currency to specify</li><li>**amount**: The amount to specify</li><li>**opts.transactionId**: deposit with specific transaction ID.</li><li>**opts.status**: The status field to confirm the deposit</li><li>**opts.email**: The email field</li><li>**opts.fee**: The fee to specify</li></ul> | Create exchange deposit by admin |
|
|
96
|
-
| `updateExchangeDeposit` | <ul><li>**transactionId**: Deposits with specific transaction ID.</li><li>**opts.updatedTransactionId**: Deposits with updated transaction id</li><li>**opts.updatedAddress**: Deposits with updated address</li><li>**opts.status**: Confirmed status of the deposits to set. </li><li>**opts.dismissed**: Dismissed status of the deposits to set.</li><li>**opts.rejected**: Rejected status of the deposits to set. </li><li>**opts.processing**: Processing status of the deposits to set. </li><li>**opts.waiting**: Waiting status of the deposits to set.</li><li>**opts.email**: Email</li></ul> | Update exchange deposit by admin |
|
|
97
|
-
| `createExchangeWithdrawal` | <ul><li>**userId**: The identifier of the user</li><li>**currency**: The currency to specify</li><li>**amount**: The amount to specify</li><li>**opts.transactionId**: Withdrawal with specific transaction ID.</li><li>**opts.status**: The status field to confirm the withdrawal</li><li>**opts.email**: The email field</li><li>**opts.fee**: The fee to specify</li></ul> | Create exchange withdrawal by admin |
|
|
98
|
-
| `updateExchangeWithdrawal` | <ul><li>**transactionId**: Withdrawals with specific transaction ID.</li><li>**opts.updatedTransactionId**: Withdrawals with updated transaction id</li><li>**opts.updatedAddress**: Withdrawals with updated address</li><li>**opts.status**: Confirmed status of the withdrawals to set. </li><li>**opts.dismissed**: Dismissed status of the withdrawals to set.</li><li>**opts.rejected**: Rejected status of the withdrawals to set. </li><li>**opts.processing**: Processing status of the withdrawals to set.</li><li>**opts.waiting**: Waiting status of the withdrawals to set.</li><li>**opts.email**: Email</li></ul> | Update Exchange Withdrawal |
|
|
95
|
+
| `mint (createExchangeDeposit)` | <ul><li>**userId**: The identifier of the user</li><li>**currency**: The currency to specify</li><li>**amount**: The amount to specify</li><li>**opts.transactionId**: deposit with specific transaction ID.</li><li>**opts.status**: The status field to confirm the deposit</li><li>**opts.email**: The email field</li><li>**opts.fee**: The fee to specify</li></ul> | Create exchange deposit by admin |
|
|
96
|
+
| `updateMint (updateExchangeDeposit)` | <ul><li>**transactionId**: Deposits with specific transaction ID.</li><li>**opts.updatedTransactionId**: Deposits with updated transaction id</li><li>**opts.updatedAddress**: Deposits with updated address</li><li>**opts.status**: Confirmed status of the deposits to set. </li><li>**opts.dismissed**: Dismissed status of the deposits to set.</li><li>**opts.rejected**: Rejected status of the deposits to set. </li><li>**opts.processing**: Processing status of the deposits to set. </li><li>**opts.waiting**: Waiting status of the deposits to set.</li><li>**opts.email**: Email</li></ul> | Update exchange deposit by admin |
|
|
97
|
+
| `burn (createExchangeWithdrawal)` | <ul><li>**userId**: The identifier of the user</li><li>**currency**: The currency to specify</li><li>**amount**: The amount to specify</li><li>**opts.transactionId**: Withdrawal with specific transaction ID.</li><li>**opts.status**: The status field to confirm the withdrawal</li><li>**opts.email**: The email field</li><li>**opts.fee**: The fee to specify</li></ul> | Create exchange withdrawal by admin |
|
|
98
|
+
| `updateBurn (updateExchangeWithdrawal)` | <ul><li>**transactionId**: Withdrawals with specific transaction ID.</li><li>**opts.updatedTransactionId**: Withdrawals with updated transaction id</li><li>**opts.updatedAddress**: Withdrawals with updated address</li><li>**opts.status**: Confirmed status of the withdrawals to set. </li><li>**opts.dismissed**: Dismissed status of the withdrawals to set.</li><li>**opts.rejected**: Rejected status of the withdrawals to set. </li><li>**opts.processing**: Processing status of the withdrawals to set.</li><li>**opts.waiting**: Waiting status of the withdrawals to set.</li><li>**opts.email**: Email</li></ul> | Update Exchange Withdrawal |
|
|
99
99
|
| `checkExchangeDepositStatus` | <ul><li>**userId**: The identifier of the user</li><li>**currency**: The currency to filter by, pass undefined to receive data on all currencies</li><li>**transactionId**: Deposits with specific transaction ID.</li><li>**address**: Deposits with specific address.</li><li>**network**: The network info</li><li>**opts.isTestnet**: The info on whether it's a testnet or not</li></ul> | Check exchange deposit status |
|
|
100
100
|
| `settleExchangeFees` | <ul><li>**opts.userId**: The identifier of the user</li></ul> | Set exchange fees by admin |
|
|
101
101
|
| `getExchangeTrades` | <ul><li>**opts.userId**: The identifier of the user</li><li>**opts.side**: The order side (buy or side)</li><li>**opts.limit**: Amount of trades per page. Maximum: 50. Default: 50</li><li>**opts.page**: Page of trades data. Default: 1</li><li>**opts.symbol**: The symbol-pair to filter by, pass undefined to receive data on all currencies</li><li>**opts.orderBy**: The field to trade data by e.g. amount, id.</li><li>**opts.order**: Ascending (asc) or descending (desc).</li><li>**opts.startDate**: Start date of query in ISO8601 format.</li><li>**opts.endDate**: End date of query in ISO8601 format.</li><li>**opts.format**: Custom format of data set. Enum: ['all', 'csv']</li></ul> | Retrieve user's trades by admin |
|
|
@@ -127,6 +127,7 @@ client
|
|
|
127
127
|
| `deleteExchangeStakesByAdmin` | <ul><li>**id**: ID of the stake pool to delete</li></ul> | Delete exchange stakes for admin |
|
|
128
128
|
| `getExchangeStakersByAdmin` | <ul><li>**opts.id**: Unique identifier for the staker entry</li><li>**opts.user_id**: The ID of the user who has locked funds and staked</li><li>**opts.stake_id**: The ID of the stake pool</li><li>**opts.currency**: The currency in which the user staked</li><li>**opts.reward**: The amount the user has received as rewards</li><li>**opts.slashed**: The amount slashed</li><li>**opts.limit**: Number of elements to return. Default: 50. Maximum: 100</li><li>**opts.page**: Page of data to retrieve</li><li>**opts.order_by**: Field to order data</li><li>**opts.order**: Direction to order (asc/desc)</li><li>**opts.start_date**: Starting date of queried data in ISO8601 format</li><li>**opts.end_date**: Ending date of queried data in ISO8601 format</li><li>**opts.format**: Specify data format (csv/all)</li></ul> | Get exchange stakers of users for admin |
|
|
129
129
|
| `getStakeAnalyticsByAdmin` | <ul><li>No parameters needed</li></ul> | Get staking and unstaking amounts |
|
|
130
|
+
| `disableUserWithdrawalByAdmin` | <ul><li>**user_id**: The ID of the user to disable withdrawals for</li><li>**opts.expiry_date**: ISO date‑time string when the block expires</li></ul> | Block a user’s withdrawal ability |
|
|
130
131
|
|
|
131
132
|
### Websocket
|
|
132
133
|
|
package/kit.js
CHANGED
|
@@ -969,6 +969,7 @@ class HollaExKit {
|
|
|
969
969
|
}
|
|
970
970
|
|
|
971
971
|
if (isString(opts.format) && ['csv', 'all'].includes(opts.format)) {
|
|
972
|
+
path += '/csv';
|
|
972
973
|
params += `&format=${opts.format}`;
|
|
973
974
|
}
|
|
974
975
|
|
|
@@ -1090,6 +1091,7 @@ class HollaExKit {
|
|
|
1090
1091
|
}
|
|
1091
1092
|
|
|
1092
1093
|
if (isString(opts.format) && ['csv', 'all'].includes(opts.format)) {
|
|
1094
|
+
path += '/csv';
|
|
1093
1095
|
params += `&format=${opts.format}`;
|
|
1094
1096
|
}
|
|
1095
1097
|
|
|
@@ -1181,7 +1183,7 @@ class HollaExKit {
|
|
|
1181
1183
|
* @param {number} opts.fee - The fee to specify
|
|
1182
1184
|
* @return {object} A JSON object with deposit info
|
|
1183
1185
|
*/
|
|
1184
|
-
|
|
1186
|
+
mint(
|
|
1185
1187
|
userId,
|
|
1186
1188
|
currency,
|
|
1187
1189
|
amount,
|
|
@@ -1189,7 +1191,9 @@ class HollaExKit {
|
|
|
1189
1191
|
transactionId: null,
|
|
1190
1192
|
status: null,
|
|
1191
1193
|
email: null,
|
|
1192
|
-
fee: null
|
|
1194
|
+
fee: null,
|
|
1195
|
+
address: null,
|
|
1196
|
+
description: null
|
|
1193
1197
|
}
|
|
1194
1198
|
) {
|
|
1195
1199
|
const verb = 'POST';
|
|
@@ -1217,6 +1221,14 @@ class HollaExKit {
|
|
|
1217
1221
|
data.fee = opts.fee;
|
|
1218
1222
|
}
|
|
1219
1223
|
|
|
1224
|
+
if (isString(opts.address)) {
|
|
1225
|
+
data.address = opts.address;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
if (isString(opts.description)) {
|
|
1229
|
+
data.description = opts.description;
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1220
1232
|
const headers = generateHeaders(
|
|
1221
1233
|
this.headers,
|
|
1222
1234
|
this.apiSecret,
|
|
@@ -1227,6 +1239,10 @@ class HollaExKit {
|
|
|
1227
1239
|
);
|
|
1228
1240
|
return createRequest(verb, `${this.apiUrl}${path}`, headers, { data });
|
|
1229
1241
|
}
|
|
1242
|
+
// to support backward compatibility
|
|
1243
|
+
createExchangeDeposit(...args) {
|
|
1244
|
+
return this.mint(...args);
|
|
1245
|
+
}
|
|
1230
1246
|
|
|
1231
1247
|
/**
|
|
1232
1248
|
* Update exchange deposit by admin
|
|
@@ -1241,7 +1257,7 @@ class HollaExKit {
|
|
|
1241
1257
|
* @param {boolean} opts.email - Email
|
|
1242
1258
|
* @return {object} A JSON object with deposit info
|
|
1243
1259
|
*/
|
|
1244
|
-
|
|
1260
|
+
updateMint(
|
|
1245
1261
|
transactionId,
|
|
1246
1262
|
opts = {
|
|
1247
1263
|
updatedTransactionId: null,
|
|
@@ -1308,6 +1324,10 @@ class HollaExKit {
|
|
|
1308
1324
|
return createRequest(verb, `${this.apiUrl}${path}`, headers, { data });
|
|
1309
1325
|
|
|
1310
1326
|
}
|
|
1327
|
+
// to support backward compatibility
|
|
1328
|
+
updateExchangeDeposit(...args) {
|
|
1329
|
+
return this.updateMint(...args);
|
|
1330
|
+
}
|
|
1311
1331
|
|
|
1312
1332
|
/**
|
|
1313
1333
|
* Create exchange withdrawal by admin
|
|
@@ -1320,7 +1340,7 @@ class HollaExKit {
|
|
|
1320
1340
|
* @param {number} opts.fee - The fee to specify
|
|
1321
1341
|
* @return {object} A JSON object with withdrawal info
|
|
1322
1342
|
*/
|
|
1323
|
-
|
|
1343
|
+
burn(
|
|
1324
1344
|
userId,
|
|
1325
1345
|
currency,
|
|
1326
1346
|
amount,
|
|
@@ -1328,7 +1348,9 @@ class HollaExKit {
|
|
|
1328
1348
|
transactionId: null,
|
|
1329
1349
|
status: null,
|
|
1330
1350
|
email: null,
|
|
1331
|
-
fee: null
|
|
1351
|
+
fee: null,
|
|
1352
|
+
address: null,
|
|
1353
|
+
description: null
|
|
1332
1354
|
}
|
|
1333
1355
|
) {
|
|
1334
1356
|
const verb = 'POST';
|
|
@@ -1356,6 +1378,14 @@ class HollaExKit {
|
|
|
1356
1378
|
data.fee = opts.fee;
|
|
1357
1379
|
}
|
|
1358
1380
|
|
|
1381
|
+
if (isString(opts.address)) {
|
|
1382
|
+
data.address = opts.address;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
if (isString(opts.description)) {
|
|
1386
|
+
data.description = opts.description;
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1359
1389
|
const headers = generateHeaders(
|
|
1360
1390
|
this.headers,
|
|
1361
1391
|
this.apiSecret,
|
|
@@ -1367,6 +1397,11 @@ class HollaExKit {
|
|
|
1367
1397
|
return createRequest(verb, `${this.apiUrl}${path}`, headers, { data });
|
|
1368
1398
|
}
|
|
1369
1399
|
|
|
1400
|
+
// to support backward compatibility
|
|
1401
|
+
createExchangeWithdrawal(...args) {
|
|
1402
|
+
return this.burn(...args);
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1370
1405
|
/**
|
|
1371
1406
|
* Update Exchange Withdrawal
|
|
1372
1407
|
* @param {string} transactionId - Withdrawals with specific transaction ID.
|
|
@@ -1380,7 +1415,7 @@ class HollaExKit {
|
|
|
1380
1415
|
* @param {boolean} opts.email - Email
|
|
1381
1416
|
* @return {object} A JSON object with withdrawal info
|
|
1382
1417
|
*/
|
|
1383
|
-
|
|
1418
|
+
updateBurn(
|
|
1384
1419
|
transactionId,
|
|
1385
1420
|
opts = {
|
|
1386
1421
|
updatedTransactionId: null,
|
|
@@ -1447,6 +1482,11 @@ class HollaExKit {
|
|
|
1447
1482
|
return createRequest(verb, `${this.apiUrl}${path}`, headers, { data });
|
|
1448
1483
|
}
|
|
1449
1484
|
|
|
1485
|
+
// to support backward compatibility
|
|
1486
|
+
updateExchangeWithdrawal(...args) {
|
|
1487
|
+
return this.updateBurn(...args);
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1450
1490
|
/**
|
|
1451
1491
|
* Check exchange deposit status
|
|
1452
1492
|
* @param {number} userId - The identifier of the user
|
|
@@ -1593,6 +1633,7 @@ class HollaExKit {
|
|
|
1593
1633
|
}
|
|
1594
1634
|
|
|
1595
1635
|
if (isString(opts.format) && ['csv', 'all'].includes(opts.format)) {
|
|
1636
|
+
path += '/csv';
|
|
1596
1637
|
params += `&format=${opts.format}`;
|
|
1597
1638
|
}
|
|
1598
1639
|
|
|
@@ -1798,7 +1839,7 @@ class HollaExKit {
|
|
|
1798
1839
|
}
|
|
1799
1840
|
|
|
1800
1841
|
if (isString(opts.bank_key) && isString(opts.bank_value)) {
|
|
1801
|
-
params +=
|
|
1842
|
+
params += `&bank_key=${opts.bank_key}&bank_value=${opts.bank_value}`;
|
|
1802
1843
|
}
|
|
1803
1844
|
if (isBoolean(opts.activated)) {
|
|
1804
1845
|
params += `&activated=${opts.activated}`;
|
|
@@ -1828,6 +1869,7 @@ class HollaExKit {
|
|
|
1828
1869
|
}
|
|
1829
1870
|
|
|
1830
1871
|
if (isString(opts.format) && ['csv', 'all'].includes(opts.format)) {
|
|
1872
|
+
path += '/csv';
|
|
1831
1873
|
params += `&format=${opts.format}`;
|
|
1832
1874
|
}
|
|
1833
1875
|
if (params.length > 1) path += params;
|
|
@@ -1862,7 +1904,7 @@ class HollaExKit {
|
|
|
1862
1904
|
|
|
1863
1905
|
if (isString(opts.referral)) {
|
|
1864
1906
|
data.referral = opts.referral;
|
|
1865
|
-
}
|
|
1907
|
+
}
|
|
1866
1908
|
|
|
1867
1909
|
const headers = generateHeaders(
|
|
1868
1910
|
this.headers,
|
|
@@ -2156,6 +2198,7 @@ class HollaExKit {
|
|
|
2156
2198
|
}
|
|
2157
2199
|
|
|
2158
2200
|
if (isString(opts.format) && ['csv', 'all'].includes(opts.format)) {
|
|
2201
|
+
path += '/csv';
|
|
2159
2202
|
params += `&format=${opts.format}`;
|
|
2160
2203
|
}
|
|
2161
2204
|
|
|
@@ -2276,6 +2319,7 @@ class HollaExKit {
|
|
|
2276
2319
|
}
|
|
2277
2320
|
|
|
2278
2321
|
if (isString(opts.format) && ['csv', 'all'].includes(opts.format)) {
|
|
2322
|
+
path += '/csv';
|
|
2279
2323
|
params += `&format=${opts.format}`;
|
|
2280
2324
|
}
|
|
2281
2325
|
|
|
@@ -2515,6 +2559,7 @@ class HollaExKit {
|
|
|
2515
2559
|
}
|
|
2516
2560
|
|
|
2517
2561
|
if (isString(opts.format) && ['csv', 'all'].includes(opts.format)) {
|
|
2562
|
+
path += '/csv';
|
|
2518
2563
|
path += `&format=${opts.format}`;
|
|
2519
2564
|
}
|
|
2520
2565
|
|
|
@@ -2708,6 +2753,7 @@ class HollaExKit {
|
|
|
2708
2753
|
}
|
|
2709
2754
|
|
|
2710
2755
|
if (isString(opts.format)) {
|
|
2756
|
+
path += '/csv';
|
|
2711
2757
|
params += `&format=${opts.format}`;
|
|
2712
2758
|
}
|
|
2713
2759
|
|
|
@@ -3049,6 +3095,7 @@ class HollaExKit {
|
|
|
3049
3095
|
}
|
|
3050
3096
|
|
|
3051
3097
|
if (isString(opts.format)) {
|
|
3098
|
+
path += '/csv';
|
|
3052
3099
|
params += `&format=${opts.format}`;
|
|
3053
3100
|
}
|
|
3054
3101
|
|
|
@@ -3080,6 +3127,37 @@ class HollaExKit {
|
|
|
3080
3127
|
);
|
|
3081
3128
|
return createRequest(verb, `${this.apiUrl}${path}`, headers);
|
|
3082
3129
|
}
|
|
3130
|
+
|
|
3131
|
+
/**
|
|
3132
|
+
* Block a user’s withdrawal ability
|
|
3133
|
+
* @param {number} user_id – The ID of the user to disable withdrawals for
|
|
3134
|
+
* @param {string|null} expiry_date – ISO date‑time string when the block expires
|
|
3135
|
+
* @return {object} A JSON object { message: "Success" }
|
|
3136
|
+
*/
|
|
3137
|
+
disableUserWithdrawalByAdmin(user_id, opts = { expiry_date : null }
|
|
3138
|
+
) {
|
|
3139
|
+
const verb = 'POST';
|
|
3140
|
+
const path = `${this.baseUrl}/admin/user/disable-withdrawal`;
|
|
3141
|
+
const data = {
|
|
3142
|
+
user_id
|
|
3143
|
+
};
|
|
3144
|
+
|
|
3145
|
+
if (opts.expiry_date !== null && isDatetime(opts.expiry_date)) {
|
|
3146
|
+
data.expiry_date = sanitizeDate(opts.expiry_date);
|
|
3147
|
+
}
|
|
3148
|
+
|
|
3149
|
+
const headers = generateHeaders(
|
|
3150
|
+
this.headers,
|
|
3151
|
+
this.apiSecret,
|
|
3152
|
+
verb,
|
|
3153
|
+
path,
|
|
3154
|
+
this.apiExpiresAfter,
|
|
3155
|
+
data
|
|
3156
|
+
);
|
|
3157
|
+
|
|
3158
|
+
return createRequest(verb, `${this.apiUrl}${path}`, headers, { data });
|
|
3159
|
+
}
|
|
3160
|
+
|
|
3083
3161
|
/**
|
|
3084
3162
|
* Connect to hollaEx websocket and listen to an event
|
|
3085
3163
|
* @param {array} events - The events to listen to
|
|
@@ -3098,7 +3176,7 @@ class HollaExKit {
|
|
|
3098
3176
|
apiExpires
|
|
3099
3177
|
);
|
|
3100
3178
|
url = `${url}?api-key=${this.apiKey
|
|
3101
|
-
|
|
3179
|
+
}&api-signature=${signature}&api-expires=${apiExpires}`;
|
|
3102
3180
|
}
|
|
3103
3181
|
|
|
3104
3182
|
this.ws = new WebSocket(url);
|
|
@@ -3190,41 +3268,21 @@ class HollaExKit {
|
|
|
3190
3268
|
if (!this.wsEvents.includes(event) || this.initialConnection) {
|
|
3191
3269
|
const [topic, symbol] = event.split(':');
|
|
3192
3270
|
switch (topic) {
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
this.ws.send(
|
|
3198
|
-
JSON.stringify({
|
|
3199
|
-
op: 'subscribe',
|
|
3200
|
-
args: [`${topic}:${symbol}`]
|
|
3201
|
-
})
|
|
3202
|
-
);
|
|
3203
|
-
if (!this.initialConnection) {
|
|
3204
|
-
this.wsEvents = union(this.wsEvents, [event]);
|
|
3205
|
-
}
|
|
3206
|
-
}
|
|
3207
|
-
} else {
|
|
3271
|
+
case 'orderbook':
|
|
3272
|
+
case 'trade':
|
|
3273
|
+
if (symbol) {
|
|
3274
|
+
if (!this.wsEvents.includes(topic)) {
|
|
3208
3275
|
this.ws.send(
|
|
3209
3276
|
JSON.stringify({
|
|
3210
3277
|
op: 'subscribe',
|
|
3211
|
-
args: [topic]
|
|
3278
|
+
args: [`${topic}:${symbol}`]
|
|
3212
3279
|
})
|
|
3213
3280
|
);
|
|
3214
3281
|
if (!this.initialConnection) {
|
|
3215
|
-
this.wsEvents = this.wsEvents.filter(
|
|
3216
|
-
(e) => !e.includes(`${topic}:`)
|
|
3217
|
-
);
|
|
3218
3282
|
this.wsEvents = union(this.wsEvents, [event]);
|
|
3219
3283
|
}
|
|
3220
3284
|
}
|
|
3221
|
-
|
|
3222
|
-
case 'order':
|
|
3223
|
-
case 'usertrade':
|
|
3224
|
-
case 'wallet':
|
|
3225
|
-
case 'deposit':
|
|
3226
|
-
case 'withdrawal':
|
|
3227
|
-
case 'admin':
|
|
3285
|
+
} else {
|
|
3228
3286
|
this.ws.send(
|
|
3229
3287
|
JSON.stringify({
|
|
3230
3288
|
op: 'subscribe',
|
|
@@ -3232,11 +3290,31 @@ class HollaExKit {
|
|
|
3232
3290
|
})
|
|
3233
3291
|
);
|
|
3234
3292
|
if (!this.initialConnection) {
|
|
3293
|
+
this.wsEvents = this.wsEvents.filter(
|
|
3294
|
+
(e) => !e.includes(`${topic}:`)
|
|
3295
|
+
);
|
|
3235
3296
|
this.wsEvents = union(this.wsEvents, [event]);
|
|
3236
3297
|
}
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3298
|
+
}
|
|
3299
|
+
break;
|
|
3300
|
+
case 'order':
|
|
3301
|
+
case 'usertrade':
|
|
3302
|
+
case 'wallet':
|
|
3303
|
+
case 'deposit':
|
|
3304
|
+
case 'withdrawal':
|
|
3305
|
+
case 'admin':
|
|
3306
|
+
this.ws.send(
|
|
3307
|
+
JSON.stringify({
|
|
3308
|
+
op: 'subscribe',
|
|
3309
|
+
args: [topic]
|
|
3310
|
+
})
|
|
3311
|
+
);
|
|
3312
|
+
if (!this.initialConnection) {
|
|
3313
|
+
this.wsEvents = union(this.wsEvents, [event]);
|
|
3314
|
+
}
|
|
3315
|
+
break;
|
|
3316
|
+
default:
|
|
3317
|
+
break;
|
|
3240
3318
|
}
|
|
3241
3319
|
}
|
|
3242
3320
|
});
|
|
@@ -3255,40 +3333,40 @@ class HollaExKit {
|
|
|
3255
3333
|
if (this.wsEvents.includes(event)) {
|
|
3256
3334
|
const [topic, symbol] = event.split(':');
|
|
3257
3335
|
switch (topic) {
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
this.ws.send(
|
|
3269
|
-
JSON.stringify({
|
|
3270
|
-
op: 'unsubscribe',
|
|
3271
|
-
args: [topic]
|
|
3272
|
-
})
|
|
3273
|
-
);
|
|
3274
|
-
}
|
|
3275
|
-
this.wsEvents = this.wsEvents.filter((e) => e !== event);
|
|
3276
|
-
break;
|
|
3277
|
-
case 'order':
|
|
3278
|
-
case 'wallet':
|
|
3279
|
-
case 'deposit':
|
|
3280
|
-
case 'withdrawal':
|
|
3281
|
-
case 'admin':
|
|
3336
|
+
case 'orderbook':
|
|
3337
|
+
case 'trade':
|
|
3338
|
+
if (symbol) {
|
|
3339
|
+
this.ws.send(
|
|
3340
|
+
JSON.stringify({
|
|
3341
|
+
op: 'unsubscribe',
|
|
3342
|
+
args: [`${topic}:${symbol}`]
|
|
3343
|
+
})
|
|
3344
|
+
);
|
|
3345
|
+
} else {
|
|
3282
3346
|
this.ws.send(
|
|
3283
3347
|
JSON.stringify({
|
|
3284
3348
|
op: 'unsubscribe',
|
|
3285
3349
|
args: [topic]
|
|
3286
3350
|
})
|
|
3287
3351
|
);
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3352
|
+
}
|
|
3353
|
+
this.wsEvents = this.wsEvents.filter((e) => e !== event);
|
|
3354
|
+
break;
|
|
3355
|
+
case 'order':
|
|
3356
|
+
case 'wallet':
|
|
3357
|
+
case 'deposit':
|
|
3358
|
+
case 'withdrawal':
|
|
3359
|
+
case 'admin':
|
|
3360
|
+
this.ws.send(
|
|
3361
|
+
JSON.stringify({
|
|
3362
|
+
op: 'unsubscribe',
|
|
3363
|
+
args: [topic]
|
|
3364
|
+
})
|
|
3365
|
+
);
|
|
3366
|
+
this.wsEvents = this.wsEvents.filter((e) => e !== event);
|
|
3367
|
+
break;
|
|
3368
|
+
default:
|
|
3369
|
+
break;
|
|
3292
3370
|
}
|
|
3293
3371
|
}
|
|
3294
3372
|
});
|