zklighter-perps 1.0.102 → 1.0.104

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.
@@ -13,8 +13,7 @@ jobs:
13
13
  - run:
14
14
  name: Clone zklighter-perps repository
15
15
  command: |
16
- git clone https://${GITHUB_TOKEN}@github.com/elliottech/zklighter-perps.git
17
- git checkout << pipeline.parameters.BE_BRANCH >>
16
+ git clone -b << pipeline.parameters.BE_BRANCH >> --depth 1 https://${GITHUB_TOKEN}@github.com/elliottech/zklighter-perps.git
18
17
 
19
18
  - run:
20
19
  name: Download goctl-swagger binary
@@ -129,7 +128,9 @@ jobs:
129
128
  git commit -m "Update SDK"
130
129
  git push origin $BRANCH_NAME
131
130
 
132
- PR_URL=$(curl -X POST -H "Authorization: Bearer ${GITHUB_TOKEN}" -d '{"title": "Update SDK", "head": "'$BRANCH_NAME'", "base": "main"}' https://api.github.com/repos/elliottech/zklighter-perps-ts/pulls | jq -r '.html_url')
131
+ BE_BRANCH=<< pipeline.parameters.BE_BRANCH >>
132
+
133
+ PR_URL=$(curl -X POST -H "Authorization: Bearer ${GITHUB_TOKEN}" -d '{"title": "'$BE_BRANCH'", "head": "'$BRANCH_NAME'", "base": "main"}' https://api.github.com/repos/elliottech/zklighter-perps-ts/pulls | jq -r '.html_url')
133
134
  curl -X POST -H 'Content-type: application/json' --data '{"text":"TypeScript SDK has been updated. Check the PR here: '$PR_URL'", "type": "mrkdwn"}' ${SLACK_URL}
134
135
 
135
136
  update_npm_package:
@@ -3,6 +3,7 @@ apis/AnnouncementApi.ts
3
3
  apis/BlockApi.ts
4
4
  apis/BridgeApi.ts
5
5
  apis/CandlestickApi.ts
6
+ apis/FundingApi.ts
6
7
  apis/InfoApi.ts
7
8
  apis/NotificationApi.ts
8
9
  apis/OrderApi.ts
@@ -33,6 +34,7 @@ models/ContractAddress.ts
33
34
  models/CreateIntentAddressResp.ts
34
35
  models/CurrentHeight.ts
35
36
  models/Cursor.ts
37
+ models/DailyReturn.ts
36
38
  models/Deposit.ts
37
39
  models/DepositHistory.ts
38
40
  models/DepositHistoryItem.ts
@@ -43,6 +45,8 @@ models/EnrichedTx.ts
43
45
  models/ExchangeStats.ts
44
46
  models/FeeBucket.ts
45
47
  models/Funding.ts
48
+ models/FundingRate.ts
49
+ models/FundingRates.ts
46
50
  models/Fundings.ts
47
51
  models/IsWhitelisted.ts
48
52
  models/L1ProviderInfo.ts
@@ -63,6 +67,7 @@ models/OrderBooks.ts
63
67
  models/Orders.ts
64
68
  models/PnLEntry.ts
65
69
  models/PositionFunding.ts
70
+ models/PositionFundings.ts
66
71
  models/PriceLevel.ts
67
72
  models/PublicPool.ts
68
73
  models/PublicPoolInfo.ts
@@ -95,6 +100,7 @@ models/ReqGetNextNonce.ts
95
100
  models/ReqGetOrderBookDetails.ts
96
101
  models/ReqGetOrderBookOrders.ts
97
102
  models/ReqGetOrderBooks.ts
103
+ models/ReqGetPositionFunding.ts
98
104
  models/ReqGetPublicPools.ts
99
105
  models/ReqGetRangeWithCursor.ts
100
106
  models/ReqGetRangeWithIndex.ts
@@ -109,7 +115,6 @@ models/ReqIsWhitelisted.ts
109
115
  models/RespGetFastBridgeInfo.ts
110
116
  models/RespGetFastwithdrawalInfo.ts
111
117
  models/ResultCode.ts
112
- models/Return.ts
113
118
  models/SimpleOrder.ts
114
119
  models/Status.ts
115
120
  models/SubAccounts.ts
@@ -22,6 +22,7 @@ import type {
22
22
  FeeBucket,
23
23
  IsWhitelisted,
24
24
  Leaderboard,
25
+ PositionFundings,
25
26
  PublicPools,
26
27
  ResultCode,
27
28
  SubAccounts,
@@ -41,6 +42,8 @@ import {
41
42
  IsWhitelistedToJSON,
42
43
  LeaderboardFromJSON,
43
44
  LeaderboardToJSON,
45
+ PositionFundingsFromJSON,
46
+ PositionFundingsToJSON,
44
47
  PublicPoolsFromJSON,
45
48
  PublicPoolsToJSON,
46
49
  ResultCodeFromJSON,
@@ -96,6 +99,13 @@ export interface PnlRequest {
96
99
  ignore_transfers?: boolean;
97
100
  }
98
101
 
102
+ export interface PositionFundingRequest {
103
+ account_index: number;
104
+ limit: number;
105
+ market_id?: number;
106
+ cursor?: string;
107
+ }
108
+
99
109
  export interface PublicPoolsRequest {
100
110
  index: number;
101
111
  limit: number;
@@ -545,6 +555,64 @@ export class AccountApi extends runtime.BaseAPI {
545
555
  return await response.value();
546
556
  }
547
557
 
558
+ /**
559
+ * Get accounts position fundings
560
+ * positionFunding
561
+ */
562
+ async positionFundingRaw(requestParameters: PositionFundingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PositionFundings>> {
563
+ if (requestParameters['account_index'] == null) {
564
+ throw new runtime.RequiredError(
565
+ 'account_index',
566
+ 'Required parameter "account_index" was null or undefined when calling positionFunding().'
567
+ );
568
+ }
569
+
570
+ if (requestParameters['limit'] == null) {
571
+ throw new runtime.RequiredError(
572
+ 'limit',
573
+ 'Required parameter "limit" was null or undefined when calling positionFunding().'
574
+ );
575
+ }
576
+
577
+ const queryParameters: any = {};
578
+
579
+ if (requestParameters['account_index'] != null) {
580
+ queryParameters['account_index'] = requestParameters['account_index'];
581
+ }
582
+
583
+ if (requestParameters['market_id'] != null) {
584
+ queryParameters['market_id'] = requestParameters['market_id'];
585
+ }
586
+
587
+ if (requestParameters['cursor'] != null) {
588
+ queryParameters['cursor'] = requestParameters['cursor'];
589
+ }
590
+
591
+ if (requestParameters['limit'] != null) {
592
+ queryParameters['limit'] = requestParameters['limit'];
593
+ }
594
+
595
+ const headerParameters: runtime.HTTPHeaders = {};
596
+
597
+ const response = await this.request({
598
+ path: `/api/v1/positionFunding`,
599
+ method: 'GET',
600
+ headers: headerParameters,
601
+ query: queryParameters,
602
+ }, initOverrides);
603
+
604
+ return new runtime.JSONApiResponse(response, (jsonValue) => PositionFundingsFromJSON(jsonValue));
605
+ }
606
+
607
+ /**
608
+ * Get accounts position fundings
609
+ * positionFunding
610
+ */
611
+ async positionFunding(requestParameters: PositionFundingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PositionFundings> {
612
+ const response = await this.positionFundingRaw(requestParameters, initOverrides);
613
+ return await response.value();
614
+ }
615
+
548
616
  /**
549
617
  * Get public pools
550
618
  * publicPools
@@ -0,0 +1,61 @@
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
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ FundingRates,
19
+ ResultCode,
20
+ } from '../models/index';
21
+ import {
22
+ FundingRatesFromJSON,
23
+ FundingRatesToJSON,
24
+ ResultCodeFromJSON,
25
+ ResultCodeToJSON,
26
+ } from '../models/index';
27
+
28
+ /**
29
+ *
30
+ */
31
+ export class FundingApi extends runtime.BaseAPI {
32
+
33
+ /**
34
+ * Get funding rates
35
+ * funding-rates
36
+ */
37
+ async fundingRatesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FundingRates>> {
38
+ const queryParameters: any = {};
39
+
40
+ const headerParameters: runtime.HTTPHeaders = {};
41
+
42
+ const response = await this.request({
43
+ path: `/api/v1/funding-rates`,
44
+ method: 'GET',
45
+ headers: headerParameters,
46
+ query: queryParameters,
47
+ }, initOverrides);
48
+
49
+ return new runtime.JSONApiResponse(response, (jsonValue) => FundingRatesFromJSON(jsonValue));
50
+ }
51
+
52
+ /**
53
+ * Get funding rates
54
+ * funding-rates
55
+ */
56
+ async fundingRates(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FundingRates> {
57
+ const response = await this.fundingRatesRaw(initOverrides);
58
+ return await response.value();
59
+ }
60
+
61
+ }
package/apis/index.ts CHANGED
@@ -5,6 +5,7 @@ export * from './AnnouncementApi';
5
5
  export * from './BlockApi';
6
6
  export * from './BridgeApi';
7
7
  export * from './CandlestickApi';
8
+ export * from './FundingApi';
8
9
  export * from './InfoApi';
9
10
  export * from './NotificationApi';
10
11
  export * from './OrderApi';
@@ -0,0 +1,70 @@
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 DailyReturn
20
+ */
21
+ export interface DailyReturn {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof DailyReturn
26
+ */
27
+ timestamp: number;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof DailyReturn
32
+ */
33
+ daily_return: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the DailyReturn interface.
38
+ */
39
+ export function instanceOfDailyReturn(value: object): value is DailyReturn {
40
+ if (!('timestamp' in value) || value['timestamp'] === undefined) return false;
41
+ if (!('daily_return' in value) || value['daily_return'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function DailyReturnFromJSON(json: any): DailyReturn {
46
+ return DailyReturnFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function DailyReturnFromJSONTyped(json: any, ignoreDiscriminator: boolean): DailyReturn {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'timestamp': json['timestamp'],
56
+ 'daily_return': json['daily_return'],
57
+ };
58
+ }
59
+
60
+ export function DailyReturnToJSON(value?: DailyReturn | null): any {
61
+ if (value == null) {
62
+ return value;
63
+ }
64
+ return {
65
+
66
+ 'timestamp': value['timestamp'],
67
+ 'daily_return': value['daily_return'],
68
+ };
69
+ }
70
+
@@ -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 FundingRate
20
+ */
21
+ export interface FundingRate {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof FundingRate
26
+ */
27
+ exchange: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof FundingRate
32
+ */
33
+ symbol: string;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof FundingRate
38
+ */
39
+ rate: number;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the FundingRate interface.
44
+ */
45
+ export function instanceOfFundingRate(value: object): value is FundingRate {
46
+ if (!('exchange' in value) || value['exchange'] === undefined) return false;
47
+ if (!('symbol' in value) || value['symbol'] === undefined) return false;
48
+ if (!('rate' in value) || value['rate'] === undefined) return false;
49
+ return true;
50
+ }
51
+
52
+ export function FundingRateFromJSON(json: any): FundingRate {
53
+ return FundingRateFromJSONTyped(json, false);
54
+ }
55
+
56
+ export function FundingRateFromJSONTyped(json: any, ignoreDiscriminator: boolean): FundingRate {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+
62
+ 'exchange': json['exchange'],
63
+ 'symbol': json['symbol'],
64
+ 'rate': json['rate'],
65
+ };
66
+ }
67
+
68
+ export function FundingRateToJSON(value?: FundingRate | null): any {
69
+ if (value == null) {
70
+ return value;
71
+ }
72
+ return {
73
+
74
+ 'exchange': value['exchange'],
75
+ 'symbol': value['symbol'],
76
+ 'rate': value['rate'],
77
+ };
78
+ }
79
+
@@ -0,0 +1,85 @@
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 { FundingRate } from './FundingRate';
17
+ import {
18
+ FundingRateFromJSON,
19
+ FundingRateFromJSONTyped,
20
+ FundingRateToJSON,
21
+ } from './FundingRate';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface FundingRates
27
+ */
28
+ export interface FundingRates {
29
+ /**
30
+ *
31
+ * @type {number}
32
+ * @memberof FundingRates
33
+ */
34
+ code: number;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof FundingRates
39
+ */
40
+ message?: string;
41
+ /**
42
+ *
43
+ * @type {Array<FundingRate>}
44
+ * @memberof FundingRates
45
+ */
46
+ funding_rates: Array<FundingRate>;
47
+ }
48
+
49
+ /**
50
+ * Check if a given object implements the FundingRates interface.
51
+ */
52
+ export function instanceOfFundingRates(value: object): value is FundingRates {
53
+ if (!('code' in value) || value['code'] === undefined) return false;
54
+ if (!('funding_rates' in value) || value['funding_rates'] === undefined) return false;
55
+ return true;
56
+ }
57
+
58
+ export function FundingRatesFromJSON(json: any): FundingRates {
59
+ return FundingRatesFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function FundingRatesFromJSONTyped(json: any, ignoreDiscriminator: boolean): FundingRates {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'code': json['code'],
69
+ 'message': json['message'] == null ? undefined : json['message'],
70
+ 'funding_rates': ((json['funding_rates'] as Array<any>).map(FundingRateFromJSON)),
71
+ };
72
+ }
73
+
74
+ export function FundingRatesToJSON(value?: FundingRates | null): any {
75
+ if (value == null) {
76
+ return value;
77
+ }
78
+ return {
79
+
80
+ 'code': value['code'],
81
+ 'message': value['message'],
82
+ 'funding_rates': ((value['funding_rates'] as Array<any>).map(FundingRateToJSON)),
83
+ };
84
+ }
85
+
@@ -0,0 +1,93 @@
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 { PositionFunding } from './PositionFunding';
17
+ import {
18
+ PositionFundingFromJSON,
19
+ PositionFundingFromJSONTyped,
20
+ PositionFundingToJSON,
21
+ } from './PositionFunding';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface PositionFundings
27
+ */
28
+ export interface PositionFundings {
29
+ /**
30
+ *
31
+ * @type {number}
32
+ * @memberof PositionFundings
33
+ */
34
+ code: number;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof PositionFundings
39
+ */
40
+ message?: string;
41
+ /**
42
+ *
43
+ * @type {Array<PositionFunding>}
44
+ * @memberof PositionFundings
45
+ */
46
+ position_fundings: Array<PositionFunding>;
47
+ /**
48
+ *
49
+ * @type {string}
50
+ * @memberof PositionFundings
51
+ */
52
+ next_cursor?: string;
53
+ }
54
+
55
+ /**
56
+ * Check if a given object implements the PositionFundings interface.
57
+ */
58
+ export function instanceOfPositionFundings(value: object): value is PositionFundings {
59
+ if (!('code' in value) || value['code'] === undefined) return false;
60
+ if (!('position_fundings' in value) || value['position_fundings'] === undefined) return false;
61
+ return true;
62
+ }
63
+
64
+ export function PositionFundingsFromJSON(json: any): PositionFundings {
65
+ return PositionFundingsFromJSONTyped(json, false);
66
+ }
67
+
68
+ export function PositionFundingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PositionFundings {
69
+ if (json == null) {
70
+ return json;
71
+ }
72
+ return {
73
+
74
+ 'code': json['code'],
75
+ 'message': json['message'] == null ? undefined : json['message'],
76
+ 'position_fundings': ((json['position_fundings'] as Array<any>).map(PositionFundingFromJSON)),
77
+ 'next_cursor': json['next_cursor'] == null ? undefined : json['next_cursor'],
78
+ };
79
+ }
80
+
81
+ export function PositionFundingsToJSON(value?: PositionFundings | null): any {
82
+ if (value == null) {
83
+ return value;
84
+ }
85
+ return {
86
+
87
+ 'code': value['code'],
88
+ 'message': value['message'],
89
+ 'position_fundings': ((value['position_fundings'] as Array<any>).map(PositionFundingToJSON)),
90
+ 'next_cursor': value['next_cursor'],
91
+ };
92
+ }
93
+
@@ -13,12 +13,12 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
- import type { Return } from './Return';
16
+ import type { DailyReturn } from './DailyReturn';
17
17
  import {
18
- ReturnFromJSON,
19
- ReturnFromJSONTyped,
20
- ReturnToJSON,
21
- } from './Return';
18
+ DailyReturnFromJSON,
19
+ DailyReturnFromJSONTyped,
20
+ DailyReturnToJSON,
21
+ } from './DailyReturn';
22
22
 
23
23
  /**
24
24
  *
@@ -82,10 +82,10 @@ export interface PublicPoolInfo {
82
82
  annual_percentage_yield: number;
83
83
  /**
84
84
  *
85
- * @type {Array<Return>}
85
+ * @type {Array<DailyReturn>}
86
86
  * @memberof PublicPoolInfo
87
87
  */
88
- returns: Array<Return>;
88
+ daily_returns: Array<DailyReturn>;
89
89
  }
90
90
 
91
91
  /**
@@ -101,7 +101,7 @@ export function instanceOfPublicPoolInfo(value: object): value is PublicPoolInfo
101
101
  if (!('share_price_7d' in value) || value['share_price_7d'] === undefined) return false;
102
102
  if (!('share_price_30d' in value) || value['share_price_30d'] === undefined) return false;
103
103
  if (!('annual_percentage_yield' in value) || value['annual_percentage_yield'] === undefined) return false;
104
- if (!('returns' in value) || value['returns'] === undefined) return false;
104
+ if (!('daily_returns' in value) || value['daily_returns'] === undefined) return false;
105
105
  return true;
106
106
  }
107
107
 
@@ -124,7 +124,7 @@ export function PublicPoolInfoFromJSONTyped(json: any, ignoreDiscriminator: bool
124
124
  'share_price_7d': json['share_price_7d'],
125
125
  'share_price_30d': json['share_price_30d'],
126
126
  'annual_percentage_yield': json['annual_percentage_yield'],
127
- 'returns': ((json['returns'] as Array<any>).map(ReturnFromJSON)),
127
+ 'daily_returns': ((json['daily_returns'] as Array<any>).map(DailyReturnFromJSON)),
128
128
  };
129
129
  }
130
130
 
@@ -143,7 +143,7 @@ export function PublicPoolInfoToJSON(value?: PublicPoolInfo | null): any {
143
143
  'share_price_7d': value['share_price_7d'],
144
144
  'share_price_30d': value['share_price_30d'],
145
145
  'annual_percentage_yield': value['annual_percentage_yield'],
146
- 'returns': ((value['returns'] as Array<any>).map(ReturnToJSON)),
146
+ 'daily_returns': ((value['daily_returns'] as Array<any>).map(DailyReturnToJSON)),
147
147
  };
148
148
  }
149
149
 
@@ -0,0 +1,86 @@
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 ReqGetPositionFunding
20
+ */
21
+ export interface ReqGetPositionFunding {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof ReqGetPositionFunding
26
+ */
27
+ account_index: number;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof ReqGetPositionFunding
32
+ */
33
+ market_id?: number;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof ReqGetPositionFunding
38
+ */
39
+ cursor?: string;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof ReqGetPositionFunding
44
+ */
45
+ limit: number;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the ReqGetPositionFunding interface.
50
+ */
51
+ export function instanceOfReqGetPositionFunding(value: object): value is ReqGetPositionFunding {
52
+ if (!('account_index' in value) || value['account_index'] === undefined) return false;
53
+ if (!('limit' in value) || value['limit'] === undefined) return false;
54
+ return true;
55
+ }
56
+
57
+ export function ReqGetPositionFundingFromJSON(json: any): ReqGetPositionFunding {
58
+ return ReqGetPositionFundingFromJSONTyped(json, false);
59
+ }
60
+
61
+ export function ReqGetPositionFundingFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReqGetPositionFunding {
62
+ if (json == null) {
63
+ return json;
64
+ }
65
+ return {
66
+
67
+ 'account_index': json['account_index'],
68
+ 'market_id': json['market_id'] == null ? undefined : json['market_id'],
69
+ 'cursor': json['cursor'] == null ? undefined : json['cursor'],
70
+ 'limit': json['limit'],
71
+ };
72
+ }
73
+
74
+ export function ReqGetPositionFundingToJSON(value?: ReqGetPositionFunding | null): any {
75
+ if (value == null) {
76
+ return value;
77
+ }
78
+ return {
79
+
80
+ 'account_index': value['account_index'],
81
+ 'market_id': value['market_id'],
82
+ 'cursor': value['cursor'],
83
+ 'limit': value['limit'],
84
+ };
85
+ }
86
+
package/models/index.ts CHANGED
@@ -22,6 +22,7 @@ export * from './ContractAddress';
22
22
  export * from './CreateIntentAddressResp';
23
23
  export * from './CurrentHeight';
24
24
  export * from './Cursor';
25
+ export * from './DailyReturn';
25
26
  export * from './Deposit';
26
27
  export * from './DepositHistory';
27
28
  export * from './DepositHistoryItem';
@@ -32,6 +33,8 @@ export * from './EnrichedTx';
32
33
  export * from './ExchangeStats';
33
34
  export * from './FeeBucket';
34
35
  export * from './Funding';
36
+ export * from './FundingRate';
37
+ export * from './FundingRates';
35
38
  export * from './Fundings';
36
39
  export * from './IsWhitelisted';
37
40
  export * from './L1ProviderInfo';
@@ -52,6 +55,7 @@ export * from './OrderBooks';
52
55
  export * from './Orders';
53
56
  export * from './PnLEntry';
54
57
  export * from './PositionFunding';
58
+ export * from './PositionFundings';
55
59
  export * from './PriceLevel';
56
60
  export * from './PublicPool';
57
61
  export * from './PublicPoolInfo';
@@ -84,6 +88,7 @@ export * from './ReqGetNextNonce';
84
88
  export * from './ReqGetOrderBookDetails';
85
89
  export * from './ReqGetOrderBookOrders';
86
90
  export * from './ReqGetOrderBooks';
91
+ export * from './ReqGetPositionFunding';
87
92
  export * from './ReqGetPublicPools';
88
93
  export * from './ReqGetRangeWithCursor';
89
94
  export * from './ReqGetRangeWithIndex';
@@ -98,7 +103,6 @@ export * from './ReqIsWhitelisted';
98
103
  export * from './RespGetFastBridgeInfo';
99
104
  export * from './RespGetFastwithdrawalInfo';
100
105
  export * from './ResultCode';
101
- export * from './Return';
102
106
  export * from './SimpleOrder';
103
107
  export * from './Status';
104
108
  export * from './SubAccounts';
package/openapi.json CHANGED
@@ -1161,6 +1161,30 @@
1161
1161
  "description": "Get account fee bucket"
1162
1162
  }
1163
1163
  },
1164
+ "/api/v1/funding-rates": {
1165
+ "get": {
1166
+ "summary": "funding-rates",
1167
+ "operationId": "funding-rates",
1168
+ "responses": {
1169
+ "200": {
1170
+ "description": "A successful response.",
1171
+ "schema": {
1172
+ "$ref": "#/definitions/FundingRates"
1173
+ }
1174
+ },
1175
+ "400": {
1176
+ "description": "Bad request",
1177
+ "schema": {
1178
+ "$ref": "#/definitions/ResultCode"
1179
+ }
1180
+ }
1181
+ },
1182
+ "tags": [
1183
+ "funding"
1184
+ ],
1185
+ "description": "Get funding rates"
1186
+ }
1187
+ },
1164
1188
  "/api/v1/fundings": {
1165
1189
  "get": {
1166
1190
  "summary": "fundings",
@@ -1686,6 +1710,65 @@
1686
1710
  "description": "Get account PnL chart"
1687
1711
  }
1688
1712
  },
1713
+ "/api/v1/positionFunding": {
1714
+ "get": {
1715
+ "summary": "positionFunding",
1716
+ "operationId": "positionFunding",
1717
+ "responses": {
1718
+ "200": {
1719
+ "description": "A successful response.",
1720
+ "schema": {
1721
+ "$ref": "#/definitions/PositionFundings"
1722
+ }
1723
+ },
1724
+ "400": {
1725
+ "description": "Bad request",
1726
+ "schema": {
1727
+ "$ref": "#/definitions/ResultCode"
1728
+ }
1729
+ }
1730
+ },
1731
+ "parameters": [
1732
+ {
1733
+ "name": "account_index",
1734
+ "in": "query",
1735
+ "required": true,
1736
+ "type": "integer",
1737
+ "format": "int64"
1738
+ },
1739
+ {
1740
+ "name": "market_id",
1741
+ "in": "query",
1742
+ "required": false,
1743
+ "type": "integer",
1744
+ "format": "uint8",
1745
+ "default": "255"
1746
+ },
1747
+ {
1748
+ "name": "cursor",
1749
+ "in": "query",
1750
+ "required": false,
1751
+ "type": "string"
1752
+ },
1753
+ {
1754
+ "name": "limit",
1755
+ "in": "query",
1756
+ "required": true,
1757
+ "type": "integer",
1758
+ "format": "int64",
1759
+ "minimum": 1,
1760
+ "maximum": 100
1761
+ }
1762
+ ],
1763
+ "tags": [
1764
+ "account"
1765
+ ],
1766
+ "consumes": [
1767
+ "multipart/form-data"
1768
+ ],
1769
+ "description": "Get accounts position fundings"
1770
+ }
1771
+ },
1689
1772
  "/api/v1/publicPools": {
1690
1773
  "get": {
1691
1774
  "summary": "publicPools",
@@ -3172,6 +3255,26 @@
3172
3255
  },
3173
3256
  "title": "Cursor"
3174
3257
  },
3258
+ "DailyReturn": {
3259
+ "type": "object",
3260
+ "properties": {
3261
+ "timestamp": {
3262
+ "type": "integer",
3263
+ "format": "int64",
3264
+ "example": "1640995200"
3265
+ },
3266
+ "daily_return": {
3267
+ "type": "number",
3268
+ "format": "double",
3269
+ "example": "0.0001"
3270
+ }
3271
+ },
3272
+ "title": "DailyReturn",
3273
+ "required": [
3274
+ "timestamp",
3275
+ "daily_return"
3276
+ ]
3277
+ },
3175
3278
  "Deposit": {
3176
3279
  "type": "object",
3177
3280
  "properties": {
@@ -3733,6 +3836,51 @@
3733
3836
  "direction"
3734
3837
  ]
3735
3838
  },
3839
+ "FundingRate": {
3840
+ "type": "object",
3841
+ "properties": {
3842
+ "exchange": {
3843
+ "type": "string"
3844
+ },
3845
+ "symbol": {
3846
+ "type": "string"
3847
+ },
3848
+ "rate": {
3849
+ "type": "number",
3850
+ "format": "double"
3851
+ }
3852
+ },
3853
+ "title": "FundingRate",
3854
+ "required": [
3855
+ "exchange",
3856
+ "symbol",
3857
+ "rate"
3858
+ ]
3859
+ },
3860
+ "FundingRates": {
3861
+ "type": "object",
3862
+ "properties": {
3863
+ "code": {
3864
+ "type": "integer",
3865
+ "format": "int32",
3866
+ "example": "200"
3867
+ },
3868
+ "message": {
3869
+ "type": "string"
3870
+ },
3871
+ "funding_rates": {
3872
+ "type": "array",
3873
+ "items": {
3874
+ "$ref": "#/definitions/FundingRate"
3875
+ }
3876
+ }
3877
+ },
3878
+ "title": "FundingRates",
3879
+ "required": [
3880
+ "code",
3881
+ "funding_rates"
3882
+ ]
3883
+ },
3736
3884
  "Fundings": {
3737
3885
  "type": "object",
3738
3886
  "properties": {
@@ -4773,6 +4921,33 @@
4773
4921
  "position_side"
4774
4922
  ]
4775
4923
  },
4924
+ "PositionFundings": {
4925
+ "type": "object",
4926
+ "properties": {
4927
+ "code": {
4928
+ "type": "integer",
4929
+ "format": "int32",
4930
+ "example": "200"
4931
+ },
4932
+ "message": {
4933
+ "type": "string"
4934
+ },
4935
+ "position_fundings": {
4936
+ "type": "array",
4937
+ "items": {
4938
+ "$ref": "#/definitions/PositionFunding"
4939
+ }
4940
+ },
4941
+ "next_cursor": {
4942
+ "type": "string"
4943
+ }
4944
+ },
4945
+ "title": "PositionFundings",
4946
+ "required": [
4947
+ "code",
4948
+ "position_fundings"
4949
+ ]
4950
+ },
4776
4951
  "PriceLevel": {
4777
4952
  "type": "object",
4778
4953
  "properties": {
@@ -4934,10 +5109,10 @@
4934
5109
  "format": "double",
4935
5110
  "example": "20.5000"
4936
5111
  },
4937
- "returns": {
5112
+ "daily_returns": {
4938
5113
  "type": "array",
4939
5114
  "items": {
4940
- "$ref": "#/definitions/Return"
5115
+ "$ref": "#/definitions/DailyReturn"
4941
5116
  }
4942
5117
  }
4943
5118
  },
@@ -4952,7 +5127,7 @@
4952
5127
  "share_price_7d",
4953
5128
  "share_price_30d",
4954
5129
  "annual_percentage_yield",
4955
- "returns"
5130
+ "daily_returns"
4956
5131
  ]
4957
5132
  },
4958
5133
  "PublicPoolShare": {
@@ -5769,6 +5944,34 @@
5769
5944
  },
5770
5945
  "title": "ReqGetOrderBooks"
5771
5946
  },
5947
+ "ReqGetPositionFunding": {
5948
+ "type": "object",
5949
+ "properties": {
5950
+ "account_index": {
5951
+ "type": "integer",
5952
+ "format": "int64"
5953
+ },
5954
+ "market_id": {
5955
+ "type": "integer",
5956
+ "format": "uint8",
5957
+ "default": "255"
5958
+ },
5959
+ "cursor": {
5960
+ "type": "string"
5961
+ },
5962
+ "limit": {
5963
+ "type": "integer",
5964
+ "format": "int64",
5965
+ "maximum": 100,
5966
+ "minimum": 1
5967
+ }
5968
+ },
5969
+ "title": "ReqGetPositionFunding",
5970
+ "required": [
5971
+ "account_index",
5972
+ "limit"
5973
+ ]
5974
+ },
5772
5975
  "ReqGetPublicPools": {
5773
5976
  "type": "object",
5774
5977
  "properties": {
@@ -6191,26 +6394,6 @@
6191
6394
  "code"
6192
6395
  ]
6193
6396
  },
6194
- "Return": {
6195
- "type": "object",
6196
- "properties": {
6197
- "timestamp": {
6198
- "type": "integer",
6199
- "format": "int64",
6200
- "example": "1640995200"
6201
- },
6202
- "return": {
6203
- "type": "number",
6204
- "format": "double",
6205
- "example": "0.0001"
6206
- }
6207
- },
6208
- "title": "Return",
6209
- "required": [
6210
- "timestamp",
6211
- "return"
6212
- ]
6213
- },
6214
6397
  "SimpleOrder": {
6215
6398
  "type": "object",
6216
6399
  "properties": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zklighter-perps",
3
- "version": "1.0.102",
3
+ "version": "1.0.104",
4
4
  "description": "zkLighter Perps SDK",
5
5
  "main": "index.ts",
6
6
  "directories": {