zo-sdk 0.1.74 → 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.
Files changed (38) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/dist/consts/deployments-slp-mainnet.json +5 -5
  3. package/dist/consts/deployments-usdz-mainnet.json +1 -1
  4. package/dist/consts/deployments-zlp-mainnet.json +1 -1
  5. package/dist/consts/deployments-zlp-testnet.json +17 -17
  6. package/dist/implementations/USDZDataAPI.cjs +287 -0
  7. package/dist/implementations/USDZDataAPI.cjs.map +1 -1
  8. package/dist/implementations/USDZDataAPI.d.cts +93 -1
  9. package/dist/implementations/USDZDataAPI.d.cts.map +1 -1
  10. package/dist/implementations/USDZDataAPI.d.mts +93 -1
  11. package/dist/implementations/USDZDataAPI.d.mts.map +1 -1
  12. package/dist/implementations/USDZDataAPI.mjs +287 -0
  13. package/dist/implementations/USDZDataAPI.mjs.map +1 -1
  14. package/dist/implementations/ZLPDataAPI.cjs +287 -0
  15. package/dist/implementations/ZLPDataAPI.cjs.map +1 -1
  16. package/dist/implementations/ZLPDataAPI.d.cts +93 -1
  17. package/dist/implementations/ZLPDataAPI.d.cts.map +1 -1
  18. package/dist/implementations/ZLPDataAPI.d.mts +93 -1
  19. package/dist/implementations/ZLPDataAPI.d.mts.map +1 -1
  20. package/dist/implementations/ZLPDataAPI.mjs +287 -0
  21. package/dist/implementations/ZLPDataAPI.mjs.map +1 -1
  22. package/dist/interfaces/usdz.d.cts +24 -0
  23. package/dist/interfaces/usdz.d.cts.map +1 -1
  24. package/dist/interfaces/usdz.d.mts +24 -0
  25. package/dist/interfaces/usdz.d.mts.map +1 -1
  26. package/dist/interfaces/zlp.d.cts +24 -0
  27. package/dist/interfaces/zlp.d.cts.map +1 -1
  28. package/dist/interfaces/zlp.d.mts +24 -0
  29. package/dist/interfaces/zlp.d.mts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/consts/deployments-slp-mainnet.json +5 -5
  32. package/src/consts/deployments-usdz-mainnet.json +1 -1
  33. package/src/consts/deployments-zlp-mainnet.json +1 -1
  34. package/src/consts/deployments-zlp-testnet.json +17 -17
  35. package/src/implementations/USDZDataAPI.ts +380 -0
  36. package/src/implementations/ZLPDataAPI.ts +380 -0
  37. package/src/interfaces/usdz.ts +25 -0
  38. package/src/interfaces/zlp.ts +25 -0
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "permissions": {
3
3
  "allow": [
4
- "Bash(npx tsc:*)"
4
+ "Bash(npx tsc:*)",
5
+ "Bash(npm run build:*)",
6
+ "Bash(echo:*)"
5
7
  ]
6
8
  }
7
9
  }
@@ -14,23 +14,23 @@
14
14
  "orders_parent": "0x6084377e6a7eb77c6bcc18e8f2af8a46708af87e98aff448a44e46d7c5afd31a",
15
15
  "vaults": {
16
16
  "sui": {
17
- "weight": "500000000000000000",
17
+ "weight": "700000000000000000",
18
18
  "reserving_fee_model": "0x06420378d3b4bdba8d5afc2f88d33b7c7640aa14330c35f14c9874289147f15b"
19
19
  },
20
20
  "afSui": {
21
- "weight": "200000000000000000",
21
+ "weight": "50000000000000000",
22
22
  "reserving_fee_model": "0x94243eff61204c6afb510639de396217dbbc0cc838626ce7ae8ab7aa9b30a020"
23
23
  },
24
24
  "vSui": {
25
- "weight": "200000000000000000",
25
+ "weight": "100000000000000000",
26
26
  "reserving_fee_model": "0xc02335751b486792862e2d04402f64296442e104e2ee79e1ef9a56f038a2cd2e"
27
27
  },
28
28
  "haSui": {
29
- "weight": "200000000000000000",
29
+ "weight": "50000000000000000",
30
30
  "reserving_fee_model": "0xe11807b19483f87dc9a5547b542670b49b5024d990d7737c330408aeeb852615"
31
31
  },
32
32
  "stSui": {
33
- "weight": "200000000000000000",
33
+ "weight": "25000000000000000",
34
34
  "reserving_fee_model": "0x5bcf93219602a3d972a83c901f8b5d553a24f5e55d6835685a25f4498ca321e1"
35
35
  },
36
36
  "nusdc": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "zo_core": {
3
3
  "package": "0x7fd8aba1652c58b6397c799fd375e748e5053145cb7e126d303e0a1545fd1fec",
4
- "upgraded_package": "0xe5b6069a3d3e423df8f1b161d10ee46825e929dc4ffe089b518782b0f6c925c2",
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": "0xc97bd5b919af019827afef7b9f4c73d95fee147940899f5e144729410a570b68",
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": "0x2f5c8e9360b4a5d823672efc0fb351a3e541b3cddc12e725f0348272c931f1d6",
4
- "upgraded_package": "0x7c51af6b821d009ef673fba177df3c5d04bb049e5cfd815723115b32cdd508df",
5
- "upgrade_cap": "0x3dd0ce4897febd6239998915fd7fd96f681a3f807d78345a5e71862216d92b4a",
6
- "admin_cap": "0x21f728c41c67fee1828ce1a41a1085af924ab9cbfaf5d833ed1b7231ff88bdee",
7
- "market": "0xa420d7b4f930d74f7fdecabae53539cdc014c945bfec3c66c1e0d1ffacb237f5",
8
- "zlp_metadata": "0xcc27fa20afbc984882a3651dbc7930f6b5de576bc9db8752cdfa7d36d1f03ccb",
9
- "rebase_fee_model": "0xae95f6918b4e658ed9d54f0efd6e66dc78765c8b1e7555594287dcb3eb267ecf",
10
- "referrals_parent": "0x71d5e2016a1c82024e3d4f8ad0228e6d9e466b0e0150740ddf58d3b1f44827ab",
11
- "vaults_parent": "0x5321b6805b10e8a85beee8840dd0b247bb5e3e0d50398af7cc871da4c954158a",
12
- "symbols_parent": "0x60a50f7fb4a427119b3b06642b86320cb65d7568f73255d794161730f21097a8",
13
- "positions_parent": "0x70621ef1876b7ebc1784ae56f01c8ff3db6cefda81b2b2ee7de7f84c0c94e14c",
14
- "orders_parent": "0xc29e285fbb3273c3f97d1d76fe66522922893b9a6b0919068eaf02d8337010eb",
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": "0xe20f1fea08880ef5c800cb29b15471199db9d565b1b6b3e2e670ae02171fd04d"
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": "0x66e64c7bb21a24fb55b4e50b02c10c865431c0daaf8b26ad80d11e973c3ea7d0",
25
- "position_config": "0xb6d7f96e5e93278f716f1ee46dcb27c8d1544594d2a11443d141be865ff1bddd"
24
+ "funding_fee_model": "0xbd3feed51e3c7c6c82d5b45352a5c2b5d929a7d606fcca641df9f6ed8e343d8f",
25
+ "position_config": "0x6c08e89e9505a1ea79eb9159073640fc586f2e34c8372f3831b0040485c12acb"
26
26
  },
27
27
  "short_btc": {
28
28
  "supported_collaterals": ["usdt"],
29
- "funding_fee_model": "0xb464432656ef9b74b40342544a7d82e67f2bb0759f047f46acb0ccdb1ea67d43",
30
- "position_config": "0xa38fcd954514f25d34cea9f35593e2a3fa96fd4bebafdadbf5d7e2cd8608f920"
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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"}