let's say Liquidity on ETH/DAI pair is 5 ETH and 18652 DAI. At the time of this writing, I figured out how many DAI is 5ETH and 18652 was the number.
So 1eth costs costs 3730DAI
Now, let's say user puts 2ETH into the contract to get a DAI in exchange.
x * y = k
5 * 18652 = 93260 (at start)
since 2 ETH get in, 93260 / 7 = 13332.8571.. and
in the end, user gets 18652 - 13332.8571 = 5319 DAI
How is this possible ? it's unfair as 2 ETH should get him 2 * 3730 = 7460, but instead, uniswap gives him 5319.
Am I doing something wrong ? if you tell me that initial liquidity is not enough, I'd ask how ? 5 ETH seems to me a good starting point in any pool. No ?
I'd appreciate the nice explanation of what's going on here...