Uniswap / v3-periphery

🦄 🦄 🦄 Peripheral smart contracts for interacting with Uniswap v3
https://uniswap.org
GNU General Public License v2.0
1.19k stars 1.12k forks source link

Why lock WETH Interface at Solidity 0.8.15? #395

Open tomw1808 opened 3 months ago

tomw1808 commented 3 months ago

I hope I am not overstepping here with the question, but why lock at exactly 0.8.15 and not make it compatible to versions >= 0.8.0 and at least <= 0.8.26 (current) so that it works across other contracts too without needing to compile with different solc versions?

https://github.com/Uniswap/v3-periphery/blob/b325bb0905d922ae61fcc7df85ee802e8df5e96c/contracts/interfaces/external/IWETH9.sol#L2

Especially in the mix with Openzeppelin contracts, OZ proxies and other libraries, its somehow strange to have this one locked in at 0.8.15, while most other contracts are actually >= 0.7.x and work just fine with any 0.8.x as well. Yes, the obvious work around is to make a local copy - however, before doing that, I just want to make sure I'm not missing anything.

So the question: Was there a specific reason to lock it exactly at version 0.8.15?

And, if no, the follow-up question: Creating a PR and changing the version to >=0.8.0 and <= 0.8.26, how are the chances this will get approved?