v4-core
v4-core copied to clipboard
Treat WETH/ETH Interchangeably
Component
No response
Describe the suggested feature and problem it solves.
In the take() and settle() (as well as any ETH pools) WETH/ETH become interchangeable and users may withdraw or deposit either token. Pros
- Shared liquidity for pools with eth/weth.
- Integrations donβt need to worry about wrap/unwrap
Con:
- Must always check balance before withdrawal for solvency, must unwrap/wrap when balance is too low for desired currency.
- Core becomes opinionated about the canonical WETH.
- Muddying core with more logic that could be dealt with elsewhere
- Griefing poolManager is trivial (griefer can set poolManager to have only ETH)
- Solving liquidity fragmentation seems futile since it's already running rampant in v4 anyway
Describe the desired implementation.
No response
Describe alternatives.
No response
Additional context.
No response
It could indeed simplify the user experience, particularly for newcomers who might not be familiar with the concept of WETH and I don't think deciding on a "canonical" WETH could be seen as favoritism.
consider adding a 3rd custom WETH that is also interchangeable, and includes improvements like permit
fwiw I think the team is pretty split on this, without anyone being a diehard must-have, but we have some pretty strong no's. cons seem to outweigh the pros.