0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-24 12:41:41 -05:00
bitcoin-bitcoin-core/src
furszy cddcbaf81e
RPC: improve SFFO arg parsing, error catching and coverage
Following changes were made:

1) Catch and signal error for duplicate string destinations.
2) Catch and signal error for invalid value type.
3) Catch and signal error for string destination not found in tx outputs.
4) Improved 'InterpretSubtractFeeFromOutputInstructions()' code organization.
5) Added test coverage for all possible error failures.

Also, fixed two PEP 8 warnings at the 'wallet_sendmany.py' file:
- PEP 8: E302 expected 2 blank lines, found 1 at the SendmanyTest class declaration.
- PEP 8: E303 too many blank lines (2) at skip_test_if_missing_module() and set_test_params()
2024-09-07 13:06:41 -03:00
..
bench Merge bitcoin/bitcoin#30790: bench: Remove redundant logging benchmarks 2024-09-06 09:50:19 +01:00
common Merge bitcoin/bitcoin#30148: cli: restrict multiple exclusive argument usage in bitcoin-cli 2024-09-04 14:47:38 -04:00
compat netbase: refactor CreateSock() to accept sa_family_t 2024-03-01 13:13:07 -05:00
config
consensus doc: fix a few simple codespell warnings 2024-08-28 18:42:10 +02:00
crc32c Update crc32c subtree to latest upstream master 2024-02-27 18:28:19 +00:00
crypto cmake: Build bitcoin_crypto library 2024-08-16 19:27:38 +01:00
index tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
init logging: clarify -debug and -debugexclude descriptions 2024-08-04 06:43:01 +02:00
interfaces Merge bitcoin/bitcoin#26619: log: expand BCLog::LogFlags (categories) to 64 bits 2024-09-03 16:33:49 -04:00
ipc Merge bitcoin/bitcoin#30750: scripted-diff: LogPrint -> LogDebug 2024-09-02 11:59:56 +01:00
kernel refactor: Hand-replace some ParseHex -> ""_hex 2024-08-28 19:11:59 +02:00
leveldb Update leveldb-subtree subtree to latest upstream 2024-06-13 13:17:57 +01:00
logging scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
minisketch Update minisketch subtree to latest master 2024-06-12 14:38:39 +01:00
node Merge bitcoin/bitcoin#26619: log: expand BCLog::LogFlags (categories) to 64 bits 2024-09-03 16:33:49 -04:00
policy scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
primitives tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
qt Merge bitcoin-core/gui#834: qt, build: remove unneeded Q_IMPORT_PLUGIN macro calls 2024-09-05 14:28:52 +01:00
rpc Merge bitcoin/bitcoin#30808: rpc: dumptxoutset height parameter follow-ups (29553) 2024-09-04 11:40:26 -04:00
script Merge bitcoin/bitcoin#22838: descriptors: Be able to specify change and receiving in a single descriptor string 2024-08-28 15:56:15 +01:00
secp256k1 Update secp256k1 subtree to latest master 2024-08-02 11:32:47 +01:00
support cleanse: Use SecureZeroMemory for mingw-w64 (release) builds 2024-07-24 09:57:49 +01:00
test test: Work around boost compilation error 2024-09-06 15:57:33 +02:00
univalue build: Remove Autotools-based build system 2024-08-30 21:31:39 +01:00
util util: Add consteval ""_hex[_v][_u8] literals 2024-08-28 19:09:51 +02:00
wallet RPC: improve SFFO arg parsing, error catching and coverage 2024-09-07 13:06:41 -03:00
zmq scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
.clang-format refactor: Print verbose serialize compiler error messages 2023-12-15 15:20:54 +01:00
.clang-tidy Merge bitcoin/bitcoin#30234: Enable clang-tidy checks for self-assignment 2024-07-11 19:21:05 +01:00
addrdb.cpp random: get rid of GetRand by inlining 2024-07-01 12:39:53 -04:00
addrdb.h Use serialization parameters for CAddress serialization 2023-09-05 10:13:25 +02:00
addresstype.cpp policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
addresstype.h policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
addrman.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
addrman.h doc, test: Test and explain service flag handling 2024-01-15 16:19:53 -05:00
addrman_impl.h Remove timedata 2024-04-10 17:01:27 +02:00
arith_uint256.cpp refactor: Remove unused and fragile string interface from arith_uint256 2023-11-21 17:37:25 +01:00
arith_uint256.h doc + test: Correct uint256 hex string endianness 2024-08-03 21:59:54 +02:00
attributes.h
banman.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
banman.h net_processing: remove Misbehavior score and increments 2024-05-30 08:35:18 -04:00
base58.cpp util: Move util/string.h functions to util namespace 2024-05-16 10:16:08 -05:00
base58.h
bech32.cpp fuzz: replace hardcoded numbers for bech32 limits 2024-08-06 11:03:31 +02:00
bech32.h fuzz: replace hardcoded numbers for bech32 limits 2024-08-06 11:03:31 +02:00
bip324.cpp net: merge V2Transport constructors, move key gen 2023-09-10 16:11:52 -04:00
bip324.h net: merge V2Transport constructors, move key gen 2023-09-10 16:11:52 -04:00
bitcoin-chainstate.cpp Merge bitcoin/bitcoin#30386: Early logging improvements 2024-07-26 08:06:08 -04:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge bitcoin/bitcoin#30148: cli: restrict multiple exclusive argument usage in bitcoin-cli 2024-09-04 14:47:38 -04:00
bitcoin-tx-res.rc
bitcoin-tx.cpp refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
bitcoin-util-res.rc
bitcoin-util.cpp scripted-diff: Add IWYU pragma keep to bitcoin-config.h includes 2024-05-01 08:33:04 +02:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00
bitcoind-res.rc
bitcoind.cpp refactor: remove warnings globals 2024-06-13 11:20:49 +01:00
blockencodings.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
blockencodings.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
blockfilter.cpp util: Move util/string.h functions to util namespace 2024-05-16 10:16:08 -05:00
blockfilter.h Remove unused includes from blockfilter.h 2023-08-17 18:28:15 +02:00
chain.cpp
chain.h scripted-diff: Modernize naming of nChainTx and nTxCount 2024-08-04 14:24:43 +02:00
chainparams.cpp testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00
chainparams.h
chainparamsbase.cpp Deduplicate list of chain strings in RPC help texts 2024-08-13 14:00:33 -03:00
chainparamsbase.h Deduplicate list of chain strings in RPC help texts 2024-08-13 14:00:33 -03:00
chainparamsseeds.h seeds: Regenerate mainnet seeds 2024-08-27 07:00:27 +02:00
checkqueue.h refactor: Make CCheckQueue non-copyable and non-movable explicitly 2023-10-03 10:52:17 +01:00
clientversion.cpp doc: Drop mentions of share/genbuild.sh 2024-08-29 12:38:37 +01:00
clientversion.h scripted-diff: Add IWYU pragma keep to bitcoin-config.h includes 2024-05-01 08:33:04 +02:00
cluster_linearize.h clusterlin: improve rechunking in LinearizationChunking (optimization) 2024-08-01 16:03:38 -04:00
CMakeLists.txt doc: Clarify libbitcoin_consensus in design/libraries.md 2024-09-03 19:35:43 +02:00
coins.cpp Reduce cache lookups in CCoinsViewCache::FetchCoin 2024-08-08 22:51:24 +02:00
coins.h coins: move Sync logic to CoinsViewCacheCursor 2024-08-05 22:34:35 -04:00
compressor.cpp Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
compressor.h refactor: Rename CTransaction::nVersion to version 2024-06-07 13:55:23 -04:00
core_io.h refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
core_memusage.h
core_read.cpp refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
core_write.cpp refactor: Rename CTransaction::nVersion to version 2024-06-07 13:55:23 -04:00
cuckoocache.h validation: Don't error if maxsigcachesize exceeds uint32::max 2024-07-04 22:35:29 +02:00
dbwrapper.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
dbwrapper.h dbwrapper: Use DataStream for batch operations 2023-09-12 12:07:39 +02:00
deploymentinfo.cpp
deploymentinfo.h
deploymentstatus.cpp
deploymentstatus.h
dummywallet.cpp wallet, test: Be able to always swap BDB endianness 2024-05-16 15:03:13 -04:00
external_signer.cpp refactor: Remove Span operator==, Use std::ranges::equal 2024-08-13 07:44:31 +02:00
external_signer.h
flatfile.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
flatfile.h refactor: Add FlatFileSeq member variables in BlockManager 2024-07-24 09:39:35 +02:00
hash.cpp crypto, hash: replace custom rotl32 with std::rotl 2024-01-05 17:12:38 +01:00
hash.h Include version.h in fewer places 2023-11-16 11:36:22 +10:00
headerssync.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
headerssync.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
httprpc.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
httprpc.h
httpserver.cpp Merge bitcoin/bitcoin#30675: http: set TCP_NODELAY when creating HTTP server 2024-09-03 17:27:50 -04:00
httpserver.h Merge bitcoin/bitcoin#30406: refactor: modernize-use-equals-default 2024-07-11 19:08:46 +01:00
i2p.cpp Merge bitcoin/bitcoin#29833: i2p: fix and improve logs 2024-06-26 15:28:26 -04:00
i2p.h i2p: log errors properly according to their severity 2024-06-12 16:19:50 -03:00
indirectmap.h
init.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
init.h refactor: fix missing includes 2024-07-24 15:57:01 +01:00
key.cpp refactor: remove un-tested early returns 2024-08-04 08:52:22 +02:00
key.h refactor: move SignSchnorr to KeyPair 2024-08-04 08:51:36 +02:00
key_io.cpp policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
key_io.h Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
logging.cpp rpc: make logging method reject "0" category and correct the help text 2024-08-04 06:43:00 +02:00
logging.h bench: Remove redundant logging benchmarks 2024-09-05 07:17:22 +02:00
mapport.cpp upnp: add compatibility for miniupnpc 2.2.8 2024-06-18 12:24:48 +00:00
mapport.h
memusage.h add std::list to memusage 2023-09-13 11:37:45 +01:00
merkleblock.cpp [clang-tidy] Enable the misc-no-recursion check 2024-04-07 14:04:45 +01:00
merkleblock.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
net.cpp Merge bitcoin/bitcoin#29605: net: Favor peers from addrman over fetching seednodes 2024-09-04 13:15:08 -04:00
net.h Merge bitcoin/bitcoin#29605: net: Favor peers from addrman over fetching seednodes 2024-09-04 13:15:08 -04:00
net_permissions.cpp util: move fees.h and error.h to common/messages.h 2024-05-16 10:16:08 -05:00
net_permissions.h Accept "in" and "out" flags to -whitelist to allow whitelisting manual connections 2024-02-28 10:05:56 -03:00
net_processing.cpp Merge bitcoin/bitcoin#30742: kernel: Use spans instead of vectors for passing block headers to validation functions 2024-09-03 15:40:40 -04:00
net_processing.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
net_types.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
net_types.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
netaddress.cpp refactor: Remove Span operator==, Use std::ranges::equal 2024-08-13 07:44:31 +02:00
netaddress.h random: get rid of GetRand by inlining 2024-07-01 12:39:53 -04:00
netbase.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
netbase.h netbase: extend CreateSock() to support creating arbitrary sockets 2024-06-14 14:23:50 +02:00
netgroup.cpp Merge bitcoin/bitcoin#27581: net: Continuous ASMap health check 2023-12-06 11:22:42 -05:00
netgroup.h net: Add continuous ASMap health check logging 2023-12-02 22:03:08 +01:00
netmessagemaker.h refactor: NetMsg::Make() without nVersion 2023-11-20 14:02:27 +01:00
noui.cpp node: Use log levels in noui_ThreadSafeMessageBox 2024-03-21 16:41:16 +01:00
noui.h
outputtype.cpp fix incorrect multisig redeem script size limit for segwit 2024-05-03 14:20:44 -03:00
outputtype.h fix incorrect multisig redeem script size limit for segwit 2024-05-03 14:20:44 -03:00
pow.cpp testnet: Add Testnet4 difficulty adjustment rules fix 2024-08-06 01:38:12 +02:00
pow.h
prevector.h refactor: Require std::input_iterator for all InputIterator in prevector 2024-07-12 11:19:00 +02:00
protocol.cpp protocol: make message types constexpr 2024-02-28 18:03:23 +01:00
protocol.h Merge bitcoin/bitcoin#29421: net: make the list of known message types a compile time constant 2024-05-21 13:59:33 -04:00
psbt.cpp util: add TransactionError includes and namespace declarations 2024-05-16 10:16:08 -05:00
psbt.h Merge bitcoin/bitcoin#30406: refactor: modernize-use-equals-default 2024-07-11 19:08:46 +01:00
pubkey.cpp refactor: Hand-replace some ParseHex -> ""_hex 2024-08-28 19:11:59 +02:00
pubkey.h refactor: Make XOnlyPubKey tolerate constexpr std::arrays 2024-08-28 19:09:51 +02:00
random.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
random.h random: drop ad-hoc Shuffle in favor of std::shuffle 2024-07-06 09:06:36 -04:00
randomenv.cpp Fix MSVC warning C4273 "inconsistent dll linkage" 2024-07-19 22:01:01 +01:00
randomenv.h
rest.cpp refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
rest.h
scheduler.cpp scripted-diff: Rename SingleThreadedSchedulerClient to SerialTaskRunner 2024-02-15 14:43:14 +01:00
scheduler.h kernel: Remove dependency on CScheduler 2024-02-16 17:12:52 +01:00
serialize.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
signet.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
signet.h
span.h refactor: Remove Span operator==, Use std::ranges::equal 2024-08-13 07:44:31 +02:00
streams.cpp Add AutoFile::seek and tell 2024-04-01 14:37:24 -04:00
streams.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
sync.cpp util: avoid using thread_local variable that has a destructor 2024-05-16 18:16:46 +02:00
sync.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
threadsafety.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
tinyformat.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
torcontrol.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
torcontrol.h doc, refactor: Changing -torcontrol help to specify that a default port is used 2023-08-17 23:58:47 -05:00
txdb.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
txdb.h coins: pass linked list of flagged entries to BatchWrite 2024-08-05 19:43:56 -04:00
txmempool.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
txmempool.h Revert "build: work around issue with Boost <= 1.80 and Clang >= 18" 2024-09-06 15:57:00 +02:00
txorphanage.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
txorphanage.h Merge bitcoin/bitcoin#30082: test: expand LimitOrphan and EraseForPeer coverage 2024-08-05 17:25:57 -04:00
txrequest.cpp Merge bitcoin/bitcoin#30194: refactor: use recommended type hiding on multi_index types 2024-08-07 20:00:28 +01:00
txrequest.h
uint256.cpp scripted-diff: Rename SetHex to SetHexDeprecated 2024-07-24 09:15:34 +02:00
uint256.h util: Add consteval ""_hex[_v][_u8] literals 2024-08-28 19:09:51 +02:00
undo.h Include version.h in fewer places 2023-11-16 11:36:22 +10:00
validation.cpp Merge bitcoin/bitcoin#30742: kernel: Use spans instead of vectors for passing block headers to validation functions 2024-09-03 15:40:40 -04:00
validation.h Merge bitcoin/bitcoin#30742: kernel: Use spans instead of vectors for passing block headers to validation functions 2024-09-03 15:40:40 -04:00
validationinterface.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
validationinterface.h [refactor] change ActiveTipChange to use CBlockIndex ref instead of ptr 2024-07-25 11:01:22 +01:00
versionbits.cpp
versionbits.h
walletinitinterface.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00