bybit-api
Version:
Complete & robust Node.js SDK for Bybit's REST APIs and WebSockets, with TypeScript & strong end to end tests.
154 lines (153 loc) • 4.23 kB
TypeScript
import { PermissionsV5 } from '../shared-v5';
export interface CreateSubMemberResultV5 {
uid: string;
username: string;
memberType: number;
status: number;
remark: string;
}
export interface CreateSubApiKeyResultV5 {
id: string;
note: string;
apiKey: string;
readOnly: number;
secret: string;
permissions: PermissionsV5;
}
export interface SubMemberV5 {
uid: string;
username: string;
memberType: number;
status: number;
accountMode: number;
remark: string;
}
export type ApiKeyType = 1 | 2;
export interface ApiKeyPermissionsV5 {
ContractTrade: string[];
Spot: string[];
Wallet: string[];
Options: string[];
Derivatives: string[];
CopyTrading: string[];
BlockTrade: string[];
Exchange: string[];
NFT: string[];
Affiliate: string[];
}
export interface ApiKeyInfoV5 {
id: string;
note: string;
apiKey: string;
readOnly: 0 | 1;
secret: string;
permissions: ApiKeyPermissionsV5;
ips: string[];
type: 1 | 2;
deadlineDay: number;
expiredAt: string;
createdAt: string;
/** @deprecated */
unified: number;
uta: 0 | 1;
userID: number;
inviterID: number;
vipLevel: string;
mktMakerLevel: string;
affiliateID: number;
rsaPublicKey: string;
isMaster: boolean;
parentUid: string;
kycLevel: 'LEVEL_DEFAULT' | 'LEVEL_1' | 'LEVEL_2';
kycRegion: string;
}
export interface UpdateApiKeyResultV5 {
id: string;
note: string;
apiKey: string;
readOnly: 0 | 1;
secret: string;
permissions: PermissionsV5;
ips: string[];
}
export interface SubAccountAllApiKeysResultV5 {
result: {
id: string;
ips?: string[];
apiKey: string;
note: string;
status: number;
expiredAt?: string;
createdAt: string;
type: ApiKeyType;
permissions: PermissionsV5;
secret: string;
readOnly: 0 | 1;
deadlineDay?: number;
flag: string;
}[];
nextPageCursor: string;
}
export interface AffiliateUserListItemV5 {
userId: string;
registerTime: string;
source: string;
remarks: string;
isKyc: boolean;
takerVol30Day: string;
makerVol30Day: string;
tradeVol30Day: string;
depositAmount30Day: string;
takerVol365Day: string;
makerVol365Day: string;
tradeVol365Day: string;
depositAmount365Day: string;
takerVol: string;
makerVol: string;
tradeVol: string;
startDate: string;
endDate: string;
/** tradfi trade volume in [startDate, endDate] when startDate/endDate in params */
tradfiTradeVol?: string;
/** tradfi trade volume in last 30 days. 0 when startDate/endDate in params */
tradfiTradeVol30Day?: string;
/** tradfi trade volume in past year. 0 when startDate/endDate in params */
tradfiTradeVol365Day?: string;
/** Commission between startDate and endDate when startDate/endDate in params. Coin -> amount */
commissionsVol?: Record<string, string>;
/** Commission in last 30 days. Coin -> amount */
commissions30Day?: Record<string, string>;
/** Commission in past year. Coin -> amount */
commissions365Day?: Record<string, string>;
}
export interface AffiliateUserInfoV5 {
uid: string;
vipLevel: string;
takerVol30Day: string;
makerVol30Day: string;
tradeVol30Day: string;
depositAmount30Day: string;
takerVol365Day: string;
makerVol365Day: string;
tradeVol365Day: string;
depositAmount365Day: string;
totalWalletBalance: '1' | '2' | '3' | '4';
depositUpdateTime: string;
volUpdateTime: string;
KycLevel: 0 | 1 | 2;
/** tradfi trade volume in last 30 days (USDT) */
tradfiTradeVol30Day?: string;
/** tradfi trade volume in past year (USDT) */
tradfiTradeVol365Day?: string;
/** tradfi commissions in last 30 days. Coin -> amount */
commissions30Day?: Record<string, string>;
/** tradfi commissions in past year. Coin -> amount */
commissions365Day?: Record<string, string>;
}
export interface FriendReferralRecordV5 {
id: string;
inviteeUid: string;
status: number;
createdAt: string;
updatedAt: string;
}