Luizhatem/cow 566 fix uniswap bytecode bug #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixing the Uniswap V2 Bytecode bug, the contracts, when built using "forge build", were generating a different bytecode than the expected, the original UniswapV2Pair bytecode was needed in order to have the correct initPoolCode working in the UniswapV2Router and in the driver.toml, so this was critical.
Solution: Use the bytecode directly from the @uniswap/v2-core npm package, without building with forge.
How to test
Go to playground folder and run docker-compose -f docker-compose.offline.yml up -d
Run ./test_playground_offline.sh --sellToken DAI --buyToken USDC --sellAmount 100e18 --from 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d
If it doesn't throw the error "No Liquidity", it means it's working, because the driver.toml pool-code parameter is the original one.