mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-09 21:47:34 +01:00
Move external signer out of wallet module
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.
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