@paraswap/dex-lib 2.31.1 → 2.31.3

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.
Files changed (65) hide show
  1. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  2. package/.idea/misc.xml +6 -0
  3. package/.idea/modules.xml +8 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/.vscode/launch.json +21 -0
  6. package/build/abi/AugustusRFQRouter.abi.json +1248 -0
  7. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  8. package/build/dex/aave-v3/tokens/arbitrum.json +20 -20
  9. package/build/dex/aave-v3/tokens/avalanche.json +20 -44
  10. package/build/dex/aave-v3/tokens/fantom.json +30 -30
  11. package/build/dex/aave-v3/tokens/mainnet.json +44 -0
  12. package/build/dex/aave-v3/tokens/optimism.json +18 -18
  13. package/build/dex/aave-v3/tokens/polygon.json +42 -60
  14. package/build/dex/algebra/algebra-pool.d.ts +41 -0
  15. package/build/dex/algebra/algebra-pool.js +277 -0
  16. package/build/dex/algebra/algebra-pool.js.map +1 -0
  17. package/build/dex/algebra/lib/AlgebraXUniV3.d.ts +5 -0
  18. package/build/dex/algebra/lib/AlgebraXUniV3.js +45 -0
  19. package/build/dex/algebra/lib/AlgebraXUniV3.js.map +1 -0
  20. package/build/dex/algebra/lib/DataStorage.d.ts +24 -0
  21. package/build/dex/algebra/lib/DataStorage.js +397 -0
  22. package/build/dex/algebra/lib/DataStorage.js.map +1 -0
  23. package/build/dex/algebra/lib/DataStorageOperator.d.ts +9 -0
  24. package/build/dex/algebra/lib/DataStorageOperator.js +66 -0
  25. package/build/dex/algebra/lib/DataStorageOperator.js.map +1 -0
  26. package/build/dex/algebra/lib/Sqrt.d.ts +3 -0
  27. package/build/dex/algebra/lib/Sqrt.js +60 -0
  28. package/build/dex/algebra/lib/Sqrt.js.map +1 -0
  29. package/build/dex/balancer-v2/VirtualBoostedPool.d.ts +79 -0
  30. package/build/dex/balancer-v2/VirtualBoostedPool.js +382 -0
  31. package/build/dex/balancer-v2/VirtualBoostedPool.js.map +1 -0
  32. package/build/dex/generic-rfq/constants.d.ts +1 -0
  33. package/build/dex/generic-rfq/constants.js +5 -0
  34. package/build/dex/generic-rfq/constants.js.map +1 -0
  35. package/build/dex/generic-rfq/generic-rfq.js +4 -1
  36. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  37. package/build/dex/generic-rfq/rate-fetcher.d.ts +1 -1
  38. package/build/dex/generic-rfq/rate-fetcher.js +2 -1
  39. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  40. package/build/dex/generic-rfq/types.d.ts +1 -0
  41. package/build/dex/generic-rfq/types.js.map +1 -1
  42. package/build/dex/{test-dex → test-aave-v3}/config.d.ts +1 -1
  43. package/build/dex/{test-dex → test-aave-v3}/config.js +3 -3
  44. package/build/dex/test-aave-v3/config.js.map +1 -0
  45. package/build/dex/{test-dex/test-dex-pool.d.ts → test-aave-v3/test-aave-v3-pool.d.ts} +3 -3
  46. package/build/dex/{test-dex/test-dex-pool.js → test-aave-v3/test-aave-v3-pool.js} +7 -7
  47. package/build/dex/test-aave-v3/test-aave-v3-pool.js.map +1 -0
  48. package/build/dex/{test-dex/test-dex.d.ts → test-aave-v3/test-aave-v3.d.ts} +8 -8
  49. package/build/dex/{test-dex/test-dex.js → test-aave-v3/test-aave-v3.js} +7 -7
  50. package/build/dex/test-aave-v3/test-aave-v3.js.map +1 -0
  51. package/build/dex/{test-dex → test-aave-v3}/types.d.ts +1 -1
  52. package/build/dex/{test-dex → test-aave-v3}/types.js.map +1 -1
  53. package/build/types.d.ts +1 -0
  54. package/package.json +1 -1
  55. package/src/dex/generic-rfq/generic-rfq.ts +5 -0
  56. package/src/dex/generic-rfq/rate-fetcher.ts +4 -2
  57. package/src/dex/generic-rfq/types.ts +1 -0
  58. package/src/types.ts +1 -0
  59. package/build/dex/test-dex/config.js.map +0 -1
  60. package/build/dex/test-dex/test-dex-pool.js.map +0 -1
  61. package/build/dex/test-dex/test-dex.js.map +0 -1
  62. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
  63. package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
  64. package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
  65. /package/build/dex/{test-dex → test-aave-v3}/types.js +0 -0
@@ -0,0 +1,79 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { PoolState, SubgraphPoolBase, callData, BalancerSwap } from './types';
3
+ import { SwapSide } from '../../constants';
4
+ export declare type BoostedPools = {
5
+ [id: string]: BoostedPool;
6
+ };
7
+ export declare type BoostedPool = {
8
+ mainTokens: MainToken[];
9
+ phantomStablePoolAddr: string;
10
+ };
11
+ export declare type MainToken = {
12
+ address: string;
13
+ decimals: number;
14
+ linearPoolAddr: string;
15
+ linearPoolId: string;
16
+ };
17
+ export declare type VirtualBoostedPools = {
18
+ dictionary: BoostedPools;
19
+ subgraph: SubgraphPoolBase[];
20
+ };
21
+ declare type BoostedPoolPairData = {
22
+ tokenIn: string;
23
+ tokenOut: string;
24
+ phantomPoolId: any;
25
+ poolStates: {
26
+ [address: string]: PoolState;
27
+ };
28
+ boostedPools: BoostedPools;
29
+ gasCost: number;
30
+ };
31
+ export declare type SwapData = {
32
+ swaps: BalancerSwap[];
33
+ assets: string[];
34
+ };
35
+ export declare class VirtualBoostedPool {
36
+ /**
37
+ * Creates VirtualBoostedPools from list of input pools. A VirtualBoostedPool is a combination of Linear pools nested in a PhantomStable pool. i.e. bb-a-USD.
38
+ * @param pools Array of subgraph pools (should contain Phantom/Linear pools of interest)
39
+ * @returns Array of VirtualBoosted subgraph pools. Dictionary object of virtualBoosted pool data.
40
+ */
41
+ static createPools(pools: SubgraphPoolBase[]): VirtualBoostedPools;
42
+ static poolType: string;
43
+ vaultAddress: string;
44
+ vaultInterface: Interface;
45
+ linearPoolInterface: Interface;
46
+ phantomStablePoolInterface: Interface;
47
+ constructor(vaultAddress: string, vaultInterface: Interface, linearPoolInterface: Interface, metaStablePoolInterface: Interface);
48
+ getOnChainCalls(pool: SubgraphPoolBase, virtualBoostedPools: BoostedPools): callData[];
49
+ decodeOnChainCalls(pool: SubgraphPoolBase, data: {
50
+ success: boolean;
51
+ returnData: any;
52
+ }[], startIndex: number, boostedPools: BoostedPools): [{
53
+ [address: string]: PoolState;
54
+ }, number];
55
+ static getTokenPool(phantomPoolAddr: string, phantomPoolId: string, tokenAddr: string, boostedPools: BoostedPools): {
56
+ address: string;
57
+ type: string;
58
+ id: string;
59
+ };
60
+ parsePoolPairData(pool: SubgraphPoolBase, poolStates: {
61
+ [address: string]: PoolState;
62
+ }, tokenIn: string, tokenOut: string, boostedPools: BoostedPools): BoostedPoolPairData;
63
+ checkBalance(amounts: bigint[], unitVolume: bigint, side: SwapSide, poolPairData: BoostedPoolPairData): boolean;
64
+ onSell(amounts: bigint[], poolPairData: BoostedPoolPairData): bigint[];
65
+ _calcOutGivenIn(tokenAmountsIn: bigint[], tokenIn: string, tokenOut: string, phantomPoolId: string, poolStates: {
66
+ [address: string]: PoolState;
67
+ }, boostedPools: BoostedPools): bigint[];
68
+ /**
69
+ * Creates Balancer multihop swaps and asset info required to swap a pair of underlying tokens through the Boosted pools.
70
+ * @param tokenIn Underlying token in.
71
+ * @param tokenOut Underlying token out.
72
+ * @param boostedPoolId ID of the VirtualBoostedPool that tokenIn/Out belong to.
73
+ * @param amount Amount being traded.
74
+ * @param boostedPools Dictionary of boosted pools.
75
+ * @returns Swaps and assets.
76
+ */
77
+ static getSwapData(tokenIn: string, tokenOut: string, boostedPoolId: string, amount: string, boostedPools: BoostedPools): SwapData;
78
+ }
79
+ export {};
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VirtualBoostedPool = void 0;
4
+ const address_1 = require("@ethersproject/address");
5
+ const LinearPool_1 = require("./LinearPool");
6
+ const PhantomStablePool_1 = require("./PhantomStablePool");
7
+ const balancer_v2_1 = require("./balancer-v2");
8
+ /*
9
+ VirtualBoostedPools are groups of pools that are connected in a pre-defined way.
10
+ Having a VirtualPool allows complexity of swapping between underlying tokens to be simplified/abstracted away as paths are already known and coded.
11
+ i.e. a VirtualBoostedPool exists consisting of Linear USDC/DAI/USDT pools connected with the bb-a-USDC PhantomStable, this VirtualPool shows its token list as USDC/DAI/USDT
12
+ */
13
+ class VirtualBoostedPool {
14
+ constructor(vaultAddress, vaultInterface, linearPoolInterface, metaStablePoolInterface) {
15
+ this.vaultAddress = vaultAddress;
16
+ this.vaultInterface = vaultInterface;
17
+ this.linearPoolInterface = linearPoolInterface;
18
+ this.phantomStablePoolInterface = metaStablePoolInterface;
19
+ }
20
+ /**
21
+ * Creates VirtualBoostedPools from list of input pools. A VirtualBoostedPool is a combination of Linear pools nested in a PhantomStable pool. i.e. bb-a-USD.
22
+ * @param pools Array of subgraph pools (should contain Phantom/Linear pools of interest)
23
+ * @returns Array of VirtualBoosted subgraph pools. Dictionary object of virtualBoosted pool data.
24
+ */
25
+ static createPools(pools) {
26
+ const subgraph = [];
27
+ const boostedPools = {};
28
+ const phantomPools = [];
29
+ const linearDict = {};
30
+ // Create an initial list of phantom pools and dictionary of Linear pools.
31
+ pools.forEach(p => {
32
+ // Covers ERC4626 & Aave Linear Pools
33
+ if (p.poolType.includes('Linear'))
34
+ linearDict[p.address] = p;
35
+ else if (p.poolType === balancer_v2_1.BalancerPoolTypes.StablePhantom) {
36
+ phantomPools.push(p);
37
+ }
38
+ });
39
+ // Create a boostedPool for each phantom that consists of Linear BPTs.
40
+ phantomPools.forEach(phantomPool => {
41
+ const mainTokens = [];
42
+ const isBoosted = phantomPool.tokens.every(t => {
43
+ if (t.address === phantomPool.address)
44
+ return true;
45
+ // Phantom pools contain their own BPT in tokens list
46
+ else if (linearDict[t.address]) {
47
+ // mainToken are the underlying mainTokens of the Linear Pools and will be seen as the tokens the VirtualPool contains.
48
+ // i.e.bb - a - USD VirtualBoostedPool will look like it has USDC, DAI, USDT and bb - a - USD_bpt
49
+ mainTokens.push({
50
+ address: linearDict[t.address].tokens[linearDict[t.address].mainIndex]
51
+ .address,
52
+ decimals: linearDict[t.address].tokens[linearDict[t.address].mainIndex]
53
+ .decimals,
54
+ linearPoolAddr: t.address,
55
+ linearPoolId: linearDict[t.address].id,
56
+ });
57
+ return true;
58
+ }
59
+ else
60
+ return false; // BoostedPools must consist of Phantom + Linear
61
+ });
62
+ if (isBoosted) {
63
+ // phantomStablePoolAddr is the PhantomStablePool connecting all LinearPools
64
+ boostedPools[phantomPool.id] = {
65
+ mainTokens,
66
+ phantomStablePoolAddr: phantomPool.address,
67
+ };
68
+ subgraph.push({
69
+ id: phantomPool.id + this.poolType.toLowerCase(),
70
+ address: phantomPool.address,
71
+ poolType: this.poolType,
72
+ tokens: mainTokens,
73
+ mainIndex: 0,
74
+ wrappedIndex: 0,
75
+ totalLiquidity: phantomPool.totalLiquidity,
76
+ });
77
+ }
78
+ });
79
+ return { dictionary: boostedPools, subgraph };
80
+ }
81
+ /*
82
+ Creates multicall data for a VirtualBoostedPool which can be passed to multicall contract.
83
+ Retrieves following onchain data:
84
+ PhantomStable - scaling factors, amp (assumes poolTokens and swapFee are constructed elsewhere)
85
+ LinearPools - (for each Linear Pool) pooltokens/balances, swapFee, scalingfactors, main/wrapped/bpt indices, targets
86
+ */
87
+ getOnChainCalls(pool, virtualBoostedPools) {
88
+ // Add calls for PhantomStable Pool
89
+ const poolCallData = [];
90
+ // Add pool tokens for upper PhantomStablePool
91
+ const poolAddress = pool.address.split(VirtualBoostedPool.poolType.toLowerCase())[0];
92
+ poolCallData.push({
93
+ target: this.vaultAddress,
94
+ callData: this.vaultInterface.encodeFunctionData('getPoolTokens', [
95
+ pool.id.split(VirtualBoostedPool.poolType.toLowerCase())[0],
96
+ ]),
97
+ });
98
+ // Add swap fee for upper PhantomStablePool
99
+ poolCallData.push({
100
+ target: poolAddress,
101
+ callData: this.phantomStablePoolInterface.encodeFunctionData('getSwapFeePercentage'),
102
+ });
103
+ // Add scaling factors for upper PhantomStablePool
104
+ poolCallData.push({
105
+ target: poolAddress,
106
+ callData: this.phantomStablePoolInterface.encodeFunctionData('getScalingFactors'),
107
+ });
108
+ // Add amp parameter for upper PhantomStable Pool
109
+ poolCallData.push({
110
+ target: poolAddress,
111
+ callData: this.phantomStablePoolInterface.encodeFunctionData('getAmplificationParameter'),
112
+ });
113
+ // Add calls for each linear pool
114
+ virtualBoostedPools[pool.id.split(VirtualBoostedPool.poolType.toLowerCase())[0]].mainTokens.forEach(mt => {
115
+ poolCallData.push({
116
+ target: this.vaultAddress,
117
+ callData: this.vaultInterface.encodeFunctionData('getPoolTokens', [
118
+ mt.linearPoolId,
119
+ ]),
120
+ });
121
+ poolCallData.push({
122
+ target: mt.linearPoolAddr,
123
+ callData: this.linearPoolInterface.encodeFunctionData('getSwapFeePercentage'),
124
+ });
125
+ poolCallData.push({
126
+ target: mt.linearPoolAddr,
127
+ callData: this.linearPoolInterface.encodeFunctionData('getScalingFactors'),
128
+ });
129
+ poolCallData.push({
130
+ target: mt.linearPoolAddr,
131
+ callData: this.linearPoolInterface.encodeFunctionData('getMainIndex'),
132
+ });
133
+ poolCallData.push({
134
+ target: mt.linearPoolAddr,
135
+ callData: this.linearPoolInterface.encodeFunctionData('getWrappedIndex'),
136
+ });
137
+ poolCallData.push({
138
+ target: mt.linearPoolAddr,
139
+ callData: this.linearPoolInterface.encodeFunctionData('getBptIndex'),
140
+ });
141
+ // returns lowerTarget, upperTarget
142
+ poolCallData.push({
143
+ target: mt.linearPoolAddr,
144
+ callData: this.linearPoolInterface.encodeFunctionData('getTargets'),
145
+ });
146
+ });
147
+ return poolCallData;
148
+ }
149
+ /*
150
+ Decodes multicall data for a VirtualBoostedPool.
151
+ data must contain returnData
152
+ startIndex is where to start in returnData. Allows this decode function to be called along with other pool types.
153
+ */
154
+ decodeOnChainCalls(pool, data, startIndex, boostedPools) {
155
+ const linearPool = new LinearPool_1.LinearPool(this.vaultAddress, this.vaultInterface, this.linearPoolInterface);
156
+ const phantomStablePool = new PhantomStablePool_1.PhantomStablePool(this.vaultAddress, this.vaultInterface, this.phantomStablePoolInterface);
157
+ // TO DO - Change to use decodeThrowError
158
+ const pools = {};
159
+ const poolTokens = this.vaultInterface.decodeFunctionResult('getPoolTokens', data[startIndex++].returnData);
160
+ const swapFee = this.phantomStablePoolInterface.decodeFunctionResult('getSwapFeePercentage', data[startIndex++].returnData)[0];
161
+ const scalingFactors = this.phantomStablePoolInterface.decodeFunctionResult('getScalingFactors', data[startIndex++].returnData)[0];
162
+ const amp = this.phantomStablePoolInterface.decodeFunctionResult('getAmplificationParameter', data[startIndex++].returnData);
163
+ const poolState = {
164
+ swapFee: BigInt(swapFee.toString()),
165
+ tokens: poolTokens.tokens.reduce((ptAcc, pt, j) => {
166
+ const tokenState = {
167
+ balance: BigInt(poolTokens.balances[j].toString()),
168
+ };
169
+ if (scalingFactors)
170
+ tokenState.scalingFactor = BigInt(scalingFactors[j].toString());
171
+ ptAcc[pt.toLowerCase()] = tokenState;
172
+ return ptAcc;
173
+ }, {}),
174
+ gasCost: linearPool.gasCost * 2 + phantomStablePool.gasCost, // Linear <> Phantom <> Linear
175
+ };
176
+ poolState.amp = BigInt(amp.value.toString());
177
+ pools[pool.address.toLowerCase()] = poolState;
178
+ // Save PhantomStable pool state
179
+ const phantomStableAddr = pool.address
180
+ .split(VirtualBoostedPool.poolType.toLowerCase())[0]
181
+ .toLowerCase();
182
+ pools[phantomStableAddr] = poolState;
183
+ pools[phantomStableAddr].gasCost = phantomStablePool.gasCost;
184
+ boostedPools[pool.id.split(VirtualBoostedPool.poolType.toLowerCase())[0]].mainTokens.forEach(mt => {
185
+ const poolTokens = this.vaultInterface.decodeFunctionResult('getPoolTokens', data[startIndex++].returnData);
186
+ const swapFee = this.linearPoolInterface.decodeFunctionResult('getSwapFeePercentage', data[startIndex++].returnData)[0];
187
+ const scalingFactors = this.linearPoolInterface.decodeFunctionResult('getScalingFactors', data[startIndex++].returnData)[0];
188
+ const mainIndex = this.linearPoolInterface.decodeFunctionResult('getMainIndex', data[startIndex++].returnData);
189
+ const wrappedIndex = this.linearPoolInterface.decodeFunctionResult('getWrappedIndex', data[startIndex++].returnData);
190
+ const bptIndex = this.linearPoolInterface.decodeFunctionResult('getBptIndex', data[startIndex++].returnData);
191
+ const [lowerTarget, upperTarget] = this.linearPoolInterface.decodeFunctionResult('getTargets', data[startIndex++].returnData);
192
+ const poolState = {
193
+ swapFee: BigInt(swapFee.toString()),
194
+ mainIndex: Number(mainIndex),
195
+ wrappedIndex: Number(wrappedIndex),
196
+ bptIndex: Number(bptIndex),
197
+ lowerTarget: BigInt(lowerTarget.toString()),
198
+ upperTarget: BigInt(upperTarget.toString()),
199
+ tokens: poolTokens.tokens.reduce((ptAcc, pt, j) => {
200
+ const tokenState = {
201
+ balance: BigInt(poolTokens.balances[j].toString()),
202
+ };
203
+ if (scalingFactors)
204
+ tokenState.scalingFactor = BigInt(scalingFactors[j].toString());
205
+ ptAcc[pt.toLowerCase()] = tokenState;
206
+ return ptAcc;
207
+ }, {}),
208
+ gasCost: linearPool.gasCost,
209
+ };
210
+ pools[mt.linearPoolAddr] = poolState;
211
+ });
212
+ return [pools, startIndex];
213
+ }
214
+ // Finds the address and poolType the tokenAddr belongs to
215
+ static getTokenPool(phantomPoolAddr, phantomPoolId, tokenAddr, boostedPools) {
216
+ if ((0, address_1.getAddress)(phantomPoolAddr) === (0, address_1.getAddress)(tokenAddr))
217
+ return {
218
+ address: phantomPoolAddr,
219
+ type: 'StablePhantom',
220
+ id: phantomPoolId,
221
+ };
222
+ const boostedPool = boostedPools[phantomPoolId];
223
+ const index = boostedPool.mainTokens.findIndex(t => (0, address_1.getAddress)(t.address) === (0, address_1.getAddress)(tokenAddr));
224
+ if (index < 0)
225
+ throw Error('Token missing');
226
+ return {
227
+ address: boostedPool.mainTokens[index].linearPoolAddr,
228
+ type: 'Linear',
229
+ id: boostedPool.mainTokens[index].linearPoolId,
230
+ };
231
+ }
232
+ /*
233
+ Helper function to parse pool data into params for onSell function.
234
+ */
235
+ parsePoolPairData(pool, poolStates, tokenIn, tokenOut, boostedPools) {
236
+ const linearPool = new LinearPool_1.LinearPool(this.vaultAddress, this.vaultInterface, this.linearPoolInterface);
237
+ const phantomStablePool = new PhantomStablePool_1.PhantomStablePool(this.vaultAddress, this.vaultInterface, this.phantomStablePoolInterface);
238
+ const poolPairData = {
239
+ tokenIn,
240
+ tokenOut,
241
+ phantomPoolId: pool.id.split(VirtualBoostedPool.poolType.toLowerCase())[0],
242
+ poolStates,
243
+ boostedPools,
244
+ gasCost: linearPool.gasCost * 2 + phantomStablePool.gasCost,
245
+ };
246
+ return poolPairData;
247
+ }
248
+ checkBalance(amounts, unitVolume, side, poolPairData) {
249
+ // Limited by last Linear Pool main token balance. LinearIn > BPT is ~unlimited. PhantomStable has no swap limit.
250
+ const phantomPoolAddr = poolPairData.boostedPools[poolPairData.phantomPoolId]
251
+ .phantomStablePoolAddr;
252
+ if (!phantomPoolAddr)
253
+ false;
254
+ const poolOut = VirtualBoostedPool.getTokenPool(phantomPoolAddr, poolPairData.phantomPoolId, poolPairData.tokenOut, poolPairData.boostedPools);
255
+ const linearPool = new LinearPool_1.LinearPool(this.vaultAddress, this.vaultInterface, this.linearPoolInterface);
256
+ const balanceOut = poolPairData.poolStates[poolOut.address].tokens[poolPairData.tokenOut.toLowerCase()].balance;
257
+ const scalingFactor = poolPairData.poolStates[poolOut.address].tokens[poolPairData.tokenOut.toLowerCase()].scalingFactor;
258
+ if (!scalingFactor)
259
+ return false;
260
+ const poolOutLimit = linearPool.swapLimit(balanceOut, scalingFactor);
261
+ const swapAmount = amounts[amounts.length - 1] > unitVolume
262
+ ? amounts[amounts.length - 1]
263
+ : unitVolume;
264
+ return poolOutLimit > swapAmount;
265
+ }
266
+ onSell(amounts, poolPairData) {
267
+ return this._calcOutGivenIn(amounts, poolPairData.tokenIn, poolPairData.tokenOut, poolPairData.phantomPoolId, poolPairData.poolStates, poolPairData.boostedPools);
268
+ }
269
+ _calcOutGivenIn(tokenAmountsIn, tokenIn, tokenOut, phantomPoolId, poolStates, boostedPools) {
270
+ const phantomPoolAddr = boostedPools[phantomPoolId].phantomStablePoolAddr;
271
+ if (!phantomPoolAddr)
272
+ return [];
273
+ const poolIn = VirtualBoostedPool.getTokenPool(phantomPoolAddr, phantomPoolId, tokenIn, boostedPools);
274
+ const poolOut = VirtualBoostedPool.getTokenPool(phantomPoolAddr, phantomPoolId, tokenOut, boostedPools);
275
+ const linearPool = new LinearPool_1.LinearPool(this.vaultAddress, this.vaultInterface, this.linearPoolInterface);
276
+ const phantomStablePool = new PhantomStablePool_1.PhantomStablePool(this.vaultAddress, this.vaultInterface, this.phantomStablePoolInterface);
277
+ // Find where tokenIn/Out fits, i.e. boosted or phantom
278
+ if (poolIn.type === 'Linear' && poolOut.type === 'Linear') {
279
+ // i.e. DAI > USDC
280
+ // console.log(`tokenIn[Linear]inBpt[PhantomStable]outBpt[Linear]tokenOut`);
281
+ // Find pools of interest
282
+ const linearIn = poolStates[poolIn.address];
283
+ const stablePhantom = poolStates[phantomPoolAddr];
284
+ const linearOut = poolStates[poolOut.address];
285
+ if (linearIn.bptIndex === undefined ||
286
+ linearIn.mainIndex === undefined ||
287
+ linearIn.wrappedIndex === undefined ||
288
+ linearIn.lowerTarget === undefined ||
289
+ linearIn.upperTarget === undefined ||
290
+ stablePhantom.amp === undefined ||
291
+ linearOut.bptIndex === undefined ||
292
+ linearOut.mainIndex === undefined ||
293
+ linearOut.wrappedIndex === undefined ||
294
+ linearOut.lowerTarget === undefined ||
295
+ linearOut.upperTarget === undefined)
296
+ throw 'Pool missing data';
297
+ const linearInTokens = Object.values(linearIn.tokens);
298
+ const stablePhantomTokens = Object.values(stablePhantom.tokens);
299
+ const linearOutTokens = Object.values(linearOut.tokens);
300
+ const linearInTokenAddrs = Object.keys(linearIn.tokens);
301
+ const linearOutTokenAddrs = Object.keys(linearOut.tokens);
302
+ const stablePhantomTokenAddrs = Object.keys(stablePhantom.tokens);
303
+ // First hop through Linear Pool of tokenIn
304
+ const amtOutLinearOne = linearPool._swapGivenIn(tokenAmountsIn, linearInTokenAddrs, linearInTokens.map(t => t.balance), linearIn.mainIndex, // indexIn
305
+ linearIn.bptIndex, // indexOut
306
+ linearIn.bptIndex, // bptIndex
307
+ linearIn.wrappedIndex, // wrappedIndex
308
+ linearIn.mainIndex, // mainIndex
309
+ linearInTokens.map(t => (t.scalingFactor ? t.scalingFactor : 0n)), linearIn.swapFee, linearIn.lowerTarget, linearIn.upperTarget);
310
+ // Second hop through PhantomStable inbpt>outbpt
311
+ const amtOutPhantomStable = phantomStablePool._swapGivenIn(amtOutLinearOne, stablePhantomTokenAddrs, stablePhantomTokens.map(t => t.balance), stablePhantomTokenAddrs.indexOf(linearInTokenAddrs[linearIn.bptIndex]), // indexIn
312
+ stablePhantomTokenAddrs.indexOf(linearOutTokenAddrs[linearOut.bptIndex]), // indexOut
313
+ stablePhantomTokenAddrs.indexOf(phantomPoolAddr), // bptIndex
314
+ stablePhantomTokens.map(t => (t.scalingFactor ? t.scalingFactor : 0n)), stablePhantom.swapFee, stablePhantom.amp);
315
+ // Last hop through Linear Pool of tokenOut
316
+ const amtOutLinearTwo = linearPool._swapGivenIn(amtOutPhantomStable, Object.keys(linearOut.tokens), linearOutTokens.map(t => t.balance), linearOut.bptIndex, // indexIn
317
+ linearOut.mainIndex, // indexOut
318
+ linearOut.bptIndex, // bptIndex
319
+ linearOut.wrappedIndex, linearOut.mainIndex, // mainIndex
320
+ linearOutTokens.map(t => (t.scalingFactor ? t.scalingFactor : 0n)), linearOut.swapFee, linearOut.lowerTarget, linearOut.upperTarget);
321
+ return amtOutLinearTwo;
322
+ }
323
+ else {
324
+ return [0n];
325
+ }
326
+ }
327
+ /**
328
+ * Creates Balancer multihop swaps and asset info required to swap a pair of underlying tokens through the Boosted pools.
329
+ * @param tokenIn Underlying token in.
330
+ * @param tokenOut Underlying token out.
331
+ * @param boostedPoolId ID of the VirtualBoostedPool that tokenIn/Out belong to.
332
+ * @param amount Amount being traded.
333
+ * @param boostedPools Dictionary of boosted pools.
334
+ * @returns Swaps and assets.
335
+ */
336
+ static getSwapData(tokenIn, tokenOut, boostedPoolId, amount, boostedPools) {
337
+ // i.e. for DAI>USDC it would return tokenIn[Linear]inBpt[PhantomStable]outBpt[Linear]tokenOut in correct swap format
338
+ const actualId = boostedPoolId.split(VirtualBoostedPool.poolType.toLowerCase())[0];
339
+ const virtualPoolInfo = boostedPools[actualId];
340
+ if (!virtualPoolInfo)
341
+ throw Error('Invalid VirtualBoostedPool ID');
342
+ const poolIn = this.getTokenPool(virtualPoolInfo.phantomStablePoolAddr, actualId, tokenIn, boostedPools);
343
+ const poolOut = this.getTokenPool(virtualPoolInfo.phantomStablePoolAddr, actualId, tokenOut, boostedPools);
344
+ // // Find where tokenIn/Out fits, i.e. boosted or phantom
345
+ if (poolIn.type === 'Linear' && poolOut.type === 'Linear') {
346
+ const assets = [tokenIn, poolIn.address, poolOut.address, tokenOut];
347
+ const swaps = [
348
+ {
349
+ poolId: poolIn.id,
350
+ assetInIndex: 0,
351
+ assetOutIndex: 1,
352
+ amount: amount,
353
+ userData: '0x',
354
+ },
355
+ {
356
+ poolId: actualId,
357
+ assetInIndex: 1,
358
+ assetOutIndex: 2,
359
+ amount: '0',
360
+ userData: '0x',
361
+ },
362
+ {
363
+ poolId: poolOut.id,
364
+ assetInIndex: 2,
365
+ assetOutIndex: 3,
366
+ amount: '0',
367
+ userData: '0x',
368
+ },
369
+ ];
370
+ return {
371
+ swaps,
372
+ assets,
373
+ };
374
+ }
375
+ else {
376
+ return {};
377
+ }
378
+ }
379
+ }
380
+ exports.VirtualBoostedPool = VirtualBoostedPool;
381
+ VirtualBoostedPool.poolType = 'VirtualBoosted';
382
+ //# sourceMappingURL=VirtualBoostedPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualBoostedPool.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/VirtualBoostedPool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const ONE_ORDER_GASCOST = 102000n;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ONE_ORDER_GASCOST = void 0;
4
+ exports.ONE_ORDER_GASCOST = 102000n;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,OAAO,CAAC"}
@@ -92,6 +92,9 @@ class GenericRFQ extends paraswap_limit_orders_1.ParaSwapLimitOrders {
92
92
  if (_srcToken.address === _destToken.address)
93
93
  return null;
94
94
  const expectedIdentifier = this.getIdentifier(_srcToken.address, _destToken.address);
95
+ if (!limitPools?.includes(expectedIdentifier)) {
96
+ return null;
97
+ }
95
98
  const rates = await this.rateFetcher.getOrderPrice(_srcToken, _destToken, side);
96
99
  if (!rates) {
97
100
  return null;
@@ -120,7 +123,7 @@ class GenericRFQ extends paraswap_limit_orders_1.ParaSwapLimitOrders {
120
123
  const isSell = side === constants_1.SwapSide.SELL;
121
124
  const order = await this.rateFetcher.getFirmRate(srcToken, destToken, isSell
122
125
  ? (0, exports.overOrder)(optimalSwapExchange.srcAmount, exports.OVERORDER_BPS)
123
- : (0, exports.overOrder)(optimalSwapExchange.destAmount, 1), side, options.txOrigin);
126
+ : (0, exports.overOrder)(optimalSwapExchange.destAmount, 1), side, options.txOrigin, options.partner);
124
127
  const expiryAsBigInt = BigInt(order.order.expiry);
125
128
  const minDeadline = expiryAsBigInt > 0 ? expiryAsBigInt : bigint_constants_1.BI_MAX_UINT256;
126
129
  const makerAssetAmount = BigInt(order.order.makerAmount);
@@ -1 +1 @@
1
- {"version":3,"file":"generic-rfq.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/generic-rfq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-rfq.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/generic-rfq.ts"],"names":[],"mappings":"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"}
@@ -35,5 +35,5 @@ export declare class RateFetcher {
35
35
  liquidityUSD: number;
36
36
  }[];
37
37
  getOrderPrice(srcToken: Token, destToken: Token, side: SwapSide): Promise<PriceAndAmountBigNumber[] | null>;
38
- getFirmRate(_srcToken: Token, _destToken: Token, srcAmount: string, side: SwapSide, userAddress: Address): Promise<OrderInfo>;
38
+ getFirmRate(_srcToken: Token, _destToken: Token, srcAmount: string, side: SwapSide, userAddress: Address, partner?: string): Promise<OrderInfo>;
39
39
  }
@@ -224,7 +224,7 @@ class RateFetcher {
224
224
  }
225
225
  return orderPrices;
226
226
  }
227
- async getFirmRate(_srcToken, _destToken, srcAmount, side, userAddress) {
227
+ async getFirmRate(_srcToken, _destToken, srcAmount, side, userAddress, partner) {
228
228
  const srcToken = this.dexHelper.config.wrapETH(_srcToken);
229
229
  const destToken = this.dexHelper.config.wrapETH(_destToken);
230
230
  if (BigInt(srcAmount) === 0n) {
@@ -236,6 +236,7 @@ class RateFetcher {
236
236
  makerAmount: side === core_1.SwapSide.BUY ? srcAmount : undefined,
237
237
  takerAmount: side === core_1.SwapSide.SELL ? srcAmount : undefined,
238
238
  userAddress,
239
+ partner,
239
240
  };
240
241
  try {
241
242
  let payload = {
@@ -1 +1 @@
1
- {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/rate-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/rate-fetcher.ts"],"names":[],"mappings":"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"}