@@ -100,35 +100,40 @@ export type GenericAPIResponse<T = any> = Promise<T>;
100100// throw new Error(msg);
101101// }
102102
103- export function getOrderIdPrefix ( network : BinanceBaseUrlKey ) : string {
103+ export function getOrderIdPrefix (
104+ network : BinanceBaseUrlKey ,
105+ prefixVersion : 'v1' | 'v2' , // = 'v2',
106+ ) : string {
104107 switch ( network ) {
105108 case 'spot' :
106109 case 'spot1' :
107110 case 'spot2' :
108111 case 'spot3' :
109112 case 'spot4' :
110- return 'U5D79M5B' ;
113+ return prefixVersion === 'v2' ? 'QJ6WSMZX' : 'U5D79M5B' ;
114+ // return 'U5D79M5B';
111115
112116 case 'usdm' :
113117 case 'usdmtest' :
114118 case 'coinm' :
115119 case 'coinmtest' :
116120 case 'papi' :
117- return '15PC4ZJy' ;
121+ return prefixVersion === 'v2' ? 'r1wQQsTn' : '15PC4ZJy' ;
122+ // return '15PC4ZJy';
118123
119124 case 'voptions' :
120125 case 'voptionstest' :
121126 return '' ;
122127
123128 default :
124129 // throwUnhandledSwitch(network, `"${network}" unhandled`);
125- return 'U5D79M5B' ;
130+ return prefixVersion === 'v2' ? 'QJ6WSMZX' : 'U5D79M5B' ;
126131 }
127132}
128133
129134export function generateNewOrderId ( network : BinanceBaseUrlKey ) : string {
130135 const id = nanoid ( 22 ) ; // must pass ^[\.A-Z\:/a-z0-9_-]{1,32}$ with prefix
131- const prefixedId = 'x-' + getOrderIdPrefix ( network ) + id ;
136+ const prefixedId = 'x-' + getOrderIdPrefix ( network , 'v2' ) + id ;
132137
133138 return prefixedId ;
134139}
@@ -288,9 +293,17 @@ export function validateWSAPINewClientOID(
288293 continue ;
289294 }
290295
291- const expectedOrderIdPrefix = `x-${ getOrderIdPrefix ( baseUrlKey ) } ` ;
292- if ( ! request . params [ orderIdProperty ] . startsWith ( expectedOrderIdPrefix ) ) {
293- logInvalidOrderId ( orderIdProperty , expectedOrderIdPrefix , request . params ) ;
296+ const expectedOrderIdPrefix1 = `x-${ getOrderIdPrefix ( baseUrlKey , 'v1' ) } ` ;
297+ const expectedOrderIdPrefix2 = `x-${ getOrderIdPrefix ( baseUrlKey , 'v2' ) } ` ;
298+ if (
299+ ! request . params [ orderIdProperty ] . startsWith ( expectedOrderIdPrefix1 ) ||
300+ ! request . params [ orderIdProperty ] . startsWith ( expectedOrderIdPrefix2 )
301+ ) {
302+ logInvalidOrderId (
303+ orderIdProperty ,
304+ expectedOrderIdPrefix2 ,
305+ request . params ,
306+ ) ;
294307 }
295308 }
296309}
0 commit comments