From 08cc90461d1d3df92e949d1fa9cc2cb4edbc12bb Mon Sep 17 00:00:00 2001 From: Tiago Silva Date: Tue, 22 Aug 2023 17:13:11 +0100 Subject: [PATCH] Clean-up files --- src/dex/quickswap/quickswap-e2e.test.ts | 211 +++++++++++++++++++++++- 1 file changed, 210 insertions(+), 1 deletion(-) diff --git a/src/dex/quickswap/quickswap-e2e.test.ts b/src/dex/quickswap/quickswap-e2e.test.ts index 4b57c4eb6..64987fd2f 100644 --- a/src/dex/quickswap/quickswap-e2e.test.ts +++ b/src/dex/quickswap/quickswap-e2e.test.ts @@ -379,6 +379,215 @@ describe('QuickSwap', () => { ); }); + describe('Arbitrum', () => { + const network = Network.ARBITRUM; + const tokens = Tokens[network]; + const holders = Holders[network]; + const provider = new StaticJsonRpcProvider( + generateConfig(network).privateHttpProvider, + network, + ); + describe('Zyberswapv3', () => { + const dexKey = 'Zyberswapv3'; + + describe('Simpleswap', () => { + it('WETH -> USDC', async () => { + await testE2E( + tokens.WETH, + tokens.USDC, + holders.WETH, + '7000000000000000000', + SwapSide.SELL, + dexKey, + ContractMethod.simpleSwap, + network, + provider, + ); + }); + it('USDC -> WETH', async () => { + await testE2E( + tokens.USDC, + tokens.WETH, + holders.USDC, + '100000', + SwapSide.SELL, + dexKey, + ContractMethod.simpleSwap, + network, + provider, + ); + }); + it('WBTC -> USDC', async () => { + await testE2E( + tokens.WBTC, + tokens.USDC, + holders.WBTC, + '10000000', + SwapSide.SELL, + dexKey, + ContractMethod.simpleSwap, + network, + provider, + ); + }); + }); + + describe('Multiswap', () => { + it('WETH -> USDC', async () => { + await testE2E( + tokens.WETH, + tokens.USDC, + holders.WETH, + '7000000000000000000', + SwapSide.SELL, + dexKey, + ContractMethod.multiSwap, + network, + provider, + ); + }); + it('USDC -> WETH', async () => { + await testE2E( + tokens.USDC, + tokens.WETH, + holders.USDC, + '100000', + SwapSide.SELL, + dexKey, + ContractMethod.multiSwap, + network, + provider, + ); + }); + it('WBTC -> USDC', async () => { + await testE2E( + tokens.WBTC, + tokens.USDC, + holders.WBTC, + '10000000', + SwapSide.SELL, + dexKey, + ContractMethod.multiSwap, + network, + provider, + ); + }); + }); + }); + + describe('CamelotV3', () => { + const dexKey = 'CamelotV3'; + + const sideToContractMethods = new Map([ + [ + SwapSide.SELL, + [ + ContractMethod.simpleSwap, + ContractMethod.multiSwap, + ContractMethod.megaSwap, + ], + ], + [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]], + ]); + + const pairs: { + name: string; + sellAmount: string; + buyAmount: string; + }[][] = [ + [ + { + name: 'WBTC', + sellAmount: '1000', + buyAmount: '151080000000000', + }, + { + name: 'WETH', + sellAmount: '1050000000000', + buyAmount: '1000', + }, + ], + [ + { + name: 'WBTC', + sellAmount: '1000', + buyAmount: '1300000', + }, + { + name: 'USDC', + sellAmount: '1000000', + buyAmount: '1000', + }, + ], + [ + { + name: 'WETH', + sellAmount: '10000000000', + buyAmount: '10000000', + }, + { + name: 'USDC', + sellAmount: '10000000', + buyAmount: '10000000000', + }, + ], + [ + { + name: 'ETH', + sellAmount: '10000000000', + buyAmount: '10000000', + }, + { + name: 'USDC', + sellAmount: '10000000', + buyAmount: '10000000000', + }, + ], + ]; + + sideToContractMethods.forEach((contractMethods, side) => + describe(`${side}`, () => { + contractMethods.forEach((contractMethod: ContractMethod) => { + pairs.forEach(pair => { + describe(`${contractMethod}`, () => { + it(`${pair[0].name} -> ${pair[1].name}`, async () => { + await testE2E( + tokens[pair[0].name], + tokens[pair[1].name], + holders[pair[0].name], + side === SwapSide.SELL + ? pair[0].sellAmount + : pair[0].buyAmount, + side, + dexKey, + contractMethod, + network, + provider, + ); + }); + it(`${pair[1].name} -> ${pair[0].name}`, async () => { + await testE2E( + tokens[pair[1].name], + tokens[pair[0].name], + holders[pair[1].name], + side === SwapSide.SELL + ? pair[1].sellAmount + : pair[1].buyAmount, + side, + dexKey, + contractMethod, + network, + provider, + ); + }); + }); + }); + }); + }), + ); + }); + }); + describe('Fantom', () => { const network = Network.FANTOM; const tokens = Tokens[network]; @@ -476,4 +685,4 @@ describe('QuickSwap', () => { }); }); }); -}); \ No newline at end of file +});