dash/src
Samuel Dobson 290a75c15c Merge #17290: Enable BnB coin selection for preset inputs and subtract fee from outputs
b007efdf1910db1d38671d6435d2f379bbf847d2 Allow BnB when subtract fee from outputs (Andrew Chow)
db15e71e79b24601853703bebd1c92f4b523fd5f Use BnB when preset inputs are selected (Andrew Chow)

Pull request description:

  Currently we explicitly disable BnB when there are preset inputs selected or when the subtract fee from outputs option is enabled. This PR enables BnB for both cases.

  Kind of an alternative to #17246 (implements the subtract fee from outputs part of it) and borrows a test from there too.

ACKs for top commit:
  instagibbs:
    reACK b007efdf19
  Sjors:
    re-ACK b007efdf1910db1d38671d6435d2f379bbf847d2

Tree-SHA512: 933276b09b2fa2ab43db7f0b98762f06f6f5fa8606195f96aca9fa1cb71ae4ee7156028dd482b1cada82ddd0996a9daf12ea5c152589fdf192cd96cbc51e99df
2023-04-17 19:34:02 +03:00
..
bench Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
bls ci: upgrade cppcheck to 2.10; fix / suppress reported issues (#5328) 2023-04-16 12:08:33 -05:00
coinjoin Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
compat revert dash#1432: Rename consensus source library and API 2022-08-09 14:16:28 +05:30
config
consensus Merge #17624: net: Fix an uninitialized read in ProcessMessage(…, "tx", …) when receiving a transaction we already have 2023-04-17 10:42:25 -05:00
crc32c
crypto partial revert dash#2911: s/dash-config/bitcoin-config/g 2022-08-09 14:16:28 +05:30
dashbls build: stop tracking cmake dependency relic_conf.h.in 2023-03-16 16:37:02 +00:00
evo Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
governance refactor: use enums instead of random const ints (#5322) 2023-04-16 12:09:37 -05:00
immer build: fix gitian builds 2023-01-03 14:51:16 +03:00
index merge bitcoin#20749: Prune g_chainman usage related to ::LookupBlockIndex 2023-04-04 12:41:45 -05:00
interfaces Merge bitcoin/bitcoin#23644: wallet: Replace confusing getAdjustedTime() with GetTime() 2023-04-17 11:17:34 -05:00
leveldb Merge bitcoin/bitcoin#25739: Update leveldb subtree (#5005) 2022-09-23 18:43:39 +04:00
llmq Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
logging Merge #18088: build: ensure we aren't using GNU extensions 2023-03-03 23:07:16 +05:30
masternode feat!: 4k collateral high performance masternode implementation (#5039) 2023-02-14 12:48:33 -06:00
node Merge bitcoin/bitcoin#23644: wallet: Replace confusing getAdjustedTime() with GetTime() 2023-04-17 11:17:34 -05:00
policy Merge #16507: feefilter: Compute the absolute fee rather than stored rate 2023-04-17 10:42:25 -05:00
primitives Merge #18859: Remove CCoinsViewCache::GetValueIn(...) 2023-03-03 23:07:15 +05:30
qt Merge #17195: gui: send amount placeholder value 2023-04-17 10:42:25 -05:00
rpc Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
script Merge #17439: refactor: Use proper MAX_SCRIPT_ELEMENT_SIZE constants consistently 2023-04-17 19:34:02 +03:00
secp256k1
support fix: Fix missing includes (#5295) 2023-04-05 21:20:41 -05:00
test Merge #17388: Add missing newline in util_ChainMerge test 2023-04-17 19:34:02 +03:00
univalue merge bitcoin#22646: tighter Univalue integration, remove --with-system-univalue (#4823) 2022-05-02 10:31:46 -05:00
util Merge bitcoin/bitcoin#23760: util: move MapIntoRange() for reuse in fuzz tests 2023-04-17 11:17:34 -05:00
wallet Merge #17290: Enable BnB coin selection for preset inputs and subtract fee from outputs 2023-04-17 19:34:02 +03:00
zmq refactor: use enums instead of random const ints (#5322) 2023-04-16 12:09:37 -05:00
.clang-format
addrdb.cpp merge bitcoin#19314: Use uint16_t instead of unsigned short 2022-10-20 16:08:45 -05:00
addrdb.h merge bitcoin#19219: Replace automatic bans with discouragement filter 2022-06-21 19:11:49 +05:30
addressindex.h Merge #16908: txmempool: Make entry time type-safe (std::chrono) 2022-10-03 16:08:31 -04:00
addrman.cpp merge bitcoin#21016: remove boost::thread_group usage 2023-01-19 03:42:51 +00:00
addrman.h merge bitcoin#20291: Consolidate logic around calling CAddrMan::Connected() 2023-02-28 00:11:11 +03:00
amount.h
arith_uint256.cpp
arith_uint256.h
attributes.h
banman.cpp feat(rpc): Added RPC cleardiscouraged (#5273) 2023-03-29 11:23:45 -05:00
banman.h feat(rpc): Added RPC cleardiscouraged (#5273) 2023-03-29 11:23:45 -05:00
base58.cpp merge bitcoin#20429: replace (sizeof(a)/sizeof(a[0])) with C++17 std::size 2022-11-01 00:28:53 -05:00
base58.h Merge #17511: Add bounds checks before base58 decoding 2022-06-08 12:33:00 +07:00
batchedlogger.cpp chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
batchedlogger.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
bech32.cpp
bech32.h
bip39_english.h
bip39.cpp
bip39.h
bitcoin-cli.cpp Merge bitcoin/bitcoin#22914: util: remove libevent <= 2.0.18 back-compat code 2023-04-17 11:17:34 -05:00
bitcoin-tx.cpp Merge #15452: Replace CScriptID and CKeyID in CTxDestination with dedicated types 2023-02-10 23:34:57 +03:00
bitcoin-wallet.cpp trivial: revert dashification of source and header filenames 2022-08-09 14:16:29 +05:30
bitcoind.cpp Merge #16489: log: harmonize bitcoind logging 2023-04-06 20:14:58 +03:00
blockencodings.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
blockencodings.h
blockfilter.cpp Merge bitcoin/bitcoin#23760: util: move MapIntoRange() for reuse in fuzz tests 2023-04-17 11:17:34 -05:00
blockfilter.h
bloom.cpp Merge #18806: net: remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix 2023-01-22 00:27:52 -06:00
bloom.h Merge #18806: net: remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix 2023-01-22 00:27:52 -06:00
cachemap.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
cachemultimap.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
chain.cpp
chain.h
chainparams.cpp feat!: v20 BIP9 fork (#5121) 2023-04-14 17:01:46 -05:00
chainparams.h refactor: tweak GetLLMQ to fail gracefully and let caller handle results accordingly (#5247) 2023-03-13 11:11:17 -05:00
chainparamsbase.cpp merge bitcoin#19991: Use alternative port for incoming Tor connections 2023-04-17 08:30:49 +00:00
chainparamsbase.h merge bitcoin#19991: Use alternative port for incoming Tor connections 2023-04-17 08:30:49 +00:00
chainparamsseeds.h Update hard coded seeds for v18.0.0-rc12 (#4953) 2022-08-11 01:57:13 +03:00
checkqueue.h Merge bitcoin/bitcoin#23397: Avoid excessive lock contention in CCheckQueue::Add 2022-04-11 09:41:11 -07:00
clientversion.cpp Merge bitcoin/bitcoin#22685: clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE 2022-05-11 11:03:39 -05:00
clientversion.h partial revert dash#2911: s/dash-config/bitcoin-config/g 2022-08-09 14:16:28 +05:30
coins.cpp Merge #18859: Remove CCoinsViewCache::GetValueIn(...) 2023-03-03 23:07:15 +05:30
coins.h Merge #18859: Remove CCoinsViewCache::GetValueIn(...) 2023-03-03 23:07:15 +05:30
compat.h partial revert dash#2911: s/dash-config/bitcoin-config/g 2022-08-09 14:16:28 +05:30
compressor.cpp Merge bitcoin/bitcoin#18847: compressor: use a prevector in CompressScript serialization [ZAP1] 2023-04-14 23:34:13 -05:00
compressor.h Merge bitcoin/bitcoin#18847: compressor: use a prevector in CompressScript serialization [ZAP1] 2023-04-14 23:34:13 -05:00
context.h merge bitcoin#18766: disable fee estimation in blocksonly mode (by removing the fee estimates global) 2023-02-28 00:11:11 +03:00
core_io.h merge bitcoin#15508: Refactor analyzepsbt for use outside RPC code 2022-09-24 08:51:04 +05:30
core_memusage.h
core_read.cpp merge bitcoin#25057: replace remaining boost::split with SplitString 2023-01-19 03:49:04 +00:00
core_write.cpp Merge #15452: Replace CScriptID and CKeyID in CTxDestination with dedicated types 2023-02-10 23:34:57 +03:00
ctpl_stl.h refactor/chore: update cppcheck to 2.8 with needed refactoring (#4926) 2022-08-11 02:05:44 +03:00
cuckoocache.h Merge #17634: qt: Fix comparison function signature 2022-06-16 01:34:38 -04:00
cxxtimer.hpp test/refactor: upgrade to cppcheck 2.9 and fix warnings (#5049) 2022-10-18 13:24:00 +03:00
dash-cli-res.rc Merge #20223: build: Drop the leading 0 from the version number 2022-04-28 13:47:53 +03:00
dash-tx-res.rc Merge #20223: build: Drop the leading 0 from the version number 2022-04-28 13:47:53 +03:00
dash-wallet-res.rc Merge #20223: build: Drop the leading 0 from the version number 2022-04-28 13:47:53 +03:00
dashd-res.rc Merge #20223: build: Drop the leading 0 from the version number 2022-04-28 13:47:53 +03:00
dbwrapper.cpp Merge bitcoin/bitcoin#23214: Replace stoul with ToIntegral in dbwrapper 2023-04-17 11:17:34 -05:00
dbwrapper.h Merge #13558: Drop unused GetType() from CSizeComputer 2022-05-30 01:11:03 -04:00
dsnotificationinterface.cpp Merge #17477: Remove the mempool's NotifyEntryAdded and NotifyEntryRemoved signals 2023-02-15 00:07:39 -06:00
dsnotificationinterface.h Merge #17477: Remove the mempool's NotifyEntryAdded and NotifyEntryRemoved signals 2023-02-15 00:07:39 -06:00
dummywallet.cpp fix(gui): remove "Upgrade wallet format" button from "Wallet Repair" tab 2023-02-17 14:21:19 -06:00
flat-database.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
flatfile.cpp
flatfile.h
fs.cpp Merge #19299: refactor: Remove unused vars, Add missing includes 2023-01-22 00:27:52 -06:00
fs.h
hash.cpp merge bitcoin#19601: Refactoring CHashWriter & Get{Prevouts,Sequence,Outputs}Hash to SHA256 2022-04-27 19:58:39 +05:30
hash.h chore: bump copyrights (#4873) 2022-06-08 02:36:46 +03:00
hdchain.cpp fix: Pass KeyOriginInfo instead of CKeyMetadata to DeriveChildExtKey (#4918) 2022-07-18 16:56:33 +03:00
hdchain.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
httprpc.cpp merge bitcoin#25057: replace remaining boost::split with SplitString 2023-01-19 03:49:04 +00:00
httprpc.h refactor: replace util::Ref with CoreContext (std::variant) (#5055) 2022-10-22 12:18:03 -05:00
httpserver.cpp Merge bitcoin/bitcoin#22914: util: remove libevent <= 2.0.18 back-compat code 2023-04-17 11:17:34 -05:00
httpserver.h merge bitcoin#18363: Add fuzzing harness for HTTPRequest, libevent's evhttp and related functions 2022-07-15 21:24:21 +05:30
indirectmap.h
init.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
init.h refactor: replace util::Ref with CoreContext (std::variant) (#5055) 2022-10-22 12:18:03 -05:00
key_io.cpp Merge #15452: Replace CScriptID and CKeyID in CTxDestination with dedicated types 2023-02-10 23:34:57 +03:00
key_io.h
key.cpp merge bitcoin#19379: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...) 2022-08-21 18:09:28 +05:30
key.h partial Merge #17212: refactor: Remove unused CExt{Pub,}Key (de)serialization methods 2023-04-17 10:42:25 -05:00
limitedmap.h
logging.cpp
logging.h merge bitcoin#17279: Remove redundant c_str() calls in formatting 2022-04-06 13:51:39 +05:30
Makefile.am Merge #16889: Add some general std::vector utility functions 2023-04-17 10:42:25 -05:00
Makefile.bench.include Merge #16267: bench: Benchmark blockToJSON 2023-03-29 21:01:56 +03:00
Makefile.crc32c.include
Makefile.leveldb.include Merge bitcoin/bitcoin#23282: build: remove build stubs for external leveldb 2022-04-03 18:46:47 -05:00
Makefile.qt_locale.include
Makefile.qt.include merge bitcoin#17513: Nuke some circular dependencies 2023-04-15 12:12:30 -05:00
Makefile.qttest.include partial bitcoin#19077: Add sqlite as an alternative wallet database and use it for new descriptor wallets 2023-02-07 10:53:33 -06:00
Makefile.test_fuzz.include merge bitcoin#18528: create test_fuzz library from src/test/fuzz/fuzz.cpp 2022-10-02 12:05:13 +05:30
Makefile.test_util.include merge bitcoin#18521: Add process_messages harness 2022-07-06 22:13:37 +05:30
Makefile.test.include fix: ./autogen fails due to newline (#5325) 2023-04-15 20:41:32 +03:00
Makefile.univalue.include merge bitcoin#22646: tighter Univalue integration, remove --with-system-univalue (#4823) 2022-05-02 10:31:46 -05:00
mapport.cpp partial revert dash#2911: s/dash-config/bitcoin-config/g 2022-08-09 14:16:28 +05:30
mapport.h
memusage.h
merkleblock.cpp
merkleblock.h
messagesigner.cpp chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
messagesigner.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
miner.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
miner.h partial bitcoin#21270: Prune g_chainman usage in validation-adjacent modules 2023-04-04 12:41:45 -05:00
net_permissions.cpp Merge #17754: net: Don't allow resolving of std::string with embedded NUL characters. Add tests. 2022-10-03 16:08:31 -04:00
net_permissions.h Merge #17985: net: Remove forcerelay of rejected txs 2022-10-20 11:48:21 -04:00
net_processing.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
net_processing.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
net_types.h
net.cpp merge bitcoin#20002: expose peer network in getpeerinfo; simplify/improve -netinfo 2023-04-17 08:36:33 +00:00
net.h merge bitcoin#20002: expose peer network in getpeerinfo; simplify/improve -netinfo 2023-04-17 08:36:33 +00:00
netaddress.cpp partial bitcoin#19998: Add CNode::ConnectedThroughNetwork member function 2023-04-17 08:30:49 +00:00
netaddress.h partial bitcoin#19998: Add CNode::ConnectedThroughNetwork member function 2023-04-17 08:30:49 +00:00
netbase.cpp Merge bitcoin/bitcoin#17160: refactor: net: subnet lookup: use single-result LookupHost() 2023-04-17 11:17:34 -05:00
netbase.h merge bitcoin#21328: pass uint16 CService::port as uint16 2022-11-01 00:28:53 -05:00
netfulfilledman.cpp chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
netfulfilledman.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
netmessagemaker.h
noui.cpp chore: bump copyrights (#4873) 2022-06-08 02:36:46 +03:00
noui.h Merge #16224: gui: Bilingual GUI error messages 2022-04-07 10:41:24 -05:00
outputtype.cpp Merge #18067: wallet: Improve LegacyScriptPubKeyMan::CanProvide script recognition 2023-03-19 11:08:31 -05:00
outputtype.h Merge #17261: Make ScriptPubKeyMan an actual interface and the wallet to have multiple 2023-03-19 11:08:31 -05:00
pow.cpp
pow.h
prevector.h Merge #18088: build: ensure we aren't using GNU extensions 2023-03-03 23:07:16 +05:30
protocol.cpp Merge bitcoin/bitcoin#21905: net: initialize nMessageSize to uint32_t max 2023-04-14 23:34:14 -05:00
protocol.h Merge bitcoin/bitcoin#21905: net: initialize nMessageSize to uint32_t max 2023-04-14 23:34:14 -05:00
psbt.cpp Merge #17156: psbt: check that various indexes and amounts are within bounds 2023-02-04 10:02:37 -06:00
psbt.h Merge #17524: psbt: handle unspendable psbts 2023-02-04 10:02:37 -06:00
pubkey.cpp merge bitcoin#19379: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...) 2022-08-21 18:09:28 +05:30
pubkey.h Merge #19237: wallet: Check size after unserializing a pubkey 2023-04-15 12:14:35 -05:00
random.cpp merge bitcoin#20429: replace (sizeof(a)/sizeof(a[0])) with C++17 std::size 2022-11-01 00:28:53 -05:00
random.h merge bitcoin#18455: Add fuzzing harness for functions/classes in flatfile.h, merkleblock.h, random.h, serialize.h and span.h 2022-07-06 22:13:37 +05:30
randomenv.cpp merge bitcoin#20602: Allow use of C++14 chrono literals 2022-10-20 16:08:45 -05:00
randomenv.h merge bitcoin#17270: Feed environment data into RNG initializers 2022-04-25 15:29:51 +05:30
rest.cpp merge bitcoin#20749: Prune g_chainman usage related to ::LookupBlockIndex 2023-04-04 12:41:45 -05:00
reverse_iterator.h
saltedhasher.cpp chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
saltedhasher.h chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
scheduler.cpp merge bitcoin#19090: Misc scheduler cleanups 2023-01-19 03:42:49 +00:00
scheduler.h merge bitcoin#21016: remove boost::thread_group usage 2023-01-19 03:42:51 +00:00
serialize.h merge bitcoin#19314: Use uint16_t instead of unsigned short 2022-10-20 16:08:45 -05:00
shutdown.cpp
shutdown.h
span.h Merge #19508: Work around memory-aliasing in descriptor ParsePubkey 2023-01-23 12:22:31 -06:00
spentindex.h
spork.cpp partial bitcoin#17938: Disallow automatic conversion between disparate hash types 2023-04-15 12:12:30 -05:00
spork.h refactor: using C++11/14/17 features in dash specifict code (#5190) 2023-02-19 17:04:57 -06:00
stacktraces.cpp Merge pull request #4478 from kittywhiskers/undashify 2022-08-11 12:34:55 -04:00
stacktraces.h
statsd_client.cpp refactor: resolve implicit-const-int-float-conversion warning in statsd_client 2022-10-21 21:51:35 +05:30
statsd_client.h chore: add missing copyrights via copyright_header.py insert 2023-01-13 00:49:04 +03:00
streams.h Merge #19593: refactor: Drop unused CBufferedFile::Seek() 2022-09-03 10:43:14 -05:00
sync.cpp Merge #19982: test: Fix inconsistent lock order in wallet_tests/CreateWallet 2023-03-19 11:08:31 -05:00
sync.h merge bitcoin#17954: Remove calls to Chain::Lock methods 2023-04-15 12:12:30 -05:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h Merge #16034: refactoring: Rename LockAnnotation to LockAssertion and add run-time check to it 2022-05-17 12:57:47 -04:00
timedata.cpp partial revert dash#2911: s/dash-config/bitcoin-config/g 2022-08-09 14:16:28 +05:30
timedata.h
tinyformat.h
torcontrol.cpp merge bitcoin#19991: Use alternative port for incoming Tor connections 2023-04-17 08:30:49 +00:00
torcontrol.h merge bitcoin#19991: Use alternative port for incoming Tor connections 2023-04-17 08:30:49 +00:00
txdb.cpp merge bitcoin#21016: remove boost::thread_group usage 2023-01-19 03:42:51 +00:00
txdb.h merge bitcoin#18637: allow cache resize after init 2022-05-23 10:39:43 +05:30
txmempool.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
txmempool.h Merge #16507: feefilter: Compute the absolute fee rather than stored rate 2023-04-17 10:42:25 -05:00
ui_interface.cpp merge bitcoin#16963: Fix unique_ptr usage in boost::signals2 2022-05-13 18:06:06 +05:30
ui_interface.h merge bitcoin#16963: Fix unique_ptr usage in boost::signals2 2022-05-13 18:06:06 +05:30
uint256.cpp uint256: add definition for constant 'ZERO' 2023-04-15 12:12:30 -05:00
uint256.h uint256: add definition for constant 'ZERO' 2023-04-15 12:12:30 -05:00
undo.h
unordered_lru_cache.h
validation.cpp Merge bitcoin/bitcoin#24033: log: Remove GetAdjustedTime from IBD header progress estimation 2023-04-17 11:17:34 -05:00
validation.h Merge bitcoin/bitcoin#23929: doc: fix undo data filename (s/undo???.dat/rev???.dat/) 2023-04-17 11:17:34 -05:00
validationinterface.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
validationinterface.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
version.h chore: Bump MIN_MASTERNODE_PROTO_VERSION for v19 (#5223) 2023-02-28 09:59:57 -06:00
versionbits.cpp fix: speed up GetStateFor (#5100) 2022-12-13 11:42:52 -06:00
versionbits.h merge bitcoin#21055: Prune remaining g_chainman usage in validation functions 2023-04-04 12:41:45 -05:00
versionbitsinfo.cpp feat!: v20 BIP9 fork (#5121) 2023-04-14 17:01:46 -05:00
versionbitsinfo.h
walletinitinterface.h merge bitcoin#19561: Pass ArgsManager into functions that register args 2022-06-07 09:21:29 +05:30
warnings.cpp merge bitcoin#19905: Remove dead CheckForkWarningConditionsOnNewFork 2023-04-04 12:41:45 -05:00
warnings.h merge bitcoin#19905: Remove dead CheckForkWarningConditionsOnNewFork 2023-04-04 12:41:45 -05:00