@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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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, MetricOmmPoolStateViewAbi, MetricOmmSimpleRouterAbi, MetricOmmPoolLiquidityAdderAbi, MetricOmmPoolFactoryAbi, DepositAllowlistExtensionAbi, SwapAllowlistExtensionAbi, PriceVelocityGuardExtensionAbi, OracleValueStopLossExtensionAbi, OracleProviderAbi, } from "./abis/index.js";
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, getPositionBinSharesFromStateView, toPositionBinKey, getPositionBinSharesRange, getPriceProvider, } from "./dataProvider/index.js";
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { encodeMulticallCalldata, encodeRefundETHCalldata, encodeUnwrapWETH9Calldata, } from "./simpleRouter.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export { encodeMulticallCalldata, encodeRefundETHCalldata, encodeUnwrapWETH9Calldata, } from "./simpleRouter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -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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"}
@@ -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
@@ -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"}
@@ -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
@@ -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"}
@@ -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 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 address (`addresses.dataProvider` on mainnet). */
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 via `getImmutables()` removal only needs the data provider lens. */
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-readable price (token1 per token0). Omit when using currentPriceX64. */
69
+ /** Human price token1/token0; omit when `currentPriceX64` is set. */
39
70
  currentPrice?: number;
40
- /** On-chain Q64 price. Preferred over currentPrice when available from slot0 / oracle. */
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
- * Prepare uniform liquidity distribution across a bin range.
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":"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"}
1
+ {"version":3,"file":"liquidity.d.ts","sourceRoot":"","sources":["../../src/pool/liquidity.ts"],"names":[],"mappings":"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"}