Uniswap v4 support聽#337
Description
Uniswap v4 was recently announced: https://blog.uniswap.org/uniswap-v4
My commitment
I'm not sure how much time I'll have to work on it myself, but I am at minimum open to helping out with reviewing PRs etc.
Plan
Not sure if we should go for a full rewrite this time and rip out the v1/v2/v3 support (to clean up the codebase), perhaps ship it as a separate package uniswap-python-v4.
For now, we will work in the dev/v4 branch and make a new class to instantiate for v4. This seems like a good solution.
Work so far can be seen here: #340
Funding
I assume we will be able to acquire funding for this, given the Uniswap Grants Program (UGP) was satisfied with our work in the past. (as was Adam)
Misc
Might want to include example for hooks, here's one for example that sets trading hours in a silly way: https://twitter.com/eth_call/status/1675860109342253059
Activity
liquid-8 commentedon Jun 16, 2023
I've just read whitepaper, so it's kinda challenging to determine further development. From what I understand, they intend to drop old pools in favor of singleton contract. Most probably, liquidity providers will tend to migrate there as uni team declares pretty much attractive features for this contract. Hence, uni v2 and v3 pools will follow v1. I think we should wait for testnet deployment. At that moment it will be much easier to understand what way we should consider.
Regarding participation, I'd like to but I literally reside in Ukraine, so it's kinda hard to predict.
ErikBjare commentedon Jun 16, 2023
@liquid-8 Oh shit, didn't realize. If I can help in anyway, don't hesitate to ask.
I'm also eager for a testnet deployment, just wanted to send out notice well in advance :)
ErikBjare commentedon Jun 17, 2023
Someone YOLO-deployed v4 to Goerli: https://twitter.com/_prestwich/status/1669851049757401088
liquid-8 commentedon Jun 17, 2023
That's fine. It is possible now to make some drafts, at least. Also, I share your idea to ship that as a separate package. I doubt that we have to pay attention to the older versions from now on. However, there are plenty of v2/v3 clones; therefore, there is no need to purge previous versions' support from the codebase.
KeremP commentedon Jul 3, 2023
I agree a separate package is a good approach here - can leave the older versions untouched as Im sure most would try to migrate to v4 (given the optionality hooks could provide). Haven't dived into the whitepaper yet but definitely intrigued. Ill probably set aside some time and take a look this week.
liquid-8 commentedon Sep 13, 2023
Also, test deployment from Uni team at Sepolia
https://sepolia.etherscan.io/address/0xb69e301c95d4399a5b4777a193c518f77f60b841
snarflakes commentedon Feb 7, 2025
As an alternative to incorporating all the changes into the existing build, I recently built a Python-based script that makes it easy to execute SWAP_EXACT_IN swaps using Uniswap v4 Universal Router on L2.
Here鈥檚 the repo: https://github.com/snarflakes/uniswap-python-swapper
I鈥檇 love to know if you think this could be helpful for your users? Or build off of it?
Thanks for building such a great tool, i've used it extensively鈥攍ooking forward to your thoughts!
Best,
Snar
ErikBjare commentedon Jul 28, 2026
Support for Uniswap V4 was merged today in #418, will release v0.8.0 with it soon.