0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-04 13:55:23 -05:00
bitcoin-core/src
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
..
bench Only relay Taproot spends if next block has it active 2020-10-30 15:52:19 -07:00
compat
config
consensus doc: Move assumed-values doxygen comments to header 2020-10-15 11:28:13 +02:00
crc32c
crypto Merge #19845: net: CNetAddr: add support to (un)serialize as ADDRv2 2020-09-28 12:27:08 -07:00
index
interfaces [send] Make send RPCs return fee reason 2020-09-26 17:57:26 -07:00
leveldb
logging
node style and nits for fee-checking in BroadcastTransaction 2020-10-08 14:11:16 -07:00
policy wallet: update fee rate units, use sat/vB for fee_rate error messages 2020-11-12 11:43:03 +01:00
primitives Report and verify expirations 2020-10-12 12:14:53 -07:00
qt Merge bitcoin-core/gui#96: Slight improve create wallet dialog 2020-11-17 13:03:59 +01:00
rpc wallet: provide valid values if invalid estimate mode passed 2020-11-12 11:43:17 +01:00
script script: Make ComputeEntrySchnorr and ComputeEntryECDSA const to clarify contract 2020-10-16 06:26:46 +00:00
secp256k1 Update secp256k1 subtree to latest master 2020-10-27 23:08:48 -07:00
support
test Merge #20305: wallet: introduce fee_rate sat/vB param/option 2020-11-17 13:49:12 +01:00
univalue
util wallet: provide valid values if invalid estimate mode passed 2020-11-12 11:43:17 +01:00
wallet Merge #20305: wallet: introduce fee_rate sat/vB param/option 2020-11-17 13:49:12 +01:00
zmq zmq: Append address to notify log output 2020-10-01 00:33:38 +02:00
.clang-format
addrdb.cpp p2p: Add ReadAnchors() 2020-10-09 14:29:04 +03:00
addrdb.h p2p: Add ReadAnchors() 2020-10-09 14:29:04 +03:00
addrman.cpp
addrman.h addrman: ensure old versions don't parse peers.dat 2020-11-11 16:05:15 +01:00
amount.h
arith_uint256.cpp
arith_uint256.h
attributes.h
banman.cpp Ignore incorrectly-serialized banlist.dat entries 2020-10-12 15:35:08 -07:00
banman.h
base58.cpp
base58.h
bech32.cpp
bech32.h
bitcoin-cli-res.rc
bitcoin-cli.cpp cli -netinfo: print oversized/extreme ping times as "-" 2020-10-25 16:51:21 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp scripted diff: Improve invalid vout value rpc error message 2020-09-30 20:43:05 +03:30
bitcoin-wallet-res.rc
bitcoin-wallet.cpp doc: Document that wallet salvage is experimental 2020-10-30 13:53:28 +01:00
bitcoind-res.rc
bitcoind.cpp doc: Update comments for new chain settings (-signet and -chain=signet) 2020-09-22 22:32:25 +02:00
blockencodings.cpp
blockencodings.h
blockfilter.cpp
blockfilter.h
bloom.cpp
bloom.h
chain.cpp
chain.h
chainparams.cpp Merge #20238: doc: Missing comments for signet parameters 2020-11-16 10:40:56 +01:00
chainparams.h Remove gArgs global from CreateChainParams to aid testing 2020-09-29 10:20:05 +02:00
chainparamsbase.cpp net: Add alternative port for onion service 2020-09-29 09:59:51 +03:00
chainparamsbase.h net, refactor: Refactor CBaseChainParams::RPCPort function 2020-09-29 09:59:52 +03:00
chainparamsseeds.h net: Hardcoded seeds update for 0.21 2020-10-25 14:25:00 +01:00
checkqueue.h
clientversion.cpp
clientversion.h
coins.cpp
coins.h
compat.h
compressor.cpp
compressor.h
core_io.h
core_memusage.h
core_read.cpp Merge #17775: DecodeHexTx: Try case where txn has inputs first 2020-10-15 10:55:44 +02:00
core_write.cpp refactor: Avoid duplicate map lookup in ScriptToAsmStr 2020-09-04 10:25:44 +01:00
cuckoocache.h
dbwrapper.cpp
dbwrapper.h
dummywallet.cpp wallet: Remove -upgradewallet from dummywallet 2020-11-04 12:16:57 -05:00
flatfile.cpp
flatfile.h
fs.cpp
fs.h
hash.cpp Add TaggedHash function (BIP 340) 2020-10-12 02:06:32 -07:00
hash.h Add TaggedHash function (BIP 340) 2020-10-12 02:06:32 -07:00
httprpc.cpp
httprpc.h
httpserver.cpp
httpserver.h
indirectmap.h
init.cpp Remove references to CreateWalletFromFile 2020-11-12 13:12:29 +08:00
init.h
key.cpp
key.h
key_io.cpp
key_io.h
logging.cpp
logging.h
Makefile.am Make sqlite support optional (compile-time) 2020-10-20 13:44:43 +00:00
Makefile.bench.include Add libsqlite3 2020-10-14 11:18:12 -04:00
Makefile.crc32c.include
Makefile.leveldb.include
Makefile.qt.include Add libsqlite3 2020-10-14 11:18:12 -04:00
Makefile.qt_locale.include qt: Pre-splitoff translations update 2020-10-27 19:40:44 +01:00
Makefile.qttest.include Add libsqlite3 2020-10-14 11:18:12 -04:00
Makefile.test.include tests: Add fuzzing harness for CAddrMan 2020-11-12 14:23:17 +00:00
Makefile.test_fuzz.include
Makefile.test_util.include test: Mock IBD in net_processing fuzzers 2020-11-07 07:50:59 +01:00
memusage.h
merkleblock.cpp
merkleblock.h
miner.cpp
miner.h Remove mapLinks in favor of entry inlined structs with iterator type erasure 2020-09-04 09:46:44 -07:00
net.cpp Make it easier to reason about node eviction by removing unused NodeEvictionCandidate::addr (CAddress) 2020-11-04 12:22:06 +00:00
net.h Refactor test for existing peer connection into own function 2020-10-27 11:15:21 -04:00
net_permissions.cpp Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers 2020-10-12 12:14:53 -07:00
net_permissions.h Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers 2020-10-12 12:14:53 -07:00
net_processing.cpp Merge #20212: net: fix output of peer address in version message 2020-11-04 13:41:52 +01:00
net_processing.h Avoid calling CAddrMan::Connected() on block-relay-only peer addresses 2020-10-27 11:14:58 -04:00
net_types.h
netaddress.cpp Break circuit earlier 2020-11-16 15:54:24 -03:00
netaddress.h Merge #20033: refactor: minor whitespace fixups, s/const/constexpr/ and remove template (followup to #19845) 2020-11-16 07:57:34 +01:00
netbase.cpp net: update GetNetworkName() with all enum Network cases 2020-10-15 19:21:38 +02:00
netbase.h
netmessagemaker.h
noui.cpp
noui.h
optional.h
outputtype.cpp
outputtype.h
pow.cpp
pow.h
prevector.h
protocol.cpp net: advertise support for ADDRv2 via new message 2020-10-09 16:42:50 +02:00
protocol.h net: advertise support for ADDRv2 via new message 2020-10-09 16:42:50 +02:00
psbt.cpp
psbt.h
pubkey.cpp Implement Taproot validation (BIP 341) 2020-10-12 17:17:56 -07:00
pubkey.h Implement Taproot validation (BIP 341) 2020-10-12 17:17:56 -07:00
random.cpp
random.h
randomenv.cpp random: fixes read buffer resizing in RandAddSeedPerfmon 2020-10-07 20:46:49 -04:00
randomenv.h
rest.cpp Merge #19849: Assert that RPCArg names are equal to CRPCCommand ones (blockchain,rawtransaction) 2020-09-22 17:08:08 +02:00
reverse_iterator.h
scheduler.cpp
scheduler.h
serialize.h Support bypassing range check in ReadCompactSize 2020-10-09 10:32:19 +02:00
shutdown.cpp
shutdown.h
signet.cpp refactor: Remove SignetTxs::m_valid and use optional instead 2020-09-22 22:31:31 +02:00
signet.h refactor: Remove SignetTxs::m_valid and use optional instead 2020-09-22 22:31:31 +02:00
span.h
streams.h net: CAddress & CAddrMan: (un)serialize as ADDRv2 2020-10-09 16:42:49 +02:00
sync.cpp
sync.h Remove unused LockAssertion struct 2020-09-19 18:02:42 +03:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h
timedata.cpp Avoid the use of abs64 in timedata 2020-10-12 19:50:16 -07:00
timedata.h
tinyformat.h
torcontrol.cpp Merge #19954: Complete the BIP155 implementation and upgrade to TORv3 2020-10-11 08:51:57 +08:00
torcontrol.h net: Pass onion service target to Tor controller 2020-10-01 19:00:07 +03:00
txdb.cpp
txdb.h
txmempool.cpp Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
txmempool.h Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
txrequest.cpp p2p: declare Announcement::m_state as uint8_t, add getter/setter 2020-10-16 23:33:44 +02:00
txrequest.h Report and verify expirations 2020-10-12 12:14:53 -07:00
uint256.cpp Add txrequest module 2020-10-12 11:01:16 -07:00
uint256.h Add txrequest module 2020-10-12 11:01:16 -07:00
undo.h
validation.cpp Avoid signed integer overflow when loading a mempool.dat file with a malformed time field 2020-11-11 14:45:16 +00:00
validation.h test: Mock IBD in net_processing fuzzers 2020-11-07 07:50:59 +01:00
validationinterface.cpp Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
validationinterface.h Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
version.h net: CNetAddr: add support to (un)serialize as ADDRv2 2020-09-17 22:17:17 +02:00
versionbits.cpp
versionbits.h
versionbitsinfo.cpp Activate Taproot/Tapscript on regtest (BIP 341, BIP 342) 2020-10-12 17:18:47 -07:00
versionbitsinfo.h
walletinitinterface.h
warnings.cpp
warnings.h