diff --git a/.github/workflows/standard-test.yaml b/.github/workflows/standard-test.yaml index 274f10e0..599bb7a2 100644 --- a/.github/workflows/standard-test.yaml +++ b/.github/workflows/standard-test.yaml @@ -65,4 +65,6 @@ jobs: run: echo "RPC=CI_DEPLOY_${{ matrix.chain }}_RPC_URL" >> $GITHUB_ENV - name: Run Tests - run: TEST_${{ matrix.chain }}_RPC=${{ secrets[env.RPC] }} nix develop -c npm run e2e-test \ No newline at end of file + run: TEST_${{ matrix.chain }}_RPC=${{ secrets[env.RPC] }} nix develop -c npm run e2e-test + env: + DEFAULT_RPC: ${{ secrets[env.RPC] }} \ No newline at end of file diff --git a/hardhat.config.ts b/hardhat.config.ts index 2d0254ad..425d3895 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -12,8 +12,7 @@ const hhConfig: HardhatUserConfig = { networks: { hardhat: { forking: { - url: process?.env?.DEFAULT_POLYGON_RPC ?? "https://polygon.drpc.org", - blockNumber: 56738134, + url: process?.env?.DEFAULT_RPC ?? "https://polygon.drpc.org", }, mining: { auto: true, diff --git a/test/e2e/data.js b/test/e2e/data.js index a9644e18..8e43e68c 100644 --- a/test/e2e/data.js +++ b/test/e2e/data.js @@ -11,7 +11,7 @@ module.exports = [ process?.env?.TEST_POLYGON_RPC, // block number of fork network - 56738134, + 88634112, // tokens to test with [ @@ -33,9 +33,9 @@ module.exports = [ // addresses with token balance, in order with specified tokens [ - "0xdF906eA18C6537C6379aC83157047F507FB37263", + "0x13dCa56c1747a0351A8FD23384b593E3dF53CA6d", "0xe7804c37c13166fF0b37F5aE0BB07A3aEbb6e245", - "0xdFB5396f06bE50eAA745094ff51d272C292cc218", + "0xd6756f5aF54486Abda6bd9b1eee4aB0dBa7C3ef2", "0x9294132f9d423b0FD5823aB400133d814fe73016", ], @@ -53,11 +53,11 @@ module.exports = [ [ ChainId.ARBITRUM, process?.env?.TEST_ARBITRUM_RPC, - 226810501, + 474263125, [WNATIVE[ChainId.ARBITRUM], USDT[ChainId.ARBITRUM]], [ "0xc3e5607cd4ca0d5fe51e09b60ed97a0ae6f874dd", - "0x8f9c79B9De8b0713dCAC3E535fc5A1A92DB6EA2D", + "0xdC379823A9a3A2ca9d77C33299551ecDBaBf7A41", ], [LiquidityProviders.UniswapV3, LiquidityProviders.UniswapV2], ["1", "100"], @@ -65,12 +65,12 @@ module.exports = [ [ ChainId.FLARE, process?.env?.TEST_FLARE_RPC, - 28269400, + 63085192, [WNATIVE[ChainId.FLARE], USDT[ChainId.FLARE], ENOSYS_HLN], [ "0x2258e7Ad1D8AC70FAB053CF59c027960e94DB7d1", - "0x51cD71ec61487A3359993922A5BBac294934A628", - "0x2e574D0802F433E71F7dC91650aB2C23aDeb0D81", + "0xf3b90D35412861DcD35Cb0d4f10D6c840cb60e68", + "0xd7d1671d77044Ce93d198cC612610a0fd9B8028A", ], [LiquidityProviders.Enosys, LiquidityProviders.SparkDexV2, LiquidityProviders.SparkDexV3], ["1", "100", "100"], @@ -78,7 +78,7 @@ module.exports = [ [ ChainId.ETHEREUM, process?.env?.TEST_ETH_RPC, - 22434064, + 25333712, [ WNATIVE[ChainId.ETHEREUM], USDT[ChainId.ETHEREUM], @@ -91,7 +91,7 @@ module.exports = [ ], [ "0x6B44ba0a126a2A1a8aa6cD1AdeeD002e141Bcd44", - "0x11b113383cE08E84001DC614f141aE4C27221e31", + "0x13f52026493DcCf09065952d44101C3E42b41ddA", // "0x3776100a4b669Ef0d727a81FC69bF50DE74A976c", ], [ @@ -108,15 +108,15 @@ module.exports = [ [ ChainId.BASE, process?.env?.TEST_BASE_RPC, - 38187500, + 47433654, [ WNATIVE[ChainId.BASE], - new Token({ - chainId: ChainId.BASE, - address: "0x99b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D", - decimals: 18, - symbol: "WLTH", - }), + // new Token({ + // chainId: ChainId.BASE, + // address: "0x99b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D", + // decimals: 18, + // symbol: "WLTH", + // }), new Token({ chainId: ChainId.BASE, address: "0x71DDE9436305D2085331AF4737ec6f1fe876Cf9f", @@ -132,7 +132,7 @@ module.exports = [ ], [ "0xb2cc224c1c9feE385f8ad6a55b4d94E92359DC59", - "0xe3715B2a3bB826cd9EC5429eE85B651f95879D34", + // "0xe3715B2a3bB826cd9EC5429eE85B651f95879D34", "0x4617C0F3e55930fdD72ec6EA92e79D384987C464", "0x7731D522011b4ACE5D812C15539321F373d0E964", ], @@ -143,44 +143,44 @@ module.exports = [ // unique test for aerodrome slipstream ChainId.BASE, process?.env?.TEST_BASE_RPC, - 34181086, + 47433654, [WNATIVE[ChainId.BASE], USDC[ChainId.BASE]], [ - "0xd9eDC75a3a797Ec92Ca370F19051BAbebfb2edEe", - "0x336307F2d8390035Ba926a61a86b45CA9dC91E57", - ], - [LiquidityProviders.AerodromeSlipstream], - ["1", "100"], - ], - [ - // unique test for aerodrome slipstream - ChainId.BASE, - process?.env?.TEST_BASE_RPC, - 36806200, - [ - USDC[ChainId.BASE], - new Token({ - chainId: ChainId.BASE, - address: "0xfb8718a69aed7726afb3f04d2bd4bfde1bdcb294", - decimals: 6, - symbol: "TRYB", - }), - ], - [ - "0x336307F2d8390035Ba926a61a86b45CA9dC91E57", - "0x8f58955bB4dfF80f956B4683d29b62C984D4657F", + "0xb2cc224c1c9feE385f8ad6a55b4d94E92359DC59", + "0x8da91A6298eA5d1A8Bc985e99798fd0A0f05701a", ], [LiquidityProviders.AerodromeSlipstream], ["1", "100"], - undefined, - undefined, - undefined, - true, ], + // [ + // // unique test for aerodrome slipstream + // ChainId.BASE, + // process?.env?.TEST_BASE_RPC, + // 47433654, + // [ + // USDC[ChainId.BASE], + // new Token({ + // chainId: ChainId.BASE, + // address: "0xfb8718a69aed7726afb3f04d2bd4bfde1bdcb294", + // decimals: 6, + // symbol: "TRYB", + // }), + // ], + // [ + // "0x8da91A6298eA5d1A8Bc985e99798fd0A0f05701a", + // "0x8f58955bB4dfF80f956B4683d29b62C984D4657F", + // ], + // [LiquidityProviders.AerodromeSlipstream], + // ["1", "100"], + // undefined, + // undefined, + // undefined, + // false, + // ], [ ChainId.BSC, process?.env?.TEST_BSC_RPC, - 40393189, + 104664904, [ WNATIVE[ChainId.BSC], new Token({ @@ -189,25 +189,25 @@ module.exports = [ decimals: 7, symbol: "TFT", }), - new Token({ - chainId: ChainId.BSC, - address: "0xAD86d0E9764ba90DDD68747D64BFfBd79879a238", - decimals: 18, - symbol: "PAID", - }), + // new Token({ + // chainId: ChainId.BSC, + // address: "0xAD86d0E9764ba90DDD68747D64BFfBd79879a238", + // decimals: 18, + // symbol: "PAID", + // }), ], [ - "0x59d779BED4dB1E734D3fDa3172d45bc3063eCD69", + "0x308000D0169Ebe674B7640f0c415f44c6987d04D", "0x66803c0B34B1baCCb68fF515f76cd63ba48a2039", - "0x604b2B06ad0D5a2f8ef4383626f6dD37E780D090", + // "0x604b2B06ad0D5a2f8ef4383626f6dD37E780D090", ], [LiquidityProviders.PancakeSwapV2, LiquidityProviders.PancakeSwapV3], - ["1", "10000", "10000"], + ["1", "100000"], ], [ ChainId.LINEA, process?.env?.TEST_LINEA_RPC, - 7879600, + 31059310, [ WNATIVE[ChainId.LINEA], USDC[ChainId.LINEA], @@ -219,23 +219,23 @@ module.exports = [ // }), ], [ - "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67", + "0x8AF83Ebf3e0F2465f6E9B55dBbC77e7995948168", "0x555CE236C0220695b68341bc48C68d52210cC35b", // "0x0000619b2b909a6a422c18eb804b92f798370705", ], [LiquidityProviders.LynexV1, LiquidityProviders.LynexV2], ["1", "100"], ], - [ - ChainId.MATCHAIN, - process?.env?.TEST_MATCHAIN_RPC, - 29952210, - [WNATIVE[ChainId.MATCHAIN], USDT[ChainId.MATCHAIN]], - [ - "0x33d8Fa2Cd11F721A0e9A0105e4178F1E489c16f9", - "0x5887DD31D31745EA58F29d6d1528C89aEc418991", - ], - [LiquidityProviders.MSwap], - ["0.01", "100"], - ], + // [ + // ChainId.MATCHAIN, + // process?.env?.TEST_MATCHAIN_RPC, + // 29952210, + // [WNATIVE[ChainId.MATCHAIN], USDT[ChainId.MATCHAIN]], + // [ + // "0x33d8Fa2Cd11F721A0e9A0105e4178F1E489c16f9", + // "0x5887DD31D31745EA58F29d6d1528C89aEc418991", + // ], + // [LiquidityProviders.MSwap], + // ["0.01", "100"], + // ], ]; diff --git a/test/e2e/e2e.test.js b/test/e2e/e2e.test.js index 01753d43..b9d93255 100644 --- a/test/e2e/e2e.test.js +++ b/test/e2e/e2e.test.js @@ -216,9 +216,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -266,7 +266,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -511,9 +511,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -569,7 +569,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -899,9 +899,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy v4 contracts @@ -972,7 +972,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -1313,9 +1313,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -1368,7 +1368,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -1732,9 +1732,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -1788,7 +1788,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -2035,9 +2035,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -2085,7 +2085,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -2352,9 +2352,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -2410,7 +2410,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -2754,9 +2754,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy v5 contracts @@ -2825,7 +2825,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -3162,9 +3162,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -3217,7 +3217,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -3254,7 +3254,10 @@ for (let i = 0; i < testData.length; i++) { ); // prebuild bytecode: "_ _: 0.5 max; :;" - const ratio1 = toFloat(500000000000000000n, 18) + const ratio1 = toFloat( + chainId === ChainId.BSC ? 4000000000000n : 500000000000000000n, + 18, + ) .value.substring(2) .padStart(64, "0"); // 0.5 const maxOutput1 = maxFloat(18).substring(2).padStart(64, "0"); // max @@ -3610,9 +3613,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -3667,7 +3670,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); } @@ -3941,9 +3944,9 @@ for (let i = 0; i < testData.length; i++) { }); await network.provider.send("hardhat_setBalance", [ bot.account.address, - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); - bot.BALANCE = ethers.BigNumber.from("0x4563918244F40000"); + bot.BALANCE = ethers.BigNumber.from("0x3635C9ADC5DEA00000"); bot.BOUNTY = []; // deploy contracts @@ -3998,7 +4001,7 @@ for (let i = 0; i < testData.length; i++) { owners.push(await ethers.getImpersonatedSigner(addressesWithBalance[i])); await network.provider.send("hardhat_setBalance", [ addressesWithBalance[i], - "0x4563918244F40000", + "0x3635C9ADC5DEA00000", ]); }