@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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Logger } from 'log4js';
|
|
2
|
+
import { RequestConfig, Response } from '../../dex-helper/irequest-wrapper';
|
|
3
|
+
export declare class SkippingRequest {
|
|
4
|
+
message: string;
|
|
5
|
+
constructor(message?: string);
|
|
6
|
+
}
|
|
7
|
+
export declare type RequestInfo<T> = {
|
|
8
|
+
requestFunc?: (options: RequestConfig) => Promise<Response<T> | SkippingRequest>;
|
|
9
|
+
requestOptions: RequestConfig;
|
|
10
|
+
caster: (data: unknown) => T;
|
|
11
|
+
authenticate?: (options: RequestConfig) => RequestConfig;
|
|
12
|
+
excludedFieldsCaching?: string[];
|
|
13
|
+
};
|
|
14
|
+
export declare type RequestInfoWithHandler<T> = {
|
|
15
|
+
info: RequestInfo<T>;
|
|
16
|
+
handler: (data: T) => void;
|
|
17
|
+
};
|
|
18
|
+
export declare class WebSocketFetcher<T> {
|
|
19
|
+
private logger;
|
|
20
|
+
private requests;
|
|
21
|
+
lastFetchSucceeded: boolean;
|
|
22
|
+
private stop;
|
|
23
|
+
private ws;
|
|
24
|
+
private connection;
|
|
25
|
+
constructor(requestsInfo: RequestInfoWithHandler<T>, logger: Logger);
|
|
26
|
+
private connected;
|
|
27
|
+
private connectFailed;
|
|
28
|
+
private onClose;
|
|
29
|
+
private onError;
|
|
30
|
+
private onMessage;
|
|
31
|
+
private connect;
|
|
32
|
+
startPolling(): void;
|
|
33
|
+
stopPolling(): void;
|
|
34
|
+
isPolling(): boolean;
|
|
35
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebSocketFetcher = exports.SkippingRequest = void 0;
|
|
4
|
+
const websocket_1 = require("websocket");
|
|
5
|
+
class SkippingRequest {
|
|
6
|
+
constructor(message = '') {
|
|
7
|
+
this.message = message;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.SkippingRequest = SkippingRequest;
|
|
11
|
+
class WebSocketFetcher {
|
|
12
|
+
constructor(requestsInfo, logger) {
|
|
13
|
+
this.logger = logger;
|
|
14
|
+
this.lastFetchSucceeded = false;
|
|
15
|
+
this.stop = true;
|
|
16
|
+
this.ws = new websocket_1.client();
|
|
17
|
+
this.connection = null;
|
|
18
|
+
this.requests = requestsInfo;
|
|
19
|
+
this.ws.on('connect', this.connected.bind(this));
|
|
20
|
+
this.ws.on('connectFailed', this.connectFailed.bind(this));
|
|
21
|
+
}
|
|
22
|
+
connected(connection) {
|
|
23
|
+
this.connection = connection;
|
|
24
|
+
this.logger.info(`Connected to ${this.requests.info.requestOptions.url}`);
|
|
25
|
+
this.connection.on('error', this.onError.bind(this));
|
|
26
|
+
this.connection.on('close', this.onClose.bind(this));
|
|
27
|
+
this.connection.on('message', this.onMessage.bind(this));
|
|
28
|
+
}
|
|
29
|
+
connectFailed(error) {
|
|
30
|
+
this.logger.error(`Connect Error: ${error.toString()}`);
|
|
31
|
+
}
|
|
32
|
+
onClose() {
|
|
33
|
+
this.logger.info(`Connection closed`);
|
|
34
|
+
}
|
|
35
|
+
onError(error) {
|
|
36
|
+
this.logger.error(`Connection Error: ${error.toString()}`);
|
|
37
|
+
}
|
|
38
|
+
onMessage(message) {
|
|
39
|
+
if (message.type === 'utf8') {
|
|
40
|
+
const response = JSON.parse(message.utf8Data);
|
|
41
|
+
const reqInfo = this.requests;
|
|
42
|
+
const info = reqInfo.info;
|
|
43
|
+
const options = reqInfo.info.requestOptions;
|
|
44
|
+
this.logger.debug(`(${options.url}) received new data`);
|
|
45
|
+
try {
|
|
46
|
+
const parsedData = info.caster(response);
|
|
47
|
+
reqInfo.handler(parsedData);
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
this.logger.info(e);
|
|
51
|
+
this.logger.info(`(${options.url}) received incorrect data ${JSON.stringify(response).replace(/(?:\r\n|\r|\n)/g, ' ')}`, e);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
connect() {
|
|
57
|
+
const authorization = this.requests.info.requestOptions.headers.authorization;
|
|
58
|
+
const name = this.requests.info.requestOptions.headers.name;
|
|
59
|
+
if (typeof authorization !== 'string') {
|
|
60
|
+
throw new Error('Authorization header is not a string');
|
|
61
|
+
}
|
|
62
|
+
if (typeof name !== 'string') {
|
|
63
|
+
throw new Error('Name header is not a string');
|
|
64
|
+
}
|
|
65
|
+
this.ws.connect(this.requests.info.requestOptions.url, undefined, undefined, {
|
|
66
|
+
Authorization: authorization,
|
|
67
|
+
name: name,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
startPolling() {
|
|
71
|
+
this.stop = false;
|
|
72
|
+
this.connect();
|
|
73
|
+
this.logger.info(`Connection started for ${this.requests.info.requestOptions.url}`);
|
|
74
|
+
}
|
|
75
|
+
stopPolling() {
|
|
76
|
+
if (this.connection) {
|
|
77
|
+
this.connection.close();
|
|
78
|
+
}
|
|
79
|
+
this.stop = true;
|
|
80
|
+
this.logger.info(`Connection stopped for ${this.requests.info.requestOptions.url}`);
|
|
81
|
+
}
|
|
82
|
+
isPolling() {
|
|
83
|
+
return !this.stop;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.WebSocketFetcher = WebSocketFetcher;
|
|
87
|
+
//# sourceMappingURL=wsFetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsFetcher.js","sourceRoot":"","sources":["../../../src/lib/fetcher/wsFetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,9 +54,11 @@ class SimpleRouterBase {
|
|
|
54
54
|
const rawSimpleParams = await Promise.all(priceRoute.bestRoute[0].swaps.flatMap((swap, swapIndex) => swap.swapExchanges.map(async (se) => {
|
|
55
55
|
const dex = this.dexAdapterService.getTxBuilderDexByKey(se.exchange);
|
|
56
56
|
let _src = swap.srcToken;
|
|
57
|
-
let
|
|
57
|
+
let wethDepositForNeedWrapNative = 0n;
|
|
58
|
+
let wethDepositForNeedUnwrapWeth = 0n;
|
|
58
59
|
let _dest = swap.destToken;
|
|
59
|
-
let
|
|
60
|
+
let wethWithdrawForNeedWrapNative = 0n;
|
|
61
|
+
let wethWithdrawForNeedUnwrapWeth = 0n;
|
|
60
62
|
// For case of buy apply slippage is applied to srcAmount in equal proportion as the complete swap
|
|
61
63
|
// This assumes that the sum of all swaps srcAmount would sum to priceRoute.srcAmount
|
|
62
64
|
// Also that it is a direct swap.
|
|
@@ -68,32 +70,53 @@ class SimpleRouterBase {
|
|
|
68
70
|
// even if the individual dex is rekt by slippage the swap
|
|
69
71
|
// should work if the final slippage check passes.
|
|
70
72
|
const _destAmount = this.side === constants_1.SwapSide.SELL ? '1' : se.destAmount;
|
|
71
|
-
|
|
73
|
+
const dexNeedWrapNative = typeof dex.needWrapNative === 'function'
|
|
74
|
+
? dex.needWrapNative(priceRoute, swap, se)
|
|
75
|
+
: dex.needWrapNative;
|
|
76
|
+
const dexNeedUnwrapWeth = typeof dex.needUnwrapWeth === 'function'
|
|
77
|
+
? dex.needUnwrapWeth(priceRoute, swap, se)
|
|
78
|
+
: dex.needUnwrapWeth;
|
|
79
|
+
if (dexNeedWrapNative) {
|
|
72
80
|
if ((0, utils_1.isETHAddress)(swap.srcToken)) {
|
|
73
81
|
if (swapIndex !== 0) {
|
|
74
82
|
throw new Error('Wrap native srcToken not in swapIndex 0');
|
|
75
83
|
}
|
|
76
84
|
_src = wethAddress;
|
|
77
|
-
|
|
85
|
+
wethDepositForNeedWrapNative = BigInt(_srcAmount);
|
|
78
86
|
}
|
|
79
87
|
if ((0, utils_1.isETHAddress)(swap.destToken)) {
|
|
80
88
|
if (swapIndex !== priceRoute.bestRoute[0].swaps.length - 1) {
|
|
81
89
|
throw new Error('Wrap native destToken not in swapIndex last');
|
|
82
90
|
}
|
|
83
91
|
_dest = wethAddress;
|
|
84
|
-
|
|
92
|
+
wethWithdrawForNeedWrapNative = BigInt(_destAmount);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (dexNeedUnwrapWeth) {
|
|
96
|
+
const wethAddr = this.dexAdapterService.dexHelper.config.data.wrappedNativeTokenAddress.toLowerCase();
|
|
97
|
+
if (swap.srcToken.toLowerCase() === wethAddr) {
|
|
98
|
+
_src = constants_1.ETHER_ADDRESS;
|
|
99
|
+
wethWithdrawForNeedUnwrapWeth = BigInt(_srcAmount);
|
|
100
|
+
}
|
|
101
|
+
if (swap.destToken.toLowerCase() === wethAddr) {
|
|
102
|
+
_dest = constants_1.ETHER_ADDRESS;
|
|
103
|
+
wethDepositForNeedUnwrapWeth = BigInt(se.destAmount); // cant use _destAmount here because _destAmount could be 1
|
|
85
104
|
}
|
|
86
105
|
}
|
|
87
106
|
const simpleParams = await dex.getSimpleParam?.(_src, _dest, _srcAmount, _destAmount, se.data, this.side);
|
|
88
107
|
return {
|
|
89
108
|
simpleParams,
|
|
90
|
-
|
|
91
|
-
|
|
109
|
+
wethDepositForNeedWrapNative,
|
|
110
|
+
wethWithdrawForNeedWrapNative,
|
|
111
|
+
wethWithdrawForNeedUnwrapWeth,
|
|
112
|
+
wethDepositForNeedUnwrapWeth,
|
|
92
113
|
};
|
|
93
114
|
})));
|
|
94
|
-
const { simpleExchangeDataList,
|
|
95
|
-
acc.
|
|
96
|
-
acc.
|
|
115
|
+
const { simpleExchangeDataList, srcAmountWethToDepositForNeedWrapNative, destAmountWethToWithdrawForNeedWrapNative, srcAmountWethToWithdrawForNeedUnwrapWeth, destAmountWethToDepositForNeeUnwrapWeth, } = rawSimpleParams.reduce((acc, se) => {
|
|
116
|
+
acc.srcAmountWethToDepositForNeedWrapNative += BigInt(se.wethDepositForNeedWrapNative);
|
|
117
|
+
acc.srcAmountWethToWithdrawForNeedUnwrapWeth += BigInt(se.wethWithdrawForNeedUnwrapWeth);
|
|
118
|
+
acc.destAmountWethToWithdrawForNeedWrapNative += BigInt(se.wethWithdrawForNeedWrapNative);
|
|
119
|
+
acc.destAmountWethToDepositForNeeUnwrapWeth += BigInt(se.wethDepositForNeedUnwrapWeth);
|
|
97
120
|
// V6 doesn't have simpleParams
|
|
98
121
|
if (se.simpleParams) {
|
|
99
122
|
acc.simpleExchangeDataList.push(se.simpleParams);
|
|
@@ -101,8 +124,10 @@ class SimpleRouterBase {
|
|
|
101
124
|
return acc;
|
|
102
125
|
}, {
|
|
103
126
|
simpleExchangeDataList: [],
|
|
104
|
-
|
|
105
|
-
|
|
127
|
+
srcAmountWethToDepositForNeedWrapNative: 0n,
|
|
128
|
+
srcAmountWethToWithdrawForNeedUnwrapWeth: 0n,
|
|
129
|
+
destAmountWethToWithdrawForNeedWrapNative: 0n,
|
|
130
|
+
destAmountWethToDepositForNeeUnwrapWeth: 0n,
|
|
106
131
|
});
|
|
107
132
|
const simpleExchangeDataFlat = simpleExchangeDataList.reduce((acc, se) => ({
|
|
108
133
|
callees: acc.callees.concat(se.callees),
|
|
@@ -110,7 +135,8 @@ class SimpleRouterBase {
|
|
|
110
135
|
values: acc.values.concat(se.values),
|
|
111
136
|
networkFee: (BigInt(acc.networkFee) + BigInt(se.networkFee)).toString(),
|
|
112
137
|
}), { callees: [], values: [], calldata: [], networkFee: '0' });
|
|
113
|
-
const maybeWethCallData = this.getDepositWithdrawWethCallData(
|
|
138
|
+
const maybeWethCallData = this.getDepositWithdrawWethCallData(srcAmountWethToDepositForNeedWrapNative, destAmountWethToWithdrawForNeedWrapNative);
|
|
139
|
+
const maybeWethCallDataForNeedUnwrapWeth = this.getDepositWithdrawWethCallData(destAmountWethToDepositForNeeUnwrapWeth, srcAmountWethToWithdrawForNeedUnwrapWeth);
|
|
114
140
|
if (maybeWethCallData) {
|
|
115
141
|
if (maybeWethCallData.deposit) {
|
|
116
142
|
simpleExchangeDataFlat.callees.unshift(maybeWethCallData.deposit.callee);
|
|
@@ -123,6 +149,18 @@ class SimpleRouterBase {
|
|
|
123
149
|
simpleExchangeDataFlat.calldata.push(maybeWethCallData.withdraw.calldata);
|
|
124
150
|
}
|
|
125
151
|
}
|
|
152
|
+
if (maybeWethCallDataForNeedUnwrapWeth) {
|
|
153
|
+
if (maybeWethCallDataForNeedUnwrapWeth.withdraw) {
|
|
154
|
+
simpleExchangeDataFlat.callees.unshift(maybeWethCallDataForNeedUnwrapWeth.withdraw.callee);
|
|
155
|
+
simpleExchangeDataFlat.values.unshift(maybeWethCallDataForNeedUnwrapWeth.withdraw.value);
|
|
156
|
+
simpleExchangeDataFlat.calldata.unshift(maybeWethCallDataForNeedUnwrapWeth.withdraw.calldata);
|
|
157
|
+
}
|
|
158
|
+
if (maybeWethCallDataForNeedUnwrapWeth.deposit) {
|
|
159
|
+
simpleExchangeDataFlat.callees.push(maybeWethCallDataForNeedUnwrapWeth.deposit.callee);
|
|
160
|
+
simpleExchangeDataFlat.values.push(maybeWethCallDataForNeedUnwrapWeth.deposit.value);
|
|
161
|
+
simpleExchangeDataFlat.calldata.push(maybeWethCallDataForNeedUnwrapWeth.deposit.calldata);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
126
164
|
return {
|
|
127
165
|
partialContractSimpleData: this.buildPartialContractSimpleData(simpleExchangeDataFlat),
|
|
128
166
|
networkFee: simpleExchangeDataFlat.networkFee,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleswap.js","sourceRoot":"","sources":["../../src/router/simpleswap.ts"],"names":[],"mappings":";;;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"simpleswap.js","sourceRoot":"","sources":["../../src/router/simpleswap.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -134,6 +134,7 @@ export declare type AdapterExchangeParam = {
|
|
|
134
134
|
};
|
|
135
135
|
export declare type DexExchangeParam = {
|
|
136
136
|
needWrapNative: boolean;
|
|
137
|
+
needUnwrapWeth?: boolean;
|
|
137
138
|
skipApproval?: boolean;
|
|
138
139
|
wethAddress?: string;
|
|
139
140
|
exchangeData: string;
|
|
@@ -263,6 +264,7 @@ export declare type Config = {
|
|
|
263
264
|
uniswapV3EventLoggingSampleRate?: number;
|
|
264
265
|
swaapV2AuthToken?: string;
|
|
265
266
|
dexalotAuthToken?: string;
|
|
267
|
+
bebopAuthToken?: string;
|
|
266
268
|
idleDaoAuthToken?: string;
|
|
267
269
|
forceRpcFallbackDexs: string[];
|
|
268
270
|
apiKeyTheGraph: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paraswap/dex-lib",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.39-1701-1507-1721",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"repository": "https://github.com/paraswap/paraswap-dex-lib",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"@types/lodash": "4.14.178",
|
|
20
20
|
"@types/node": "^17.0.21",
|
|
21
21
|
"@types/uuid": "^9.0.1",
|
|
22
|
+
"@types/websocket": "^1.0.10",
|
|
22
23
|
"@typescript-eslint/eslint-plugin": "^5.47.0",
|
|
23
24
|
"@typescript-eslint/parser": "^5.47.0",
|
|
24
25
|
"change-case": "^4.1.2",
|
|
@@ -75,7 +76,8 @@
|
|
|
75
76
|
"web3-eth": "1.6.0",
|
|
76
77
|
"web3-eth-abi": "1.4.0",
|
|
77
78
|
"web3-eth-contract": "1.6.0",
|
|
78
|
-
"web3-utils": "1.6.0"
|
|
79
|
+
"web3-utils": "1.6.0",
|
|
80
|
+
"websocket": "^1.0.35"
|
|
79
81
|
},
|
|
80
82
|
"sideEffects": false
|
|
81
83
|
}
|