@paraswap/dex-lib 2.16.7 → 2.16.8-balancer-v2-buy
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/.idea/aws.xml +17 -0
- package/.idea/codeStyles/Project.xml +19 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/paraswap-dex-lib.iml +9 -0
- package/.idea/vcs.xml +6 -0
- package/build/config.js +4 -4
- package/build/dex/balancer-v2/balancer-v2.d.ts +14 -19
- package/build/dex/balancer-v2/balancer-v2.js +27 -22
- package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
- package/build/dex/balancer-v2/config.d.ts +2 -7
- package/build/dex/balancer-v2/config.js +20 -30
- package/build/dex/balancer-v2/config.js.map +1 -1
- package/build/dex/balancer-v2/pools/balancer-v2-pool.d.ts +25 -0
- package/build/dex/balancer-v2/pools/balancer-v2-pool.js +107 -0
- package/build/dex/balancer-v2/pools/balancer-v2-pool.js.map +1 -0
- package/build/dex/balancer-v2/pools/linear/LinearMath.d.ts +20 -0
- package/build/dex/balancer-v2/pools/linear/LinearMath.js +179 -0
- package/build/dex/balancer-v2/pools/linear/LinearMath.js.map +1 -0
- package/build/dex/balancer-v2/pools/linear/LinearPool.d.ts +50 -0
- package/build/dex/balancer-v2/pools/linear/LinearPool.js +458 -0
- package/build/dex/balancer-v2/pools/linear/LinearPool.js.map +1 -0
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.d.ts +10 -0
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js +314 -0
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js.map +1 -0
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.d.ts +50 -0
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js +367 -0
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js.map +1 -0
- package/build/dex/balancer-v2/pools/stable/StableMath.d.ts +7 -0
- package/build/dex/balancer-v2/pools/stable/StableMath.js +111 -0
- package/build/dex/balancer-v2/pools/stable/StableMath.js.map +1 -0
- package/build/dex/balancer-v2/pools/stable/StablePool.d.ts +30 -0
- package/build/dex/balancer-v2/pools/stable/StablePool.js +129 -0
- package/build/dex/balancer-v2/pools/stable/StablePool.js.map +1 -0
- package/build/dex/balancer-v2/pools/weighted/WeightedMath.d.ts +6 -0
- package/build/dex/balancer-v2/pools/weighted/WeightedMath.js +61 -0
- package/build/dex/balancer-v2/pools/weighted/WeightedMath.js.map +1 -0
- package/build/dex/balancer-v2/pools/weighted/WeightedPool.d.ts +30 -0
- package/build/dex/balancer-v2/pools/weighted/WeightedPool.js +112 -0
- package/build/dex/balancer-v2/pools/weighted/WeightedPool.js.map +1 -0
- package/build/dex/balancer-v2/types.d.ts +1 -0
- package/build/dex/balancer-v2/types.js.map +1 -1
- package/build/dex/balancer-v2/utils.d.ts +3 -2
- package/build/dex/balancer-v2/utils.js +6 -4
- package/build/dex/balancer-v2/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/config.ts +4 -4
- package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +538 -225
- package/src/dex/balancer-v2/balancer-v2-integration.test.ts +305 -122
- package/src/dex/balancer-v2/balancer-v2.ts +60 -56
- package/src/dex/balancer-v2/config.ts +23 -35
- package/src/dex/balancer-v2/pools/balancer-v2-pool.ts +274 -0
- package/src/dex/balancer-v2/{LinearMath.ts → pools/linear/LinearMath.ts} +11 -10
- package/src/dex/balancer-v2/{LinearPool.ts → pools/linear/LinearPool.ts} +210 -6
- package/src/dex/balancer-v2/{StableMath.ts → pools/phantom-stable/PhantomStableMath.ts} +101 -21
- package/src/dex/balancer-v2/{PhantomStablePool.ts → pools/phantom-stable/PhantomStablePool.ts} +167 -12
- package/src/dex/balancer-v2/pools/stable/StableMath.ts +204 -0
- package/src/dex/balancer-v2/pools/stable/StablePool.ts +221 -0
- package/src/dex/balancer-v2/pools/weighted/WeightedMath.ts +84 -0
- package/src/dex/balancer-v2/pools/weighted/WeightedPool.ts +189 -0
- package/src/dex/balancer-v2/types.ts +1 -0
- package/src/dex/balancer-v2/utils.ts +7 -1
- package/tests/constants-e2e.ts +33 -8
- package/build/abi/DirectSwap.json +0 -970
- package/build/dex/test-dex/config.d.ts +0 -4
- package/build/dex/test-dex/config.js +0 -15
- package/build/dex/test-dex/config.js.map +0 -1
- package/build/dex/test-dex/test-dex-pool.d.ts +0 -39
- package/build/dex/test-dex/test-dex-pool.js +0 -63
- package/build/dex/test-dex/test-dex-pool.js.map +0 -1
- package/build/dex/test-dex/test-dex.d.ts +0 -37
- package/build/dex/test-dex/test-dex.js +0 -126
- package/build/dex/test-dex/test-dex.js.map +0 -1
- package/build/dex/test-dex/types.d.ts +0 -6
- package/build/dex/test-dex/types.js +0 -3
- package/build/dex/test-dex/types.js.map +0 -1
- package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
- package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
- package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
- package/src/dex/balancer-v2/balancer-v2-pool.ts +0 -744
|
@@ -4,51 +4,63 @@ dotenv.config();
|
|
|
4
4
|
|
|
5
5
|
import { DummyDexHelper } from '../../dex-helper/index';
|
|
6
6
|
import { Network, SwapSide } from '../../constants';
|
|
7
|
-
import { BalancerV2
|
|
7
|
+
import { BalancerV2 } from './balancer-v2';
|
|
8
8
|
import { checkPoolPrices, checkPoolsLiquidity } from '../../../tests/utils';
|
|
9
9
|
import { BI_POWS } from '../../bigint-constants';
|
|
10
|
-
import { BalancerConfig } from './config';
|
|
11
10
|
import { Tokens } from '../../../tests/constants-e2e';
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
decimals: 18,
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const DAI = {
|
|
20
|
-
address: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
21
|
-
decimals: 18,
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const BBADAI = {
|
|
25
|
-
address: '0x804cdb9116a10bb78768d3252355a1b18067bf8f',
|
|
26
|
-
decimals: 18,
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const BBAUSD = {
|
|
30
|
-
address: '0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb2',
|
|
31
|
-
decimals: 18,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const MIMATIC = {
|
|
35
|
-
address: '0xa3fa99a148fa48d14ed51d610c367c61876997f1',
|
|
36
|
-
decimals: 18,
|
|
37
|
-
};
|
|
38
|
-
const USDC = {
|
|
39
|
-
address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174',
|
|
40
|
-
decimals: 6,
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const BBAUSD_PoolId =
|
|
44
|
-
'0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe';
|
|
45
|
-
const BBAUSDT_PoolId =
|
|
46
|
-
'0x2bbf681cc4eb09218bee85ea2a5d3d13fa40fc0c0000000000000000000000fd';
|
|
47
|
-
|
|
48
|
-
const amounts = [0n, BI_POWS[18], 2000000000000000000n];
|
|
11
|
+
import { BalancerV2Data } from './types';
|
|
12
|
+
import { PoolPrices } from '../../types';
|
|
13
|
+
|
|
14
|
+
const amounts = [ 0n, BI_POWS[18], 2000000000000000000n ];
|
|
49
15
|
|
|
50
16
|
const dexKey = 'BalancerV2';
|
|
51
17
|
|
|
18
|
+
async function getOnChainPricingForWeightedPool(
|
|
19
|
+
balancerV2: BalancerV2,
|
|
20
|
+
blockNumber: number,
|
|
21
|
+
poolPrice: PoolPrices<BalancerV2Data>,
|
|
22
|
+
amounts: bigint[],
|
|
23
|
+
srcTokenAddress: string,
|
|
24
|
+
destTokenAddress: string,
|
|
25
|
+
side: SwapSide,
|
|
26
|
+
): Promise<BigInt[]>{
|
|
27
|
+
return Promise.all(poolPrice.prices.map(async (price, index) => {
|
|
28
|
+
if(amounts[index] === 0n) {
|
|
29
|
+
return 0n;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const params = balancerV2.getBalancerParam(
|
|
33
|
+
srcTokenAddress,
|
|
34
|
+
destTokenAddress,
|
|
35
|
+
'0',
|
|
36
|
+
'0',
|
|
37
|
+
{
|
|
38
|
+
swaps: [
|
|
39
|
+
{ poolId: poolPrice.data.poolId, amount: amounts[index].toString() },
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
side,
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
const calldata = [
|
|
46
|
+
{
|
|
47
|
+
target: balancerV2.vaultAddress,
|
|
48
|
+
callData: balancerV2.eventPools.vaultInterface.encodeFunctionData('queryBatchSwap', params.slice(0, 4)),
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const results = (
|
|
53
|
+
await balancerV2.dexHelper.multiContract.methods
|
|
54
|
+
.aggregate(calldata)
|
|
55
|
+
.call({}, blockNumber)
|
|
56
|
+
).returnData;
|
|
57
|
+
|
|
58
|
+
const parsed = balancerV2.eventPools.vaultInterface.decodeFunctionResult('queryBatchSwap', results[0]);
|
|
59
|
+
const resultIndex = side === SwapSide.SELL ? parsed[0].length - 1 : 0;
|
|
60
|
+
return BigInt(parsed[0][resultIndex]._hex.replace('-', ''));
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
|
|
52
64
|
describe('BalancerV2', function () {
|
|
53
65
|
describe('ComposableStable', () => {
|
|
54
66
|
it('USDC -> USDT getPoolIdentifiers and getPricesVolume', async () => {
|
|
@@ -94,6 +106,8 @@ describe('BalancerV2', function () {
|
|
|
94
106
|
});
|
|
95
107
|
|
|
96
108
|
it('getPoolIdentifiers and getPricesVolume', async () => {
|
|
109
|
+
const MIMATIC = Tokens[Network.POLYGON]['MIMATIC'];
|
|
110
|
+
const USDC = Tokens[Network.POLYGON]['USDC'];
|
|
97
111
|
const dexHelper = new DummyDexHelper(Network.POLYGON);
|
|
98
112
|
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
99
113
|
const balancerV2 = new BalancerV2(Network.POLYGON, dexKey, dexHelper);
|
|
@@ -127,7 +141,9 @@ describe('BalancerV2', function () {
|
|
|
127
141
|
});
|
|
128
142
|
});
|
|
129
143
|
describe('Weighted', () => {
|
|
130
|
-
it('getPoolIdentifiers and getPricesVolume', async function () {
|
|
144
|
+
it('SELL getPoolIdentifiers and getPricesVolume BAL -> WETH', async function () {
|
|
145
|
+
const BAL = Tokens[Network.MAINNET]['BAL'];
|
|
146
|
+
const WETH = Tokens[Network.MAINNET]['WETH'];
|
|
131
147
|
const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
132
148
|
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
133
149
|
const balancerV2 = new BalancerV2(Network.MAINNET, dexKey, dexHelper);
|
|
@@ -135,35 +151,200 @@ describe('BalancerV2', function () {
|
|
|
135
151
|
await balancerV2.initializePricing(blocknumber);
|
|
136
152
|
|
|
137
153
|
const pools = await balancerV2.getPoolIdentifiers(
|
|
154
|
+
BAL,
|
|
138
155
|
WETH,
|
|
139
|
-
DAI,
|
|
140
156
|
SwapSide.SELL,
|
|
141
157
|
blocknumber,
|
|
142
158
|
);
|
|
143
|
-
console.log('
|
|
159
|
+
console.log('BAL <> WETH Pool Identifiers: ', pools);
|
|
144
160
|
|
|
145
161
|
expect(pools.length).toBeGreaterThan(0);
|
|
146
162
|
|
|
147
163
|
const poolPrices = await balancerV2.getPricesVolume(
|
|
164
|
+
BAL,
|
|
148
165
|
WETH,
|
|
149
|
-
DAI,
|
|
150
166
|
amounts,
|
|
151
167
|
SwapSide.SELL,
|
|
152
168
|
blocknumber,
|
|
153
169
|
pools,
|
|
154
170
|
);
|
|
155
|
-
console.log('
|
|
171
|
+
console.log('BAL <> WETH Pool Prices: ', poolPrices);
|
|
156
172
|
|
|
157
173
|
expect(poolPrices).not.toBeNull();
|
|
158
|
-
|
|
174
|
+
|
|
175
|
+
const onChainPrices = await getOnChainPricingForWeightedPool(
|
|
176
|
+
balancerV2,
|
|
177
|
+
blocknumber,
|
|
178
|
+
poolPrices![0],
|
|
179
|
+
amounts,
|
|
180
|
+
BAL.address,
|
|
181
|
+
WETH.address,
|
|
182
|
+
SwapSide.SELL,
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
console.log('BAL <> WETH on-chain prices: ', onChainPrices);
|
|
186
|
+
|
|
187
|
+
expect(onChainPrices).toEqual(poolPrices![0].prices);
|
|
188
|
+
|
|
189
|
+
await balancerV2.releaseResources();
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
it('BUY getPoolIdentifiers and getPricesVolume BAL -> WETH', async function () {
|
|
193
|
+
const BAL = Tokens[Network.MAINNET]['BAL'];
|
|
194
|
+
const WETH = Tokens[Network.MAINNET]['WETH'];
|
|
195
|
+
|
|
196
|
+
const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
197
|
+
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
198
|
+
const balancerV2 = new BalancerV2(Network.MAINNET, dexKey, dexHelper);
|
|
199
|
+
|
|
200
|
+
await balancerV2.initializePricing(blocknumber);
|
|
201
|
+
|
|
202
|
+
const pools = await balancerV2.getPoolIdentifiers(
|
|
203
|
+
BAL,
|
|
204
|
+
WETH,
|
|
205
|
+
SwapSide.BUY,
|
|
206
|
+
blocknumber,
|
|
207
|
+
);
|
|
208
|
+
console.log('BAL <> WETH Pool Identifiers: ', pools);
|
|
209
|
+
|
|
210
|
+
expect(pools.length).toBeGreaterThan(0);
|
|
211
|
+
|
|
212
|
+
const poolPrices = await balancerV2.getPricesVolume(
|
|
213
|
+
BAL,
|
|
214
|
+
WETH,
|
|
215
|
+
amounts,
|
|
216
|
+
SwapSide.BUY,
|
|
217
|
+
blocknumber,
|
|
218
|
+
pools,
|
|
219
|
+
);
|
|
220
|
+
console.log('BAL <> WETH Pool Prices: ', poolPrices);
|
|
221
|
+
|
|
222
|
+
expect(poolPrices).not.toBeNull();
|
|
223
|
+
|
|
224
|
+
const onChainPrices = await getOnChainPricingForWeightedPool(
|
|
225
|
+
balancerV2,
|
|
226
|
+
blocknumber,
|
|
227
|
+
poolPrices![0],
|
|
228
|
+
amounts,
|
|
229
|
+
BAL.address,
|
|
230
|
+
WETH.address,
|
|
231
|
+
SwapSide.BUY,
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
console.log('BAL <> WETH on-chain prices: ', onChainPrices);
|
|
235
|
+
|
|
236
|
+
expect(onChainPrices).toEqual(poolPrices![0].prices);
|
|
237
|
+
|
|
238
|
+
await balancerV2.releaseResources();
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
it('BUY getPoolIdentifiers and getPricesVolume for PSP -> WETH', async function () {
|
|
242
|
+
const PSP = Tokens[Network.MAINNET]['PSP'];
|
|
243
|
+
const WETH = Tokens[Network.MAINNET]['WETH'];
|
|
244
|
+
|
|
245
|
+
const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
246
|
+
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
247
|
+
const balancerV2 = new BalancerV2(Network.MAINNET, dexKey, dexHelper);
|
|
248
|
+
|
|
249
|
+
await balancerV2.initializePricing(blocknumber);
|
|
250
|
+
|
|
251
|
+
const pools = await balancerV2.getPoolIdentifiers(
|
|
252
|
+
PSP,
|
|
253
|
+
WETH,
|
|
254
|
+
SwapSide.BUY,
|
|
255
|
+
blocknumber,
|
|
256
|
+
);
|
|
257
|
+
console.log('PSP <> WETH Pool Identifiers: ', pools);
|
|
258
|
+
|
|
259
|
+
expect(pools.length).toBeGreaterThan(0);
|
|
260
|
+
|
|
261
|
+
const poolPrices = await balancerV2.getPricesVolume(
|
|
262
|
+
PSP,
|
|
263
|
+
WETH,
|
|
264
|
+
amounts,
|
|
265
|
+
SwapSide.BUY,
|
|
266
|
+
blocknumber,
|
|
267
|
+
pools,
|
|
268
|
+
);
|
|
269
|
+
console.log('PSP <> WETH Pool Prices: ', poolPrices);
|
|
270
|
+
|
|
271
|
+
expect(poolPrices).not.toBeNull();
|
|
272
|
+
|
|
273
|
+
const onChainPrices = await getOnChainPricingForWeightedPool(
|
|
274
|
+
balancerV2,
|
|
275
|
+
blocknumber,
|
|
276
|
+
poolPrices![0],
|
|
277
|
+
amounts,
|
|
278
|
+
PSP.address,
|
|
279
|
+
WETH.address,
|
|
280
|
+
SwapSide.BUY,
|
|
281
|
+
);
|
|
282
|
+
|
|
283
|
+
console.log('PSP <> WETH on-chain prices: ', onChainPrices);
|
|
284
|
+
|
|
285
|
+
expect(onChainPrices).toEqual(poolPrices![0].prices);
|
|
286
|
+
|
|
287
|
+
await balancerV2.releaseResources();
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
it('SELL getPoolIdentifiers and getPricesVolume for PSP -> WETH', async function () {
|
|
291
|
+
const PSP = Tokens[Network.MAINNET]['PSP'];
|
|
292
|
+
const WETH = Tokens[Network.MAINNET]['WETH'];
|
|
293
|
+
|
|
294
|
+
const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
295
|
+
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
296
|
+
const balancerV2 = new BalancerV2(Network.MAINNET, dexKey, dexHelper);
|
|
297
|
+
|
|
298
|
+
await balancerV2.initializePricing(blocknumber);
|
|
299
|
+
|
|
300
|
+
const pools = await balancerV2.getPoolIdentifiers(
|
|
301
|
+
PSP,
|
|
302
|
+
WETH,
|
|
303
|
+
SwapSide.SELL,
|
|
304
|
+
blocknumber,
|
|
305
|
+
);
|
|
306
|
+
console.log('PSP <> WETH Pool Identifiers: ', pools);
|
|
307
|
+
|
|
308
|
+
expect(pools.length).toBeGreaterThan(0);
|
|
309
|
+
|
|
310
|
+
const poolPrices = await balancerV2.getPricesVolume(
|
|
311
|
+
PSP,
|
|
312
|
+
WETH,
|
|
313
|
+
amounts,
|
|
314
|
+
SwapSide.SELL,
|
|
315
|
+
blocknumber,
|
|
316
|
+
pools,
|
|
317
|
+
);
|
|
318
|
+
console.log('PSP <> WETH Pool Prices: ', poolPrices);
|
|
319
|
+
|
|
320
|
+
expect(poolPrices).not.toBeNull();
|
|
321
|
+
|
|
322
|
+
const onChainPrices = await getOnChainPricingForWeightedPool(
|
|
323
|
+
balancerV2,
|
|
324
|
+
blocknumber,
|
|
325
|
+
poolPrices![0],
|
|
326
|
+
amounts,
|
|
327
|
+
PSP.address,
|
|
328
|
+
WETH.address,
|
|
329
|
+
SwapSide.SELL,
|
|
330
|
+
);
|
|
331
|
+
|
|
332
|
+
console.log('PSP <> WETH on-chain prices: ', onChainPrices);
|
|
333
|
+
|
|
334
|
+
expect(onChainPrices).toEqual(poolPrices![0].prices);
|
|
159
335
|
|
|
160
336
|
await balancerV2.releaseResources();
|
|
161
337
|
});
|
|
162
338
|
|
|
163
339
|
it('getTopPoolsForToken', async function () {
|
|
340
|
+
const WETH = Tokens[Network.MAINNET]['WETH'];
|
|
341
|
+
|
|
164
342
|
const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
343
|
+
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
165
344
|
const balancerV2 = new BalancerV2(Network.MAINNET, dexKey, dexHelper);
|
|
166
345
|
|
|
346
|
+
await balancerV2.initializePricing(blocknumber);
|
|
347
|
+
|
|
167
348
|
const poolLiquidity = await balancerV2.getTopPoolsForToken(
|
|
168
349
|
WETH.address,
|
|
169
350
|
10,
|
|
@@ -211,6 +392,7 @@ describe('BalancerV2', function () {
|
|
|
211
392
|
});
|
|
212
393
|
|
|
213
394
|
it('getTopPoolsForToken', async function () {
|
|
395
|
+
const BBADAI = Tokens[Network.MAINNET]['BBADAI'];
|
|
214
396
|
const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
215
397
|
const balancerV2 = new BalancerV2(Network.MAINNET, dexKey, dexHelper);
|
|
216
398
|
|
|
@@ -223,43 +405,43 @@ describe('BalancerV2', function () {
|
|
|
223
405
|
checkPoolsLiquidity(poolLiquidity, BBADAI.address, dexKey);
|
|
224
406
|
});
|
|
225
407
|
|
|
226
|
-
it('applies getRate to phantom bpt scaling factor', async function () {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
});
|
|
408
|
+
// it('applies getRate to phantom bpt scaling factor', async function () {
|
|
409
|
+
// const config = BalancerConfig[dexKey][Network.MAINNET];
|
|
410
|
+
// const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
411
|
+
// const tokens = Tokens[Network.MAINNET];
|
|
412
|
+
// const logger = dexHelper.getLogger(dexKey);
|
|
413
|
+
// const blocknumber = 15731000;
|
|
414
|
+
//
|
|
415
|
+
// const balancerPools = new BalancerV2EventPool(
|
|
416
|
+
// dexKey,
|
|
417
|
+
// Network.MAINNET,
|
|
418
|
+
// config.vaultAddress,
|
|
419
|
+
// config.subgraphURL,
|
|
420
|
+
// dexHelper,
|
|
421
|
+
// logger,
|
|
422
|
+
// );
|
|
423
|
+
//
|
|
424
|
+
// const state = await balancerPools.getOnChainState(
|
|
425
|
+
// [
|
|
426
|
+
// {
|
|
427
|
+
// id: BBAUSDT_PoolId,
|
|
428
|
+
// address: tokens.BBAUSDT.address,
|
|
429
|
+
// poolType: BalancerPoolTypes.AaveLinear,
|
|
430
|
+
// mainIndex: 1,
|
|
431
|
+
// wrappedIndex: 0,
|
|
432
|
+
// tokens: [tokens.BBAUSDT, tokens.aUSDT, tokens.USDT],
|
|
433
|
+
// mainTokens: [],
|
|
434
|
+
// },
|
|
435
|
+
// ],
|
|
436
|
+
// blocknumber,
|
|
437
|
+
// );
|
|
438
|
+
//
|
|
439
|
+
// expect(
|
|
440
|
+
// state[tokens.BBAUSDT.address].tokens[
|
|
441
|
+
// tokens.BBAUSDT.address
|
|
442
|
+
// ].scalingFactor!.toString(),
|
|
443
|
+
// ).toBe('1015472217207213567');
|
|
444
|
+
// });
|
|
263
445
|
});
|
|
264
446
|
|
|
265
447
|
describe('PhantomStable', () => {
|
|
@@ -304,6 +486,7 @@ describe('BalancerV2', function () {
|
|
|
304
486
|
// });
|
|
305
487
|
|
|
306
488
|
it('getTopPoolsForToken', async function () {
|
|
489
|
+
const BBAUSD = Tokens[Network.MAINNET]['BBAUSD'];
|
|
307
490
|
const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
308
491
|
const balancerV2 = new BalancerV2(Network.MAINNET, dexKey, dexHelper);
|
|
309
492
|
|
|
@@ -316,46 +499,46 @@ describe('BalancerV2', function () {
|
|
|
316
499
|
checkPoolsLiquidity(poolLiquidity, BBAUSD.address, dexKey);
|
|
317
500
|
});
|
|
318
501
|
|
|
319
|
-
it('applies getRate to phantom bpt scaling factor', async function () {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
});
|
|
502
|
+
// it('applies getRate to phantom bpt scaling factor', async function () {
|
|
503
|
+
// const config = BalancerConfig[dexKey][Network.MAINNET];
|
|
504
|
+
// const dexHelper = new DummyDexHelper(Network.MAINNET);
|
|
505
|
+
// const tokens = Tokens[Network.MAINNET];
|
|
506
|
+
// const logger = dexHelper.getLogger(dexKey);
|
|
507
|
+
// const blocknumber = 15731000;
|
|
508
|
+
//
|
|
509
|
+
// const balancerPools = new BalancerV2EventPool(
|
|
510
|
+
// dexKey,
|
|
511
|
+
// Network.MAINNET,
|
|
512
|
+
// config.vaultAddress,
|
|
513
|
+
// config.subgraphURL,
|
|
514
|
+
// dexHelper,
|
|
515
|
+
// logger,
|
|
516
|
+
// );
|
|
517
|
+
//
|
|
518
|
+
// const state = await balancerPools.getOnChainState(
|
|
519
|
+
// [
|
|
520
|
+
// {
|
|
521
|
+
// id: BBAUSD_PoolId,
|
|
522
|
+
// address: BBAUSD.address,
|
|
523
|
+
// poolType: BalancerPoolTypes.StablePhantom,
|
|
524
|
+
// mainIndex: 0,
|
|
525
|
+
// wrappedIndex: 0,
|
|
526
|
+
// tokens: [
|
|
527
|
+
// tokens.BBAUSDT,
|
|
528
|
+
// tokens.BBAUSD,
|
|
529
|
+
// tokens.BBADAI,
|
|
530
|
+
// tokens.BBAUSDC,
|
|
531
|
+
// ],
|
|
532
|
+
// mainTokens: [],
|
|
533
|
+
// },
|
|
534
|
+
// ],
|
|
535
|
+
// blocknumber,
|
|
536
|
+
// );
|
|
537
|
+
//
|
|
538
|
+
// expect(
|
|
539
|
+
// state[BBAUSD.address].tokens[BBAUSD.address].scalingFactor!.toString(),
|
|
540
|
+
// ).toBe('1015093119997891367');
|
|
541
|
+
// });
|
|
359
542
|
});
|
|
360
543
|
});
|
|
361
544
|
|