@paraswap/dex-lib 2.30.1 → 2.30.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
- package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
- package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
- package/build/abi/woo-fi/WooPP.abi.json +548 -0
- package/build/abi/woo-fi/Wooracle.abi.json +260 -0
- package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
- package/build/dex/aave-v3/tokens/avalanche.json +74 -0
- package/build/dex/aave-v3/tokens/fantom.json +62 -0
- package/build/dex/aave-v3/tokens/optimism.json +50 -0
- package/build/dex/aave-v3/tokens/polygon.json +116 -0
- package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
- package/build/dex/balancer-v2/LinearMath.js +179 -0
- package/build/dex/balancer-v2/LinearMath.js.map +1 -0
- package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
- package/build/dex/balancer-v2/LinearPool.js +324 -0
- package/build/dex/balancer-v2/LinearPool.js.map +1 -0
- package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
- package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
- package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
- package/build/dex/balancer-v2/StableMath.d.ts +9 -0
- package/build/dex/balancer-v2/StableMath.js +272 -0
- package/build/dex/balancer-v2/StableMath.js.map +1 -0
- package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
- package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
- package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
- package/build/dex/curve-v1-factory/config.js +17 -9
- package/build/dex/curve-v1-factory/config.js.map +1 -1
- package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -1
- package/build/dex/curve-v1-factory/curve-v1-factory.js +192 -177
- package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
- package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +4 -1
- package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +73 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +10 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +1 -1
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +2 -2
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
- package/build/dex/curve-v1-factory/types.d.ts +4 -1
- package/build/dex/curve-v1-factory/types.js +1 -0
- package/build/dex/curve-v1-factory/types.js.map +1 -1
- package/build/dex/quickswap-v3.d.ts +21 -0
- package/build/dex/quickswap-v3.js +40 -0
- package/build/dex/quickswap-v3.js.map +1 -0
- package/build/dex/solidly/forks-override/ramses.js +20 -8
- package/build/dex/solidly/forks-override/ramses.js.map +1 -1
- package/build/dex/solidly/solidly.js +1 -1
- package/build/dex/test-dex/config.d.ts +4 -0
- package/build/dex/test-dex/config.js +15 -0
- package/build/dex/test-dex/config.js.map +1 -0
- package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
- package/build/dex/test-dex/test-dex-pool.js +63 -0
- package/build/dex/test-dex/test-dex-pool.js.map +1 -0
- package/build/dex/test-dex/test-dex.d.ts +37 -0
- package/build/dex/test-dex/test-dex.js +126 -0
- package/build/dex/test-dex/test-dex.js.map +1 -0
- package/build/dex/test-dex/types.d.ts +6 -0
- package/build/dex/test-dex/types.js +3 -0
- package/build/dex/test-dex/types.js.map +1 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
- package/build/dex/uniswap-v3/types.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.js +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
- package/build/dex/woo-fi/config.d.ts +4 -0
- package/build/dex/woo-fi/config.js +141 -0
- package/build/dex/woo-fi/config.js.map +1 -0
- package/build/dex/woo-fi/constants.d.ts +5 -0
- package/build/dex/woo-fi/constants.js +20 -0
- package/build/dex/woo-fi/constants.js.map +1 -0
- package/build/dex/woo-fi/types.d.ts +48 -0
- package/build/dex/woo-fi/types.js +3 -0
- package/build/dex/woo-fi/types.js.map +1 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
- package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
- package/build/dex/woo-fi/woo-fi-math.js +300 -0
- package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
- package/build/dex/woo-fi/woo-fi.d.ts +65 -0
- package/build/dex/woo-fi/woo-fi.js +480 -0
- package/build/dex/woo-fi/woo-fi.js.map +1 -0
- package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
- package/package.json +1 -1
- package/src/dex/curve-v1-factory/config.ts +17 -9
- package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +19 -0
- package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +108 -45
- package/src/dex/curve-v1-factory/curve-v1-factory.ts +415 -367
- package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +4 -1
- package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +91 -1
- package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +11 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +1 -0
- package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +2 -1
- package/src/dex/curve-v1-factory/types.ts +3 -1
- package/src/dex/solidly/forks-override/ramses.ts +105 -76
- package/src/dex/solidly/solidly.ts +1 -1
- package/src/dex/uniswap-v3/types.ts +4 -2
- package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +50 -46
- package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +2 -15
- package/src/dex/uniswap-v3/uniswap-v3-pool.ts +5 -2
- package/src/dex/uniswap-v3/uniswap-v3.ts +1 -1
- package/tests/constants-e2e.ts +10 -0
- package/build/abi/algebra/AlgebraPool.abi.json +0 -727
- 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
|
@@ -12,7 +12,6 @@ import { StaticJsonRpcProvider } from '@ethersproject/providers';
|
|
|
12
12
|
import { generateConfig } from '../../config';
|
|
13
13
|
|
|
14
14
|
describe('UniswapV3 E2E', () => {
|
|
15
|
-
|
|
16
15
|
describe('UniswapV3', () => {
|
|
17
16
|
const dexKey = 'UniswapV3';
|
|
18
17
|
|
|
@@ -324,52 +323,57 @@ describe('UniswapV3 E2E', () => {
|
|
|
324
323
|
[SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
|
|
325
324
|
]);
|
|
326
325
|
|
|
327
|
-
const pairs: { name: string; sellAmount: string; buyAmount: string }[][] =
|
|
328
|
-
[
|
|
329
|
-
{
|
|
330
|
-
name: 'AVAX',
|
|
331
|
-
sellAmount: '1000000000000000000',
|
|
332
|
-
buyAmount: '500000',
|
|
333
|
-
},
|
|
334
|
-
{
|
|
335
|
-
name: 'USDT',
|
|
336
|
-
sellAmount: '1000000',
|
|
337
|
-
buyAmount: '10000000000000000000',
|
|
338
|
-
},
|
|
339
|
-
],
|
|
340
|
-
[
|
|
341
|
-
{
|
|
342
|
-
name: 'AVAX',
|
|
343
|
-
sellAmount: '1000000000000000000',
|
|
344
|
-
buyAmount: '500000',
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
name: 'USDC',
|
|
348
|
-
sellAmount: '1000000',
|
|
349
|
-
buyAmount: '1000000000000000000',
|
|
350
|
-
},
|
|
351
|
-
],
|
|
326
|
+
const pairs: { name: string; sellAmount: string; buyAmount: string }[][] =
|
|
352
327
|
[
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
328
|
+
[
|
|
329
|
+
{
|
|
330
|
+
name: 'AVAX',
|
|
331
|
+
sellAmount: '1000000000000000000',
|
|
332
|
+
buyAmount: '500000',
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
name: 'USDT',
|
|
336
|
+
sellAmount: '1000000',
|
|
337
|
+
buyAmount: '10000000000000000000',
|
|
338
|
+
},
|
|
339
|
+
],
|
|
340
|
+
[
|
|
341
|
+
{
|
|
342
|
+
name: 'AVAX',
|
|
343
|
+
sellAmount: '1000000000000000000',
|
|
344
|
+
buyAmount: '500000',
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
name: 'USDC',
|
|
348
|
+
sellAmount: '1000000',
|
|
349
|
+
buyAmount: '1000000000000000000',
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
[
|
|
353
|
+
{
|
|
354
|
+
name: 'WAVAX',
|
|
355
|
+
sellAmount: '1000000000000000000',
|
|
356
|
+
buyAmount: '500000',
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
name: 'USDC',
|
|
360
|
+
sellAmount: '1000000',
|
|
361
|
+
buyAmount: '20000000000000000',
|
|
362
|
+
},
|
|
363
|
+
],
|
|
364
|
+
[
|
|
365
|
+
{
|
|
366
|
+
name: 'WAVAX',
|
|
367
|
+
sellAmount: '1000000000000000000',
|
|
368
|
+
buyAmount: '10000000',
|
|
369
|
+
},
|
|
370
|
+
{ name: 'USDT', sellAmount: '1000000', buyAmount: '2000000000000' },
|
|
371
|
+
],
|
|
372
|
+
[
|
|
373
|
+
{ name: 'USDC', sellAmount: '1000000', buyAmount: '100000000' },
|
|
374
|
+
{ name: 'USDT', sellAmount: '100000000', buyAmount: '100000000' },
|
|
375
|
+
],
|
|
376
|
+
];
|
|
373
377
|
|
|
374
378
|
sideToContractMethods.forEach((contractMethods, side) =>
|
|
375
379
|
describe(`${side}`, () => {
|
|
@@ -28,7 +28,6 @@ const amounts = [
|
|
|
28
28
|
|
|
29
29
|
const amountsBuy = [0n, 1n * BI_POWS[18], 2n * BI_POWS[18], 3n * BI_POWS[18]];
|
|
30
30
|
|
|
31
|
-
|
|
32
31
|
const quoterIface = new Interface(UniswapV3QuoterV2ABI);
|
|
33
32
|
|
|
34
33
|
function getReaderCalldata(
|
|
@@ -43,13 +42,7 @@ function getReaderCalldata(
|
|
|
43
42
|
return amounts.map(amount => ({
|
|
44
43
|
target: exchangeAddress,
|
|
45
44
|
callData: readerIface.encodeFunctionData(funcName, [
|
|
46
|
-
[
|
|
47
|
-
tokenIn,
|
|
48
|
-
tokenOut,
|
|
49
|
-
amount.toString(),
|
|
50
|
-
fee.toString(),
|
|
51
|
-
0,
|
|
52
|
-
]
|
|
45
|
+
[tokenIn, tokenOut, amount.toString(), fee.toString(), 0],
|
|
53
46
|
]),
|
|
54
47
|
}));
|
|
55
48
|
}
|
|
@@ -499,15 +492,10 @@ describe('RamsesV2', () => {
|
|
|
499
492
|
beforeEach(async () => {
|
|
500
493
|
blockNumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
501
494
|
uniswapV3 = new UniswapV3(network, dexKey, dexHelper);
|
|
502
|
-
uniswapV3Mainnet = new UniswapV3(
|
|
503
|
-
Network.ARBITRUM,
|
|
504
|
-
dexKey,
|
|
505
|
-
dexHelper,
|
|
506
|
-
);
|
|
495
|
+
uniswapV3Mainnet = new UniswapV3(Network.ARBITRUM, dexKey, dexHelper);
|
|
507
496
|
});
|
|
508
497
|
|
|
509
498
|
it('getPoolIdentifiers and getPricesVolume SELL', async function () {
|
|
510
|
-
|
|
511
499
|
const amounts = [
|
|
512
500
|
0n,
|
|
513
501
|
6000000n,
|
|
@@ -566,7 +554,6 @@ describe('RamsesV2', () => {
|
|
|
566
554
|
});
|
|
567
555
|
|
|
568
556
|
it('getPoolIdentifiers and getPricesVolume BUY', async function () {
|
|
569
|
-
|
|
570
557
|
const amounts = [
|
|
571
558
|
0n,
|
|
572
559
|
6000000n,
|
|
@@ -11,7 +11,8 @@ import {
|
|
|
11
11
|
import { IDexHelper } from '../../dex-helper/idex-helper';
|
|
12
12
|
import {
|
|
13
13
|
PoolState,
|
|
14
|
-
DecodedStateMultiCallResultWithRelativeBitmaps,
|
|
14
|
+
DecodedStateMultiCallResultWithRelativeBitmaps,
|
|
15
|
+
DecodeStateMultiCallFunc,
|
|
15
16
|
} from './types';
|
|
16
17
|
import UniswapV3PoolABI from '../../abi/uniswap-v3/UniswapV3Pool.abi.json';
|
|
17
18
|
import { bigIntify, catchParseLogError, isSampled } from '../../utils';
|
|
@@ -60,7 +61,9 @@ export class UniswapV3EventPool extends StatefulEventSubscriber<PoolState> {
|
|
|
60
61
|
readonly dexHelper: IDexHelper,
|
|
61
62
|
parentName: string,
|
|
62
63
|
readonly stateMultiContract: Contract,
|
|
63
|
-
readonly decodeStateMultiCallResultWithRelativeBitmaps:
|
|
64
|
+
readonly decodeStateMultiCallResultWithRelativeBitmaps:
|
|
65
|
+
| DecodeStateMultiCallFunc
|
|
66
|
+
| undefined,
|
|
64
67
|
readonly erc20Interface: Interface,
|
|
65
68
|
protected readonly factoryAddress: Address,
|
|
66
69
|
public readonly feeCode: bigint,
|
|
@@ -279,7 +279,7 @@ export class UniswapV3
|
|
|
279
279
|
e,
|
|
280
280
|
);
|
|
281
281
|
} else {
|
|
282
|
-
// on
|
|
282
|
+
// on unknown error mark as failed and increase retryCount for retry init strategy
|
|
283
283
|
// note: state would be null by default which allows to fallback
|
|
284
284
|
this.logger.warn(
|
|
285
285
|
`${this.dexKey}: Can not generate pool state for srcAddress=${srcAddress}, destAddress=${destAddress}, fee=${fee} pool fallback to rpc and retry every ${this.config.initRetryFrequency} times, initRetryAttemptCount=${pool.initRetryAttemptCount}`,
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -299,6 +299,14 @@ export const Tokens: {
|
|
|
299
299
|
address: '0xc411db5f5eb3f7d552f9b8454b2d74097ccde6e3',
|
|
300
300
|
decimals: 6,
|
|
301
301
|
},
|
|
302
|
+
GHO: {
|
|
303
|
+
address: '0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f',
|
|
304
|
+
decimals: 18,
|
|
305
|
+
},
|
|
306
|
+
crvUSD: {
|
|
307
|
+
address: '0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E',
|
|
308
|
+
decimals: 18,
|
|
309
|
+
},
|
|
302
310
|
},
|
|
303
311
|
[Network.ROPSTEN]: {
|
|
304
312
|
DAI: {
|
|
@@ -908,6 +916,8 @@ export const Holders: {
|
|
|
908
916
|
aEthWETH: '0x645C4c0c95C1Aa6EF25d12f4a25038cA9b0C6Cc7',
|
|
909
917
|
dUSDC: '0x2FC2F705110A7F46Ce85F701d7217EF1018f01A3',
|
|
910
918
|
PSP: '0xE5E5440a1CE69C5cf67BFFA74d185e57c31b43E5',
|
|
919
|
+
crvUSD: '0xA920De414eA4Ab66b97dA1bFE9e6EcA7d4219635',
|
|
920
|
+
GHO: '0x844Dc85EdD8492A56228D293cfEbb823EF3E10EC',
|
|
911
921
|
},
|
|
912
922
|
[Network.ROPSTEN]: {
|
|
913
923
|
ETH: '0x43262A12d8610AA70C15DbaeAC321d51613c9071',
|