@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.
- package/README.md +134 -19
- package/dist/abis/DepositAllowlistExtension.d.ts +43 -0
- package/dist/abis/DepositAllowlistExtension.d.ts.map +1 -1
- package/dist/abis/DepositAllowlistExtension.js +56 -0
- package/dist/abis/DepositAllowlistExtension.js.map +1 -1
- package/dist/abis/MetricOmmPoolFactory.d.ts +12 -0
- package/dist/abis/MetricOmmPoolFactory.d.ts.map +1 -1
- package/dist/abis/MetricOmmPoolFactory.js +16 -0
- package/dist/abis/MetricOmmPoolFactory.js.map +1 -1
- package/dist/abis/MetricOmmPoolLiquidityAdder.d.ts +116 -5
- package/dist/abis/MetricOmmPoolLiquidityAdder.d.ts.map +1 -1
- package/dist/abis/MetricOmmPoolLiquidityAdder.js +150 -5
- package/dist/abis/MetricOmmPoolLiquidityAdder.js.map +1 -1
- package/dist/abis/MetricOmmSimpleRouter.d.ts +32 -0
- package/dist/abis/MetricOmmSimpleRouter.d.ts.map +1 -1
- package/dist/abis/MetricOmmSimpleRouter.js +42 -0
- package/dist/abis/MetricOmmSimpleRouter.js.map +1 -1
- package/dist/abis/MetricOmmSwapQuoter.d.ts +14 -2
- package/dist/abis/MetricOmmSwapQuoter.d.ts.map +1 -1
- package/dist/abis/MetricOmmSwapQuoter.js +18 -2
- package/dist/abis/MetricOmmSwapQuoter.js.map +1 -1
- package/dist/abis/SwapAllowlistExtension.d.ts +43 -0
- package/dist/abis/SwapAllowlistExtension.d.ts.map +1 -1
- package/dist/abis/SwapAllowlistExtension.js +56 -0
- package/dist/abis/SwapAllowlistExtension.js.map +1 -1
- package/dist/abis/index.d.ts +2 -3
- package/dist/abis/index.d.ts.map +1 -1
- package/dist/abis/index.js +2 -3
- package/dist/abis/index.js.map +1 -1
- package/dist/addresses.d.ts +2 -4
- package/dist/addresses.d.ts.map +1 -1
- package/dist/addresses.js +11 -12
- package/dist/addresses.js.map +1 -1
- package/dist/dataProvider/index.d.ts +1 -1
- package/dist/dataProvider/index.d.ts.map +1 -1
- package/dist/dataProvider/index.js +1 -1
- package/dist/dataProvider/index.js.map +1 -1
- package/dist/dataProvider/read.d.ts +1 -3
- package/dist/dataProvider/read.d.ts.map +1 -1
- package/dist/dataProvider/read.js +1 -3
- package/dist/dataProvider/read.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/peripheryPayments/index.d.ts +2 -0
- package/dist/peripheryPayments/index.d.ts.map +1 -0
- package/dist/peripheryPayments/index.js +2 -0
- package/dist/peripheryPayments/index.js.map +1 -0
- package/dist/peripheryPayments/simpleRouter.d.ts +9 -0
- package/dist/peripheryPayments/simpleRouter.d.ts.map +1 -0
- package/dist/peripheryPayments/simpleRouter.js +27 -0
- package/dist/peripheryPayments/simpleRouter.js.map +1 -0
- package/dist/pool/cursorBounds.d.ts +29 -0
- package/dist/pool/cursorBounds.d.ts.map +1 -0
- package/dist/pool/cursorBounds.js +76 -0
- package/dist/pool/cursorBounds.js.map +1 -0
- package/dist/pool/index.d.ts +3 -1
- package/dist/pool/index.d.ts.map +1 -1
- package/dist/pool/index.js +3 -1
- package/dist/pool/index.js.map +1 -1
- package/dist/pool/liquidity.d.ts +114 -7
- package/dist/pool/liquidity.d.ts.map +1 -1
- package/dist/pool/liquidity.js +96 -11
- package/dist/pool/liquidity.js.map +1 -1
- package/dist/pool/nativeLiquidity.d.ts +32 -0
- package/dist/pool/nativeLiquidity.d.ts.map +1 -0
- package/dist/pool/nativeLiquidity.js +47 -0
- package/dist/pool/nativeLiquidity.js.map +1 -0
- package/dist/router/fromRoute.d.ts +93 -0
- package/dist/router/fromRoute.d.ts.map +1 -0
- package/dist/router/fromRoute.js +187 -0
- package/dist/router/fromRoute.js.map +1 -0
- package/dist/router/index.d.ts +8 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +8 -1
- package/dist/router/index.js.map +1 -1
- package/dist/router/nativeSwap.d.ts +47 -0
- package/dist/router/nativeSwap.d.ts.map +1 -0
- package/dist/router/nativeSwap.js +89 -0
- package/dist/router/nativeSwap.js.map +1 -0
- package/dist/router/swap.d.ts +82 -1
- package/dist/router/swap.d.ts.map +1 -1
- package/dist/router/swap.js +51 -1
- package/dist/router/swap.js.map +1 -1
- package/dist/router/swapPath.d.ts +46 -1
- package/dist/router/swapPath.d.ts.map +1 -1
- package/dist/router/swapPath.js +34 -0
- package/dist/router/swapPath.js.map +1 -1
- package/package.json +2 -2
- package/src/abis/DepositAllowlistExtension.ts +56 -0
- package/src/abis/MetricOmmPoolFactory.ts +16 -0
- package/src/abis/MetricOmmPoolLiquidityAdder.ts +150 -5
- package/src/abis/MetricOmmSimpleRouter.ts +42 -0
- package/src/abis/MetricOmmSwapQuoter.ts +18 -2
- package/src/abis/SwapAllowlistExtension.ts +56 -0
- package/src/abis/index.ts +2 -3
- package/src/addresses.ts +12 -15
- package/src/dataProvider/index.ts +0 -1
- package/src/dataProvider/read.ts +1 -4
- package/src/index.ts +38 -2
- package/src/peripheryPayments/index.ts +5 -0
- package/src/peripheryPayments/simpleRouter.ts +31 -0
- package/src/pool/cursorBounds.ts +112 -0
- package/src/pool/index.ts +15 -0
- package/src/pool/liquidity.ts +124 -15
- package/src/pool/nativeLiquidity.ts +71 -0
- package/src/router/fromRoute.ts +318 -0
- package/src/router/index.ts +36 -1
- package/src/router/nativeSwap.ts +123 -0
- package/src/router/swap.ts +82 -1
- package/src/router/swapPath.ts +47 -1
- package/dist/abis/MetricOmmPoolStateView.d.ts +0 -238
- package/dist/abis/MetricOmmPoolStateView.d.ts.map +0 -1
- package/dist/abis/MetricOmmPoolStateView.js +0 -315
- package/dist/abis/MetricOmmPoolStateView.js.map +0 -1
- package/src/abis/MetricOmmPoolStateView.ts +0 -314
package/dist/pool/liquidity.js
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
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
|
-
*
|
|
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 ??
|
|
460
|
-
params.minimalPosition ??
|
|
461
|
-
params.maximalCurBin ??
|
|
462
|
-
params.maximalPosition ??
|
|
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 ??
|
|
479
|
-
params.minimalPosition ??
|
|
480
|
-
params.maximalCurBin ??
|
|
481
|
-
params.maximalPosition ??
|
|
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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"}
|