Uniswap / Uniswap/interface

Error in the Optimism Uniswap v3 contract ETH-WETH - lost 30 ETH

Open
#5,192 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
5.5k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

Bug Description
ETH transferred to the contract address, instead interacting with it, in Optimism

Steps to Reproduce

  1. Rabby wallet used for the transaction (https://rabby.io/) downloaded from chrome store. Brave browser (v 1.43.93) running in Windows 10 Home 21H2

  2. Connected to https://app.uniswap.org/#/swap

  3. Selected the Optimism blockchain.

  4. Swap 30 ETH to WETH in the UI. The button changed to "WRAP".

  5. Transaction signed and sent, but instead wrapping, it transferred the 30 ETH to other wallet (0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2), transaction hash 0x97be403fe3a77dc9a2083016d8bad2f69aae5a0574bda484726d0dcfb9704100

  6. 30 ETH lost
    ...

Expected Behavior
30 ETH should have been converted to 30 WETH

Additional Context
Notified UNISWAP support team two months ago, still no response as to what has happened. Contacted the RABBY team, they are aware of the failure and have had other notifications, they are unable to provide further details.

It seems that the contract that is referenced is the ETHEREUM Blockchain contract, rather than the Optimism WETH contract. Therefore, by interacting with the wrong contract, in the end, what it has done is to send the ETH to the address of the WETH contract on the ethereum blockchain.

This bug may be affecting networks other than ethereum.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository file, test, or entry point is identified. Start by reproducing the Optimism ETH-to-WETH flow described in the steps and inspect the referenced transaction and contract address. Done would require identifying why the Ethereum WETH address was used on Optimism and establishing a verified correction.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain, typescript
Domain
blockchain, frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.