@exponent-labs/market-three-math 0.1.8 → 0.9.0

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 (50) hide show
  1. package/build/addLiquidity.d.ts +65 -4
  2. package/build/addLiquidity.js +757 -30
  3. package/build/addLiquidity.js.map +1 -1
  4. package/build/bisect.d.ts +11 -0
  5. package/build/bisect.js +21 -10
  6. package/build/bisect.js.map +1 -1
  7. package/build/index.d.ts +5 -4
  8. package/build/index.js +14 -7
  9. package/build/index.js.map +1 -1
  10. package/build/liquidityHistogram.d.ts +6 -1
  11. package/build/liquidityHistogram.js +55 -9
  12. package/build/liquidityHistogram.js.map +1 -1
  13. package/build/quote.d.ts +1 -1
  14. package/build/quote.js +68 -82
  15. package/build/quote.js.map +1 -1
  16. package/build/swap.js +35 -16
  17. package/build/swap.js.map +1 -1
  18. package/build/swapV2.d.ts +6 -1
  19. package/build/swapV2.js +394 -51
  20. package/build/swapV2.js.map +1 -1
  21. package/build/types.d.ts +51 -0
  22. package/build/utils.d.ts +8 -2
  23. package/build/utils.js +23 -5
  24. package/build/utils.js.map +1 -1
  25. package/build/utilsV2.d.ts +9 -0
  26. package/build/utilsV2.js +127 -5
  27. package/build/utilsV2.js.map +1 -1
  28. package/build/withdrawLiquidity.js +11 -5
  29. package/build/withdrawLiquidity.js.map +1 -1
  30. package/build/ytTrades.d.ts +7 -0
  31. package/build/ytTrades.js +163 -142
  32. package/build/ytTrades.js.map +1 -1
  33. package/package.json +2 -2
  34. package/src/addLiquidity.ts +1012 -38
  35. package/src/bisect.ts +22 -11
  36. package/src/index.ts +11 -5
  37. package/src/liquidityHistogram.ts +54 -9
  38. package/src/quote.ts +73 -95
  39. package/src/swap.ts +35 -19
  40. package/src/swapV2.ts +999 -0
  41. package/src/types.ts +55 -0
  42. package/src/utils.ts +24 -3
  43. package/src/utilsV2.ts +337 -0
  44. package/src/withdrawLiquidity.ts +12 -6
  45. package/src/ytTrades.ts +191 -172
  46. package/src/ytTradesLegacy.ts +419 -0
  47. package/build/swap-v2.d.ts +0 -20
  48. package/build/swap-v2.js +0 -261
  49. package/build/swap-v2.js.map +0 -1
  50. package/src/swapLegacy.ts +0 -272
@@ -1 +1 @@
1
- {"version":3,"file":"quote.js","sourceRoot":"","sources":["../src/quote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quote.js","sourceRoot":"","sources":["../src/quote.ts"],"names":[],"mappings":"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"}
package/build/swap.js CHANGED
@@ -61,23 +61,23 @@ function simulateSwap(marketState, args) {
61
61
  iterations++;
62
62
  if (debug)
63
63
  console.log(`\n--- Iteration ${iterations}, amountInLeft=${amountInLeft} ---`);
64
- // Get right boundary of current interval
65
- const rightBoundaryIndexOpt = (0, utils_1.findTickByKey)(ticks, (0, utils_1.getSuccessorTickKey)(ticks, currentLeftBoundaryIndex))?.index;
64
+ // Get right boundary of current interval (successor tick index)
65
+ const rightBoundaryIndexOpt = (0, utils_1.getSuccessorTickIdxByIdx)(ticks, currentLeftBoundaryIndex);
66
66
  if (debug)
67
67
  console.log(`rightBoundary=${rightBoundaryIndexOpt}`);
68
68
  if (rightBoundaryIndexOpt === null) {
69
69
  if (args.direction === types_1.SwapDirection.SyToPt) {
70
70
  // Cross to create a new interval
71
- const predecessor = (0, utils_1.getPredecessorTickKey)(ticks, currentLeftBoundaryIndex);
72
- if (predecessor === null)
71
+ const predecessorIdx = (0, utils_1.getPredecessorTickIdxByIdx)(ticks, currentLeftBoundaryIndex);
72
+ if (predecessorIdx === null)
73
73
  break;
74
74
  // Update active liquidity by subtracting liquidity_net at boundary
75
- const boundaryTick = (0, utils_1.findTickByKey)(ticks, predecessor);
75
+ const boundaryTick = (0, utils_1.findTickByIndex)(ticks, currentLeftBoundaryIndex);
76
76
  // When crossing downward (SyToPt), update state
77
- currentPriceSpot = (0, utils_1.getImpliedRate)(currentLeftBoundaryIndex); // Boundary we're crossing
78
- currentLeftBoundaryIndex = boundaryTick.index; // New left boundary
77
+ currentPriceSpot = (0, utils_1.getImpliedRate)(boundaryTick?.apyBasePoints ?? 0); // Boundary we're crossing
78
+ currentLeftBoundaryIndex = predecessorIdx; // New left boundary
79
79
  if (boundaryTick) {
80
- activeLiquidityU64 = (0, utils_1.bigIntMax)(0n, activeLiquidityU64 - boundaryTick.tick.liquidityNet);
80
+ activeLiquidityU64 = (0, utils_1.bigIntMax)(0n, activeLiquidityU64 - boundaryTick.liquidityNet);
81
81
  activeLiquidityF64 = Number(activeLiquidityU64);
82
82
  }
83
83
  continue;
@@ -132,7 +132,17 @@ function simulateSwap(marketState, args) {
132
132
  const syOutGross = Math.floor(lTradeF64 * (cEffOld - cEffNew));
133
133
  const syOutGrossClamped = Math.min(syOutGross, Number(principalSy));
134
134
  if (syOutGrossClamped > 0) {
135
- const totalFeeOut = (0, utils_1.getFeeFromAmount)(syOutGrossClamped, lpFeeRate);
135
+ // For flash swaps, fee is based on YT value = (pt - sy × sy_exchange_rate) / sy_exchange_rate (in SY terms)
136
+ let totalFeeOut;
137
+ if (args.isCurrentFlashSwap) {
138
+ const syOutBase = syOutGrossClamped * args.syExchangeRate;
139
+ const ytValueBase = ptInSegment - syOutBase;
140
+ const ytValueSy = ytValueBase / args.syExchangeRate;
141
+ totalFeeOut = (0, utils_1.getFeeFromAmount)(Math.max(0, Math.floor(ytValueSy)), lpFeeRate);
142
+ }
143
+ else {
144
+ totalFeeOut = (0, utils_1.getFeeFromAmount)(syOutGrossClamped, lpFeeRate);
145
+ }
136
146
  const protocolFeeOut = Math.floor((totalFeeOut * protocolFeeBps) / BASE_POINTS);
137
147
  const lpFeeOut = totalFeeOut - protocolFeeOut;
138
148
  const syOutNet = syOutGrossClamped - totalFeeOut;
@@ -165,7 +175,7 @@ function simulateSwap(marketState, args) {
165
175
  }
166
176
  if (deltaCToLeftBoundary <= eps) {
167
177
  // Cross boundary to the left
168
- const predecessor = (0, utils_1.getPredecessorTickKey)(ticks, currentLeftBoundaryIndex);
178
+ const predecessor = (0, utils_1.getPredecessorTickIdxByIdx)(ticks, currentLeftBoundaryIndex);
169
179
  if (predecessor === null)
170
180
  break;
171
181
  // Update active liquidity by subtracting liquidity_net at boundary
@@ -174,7 +184,7 @@ function simulateSwap(marketState, args) {
174
184
  activeLiquidityU64 = (0, utils_1.bigIntMax)(0n, activeLiquidityU64 - boundaryTick.liquidityNet);
175
185
  activeLiquidityF64 = Number(activeLiquidityU64);
176
186
  }
177
- currentPriceSpot = (0, utils_1.getImpliedRate)(currentLeftBoundaryIndex);
187
+ currentPriceSpot = (0, utils_1.getImpliedRate)(boundaryTick?.apyBasePoints ?? 0);
178
188
  currentLeftBoundaryIndex = predecessor;
179
189
  continue;
180
190
  }
@@ -195,7 +205,7 @@ function simulateSwap(marketState, args) {
195
205
  }
196
206
  if (ptOutGrossU64 === 0n) {
197
207
  // Nothing to pay out; try to cross
198
- const predecessor = (0, utils_1.getPredecessorTickKey)(ticks, currentLeftBoundaryIndex);
208
+ const predecessor = (0, utils_1.getPredecessorTickIdxByIdx)(ticks, currentLeftBoundaryIndex);
199
209
  if (predecessor === null)
200
210
  break;
201
211
  // Update active liquidity
@@ -204,12 +214,21 @@ function simulateSwap(marketState, args) {
204
214
  activeLiquidityU64 = (0, utils_1.bigIntMax)(0n, activeLiquidityU64 - boundaryTick.liquidityNet);
205
215
  activeLiquidityF64 = Number(activeLiquidityU64);
206
216
  }
207
- currentPriceSpot = (0, utils_1.getImpliedRate)(currentLeftBoundaryIndex);
217
+ currentPriceSpot = (0, utils_1.getImpliedRate)(boundaryTick?.apyBasePoints ?? 0);
208
218
  currentLeftBoundaryIndex = predecessor;
209
219
  continue;
210
220
  }
211
221
  // Fees in token_out (PT)
212
- const totalFeeOut = (0, utils_1.getFeeFromAmount)(Number(ptOutGrossU64), lpFeeRate);
222
+ // For flash swaps, fee is based on YT value = pt - sy × sy_exchange_rate
223
+ let totalFeeOut;
224
+ if (args.isCurrentFlashSwap) {
225
+ const syInBase = Number(syInSegmentU64) * args.syExchangeRate;
226
+ const ytValue = Number(ptOutGrossU64) - syInBase;
227
+ totalFeeOut = (0, utils_1.getFeeFromAmount)(Math.max(0, Math.floor(ytValue)), lpFeeRate);
228
+ }
229
+ else {
230
+ totalFeeOut = (0, utils_1.getFeeFromAmount)(Number(ptOutGrossU64), lpFeeRate);
231
+ }
213
232
  const protocolFeeOut = Math.floor((totalFeeOut * protocolFeeBps) / BASE_POINTS);
214
233
  const lpFeeOut = totalFeeOut - protocolFeeOut;
215
234
  const ptOutNet = Number(ptOutGrossU64) - totalFeeOut;
@@ -222,7 +241,7 @@ function simulateSwap(marketState, args) {
222
241
  currentPriceSpot = spotPriceNew;
223
242
  // If we hit boundary, cross
224
243
  if (Math.abs(currentPriceSpot - anchorULeft) <= eps && amountInLeft > 0) {
225
- const predecessor = (0, utils_1.getPredecessorTickKey)(ticks, currentLeftBoundaryIndex);
244
+ const predecessor = (0, utils_1.getPredecessorTickIdxByIdx)(ticks, currentLeftBoundaryIndex);
226
245
  if (predecessor === null)
227
246
  break;
228
247
  // Update active liquidity
@@ -231,7 +250,7 @@ function simulateSwap(marketState, args) {
231
250
  activeLiquidityU64 = (0, utils_1.bigIntMax)(0n, activeLiquidityU64 - boundaryTick.liquidityNet);
232
251
  activeLiquidityF64 = Number(activeLiquidityU64);
233
252
  }
234
- currentPriceSpot = (0, utils_1.getImpliedRate)(currentLeftBoundaryIndex);
253
+ currentPriceSpot = (0, utils_1.getImpliedRate)(boundaryTick?.apyBasePoints ?? 0);
235
254
  currentLeftBoundaryIndex = predecessor;
236
255
  }
237
256
  }
package/build/swap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../src/swap.ts"],"names":[],"mappings":"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"}
package/build/swapV2.d.ts CHANGED
@@ -3,9 +3,14 @@
3
3
  * Closely mirrors the Rust on-chain implementation from swap.rs
4
4
  * Uses TicksWrapper to simulate RB-tree behavior
5
5
  */
6
- import { MarketThreeState, SwapArgs, SwapOutcomeV2 } from "./types";
6
+ import { MarketThreeState, SwapArgs, SwapExactOutArgs, SwapOutcomeV2 } from "./types";
7
7
  /**
8
8
  * Simulate a swap on the CLMM market (V2 - mirrors Rust closely)
9
9
  * This is a pure function that does not mutate the market state
10
10
  */
11
11
  export declare function simulateSwap(marketState: MarketThreeState, args: SwapArgs): SwapOutcomeV2;
12
+ /**
13
+ * Simulate a swap exact-out on the CLMM market.
14
+ * Mirrors on-chain swap_exact_out (currently only SyToPt is supported).
15
+ */
16
+ export declare function simulateSwapExactOut(marketState: MarketThreeState, args: SwapExactOutArgs): SwapOutcomeV2;