@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/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,+BAA+B,EAC/B,sBAAsB,IAAI,oBAAoB,EAC9C,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGvF,OAAO,EACL,OAAO,EACP,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,19 +8,22 @@ export { Q64, MAX_UINT128, MAX_INT128, MAX_UINT104, MAX_INT104 } from "./constan
|
|
|
8
8
|
// ============ Addresses ============
|
|
9
9
|
export { ChainId, ADDRESSES, getAddresses, getAddressesOrThrow, isChainSupported, getSupportedChainIds, isChainDeployed, } from "./addresses.js";
|
|
10
10
|
// ============ ABIs ============
|
|
11
|
-
export { MetricOmmPoolAbi, MetricOmmPoolDataProviderAbi, MetricOmmSwapQuoterAbi,
|
|
11
|
+
export { MetricOmmPoolAbi, MetricOmmPoolDataProviderAbi, MetricOmmSwapQuoterAbi, MetricOmmSimpleRouterAbi, MetricOmmPoolLiquidityAdderAbi, MetricOmmPoolFactoryAbi, DepositAllowlistExtensionAbi, SwapAllowlistExtensionAbi, PriceVelocityGuardExtensionAbi, OracleValueStopLossExtensionAbi, OracleProviderAbi, } from "./abis/index.js";
|
|
12
12
|
// ============ Utils ============
|
|
13
13
|
export { packBinData, packBins5, packBinDataArray, unpackBinData, createBins, createUniformBins, priceToQ64, q64ToPrice, } from "./utils/index.js";
|
|
14
14
|
// ============ Pool Functions ============
|
|
15
15
|
export { createPool, prepareFactoryCreatePoolParams, encodeCreatePoolCalldata, preparePoolBinData, getPoolImmutables, getPoolFeeConfig, getPoolState, getBinState, getPositionBinShares, } from "./pool/index.js";
|
|
16
16
|
// ============ DataProvider read functions ============
|
|
17
|
-
export { getSlot0, getSlot1, getBinStateExternal, getBinStatesExternal, getBinStatesScaled, getBinTotalShares, getPositionBinSharesFromDataProvider,
|
|
17
|
+
export { getSlot0, getSlot1, getBinStateExternal, getBinStatesExternal, getBinStatesScaled, getBinTotalShares, getPositionBinSharesFromDataProvider, toPositionBinKey, getPositionBinSharesRange, getPriceProvider, } from "./dataProvider/index.js";
|
|
18
18
|
// ============ Liquidity Functions ============
|
|
19
19
|
export { buildModifyLiquidityArgsForAddition, buildModifyLiquidityArgsForUniformAddition, buildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmount, buildModifyLiquidityArgsForPercentageRemoval, buildModifyLiquidityArgsForRemoval, buildAddLiquidityExactSharesParamsFromBinTargets, buildRemoveLiquidityPoolDelta, additionPlanToPoolLiquidityDelta, removalPlanToPoolLiquidityDelta, scaleWeightedPoolDeltasToFitCaps, encodeAddLiquidityExactSharesSelfCalldata, encodeAddLiquidityExactSharesWithOwnerCalldata, encodeAddLiquidityWeightedSelfCalldata, encodeAddLiquidityWeightedWithOwnerCalldata, encodeRemoveLiquidityCalldata, getPositionShares, getPositionSharesForBins, NO_SLIPPAGE_LIMIT, } from "./pool/liquidity.js";
|
|
20
|
+
export { prepareAddLiquidityExactSharesSelfSupportingNativePaymentCalldata, prepareAddLiquidityExactSharesWithOwnerSupportingNativePaymentCalldata, prepareAddLiquidityWeightedSelfSupportingNativePaymentCalldata, prepareAddLiquidityWeightedWithOwnerSupportingNativePaymentCalldata, UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS, prepareLiquidityCursorBounds, computeLiquidityCursorBounds, cursorMovementToPositionDelta, } from "./pool/index.js";
|
|
21
|
+
// ============ PeripheryPayments ============
|
|
22
|
+
export { encodeMulticallCalldata, encodeRefundETHCalldata, encodeUnwrapWETH9Calldata, } from "./peripheryPayments/index.js";
|
|
20
23
|
// ============ Quoter Functions ============
|
|
21
24
|
export { quoteLiveExactInSingle, quoteLiveExactOutSingle, quoteLiveExactIn, quoteLiveExactOut, quoteHypotheticalExactInputSingle, quoteHypotheticalExactOutputSingle, quoteHypotheticalExactInput, quoteHypotheticalExactOutput, resolveQuoterAddress, defaultPriceLimitX64, } from "./quoter/index.js";
|
|
22
25
|
// ============ SimpleRouter Functions ============
|
|
23
|
-
export { buildExactInputSingleParams, buildExactOutputSingleParams, buildExactInputParams, buildExactOutputParams, encodeExactInputSingleCalldata, encodeExactOutputSingleCalldata, encodeExactInputCalldata, encodeExactOutputCalldata, encodeZeroForOneBitMap, prepareExactInputSingleCalldata, prepareExactOutputSingleCalldata, prepareExactInputCalldata, prepareExactOutputCalldata, } from "./router/index.js";
|
|
26
|
+
export { buildExactInputSingleParams, buildExactOutputSingleParams, buildExactInputParams, buildExactOutputParams, encodeExactInputSingleCalldata, encodeExactOutputSingleCalldata, encodeExactInputCalldata, encodeExactOutputCalldata, encodeZeroForOneBitMap, prepareExactInputSingleCalldata, prepareExactOutputSingleCalldata, prepareExactInputCalldata, prepareExactOutputCalldata, prepareExactInputSingleAndUnwrapCalldata, prepareExactInputAndUnwrapCalldata, prepareExactInputSingleSupportingNativePaymentCalldata, prepareExactInputSupportingNativePaymentCalldata, prepareExactOutputSupportingNativePaymentCalldata, prepareExactOutputSingleSupportingNativePaymentCalldata, prepareExactOutputSingleAndUnwrapCalldata, prepareExactOutputAndUnwrapCalldata, prepareExactInputFromRoute, prepareExactOutputFromRoute, } from "./router/index.js";
|
|
24
27
|
// ============ Factory Functions ============
|
|
25
28
|
export { getFactoryAssetBalances, collectFactoryFees, } from "./factory/index.js";
|
|
26
29
|
// ============ Oracle Functions (pool registration + blacklist) ============
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvF,sCAAsC;AACtC,OAAO,EACL,OAAO,EACP,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,GAGhB,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/peripheryPayments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/peripheryPayments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** MetricOmmSimpleRouter multicall and PeripheryPayments calldata encoders. */
|
|
2
|
+
import type { Address, Hex } from "viem";
|
|
3
|
+
/** `multicall(bytes[])`. */
|
|
4
|
+
export declare function encodeMulticallCalldata(calls: readonly Hex[]): Hex;
|
|
5
|
+
/** `refundETH()` — unused native balance on the router back to caller. */
|
|
6
|
+
export declare function encodeRefundETHCalldata(): Hex;
|
|
7
|
+
/** `unwrapWETH9(amountMinimum, recipient)`. */
|
|
8
|
+
export declare function encodeUnwrapWETH9Calldata(amountMinimum: bigint, recipient: Address): Hex;
|
|
9
|
+
//# sourceMappingURL=simpleRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpleRouter.d.ts","sourceRoot":"","sources":["../../src/peripheryPayments/simpleRouter.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAIzC,4BAA4B;AAC5B,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,CAMlE;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,IAAI,GAAG,CAK7C;AAED,+CAA+C;AAC/C,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,GAAG,CAMxF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** MetricOmmSimpleRouter multicall and PeripheryPayments calldata encoders. */
|
|
2
|
+
import { encodeFunctionData } from "viem";
|
|
3
|
+
import { SIMPLE_ROUTER_ABI } from "../constants.js";
|
|
4
|
+
/** `multicall(bytes[])`. */
|
|
5
|
+
export function encodeMulticallCalldata(calls) {
|
|
6
|
+
return encodeFunctionData({
|
|
7
|
+
abi: SIMPLE_ROUTER_ABI,
|
|
8
|
+
functionName: "multicall",
|
|
9
|
+
args: [calls],
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
/** `refundETH()` — unused native balance on the router back to caller. */
|
|
13
|
+
export function encodeRefundETHCalldata() {
|
|
14
|
+
return encodeFunctionData({
|
|
15
|
+
abi: SIMPLE_ROUTER_ABI,
|
|
16
|
+
functionName: "refundETH",
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/** `unwrapWETH9(amountMinimum, recipient)`. */
|
|
20
|
+
export function encodeUnwrapWETH9Calldata(amountMinimum, recipient) {
|
|
21
|
+
return encodeFunctionData({
|
|
22
|
+
abi: SIMPLE_ROUTER_ABI,
|
|
23
|
+
functionName: "unwrapWETH9",
|
|
24
|
+
args: [amountMinimum, recipient],
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=simpleRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpleRouter.js","sourceRoot":"","sources":["../../src/peripheryPayments/simpleRouter.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAG/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,4BAA4B;AAC5B,MAAM,UAAU,uBAAuB,CAAC,KAAqB;IAC3D,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,iBAAiB;QACtB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,KAAK,CAAC;KACd,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB;IACrC,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,iBAAiB;QACtB,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,yBAAyB,CAAC,aAAqB,EAAE,SAAkB;IACjF,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,iBAAiB;QACtB,YAAY,EAAE,aAAa;QAC3B,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for weighted-add LiquidityAdder cursor bounds.
|
|
3
|
+
*
|
|
4
|
+
* Cursor position is measured in linear units: each bin spans MAX_UINT104 + 1
|
|
5
|
+
* positions (0 … MAX_UINT104). Movement can cross bin boundaries; distance is
|
|
6
|
+
* summed across bins.
|
|
7
|
+
*/
|
|
8
|
+
import type { Address, PublicClient } from "viem";
|
|
9
|
+
import { type LiquidityCursorBounds } from "./liquidity.js";
|
|
10
|
+
/** Convert a movement factor to position units (1.0 = MAX_UINT104 positions). */
|
|
11
|
+
export declare function cursorMovementToPositionDelta(maximalCursorMovement: number): bigint;
|
|
12
|
+
/**
|
|
13
|
+
* Build LiquidityCursorBounds around a cursor by allowing up to
|
|
14
|
+
* `maximalCursorMovement * MAX_UINT104` positions of movement left or right.
|
|
15
|
+
*/
|
|
16
|
+
export declare function computeLiquidityCursorBounds(curBinIdx: number, curPosInBin: bigint, maximalCursorMovement: number): LiquidityCursorBounds;
|
|
17
|
+
/**
|
|
18
|
+
* Read the pool cursor and return LiquidityCursorBounds for weighted add encoders.
|
|
19
|
+
*
|
|
20
|
+
* @param maximalCursorMovement - 1.0 allows up to MAX_UINT104 positions of movement
|
|
21
|
+
* left or right from the current cursor (summing across bin boundaries).
|
|
22
|
+
*/
|
|
23
|
+
export declare function prepareLiquidityCursorBounds(params: {
|
|
24
|
+
publicClient: PublicClient;
|
|
25
|
+
pool: Address;
|
|
26
|
+
maximalCursorMovement: number;
|
|
27
|
+
dataProviderAddress?: Address;
|
|
28
|
+
}): Promise<LiquidityCursorBounds>;
|
|
29
|
+
//# sourceMappingURL=cursorBounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursorBounds.d.ts","sourceRoot":"","sources":["../../src/pool/cursorBounds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIlD,OAAO,EAAyC,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AA2BnG,iFAAiF;AACjF,wBAAgB,6BAA6B,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAMnF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,GAC5B,qBAAqB,CA2BvB;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,EAAE;IACzD,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAejC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for weighted-add LiquidityAdder cursor bounds.
|
|
3
|
+
*
|
|
4
|
+
* Cursor position is measured in linear units: each bin spans MAX_UINT104 + 1
|
|
5
|
+
* positions (0 … MAX_UINT104). Movement can cross bin boundaries; distance is
|
|
6
|
+
* summed across bins.
|
|
7
|
+
*/
|
|
8
|
+
import { MAX_UINT104 } from "../constants.js";
|
|
9
|
+
import { getSlot0 } from "../dataProvider/read.js";
|
|
10
|
+
import { getAddressesOrThrow } from "../addresses.js";
|
|
11
|
+
import { UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS } from "./liquidity.js";
|
|
12
|
+
const POSITIONS_PER_BIN = MAX_UINT104 + 1n;
|
|
13
|
+
const CURSOR_MOVEMENT_SCALE = 1000000000n;
|
|
14
|
+
function floorDiv(a, b) {
|
|
15
|
+
const q = a / b;
|
|
16
|
+
const r = a % b;
|
|
17
|
+
if (r !== 0n && a < 0n)
|
|
18
|
+
return q - 1n;
|
|
19
|
+
return q;
|
|
20
|
+
}
|
|
21
|
+
function floorMod(a, b) {
|
|
22
|
+
return a - floorDiv(a, b) * b;
|
|
23
|
+
}
|
|
24
|
+
function cursorToLinear(curBinIdx, curPosInBin) {
|
|
25
|
+
return BigInt(curBinIdx) * POSITIONS_PER_BIN + curPosInBin;
|
|
26
|
+
}
|
|
27
|
+
function linearToCursor(linear) {
|
|
28
|
+
return {
|
|
29
|
+
curBinIdx: Number(floorDiv(linear, POSITIONS_PER_BIN)),
|
|
30
|
+
curPosInBin: floorMod(linear, POSITIONS_PER_BIN),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/** Convert a movement factor to position units (1.0 = MAX_UINT104 positions). */
|
|
34
|
+
export function cursorMovementToPositionDelta(maximalCursorMovement) {
|
|
35
|
+
if (!Number.isFinite(maximalCursorMovement) || maximalCursorMovement < 0) {
|
|
36
|
+
throw new Error("maximalCursorMovement must be a non-negative finite number");
|
|
37
|
+
}
|
|
38
|
+
const scaledMovement = BigInt(Math.round(maximalCursorMovement * Number(CURSOR_MOVEMENT_SCALE)));
|
|
39
|
+
return (scaledMovement * MAX_UINT104) / CURSOR_MOVEMENT_SCALE;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Build LiquidityCursorBounds around a cursor by allowing up to
|
|
43
|
+
* `maximalCursorMovement * MAX_UINT104` positions of movement left or right.
|
|
44
|
+
*/
|
|
45
|
+
export function computeLiquidityCursorBounds(curBinIdx, curPosInBin, maximalCursorMovement) {
|
|
46
|
+
const delta = cursorMovementToPositionDelta(maximalCursorMovement);
|
|
47
|
+
const currentLinear = cursorToLinear(curBinIdx, curPosInBin);
|
|
48
|
+
const protocolMinLinear = cursorToLinear(UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.minimalCurBin, UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.minimalPosition);
|
|
49
|
+
const protocolMaxLinear = cursorToLinear(UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.maximalCurBin, UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS.maximalPosition);
|
|
50
|
+
const clampedMinLinear = currentLinear - delta < protocolMinLinear ? protocolMinLinear : currentLinear - delta;
|
|
51
|
+
const clampedMaxLinear = currentLinear + delta > protocolMaxLinear ? protocolMaxLinear : currentLinear + delta;
|
|
52
|
+
const minimal = linearToCursor(clampedMinLinear);
|
|
53
|
+
const maximal = linearToCursor(clampedMaxLinear);
|
|
54
|
+
return {
|
|
55
|
+
minimalCurBin: minimal.curBinIdx,
|
|
56
|
+
minimalPosition: minimal.curPosInBin,
|
|
57
|
+
maximalCurBin: maximal.curBinIdx,
|
|
58
|
+
maximalPosition: maximal.curPosInBin,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Read the pool cursor and return LiquidityCursorBounds for weighted add encoders.
|
|
63
|
+
*
|
|
64
|
+
* @param maximalCursorMovement - 1.0 allows up to MAX_UINT104 positions of movement
|
|
65
|
+
* left or right from the current cursor (summing across bin boundaries).
|
|
66
|
+
*/
|
|
67
|
+
export async function prepareLiquidityCursorBounds(params) {
|
|
68
|
+
const chainId = params.publicClient.chain?.id;
|
|
69
|
+
if (chainId === undefined) {
|
|
70
|
+
throw new Error("publicClient.chain.id is required to resolve dataProvider address");
|
|
71
|
+
}
|
|
72
|
+
const dataProviderAddress = params.dataProviderAddress ?? getAddressesOrThrow(chainId).dataProvider;
|
|
73
|
+
const slot0 = await getSlot0(params.publicClient, dataProviderAddress, params.pool);
|
|
74
|
+
return computeLiquidityCursorBounds(slot0.curBinIdx, slot0.curPosInBin, params.maximalCursorMovement);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=cursorBounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursorBounds.js","sourceRoot":"","sources":["../../src/pool/cursorBounds.ts"],"names":[],"mappings":"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"}
|
package/dist/pool/index.d.ts
CHANGED
|
@@ -3,5 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { createPool, prepareFactoryCreatePoolParams, encodeCreatePoolCalldata, preparePoolBinData, type CreatePoolFactoryParams, type CreatePoolParams, type ExtensionOrders, } from "./create.js";
|
|
5
5
|
export { getPoolImmutables, getPoolFeeConfig, getPoolState, getBinState, getPositionBinShares, } from "./read.js";
|
|
6
|
-
export { buildModifyLiquidityArgsForAddition, buildModifyLiquidityArgsForUniformAddition, buildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmount, buildModifyLiquidityArgsForPercentageRemoval, buildModifyLiquidityArgsForRemoval, buildAddLiquidityExactSharesParamsFromBinTargets, buildRemoveLiquidityPoolDelta, additionPlanToPoolLiquidityDelta, removalPlanToPoolLiquidityDelta, scaleWeightedPoolDeltasToFitCaps, encodeAddLiquidityExactSharesSelfCalldata, encodeAddLiquidityExactSharesWithOwnerCalldata, encodeAddLiquidityWeightedSelfCalldata, encodeAddLiquidityWeightedWithOwnerCalldata, encodeRemoveLiquidityCalldata, getPositionShares, getPositionSharesForBins, NO_SLIPPAGE_LIMIT, type ModifyLiquidityArgs, type BuildModifyLiquidityArgsBase, type BuildModifyLiquidityArgsForAdditionParams, type BuildModifyLiquidityArgsForUniformAdditionParams, type BuildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmountParams, type BuildModifyLiquidityArgsForPercentageRemovalParams, type BuildModifyLiquidityArgsForRemovalParams, type RemoveLiquidityParams, type BinRemovalSpec, } from "./liquidity.js";
|
|
6
|
+
export { buildModifyLiquidityArgsForAddition, buildModifyLiquidityArgsForUniformAddition, buildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmount, buildModifyLiquidityArgsForPercentageRemoval, buildModifyLiquidityArgsForRemoval, buildAddLiquidityExactSharesParamsFromBinTargets, buildRemoveLiquidityPoolDelta, additionPlanToPoolLiquidityDelta, removalPlanToPoolLiquidityDelta, scaleWeightedPoolDeltasToFitCaps, encodeAddLiquidityExactSharesSelfCalldata, encodeAddLiquidityExactSharesWithOwnerCalldata, encodeAddLiquidityWeightedSelfCalldata, encodeAddLiquidityWeightedWithOwnerCalldata, encodeRemoveLiquidityCalldata, UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS, type LiquidityCursorBounds, getPositionShares, getPositionSharesForBins, NO_SLIPPAGE_LIMIT, type ModifyLiquidityArgs, type BuildModifyLiquidityArgsBase, type BuildModifyLiquidityArgsForAdditionParams, type BuildModifyLiquidityArgsForUniformAdditionParams, type BuildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmountParams, type BuildModifyLiquidityArgsForPercentageRemovalParams, type BuildModifyLiquidityArgsForRemovalParams, type RemoveLiquidityParams, type BinRemovalSpec, } from "./liquidity.js";
|
|
7
|
+
export { prepareAddLiquidityExactSharesSelfSupportingNativePaymentCalldata, prepareAddLiquidityExactSharesWithOwnerSupportingNativePaymentCalldata, prepareAddLiquidityWeightedSelfSupportingNativePaymentCalldata, prepareAddLiquidityWeightedWithOwnerSupportingNativePaymentCalldata, } from "./nativeLiquidity.js";
|
|
8
|
+
export { prepareLiquidityCursorBounds, computeLiquidityCursorBounds, cursorMovementToPositionDelta, } from "./cursorBounds.js";
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/pool/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pool/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,UAAU,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,mCAAmC,EACnC,0CAA0C,EAC1C,8DAA8D,EAC9D,4CAA4C,EAC5C,kCAAkC,EAClC,gDAAgD,EAChD,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,yCAAyC,EACzC,8CAA8C,EAC9C,sCAAsC,EACtC,2CAA2C,EAC3C,6BAA6B,EAC7B,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,yCAAyC,EAC9C,KAAK,gDAAgD,EACrD,KAAK,oEAAoE,EACzE,KAAK,kDAAkD,EACvD,KAAK,wCAAwC,EAC7C,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pool/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,UAAU,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,mCAAmC,EACnC,0CAA0C,EAC1C,8DAA8D,EAC9D,4CAA4C,EAC5C,kCAAkC,EAClC,gDAAgD,EAChD,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,yCAAyC,EACzC,8CAA8C,EAC9C,sCAAsC,EACtC,2CAA2C,EAC3C,6BAA6B,EAC7B,qCAAqC,EACrC,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,yCAAyC,EAC9C,KAAK,gDAAgD,EACrD,KAAK,oEAAoE,EACzE,KAAK,kDAAkD,EACvD,KAAK,wCAAwC,EAC7C,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iEAAiE,EACjE,sEAAsE,EACtE,8DAA8D,EAC9D,mEAAmE,GACpE,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC"}
|
package/dist/pool/index.js
CHANGED
|
@@ -6,5 +6,7 @@ export { createPool, prepareFactoryCreatePoolParams, encodeCreatePoolCalldata, p
|
|
|
6
6
|
// Pool read functions
|
|
7
7
|
export { getPoolImmutables, getPoolFeeConfig, getPoolState, getBinState, getPositionBinShares, } from "./read.js";
|
|
8
8
|
// Liquidity calculations and position operations
|
|
9
|
-
export { buildModifyLiquidityArgsForAddition, buildModifyLiquidityArgsForUniformAddition, buildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmount, buildModifyLiquidityArgsForPercentageRemoval, buildModifyLiquidityArgsForRemoval, buildAddLiquidityExactSharesParamsFromBinTargets, buildRemoveLiquidityPoolDelta, additionPlanToPoolLiquidityDelta, removalPlanToPoolLiquidityDelta, scaleWeightedPoolDeltasToFitCaps, encodeAddLiquidityExactSharesSelfCalldata, encodeAddLiquidityExactSharesWithOwnerCalldata, encodeAddLiquidityWeightedSelfCalldata, encodeAddLiquidityWeightedWithOwnerCalldata, encodeRemoveLiquidityCalldata, getPositionShares, getPositionSharesForBins, NO_SLIPPAGE_LIMIT, } from "./liquidity.js";
|
|
9
|
+
export { buildModifyLiquidityArgsForAddition, buildModifyLiquidityArgsForUniformAddition, buildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmount, buildModifyLiquidityArgsForPercentageRemoval, buildModifyLiquidityArgsForRemoval, buildAddLiquidityExactSharesParamsFromBinTargets, buildRemoveLiquidityPoolDelta, additionPlanToPoolLiquidityDelta, removalPlanToPoolLiquidityDelta, scaleWeightedPoolDeltasToFitCaps, encodeAddLiquidityExactSharesSelfCalldata, encodeAddLiquidityExactSharesWithOwnerCalldata, encodeAddLiquidityWeightedSelfCalldata, encodeAddLiquidityWeightedWithOwnerCalldata, encodeRemoveLiquidityCalldata, UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS, getPositionShares, getPositionSharesForBins, NO_SLIPPAGE_LIMIT, } from "./liquidity.js";
|
|
10
|
+
export { prepareAddLiquidityExactSharesSelfSupportingNativePaymentCalldata, prepareAddLiquidityExactSharesWithOwnerSupportingNativePaymentCalldata, prepareAddLiquidityWeightedSelfSupportingNativePaymentCalldata, prepareAddLiquidityWeightedWithOwnerSupportingNativePaymentCalldata, } from "./nativeLiquidity.js";
|
|
11
|
+
export { prepareLiquidityCursorBounds, computeLiquidityCursorBounds, cursorMovementToPositionDelta, } from "./cursorBounds.js";
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
package/dist/pool/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pool/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,GAInB,MAAM,aAAa,CAAC;AAErB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAEnB,iDAAiD;AACjD,OAAO,EACL,mCAAmC,EACnC,0CAA0C,EAC1C,8DAA8D,EAC9D,4CAA4C,EAC5C,kCAAkC,EAClC,gDAAgD,EAChD,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,yCAAyC,EACzC,8CAA8C,EAC9C,sCAAsC,EACtC,2CAA2C,EAC3C,6BAA6B,EAC7B,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAUlB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pool/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,GAInB,MAAM,aAAa,CAAC;AAErB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAEnB,iDAAiD;AACjD,OAAO,EACL,mCAAmC,EACnC,0CAA0C,EAC1C,8DAA8D,EAC9D,4CAA4C,EAC5C,kCAAkC,EAClC,gDAAgD,EAChD,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,yCAAyC,EACzC,8CAA8C,EAC9C,sCAAsC,EACtC,2CAA2C,EAC3C,6BAA6B,EAC7B,qCAAqC,EAErC,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAUlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iEAAiE,EACjE,sEAAsE,EACtE,8DAA8D,EAC9D,mEAAmE,GACpE,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC"}
|
package/dist/pool/liquidity.d.ts
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 type { Address, PublicClient, Hex } from "viem";
|
|
6
22
|
import type { LiquidityDelta, LiquidityBinValueInput, PoolLiquidityDelta } from "../types.js";
|
|
@@ -9,38 +25,55 @@ import { convertToken0ToToken1, convertToken1ToToken0 } from "../utils/liquidity
|
|
|
9
25
|
export { convertToken0ToToken1, convertToken1ToToken0 };
|
|
10
26
|
export declare const getPositionShares: typeof getPositionBinSharesRange;
|
|
11
27
|
export declare const getPositionSharesForBins: typeof getPositionBinSharesForBins;
|
|
28
|
+
/** High-level removal options (used by UI helpers). Prefer {@link BuildModifyLiquidityArgsForRemovalParams} in SDK code. */
|
|
12
29
|
export interface RemoveLiquidityParams {
|
|
30
|
+
/** Percent of each selected bin's shares to burn (0–100). */
|
|
13
31
|
percentageToRemove: number;
|
|
32
|
+
/** Explicit bin list; when omitted, scans `lowerBin`–`upperBin` for position shares. */
|
|
14
33
|
bins?: number[];
|
|
15
34
|
lowerBin?: number;
|
|
16
35
|
upperBin?: number;
|
|
17
36
|
}
|
|
37
|
+
/** Per-bin removal: specify exactly one of `percentageToRemove` or `sharesToRemove`. */
|
|
18
38
|
export interface BinRemovalSpec {
|
|
19
39
|
bin: number;
|
|
20
40
|
percentageToRemove?: number;
|
|
21
41
|
sharesToRemove?: bigint;
|
|
22
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Sentinel passed as `specAmount0` / `specAmount1` on removals — no minimum output enforced.
|
|
45
|
+
* Same value the pool uses for "accept any amount" on `modifyLiquidity` removes.
|
|
46
|
+
*/
|
|
23
47
|
export declare const NO_SLIPPAGE_LIMIT: bigint;
|
|
48
|
+
/**
|
|
49
|
+
* Tuple for low-level `modifyLiquidity` on the pool:
|
|
50
|
+
* `[salt, deltas, specAmount0, specAmount1]`.
|
|
51
|
+
* Prefer LiquidityAdder encode helpers for additions.
|
|
52
|
+
*/
|
|
24
53
|
export type ModifyLiquidityArgs = readonly [bigint, LiquidityDelta[], bigint, bigint];
|
|
25
54
|
export interface BuildModifyLiquidityArgsBase {
|
|
26
55
|
publicClient: PublicClient;
|
|
27
|
-
/** MetricOmmPoolDataProvider
|
|
56
|
+
/** MetricOmmPoolDataProvider (`addresses.dataProvider`). */
|
|
28
57
|
dataProviderAddress: Address;
|
|
29
58
|
poolAddress: Address;
|
|
59
|
+
/** Extra headroom on spec amounts (percent); `0` = exact computed caps. */
|
|
30
60
|
specAmountBufferPercent?: number;
|
|
31
61
|
}
|
|
32
|
-
/** Addition builders read pool immutables
|
|
62
|
+
/** Addition builders need the factory to read pool immutables (decimals, bin range). */
|
|
33
63
|
export interface BuildModifyLiquidityArgsWithFactory extends BuildModifyLiquidityArgsBase {
|
|
34
64
|
factoryAddress: Address;
|
|
35
65
|
}
|
|
66
|
+
/** Per-bin target amounts for {@link buildModifyLiquidityArgsForAddition}. */
|
|
36
67
|
export interface BuildModifyLiquidityArgsForAdditionParams extends BuildModifyLiquidityArgsWithFactory {
|
|
37
68
|
bins: LiquidityBinValueInput[];
|
|
38
|
-
/** Human
|
|
69
|
+
/** Human price token1/token0; omit when `currentPriceX64` is set. */
|
|
39
70
|
currentPrice?: number;
|
|
40
|
-
/**
|
|
71
|
+
/** Q64.64 price from slot0; preferred over `currentPrice`. */
|
|
41
72
|
currentPriceX64?: bigint;
|
|
73
|
+
/** Position salt; default `0n`. Reuse across adds to the same position. */
|
|
42
74
|
salt?: bigint;
|
|
43
75
|
}
|
|
76
|
+
/** Same value in every bin from `lowerBin` through `upperBin` inclusive. */
|
|
44
77
|
export interface BuildModifyLiquidityArgsForUniformAdditionParams extends BuildModifyLiquidityArgsWithFactory {
|
|
45
78
|
amountInTokensPerBin: bigint;
|
|
46
79
|
amountIsInToken0: boolean;
|
|
@@ -49,6 +82,7 @@ export interface BuildModifyLiquidityArgsForUniformAdditionParams extends BuildM
|
|
|
49
82
|
upperBin: number;
|
|
50
83
|
salt?: bigint;
|
|
51
84
|
}
|
|
85
|
+
/** Split a total token budget across `bins` (optional `weights`); calibrates share scaling on-chain. */
|
|
52
86
|
export interface BuildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmountParams extends BuildModifyLiquidityArgsWithFactory {
|
|
53
87
|
bins: number[];
|
|
54
88
|
weights?: number[];
|
|
@@ -57,6 +91,7 @@ export interface BuildModifyLiquidityArgsForUniformAdditionWithTotalTokenAmountP
|
|
|
57
91
|
currentPriceX64: bigint;
|
|
58
92
|
salt?: bigint;
|
|
59
93
|
}
|
|
94
|
+
/** Remove the same percentage from all bins with liquidity (or from explicit `bins`). */
|
|
60
95
|
export interface BuildModifyLiquidityArgsForPercentageRemovalParams extends BuildModifyLiquidityArgsBase {
|
|
61
96
|
owner: Address;
|
|
62
97
|
salt: bigint;
|
|
@@ -65,13 +100,17 @@ export interface BuildModifyLiquidityArgsForPercentageRemovalParams extends Buil
|
|
|
65
100
|
lowerBin?: number;
|
|
66
101
|
upperBin?: number;
|
|
67
102
|
}
|
|
103
|
+
/** Granular per-bin removal specs. */
|
|
68
104
|
export interface BuildModifyLiquidityArgsForRemovalParams extends BuildModifyLiquidityArgsBase {
|
|
69
105
|
owner: Address;
|
|
70
106
|
salt: bigint;
|
|
71
107
|
specs: BinRemovalSpec[];
|
|
72
108
|
}
|
|
73
109
|
/**
|
|
74
|
-
*
|
|
110
|
+
* Uniform liquidity: same token amount in every bin from `lowerBin` to `upperBin`.
|
|
111
|
+
* Delegates to {@link buildModifyLiquidityArgsForAddition}.
|
|
112
|
+
*
|
|
113
|
+
* @returns `[salt, deltas, specAmount0, specAmount1]` — max token caps for the adder.
|
|
75
114
|
*/
|
|
76
115
|
export declare function buildModifyLiquidityArgsForUniformAddition({ publicClient, factoryAddress, dataProviderAddress, poolAddress, amountInTokensPerBin, amountIsInToken0, currentPrice, lowerBin, upperBin, salt, specAmountBufferPercent, }: BuildModifyLiquidityArgsForUniformAdditionParams): Promise<ModifyLiquidityArgs>;
|
|
77
116
|
/**
|
|
@@ -108,9 +147,20 @@ export declare function buildModifyLiquidityArgsForUniformAdditionWithTotalToken
|
|
|
108
147
|
* `specAmount0/specAmount1` with overflow checks.
|
|
109
148
|
*/
|
|
110
149
|
export declare function buildModifyLiquidityArgsForAddition({ publicClient, factoryAddress, dataProviderAddress, poolAddress, bins, currentPrice, currentPriceX64, salt, specAmountBufferPercent, }: BuildModifyLiquidityArgsForAdditionParams): Promise<ModifyLiquidityArgs>;
|
|
150
|
+
/**
|
|
151
|
+
* Remove liquidity by explicit per-bin specs (percentage or absolute shares).
|
|
152
|
+
*
|
|
153
|
+
* `specAmount0` / `specAmount1` are set to {@link NO_SLIPPAGE_LIMIT} (accept any output).
|
|
154
|
+
*/
|
|
111
155
|
export declare function buildModifyLiquidityArgsForRemoval(params: BuildModifyLiquidityArgsForRemovalParams): Promise<ModifyLiquidityArgs>;
|
|
156
|
+
/**
|
|
157
|
+
* Remove the same `percentageToRemove` from every bin that has position shares.
|
|
158
|
+
* When `bins` is omitted, discovers bins via `getPositionBinSharesRange(lowerBin, upperBin)`.
|
|
159
|
+
*/
|
|
112
160
|
export declare function buildModifyLiquidityArgsForPercentageRemoval({ publicClient, dataProviderAddress, poolAddress, owner, salt, percentageToRemove, bins, lowerBin, upperBin, specAmountBufferPercent, }: BuildModifyLiquidityArgsForPercentageRemovalParams): Promise<ModifyLiquidityArgs>;
|
|
161
|
+
/** Convert positive `deltaShares` from a modify plan into `PoolLiquidityDelta` for the adder. */
|
|
113
162
|
export declare function additionPlanToPoolLiquidityDelta(deltas: readonly LiquidityDelta[]): PoolLiquidityDelta;
|
|
163
|
+
/** Convert negative `deltaShares` from a modify plan into burn `PoolLiquidityDelta` for `removeLiquidity`. */
|
|
114
164
|
export declare function removalPlanToPoolLiquidityDelta(deltas: readonly LiquidityDelta[]): PoolLiquidityDelta;
|
|
115
165
|
/**
|
|
116
166
|
* Matches `MetricOmmPoolLiquidityAdder._scaleWeightsToShares`: given probe token needs from a weighted
|
|
@@ -123,12 +173,44 @@ export declare function scaleWeightedPoolDeltasToFitCaps(params: {
|
|
|
123
173
|
maxAmountToken0: bigint;
|
|
124
174
|
maxAmountToken1: bigint;
|
|
125
175
|
}): PoolLiquidityDelta;
|
|
176
|
+
/**
|
|
177
|
+
* Convenience wrapper: bin targets → adder-ready `{ salt, poolLiquidityDelta, maxAmountToken0, maxAmountToken1 }`.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```ts
|
|
181
|
+
* const add = await buildAddLiquidityExactSharesParamsFromBinTargets({
|
|
182
|
+
* publicClient, factoryAddress, dataProviderAddress, poolAddress,
|
|
183
|
+
* bins: [{ bin: 0, targetValueInToken: parseUnits("100", 6), targetValueInToken0: false }],
|
|
184
|
+
* currentPriceX64: slot0.priceX64,
|
|
185
|
+
* });
|
|
186
|
+
* const data = encodeAddLiquidityExactSharesSelfCalldata({ pool: poolAddress, ...add });
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
126
189
|
export declare function buildAddLiquidityExactSharesParamsFromBinTargets(params: BuildModifyLiquidityArgsForAdditionParams): Promise<{
|
|
127
190
|
salt: bigint;
|
|
128
191
|
poolLiquidityDelta: PoolLiquidityDelta;
|
|
129
192
|
maxAmountToken0: bigint;
|
|
130
193
|
maxAmountToken1: bigint;
|
|
131
194
|
}>;
|
|
195
|
+
/** Cursor bounds that disable weighted-add cursor checks (matches on-chain test helpers). */
|
|
196
|
+
export declare const UNCONSTRAINED_LIQUIDITY_CURSOR_BOUNDS: {
|
|
197
|
+
readonly minimalCurBin: -128;
|
|
198
|
+
readonly minimalPosition: 0n;
|
|
199
|
+
readonly maximalCurBin: 127;
|
|
200
|
+
readonly maximalPosition: bigint;
|
|
201
|
+
};
|
|
202
|
+
export type LiquidityCursorBounds = {
|
|
203
|
+
minimalCurBin: number;
|
|
204
|
+
minimalPosition: bigint;
|
|
205
|
+
maximalCurBin: number;
|
|
206
|
+
maximalPosition: bigint;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* Encode `LiquidityAdder.addLiquidityExactShares` for the transaction sender.
|
|
210
|
+
*
|
|
211
|
+
* Creates or increases the position `(msg.sender, salt)` — liquidity is credited to whoever
|
|
212
|
+
* sends the transaction. Approve both pool tokens on the LiquidityAdder before sending.
|
|
213
|
+
*/
|
|
132
214
|
export declare function encodeAddLiquidityExactSharesSelfCalldata(params: {
|
|
133
215
|
pool: Address;
|
|
134
216
|
salt: bigint;
|
|
@@ -137,6 +219,13 @@ export declare function encodeAddLiquidityExactSharesSelfCalldata(params: {
|
|
|
137
219
|
maxAmountToken1: bigint;
|
|
138
220
|
extensionData?: Hex;
|
|
139
221
|
}): Hex;
|
|
222
|
+
/**
|
|
223
|
+
* Encode `LiquidityAdder.addLiquidityExactShares` for an explicit position owner.
|
|
224
|
+
*
|
|
225
|
+
* Creates or increases the position `(owner, salt)` while `msg.sender` pays for the deposit
|
|
226
|
+
* (e.g. router, vault, or meta-transaction relayer acting on behalf of `owner`).
|
|
227
|
+
* Approve both pool tokens on the LiquidityAdder before sending.
|
|
228
|
+
*/
|
|
140
229
|
export declare function encodeAddLiquidityExactSharesWithOwnerCalldata(params: {
|
|
141
230
|
pool: Address;
|
|
142
231
|
owner: Address;
|
|
@@ -146,6 +235,13 @@ export declare function encodeAddLiquidityExactSharesWithOwnerCalldata(params: {
|
|
|
146
235
|
maxAmountToken1: bigint;
|
|
147
236
|
extensionData?: Hex;
|
|
148
237
|
}): Hex;
|
|
238
|
+
/**
|
|
239
|
+
* Encode weighted add for the transaction sender.
|
|
240
|
+
*
|
|
241
|
+
* `weightDeltas` are relative share weights; the adder scales to fit
|
|
242
|
+
* `maxAmountToken0` / `maxAmountToken1`. Use {@link scaleWeightedPoolDeltasToFitCaps} to pre-scale.
|
|
243
|
+
* Creates or increases the position `(msg.sender, salt)`.
|
|
244
|
+
*/
|
|
149
245
|
export declare function encodeAddLiquidityWeightedSelfCalldata(params: {
|
|
150
246
|
pool: Address;
|
|
151
247
|
salt: bigint;
|
|
@@ -158,6 +254,12 @@ export declare function encodeAddLiquidityWeightedSelfCalldata(params: {
|
|
|
158
254
|
maximalPosition?: bigint;
|
|
159
255
|
extensionData?: Hex;
|
|
160
256
|
}): Hex;
|
|
257
|
+
/**
|
|
258
|
+
* Encode weighted add for an explicit position owner.
|
|
259
|
+
*
|
|
260
|
+
* Same as {@link encodeAddLiquidityWeightedSelfCalldata} but credits liquidity to `(owner, salt)`
|
|
261
|
+
* while `msg.sender` pays for the deposit.
|
|
262
|
+
*/
|
|
161
263
|
export declare function encodeAddLiquidityWeightedWithOwnerCalldata(params: {
|
|
162
264
|
pool: Address;
|
|
163
265
|
owner: Address;
|
|
@@ -171,12 +273,17 @@ export declare function encodeAddLiquidityWeightedWithOwnerCalldata(params: {
|
|
|
171
273
|
maximalPosition?: bigint;
|
|
172
274
|
extensionData?: Hex;
|
|
173
275
|
}): Hex;
|
|
276
|
+
/**
|
|
277
|
+
* Encode `Pool.removeLiquidity(owner, salt, deltas, extensionData)`.
|
|
278
|
+
* Send to the **pool** contract; no token approval required (tokens are sent out).
|
|
279
|
+
*/
|
|
174
280
|
export declare function encodeRemoveLiquidityCalldata(params: {
|
|
175
281
|
owner: Address;
|
|
176
282
|
salt: bigint;
|
|
177
283
|
deltas: PoolLiquidityDelta;
|
|
178
284
|
extensionData?: Hex;
|
|
179
285
|
}): Hex;
|
|
286
|
+
/** Build `{ salt, poolLiquidityDelta }` for {@link encodeRemoveLiquidityCalldata}. */
|
|
180
287
|
export declare function buildRemoveLiquidityPoolDelta(params: BuildModifyLiquidityArgsForRemovalParams): Promise<{
|
|
181
288
|
salt: bigint;
|
|
182
289
|
poolLiquidityDelta: PoolLiquidityDelta;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquidity.d.ts","sourceRoot":"","sources":["../../src/pool/liquidity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"liquidity.d.ts","sourceRoot":"","sources":["../../src/pool/liquidity.ts"],"names":[],"mappings":"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"}
|