@binance/common 1.0.0 → 1.0.1
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/dist/index.d.mts +9 -28
- package/dist/index.d.ts +9 -28
- package/dist/index.js +35 -80
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +35 -61
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -61,26 +61,12 @@ var TimeUnit = {
|
|
|
61
61
|
MICROSECOND: "MICROSECOND",
|
|
62
62
|
microsecond: "microsecond"
|
|
63
63
|
};
|
|
64
|
-
var SPOT_REST_API_PROD_URL = "https://api.binance.com";
|
|
65
|
-
var SPOT_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
66
|
-
var SPOT_WS_API_PROD_URL = "wss://ws-api.binance.com:443/ws-api/v3";
|
|
67
|
-
var SPOT_WS_API_TESTNET_URL = "wss://ws-api.testnet.binance.vision/ws-api/v3";
|
|
68
|
-
var SPOT_WS_STREAMS_PROD_URL = "wss://stream.binance.com:9443";
|
|
69
|
-
var SPOT_WS_STREAMS_TESTNET_URL = "wss://stream.testnet.binance.vision";
|
|
70
|
-
var SPOT_REST_API_MARKET_URL = "https://data-api.binance.vision";
|
|
71
|
-
var SPOT_WS_STREAMS_MARKET_URL = "wss://data-stream.binance.vision";
|
|
72
64
|
var ALGO_REST_API_PROD_URL = "https://api.binance.com";
|
|
73
|
-
var ALGO_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
74
65
|
var AUTO_INVEST_REST_API_PROD_URL = "https://api.binance.com";
|
|
75
|
-
var AUTO_INVEST_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
76
66
|
var C2C_REST_API_PROD_URL = "https://api.binance.com";
|
|
77
|
-
var C2C_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
78
67
|
var CONVERT_REST_API_PROD_URL = "https://api.binance.com";
|
|
79
|
-
var CONVERT_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
80
68
|
var COPY_TRADING_REST_API_PROD_URL = "https://api.binance.com";
|
|
81
|
-
var COPY_TRADING_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
82
69
|
var CRYPTO_LOAN_REST_API_PROD_URL = "https://api.binance.com";
|
|
83
|
-
var CRYPTO_LOAN_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
84
70
|
var DERIVATIVES_TRADING_COIN_FUTURES_REST_API_PROD_URL = "https://dapi.binance.com";
|
|
85
71
|
var DERIVATIVES_TRADING_COIN_FUTURES_REST_API_TESTNET_URL = "https://testnet.binancefuture.com";
|
|
86
72
|
var DERIVATIVES_TRADING_COIN_FUTURES_WS_API_PROD_URL = "wss://ws-dapi.binance.com/ws-dapi/v1";
|
|
@@ -100,31 +86,26 @@ var DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_TESTNET_URL = "https://testnet
|
|
|
100
86
|
var DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL = "https://fapi.binance.com";
|
|
101
87
|
var DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_TESTNET_URL = "https://testnet.binancefuture.com";
|
|
102
88
|
var DUAL_INVESTMENT_REST_API_PROD_URL = "https://api.binance.com";
|
|
103
|
-
var DUAL_INVESTMENT_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
104
89
|
var FIAT_REST_API_PROD_URL = "https://api.binance.com";
|
|
105
|
-
var FIAT_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
106
90
|
var GIFT_CARD_REST_API_PROD_URL = "https://api.binance.com";
|
|
107
|
-
var GIFT_CARD_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
108
91
|
var MARGIN_TRADING_REST_API_PROD_URL = "https://api.binance.com";
|
|
109
|
-
var MARGIN_TRADING_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
110
92
|
var MINING_REST_API_PROD_URL = "https://api.binance.com";
|
|
111
|
-
var MINING_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
112
93
|
var NFT_REST_API_PROD_URL = "https://api.binance.com";
|
|
113
|
-
var NFT_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
114
94
|
var PAY_REST_API_PROD_URL = "https://api.binance.com";
|
|
115
|
-
var PAY_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
116
95
|
var REBATE_REST_API_PROD_URL = "https://api.binance.com";
|
|
117
|
-
var REBATE_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
118
96
|
var SIMPLE_EARN_REST_API_PROD_URL = "https://api.binance.com";
|
|
119
|
-
var
|
|
97
|
+
var SPOT_REST_API_PROD_URL = "https://api.binance.com";
|
|
98
|
+
var SPOT_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
99
|
+
var SPOT_WS_API_PROD_URL = "wss://ws-api.binance.com:443/ws-api/v3";
|
|
100
|
+
var SPOT_WS_API_TESTNET_URL = "wss://ws-api.testnet.binance.vision/ws-api/v3";
|
|
101
|
+
var SPOT_WS_STREAMS_PROD_URL = "wss://stream.binance.com:9443";
|
|
102
|
+
var SPOT_WS_STREAMS_TESTNET_URL = "wss://stream.testnet.binance.vision";
|
|
103
|
+
var SPOT_REST_API_MARKET_URL = "https://data-api.binance.vision";
|
|
104
|
+
var SPOT_WS_STREAMS_MARKET_URL = "wss://data-stream.binance.vision";
|
|
120
105
|
var STAKING_REST_API_PROD_URL = "https://api.binance.com";
|
|
121
|
-
var STAKING_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
122
106
|
var SUB_ACCOUNT_REST_API_PROD_URL = "https://api.binance.com";
|
|
123
|
-
var SUB_ACCOUNT_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
124
107
|
var VIP_LOAN_REST_API_PROD_URL = "https://api.binance.com";
|
|
125
|
-
var VIP_LOAN_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
126
108
|
var WALLET_REST_API_PROD_URL = "https://api.binance.com";
|
|
127
|
-
var WALLET_REST_API_TESTNET_URL = "https://testnet.binance.vision";
|
|
128
109
|
|
|
129
110
|
// src/errors.ts
|
|
130
111
|
var ConnectorClientError = class _ConnectorClientError extends Error {
|
|
@@ -396,6 +377,7 @@ var httpRequestFunction = async function(axiosArgs, configuration) {
|
|
|
396
377
|
const retries = configuration?.retries ?? 0;
|
|
397
378
|
const backoff = configuration?.backoff ?? 0;
|
|
398
379
|
let attempt = 0;
|
|
380
|
+
let lastError;
|
|
399
381
|
while (attempt <= retries) {
|
|
400
382
|
try {
|
|
401
383
|
const response = await globalAxios.request({
|
|
@@ -411,43 +393,54 @@ var httpRequestFunction = async function(axiosArgs, configuration) {
|
|
|
411
393
|
};
|
|
412
394
|
} catch (error) {
|
|
413
395
|
attempt++;
|
|
396
|
+
const axiosError = error;
|
|
414
397
|
if (shouldRetryRequest(
|
|
415
|
-
|
|
398
|
+
axiosError,
|
|
416
399
|
axiosRequestArgs?.method?.toUpperCase(),
|
|
417
400
|
retries - attempt
|
|
418
401
|
)) {
|
|
419
402
|
await delay(backoff * attempt);
|
|
420
403
|
} else {
|
|
421
|
-
if (
|
|
422
|
-
const status =
|
|
423
|
-
const
|
|
424
|
-
|
|
425
|
-
)
|
|
404
|
+
if (axiosError.response && axiosError.response.status) {
|
|
405
|
+
const status = axiosError.response?.status;
|
|
406
|
+
const responseData = axiosError.response.data;
|
|
407
|
+
let data = {};
|
|
408
|
+
if (responseData && responseData !== null) {
|
|
409
|
+
if (typeof responseData === "string" && responseData !== "")
|
|
410
|
+
data = JSON.parse(responseData);
|
|
411
|
+
else if (typeof responseData === "object")
|
|
412
|
+
data = responseData;
|
|
413
|
+
}
|
|
414
|
+
const errorMsg = data.msg;
|
|
426
415
|
switch (status) {
|
|
427
416
|
case 400:
|
|
428
|
-
throw new BadRequestError(
|
|
417
|
+
throw new BadRequestError(errorMsg);
|
|
429
418
|
case 401:
|
|
430
|
-
throw new UnauthorizedError(
|
|
419
|
+
throw new UnauthorizedError(errorMsg);
|
|
431
420
|
case 403:
|
|
432
|
-
throw new ForbiddenError(
|
|
421
|
+
throw new ForbiddenError(errorMsg);
|
|
433
422
|
case 404:
|
|
434
|
-
throw new NotFoundError(
|
|
423
|
+
throw new NotFoundError(errorMsg);
|
|
435
424
|
case 418:
|
|
436
|
-
throw new RateLimitBanError(
|
|
425
|
+
throw new RateLimitBanError(errorMsg);
|
|
437
426
|
case 429:
|
|
438
|
-
throw new TooManyRequestsError(
|
|
427
|
+
throw new TooManyRequestsError(errorMsg);
|
|
439
428
|
default:
|
|
440
429
|
if (status >= 500 && status < 600)
|
|
441
430
|
throw new ServerError(`Server error: ${status}`, status);
|
|
442
|
-
throw new ConnectorClientError(
|
|
431
|
+
throw new ConnectorClientError(errorMsg);
|
|
443
432
|
}
|
|
444
433
|
} else {
|
|
445
|
-
|
|
434
|
+
if (retries > 0 && attempt >= retries)
|
|
435
|
+
lastError = new Error(`Request failed after ${retries} retries`);
|
|
436
|
+
else
|
|
437
|
+
lastError = new NetworkError("Network error or request timeout.");
|
|
438
|
+
break;
|
|
446
439
|
}
|
|
447
440
|
}
|
|
448
441
|
}
|
|
449
442
|
}
|
|
450
|
-
throw
|
|
443
|
+
throw lastError;
|
|
451
444
|
};
|
|
452
445
|
var parseRateLimitHeaders = function(headers) {
|
|
453
446
|
const rateLimits = [];
|
|
@@ -1392,18 +1385,12 @@ var WebsocketStreamsBase2 = class extends WebsocketCommon {
|
|
|
1392
1385
|
};
|
|
1393
1386
|
export {
|
|
1394
1387
|
ALGO_REST_API_PROD_URL,
|
|
1395
|
-
ALGO_REST_API_TESTNET_URL,
|
|
1396
1388
|
AUTO_INVEST_REST_API_PROD_URL,
|
|
1397
|
-
AUTO_INVEST_REST_API_TESTNET_URL,
|
|
1398
1389
|
BadRequestError,
|
|
1399
1390
|
C2C_REST_API_PROD_URL,
|
|
1400
|
-
C2C_REST_API_TESTNET_URL,
|
|
1401
1391
|
CONVERT_REST_API_PROD_URL,
|
|
1402
|
-
CONVERT_REST_API_TESTNET_URL,
|
|
1403
1392
|
COPY_TRADING_REST_API_PROD_URL,
|
|
1404
|
-
COPY_TRADING_REST_API_TESTNET_URL,
|
|
1405
1393
|
CRYPTO_LOAN_REST_API_PROD_URL,
|
|
1406
|
-
CRYPTO_LOAN_REST_API_TESTNET_URL,
|
|
1407
1394
|
ConfigurationRestAPI,
|
|
1408
1395
|
ConfigurationWebsocketAPI,
|
|
1409
1396
|
ConfigurationWebsocketStreams,
|
|
@@ -1427,30 +1414,21 @@ export {
|
|
|
1427
1414
|
DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_PROD_URL,
|
|
1428
1415
|
DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_TESTNET_URL,
|
|
1429
1416
|
DUAL_INVESTMENT_REST_API_PROD_URL,
|
|
1430
|
-
DUAL_INVESTMENT_REST_API_TESTNET_URL,
|
|
1431
1417
|
FIAT_REST_API_PROD_URL,
|
|
1432
|
-
FIAT_REST_API_TESTNET_URL,
|
|
1433
1418
|
ForbiddenError,
|
|
1434
1419
|
GIFT_CARD_REST_API_PROD_URL,
|
|
1435
|
-
GIFT_CARD_REST_API_TESTNET_URL,
|
|
1436
1420
|
LogLevel,
|
|
1437
1421
|
Logger,
|
|
1438
1422
|
MARGIN_TRADING_REST_API_PROD_URL,
|
|
1439
|
-
MARGIN_TRADING_REST_API_TESTNET_URL,
|
|
1440
1423
|
MINING_REST_API_PROD_URL,
|
|
1441
|
-
MINING_REST_API_TESTNET_URL,
|
|
1442
1424
|
NFT_REST_API_PROD_URL,
|
|
1443
|
-
NFT_REST_API_TESTNET_URL,
|
|
1444
1425
|
NetworkError,
|
|
1445
1426
|
NotFoundError,
|
|
1446
1427
|
PAY_REST_API_PROD_URL,
|
|
1447
|
-
PAY_REST_API_TESTNET_URL,
|
|
1448
1428
|
REBATE_REST_API_PROD_URL,
|
|
1449
|
-
REBATE_REST_API_TESTNET_URL,
|
|
1450
1429
|
RateLimitBanError,
|
|
1451
1430
|
RequiredError,
|
|
1452
1431
|
SIMPLE_EARN_REST_API_PROD_URL,
|
|
1453
|
-
SIMPLE_EARN_REST_API_TESTNET_URL,
|
|
1454
1432
|
SPOT_REST_API_MARKET_URL,
|
|
1455
1433
|
SPOT_REST_API_PROD_URL,
|
|
1456
1434
|
SPOT_REST_API_TESTNET_URL,
|
|
@@ -1460,17 +1438,13 @@ export {
|
|
|
1460
1438
|
SPOT_WS_STREAMS_PROD_URL,
|
|
1461
1439
|
SPOT_WS_STREAMS_TESTNET_URL,
|
|
1462
1440
|
STAKING_REST_API_PROD_URL,
|
|
1463
|
-
STAKING_REST_API_TESTNET_URL,
|
|
1464
1441
|
SUB_ACCOUNT_REST_API_PROD_URL,
|
|
1465
|
-
SUB_ACCOUNT_REST_API_TESTNET_URL,
|
|
1466
1442
|
ServerError,
|
|
1467
1443
|
TimeUnit,
|
|
1468
1444
|
TooManyRequestsError,
|
|
1469
1445
|
UnauthorizedError,
|
|
1470
1446
|
VIP_LOAN_REST_API_PROD_URL,
|
|
1471
|
-
VIP_LOAN_REST_API_TESTNET_URL,
|
|
1472
1447
|
WALLET_REST_API_PROD_URL,
|
|
1473
|
-
WALLET_REST_API_TESTNET_URL,
|
|
1474
1448
|
WebsocketAPIBase,
|
|
1475
1449
|
WebsocketCommon,
|
|
1476
1450
|
WebsocketEventEmitter,
|