Comments (10)
Are you able to check if the produced PSBT have both the witness-utxo and the non-witness-utxo fields?
For nested segwit transactions (P2SH-P2WPKH or P2SH-P2WSH), it's a known issue that the app returns fails to sign if either of witness-utxo and non-witness-utxo is missing (unlike other segwit transactions where a warning is shown if the non-witness-utxo is missing); the next release of the Ledger bitcoin app will fix this − but the warning can't be removed as signing is indeed less secure for those transactions without non-witness-utxo.
from hwi.
Yes, the PSBT does have both fields set. It is not privacy sensitive, so I have attached the file here.
from hwi.
The psbt is missing the global xpubs, which the app relies on to identify the internal keys.
Hopefully adding those will allow signing successfully.
from hwi.
Would you clarify? My understanding is that the bip32_derivs
field on each input maps master key fingerprints to derivation paths on a per-key basis. This mapping is configured in the PSBT, and so in principle there is enough data to identify the desired key. To compute the master fingerprint, I use the root xpub m
. While this has worked with past versions, the notion of master fingerprint is a little ambiguous in the literature, so perhaps that changed?
from hwi.
I'm referring to the PSBT_GLOBAL_XPUB
fields in the global map, per BIP-174; HWI uses them to reconstruct the exact multisig policy, and the app can't sign without that knowledge, because the multisig has to registered on the device first.
(It might have worked with versions of the Ledger bitcoin app before 2.1.0, but that wasn't very secure; from version 2.1.0, the multisig policy registration is compulsory − but HWI should be able to handle it)
from hwi.
Thanks for the advice! I'll give that a try.
from hwi.
I'm encountering something similar with a (native segwit) P2WSH multisig. Using the latest HWI master and the Ledger Bitcoin App 2.1.1. It seems that Bitcoin Core is not setting the global_xpubs
field when you call walletprocesspsbt
. cc @achow101
Having the device show a clear error message would be helpful here. As would more details in the --debug
log.
from hwi.
A workaround is to use Specter Desktop.
from hwi.
because the multisig has to registered on the device first.
How does one go about registering the multisig on the device? I'm not seeing the register command in the docs. Can this be done via HWI?
cc @bigspider
from hwi.
because the multisig has to registered on the device first.
How does one go about registering the multisig on the device? I'm not seeing the register command in the docs. Can this be done via HWI?
cc @bigspider
HWI doesn't currently have a specific API for that, as registration returns an hmac that is the responsibility of the caller to store. Therefore, at this time it registers the policy every time you show an address / spend from a multisig − which is redundant but at least it works.
I made a PoC of full integration some time back that also includes miniscript support.
from hwi.
Related Issues (20)
- Signing a P2WSH multisig input fails on updated Ledger firmware & Bitcoin app HOT 7
- [rfc] Require emulator/simulator for device support
- Base58 decode_check always returns invalid checksum HOT 2
- Ledger: Unable to sign non-standard derivation paths
- Support displaying Taproot addresses on Coldcard Edge (6+) firmware
- Bitbox fails to sign PSBT HOT 6
- ci bug HOT 1
- Support Trezor Safe 3 HOT 6
- Documentation: Typo?
- Trezor T can't sign >100 inputs HOT 12
- [Feature Request] Add ability to pass cli arguments with stdin HOT 3
- Windows thinks hwi.exe is a trojan HOT 8
- HWI issue with Trezor One and Sparrow (slow loading times)
- Conflict when more than wallet is connected via USB HOT 3
- pyside2 is deprecated, use pyside6 HOT 1
- Windows thinks the linux distribution is a trojan HOT 1
- Build with ubuntu-20.04 rather than ubuntu-latest HOT 2
- Any plan to support QA based AirGap Bitcoin hardware wallet ? HOT 2
- ✅
- The currently released 3.0.0 Linux binaries fail on Ubuntu 20.04 with `version 'GLIBC_2.35' not found`.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hwi.