@paraswap/dex-lib 3.11.8-stader.0 → 3.11.8-stader.2
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.
|
@@ -30,7 +30,7 @@ export declare class Stader extends SimpleExchange implements IDexTxBuilder<Stad
|
|
|
30
30
|
getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: StaderData, side: SwapSide): AdapterExchangeParam;
|
|
31
31
|
initializePricing(blockNumber: number): Promise<void>;
|
|
32
32
|
getPricesVolume(srcToken: Token, destToken: Token, amountsIn: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[] | undefined, transferFees?: TransferFeeParams | undefined, isFirstSwap?: boolean | undefined): Promise<ExchangePrices<StaderData> | null>;
|
|
33
|
-
isEligibleSwap(srcToken: Token | string, destToken: Token | string
|
|
33
|
+
isEligibleSwap(srcToken: Token | string, destToken: Token | string): boolean;
|
|
34
34
|
getDexParam(srcToken: Address, _destToken: Address, srcAmount: NumberAsString, _destAmount: NumberAsString, _recipient: Address, _data: StaderData, _side: SwapSide): DexExchangeParam;
|
|
35
35
|
getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
|
|
36
36
|
getCalldataGasCost(poolPrices: PoolPrices<StaderData>): number | number[];
|
|
@@ -71,6 +71,10 @@ class Stader extends simple_exchange_1.SimpleExchange {
|
|
|
71
71
|
await this.ethxPool.initialize(blockNumber);
|
|
72
72
|
}
|
|
73
73
|
async getPricesVolume(srcToken, destToken, amountsIn, side, blockNumber, limitPools, transferFees, isFirstSwap) {
|
|
74
|
+
if (side === core_1.SwapSide.BUY)
|
|
75
|
+
return null;
|
|
76
|
+
if (!this.isEligibleSwap(srcToken, destToken))
|
|
77
|
+
return null;
|
|
74
78
|
const pool = this.ethxPool;
|
|
75
79
|
if (!pool.getState(blockNumber))
|
|
76
80
|
return null;
|
|
@@ -89,15 +93,15 @@ class Stader extends simple_exchange_1.SimpleExchange {
|
|
|
89
93
|
},
|
|
90
94
|
];
|
|
91
95
|
}
|
|
92
|
-
isEligibleSwap(srcToken, destToken
|
|
93
|
-
if (side === core_1.SwapSide.BUY)
|
|
94
|
-
return false;
|
|
96
|
+
isEligibleSwap(srcToken, destToken) {
|
|
95
97
|
const srcTokenAddress = (typeof srcToken === 'string' ? srcToken : srcToken.address).toLowerCase();
|
|
96
98
|
const destTokenAddress = (typeof destToken === 'string' ? destToken : destToken.address).toLowerCase();
|
|
97
99
|
return (((0, utils_2.isETHAddress)(srcTokenAddress) || this.isWETH(srcTokenAddress)) &&
|
|
98
100
|
destTokenAddress === this.ETHxAddress);
|
|
99
101
|
}
|
|
100
102
|
getDexParam(srcToken, _destToken, srcAmount, _destAmount, _recipient, _data, _side) {
|
|
103
|
+
if (_side === core_1.SwapSide.BUY)
|
|
104
|
+
throw new Error(`Buy not supported`);
|
|
101
105
|
const swapData = this.SSPMInterface.encodeFunctionData(types_1.SSPMFunctions.deposit, [_recipient]);
|
|
102
106
|
return {
|
|
103
107
|
needWrapNative: this.needWrapNative,
|
|
@@ -115,7 +119,9 @@ class Stader extends simple_exchange_1.SimpleExchange {
|
|
|
115
119
|
};
|
|
116
120
|
}
|
|
117
121
|
async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
|
|
118
|
-
if (
|
|
122
|
+
if (side === core_1.SwapSide.BUY)
|
|
123
|
+
return [];
|
|
124
|
+
if (!this.isEligibleSwap(srcToken, destToken))
|
|
119
125
|
return [];
|
|
120
126
|
return [`${constants_1.ETHER_ADDRESS}_${destToken.address}`.toLowerCase()];
|
|
121
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stader.js","sourceRoot":"","sources":["../../../src/dex/stader/stader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6D;AAC7D,yCAA0D;
|
|
1
|
+
{"version":3,"file":"stader.js","sourceRoot":"","sources":["../../../src/dex/stader/stader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/dex/stader/stader.ts
CHANGED
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
Logger,
|
|
9
9
|
PoolLiquidity,
|
|
10
10
|
PoolPrices,
|
|
11
|
-
SimpleExchangeParam,
|
|
12
11
|
Token,
|
|
13
12
|
TransferFeeParams,
|
|
14
13
|
} from '../../types';
|
|
@@ -29,7 +28,6 @@ import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
|
|
|
29
28
|
import _ from 'lodash';
|
|
30
29
|
import { extractReturnAmountPosition } from '../../executor/utils';
|
|
31
30
|
import { getDexKeysWithNetwork, isETHAddress } from '../../utils';
|
|
32
|
-
import { ethers } from 'ethers';
|
|
33
31
|
|
|
34
32
|
export class Stader
|
|
35
33
|
extends SimpleExchange
|
|
@@ -105,6 +103,9 @@ export class Stader
|
|
|
105
103
|
transferFees?: TransferFeeParams | undefined,
|
|
106
104
|
isFirstSwap?: boolean | undefined,
|
|
107
105
|
): Promise<ExchangePrices<StaderData> | null> {
|
|
106
|
+
if (side === SwapSide.BUY) return null;
|
|
107
|
+
if (!this.isEligibleSwap(srcToken, destToken)) return null;
|
|
108
|
+
|
|
108
109
|
const pool = this.ethxPool;
|
|
109
110
|
if (!pool.getState(blockNumber)) return null;
|
|
110
111
|
|
|
@@ -127,13 +128,7 @@ export class Stader
|
|
|
127
128
|
];
|
|
128
129
|
}
|
|
129
130
|
|
|
130
|
-
isEligibleSwap(
|
|
131
|
-
srcToken: Token | string,
|
|
132
|
-
destToken: Token | string,
|
|
133
|
-
side: SwapSide,
|
|
134
|
-
): boolean {
|
|
135
|
-
if (side === SwapSide.BUY) return false;
|
|
136
|
-
|
|
131
|
+
isEligibleSwap(srcToken: Token | string, destToken: Token | string): boolean {
|
|
137
132
|
const srcTokenAddress = (
|
|
138
133
|
typeof srcToken === 'string' ? srcToken : srcToken.address
|
|
139
134
|
).toLowerCase();
|
|
@@ -156,6 +151,8 @@ export class Stader
|
|
|
156
151
|
_data: StaderData,
|
|
157
152
|
_side: SwapSide,
|
|
158
153
|
): DexExchangeParam {
|
|
154
|
+
if (_side === SwapSide.BUY) throw new Error(`Buy not supported`);
|
|
155
|
+
|
|
159
156
|
const swapData = this.SSPMInterface.encodeFunctionData(
|
|
160
157
|
SSPMFunctions.deposit,
|
|
161
158
|
[_recipient],
|
|
@@ -187,7 +184,9 @@ export class Stader
|
|
|
187
184
|
side: SwapSide,
|
|
188
185
|
blockNumber: number,
|
|
189
186
|
): Promise<string[]> {
|
|
190
|
-
if (
|
|
187
|
+
if (side === SwapSide.BUY) return [];
|
|
188
|
+
|
|
189
|
+
if (!this.isEligibleSwap(srcToken, destToken)) return [];
|
|
191
190
|
|
|
192
191
|
return [`${ETHER_ADDRESS}_${destToken.address}`.toLowerCase()];
|
|
193
192
|
}
|