MCPcopy Create free account
hub / github.com/ccxt/node-binance-api / userData

Method userData

src/node-binance-api.ts:6121–6160  ·  view source on GitHub ↗

* Userdata websockets function * @param {function} all_updates_callback * @param {function} execution_callback - optional execution callback * @param {function} subscribed_callback - subscription callback * @param {function} list_status_callback - status callback * @return {

(all_updates_callback?: Callback, balance_callback?: Callback, execution_callback?: Callback, subscribed_callback?: Callback, list_status_callback?: Callback)

Source from the content-addressed store, hash-verified

6119 * @return {undefined}
6120 */
6121 userData(all_updates_callback?: Callback, balance_callback?: Callback, execution_callback?: Callback, subscribed_callback?: Callback, list_status_callback?: Callback) {
6122 const reconnect = () => {
6123 if (this.Options.reconnect) this.userData(all_updates_callback, balance_callback, execution_callback, subscribed_callback, list_status_callback);
6124 };
6125
6126 // Set up callbacks
6127 this.Options.all_updates_callback = all_updates_callback;
6128 this.Options.balance_callback = balance_callback;
6129 this.Options.execution_callback = execution_callback ? execution_callback : balance_callback;
6130 this.Options.list_status_callback = list_status_callback;
6131
6132 // Connect to WebSocket API
6133 const connectionId = 'userData';
6134 const ws = this.connectWsApi(connectionId, this.userDataHandler.bind(this), reconnect);
6135
6136 ws.on('open', async () => {
6137 try {
6138 // Subscribe using userDataStream.subscribe.signature method
6139 const timestamp = Date.now();
6140 const query = `apiKey=${this.APIKEY}&timestamp=${timestamp}`;
6141 const signature = this.generateSignature(query);
6142
6143 const result = await this.sendWsApiRequest(connectionId, 'userDataStream.subscribe.signature', {
6144 apiKey: this.APIKEY,
6145 timestamp: timestamp,
6146 signature: signature
6147 });
6148
6149 this.Options.userDataSubscriptionId = result.subscriptionId;
6150 if (this.Options.verbose) {
6151 this.Options.log(`User Data Stream subscribed with subscriptionId: ${result.subscriptionId}`);
6152 }
6153
6154 if (subscribed_callback) subscribed_callback(connectionId);
6155 } catch (error) {
6156 this.Options.log('User Data Stream subscription error:', error.message);
6157 if (reconnect) setTimeout(reconnect, 5000);
6158 }
6159 });
6160 }
6161
6162 /**
6163 * Margin Userdata websockets function

Callers 1

reconnectMethod · 0.95

Calls 4

connectWsApiMethod · 0.95
generateSignatureMethod · 0.95
sendWsApiRequestMethod · 0.95
logMethod · 0.80

Tested by

no test coverage detected