@zofai/zo-sdk 0.1.92
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/.claude/settings.local.json +9 -0
- package/.gitattributes +4 -0
- package/.prettierrc.js +9 -0
- package/README.md +28 -0
- package/dist/abstract/BaseAPI.cjs +206 -0
- package/dist/abstract/BaseAPI.cjs.map +1 -0
- package/dist/abstract/BaseAPI.d.cts +172 -0
- package/dist/abstract/BaseAPI.d.cts.map +1 -0
- package/dist/abstract/BaseAPI.d.mts +172 -0
- package/dist/abstract/BaseAPI.d.mts.map +1 -0
- package/dist/abstract/BaseAPI.mjs +202 -0
- package/dist/abstract/BaseAPI.mjs.map +1 -0
- package/dist/abstract/BaseDataAPI.cjs +140 -0
- package/dist/abstract/BaseDataAPI.cjs.map +1 -0
- package/dist/abstract/BaseDataAPI.d.cts +89 -0
- package/dist/abstract/BaseDataAPI.d.cts.map +1 -0
- package/dist/abstract/BaseDataAPI.d.mts +89 -0
- package/dist/abstract/BaseDataAPI.d.mts.map +1 -0
- package/dist/abstract/BaseDataAPI.mjs +136 -0
- package/dist/abstract/BaseDataAPI.mjs.map +1 -0
- package/dist/abstract/index.cjs +12 -0
- package/dist/abstract/index.cjs.map +1 -0
- package/dist/abstract/index.d.cts +7 -0
- package/dist/abstract/index.d.cts.map +1 -0
- package/dist/abstract/index.d.mts +7 -0
- package/dist/abstract/index.d.mts.map +1 -0
- package/dist/abstract/index.mjs +7 -0
- package/dist/abstract/index.mjs.map +1 -0
- package/dist/api.cjs +779 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.d.cts +75 -0
- package/dist/api.d.cts.map +1 -0
- package/dist/api.d.mts +75 -0
- package/dist/api.d.mts.map +1 -0
- package/dist/api.mjs +775 -0
- package/dist/api.mjs.map +1 -0
- package/dist/bcs.cjs +42 -0
- package/dist/bcs.cjs.map +1 -0
- package/dist/bcs.d.cts +91 -0
- package/dist/bcs.d.cts.map +1 -0
- package/dist/bcs.d.mts +91 -0
- package/dist/bcs.d.mts.map +1 -0
- package/dist/bcs.mjs +39 -0
- package/dist/bcs.mjs.map +1 -0
- package/dist/consts/deployments-shared-mainnet.json +50 -0
- package/dist/consts/deployments-shared-testnet.json +45 -0
- package/dist/consts/deployments-slp-mainnet.json +600 -0
- package/dist/consts/deployments-slp-testnet.json +87 -0
- package/dist/consts/deployments-usdz-mainnet.json +494 -0
- package/dist/consts/deployments-usdz-testnet.json +98 -0
- package/dist/consts/deployments-zbtcvc-mainnet.json +180 -0
- package/dist/consts/deployments-zlp-mainnet.json +791 -0
- package/dist/consts/deployments-zlp-testnet.json +76 -0
- package/dist/consts/index.cjs +200 -0
- package/dist/consts/index.cjs.map +1 -0
- package/dist/consts/index.d.cts +157 -0
- package/dist/consts/index.d.cts.map +1 -0
- package/dist/consts/index.d.mts +157 -0
- package/dist/consts/index.d.mts.map +1 -0
- package/dist/consts/index.mjs +189 -0
- package/dist/consts/index.mjs.map +1 -0
- package/dist/consts/price_id_to_object_id.mainnet.json +56 -0
- package/dist/consts/price_id_to_object_id.testnet.json +17 -0
- package/dist/data.cjs +919 -0
- package/dist/data.cjs.map +1 -0
- package/dist/data.d.cts +235 -0
- package/dist/data.d.cts.map +1 -0
- package/dist/data.d.mts +235 -0
- package/dist/data.d.mts.map +1 -0
- package/dist/data.mjs +915 -0
- package/dist/data.mjs.map +1 -0
- package/dist/factory/SDKFactory.cjs +228 -0
- package/dist/factory/SDKFactory.cjs.map +1 -0
- package/dist/factory/SDKFactory.d.cts +84 -0
- package/dist/factory/SDKFactory.d.cts.map +1 -0
- package/dist/factory/SDKFactory.d.mts +84 -0
- package/dist/factory/SDKFactory.d.mts.map +1 -0
- package/dist/factory/SDKFactory.mjs +222 -0
- package/dist/factory/SDKFactory.mjs.map +1 -0
- package/dist/implementations/SLPAPI.cjs +1794 -0
- package/dist/implementations/SLPAPI.cjs.map +1 -0
- package/dist/implementations/SLPAPI.d.cts +183 -0
- package/dist/implementations/SLPAPI.d.cts.map +1 -0
- package/dist/implementations/SLPAPI.d.mts +183 -0
- package/dist/implementations/SLPAPI.d.mts.map +1 -0
- package/dist/implementations/SLPAPI.mjs +1790 -0
- package/dist/implementations/SLPAPI.mjs.map +1 -0
- package/dist/implementations/SLPDataAPI.cjs +1384 -0
- package/dist/implementations/SLPDataAPI.cjs.map +1 -0
- package/dist/implementations/SLPDataAPI.d.cts +158 -0
- package/dist/implementations/SLPDataAPI.d.cts.map +1 -0
- package/dist/implementations/SLPDataAPI.d.mts +158 -0
- package/dist/implementations/SLPDataAPI.d.mts.map +1 -0
- package/dist/implementations/SLPDataAPI.mjs +1380 -0
- package/dist/implementations/SLPDataAPI.mjs.map +1 -0
- package/dist/implementations/USDZAPI.cjs +1676 -0
- package/dist/implementations/USDZAPI.cjs.map +1 -0
- package/dist/implementations/USDZAPI.d.cts +180 -0
- package/dist/implementations/USDZAPI.d.cts.map +1 -0
- package/dist/implementations/USDZAPI.d.mts +180 -0
- package/dist/implementations/USDZAPI.d.mts.map +1 -0
- package/dist/implementations/USDZAPI.mjs +1672 -0
- package/dist/implementations/USDZAPI.mjs.map +1 -0
- package/dist/implementations/USDZDataAPI.cjs +1209 -0
- package/dist/implementations/USDZDataAPI.cjs.map +1 -0
- package/dist/implementations/USDZDataAPI.d.cts +191 -0
- package/dist/implementations/USDZDataAPI.d.cts.map +1 -0
- package/dist/implementations/USDZDataAPI.d.mts +191 -0
- package/dist/implementations/USDZDataAPI.d.mts.map +1 -0
- package/dist/implementations/USDZDataAPI.mjs +1205 -0
- package/dist/implementations/USDZDataAPI.mjs.map +1 -0
- package/dist/implementations/ZBTCVCAPI.cjs +906 -0
- package/dist/implementations/ZBTCVCAPI.cjs.map +1 -0
- package/dist/implementations/ZBTCVCAPI.d.cts +107 -0
- package/dist/implementations/ZBTCVCAPI.d.cts.map +1 -0
- package/dist/implementations/ZBTCVCAPI.d.mts +107 -0
- package/dist/implementations/ZBTCVCAPI.d.mts.map +1 -0
- package/dist/implementations/ZBTCVCAPI.mjs +902 -0
- package/dist/implementations/ZBTCVCAPI.mjs.map +1 -0
- package/dist/implementations/ZBTCVCDataAPI.cjs +829 -0
- package/dist/implementations/ZBTCVCDataAPI.cjs.map +1 -0
- package/dist/implementations/ZBTCVCDataAPI.d.cts +94 -0
- package/dist/implementations/ZBTCVCDataAPI.d.cts.map +1 -0
- package/dist/implementations/ZBTCVCDataAPI.d.mts +94 -0
- package/dist/implementations/ZBTCVCDataAPI.d.mts.map +1 -0
- package/dist/implementations/ZBTCVCDataAPI.mjs +825 -0
- package/dist/implementations/ZBTCVCDataAPI.mjs.map +1 -0
- package/dist/implementations/ZLPAPI.cjs +1948 -0
- package/dist/implementations/ZLPAPI.cjs.map +1 -0
- package/dist/implementations/ZLPAPI.d.cts +192 -0
- package/dist/implementations/ZLPAPI.d.cts.map +1 -0
- package/dist/implementations/ZLPAPI.d.mts +192 -0
- package/dist/implementations/ZLPAPI.d.mts.map +1 -0
- package/dist/implementations/ZLPAPI.mjs +1944 -0
- package/dist/implementations/ZLPAPI.mjs.map +1 -0
- package/dist/implementations/ZLPDataAPI.cjs +1267 -0
- package/dist/implementations/ZLPDataAPI.cjs.map +1 -0
- package/dist/implementations/ZLPDataAPI.d.cts +193 -0
- package/dist/implementations/ZLPDataAPI.d.cts.map +1 -0
- package/dist/implementations/ZLPDataAPI.d.mts +193 -0
- package/dist/implementations/ZLPDataAPI.d.mts.map +1 -0
- package/dist/implementations/ZLPDataAPI.mjs +1263 -0
- package/dist/implementations/ZLPDataAPI.mjs.map +1 -0
- package/dist/implementations/index.cjs +26 -0
- package/dist/implementations/index.cjs.map +1 -0
- package/dist/implementations/index.d.cts +13 -0
- package/dist/implementations/index.d.cts.map +1 -0
- package/dist/implementations/index.d.mts +13 -0
- package/dist/implementations/index.d.mts.map +1 -0
- package/dist/implementations/index.mjs +15 -0
- package/dist/implementations/index.mjs.map +1 -0
- package/dist/index.cjs +69 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +51 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +51 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +51 -0
- package/dist/index.mjs.map +1 -0
- package/dist/interfaces/base.cjs +7 -0
- package/dist/interfaces/base.cjs.map +1 -0
- package/dist/interfaces/base.d.cts +346 -0
- package/dist/interfaces/base.d.cts.map +1 -0
- package/dist/interfaces/base.d.mts +346 -0
- package/dist/interfaces/base.d.mts.map +1 -0
- package/dist/interfaces/base.mjs +6 -0
- package/dist/interfaces/base.mjs.map +1 -0
- package/dist/interfaces/index.cjs +31 -0
- package/dist/interfaces/index.cjs.map +1 -0
- package/dist/interfaces/index.d.cts +15 -0
- package/dist/interfaces/index.d.cts.map +1 -0
- package/dist/interfaces/index.d.mts +15 -0
- package/dist/interfaces/index.d.mts.map +1 -0
- package/dist/interfaces/index.mjs +15 -0
- package/dist/interfaces/index.mjs.map +1 -0
- package/dist/interfaces/slp.cjs +7 -0
- package/dist/interfaces/slp.cjs.map +1 -0
- package/dist/interfaces/slp.d.cts +179 -0
- package/dist/interfaces/slp.d.cts.map +1 -0
- package/dist/interfaces/slp.d.mts +179 -0
- package/dist/interfaces/slp.d.mts.map +1 -0
- package/dist/interfaces/slp.mjs +6 -0
- package/dist/interfaces/slp.mjs.map +1 -0
- package/dist/interfaces/usdz.cjs +7 -0
- package/dist/interfaces/usdz.cjs.map +1 -0
- package/dist/interfaces/usdz.d.cts +104 -0
- package/dist/interfaces/usdz.d.cts.map +1 -0
- package/dist/interfaces/usdz.d.mts +104 -0
- package/dist/interfaces/usdz.d.mts.map +1 -0
- package/dist/interfaces/usdz.mjs +6 -0
- package/dist/interfaces/usdz.mjs.map +1 -0
- package/dist/interfaces/zbtcvc.cjs +7 -0
- package/dist/interfaces/zbtcvc.cjs.map +1 -0
- package/dist/interfaces/zbtcvc.d.cts +64 -0
- package/dist/interfaces/zbtcvc.d.cts.map +1 -0
- package/dist/interfaces/zbtcvc.d.mts +64 -0
- package/dist/interfaces/zbtcvc.d.mts.map +1 -0
- package/dist/interfaces/zbtcvc.mjs +6 -0
- package/dist/interfaces/zbtcvc.mjs.map +1 -0
- package/dist/interfaces/zlp.cjs +7 -0
- package/dist/interfaces/zlp.cjs.map +1 -0
- package/dist/interfaces/zlp.d.cts +114 -0
- package/dist/interfaces/zlp.d.cts.map +1 -0
- package/dist/interfaces/zlp.d.mts +114 -0
- package/dist/interfaces/zlp.d.mts.map +1 -0
- package/dist/interfaces/zlp.mjs +6 -0
- package/dist/interfaces/zlp.mjs.map +1 -0
- package/dist/oracle.cjs +118 -0
- package/dist/oracle.cjs.map +1 -0
- package/dist/oracle.d.cts +25 -0
- package/dist/oracle.d.cts.map +1 -0
- package/dist/oracle.d.mts +25 -0
- package/dist/oracle.d.mts.map +1 -0
- package/dist/oracle.mjs +114 -0
- package/dist/oracle.mjs.map +1 -0
- package/dist/utils.cjs +129 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +44 -0
- package/dist/utils.d.cts.map +1 -0
- package/dist/utils.d.mts +44 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +115 -0
- package/dist/utils.mjs.map +1 -0
- package/docs/SUMMARY.md +10 -0
- package/docs/api-reference.md +32 -0
- package/docs/architecture.md +14 -0
- package/docs/common-operations.md +52 -0
- package/docs/error-handling.md +17 -0
- package/docs/getting-started.md +60 -0
- package/docs/introduction.md +15 -0
- package/docs/lp-specific-features.md +96 -0
- package/docs/type-safety.md +29 -0
- package/eslint.config.mjs +18 -0
- package/package.json +42 -0
- package/src/abstract/BaseAPI.ts +575 -0
- package/src/abstract/BaseDataAPI.ts +207 -0
- package/src/abstract/index.ts +7 -0
- package/src/api.ts +1100 -0
- package/src/bcs.ts +45 -0
- package/src/consts/deployments-shared-mainnet.json +50 -0
- package/src/consts/deployments-shared-testnet.json +45 -0
- package/src/consts/deployments-slp-mainnet.json +600 -0
- package/src/consts/deployments-slp-testnet.json +87 -0
- package/src/consts/deployments-usdz-mainnet.json +494 -0
- package/src/consts/deployments-usdz-testnet.json +98 -0
- package/src/consts/deployments-zbtcvc-mainnet.json +180 -0
- package/src/consts/deployments-zlp-mainnet.json +791 -0
- package/src/consts/deployments-zlp-testnet.json +76 -0
- package/src/consts/index.ts +345 -0
- package/src/consts/price_id_to_object_id.mainnet.json +56 -0
- package/src/consts/price_id_to_object_id.testnet.json +17 -0
- package/src/data.ts +1279 -0
- package/src/factory/SDKFactory.ts +340 -0
- package/src/implementations/SLPAPI.ts +2722 -0
- package/src/implementations/SLPDataAPI.ts +1839 -0
- package/src/implementations/USDZAPI.ts +2488 -0
- package/src/implementations/USDZDataAPI.ts +1548 -0
- package/src/implementations/ZBTCVCAPI.ts +1337 -0
- package/src/implementations/ZBTCVCDataAPI.ts +993 -0
- package/src/implementations/ZLPAPI.ts +2888 -0
- package/src/implementations/ZLPDataAPI.ts +1603 -0
- package/src/implementations/index.ts +16 -0
- package/src/index.ts +58 -0
- package/src/interfaces/base.ts +838 -0
- package/src/interfaces/index.ts +50 -0
- package/src/interfaces/slp.ts +268 -0
- package/src/interfaces/usdz.ts +181 -0
- package/src/interfaces/zbtcvc.ts +116 -0
- package/src/interfaces/zlp.ts +244 -0
- package/src/oracle.ts +153 -0
- package/src/utils.ts +168 -0
- package/tests/api.test.ts +219 -0
- package/tests/data.test.ts +156 -0
- package/tests/oracle.test.ts +33 -0
- package/tsconfig.json +22 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"USDZDataAPI.cjs","sourceRoot":"","sources":["../../src/implementations/USDZDataAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* USDZ DataAPI implementation
|
|
3
|
+
* Implements USDZ-specific data access methods
|
|
4
|
+
*/
|
|
5
|
+
import type { SuiClient } from "@mysten/sui/client";
|
|
6
|
+
import type { Transaction } from "@mysten/sui/transactions";
|
|
7
|
+
import { BaseDataAPI } from "../abstract/index.cjs";
|
|
8
|
+
import type { Network } from "../consts/index.cjs";
|
|
9
|
+
import type { IBaseHistoryResponse, IBaseStaked, IUSDZDataAPI, IUSDZMarketInfo, IUSDZMarketValuationInfo, IUSDZOiFundingState, IUSDZOrderCapInfo, IUSDZOrderInfo, IUSDZPositionCapInfo, IUSDZPositionConfig, IUSDZPositionInfo, IUSDZPriceImpactConfig, IUSDZStakePool, IUSDZSymbolConfig, IUSDZSymbolInfo, IUSDZVaultInfo } from "../interfaces/index.cjs";
|
|
10
|
+
export declare class USDZDataAPI extends BaseDataAPI implements IUSDZDataAPI {
|
|
11
|
+
constructor(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string);
|
|
12
|
+
getStaked(owner: string): Promise<IBaseStaked>;
|
|
13
|
+
getStakePool(): Promise<IUSDZStakePool>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates vaults valuation for USDZ
|
|
16
|
+
*/
|
|
17
|
+
valuateVaults(tx: Transaction): import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
18
|
+
/**
|
|
19
|
+
* Creates symbols valuation for USDZ
|
|
20
|
+
*/
|
|
21
|
+
valuateSymbols(tx: Transaction): import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
22
|
+
/**
|
|
23
|
+
* Creates both vaults and symbols valuation
|
|
24
|
+
*/
|
|
25
|
+
valuate(tx: Transaction): {
|
|
26
|
+
vaultsValuation: import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
27
|
+
symbolsValuation: import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Valuates the USDZ market
|
|
31
|
+
*/
|
|
32
|
+
valuateMarket(): Promise<IUSDZMarketValuationInfo>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets USDZ market information
|
|
35
|
+
*/
|
|
36
|
+
getMarketInfo(): Promise<IUSDZMarketInfo>;
|
|
37
|
+
/**
|
|
38
|
+
* Gets USDZ vault information
|
|
39
|
+
*/
|
|
40
|
+
getVaultInfo(vaultToken: string): Promise<IUSDZVaultInfo>;
|
|
41
|
+
/**
|
|
42
|
+
* Gets USDZ symbol information
|
|
43
|
+
*/
|
|
44
|
+
getSymbolInfo(indexToken: string, long: boolean): Promise<IUSDZSymbolInfo>;
|
|
45
|
+
getPositionConfig(indexToken: string, long: boolean): Promise<IUSDZPositionConfig>;
|
|
46
|
+
/**
|
|
47
|
+
* Gets USDZ symbol configuration
|
|
48
|
+
*/
|
|
49
|
+
getSymbolConfig(indexToken: string, long: boolean): Promise<IUSDZSymbolConfig | null>;
|
|
50
|
+
/**
|
|
51
|
+
* Gets USDZ symbol OI funding state (global per symbol)
|
|
52
|
+
*/
|
|
53
|
+
getSymbolOiFundingState(indexToken: string): Promise<IUSDZOiFundingState | null>;
|
|
54
|
+
/**
|
|
55
|
+
* Gets price impact configuration for a symbol.
|
|
56
|
+
* Price impact config applies to both long and short directions for the same index token.
|
|
57
|
+
*/
|
|
58
|
+
getPriceImpactConfig(indexToken: string): Promise<IUSDZPriceImpactConfig | null>;
|
|
59
|
+
getPositionCapInfoList(owner: string): Promise<IUSDZPositionCapInfo[]>;
|
|
60
|
+
getPositionInfoList(positionCapInfoList: IUSDZPositionCapInfo[], owner: string, batchSize?: number): Promise<IUSDZPositionInfo[]>;
|
|
61
|
+
getOpenPositions(): Promise<IUSDZPositionInfo[]>;
|
|
62
|
+
getOrderCapInfoList(owner: string): Promise<IUSDZOrderCapInfo[]>;
|
|
63
|
+
getOrderInfoList(orderCapInfoList: IUSDZOrderCapInfo[], owner: string, batchSize?: number): Promise<IUSDZOrderInfo[]>;
|
|
64
|
+
hasReferral(referree: string): Promise<boolean>;
|
|
65
|
+
getReferralData(referree: string): Promise<any>;
|
|
66
|
+
/**
|
|
67
|
+
* Gets rebase fee model for USDZ
|
|
68
|
+
*/
|
|
69
|
+
getRebaseFeeModel(): Promise<{
|
|
70
|
+
base: number;
|
|
71
|
+
multiplier: number;
|
|
72
|
+
}>;
|
|
73
|
+
fundingFeeRate(indexToken: string, long: boolean): Promise<number>;
|
|
74
|
+
rebaseFeeRate(collateralToken: string, increase: boolean, amount: number): Promise<number>;
|
|
75
|
+
reservingFeeRate(collateralToken: string, amount?: number): Promise<number>;
|
|
76
|
+
getHistory(trader: string, page: number, limit: number, orderType?: string, symbol?: string): Promise<IBaseHistoryResponse>;
|
|
77
|
+
private static calcFundingFeeRate;
|
|
78
|
+
private static calcOiFundingFeeRate;
|
|
79
|
+
private static calcAccFundingFeeRate;
|
|
80
|
+
private static calculateSymbolFundingFee;
|
|
81
|
+
private static calculatePositionReserveFee;
|
|
82
|
+
private static calcAccReservingFeeRate;
|
|
83
|
+
private static calcRebaseFeeRate;
|
|
84
|
+
private static vaultUtilization;
|
|
85
|
+
private static calcReservingFeeRate;
|
|
86
|
+
private static calcDeltaSize;
|
|
87
|
+
private static parseMarketInfo;
|
|
88
|
+
private parseVaultInfo;
|
|
89
|
+
private parseSymbolInfo;
|
|
90
|
+
private static parsePositionConfig;
|
|
91
|
+
private static parseSymbolConfig;
|
|
92
|
+
private parsePositionInfo;
|
|
93
|
+
private static calculatePositionFundingFee;
|
|
94
|
+
private static parseRebaseFeeModel;
|
|
95
|
+
private static parseReservingFeeModel;
|
|
96
|
+
private static parseFundingFeeModel;
|
|
97
|
+
private static parseOiFundingState;
|
|
98
|
+
private static parsePriceImpactConfig;
|
|
99
|
+
/**
|
|
100
|
+
* Computes the spread rate based on OI skew between long and short sides using point evaluation.
|
|
101
|
+
* This is the offchain equivalent of price_impact::compute_spread_rate in the Move contract.
|
|
102
|
+
*
|
|
103
|
+
* NOTE: This method uses point evaluation at the final state. For large trades,
|
|
104
|
+
* use computeAverageSpreadRate() instead, which integrates over the trade path
|
|
105
|
+
* for more accurate pricing.
|
|
106
|
+
*
|
|
107
|
+
* @param config - Price impact configuration for the symbol
|
|
108
|
+
* @param currentOiThisSide - Current OI on the side being traded (in value terms)
|
|
109
|
+
* @param newPositionSize - Size of the new position in value terms
|
|
110
|
+
* @param currentOiOpposite - Current OI on the opposite side (in value terms)
|
|
111
|
+
* @param maxOiThisSide - Maximum OI for this side (from config or SymbolConfig)
|
|
112
|
+
* @param maxOiOpposite - Maximum OI for opposite side (from config or SymbolConfig)
|
|
113
|
+
* @returns Total spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
114
|
+
*/
|
|
115
|
+
static computeSpreadRate(config: IUSDZPriceImpactConfig, currentOiThisSide: number, newPositionSize: number, currentOiOpposite: number, maxOiThisSide: number, maxOiOpposite: number): number;
|
|
116
|
+
/**
|
|
117
|
+
* Computes the size factor multiplier based on position size.
|
|
118
|
+
* Formula: size_factor = 1 + min(1, position_size / reference_size)
|
|
119
|
+
*
|
|
120
|
+
* @param positionSize - Size of the new position
|
|
121
|
+
* @param referenceSize - Reference size for scaling (0 = disabled)
|
|
122
|
+
* @returns Size factor multiplier (1.0 to 2.0)
|
|
123
|
+
*/
|
|
124
|
+
private static computeSizeFactor;
|
|
125
|
+
/**
|
|
126
|
+
* Computes the average value of max_dynamic * s^n over the interval [s1, s2].
|
|
127
|
+
* Uses the integral formula: average = max_dynamic * (s2^(n+1) - s1^(n+1)) / ((n+1) * (s2 - s1))
|
|
128
|
+
*
|
|
129
|
+
* @param maxDynamic - Maximum dynamic spread rate
|
|
130
|
+
* @param s1 - Start skew ratio
|
|
131
|
+
* @param s2 - End skew ratio
|
|
132
|
+
* @param exponent - Impact exponent
|
|
133
|
+
* @returns Average dynamic spread rate
|
|
134
|
+
*/
|
|
135
|
+
private static computeIntegralAverage;
|
|
136
|
+
/**
|
|
137
|
+
* Computes the average spread rate over the trade path with size scaling.
|
|
138
|
+
* This is the offchain equivalent of price_impact::compute_average_spread_rate in the Move contract.
|
|
139
|
+
*
|
|
140
|
+
* This function integrates the spread over the utilization change rather than
|
|
141
|
+
* using the final-state spread, and applies a size-based multiplier to the
|
|
142
|
+
* dynamic spread component.
|
|
143
|
+
*
|
|
144
|
+
* @param config - Price impact configuration for the symbol
|
|
145
|
+
* @param currentOiThisSide - Current OI on the side being traded (in value terms)
|
|
146
|
+
* @param newPositionSize - Size of the new position in value terms
|
|
147
|
+
* @param currentOiOpposite - Current OI on the opposite side (in value terms)
|
|
148
|
+
* @param maxOiThisSide - Maximum OI for this side (from config or SymbolConfig)
|
|
149
|
+
* @param maxOiOpposite - Maximum OI for opposite side (from config or SymbolConfig)
|
|
150
|
+
* @returns Total spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
151
|
+
*/
|
|
152
|
+
static computeAverageSpreadRate(config: IUSDZPriceImpactConfig, currentOiThisSide: number, newPositionSize: number, currentOiOpposite: number, maxOiThisSide: number, maxOiOpposite: number): number;
|
|
153
|
+
/**
|
|
154
|
+
* Applies price impact to a price.
|
|
155
|
+
* This is the offchain equivalent of price_impact::apply_price_impact in the Move contract.
|
|
156
|
+
*
|
|
157
|
+
* Direction logic:
|
|
158
|
+
* - Open Long: price INCREASES (pay more)
|
|
159
|
+
* - Open Short: price DECREASES (receive less)
|
|
160
|
+
* - Close Long: price DECREASES (receive less)
|
|
161
|
+
* - Close Short: price INCREASES (pay more)
|
|
162
|
+
*
|
|
163
|
+
* @param originalPrice - The original price
|
|
164
|
+
* @param spreadRate - The spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
165
|
+
* @param isLong - Whether this is a long position
|
|
166
|
+
* @param isOpening - Whether this is opening (true) or closing (false)
|
|
167
|
+
* @returns Adjusted price with spread applied
|
|
168
|
+
*/
|
|
169
|
+
static applyPriceImpact(originalPrice: number, spreadRate: number, isLong: boolean, isOpening: boolean): number;
|
|
170
|
+
/**
|
|
171
|
+
* Convenience method to compute the estimated execution price with price impact.
|
|
172
|
+
* Fetches the required data and computes the adjusted price.
|
|
173
|
+
*
|
|
174
|
+
* @param indexToken - The index token symbol (e.g., 'sui', 'btc')
|
|
175
|
+
* @param isLong - Whether this is a long position
|
|
176
|
+
* @param isOpening - Whether this is opening or closing
|
|
177
|
+
* @param positionSizeValue - Size of the position in value terms (USD)
|
|
178
|
+
* @returns Object containing spread rate and adjusted price, or null if price impact not configured
|
|
179
|
+
*/
|
|
180
|
+
estimatePriceImpact(indexToken: string, isLong: boolean, isOpening: boolean, positionSizeValue: number): Promise<{
|
|
181
|
+
spreadRate: number;
|
|
182
|
+
originalPrice: number;
|
|
183
|
+
adjustedPrice: number;
|
|
184
|
+
} | null>;
|
|
185
|
+
private parseOrderInfo;
|
|
186
|
+
private static calculateVaultReservingFee;
|
|
187
|
+
private static parseCredential;
|
|
188
|
+
private static parseStakePool;
|
|
189
|
+
private static refreshPool;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=USDZDataAPI.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"USDZDataAPI.d.cts","sourceRoot":"","sources":["../../src/implementations/USDZDataAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* USDZ DataAPI implementation
|
|
3
|
+
* Implements USDZ-specific data access methods
|
|
4
|
+
*/
|
|
5
|
+
import type { SuiClient } from "@mysten/sui/client";
|
|
6
|
+
import type { Transaction } from "@mysten/sui/transactions";
|
|
7
|
+
import { BaseDataAPI } from "../abstract/index.mjs";
|
|
8
|
+
import type { Network } from "../consts/index.mjs";
|
|
9
|
+
import type { IBaseHistoryResponse, IBaseStaked, IUSDZDataAPI, IUSDZMarketInfo, IUSDZMarketValuationInfo, IUSDZOiFundingState, IUSDZOrderCapInfo, IUSDZOrderInfo, IUSDZPositionCapInfo, IUSDZPositionConfig, IUSDZPositionInfo, IUSDZPriceImpactConfig, IUSDZStakePool, IUSDZSymbolConfig, IUSDZSymbolInfo, IUSDZVaultInfo } from "../interfaces/index.mjs";
|
|
10
|
+
export declare class USDZDataAPI extends BaseDataAPI implements IUSDZDataAPI {
|
|
11
|
+
constructor(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string);
|
|
12
|
+
getStaked(owner: string): Promise<IBaseStaked>;
|
|
13
|
+
getStakePool(): Promise<IUSDZStakePool>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates vaults valuation for USDZ
|
|
16
|
+
*/
|
|
17
|
+
valuateVaults(tx: Transaction): import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
18
|
+
/**
|
|
19
|
+
* Creates symbols valuation for USDZ
|
|
20
|
+
*/
|
|
21
|
+
valuateSymbols(tx: Transaction): import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
22
|
+
/**
|
|
23
|
+
* Creates both vaults and symbols valuation
|
|
24
|
+
*/
|
|
25
|
+
valuate(tx: Transaction): {
|
|
26
|
+
vaultsValuation: import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
27
|
+
symbolsValuation: import("@mysten/sui/dist/cjs/transactions").TransactionResult;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Valuates the USDZ market
|
|
31
|
+
*/
|
|
32
|
+
valuateMarket(): Promise<IUSDZMarketValuationInfo>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets USDZ market information
|
|
35
|
+
*/
|
|
36
|
+
getMarketInfo(): Promise<IUSDZMarketInfo>;
|
|
37
|
+
/**
|
|
38
|
+
* Gets USDZ vault information
|
|
39
|
+
*/
|
|
40
|
+
getVaultInfo(vaultToken: string): Promise<IUSDZVaultInfo>;
|
|
41
|
+
/**
|
|
42
|
+
* Gets USDZ symbol information
|
|
43
|
+
*/
|
|
44
|
+
getSymbolInfo(indexToken: string, long: boolean): Promise<IUSDZSymbolInfo>;
|
|
45
|
+
getPositionConfig(indexToken: string, long: boolean): Promise<IUSDZPositionConfig>;
|
|
46
|
+
/**
|
|
47
|
+
* Gets USDZ symbol configuration
|
|
48
|
+
*/
|
|
49
|
+
getSymbolConfig(indexToken: string, long: boolean): Promise<IUSDZSymbolConfig | null>;
|
|
50
|
+
/**
|
|
51
|
+
* Gets USDZ symbol OI funding state (global per symbol)
|
|
52
|
+
*/
|
|
53
|
+
getSymbolOiFundingState(indexToken: string): Promise<IUSDZOiFundingState | null>;
|
|
54
|
+
/**
|
|
55
|
+
* Gets price impact configuration for a symbol.
|
|
56
|
+
* Price impact config applies to both long and short directions for the same index token.
|
|
57
|
+
*/
|
|
58
|
+
getPriceImpactConfig(indexToken: string): Promise<IUSDZPriceImpactConfig | null>;
|
|
59
|
+
getPositionCapInfoList(owner: string): Promise<IUSDZPositionCapInfo[]>;
|
|
60
|
+
getPositionInfoList(positionCapInfoList: IUSDZPositionCapInfo[], owner: string, batchSize?: number): Promise<IUSDZPositionInfo[]>;
|
|
61
|
+
getOpenPositions(): Promise<IUSDZPositionInfo[]>;
|
|
62
|
+
getOrderCapInfoList(owner: string): Promise<IUSDZOrderCapInfo[]>;
|
|
63
|
+
getOrderInfoList(orderCapInfoList: IUSDZOrderCapInfo[], owner: string, batchSize?: number): Promise<IUSDZOrderInfo[]>;
|
|
64
|
+
hasReferral(referree: string): Promise<boolean>;
|
|
65
|
+
getReferralData(referree: string): Promise<any>;
|
|
66
|
+
/**
|
|
67
|
+
* Gets rebase fee model for USDZ
|
|
68
|
+
*/
|
|
69
|
+
getRebaseFeeModel(): Promise<{
|
|
70
|
+
base: number;
|
|
71
|
+
multiplier: number;
|
|
72
|
+
}>;
|
|
73
|
+
fundingFeeRate(indexToken: string, long: boolean): Promise<number>;
|
|
74
|
+
rebaseFeeRate(collateralToken: string, increase: boolean, amount: number): Promise<number>;
|
|
75
|
+
reservingFeeRate(collateralToken: string, amount?: number): Promise<number>;
|
|
76
|
+
getHistory(trader: string, page: number, limit: number, orderType?: string, symbol?: string): Promise<IBaseHistoryResponse>;
|
|
77
|
+
private static calcFundingFeeRate;
|
|
78
|
+
private static calcOiFundingFeeRate;
|
|
79
|
+
private static calcAccFundingFeeRate;
|
|
80
|
+
private static calculateSymbolFundingFee;
|
|
81
|
+
private static calculatePositionReserveFee;
|
|
82
|
+
private static calcAccReservingFeeRate;
|
|
83
|
+
private static calcRebaseFeeRate;
|
|
84
|
+
private static vaultUtilization;
|
|
85
|
+
private static calcReservingFeeRate;
|
|
86
|
+
private static calcDeltaSize;
|
|
87
|
+
private static parseMarketInfo;
|
|
88
|
+
private parseVaultInfo;
|
|
89
|
+
private parseSymbolInfo;
|
|
90
|
+
private static parsePositionConfig;
|
|
91
|
+
private static parseSymbolConfig;
|
|
92
|
+
private parsePositionInfo;
|
|
93
|
+
private static calculatePositionFundingFee;
|
|
94
|
+
private static parseRebaseFeeModel;
|
|
95
|
+
private static parseReservingFeeModel;
|
|
96
|
+
private static parseFundingFeeModel;
|
|
97
|
+
private static parseOiFundingState;
|
|
98
|
+
private static parsePriceImpactConfig;
|
|
99
|
+
/**
|
|
100
|
+
* Computes the spread rate based on OI skew between long and short sides using point evaluation.
|
|
101
|
+
* This is the offchain equivalent of price_impact::compute_spread_rate in the Move contract.
|
|
102
|
+
*
|
|
103
|
+
* NOTE: This method uses point evaluation at the final state. For large trades,
|
|
104
|
+
* use computeAverageSpreadRate() instead, which integrates over the trade path
|
|
105
|
+
* for more accurate pricing.
|
|
106
|
+
*
|
|
107
|
+
* @param config - Price impact configuration for the symbol
|
|
108
|
+
* @param currentOiThisSide - Current OI on the side being traded (in value terms)
|
|
109
|
+
* @param newPositionSize - Size of the new position in value terms
|
|
110
|
+
* @param currentOiOpposite - Current OI on the opposite side (in value terms)
|
|
111
|
+
* @param maxOiThisSide - Maximum OI for this side (from config or SymbolConfig)
|
|
112
|
+
* @param maxOiOpposite - Maximum OI for opposite side (from config or SymbolConfig)
|
|
113
|
+
* @returns Total spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
114
|
+
*/
|
|
115
|
+
static computeSpreadRate(config: IUSDZPriceImpactConfig, currentOiThisSide: number, newPositionSize: number, currentOiOpposite: number, maxOiThisSide: number, maxOiOpposite: number): number;
|
|
116
|
+
/**
|
|
117
|
+
* Computes the size factor multiplier based on position size.
|
|
118
|
+
* Formula: size_factor = 1 + min(1, position_size / reference_size)
|
|
119
|
+
*
|
|
120
|
+
* @param positionSize - Size of the new position
|
|
121
|
+
* @param referenceSize - Reference size for scaling (0 = disabled)
|
|
122
|
+
* @returns Size factor multiplier (1.0 to 2.0)
|
|
123
|
+
*/
|
|
124
|
+
private static computeSizeFactor;
|
|
125
|
+
/**
|
|
126
|
+
* Computes the average value of max_dynamic * s^n over the interval [s1, s2].
|
|
127
|
+
* Uses the integral formula: average = max_dynamic * (s2^(n+1) - s1^(n+1)) / ((n+1) * (s2 - s1))
|
|
128
|
+
*
|
|
129
|
+
* @param maxDynamic - Maximum dynamic spread rate
|
|
130
|
+
* @param s1 - Start skew ratio
|
|
131
|
+
* @param s2 - End skew ratio
|
|
132
|
+
* @param exponent - Impact exponent
|
|
133
|
+
* @returns Average dynamic spread rate
|
|
134
|
+
*/
|
|
135
|
+
private static computeIntegralAverage;
|
|
136
|
+
/**
|
|
137
|
+
* Computes the average spread rate over the trade path with size scaling.
|
|
138
|
+
* This is the offchain equivalent of price_impact::compute_average_spread_rate in the Move contract.
|
|
139
|
+
*
|
|
140
|
+
* This function integrates the spread over the utilization change rather than
|
|
141
|
+
* using the final-state spread, and applies a size-based multiplier to the
|
|
142
|
+
* dynamic spread component.
|
|
143
|
+
*
|
|
144
|
+
* @param config - Price impact configuration for the symbol
|
|
145
|
+
* @param currentOiThisSide - Current OI on the side being traded (in value terms)
|
|
146
|
+
* @param newPositionSize - Size of the new position in value terms
|
|
147
|
+
* @param currentOiOpposite - Current OI on the opposite side (in value terms)
|
|
148
|
+
* @param maxOiThisSide - Maximum OI for this side (from config or SymbolConfig)
|
|
149
|
+
* @param maxOiOpposite - Maximum OI for opposite side (from config or SymbolConfig)
|
|
150
|
+
* @returns Total spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
151
|
+
*/
|
|
152
|
+
static computeAverageSpreadRate(config: IUSDZPriceImpactConfig, currentOiThisSide: number, newPositionSize: number, currentOiOpposite: number, maxOiThisSide: number, maxOiOpposite: number): number;
|
|
153
|
+
/**
|
|
154
|
+
* Applies price impact to a price.
|
|
155
|
+
* This is the offchain equivalent of price_impact::apply_price_impact in the Move contract.
|
|
156
|
+
*
|
|
157
|
+
* Direction logic:
|
|
158
|
+
* - Open Long: price INCREASES (pay more)
|
|
159
|
+
* - Open Short: price DECREASES (receive less)
|
|
160
|
+
* - Close Long: price DECREASES (receive less)
|
|
161
|
+
* - Close Short: price INCREASES (pay more)
|
|
162
|
+
*
|
|
163
|
+
* @param originalPrice - The original price
|
|
164
|
+
* @param spreadRate - The spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
165
|
+
* @param isLong - Whether this is a long position
|
|
166
|
+
* @param isOpening - Whether this is opening (true) or closing (false)
|
|
167
|
+
* @returns Adjusted price with spread applied
|
|
168
|
+
*/
|
|
169
|
+
static applyPriceImpact(originalPrice: number, spreadRate: number, isLong: boolean, isOpening: boolean): number;
|
|
170
|
+
/**
|
|
171
|
+
* Convenience method to compute the estimated execution price with price impact.
|
|
172
|
+
* Fetches the required data and computes the adjusted price.
|
|
173
|
+
*
|
|
174
|
+
* @param indexToken - The index token symbol (e.g., 'sui', 'btc')
|
|
175
|
+
* @param isLong - Whether this is a long position
|
|
176
|
+
* @param isOpening - Whether this is opening or closing
|
|
177
|
+
* @param positionSizeValue - Size of the position in value terms (USD)
|
|
178
|
+
* @returns Object containing spread rate and adjusted price, or null if price impact not configured
|
|
179
|
+
*/
|
|
180
|
+
estimatePriceImpact(indexToken: string, isLong: boolean, isOpening: boolean, positionSizeValue: number): Promise<{
|
|
181
|
+
spreadRate: number;
|
|
182
|
+
originalPrice: number;
|
|
183
|
+
adjustedPrice: number;
|
|
184
|
+
} | null>;
|
|
185
|
+
private parseOrderInfo;
|
|
186
|
+
private static calculateVaultReservingFee;
|
|
187
|
+
private static parseCredential;
|
|
188
|
+
private static parseStakePool;
|
|
189
|
+
private static refreshPool;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=USDZDataAPI.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"USDZDataAPI.d.mts","sourceRoot":"","sources":["../../src/implementations/USDZDataAPI.ts"],"names":[],"mappings":"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"}
|