@paraswap/dex-lib 3.8.38 → 3.8.39-1701-1507-1721
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/build/abi/USDM.json +807 -0
- package/build/abi/bebop/BebopSettlement.abi.json +2137 -0
- package/build/abi/wUSDM.json +757 -0
- package/build/config.js +16 -9
- package/build/config.js.map +1 -1
- package/build/dex/aave-v2/aave-v2.d.ts +1 -0
- package/build/dex/aave-v2/aave-v2.js +1 -0
- package/build/dex/aave-v2/aave-v2.js.map +1 -1
- package/build/dex/aave-v3/aave-v3.d.ts +1 -0
- package/build/dex/aave-v3/aave-v3.js +1 -0
- package/build/dex/aave-v3/aave-v3.js.map +1 -1
- package/build/dex/aave-v3-stata/aave-v3-stata.d.ts +1 -0
- package/build/dex/aave-v3-stata/aave-v3-stata.js +1 -0
- package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
- package/build/dex/bancor/bancor.d.ts +1 -0
- package/build/dex/bancor/bancor.js +1 -0
- package/build/dex/bancor/bancor.js.map +1 -1
- package/build/dex/bebop/bebop.d.ts +55 -0
- package/build/dex/bebop/bebop.js +524 -0
- package/build/dex/bebop/bebop.js.map +1 -0
- package/build/dex/bebop/config.d.ts +3 -0
- package/build/dex/bebop/config.js +38 -0
- package/build/dex/bebop/config.js.map +1 -0
- package/build/dex/bebop/constants.d.ts +9 -0
- package/build/dex/bebop/constants.js +13 -0
- package/build/dex/bebop/constants.js.map +1 -0
- package/build/dex/bebop/rate-fetcher.d.ts +22 -0
- package/build/dex/bebop/rate-fetcher.js +80 -0
- package/build/dex/bebop/rate-fetcher.js.map +1 -0
- package/build/dex/bebop/types.d.ts +76 -0
- package/build/dex/bebop/types.js +3 -0
- package/build/dex/bebop/types.js.map +1 -0
- package/build/dex/bebop/validators.d.ts +4 -0
- package/build/dex/bebop/validators.js +42 -0
- package/build/dex/bebop/validators.js.map +1 -0
- package/build/dex/bebop/websocket-fetcher.d.ts +35 -0
- package/build/dex/bebop/websocket-fetcher.js +87 -0
- package/build/dex/bebop/websocket-fetcher.js.map +1 -0
- package/build/dex/compound/compound.d.ts +1 -0
- package/build/dex/compound/compound.js +1 -0
- package/build/dex/compound/compound.js.map +1 -1
- package/build/dex/curve-v1/curve-v1.d.ts +1 -0
- package/build/dex/curve-v1/curve-v1.js +1 -0
- package/build/dex/curve-v1/curve-v1.js.map +1 -1
- package/build/dex/dodo-v1/dodo-v1.d.ts +1 -0
- package/build/dex/dodo-v1/dodo-v1.js +1 -0
- package/build/dex/dodo-v1/dodo-v1.js.map +1 -1
- package/build/dex/hashflow/hashflow.d.ts +6 -4
- package/build/dex/hashflow/hashflow.js +183 -29
- package/build/dex/hashflow/hashflow.js.map +1 -1
- package/build/dex/hashflow/types.d.ts +2 -0
- package/build/dex/hashflow/types.js.map +1 -1
- package/build/dex/idex.d.ts +8 -1
- package/build/dex/index.js +2 -0
- package/build/dex/index.js.map +1 -1
- package/build/dex/jarvis-v6/jarvis-v6.d.ts +1 -0
- package/build/dex/jarvis-v6/jarvis-v6.js +1 -0
- package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
- package/build/dex/lido/lido.d.ts +1 -0
- package/build/dex/lido/lido.js +1 -0
- package/build/dex/lido/lido.js.map +1 -1
- package/build/dex/lite-psm/lite-psm.d.ts +1 -0
- package/build/dex/lite-psm/lite-psm.js +1 -0
- package/build/dex/lite-psm/lite-psm.js.map +1 -1
- package/build/dex/maker-psm/maker-psm.d.ts +1 -0
- package/build/dex/maker-psm/maker-psm.js +1 -0
- package/build/dex/maker-psm/maker-psm.js.map +1 -1
- package/build/dex/nerve/nerve.d.ts +1 -0
- package/build/dex/nerve/nerve.js +1 -0
- package/build/dex/nerve/nerve.js.map +1 -1
- package/build/dex/polygon-migrator/polygon-migrator.d.ts +1 -0
- package/build/dex/polygon-migrator/polygon-migrator.js +1 -0
- package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
- package/build/dex/simple-exchange.d.ts +3 -1
- package/build/dex/simple-exchange.js +1 -0
- package/build/dex/simple-exchange.js.map +1 -1
- package/build/dex/smoothy/smoothy.d.ts +1 -0
- package/build/dex/smoothy/smoothy.js +1 -0
- package/build/dex/smoothy/smoothy.js.map +1 -1
- package/build/dex/spark/config.js +8 -0
- package/build/dex/spark/config.js.map +1 -1
- package/build/dex/spark/spark.d.ts +4 -1
- package/build/dex/spark/spark.js +20 -15
- package/build/dex/spark/spark.js.map +1 -1
- package/build/dex/spark/types.d.ts +9 -0
- package/build/dex/spark/types.js +8 -1
- package/build/dex/spark/types.js.map +1 -1
- package/build/dex/stable-pool/stable-pool.d.ts +3 -2
- package/build/dex/stable-pool/stable-pool.js +2 -1
- package/build/dex/stable-pool/stable-pool.js.map +1 -1
- package/build/dex/swaap-v2/swaap-v2.d.ts +5 -3
- package/build/dex/swaap-v2/swaap-v2.js +112 -21
- package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
- package/build/dex/swaap-v2/types.d.ts +2 -0
- package/build/dex/swaap-v2/types.js.map +1 -1
- package/build/dex/trader-joe-v2.1/base.d.ts +1 -0
- package/build/dex/trader-joe-v2.1/base.js +1 -0
- package/build/dex/trader-joe-v2.1/base.js.map +1 -1
- package/build/dex/weth/weth.d.ts +1 -0
- package/build/dex/weth/weth.js +1 -0
- package/build/dex/weth/weth.js.map +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2-pool.d.ts +2 -2
- package/build/dex/woo-fi-v2/woo-fi-v2-pool.js +30 -9
- package/build/dex/woo-fi-v2/woo-fi-v2-pool.js.map +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2.js +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
- package/build/dex/wusdm/config.d.ts +3 -0
- package/build/dex/wusdm/config.js +29 -0
- package/build/dex/wusdm/config.js.map +1 -0
- package/build/dex/wusdm/types.d.ts +10 -0
- package/build/dex/wusdm/types.js +3 -0
- package/build/dex/wusdm/types.js.map +1 -0
- package/build/dex/wusdm/wusdm.d.ts +39 -0
- package/build/dex/wusdm/wusdm.js +212 -0
- package/build/dex/wusdm/wusdm.js.map +1 -0
- package/build/executor/Executor01BytecodeBuilder.d.ts +3 -3
- package/build/executor/Executor01BytecodeBuilder.js +65 -16
- package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor02BytecodeBuilder.d.ts +4 -4
- package/build/executor/Executor02BytecodeBuilder.js +65 -18
- package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor03BytecodeBuilder.d.ts +2 -2
- package/build/executor/Executor03BytecodeBuilder.js +52 -8
- package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
- package/build/executor/ExecutorBytecodeBuilder.d.ts +5 -4
- package/build/executor/ExecutorBytecodeBuilder.js +4 -4
- package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
- package/build/executor/ExecutorDetector.js +2 -1
- package/build/executor/ExecutorDetector.js.map +1 -1
- package/build/executor/types.d.ts +1 -0
- package/build/executor/types.js +1 -0
- package/build/executor/types.js.map +1 -1
- package/build/generic-swap-transaction-builder.d.ts +2 -0
- package/build/generic-swap-transaction-builder.js +49 -11
- package/build/generic-swap-transaction-builder.js.map +1 -1
- package/build/implementations/local-paraswap-sdk.js +3 -1
- package/build/implementations/local-paraswap-sdk.js.map +1 -1
- package/build/lib/fetcher/wsFetcher.d.ts +35 -0
- package/build/lib/fetcher/wsFetcher.js +87 -0
- package/build/lib/fetcher/wsFetcher.js.map +1 -0
- package/build/router/simpleswap.js +51 -13
- package/build/router/simpleswap.js.map +1 -1
- package/build/types.d.ts +2 -0
- package/package.json +4 -2
- package/src/abi/bebop/BebopSettlement.abi.json +2137 -0
- package/src/config.ts +17 -9
- package/src/dex/aave-v2/aave-v2.ts +2 -0
- package/src/dex/aave-v3/aave-v3.ts +2 -0
- package/src/dex/aave-v3-stata/aave-v3-stata.ts +2 -0
- package/src/dex/bancor/bancor.ts +2 -0
- package/src/dex/bebop/bebop-e2e.test.ts +195 -0
- package/src/dex/bebop/bebop-integration.test.ts +170 -0
- package/src/dex/bebop/bebop.ts +732 -0
- package/src/dex/bebop/config.ts +37 -0
- package/src/dex/bebop/constants.ts +9 -0
- package/src/dex/bebop/rate-fetcher.ts +138 -0
- package/src/dex/bebop/types.ts +81 -0
- package/src/dex/bebop/validators.ts +43 -0
- package/src/dex/compound/compound.ts +2 -0
- package/src/dex/curve-v1/curve-v1.ts +2 -0
- package/src/dex/dodo-v1/dodo-v1.ts +2 -0
- package/src/dex/hashflow/hashflow-e2e.test.ts +281 -28
- package/src/dex/hashflow/hashflow.ts +285 -54
- package/src/dex/hashflow/types.ts +2 -0
- package/src/dex/idex.ts +18 -1
- package/src/dex/index.ts +2 -0
- package/src/dex/jarvis-v6/jarvis-v6.ts +2 -0
- package/src/dex/lido/lido.ts +2 -0
- package/src/dex/lite-psm/lite-psm.ts +2 -0
- package/src/dex/maker-psm/maker-psm.ts +2 -0
- package/src/dex/nerve/nerve.ts +2 -0
- package/src/dex/polygon-migrator/polygon-migrator.ts +2 -0
- package/src/dex/simple-exchange.ts +4 -2
- package/src/dex/smoothy/smoothy.ts +2 -0
- package/src/dex/spark/config.ts +8 -1
- package/src/dex/spark/spark.ts +27 -18
- package/src/dex/spark/types.ts +10 -0
- package/src/dex/stable-pool/stable-pool.ts +4 -1
- package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +13 -13
- package/src/dex/swaap-v2/swaap-v2.ts +217 -32
- package/src/dex/swaap-v2/types.ts +2 -0
- package/src/dex/trader-joe-v2.1/base.ts +2 -0
- package/src/dex/weth/weth.ts +2 -0
- package/src/dex/woo-fi-v2/woo-fi-v2-pool.ts +58 -27
- package/src/dex/woo-fi-v2/woo-fi-v2.ts +1 -2
- package/src/executor/Executor01BytecodeBuilder.ts +105 -11
- package/src/executor/Executor02BytecodeBuilder.ts +95 -8
- package/src/executor/Executor03BytecodeBuilder.ts +89 -5
- package/src/executor/ExecutorBytecodeBuilder.ts +6 -0
- package/src/executor/ExecutorDetector.ts +2 -1
- package/src/executor/types.ts +1 -0
- package/src/generic-swap-transaction-builder.ts +96 -24
- package/src/implementations/local-paraswap-sdk.ts +21 -10
- package/src/lib/fetcher/wsFetcher.ts +126 -0
- package/src/router/simpleswap.ts +94 -18
- package/src/types.ts +2 -0
- package/tests/constants-e2e.ts +2 -2
- package/tests/utils-e2e.ts +308 -2
package/src/router/simpleswap.ts
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
TxInfo,
|
|
7
7
|
SimpleExchangeParam,
|
|
8
8
|
} from '../types';
|
|
9
|
-
import { SwapSide } from '../constants';
|
|
9
|
+
import { ETHER_ADDRESS, SwapSide } from '../constants';
|
|
10
10
|
import IParaswapABI from '../abi/IParaswap.json';
|
|
11
11
|
import { Interface } from '@ethersproject/abi';
|
|
12
12
|
import { isETHAddress, uuidToBytes16 } from '../utils';
|
|
@@ -95,9 +95,11 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
95
95
|
swap.swapExchanges.map(async se => {
|
|
96
96
|
const dex = this.dexAdapterService.getTxBuilderDexByKey(se.exchange);
|
|
97
97
|
let _src = swap.srcToken;
|
|
98
|
-
let
|
|
98
|
+
let wethDepositForNeedWrapNative = 0n;
|
|
99
|
+
let wethDepositForNeedUnwrapWeth = 0n;
|
|
99
100
|
let _dest = swap.destToken;
|
|
100
|
-
let
|
|
101
|
+
let wethWithdrawForNeedWrapNative = 0n;
|
|
102
|
+
let wethWithdrawForNeedUnwrapWeth = 0n;
|
|
101
103
|
|
|
102
104
|
// For case of buy apply slippage is applied to srcAmount in equal proportion as the complete swap
|
|
103
105
|
// This assumes that the sum of all swaps srcAmount would sum to priceRoute.srcAmount
|
|
@@ -115,13 +117,23 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
115
117
|
// should work if the final slippage check passes.
|
|
116
118
|
const _destAmount = this.side === SwapSide.SELL ? '1' : se.destAmount;
|
|
117
119
|
|
|
118
|
-
|
|
120
|
+
const dexNeedWrapNative =
|
|
121
|
+
typeof dex.needWrapNative === 'function'
|
|
122
|
+
? dex.needWrapNative(priceRoute, swap, se)
|
|
123
|
+
: dex.needWrapNative;
|
|
124
|
+
|
|
125
|
+
const dexNeedUnwrapWeth =
|
|
126
|
+
typeof dex.needUnwrapWeth === 'function'
|
|
127
|
+
? dex.needUnwrapWeth(priceRoute, swap, se)
|
|
128
|
+
: dex.needUnwrapWeth;
|
|
129
|
+
|
|
130
|
+
if (dexNeedWrapNative) {
|
|
119
131
|
if (isETHAddress(swap.srcToken)) {
|
|
120
132
|
if (swapIndex !== 0) {
|
|
121
133
|
throw new Error('Wrap native srcToken not in swapIndex 0');
|
|
122
134
|
}
|
|
123
135
|
_src = wethAddress;
|
|
124
|
-
|
|
136
|
+
wethDepositForNeedWrapNative = BigInt(_srcAmount);
|
|
125
137
|
}
|
|
126
138
|
|
|
127
139
|
if (isETHAddress(swap.destToken)) {
|
|
@@ -129,7 +141,21 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
129
141
|
throw new Error('Wrap native destToken not in swapIndex last');
|
|
130
142
|
}
|
|
131
143
|
_dest = wethAddress;
|
|
132
|
-
|
|
144
|
+
wethWithdrawForNeedWrapNative = BigInt(_destAmount);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (dexNeedUnwrapWeth) {
|
|
149
|
+
const wethAddr =
|
|
150
|
+
this.dexAdapterService.dexHelper.config.data.wrappedNativeTokenAddress.toLowerCase();
|
|
151
|
+
if (swap.srcToken.toLowerCase() === wethAddr) {
|
|
152
|
+
_src = ETHER_ADDRESS;
|
|
153
|
+
wethWithdrawForNeedUnwrapWeth = BigInt(_srcAmount);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (swap.destToken.toLowerCase() === wethAddr) {
|
|
157
|
+
_dest = ETHER_ADDRESS;
|
|
158
|
+
wethDepositForNeedUnwrapWeth = BigInt(se.destAmount); // cant use _destAmount here because _destAmount could be 1
|
|
133
159
|
}
|
|
134
160
|
}
|
|
135
161
|
|
|
@@ -144,8 +170,10 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
144
170
|
|
|
145
171
|
return {
|
|
146
172
|
simpleParams,
|
|
147
|
-
|
|
148
|
-
|
|
173
|
+
wethDepositForNeedWrapNative,
|
|
174
|
+
wethWithdrawForNeedWrapNative,
|
|
175
|
+
wethWithdrawForNeedUnwrapWeth,
|
|
176
|
+
wethDepositForNeedUnwrapWeth,
|
|
149
177
|
};
|
|
150
178
|
}),
|
|
151
179
|
),
|
|
@@ -153,16 +181,30 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
153
181
|
|
|
154
182
|
const {
|
|
155
183
|
simpleExchangeDataList,
|
|
156
|
-
|
|
157
|
-
|
|
184
|
+
srcAmountWethToDepositForNeedWrapNative,
|
|
185
|
+
destAmountWethToWithdrawForNeedWrapNative,
|
|
186
|
+
srcAmountWethToWithdrawForNeedUnwrapWeth,
|
|
187
|
+
destAmountWethToDepositForNeeUnwrapWeth,
|
|
158
188
|
} = rawSimpleParams.reduce<{
|
|
159
189
|
simpleExchangeDataList: SimpleExchangeParam[];
|
|
160
|
-
|
|
161
|
-
|
|
190
|
+
srcAmountWethToDepositForNeedWrapNative: bigint;
|
|
191
|
+
srcAmountWethToWithdrawForNeedUnwrapWeth: bigint;
|
|
192
|
+
destAmountWethToWithdrawForNeedWrapNative: bigint;
|
|
193
|
+
destAmountWethToDepositForNeeUnwrapWeth: bigint;
|
|
162
194
|
}>(
|
|
163
195
|
(acc, se) => {
|
|
164
|
-
acc.
|
|
165
|
-
|
|
196
|
+
acc.srcAmountWethToDepositForNeedWrapNative += BigInt(
|
|
197
|
+
se.wethDepositForNeedWrapNative,
|
|
198
|
+
);
|
|
199
|
+
acc.srcAmountWethToWithdrawForNeedUnwrapWeth += BigInt(
|
|
200
|
+
se.wethWithdrawForNeedUnwrapWeth,
|
|
201
|
+
);
|
|
202
|
+
acc.destAmountWethToWithdrawForNeedWrapNative += BigInt(
|
|
203
|
+
se.wethWithdrawForNeedWrapNative,
|
|
204
|
+
);
|
|
205
|
+
acc.destAmountWethToDepositForNeeUnwrapWeth += BigInt(
|
|
206
|
+
se.wethDepositForNeedUnwrapWeth,
|
|
207
|
+
);
|
|
166
208
|
// V6 doesn't have simpleParams
|
|
167
209
|
if (se.simpleParams) {
|
|
168
210
|
acc.simpleExchangeDataList.push(se.simpleParams);
|
|
@@ -172,8 +214,10 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
172
214
|
},
|
|
173
215
|
{
|
|
174
216
|
simpleExchangeDataList: [],
|
|
175
|
-
|
|
176
|
-
|
|
217
|
+
srcAmountWethToDepositForNeedWrapNative: 0n,
|
|
218
|
+
srcAmountWethToWithdrawForNeedUnwrapWeth: 0n,
|
|
219
|
+
destAmountWethToWithdrawForNeedWrapNative: 0n,
|
|
220
|
+
destAmountWethToDepositForNeeUnwrapWeth: 0n,
|
|
177
221
|
},
|
|
178
222
|
);
|
|
179
223
|
|
|
@@ -188,10 +232,16 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
188
232
|
);
|
|
189
233
|
|
|
190
234
|
const maybeWethCallData = this.getDepositWithdrawWethCallData(
|
|
191
|
-
|
|
192
|
-
|
|
235
|
+
srcAmountWethToDepositForNeedWrapNative,
|
|
236
|
+
destAmountWethToWithdrawForNeedWrapNative,
|
|
193
237
|
);
|
|
194
238
|
|
|
239
|
+
const maybeWethCallDataForNeedUnwrapWeth =
|
|
240
|
+
this.getDepositWithdrawWethCallData(
|
|
241
|
+
destAmountWethToDepositForNeeUnwrapWeth,
|
|
242
|
+
srcAmountWethToWithdrawForNeedUnwrapWeth,
|
|
243
|
+
);
|
|
244
|
+
|
|
195
245
|
if (maybeWethCallData) {
|
|
196
246
|
if (maybeWethCallData.deposit) {
|
|
197
247
|
simpleExchangeDataFlat.callees.unshift(
|
|
@@ -211,6 +261,32 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
211
261
|
}
|
|
212
262
|
}
|
|
213
263
|
|
|
264
|
+
if (maybeWethCallDataForNeedUnwrapWeth) {
|
|
265
|
+
if (maybeWethCallDataForNeedUnwrapWeth.withdraw) {
|
|
266
|
+
simpleExchangeDataFlat.callees.unshift(
|
|
267
|
+
maybeWethCallDataForNeedUnwrapWeth.withdraw.callee,
|
|
268
|
+
);
|
|
269
|
+
simpleExchangeDataFlat.values.unshift(
|
|
270
|
+
maybeWethCallDataForNeedUnwrapWeth.withdraw.value,
|
|
271
|
+
);
|
|
272
|
+
simpleExchangeDataFlat.calldata.unshift(
|
|
273
|
+
maybeWethCallDataForNeedUnwrapWeth.withdraw.calldata,
|
|
274
|
+
);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
if (maybeWethCallDataForNeedUnwrapWeth.deposit) {
|
|
278
|
+
simpleExchangeDataFlat.callees.push(
|
|
279
|
+
maybeWethCallDataForNeedUnwrapWeth.deposit.callee,
|
|
280
|
+
);
|
|
281
|
+
simpleExchangeDataFlat.values.push(
|
|
282
|
+
maybeWethCallDataForNeedUnwrapWeth.deposit.value,
|
|
283
|
+
);
|
|
284
|
+
simpleExchangeDataFlat.calldata.push(
|
|
285
|
+
maybeWethCallDataForNeedUnwrapWeth.deposit.calldata,
|
|
286
|
+
);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
214
290
|
return {
|
|
215
291
|
partialContractSimpleData: this.buildPartialContractSimpleData(
|
|
216
292
|
simpleExchangeDataFlat,
|
package/src/types.ts
CHANGED
|
@@ -159,6 +159,7 @@ export type AdapterExchangeParam = {
|
|
|
159
159
|
|
|
160
160
|
export type DexExchangeParam = {
|
|
161
161
|
needWrapNative: boolean;
|
|
162
|
+
needUnwrapWeth?: boolean;
|
|
162
163
|
skipApproval?: boolean;
|
|
163
164
|
wethAddress?: string;
|
|
164
165
|
exchangeData: string;
|
|
@@ -304,6 +305,7 @@ export type Config = {
|
|
|
304
305
|
uniswapV3EventLoggingSampleRate?: number;
|
|
305
306
|
swaapV2AuthToken?: string;
|
|
306
307
|
dexalotAuthToken?: string;
|
|
308
|
+
bebopAuthToken?: string;
|
|
307
309
|
idleDaoAuthToken?: string;
|
|
308
310
|
forceRpcFallbackDexs: string[];
|
|
309
311
|
apiKeyTheGraph: string;
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -1532,7 +1532,7 @@ export const Holders: {
|
|
|
1532
1532
|
AA_iETHv2: '0xA118aD79E2152b9a3c7Df8B8791887762b0f1D49',
|
|
1533
1533
|
BB_iETHv2: '0x15079cBAa74C1df2a602fAc88Bd5b98B08FfE6A4',
|
|
1534
1534
|
ETH: '0x176F3DAb24a159341c0509bB36B833E7fdd0a132',
|
|
1535
|
-
USDC: '
|
|
1535
|
+
USDC: '0xd8A3c2901b736170b70088a0Df9AA914317d43C6',
|
|
1536
1536
|
USDE: '0x8707f238936c12c309bfc2B9959C35828AcFc512',
|
|
1537
1537
|
AMPL: '0x223592a191ECfC7FDC38a9256c3BD96E771539A9',
|
|
1538
1538
|
WBTC: '0x6daB3bCbFb336b29d06B9C793AEF7eaA57888922',
|
|
@@ -1770,7 +1770,7 @@ export const Holders: {
|
|
|
1770
1770
|
WETH: '0x3368e17064c9ba5d6f1f93c4c678bea00cc78555',
|
|
1771
1771
|
BAL: '0x7b7b957c284c2c227c980d6e2f804311947b84d0',
|
|
1772
1772
|
USDCe: '0x62383739d68dd0f844103db8dfb05a7eded5bbe6',
|
|
1773
|
-
USDC: '
|
|
1773
|
+
USDC: '0x62383739D68Dd0F844103Db8dFb05a7EdED5BBE6',
|
|
1774
1774
|
OHM: '0xebce5f29ff5ca9aa330ebdf7ec6b5f474bff271e',
|
|
1775
1775
|
USDT: '0xf977814e90da44bfa03b6295a0616a897441acec',
|
|
1776
1776
|
POPS: '0x4b78b52e7de4d8b7d367297cb8a87c1875a9d591',
|
package/tests/utils-e2e.ts
CHANGED
|
@@ -59,6 +59,7 @@ import * as util from 'util';
|
|
|
59
59
|
import { GenericSwapTransactionBuilder } from '../src/generic-swap-transaction-builder';
|
|
60
60
|
import { DexAdapterService, PricingHelper } from '../src';
|
|
61
61
|
import { v4 as uuid } from 'uuid';
|
|
62
|
+
import { OptimalRoute } from '../build/types';
|
|
62
63
|
|
|
63
64
|
export const testingEndpoint = process.env.E2E_TEST_ENDPOINT;
|
|
64
65
|
|
|
@@ -127,6 +128,10 @@ class APIParaswapSDK implements IParaSwapSDK {
|
|
|
127
128
|
rpcUrl: string,
|
|
128
129
|
) {
|
|
129
130
|
this.dexKeys = Array.isArray(dexKeys) ? dexKeys : [dexKeys];
|
|
131
|
+
|
|
132
|
+
console.log('testingEndpoint: ', testingEndpoint);
|
|
133
|
+
console.log('this.dexKeys: ', this.dexKeys);
|
|
134
|
+
|
|
130
135
|
this.paraSwap = constructSimpleSDK({
|
|
131
136
|
version: ParaSwapVersion.V6,
|
|
132
137
|
chainId: network,
|
|
@@ -168,6 +173,7 @@ class APIParaswapSDK implements IParaSwapSDK {
|
|
|
168
173
|
throw new Error('PoolIdentifiers is not supported by the API');
|
|
169
174
|
|
|
170
175
|
let priceRoute;
|
|
176
|
+
console.log('forceRoute: ', forceRoute);
|
|
171
177
|
if (forceRoute && forceRoute.length > 0) {
|
|
172
178
|
const options = {
|
|
173
179
|
route: forceRoute,
|
|
@@ -178,7 +184,7 @@ class APIParaswapSDK implements IParaSwapSDK {
|
|
|
178
184
|
options: {
|
|
179
185
|
includeDEXS: this.dexKeys,
|
|
180
186
|
includeContractMethods: [contractMethod],
|
|
181
|
-
partner: '
|
|
187
|
+
partner: 'paraswap.io-staging',
|
|
182
188
|
maxImpact: 100,
|
|
183
189
|
},
|
|
184
190
|
...transferFees,
|
|
@@ -193,7 +199,7 @@ class APIParaswapSDK implements IParaSwapSDK {
|
|
|
193
199
|
options: {
|
|
194
200
|
includeDEXS: this.dexKeys,
|
|
195
201
|
includeContractMethods: [contractMethod],
|
|
196
|
-
partner: '
|
|
202
|
+
partner: 'paraswap.io-staging',
|
|
197
203
|
maxImpact: 100,
|
|
198
204
|
},
|
|
199
205
|
...transferFees,
|
|
@@ -499,6 +505,306 @@ export async function testE2E(
|
|
|
499
505
|
forceRoute,
|
|
500
506
|
);
|
|
501
507
|
|
|
508
|
+
// DAI -> USDC -> WETH
|
|
509
|
+
// const priceRoute = {
|
|
510
|
+
// blockNumber: 20829396,
|
|
511
|
+
// network: 1,
|
|
512
|
+
// srcToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
513
|
+
// srcDecimals: 18,
|
|
514
|
+
// srcAmount: '22675013677618734169',
|
|
515
|
+
// destToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
516
|
+
// destDecimals: 18,
|
|
517
|
+
// destAmount: '8740886723958239',
|
|
518
|
+
// bestRoute: [
|
|
519
|
+
// {
|
|
520
|
+
// percent: 100,
|
|
521
|
+
// swaps: [
|
|
522
|
+
// {
|
|
523
|
+
// srcToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
524
|
+
// srcDecimals: 18,
|
|
525
|
+
// destToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
526
|
+
// destDecimals: 6,
|
|
527
|
+
// swapExchanges: [
|
|
528
|
+
// {
|
|
529
|
+
// exchange: 'Hashflow',
|
|
530
|
+
// srcAmount: '22675013677618734169',
|
|
531
|
+
// destAmount: '22653896',
|
|
532
|
+
// percent: 100,
|
|
533
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
534
|
+
// data: {
|
|
535
|
+
// mm: 'mm21_1',
|
|
536
|
+
// tokenIn: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
537
|
+
// tokenOut: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
538
|
+
// gasUSD: '9.106871',
|
|
539
|
+
// },
|
|
540
|
+
// },
|
|
541
|
+
// ],
|
|
542
|
+
// },
|
|
543
|
+
// {
|
|
544
|
+
// srcToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
545
|
+
// srcDecimals: 6,
|
|
546
|
+
// destToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
547
|
+
// destDecimals: 18,
|
|
548
|
+
// swapExchanges: [
|
|
549
|
+
// {
|
|
550
|
+
// exchange: 'Hashflow',
|
|
551
|
+
// srcAmount: '22653896',
|
|
552
|
+
// destAmount: '8740886723958239',
|
|
553
|
+
// percent: 100,
|
|
554
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
555
|
+
// data: {
|
|
556
|
+
// mm: 'mm30_302',
|
|
557
|
+
// tokenIn: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
558
|
+
// tokenOut: '0x0000000000000000000000000000000000000000',
|
|
559
|
+
// gasUSD: '9.106871',
|
|
560
|
+
// },
|
|
561
|
+
// },
|
|
562
|
+
// ],
|
|
563
|
+
// },
|
|
564
|
+
// ],
|
|
565
|
+
// },
|
|
566
|
+
// ],
|
|
567
|
+
// gasCostUSD: '23.654185',
|
|
568
|
+
// gasCost: '259740',
|
|
569
|
+
// others: [],
|
|
570
|
+
// side: 'SELL',
|
|
571
|
+
// version: '6.2',
|
|
572
|
+
// contractAddress: '0x6a000f20005980200259b80c5102003040001068',
|
|
573
|
+
// tokenTransferProxy: '0x6a000f20005980200259b80c5102003040001068',
|
|
574
|
+
// contractMethod: 'swapExactAmountIn',
|
|
575
|
+
// partnerFee: 0,
|
|
576
|
+
// srcUSD: '22.6576219421',
|
|
577
|
+
// destUSD: '22.5361037872',
|
|
578
|
+
// partner: 'paraswap.io-staging',
|
|
579
|
+
// maxImpactReached: false,
|
|
580
|
+
// hmac: 'a02dfe3450127b33a601d46c0385c8229428e134',
|
|
581
|
+
// } as OptimalRate;
|
|
582
|
+
|
|
583
|
+
// DAI -> ETH -> USDC
|
|
584
|
+
// const priceRoute = {
|
|
585
|
+
// blockNumber: 20834880,
|
|
586
|
+
// network: 1,
|
|
587
|
+
// srcToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
588
|
+
// srcDecimals: 18,
|
|
589
|
+
// srcAmount: '22675013677618734169',
|
|
590
|
+
// destToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
591
|
+
// destDecimals: 18,
|
|
592
|
+
// destAmount: '8560020040357109',
|
|
593
|
+
// bestRoute: [
|
|
594
|
+
// {
|
|
595
|
+
// percent: 100,
|
|
596
|
+
// swaps: [
|
|
597
|
+
// {
|
|
598
|
+
// srcToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
599
|
+
// srcDecimals: 18,
|
|
600
|
+
// destToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
601
|
+
// destDecimals: 6,
|
|
602
|
+
// swapExchanges: [
|
|
603
|
+
// {
|
|
604
|
+
// exchange: 'Hashflow',
|
|
605
|
+
// srcAmount: '22675013677618734169',
|
|
606
|
+
// destAmount: '22654007',
|
|
607
|
+
// percent: 100,
|
|
608
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
609
|
+
// data: {
|
|
610
|
+
// mm: 'mm21_1',
|
|
611
|
+
// tokenIn: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
612
|
+
// tokenOut: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
613
|
+
// gasUSD: '5.806315',
|
|
614
|
+
// },
|
|
615
|
+
// },
|
|
616
|
+
// ],
|
|
617
|
+
// },
|
|
618
|
+
// {
|
|
619
|
+
// srcToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
620
|
+
// srcDecimals: 6,
|
|
621
|
+
// destToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
622
|
+
// destDecimals: 18,
|
|
623
|
+
// swapExchanges: [
|
|
624
|
+
// {
|
|
625
|
+
// exchange: 'Hashflow',
|
|
626
|
+
// srcAmount: '22654007',
|
|
627
|
+
// destAmount: '8560020040357109',
|
|
628
|
+
// percent: 100,
|
|
629
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
630
|
+
// data: {
|
|
631
|
+
// mm: 'mm30_302',
|
|
632
|
+
// tokenIn: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
633
|
+
// tokenOut: '0x0000000000000000000000000000000000000000',
|
|
634
|
+
// gasUSD: '5.806315',
|
|
635
|
+
// },
|
|
636
|
+
// },
|
|
637
|
+
// ],
|
|
638
|
+
// },
|
|
639
|
+
// ],
|
|
640
|
+
// },
|
|
641
|
+
// ],
|
|
642
|
+
// gasCostUSD: '15.081322',
|
|
643
|
+
// gasCost: '259740',
|
|
644
|
+
// others: [],
|
|
645
|
+
// side: 'SELL',
|
|
646
|
+
// version: '6.2',
|
|
647
|
+
// contractAddress: '0x6a000f20005980200259b80c5102003040001068',
|
|
648
|
+
// tokenTransferProxy: '0x6a000f20005980200259b80c5102003040001068',
|
|
649
|
+
// contractMethod: 'swapExactAmountIn',
|
|
650
|
+
// partnerFee: 0,
|
|
651
|
+
// srcUSD: '22.6976886913',
|
|
652
|
+
// destUSD: '22.5707184416',
|
|
653
|
+
// partner: 'paraswap.io-staging',
|
|
654
|
+
// maxImpactReached: false,
|
|
655
|
+
// hmac: 'e46183c5d45132b9275006da4b94b902c2988c51',
|
|
656
|
+
// } as OptimalRate;
|
|
657
|
+
|
|
658
|
+
// USDC -> ETH -> DAI
|
|
659
|
+
// const priceRoute = {
|
|
660
|
+
// blockNumber: 20834863,
|
|
661
|
+
// network: 1,
|
|
662
|
+
// srcToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
663
|
+
// srcDecimals: 6,
|
|
664
|
+
// srcAmount: '22943400',
|
|
665
|
+
// destToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
666
|
+
// destDecimals: 18,
|
|
667
|
+
// destAmount: '22799985410708408682',
|
|
668
|
+
// bestRoute: [
|
|
669
|
+
// {
|
|
670
|
+
// percent: 100,
|
|
671
|
+
// swaps: [
|
|
672
|
+
// {
|
|
673
|
+
// srcToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
674
|
+
// srcDecimals: 6,
|
|
675
|
+
// destToken: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
676
|
+
// destDecimals: 18,
|
|
677
|
+
// swapExchanges: [
|
|
678
|
+
// {
|
|
679
|
+
// exchange: 'Hashflow',
|
|
680
|
+
// srcAmount: '22943400',
|
|
681
|
+
// destAmount: '8664664054891136',
|
|
682
|
+
// percent: 100,
|
|
683
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
684
|
+
// data: {
|
|
685
|
+
// mm: 'mm30_302',
|
|
686
|
+
// tokenIn: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
687
|
+
// tokenOut: '0x0000000000000000000000000000000000000000',
|
|
688
|
+
// gasUSD: '5.392335',
|
|
689
|
+
// },
|
|
690
|
+
// },
|
|
691
|
+
// ],
|
|
692
|
+
// },
|
|
693
|
+
// {
|
|
694
|
+
// srcToken: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
695
|
+
// srcDecimals: 18,
|
|
696
|
+
// destToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
697
|
+
// destDecimals: 18,
|
|
698
|
+
// swapExchanges: [
|
|
699
|
+
// {
|
|
700
|
+
// exchange: 'Hashflow',
|
|
701
|
+
// srcAmount: '8664664054891136',
|
|
702
|
+
// destAmount: '22799985410708408682',
|
|
703
|
+
// percent: 100,
|
|
704
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
705
|
+
// data: {
|
|
706
|
+
// mm: 'mm18_1',
|
|
707
|
+
// tokenIn: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
708
|
+
// tokenOut: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
709
|
+
// gasUSD: '5.392335',
|
|
710
|
+
// },
|
|
711
|
+
// },
|
|
712
|
+
// ],
|
|
713
|
+
// },
|
|
714
|
+
// ],
|
|
715
|
+
// },
|
|
716
|
+
// ],
|
|
717
|
+
// gasCostUSD: '14.006051',
|
|
718
|
+
// gasCost: '259740',
|
|
719
|
+
// others: [],
|
|
720
|
+
// side: 'SELL',
|
|
721
|
+
// version: '6.2',
|
|
722
|
+
// contractAddress: '0x6a000f20005980200259b80c5102003040001068',
|
|
723
|
+
// tokenTransferProxy: '0x6a000f20005980200259b80c5102003040001068',
|
|
724
|
+
// contractMethod: 'swapExactAmountIn',
|
|
725
|
+
// partnerFee: 0,
|
|
726
|
+
// srcUSD: '22.9361728290',
|
|
727
|
+
// destUSD: '22.7956249135',
|
|
728
|
+
// partner: 'paraswap.io-staging',
|
|
729
|
+
// maxImpactReached: false,
|
|
730
|
+
// hmac: 'ac9b2534b97a299660a18ffbc9e03e38fcfdb13a',
|
|
731
|
+
// } as OptimalRate;
|
|
732
|
+
|
|
733
|
+
// ETH -> USDC -> DAI
|
|
734
|
+
// const priceRoute = {
|
|
735
|
+
// blockNumber: 20834916,
|
|
736
|
+
// network: 1,
|
|
737
|
+
// srcToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
738
|
+
// srcDecimals: 18,
|
|
739
|
+
// srcAmount: '8878957204610561',
|
|
740
|
+
// destToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
741
|
+
// destDecimals: 18,
|
|
742
|
+
// destAmount: '23239932460663978400',
|
|
743
|
+
// bestRoute: [
|
|
744
|
+
// {
|
|
745
|
+
// percent: 100,
|
|
746
|
+
// swaps: [
|
|
747
|
+
// {
|
|
748
|
+
// srcToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
749
|
+
// srcDecimals: 18,
|
|
750
|
+
// destToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
751
|
+
// destDecimals: 6,
|
|
752
|
+
// swapExchanges: [
|
|
753
|
+
// {
|
|
754
|
+
// exchange: 'Hashflow',
|
|
755
|
+
// srcAmount: '8878957204610561',
|
|
756
|
+
// destAmount: '23260163',
|
|
757
|
+
// percent: 100,
|
|
758
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
759
|
+
// data: {
|
|
760
|
+
// mm: 'mm30_302',
|
|
761
|
+
// tokenIn: '0x0000000000000000000000000000000000000000',
|
|
762
|
+
// tokenOut: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
763
|
+
// gasUSD: '5.239797',
|
|
764
|
+
// },
|
|
765
|
+
// },
|
|
766
|
+
// ],
|
|
767
|
+
// },
|
|
768
|
+
// {
|
|
769
|
+
// srcToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
770
|
+
// srcDecimals: 6,
|
|
771
|
+
// destToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
772
|
+
// destDecimals: 18,
|
|
773
|
+
// swapExchanges: [
|
|
774
|
+
// {
|
|
775
|
+
// exchange: 'Hashflow',
|
|
776
|
+
// srcAmount: '23260163',
|
|
777
|
+
// destAmount: '23239932460663978400',
|
|
778
|
+
// percent: 100,
|
|
779
|
+
// poolAddresses: ['0x55084eE0fEf03f14a305cd24286359A35D735151'],
|
|
780
|
+
// data: {
|
|
781
|
+
// mm: 'mm21_1',
|
|
782
|
+
// tokenIn: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
783
|
+
// tokenOut: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
784
|
+
// gasUSD: '5.239797',
|
|
785
|
+
// },
|
|
786
|
+
// },
|
|
787
|
+
// ],
|
|
788
|
+
// },
|
|
789
|
+
// ],
|
|
790
|
+
// },
|
|
791
|
+
// ],
|
|
792
|
+
// gasCostUSD: '13.609847',
|
|
793
|
+
// gasCost: '259740',
|
|
794
|
+
// others: [],
|
|
795
|
+
// side: 'SELL',
|
|
796
|
+
// version: '6.2',
|
|
797
|
+
// contractAddress: '0x6a000f20005980200259b80c5102003040001068',
|
|
798
|
+
// tokenTransferProxy: '0x6a000f20005980200259b80c5102003040001068',
|
|
799
|
+
// contractMethod: 'swapExactAmountIn',
|
|
800
|
+
// partnerFee: 0,
|
|
801
|
+
// srcUSD: '23.3602700366',
|
|
802
|
+
// destUSD: '23.2320308836',
|
|
803
|
+
// partner: 'paraswap.io-staging',
|
|
804
|
+
// maxImpactReached: false,
|
|
805
|
+
// hmac: '7afcc0b2ecd48d164bd988ed64f6995a136721a2',
|
|
806
|
+
// } as OptimalRate;
|
|
807
|
+
|
|
502
808
|
console.log('PRICE ROUTE: ', util.inspect(priceRoute, false, null, true));
|
|
503
809
|
expect(parseFloat(priceRoute.destAmount)).toBeGreaterThan(0);
|
|
504
810
|
|