mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-03 17:54:19 +02:00
Merge #21467: Move external signer out of wallet module
88d4d5ff2frpc: add help for enumeratesigners and walletdisplayaddress (Sjors Provoost)b0db187e5bci: use --enable-external-signer instead of --with-boost-process (Sjors Provoost)b54b2e7b1aMove external signer out of wallet module (Sjors Provoost) Pull request description: In addition, this PR enables external signer testing on CI. This PR 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`. ACKs for top commit: ryanofsky: Code review ACK88d4d5ff2ffanquake: ACK88d4d5ff2fTree-SHA512: 3242a24e22313aed97eee32a520bfcb1c17495ba32a2b8e06a5e151e2611320e2da5ef35b572d84623af0a49a210d2f9377a2531250868d1a0ccf3e144352a97
This commit is contained in:
@@ -46,7 +46,7 @@ Display an address on the device:
|
||||
|
||||
```sh
|
||||
$ bitcoin-cli -rpcwallet=<wallet> getnewaddress
|
||||
$ bitcoin-cli -rpcwallet=<wallet> signerdisplayaddress <address>
|
||||
$ bitcoin-cli -rpcwallet=<wallet> walletdisplayaddress <address>
|
||||
```
|
||||
|
||||
Replace `<address>` with the result of `getnewaddress`.
|
||||
@@ -166,6 +166,6 @@ The `createwallet` RPC calls:
|
||||
|
||||
It then imports descriptors for all support address types, in a BIP44/49/84 compatible manner.
|
||||
|
||||
The `displayaddress` RPC reuses some code from `getaddressinfo` on the provided address and obtains the inferred descriptor. It then calls `<cmd> --fingerprint=00000000 displayaddress --desc=<descriptor>`.
|
||||
The `walletdisplayaddress` RPC reuses some code from `getaddressinfo` on the provided address and obtains the inferred descriptor. It then calls `<cmd> --fingerprint=00000000 displayaddress --desc=<descriptor>`.
|
||||
|
||||
`sendtoaddress` and `sendmany` check `inputs->bip32_derivs` to see if any inputs have the same `master_fingerprint` as the signer. If so, it calls `<cmd> --fingerprint=00000000 signtransaction <psbt>`. It waits for the device to return a (partially) signed psbt, tries to finalize it and broadcasts the transaction.
|
||||
|
||||
Reference in New Issue
Block a user