LedgerHQ / ledger-live-desktop

⛔️ DEPRECATED - Ledger Live (Desktop)
https://www.ledger.com/live
MIT License
954 stars 299 forks source link

"Can't add a new account before you've received assets on your old account" #3826

Open GentlemansKiller opened 3 years ago

GentlemansKiller commented 3 years ago

This is highly annoying and will really put a foot down on some plans i had for my ledger wallet's usage. Is there any reason for this? ive never seen any wallet that had this restriction. Can the ledger team consider taking this off?

I hate to complain, but it seems every day i use my ledger more, i find some reason for regretting my purchase... This is just one of the many little things that adds to it.

GentlemansKiller commented 3 years ago

been going through the source code.. is there at least a hacky way i can modify a line of code to create my own build that always allows addresses to be created? cant seem to find a way so far.

gre commented 3 years ago

I miss a bit context of what you are talking about, which coins? what "old account"?

Are you refering to BIP 44 spec that we follow strictly? when an account is empty, the discovery of accounts must stop.

Software should prevent a creation of an account if a previous account does not have a transaction history (meaning none of its addresses have been used before).

GentlemansKiller commented 3 years ago

I miss a bit context of what you are talking about, which coins? what "old account"?

Are you refering to BIP 44 spec that we follow strictly? when an account is empty, the discovery of accounts must stop.

Software should prevent a creation of an account if a previous account does not have a transaction history (meaning none of its addresses have been used before).

I was quoting the Ledger Live ui

ldgr

And to be fair, bitcoin is a single-use token that doesnt really have a scope over the vast blockchain scene, especially ethereum and smart contract platforms. And blockchain has changed a lot since 2014. Just because some bitcoin dev said something 7 years ago, it doesnt matter really.

Metamask allows you to add as many addresses as you want, and when it connects to ledger you can actually pick odd indexes of address (like you can pick the 3rd, 5th, and 10th, for example). And when you are doing large scale projects, like im trying to do, it's very distressing that I cannot add addresses as I please.

So now I have to opt for connecting through a secondary UI (metamask) on top of the ledger ui in order to do what I need.

ChrisCates commented 2 years ago

With @GentlemansKiller here. I'm not sure why following Bitcoin BIP makes any sense here. It's a terrible pattern even for Bitcoin.

Anyone actually working with any EVM blockchain can sometimes need upwards to hundreds of addresses. This is my issue right now. And this is a huge blocker. Would rather use Ledger than programatic generation with Truffle.

👎

gre commented 2 years ago

This is a topic the product team is aware of, but it's not just about BIP44, it's actually also about UX. It's much easier for a user to just have an automatic discovery of all accounts rather than having to pick from a list. And for 99% of our users, the discovery correctly find accounts, now it's about how we can manage to reconciliate an "advanced mode".

ChrisCates commented 2 years ago

@gre, the best UX would to have:

  1. A toggle for BIP 44 discoverability
  2. A way to automatically generate addresses (just have an input box where you can specify the number)

Me having to hold 100 addresses on a HDD instead of Ledger is a sub optimal security risk. These aren't for testnet contract deployments. But I don't really have a choice right now unless I plan on putting ETH in each one right now.

GentlemansKiller commented 2 years ago

@gre, the best UX would to have:

1. A toggle for BIP 44 discoverability

2. A way to automatically generate addresses (just have an input box where you can specify the number)

Me having to hold 100 addresses on a HDD instead of Ledger is a sub optimal security risk. These aren't for testnet contract deployments. But I don't really have a choice right now unless I plan on putting ETH in each one right now.

Sounds like a good idea to me. @ChrisCates for now you can use metamask as a workaround instead of storing privatekeys elsewhere. see my original comment above as well

ChrisCates commented 2 years ago

@GentlemansKiller it's too late for me brother. That Linux machine is hardened. But, obviously a Ledger has better OpSec than a Linux Machine.

Could you specify how you are able to do private key derivations in more detail (for the future).

ChrisCates commented 2 years ago

@GentlemansKiller OH! You meant Metamask.

Yea, love using Metamask for smart contract interactions. But having that on my Macbook would be worse OpSec for my case scenario.

Cheers man. Let's see what happens with @gre in the meantime.

kathodler commented 2 years ago

If empty accounts were allowed it might also mitigate this issue https://github.com/LedgerHQ/ledger-live-desktop/issues/4720