zo-sdk 0.0.4 → 0.0.5

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.
Files changed (46) hide show
  1. package/.gitattributes +4 -0
  2. package/.prettierrc.js +5 -0
  3. package/babel.config.js +11 -0
  4. package/dist/api.cjs +466 -0
  5. package/dist/api.d.cts +26 -0
  6. package/dist/api.d.cts.map +1 -0
  7. package/dist/api.d.mts +26 -0
  8. package/dist/api.d.mts.map +1 -0
  9. package/dist/api.mjs +462 -0
  10. package/dist/consts/deployments-mainnet.json +28 -0
  11. package/dist/consts/deployments-testnet.json +93 -0
  12. package/dist/consts/index.cjs +101 -0
  13. package/dist/consts/index.d.cts +66 -0
  14. package/dist/consts/index.d.cts.map +1 -0
  15. package/dist/consts/index.d.mts +66 -0
  16. package/dist/consts/index.d.mts.map +1 -0
  17. package/dist/consts/index.mjs +94 -0
  18. package/dist/consts/price_id_to_object_id.mainnet.json +1 -0
  19. package/dist/consts/price_id_to_object_id.testnet.json +17 -0
  20. package/dist/consts/staking/deployments-mainnet.json +12 -0
  21. package/dist/consts/staking/deployments-testnet.json +11 -0
  22. package/dist/data.cjs +844 -0
  23. package/dist/data.d.cts +221 -0
  24. package/dist/data.d.cts.map +1 -0
  25. package/dist/data.d.mts +221 -0
  26. package/dist/data.d.mts.map +1 -0
  27. package/dist/data.mjs +840 -0
  28. package/dist/index.cjs +21 -0
  29. package/dist/index.d.cts +6 -0
  30. package/dist/index.d.cts.map +1 -0
  31. package/dist/index.d.mts +6 -0
  32. package/dist/index.d.mts.map +1 -0
  33. package/dist/index.mjs +5 -0
  34. package/dist/oracle.cjs +178 -0
  35. package/dist/oracle.d.cts +24 -0
  36. package/dist/oracle.d.cts.map +1 -0
  37. package/dist/oracle.d.mts +24 -0
  38. package/dist/oracle.d.mts.map +1 -0
  39. package/dist/oracle.mjs +173 -0
  40. package/dist/utils.cjs +144 -0
  41. package/dist/utils.d.cts +46 -0
  42. package/dist/utils.d.cts.map +1 -0
  43. package/dist/utils.d.mts +46 -0
  44. package/dist/utils.d.mts.map +1 -0
  45. package/dist/utils.mjs +129 -0
  46. package/package.json +3 -2
@@ -0,0 +1,221 @@
1
+ import type { SuiClient } from "@mysten/sui/client";
2
+ import type { Transaction } from "@mysten/sui/transactions";
3
+ import type { Network } from "./consts/index.cjs";
4
+ import { OracleAPI } from "./oracle.cjs";
5
+ export interface IMarketInfo {
6
+ lpSupply: string;
7
+ positionId: string;
8
+ vaultId: string;
9
+ symbolId: string;
10
+ referralId: string;
11
+ orderId: string;
12
+ rebaseFeeModel: string;
13
+ lpSupplyWithDecimals: number;
14
+ }
15
+ export interface IRebaseFeeModel {
16
+ base: number;
17
+ multiplier: number;
18
+ }
19
+ export interface IReservingFeeModel {
20
+ multiplier: number;
21
+ }
22
+ export interface IFundingFeeModel {
23
+ multiplier: number;
24
+ max: number;
25
+ }
26
+ export interface IVaultInfo {
27
+ liquidity: number;
28
+ reservedAmount: number;
29
+ unrealisedReservingFeeAmount: number;
30
+ accReservingRate: number;
31
+ enabled: boolean;
32
+ weight: number;
33
+ lastUpdate: number;
34
+ reservingFeeModel: IReservingFeeModel;
35
+ priceConfig: {
36
+ maxInterval: number;
37
+ maxConfidence: number;
38
+ precision: number;
39
+ feeder: string;
40
+ };
41
+ }
42
+ export interface ISymbolInfo {
43
+ openingSize: number;
44
+ openingAmount: number;
45
+ accFundingRate: number;
46
+ realisedPnl: number;
47
+ unrealisedFundingFeeValue: number;
48
+ openEnabled: boolean;
49
+ liquidateEnabled: boolean;
50
+ decreaseEnabled: boolean;
51
+ lastUpdate: number;
52
+ fundingFeeModel: IFundingFeeModel;
53
+ long: boolean;
54
+ priceConfig: {
55
+ maxInterval: number;
56
+ maxConfidence: number;
57
+ precision: number;
58
+ feeder: string;
59
+ };
60
+ }
61
+ export interface IPositionInfo {
62
+ id: string;
63
+ long: boolean;
64
+ owner: string;
65
+ version: number;
66
+ collateralToken: string;
67
+ indexToken: string;
68
+ collateralAmount: number;
69
+ positionAmount: number;
70
+ reservedAmount: number;
71
+ positionSize: number;
72
+ lastFundingRate: number;
73
+ lastReservingRate: number;
74
+ reservingFeeAmount: number;
75
+ fundingFeeValue: number;
76
+ closed: boolean;
77
+ openTimestamp: number;
78
+ }
79
+ export interface IPositionCapInfo {
80
+ positionCapId: string;
81
+ symbol0: string;
82
+ symbol1: string;
83
+ long: boolean;
84
+ }
85
+ export interface IOrderCapInfo {
86
+ orderCapId: string;
87
+ symbol0: string;
88
+ symbol1: string;
89
+ long: boolean;
90
+ positionId: string | null;
91
+ }
92
+ export interface IOrderInfo {
93
+ id: string;
94
+ capId: string;
95
+ executed: boolean;
96
+ owner: string;
97
+ collateralToken: string;
98
+ indexToken: string;
99
+ feeToken: string;
100
+ collateralPriceThreshold: number;
101
+ feeAmount: bigint;
102
+ long: boolean;
103
+ indexPrice: number;
104
+ openOrder?: {
105
+ reserveAmount: bigint;
106
+ collateralAmount: bigint;
107
+ openAmount: bigint;
108
+ };
109
+ decreaseOrder?: {
110
+ decreaseAmount: bigint;
111
+ takeProfit: boolean;
112
+ };
113
+ orderType: 'OPEN_POSITION' | 'DECREASE_POSITION';
114
+ createdAt: number;
115
+ v11Order: boolean;
116
+ }
117
+ export interface IMarketValuationInfo {
118
+ marketCap: number;
119
+ zlpPrice: number;
120
+ zlpSupply: number;
121
+ apr?: number;
122
+ }
123
+ export interface IPositionConfig {
124
+ decreaseFeeBps: number;
125
+ liquidationBonus: number;
126
+ liquidationThreshold: number;
127
+ maxLeverage: number;
128
+ minHoldingDuration: number;
129
+ openFeeBps: number;
130
+ maxReservedMultiplier: number;
131
+ minCollateralValue: number;
132
+ }
133
+ export interface IHistory {
134
+ owner: string;
135
+ txid: string;
136
+ id: string;
137
+ created: number;
138
+ eventName: string;
139
+ indexToken: string;
140
+ direction: string;
141
+ collateralAmount: number;
142
+ collateralPrice: number;
143
+ indexPrice: number;
144
+ pnl: number;
145
+ positionId: string;
146
+ volume: number;
147
+ fee: number;
148
+ network: string;
149
+ }
150
+ export interface IStaked {
151
+ credentials: ICredential[];
152
+ amount: bigint;
153
+ claimable: bigint;
154
+ }
155
+ export interface ICredential {
156
+ id: string;
157
+ lockUntil: number;
158
+ accRewardPerShare: bigint;
159
+ amount: bigint;
160
+ claimable: bigint;
161
+ }
162
+ export interface IStakePool {
163
+ id: string;
164
+ enabled: boolean;
165
+ lastUpdatedTime: number;
166
+ stakedAmount: bigint;
167
+ reward: bigint;
168
+ startTime: number;
169
+ endTime: number;
170
+ accRewardPerShare: bigint;
171
+ lockDuration: number;
172
+ }
173
+ export declare class DataAPI extends OracleAPI {
174
+ #private;
175
+ provider: SuiClient;
176
+ apiEndpoint: string;
177
+ private vaultInfoCache;
178
+ private symbolInfoCache;
179
+ private marketInfoCache;
180
+ private positionConfigCache;
181
+ private rebaseFeeModelCache;
182
+ private lastUpdate;
183
+ constructor(network: Network, provider: SuiClient | null, apiEndpoint: string, connectionURL: string);
184
+ validateCache: () => void;
185
+ valuateVaults: (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
186
+ valuateSymbols: (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
187
+ valuate: (tx: Transaction) => {
188
+ vaultsValuation: import("@mysten/sui/transactions").TransactionResult;
189
+ symbolsValuation: import("@mysten/sui/transactions").TransactionResult;
190
+ };
191
+ getPastFee(days?: number): Promise<number>;
192
+ valuateMarket(): Promise<IMarketValuationInfo>;
193
+ getMarketInfo(): Promise<IMarketInfo>;
194
+ getVaultInfo(vaultToken: string): Promise<IVaultInfo>;
195
+ getSymbolInfo(indexToken: string, long: boolean): Promise<ISymbolInfo>;
196
+ getPositionConfig(indexToken: string, long: boolean): Promise<IPositionConfig>;
197
+ getPositionCapInfoList(owner: string): Promise<IPositionCapInfo[]>;
198
+ getPositionInfoList(positionCapInfoList: IPositionCapInfo[], owner: string): Promise<IPositionInfo[]>;
199
+ getOrderCapInfoList(owner: string): Promise<{
200
+ orderCapId: string;
201
+ symbol0: string;
202
+ symbol1: string;
203
+ long: boolean;
204
+ positionId: any;
205
+ }[]>;
206
+ getOrderInfoList(orderCapInfoList: IOrderCapInfo[], owner: string): Promise<IOrderInfo[]>;
207
+ getRebaseFeeModel(): Promise<IRebaseFeeModel>;
208
+ fundingFeeRate: (indexToken: string, long: boolean) => Promise<number>;
209
+ rebaseFeeRate: (collateralToken: string, increase: boolean, amount: number) => Promise<number>;
210
+ reservingFeeRate: (collateralToken: string, amount?: number) => Promise<number>;
211
+ getProxiedHistories: (trader: string) => Promise<IHistory[]>;
212
+ getStaked: (owner: string) => Promise<IStaked>;
213
+ getStakePool: () => Promise<IStakePool>;
214
+ getReferralData(referree: string): Promise<any>;
215
+ hasReferral(referree: string): Promise<boolean>;
216
+ getReferreeFromReferrer(referrer: string): Promise<any>;
217
+ getReferreeDetail(referree: string): Promise<any>;
218
+ getReferrerDetail(referrer: string): Promise<any>;
219
+ getReferralTxs(referrer: string): Promise<any>;
220
+ }
221
+ //# sourceMappingURL=data.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.cts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ import type { SuiClient } from "@mysten/sui/client";
2
+ import type { Transaction } from "@mysten/sui/transactions";
3
+ import type { Network } from "./consts/index.mjs";
4
+ import { OracleAPI } from "./oracle.mjs";
5
+ export interface IMarketInfo {
6
+ lpSupply: string;
7
+ positionId: string;
8
+ vaultId: string;
9
+ symbolId: string;
10
+ referralId: string;
11
+ orderId: string;
12
+ rebaseFeeModel: string;
13
+ lpSupplyWithDecimals: number;
14
+ }
15
+ export interface IRebaseFeeModel {
16
+ base: number;
17
+ multiplier: number;
18
+ }
19
+ export interface IReservingFeeModel {
20
+ multiplier: number;
21
+ }
22
+ export interface IFundingFeeModel {
23
+ multiplier: number;
24
+ max: number;
25
+ }
26
+ export interface IVaultInfo {
27
+ liquidity: number;
28
+ reservedAmount: number;
29
+ unrealisedReservingFeeAmount: number;
30
+ accReservingRate: number;
31
+ enabled: boolean;
32
+ weight: number;
33
+ lastUpdate: number;
34
+ reservingFeeModel: IReservingFeeModel;
35
+ priceConfig: {
36
+ maxInterval: number;
37
+ maxConfidence: number;
38
+ precision: number;
39
+ feeder: string;
40
+ };
41
+ }
42
+ export interface ISymbolInfo {
43
+ openingSize: number;
44
+ openingAmount: number;
45
+ accFundingRate: number;
46
+ realisedPnl: number;
47
+ unrealisedFundingFeeValue: number;
48
+ openEnabled: boolean;
49
+ liquidateEnabled: boolean;
50
+ decreaseEnabled: boolean;
51
+ lastUpdate: number;
52
+ fundingFeeModel: IFundingFeeModel;
53
+ long: boolean;
54
+ priceConfig: {
55
+ maxInterval: number;
56
+ maxConfidence: number;
57
+ precision: number;
58
+ feeder: string;
59
+ };
60
+ }
61
+ export interface IPositionInfo {
62
+ id: string;
63
+ long: boolean;
64
+ owner: string;
65
+ version: number;
66
+ collateralToken: string;
67
+ indexToken: string;
68
+ collateralAmount: number;
69
+ positionAmount: number;
70
+ reservedAmount: number;
71
+ positionSize: number;
72
+ lastFundingRate: number;
73
+ lastReservingRate: number;
74
+ reservingFeeAmount: number;
75
+ fundingFeeValue: number;
76
+ closed: boolean;
77
+ openTimestamp: number;
78
+ }
79
+ export interface IPositionCapInfo {
80
+ positionCapId: string;
81
+ symbol0: string;
82
+ symbol1: string;
83
+ long: boolean;
84
+ }
85
+ export interface IOrderCapInfo {
86
+ orderCapId: string;
87
+ symbol0: string;
88
+ symbol1: string;
89
+ long: boolean;
90
+ positionId: string | null;
91
+ }
92
+ export interface IOrderInfo {
93
+ id: string;
94
+ capId: string;
95
+ executed: boolean;
96
+ owner: string;
97
+ collateralToken: string;
98
+ indexToken: string;
99
+ feeToken: string;
100
+ collateralPriceThreshold: number;
101
+ feeAmount: bigint;
102
+ long: boolean;
103
+ indexPrice: number;
104
+ openOrder?: {
105
+ reserveAmount: bigint;
106
+ collateralAmount: bigint;
107
+ openAmount: bigint;
108
+ };
109
+ decreaseOrder?: {
110
+ decreaseAmount: bigint;
111
+ takeProfit: boolean;
112
+ };
113
+ orderType: 'OPEN_POSITION' | 'DECREASE_POSITION';
114
+ createdAt: number;
115
+ v11Order: boolean;
116
+ }
117
+ export interface IMarketValuationInfo {
118
+ marketCap: number;
119
+ zlpPrice: number;
120
+ zlpSupply: number;
121
+ apr?: number;
122
+ }
123
+ export interface IPositionConfig {
124
+ decreaseFeeBps: number;
125
+ liquidationBonus: number;
126
+ liquidationThreshold: number;
127
+ maxLeverage: number;
128
+ minHoldingDuration: number;
129
+ openFeeBps: number;
130
+ maxReservedMultiplier: number;
131
+ minCollateralValue: number;
132
+ }
133
+ export interface IHistory {
134
+ owner: string;
135
+ txid: string;
136
+ id: string;
137
+ created: number;
138
+ eventName: string;
139
+ indexToken: string;
140
+ direction: string;
141
+ collateralAmount: number;
142
+ collateralPrice: number;
143
+ indexPrice: number;
144
+ pnl: number;
145
+ positionId: string;
146
+ volume: number;
147
+ fee: number;
148
+ network: string;
149
+ }
150
+ export interface IStaked {
151
+ credentials: ICredential[];
152
+ amount: bigint;
153
+ claimable: bigint;
154
+ }
155
+ export interface ICredential {
156
+ id: string;
157
+ lockUntil: number;
158
+ accRewardPerShare: bigint;
159
+ amount: bigint;
160
+ claimable: bigint;
161
+ }
162
+ export interface IStakePool {
163
+ id: string;
164
+ enabled: boolean;
165
+ lastUpdatedTime: number;
166
+ stakedAmount: bigint;
167
+ reward: bigint;
168
+ startTime: number;
169
+ endTime: number;
170
+ accRewardPerShare: bigint;
171
+ lockDuration: number;
172
+ }
173
+ export declare class DataAPI extends OracleAPI {
174
+ #private;
175
+ provider: SuiClient;
176
+ apiEndpoint: string;
177
+ private vaultInfoCache;
178
+ private symbolInfoCache;
179
+ private marketInfoCache;
180
+ private positionConfigCache;
181
+ private rebaseFeeModelCache;
182
+ private lastUpdate;
183
+ constructor(network: Network, provider: SuiClient | null, apiEndpoint: string, connectionURL: string);
184
+ validateCache: () => void;
185
+ valuateVaults: (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
186
+ valuateSymbols: (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
187
+ valuate: (tx: Transaction) => {
188
+ vaultsValuation: import("@mysten/sui/transactions").TransactionResult;
189
+ symbolsValuation: import("@mysten/sui/transactions").TransactionResult;
190
+ };
191
+ getPastFee(days?: number): Promise<number>;
192
+ valuateMarket(): Promise<IMarketValuationInfo>;
193
+ getMarketInfo(): Promise<IMarketInfo>;
194
+ getVaultInfo(vaultToken: string): Promise<IVaultInfo>;
195
+ getSymbolInfo(indexToken: string, long: boolean): Promise<ISymbolInfo>;
196
+ getPositionConfig(indexToken: string, long: boolean): Promise<IPositionConfig>;
197
+ getPositionCapInfoList(owner: string): Promise<IPositionCapInfo[]>;
198
+ getPositionInfoList(positionCapInfoList: IPositionCapInfo[], owner: string): Promise<IPositionInfo[]>;
199
+ getOrderCapInfoList(owner: string): Promise<{
200
+ orderCapId: string;
201
+ symbol0: string;
202
+ symbol1: string;
203
+ long: boolean;
204
+ positionId: any;
205
+ }[]>;
206
+ getOrderInfoList(orderCapInfoList: IOrderCapInfo[], owner: string): Promise<IOrderInfo[]>;
207
+ getRebaseFeeModel(): Promise<IRebaseFeeModel>;
208
+ fundingFeeRate: (indexToken: string, long: boolean) => Promise<number>;
209
+ rebaseFeeRate: (collateralToken: string, increase: boolean, amount: number) => Promise<number>;
210
+ reservingFeeRate: (collateralToken: string, amount?: number) => Promise<number>;
211
+ getProxiedHistories: (trader: string) => Promise<IHistory[]>;
212
+ getStaked: (owner: string) => Promise<IStaked>;
213
+ getStakePool: () => Promise<IStakePool>;
214
+ getReferralData(referree: string): Promise<any>;
215
+ hasReferral(referree: string): Promise<boolean>;
216
+ getReferreeFromReferrer(referrer: string): Promise<any>;
217
+ getReferreeDetail(referree: string): Promise<any>;
218
+ getReferrerDetail(referrer: string): Promise<any>;
219
+ getReferralTxs(referrer: string): Promise<any>;
220
+ }
221
+ //# sourceMappingURL=data.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.mts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}