elements/src/wallet
MarcoFalke 80e32e120e
Merge #20305: wallet: introduce fee_rate sat/vB param/option
05e82d86b0 wallet: override minfee checks (fOverrideFeeRate) for fee_rate (Jon Atack)
9a670b4f07 wallet: update sendtoaddress, send RPC examples with fee_rate (Jon Atack)
be481b72e2 wallet: use MIN_RELAY_TX_FEE in bumpfee help (Jon Atack)
449b730579 wallet: provide valid values if invalid estimate mode passed (Jon Atack)
6da3afbaee wallet: update remaining rpcwallet fee rate units to BTC/kvB (Jon Atack)
173b5b5fe0 wallet: update fee rate units, use sat/vB for fee_rate error messages (Jon Atack)
7f9835a05a wallet: remove fee rates from conf_target helps (Jon Atack)
b7994c01e9 wallet: add fee_rate unit warnings to bumpfee (Jon Atack)
410e471fa4 wallet: remove redundant bumpfee fee_rate checks (Jon Atack)
a0d4957473 wallet: introduce fee_rate (sat/vB) param/option (Jon Atack)
e21212f01b wallet: remove unneeded WALLET_BTC_KB_TO_SAT_B constant (Jon Atack)
6112cf20d4 wallet: add CFeeRate ctor doxygen documentation (Jon Atack)
3f72791613 wallet: fix bug in RPC send options (Jon Atack)

Pull request description:

  This PR builds on #11413 and #20220 to address #19543.

  - replace overloading the conf_target and estimate_mode params with `fee_rate` in sat/vB in the sendtoaddress, sendmany, send, fundrawtransaction, walletcreatefundedpsbt, and bumpfee RPCs

  - allow non-actionable conf_target value of `0` and estimate_mode value of `""` to be passed to use `fee_rate` as a positional argument, in addition to as a named argument

  - fix a bug in the experimental send RPC described in https://github.com/bitcoin/bitcoin/pull/20220#discussion_r513789526 where args were not being passed correctly into the options values

  - update the feerate error message units for these RPCs from BTC/kB to sat/vB

  - update the test coverage, help docs, doxygen docs, and some of the RPC examples

  - other changes to address the excellent review feedback

  See this wallet meeting log for more context: http://www.erisian.com.au/bitcoin-core-dev/log-2020-11-06.html#l-309

ACKs for top commit:
  achow101:
    re-ACK 05e82d8
  MarcoFalke:
    review ACK 05e82d86b0 did not test and found a few style nits, which can be fixed later 🍯
  Xekyo:
    tACK 05e82d86b0
  Sjors:
    utACK 05e82d86b0

Tree-SHA512: a4ee5f184ada53f1840b2923d25873bda88c5a2ae48e67eeea2417a0b35154798cfdb3c147b05dd56bd6608a784e1b91623bb985ee2ab9ef2baaec22206d0a9c
2020-11-17 13:49:12 +01:00
..
test Remove references to CreateWalletFromFile 2020-11-12 13:12:29 +08:00
bdb.cpp Determine wallet file type based on file magic 2020-10-14 11:28:18 -04:00
bdb.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +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 Refactor OutputGroups to handle effective values, fees, and filtering 2020-08-11 14:25:02 -04:00
coinselection.h Refactor OutputGroups to handle effective values, fees, and filtering 2020-08-11 14:25:02 -04: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 Convert wallet to new serialization 2020-05-24 10:34:52 -07:00
db.cpp refactor: Pass wallet database into CWallet::Create 2020-09-03 12:24:32 -04:00
db.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +01:00
feebumper.cpp [send] Make send RPCs return fee reason 2020-09-26 17:57:26 -07:00
feebumper.h wallet: Avoid translating RPC errors when creating txs 2020-05-01 07:39:06 -04:00
fees.cpp Remove unused includes 2019-10-15 22:56:43 +00:00
fees.h Remove uses of fee globals in wallet code 2019-02-22 15:43:02 -04:00
init.cpp wallet: Make -wallet setting not create wallets 2020-10-21 08:48:43 -04:00
ismine.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
load.cpp Ignoring (but warn) on duplicate -wallet parameters 2020-11-03 12:06:32 +01:00
load.h Do not create default wallet 2020-09-08 21:02:53 -04:00
rpcdump.cpp Merge #20153: wallet: do not import a descriptor with hardened derivations into a watch-only wallet 2020-11-09 20:19:00 +01:00
rpcwallet.cpp Merge #20305: wallet: introduce fee_rate sat/vB param/option 2020-11-17 13:49:12 +01:00
rpcwallet.h Assert that RPCArg names are equal to CRPCCommand ones (net, rpcwallet) 2020-09-22 20:49:30 +02:00
salvage.cpp wallet: Remove path checking code from bitcoin-wallet tool 2020-09-03 12:24:32 -04:00
salvage.h wallettool: Have RecoverDatabaseFile return errors and warnings 2020-07-26 20:22:45 -04:00
scriptpubkeyman.cpp wallet: upgrade the CHDChain version number when upgrading to split hd 2020-11-04 12:15:14 -05:00
scriptpubkeyman.h Merge #18836: wallet: upgradewallet fixes and additional tests 2020-11-16 11:03:25 +01:00
sqlite.cpp wallet: Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase 2020-11-05 20:48:41 +01:00
sqlite.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +01:00
wallet.cpp Merge #20305: wallet: introduce fee_rate sat/vB param/option 2020-11-17 13:49:12 +01:00
wallet.h Merge #20139: Wallet: do not return warnings from UpgradeWallet() 2020-11-17 12:43:43 +01:00
walletdb.cpp Make sqlite support optional (compile-time) 2020-10-20 13:44:43 +00:00
walletdb.h wallet: remove db mode string 2020-10-13 18:42:59 +07:00
wallettool.cpp Show name, format and if uses descriptors in bitcoin-wallet tool 2020-10-21 13:28:15 +02:00
wallettool.h wallet: Remove path checking code from bitcoin-wallet tool 2020-09-03 12:24:32 -04:00
walletutil.cpp Merge #18836: wallet: upgradewallet fixes and additional tests 2020-11-16 11:03:25 +01:00
walletutil.h wallet: Add GetClosestWalletFeature function 2020-10-19 00:14:38 -04:00