wormhole-foundation / wormhole-connect

Wormhole Connect brings all the functionality and utility of Wormhole right into your application and removes all of the complexity.
https://connect-in-style.wormhole.com/
Other
80 stars 62 forks source link

[QA] Transaction fails with "Error: missing revert data" error #2603

Open tsadovska opened 1 month ago

tsadovska commented 1 month ago

Describe the current behavior in detail

Checked on https://preview.portalbridge.com/b1f3c5115d/ with macOS Sonoma 14.5 and Google Chrome Version 128.0.6613.120 (Official Build) (arm64).

Steps:

  1. Prepare to send 0.0001 USDC.e from Fantom (MetaMask) to Ethereum (MetaMask)
  2. Click on "Review transaction" button
  3. Click on "Confirm transaction" button

Actual result: Transaction fails.

Wormhole Connect: error completing transfer Error: missing revert data (action="estimateGas", data=null, reason=null, transaction={ "data": "0xb293f97f000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000020000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc70120000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc7012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000040100010000000000000000000000000000000000000000000000000000000000", "from": "0x9631288F4050F7CFbf77B77f8540DeCF6cfC7012", "to": "0x68dB2f05Aa2d77DEf981fd2be32661340c9222FB" }, invocation=null, revert=null, code=CALL_EXCEPTION, version=6.13.2)
    at makeError (pb-index-Cs8Ku0aW.js:273:19452)
    at getBuiltinCallException (pb-index-Cs8Ku0aW.js:274:107223)
    at Ju.getBuiltinCallException (pb-index-Cs8Ku0aW.js:274:108177)
    at Ys.getRpcError (pb-index-Cs8Ku0aW.js:274:211164)
    at Ys.getRpcError (evm-C7Q3nys6-CyNxXEFZ.js:7:1702)
    at pb-index-Cs8Ku0aW.js:274:215073

Expected result: Transaction proceeds without errors.

Notes/ Attachments

https://github.com/user-attachments/assets/8207a806-4659-4f8a-ab5c-18299232777c

agodlevska commented 1 month ago

Issue is reproducible on https://preview.portalbridge.com/b1f3c5115d/, when sending 0.0001 tBTC from Ethereum (Phantom/MetaMask) to Optimism (Phantom/MetaMask).

Error in console:

Wormhole Connect: error completing transfer Error: missing revert data (action="estimateGas", data=null, reason=null, transaction={ "data": "0xe4269fc400000000000000000000000018084fba666a33d37592fa2633fd49a74dd93a8800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf5f3f65102ae745a48bd521d10bab5bf02a9ef4000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000002c46111ad250000000000000000000000000000000000000000000000000000000000000f170000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000511e3424c41d82fc2ba67d8d35b09913b1e7da0c9e8557d1813fd96721a3fac9bb1f00000000000000000000000000000000000000000000000000000000000000016dfa43f824c3b8b61e715fe8bf447f2aba63e59ab537f186cf665152c2114c39000000000000000000000000d493066498ace409059fda4c1bcd2e73d8cffe0100000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d493066498ace409059fda4c1bcd2e73d8cffe0100000000000000000000000018084fba666a33d37592fa2633fd49a74dd93a88000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001e000000000000000000000000018084fba666a33d37592fa2633fd49a74dd93a8800000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000000066ebfd480000000000000000000000000000000000000000000000000000000066ebfd4800000000000000000000000000000000000000000000000000000000000017f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "from": "0xd493066498aCe409059fDA4c1bCD2E73D8cffE01", "to": "0x0654874eb7F59C6f5b39931FC45dC45337c967c3" }, invocation=null, revert=null, code=CALL_EXCEPTION, version=6.13.2)
    at makeError (pb-index-BwMC8vQL.js:269:19452)
    at getBuiltinCallException (pb-index-BwMC8vQL.js:270:107223)
    at Xu.getBuiltinCallException (pb-index-BwMC8vQL.js:270:108177)
    at Pi.getRpcError (pb-index-BwMC8vQL.js:270:211164)
    at Pi.getRpcError (evm-DQ0xlIWU-C9n4R-bW.js:7:2076)
    at pb-index-BwMC8vQL.js:270:215073

Attachment:

Screenshot 2024-09-19 at 12 09 37
tsadovska commented 1 month ago

Reproducible on https://preview.portalbridge.com/b1f3c5115d/ when sending 0.0001 tBTC from Ethereum (MetaMask) to Arbitrum (MetaMask).

image

agodlevska commented 4 weeks ago

Reproducible on https://preview.portalbridge.com/712d941311/ when sending 0.57 USDT from Polygon (Rabby) to Optimism (Rabby). Note: Transactions in the same scenario are completed successfully when using the Coinbase wallet.

Attachment:

Screenshot 2024-09-26 at 10 49 36
Wesleyleung commented 4 weeks ago

@agodlevska when performing the latest example with 0.57 USDT, did you have a decent amount of gas? Maybe simulation in Rabby found gas to be insufficient.

agodlevska commented 4 weeks ago

@Wesleyleung Yes, it was enough, I have the same account in Rabby and Coinbase. As I mentioned above, transaction with the same scenario was completed successfully without any errors when using the Coinbase wallet.

Wesleyleung commented 4 weeks ago

@agodlevska what route was attempted? The details are blank on the card in your screenshot (which seems like another issue). When I try to enter the same, I need at least 3 USDT

Screenshot 2024-09-26 at 10 41 24 AM
agodlevska commented 4 weeks ago

@Wesleyleung 0.57 USDT from Polygon (Rabby) to Optimism (Rabby) via MayanRouteSWIFT route. Sometimes the amount for the transaction can be less than what is indicated in the message (probably when multiple routes are available), for me it worked to send 0.57. Now the minimum amount for me is 0.63 USDT.

Attachment:

Screenshot 2024-09-26 at 17 51 29
sebastianscatularo commented 4 weeks ago

simulation was fine on my side, a network gas cost spike, maybe?

image
agodlevska commented 4 weeks ago

@Wesleyleung @sebastianscatularo Attempted to reproduce the reported issue, but transaction completed successfully. The issue did not reoccur, so error may have been caused by a gas spike at the time of the initial transaction but the Rabby wallet did not indicate that there was insufficient gas for the transaction.

Attachment:

https://github.com/user-attachments/assets/0fc41adf-c982-4e5c-966d-83308f9577ca