Skip to content

[wallet/symbol/mobile] ETH → XYM: fee values in the swap summary don't add up #2445

Description

@cryptoBeliever

What was tested

Bridge swap from ETH to XYM. This one runs in two stages - first a swap on Uniswap (ETH to wXYM), then the bridge sends XYM to my Symbol account.

Steps

  1. Open Bridge, select ETH as source and XYM as target.
  2. Enter the amount — I used 0.001 ETH.
  3. Look at the summary box above the send button.
  4. Press send and look at the confirmation pop-up.

What app presents

Row Value
Amount 0.001 ETH
You send 0.001 Ether
Transaction Fee 0.0004461367008
Bridge Fee 0.750514 symbol.xym
You Receive 732.163013 symbol.xym

The "You Receive" figure is correct - that is what landed in my account. The problem is that the fee rows don't explain how we got there.

The Bridge Fee itself is fine

Before fees the bridge had 732.163013 + 0.750514 = 732.913527 XYM. Of that it charged 0.1% (0.732914 XYM) plus 0.0176 XYM for the Symbol transaction - exactly 0.750514 XYM. That row adds up.

But there's a much bigger fee that is never shown

Uniswap takes 0.3% on the swap in the first stage. That is 0.000003 ETH taken out of my 0.001 ETH — which, by the time it reaches my Symbol account, is worth about 2.2 XYM.

So the fee I can see (0.750514 XYM) is about a quarter of what is actually taken. The bigger one — roughly three times larger — is invisible. It just quietly shrinks "You Receive".

XYM
Bridge Fee (shown) 0.750514
Uniswap pool fee (not shown) ~2.205
Actually deducted ~2.956

Second problem: only one of the two gas payments is counted

Both stages need a transaction on Ethereum and I pay gas for both. The "Transaction Fee" row shows only the first one (0.0004461367008). The gas for the second transaction — the one that hands wXYM over to the bridge — is not in that number anywhere, even though I pay it.

Expected result

The numbers should reconcile. If I send 0.001 ETH and the app lists the fees, subtracting them should land on the receive amount. Right now roughly 2.2 XYM disappears with no explanation, and one of my two gas payments isn't mentioned.

I'd expect:

  • a separate row for the Uniswap fee, and
  • the Transaction Fee row to cover both Ethereum transactions.

Also noticed - confirmation pop-up

The pop-up lists two transactions to sign, and both show exactly the same gas fee. That looks wrong: one is a Uniswap swap and the other is a plain token transfer, so they shouldn't cost the same. It looks like the fee was worked out once for the first transaction and repeated for the second.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type: BugNot the ladybug kind, but the software gremlin kind.WalletFor all issues related to the wallet.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions