aboutsummaryrefslogtreecommitdiff
path: root/src/external_signer.cpp
AgeCommit message (Collapse)Author
2022-10-26Merge bitcoin/bitcoin#23578: Add external signer taproot supportfanquake
796b020c37c793674f9d614d5d70fd1ed65f0938 wallet: add taproot support to external signer (Sjors Provoost) Pull request description: Builds on #22558 (merged on 2022-06-28). [HWI 2.1.0](https://github.com/bitcoin-core/HWI/releases/tag/2.1.0) or newer is required to import and use taproot descriptors. Older versions will work, but won't import a taproot descriptor. Tested with HWI 2.1.1: * Trezor T (firmware v2.5.1) on Signet: signs, change detection works * Ledger Nano S (firmware 2.1.0, Bitcoin app 2.0.6): signs, change detection works Only the most basic `tr(key)` descriptor is supported, script path spending is completely untested (if it works at all). ACKs for top commit: jb55: utACK 796b020c37c793674f9d614d5d70fd1ed65f0938 achow101: ACK 796b020c37c793674f9d614d5d70fd1ed65f0938 Tree-SHA512: 6dcb7eeb45421a3bbf2bdabeacd29979867db69077d7bf192bb77faa4bfefe446487b8df07bc40f9457009a88e598bdc09f769e6106fed2833ace7ef205a157a
2022-10-04refactor: move run_command from util to commonCory Fields
Quoting ryanofsky: "util can be the library for things included in the kernel which the kernel can depend on, and common can be the library for other code that needs to be shared internally, but should not be part of the kernel or shared externally."
2022-10-04kernel: move RunCommandParseJSON to its own fileCory Fields
Because libbitcoinkernel does not include this new object, this has the side-effect of eliminating the unnecessary boost::process dependency.
2022-07-27refactor: Make const refs vars where applicableAurèle Oulès
This avoids initializing variables with the copy-constructor of a non-trivially copyable type.
2022-07-26refactor: remove unnecessary string initializationsfanquake
2022-06-28wallet: add taproot support to external signerSjors Provoost
2022-05-07parsing external signer master fingerprint string as bytes instead of caring ↵avirgovi
for lower/upper case in ExternalSigner::SignTransaction
2021-08-24external_signer: improve fingerprint matching logic (stop on first match)Sebastian Falbesoner
2021-06-16refactor: make ExternalSigner NetworkArg() and m_chain privateSjors Provoost
2021-06-16refactor: reduce #ifdef ENABLE_EXTERNAL_SIGNER usageSjors Provoost
In particular this make the node interface independent on whether external signer support is compiled.
2021-04-13external_signer: remove ExternalSignerExceptionfanquake
It's not clear why this need it's own exception class, as opposed to just throwing std::runtime_error().
2021-04-13external_signer: use const where appropriatefanquake
2021-04-13external_signer: remove ignore_errors from Enumerate()fanquake
This is undocumented and unused.
2021-04-13refactor: add missing includes to external signer codefanquake
2021-04-13refactor: move all signer code inside ENABLE_EXTERNAL_SIGNER #ifdefsfanquake
2021-04-08Move external signer out of wallet moduleSjors Provoost
This commit moves the ExternalSigner class and RPC methods out of the wallet module. The enumeratesigners RPC can be used without a wallet since #21417. With additional modifications external signers could be used without a wallet in general, e.g. via signrawtransaction. The signerdisplayaddress RPC is ranamed to walletdisplayaddress because it requires wallet context. A future displayaddress RPC call without wallet context could take a descriptor argument. This commit fixes a rpc_help.py failure when configured with --disable-wallet.