@centurion_project/universal-router-sdk 5.1.2 → 5.9.1
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 +63 -64
- package/dist/cjs/src/entities/actions/uniswap.d.ts +9 -0
- package/dist/cjs/src/entities/actions/uniswap.js +45 -38
- package/dist/cjs/src/entities/actions/uniswap.js.map +1 -1
- package/dist/cjs/src/index.d.ts +3 -0
- package/dist/cjs/src/index.js +6 -1
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/swapRouter.d.ts +17 -1
- package/dist/cjs/src/swapRouter.js +112 -12
- package/dist/cjs/src/swapRouter.js.map +1 -1
- package/dist/cjs/src/types/encodeSwaps.d.ts +157 -0
- package/dist/cjs/src/types/encodeSwaps.js +3 -0
- package/dist/cjs/src/types/encodeSwaps.js.map +1 -0
- package/dist/cjs/src/utils/commandParser.d.ts +4 -2
- package/dist/cjs/src/utils/commandParser.js +13 -5
- package/dist/cjs/src/utils/commandParser.js.map +1 -1
- package/dist/cjs/src/utils/computeEncodeSwapsAmounts.d.ts +8 -0
- package/dist/cjs/src/utils/computeEncodeSwapsAmounts.js +47 -0
- package/dist/cjs/src/utils/computeEncodeSwapsAmounts.js.map +1 -0
- package/dist/cjs/src/utils/constants.d.ts +2 -1
- package/dist/cjs/src/utils/constants.js +100 -7
- package/dist/cjs/src/utils/constants.js.map +1 -1
- package/dist/cjs/src/utils/encodeSwapStep.d.ts +4 -0
- package/dist/cjs/src/utils/encodeSwapStep.js +62 -0
- package/dist/cjs/src/utils/encodeSwapStep.js.map +1 -0
- package/dist/cjs/src/utils/encodeV4Action.d.ts +7 -0
- package/dist/cjs/src/utils/encodeV4Action.js +84 -0
- package/dist/cjs/src/utils/encodeV4Action.js.map +1 -0
- package/dist/cjs/src/utils/normalizeEncodeSwapsSpec.d.ts +2 -0
- package/dist/cjs/src/utils/normalizeEncodeSwapsSpec.js +18 -0
- package/dist/cjs/src/utils/normalizeEncodeSwapsSpec.js.map +1 -0
- package/dist/cjs/src/utils/routerCommands.js +6 -6
- package/dist/cjs/src/utils/routerCommands.js.map +1 -1
- package/dist/cjs/src/utils/toV4URVersion.d.ts +3 -0
- package/dist/cjs/src/utils/toV4URVersion.js +17 -0
- package/dist/cjs/src/utils/toV4URVersion.js.map +1 -0
- package/dist/cjs/src/utils/validateEncodeSwaps.d.ts +2 -0
- package/dist/cjs/src/utils/validateEncodeSwaps.js +142 -0
- package/dist/cjs/src/utils/validateEncodeSwaps.js.map +1 -0
- package/dist/esm/src/entities/actions/uniswap.d.ts +9 -0
- package/dist/esm/src/entities/actions/uniswap.js +47 -40
- package/dist/esm/src/entities/actions/uniswap.js.map +1 -1
- package/dist/esm/src/index.d.ts +3 -0
- package/dist/esm/src/index.js +3 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/swapRouter.d.ts +17 -1
- package/dist/esm/src/swapRouter.js +114 -14
- package/dist/esm/src/swapRouter.js.map +1 -1
- package/dist/esm/src/types/encodeSwaps.d.ts +157 -0
- package/dist/esm/src/types/encodeSwaps.js +2 -0
- package/dist/esm/src/types/encodeSwaps.js.map +1 -0
- package/dist/esm/src/utils/commandParser.d.ts +4 -2
- package/dist/esm/src/utils/commandParser.js +14 -6
- package/dist/esm/src/utils/commandParser.js.map +1 -1
- package/dist/esm/src/utils/computeEncodeSwapsAmounts.d.ts +8 -0
- package/dist/esm/src/utils/computeEncodeSwapsAmounts.js +43 -0
- package/dist/esm/src/utils/computeEncodeSwapsAmounts.js.map +1 -0
- package/dist/esm/src/utils/constants.d.ts +2 -1
- package/dist/esm/src/utils/constants.js +100 -7
- package/dist/esm/src/utils/constants.js.map +1 -1
- package/dist/esm/src/utils/encodeSwapStep.d.ts +4 -0
- package/dist/esm/src/utils/encodeSwapStep.js +58 -0
- package/dist/esm/src/utils/encodeSwapStep.js.map +1 -0
- package/dist/esm/src/utils/encodeV4Action.d.ts +7 -0
- package/dist/esm/src/utils/encodeV4Action.js +80 -0
- package/dist/esm/src/utils/encodeV4Action.js.map +1 -0
- package/dist/esm/src/utils/normalizeEncodeSwapsSpec.d.ts +2 -0
- package/dist/esm/src/utils/normalizeEncodeSwapsSpec.js +14 -0
- package/dist/esm/src/utils/normalizeEncodeSwapsSpec.js.map +1 -0
- package/dist/esm/src/utils/routerCommands.js +6 -6
- package/dist/esm/src/utils/routerCommands.js.map +1 -1
- package/dist/esm/src/utils/toV4URVersion.d.ts +3 -0
- package/dist/esm/src/utils/toV4URVersion.js +13 -0
- package/dist/esm/src/utils/toV4URVersion.js.map +1 -0
- package/dist/esm/src/utils/validateEncodeSwaps.d.ts +2 -0
- package/dist/esm/src/utils/validateEncodeSwaps.js +137 -0
- package/dist/esm/src/utils/validateEncodeSwaps.js.map +1 -0
- package/dist/types/src/entities/actions/uniswap.d.ts +9 -0
- package/dist/types/src/index.d.ts +3 -0
- package/dist/types/src/swapRouter.d.ts +17 -1
- package/dist/types/src/types/encodeSwaps.d.ts +157 -0
- package/dist/types/src/utils/commandParser.d.ts +4 -2
- package/dist/types/src/utils/computeEncodeSwapsAmounts.d.ts +8 -0
- package/dist/types/src/utils/constants.d.ts +2 -1
- package/dist/types/src/utils/encodeSwapStep.d.ts +4 -0
- package/dist/types/src/utils/encodeV4Action.d.ts +7 -0
- package/dist/types/src/utils/normalizeEncodeSwapsSpec.d.ts +2 -0
- package/dist/types/src/utils/toV4URVersion.d.ts +3 -0
- package/dist/types/src/utils/validateEncodeSwaps.d.ts +2 -0
- package/package.json +12 -10
- package/dist/cjs/src/abis/UniversalRouter.json +0 -747
- package/dist/esm/src/abis/UniversalRouter.json +0 -747
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# universal-router-sdk
|
|
2
2
|
|
|
3
|
-
This SDK facilitates interactions with
|
|
3
|
+
This SDK facilitates interactions with the contracts in [Universal Router](https://github.com/Uniswap/universal-router)
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
Install latest version of universal-router-sdk. Then import the corresponding Trade class and Data object for each protocol you'd like to interact with.
|
|
8
8
|
|
|
9
|
-
### Trading on
|
|
9
|
+
### Trading on Uniswap
|
|
10
10
|
|
|
11
11
|
warning: `swapERC20CallParameters()` to be deprecated in favor of `swapCallParameters()`
|
|
12
12
|
|
|
@@ -22,6 +22,11 @@ const routerTrade = new RouterTrade({ v2Routes, v3Routes, mixedRoutes, tradeType
|
|
|
22
22
|
const { calldata, value } = SwapRouter.swapCallParameters(routerTrade, options)
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
This SDK has two entry points for encoding swap calldata:
|
|
26
|
+
|
|
27
|
+
- **`SwapRouter.swapCallParameters(trade, options)`** — builds calldata from a high-level `RouterTrade` (shown above). Best when your swap fits as one or more independent linear routes through pools.
|
|
28
|
+
- **`SwapRouter.encodeSwaps(spec, swapSteps)`** — takes Universal Router commands directly, with the SDK adding ingress, fee, and settlement calldata around them. Best for topologies that don't fit a Trade, routing-service integrations, or advanced V4 compositions. See [Encoding Router-Provided Swap Steps](#encoding-router-provided-swap-steps-encodeswaps).
|
|
29
|
+
|
|
25
30
|
## Running this package
|
|
26
31
|
|
|
27
32
|
Make sure you are running `node v18`
|
|
@@ -39,88 +44,82 @@ forge install
|
|
|
39
44
|
yarn test:forge
|
|
40
45
|
```
|
|
41
46
|
|
|
42
|
-
##
|
|
47
|
+
## Encoding Router-Provided Swap Steps (`encodeSwaps`)
|
|
48
|
+
|
|
49
|
+
`SwapRouter.encodeSwaps(spec, swapSteps)` is an alternative entry point for callers that already produce explicit `SwapStep[]` plans (e.g. routing services) and want the SDK to wrap them in a safety envelope. It decouples route topology from SDK trade construction.
|
|
43
50
|
|
|
44
|
-
|
|
51
|
+
The router owns `swapSteps` (V2/V3/V4 swaps + any `WRAP_ETH` / `UNWRAP_WETH`). The SDK owns ingress, fees, final settlement, exact-output refund, and optional `safeMode`.
|
|
45
52
|
|
|
46
|
-
###
|
|
53
|
+
### Swap Step Types
|
|
47
54
|
|
|
48
|
-
|
|
55
|
+
Each `SwapStep` is a 1:1 representation of a Universal Router command:
|
|
49
56
|
|
|
50
|
-
|
|
57
|
+
- `V2_SWAP_EXACT_IN` / `V2_SWAP_EXACT_OUT` — V2 swap (multi-hop via `path: address[]`)
|
|
58
|
+
- `V3_SWAP_EXACT_IN` / `V3_SWAP_EXACT_OUT` — V3 swap (multi-hop via packed `path: bytes`)
|
|
59
|
+
- `V4_SWAP` — wraps a sequence of V4 actions (`SWAP_EXACT_IN`, `SETTLE`, `TAKE`, etc.) for the V4 router module
|
|
60
|
+
- `WRAP_ETH` / `UNWRAP_WETH` — required when the route bridges native ETH and WETH
|
|
61
|
+
|
|
62
|
+
Routers compose these to express any supported route topology. The SDK does not infer wrap/unwrap commands — routers must include them when their route depends on it.
|
|
63
|
+
|
|
64
|
+
### Basic Usage
|
|
51
65
|
|
|
52
66
|
```typescript
|
|
53
|
-
import { SwapRouter } from '@centurion_project/universal-router-sdk'
|
|
54
|
-
import {
|
|
55
|
-
import { URVersion } from '@centurion_project/v4-sdk'
|
|
56
|
-
import { Percent, TradeType } from '@centurion_project/sdk-core'
|
|
67
|
+
import { SwapRouter, ROUTER_AS_RECIPIENT } from '@centurion_project/universal-router-sdk'
|
|
68
|
+
import { CurrencyAmount, Percent, TradeType } from '@centurion_project/sdk-core'
|
|
57
69
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
const { calldata, value } = SwapRouter.encodeSwaps(
|
|
71
|
+
{
|
|
72
|
+
tradeType: TradeType.EXACT_INPUT,
|
|
73
|
+
routing: {
|
|
74
|
+
inputToken: USDC,
|
|
75
|
+
outputToken: WETH,
|
|
76
|
+
amount: CurrencyAmount.fromRawAmount(USDC, '1000000000'),
|
|
77
|
+
quote: CurrencyAmount.fromRawAmount(WETH, '500000000000000000'),
|
|
78
|
+
},
|
|
79
|
+
slippageTolerance: new Percent(50, 10000), // 0.5%
|
|
80
|
+
recipient: '0x...',
|
|
81
|
+
},
|
|
82
|
+
[
|
|
61
83
|
{
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
BigInt('1010000000000000000'), // Hop 0: USDC→DAI, max price 1.01
|
|
68
|
-
BigInt('2500000000000000000000'), // Hop 1: DAI→WETH, max price 2500
|
|
69
|
-
],
|
|
84
|
+
type: 'V3_SWAP_EXACT_IN',
|
|
85
|
+
recipient: ROUTER_AS_RECIPIENT,
|
|
86
|
+
amountIn: '1000000000',
|
|
87
|
+
amountOutMin: '0', // SDK enforces final slippage via the trailing SWEEP
|
|
88
|
+
path: '0x...', // packed V3 path
|
|
70
89
|
},
|
|
71
|
-
]
|
|
72
|
-
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
// 2. Encode with V2.1.1 ABI
|
|
76
|
-
const { calldata, value } = SwapRouter.swapCallParameters(trade, {
|
|
77
|
-
slippageTolerance: new Percent(50, 10000), // 0.5% overall slippage
|
|
78
|
-
recipient: '0x...',
|
|
79
|
-
urVersion: URVersion.V2_1_1, // required for per-hop encoding
|
|
80
|
-
})
|
|
90
|
+
]
|
|
91
|
+
)
|
|
81
92
|
```
|
|
82
93
|
|
|
83
|
-
###
|
|
94
|
+
### What the SDK adds around `swapSteps`
|
|
84
95
|
|
|
85
|
-
|
|
96
|
+
1. **Ingress**: `PERMIT2_TRANSFER_FROM` for ERC20 input, or `proxy.execute()` wrapping for `ApproveProxy`. Native input flows through `msg.value`.
|
|
97
|
+
2. **Fee deduction** before settlement: portion (`PAY_PORTION` / `PAY_PORTION_FULL_PRECISION`) on exact-input, flat (`TRANSFER`) on exact-output.
|
|
98
|
+
3. **Final SWEEP** of `outputToken` to recipient with the slippage-bounded floor.
|
|
99
|
+
4. **Exact-output refund**: SWEEPs unused input back to recipient.
|
|
100
|
+
5. **safeMode** (optional): trailing zero-min ETH SWEEP to recover dust or unintended `msg.value`.
|
|
86
101
|
|
|
87
|
-
|
|
102
|
+
### Constraints
|
|
88
103
|
|
|
89
|
-
|
|
104
|
+
- All swap step recipients must be `ROUTER_AS_RECIPIENT` — the SDK's settlement sweeps need router custody to see the funds.
|
|
105
|
+
- `payerIsUser` is hardcoded to `false`; ingress runs once up-front via `PERMIT2_TRANSFER_FROM`.
|
|
106
|
+
- Routers must end with output in `routing.outputToken`. For exact-output, unused input must end in `routing.inputToken`.
|
|
107
|
+
- The final top-level `SWEEP` is appended by the SDK — don't include it in `swapSteps`.
|
|
90
108
|
|
|
91
|
-
###
|
|
109
|
+
### Per-Hop Slippage
|
|
92
110
|
|
|
93
|
-
|
|
111
|
+
Per-hop bounds require Universal Router v2.1.1+ — set `urVersion: UniversalRouterVersion.V2_1_1` on `spec` to enable.
|
|
112
|
+
|
|
113
|
+
`encodeSwaps` accepts per-hop bounds as `minHopPriceX36` on each swap step, matching the contract parameter name. The value is a 1e36-scaled price floor.
|
|
94
114
|
|
|
95
115
|
```typescript
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
outputAmount,
|
|
102
|
-
maxHopSlippage: [
|
|
103
|
-
BigInt('1010000000000000000'), // Hop 0 (V3 section)
|
|
104
|
-
BigInt('2500000000000000000000'), // Hop 1 (V3 section)
|
|
105
|
-
BigInt('1005000000000000000'), // Hop 2 (V2 section)
|
|
106
|
-
],
|
|
107
|
-
},
|
|
108
|
-
],
|
|
109
|
-
tradeType: TradeType.EXACT_INPUT,
|
|
110
|
-
})
|
|
116
|
+
{
|
|
117
|
+
type: 'V3_SWAP_EXACT_IN',
|
|
118
|
+
// ...
|
|
119
|
+
minHopPriceX36: ['995000000000000000000000000000000000', ...], // one per hop
|
|
120
|
+
}
|
|
111
121
|
```
|
|
112
122
|
|
|
113
|
-
### Benefits
|
|
114
|
-
|
|
115
|
-
1. **MEV Protection**: Prevents sandwich attacks on individual pool hops
|
|
116
|
-
2. **Route Quality**: Ensures each segment of a multi-hop route meets price expectations
|
|
117
|
-
3. **Granular Control**: Different slippage tolerances for different pairs (e.g. tighter bounds on stablecoin hops)
|
|
118
|
-
|
|
119
|
-
### Backward Compatibility
|
|
120
|
-
|
|
121
|
-
- If `maxHopSlippage` is omitted or is an empty array, only the overall trade-level slippage is checked
|
|
122
|
-
- If `urVersion` is not set (defaults to V2.0), commands use the standard ABI without `maxHopSlippage`
|
|
123
|
-
|
|
124
123
|
## Signed Routes (Universal Router v2.1)
|
|
125
124
|
|
|
126
125
|
Universal Router v2.1 supports EIP712-signed route execution, enabling gasless transactions and intent-based trading.
|
|
@@ -15,6 +15,15 @@ export declare enum TokenTransferMode {
|
|
|
15
15
|
}
|
|
16
16
|
export type SwapOptions = Omit<RouterSwapOptions, 'inputTokenPermit'> & {
|
|
17
17
|
useRouterBalance?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The input Token is the chain's native gas token exposed via an ERC20 predeploy whose balance
|
|
20
|
+
* mirrors the native balance (e.g. USDC on Arc). The swap is funded by attaching
|
|
21
|
+
* msg.value = maximumAmountIn * 10^(18 - token.decimals) instead of pulling via Permit2:
|
|
22
|
+
* the router self-funds (payerIsUser = false) and unused input is swept back to the recipient
|
|
23
|
+
* on exact-output / partial-fill-risk trades. No ERC20 approval or permit is ever needed.
|
|
24
|
+
* Incompatible with native input, inputTokenPermit, and TokenTransferMode.ApproveProxy.
|
|
25
|
+
*/
|
|
26
|
+
nativeErc20Input?: boolean;
|
|
18
27
|
inputTokenPermit?: Permit2Permit;
|
|
19
28
|
flatFee?: FlatFeeOptions;
|
|
20
29
|
safeMode?: boolean;
|
|
@@ -7,6 +7,7 @@ const v3_sdk_1 = require("@centurion_project/v3-sdk");
|
|
|
7
7
|
const v4_sdk_1 = require("@centurion_project/v4-sdk");
|
|
8
8
|
const router_sdk_1 = require("@centurion_project/router-sdk");
|
|
9
9
|
const pathCurrency_1 = require("../../utils/pathCurrency");
|
|
10
|
+
const toV4URVersion_1 = require("../../utils/toV4URVersion");
|
|
10
11
|
const sdk_core_1 = require("@centurion_project/sdk-core");
|
|
11
12
|
const Command_1 = require("../Command");
|
|
12
13
|
const constants_1 = require("../../utils/constants");
|
|
@@ -22,19 +23,6 @@ var TokenTransferMode;
|
|
|
22
23
|
TokenTransferMode["Permit2"] = "Permit2";
|
|
23
24
|
TokenTransferMode["ApproveProxy"] = "ApproveProxy";
|
|
24
25
|
})(TokenTransferMode = exports.TokenTransferMode || (exports.TokenTransferMode = {}));
|
|
25
|
-
/** Map from UniversalRouterVersion to v4-sdk's URVersion for v4 planner calls */
|
|
26
|
-
const UR_VERSION_MAP = {
|
|
27
|
-
[constants_1.UniversalRouterVersion.V2_0]: v4_sdk_1.URVersion.V2_0,
|
|
28
|
-
[constants_1.UniversalRouterVersion.V2_1_1]: v4_sdk_1.URVersion.V2_1_1,
|
|
29
|
-
};
|
|
30
|
-
function toURVersion(version) {
|
|
31
|
-
if (version === undefined)
|
|
32
|
-
return v4_sdk_1.URVersion.V2_0;
|
|
33
|
-
const mapped = UR_VERSION_MAP[version];
|
|
34
|
-
if (!mapped)
|
|
35
|
-
throw new Error(`No v4-sdk URVersion mapping for UniversalRouterVersion: ${version}`);
|
|
36
|
-
return mapped;
|
|
37
|
-
}
|
|
38
26
|
const REFUND_ETH_PRICE_IMPACT_THRESHOLD = new sdk_core_1.Percent(50, 100);
|
|
39
27
|
// Wrapper for uniswap router-sdk trade entity to encode swaps for Universal Router
|
|
40
28
|
// also translates trade objects from previous (v2, v3) SDKs
|
|
@@ -45,13 +33,30 @@ class UniswapTrade {
|
|
|
45
33
|
this.tradeType = Command_1.RouterActionType.UniswapTrade;
|
|
46
34
|
if (!!options.fee && !!options.flatFee)
|
|
47
35
|
throw new Error('Only one fee option permitted');
|
|
36
|
+
if (options.nativeErc20Input) {
|
|
37
|
+
// input token is the chain's native gas token exposed via an ERC20 predeploy (e.g. Arc USDC);
|
|
38
|
+
// the router is funded by msg.value instead of Permit2, so it pays pools from its own balance
|
|
39
|
+
if (this.trade.inputAmount.currency.isNative)
|
|
40
|
+
throw new Error('nativeErc20Input requires an ERC20 input token');
|
|
41
|
+
if (options.tokenTransferMode === TokenTransferMode.ApproveProxy) {
|
|
42
|
+
throw new Error('nativeErc20Input is not supported with ApproveProxy');
|
|
43
|
+
}
|
|
44
|
+
if (options.inputTokenPermit)
|
|
45
|
+
throw new Error('nativeErc20Input does not use Permit2; remove inputTokenPermit');
|
|
46
|
+
if (this.inputRequiresUnwrap) {
|
|
47
|
+
throw new Error('nativeErc20Input requires routes quoted against the ERC20 input (native pathInput unsupported)');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
48
50
|
if (options.tokenTransferMode === TokenTransferMode.ApproveProxy) {
|
|
49
51
|
if (!options.recipient || options.recipient === constants_1.SENDER_AS_RECIPIENT) {
|
|
50
52
|
throw new Error('Explicit recipient address required when using SwapProxy (SENDER_AS_RECIPIENT resolves to proxy)');
|
|
51
53
|
}
|
|
52
54
|
this.payerIsUser = false;
|
|
53
55
|
}
|
|
54
|
-
else if (this.inputRequiresWrap ||
|
|
56
|
+
else if (this.inputRequiresWrap ||
|
|
57
|
+
this.inputRequiresUnwrap ||
|
|
58
|
+
this.options.useRouterBalance ||
|
|
59
|
+
this.options.nativeErc20Input) {
|
|
55
60
|
this.payerIsUser = false;
|
|
56
61
|
}
|
|
57
62
|
else {
|
|
@@ -278,8 +283,10 @@ class UniswapTrade {
|
|
|
278
283
|
0,
|
|
279
284
|
]);
|
|
280
285
|
}
|
|
281
|
-
else if (this.trade.inputAmount.currency.isNative) {
|
|
282
|
-
// must refund extra native currency sent along
|
|
286
|
+
else if (this.options.nativeErc20Input || this.trade.inputAmount.currency.isNative) {
|
|
287
|
+
// must refund extra native currency sent along (nativeErc20Input or native v4 trades).
|
|
288
|
+
// For nativeErc20Input the leftover lives in the router's native balance (18 decimals), so
|
|
289
|
+
// sweep it as native: an ERC20 sweep would floor to the token's decimals and strand dust.
|
|
283
290
|
planner.addCommand(routerCommands_1.CommandType.SWEEP, [constants_1.ETH_ADDRESS, this.options.recipient, 0]);
|
|
284
291
|
}
|
|
285
292
|
}
|
|
@@ -289,9 +296,9 @@ class UniswapTrade {
|
|
|
289
296
|
}
|
|
290
297
|
exports.UniswapTrade = UniswapTrade;
|
|
291
298
|
// encode a uniswap v2 swap
|
|
292
|
-
function addV2Swap(planner, { route, inputAmount, outputAmount,
|
|
293
|
-
if ((
|
|
294
|
-
throw new Error(`
|
|
299
|
+
function addV2Swap(planner, { route, inputAmount, outputAmount, minHopPriceX36 }, tradeType, options, payerIsUser, routerMustCustody) {
|
|
300
|
+
if ((minHopPriceX36 === null || minHopPriceX36 === void 0 ? void 0 : minHopPriceX36.length) && minHopPriceX36.length !== route.pools.length) {
|
|
301
|
+
throw new Error(`minHopPriceX36 length (${minHopPriceX36.length}) must equal route.pools.length (${route.pools.length})`);
|
|
295
302
|
}
|
|
296
303
|
const trade = new v2_sdk_1.Trade(route, tradeType == sdk_core_1.TradeType.EXACT_INPUT ? inputAmount : outputAmount, tradeType);
|
|
297
304
|
const useV2_1_1 = (0, constants_1.isAtLeastV2_1_1)(options.urVersion);
|
|
@@ -306,7 +313,7 @@ function addV2Swap(planner, { route, inputAmount, outputAmount, maxHopSlippage }
|
|
|
306
313
|
payerIsUser,
|
|
307
314
|
];
|
|
308
315
|
if (useV2_1_1)
|
|
309
|
-
params.push(
|
|
316
|
+
params.push(minHopPriceX36 !== null && minHopPriceX36 !== void 0 ? minHopPriceX36 : []);
|
|
310
317
|
planner.addCommand(routerCommands_1.CommandType.V2_SWAP_EXACT_IN, params, false, options.urVersion);
|
|
311
318
|
}
|
|
312
319
|
else if (tradeType == sdk_core_1.TradeType.EXACT_OUTPUT) {
|
|
@@ -318,14 +325,14 @@ function addV2Swap(planner, { route, inputAmount, outputAmount, maxHopSlippage }
|
|
|
318
325
|
payerIsUser,
|
|
319
326
|
];
|
|
320
327
|
if (useV2_1_1)
|
|
321
|
-
params.push(
|
|
328
|
+
params.push(minHopPriceX36 !== null && minHopPriceX36 !== void 0 ? minHopPriceX36 : []);
|
|
322
329
|
planner.addCommand(routerCommands_1.CommandType.V2_SWAP_EXACT_OUT, params, false, options.urVersion);
|
|
323
330
|
}
|
|
324
331
|
}
|
|
325
332
|
// encode a uniswap v3 swap
|
|
326
|
-
function addV3Swap(planner, { route, inputAmount, outputAmount,
|
|
327
|
-
if ((
|
|
328
|
-
throw new Error(`
|
|
333
|
+
function addV3Swap(planner, { route, inputAmount, outputAmount, minHopPriceX36 }, tradeType, options, payerIsUser, routerMustCustody) {
|
|
334
|
+
if ((minHopPriceX36 === null || minHopPriceX36 === void 0 ? void 0 : minHopPriceX36.length) && minHopPriceX36.length !== route.pools.length) {
|
|
335
|
+
throw new Error(`minHopPriceX36 length (${minHopPriceX36.length}) must equal route.pools.length (${route.pools.length})`);
|
|
329
336
|
}
|
|
330
337
|
const trade = v3_sdk_1.Trade.createUncheckedTrade({
|
|
331
338
|
route: route,
|
|
@@ -344,7 +351,7 @@ function addV3Swap(planner, { route, inputAmount, outputAmount, maxHopSlippage }
|
|
|
344
351
|
payerIsUser,
|
|
345
352
|
];
|
|
346
353
|
if (useV2_1_1)
|
|
347
|
-
params.push(
|
|
354
|
+
params.push(minHopPriceX36 !== null && minHopPriceX36 !== void 0 ? minHopPriceX36 : []);
|
|
348
355
|
planner.addCommand(routerCommands_1.CommandType.V3_SWAP_EXACT_IN, params, false, options.urVersion);
|
|
349
356
|
}
|
|
350
357
|
else if (tradeType == sdk_core_1.TradeType.EXACT_OUTPUT) {
|
|
@@ -356,14 +363,14 @@ function addV3Swap(planner, { route, inputAmount, outputAmount, maxHopSlippage }
|
|
|
356
363
|
payerIsUser,
|
|
357
364
|
];
|
|
358
365
|
if (useV2_1_1)
|
|
359
|
-
params.push(
|
|
366
|
+
params.push(minHopPriceX36 !== null && minHopPriceX36 !== void 0 ? minHopPriceX36 : []);
|
|
360
367
|
planner.addCommand(routerCommands_1.CommandType.V3_SWAP_EXACT_OUT, params, false, options.urVersion);
|
|
361
368
|
}
|
|
362
369
|
}
|
|
363
|
-
function addV4Swap(planner, { inputAmount, outputAmount, route,
|
|
370
|
+
function addV4Swap(planner, { inputAmount, outputAmount, route, minHopPriceX36 }, tradeType, options, payerIsUser, routerMustCustody) {
|
|
364
371
|
var _a, _b;
|
|
365
|
-
if ((
|
|
366
|
-
throw new Error(`
|
|
372
|
+
if ((minHopPriceX36 === null || minHopPriceX36 === void 0 ? void 0 : minHopPriceX36.length) && minHopPriceX36.length !== route.pools.length) {
|
|
373
|
+
throw new Error(`minHopPriceX36 length (${minHopPriceX36.length}) must equal route.pools.length (${route.pools.length})`);
|
|
367
374
|
}
|
|
368
375
|
// create a deep copy of pools since v4Planner encoding tampers with array
|
|
369
376
|
const pools = route.pools.map((p) => p);
|
|
@@ -375,9 +382,9 @@ function addV4Swap(planner, { inputAmount, outputAmount, route, maxHopSlippage }
|
|
|
375
382
|
tradeType,
|
|
376
383
|
});
|
|
377
384
|
const slippageToleranceOnSwap = routerMustCustody && tradeType == sdk_core_1.TradeType.EXACT_INPUT ? undefined : options.slippageTolerance;
|
|
378
|
-
const perHopSlippage = (_a =
|
|
385
|
+
const perHopSlippage = (_a = minHopPriceX36 === null || minHopPriceX36 === void 0 ? void 0 : minHopPriceX36.map((s) => ethers_1.BigNumber.from(s))) !== null && _a !== void 0 ? _a : [];
|
|
379
386
|
const v4Planner = new v4_sdk_1.V4Planner();
|
|
380
|
-
v4Planner.addTrade(trade, slippageToleranceOnSwap, perHopSlippage,
|
|
387
|
+
v4Planner.addTrade(trade, slippageToleranceOnSwap, perHopSlippage, (0, toV4URVersion_1.toV4URVersion)(options.urVersion));
|
|
381
388
|
v4Planner.addSettle(trade.route.pathInput, payerIsUser);
|
|
382
389
|
// Handle split route output consistency:
|
|
383
390
|
// - If output is ETH and some routes output WETH: force all to output WETH, then unwrap
|
|
@@ -402,8 +409,8 @@ function addV4Swap(planner, { inputAmount, outputAmount, route, maxHopSlippage }
|
|
|
402
409
|
function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMustCustody) {
|
|
403
410
|
var _a, _b, _c, _d;
|
|
404
411
|
const route = swap.route;
|
|
405
|
-
if (((_a = swap.
|
|
406
|
-
throw new Error(`
|
|
412
|
+
if (((_a = swap.minHopPriceX36) === null || _a === void 0 ? void 0 : _a.length) && swap.minHopPriceX36.length !== route.pools.length) {
|
|
413
|
+
throw new Error(`minHopPriceX36 length (${swap.minHopPriceX36.length}) must equal route.pools.length (${route.pools.length})`);
|
|
407
414
|
}
|
|
408
415
|
const inputAmount = swap.inputAmount;
|
|
409
416
|
const outputAmount = swap.outputAmount;
|
|
@@ -434,7 +441,7 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
|
|
|
434
441
|
? 0
|
|
435
442
|
: trade.minimumAmountOut(options.slippageTolerance, outputAmount).quotient.toString();
|
|
436
443
|
// logic from
|
|
437
|
-
//
|
|
444
|
+
// https://github.com/Uniswap/router-sdk/blob/d8eed164e6c79519983844ca8b6a3fc24ebcb8f8/src/swapRouter.ts#L276
|
|
438
445
|
const sections = (0, router_sdk_1.partitionMixedRouteByProtocol)(route);
|
|
439
446
|
const isLastSectionInRoute = (i) => {
|
|
440
447
|
return i === sections.length - 1;
|
|
@@ -447,8 +454,8 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
|
|
|
447
454
|
const routePool = section[0];
|
|
448
455
|
const outputToken = (0, router_sdk_1.getOutputOfPools)(section, inputToken);
|
|
449
456
|
const subRoute = new router_sdk_1.MixedRoute(new router_sdk_1.MixedRouteSDK([...section], inputToken, outputToken));
|
|
450
|
-
// Slice this section's portion of
|
|
451
|
-
const sectionHopSlippage = (_c = swap.
|
|
457
|
+
// Slice this section's portion of minHopPriceX36 from the flat array
|
|
458
|
+
const sectionHopSlippage = (_c = swap.minHopPriceX36) === null || _c === void 0 ? void 0 : _c.slice(hopOffset, hopOffset + section.length);
|
|
452
459
|
let nextInputToken;
|
|
453
460
|
let swapRecipient;
|
|
454
461
|
if (isLastSectionInRoute(i)) {
|
|
@@ -470,11 +477,11 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
|
|
|
470
477
|
{
|
|
471
478
|
currencyIn: inputToken.isNative ? constants_1.ETH_ADDRESS : inputToken.address,
|
|
472
479
|
path: (0, v4_sdk_1.encodeRouteToPath)(v4SubRoute),
|
|
473
|
-
|
|
480
|
+
minHopPriceX36: v4SectionSlippage,
|
|
474
481
|
amountIn: 0,
|
|
475
482
|
amountOutMinimum: !isLastSectionInRoute(i) ? 0 : amountOut,
|
|
476
483
|
},
|
|
477
|
-
],
|
|
484
|
+
], (0, toV4URVersion_1.toV4URVersion)(options.urVersion));
|
|
478
485
|
// Handle split route output consistency for V4 sections in mixed routes
|
|
479
486
|
let outputTokenForTake = outputToken;
|
|
480
487
|
if (isLastSectionInRoute(i)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap.js","sourceRoot":"","sources":["../../../../../src/entities/actions/uniswap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uniswap.js","sourceRoot":"","sources":["../../../../../src/entities/actions/uniswap.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { SwapRouter } from './swapRouter';
|
|
2
2
|
export type { MigrateV3ToV4Options, SignedRouteOptions, EIP712Payload } from './swapRouter';
|
|
3
|
+
export * from './types/encodeSwaps';
|
|
3
4
|
export * from './entities';
|
|
4
5
|
export * from './utils/routerTradeAdapter';
|
|
5
6
|
export { RoutePlanner, CommandType, COMMAND_DEFINITION, Parser, Subparser } from './utils/routerCommands';
|
|
@@ -8,4 +9,6 @@ export { UNIVERSAL_ROUTER_CREATION_BLOCK, UNIVERSAL_ROUTER_ADDRESS, SWAP_PROXY_A
|
|
|
8
9
|
export { CommandParser, GenericCommandParser } from './utils/commandParser';
|
|
9
10
|
export type { UniversalRouterCommand, UniversalRouterCall, Param, CommandsDefinition } from './utils/commandParser';
|
|
10
11
|
export type { Permit2Permit } from './utils/inputTokens';
|
|
12
|
+
export { normalizeEncodeSwapsSpec } from './utils/normalizeEncodeSwapsSpec';
|
|
13
|
+
export { validateEncodeSwaps } from './utils/validateEncodeSwaps';
|
|
11
14
|
export { NONCE_SKIP_CHECK, generateNonce, EXECUTE_SIGNED_TYPES, getUniversalRouterDomain } from './utils/eip712';
|
package/dist/cjs/src/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUniversalRouterDomain = exports.EXECUTE_SIGNED_TYPES = exports.generateNonce = exports.NONCE_SKIP_CHECK = exports.GenericCommandParser = exports.CommandParser = exports.isAtLeastV2_1_1 = exports.UniversalRouterVersion = exports.WETH_ADDRESS = exports.ROUTER_AS_RECIPIENT = exports.SWAP_PROXY_ADDRESS = exports.UNIVERSAL_ROUTER_ADDRESS = exports.UNIVERSAL_ROUTER_CREATION_BLOCK = exports.Subparser = exports.Parser = exports.COMMAND_DEFINITION = exports.CommandType = exports.RoutePlanner = exports.SwapRouter = void 0;
|
|
3
|
+
exports.getUniversalRouterDomain = exports.EXECUTE_SIGNED_TYPES = exports.generateNonce = exports.NONCE_SKIP_CHECK = exports.validateEncodeSwaps = exports.normalizeEncodeSwapsSpec = exports.GenericCommandParser = exports.CommandParser = exports.isAtLeastV2_1_1 = exports.UniversalRouterVersion = exports.WETH_ADDRESS = exports.ROUTER_AS_RECIPIENT = exports.SWAP_PROXY_ADDRESS = exports.UNIVERSAL_ROUTER_ADDRESS = exports.UNIVERSAL_ROUTER_CREATION_BLOCK = exports.Subparser = exports.Parser = exports.COMMAND_DEFINITION = exports.CommandType = exports.RoutePlanner = exports.SwapRouter = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
var swapRouter_1 = require("./swapRouter");
|
|
6
6
|
Object.defineProperty(exports, "SwapRouter", { enumerable: true, get: function () { return swapRouter_1.SwapRouter; } });
|
|
7
|
+
tslib_1.__exportStar(require("./types/encodeSwaps"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./entities"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./utils/routerTradeAdapter"), exports);
|
|
9
10
|
var routerCommands_1 = require("./utils/routerCommands");
|
|
@@ -23,6 +24,10 @@ Object.defineProperty(exports, "isAtLeastV2_1_1", { enumerable: true, get: funct
|
|
|
23
24
|
var commandParser_1 = require("./utils/commandParser");
|
|
24
25
|
Object.defineProperty(exports, "CommandParser", { enumerable: true, get: function () { return commandParser_1.CommandParser; } });
|
|
25
26
|
Object.defineProperty(exports, "GenericCommandParser", { enumerable: true, get: function () { return commandParser_1.GenericCommandParser; } });
|
|
27
|
+
var normalizeEncodeSwapsSpec_1 = require("./utils/normalizeEncodeSwapsSpec");
|
|
28
|
+
Object.defineProperty(exports, "normalizeEncodeSwapsSpec", { enumerable: true, get: function () { return normalizeEncodeSwapsSpec_1.normalizeEncodeSwapsSpec; } });
|
|
29
|
+
var validateEncodeSwaps_1 = require("./utils/validateEncodeSwaps");
|
|
30
|
+
Object.defineProperty(exports, "validateEncodeSwaps", { enumerable: true, get: function () { return validateEncodeSwaps_1.validateEncodeSwaps; } });
|
|
26
31
|
var eip712_1 = require("./utils/eip712");
|
|
27
32
|
Object.defineProperty(exports, "NONCE_SKIP_CHECK", { enumerable: true, get: function () { return eip712_1.NONCE_SKIP_CHECK; } });
|
|
28
33
|
Object.defineProperty(exports, "generateNonce", { enumerable: true, get: function () { return eip712_1.generateNonce; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AAEnB,qDAA0B;AAC1B,qEAA0C;AAC1C,yDAAyG;AAAhG,8GAAA,YAAY,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAAE,wGAAA,MAAM,OAAA;AAAE,2GAAA,SAAS,OAAA;AAEzE,+CAQ0B;AAPxB,4HAAA,+BAA+B,OAAA;AAC/B,qHAAA,wBAAwB,OAAA;AACxB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,mHAAA,sBAAsB,OAAA;AACtB,4GAAA,eAAe,OAAA;AAEjB,uDAA2E;AAAlE,8GAAA,aAAa,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAG5C,yCAAgH;AAAvG,0GAAA,gBAAgB,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAAE,kHAAA,wBAAwB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AAEnB,8DAAmC;AACnC,qDAA0B;AAC1B,qEAA0C;AAC1C,yDAAyG;AAAhG,8GAAA,YAAY,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAAE,wGAAA,MAAM,OAAA;AAAE,2GAAA,SAAS,OAAA;AAEzE,+CAQ0B;AAPxB,4HAAA,+BAA+B,OAAA;AAC/B,qHAAA,wBAAwB,OAAA;AACxB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,mHAAA,sBAAsB,OAAA;AACtB,4GAAA,eAAe,OAAA;AAEjB,uDAA2E;AAAlE,8GAAA,aAAa,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAG5C,6EAA2E;AAAlE,oIAAA,wBAAwB,OAAA;AACjC,mEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAC5B,yCAAgH;AAAvG,0GAAA,gBAAgB,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAAE,kHAAA,wBAAwB,OAAA"}
|
|
@@ -6,6 +6,7 @@ import { Trade as RouterTrade } from '@centurion_project/router-sdk';
|
|
|
6
6
|
import { Currency, TradeType } from '@centurion_project/sdk-core';
|
|
7
7
|
import { SwapOptions } from './entities/actions/uniswap';
|
|
8
8
|
import { AcrossV4DepositV3Params } from './entities/actions/across';
|
|
9
|
+
import { SwapSpecification, SwapStep } from './types/encodeSwaps';
|
|
9
10
|
import { TypedDataDomain, TypedDataField } from '@ethersproject/abstract-signer';
|
|
10
11
|
export type SwapRouterConfig = {
|
|
11
12
|
sender?: string;
|
|
@@ -40,6 +41,20 @@ export declare abstract class SwapRouter {
|
|
|
40
41
|
static INTERFACE: Interface;
|
|
41
42
|
static PROXY_INTERFACE: Interface;
|
|
42
43
|
static swapCallParameters(trades: RouterTrade<Currency, Currency, TradeType>, options: SwapOptions, bridgeOptions?: AcrossV4DepositV3Params[]): MethodParameters;
|
|
44
|
+
/**
|
|
45
|
+
* Encodes router-provided swap steps inside the SDK safety envelope.
|
|
46
|
+
*
|
|
47
|
+
* Routers own `swapSteps` (V2/V3/V4 swaps, plus any `WRAP_ETH` / `UNWRAP_WETH` required by the route).
|
|
48
|
+
* The SDK owns ingress, fees, final settlement, exact-output refund, and optional `safeMode`.
|
|
49
|
+
*
|
|
50
|
+
* Router contract: end with final output in `spec.routing.outputToken`; for `EXACT_OUTPUT`, unused input
|
|
51
|
+
* must end in `spec.routing.inputToken`. Don't include a top-level `SWEEP` — the SDK appends settlement,
|
|
52
|
+
* refund, and safeMode sweeps itself.
|
|
53
|
+
*
|
|
54
|
+
* Router custody with `payerIsUser = false` is deliberate for safety, even if it costs an extra command
|
|
55
|
+
* or transfer; the SDK does not infer route topology on behalf of routers.
|
|
56
|
+
*/
|
|
57
|
+
static encodeSwaps(spec: SwapSpecification, swapSteps: SwapStep[]): MethodParameters;
|
|
43
58
|
/**
|
|
44
59
|
* Generate EIP712 payload for signed execution (no signing performed)
|
|
45
60
|
* Decodes existing execute() calldata and prepares it for signing
|
|
@@ -80,8 +95,9 @@ export declare abstract class SwapRouter {
|
|
|
80
95
|
*/
|
|
81
96
|
private static encodePlan;
|
|
82
97
|
/**
|
|
83
|
-
*
|
|
98
|
+
* Wraps an inner UR plan in calldata targeting the SwapProxy contract.
|
|
84
99
|
* The proxy pulls ERC20 tokens from the user into the UR, then executes commands.
|
|
85
100
|
*/
|
|
86
101
|
private static encodeProxyPlan;
|
|
102
|
+
private static encodeProxyCall;
|
|
87
103
|
}
|