chainapsis / keplr-wallet

The most powerful wallet for the Cosmos ecosystem and the Interchain
https://www.keplr.app
Other
764 stars 456 forks source link

Inability to searching for Ledger Legacy addresses #930

Open loic2665 opened 10 months ago

loic2665 commented 10 months ago

Describe the bug (context is important) I'm not sure if this is a bug or a feature request, as the issue is a mix of usage limitation or inability to do some operations.

In one line : The Keplr wallet is not capable of searching for Ledger Legacy addresses (even with a custom derivation path)

To Reproduce Steps to reproduce the behavior:

  1. Add a wallet
  2. Use the Hardware wallet option with Ledger
  3. Try to use the advanced tab to use a different HD Path like m/44'/60'/0'

Expected behavior I expect the Keplr to accept input, but nothings show (except in the console)

Screenshots image

Device details (please complete the following information):

Context As part of a bridge transaction, I transfered some MATIC from the Polygon Blockchain to Injective blockchain using the (Wormhole) PortalBridge bridge. The Injective hub let the user to connect with the Ledger Hardware Wallet by HID (no extensions required), letting to choose the Ledger Live (New HD Path) and the Ledger Legacy (Old HD Path).

As a user of Ledger before the Ledger Live app era, I used the Ledger via the old HD Path for a long time, extensions arrived and proposed the old HD Path to use, and I stick with them.

The transaction on the bridge : https://wormholescan.io/#/tx/0x44fa5a83cb7619dad5ec4b69bbbb32ce07f2a7de096e1d94be168f833a4f7a6a?view=overview

The address terminating by C62P in Injective is the derivative key from the ETH address finishing by 334b. The PortalBridge want the key terminating by C62P to redeem the key. But Keplr use my address terminating by 0b4f (from BIP44) and it's derivative key in Injective is finishing by YG9K.

Now we have three commons paths : (code from this issue : https://github.com/MetaMask/metamask-extension/issues/6716) -- start of code

    getHdPaths () {
      return [
        {
          label: `Ledger Live`, // <---------- the first address with this path is the same as the first of BIP 44 (New Path)
          value: `m/44'/60'/0'/0/0`,
        },
        {
          label: `Legacy (BIP44)`, // <----------- the one that Keplr forces me to use (the frist is the same as New Path)
          value: `m/44'/60'/0'/0`,
        },
        {
          label: `Legacy (MEW / MyCrypto)`, // <----------- the one i want to use (Old Path)
          value: `m/44'/60'/0'`,
        },
      ]
    }

-- end of code

The Keplr app force me to use the Legacy (BIP44) Variant of the HD Path when I click the advanced button (as seen in the console). So I can't write the Legacy (MEW / MyCrypto) path.

When redeeming the coins on the PortalBridge the website forces me to use Keplr for a mystic reason, (it's their choice) but then comes the inability to do the custom path.

End of big text

I'm open to discussion if something is not clear. 😄 I'm sorry if the issue is wrongly categorized, feel free to change the section if applicable.

HeesungB commented 10 months ago

@loic2665 Hello, The Keplr Extension currently utilizes the latest BIP Path from Ledger Live. As of now, there are no plans to support other options.

mat4711213 commented 7 months ago

Hello, I'm running into the same issue. With chains like Dymensium, Injective, ... I have a legacy and a live account on my ledger. I would like to connect also to these blockchains via keplr in order to know my original blockchain addresses, to use the block explorers with these addresses. Think there are a lot of users which have the same request. Hope this could be done on keplr?!