Skip to content

Commit 9b5f14c

Browse files
author
Tiago Siebler
committed
fix(#603): boolean types unintentionally hardcoded to false. feat: update prefixes
1 parent f17d54d commit 9b5f14c

File tree

6 files changed

+53
-24
lines changed

6 files changed

+53
-24
lines changed

src/coinm-client.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -688,9 +688,13 @@ export class CoinMClient extends BaseRestClient {
688688
return;
689689
}
690690

691-
const expectedOrderIdPrefix = `x-${getOrderIdPrefix(apiCategory)}`;
692-
if (!params[orderIdProperty].startsWith(expectedOrderIdPrefix)) {
693-
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix, params);
691+
const expectedOrderIdPrefix1 = `x-${getOrderIdPrefix(apiCategory, 'v1')}`;
692+
const expectedOrderIdPrefix2 = `x-${getOrderIdPrefix(apiCategory, 'v2')}`;
693+
if (
694+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix1) ||
695+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix2)
696+
) {
697+
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix2, params);
694698
}
695699
}
696700
}

src/main-client.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4525,9 +4525,13 @@ export class MainClient extends BaseRestClient {
45254525
return;
45264526
}
45274527

4528-
const expectedOrderIdPrefix = `x-${getOrderIdPrefix(apiCategory)}`;
4529-
if (!params[orderIdProperty].startsWith(expectedOrderIdPrefix)) {
4530-
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix, params);
4528+
const expectedOrderIdPrefix1 = `x-${getOrderIdPrefix(apiCategory, 'v1')}`;
4529+
const expectedOrderIdPrefix2 = `x-${getOrderIdPrefix(apiCategory, 'v2')}`;
4530+
if (
4531+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix1) ||
4532+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix2)
4533+
) {
4534+
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix2, params);
45314535
}
45324536
}
45334537

src/portfolio-client.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -812,9 +812,13 @@ export class PortfolioClient extends BaseRestClient {
812812
return;
813813
}
814814

815-
const expectedOrderIdPrefix = `x-${getOrderIdPrefix(apiCategory)}`;
816-
if (!params[orderIdProperty].startsWith(expectedOrderIdPrefix)) {
817-
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix, params);
815+
const expectedOrderIdPrefix1 = `x-${getOrderIdPrefix(apiCategory, 'v1')}`;
816+
const expectedOrderIdPrefix2 = `x-${getOrderIdPrefix(apiCategory, 'v2')}`;
817+
if (
818+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix1) ||
819+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix2)
820+
) {
821+
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix2, params);
818822
}
819823
}
820824

src/types/websockets/ws-events-formatted.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export interface WsMessageKlineFormatted extends WsSharedBase {
4242
low: number;
4343
volume: number;
4444
trades: number;
45-
final: false;
45+
final: boolean;
4646
quoteVolume: number;
4747
volumeActive: number;
4848
quoteVolumeActive: number;
@@ -68,7 +68,7 @@ export interface WsMessageContinuousKlineFormatted extends WsSharedBase {
6868
low: number;
6969
volume: number;
7070
trades: number;
71-
final: false;
71+
final: boolean;
7272
quoteVolume: number;
7373
volumeActive: number;
7474
quoteVolumeActive: number;
@@ -253,8 +253,8 @@ export interface WsMessageSpotUserDataExecutionReportEventFormatted
253253
tradeTime: number;
254254
tradeId: number;
255255
ignoreThis1: number;
256-
isOrderOnBook: false;
257-
isMaker: false;
256+
isOrderOnBook: boolean;
257+
isMaker: boolean;
258258
ignoreThis2: true;
259259
orderCreationTime: number;
260260
cummulativeQuoteAssetTransactedQty: number;

src/usdm-client.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -897,9 +897,13 @@ export class USDMClient extends BaseRestClient {
897897
return;
898898
}
899899

900-
const expectedOrderIdPrefix = `x-${getOrderIdPrefix(apiCategory)}`;
901-
if (!params[orderIdProperty].startsWith(expectedOrderIdPrefix)) {
902-
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix, params);
900+
const expectedOrderIdPrefix1 = `x-${getOrderIdPrefix(apiCategory, 'v1')}`;
901+
const expectedOrderIdPrefix2 = `x-${getOrderIdPrefix(apiCategory, 'v2')}`;
902+
if (
903+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix1) ||
904+
!params[orderIdProperty].startsWith(expectedOrderIdPrefix2)
905+
) {
906+
logInvalidOrderId(orderIdProperty, expectedOrderIdPrefix2, params);
903907
}
904908
}
905909
}

src/util/requestUtils.ts

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

129134
export 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

Comments
 (0)