@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,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface exports for all LP token types
|
|
3
|
+
* Provides a centralized export point for all SDK interfaces
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Base interfaces
|
|
7
|
+
export * from './base'
|
|
8
|
+
|
|
9
|
+
// ZLP interfaces
|
|
10
|
+
export * from './zlp'
|
|
11
|
+
|
|
12
|
+
// SLP interfaces
|
|
13
|
+
export * from './slp'
|
|
14
|
+
|
|
15
|
+
// USDZ interfaces
|
|
16
|
+
export * from './usdz'
|
|
17
|
+
|
|
18
|
+
// USDZ interfaces
|
|
19
|
+
export * from './zbtcvc'
|
|
20
|
+
|
|
21
|
+
// Re-export commonly used types for convenience
|
|
22
|
+
export type {
|
|
23
|
+
IBaseAPI,
|
|
24
|
+
IBaseDataAPI,
|
|
25
|
+
IBaseMarketValuationInfo,
|
|
26
|
+
ISDKFactory,
|
|
27
|
+
} from './base'
|
|
28
|
+
export type {
|
|
29
|
+
ISLPAPI,
|
|
30
|
+
ISLPDataAPI,
|
|
31
|
+
ISLPMarketValuationInfo,
|
|
32
|
+
ISudoMarket,
|
|
33
|
+
ISudoSymbol,
|
|
34
|
+
ISudoVault,
|
|
35
|
+
} from './slp'
|
|
36
|
+
export type {
|
|
37
|
+
IUSDZAPI,
|
|
38
|
+
IUSDZDataAPI,
|
|
39
|
+
IUSDZMarketValuationInfo,
|
|
40
|
+
} from './usdz'
|
|
41
|
+
export type {
|
|
42
|
+
IZBTCVCAPI,
|
|
43
|
+
IZBTCVCDataAPI,
|
|
44
|
+
IZBTCVCMarketValuationInfo,
|
|
45
|
+
} from './zbtcvc'
|
|
46
|
+
export type {
|
|
47
|
+
IZLPAPI,
|
|
48
|
+
IZLPDataAPI,
|
|
49
|
+
IZLPMarketValuationInfo,
|
|
50
|
+
} from './zlp'
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SLP-specific interfaces and types
|
|
3
|
+
* Extends base interfaces with SLP-specific implementations for Sudo SDK
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { KioskClient, KioskOwnerCap } from '@mysten/kiosk'
|
|
7
|
+
import type { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions'
|
|
8
|
+
|
|
9
|
+
import type {
|
|
10
|
+
IBaseAPI,
|
|
11
|
+
IBaseCredential,
|
|
12
|
+
IBaseDataAPI,
|
|
13
|
+
IBaseFundingFeeModel,
|
|
14
|
+
IBaseHistory,
|
|
15
|
+
IBaseMarketInfo,
|
|
16
|
+
IBaseMarketValuationInfo,
|
|
17
|
+
IBaseOrderCapInfo,
|
|
18
|
+
IBaseOrderInfo,
|
|
19
|
+
IBasePositionCapInfo,
|
|
20
|
+
IBasePositionConfig,
|
|
21
|
+
IBasePositionInfo,
|
|
22
|
+
IBaseRebaseFeeModel,
|
|
23
|
+
IBaseReservingFeeModel,
|
|
24
|
+
IBaseStaked,
|
|
25
|
+
IBaseStakePool,
|
|
26
|
+
IBaseSymbolInfo,
|
|
27
|
+
IBaseVaultInfo,
|
|
28
|
+
} from './base'
|
|
29
|
+
|
|
30
|
+
// SLP-specific interfaces
|
|
31
|
+
export interface ISLPMarketValuationInfo extends IBaseMarketValuationInfo { }
|
|
32
|
+
|
|
33
|
+
export interface ISLPVaultInfo extends IBaseVaultInfo { }
|
|
34
|
+
|
|
35
|
+
export interface ISLPSymbolInfo extends IBaseSymbolInfo { }
|
|
36
|
+
|
|
37
|
+
export interface ISLPFundingFeeModel extends IBaseFundingFeeModel { }
|
|
38
|
+
|
|
39
|
+
export interface ISLPReservingFeeModel extends IBaseReservingFeeModel { }
|
|
40
|
+
|
|
41
|
+
export interface ISLPRebaseFeeModel extends IBaseRebaseFeeModel { }
|
|
42
|
+
|
|
43
|
+
export interface ISLPMarketInfo extends IBaseMarketInfo { }
|
|
44
|
+
|
|
45
|
+
export interface ISLPPositionInfo extends IBasePositionInfo { }
|
|
46
|
+
|
|
47
|
+
export interface ISLPPositionConfig extends IBasePositionConfig { }
|
|
48
|
+
|
|
49
|
+
export interface ISLPPositionCapInfo extends IBasePositionCapInfo { }
|
|
50
|
+
|
|
51
|
+
export interface ISLPOrderInfo extends IBaseOrderInfo {
|
|
52
|
+
orderVersion: string
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface ISLPOrderCapInfo extends IBaseOrderCapInfo { }
|
|
56
|
+
|
|
57
|
+
export interface ISLPHistory extends IBaseHistory { }
|
|
58
|
+
|
|
59
|
+
export interface ISLPStaked extends IBaseStaked { }
|
|
60
|
+
|
|
61
|
+
export interface ISLPStakePool extends IBaseStakePool {
|
|
62
|
+
// SLP-specific stake pool fields to match new staking implementation
|
|
63
|
+
rewardRate?: bigint // Optional for backward compatibility
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface ISLPCredential extends IBaseCredential { }
|
|
67
|
+
|
|
68
|
+
// ZLP Symbol Config interfaces
|
|
69
|
+
export interface ISLPPositionInstantExitFeeConfig {
|
|
70
|
+
instant_exit_tier_1_duration_threshold: number
|
|
71
|
+
instant_exit_tier_1_fee_bps: number
|
|
72
|
+
instant_exit_tier_1_fee_enabled: boolean
|
|
73
|
+
instant_exit_tier_2_duration_threshold: number
|
|
74
|
+
instant_exit_tier_2_fee_bps: number
|
|
75
|
+
instant_exit_tier_2_fee_enabled: boolean
|
|
76
|
+
instant_exit_tier_3_duration_threshold: number
|
|
77
|
+
instant_exit_tier_3_fee_bps: number
|
|
78
|
+
instant_exit_tier_3_fee_enabled: boolean
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface ISLPSymbolConfig {
|
|
82
|
+
id: string
|
|
83
|
+
max_opening_size: number
|
|
84
|
+
max_opening_size_enabled: boolean
|
|
85
|
+
max_opening_size_per_position: number
|
|
86
|
+
max_opening_size_per_position_enabled: boolean
|
|
87
|
+
instant_exit_fee_config: ISLPPositionInstantExitFeeConfig
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface ISLPOiFundingModel {
|
|
91
|
+
id: string
|
|
92
|
+
multiplier: number
|
|
93
|
+
exponent: number
|
|
94
|
+
max: number
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface ISLPOiFundingState {
|
|
98
|
+
id: string
|
|
99
|
+
enabled: boolean
|
|
100
|
+
last_update: number
|
|
101
|
+
model: ISLPOiFundingModel
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Price impact configuration for a trading symbol.
|
|
106
|
+
* Used to compute dynamic spreads based on OI skew.
|
|
107
|
+
*/
|
|
108
|
+
export interface ISLPPriceImpactConfig {
|
|
109
|
+
id: string
|
|
110
|
+
/** Whether price impact is enabled for this symbol */
|
|
111
|
+
enabled: boolean
|
|
112
|
+
/** Base spread applied to all trades (as a rate, e.g., 0.001 = 0.1%) */
|
|
113
|
+
baseSpreadRate: number
|
|
114
|
+
/** Maximum additional dynamic spread based on OI skew */
|
|
115
|
+
maxDynamicSpreadRate: number
|
|
116
|
+
/** Cap for total spread (base + dynamic) */
|
|
117
|
+
maxTotalSpreadRate: number
|
|
118
|
+
/** Exponent for spread curve (1.0=linear, 2.0=quadratic, 3.0=cubic) */
|
|
119
|
+
impactExponent: number
|
|
120
|
+
/** Maximum OI for long side used in skew calculation */
|
|
121
|
+
maxOiLong: number
|
|
122
|
+
/** Maximum OI for short side used in skew calculation */
|
|
123
|
+
maxOiShort: number
|
|
124
|
+
/** Reference position size for size scaling. If zero, size scaling is disabled. */
|
|
125
|
+
referenceSize: number
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Sudo SDK specific data structures
|
|
129
|
+
export interface ISudoMarket {
|
|
130
|
+
lpSupply: bigint
|
|
131
|
+
lpSupplyWithDecimals: number
|
|
132
|
+
totalValue: number
|
|
133
|
+
apr?: number
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface ISudoVault {
|
|
137
|
+
symbol: string
|
|
138
|
+
liquidity: bigint
|
|
139
|
+
reservedAmount: bigint
|
|
140
|
+
enabled: boolean
|
|
141
|
+
weight: number
|
|
142
|
+
lastUpdate: number
|
|
143
|
+
totalValue: number
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface ISudoSymbol {
|
|
147
|
+
name: string
|
|
148
|
+
openingSize: bigint
|
|
149
|
+
openingAmount: bigint
|
|
150
|
+
fundingRate: number
|
|
151
|
+
long: boolean
|
|
152
|
+
lastUpdate: number
|
|
153
|
+
totalOpenInterest: number
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface ISudoPosition {
|
|
157
|
+
id: string
|
|
158
|
+
owner: string
|
|
159
|
+
symbol: string
|
|
160
|
+
size: bigint
|
|
161
|
+
collateralAmount: bigint
|
|
162
|
+
long: boolean
|
|
163
|
+
lastUpdate: number
|
|
164
|
+
unrealizedPnl: number
|
|
165
|
+
liquidationPrice: number
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export interface ISudoOrder {
|
|
169
|
+
id: string
|
|
170
|
+
owner: string
|
|
171
|
+
symbol: string
|
|
172
|
+
size: bigint
|
|
173
|
+
triggerPrice: number
|
|
174
|
+
long: boolean
|
|
175
|
+
createdAt: number
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface ISudoHistory {
|
|
179
|
+
owner: string
|
|
180
|
+
txid: string
|
|
181
|
+
id: string
|
|
182
|
+
timestamp: number
|
|
183
|
+
action: string
|
|
184
|
+
symbol: string
|
|
185
|
+
price: number
|
|
186
|
+
size: number
|
|
187
|
+
pnl: number
|
|
188
|
+
fee: number
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export interface ISudoStaked {
|
|
192
|
+
credentials: ISudoStakeCredential[]
|
|
193
|
+
amount: bigint
|
|
194
|
+
claimable: bigint
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export interface ISudoStakeCredential {
|
|
198
|
+
id: string
|
|
199
|
+
poolId: string
|
|
200
|
+
amount: bigint
|
|
201
|
+
lockUntil: number
|
|
202
|
+
claimable: bigint
|
|
203
|
+
rewardRate: number
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// SLP-specific data API interface
|
|
207
|
+
export interface ISLPDataAPI extends IBaseDataAPI {
|
|
208
|
+
getCumulativeApr: () => Promise<number>
|
|
209
|
+
getSymbolConfig: (indexToken: string, long: boolean) => Promise<ISLPSymbolConfig | null>
|
|
210
|
+
getPriceImpactConfig: (indexToken: string) => Promise<ISLPPriceImpactConfig | null>
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// SLP-specific API interface
|
|
214
|
+
export interface ISLPAPI extends IBaseAPI {
|
|
215
|
+
// SLP-specific api methods can be added here
|
|
216
|
+
claimTokenFromSCard: (
|
|
217
|
+
token: string,
|
|
218
|
+
coinObjects: string[],
|
|
219
|
+
kioskClient: KioskClient,
|
|
220
|
+
kioskCap: KioskOwnerCap,
|
|
221
|
+
scard: string
|
|
222
|
+
) => Transaction
|
|
223
|
+
|
|
224
|
+
depositPtb: (
|
|
225
|
+
coin: string,
|
|
226
|
+
coinObjects: string[],
|
|
227
|
+
amount: number,
|
|
228
|
+
minAmountOut?: number,
|
|
229
|
+
referralAddress?: string,
|
|
230
|
+
sender?: string,
|
|
231
|
+
tx?: Transaction,
|
|
232
|
+
sponsoredTx?: boolean,
|
|
233
|
+
suiCoinObjectsForPythUpdate?: string[],
|
|
234
|
+
) => Promise<TransactionObjectArgument>
|
|
235
|
+
|
|
236
|
+
withdrawLpCoinObject: (
|
|
237
|
+
coin: string,
|
|
238
|
+
lpCoinObject: TransactionObjectArgument,
|
|
239
|
+
minAmountOut: number,
|
|
240
|
+
tx?: Transaction,
|
|
241
|
+
) => Promise<Transaction>
|
|
242
|
+
|
|
243
|
+
stakeCoinObject: (
|
|
244
|
+
coinObject: TransactionObjectArgument,
|
|
245
|
+
pool: string,
|
|
246
|
+
tx?: Transaction,
|
|
247
|
+
) => Transaction
|
|
248
|
+
|
|
249
|
+
withdrawFromVaultPtb: (
|
|
250
|
+
pool: string,
|
|
251
|
+
credential: string,
|
|
252
|
+
withdrawAmount: bigint,
|
|
253
|
+
tx: Transaction,
|
|
254
|
+
) => TransactionObjectArgument
|
|
255
|
+
|
|
256
|
+
claimRewardsPtb: (
|
|
257
|
+
pool: string,
|
|
258
|
+
credential: string,
|
|
259
|
+
tx: Transaction,
|
|
260
|
+
) => TransactionObjectArgument
|
|
261
|
+
|
|
262
|
+
unstakeToCoins: (
|
|
263
|
+
credentials: ISLPCredential[],
|
|
264
|
+
amount: bigint,
|
|
265
|
+
pool: string,
|
|
266
|
+
tx: Transaction,
|
|
267
|
+
) => TransactionObjectArgument[]
|
|
268
|
+
}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* USDZ-specific interfaces and types
|
|
3
|
+
* Extends base interfaces with USDZ-specific implementations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions'
|
|
7
|
+
|
|
8
|
+
import type {
|
|
9
|
+
IBaseAPI,
|
|
10
|
+
IBaseCredential,
|
|
11
|
+
IBaseDataAPI,
|
|
12
|
+
IBaseFundingFeeModel,
|
|
13
|
+
IBaseHistory,
|
|
14
|
+
IBaseMarketInfo,
|
|
15
|
+
IBaseMarketValuationInfo,
|
|
16
|
+
IBaseOrderCapInfo,
|
|
17
|
+
IBaseOrderInfo,
|
|
18
|
+
IBasePositionCapInfo,
|
|
19
|
+
IBasePositionConfig,
|
|
20
|
+
IBasePositionInfo,
|
|
21
|
+
IBaseRebaseFeeModel,
|
|
22
|
+
IBaseReservingFeeModel,
|
|
23
|
+
IBaseStakePool,
|
|
24
|
+
IBaseSymbolInfo,
|
|
25
|
+
IBaseVaultInfo,
|
|
26
|
+
} from './base'
|
|
27
|
+
|
|
28
|
+
// USDZ-specific interfaces
|
|
29
|
+
export interface IUSDZMarketValuationInfo extends IBaseMarketValuationInfo { }
|
|
30
|
+
|
|
31
|
+
export interface IUSDZVaultInfo extends IBaseVaultInfo { }
|
|
32
|
+
|
|
33
|
+
export interface IUSDZReservingFeeModel extends IBaseReservingFeeModel { }
|
|
34
|
+
|
|
35
|
+
export interface IUSDZFundingFeeModel extends IBaseFundingFeeModel { }
|
|
36
|
+
|
|
37
|
+
export interface IUSDZRebaseFeeModel extends IBaseRebaseFeeModel { }
|
|
38
|
+
|
|
39
|
+
export interface IUSDZSymbolInfo extends IBaseSymbolInfo { }
|
|
40
|
+
|
|
41
|
+
export interface IUSDZMarketInfo extends IBaseMarketInfo {
|
|
42
|
+
// USDZ-specific market info fields can be added here
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface IUSDZPositionInfo extends IBasePositionInfo {
|
|
46
|
+
// USDZ-specific position fields can be added here
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface IUSDZPositionConfig extends IBasePositionConfig { }
|
|
50
|
+
|
|
51
|
+
export interface IUSDZPositionCapInfo extends IBasePositionCapInfo { }
|
|
52
|
+
|
|
53
|
+
export interface IUSDZOrderInfo extends IBaseOrderInfo { }
|
|
54
|
+
|
|
55
|
+
export interface IUSDZOrderCapInfo extends IBaseOrderCapInfo { }
|
|
56
|
+
|
|
57
|
+
export interface IUSDZHistory extends IBaseHistory {
|
|
58
|
+
// USDZ-specific history fields can be added here
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface IUSDZStakePool extends IBaseStakePool {
|
|
62
|
+
// USDZ-specific stake pool fields can be added here
|
|
63
|
+
rewardRate: bigint
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface IUSDZCredential extends IBaseCredential {
|
|
67
|
+
// USDZ-specific credential fields can be added here
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// USDZ Symbol Config interfaces
|
|
71
|
+
export interface IUSDZPositionInstantExitFeeConfig {
|
|
72
|
+
instant_exit_tier_1_duration_threshold: number
|
|
73
|
+
instant_exit_tier_1_fee_bps: number
|
|
74
|
+
instant_exit_tier_1_fee_enabled: boolean
|
|
75
|
+
instant_exit_tier_2_duration_threshold: number
|
|
76
|
+
instant_exit_tier_2_fee_bps: number
|
|
77
|
+
instant_exit_tier_2_fee_enabled: boolean
|
|
78
|
+
instant_exit_tier_3_duration_threshold: number
|
|
79
|
+
instant_exit_tier_3_fee_bps: number
|
|
80
|
+
instant_exit_tier_3_fee_enabled: boolean
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface IUSDZSymbolConfig {
|
|
84
|
+
id: string
|
|
85
|
+
max_opening_size: number
|
|
86
|
+
max_opening_size_enabled: boolean
|
|
87
|
+
max_opening_size_per_position: number
|
|
88
|
+
max_opening_size_per_position_enabled: boolean
|
|
89
|
+
instant_exit_fee_config: IUSDZPositionInstantExitFeeConfig
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export interface IUSDZOiFundingModel {
|
|
93
|
+
id: string
|
|
94
|
+
multiplier: number
|
|
95
|
+
exponent: number
|
|
96
|
+
max: number
|
|
97
|
+
}
|
|
98
|
+
export interface IUSDZOiFundingState {
|
|
99
|
+
id: string
|
|
100
|
+
enabled: boolean
|
|
101
|
+
last_update: number
|
|
102
|
+
model: IUSDZOiFundingModel
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Price impact configuration for a trading symbol.
|
|
107
|
+
* Used to compute dynamic spreads based on OI skew.
|
|
108
|
+
*/
|
|
109
|
+
export interface IUSDZPriceImpactConfig {
|
|
110
|
+
id: string
|
|
111
|
+
/** Whether price impact is enabled for this symbol */
|
|
112
|
+
enabled: boolean
|
|
113
|
+
/** Base spread applied to all trades (as a rate, e.g., 0.001 = 0.1%) */
|
|
114
|
+
baseSpreadRate: number
|
|
115
|
+
/** Maximum additional dynamic spread based on OI skew */
|
|
116
|
+
maxDynamicSpreadRate: number
|
|
117
|
+
/** Cap for total spread (base + dynamic) */
|
|
118
|
+
maxTotalSpreadRate: number
|
|
119
|
+
/** Exponent for spread curve (1.0=linear, 2.0=quadratic, 3.0=cubic) */
|
|
120
|
+
impactExponent: number
|
|
121
|
+
/** Maximum OI for long side used in skew calculation */
|
|
122
|
+
maxOiLong: number
|
|
123
|
+
/** Maximum OI for short side used in skew calculation */
|
|
124
|
+
maxOiShort: number
|
|
125
|
+
/** Reference position size for size scaling. If zero, size scaling is disabled. */
|
|
126
|
+
referenceSize: number
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// USDZ-specific data API interface
|
|
130
|
+
export interface IUSDZDataAPI extends IBaseDataAPI {
|
|
131
|
+
getSymbolConfig: (indexToken: string, long: boolean) => Promise<IUSDZSymbolConfig | null>
|
|
132
|
+
getPriceImpactConfig: (indexToken: string) => Promise<IUSDZPriceImpactConfig | null>
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// USDZ-specific API interface
|
|
136
|
+
export interface IUSDZAPI extends IBaseAPI {
|
|
137
|
+
depositPtb: (
|
|
138
|
+
coin: string,
|
|
139
|
+
coinObjects: string[],
|
|
140
|
+
amount: number,
|
|
141
|
+
minAmountOut?: number,
|
|
142
|
+
referralAddress?: string,
|
|
143
|
+
sender?: string,
|
|
144
|
+
tx?: Transaction,
|
|
145
|
+
sponsoredTx?: boolean,
|
|
146
|
+
suiCoinObjectsForPythUpdate?: string[],
|
|
147
|
+
) => Promise<TransactionObjectArgument>
|
|
148
|
+
|
|
149
|
+
withdrawLpCoinObject: (
|
|
150
|
+
coin: string,
|
|
151
|
+
lpCoinObject: TransactionObjectArgument,
|
|
152
|
+
minAmountOut: number,
|
|
153
|
+
tx?: Transaction,
|
|
154
|
+
) => Promise<Transaction>
|
|
155
|
+
|
|
156
|
+
stakeCoinObject: (
|
|
157
|
+
coinObject: TransactionObjectArgument,
|
|
158
|
+
pool: string,
|
|
159
|
+
tx?: Transaction,
|
|
160
|
+
) => Transaction
|
|
161
|
+
|
|
162
|
+
withdrawFromVaultPtb: (
|
|
163
|
+
pool: string,
|
|
164
|
+
credential: string,
|
|
165
|
+
withdrawAmount: bigint,
|
|
166
|
+
tx: Transaction,
|
|
167
|
+
) => TransactionObjectArgument
|
|
168
|
+
|
|
169
|
+
claimRewardsPtb: (
|
|
170
|
+
pool: string,
|
|
171
|
+
credential: string,
|
|
172
|
+
tx: Transaction,
|
|
173
|
+
) => TransactionObjectArgument
|
|
174
|
+
|
|
175
|
+
unstakeToCoins: (
|
|
176
|
+
credentials: IUSDZCredential[],
|
|
177
|
+
amount: bigint,
|
|
178
|
+
pool: string,
|
|
179
|
+
tx: Transaction,
|
|
180
|
+
) => TransactionObjectArgument[]
|
|
181
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* USDZ-specific interfaces and types
|
|
3
|
+
* Extends base interfaces with USDZ-specific implementations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions'
|
|
7
|
+
|
|
8
|
+
import type {
|
|
9
|
+
IBaseAPI,
|
|
10
|
+
IBaseCredential,
|
|
11
|
+
IBaseDataAPI,
|
|
12
|
+
IBaseFundingFeeModel,
|
|
13
|
+
IBaseHistory,
|
|
14
|
+
IBaseMarketInfo,
|
|
15
|
+
IBaseMarketValuationInfo,
|
|
16
|
+
IBaseOrderCapInfo,
|
|
17
|
+
IBaseOrderInfo,
|
|
18
|
+
IBasePositionCapInfo,
|
|
19
|
+
IBasePositionConfig,
|
|
20
|
+
IBasePositionInfo,
|
|
21
|
+
IBaseRebaseFeeModel,
|
|
22
|
+
IBaseReservingFeeModel,
|
|
23
|
+
IBaseStakePool,
|
|
24
|
+
IBaseSymbolInfo,
|
|
25
|
+
IBaseVaultInfo,
|
|
26
|
+
} from './base'
|
|
27
|
+
|
|
28
|
+
// USDZ-specific interfaces
|
|
29
|
+
export interface IZBTCVCMarketValuationInfo extends IBaseMarketValuationInfo { }
|
|
30
|
+
|
|
31
|
+
export interface IZBTCVCVaultInfo extends IBaseVaultInfo { }
|
|
32
|
+
|
|
33
|
+
export interface IZBTCVCReservingFeeModel extends IBaseReservingFeeModel { }
|
|
34
|
+
|
|
35
|
+
export interface IZBTCVCFundingFeeModel extends IBaseFundingFeeModel { }
|
|
36
|
+
|
|
37
|
+
export interface IZBTCVCRebaseFeeModel extends IBaseRebaseFeeModel { }
|
|
38
|
+
|
|
39
|
+
export interface IZBTCVCSymbolInfo extends IBaseSymbolInfo { }
|
|
40
|
+
|
|
41
|
+
export interface IZBTCVCMarketInfo extends IBaseMarketInfo {
|
|
42
|
+
// USDZ-specific market info fields can be added here
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface IZBTCVCPositionInfo extends IBasePositionInfo {
|
|
46
|
+
// USDZ-specific position fields can be added here
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface IZBTCVCPositionConfig extends IBasePositionConfig { }
|
|
50
|
+
|
|
51
|
+
export interface IZBTCVCPositionCapInfo extends IBasePositionCapInfo { }
|
|
52
|
+
|
|
53
|
+
export interface IZBTCVCOrderInfo extends IBaseOrderInfo { }
|
|
54
|
+
|
|
55
|
+
export interface IZBTCVCOrderCapInfo extends IBaseOrderCapInfo { }
|
|
56
|
+
|
|
57
|
+
export interface IZBTCVCHistory extends IBaseHistory {
|
|
58
|
+
// USDZ-specific history fields can be added here
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface IZBTCVCStakePool extends IBaseStakePool {
|
|
62
|
+
// USDZ-specific stake pool fields can be added here
|
|
63
|
+
rewardRate: bigint
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface IZBTCVCCredential extends IBaseCredential {
|
|
67
|
+
// USDZ-specific credential fields can be added here
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// USDZ Symbol Config interfaces
|
|
71
|
+
export interface IZBTCVCPositionInstantExitFeeConfig {
|
|
72
|
+
instant_exit_tier_1_duration_threshold: number
|
|
73
|
+
instant_exit_tier_1_fee_bps: number
|
|
74
|
+
instant_exit_tier_1_fee_enabled: boolean
|
|
75
|
+
instant_exit_tier_2_duration_threshold: number
|
|
76
|
+
instant_exit_tier_2_fee_bps: number
|
|
77
|
+
instant_exit_tier_2_fee_enabled: boolean
|
|
78
|
+
instant_exit_tier_3_duration_threshold: number
|
|
79
|
+
instant_exit_tier_3_fee_bps: number
|
|
80
|
+
instant_exit_tier_3_fee_enabled: boolean
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface IZBTCVCSymbolConfig {
|
|
84
|
+
id: string
|
|
85
|
+
max_opening_size: number
|
|
86
|
+
max_opening_size_enabled: boolean
|
|
87
|
+
max_opening_size_per_position: number
|
|
88
|
+
max_opening_size_per_position_enabled: boolean
|
|
89
|
+
instant_exit_fee_config: IZBTCVCPositionInstantExitFeeConfig
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// USDZ-specific data API interface
|
|
93
|
+
export interface IZBTCVCDataAPI extends IBaseDataAPI {
|
|
94
|
+
getSymbolConfig: (indexToken: string, long: boolean) => Promise<IZBTCVCSymbolConfig | null>
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// USDZ-specific API interface
|
|
98
|
+
export interface IZBTCVCAPI extends IBaseAPI {
|
|
99
|
+
depositPtb: (
|
|
100
|
+
coin: string,
|
|
101
|
+
coinObjects: string[],
|
|
102
|
+
amount: number,
|
|
103
|
+
minAmountOut?: number,
|
|
104
|
+
referralAddress?: string,
|
|
105
|
+
sender?: string,
|
|
106
|
+
tx?: Transaction,
|
|
107
|
+
sponsoredTx?: boolean,
|
|
108
|
+
suiCoinObjectsForPythUpdate?: string[],
|
|
109
|
+
) => Promise<TransactionObjectArgument>
|
|
110
|
+
|
|
111
|
+
stakeCoinObject: (
|
|
112
|
+
coinObject: TransactionObjectArgument,
|
|
113
|
+
pool: string,
|
|
114
|
+
tx?: Transaction,
|
|
115
|
+
) => Transaction
|
|
116
|
+
}
|