lightningnetwork / lnd

Lightning Network Daemon ⚡️
MIT License
7.64k stars 2.07k forks source link

[bug]: Remote Signer: ImportAccount: incorrect coin type in derivation path on testnet #8645

Open kaloudis opened 5 months ago

kaloudis commented 5 months ago

Background

Discovered originally in https://github.com/lightningnetwork/lnd/issues/8626. When importing a testnet account the coin type in the derivation path is incorrect, indicating mainnet.

ie. derivation path is incorrectly set to m/84'/0'/'0' instead of m/84'/1'/'0'.

This causes external signers to throw errors when attempting to sign PSBTs generated with FundPsbt.

I suspect the issue persists with signet accounts too.

Your environment

Steps to reproduce

Import xpub (tpub/vpub) from external witness pubkey hash testnet account using the ImportAccount endpoint.

Expected behaviour

Derivation should be set to m/84'/1'/'0'.

Actual behaviour

Derivation path is incorrectly set to m/84'/0'/'0'.

guggero commented 5 months ago

This likely needs to be fixed in btcwallet, but I guess there's also some change in lnd needed.

kaloudis commented 5 months ago

This likely needs to be fixed in btcwallet, but I guess there's also some change in lnd needed.

I believe you're correct. I write some cursory tests in btcwallet using testnet tpubs and the coin type was getting set correctly.