mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-06 21:14:27 +00:00
accounts/usbwallet, signer/core: show accounts from ledger legacy derivation paths (#21517)
* accounts/usbwallet, signer/core: un-hide accounts from ledger legacy derivation paths * Update accounts/usbwallet/wallet.go * Update signer/core/api.go * Update signer/core/api.go
This commit is contained in:
parent
c9643e9c90
commit
321bcff620
1 changed files with 9 additions and 5 deletions
|
|
@ -368,18 +368,22 @@ func (w *wallet) selfDerive() {
|
||||||
w.log.Warn("USB wallet nonce retrieval failed", "err", err)
|
w.log.Warn("USB wallet nonce retrieval failed", "err", err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
// If the next account is empty, stop self-derivation, but add for the last base path
|
// We've just self-derived a new account, start tracking it locally
|
||||||
|
// unless the account was empty.
|
||||||
|
path := make(accounts.DerivationPath, len(nextPaths[i]))
|
||||||
|
copy(path[:], nextPaths[i][:])
|
||||||
if balance.Sign() == 0 && nonce == 0 {
|
if balance.Sign() == 0 && nonce == 0 {
|
||||||
empty = true
|
empty = true
|
||||||
|
// If it indeed was empty, make a log output for it anyway. In the case
|
||||||
|
// of legacy-ledger, the first account on the legacy-path will
|
||||||
|
// be shown to the user, even if we don't actively track it
|
||||||
if i < len(nextAddrs)-1 {
|
if i < len(nextAddrs)-1 {
|
||||||
|
w.log.Info("Skipping trakcking first account on legacy path, use personal.deriveAccount(<url>,<path>, false) to track",
|
||||||
|
"path", path, "address", nextAddrs[i])
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// We've just self-derived a new account, start tracking it locally
|
|
||||||
path := make(accounts.DerivationPath, len(nextPaths[i]))
|
|
||||||
copy(path[:], nextPaths[i][:])
|
|
||||||
paths = append(paths, path)
|
paths = append(paths, path)
|
||||||
|
|
||||||
account := accounts.Account{
|
account := accounts.Account{
|
||||||
Address: nextAddrs[i],
|
Address: nextAddrs[i],
|
||||||
URL: accounts.URL{Scheme: w.url.Scheme, Path: fmt.Sprintf("%s/%s", w.url.Path, path)},
|
URL: accounts.URL{Scheme: w.url.Scheme, Path: fmt.Sprintf("%s/%s", w.url.Path, path)},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue