@binance/margin-trading 5.0.0 → 6.0.0
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 +125 -0
- package/dist/index.d.mts +1087 -202
- package/dist/index.d.ts +1087 -202
- package/dist/index.js +175 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +167 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -5,12 +5,17 @@ var __export = (target, all) => {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// src/margin-trading.ts
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import {
|
|
9
|
+
buildUserAgent,
|
|
10
|
+
ConfigurationRestAPI as ConfigurationRestAPI9,
|
|
11
|
+
ConfigurationWebsocketStreams as ConfigurationWebsocketStreams2,
|
|
12
|
+
MARGIN_TRADING_REST_API_PROD_URL,
|
|
13
|
+
MARGIN_TRADING_WS_STREAMS_PROD_URL
|
|
14
|
+
} from "@binance/common";
|
|
10
15
|
|
|
11
16
|
// package.json
|
|
12
17
|
var name = "@binance/margin-trading";
|
|
13
|
-
var version = "
|
|
18
|
+
var version = "6.0.0";
|
|
14
19
|
|
|
15
20
|
// src/rest-api/index.ts
|
|
16
21
|
var rest_api_exports = {};
|
|
@@ -5560,25 +5565,179 @@ var RestAPI = class {
|
|
|
5560
5565
|
}
|
|
5561
5566
|
};
|
|
5562
5567
|
|
|
5568
|
+
// src/websocket-streams/index.ts
|
|
5569
|
+
var websocket_streams_exports = {};
|
|
5570
|
+
__export(websocket_streams_exports, {
|
|
5571
|
+
WebsocketStreams: () => WebsocketStreams,
|
|
5572
|
+
WebsocketStreamsConnection: () => WebsocketStreamsConnection
|
|
5573
|
+
});
|
|
5574
|
+
|
|
5575
|
+
// src/websocket-streams/websocket-streams.ts
|
|
5576
|
+
import { WebsocketStreamsBase as WebsocketStreamsBase2 } from "@binance/common";
|
|
5577
|
+
|
|
5578
|
+
// src/websocket-streams/websocket-streams-connection.ts
|
|
5579
|
+
import { createStreamHandler } from "@binance/common";
|
|
5580
|
+
var WebsocketStreamsConnection = class {
|
|
5581
|
+
constructor(websocketBase) {
|
|
5582
|
+
this.websocketBase = websocketBase;
|
|
5583
|
+
}
|
|
5584
|
+
/**
|
|
5585
|
+
* Adds an event listener for the specified WebSocket event.
|
|
5586
|
+
* @param event - The WebSocket event to listen for, such as 'open', 'message', 'error', 'close', 'ping', or 'pong'.
|
|
5587
|
+
* @param listener - The callback function to be executed when the event is triggered. The function can accept any number of arguments.
|
|
5588
|
+
*/
|
|
5589
|
+
on(event, listener) {
|
|
5590
|
+
this.websocketBase.on(event, listener);
|
|
5591
|
+
}
|
|
5592
|
+
/**
|
|
5593
|
+
* Removes an event listener for the specified WebSocket event.
|
|
5594
|
+
* @param event - The WebSocket event to stop listening for, such as 'open', 'message', 'error', 'close', 'ping', or 'pong'.
|
|
5595
|
+
* @param listener - The callback function that was previously added as the event listener.
|
|
5596
|
+
*/
|
|
5597
|
+
off(event, listener) {
|
|
5598
|
+
this.websocketBase.off(event, listener);
|
|
5599
|
+
}
|
|
5600
|
+
/**
|
|
5601
|
+
* Disconnects from the WebSocket server.
|
|
5602
|
+
* If there is no active connection, a warning is logged.
|
|
5603
|
+
* Otherwise, all connections in the connection pool are closed gracefully,
|
|
5604
|
+
* and a message is logged indicating that the connection has been disconnected.
|
|
5605
|
+
* @returns A Promise that resolves when all connections have been closed.
|
|
5606
|
+
* @throws Error if the WebSocket client is not set.
|
|
5607
|
+
*/
|
|
5608
|
+
disconnect() {
|
|
5609
|
+
return this.websocketBase.disconnect();
|
|
5610
|
+
}
|
|
5611
|
+
/**
|
|
5612
|
+
* Checks if the WebSocket connection is currently open.
|
|
5613
|
+
* @returns `true` if the connection is open, `false` otherwise.
|
|
5614
|
+
*/
|
|
5615
|
+
isConnected() {
|
|
5616
|
+
return this.websocketBase.isConnected();
|
|
5617
|
+
}
|
|
5618
|
+
/**
|
|
5619
|
+
* Sends a ping message to all connected Websocket servers in the pool.
|
|
5620
|
+
* If no connections are ready, a warning is logged.
|
|
5621
|
+
* For each active connection, the ping message is sent, and debug logs provide details.
|
|
5622
|
+
* @throws Error if a Websocket client is not set for a connection.
|
|
5623
|
+
*/
|
|
5624
|
+
pingServer() {
|
|
5625
|
+
this.websocketBase.pingServer();
|
|
5626
|
+
}
|
|
5627
|
+
/**
|
|
5628
|
+
* Subscribes to one or multiple WebSocket streams
|
|
5629
|
+
* Handles both single and pool modes
|
|
5630
|
+
* @param stream Single stream name or array of stream names to subscribe to
|
|
5631
|
+
* @param id Optional subscription ID
|
|
5632
|
+
* @returns void
|
|
5633
|
+
*/
|
|
5634
|
+
subscribe(stream, id) {
|
|
5635
|
+
this.websocketBase.subscribe(stream, id);
|
|
5636
|
+
}
|
|
5637
|
+
/**
|
|
5638
|
+
* Unsubscribes from one or multiple WebSocket streams
|
|
5639
|
+
* Handles both single and pool modes
|
|
5640
|
+
* @param stream Single stream name or array of stream names to unsubscribe from
|
|
5641
|
+
* @param id Optional unsubscription ID
|
|
5642
|
+
* @returns void
|
|
5643
|
+
*/
|
|
5644
|
+
unsubscribe(stream, id) {
|
|
5645
|
+
this.websocketBase.unsubscribe(stream, id);
|
|
5646
|
+
}
|
|
5647
|
+
/**
|
|
5648
|
+
* Checks if the WebSocket connection is subscribed to the specified stream.
|
|
5649
|
+
* @param stream The name of the WebSocket stream to check.
|
|
5650
|
+
* @returns `true` if the connection is subscribed to the stream, `false` otherwise.
|
|
5651
|
+
*/
|
|
5652
|
+
isSubscribed(stream) {
|
|
5653
|
+
return this.websocketBase.isSubscribed(stream);
|
|
5654
|
+
}
|
|
5655
|
+
/**
|
|
5656
|
+
* Subscribes to the risk data WebSocket stream using the provided listen key.
|
|
5657
|
+
* @param listenKey - The listen key for the risk data WebSocket stream.
|
|
5658
|
+
* @param id - Optional risk data stream ID
|
|
5659
|
+
* @returns A WebSocket stream handler for the risk data stream.
|
|
5660
|
+
*/
|
|
5661
|
+
riskData(listenKey, id) {
|
|
5662
|
+
return createStreamHandler(this.websocketBase, listenKey, id);
|
|
5663
|
+
}
|
|
5664
|
+
/**
|
|
5665
|
+
* Subscribes to the trade data WebSocket stream using the provided listen key.
|
|
5666
|
+
* @param listenKey - The listen key for the trade data WebSocket stream.
|
|
5667
|
+
* @param id - Optional trade data stream ID
|
|
5668
|
+
* @returns A WebSocket stream handler for the trade data stream.
|
|
5669
|
+
*/
|
|
5670
|
+
tradeData(listenKey, id) {
|
|
5671
|
+
return createStreamHandler(
|
|
5672
|
+
this.websocketBase,
|
|
5673
|
+
listenKey,
|
|
5674
|
+
id
|
|
5675
|
+
);
|
|
5676
|
+
}
|
|
5677
|
+
};
|
|
5678
|
+
|
|
5679
|
+
// src/websocket-streams/websocket-streams.ts
|
|
5680
|
+
var WebsocketStreams = class {
|
|
5681
|
+
constructor(configuration) {
|
|
5682
|
+
this.configuration = configuration;
|
|
5683
|
+
}
|
|
5684
|
+
/**
|
|
5685
|
+
* Connects to the Binance WebSocket streams and returns a `WebsocketStreamsConnection` instance.
|
|
5686
|
+
*
|
|
5687
|
+
* @param {object} [options] - Optional connection options.
|
|
5688
|
+
* @param {string|string[]} [options.stream] - The stream(s) to connect to.
|
|
5689
|
+
* @param {'single'|'pool'} [options.mode] - The connection mode, either 'single' or 'pool'. Overwrite the `mode` option in the configuration.
|
|
5690
|
+
* @param {number} [options.poolSize] - The number of connections to use in pool mode. Overwrite the `poolSize` option in the configuration.
|
|
5691
|
+
* @returns {Promise<WebsocketStreamsConnection>} - A promise that resolves to a `WebsocketStreamsConnection` instance.
|
|
5692
|
+
*/
|
|
5693
|
+
async connect({
|
|
5694
|
+
stream,
|
|
5695
|
+
mode,
|
|
5696
|
+
poolSize
|
|
5697
|
+
} = {}) {
|
|
5698
|
+
const websocketBase = new WebsocketStreamsBase2({
|
|
5699
|
+
...this.configuration,
|
|
5700
|
+
...mode && { mode },
|
|
5701
|
+
...poolSize && { poolSize }
|
|
5702
|
+
});
|
|
5703
|
+
const websocketStreamsConnection = new WebsocketStreamsConnection(websocketBase);
|
|
5704
|
+
await websocketBase.connect(stream);
|
|
5705
|
+
return websocketStreamsConnection;
|
|
5706
|
+
}
|
|
5707
|
+
};
|
|
5708
|
+
|
|
5563
5709
|
// src/margin-trading.ts
|
|
5564
5710
|
var MarginTrading = class {
|
|
5565
5711
|
constructor(config) {
|
|
5712
|
+
const userAgent = buildUserAgent(name, version);
|
|
5566
5713
|
if (config?.configurationRestAPI) {
|
|
5567
|
-
const configRestAPI = new ConfigurationRestAPI9(
|
|
5714
|
+
const configRestAPI = new ConfigurationRestAPI9(
|
|
5715
|
+
config.configurationRestAPI
|
|
5716
|
+
);
|
|
5568
5717
|
configRestAPI.basePath = configRestAPI.basePath || MARGIN_TRADING_REST_API_PROD_URL;
|
|
5569
5718
|
configRestAPI.baseOptions = configRestAPI.baseOptions || {};
|
|
5570
5719
|
configRestAPI.baseOptions.headers = {
|
|
5571
5720
|
...configRestAPI.baseOptions.headers || {},
|
|
5572
|
-
"User-Agent":
|
|
5721
|
+
"User-Agent": userAgent
|
|
5573
5722
|
};
|
|
5574
5723
|
this.restAPI = new RestAPI(configRestAPI);
|
|
5575
5724
|
}
|
|
5725
|
+
if (config?.configurationWebsocketStreams) {
|
|
5726
|
+
const configWebsocketStreams = new ConfigurationWebsocketStreams2(
|
|
5727
|
+
config.configurationWebsocketStreams
|
|
5728
|
+
);
|
|
5729
|
+
configWebsocketStreams.wsURL = configWebsocketStreams.wsURL || MARGIN_TRADING_WS_STREAMS_PROD_URL;
|
|
5730
|
+
configWebsocketStreams.userAgent = userAgent;
|
|
5731
|
+
this.websocketStreams = new WebsocketStreams(configWebsocketStreams);
|
|
5732
|
+
}
|
|
5576
5733
|
}
|
|
5577
5734
|
};
|
|
5578
5735
|
|
|
5579
5736
|
// src/index.ts
|
|
5580
5737
|
import {
|
|
5581
5738
|
MARGIN_TRADING_REST_API_PROD_URL as MARGIN_TRADING_REST_API_PROD_URL2,
|
|
5739
|
+
MARGIN_TRADING_WS_STREAMS_PROD_URL as MARGIN_TRADING_WS_STREAMS_PROD_URL2,
|
|
5740
|
+
MARGIN_TRADING_RISK_WS_STREAMS_PROD_URL,
|
|
5582
5741
|
ConnectorClientError,
|
|
5583
5742
|
RequiredError,
|
|
5584
5743
|
UnauthorizedError,
|
|
@@ -5595,8 +5754,11 @@ export {
|
|
|
5595
5754
|
ConnectorClientError,
|
|
5596
5755
|
ForbiddenError,
|
|
5597
5756
|
MARGIN_TRADING_REST_API_PROD_URL2 as MARGIN_TRADING_REST_API_PROD_URL,
|
|
5757
|
+
MARGIN_TRADING_RISK_WS_STREAMS_PROD_URL,
|
|
5758
|
+
MARGIN_TRADING_WS_STREAMS_PROD_URL2 as MARGIN_TRADING_WS_STREAMS_PROD_URL,
|
|
5598
5759
|
MarginTrading,
|
|
5599
5760
|
rest_api_exports as MarginTradingRestAPI,
|
|
5761
|
+
websocket_streams_exports as MarginTradingWebsocketStreams,
|
|
5600
5762
|
NetworkError,
|
|
5601
5763
|
NotFoundError,
|
|
5602
5764
|
RateLimitBanError,
|