0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-04 10:07:27 -05:00
bitcoin-bitcoin-core/src/wallet
Samuel Dobson 3a2d5bfeb3
Merge #21201: rpc: Disallow sendtoaddress and sendmany when private keys disabled
6bfbc97d71 test: disallow sendtoaddress/sendmany when private keys disabled (Jon Atack)
0997019e76 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 #21104

ACKs for top commit:
  jonatack:
    ACK 6bfbc97d71
  meshcollider:
    utACK 6bfbc97d71
  kristapsk:
    ACK 6bfbc97d71. "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
2021-02-19 14:00:48 +13:00
..
test Change BOOST_CHECK to BOOST_CHECK_EQUAL to see mismatched values when a check fails. 2021-02-09 15:00:02 +01:00
bdb.cpp Merge #20464: refactor: Treat CDataStream bytes as uint8_t 2021-02-01 15:17:28 +01:00
bdb.h wallet: Add BerkeleyDB version sanity check at init time 2021-01-17 18:10:20 +01:00
coincontrol.cpp [rpc] walletcreatefundedpsbt: don't automatically append inputs 2020-03-12 13:07:17 +01:00
coincontrol.h [rpc] walletcreatefundedpsbt: don't automatically append inputs 2020-03-12 13:07:17 +01:00
coinselection.cpp Merge #20040: wallet: Refactor OutputGroups to handle fees and spending eligibility on grouping 2021-02-01 22:43:17 +13:00
coinselection.h Merge #20040: wallet: Refactor OutputGroups to handle fees and spending eligibility on grouping 2021-02-01 22:43:17 +13:00
context.cpp Remove g_rpc_chain global 2020-05-28 02:13:19 -04:00
context.h wallet: Pass unused args to StartWallets 2020-07-09 13:07:37 +02:00
crypter.cpp Fix occurences of c_str() used with size() to data() 2019-10-28 13:41:45 +01:00
crypter.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
db.cpp wallet: List all wallets in non-SQLite or non-BDB builds 2020-12-04 11:03:28 -04:00
db.h refactor: Consolidate redundant wallet database path and exists functions 2020-12-04 11:03:28 -04:00
dump.cpp wallettool: Add createfromdump command 2020-12-16 12:33:06 -05:00
dump.h wallettool: Add createfromdump command 2020-12-16 12:33:06 -05:00
feebumper.cpp Merge #20584: Declare de facto const reference variables/member functions as const 2021-01-07 09:05:09 +01:00
feebumper.h wallet: Avoid translating RPC errors when creating txs 2020-05-01 07:39:06 -04:00
fees.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
fees.h
init.cpp wallet: Add BerkeleyDB version sanity check at init time 2021-01-17 18:10:20 +01:00
interfaces.cpp Merge #20275: wallet: List all wallets in non-SQLite and non-BDB builds 2020-12-12 09:20:11 +01:00
ismine.h doc: Add developer documentation to isminetype 2021-01-19 19:04:45 +08:00
load.cpp Replace fs::absolute calls with AbsPathJoin calls 2021-01-15 22:48:15 +01:00
load.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
rpcdump.cpp Merge #20211: Use -Wswitch for TxoutType where possible 2021-02-11 11:48:12 +01:00
rpcwallet.cpp Merge #21201: rpc: Disallow sendtoaddress and sendmany when private keys disabled 2021-02-19 14:00:48 +13:00
rpcwallet.h Assert that RPCArg names are equal to CRPCCommand ones (net, rpcwallet) 2020-09-22 20:49:30 +02:00
salvage.cpp refactor: Drop call to GetWalletEnv in wallet salvage code 2020-12-04 11:03:28 -04:00
salvage.h wallettool: Have RecoverDatabaseFile return errors and warnings 2020-07-26 20:22:45 -04:00
scriptpubkeyman.cpp Merge #19136: wallet: add parent_desc to getaddressinfo 2021-02-18 21:51:16 +13:00
scriptpubkeyman.h Merge #19136: wallet: add parent_desc to getaddressinfo 2021-02-18 21:51:16 +13:00
sqlite.cpp refactor: Consolidate redundant wallet database path and exists functions 2020-12-04 11:03:28 -04:00
sqlite.h doc: fix various typos 2021-01-04 12:31:31 +08:00
wallet.cpp Merge #20040: wallet: Refactor OutputGroups to handle fees and spending eligibility on grouping 2021-02-01 22:43:17 +13:00
wallet.h Merge #20040: wallet: Refactor OutputGroups to handle fees and spending eligibility on grouping 2021-02-01 22:43:17 +13:00
walletdb.cpp wallet: load flags before everything else 2021-02-09 19:01:15 +01:00
walletdb.h Include wallet/bdb.h where it is actually being used 2020-11-18 11:55:43 -05:00
wallettool.cpp refactor: Move all command dependend checks to ExecuteWalletToolFunc 2021-01-21 19:30:34 +01:00
wallettool.h refactor: Move all command dependend checks to ExecuteWalletToolFunc 2021-01-21 19:30:34 +01:00
walletutil.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
walletutil.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00