@paraswap/dex-lib 2.12.11 → 2.12.12-rfqtests.1

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 (62) 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/dex/aave-v3/tokens/arbitrum.json +50 -0
  7. package/build/dex/aave-v3/tokens/avalanche.json +50 -0
  8. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  9. package/build/dex/aave-v3/tokens/mainnet.json +44 -0
  10. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  11. package/build/dex/aave-v3/tokens/polygon.json +98 -0
  12. package/build/dex/balancer-v2/VirtualBoostedPool.d.ts +79 -0
  13. package/build/dex/balancer-v2/VirtualBoostedPool.js +382 -0
  14. package/build/dex/balancer-v2/VirtualBoostedPool.js.map +1 -0
  15. package/build/dex/generic-rfq/rate-fetcher.js +1 -0
  16. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  17. package/build/dex/generic-rfq/validators.d.ts +1 -1
  18. package/build/dex/generic-rfq/validators.js +36 -26
  19. package/build/dex/generic-rfq/validators.js.map +1 -1
  20. package/build/dex/test-aave-v3/config.d.ts +4 -0
  21. package/build/dex/test-aave-v3/config.js +15 -0
  22. package/build/dex/test-aave-v3/config.js.map +1 -0
  23. package/build/dex/test-aave-v3/test-aave-v3-pool.d.ts +39 -0
  24. package/build/dex/test-aave-v3/test-aave-v3-pool.js +63 -0
  25. package/build/dex/test-aave-v3/test-aave-v3-pool.js.map +1 -0
  26. package/build/dex/test-aave-v3/test-aave-v3.d.ts +37 -0
  27. package/build/dex/test-aave-v3/test-aave-v3.js +126 -0
  28. package/build/dex/test-aave-v3/test-aave-v3.js.map +1 -0
  29. package/build/dex/test-aave-v3/types.d.ts +6 -0
  30. package/build/dex/{maverick → test-aave-v3}/types.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/dex/generic-rfq/generic-rfq-e2e-arbitrum.test.ts +360 -0
  33. package/src/dex/generic-rfq/generic-rfq-e2e-bsc.test.ts +346 -0
  34. package/src/dex/generic-rfq/generic-rfq-e2e-polygon.test.ts +360 -0
  35. package/src/dex/generic-rfq/generic-rfq-e2e.test.ts +85 -71
  36. package/src/dex/generic-rfq/rate-fetcher.ts +1 -0
  37. package/src/dex/generic-rfq/validators.test.ts +6 -32
  38. package/src/dex/generic-rfq/validators.ts +57 -32
  39. package/tests/constants-e2e.ts +2 -0
  40. package/tests/utils-e2e.ts +59 -48
  41. package/build/abi/maverick/pool.json +0 -913
  42. package/build/abi/maverick/router.json +0 -703
  43. package/build/dex/maverick/config.d.ts +0 -4
  44. package/build/dex/maverick/config.js +0 -20
  45. package/build/dex/maverick/config.js.map +0 -1
  46. package/build/dex/maverick/maverick-math/maverick-pool-math.d.ts +0 -67
  47. package/build/dex/maverick/maverick-math/maverick-pool-math.js +0 -406
  48. package/build/dex/maverick/maverick-math/maverick-pool-math.js.map +0 -1
  49. package/build/dex/maverick/maverick-math/maverick-sol-math.d.ts +0 -17
  50. package/build/dex/maverick/maverick-math/maverick-sol-math.js +0 -139
  51. package/build/dex/maverick/maverick-math/maverick-sol-math.js.map +0 -1
  52. package/build/dex/maverick/maverick-pool.d.ts +0 -41
  53. package/build/dex/maverick/maverick-pool.js +0 -130
  54. package/build/dex/maverick/maverick-pool.js.map +0 -1
  55. package/build/dex/maverick/maverick.d.ts +0 -42
  56. package/build/dex/maverick/maverick.js +0 -174
  57. package/build/dex/maverick/maverick.js.map +0 -1
  58. package/build/dex/maverick/subgraph-queries.d.ts +0 -4
  59. package/build/dex/maverick/subgraph-queries.js +0 -114
  60. package/build/dex/maverick/subgraph-queries.js.map +0 -1
  61. package/build/dex/maverick/types.d.ts +0 -46
  62. /package/build/dex/{maverick → test-aave-v3}/types.js +0 -0
@@ -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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"}
@@ -245,6 +245,7 @@ class RateFetcher {
245
245
  delete payload.secret;
246
246
  }
247
247
  const { data } = await this.dexHelper.httpRequest.request(payload);
248
+ this.logger.info(`Firm quote response for payload ${payload} is ${data}`);
248
249
  const firmRateResp = (0, validators_1.validateAndCast)(data, validators_1.firmRateResponseValidator);
249
250
  await (0, utils_1.checkOrder)(this.dexHelper.config.data.network, this.dexHelper.config.data.augustusRFQAddress, this.dexHelper.multiWrapper, firmRateResp.order, this.verifierContract);
250
251
  return {
@@ -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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"}
@@ -8,7 +8,7 @@ export declare const tokenValidator: joi.ObjectSchema<any>;
8
8
  export declare const tokensResponseValidator: joi.ObjectSchema<any>;
9
9
  export declare const pairValidator: joi.ObjectSchema<any>;
10
10
  export declare const pairsResponseValidator: joi.ObjectSchema<any>;
11
- export declare const priceValidator: joi.ObjectSchema<any>;
11
+ export declare const priceValidator: any;
12
12
  export declare const pricesResponse: joi.ObjectSchema<any>;
13
13
  export declare const validateAndCast: <T>(value: unknown, schema: joi.Schema, name?: string | undefined) => T;
14
14
  export declare const addressSchema: joi.StringSchema<string>;
@@ -70,47 +70,47 @@ const stringNumberValidator = (value, helpers) => {
70
70
  }
71
71
  return value;
72
72
  };
73
- const pricesValidatorWithoutSorting = joi_1.default
73
+ const pricesValidator = joi_1.default
74
74
  .array()
75
75
  .items(joi_1.default
76
76
  .array()
77
77
  .items(joi_1.default.string().min(1).custom(stringNumberValidator))
78
78
  .length(2));
79
79
  const ext = {
80
- type: 'sortedArray',
81
- base: pricesValidatorWithoutSorting,
80
+ type: 'validatedPrices',
81
+ base: joi_1.default.object({
82
+ bids: pricesValidator,
83
+ asks: pricesValidator,
84
+ }),
82
85
  rules: {
83
- asc: {
86
+ bidsLowerThanAsks: {
84
87
  validate: (values, helpers) => {
85
- const prices = values.map(numbers => new bignumber_js_1.default(numbers[0]));
86
- const isAscOrder = prices.every((x, i) => i === 0 || x.gte(prices[i - 1]));
87
- return isAscOrder
88
+ if (!values.bids ||
89
+ !values.asks ||
90
+ values.bids.length === 0 ||
91
+ values.asks.length === 0) {
92
+ return values;
93
+ }
94
+ const maxBid = values.bids
95
+ .map(numbers => new bignumber_js_1.default(numbers[0]))
96
+ .reduce((previousValue, currentValue) => currentValue.gte(previousValue) ? currentValue : previousValue, new bignumber_js_1.default(0));
97
+ const minAsk = values.asks
98
+ .map(numbers => new bignumber_js_1.default(numbers[0]))
99
+ .reduce((previousValue, currentValue) => currentValue.lte(previousValue) ? currentValue : previousValue, new bignumber_js_1.default('123456789012345678901234567890'));
100
+ return maxBid < minAsk
88
101
  ? values
89
102
  : helpers.message({
90
- custom: `array is not asc sorted ${JSON.stringify(values)}`,
91
- });
92
- },
93
- },
94
- desc: {
95
- validate: (values, helpers) => {
96
- const prices = values.map(numbers => new bignumber_js_1.default(numbers[0]));
97
- const isAscOrder = prices.every((x, i) => i === 0 || x.lte(prices[i - 1]));
98
- return isAscOrder
99
- ? values
100
- : helpers.message({
101
- custom: `array is not desc sorted ${JSON.stringify(values)}`,
103
+ custom: 'the maximum bid is higher than minimum ask',
102
104
  });
103
105
  },
104
106
  },
105
107
  },
106
108
  };
107
- const pricesArrayValidator = joi_1.default.extend(ext);
108
- exports.priceValidator = joi_1.default.object({
109
- bids: pricesArrayValidator.sortedArray().desc(),
110
- asks: pricesArrayValidator.sortedArray().asc(),
111
- });
109
+ exports.priceValidator = joi_1.default.extend(ext);
112
110
  exports.pricesResponse = joi_1.default.object({
113
- prices: joi_1.default.object().pattern(joi_1.default.string().min(1), exports.priceValidator),
111
+ prices: joi_1.default
112
+ .object()
113
+ .pattern(joi_1.default.string().min(1), exports.priceValidator.validatedPrices().bidsLowerThanAsks()),
114
114
  });
115
115
  const validateAndCast = (value, schema, name) => {
116
116
  const { error, value: parsed } = schema.validate(value);
@@ -158,12 +158,22 @@ const stringStartWithHex0x = (value, helpers) => {
158
158
  }
159
159
  return value;
160
160
  };
161
+ const mustBeAugustusSwapper = (value, helpers) => {
162
+ const allowedTakers = [
163
+ '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57'.toLowerCase(),
164
+ ];
165
+ return allowedTakers.includes(value.toLowerCase())
166
+ ? value
167
+ : helpers.message({
168
+ custom: `"order.taker" must be any of ${JSON.stringify(allowedTakers)}`,
169
+ });
170
+ };
161
171
  exports.orderWithSignatureValidator = joi_1.default
162
172
  .object({
163
173
  nonceAndMeta: joi_1.default.string().custom(stringPositiveBigIntValidator),
164
174
  expiry: joi_1.default.number().min(0),
165
175
  maker: exports.addressSchema.required(),
166
- taker: exports.addressSchema.required(),
176
+ taker: exports.addressSchema.required().custom(mustBeAugustusSwapper),
167
177
  makerAsset: exports.addressSchema.required(),
168
178
  takerAsset: exports.addressSchema.required(),
169
179
  makerAmount: joi_1.default
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/validators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap, AdapterMappings } from '../../types';
3
+ export declare const TestAaveV3Config: DexConfigMap<DexParams>;
4
+ export declare const Adapters: Record<number, AdapterMappings>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Adapters = exports.TestAaveV3Config = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.TestAaveV3Config = {
6
+ TestAaveV3: {
7
+ // TODO: complete me!
8
+ },
9
+ };
10
+ exports.Adapters = {
11
+ // TODO: add adapters for each chain
12
+ // This is an example to copy
13
+ [constants_1.Network.MAINNET]: { [constants_1.SwapSide.SELL]: [{ name: '', index: 0 }] },
14
+ };
15
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/test-aave-v3/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;IACV,qBAAqB;KACtB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,oCAAoC;IACpC,6BAA6B;IAC7B,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;CACjE,CAAC"}