@binance/common 2.3.5 → 2.3.7
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 +31 -1
- package/dist/index.d.ts +31 -1
- package/dist/index.js +52 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +51 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -749,6 +749,36 @@ declare function sanitizeHeaderValue(value: string | string[]): string | string[
|
|
|
749
749
|
* and sanitizes remaining header values to prevent injection of carriage return or line feed characters.
|
|
750
750
|
*/
|
|
751
751
|
declare function parseCustomHeaders(headers: Record<string, string | string[]>): Record<string, string | string[]>;
|
|
752
|
+
/**
|
|
753
|
+
* Redacts sensitive fields from a message for safe logging.
|
|
754
|
+
* Replaces apiKey and signature values with '[REDACTED]' while preserving
|
|
755
|
+
* the rest of the message structure.
|
|
756
|
+
*
|
|
757
|
+
* @param data - The message object to redact.
|
|
758
|
+
* @returns A new object with sensitive fields redacted.
|
|
759
|
+
*/
|
|
760
|
+
declare function redactMessage(data: {
|
|
761
|
+
id: string;
|
|
762
|
+
method: string;
|
|
763
|
+
params: Record<string, unknown>;
|
|
764
|
+
}): {
|
|
765
|
+
id: string;
|
|
766
|
+
method: string;
|
|
767
|
+
params: Record<string, unknown>;
|
|
768
|
+
};
|
|
769
|
+
/**
|
|
770
|
+
* Validates that a URL uses a secure (TLS) scheme.
|
|
771
|
+
*
|
|
772
|
+
* - For REST API URLs: must use `https://`
|
|
773
|
+
* - For WebSocket URLs: must use `wss://`
|
|
774
|
+
*
|
|
775
|
+
* Logs a warning via the Logger if a non-TLS scheme is detected.
|
|
776
|
+
*
|
|
777
|
+
* @param url - The URL string to validate.
|
|
778
|
+
* @param type - The type of URL being validated: 'rest' or 'websocket'.
|
|
779
|
+
* @throws {Error} If the URL uses an insecure scheme (http:// or ws://).
|
|
780
|
+
*/
|
|
781
|
+
declare function validateTLSUrl(url: string, type: 'rest' | 'websocket'): void;
|
|
752
782
|
//#endregion
|
|
753
783
|
//#region src/websocket.d.ts
|
|
754
784
|
declare class WebsocketEventEmitter {
|
|
@@ -1160,5 +1190,5 @@ interface WebsocketStream<T> {
|
|
|
1160
1190
|
*/
|
|
1161
1191
|
declare function createStreamHandler<T>(websocketBase: WebsocketAPIBase | WebsocketStreamsBase, streamOrId: string, id?: number | string, urlPath?: string): WebsocketStream<T>;
|
|
1162
1192
|
//#endregion
|
|
1163
|
-
export { ALGO_REST_API_PROD_URL, ALPHA_REST_API_PROD_URL, AxiosRequestArgs, BadRequestError, C2C_REST_API_PROD_URL, CONVERT_REST_API_PROD_URL, COPY_TRADING_REST_API_PROD_URL, CRYPTO_LOAN_REST_API_PROD_URL, ConfigurationRestAPI, ConfigurationWebsocketAPI, ConfigurationWebsocketStreams, ConnectorClientError, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_PROD_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_DEMO_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_TESTNET_URL, DUAL_INVESTMENT_REST_API_PROD_URL, FIAT_REST_API_PROD_URL, ForbiddenError, GIFT_CARD_REST_API_PROD_URL, LogLevel, Logger, MARGIN_TRADING_REST_API_PROD_URL, MARGIN_TRADING_RISK_WS_STREAMS_PROD_URL, MARGIN_TRADING_WS_STREAMS_PROD_URL, MINING_REST_API_PROD_URL, NFT_REST_API_PROD_URL, NetworkError, NotFoundError, ObjectType, PAY_REST_API_PROD_URL, REBATE_REST_API_PROD_URL, RateLimitBanError, RequestArgs, RequiredError, RestApiRateLimit, RestApiResponse, SIMPLE_EARN_REST_API_PROD_URL, SPOT_REST_API_DEMO_URL, SPOT_REST_API_MARKET_URL, SPOT_REST_API_PROD_URL, SPOT_REST_API_TESTNET_URL, SPOT_WS_API_DEMO_URL, SPOT_WS_API_PROD_URL, SPOT_WS_API_TESTNET_URL, SPOT_WS_STREAMS_DEMO_URL, SPOT_WS_STREAMS_MARKET_URL, SPOT_WS_STREAMS_PROD_URL, SPOT_WS_STREAMS_TESTNET_URL, STAKING_REST_API_PROD_URL, SUB_ACCOUNT_REST_API_PROD_URL, SendMessageOptions, ServerError, TimeUnit, TimerRecord, TooManyRequestsError, UnauthorizedError, VIP_LOAN_REST_API_PROD_URL, WALLET_REST_API_PROD_URL, WebsocketAPIBase, WebsocketApiRateLimit, WebsocketApiResponse, WebsocketCommon, WebsocketConnection, WebsocketEventEmitter, WebsocketSendMsgConfig, WebsocketSendMsgOptions, WebsocketStream, WebsocketStreamsBase, assertParamExists, buildQueryString, buildUserAgent, buildWebsocketAPIMessage, clearSignerCache, createStreamHandler, delay, getSignature, getTimestamp, httpRequestFunction, normalizeScientificNumbers, normalizeStreamId, parseCustomHeaders, parseRateLimitHeaders, randomInteger, randomString, removeEmptyValue, replaceWebsocketStreamsPlaceholders, sanitizeHeaderValue, sendRequest, setSearchParams, shouldRetryRequest, sortObject, toPathString, validateTimeUnit };
|
|
1193
|
+
export { ALGO_REST_API_PROD_URL, ALPHA_REST_API_PROD_URL, AxiosRequestArgs, BadRequestError, C2C_REST_API_PROD_URL, CONVERT_REST_API_PROD_URL, COPY_TRADING_REST_API_PROD_URL, CRYPTO_LOAN_REST_API_PROD_URL, ConfigurationRestAPI, ConfigurationWebsocketAPI, ConfigurationWebsocketStreams, ConnectorClientError, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_PROD_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_DEMO_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_TESTNET_URL, DUAL_INVESTMENT_REST_API_PROD_URL, FIAT_REST_API_PROD_URL, ForbiddenError, GIFT_CARD_REST_API_PROD_URL, LogLevel, Logger, MARGIN_TRADING_REST_API_PROD_URL, MARGIN_TRADING_RISK_WS_STREAMS_PROD_URL, MARGIN_TRADING_WS_STREAMS_PROD_URL, MINING_REST_API_PROD_URL, NFT_REST_API_PROD_URL, NetworkError, NotFoundError, ObjectType, PAY_REST_API_PROD_URL, REBATE_REST_API_PROD_URL, RateLimitBanError, RequestArgs, RequiredError, RestApiRateLimit, RestApiResponse, SIMPLE_EARN_REST_API_PROD_URL, SPOT_REST_API_DEMO_URL, SPOT_REST_API_MARKET_URL, SPOT_REST_API_PROD_URL, SPOT_REST_API_TESTNET_URL, SPOT_WS_API_DEMO_URL, SPOT_WS_API_PROD_URL, SPOT_WS_API_TESTNET_URL, SPOT_WS_STREAMS_DEMO_URL, SPOT_WS_STREAMS_MARKET_URL, SPOT_WS_STREAMS_PROD_URL, SPOT_WS_STREAMS_TESTNET_URL, STAKING_REST_API_PROD_URL, SUB_ACCOUNT_REST_API_PROD_URL, SendMessageOptions, ServerError, TimeUnit, TimerRecord, TooManyRequestsError, UnauthorizedError, VIP_LOAN_REST_API_PROD_URL, WALLET_REST_API_PROD_URL, WebsocketAPIBase, WebsocketApiRateLimit, WebsocketApiResponse, WebsocketCommon, WebsocketConnection, WebsocketEventEmitter, WebsocketSendMsgConfig, WebsocketSendMsgOptions, WebsocketStream, WebsocketStreamsBase, assertParamExists, buildQueryString, buildUserAgent, buildWebsocketAPIMessage, clearSignerCache, createStreamHandler, delay, getSignature, getTimestamp, httpRequestFunction, normalizeScientificNumbers, normalizeStreamId, parseCustomHeaders, parseRateLimitHeaders, randomInteger, randomString, redactMessage, removeEmptyValue, replaceWebsocketStreamsPlaceholders, sanitizeHeaderValue, sendRequest, setSearchParams, shouldRetryRequest, sortObject, toPathString, validateTLSUrl, validateTimeUnit };
|
|
1164
1194
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -749,6 +749,36 @@ declare function sanitizeHeaderValue(value: string | string[]): string | string[
|
|
|
749
749
|
* and sanitizes remaining header values to prevent injection of carriage return or line feed characters.
|
|
750
750
|
*/
|
|
751
751
|
declare function parseCustomHeaders(headers: Record<string, string | string[]>): Record<string, string | string[]>;
|
|
752
|
+
/**
|
|
753
|
+
* Redacts sensitive fields from a message for safe logging.
|
|
754
|
+
* Replaces apiKey and signature values with '[REDACTED]' while preserving
|
|
755
|
+
* the rest of the message structure.
|
|
756
|
+
*
|
|
757
|
+
* @param data - The message object to redact.
|
|
758
|
+
* @returns A new object with sensitive fields redacted.
|
|
759
|
+
*/
|
|
760
|
+
declare function redactMessage(data: {
|
|
761
|
+
id: string;
|
|
762
|
+
method: string;
|
|
763
|
+
params: Record<string, unknown>;
|
|
764
|
+
}): {
|
|
765
|
+
id: string;
|
|
766
|
+
method: string;
|
|
767
|
+
params: Record<string, unknown>;
|
|
768
|
+
};
|
|
769
|
+
/**
|
|
770
|
+
* Validates that a URL uses a secure (TLS) scheme.
|
|
771
|
+
*
|
|
772
|
+
* - For REST API URLs: must use `https://`
|
|
773
|
+
* - For WebSocket URLs: must use `wss://`
|
|
774
|
+
*
|
|
775
|
+
* Logs a warning via the Logger if a non-TLS scheme is detected.
|
|
776
|
+
*
|
|
777
|
+
* @param url - The URL string to validate.
|
|
778
|
+
* @param type - The type of URL being validated: 'rest' or 'websocket'.
|
|
779
|
+
* @throws {Error} If the URL uses an insecure scheme (http:// or ws://).
|
|
780
|
+
*/
|
|
781
|
+
declare function validateTLSUrl(url: string, type: 'rest' | 'websocket'): void;
|
|
752
782
|
//#endregion
|
|
753
783
|
//#region src/websocket.d.ts
|
|
754
784
|
declare class WebsocketEventEmitter {
|
|
@@ -1160,5 +1190,5 @@ interface WebsocketStream<T> {
|
|
|
1160
1190
|
*/
|
|
1161
1191
|
declare function createStreamHandler<T>(websocketBase: WebsocketAPIBase | WebsocketStreamsBase, streamOrId: string, id?: number | string, urlPath?: string): WebsocketStream<T>;
|
|
1162
1192
|
//#endregion
|
|
1163
|
-
export { ALGO_REST_API_PROD_URL, ALPHA_REST_API_PROD_URL, AxiosRequestArgs, BadRequestError, C2C_REST_API_PROD_URL, CONVERT_REST_API_PROD_URL, COPY_TRADING_REST_API_PROD_URL, CRYPTO_LOAN_REST_API_PROD_URL, ConfigurationRestAPI, ConfigurationWebsocketAPI, ConfigurationWebsocketStreams, ConnectorClientError, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_PROD_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_DEMO_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_TESTNET_URL, DUAL_INVESTMENT_REST_API_PROD_URL, FIAT_REST_API_PROD_URL, ForbiddenError, GIFT_CARD_REST_API_PROD_URL, LogLevel, Logger, MARGIN_TRADING_REST_API_PROD_URL, MARGIN_TRADING_RISK_WS_STREAMS_PROD_URL, MARGIN_TRADING_WS_STREAMS_PROD_URL, MINING_REST_API_PROD_URL, NFT_REST_API_PROD_URL, NetworkError, NotFoundError, ObjectType, PAY_REST_API_PROD_URL, REBATE_REST_API_PROD_URL, RateLimitBanError, RequestArgs, RequiredError, RestApiRateLimit, RestApiResponse, SIMPLE_EARN_REST_API_PROD_URL, SPOT_REST_API_DEMO_URL, SPOT_REST_API_MARKET_URL, SPOT_REST_API_PROD_URL, SPOT_REST_API_TESTNET_URL, SPOT_WS_API_DEMO_URL, SPOT_WS_API_PROD_URL, SPOT_WS_API_TESTNET_URL, SPOT_WS_STREAMS_DEMO_URL, SPOT_WS_STREAMS_MARKET_URL, SPOT_WS_STREAMS_PROD_URL, SPOT_WS_STREAMS_TESTNET_URL, STAKING_REST_API_PROD_URL, SUB_ACCOUNT_REST_API_PROD_URL, SendMessageOptions, ServerError, TimeUnit, TimerRecord, TooManyRequestsError, UnauthorizedError, VIP_LOAN_REST_API_PROD_URL, WALLET_REST_API_PROD_URL, WebsocketAPIBase, WebsocketApiRateLimit, WebsocketApiResponse, WebsocketCommon, WebsocketConnection, WebsocketEventEmitter, WebsocketSendMsgConfig, WebsocketSendMsgOptions, WebsocketStream, WebsocketStreamsBase, assertParamExists, buildQueryString, buildUserAgent, buildWebsocketAPIMessage, clearSignerCache, createStreamHandler, delay, getSignature, getTimestamp, httpRequestFunction, normalizeScientificNumbers, normalizeStreamId, parseCustomHeaders, parseRateLimitHeaders, randomInteger, randomString, removeEmptyValue, replaceWebsocketStreamsPlaceholders, sanitizeHeaderValue, sendRequest, setSearchParams, shouldRetryRequest, sortObject, toPathString, validateTimeUnit };
|
|
1193
|
+
export { ALGO_REST_API_PROD_URL, ALPHA_REST_API_PROD_URL, AxiosRequestArgs, BadRequestError, C2C_REST_API_PROD_URL, CONVERT_REST_API_PROD_URL, COPY_TRADING_REST_API_PROD_URL, CRYPTO_LOAN_REST_API_PROD_URL, ConfigurationRestAPI, ConfigurationWebsocketAPI, ConfigurationWebsocketStreams, ConnectorClientError, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_COIN_FUTURES_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_PROD_URL, DERIVATIVES_TRADING_OPTIONS_REST_API_TESTNET_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_TESTNET_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_DEMO_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_REST_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_API_TESTNET_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_PROD_URL, DERIVATIVES_TRADING_USDS_FUTURES_WS_STREAMS_TESTNET_URL, DUAL_INVESTMENT_REST_API_PROD_URL, FIAT_REST_API_PROD_URL, ForbiddenError, GIFT_CARD_REST_API_PROD_URL, LogLevel, Logger, MARGIN_TRADING_REST_API_PROD_URL, MARGIN_TRADING_RISK_WS_STREAMS_PROD_URL, MARGIN_TRADING_WS_STREAMS_PROD_URL, MINING_REST_API_PROD_URL, NFT_REST_API_PROD_URL, NetworkError, NotFoundError, ObjectType, PAY_REST_API_PROD_URL, REBATE_REST_API_PROD_URL, RateLimitBanError, RequestArgs, RequiredError, RestApiRateLimit, RestApiResponse, SIMPLE_EARN_REST_API_PROD_URL, SPOT_REST_API_DEMO_URL, SPOT_REST_API_MARKET_URL, SPOT_REST_API_PROD_URL, SPOT_REST_API_TESTNET_URL, SPOT_WS_API_DEMO_URL, SPOT_WS_API_PROD_URL, SPOT_WS_API_TESTNET_URL, SPOT_WS_STREAMS_DEMO_URL, SPOT_WS_STREAMS_MARKET_URL, SPOT_WS_STREAMS_PROD_URL, SPOT_WS_STREAMS_TESTNET_URL, STAKING_REST_API_PROD_URL, SUB_ACCOUNT_REST_API_PROD_URL, SendMessageOptions, ServerError, TimeUnit, TimerRecord, TooManyRequestsError, UnauthorizedError, VIP_LOAN_REST_API_PROD_URL, WALLET_REST_API_PROD_URL, WebsocketAPIBase, WebsocketApiRateLimit, WebsocketApiResponse, WebsocketCommon, WebsocketConnection, WebsocketEventEmitter, WebsocketSendMsgConfig, WebsocketSendMsgOptions, WebsocketStream, WebsocketStreamsBase, assertParamExists, buildQueryString, buildUserAgent, buildWebsocketAPIMessage, clearSignerCache, createStreamHandler, delay, getSignature, getTimestamp, httpRequestFunction, normalizeScientificNumbers, normalizeStreamId, parseCustomHeaders, parseRateLimitHeaders, randomInteger, randomString, redactMessage, removeEmptyValue, replaceWebsocketStreamsPlaceholders, sanitizeHeaderValue, sendRequest, setSearchParams, shouldRetryRequest, sortObject, toPathString, validateTLSUrl, validateTimeUnit };
|
|
1164
1194
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -632,6 +632,54 @@ function parseCustomHeaders(headers) {
|
|
|
632
632
|
}
|
|
633
633
|
return parsedHeaders;
|
|
634
634
|
}
|
|
635
|
+
/**
|
|
636
|
+
* Redacts sensitive fields from a message for safe logging.
|
|
637
|
+
* Replaces apiKey and signature values with '[REDACTED]' while preserving
|
|
638
|
+
* the rest of the message structure.
|
|
639
|
+
*
|
|
640
|
+
* @param data - The message object to redact.
|
|
641
|
+
* @returns A new object with sensitive fields redacted.
|
|
642
|
+
*/
|
|
643
|
+
function redactMessage(data) {
|
|
644
|
+
const SENSITIVE_FIELDS = [
|
|
645
|
+
"apiKey",
|
|
646
|
+
"apiSecret",
|
|
647
|
+
"signature"
|
|
648
|
+
];
|
|
649
|
+
const redactedParams = { ...data.params };
|
|
650
|
+
for (const field of SENSITIVE_FIELDS) if (field in redactedParams) redactedParams[field] = "[REDACTED]";
|
|
651
|
+
return {
|
|
652
|
+
...data,
|
|
653
|
+
params: redactedParams
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Validates that a URL uses a secure (TLS) scheme.
|
|
658
|
+
*
|
|
659
|
+
* - For REST API URLs: must use `https://`
|
|
660
|
+
* - For WebSocket URLs: must use `wss://`
|
|
661
|
+
*
|
|
662
|
+
* Logs a warning via the Logger if a non-TLS scheme is detected.
|
|
663
|
+
*
|
|
664
|
+
* @param url - The URL string to validate.
|
|
665
|
+
* @param type - The type of URL being validated: 'rest' or 'websocket'.
|
|
666
|
+
* @throws {Error} If the URL uses an insecure scheme (http:// or ws://).
|
|
667
|
+
*/
|
|
668
|
+
function validateTLSUrl(url, type) {
|
|
669
|
+
if (!url) return;
|
|
670
|
+
let parsed;
|
|
671
|
+
try {
|
|
672
|
+
parsed = new URL(url);
|
|
673
|
+
} catch {
|
|
674
|
+
return;
|
|
675
|
+
}
|
|
676
|
+
const scheme = parsed.protocol.toLowerCase();
|
|
677
|
+
if (type === "rest") {
|
|
678
|
+
if (scheme === "http:") throw new Error("Insecure URL scheme: REST API basePath must use https://. Using http:// would transmit credentials in cleartext.");
|
|
679
|
+
} else if (type === "websocket") {
|
|
680
|
+
if (scheme === "ws:") throw new Error("Insecure URL scheme: WebSocket wsURL must use wss://. Using ws:// would transmit credentials in cleartext.");
|
|
681
|
+
}
|
|
682
|
+
}
|
|
635
683
|
|
|
636
684
|
//#endregion
|
|
637
685
|
//#region src/configuration.ts
|
|
@@ -1163,7 +1211,7 @@ var WebsocketCommon = class WebsocketCommon extends WebsocketEventEmitter {
|
|
|
1163
1211
|
const req = connection.sessionLogonReq;
|
|
1164
1212
|
if (req && !connection.isSessionLoggedOn) {
|
|
1165
1213
|
const data = buildWebsocketAPIMessage(this.configuration, req.method, req.payload, req.options);
|
|
1166
|
-
this.logger.debug(`Session re-logon on connection ${connection.id}`, data);
|
|
1214
|
+
this.logger.debug(`Session re-logon on connection ${connection.id}`, redactMessage(data));
|
|
1167
1215
|
try {
|
|
1168
1216
|
await this.send(JSON.stringify(data), data.id, true, this.configuration.timeout, connection);
|
|
1169
1217
|
this.logger.debug(`Session re-logon on connection ${connection.id} was successful.`);
|
|
@@ -1494,7 +1542,7 @@ var WebsocketAPIBase = class extends WebsocketCommon {
|
|
|
1494
1542
|
const connections = isSessionReq ? this.getAvailableConnections() : [this.getConnection()];
|
|
1495
1543
|
const skipAuth = isSessionReq ? false : this.configuration.autoSessionReLogon && connections[0].isSessionLoggedOn;
|
|
1496
1544
|
const data = buildWebsocketAPIMessage(this.configuration, method, payload, options, skipAuth);
|
|
1497
|
-
this.logger.debug("Send message to Binance WebSocket API Server:", data);
|
|
1545
|
+
this.logger.debug("Send message to Binance WebSocket API Server:", redactMessage(data));
|
|
1498
1546
|
const responses = await Promise.all(connections.map((connection) => this.send(JSON.stringify(data), data.id, true, this.configuration.timeout, connection)));
|
|
1499
1547
|
if (isSessionReq && this.configuration.autoSessionReLogon) connections.forEach((connection) => {
|
|
1500
1548
|
if (options.isSessionLogon) {
|
|
@@ -1885,6 +1933,7 @@ exports.parseCustomHeaders = parseCustomHeaders;
|
|
|
1885
1933
|
exports.parseRateLimitHeaders = parseRateLimitHeaders;
|
|
1886
1934
|
exports.randomInteger = randomInteger;
|
|
1887
1935
|
exports.randomString = randomString;
|
|
1936
|
+
exports.redactMessage = redactMessage;
|
|
1888
1937
|
exports.removeEmptyValue = removeEmptyValue;
|
|
1889
1938
|
exports.replaceWebsocketStreamsPlaceholders = replaceWebsocketStreamsPlaceholders;
|
|
1890
1939
|
exports.sanitizeHeaderValue = sanitizeHeaderValue;
|
|
@@ -1893,5 +1942,6 @@ exports.setSearchParams = setSearchParams;
|
|
|
1893
1942
|
exports.shouldRetryRequest = shouldRetryRequest;
|
|
1894
1943
|
exports.sortObject = sortObject;
|
|
1895
1944
|
exports.toPathString = toPathString;
|
|
1945
|
+
exports.validateTLSUrl = validateTLSUrl;
|
|
1896
1946
|
exports.validateTimeUnit = validateTimeUnit;
|
|
1897
1947
|
//# sourceMappingURL=index.js.map
|