rpc: Disallow sendtoaddress and sendmany when private keys disabled#21201
rpc: Disallow sendtoaddress and sendmany when private keys disabled#21201meshcollider merged 2 commits intobitcoin:masterfrom
Conversation
jonatack
left a comment
There was a problem hiding this comment.
ACK modulo test coverage. Here's a regression test commit that fails on master and passes with this patch jonatack@15a9bcc
b2ae6ee to
6bfbc97
Compare
|
Included @jonatack's test |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
kristapsk
left a comment
There was a problem hiding this comment.
ACK 6bfbc97. "Error: Private keys are disabled for this wallet" is definitely a better error message than "Insufficient funds" here. Hopefully change of error code from -6 to -4 doesn't break any software using Bitcoin JSON-RPC API.
|
You forgot to fix Currently prints |
No, that's intended and expected if there are no change addresses. |
|
Ah, ok thx. Also, tagged for |
Github-Pull: bitcoin#21201 Rebased-From: 0997019
Github-Pull: bitcoin#21201 Rebased-From: 6bfbc97
|
Backported in #20901 |
…ivate keys disabled 6bfbc97 test: disallow sendtoaddress/sendmany when private keys disabled (Jon Atack) 0997019 Disallow sendtoaddress and sendmany when private keys disabled (Andrew Chow) Pull request description: Since `sendtoaddress` and `sendmany` (which use the `SendMoney` function) create and commit a transaction, they should not do anything when the wallet does not have private keys. Otherwise a valid transaction cannot be made. Fixes bitcoin#21104 ACKs for top commit: jonatack: ACK 6bfbc97 meshcollider: utACK 6bfbc97 kristapsk: ACK 6bfbc97. "Error: Private keys are disabled for this wallet" is definitely a better error message than "Insufficient funds" here. Hopefully change of error code from -6 to -4 doesn't break any software using Bitcoin JSON-RPC API. Tree-SHA512: f277d6b5252e43942d568614032596f2c0827f00cd0cb71e44ffcb9822bfb15a71730a3e3688f31e59ba4eb7d275250c4e65ad4b6b3e96be6314c56a672432fb
Since
sendtoaddressandsendmany(which use theSendMoneyfunction) create and commit a transaction, they should not do anything when the wallet does not have private keys. Otherwise a valid transaction cannot be made.Fixes #21104