zklighter-perps 1.0.329 → 1.0.331
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.openapi-generator/FILES +5 -0
- package/apis/AccountApi.ts +45 -123
- package/models/AccountLimits.ts +18 -0
- package/models/BoFeeTier.ts +79 -0
- package/models/FeeTiers.ts +98 -0
- package/models/ReqGetFeeTiers.ts +73 -0
- package/models/StakingFeeTier.ts +79 -0
- package/models/UserFeeTier.ts +106 -0
- package/models/index.ts +5 -0
- package/openapi.json +193 -92
- package/package.json +1 -1
package/.openapi-generator/FILES
CHANGED
|
@@ -60,6 +60,7 @@ models/BinaryOptionMarketStats.ts
|
|
|
60
60
|
models/Block.ts
|
|
61
61
|
models/Blocks.ts
|
|
62
62
|
models/BoEventPnL.ts
|
|
63
|
+
models/BoFeeTier.ts
|
|
63
64
|
models/BoOutcomePnL.ts
|
|
64
65
|
models/Bridge.ts
|
|
65
66
|
models/BridgeSupportedNetwork.ts
|
|
@@ -86,6 +87,7 @@ models/ExchangeMetric.ts
|
|
|
86
87
|
models/ExchangeStats.ts
|
|
87
88
|
models/ExecuteStat.ts
|
|
88
89
|
models/ExportData.ts
|
|
90
|
+
models/FeeTiers.ts
|
|
89
91
|
models/Funding.ts
|
|
90
92
|
models/FundingRate.ts
|
|
91
93
|
models/FundingRates.ts
|
|
@@ -196,6 +198,7 @@ models/ReqGetEvents.ts
|
|
|
196
198
|
models/ReqGetExchangeMetrics.ts
|
|
197
199
|
models/ReqGetExecuteStats.ts
|
|
198
200
|
models/ReqGetFastWithdrawInfo.ts
|
|
201
|
+
models/ReqGetFeeTiers.ts
|
|
199
202
|
models/ReqGetFundings.ts
|
|
200
203
|
models/ReqGetGeckoOrderbook.ts
|
|
201
204
|
models/ReqGetGuild.ts
|
|
@@ -308,6 +311,7 @@ models/SlippageResult.ts
|
|
|
308
311
|
models/SpotAvgEntryPrice.ts
|
|
309
312
|
models/SpotMarketStats.ts
|
|
310
313
|
models/SpotOrderBookDetail.ts
|
|
314
|
+
models/StakingFeeTier.ts
|
|
311
315
|
models/Status.ts
|
|
312
316
|
models/StockBalanceSheet.ts
|
|
313
317
|
models/StockCashFlowStatement.ts
|
|
@@ -352,6 +356,7 @@ models/UpDownCandle.ts
|
|
|
352
356
|
models/UpDownPrice.ts
|
|
353
357
|
models/UpcomingEarning.ts
|
|
354
358
|
models/UpcomingEarnings.ts
|
|
359
|
+
models/UserFeeTier.ts
|
|
355
360
|
models/UserReferrals.ts
|
|
356
361
|
models/ValidatorInfo.ts
|
|
357
362
|
models/WithdrawHistory.ts
|
package/apis/AccountApi.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type {
|
|
|
22
22
|
AccountPnLV2,
|
|
23
23
|
AirdropAllocations,
|
|
24
24
|
DetailedAccounts,
|
|
25
|
+
FeeTiers,
|
|
25
26
|
IsWhitelisted,
|
|
26
27
|
L1Metadata,
|
|
27
28
|
Leaderboard,
|
|
@@ -62,6 +63,8 @@ import {
|
|
|
62
63
|
AirdropAllocationsToJSON,
|
|
63
64
|
DetailedAccountsFromJSON,
|
|
64
65
|
DetailedAccountsToJSON,
|
|
66
|
+
FeeTiersFromJSON,
|
|
67
|
+
FeeTiersToJSON,
|
|
65
68
|
IsWhitelistedFromJSON,
|
|
66
69
|
IsWhitelistedToJSON,
|
|
67
70
|
L1MetadataFromJSON,
|
|
@@ -164,21 +167,15 @@ export interface ChangeAccountTierRequest {
|
|
|
164
167
|
auth?: string;
|
|
165
168
|
}
|
|
166
169
|
|
|
167
|
-
export interface EquityHistoryPnlRequest {
|
|
168
|
-
by: EquityHistoryPnlByEnum;
|
|
169
|
-
value: string;
|
|
170
|
-
resolution: EquityHistoryPnlResolutionEnum;
|
|
171
|
-
start_timestamp: number;
|
|
172
|
-
end_timestamp: number;
|
|
173
|
-
count_back: number;
|
|
174
|
-
ignore_transfers?: boolean;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
170
|
export interface FaucetRequest {
|
|
178
171
|
l1_address: string;
|
|
179
172
|
do_l1_transfer: boolean;
|
|
180
173
|
}
|
|
181
174
|
|
|
175
|
+
export interface FeeTiersRequest {
|
|
176
|
+
filter?: FeeTiersFilterEnum;
|
|
177
|
+
}
|
|
178
|
+
|
|
182
179
|
export interface GetMakerOnlyApiKeysRequest {
|
|
183
180
|
account_index: number;
|
|
184
181
|
authorization?: string;
|
|
@@ -416,7 +413,7 @@ export class AccountApi extends runtime.BaseAPI {
|
|
|
416
413
|
}
|
|
417
414
|
|
|
418
415
|
/**
|
|
419
|
-
* Get account limits
|
|
416
|
+
* Get account limits. bo_fee_rate is the account-wide BO multiplier: staking multiplier times BO volume multiplier (0.8 * 0.9 = 0.72, a 28% discount). Apply it to the market maker/taker fees, then scale by 1 - trade_price / settlement_cap. If no staking discount tiers are configured, legacy BO tier selection remains.
|
|
420
417
|
* accountLimits
|
|
421
418
|
*/
|
|
422
419
|
async accountLimitsRaw(requestParameters: AccountLimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccountLimits>> {
|
|
@@ -454,7 +451,7 @@ export class AccountApi extends runtime.BaseAPI {
|
|
|
454
451
|
}
|
|
455
452
|
|
|
456
453
|
/**
|
|
457
|
-
* Get account limits
|
|
454
|
+
* Get account limits. bo_fee_rate is the account-wide BO multiplier: staking multiplier times BO volume multiplier (0.8 * 0.9 = 0.72, a 28% discount). Apply it to the market maker/taker fees, then scale by 1 - trade_price / settlement_cap. If no staking discount tiers are configured, legacy BO tier selection remains.
|
|
458
455
|
* accountLimits
|
|
459
456
|
*/
|
|
460
457
|
async accountLimits(requestParameters: AccountLimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccountLimits> {
|
|
@@ -815,150 +812,84 @@ export class AccountApi extends runtime.BaseAPI {
|
|
|
815
812
|
}
|
|
816
813
|
|
|
817
814
|
/**
|
|
818
|
-
*
|
|
819
|
-
*
|
|
815
|
+
* Request funds from faucet
|
|
816
|
+
* faucet
|
|
820
817
|
*/
|
|
821
|
-
async
|
|
822
|
-
if (requestParameters['
|
|
823
|
-
throw new runtime.RequiredError(
|
|
824
|
-
'by',
|
|
825
|
-
'Required parameter "by" was null or undefined when calling equityHistoryPnl().'
|
|
826
|
-
);
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
if (requestParameters['value'] == null) {
|
|
830
|
-
throw new runtime.RequiredError(
|
|
831
|
-
'value',
|
|
832
|
-
'Required parameter "value" was null or undefined when calling equityHistoryPnl().'
|
|
833
|
-
);
|
|
834
|
-
}
|
|
835
|
-
|
|
836
|
-
if (requestParameters['resolution'] == null) {
|
|
837
|
-
throw new runtime.RequiredError(
|
|
838
|
-
'resolution',
|
|
839
|
-
'Required parameter "resolution" was null or undefined when calling equityHistoryPnl().'
|
|
840
|
-
);
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
if (requestParameters['start_timestamp'] == null) {
|
|
844
|
-
throw new runtime.RequiredError(
|
|
845
|
-
'start_timestamp',
|
|
846
|
-
'Required parameter "start_timestamp" was null or undefined when calling equityHistoryPnl().'
|
|
847
|
-
);
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
if (requestParameters['end_timestamp'] == null) {
|
|
818
|
+
async faucetRaw(requestParameters: FaucetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ResultCode>> {
|
|
819
|
+
if (requestParameters['l1_address'] == null) {
|
|
851
820
|
throw new runtime.RequiredError(
|
|
852
|
-
'
|
|
853
|
-
'Required parameter "
|
|
821
|
+
'l1_address',
|
|
822
|
+
'Required parameter "l1_address" was null or undefined when calling faucet().'
|
|
854
823
|
);
|
|
855
824
|
}
|
|
856
825
|
|
|
857
|
-
if (requestParameters['
|
|
826
|
+
if (requestParameters['do_l1_transfer'] == null) {
|
|
858
827
|
throw new runtime.RequiredError(
|
|
859
|
-
'
|
|
860
|
-
'Required parameter "
|
|
828
|
+
'do_l1_transfer',
|
|
829
|
+
'Required parameter "do_l1_transfer" was null or undefined when calling faucet().'
|
|
861
830
|
);
|
|
862
831
|
}
|
|
863
832
|
|
|
864
833
|
const queryParameters: any = {};
|
|
865
834
|
|
|
866
|
-
if (requestParameters['
|
|
867
|
-
queryParameters['
|
|
868
|
-
}
|
|
869
|
-
|
|
870
|
-
if (requestParameters['value'] != null) {
|
|
871
|
-
queryParameters['value'] = requestParameters['value'];
|
|
872
|
-
}
|
|
873
|
-
|
|
874
|
-
if (requestParameters['resolution'] != null) {
|
|
875
|
-
queryParameters['resolution'] = requestParameters['resolution'];
|
|
876
|
-
}
|
|
877
|
-
|
|
878
|
-
if (requestParameters['start_timestamp'] != null) {
|
|
879
|
-
queryParameters['start_timestamp'] = requestParameters['start_timestamp'];
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
if (requestParameters['end_timestamp'] != null) {
|
|
883
|
-
queryParameters['end_timestamp'] = requestParameters['end_timestamp'];
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
if (requestParameters['count_back'] != null) {
|
|
887
|
-
queryParameters['count_back'] = requestParameters['count_back'];
|
|
835
|
+
if (requestParameters['l1_address'] != null) {
|
|
836
|
+
queryParameters['l1_address'] = requestParameters['l1_address'];
|
|
888
837
|
}
|
|
889
838
|
|
|
890
|
-
if (requestParameters['
|
|
891
|
-
queryParameters['
|
|
839
|
+
if (requestParameters['do_l1_transfer'] != null) {
|
|
840
|
+
queryParameters['do_l1_transfer'] = requestParameters['do_l1_transfer'];
|
|
892
841
|
}
|
|
893
842
|
|
|
894
843
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
895
844
|
|
|
896
845
|
const response = await this.request({
|
|
897
|
-
path: `/api/v1/
|
|
846
|
+
path: `/api/v1/faucet`,
|
|
898
847
|
method: 'GET',
|
|
899
848
|
headers: headerParameters,
|
|
900
849
|
query: queryParameters,
|
|
901
850
|
}, initOverrides);
|
|
902
851
|
|
|
903
|
-
return new runtime.JSONApiResponse(response, (jsonValue) =>
|
|
852
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => ResultCodeFromJSON(jsonValue));
|
|
904
853
|
}
|
|
905
854
|
|
|
906
855
|
/**
|
|
907
|
-
*
|
|
908
|
-
*
|
|
856
|
+
* Request funds from faucet
|
|
857
|
+
* faucet
|
|
909
858
|
*/
|
|
910
|
-
async
|
|
911
|
-
const response = await this.
|
|
859
|
+
async faucet(requestParameters: FaucetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ResultCode> {
|
|
860
|
+
const response = await this.faucetRaw(requestParameters, initOverrides);
|
|
912
861
|
return await response.value();
|
|
913
862
|
}
|
|
914
863
|
|
|
915
864
|
/**
|
|
916
|
-
*
|
|
917
|
-
*
|
|
865
|
+
* Get fee tiers. filter=perps|spot returns the regular user tiers (both market types share them). filter=bo returns BO volume tiers and LIT staking discount tiers; filter=all returns everything. An account\'s BO multiplier is the BO tier fee_rate times the staking fee_rate, applied to each BO market\'s maker/taker fee (see /api/v1/events) and then scaled by 1 - trade_price / settlement_cap.
|
|
866
|
+
* feeTiers
|
|
918
867
|
*/
|
|
919
|
-
async
|
|
920
|
-
if (requestParameters['l1_address'] == null) {
|
|
921
|
-
throw new runtime.RequiredError(
|
|
922
|
-
'l1_address',
|
|
923
|
-
'Required parameter "l1_address" was null or undefined when calling faucet().'
|
|
924
|
-
);
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
if (requestParameters['do_l1_transfer'] == null) {
|
|
928
|
-
throw new runtime.RequiredError(
|
|
929
|
-
'do_l1_transfer',
|
|
930
|
-
'Required parameter "do_l1_transfer" was null or undefined when calling faucet().'
|
|
931
|
-
);
|
|
932
|
-
}
|
|
933
|
-
|
|
868
|
+
async feeTiersRaw(requestParameters: FeeTiersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FeeTiers>> {
|
|
934
869
|
const queryParameters: any = {};
|
|
935
870
|
|
|
936
|
-
if (requestParameters['
|
|
937
|
-
queryParameters['
|
|
938
|
-
}
|
|
939
|
-
|
|
940
|
-
if (requestParameters['do_l1_transfer'] != null) {
|
|
941
|
-
queryParameters['do_l1_transfer'] = requestParameters['do_l1_transfer'];
|
|
871
|
+
if (requestParameters['filter'] != null) {
|
|
872
|
+
queryParameters['filter'] = requestParameters['filter'];
|
|
942
873
|
}
|
|
943
874
|
|
|
944
875
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
945
876
|
|
|
946
877
|
const response = await this.request({
|
|
947
|
-
path: `/api/v1/
|
|
878
|
+
path: `/api/v1/feeTiers`,
|
|
948
879
|
method: 'GET',
|
|
949
880
|
headers: headerParameters,
|
|
950
881
|
query: queryParameters,
|
|
951
882
|
}, initOverrides);
|
|
952
883
|
|
|
953
|
-
return new runtime.JSONApiResponse(response, (jsonValue) =>
|
|
884
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => FeeTiersFromJSON(jsonValue));
|
|
954
885
|
}
|
|
955
886
|
|
|
956
887
|
/**
|
|
957
|
-
*
|
|
958
|
-
*
|
|
888
|
+
* Get fee tiers. filter=perps|spot returns the regular user tiers (both market types share them). filter=bo returns BO volume tiers and LIT staking discount tiers; filter=all returns everything. An account\'s BO multiplier is the BO tier fee_rate times the staking fee_rate, applied to each BO market\'s maker/taker fee (see /api/v1/events) and then scaled by 1 - trade_price / settlement_cap.
|
|
889
|
+
* feeTiers
|
|
959
890
|
*/
|
|
960
|
-
async
|
|
961
|
-
const response = await this.
|
|
891
|
+
async feeTiers(requestParameters: FeeTiersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FeeTiers> {
|
|
892
|
+
const response = await this.feeTiersRaw(requestParameters, initOverrides);
|
|
962
893
|
return await response.value();
|
|
963
894
|
}
|
|
964
895
|
|
|
@@ -2489,22 +2420,13 @@ export type AccountMetadataByEnum = typeof AccountMetadataByEnum[keyof typeof Ac
|
|
|
2489
2420
|
/**
|
|
2490
2421
|
* @export
|
|
2491
2422
|
*/
|
|
2492
|
-
export const
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
* @export
|
|
2498
|
-
*/
|
|
2499
|
-
export const EquityHistoryPnlResolutionEnum = {
|
|
2500
|
-
_1m: '1m',
|
|
2501
|
-
_5m: '5m',
|
|
2502
|
-
_15m: '15m',
|
|
2503
|
-
_1h: '1h',
|
|
2504
|
-
_4h: '4h',
|
|
2505
|
-
_1d: '1d'
|
|
2423
|
+
export const FeeTiersFilterEnum = {
|
|
2424
|
+
All: 'all',
|
|
2425
|
+
Bo: 'bo',
|
|
2426
|
+
Perps: 'perps',
|
|
2427
|
+
Spot: 'spot'
|
|
2506
2428
|
} as const;
|
|
2507
|
-
export type
|
|
2429
|
+
export type FeeTiersFilterEnum = typeof FeeTiersFilterEnum[keyof typeof FeeTiersFilterEnum];
|
|
2508
2430
|
/**
|
|
2509
2431
|
* @export
|
|
2510
2432
|
*/
|
package/models/AccountLimits.ts
CHANGED
|
@@ -61,6 +61,18 @@ export interface AccountLimits {
|
|
|
61
61
|
* @memberof AccountLimits
|
|
62
62
|
*/
|
|
63
63
|
user_tier_name: string;
|
|
64
|
+
/**
|
|
65
|
+
*
|
|
66
|
+
* @type {string}
|
|
67
|
+
* @memberof AccountLimits
|
|
68
|
+
*/
|
|
69
|
+
bo_user_tier_name: string;
|
|
70
|
+
/**
|
|
71
|
+
* Product of the staking and BO volume multipliers; 0.72 means a 28% discount.
|
|
72
|
+
* @type {number}
|
|
73
|
+
* @memberof AccountLimits
|
|
74
|
+
*/
|
|
75
|
+
bo_fee_rate: number;
|
|
64
76
|
/**
|
|
65
77
|
*
|
|
66
78
|
* @type {number}
|
|
@@ -103,6 +115,8 @@ export function instanceOfAccountLimits(value: object): value is AccountLimits {
|
|
|
103
115
|
if (!('user_tier' in value) || value['user_tier'] === undefined) return false;
|
|
104
116
|
if (!('can_create_public_pool' in value) || value['can_create_public_pool'] === undefined) return false;
|
|
105
117
|
if (!('user_tier_name' in value) || value['user_tier_name'] === undefined) return false;
|
|
118
|
+
if (!('bo_user_tier_name' in value) || value['bo_user_tier_name'] === undefined) return false;
|
|
119
|
+
if (!('bo_fee_rate' in value) || value['bo_fee_rate'] === undefined) return false;
|
|
106
120
|
if (!('current_maker_fee_tick' in value) || value['current_maker_fee_tick'] === undefined) return false;
|
|
107
121
|
if (!('current_taker_fee_tick' in value) || value['current_taker_fee_tick'] === undefined) return false;
|
|
108
122
|
if (!('leased_lit' in value) || value['leased_lit'] === undefined) return false;
|
|
@@ -127,6 +141,8 @@ export function AccountLimitsFromJSONTyped(json: any, ignoreDiscriminator: boole
|
|
|
127
141
|
'user_tier': json['user_tier'],
|
|
128
142
|
'can_create_public_pool': json['can_create_public_pool'],
|
|
129
143
|
'user_tier_name': json['user_tier_name'],
|
|
144
|
+
'bo_user_tier_name': json['bo_user_tier_name'],
|
|
145
|
+
'bo_fee_rate': json['bo_fee_rate'],
|
|
130
146
|
'current_maker_fee_tick': json['current_maker_fee_tick'],
|
|
131
147
|
'current_taker_fee_tick': json['current_taker_fee_tick'],
|
|
132
148
|
'leased_lit': json['leased_lit'],
|
|
@@ -148,6 +164,8 @@ export function AccountLimitsToJSON(value?: AccountLimits | null): any {
|
|
|
148
164
|
'user_tier': value['user_tier'],
|
|
149
165
|
'can_create_public_pool': value['can_create_public_pool'],
|
|
150
166
|
'user_tier_name': value['user_tier_name'],
|
|
167
|
+
'bo_user_tier_name': value['bo_user_tier_name'],
|
|
168
|
+
'bo_fee_rate': value['bo_fee_rate'],
|
|
151
169
|
'current_maker_fee_tick': value['current_maker_fee_tick'],
|
|
152
170
|
'current_taker_fee_tick': value['current_taker_fee_tick'],
|
|
153
171
|
'leased_lit': value['leased_lit'],
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document:
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface BoFeeTier
|
|
20
|
+
*/
|
|
21
|
+
export interface BoFeeTier {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof BoFeeTier
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof BoFeeTier
|
|
32
|
+
*/
|
|
33
|
+
required_volume: number;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof BoFeeTier
|
|
38
|
+
*/
|
|
39
|
+
fee_rate: number;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Check if a given object implements the BoFeeTier interface.
|
|
44
|
+
*/
|
|
45
|
+
export function instanceOfBoFeeTier(value: object): value is BoFeeTier {
|
|
46
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
47
|
+
if (!('required_volume' in value) || value['required_volume'] === undefined) return false;
|
|
48
|
+
if (!('fee_rate' in value) || value['fee_rate'] === undefined) return false;
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function BoFeeTierFromJSON(json: any): BoFeeTier {
|
|
53
|
+
return BoFeeTierFromJSONTyped(json, false);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function BoFeeTierFromJSONTyped(json: any, ignoreDiscriminator: boolean): BoFeeTier {
|
|
57
|
+
if (json == null) {
|
|
58
|
+
return json;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
|
|
62
|
+
'name': json['name'],
|
|
63
|
+
'required_volume': json['required_volume'],
|
|
64
|
+
'fee_rate': json['fee_rate'],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function BoFeeTierToJSON(value?: BoFeeTier | null): any {
|
|
69
|
+
if (value == null) {
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
|
|
74
|
+
'name': value['name'],
|
|
75
|
+
'required_volume': value['required_volume'],
|
|
76
|
+
'fee_rate': value['fee_rate'],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document:
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
import type { BoFeeTier } from './BoFeeTier';
|
|
17
|
+
import {
|
|
18
|
+
BoFeeTierFromJSON,
|
|
19
|
+
BoFeeTierFromJSONTyped,
|
|
20
|
+
BoFeeTierToJSON,
|
|
21
|
+
} from './BoFeeTier';
|
|
22
|
+
import type { StakingFeeTier } from './StakingFeeTier';
|
|
23
|
+
import {
|
|
24
|
+
StakingFeeTierFromJSON,
|
|
25
|
+
StakingFeeTierFromJSONTyped,
|
|
26
|
+
StakingFeeTierToJSON,
|
|
27
|
+
} from './StakingFeeTier';
|
|
28
|
+
import type { UserFeeTier } from './UserFeeTier';
|
|
29
|
+
import {
|
|
30
|
+
UserFeeTierFromJSON,
|
|
31
|
+
UserFeeTierFromJSONTyped,
|
|
32
|
+
UserFeeTierToJSON,
|
|
33
|
+
} from './UserFeeTier';
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @export
|
|
38
|
+
* @interface FeeTiers
|
|
39
|
+
*/
|
|
40
|
+
export interface FeeTiers {
|
|
41
|
+
/**
|
|
42
|
+
*
|
|
43
|
+
* @type {Array<UserFeeTier>}
|
|
44
|
+
* @memberof FeeTiers
|
|
45
|
+
*/
|
|
46
|
+
user_tiers: Array<UserFeeTier>;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @type {Array<BoFeeTier>}
|
|
50
|
+
* @memberof FeeTiers
|
|
51
|
+
*/
|
|
52
|
+
bo_tiers: Array<BoFeeTier>;
|
|
53
|
+
/**
|
|
54
|
+
*
|
|
55
|
+
* @type {Array<StakingFeeTier>}
|
|
56
|
+
* @memberof FeeTiers
|
|
57
|
+
*/
|
|
58
|
+
staking_tiers: Array<StakingFeeTier>;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Check if a given object implements the FeeTiers interface.
|
|
63
|
+
*/
|
|
64
|
+
export function instanceOfFeeTiers(value: object): value is FeeTiers {
|
|
65
|
+
if (!('user_tiers' in value) || value['user_tiers'] === undefined) return false;
|
|
66
|
+
if (!('bo_tiers' in value) || value['bo_tiers'] === undefined) return false;
|
|
67
|
+
if (!('staking_tiers' in value) || value['staking_tiers'] === undefined) return false;
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function FeeTiersFromJSON(json: any): FeeTiers {
|
|
72
|
+
return FeeTiersFromJSONTyped(json, false);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function FeeTiersFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeeTiers {
|
|
76
|
+
if (json == null) {
|
|
77
|
+
return json;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
|
|
81
|
+
'user_tiers': ((json['user_tiers'] as Array<any>).map(UserFeeTierFromJSON)),
|
|
82
|
+
'bo_tiers': ((json['bo_tiers'] as Array<any>).map(BoFeeTierFromJSON)),
|
|
83
|
+
'staking_tiers': ((json['staking_tiers'] as Array<any>).map(StakingFeeTierFromJSON)),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function FeeTiersToJSON(value?: FeeTiers | null): any {
|
|
88
|
+
if (value == null) {
|
|
89
|
+
return value;
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
|
|
93
|
+
'user_tiers': ((value['user_tiers'] as Array<any>).map(UserFeeTierToJSON)),
|
|
94
|
+
'bo_tiers': ((value['bo_tiers'] as Array<any>).map(BoFeeTierToJSON)),
|
|
95
|
+
'staking_tiers': ((value['staking_tiers'] as Array<any>).map(StakingFeeTierToJSON)),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document:
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface ReqGetFeeTiers
|
|
20
|
+
*/
|
|
21
|
+
export interface ReqGetFeeTiers {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof ReqGetFeeTiers
|
|
26
|
+
*/
|
|
27
|
+
filter?: ReqGetFeeTiersFilterEnum;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @export
|
|
33
|
+
*/
|
|
34
|
+
export const ReqGetFeeTiersFilterEnum = {
|
|
35
|
+
All: 'all',
|
|
36
|
+
Bo: 'bo',
|
|
37
|
+
Perps: 'perps',
|
|
38
|
+
Spot: 'spot'
|
|
39
|
+
} as const;
|
|
40
|
+
export type ReqGetFeeTiersFilterEnum = typeof ReqGetFeeTiersFilterEnum[keyof typeof ReqGetFeeTiersFilterEnum];
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Check if a given object implements the ReqGetFeeTiers interface.
|
|
45
|
+
*/
|
|
46
|
+
export function instanceOfReqGetFeeTiers(value: object): value is ReqGetFeeTiers {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function ReqGetFeeTiersFromJSON(json: any): ReqGetFeeTiers {
|
|
51
|
+
return ReqGetFeeTiersFromJSONTyped(json, false);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function ReqGetFeeTiersFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReqGetFeeTiers {
|
|
55
|
+
if (json == null) {
|
|
56
|
+
return json;
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
|
|
60
|
+
'filter': json['filter'] == null ? undefined : json['filter'],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function ReqGetFeeTiersToJSON(value?: ReqGetFeeTiers | null): any {
|
|
65
|
+
if (value == null) {
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
|
|
70
|
+
'filter': value['filter'],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document:
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface StakingFeeTier
|
|
20
|
+
*/
|
|
21
|
+
export interface StakingFeeTier {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof StakingFeeTier
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof StakingFeeTier
|
|
32
|
+
*/
|
|
33
|
+
required_lit_stakes: number;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof StakingFeeTier
|
|
38
|
+
*/
|
|
39
|
+
fee_rate: number;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Check if a given object implements the StakingFeeTier interface.
|
|
44
|
+
*/
|
|
45
|
+
export function instanceOfStakingFeeTier(value: object): value is StakingFeeTier {
|
|
46
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
47
|
+
if (!('required_lit_stakes' in value) || value['required_lit_stakes'] === undefined) return false;
|
|
48
|
+
if (!('fee_rate' in value) || value['fee_rate'] === undefined) return false;
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function StakingFeeTierFromJSON(json: any): StakingFeeTier {
|
|
53
|
+
return StakingFeeTierFromJSONTyped(json, false);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function StakingFeeTierFromJSONTyped(json: any, ignoreDiscriminator: boolean): StakingFeeTier {
|
|
57
|
+
if (json == null) {
|
|
58
|
+
return json;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
|
|
62
|
+
'name': json['name'],
|
|
63
|
+
'required_lit_stakes': json['required_lit_stakes'],
|
|
64
|
+
'fee_rate': json['fee_rate'],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function StakingFeeTierToJSON(value?: StakingFeeTier | null): any {
|
|
69
|
+
if (value == null) {
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
|
|
74
|
+
'name': value['name'],
|
|
75
|
+
'required_lit_stakes': value['required_lit_stakes'],
|
|
76
|
+
'fee_rate': value['fee_rate'],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document:
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface UserFeeTier
|
|
20
|
+
*/
|
|
21
|
+
export interface UserFeeTier {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof UserFeeTier
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof UserFeeTier
|
|
32
|
+
*/
|
|
33
|
+
level: number;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof UserFeeTier
|
|
38
|
+
*/
|
|
39
|
+
maker_fee_ticks: number;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {number}
|
|
43
|
+
* @memberof UserFeeTier
|
|
44
|
+
*/
|
|
45
|
+
taker_fee_ticks: number;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @type {number}
|
|
49
|
+
* @memberof UserFeeTier
|
|
50
|
+
*/
|
|
51
|
+
required_lit_stakes: number;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @type {number}
|
|
55
|
+
* @memberof UserFeeTier
|
|
56
|
+
*/
|
|
57
|
+
required_volume: number;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Check if a given object implements the UserFeeTier interface.
|
|
62
|
+
*/
|
|
63
|
+
export function instanceOfUserFeeTier(value: object): value is UserFeeTier {
|
|
64
|
+
if (!('name' in value) || value['name'] === undefined) return false;
|
|
65
|
+
if (!('level' in value) || value['level'] === undefined) return false;
|
|
66
|
+
if (!('maker_fee_ticks' in value) || value['maker_fee_ticks'] === undefined) return false;
|
|
67
|
+
if (!('taker_fee_ticks' in value) || value['taker_fee_ticks'] === undefined) return false;
|
|
68
|
+
if (!('required_lit_stakes' in value) || value['required_lit_stakes'] === undefined) return false;
|
|
69
|
+
if (!('required_volume' in value) || value['required_volume'] === undefined) return false;
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function UserFeeTierFromJSON(json: any): UserFeeTier {
|
|
74
|
+
return UserFeeTierFromJSONTyped(json, false);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function UserFeeTierFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserFeeTier {
|
|
78
|
+
if (json == null) {
|
|
79
|
+
return json;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
|
|
83
|
+
'name': json['name'],
|
|
84
|
+
'level': json['level'],
|
|
85
|
+
'maker_fee_ticks': json['maker_fee_ticks'],
|
|
86
|
+
'taker_fee_ticks': json['taker_fee_ticks'],
|
|
87
|
+
'required_lit_stakes': json['required_lit_stakes'],
|
|
88
|
+
'required_volume': json['required_volume'],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function UserFeeTierToJSON(value?: UserFeeTier | null): any {
|
|
93
|
+
if (value == null) {
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
|
|
98
|
+
'name': value['name'],
|
|
99
|
+
'level': value['level'],
|
|
100
|
+
'maker_fee_ticks': value['maker_fee_ticks'],
|
|
101
|
+
'taker_fee_ticks': value['taker_fee_ticks'],
|
|
102
|
+
'required_lit_stakes': value['required_lit_stakes'],
|
|
103
|
+
'required_volume': value['required_volume'],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
package/models/index.ts
CHANGED
|
@@ -32,6 +32,7 @@ export * from './BinaryOptionMarketStats';
|
|
|
32
32
|
export * from './Block';
|
|
33
33
|
export * from './Blocks';
|
|
34
34
|
export * from './BoEventPnL';
|
|
35
|
+
export * from './BoFeeTier';
|
|
35
36
|
export * from './BoOutcomePnL';
|
|
36
37
|
export * from './Bridge';
|
|
37
38
|
export * from './BridgeSupportedNetwork';
|
|
@@ -58,6 +59,7 @@ export * from './ExchangeMetric';
|
|
|
58
59
|
export * from './ExchangeStats';
|
|
59
60
|
export * from './ExecuteStat';
|
|
60
61
|
export * from './ExportData';
|
|
62
|
+
export * from './FeeTiers';
|
|
61
63
|
export * from './Funding';
|
|
62
64
|
export * from './FundingRate';
|
|
63
65
|
export * from './FundingRates';
|
|
@@ -168,6 +170,7 @@ export * from './ReqGetEvents';
|
|
|
168
170
|
export * from './ReqGetExchangeMetrics';
|
|
169
171
|
export * from './ReqGetExecuteStats';
|
|
170
172
|
export * from './ReqGetFastWithdrawInfo';
|
|
173
|
+
export * from './ReqGetFeeTiers';
|
|
171
174
|
export * from './ReqGetFundings';
|
|
172
175
|
export * from './ReqGetGeckoOrderbook';
|
|
173
176
|
export * from './ReqGetGuild';
|
|
@@ -280,6 +283,7 @@ export * from './SlippageResult';
|
|
|
280
283
|
export * from './SpotAvgEntryPrice';
|
|
281
284
|
export * from './SpotMarketStats';
|
|
282
285
|
export * from './SpotOrderBookDetail';
|
|
286
|
+
export * from './StakingFeeTier';
|
|
283
287
|
export * from './Status';
|
|
284
288
|
export * from './StockBalanceSheet';
|
|
285
289
|
export * from './StockCashFlowStatement';
|
|
@@ -324,6 +328,7 @@ export * from './UpDownCandle';
|
|
|
324
328
|
export * from './UpDownPrice';
|
|
325
329
|
export * from './UpcomingEarning';
|
|
326
330
|
export * from './UpcomingEarnings';
|
|
331
|
+
export * from './UserFeeTier';
|
|
327
332
|
export * from './UserReferrals';
|
|
328
333
|
export * from './ValidatorInfo';
|
|
329
334
|
export * from './WithdrawHistory';
|
package/openapi.json
CHANGED
|
@@ -316,7 +316,7 @@
|
|
|
316
316
|
"consumes": [
|
|
317
317
|
"multipart/form-data"
|
|
318
318
|
],
|
|
319
|
-
"description": "Get account limits"
|
|
319
|
+
"description": "Get account limits. bo_fee_rate is the account-wide BO multiplier: staking multiplier times BO volume multiplier (0.8 * 0.9 = 0.72, a 28% discount). Apply it to the market maker/taker fees, then scale by 1 - trade_price / settlement_cap. If no staking discount tiers are configured, legacy BO tier selection remains."
|
|
320
320
|
}
|
|
321
321
|
},
|
|
322
322
|
"/api/v1/accountMetadata": {
|
|
@@ -1544,97 +1544,6 @@
|
|
|
1544
1544
|
"description": "Get deposit supporting networks"
|
|
1545
1545
|
}
|
|
1546
1546
|
},
|
|
1547
|
-
"/api/v1/equity_history/pnl": {
|
|
1548
|
-
"get": {
|
|
1549
|
-
"summary": "equity_history_pnl",
|
|
1550
|
-
"operationId": "equity_history_pnl",
|
|
1551
|
-
"responses": {
|
|
1552
|
-
"200": {
|
|
1553
|
-
"description": "A successful response.",
|
|
1554
|
-
"schema": {
|
|
1555
|
-
"$ref": "#/definitions/AccountPnL"
|
|
1556
|
-
}
|
|
1557
|
-
},
|
|
1558
|
-
"400": {
|
|
1559
|
-
"description": "Bad request",
|
|
1560
|
-
"schema": {
|
|
1561
|
-
"$ref": "#/definitions/ResultCode"
|
|
1562
|
-
}
|
|
1563
|
-
}
|
|
1564
|
-
},
|
|
1565
|
-
"parameters": [
|
|
1566
|
-
{
|
|
1567
|
-
"name": "by",
|
|
1568
|
-
"in": "query",
|
|
1569
|
-
"required": true,
|
|
1570
|
-
"type": "string",
|
|
1571
|
-
"enum": [
|
|
1572
|
-
"index"
|
|
1573
|
-
]
|
|
1574
|
-
},
|
|
1575
|
-
{
|
|
1576
|
-
"name": "value",
|
|
1577
|
-
"in": "query",
|
|
1578
|
-
"required": true,
|
|
1579
|
-
"type": "string"
|
|
1580
|
-
},
|
|
1581
|
-
{
|
|
1582
|
-
"name": "resolution",
|
|
1583
|
-
"in": "query",
|
|
1584
|
-
"required": true,
|
|
1585
|
-
"type": "string",
|
|
1586
|
-
"enum": [
|
|
1587
|
-
"1m",
|
|
1588
|
-
"5m",
|
|
1589
|
-
"15m",
|
|
1590
|
-
"1h",
|
|
1591
|
-
"4h",
|
|
1592
|
-
"1d"
|
|
1593
|
-
]
|
|
1594
|
-
},
|
|
1595
|
-
{
|
|
1596
|
-
"name": "start_timestamp",
|
|
1597
|
-
"in": "query",
|
|
1598
|
-
"required": true,
|
|
1599
|
-
"type": "integer",
|
|
1600
|
-
"format": "int64",
|
|
1601
|
-
"minimum": 0,
|
|
1602
|
-
"maximum": 5000000000000
|
|
1603
|
-
},
|
|
1604
|
-
{
|
|
1605
|
-
"name": "end_timestamp",
|
|
1606
|
-
"in": "query",
|
|
1607
|
-
"required": true,
|
|
1608
|
-
"type": "integer",
|
|
1609
|
-
"format": "int64",
|
|
1610
|
-
"minimum": 0,
|
|
1611
|
-
"maximum": 5000000000000
|
|
1612
|
-
},
|
|
1613
|
-
{
|
|
1614
|
-
"name": "count_back",
|
|
1615
|
-
"in": "query",
|
|
1616
|
-
"required": true,
|
|
1617
|
-
"type": "integer",
|
|
1618
|
-
"format": "int64"
|
|
1619
|
-
},
|
|
1620
|
-
{
|
|
1621
|
-
"name": "ignore_transfers",
|
|
1622
|
-
"in": "query",
|
|
1623
|
-
"required": false,
|
|
1624
|
-
"type": "boolean",
|
|
1625
|
-
"format": "boolean",
|
|
1626
|
-
"default": "false"
|
|
1627
|
-
}
|
|
1628
|
-
],
|
|
1629
|
-
"tags": [
|
|
1630
|
-
"account"
|
|
1631
|
-
],
|
|
1632
|
-
"consumes": [
|
|
1633
|
-
"multipart/form-data"
|
|
1634
|
-
],
|
|
1635
|
-
"description": "Shadow account PnL chart computed from equity_history"
|
|
1636
|
-
}
|
|
1637
|
-
},
|
|
1638
1547
|
"/api/v1/event/create": {
|
|
1639
1548
|
"post": {
|
|
1640
1549
|
"summary": "event_create",
|
|
@@ -2392,6 +2301,48 @@
|
|
|
2392
2301
|
"description": "Request funds from faucet"
|
|
2393
2302
|
}
|
|
2394
2303
|
},
|
|
2304
|
+
"/api/v1/feeTiers": {
|
|
2305
|
+
"get": {
|
|
2306
|
+
"summary": "feeTiers",
|
|
2307
|
+
"operationId": "feeTiers",
|
|
2308
|
+
"responses": {
|
|
2309
|
+
"200": {
|
|
2310
|
+
"description": "A successful response.",
|
|
2311
|
+
"schema": {
|
|
2312
|
+
"$ref": "#/definitions/FeeTiers"
|
|
2313
|
+
}
|
|
2314
|
+
},
|
|
2315
|
+
"400": {
|
|
2316
|
+
"description": "Bad request",
|
|
2317
|
+
"schema": {
|
|
2318
|
+
"$ref": "#/definitions/ResultCode"
|
|
2319
|
+
}
|
|
2320
|
+
}
|
|
2321
|
+
},
|
|
2322
|
+
"parameters": [
|
|
2323
|
+
{
|
|
2324
|
+
"name": "filter",
|
|
2325
|
+
"in": "query",
|
|
2326
|
+
"required": false,
|
|
2327
|
+
"type": "string",
|
|
2328
|
+
"enum": [
|
|
2329
|
+
"all",
|
|
2330
|
+
"bo",
|
|
2331
|
+
"perps",
|
|
2332
|
+
"spot"
|
|
2333
|
+
],
|
|
2334
|
+
"default": "all"
|
|
2335
|
+
}
|
|
2336
|
+
],
|
|
2337
|
+
"tags": [
|
|
2338
|
+
"account"
|
|
2339
|
+
],
|
|
2340
|
+
"consumes": [
|
|
2341
|
+
"multipart/form-data"
|
|
2342
|
+
],
|
|
2343
|
+
"description": "Get fee tiers. filter=perps|spot returns the regular user tiers (both market types share them). filter=bo returns BO volume tiers and LIT staking discount tiers; filter=all returns everything. An account's BO multiplier is the BO tier fee_rate times the staking fee_rate, applied to each BO market's maker/taker fee (see /api/v1/events) and then scaled by 1 - trade_price / settlement_cap."
|
|
2344
|
+
}
|
|
2345
|
+
},
|
|
2395
2346
|
"/api/v1/funding-rates": {
|
|
2396
2347
|
"get": {
|
|
2397
2348
|
"summary": "funding-rates",
|
|
@@ -7597,6 +7548,16 @@
|
|
|
7597
7548
|
"type": "string",
|
|
7598
7549
|
"example": "standard"
|
|
7599
7550
|
},
|
|
7551
|
+
"bo_user_tier_name": {
|
|
7552
|
+
"type": "string",
|
|
7553
|
+
"example": "bo_standard"
|
|
7554
|
+
},
|
|
7555
|
+
"bo_fee_rate": {
|
|
7556
|
+
"type": "number",
|
|
7557
|
+
"format": "double",
|
|
7558
|
+
"example": "0.72",
|
|
7559
|
+
"description": " Product of the staking and BO volume multipliers; 0.72 means a 28% discount."
|
|
7560
|
+
},
|
|
7600
7561
|
"current_maker_fee_tick": {
|
|
7601
7562
|
"type": "integer",
|
|
7602
7563
|
"format": "int32",
|
|
@@ -7626,6 +7587,8 @@
|
|
|
7626
7587
|
"user_tier",
|
|
7627
7588
|
"can_create_public_pool",
|
|
7628
7589
|
"user_tier_name",
|
|
7590
|
+
"bo_user_tier_name",
|
|
7591
|
+
"bo_fee_rate",
|
|
7629
7592
|
"current_maker_fee_tick",
|
|
7630
7593
|
"current_taker_fee_tick",
|
|
7631
7594
|
"leased_lit",
|
|
@@ -8862,6 +8825,31 @@
|
|
|
8862
8825
|
"outcomes"
|
|
8863
8826
|
]
|
|
8864
8827
|
},
|
|
8828
|
+
"BoFeeTier": {
|
|
8829
|
+
"type": "object",
|
|
8830
|
+
"properties": {
|
|
8831
|
+
"name": {
|
|
8832
|
+
"type": "string",
|
|
8833
|
+
"example": "level1"
|
|
8834
|
+
},
|
|
8835
|
+
"required_volume": {
|
|
8836
|
+
"type": "integer",
|
|
8837
|
+
"format": "int64",
|
|
8838
|
+
"example": "5000000"
|
|
8839
|
+
},
|
|
8840
|
+
"fee_rate": {
|
|
8841
|
+
"type": "number",
|
|
8842
|
+
"format": "double",
|
|
8843
|
+
"example": "0.9"
|
|
8844
|
+
}
|
|
8845
|
+
},
|
|
8846
|
+
"title": "BoFeeTier",
|
|
8847
|
+
"required": [
|
|
8848
|
+
"name",
|
|
8849
|
+
"required_volume",
|
|
8850
|
+
"fee_rate"
|
|
8851
|
+
]
|
|
8852
|
+
},
|
|
8865
8853
|
"BoOutcomePnL": {
|
|
8866
8854
|
"type": "object",
|
|
8867
8855
|
"properties": {
|
|
@@ -10395,6 +10383,35 @@
|
|
|
10395
10383
|
"data_url"
|
|
10396
10384
|
]
|
|
10397
10385
|
},
|
|
10386
|
+
"FeeTiers": {
|
|
10387
|
+
"type": "object",
|
|
10388
|
+
"properties": {
|
|
10389
|
+
"user_tiers": {
|
|
10390
|
+
"type": "array",
|
|
10391
|
+
"items": {
|
|
10392
|
+
"$ref": "#/definitions/UserFeeTier"
|
|
10393
|
+
}
|
|
10394
|
+
},
|
|
10395
|
+
"bo_tiers": {
|
|
10396
|
+
"type": "array",
|
|
10397
|
+
"items": {
|
|
10398
|
+
"$ref": "#/definitions/BoFeeTier"
|
|
10399
|
+
}
|
|
10400
|
+
},
|
|
10401
|
+
"staking_tiers": {
|
|
10402
|
+
"type": "array",
|
|
10403
|
+
"items": {
|
|
10404
|
+
"$ref": "#/definitions/StakingFeeTier"
|
|
10405
|
+
}
|
|
10406
|
+
}
|
|
10407
|
+
},
|
|
10408
|
+
"title": "FeeTiers",
|
|
10409
|
+
"required": [
|
|
10410
|
+
"user_tiers",
|
|
10411
|
+
"bo_tiers",
|
|
10412
|
+
"staking_tiers"
|
|
10413
|
+
]
|
|
10414
|
+
},
|
|
10398
10415
|
"Funding": {
|
|
10399
10416
|
"type": "object",
|
|
10400
10417
|
"properties": {
|
|
@@ -15832,6 +15849,22 @@
|
|
|
15832
15849
|
"account_index"
|
|
15833
15850
|
]
|
|
15834
15851
|
},
|
|
15852
|
+
"ReqGetFeeTiers": {
|
|
15853
|
+
"type": "object",
|
|
15854
|
+
"properties": {
|
|
15855
|
+
"filter": {
|
|
15856
|
+
"type": "string",
|
|
15857
|
+
"enum": [
|
|
15858
|
+
"all",
|
|
15859
|
+
"bo",
|
|
15860
|
+
"perps",
|
|
15861
|
+
"spot"
|
|
15862
|
+
],
|
|
15863
|
+
"default": "all"
|
|
15864
|
+
}
|
|
15865
|
+
},
|
|
15866
|
+
"title": "ReqGetFeeTiers"
|
|
15867
|
+
},
|
|
15835
15868
|
"ReqGetFundings": {
|
|
15836
15869
|
"type": "object",
|
|
15837
15870
|
"properties": {
|
|
@@ -20046,6 +20079,31 @@
|
|
|
20046
20079
|
"daily_chart"
|
|
20047
20080
|
]
|
|
20048
20081
|
},
|
|
20082
|
+
"StakingFeeTier": {
|
|
20083
|
+
"type": "object",
|
|
20084
|
+
"properties": {
|
|
20085
|
+
"name": {
|
|
20086
|
+
"type": "string",
|
|
20087
|
+
"example": "level1"
|
|
20088
|
+
},
|
|
20089
|
+
"required_lit_stakes": {
|
|
20090
|
+
"type": "integer",
|
|
20091
|
+
"format": "int64",
|
|
20092
|
+
"example": "10"
|
|
20093
|
+
},
|
|
20094
|
+
"fee_rate": {
|
|
20095
|
+
"type": "number",
|
|
20096
|
+
"format": "double",
|
|
20097
|
+
"example": "0.95"
|
|
20098
|
+
}
|
|
20099
|
+
},
|
|
20100
|
+
"title": "StakingFeeTier",
|
|
20101
|
+
"required": [
|
|
20102
|
+
"name",
|
|
20103
|
+
"required_lit_stakes",
|
|
20104
|
+
"fee_rate"
|
|
20105
|
+
]
|
|
20106
|
+
},
|
|
20049
20107
|
"Status": {
|
|
20050
20108
|
"type": "object",
|
|
20051
20109
|
"properties": {
|
|
@@ -21961,6 +22019,49 @@
|
|
|
21961
22019
|
"upcoming_earnings"
|
|
21962
22020
|
]
|
|
21963
22021
|
},
|
|
22022
|
+
"UserFeeTier": {
|
|
22023
|
+
"type": "object",
|
|
22024
|
+
"properties": {
|
|
22025
|
+
"name": {
|
|
22026
|
+
"type": "string",
|
|
22027
|
+
"example": "premium_1"
|
|
22028
|
+
},
|
|
22029
|
+
"level": {
|
|
22030
|
+
"type": "integer",
|
|
22031
|
+
"format": "int32",
|
|
22032
|
+
"example": "2"
|
|
22033
|
+
},
|
|
22034
|
+
"maker_fee_ticks": {
|
|
22035
|
+
"type": "integer",
|
|
22036
|
+
"format": "int32",
|
|
22037
|
+
"example": "0"
|
|
22038
|
+
},
|
|
22039
|
+
"taker_fee_ticks": {
|
|
22040
|
+
"type": "integer",
|
|
22041
|
+
"format": "int32",
|
|
22042
|
+
"example": "0"
|
|
22043
|
+
},
|
|
22044
|
+
"required_lit_stakes": {
|
|
22045
|
+
"type": "integer",
|
|
22046
|
+
"format": "int64",
|
|
22047
|
+
"example": "1000"
|
|
22048
|
+
},
|
|
22049
|
+
"required_volume": {
|
|
22050
|
+
"type": "integer",
|
|
22051
|
+
"format": "int64",
|
|
22052
|
+
"example": "0"
|
|
22053
|
+
}
|
|
22054
|
+
},
|
|
22055
|
+
"title": "UserFeeTier",
|
|
22056
|
+
"required": [
|
|
22057
|
+
"name",
|
|
22058
|
+
"level",
|
|
22059
|
+
"maker_fee_ticks",
|
|
22060
|
+
"taker_fee_ticks",
|
|
22061
|
+
"required_lit_stakes",
|
|
22062
|
+
"required_volume"
|
|
22063
|
+
]
|
|
22064
|
+
},
|
|
21964
22065
|
"UserReferrals": {
|
|
21965
22066
|
"type": "object",
|
|
21966
22067
|
"properties": {
|