leather-io / extension

Leather browser extension
https://leather.io
MIT License
305 stars 143 forks source link

Ledger Device shows too much information when signing a Stacks contract call #4339

Open tycho1212 opened 1 year ago

tycho1212 commented 1 year ago

There’s a lot of clicking when interacting with Stacks DeFi apps through Ledger because I need to cycle through all the contract arguments before I can approve the transaction on the ledger device (you can try doing a swap on the Arkadiko/Alex dex with a ledger to see what I mean).

The Ethereum app for Ledger has a blind signing feature, allowing users to skip over all this information on the Ledger device and execute a contract call within 2-3 clicks on the device.

Blind signing on Ethereum = 2-3 clicks on Ledger

Signing a Swap tx on Stacks = 15-30 clicks on Ledger (multi-hop swaps can be particularly long + I haven’t tried something with a lot of arguments like a Magic swap, which is probably >30 clicks)

mica000 commented 10 months ago

@kyranjamie Is this something we have control or only Ledger?

kyranjamie commented 10 months ago

Nope. And even if we did, I wouldn't recommend.

Lots of clicking is better UX than blind signing a transaction that steals your money.

markmhendrickson commented 9 months ago

Lots of clicking is better UX than blind signing a transaction that steals your money.

I'm not sure I agree here in the sense that, if the user wants to blind sign, they're going to blind sign regardless of how many clicks we make them do. And by making them do those clicks, we're certainly making things more difficult for them than fewer clicks.

The Ethereum app for Ledger has a blind signing feature

Is our understanding that the Stacks app for Ledger lacks a feature that the Ethereum app for Ledger has?

tycho1212 commented 9 months ago

Is our understanding that the Stacks app for Ledger lacks a feature that the Ethereum app for Ledger has?

Ethereum works differently in that most DeFi apps on Ledger only support blind signing (probably has something to do with the fact that Solidity is compiled).

This ticket could lead to a potential quality of life improvement imo for Stacks DeFi users to make it less clicks to sign on Ledger. With Nakamoto I think I will likely miss blocks because I'm clicking 20x on Ledger before I can make a swap, which makes me consider not using Ledger at all (which is bad)