leather-io / extension

Leather browser extension
https://leather.io
MIT License
295 stars 140 forks source link

Issues reported with saturnbtc dot io #5341

Open 314159265359879 opened 5 months ago

314159265359879 commented 5 months ago

Connecting Leather reveals a different address on the dapp (native segwit) then shown for the account in Leather.

It looks like they are using a different derivation path ("trading wallet"), it isn't anything along the account path I recognize nor the change or address path for this account in Leather. I guess it makes sense if you are depositing to an exchange address here to use the orderbook. image

image

And signing transactions isn't possible. image

A user that already had tokens in the wallet tries to withdraw them and the transaction popup appears but confirming leads to the popover closing and not transmitting any transaction.

From this address on Saturn https://mempool.space/address/bc1qq27xdxqh9a6z4dlqhwdwu555k5wvlfjthtwa5vxfklzvj7zsqjwqlg3lsy they try to send to the BTC balance address on Leather: bc1ql3glqrqqeryn0ty9ryaez8h72qte467fdse25q, I see in the screenshot that they are signing a transaction to send the 0.0012 BTC, I want to confirm the receiving address. image

If somehow Saturn can only access the taproot address and not the native segwit address can the wallet still handle covering fees?

markmhendrickson commented 5 months ago

The account's Taproot address (as shown in the wallet UI) appears for me as "Main Wallet" whereas I'm not sure either how they derive a different address for "Trading Wallet":

https://github.com/leather-wallet/extension/assets/28991/548952bf-2e6e-4668-b367-be3d3d2721c5

314159265359879 commented 4 months ago

I am not sure why they show a native segwit address as a Leather address it has a 62 character length. We only show native segwit addresses in Leather of 42 characters in length. The 62 length address is of the P2WSH (pay-to-witness-script-hash) type, whereas 42 characters is P2WPKH (Pay-to-witness-public-key-hash)

I think it makes sense that this is an (decentralized-)exchange(or some kind of multisig)-address to make orderbook trading possible and cheap. But that would mean this is an address controlled by/with Saturn and not (just) the user and Leather. Showing it as a Leather address could be considered misleading (or at the very least confusing) if that is the case. It is implied by the logo here: image

Proposed fix: It would make more sense to show a Saturn logo there.

(note for the main wallet the taproot address is displayed which does correspond with the ordinal inscription address in Leather) image

Shailee connected with the team shortly after I posted the initial issue and they said they fixed it. I am still unable to deposit funds to test this dapp: image

I will check with the user to see if they are able to withdraw their funds now.

314159265359879 commented 4 months ago

It doesn't look like anything is fixed. The user I checked with says they are still unable to withdraw funds from the platform.