@paraswap/dex-lib 2.42.30 → 2.42.32
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/smardex/smardex-factory.json +185 -0
- package/build/abi/smardex/smardex-pool.json +578 -0
- package/build/abi/smardex/smardex-router.json +648 -0
- package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -0
- package/build/abi/trader-joe-v2_1/PairABI.json +1493 -0
- package/build/abi/trader-joe-v2_1/RouterABI.json +1489 -0
- package/build/abi/wombat/pool-v2.json +1289 -0
- package/build/abi/wombat/pool-v3.json +2013 -0
- package/build/dex/index.js +2 -2
- package/build/dex/index.js.map +1 -1
- package/build/dex/smardex/subgraph-queries.d.ts +1 -0
- package/build/dex/smardex/subgraph-queries.js +17 -0
- package/build/dex/smardex/subgraph-queries.js.map +1 -0
- package/build/dex/smardex/usd-reserves.d.ts +23 -0
- package/build/dex/smardex/usd-reserves.js +86 -0
- package/build/dex/smardex/usd-reserves.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/config.d.ts +4 -0
- package/build/dex/trader-joe-v2-1-2/config.js +43 -0
- package/build/dex/trader-joe-v2-1-2/config.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/constants.d.ts +17 -0
- package/build/dex/trader-joe-v2-1-2/constants.js +19 -0
- package/build/dex/trader-joe-v2-1-2/constants.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +60 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +199 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +49 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +269 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/types.d.ts +81 -0
- package/build/dex/trader-joe-v2-1-2/types.js +9 -0
- package/build/dex/trader-joe-v2-1-2/types.js.map +1 -0
- package/build/dex/trader-joe-v2_1/config.d.ts +4 -0
- package/build/dex/trader-joe-v2_1/config.js +43 -0
- package/build/dex/trader-joe-v2_1/config.js.map +1 -0
- package/build/dex/trader-joe-v2_1/constants.d.ts +16 -0
- package/build/dex/trader-joe-v2_1/constants.js +18 -0
- package/build/dex/trader-joe-v2_1/constants.js.map +1 -0
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +384 -0
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +1 -0
- package/build/dex/trader-joe-v2_1/types.d.ts +39 -0
- package/build/dex/trader-joe-v2_1/types.js +3 -0
- package/build/dex/trader-joe-v2_1/types.js.map +1 -0
- package/build/dex/wombat/utils.d.ts +1 -0
- package/build/dex/wombat/utils.js +14 -1
- package/build/dex/wombat/utils.js.map +1 -1
- package/build/dex/wombat/wombat-bmw.d.ts +2 -2
- package/build/dex/wombat/wombat-bmw.js +8 -25
- package/build/dex/wombat/wombat-bmw.js.map +1 -1
- package/build/dex/wombat/wombat-pool-poller.d.ts +22 -0
- package/build/dex/wombat/wombat-pool-poller.js +164 -0
- package/build/dex/wombat/wombat-pool-poller.js.map +1 -0
- package/build/dex/wombat/wombat-pool.d.ts +51 -17
- package/build/dex/wombat/wombat-pool.js +398 -112
- package/build/dex/wombat/wombat-pool.js.map +1 -1
- package/build/dex/wombat/wombat.d.ts +1 -1
- package/build/dex/wombat/wombat.js +12 -19
- package/build/dex/wombat/wombat.js.map +1 -1
- package/package.json +1 -1
- package/src/abi/wombat/pool-v3.json +2013 -0
- package/src/dex/camelot/camelot-pool-discovery.test.ts +149 -0
- package/src/dex/index.ts +2 -2
- package/src/dex/wombat/utils.ts +20 -0
- package/src/dex/wombat/wombat-bmw.ts +8 -31
- package/src/dex/wombat/wombat-e2e.test.ts +13 -1
- package/src/dex/wombat/wombat-events.test.ts +147 -0
- package/src/dex/wombat/wombat-integration.test.ts +70 -111
- package/src/dex/wombat/wombat-pool.ts +623 -171
- package/src/dex/wombat/wombat.ts +13 -26
- package/tests/constants-e2e.ts +11 -1
- package/build/abi/algebra/AlgebraPool.abi.json +0 -727
- package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
- package/build/dex/algebra/algebra-pool.d.ts +0 -46
- package/build/dex/algebra/algebra-pool.js +0 -336
- package/build/dex/algebra/algebra-pool.js.map +0 -1
- package/build/dex/quickswap/camelot-v3.d.ts +0 -6
- package/build/dex/quickswap/camelot-v3.js +0 -19
- package/build/dex/quickswap/camelot-v3.js.map +0 -1
- package/build/dex/quickswap/zyberswap-v3.d.ts +0 -6
- package/build/dex/quickswap/zyberswap-v3.js +0 -19
- package/build/dex/quickswap/zyberswap-v3.js.map +0 -1
- package/build/dex/uniswap-v2/rebase-tokens.json +0 -7
- /package/src/abi/wombat/{pool.json → pool-v2.json} +0 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.TraderJoeV2_1 = void 0;
|
|
30
|
+
const constants_1 = require("../../constants");
|
|
31
|
+
const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
|
|
32
|
+
const utils_1 = require("../../utils");
|
|
33
|
+
const types_1 = require("./types");
|
|
34
|
+
const simple_exchange_1 = require("../simple-exchange");
|
|
35
|
+
const config_1 = require("./config");
|
|
36
|
+
const abi_1 = require("@ethersproject/abi");
|
|
37
|
+
const RouterABI_json_1 = __importDefault(require("../../abi/trader-joe-v2_1/RouterABI.json"));
|
|
38
|
+
// import TraderJoeV21RouterABI from '../../abi/TraderJoeV21Router.json';
|
|
39
|
+
const FactoryABI_json_1 = __importDefault(require("../../abi/trader-joe-v2_1/FactoryABI.json"));
|
|
40
|
+
const UniswapMulti_abi_json_1 = __importDefault(require("../../abi/uniswap-v3/UniswapMulti.abi.json"));
|
|
41
|
+
const constants_2 = require("./constants");
|
|
42
|
+
const config_2 = require("../uniswap-v3/config");
|
|
43
|
+
class TraderJoeV2_1 extends simple_exchange_1.SimpleExchange {
|
|
44
|
+
constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}) {
|
|
45
|
+
super(dexHelper, dexKey);
|
|
46
|
+
this.network = network;
|
|
47
|
+
this.dexKey = dexKey;
|
|
48
|
+
this.dexHelper = dexHelper;
|
|
49
|
+
this.adapters = adapters;
|
|
50
|
+
// protected eventPools: TraderJoeV2_1EventPool;
|
|
51
|
+
this.hasConstantPriceLargeAmounts = false;
|
|
52
|
+
// TODO: set true here if protocols works only with wrapped asset
|
|
53
|
+
this.needWrapNative = true;
|
|
54
|
+
this.isFeeOnTransferSupported = false;
|
|
55
|
+
this.eventPools = {};
|
|
56
|
+
this.logger = dexHelper.getLogger(dexKey);
|
|
57
|
+
const config = config_1.TraderJoeV2_1Config[dexKey];
|
|
58
|
+
// this.eventPools = new TraderJoeV2_1EventPool(
|
|
59
|
+
// dexKey,
|
|
60
|
+
// network,
|
|
61
|
+
// dexHelper,
|
|
62
|
+
// this.logger,
|
|
63
|
+
// );
|
|
64
|
+
this.routerAddress = config[network].routerAddress;
|
|
65
|
+
// this.factoryAddress = config[network].factoryAddress;
|
|
66
|
+
this.factory = new this.dexHelper.web3Provider.eth.Contract(FactoryABI_json_1.default, config[network].factoryAddress);
|
|
67
|
+
this.uniswapMulti = new this.dexHelper.web3Provider.eth.Contract(UniswapMulti_abi_json_1.default, config_2.UniswapV3Config['UniswapV3'][network].uniswapMulticall);
|
|
68
|
+
this.pair = new this.dexHelper.web3Provider.eth.Contract(constants_2.MinLBPairAbi);
|
|
69
|
+
this.exchangeRouterInterface = new abi_1.Interface(RouterABI_json_1.default);
|
|
70
|
+
}
|
|
71
|
+
// Initialize pricing is called once in the start of
|
|
72
|
+
// pricing service. It is intended to setup the integration
|
|
73
|
+
// for pricing requests. It is optional for a DEX to
|
|
74
|
+
// implement this function
|
|
75
|
+
async initializePricing(blockNumber) {
|
|
76
|
+
// TODO: complete me!
|
|
77
|
+
}
|
|
78
|
+
// Returns the list of contract adapters (name and index)
|
|
79
|
+
// for a buy/sell. Return null if there are no adapters.
|
|
80
|
+
getAdapters(side) {
|
|
81
|
+
return this.adapters[side] ? this.adapters[side] : null;
|
|
82
|
+
}
|
|
83
|
+
// TODO: Get it from the factory
|
|
84
|
+
get supportedBinSteps() {
|
|
85
|
+
return constants_2.SUPPORTED_BIN_STEPS;
|
|
86
|
+
}
|
|
87
|
+
// Returns list of pool identifiers that can be used
|
|
88
|
+
// for a given swap. poolIdentifiers must be unique
|
|
89
|
+
// across DEXes. It is recommended to use
|
|
90
|
+
// ${dexKey}_${poolAddress} as a poolIdentifier
|
|
91
|
+
async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
|
|
92
|
+
const _srcToken = this.dexHelper.config.wrapETH(srcToken);
|
|
93
|
+
const _destToken = this.dexHelper.config.wrapETH(destToken);
|
|
94
|
+
const [_srcAddress, _destAddress] = this._getLoweredAddresses(_srcToken, _destToken);
|
|
95
|
+
if (_srcAddress === _destAddress)
|
|
96
|
+
return [];
|
|
97
|
+
const pools = (await Promise.all(this.supportedBinSteps.map(async (binStep) => this.getPool(_srcAddress, _destAddress, binStep, blockNumber)))).filter(pool => pool);
|
|
98
|
+
if (pools.length === 0)
|
|
99
|
+
return [];
|
|
100
|
+
return pools.map(pool => this.getPoolIdentifier(_srcAddress, _destAddress, pool.binStep));
|
|
101
|
+
}
|
|
102
|
+
// Returns pool prices for amounts.
|
|
103
|
+
// If limitPools is defined only pools in limitPools
|
|
104
|
+
// should be used. If limitPools is undefined then
|
|
105
|
+
// any pools can be used.
|
|
106
|
+
async getPricesVolume(from, to, amounts, side, blockNumber, limitPools) {
|
|
107
|
+
try {
|
|
108
|
+
const _srcToken = this.dexHelper.config.wrapETH(from);
|
|
109
|
+
const _destToken = this.dexHelper.config.wrapETH(to);
|
|
110
|
+
const [_srcAddress, _destAddress] = this._getLoweredAddresses(_srcToken, _destToken);
|
|
111
|
+
if (_srcAddress === _destAddress)
|
|
112
|
+
return null;
|
|
113
|
+
let selectedPools = [];
|
|
114
|
+
if (!limitPools) {
|
|
115
|
+
selectedPools = (await Promise.all(this.supportedBinSteps.map(async (fee) => {
|
|
116
|
+
const locallyFoundPool = this.eventPools[this.getPoolIdentifier(_srcAddress, _destAddress, fee)];
|
|
117
|
+
if (locallyFoundPool)
|
|
118
|
+
return locallyFoundPool;
|
|
119
|
+
const newlyFetchedPool = await this.getPool(_srcAddress, _destAddress, fee, blockNumber);
|
|
120
|
+
return newlyFetchedPool;
|
|
121
|
+
}))).filter(utils_1.isTruthy);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
const pairIdentifierWithoutFee = this.getPoolIdentifier(_srcAddress, _destAddress, 0n).slice(0, -1);
|
|
125
|
+
const poolIdentifiers = limitPools.filter(identifier => identifier.startsWith(pairIdentifierWithoutFee));
|
|
126
|
+
selectedPools = (await Promise.all(poolIdentifiers.map(async (identifier) => {
|
|
127
|
+
let locallyFoundPool = this.eventPools[identifier];
|
|
128
|
+
if (locallyFoundPool)
|
|
129
|
+
return locallyFoundPool;
|
|
130
|
+
const [, srcAddress, destAddress, fee] = identifier.split('_');
|
|
131
|
+
const newlyFetchedPool = await this.getPool(srcAddress, destAddress, BigInt(fee), blockNumber);
|
|
132
|
+
return newlyFetchedPool;
|
|
133
|
+
}))).filter(utils_1.isTruthy);
|
|
134
|
+
}
|
|
135
|
+
if (selectedPools.length === 0)
|
|
136
|
+
return null;
|
|
137
|
+
// TODO: Handle pools
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
this.logger.error(`Error_getPricesVolume ${from.symbol || from.address}, ${to.symbol || to.address}, ${side}:`, error);
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
getPoolIdentifier(srcAddress, destAddress, binStep) {
|
|
146
|
+
const tokenAddresses = this._sortTokens(srcAddress, destAddress).join('_');
|
|
147
|
+
return `${this.dexKey}_${tokenAddresses}_${binStep}`;
|
|
148
|
+
}
|
|
149
|
+
getPool(srcAddress, destAddress, binStep, blockNumber) {
|
|
150
|
+
const poolIdentifier = this.getPoolIdentifier(srcAddress, destAddress, binStep);
|
|
151
|
+
let pool = this.eventPools[poolIdentifier];
|
|
152
|
+
if (pool)
|
|
153
|
+
return pool;
|
|
154
|
+
// if (pool === null) {
|
|
155
|
+
// const poolInfo = this.factory.methods
|
|
156
|
+
// .getLBPairInformation(srcAddress, destAddress, binStep)
|
|
157
|
+
// .call();
|
|
158
|
+
// // TODO: Handle non existent pool, possibly add to non-existent set
|
|
159
|
+
// if (!poolInfo) return null;
|
|
160
|
+
// // get address
|
|
161
|
+
// const pool = new TraderJoeV2_1EventPool(
|
|
162
|
+
// this.dexKey,
|
|
163
|
+
// this.network,
|
|
164
|
+
// this.dexHelper,
|
|
165
|
+
// srcAddress,
|
|
166
|
+
// destAddress,
|
|
167
|
+
// poolInfo.address,
|
|
168
|
+
// poolInfo.multiStateAddress,
|
|
169
|
+
// binStep,
|
|
170
|
+
// this.logger,
|
|
171
|
+
// );
|
|
172
|
+
// this.eventPools[poolIdentifier] = pool;
|
|
173
|
+
// return pool;
|
|
174
|
+
// }
|
|
175
|
+
// return pool;
|
|
176
|
+
}
|
|
177
|
+
_sortTokens(srcAddress, destAddress) {
|
|
178
|
+
return [srcAddress, destAddress].sort((a, b) => (a < b ? -1 : 1));
|
|
179
|
+
}
|
|
180
|
+
_getLoweredAddresses(srcToken, destToken) {
|
|
181
|
+
return [srcToken.address.toLowerCase(), destToken.address.toLowerCase()];
|
|
182
|
+
}
|
|
183
|
+
// Returns estimated gas cost of calldata for this DEX in multiSwap
|
|
184
|
+
getCalldataGasCost(poolPrices) {
|
|
185
|
+
return (CALLDATA_GAS_COST.DEX_OVERHEAD +
|
|
186
|
+
CALLDATA_GAS_COST.LENGTH_SMALL +
|
|
187
|
+
// ParentStruct header
|
|
188
|
+
CALLDATA_GAS_COST.OFFSET_SMALL +
|
|
189
|
+
// ParentStruct -> path header
|
|
190
|
+
CALLDATA_GAS_COST.OFFSET_SMALL +
|
|
191
|
+
// ParentStruct -> deadline
|
|
192
|
+
CALLDATA_GAS_COST.TIMESTAMP +
|
|
193
|
+
// ParentStruct -> path (20+3+20 = 43 = 32+11 bytes)
|
|
194
|
+
CALLDATA_GAS_COST.LENGTH_SMALL +
|
|
195
|
+
CALLDATA_GAS_COST.FULL_WORD +
|
|
196
|
+
CALLDATA_GAS_COST.wordNonZeroBytes(11));
|
|
197
|
+
}
|
|
198
|
+
// Encode params required by the exchange adapter
|
|
199
|
+
// Used for multiSwap, buy & megaSwap
|
|
200
|
+
// Hint: abiCoder.encodeParameter() could be useful
|
|
201
|
+
getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
202
|
+
let payload = this.abiCoder.encodeParameters(['tuple(tuple(uint256[],uint8[],address[]),uint256)'], [
|
|
203
|
+
[
|
|
204
|
+
[
|
|
205
|
+
[
|
|
206
|
+
data.binStep, // _pairBinSteps: uint256[]
|
|
207
|
+
],
|
|
208
|
+
[
|
|
209
|
+
2, // _versions: uint8[]
|
|
210
|
+
],
|
|
211
|
+
[
|
|
212
|
+
data.tokenIn,
|
|
213
|
+
data.tokenOut, // _tokenPath: address[]
|
|
214
|
+
],
|
|
215
|
+
],
|
|
216
|
+
(0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(), // _deadline: uint256
|
|
217
|
+
],
|
|
218
|
+
]);
|
|
219
|
+
return {
|
|
220
|
+
targetExchange: this.routerAddress,
|
|
221
|
+
payload,
|
|
222
|
+
networkFee: '0',
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
226
|
+
const swapFunction = side === constants_1.SwapSide.SELL
|
|
227
|
+
? types_1.TraderJoeV2RouterFunctions.swapExactTokensForTokens
|
|
228
|
+
: types_1.TraderJoeV2RouterFunctions.swapTokensForExactTokens;
|
|
229
|
+
const swapFunctionParams = side === constants_1.SwapSide.SELL
|
|
230
|
+
? [
|
|
231
|
+
srcAmount,
|
|
232
|
+
destAmount,
|
|
233
|
+
[[data.binStep], ['2'], [srcToken, destToken]],
|
|
234
|
+
this.augustusAddress,
|
|
235
|
+
(0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
|
|
236
|
+
]
|
|
237
|
+
: [
|
|
238
|
+
destAmount,
|
|
239
|
+
srcAmount,
|
|
240
|
+
[[data.binStep], ['2'], [srcToken, destToken]],
|
|
241
|
+
this.augustusAddress,
|
|
242
|
+
(0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
|
|
243
|
+
];
|
|
244
|
+
const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
|
|
245
|
+
return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, this.routerAddress);
|
|
246
|
+
}
|
|
247
|
+
// This is called once before getTopPoolsForToken is
|
|
248
|
+
// called for multiple tokens. This can be helpful to
|
|
249
|
+
// update common state required for calculating
|
|
250
|
+
// getTopPoolsForToken. It is optional for a DEX
|
|
251
|
+
// to implement this
|
|
252
|
+
async updatePoolState() {
|
|
253
|
+
// TODO: complete me!
|
|
254
|
+
}
|
|
255
|
+
// Returns list of top pools based on liquidity. Max
|
|
256
|
+
// limit number pools should be returned.
|
|
257
|
+
async getTopPoolsForToken(tokenAddress, limit) {
|
|
258
|
+
//TODO: complete me!
|
|
259
|
+
return [];
|
|
260
|
+
}
|
|
261
|
+
// This is optional function in case if your implementation has acquired any resources
|
|
262
|
+
// you need to release for graceful shutdown. For example, it may be any interval timer
|
|
263
|
+
releaseResources() {
|
|
264
|
+
// TODO: complete me!
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
exports.TraderJoeV2_1 = TraderJoeV2_1;
|
|
268
|
+
TraderJoeV2_1.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TraderJoeV2_1Config);
|
|
269
|
+
//# sourceMappingURL=trader-joe-v2-1-2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trader-joe-v2-1-2.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Address } from '../../types';
|
|
2
|
+
import { BigNumber } from 'ethers';
|
|
3
|
+
import { NumberAsString } from '@paraswap/core';
|
|
4
|
+
export declare type Bin = {
|
|
5
|
+
id: bigint;
|
|
6
|
+
reserveX: bigint;
|
|
7
|
+
reserveY: bigint;
|
|
8
|
+
};
|
|
9
|
+
export declare type PoolState = {
|
|
10
|
+
tokenX: Address;
|
|
11
|
+
tokenY: Address;
|
|
12
|
+
binStep: bigint;
|
|
13
|
+
bins: Bin[];
|
|
14
|
+
pairAddress: string;
|
|
15
|
+
blockTimestamp: bigint;
|
|
16
|
+
reserves: {
|
|
17
|
+
reserveX: bigint;
|
|
18
|
+
reserveY: bigint;
|
|
19
|
+
};
|
|
20
|
+
activeId: bigint;
|
|
21
|
+
protocolFees: {
|
|
22
|
+
protocolFeeX: bigint;
|
|
23
|
+
protocolFeeY: bigint;
|
|
24
|
+
};
|
|
25
|
+
staticFeeParameters: {
|
|
26
|
+
baseFactor: bigint;
|
|
27
|
+
filterPeriod: bigint;
|
|
28
|
+
decayPeriod: bigint;
|
|
29
|
+
reductionFactor: bigint;
|
|
30
|
+
variableFeeControl: bigint;
|
|
31
|
+
protocolShare: bigint;
|
|
32
|
+
maxVolatilityAccumulator: bigint;
|
|
33
|
+
};
|
|
34
|
+
variableFeeParameters: {
|
|
35
|
+
volatilityAccumulator: bigint;
|
|
36
|
+
volatilityReference: bigint;
|
|
37
|
+
idReference: bigint;
|
|
38
|
+
timeOfLastUpdate: bigint;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export declare type DecodedStateMultiCallResult = {};
|
|
42
|
+
export declare type TraderJoeV2_1Data = {
|
|
43
|
+
tokenIn: string;
|
|
44
|
+
tokenOut: string;
|
|
45
|
+
binStep: string;
|
|
46
|
+
};
|
|
47
|
+
export declare type DexParams = {
|
|
48
|
+
factoryAddress: Address;
|
|
49
|
+
routerAddress: Address;
|
|
50
|
+
};
|
|
51
|
+
export declare type LBPairsAvailable = {
|
|
52
|
+
binStep: BigNumber;
|
|
53
|
+
LBPair: string;
|
|
54
|
+
createdByOwner: boolean;
|
|
55
|
+
ignoredForRouting: boolean;
|
|
56
|
+
tokenX: string;
|
|
57
|
+
};
|
|
58
|
+
export declare type RouterPath = [
|
|
59
|
+
pairBinSteps: NumberAsString[],
|
|
60
|
+
versions: NumberAsString[],
|
|
61
|
+
tokenPath: Address[]
|
|
62
|
+
];
|
|
63
|
+
export declare type TraderJoeV2RouterSellParams = [
|
|
64
|
+
_amountIn: NumberAsString,
|
|
65
|
+
_amountOutMin: NumberAsString,
|
|
66
|
+
_routerPath: RouterPath,
|
|
67
|
+
to: Address,
|
|
68
|
+
_deadline: string
|
|
69
|
+
];
|
|
70
|
+
export declare type TraderJoeV2RouterBuyParams = [
|
|
71
|
+
_amountOut: NumberAsString,
|
|
72
|
+
_amountInMax: NumberAsString,
|
|
73
|
+
_routerPath: RouterPath,
|
|
74
|
+
to: Address,
|
|
75
|
+
_deadline: string
|
|
76
|
+
];
|
|
77
|
+
export declare type TraderJoeV2RouterParam = TraderJoeV2RouterSellParams | TraderJoeV2RouterBuyParams;
|
|
78
|
+
export declare enum TraderJoeV2RouterFunctions {
|
|
79
|
+
swapExactTokensForTokens = "swapExactTokensForTokens",
|
|
80
|
+
swapTokensForExactTokens = "swapTokensForExactTokens"
|
|
81
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TraderJoeV2RouterFunctions = void 0;
|
|
4
|
+
var TraderJoeV2RouterFunctions;
|
|
5
|
+
(function (TraderJoeV2RouterFunctions) {
|
|
6
|
+
TraderJoeV2RouterFunctions["swapExactTokensForTokens"] = "swapExactTokensForTokens";
|
|
7
|
+
TraderJoeV2RouterFunctions["swapTokensForExactTokens"] = "swapTokensForExactTokens";
|
|
8
|
+
})(TraderJoeV2RouterFunctions = exports.TraderJoeV2RouterFunctions || (exports.TraderJoeV2RouterFunctions = {}));
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2-1-2/types.ts"],"names":[],"mappings":";;;AAwGA,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,mFAAqD,CAAA;IACrD,mFAAqD,CAAA;AACvD,CAAC,EAHW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAGrC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Adapters = exports.TraderJoeV2_1Config = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
exports.TraderJoeV2_1Config = {
|
|
6
|
+
TraderJoeV21: {
|
|
7
|
+
[constants_1.Network.MAINNET]: {
|
|
8
|
+
factoryAddress: '0xDC8d77b69155c7E68A95a4fb0f06a71FF90B943a',
|
|
9
|
+
routerAddress: '0x9A93a421b74F1c5755b83dD2C211614dC419C44b',
|
|
10
|
+
},
|
|
11
|
+
[constants_1.Network.ARBITRUM]: {
|
|
12
|
+
factoryAddress: '0x8e42f2F4101563bF679975178e880FD87d3eFd4e',
|
|
13
|
+
routerAddress: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
|
|
14
|
+
},
|
|
15
|
+
[constants_1.Network.BSC]: {
|
|
16
|
+
factoryAddress: '0x8e42f2F4101563bF679975178e880FD87d3eFd4e',
|
|
17
|
+
routerAddress: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
|
|
18
|
+
},
|
|
19
|
+
[constants_1.Network.AVALANCHE]: {
|
|
20
|
+
factoryAddress: '0x8e42f2F4101563bF679975178e880FD87d3eFd4e',
|
|
21
|
+
routerAddress: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
exports.Adapters = {
|
|
26
|
+
[constants_1.Network.MAINNET]: {
|
|
27
|
+
[constants_1.SwapSide.SELL]: [{ name: 'Adapter04', index: 5 }],
|
|
28
|
+
[constants_1.SwapSide.BUY]: [{ name: 'BuyAdapter02', index: 1 }],
|
|
29
|
+
},
|
|
30
|
+
[constants_1.Network.ARBITRUM]: {
|
|
31
|
+
[constants_1.SwapSide.SELL]: [{ name: 'ArbitrumAdapter02', index: 4 }],
|
|
32
|
+
[constants_1.SwapSide.BUY]: [{ name: 'ArbitrumBuyAdapter', index: 7 }],
|
|
33
|
+
},
|
|
34
|
+
[constants_1.Network.BSC]: {
|
|
35
|
+
[constants_1.SwapSide.SELL]: [{ name: 'BscAdapter02', index: 5 }],
|
|
36
|
+
[constants_1.SwapSide.BUY]: [{ name: 'BscBuyAdapter', index: 6 }],
|
|
37
|
+
},
|
|
38
|
+
[constants_1.Network.AVALANCHE]: {
|
|
39
|
+
[constants_1.SwapSide.SELL]: [{ name: 'AvalancheAdapter02', index: 4 }],
|
|
40
|
+
[constants_1.SwapSide.BUY]: [{ name: 'AvalancheBuyAdapter', index: 5 }],
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2_1/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,mBAAmB,GAA4B;IAC1D,YAAY,EAAE;QACZ,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,cAAc,EAAE,4CAA4C;YAC5D,aAAa,EAAE,4CAA4C;SAC5D;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,cAAc,EAAE,4CAA4C;YAC5D,aAAa,EAAE,4CAA4C;SAC5D;QACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,cAAc,EAAE,4CAA4C;YAC5D,aAAa,EAAE,4CAA4C;SAC5D;QACD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,cAAc,EAAE,4CAA4C;YAC5D,aAAa,EAAE,4CAA4C;SAC5D;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAClD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACrD;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC3D;IACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;QACb,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACtD;IACD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;QACnB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3D,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC5D;CACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const TRADER_JOE_V2_CHUNKS = 10;
|
|
2
|
+
export declare const TRADER_JOE_V2_QUOTE_GASLIMIT = 200000;
|
|
3
|
+
export declare const EMPTY_POOL_CACHE_TTL: number;
|
|
4
|
+
export declare const POPULATED_POOL_CACHE_TTL: number;
|
|
5
|
+
export declare const CACHE_PREFIX = "dl";
|
|
6
|
+
export declare const MinLBPairAbi: {
|
|
7
|
+
inputs: never[];
|
|
8
|
+
name: string;
|
|
9
|
+
outputs: {
|
|
10
|
+
internalType: string;
|
|
11
|
+
name: string;
|
|
12
|
+
type: string;
|
|
13
|
+
}[];
|
|
14
|
+
stateMutability: string;
|
|
15
|
+
type: string;
|
|
16
|
+
}[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MinLBPairAbi = exports.CACHE_PREFIX = exports.POPULATED_POOL_CACHE_TTL = exports.EMPTY_POOL_CACHE_TTL = exports.TRADER_JOE_V2_QUOTE_GASLIMIT = exports.TRADER_JOE_V2_CHUNKS = void 0;
|
|
4
|
+
exports.TRADER_JOE_V2_CHUNKS = 10;
|
|
5
|
+
exports.TRADER_JOE_V2_QUOTE_GASLIMIT = 200000;
|
|
6
|
+
exports.EMPTY_POOL_CACHE_TTL = 60 * 60;
|
|
7
|
+
exports.POPULATED_POOL_CACHE_TTL = 12 * 60 * 60;
|
|
8
|
+
exports.CACHE_PREFIX = 'dl';
|
|
9
|
+
exports.MinLBPairAbi = [
|
|
10
|
+
{
|
|
11
|
+
inputs: [],
|
|
12
|
+
name: 'getTokenX',
|
|
13
|
+
outputs: [{ internalType: 'contract IERC20', name: '', type: 'address' }],
|
|
14
|
+
stateMutability: 'view',
|
|
15
|
+
type: 'function',
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2_1/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAC1B,QAAA,4BAA4B,GAAG,MAAO,CAAC;AAEvC,QAAA,oBAAoB,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/B,QAAA,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAExC,QAAA,YAAY,GAAG,IAAI,CAAC;AAEpB,QAAA,YAAY,GAAG;IAC1B;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC"}
|
|
File without changes
|