@@ -212,6 +212,62 @@ export function getServer(
212212 }
213213 break ;
214214 }
215+ case Action . FetchAccountId : {
216+ try {
217+ let accountId : string | undefined ;
218+ let uid : string | undefined ;
219+
220+ const temp_broker = broker as any ;
221+
222+ // 1. Bybit-style method?
223+ if ( typeof temp_broker . privateGetV5UserQueryApi === "function" ) {
224+ const query = await temp_broker . privateGetV5UserQueryApi ( ) ;
225+ if ( ! query ?. id || ! query ?. userID ) {
226+ throw new Error ( "Invalid response structure from privateGetV5UserQueryApi" ) ;
227+ }
228+ accountId = query . id ;
229+ uid = query . userID ;
230+ // 2. MEXC-style method?
231+ } else if ( typeof temp_broker . spotPrivateGetUid === "function" ) {
232+ const query = await temp_broker . spotPrivateGetUid ( ) ;
233+ accountId = query . uid ;
234+ uid = query . uid ;
235+
236+ // 3. Binance-style method?
237+ } else if ( typeof temp_broker . privateGetAccount === "function" ) {
238+ const query = await temp_broker . privateGetAccount ( ) ;
239+ accountId = query . uid ;
240+ uid = query . uid ;
241+
242+ // 4. None matched → unsupported exchange
243+ } else {
244+ return callback (
245+ {
246+ code : grpc . status . INTERNAL ,
247+ message :
248+ "Error: fetching account ID not supported for this broker" ,
249+ } ,
250+ null ,
251+ ) ;
252+ }
253+
254+ // Return normalized response
255+ return callback ( null , {
256+ proof : verityProof ,
257+ result : JSON . stringify ( { accountId, uid } ) ,
258+ } ) ;
259+ } catch ( error ) {
260+ log . error ( `Error fetching account ID ${ cex } :` , error ) ;
261+ callback (
262+ {
263+ code : grpc . status . INTERNAL ,
264+ message : `Error fetching account ID from ${ cex } ` ,
265+ } ,
266+ null ,
267+ ) ;
268+ }
269+ break ;
270+ }
215271
216272 case Action . Call : {
217273 const callSchema = Joi . object ( {
@@ -374,15 +430,15 @@ export function getServer(
374430 const depositAddresses =
375431 broker . has . fetchDepositAddress === true
376432 ? [
377- await broker . fetchDepositAddress ( symbol , {
378- network : fetchDepositAddresses . chain ,
379- ...( fetchDepositAddresses . params ?? { } ) ,
380- } ) ,
381- ]
382- : await broker . fetchDepositAddressesByNetwork ( symbol , {
433+ await broker . fetchDepositAddress ( symbol , {
383434 network : fetchDepositAddresses . chain ,
384435 ...( fetchDepositAddresses . params ?? { } ) ,
385- } ) ;
436+ } ) ,
437+ ]
438+ : await broker . fetchDepositAddressesByNetwork ( symbol , {
439+ network : fetchDepositAddresses . chain ,
440+ ...( fetchDepositAddresses . params ?? { } ) ,
441+ } ) ;
386442
387443 if ( depositAddresses . length > 0 ) {
388444 return callback ( null , {
0 commit comments