chore(): lint for trailing commas, fix tests with new types
This commit is contained in:
@@ -30,7 +30,7 @@ export class BrokerClient extends BaseRestClient {
|
||||
/** Create Sub Account */
|
||||
createSubAccount(
|
||||
subName: string,
|
||||
remark?: string
|
||||
remark?: string,
|
||||
): Promise<APIResponse<any>> {
|
||||
return this.postPrivate('/api/broker/v1/account/sub-create', {
|
||||
subName,
|
||||
@@ -47,7 +47,7 @@ export class BrokerClient extends BaseRestClient {
|
||||
modifySubAccount(
|
||||
subUid: string,
|
||||
perm: string,
|
||||
status: 'normal' | 'freeze' | 'del'
|
||||
status: 'normal' | 'freeze' | 'del',
|
||||
): Promise<APIResponse<any>> {
|
||||
return this.postPrivate('/api/broker/v1/account/sub-modify', {
|
||||
subUid,
|
||||
@@ -79,7 +79,7 @@ export class BrokerClient extends BaseRestClient {
|
||||
/** Get Sub Future Assets */
|
||||
getSubFutureAssets(
|
||||
subUid: string,
|
||||
productType: BrokerProductType
|
||||
productType: BrokerProductType,
|
||||
): Promise<APIResponse<any>> {
|
||||
return this.getPrivate('/api/broker/v1/account/sub-future-assets', {
|
||||
subUid,
|
||||
@@ -91,7 +91,7 @@ export class BrokerClient extends BaseRestClient {
|
||||
getSubDepositAddress(
|
||||
subUid: string,
|
||||
coin: string,
|
||||
chain?: string
|
||||
chain?: string,
|
||||
): Promise<APIResponse<any>> {
|
||||
return this.postPrivate('/api/broker/v1/account/sub-address', {
|
||||
subUid,
|
||||
@@ -109,7 +109,7 @@ export class BrokerClient extends BaseRestClient {
|
||||
setSubDepositAutoTransfer(
|
||||
subUid: string,
|
||||
coin: string,
|
||||
toAccountType: 'spot' | 'mix_usdt' | 'mix_usd' | 'mix_usdc'
|
||||
toAccountType: 'spot' | 'mix_usdt' | 'mix_usd' | 'mix_usdc',
|
||||
): Promise<APIResponse<any>> {
|
||||
return this.postPrivate('/api/broker/v1/account/sub-auto-transfer', {
|
||||
subUid,
|
||||
@@ -130,7 +130,7 @@ export class BrokerClient extends BaseRestClient {
|
||||
passphrase: string,
|
||||
remark: string,
|
||||
ip: string,
|
||||
perm?: string
|
||||
perm?: string,
|
||||
): Promise<APIResponse<any>> {
|
||||
return this.postPrivate('/api/broker/v1/manage/sub-api-create', {
|
||||
subUid,
|
||||
@@ -148,7 +148,7 @@ export class BrokerClient extends BaseRestClient {
|
||||
|
||||
/** Modify Sub ApiKey (Only Broker) */
|
||||
modifySubAPIKey(
|
||||
params: BrokerSubAPIKeyModifyRequest
|
||||
params: BrokerSubAPIKeyModifyRequest,
|
||||
): Promise<APIResponse<any>> {
|
||||
return this.postPrivate('/api/broker/v1/manage/sub-api-modify', params);
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ export default class WsStore<WsKey extends string> {
|
||||
if (this.hasExistingActiveConnection(key)) {
|
||||
this.logger.warning(
|
||||
'WsStore setConnection() overwriting existing open connection: ',
|
||||
this.getWs(key)
|
||||
this.getWs(key),
|
||||
);
|
||||
}
|
||||
this.wsState[key] = {
|
||||
@@ -98,7 +98,7 @@ export default class WsStore<WsKey extends string> {
|
||||
const ws = this.getWs(key);
|
||||
this.logger.warning(
|
||||
'WsStore deleting state for connection still open: ',
|
||||
ws
|
||||
ws,
|
||||
);
|
||||
ws?.close();
|
||||
}
|
||||
@@ -119,7 +119,7 @@ export default class WsStore<WsKey extends string> {
|
||||
if (this.isWsOpen(key)) {
|
||||
this.logger.warning(
|
||||
'WsStore setConnection() overwriting existing open connection: ',
|
||||
this.getWs(key)
|
||||
this.getWs(key),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ function _arrayBufferToBase64(buffer: ArrayBuffer) {
|
||||
export async function signMessage(
|
||||
message: string,
|
||||
secret: string,
|
||||
method: 'hex' | 'base64'
|
||||
method: 'hex' | 'base64',
|
||||
): Promise<string> {
|
||||
const encoder = new TextEncoder();
|
||||
const key = await window.crypto.subtle.importKey(
|
||||
@@ -19,20 +19,20 @@ export async function signMessage(
|
||||
encoder.encode(secret),
|
||||
{ name: 'HMAC', hash: { name: 'SHA-256' } },
|
||||
false,
|
||||
['sign']
|
||||
['sign'],
|
||||
);
|
||||
|
||||
const signature = await window.crypto.subtle.sign(
|
||||
'HMAC',
|
||||
key,
|
||||
encoder.encode(message)
|
||||
encoder.encode(message),
|
||||
);
|
||||
|
||||
switch (method) {
|
||||
case 'hex': {
|
||||
return Array.prototype.map
|
||||
.call(new Uint8Array(signature), (x: any) =>
|
||||
('00' + x.toString(16)).slice(-2)
|
||||
('00' + x.toString(16)).slice(-2),
|
||||
)
|
||||
.join('');
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import { createHmac } from 'crypto';
|
||||
export async function signMessage(
|
||||
message: string,
|
||||
secret: string,
|
||||
method: 'hex' | 'base64'
|
||||
method: 'hex' | 'base64',
|
||||
): Promise<string> {
|
||||
const hmac = createHmac('sha256', secret).update(message);
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ export interface RestClientOptions {
|
||||
export function serializeParams<T extends object | undefined = {}>(
|
||||
params: T,
|
||||
strict_validation = false,
|
||||
prefixWith: string = ''
|
||||
prefixWith: string = '',
|
||||
): string {
|
||||
if (!params) {
|
||||
return '';
|
||||
@@ -42,7 +42,7 @@ export function serializeParams<T extends object | undefined = {}>(
|
||||
const value = params[key];
|
||||
if (strict_validation === true && typeof value === 'undefined') {
|
||||
throw new Error(
|
||||
'Failed to sign API request due to undefined parameter'
|
||||
'Failed to sign API request due to undefined parameter',
|
||||
);
|
||||
}
|
||||
return `${key}=${value}`;
|
||||
@@ -55,7 +55,7 @@ export function serializeParams<T extends object | undefined = {}>(
|
||||
|
||||
export function getRestBaseUrl(
|
||||
useTestnet: boolean,
|
||||
restInverseOptions: RestClientOptions
|
||||
restInverseOptions: RestClientOptions,
|
||||
): string {
|
||||
const exchangeBaseUrls = {
|
||||
livenet: 'https://api.bitget.com',
|
||||
|
||||
@@ -36,7 +36,7 @@ function isWsChannelEvent(event: WsBaseEvent): event is WsSnapshotChannelEvent {
|
||||
|
||||
/** TypeGuard: event is an account update (balance) */
|
||||
export function isWsAccountSnapshotEvent(
|
||||
event: unknown
|
||||
event: unknown,
|
||||
): event is WsSnapshotAccountEvent {
|
||||
return (
|
||||
isWsSnapshotEvent(event) &&
|
||||
@@ -48,7 +48,7 @@ export function isWsAccountSnapshotEvent(
|
||||
|
||||
/** TypeGuard: event is a positions update */
|
||||
export function isWsPositionsSnapshotEvent(
|
||||
event: unknown
|
||||
event: unknown,
|
||||
): event is WsSnapshotPositionsEvent {
|
||||
return (
|
||||
isWsSnapshotEvent(event) &&
|
||||
@@ -60,14 +60,14 @@ export function isWsPositionsSnapshotEvent(
|
||||
|
||||
/** TypeGuard: event is a UMCBL account update (balance) */
|
||||
export function isWsFuturesAccountSnapshotEvent(
|
||||
event: unknown
|
||||
event: unknown,
|
||||
): event is WsAccountSnapshotUMCBL {
|
||||
return isWsAccountSnapshotEvent(event) && event.arg.instType === 'umcbl';
|
||||
}
|
||||
|
||||
/** TypeGuard: event is a UMCBL positions update */
|
||||
export function isWsFuturesPositionsSnapshotEvent(
|
||||
event: unknown
|
||||
event: unknown,
|
||||
): event is WSPositionSnapshotUMCBL {
|
||||
return isWsPositionsSnapshotEvent(event) && event.arg.instType === 'umcbl';
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import { BitgetInstType, WsTopicSubscribeEventArgs } from './WsStore';
|
||||
*/
|
||||
type NetworkMap<
|
||||
TRequiredKeys extends string,
|
||||
TOptionalKeys extends string | undefined = undefined
|
||||
TOptionalKeys extends string | undefined = undefined,
|
||||
> = Record<TRequiredKeys, string> &
|
||||
(TOptionalKeys extends string
|
||||
? Record<TOptionalKeys, string | undefined>
|
||||
@@ -55,14 +55,14 @@ export const PUBLIC_WS_KEYS = [] as WsKey[];
|
||||
export const PRIVATE_TOPICS = ['account', 'orders', 'positions', 'ordersAlgo'];
|
||||
|
||||
export function isPrivateChannel<TChannel extends string>(
|
||||
channel: TChannel
|
||||
channel: TChannel,
|
||||
): boolean {
|
||||
return PRIVATE_TOPICS.includes(channel);
|
||||
}
|
||||
|
||||
export function getWsKeyForTopic(
|
||||
subscribeEvent: WsTopicSubscribeEventArgs,
|
||||
isPrivate?: boolean
|
||||
isPrivate?: boolean,
|
||||
): WsKey {
|
||||
const instType = subscribeEvent.instType.toUpperCase() as BitgetInstType;
|
||||
switch (instType) {
|
||||
@@ -78,7 +78,7 @@ export function getWsKeyForTopic(
|
||||
default: {
|
||||
throw neverGuard(
|
||||
instType,
|
||||
`getWsKeyForTopic(): Unhandled market ${'instrumentId'}`
|
||||
`getWsKeyForTopic(): Unhandled market ${'instrumentId'}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -110,14 +110,14 @@ export async function getWsAuthSignature(
|
||||
apiKey: string | undefined,
|
||||
apiSecret: string | undefined,
|
||||
apiPass: string | undefined,
|
||||
recvWindow: number = 0
|
||||
recvWindow: number = 0,
|
||||
): Promise<{
|
||||
expiresAt: number;
|
||||
signature: string;
|
||||
}> {
|
||||
if (!apiKey || !apiSecret || !apiPass) {
|
||||
throw new Error(
|
||||
`Cannot auth - missing api key, secret or passcode in config`
|
||||
`Cannot auth - missing api key, secret or passcode in config`,
|
||||
);
|
||||
}
|
||||
const signatureExpiresAt = ((Date.now() + recvWindow) / 1000).toFixed(0);
|
||||
@@ -125,7 +125,7 @@ export async function getWsAuthSignature(
|
||||
const signature = await signMessage(
|
||||
signatureExpiresAt + 'GET' + '/user/verify',
|
||||
apiSecret,
|
||||
'base64'
|
||||
'base64',
|
||||
);
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user