zo-sdk 0.1.75 → 0.1.76
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 +3 -1
- package/dist/consts/deployments-usdz-mainnet.json +1 -1
- package/dist/consts/deployments-zlp-mainnet.json +1 -1
- package/dist/consts/deployments-zlp-testnet.json +17 -17
- package/dist/implementations/USDZDataAPI.cjs +287 -0
- package/dist/implementations/USDZDataAPI.cjs.map +1 -1
- package/dist/implementations/USDZDataAPI.d.cts +93 -1
- package/dist/implementations/USDZDataAPI.d.cts.map +1 -1
- package/dist/implementations/USDZDataAPI.d.mts +93 -1
- package/dist/implementations/USDZDataAPI.d.mts.map +1 -1
- package/dist/implementations/USDZDataAPI.mjs +287 -0
- package/dist/implementations/USDZDataAPI.mjs.map +1 -1
- package/dist/implementations/ZLPDataAPI.cjs +287 -0
- package/dist/implementations/ZLPDataAPI.cjs.map +1 -1
- package/dist/implementations/ZLPDataAPI.d.cts +93 -1
- package/dist/implementations/ZLPDataAPI.d.cts.map +1 -1
- package/dist/implementations/ZLPDataAPI.d.mts +93 -1
- package/dist/implementations/ZLPDataAPI.d.mts.map +1 -1
- package/dist/implementations/ZLPDataAPI.mjs +287 -0
- package/dist/implementations/ZLPDataAPI.mjs.map +1 -1
- package/dist/interfaces/usdz.d.cts +24 -0
- package/dist/interfaces/usdz.d.cts.map +1 -1
- package/dist/interfaces/usdz.d.mts +24 -0
- package/dist/interfaces/usdz.d.mts.map +1 -1
- package/dist/interfaces/zlp.d.cts +24 -0
- package/dist/interfaces/zlp.d.cts.map +1 -1
- package/dist/interfaces/zlp.d.mts +24 -0
- package/dist/interfaces/zlp.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/consts/deployments-usdz-mainnet.json +1 -1
- package/src/consts/deployments-zlp-mainnet.json +1 -1
- package/src/consts/deployments-zlp-testnet.json +17 -17
- package/src/implementations/USDZDataAPI.ts +380 -0
- package/src/implementations/ZLPDataAPI.ts +380 -0
- package/src/interfaces/usdz.ts +25 -0
- package/src/interfaces/zlp.ts +25 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"zo_core": {
|
|
3
3
|
"package": "0x7fd8aba1652c58b6397c799fd375e748e5053145cb7e126d303e0a1545fd1fec",
|
|
4
|
-
"upgraded_package": "
|
|
4
|
+
"upgraded_package": "0x28405237f444c214c03ba32778a2e1716c3311bbe517b9f216b0d83778c36729",
|
|
5
5
|
"upgrade_cap": "0x2f67d379d3b9e256a9c4079de50f4bd336dcbda1bd90d1fcd61a9cc1dc369d69",
|
|
6
6
|
"admin_cap": "0x63af8e78701327be98e0c44967389148c374f4ea7c7cf8acf64957b705ffd02d",
|
|
7
7
|
"market": "0x3310c794d0bbc4b0421d2fedc74fbd5a028b09fe4d396cd5458786f4c52fa636",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"zo_core": {
|
|
3
3
|
"package": "0xf7fade57462e56e2eff1d7adef32e4fd285b21fd81f983f407bb7110ca766cda",
|
|
4
|
-
"upgraded_package": "
|
|
4
|
+
"upgraded_package": "0x05248f4f39558466b1f7e55bd09072bb8a6c31b6514d42ce0b50b7f36356d204",
|
|
5
5
|
"upgrade_cap": "0xcc96f78abe0b868afaab05954ccc6357afb5d379a21389d6eb88dda8b1f60052",
|
|
6
6
|
"admin_cap": "0xbc10f6481f2b5d6185c73ee680aa90a60fe3854d9f638e00f7e00d3b6a88e2b8",
|
|
7
7
|
"market": "0x35c667bd8c401036103992791a924f31df0d104256a9e2313acee5b1bcf05b7e",
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"zo_core": {
|
|
3
|
-
"package": "
|
|
4
|
-
"upgraded_package": "
|
|
5
|
-
"upgrade_cap": "
|
|
6
|
-
"admin_cap": "
|
|
7
|
-
"market": "
|
|
8
|
-
"zlp_metadata": "
|
|
9
|
-
"rebase_fee_model": "
|
|
10
|
-
"referrals_parent": "
|
|
11
|
-
"vaults_parent": "
|
|
12
|
-
"symbols_parent": "
|
|
13
|
-
"positions_parent": "
|
|
14
|
-
"orders_parent": "
|
|
3
|
+
"package": "0x161bbe52dfee04cc831a8d15bc60f631651a72cae06f5820d6e64377e678691b",
|
|
4
|
+
"upgraded_package": "0x161bbe52dfee04cc831a8d15bc60f631651a72cae06f5820d6e64377e678691b",
|
|
5
|
+
"upgrade_cap": "0xd0f8b6a095b986ab60f38ba5b4522b987bce35b9c980fabd7a02ad9db8635163",
|
|
6
|
+
"admin_cap": "0x608768d00e87d41c4aadbf65829f991fc285d13c97f367a8b5592bd74c198baa",
|
|
7
|
+
"market": "0x5bfc76285c5f4d40483f94742c43359bbc2230276d70d8be9f9c6047e0403fb8",
|
|
8
|
+
"zlp_metadata": "0xff699932e525d39bc9240f5350d2c0c90c9fbbfa0ca619418d4a9f1df99fa67a",
|
|
9
|
+
"rebase_fee_model": "0xe4c917c88c9d7d2573b79c939566af1d45416cb2fd6977a1d988e537cb6e2fba",
|
|
10
|
+
"referrals_parent": "0xe7615ed5a94412cb557a54b38c9a3c55cda180ea7d98ea112434359bdff5ff20",
|
|
11
|
+
"vaults_parent": "0xfd7ac02284ad040e2f173f9f53bbcd624b5680bf34aea45769e2ff15266419c4",
|
|
12
|
+
"symbols_parent": "0xe76dfe5daf47f96c2af452ef822131f9f8eaa3ec5d43ee20459f16b9026154b9",
|
|
13
|
+
"positions_parent": "0xba6421b65c392c370be1b2a3d72807ff88cf1487af03279ec2f47650100f922f",
|
|
14
|
+
"orders_parent": "0x2e2fa2798494f8aabe09885aa3315067a9d0672c521a06d8ca84257af317f0cf",
|
|
15
15
|
"vaults": {
|
|
16
16
|
"usdt": {
|
|
17
17
|
"weight": "1000000000000000000",
|
|
18
|
-
"reserving_fee_model": "
|
|
18
|
+
"reserving_fee_model": "0x73bf5fea2993d092ffef76ce500cc812765d965d2344d7ff3fafdf774096eac7"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"symbols": {
|
|
22
22
|
"long_btc": {
|
|
23
23
|
"supported_collaterals": ["usdt"],
|
|
24
|
-
"funding_fee_model": "
|
|
25
|
-
"position_config": "
|
|
24
|
+
"funding_fee_model": "0xbd3feed51e3c7c6c82d5b45352a5c2b5d929a7d606fcca641df9f6ed8e343d8f",
|
|
25
|
+
"position_config": "0x6c08e89e9505a1ea79eb9159073640fc586f2e34c8372f3831b0040485c12acb"
|
|
26
26
|
},
|
|
27
27
|
"short_btc": {
|
|
28
28
|
"supported_collaterals": ["usdt"],
|
|
29
|
-
"funding_fee_model": "
|
|
30
|
-
"position_config": "
|
|
29
|
+
"funding_fee_model": "0x1f636eee8ccf1e8b53ffbfad5168ac6329c4dbaf2e9779f9d74dd5f5333da467",
|
|
30
|
+
"position_config": "0x2daa87d7799b83cfcd5d09539156070f9e48999730cc0a062cc0573a9ea4d4e3"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
},
|
|
@@ -271,6 +271,28 @@ class USDZDataAPI extends abstract_1.BaseDataAPI {
|
|
|
271
271
|
return null;
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
|
+
/**
|
|
275
|
+
* Gets price impact configuration for a symbol.
|
|
276
|
+
* Price impact config applies to both long and short directions for the same index token.
|
|
277
|
+
*/
|
|
278
|
+
async getPriceImpactConfig(indexToken) {
|
|
279
|
+
this.validateCache();
|
|
280
|
+
try {
|
|
281
|
+
const rawData = await this.provider.getDynamicFieldObject({
|
|
282
|
+
parentId: this.consts.zoCore.market,
|
|
283
|
+
name: {
|
|
284
|
+
type: `0x28405237f444c214c03ba32778a2e1716c3311bbe517b9f216b0d83778c36729::price_impact::PriceImpactConfigKey<${this.consts.coins[indexToken].module}>`,
|
|
285
|
+
value: { dummy_field: false },
|
|
286
|
+
},
|
|
287
|
+
});
|
|
288
|
+
return USDZDataAPI.parsePriceImpactConfig(rawData);
|
|
289
|
+
}
|
|
290
|
+
catch (e) {
|
|
291
|
+
// If the dynamic field doesn't exist, return null (price impact not configured for this symbol)
|
|
292
|
+
console.error('Error Fetching Price Impact Config:', e);
|
|
293
|
+
return null;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
274
296
|
async getPositionCapInfoList(owner) {
|
|
275
297
|
const positionCapInfoList = [];
|
|
276
298
|
let cursor;
|
|
@@ -791,6 +813,271 @@ class USDZDataAPI extends abstract_1.BaseDataAPI {
|
|
|
791
813
|
},
|
|
792
814
|
};
|
|
793
815
|
}
|
|
816
|
+
static parsePriceImpactConfig(raw) {
|
|
817
|
+
const content = raw.data.content.fields;
|
|
818
|
+
return {
|
|
819
|
+
id: content.id.id,
|
|
820
|
+
enabled: content.enabled,
|
|
821
|
+
baseSpreadRate: (0, utils_2.parseValue)(content.base_spread_rate),
|
|
822
|
+
maxDynamicSpreadRate: (0, utils_2.parseValue)(content.max_dynamic_spread_rate),
|
|
823
|
+
maxTotalSpreadRate: (0, utils_2.parseValue)(content.max_total_spread_rate),
|
|
824
|
+
impactExponent: (0, utils_2.parseValue)(content.impact_exponent),
|
|
825
|
+
maxOiLong: (0, utils_2.parseValue)(content.max_oi_long),
|
|
826
|
+
maxOiShort: (0, utils_2.parseValue)(content.max_oi_short),
|
|
827
|
+
referenceSize: (0, utils_2.parseValue)(content.reference_size),
|
|
828
|
+
};
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Computes the spread rate based on OI skew between long and short sides using point evaluation.
|
|
832
|
+
* This is the offchain equivalent of price_impact::compute_spread_rate in the Move contract.
|
|
833
|
+
*
|
|
834
|
+
* NOTE: This method uses point evaluation at the final state. For large trades,
|
|
835
|
+
* use computeAverageSpreadRate() instead, which integrates over the trade path
|
|
836
|
+
* for more accurate pricing.
|
|
837
|
+
*
|
|
838
|
+
* @param config - Price impact configuration for the symbol
|
|
839
|
+
* @param currentOiThisSide - Current OI on the side being traded (in value terms)
|
|
840
|
+
* @param newPositionSize - Size of the new position in value terms
|
|
841
|
+
* @param currentOiOpposite - Current OI on the opposite side (in value terms)
|
|
842
|
+
* @param maxOiThisSide - Maximum OI for this side (from config or SymbolConfig)
|
|
843
|
+
* @param maxOiOpposite - Maximum OI for opposite side (from config or SymbolConfig)
|
|
844
|
+
* @returns Total spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
845
|
+
*/
|
|
846
|
+
static computeSpreadRate(config, currentOiThisSide, newPositionSize, currentOiOpposite, maxOiThisSide, maxOiOpposite) {
|
|
847
|
+
// If not enabled, return zero spread
|
|
848
|
+
if (!config.enabled) {
|
|
849
|
+
return 0;
|
|
850
|
+
}
|
|
851
|
+
// If maxOiThisSide is zero, return base spread only (cannot compute utilization)
|
|
852
|
+
if (maxOiThisSide === 0) {
|
|
853
|
+
return config.baseSpreadRate;
|
|
854
|
+
}
|
|
855
|
+
// Calculate this side utilization: (current_oi + new_position) / max_oi
|
|
856
|
+
const totalOiThis = currentOiThisSide + newPositionSize;
|
|
857
|
+
const thisUtil = Math.min(totalOiThis / maxOiThisSide, 1);
|
|
858
|
+
// Calculate opposite side utilization: current_oi / max_oi
|
|
859
|
+
let oppositeUtil = 0;
|
|
860
|
+
if (maxOiOpposite > 0) {
|
|
861
|
+
oppositeUtil = Math.min(currentOiOpposite / maxOiOpposite, 1);
|
|
862
|
+
}
|
|
863
|
+
// Calculate skew_ratio = this_util - opposite_util, clamped to [0, 1]
|
|
864
|
+
// Positive when this side is more utilized (crowded), which increases spread
|
|
865
|
+
let skewRatio = thisUtil - oppositeUtil;
|
|
866
|
+
if (skewRatio < 0) {
|
|
867
|
+
skewRatio = 0; // No penalty when opposite side is more crowded
|
|
868
|
+
}
|
|
869
|
+
else if (skewRatio > 1) {
|
|
870
|
+
skewRatio = 1; // Cap at 1.0
|
|
871
|
+
}
|
|
872
|
+
// Calculate dynamic_spread = max_dynamic * (skew_ratio ^ exponent)
|
|
873
|
+
// For fractional exponents, use linear interpolation
|
|
874
|
+
const exponent = config.impactExponent;
|
|
875
|
+
const exponentInt = Math.floor(exponent);
|
|
876
|
+
const exponentFrac = exponent - exponentInt;
|
|
877
|
+
// Compute base^exponent_int
|
|
878
|
+
let ratioPowered = skewRatio ** exponentInt;
|
|
879
|
+
// For fractional exponent, interpolate: result = base^n + frac * (base^(n+1) - base^n)
|
|
880
|
+
if (exponentFrac > 0) {
|
|
881
|
+
const ratioPoweredNext = skewRatio ** (exponentInt + 1);
|
|
882
|
+
const diff = ratioPoweredNext - ratioPowered;
|
|
883
|
+
if (diff >= 0) {
|
|
884
|
+
ratioPowered += exponentFrac * diff;
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
// dynamic_spread = max_dynamic_spread * final_ratio
|
|
888
|
+
const dynamicSpread = config.maxDynamicSpreadRate * ratioPowered;
|
|
889
|
+
// total_spread = base_spread + dynamic_spread
|
|
890
|
+
let totalSpread = config.baseSpreadRate + dynamicSpread;
|
|
891
|
+
// Cap at max_total_spread
|
|
892
|
+
if (totalSpread > config.maxTotalSpreadRate) {
|
|
893
|
+
totalSpread = config.maxTotalSpreadRate;
|
|
894
|
+
}
|
|
895
|
+
return totalSpread;
|
|
896
|
+
}
|
|
897
|
+
/**
|
|
898
|
+
* Computes the size factor multiplier based on position size.
|
|
899
|
+
* Formula: size_factor = 1 + min(1, position_size / reference_size)
|
|
900
|
+
*
|
|
901
|
+
* @param positionSize - Size of the new position
|
|
902
|
+
* @param referenceSize - Reference size for scaling (0 = disabled)
|
|
903
|
+
* @returns Size factor multiplier (1.0 to 2.0)
|
|
904
|
+
*/
|
|
905
|
+
static computeSizeFactor(positionSize, referenceSize) {
|
|
906
|
+
// If reference_size is zero, size scaling is disabled
|
|
907
|
+
if (referenceSize === 0) {
|
|
908
|
+
return 1;
|
|
909
|
+
}
|
|
910
|
+
// Compute position_size / reference_size, capped at 1
|
|
911
|
+
const ratio = Math.min(positionSize / referenceSize, 1);
|
|
912
|
+
// Return 1 + capped_ratio
|
|
913
|
+
return 1 + ratio;
|
|
914
|
+
}
|
|
915
|
+
/**
|
|
916
|
+
* Computes the average value of max_dynamic * s^n over the interval [s1, s2].
|
|
917
|
+
* Uses the integral formula: average = max_dynamic * (s2^(n+1) - s1^(n+1)) / ((n+1) * (s2 - s1))
|
|
918
|
+
*
|
|
919
|
+
* @param maxDynamic - Maximum dynamic spread rate
|
|
920
|
+
* @param s1 - Start skew ratio
|
|
921
|
+
* @param s2 - End skew ratio
|
|
922
|
+
* @param exponent - Impact exponent
|
|
923
|
+
* @returns Average dynamic spread rate
|
|
924
|
+
*/
|
|
925
|
+
static computeIntegralAverage(maxDynamic, s1, s2, exponent) {
|
|
926
|
+
// If s1 == s2, return point evaluation
|
|
927
|
+
if (s1 === s2) {
|
|
928
|
+
return maxDynamic * (s1 ** exponent);
|
|
929
|
+
}
|
|
930
|
+
// Compute n + 1
|
|
931
|
+
const nPlus1 = exponent + 1;
|
|
932
|
+
// Compute s2^(n+1) and s1^(n+1)
|
|
933
|
+
const s2Pow = s2 ** nPlus1;
|
|
934
|
+
const s1Pow = s1 ** nPlus1;
|
|
935
|
+
// Compute numerator: s2^(n+1) - s1^(n+1)
|
|
936
|
+
const numerator = Math.abs(s2Pow - s1Pow);
|
|
937
|
+
// Compute denominator: (n+1) * (s2 - s1)
|
|
938
|
+
const sDiff = Math.abs(s2 - s1);
|
|
939
|
+
const denominator = nPlus1 * sDiff;
|
|
940
|
+
// Avoid division by zero
|
|
941
|
+
if (denominator === 0) {
|
|
942
|
+
return 0;
|
|
943
|
+
}
|
|
944
|
+
// Compute average ratio and multiply by max_dynamic
|
|
945
|
+
return maxDynamic * (numerator / denominator);
|
|
946
|
+
}
|
|
947
|
+
/**
|
|
948
|
+
* Computes the average spread rate over the trade path with size scaling.
|
|
949
|
+
* This is the offchain equivalent of price_impact::compute_average_spread_rate in the Move contract.
|
|
950
|
+
*
|
|
951
|
+
* This function integrates the spread over the utilization change rather than
|
|
952
|
+
* using the final-state spread, and applies a size-based multiplier to the
|
|
953
|
+
* dynamic spread component.
|
|
954
|
+
*
|
|
955
|
+
* @param config - Price impact configuration for the symbol
|
|
956
|
+
* @param currentOiThisSide - Current OI on the side being traded (in value terms)
|
|
957
|
+
* @param newPositionSize - Size of the new position in value terms
|
|
958
|
+
* @param currentOiOpposite - Current OI on the opposite side (in value terms)
|
|
959
|
+
* @param maxOiThisSide - Maximum OI for this side (from config or SymbolConfig)
|
|
960
|
+
* @param maxOiOpposite - Maximum OI for opposite side (from config or SymbolConfig)
|
|
961
|
+
* @returns Total spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
962
|
+
*/
|
|
963
|
+
static computeAverageSpreadRate(config, currentOiThisSide, newPositionSize, currentOiOpposite, maxOiThisSide, maxOiOpposite) {
|
|
964
|
+
// If not enabled, return zero spread
|
|
965
|
+
if (!config.enabled) {
|
|
966
|
+
return 0;
|
|
967
|
+
}
|
|
968
|
+
// If maxOiThisSide is zero, return base spread only (cannot compute utilization)
|
|
969
|
+
if (maxOiThisSide === 0) {
|
|
970
|
+
return config.baseSpreadRate;
|
|
971
|
+
}
|
|
972
|
+
// Calculate opposite side utilization (constant throughout the trade)
|
|
973
|
+
let oppositeUtil = 0;
|
|
974
|
+
if (maxOiOpposite > 0) {
|
|
975
|
+
oppositeUtil = Math.min(currentOiOpposite / maxOiOpposite, 1);
|
|
976
|
+
}
|
|
977
|
+
// Calculate start utilization: current_oi / max_oi
|
|
978
|
+
const startUtil = Math.min(currentOiThisSide / maxOiThisSide, 1);
|
|
979
|
+
// Calculate end utilization: (current_oi + new_position) / max_oi
|
|
980
|
+
const totalOiThis = currentOiThisSide + newPositionSize;
|
|
981
|
+
const endUtil = Math.min(totalOiThis / maxOiThisSide, 1);
|
|
982
|
+
// Calculate start skew: max(0, min(1, start_util - opposite_util))
|
|
983
|
+
let startSkew = startUtil - oppositeUtil;
|
|
984
|
+
if (startSkew < 0) {
|
|
985
|
+
startSkew = 0;
|
|
986
|
+
}
|
|
987
|
+
else if (startSkew > 1) {
|
|
988
|
+
startSkew = 1;
|
|
989
|
+
}
|
|
990
|
+
// Calculate end skew: max(0, min(1, end_util - opposite_util))
|
|
991
|
+
let endSkew = endUtil - oppositeUtil;
|
|
992
|
+
if (endSkew < 0) {
|
|
993
|
+
endSkew = 0;
|
|
994
|
+
}
|
|
995
|
+
else if (endSkew > 1) {
|
|
996
|
+
endSkew = 1;
|
|
997
|
+
}
|
|
998
|
+
// Compute average dynamic spread via integral
|
|
999
|
+
const avgDynamicRate = USDZDataAPI.computeIntegralAverage(config.maxDynamicSpreadRate, startSkew, endSkew, config.impactExponent);
|
|
1000
|
+
// Apply size scaling factor to dynamic spread
|
|
1001
|
+
const sizeFactor = USDZDataAPI.computeSizeFactor(newPositionSize, config.referenceSize);
|
|
1002
|
+
const scaledDynamicRate = avgDynamicRate * sizeFactor;
|
|
1003
|
+
// total_spread = base_spread + scaled_dynamic
|
|
1004
|
+
let totalSpread = config.baseSpreadRate + scaledDynamicRate;
|
|
1005
|
+
// Cap at max_total_spread
|
|
1006
|
+
if (totalSpread > config.maxTotalSpreadRate) {
|
|
1007
|
+
totalSpread = config.maxTotalSpreadRate;
|
|
1008
|
+
}
|
|
1009
|
+
return totalSpread;
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Applies price impact to a price.
|
|
1013
|
+
* This is the offchain equivalent of price_impact::apply_price_impact in the Move contract.
|
|
1014
|
+
*
|
|
1015
|
+
* Direction logic:
|
|
1016
|
+
* - Open Long: price INCREASES (pay more)
|
|
1017
|
+
* - Open Short: price DECREASES (receive less)
|
|
1018
|
+
* - Close Long: price DECREASES (receive less)
|
|
1019
|
+
* - Close Short: price INCREASES (pay more)
|
|
1020
|
+
*
|
|
1021
|
+
* @param originalPrice - The original price
|
|
1022
|
+
* @param spreadRate - The spread rate to apply (as a decimal, e.g., 0.001 = 0.1%)
|
|
1023
|
+
* @param isLong - Whether this is a long position
|
|
1024
|
+
* @param isOpening - Whether this is opening (true) or closing (false)
|
|
1025
|
+
* @returns Adjusted price with spread applied
|
|
1026
|
+
*/
|
|
1027
|
+
static applyPriceImpact(originalPrice, spreadRate, isLong, isOpening) {
|
|
1028
|
+
// If spread is zero, return original price
|
|
1029
|
+
if (spreadRate === 0) {
|
|
1030
|
+
return originalPrice;
|
|
1031
|
+
}
|
|
1032
|
+
// Determine if we should increase or decrease price
|
|
1033
|
+
// Open Long or Close Short -> increase price
|
|
1034
|
+
// Open Short or Close Long -> decrease price
|
|
1035
|
+
const increasePrice = (isLong && isOpening) || (!isLong && !isOpening);
|
|
1036
|
+
// Calculate spread amount: price * spread_rate
|
|
1037
|
+
const spreadAmount = originalPrice * spreadRate;
|
|
1038
|
+
// Apply spread
|
|
1039
|
+
if (increasePrice) {
|
|
1040
|
+
return originalPrice + spreadAmount;
|
|
1041
|
+
}
|
|
1042
|
+
// Ensure we don't go negative
|
|
1043
|
+
const adjusted = originalPrice - spreadAmount;
|
|
1044
|
+
return Math.max(adjusted, 0);
|
|
1045
|
+
}
|
|
1046
|
+
/**
|
|
1047
|
+
* Convenience method to compute the estimated execution price with price impact.
|
|
1048
|
+
* Fetches the required data and computes the adjusted price.
|
|
1049
|
+
*
|
|
1050
|
+
* @param indexToken - The index token symbol (e.g., 'sui', 'btc')
|
|
1051
|
+
* @param isLong - Whether this is a long position
|
|
1052
|
+
* @param isOpening - Whether this is opening or closing
|
|
1053
|
+
* @param positionSizeValue - Size of the position in value terms (USD)
|
|
1054
|
+
* @returns Object containing spread rate and adjusted price, or null if price impact not configured
|
|
1055
|
+
*/
|
|
1056
|
+
async estimatePriceImpact(indexToken, isLong, isOpening, positionSizeValue) {
|
|
1057
|
+
const config = await this.getPriceImpactConfig(indexToken);
|
|
1058
|
+
if (!config) {
|
|
1059
|
+
return null;
|
|
1060
|
+
}
|
|
1061
|
+
// Get current OI for both sides
|
|
1062
|
+
const longSymbol = await this.getSymbolInfo(indexToken, true);
|
|
1063
|
+
const shortSymbol = await this.getSymbolInfo(indexToken, false);
|
|
1064
|
+
// Get oracle price
|
|
1065
|
+
const oraclePrice = (await this.getOraclePrice(indexToken)).getPriceUnchecked().getPriceAsNumberUnchecked();
|
|
1066
|
+
// Determine which side is "this" side and which is "opposite"
|
|
1067
|
+
const currentOiThisSide = isLong ? longSymbol.openingSize : shortSymbol.openingSize;
|
|
1068
|
+
const currentOiOpposite = isLong ? shortSymbol.openingSize : longSymbol.openingSize;
|
|
1069
|
+
const maxOiThisSide = isLong ? config.maxOiLong : config.maxOiShort;
|
|
1070
|
+
const maxOiOpposite = isLong ? config.maxOiShort : config.maxOiLong;
|
|
1071
|
+
// Compute average spread rate (uses integration for better accuracy on large trades)
|
|
1072
|
+
const spreadRate = USDZDataAPI.computeAverageSpreadRate(config, currentOiThisSide, positionSizeValue, currentOiOpposite, maxOiThisSide, maxOiOpposite);
|
|
1073
|
+
// Apply price impact
|
|
1074
|
+
const adjustedPrice = USDZDataAPI.applyPriceImpact(oraclePrice, spreadRate, isLong, isOpening);
|
|
1075
|
+
return {
|
|
1076
|
+
spreadRate,
|
|
1077
|
+
originalPrice: oraclePrice,
|
|
1078
|
+
adjustedPrice,
|
|
1079
|
+
};
|
|
1080
|
+
}
|
|
794
1081
|
parseOrderInfo(raw, capId) {
|
|
795
1082
|
const { content } = raw.data;
|
|
796
1083
|
const { fields } = content.fields.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"USDZDataAPI.cjs","sourceRoot":"","sources":["../../src/implementations/USDZDataAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"USDZDataAPI.cjs","sourceRoot":"","sources":["../../src/implementations/USDZDataAPI.ts"],"names":[],"mappings":"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"}
|