@nradko/metric-omm-sdk-v1 0.4.2 → 0.4.4

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 (117) hide show
  1. package/README.md +134 -19
  2. package/dist/abis/DepositAllowlistExtension.d.ts +43 -0
  3. package/dist/abis/DepositAllowlistExtension.d.ts.map +1 -1
  4. package/dist/abis/DepositAllowlistExtension.js +56 -0
  5. package/dist/abis/DepositAllowlistExtension.js.map +1 -1
  6. package/dist/abis/MetricOmmPoolFactory.d.ts +12 -0
  7. package/dist/abis/MetricOmmPoolFactory.d.ts.map +1 -1
  8. package/dist/abis/MetricOmmPoolFactory.js +16 -0
  9. package/dist/abis/MetricOmmPoolFactory.js.map +1 -1
  10. package/dist/abis/MetricOmmPoolLiquidityAdder.d.ts +116 -5
  11. package/dist/abis/MetricOmmPoolLiquidityAdder.d.ts.map +1 -1
  12. package/dist/abis/MetricOmmPoolLiquidityAdder.js +150 -5
  13. package/dist/abis/MetricOmmPoolLiquidityAdder.js.map +1 -1
  14. package/dist/abis/MetricOmmSimpleRouter.d.ts +32 -0
  15. package/dist/abis/MetricOmmSimpleRouter.d.ts.map +1 -1
  16. package/dist/abis/MetricOmmSimpleRouter.js +42 -0
  17. package/dist/abis/MetricOmmSimpleRouter.js.map +1 -1
  18. package/dist/abis/MetricOmmSwapQuoter.d.ts +14 -2
  19. package/dist/abis/MetricOmmSwapQuoter.d.ts.map +1 -1
  20. package/dist/abis/MetricOmmSwapQuoter.js +18 -2
  21. package/dist/abis/MetricOmmSwapQuoter.js.map +1 -1
  22. package/dist/abis/SwapAllowlistExtension.d.ts +43 -0
  23. package/dist/abis/SwapAllowlistExtension.d.ts.map +1 -1
  24. package/dist/abis/SwapAllowlistExtension.js +56 -0
  25. package/dist/abis/SwapAllowlistExtension.js.map +1 -1
  26. package/dist/abis/index.d.ts +2 -3
  27. package/dist/abis/index.d.ts.map +1 -1
  28. package/dist/abis/index.js +2 -3
  29. package/dist/abis/index.js.map +1 -1
  30. package/dist/addresses.d.ts +2 -4
  31. package/dist/addresses.d.ts.map +1 -1
  32. package/dist/addresses.js +11 -12
  33. package/dist/addresses.js.map +1 -1
  34. package/dist/dataProvider/index.d.ts +1 -1
  35. package/dist/dataProvider/index.d.ts.map +1 -1
  36. package/dist/dataProvider/index.js +1 -1
  37. package/dist/dataProvider/index.js.map +1 -1
  38. package/dist/dataProvider/read.d.ts +1 -3
  39. package/dist/dataProvider/read.d.ts.map +1 -1
  40. package/dist/dataProvider/read.js +1 -3
  41. package/dist/dataProvider/read.js.map +1 -1
  42. package/dist/index.d.ts +5 -3
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +6 -3
  45. package/dist/index.js.map +1 -1
  46. package/dist/peripheryPayments/index.d.ts +2 -0
  47. package/dist/peripheryPayments/index.d.ts.map +1 -0
  48. package/dist/peripheryPayments/index.js +2 -0
  49. package/dist/peripheryPayments/index.js.map +1 -0
  50. package/dist/peripheryPayments/simpleRouter.d.ts +9 -0
  51. package/dist/peripheryPayments/simpleRouter.d.ts.map +1 -0
  52. package/dist/peripheryPayments/simpleRouter.js +27 -0
  53. package/dist/peripheryPayments/simpleRouter.js.map +1 -0
  54. package/dist/pool/cursorBounds.d.ts +29 -0
  55. package/dist/pool/cursorBounds.d.ts.map +1 -0
  56. package/dist/pool/cursorBounds.js +76 -0
  57. package/dist/pool/cursorBounds.js.map +1 -0
  58. package/dist/pool/index.d.ts +3 -1
  59. package/dist/pool/index.d.ts.map +1 -1
  60. package/dist/pool/index.js +3 -1
  61. package/dist/pool/index.js.map +1 -1
  62. package/dist/pool/liquidity.d.ts +114 -7
  63. package/dist/pool/liquidity.d.ts.map +1 -1
  64. package/dist/pool/liquidity.js +96 -11
  65. package/dist/pool/liquidity.js.map +1 -1
  66. package/dist/pool/nativeLiquidity.d.ts +32 -0
  67. package/dist/pool/nativeLiquidity.d.ts.map +1 -0
  68. package/dist/pool/nativeLiquidity.js +47 -0
  69. package/dist/pool/nativeLiquidity.js.map +1 -0
  70. package/dist/router/fromRoute.d.ts +93 -0
  71. package/dist/router/fromRoute.d.ts.map +1 -0
  72. package/dist/router/fromRoute.js +187 -0
  73. package/dist/router/fromRoute.js.map +1 -0
  74. package/dist/router/index.d.ts +8 -1
  75. package/dist/router/index.d.ts.map +1 -1
  76. package/dist/router/index.js +8 -1
  77. package/dist/router/index.js.map +1 -1
  78. package/dist/router/nativeSwap.d.ts +47 -0
  79. package/dist/router/nativeSwap.d.ts.map +1 -0
  80. package/dist/router/nativeSwap.js +89 -0
  81. package/dist/router/nativeSwap.js.map +1 -0
  82. package/dist/router/swap.d.ts +82 -1
  83. package/dist/router/swap.d.ts.map +1 -1
  84. package/dist/router/swap.js +51 -1
  85. package/dist/router/swap.js.map +1 -1
  86. package/dist/router/swapPath.d.ts +46 -1
  87. package/dist/router/swapPath.d.ts.map +1 -1
  88. package/dist/router/swapPath.js +34 -0
  89. package/dist/router/swapPath.js.map +1 -1
  90. package/package.json +2 -2
  91. package/src/abis/DepositAllowlistExtension.ts +56 -0
  92. package/src/abis/MetricOmmPoolFactory.ts +16 -0
  93. package/src/abis/MetricOmmPoolLiquidityAdder.ts +150 -5
  94. package/src/abis/MetricOmmSimpleRouter.ts +42 -0
  95. package/src/abis/MetricOmmSwapQuoter.ts +18 -2
  96. package/src/abis/SwapAllowlistExtension.ts +56 -0
  97. package/src/abis/index.ts +2 -3
  98. package/src/addresses.ts +12 -15
  99. package/src/dataProvider/index.ts +0 -1
  100. package/src/dataProvider/read.ts +1 -4
  101. package/src/index.ts +38 -2
  102. package/src/peripheryPayments/index.ts +5 -0
  103. package/src/peripheryPayments/simpleRouter.ts +31 -0
  104. package/src/pool/cursorBounds.ts +112 -0
  105. package/src/pool/index.ts +15 -0
  106. package/src/pool/liquidity.ts +124 -15
  107. package/src/pool/nativeLiquidity.ts +71 -0
  108. package/src/router/fromRoute.ts +318 -0
  109. package/src/router/index.ts +36 -1
  110. package/src/router/nativeSwap.ts +123 -0
  111. package/src/router/swap.ts +82 -1
  112. package/src/router/swapPath.ts +47 -1
  113. package/dist/abis/MetricOmmPoolStateView.d.ts +0 -238
  114. package/dist/abis/MetricOmmPoolStateView.d.ts.map +0 -1
  115. package/dist/abis/MetricOmmPoolStateView.js +0 -315
  116. package/dist/abis/MetricOmmPoolStateView.js.map +0 -1
  117. package/src/abis/MetricOmmPoolStateView.ts +0 -314
@@ -1,6 +1,22 @@
1
1
  /**
2
- * MetricAMM SDK - Liquidity
3
- * Unified liquidity calculations and position operations.
2
+ * Liquidity position builders and calldata encoders.
3
+ *
4
+ * **Add liquidity (recommended path):**
5
+ * 1. `buildModifyLiquidityArgsForAddition` / `ForUniformAddition` / `ForUniformAdditionWithTotalTokenAmount`
6
+ * 2. `buildAddLiquidityExactSharesParamsFromBinTargets` (optional convenience)
7
+ * 3. `encodeAddLiquidityExactSharesSelfCalldata` or `encodeAddLiquidityExactSharesWithOwnerCalldata`
8
+ * — target `addresses.liquidityAdder`
9
+ * 4. Approve token0 and token1 on the LiquidityAdder for `maxAmountToken0` / `maxAmountToken1`
10
+ *
11
+ * **Self vs WithOwner encoders:**
12
+ * - `*SelfCalldata` — credits liquidity to **`msg.sender`** (the transaction sender owns the position).
13
+ * - `*WithOwnerCalldata` — credits liquidity to **`owner`** (e.g. router, vault, or relayer paying on behalf of a user).
14
+ * The caller still supplies tokens and must approve the LiquidityAdder; only the position owner differs.
15
+ *
16
+ * **Remove liquidity:** `buildModifyLiquidityArgsForRemoval` → `buildRemoveLiquidityPoolDelta`
17
+ * → `encodeRemoveLiquidityCalldata` — call the **pool** directly (no adder approval).
18
+ *
19
+ * Position identity is `(owner, salt)`; use the same `salt` for adds and removes.
4
20
  */
5
21
  import { encodeFunctionData } from "viem";
6
22
  import { MAX_UINT104, MAX_INT104, MAX_INT128, LIQUIDITY_ADDER_ABI } from "../constants.js";
@@ -19,6 +35,10 @@ function getLiquidityAdderFunction(name, inputCount) {
19
35
  }
20
36
  return item;
21
37
  }
38
+ /**
39
+ * Sentinel passed as `specAmount0` / `specAmount1` on removals — no minimum output enforced.
40
+ * Same value the pool uses for "accept any amount" on `modifyLiquidity` removes.
41
+ */
22
42
  export const NO_SLIPPAGE_LIMIT = MAX_INT128;
23
43
  function resolvePriceE18(params) {
24
44
  if (params.currentPriceX64 != null) {
@@ -30,7 +50,10 @@ function resolvePriceE18(params) {
30
50
  throw new Error("currentPrice or currentPriceX64 is required");
31
51
  }
32
52
  /**
33
- * Prepare uniform liquidity distribution across a bin range.
53
+ * Uniform liquidity: same token amount in every bin from `lowerBin` to `upperBin`.
54
+ * Delegates to {@link buildModifyLiquidityArgsForAddition}.
55
+ *
56
+ * @returns `[salt, deltas, specAmount0, specAmount1]` — max token caps for the adder.
34
57
  */
35
58
  export async function buildModifyLiquidityArgsForUniformAddition({ publicClient, factoryAddress, dataProviderAddress, poolAddress, amountInTokensPerBin, amountIsInToken0, currentPrice, lowerBin, upperBin, salt = 0n, specAmountBufferPercent = 0, }) {
36
59
  if (lowerBin > upperBin) {
@@ -298,6 +321,11 @@ export async function buildModifyLiquidityArgsForAddition({ publicClient, factor
298
321
  };
299
322
  return toModifyLiquidityArgs(computed);
300
323
  }
324
+ /**
325
+ * Remove liquidity by explicit per-bin specs (percentage or absolute shares).
326
+ *
327
+ * `specAmount0` / `specAmount1` are set to {@link NO_SLIPPAGE_LIMIT} (accept any output).
328
+ */
301
329
  export async function buildModifyLiquidityArgsForRemoval(params) {
302
330
  const { publicClient, dataProviderAddress, poolAddress, owner, salt, specs, specAmountBufferPercent = 0, } = params;
303
331
  validateSpecAmountBufferPercent(specAmountBufferPercent);
@@ -349,6 +377,10 @@ export async function buildModifyLiquidityArgsForRemoval(params) {
349
377
  };
350
378
  return toModifyLiquidityArgs(computed);
351
379
  }
380
+ /**
381
+ * Remove the same `percentageToRemove` from every bin that has position shares.
382
+ * When `bins` is omitted, discovers bins via `getPositionBinSharesRange(lowerBin, upperBin)`.
383
+ */
352
384
  export async function buildModifyLiquidityArgsForPercentageRemoval({ publicClient, dataProviderAddress, poolAddress, owner, salt, percentageToRemove, bins, lowerBin = -10, upperBin = 10, specAmountBufferPercent = 0, }) {
353
385
  validateSpecAmountBufferPercent(specAmountBufferPercent);
354
386
  if (percentageToRemove <= 0 || percentageToRemove > 100) {
@@ -374,6 +406,7 @@ export async function buildModifyLiquidityArgsForPercentageRemoval({ publicClien
374
406
  specAmountBufferPercent,
375
407
  });
376
408
  }
409
+ /** Convert positive `deltaShares` from a modify plan into `PoolLiquidityDelta` for the adder. */
377
410
  export function additionPlanToPoolLiquidityDelta(deltas) {
378
411
  const pos = deltas.filter((d) => d.deltaShares > 0n).sort((a, b) => a.bin - b.bin);
379
412
  return {
@@ -381,6 +414,7 @@ export function additionPlanToPoolLiquidityDelta(deltas) {
381
414
  shares: pos.map((d) => d.deltaShares),
382
415
  };
383
416
  }
417
+ /** Convert negative `deltaShares` from a modify plan into burn `PoolLiquidityDelta` for `removeLiquidity`. */
384
418
  export function removalPlanToPoolLiquidityDelta(deltas) {
385
419
  const burn = deltas.filter((d) => d.deltaShares < 0n).sort((a, b) => a.bin - b.bin);
386
420
  return {
@@ -408,6 +442,19 @@ export function scaleWeightedPoolDeltasToFitCaps(params) {
408
442
  });
409
443
  return { binIdxs: weights.binIdxs, shares };
410
444
  }
445
+ /**
446
+ * Convenience wrapper: bin targets → adder-ready `{ salt, poolLiquidityDelta, maxAmountToken0, maxAmountToken1 }`.
447
+ *
448
+ * @example
449
+ * ```ts
450
+ * const add = await buildAddLiquidityExactSharesParamsFromBinTargets({
451
+ * publicClient, factoryAddress, dataProviderAddress, poolAddress,
452
+ * bins: [{ bin: 0, targetValueInToken: parseUnits("100", 6), targetValueInToken0: false }],
453
+ * currentPriceX64: slot0.priceX64,
454
+ * });
455
+ * const data = encodeAddLiquidityExactSharesSelfCalldata({ pool: poolAddress, ...add });
456
+ * ```
457
+ */
411
458
  export async function buildAddLiquidityExactSharesParamsFromBinTargets(params) {
412
459
  const [salt, deltas, max0, max1] = await buildModifyLiquidityArgsForAddition(params);
413
460
  return {
@@ -417,6 +464,19 @@ export async function buildAddLiquidityExactSharesParamsFromBinTargets(params) {
417
464
  maxAmountToken1: max1,
418
465
  };
419
466
  }
467
+ /** Cursor bounds that disable weighted-add cursor checks (matches on-chain test helpers). */
468
+ export const UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS = {
469
+ minimalCurBin: -128,
470
+ minimalPosition: 0n,
471
+ maximalCurBin: 127,
472
+ maximalPosition: MAX_UINT104,
473
+ };
474
+ /**
475
+ * Encode `LiquidityAdder.addLiquidityExactShares` for the transaction sender.
476
+ *
477
+ * Creates or increases the position `(msg.sender, salt)` — liquidity is credited to whoever
478
+ * sends the transaction. Approve both pool tokens on the LiquidityAdder before sending.
479
+ */
420
480
  export function encodeAddLiquidityExactSharesSelfCalldata(params) {
421
481
  return encodeFunctionData({
422
482
  abi: [getLiquidityAdderFunction("addLiquidityExactShares", 6)],
@@ -431,6 +491,13 @@ export function encodeAddLiquidityExactSharesSelfCalldata(params) {
431
491
  ],
432
492
  });
433
493
  }
494
+ /**
495
+ * Encode `LiquidityAdder.addLiquidityExactShares` for an explicit position owner.
496
+ *
497
+ * Creates or increases the position `(owner, salt)` while `msg.sender` pays for the deposit
498
+ * (e.g. router, vault, or meta-transaction relayer acting on behalf of `owner`).
499
+ * Approve both pool tokens on the LiquidityAdder before sending.
500
+ */
434
501
  export function encodeAddLiquidityExactSharesWithOwnerCalldata(params) {
435
502
  return encodeFunctionData({
436
503
  abi: [getLiquidityAdderFunction("addLiquidityExactShares", 7)],
@@ -446,6 +513,13 @@ export function encodeAddLiquidityExactSharesWithOwnerCalldata(params) {
446
513
  ],
447
514
  });
448
515
  }
516
+ /**
517
+ * Encode weighted add for the transaction sender.
518
+ *
519
+ * `weightDeltas` are relative share weights; the adder scales to fit
520
+ * `maxAmountToken0` / `maxAmountToken1`. Use {@link scaleWeightedPoolDeltasToFitCaps} to pre-scale.
521
+ * Creates or increases the position `(msg.sender, salt)`.
522
+ */
449
523
  export function encodeAddLiquidityWeightedSelfCalldata(params) {
450
524
  return encodeFunctionData({
451
525
  abi: [getLiquidityAdderFunction("addLiquidityWeighted", 10)],
@@ -456,14 +530,20 @@ export function encodeAddLiquidityWeightedSelfCalldata(params) {
456
530
  { binIdxs: [...params.weightDeltas.binIdxs], shares: [...params.weightDeltas.shares] },
457
531
  params.maxAmountToken0,
458
532
  params.maxAmountToken1,
459
- params.minimalCurBin ?? -128,
460
- params.minimalPosition ?? 0n,
461
- params.maximalCurBin ?? 127,
462
- params.maximalPosition ?? MAX_UINT104,
533
+ params.minimalCurBin ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.minimalCurBin,
534
+ params.minimalPosition ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.minimalPosition,
535
+ params.maximalCurBin ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.maximalCurBin,
536
+ params.maximalPosition ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.maximalPosition,
463
537
  params.extensionData ?? EMPTY_EXTENSION_DATA,
464
538
  ],
465
539
  });
466
540
  }
541
+ /**
542
+ * Encode weighted add for an explicit position owner.
543
+ *
544
+ * Same as {@link encodeAddLiquidityWeightedSelfCalldata} but credits liquidity to `(owner, salt)`
545
+ * while `msg.sender` pays for the deposit.
546
+ */
467
547
  export function encodeAddLiquidityWeightedWithOwnerCalldata(params) {
468
548
  return encodeFunctionData({
469
549
  abi: [getLiquidityAdderFunction("addLiquidityWeighted", 11)],
@@ -475,14 +555,18 @@ export function encodeAddLiquidityWeightedWithOwnerCalldata(params) {
475
555
  { binIdxs: [...params.weightDeltas.binIdxs], shares: [...params.weightDeltas.shares] },
476
556
  params.maxAmountToken0,
477
557
  params.maxAmountToken1,
478
- params.minimalCurBin ?? -128,
479
- params.minimalPosition ?? 0n,
480
- params.maximalCurBin ?? 127,
481
- params.maximalPosition ?? MAX_UINT104,
558
+ params.minimalCurBin ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.minimalCurBin,
559
+ params.minimalPosition ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.minimalPosition,
560
+ params.maximalCurBin ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.maximalCurBin,
561
+ params.maximalPosition ?? UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.maximalPosition,
482
562
  params.extensionData ?? EMPTY_EXTENSION_DATA,
483
563
  ],
484
564
  });
485
565
  }
566
+ /**
567
+ * Encode `Pool.removeLiquidity(owner, salt, deltas, extensionData)`.
568
+ * Send to the **pool** contract; no token approval required (tokens are sent out).
569
+ */
486
570
  export function encodeRemoveLiquidityCalldata(params) {
487
571
  return encodeFunctionData({
488
572
  abi: MetricOmmPoolAbi,
@@ -495,6 +579,7 @@ export function encodeRemoveLiquidityCalldata(params) {
495
579
  ],
496
580
  });
497
581
  }
582
+ /** Build `{ salt, poolLiquidityDelta }` for {@link encodeRemoveLiquidityCalldata}. */
498
583
  export async function buildRemoveLiquidityPoolDelta(params) {
499
584
  const [salt, deltas] = await buildModifyLiquidityArgsForRemoval(params);
500
585
  return { salt, poolLiquidityDelta: removalPlanToPoolLiquidityDelta(deltas) };
@@ -1 +1 @@
1
- {"version":3,"file":"liquidity.js","sourceRoot":"","sources":["../../src/pool/liquidity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liquidity.js","sourceRoot":"","sources":["../../src/pool/liquidity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Hex } from "viem";
2
+ import { encodeAddLiquidityExactSharesSelfCalldata, encodeAddLiquidityExactSharesWithOwnerCalldata, encodeAddLiquidityWeightedSelfCalldata, encodeAddLiquidityWeightedWithOwnerCalldata } from "./liquidity.js";
3
+ type ExactSharesSelfParams = Parameters<typeof encodeAddLiquidityExactSharesSelfCalldata>[0];
4
+ type ExactSharesWithOwnerParams = Parameters<typeof encodeAddLiquidityExactSharesWithOwnerCalldata>[0];
5
+ type WeightedSelfParams = Parameters<typeof encodeAddLiquidityWeightedSelfCalldata>[0];
6
+ type WeightedWithOwnerParams = Parameters<typeof encodeAddLiquidityWeightedWithOwnerCalldata>[0];
7
+ /**
8
+ * Exact-shares add with native ETH for the pool WETH leg.
9
+ * Credits liquidity to `(msg.sender, salt)`. Set `msg.value` on the transaction;
10
+ * unused ETH is refunded to the caller.
11
+ */
12
+ export declare function prepareAddLiquidityExactSharesSelfSupportingNativePaymentCalldata(params: ExactSharesSelfParams): Hex;
13
+ /**
14
+ * Exact-shares add with native ETH for the pool WETH leg.
15
+ * Credits liquidity to `(owner, salt)` while `msg.sender` pays. Set `msg.value` on the
16
+ * transaction; unused ETH is refunded to the caller.
17
+ */
18
+ export declare function prepareAddLiquidityExactSharesWithOwnerSupportingNativePaymentCalldata(params: ExactSharesWithOwnerParams): Hex;
19
+ /**
20
+ * Weighted add with native ETH for the pool WETH leg.
21
+ * Credits liquidity to `(msg.sender, salt)`. Set `msg.value` on the transaction;
22
+ * unused ETH is refunded to the caller.
23
+ */
24
+ export declare function prepareAddLiquidityWeightedSelfSupportingNativePaymentCalldata(params: WeightedSelfParams): Hex;
25
+ /**
26
+ * Weighted add with native ETH for the pool WETH leg.
27
+ * Credits liquidity to `(owner, salt)` while `msg.sender` pays. Set `msg.value` on the
28
+ * transaction; unused ETH is refunded to the caller.
29
+ */
30
+ export declare function prepareAddLiquidityWeightedWithOwnerSupportingNativePaymentCalldata(params: WeightedWithOwnerParams): Hex;
31
+ export {};
32
+ //# sourceMappingURL=nativeLiquidity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeLiquidity.d.ts","sourceRoot":"","sources":["../../src/pool/nativeLiquidity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,yCAAyC,EACzC,8CAA8C,EAC9C,sCAAsC,EACtC,2CAA2C,EAC5C,MAAM,gBAAgB,CAAC;AAGxB,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,KAAK,0BAA0B,GAAG,UAAU,CAC1C,OAAO,8CAA8C,CACtD,CAAC,CAAC,CAAC,CAAC;AACL,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,2CAA2C,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,iEAAiE,CAC/E,MAAM,EAAE,qBAAqB,GAC5B,GAAG,CAKL;AAED;;;;GAIG;AACH,wBAAgB,sEAAsE,CACpF,MAAM,EAAE,0BAA0B,GACjC,GAAG,CAKL;AAED;;;;GAIG;AACH,wBAAgB,8DAA8D,CAC5E,MAAM,EAAE,kBAAkB,GACzB,GAAG,CAKL;AAED;;;;GAIG;AACH,wBAAgB,mEAAmE,CACjF,MAAM,EAAE,uBAAuB,GAC9B,GAAG,CAKL"}
@@ -0,0 +1,47 @@
1
+ import { encodeAddLiquidityExactSharesSelfCalldata, encodeAddLiquidityExactSharesWithOwnerCalldata, encodeAddLiquidityWeightedSelfCalldata, encodeAddLiquidityWeightedWithOwnerCalldata, } from "./liquidity.js";
2
+ import { encodeMulticallCalldata, encodeRefundETHCalldata } from "../peripheryPayments/index.js";
3
+ /**
4
+ * Exact-shares add with native ETH for the pool WETH leg.
5
+ * Credits liquidity to `(msg.sender, salt)`. Set `msg.value` on the transaction;
6
+ * unused ETH is refunded to the caller.
7
+ */
8
+ export function prepareAddLiquidityExactSharesSelfSupportingNativePaymentCalldata(params) {
9
+ return encodeMulticallCalldata([
10
+ encodeAddLiquidityExactSharesSelfCalldata(params),
11
+ encodeRefundETHCalldata(),
12
+ ]);
13
+ }
14
+ /**
15
+ * Exact-shares add with native ETH for the pool WETH leg.
16
+ * Credits liquidity to `(owner, salt)` while `msg.sender` pays. Set `msg.value` on the
17
+ * transaction; unused ETH is refunded to the caller.
18
+ */
19
+ export function prepareAddLiquidityExactSharesWithOwnerSupportingNativePaymentCalldata(params) {
20
+ return encodeMulticallCalldata([
21
+ encodeAddLiquidityExactSharesWithOwnerCalldata(params),
22
+ encodeRefundETHCalldata(),
23
+ ]);
24
+ }
25
+ /**
26
+ * Weighted add with native ETH for the pool WETH leg.
27
+ * Credits liquidity to `(msg.sender, salt)`. Set `msg.value` on the transaction;
28
+ * unused ETH is refunded to the caller.
29
+ */
30
+ export function prepareAddLiquidityWeightedSelfSupportingNativePaymentCalldata(params) {
31
+ return encodeMulticallCalldata([
32
+ encodeAddLiquidityWeightedSelfCalldata(params),
33
+ encodeRefundETHCalldata(),
34
+ ]);
35
+ }
36
+ /**
37
+ * Weighted add with native ETH for the pool WETH leg.
38
+ * Credits liquidity to `(owner, salt)` while `msg.sender` pays. Set `msg.value` on the
39
+ * transaction; unused ETH is refunded to the caller.
40
+ */
41
+ export function prepareAddLiquidityWeightedWithOwnerSupportingNativePaymentCalldata(params) {
42
+ return encodeMulticallCalldata([
43
+ encodeAddLiquidityWeightedWithOwnerCalldata(params),
44
+ encodeRefundETHCalldata(),
45
+ ]);
46
+ }
47
+ //# sourceMappingURL=nativeLiquidity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeLiquidity.js","sourceRoot":"","sources":["../../src/pool/nativeLiquidity.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yCAAyC,EACzC,8CAA8C,EAC9C,sCAAsC,EACtC,2CAA2C,GAC5C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AASjG;;;;GAIG;AACH,MAAM,UAAU,iEAAiE,CAC/E,MAA6B;IAE7B,OAAO,uBAAuB,CAAC;QAC7B,yCAAyC,CAAC,MAAM,CAAC;QACjD,uBAAuB,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sEAAsE,CACpF,MAAkC;IAElC,OAAO,uBAAuB,CAAC;QAC7B,8CAA8C,CAAC,MAAM,CAAC;QACtD,uBAAuB,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8DAA8D,CAC5E,MAA0B;IAE1B,OAAO,uBAAuB,CAAC;QAC7B,sCAAsC,CAAC,MAAM,CAAC;QAC9C,uBAAuB,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mEAAmE,CACjF,MAA+B;IAE/B,OAAO,uBAAuB,CAAC;QAC7B,2CAA2C,CAAC,MAAM,CAAC;QACnD,uBAAuB,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Map route API POST /public/v1/evm/:chain_id/route responses to SimpleRouter swap params.
3
+ */
4
+ import type { Address, Hex, PublicClient } from "viem";
5
+ import type { ExactInputParams, ExactOutputParams } from "./swapPath.js";
6
+ import type { ExactInputSingleParams, ExactOutputSingleParams } from "./swap.js";
7
+ /** Wire tradeType from the route API. */
8
+ export type TradeType = "exact_in" | "exact_out";
9
+ /** Wire routeType from the route API. */
10
+ export type RouteType = "direct" | "one_hop";
11
+ /** One hop in a route API response (RouteLegResponse). */
12
+ export type RouteLegResponse = {
13
+ tradeType: TradeType;
14
+ poolAddress: string;
15
+ pair: string;
16
+ zeroForOne: boolean;
17
+ tokenIn: string;
18
+ tokenOut: string;
19
+ amountIn: string;
20
+ amountOut: string;
21
+ effectivePriceX64: string;
22
+ priceImpactE6: string;
23
+ priceLimitX64: string;
24
+ };
25
+ /** One execution path in a route API response (RouteOptionResponse). */
26
+ export type RouteOptionResponse = {
27
+ tradeType: TradeType;
28
+ routeType: RouteType;
29
+ amountIn: string;
30
+ amountOut: string;
31
+ effectivePriceX64: string;
32
+ priceImpactE6: string;
33
+ legs: RouteLegResponse[];
34
+ };
35
+ /** Route API response (RouteResponse). */
36
+ export type RouteResponse = {
37
+ tokenIn: string;
38
+ tokenOut: string;
39
+ tradeType: TradeType;
40
+ amountIn: string;
41
+ amountOut: string;
42
+ effectivePriceX64: string;
43
+ priceImpactBestRoute: string;
44
+ candidatesConsidered: number;
45
+ routes: RouteOptionResponse[];
46
+ };
47
+ export type PrepareExactInputFromRouteParams = {
48
+ publicClient: PublicClient;
49
+ route: RouteResponse;
50
+ recipient: Address;
51
+ deadline: bigint;
52
+ /** Human-readable slippage tolerance applied to the selected route's `amountOut`, e.g. `0.5` = 0.5%. */
53
+ slippagePercent: number;
54
+ extensionDatas?: readonly Hex[];
55
+ };
56
+ export type PrepareExactOutputFromRouteParams = {
57
+ publicClient: PublicClient;
58
+ route: RouteResponse;
59
+ recipient: Address;
60
+ deadline: bigint;
61
+ /** Human-readable slippage tolerance applied to the selected route's `amountIn`, e.g. `0.5` = 0.5%. */
62
+ slippagePercent: number;
63
+ extensionDatas?: readonly Hex[];
64
+ };
65
+ export type PreparedExactInputFromRoute = {
66
+ kind: "single";
67
+ params: ExactInputSingleParams;
68
+ } | {
69
+ kind: "multihop";
70
+ params: ExactInputParams;
71
+ };
72
+ export type PreparedExactOutputFromRoute = {
73
+ kind: "single";
74
+ params: ExactOutputSingleParams;
75
+ } | {
76
+ kind: "multihop";
77
+ params: ExactOutputParams;
78
+ };
79
+ /**
80
+ * Convert a route API exact-in response into SimpleRouter exact-input swap params.
81
+ *
82
+ * Resolves swap direction on-chain, applies slippage to the quoted `amountOut`, and
83
+ * returns params ready for `encodeExactInputSingleCalldata` or `encodeExactInputCalldata`.
84
+ */
85
+ export declare function routeToExactInputParams(params: PrepareExactInputFromRouteParams): Promise<PreparedExactInputFromRoute>;
86
+ /**
87
+ * Convert a route API exact-out response into SimpleRouter exact-output swap params.
88
+ *
89
+ * Resolves swap direction on-chain, applies slippage to the quoted `amountIn`, and
90
+ * returns params ready for `encodeExactOutputSingleCalldata` or `encodeExactOutputCalldata`.
91
+ */
92
+ export declare function routeToExactOutputParams(params: PrepareExactOutputFromRouteParams): Promise<PreparedExactOutputFromRoute>;
93
+ //# sourceMappingURL=fromRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fromRoute.d.ts","sourceRoot":"","sources":["../../src/router/fromRoute.ts"],"names":[],"mappings":"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"}