@exponent-labs/market-three-math 0.9.12 → 0.9.13

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/build/swapV2.js CHANGED
@@ -10,6 +10,12 @@ exports.simulateSwapExactOut = simulateSwapExactOut;
10
10
  const types_1 = require("./types");
11
11
  const utilsV2_1 = require("./utilsV2");
12
12
  const BASE_POINTS = 10000;
13
+ function computeFlashFeeOut(ytValue, grossOut, lpFeeRate) {
14
+ if (grossOut === 0) {
15
+ return 0;
16
+ }
17
+ return Math.min(grossOut, Math.max(1, (0, utilsV2_1.getFeeFromAmount)(ytValue, lpFeeRate)));
18
+ }
13
19
  /**
14
20
  * Simulate a swap on the CLMM market (V2 - mirrors Rust closely)
15
21
  * This is a pure function that does not mutate the market state
@@ -292,7 +298,7 @@ function simulateSwap(marketState, args) {
292
298
  if (args.isCurrentFlashSwap) {
293
299
  const syInBase = syInSegmentU64 * args.syExchangeRate;
294
300
  const ytValue = ptOutGrossU64 - syInBase;
295
- totalFeeOut = (0, utilsV2_1.getFeeFromAmount)(Math.max(0, Math.floor(ytValue)), lpFeeRate);
301
+ totalFeeOut = computeFlashFeeOut(Math.max(0, Math.floor(ytValue)), ptOutGrossU64, lpFeeRate);
296
302
  }
297
303
  else {
298
304
  totalFeeOut = (0, utilsV2_1.getFeeFromAmount)(ptOutGrossU64, lpFeeRate);
@@ -498,50 +504,71 @@ function simulateSwapExactOut(marketState, args) {
498
504
  }
499
505
  const totalFeeOutBoundary = (0, utilsV2_1.getFeeFromAmount)(ptOutGrossBoundaryU64, lpFeeRate);
500
506
  const ptOutNetBoundary = Math.max(0, ptOutGrossBoundaryU64 - totalFeeOutBoundary);
507
+ let boundarySegmentSeed = null;
508
+ let ptOutNetBoundaryEffectiveSeed = null;
501
509
  if (ptOutNetBoundary === 0) {
502
510
  const boundarySegment = calculateSwapSegment(ptOutGrossBoundaryU64, lTradeF64, currentPriceSpot, duToLeft, anchorULeft, snapshot, cEffOld, lpFeeRate, args.isCurrentFlashSwap);
503
- let syInBoundary = boundarySegment.syInSegmentU64;
504
- if (ptOutGrossBoundaryU64 > 0 && syInBoundary === 0) {
505
- syInBoundary = 1;
511
+ const ptOutNetBoundaryActual = Math.max(0, boundarySegment.ptOutGrossActual - boundarySegment.totalFeeOut);
512
+ if (ptOutNetBoundaryActual > 0) {
513
+ boundarySegmentSeed = boundarySegment;
514
+ ptOutNetBoundaryEffectiveSeed = ptOutNetBoundaryActual;
506
515
  }
507
- if (amountInConstraint !== undefined &&
508
- amountInConsumed + syInBoundary > amountInConstraint) {
509
- throw new Error("Insufficient SY budget for exact-out trade");
510
- }
511
- amountInConsumed += syInBoundary;
512
- if (boundarySegment.totalFeeOut > 0) {
513
- const protocolFeeOut = Math.floor((boundarySegment.totalFeeOut * protocolFeeBps) / BASE_POINTS);
514
- const lpFeeOut = boundarySegment.totalFeeOut - protocolFeeOut;
515
- feeLpOutU64 += lpFeeOut;
516
- feeProtocolOutU64 += protocolFeeOut;
516
+ else {
517
+ let syInBoundary = boundarySegment.syInSegmentU64;
518
+ if (ptOutGrossBoundaryU64 > 0 && syInBoundary === 0) {
519
+ syInBoundary = 1;
520
+ }
521
+ if (amountInConstraint !== undefined && amountInConsumed + syInBoundary > amountInConstraint) {
522
+ throw new Error("Insufficient SY budget for exact-out trade");
523
+ }
524
+ amountInConsumed += syInBoundary;
525
+ if (boundarySegment.totalFeeOut > 0) {
526
+ const protocolFeeOut = Math.floor((boundarySegment.totalFeeOut * protocolFeeBps) / BASE_POINTS);
527
+ const lpFeeOut = boundarySegment.totalFeeOut - protocolFeeOut;
528
+ feeLpOutU64 += lpFeeOut;
529
+ feeProtocolOutU64 += protocolFeeOut;
530
+ }
531
+ if (syInBoundary > 0 || boundarySegment.ptOutGrossActual > 0) {
532
+ ticksWrapper.setPrincipals(currentLeftBoundaryKey, principalPt - BigInt(boundarySegment.ptOutGrossActual), principalSy + BigInt(syInBoundary));
533
+ }
534
+ currentPriceSpot = boundarySegment.spotPriceNew;
535
+ const crossed = crossOneBoundary(ticksWrapper, types_1.SwapDirection.SyToPt, currentLeftBoundaryKey, {
536
+ currentLeftBoundaryKey,
537
+ currentPriceSpot,
538
+ activeLiquidityU64,
539
+ activeLiquidityF64,
540
+ });
541
+ if (!crossed)
542
+ break;
543
+ currentLeftBoundaryKey = crossed.currentLeftBoundaryKey;
544
+ currentPriceSpot = crossed.currentPriceSpot;
545
+ activeLiquidityU64 = crossed.activeLiquidityU64;
546
+ activeLiquidityF64 = crossed.activeLiquidityF64;
547
+ continue;
517
548
  }
518
- if (syInBoundary > 0 || boundarySegment.ptOutGrossActual > 0) {
519
- ticksWrapper.setPrincipals(currentLeftBoundaryKey, principalPt - BigInt(boundarySegment.ptOutGrossActual), principalSy + BigInt(syInBoundary));
549
+ }
550
+ let ptOutNetBoundaryEffective = ptOutNetBoundaryEffectiveSeed ?? ptOutNetBoundary;
551
+ let precomputedBoundarySegment = null;
552
+ if (amountOutLeft >= ptOutNetBoundary) {
553
+ const boundarySegment = boundarySegmentSeed ??
554
+ calculateSwapSegment(ptOutGrossBoundaryU64, lTradeF64, currentPriceSpot, duToLeft, anchorULeft, snapshot, cEffOld, lpFeeRate, args.isCurrentFlashSwap);
555
+ const ptOutNetBoundaryActual = ptOutNetBoundaryEffectiveSeed ?? Math.max(0, boundarySegment.ptOutGrossActual - boundarySegment.totalFeeOut);
556
+ ptOutNetBoundaryEffective = ptOutNetBoundaryActual;
557
+ if (ptOutNetBoundaryActual > 0 && amountOutLeft >= ptOutNetBoundaryActual) {
558
+ precomputedBoundarySegment = boundarySegment;
520
559
  }
521
- currentPriceSpot = boundarySegment.spotPriceNew;
522
- const crossed = crossOneBoundary(ticksWrapper, types_1.SwapDirection.SyToPt, currentLeftBoundaryKey, {
523
- currentLeftBoundaryKey,
524
- currentPriceSpot,
525
- activeLiquidityU64,
526
- activeLiquidityF64,
527
- });
528
- if (!crossed)
529
- break;
530
- currentLeftBoundaryKey = crossed.currentLeftBoundaryKey;
531
- currentPriceSpot = crossed.currentPriceSpot;
532
- activeLiquidityU64 = crossed.activeLiquidityU64;
533
- activeLiquidityF64 = crossed.activeLiquidityF64;
534
- continue;
535
560
  }
536
- const targetNet = Math.min(amountOutLeft, ptOutNetBoundary);
537
- const grossCandidate = findGrossForTargetNet(targetNet, 0, ptOutGrossBoundaryU64, (gross) => calculateNetPtOut(gross, lTradeF64, currentPriceSpot, duToLeft, anchorULeft, lpFeeRate, args.isCurrentFlashSwap, snapshot, cEffOld));
538
- const segment = calculateSwapSegment(grossCandidate, lTradeF64, currentPriceSpot, duToLeft, anchorULeft, snapshot, cEffOld, lpFeeRate, args.isCurrentFlashSwap);
561
+ const targetNet = Math.min(amountOutLeft, ptOutNetBoundaryEffective);
562
+ const grossCandidate = precomputedBoundarySegment
563
+ ? ptOutGrossBoundaryU64
564
+ : findGrossForTargetNet(targetNet, Math.min(targetNet, ptOutGrossBoundaryU64), ptOutGrossBoundaryU64, (gross) => calculateNetPtOut(gross, lTradeF64, currentPriceSpot, duToLeft, anchorULeft, lpFeeRate, args.isCurrentFlashSwap, snapshot, cEffOld));
565
+ const segment = precomputedBoundarySegment ??
566
+ calculateSwapSegment(grossCandidate, lTradeF64, currentPriceSpot, duToLeft, anchorULeft, snapshot, cEffOld, lpFeeRate, args.isCurrentFlashSwap);
539
567
  let syInSegmentU64 = segment.syInSegmentU64;
540
568
  if (grossCandidate > 0 && syInSegmentU64 === 0) {
541
569
  syInSegmentU64 = 1;
542
570
  }
543
- if (amountInConstraint !== undefined &&
544
- amountInConsumed + syInSegmentU64 > amountInConstraint) {
571
+ if (amountInConstraint !== undefined && amountInConsumed + syInSegmentU64 > amountInConstraint) {
545
572
  throw new Error("Insufficient SY budget for exact-out trade");
546
573
  }
547
574
  const netActual = segment.ptOutGrossActual - segment.totalFeeOut;
@@ -600,28 +627,12 @@ function computeKappaAndLTrade(direction, principalPtInInterval, principalSyInIn
600
627
  let kappaSy;
601
628
  let kappaPt;
602
629
  if (direction === types_1.SwapDirection.SyToPt) {
603
- kappaPt = isSyOnlyRange
604
- ? 0
605
- : ptMaxToLeftF > 0
606
- ? principalPtInInterval / ptMaxToLeftF
607
- : Infinity;
608
- kappaSy = isPtOnlyRange
609
- ? 1
610
- : yMaxToBoundaryF > 0
611
- ? principalSyInInterval / yMaxToBoundaryF
612
- : Infinity;
630
+ kappaPt = isSyOnlyRange ? 0 : ptMaxToLeftF > 0 ? principalPtInInterval / ptMaxToLeftF : Infinity;
631
+ kappaSy = isPtOnlyRange ? 1 : yMaxToBoundaryF > 0 ? principalSyInInterval / yMaxToBoundaryF : Infinity;
613
632
  }
614
633
  else {
615
- kappaSy = isPtOnlyRange
616
- ? 0
617
- : yMaxToBoundaryF > 0
618
- ? principalSyInInterval / yMaxToBoundaryF
619
- : Infinity;
620
- kappaPt = isSyOnlyRange
621
- ? 1
622
- : ptMaxToLeftF > 0
623
- ? principalPtInInterval / ptMaxToLeftF
624
- : Infinity;
634
+ kappaSy = isPtOnlyRange ? 0 : yMaxToBoundaryF > 0 ? principalSyInInterval / yMaxToBoundaryF : Infinity;
635
+ kappaPt = isSyOnlyRange ? 1 : ptMaxToLeftF > 0 ? principalPtInInterval / ptMaxToLeftF : Infinity;
625
636
  }
626
637
  const kappa = Math.min(kappaPt, kappaSy, 1);
627
638
  if (!Number.isFinite(kappa) || kappa <= 0) {
@@ -634,27 +645,97 @@ function computeKappaAndLTrade(direction, principalPtInInterval, principalSyInIn
634
645
  return lTradeF64;
635
646
  }
636
647
  function findGrossForTargetNet(targetNet, minGross, maxGross, calculateNet) {
648
+ const MAX_INTERPOLATION_STEPS = 6;
649
+ const MAX_LOCAL_ADJUST_STEPS = 24;
650
+ const MAX_BINARY_FALLBACK_STEPS = 12;
637
651
  if (minGross >= maxGross) {
638
652
  return minGross;
639
653
  }
640
654
  let left = minGross;
655
+ let leftNet = calculateNet(left);
656
+ if (leftNet >= targetNet) {
657
+ return left;
658
+ }
641
659
  let right = maxGross;
642
- let bestGross = minGross;
643
- while (left <= right) {
644
- const mid = left + Math.floor((right - left) / 2);
660
+ let rightNet = calculateNet(right);
661
+ if (rightNet <= targetNet) {
662
+ return right;
663
+ }
664
+ for (let i = 0; i < MAX_INTERPOLATION_STEPS; i++) {
665
+ if (right <= left + 1) {
666
+ return left;
667
+ }
668
+ if (rightNet <= leftNet) {
669
+ break;
670
+ }
671
+ const span = right - left;
672
+ const targetDelta = Math.max(0, targetNet - leftNet);
673
+ const denominator = rightNet - leftNet;
674
+ if (denominator === 0) {
675
+ break;
676
+ }
677
+ const estimatedOffset = Number((BigInt(targetDelta) * BigInt(span)) / BigInt(denominator));
678
+ let estimate = left + estimatedOffset;
679
+ if (estimate <= left) {
680
+ estimate = left + 1;
681
+ }
682
+ if (estimate >= right) {
683
+ estimate = right - 1;
684
+ }
685
+ const estimateNet = calculateNet(estimate);
686
+ if (estimateNet === targetNet) {
687
+ return estimate;
688
+ }
689
+ if (estimateNet < targetNet) {
690
+ left = estimate;
691
+ leftNet = estimateNet;
692
+ }
693
+ else {
694
+ right = estimate;
695
+ rightNet = estimateNet;
696
+ }
697
+ }
698
+ let best = left;
699
+ for (let i = 0; i < MAX_LOCAL_ADJUST_STEPS; i++) {
700
+ if (best >= right) {
701
+ break;
702
+ }
703
+ const next = best + 1;
704
+ if (next > right) {
705
+ break;
706
+ }
707
+ const nextNet = calculateNet(next);
708
+ if (nextNet > targetNet) {
709
+ break;
710
+ }
711
+ best = next;
712
+ if (nextNet === targetNet) {
713
+ return best;
714
+ }
715
+ }
716
+ if (right <= best + 1) {
717
+ return best;
718
+ }
719
+ let low = best;
720
+ let high = right;
721
+ let bestGross = best;
722
+ let steps = 0;
723
+ while (low <= high && steps < MAX_BINARY_FALLBACK_STEPS) {
724
+ steps += 1;
725
+ const mid = low + Math.floor((high - low) / 2);
645
726
  const net = calculateNet(mid);
646
727
  if (net === targetNet) {
647
728
  return mid;
648
729
  }
649
730
  if (net < targetNet) {
650
731
  bestGross = mid;
651
- left = mid + 1;
732
+ low = mid + 1;
652
733
  }
653
734
  else {
654
735
  if (mid === 0) {
655
736
  break;
656
737
  }
657
- right = mid - 1;
738
+ high = mid - 1;
658
739
  }
659
740
  }
660
741
  return bestGross;
@@ -673,7 +754,7 @@ function calculateNetPtOut(grossCandidate, lTradeF64, currentPriceSpot, duToLeft
673
754
  const syInSegmentF = lTradeF64 * (cEffNew - cEffOld);
674
755
  const syInBase = Math.ceil(syInSegmentF) * snapshot.syExchangeRate;
675
756
  const ytValue = ptOutGrossActual - syInBase;
676
- return (0, utilsV2_1.getFeeFromAmount)(Math.max(0, Math.floor(ytValue)), lpFeeRate);
757
+ return computeFlashFeeOut(Math.max(0, Math.floor(ytValue)), ptOutGrossActual, lpFeeRate);
677
758
  })()
678
759
  : (0, utilsV2_1.getFeeFromAmount)(ptOutGrossActual, lpFeeRate);
679
760
  return Math.max(0, ptOutGrossActual - totalFeeOut);
@@ -692,7 +773,7 @@ function calculateSwapSegment(grossCandidate, lTradeF64, currentPriceSpot, duToL
692
773
  const normalFee = (0, utilsV2_1.getFeeFromAmount)(ptOutGrossActual, lpFeeRate);
693
774
  const syInBase = Math.ceil(syInSegmentF) * snapshot.syExchangeRate;
694
775
  const ytValue = ptOutGrossActual - syInBase;
695
- const flashFee = (0, utilsV2_1.getFeeFromAmount)(Math.max(0, Math.floor(ytValue)), lpFeeRate);
776
+ const flashFee = computeFlashFeeOut(Math.max(0, Math.floor(ytValue)), ptOutGrossActual, lpFeeRate);
696
777
  const totalFeeOut = isCurrentFlashSwap ? flashFee : normalFee;
697
778
  return {
698
779
  spotPriceNew,
@@ -1 +1 @@
1
- {"version":3,"file":"swapV2.js","sourceRoot":"","sources":["../src/swapV2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swapV2.js","sourceRoot":"","sources":["../src/swapV2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exponent-labs/market-three-math",
3
- "version": "0.9.12",
3
+ "version": "0.9.13",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "license": "AGPL-3.0",
@@ -10,7 +10,7 @@
10
10
  "test:live": "ts-node examples/test-live-market.ts"
11
11
  },
12
12
  "dependencies": {
13
- "@exponent-labs/exponent-fetcher": "0.9.12",
13
+ "@exponent-labs/exponent-fetcher": "0.9.13",
14
14
  "@solana/web3.js": "^1.95.8"
15
15
  },
16
16
  "devDependencies": {