@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/router/swap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/router/swap.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/router/swap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* SimpleRouter multihop swap helpers.
|
|
3
|
+
*
|
|
4
|
+
* Multihop swaps walk `pools` in order; intermediate tokens remain on the router between hops.
|
|
5
|
+
* For ERC-20 paths, approve the router for `tokenIn` once before sending the transaction.
|
|
3
6
|
*/
|
|
4
7
|
import type { Address, Hex, PublicClient } from "viem";
|
|
8
|
+
/**
|
|
9
|
+
* Arguments for `MetricOmmSimpleRouter.exactInput` (multihop exact input).
|
|
10
|
+
* `tokens` and `zeroForOneBitMap` are usually produced by {@link buildExactInputParams}.
|
|
11
|
+
*/
|
|
5
12
|
export type ExactInputParams = {
|
|
13
|
+
/** Path tokens, length `pools.length + 1`. */
|
|
6
14
|
tokens: Address[];
|
|
15
|
+
/** One pool per hop, in swap order. */
|
|
7
16
|
pools: Address[];
|
|
17
|
+
/** Extension calldata per hop; use `0x` when a pool has no extension. */
|
|
8
18
|
extensionDatas: Hex[];
|
|
19
|
+
/** Bit `i` set when hop `i` is token0 → token1. */
|
|
9
20
|
zeroForOneBitMap: bigint;
|
|
10
21
|
amountIn: bigint;
|
|
11
22
|
amountOutMinimum: bigint;
|
|
12
23
|
recipient: Address;
|
|
13
24
|
deadline: bigint;
|
|
14
25
|
};
|
|
26
|
+
/** Arguments for `MetricOmmSimpleRouter.exactOutput` (multihop exact output). */
|
|
15
27
|
export type ExactOutputParams = {
|
|
16
28
|
tokens: Address[];
|
|
17
29
|
pools: Address[];
|
|
@@ -22,10 +34,12 @@ export type ExactOutputParams = {
|
|
|
22
34
|
recipient: Address;
|
|
23
35
|
deadline: bigint;
|
|
24
36
|
};
|
|
37
|
+
/** Inputs for {@link buildExactInputParams}. */
|
|
25
38
|
export interface BuildExactInputParams {
|
|
26
39
|
publicClient: PublicClient;
|
|
27
40
|
tokenIn: Address;
|
|
28
41
|
tokenOut: Address;
|
|
42
|
+
/** Ordered pool addresses connecting `tokenIn` → `tokenOut`. */
|
|
29
43
|
pools: readonly Address[];
|
|
30
44
|
extensionDatas?: readonly Hex[];
|
|
31
45
|
recipient: Address;
|
|
@@ -33,7 +47,9 @@ export interface BuildExactInputParams {
|
|
|
33
47
|
slippagePercent: number;
|
|
34
48
|
deadline: bigint;
|
|
35
49
|
quoterAddress?: Address;
|
|
50
|
+
wrappedNative?: Address;
|
|
36
51
|
}
|
|
52
|
+
/** Inputs for {@link buildExactOutputParams}. */
|
|
37
53
|
export interface BuildExactOutputParams {
|
|
38
54
|
publicClient: PublicClient;
|
|
39
55
|
tokenIn: Address;
|
|
@@ -45,12 +61,41 @@ export interface BuildExactOutputParams {
|
|
|
45
61
|
slippagePercent: number;
|
|
46
62
|
deadline: bigint;
|
|
47
63
|
quoterAddress?: Address;
|
|
64
|
+
wrappedNative?: Address;
|
|
48
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Build multihop exact-input params: resolves path, quotes output, applies slippage.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* const pathParams = await buildExactInputParams({
|
|
72
|
+
* publicClient,
|
|
73
|
+
* tokenIn: tokenA,
|
|
74
|
+
* tokenOut: tokenC,
|
|
75
|
+
* pools: [poolAB, poolBC],
|
|
76
|
+
* recipient: account,
|
|
77
|
+
* amountIn: parseUnits("1", 18),
|
|
78
|
+
* slippagePercent: 0.5,
|
|
79
|
+
* deadline,
|
|
80
|
+
* quoterAddress: addresses.quoter,
|
|
81
|
+
* });
|
|
82
|
+
* await walletClient.sendTransaction({
|
|
83
|
+
* to: addresses.simpleRouter,
|
|
84
|
+
* data: encodeExactInputCalldata(pathParams),
|
|
85
|
+
* account,
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
49
89
|
export declare function buildExactInputParams(params: BuildExactInputParams): Promise<ExactInputParams>;
|
|
90
|
+
/** Build multihop exact-output params with live quote and slippage on `amountInMaximum`. */
|
|
50
91
|
export declare function buildExactOutputParams(params: BuildExactOutputParams): Promise<ExactOutputParams>;
|
|
92
|
+
/** Encode `exactInput` multihop calldata. */
|
|
51
93
|
export declare function encodeExactInputCalldata(params: ExactInputParams): Hex;
|
|
94
|
+
/** Alias for {@link encodeExactInputCalldata}. */
|
|
52
95
|
export declare const prepareExactInputCalldata: typeof encodeExactInputCalldata;
|
|
96
|
+
/** Encode `exactOutput` multihop calldata. */
|
|
53
97
|
export declare function encodeExactOutputCalldata(params: ExactOutputParams): Hex;
|
|
98
|
+
/** Alias for {@link encodeExactOutputCalldata}. */
|
|
54
99
|
export declare const prepareExactOutputCalldata: typeof encodeExactOutputCalldata;
|
|
55
100
|
export { encodeZeroForOneBitMap } from "../swap/path.js";
|
|
56
101
|
//# sourceMappingURL=swapPath.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swapPath.d.ts","sourceRoot":"","sources":["../../src/router/swapPath.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"swapPath.d.ts","sourceRoot":"","sources":["../../src/router/swapPath.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AASvD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8CAA8C;IAC9C,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,yEAAyE;IACzE,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,iDAAiD;AACjD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA4BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAiC3B;AAED,4FAA4F;AAC5F,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAiC5B;AAED,6CAA6C;AAC7C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,GAAG,CAMtE;AAED,kDAAkD;AAClD,eAAO,MAAM,yBAAyB,iCAA2B,CAAC;AAElE,8CAA8C;AAC9C,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAMxE;AAED,mDAAmD;AACnD,eAAO,MAAM,0BAA0B,kCAA4B,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/router/swapPath.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SimpleRouter multihop swap helpers.
|
|
3
|
+
*
|
|
4
|
+
* Multihop swaps walk `pools` in order; intermediate tokens remain on the router between hops.
|
|
5
|
+
* For ERC-20 paths, approve the router for `tokenIn` once before sending the transaction.
|
|
6
|
+
*/
|
|
1
7
|
import { encodeFunctionData } from "viem";
|
|
2
8
|
import { quoteLiveExactIn, quoteLiveExactOut } from "../quoter/quotePath.js";
|
|
3
9
|
import { resolveSwapPath } from "../swap/path.js";
|
|
@@ -28,6 +34,29 @@ function toExactOutputStruct(params) {
|
|
|
28
34
|
deadline: params.deadline,
|
|
29
35
|
};
|
|
30
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Build multihop exact-input params: resolves path, quotes output, applies slippage.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const pathParams = await buildExactInputParams({
|
|
43
|
+
* publicClient,
|
|
44
|
+
* tokenIn: tokenA,
|
|
45
|
+
* tokenOut: tokenC,
|
|
46
|
+
* pools: [poolAB, poolBC],
|
|
47
|
+
* recipient: account,
|
|
48
|
+
* amountIn: parseUnits("1", 18),
|
|
49
|
+
* slippagePercent: 0.5,
|
|
50
|
+
* deadline,
|
|
51
|
+
* quoterAddress: addresses.quoter,
|
|
52
|
+
* });
|
|
53
|
+
* await walletClient.sendTransaction({
|
|
54
|
+
* to: addresses.simpleRouter,
|
|
55
|
+
* data: encodeExactInputCalldata(pathParams),
|
|
56
|
+
* account,
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
31
60
|
export async function buildExactInputParams(params) {
|
|
32
61
|
const slippageBps = toSlippageBps(params.slippagePercent);
|
|
33
62
|
const { tokens, extensionDatas, zeroForOneBitMap } = await resolveSwapPath(params.publicClient, params.tokenIn, params.tokenOut, params.pools, params.extensionDatas);
|
|
@@ -53,6 +82,7 @@ export async function buildExactInputParams(params) {
|
|
|
53
82
|
deadline: params.deadline,
|
|
54
83
|
};
|
|
55
84
|
}
|
|
85
|
+
/** Build multihop exact-output params with live quote and slippage on `amountInMaximum`. */
|
|
56
86
|
export async function buildExactOutputParams(params) {
|
|
57
87
|
const slippageBps = toSlippageBps(params.slippagePercent);
|
|
58
88
|
const { tokens, extensionDatas, zeroForOneBitMap } = await resolveSwapPath(params.publicClient, params.tokenIn, params.tokenOut, params.pools, params.extensionDatas);
|
|
@@ -78,6 +108,7 @@ export async function buildExactOutputParams(params) {
|
|
|
78
108
|
deadline: params.deadline,
|
|
79
109
|
};
|
|
80
110
|
}
|
|
111
|
+
/** Encode `exactInput` multihop calldata. */
|
|
81
112
|
export function encodeExactInputCalldata(params) {
|
|
82
113
|
return encodeFunctionData({
|
|
83
114
|
abi: SIMPLE_ROUTER_ABI,
|
|
@@ -85,7 +116,9 @@ export function encodeExactInputCalldata(params) {
|
|
|
85
116
|
args: [toExactInputStruct(params)],
|
|
86
117
|
});
|
|
87
118
|
}
|
|
119
|
+
/** Alias for {@link encodeExactInputCalldata}. */
|
|
88
120
|
export const prepareExactInputCalldata = encodeExactInputCalldata;
|
|
121
|
+
/** Encode `exactOutput` multihop calldata. */
|
|
89
122
|
export function encodeExactOutputCalldata(params) {
|
|
90
123
|
return encodeFunctionData({
|
|
91
124
|
abi: SIMPLE_ROUTER_ABI,
|
|
@@ -93,6 +126,7 @@ export function encodeExactOutputCalldata(params) {
|
|
|
93
126
|
args: [toExactOutputStruct(params)],
|
|
94
127
|
});
|
|
95
128
|
}
|
|
129
|
+
/** Alias for {@link encodeExactOutputCalldata}. */
|
|
96
130
|
export const prepareExactOutputCalldata = encodeExactOutputCalldata;
|
|
97
131
|
export { encodeZeroForOneBitMap } from "../swap/path.js";
|
|
98
132
|
//# sourceMappingURL=swapPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swapPath.js","sourceRoot":"","sources":["../../src/router/swapPath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"swapPath.js","sourceRoot":"","sources":["../../src/router/swapPath.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nradko/metric-omm-sdk-v1",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"description": "Metric AMM SDK — v1 contracts (SimpleRouter, SwapQuoter, LiquidityAdder, extensions, add/removeLiquidity)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"type": "git",
|
|
55
55
|
"url": "https://github.com/Metric-OMM/metric-sdk.git"
|
|
56
56
|
},
|
|
57
|
-
"metricPeripheryRef": "
|
|
57
|
+
"metricPeripheryRef": "d210a84daf694c52a591d371ceb9b82cece0f79f",
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"viem": "^2.x"
|
|
60
60
|
},
|
|
@@ -73,6 +73,25 @@ export const DepositAllowlistExtensionAbi = [
|
|
|
73
73
|
name: "OnlyPoolAdmin",
|
|
74
74
|
type: "error",
|
|
75
75
|
},
|
|
76
|
+
{
|
|
77
|
+
anonymous: false,
|
|
78
|
+
inputs: [
|
|
79
|
+
{
|
|
80
|
+
indexed: true,
|
|
81
|
+
internalType: "address",
|
|
82
|
+
name: "pool",
|
|
83
|
+
type: "address",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
indexed: false,
|
|
87
|
+
internalType: "bool",
|
|
88
|
+
name: "allowed",
|
|
89
|
+
type: "bool",
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
name: "AllowAllDepositorsSet",
|
|
93
|
+
type: "event",
|
|
94
|
+
},
|
|
76
95
|
{
|
|
77
96
|
anonymous: false,
|
|
78
97
|
inputs: [
|
|
@@ -312,6 +331,25 @@ export const DepositAllowlistExtensionAbi = [
|
|
|
312
331
|
stateMutability: "nonpayable",
|
|
313
332
|
type: "function",
|
|
314
333
|
},
|
|
334
|
+
{
|
|
335
|
+
inputs: [
|
|
336
|
+
{
|
|
337
|
+
internalType: "address",
|
|
338
|
+
name: "pool",
|
|
339
|
+
type: "address",
|
|
340
|
+
},
|
|
341
|
+
],
|
|
342
|
+
name: "allowAllDepositors",
|
|
343
|
+
outputs: [
|
|
344
|
+
{
|
|
345
|
+
internalType: "bool",
|
|
346
|
+
name: "",
|
|
347
|
+
type: "bool",
|
|
348
|
+
},
|
|
349
|
+
],
|
|
350
|
+
stateMutability: "view",
|
|
351
|
+
type: "function",
|
|
352
|
+
},
|
|
315
353
|
{
|
|
316
354
|
inputs: [
|
|
317
355
|
{
|
|
@@ -545,6 +583,24 @@ export const DepositAllowlistExtensionAbi = [
|
|
|
545
583
|
stateMutability: "view",
|
|
546
584
|
type: "function",
|
|
547
585
|
},
|
|
586
|
+
{
|
|
587
|
+
inputs: [
|
|
588
|
+
{
|
|
589
|
+
internalType: "address",
|
|
590
|
+
name: "pool_",
|
|
591
|
+
type: "address",
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
internalType: "bool",
|
|
595
|
+
name: "allowed",
|
|
596
|
+
type: "bool",
|
|
597
|
+
},
|
|
598
|
+
],
|
|
599
|
+
name: "setAllowAllDepositors",
|
|
600
|
+
outputs: [],
|
|
601
|
+
stateMutability: "nonpayable",
|
|
602
|
+
type: "function",
|
|
603
|
+
},
|
|
548
604
|
{
|
|
549
605
|
inputs: [
|
|
550
606
|
{
|
|
@@ -62,6 +62,22 @@ export const MetricOmmPoolFactoryAbi = [
|
|
|
62
62
|
name: "FeeCapsExceedHardLimit",
|
|
63
63
|
type: "error",
|
|
64
64
|
},
|
|
65
|
+
{
|
|
66
|
+
inputs: [
|
|
67
|
+
{
|
|
68
|
+
internalType: "uint256",
|
|
69
|
+
name: "initialScaledAmount0PerShareE18",
|
|
70
|
+
type: "uint256",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
internalType: "uint256",
|
|
74
|
+
name: "initialScaledAmount1PerShareE18",
|
|
75
|
+
type: "uint256",
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
name: "InitialScaledAmountExceedsUint128",
|
|
79
|
+
type: "error",
|
|
80
|
+
},
|
|
65
81
|
{
|
|
66
82
|
inputs: [],
|
|
67
83
|
name: "InvalidAdmin",
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
export const MetricOmmPoolLiquidityAdderAbi = [
|
|
2
2
|
{
|
|
3
|
-
inputs: [
|
|
3
|
+
inputs: [
|
|
4
|
+
{
|
|
5
|
+
internalType: "address",
|
|
6
|
+
name: "weth",
|
|
7
|
+
type: "address",
|
|
8
|
+
},
|
|
9
|
+
],
|
|
4
10
|
stateMutability: "nonpayable",
|
|
5
11
|
type: "constructor",
|
|
6
12
|
},
|
|
13
|
+
{
|
|
14
|
+
inputs: [
|
|
15
|
+
{
|
|
16
|
+
internalType: "address",
|
|
17
|
+
name: "target",
|
|
18
|
+
type: "address",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
name: "AddressEmptyCode",
|
|
22
|
+
type: "error",
|
|
23
|
+
},
|
|
7
24
|
{
|
|
8
25
|
inputs: [],
|
|
9
26
|
name: "CallbackContextNotActive",
|
|
@@ -45,11 +62,58 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
45
62
|
name: "CursorOutOfBounds",
|
|
46
63
|
type: "error",
|
|
47
64
|
},
|
|
65
|
+
{
|
|
66
|
+
inputs: [],
|
|
67
|
+
name: "ETHTransferFailed",
|
|
68
|
+
type: "error",
|
|
69
|
+
},
|
|
48
70
|
{
|
|
49
71
|
inputs: [],
|
|
50
72
|
name: "EmptyLiquidityDelta",
|
|
51
73
|
type: "error",
|
|
52
74
|
},
|
|
75
|
+
{
|
|
76
|
+
inputs: [],
|
|
77
|
+
name: "FailedCall",
|
|
78
|
+
type: "error",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
inputs: [
|
|
82
|
+
{
|
|
83
|
+
internalType: "address",
|
|
84
|
+
name: "token",
|
|
85
|
+
type: "address",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
internalType: "uint256",
|
|
89
|
+
name: "required",
|
|
90
|
+
type: "uint256",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
internalType: "uint256",
|
|
94
|
+
name: "available",
|
|
95
|
+
type: "uint256",
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
name: "InsufficientToken",
|
|
99
|
+
type: "error",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
inputs: [
|
|
103
|
+
{
|
|
104
|
+
internalType: "uint256",
|
|
105
|
+
name: "required",
|
|
106
|
+
type: "uint256",
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
internalType: "uint256",
|
|
110
|
+
name: "available",
|
|
111
|
+
type: "uint256",
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
name: "InsufficientWETH",
|
|
115
|
+
type: "error",
|
|
116
|
+
},
|
|
53
117
|
{
|
|
54
118
|
inputs: [
|
|
55
119
|
{
|
|
@@ -76,6 +140,11 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
76
140
|
name: "InvalidPositionOwner",
|
|
77
141
|
type: "error",
|
|
78
142
|
},
|
|
143
|
+
{
|
|
144
|
+
inputs: [],
|
|
145
|
+
name: "InvalidWETH",
|
|
146
|
+
type: "error",
|
|
147
|
+
},
|
|
79
148
|
{
|
|
80
149
|
inputs: [],
|
|
81
150
|
name: "LiquidityDeltaLengthMismatch",
|
|
@@ -123,6 +192,11 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
123
192
|
name: "MaxAmountExceeded",
|
|
124
193
|
type: "error",
|
|
125
194
|
},
|
|
195
|
+
{
|
|
196
|
+
inputs: [],
|
|
197
|
+
name: "NotWETH",
|
|
198
|
+
type: "error",
|
|
199
|
+
},
|
|
126
200
|
{
|
|
127
201
|
inputs: [],
|
|
128
202
|
name: "PayContextAlreadyActive",
|
|
@@ -228,7 +302,7 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
228
302
|
type: "uint256",
|
|
229
303
|
},
|
|
230
304
|
],
|
|
231
|
-
stateMutability: "
|
|
305
|
+
stateMutability: "payable",
|
|
232
306
|
type: "function",
|
|
233
307
|
},
|
|
234
308
|
{
|
|
@@ -289,7 +363,7 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
289
363
|
type: "uint256",
|
|
290
364
|
},
|
|
291
365
|
],
|
|
292
|
-
stateMutability: "
|
|
366
|
+
stateMutability: "payable",
|
|
293
367
|
type: "function",
|
|
294
368
|
},
|
|
295
369
|
{
|
|
@@ -370,7 +444,7 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
370
444
|
type: "uint256",
|
|
371
445
|
},
|
|
372
446
|
],
|
|
373
|
-
stateMutability: "
|
|
447
|
+
stateMutability: "payable",
|
|
374
448
|
type: "function",
|
|
375
449
|
},
|
|
376
450
|
{
|
|
@@ -456,7 +530,7 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
456
530
|
type: "uint256",
|
|
457
531
|
},
|
|
458
532
|
],
|
|
459
|
-
stateMutability: "
|
|
533
|
+
stateMutability: "payable",
|
|
460
534
|
type: "function",
|
|
461
535
|
},
|
|
462
536
|
{
|
|
@@ -482,4 +556,75 @@ export const MetricOmmPoolLiquidityAdderAbi = [
|
|
|
482
556
|
stateMutability: "nonpayable",
|
|
483
557
|
type: "function",
|
|
484
558
|
},
|
|
559
|
+
{
|
|
560
|
+
inputs: [
|
|
561
|
+
{
|
|
562
|
+
internalType: "bytes[]",
|
|
563
|
+
name: "data",
|
|
564
|
+
type: "bytes[]",
|
|
565
|
+
},
|
|
566
|
+
],
|
|
567
|
+
name: "multicall",
|
|
568
|
+
outputs: [
|
|
569
|
+
{
|
|
570
|
+
internalType: "bytes[]",
|
|
571
|
+
name: "results",
|
|
572
|
+
type: "bytes[]",
|
|
573
|
+
},
|
|
574
|
+
],
|
|
575
|
+
stateMutability: "payable",
|
|
576
|
+
type: "function",
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
inputs: [],
|
|
580
|
+
name: "refundETH",
|
|
581
|
+
outputs: [],
|
|
582
|
+
stateMutability: "payable",
|
|
583
|
+
type: "function",
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
inputs: [
|
|
587
|
+
{
|
|
588
|
+
internalType: "address",
|
|
589
|
+
name: "token",
|
|
590
|
+
type: "address",
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
internalType: "uint256",
|
|
594
|
+
name: "amountMinimum",
|
|
595
|
+
type: "uint256",
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
internalType: "address",
|
|
599
|
+
name: "recipient",
|
|
600
|
+
type: "address",
|
|
601
|
+
},
|
|
602
|
+
],
|
|
603
|
+
name: "sweepToken",
|
|
604
|
+
outputs: [],
|
|
605
|
+
stateMutability: "payable",
|
|
606
|
+
type: "function",
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
inputs: [
|
|
610
|
+
{
|
|
611
|
+
internalType: "uint256",
|
|
612
|
+
name: "amountMinimum",
|
|
613
|
+
type: "uint256",
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
internalType: "address",
|
|
617
|
+
name: "recipient",
|
|
618
|
+
type: "address",
|
|
619
|
+
},
|
|
620
|
+
],
|
|
621
|
+
name: "unwrapWETH9",
|
|
622
|
+
outputs: [],
|
|
623
|
+
stateMutability: "payable",
|
|
624
|
+
type: "function",
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
stateMutability: "payable",
|
|
628
|
+
type: "receive",
|
|
629
|
+
},
|
|
485
630
|
] as const;
|
|
@@ -6,6 +6,11 @@ export const MetricOmmSimpleRouterAbi = [
|
|
|
6
6
|
name: "weth",
|
|
7
7
|
type: "address",
|
|
8
8
|
},
|
|
9
|
+
{
|
|
10
|
+
internalType: "address",
|
|
11
|
+
name: "factory",
|
|
12
|
+
type: "address",
|
|
13
|
+
},
|
|
9
14
|
],
|
|
10
15
|
stateMutability: "nonpayable",
|
|
11
16
|
type: "constructor",
|
|
@@ -32,6 +37,17 @@ export const MetricOmmSimpleRouterAbi = [
|
|
|
32
37
|
name: "AmountTooLarge",
|
|
33
38
|
type: "error",
|
|
34
39
|
},
|
|
40
|
+
{
|
|
41
|
+
inputs: [
|
|
42
|
+
{
|
|
43
|
+
internalType: "uint128",
|
|
44
|
+
name: "amount",
|
|
45
|
+
type: "uint128",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
name: "AmountTooLarge",
|
|
49
|
+
type: "error",
|
|
50
|
+
},
|
|
35
51
|
{
|
|
36
52
|
inputs: [],
|
|
37
53
|
name: "ETHTransferFailed",
|
|
@@ -127,6 +143,11 @@ export const MetricOmmSimpleRouterAbi = [
|
|
|
127
143
|
name: "InvalidCallbackMode",
|
|
128
144
|
type: "error",
|
|
129
145
|
},
|
|
146
|
+
{
|
|
147
|
+
inputs: [],
|
|
148
|
+
name: "InvalidFactory",
|
|
149
|
+
type: "error",
|
|
150
|
+
},
|
|
130
151
|
{
|
|
131
152
|
inputs: [
|
|
132
153
|
{
|
|
@@ -190,6 +211,17 @@ export const MetricOmmSimpleRouterAbi = [
|
|
|
190
211
|
name: "InvalidPath",
|
|
191
212
|
type: "error",
|
|
192
213
|
},
|
|
214
|
+
{
|
|
215
|
+
inputs: [
|
|
216
|
+
{
|
|
217
|
+
internalType: "address",
|
|
218
|
+
name: "pool",
|
|
219
|
+
type: "address",
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
name: "InvalidPool",
|
|
223
|
+
type: "error",
|
|
224
|
+
},
|
|
193
225
|
{
|
|
194
226
|
inputs: [
|
|
195
227
|
{
|
|
@@ -211,6 +243,16 @@ export const MetricOmmSimpleRouterAbi = [
|
|
|
211
243
|
name: "InvalidSwapDeltas",
|
|
212
244
|
type: "error",
|
|
213
245
|
},
|
|
246
|
+
{
|
|
247
|
+
inputs: [],
|
|
248
|
+
name: "InvalidSwapDeltas",
|
|
249
|
+
type: "error",
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
inputs: [],
|
|
253
|
+
name: "InvalidSwapDeltas",
|
|
254
|
+
type: "error",
|
|
255
|
+
},
|
|
214
256
|
{
|
|
215
257
|
inputs: [],
|
|
216
258
|
name: "InvalidWETH",
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
export const MetricOmmSwapQuoterAbi = [
|
|
2
|
+
{
|
|
3
|
+
inputs: [
|
|
4
|
+
{
|
|
5
|
+
internalType: "uint128",
|
|
6
|
+
name: "amount",
|
|
7
|
+
type: "uint128",
|
|
8
|
+
},
|
|
9
|
+
],
|
|
10
|
+
name: "AmountTooLarge",
|
|
11
|
+
type: "error",
|
|
12
|
+
},
|
|
2
13
|
{
|
|
3
14
|
inputs: [
|
|
4
15
|
{
|
|
@@ -83,6 +94,11 @@ export const MetricOmmSwapQuoterAbi = [
|
|
|
83
94
|
name: "InvalidSwapDeltas",
|
|
84
95
|
type: "error",
|
|
85
96
|
},
|
|
97
|
+
{
|
|
98
|
+
inputs: [],
|
|
99
|
+
name: "InvalidSwapDeltas",
|
|
100
|
+
type: "error",
|
|
101
|
+
},
|
|
86
102
|
{
|
|
87
103
|
inputs: [],
|
|
88
104
|
name: "QuoteDidNotRevert",
|
|
@@ -192,12 +208,12 @@ export const MetricOmmSwapQuoterAbi = [
|
|
|
192
208
|
outputs: [
|
|
193
209
|
{
|
|
194
210
|
internalType: "uint256",
|
|
195
|
-
name: "",
|
|
211
|
+
name: "totalIn",
|
|
196
212
|
type: "uint256",
|
|
197
213
|
},
|
|
198
214
|
{
|
|
199
215
|
internalType: "uint256",
|
|
200
|
-
name: "",
|
|
216
|
+
name: "totalOut",
|
|
201
217
|
type: "uint256",
|
|
202
218
|
},
|
|
203
219
|
],
|