Uniswap / v3-periphery

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

Add 0.8 migration #278

Closed marktoda closed 2 years ago

marktoda commented 2 years ago

Migrate to 0.8.15, on a new branch 0.8. One setback is that NFTDescriptor was failing with an assembly stacktoodeep issue that I couldn't easily fix. Something to do with the new yul optimizer pipeline in 0.8 I think. I shimmed it out, just returning "" for tokenURI for now with comments to add back in at later point - this PR gets us 90% of the way there

marktoda commented 2 years ago

I don't think we should merge until we resolve the NFT descriptor issue

Agreed - was able to find a workaround. Apparently ABIEncoderv2 causes stacktoodeep on 0.8 with large structs pretty commonly: https://github.com/ethereum/solidity/issues/12343. Just broke the struct in half

nnnnicholas commented 3 months ago

@willpote @marktoda Is this ready branch in a finished and production ready state? Is there any reason it is not yet merged to main? Thank you!