dogecoin/src
Wladimir J. van der Laan 61a044a86a
Merge #13491: Improve handling of INVALID in IsMine
bb582a59c Add P2WSH destination helper and use it instead of manual hashing (Pieter Wuille)
eaba1c111 Add additional unit tests for invalid IsMine combinations (Pieter Wuille)
e6b9730c4 Do not expose invalidity from IsMine (Pieter Wuille)

Pull request description:

  This improves the handling of INVALID in IsMine:
  * Extra INVALID conditions were added to `IsMine` (following https://github.com/bitcoin/bitcoin/pull/13142/files#r185349057), but these were untested. Add unit tests for them.
  * In https://github.com/bitcoin/bitcoin/pull/13142#issuecomment-386396975 it was suggested to merge `isInvalid` into the return status. This PR takes a different approach, and removes the `isInvalid` entirely. It was only ever used inside tests, as normal users of IsMine don't care about the reason for non-mine-ness, only whether it is or not. As the unit tests are extensive enough, it seems sufficient to have a black box text (with tests for both compressed and uncompressed keys).

  Some addition code simplification is done as well.

Tree-SHA512: 3267f8846f3fa4e994f57504b155b0e1bbdf13808c4c04dab7c6886c2c0b88716169cee9c5b350513297e0ca2a00812e3401acf30ac9cde5d892f9fb59ad7fef
2018-07-04 11:36:42 +02:00
..
bench bench: Simplify CoinSelection 2018-06-28 14:28:42 +01:00
compat Default to defining endian-conversion DECLs in compat w/o config 2018-04-16 11:47:32 -04:00
config
consensus [MOVEONLY] Move unused Merkle branch code to tests 2018-05-29 14:20:12 -07:00
crypto Merge #13471: For AVX2 code, also check for AVX, XSAVE, and OS support 2018-06-24 15:31:33 +02:00
index index: Move index DBs into index/ directory. 2018-06-04 19:22:30 -07:00
interfaces ui: Support wallets unloaded dynamically 2018-06-18 16:35:29 +01:00
leveldb Bump leveldb subtree 2018-02-16 08:59:28 -05:00
obj
obj-test
policy policy: Treat segwit as always active 2018-05-29 16:49:52 -04:00
primitives Removed unused == operator from CMutableTransaction. 2018-06-10 13:38:38 -07:00
qt Merge #13537: GUI: Peer table: Visualize inbound/outbound state for every row 2018-07-01 10:27:43 +02:00
rpc Merge #13491: Improve handling of INVALID in IsMine 2018-07-04 11:36:42 +02:00
script Add P2WSH destination helper and use it instead of manual hashing 2018-06-17 19:44:50 -07:00
secp256k1 Bump secp256k1 subtree 2017-09-29 16:02:39 +02:00
support Make it clear which functions that are intended to be translation unit local 2018-05-03 21:47:40 +02:00
test Merge #13491: Improve handling of INVALID in IsMine 2018-07-04 11:36:42 +02:00
univalue univalue: Bump subtree 2018-02-10 09:55:54 -05:00
wallet Merge #13491: Improve handling of INVALID in IsMine 2018-07-04 11:36:42 +02:00
zmq Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
.clang-format Fix inconsistent namespace formatting guidelines 2018-04-13 15:37:20 -04:00
addrdb.cpp Add logging and error handling for file syncing 2018-04-23 14:25:28 +02:00
addrdb.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
addrman.cpp net: Correct addrman logging 2018-03-06 21:52:53 +01:00
addrman.h Merge #12731: Support serialization as another type without casting 2018-04-10 20:54:33 +02:00
amount.h Consensus: Policy: MOVEONLY: Move CFeeRate out of the consensus module 2017-05-03 18:00:13 +02:00
arith_uint256.cpp [arith_uint256] Do not destroy *this content if passed-in operator may reference it 2018-03-01 11:49:35 +09:00
arith_uint256.h Drop uint 256 not operator 2018-06-05 02:16:24 -07:00
base58.cpp use base58 map instead of strchr() 2018-03-21 11:57:57 +08:00
base58.h Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
bech32.cpp Tighten up bech32::Decode(); add tests. 2018-04-12 17:52:33 -07:00
bech32.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bitcoin-cli-res.rc
bitcoin-cli.cpp cli: Ignore libevent warnings 2018-06-04 14:55:00 -04:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Drop ParseHashUV in favor of calling ParseHashStr 2018-06-08 10:53:38 -07:00
bitcoind-res.rc
bitcoind.cpp Add unavailable options to hidden options category 2018-06-12 14:33:35 -07:00
blockencodings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
blockencodings.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bloom.cpp replace modulus with FastMod 2018-05-06 13:55:33 +02:00
bloom.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.h Break circular dependency: chain -> pow -> chain 2018-05-14 18:36:39 -07:00
chainparams.cpp Trivial: s/SetBestChain/ChainStateFlushed in comments after #13106 2018-05-02 10:02:48 -04:00
chainparams.h [doc] Add comments for chainparams.h, validation.cpp 2018-04-17 17:15:20 -04:00
chainparamsbase.cpp Stop translating command line options 2018-05-30 14:23:35 +02:00
chainparamsbase.h Make gArgs aware of the arguments 2018-05-09 12:21:05 -04:00
chainparamsseeds.h Fix a-vs-an typos 2018-02-11 10:48:15 +01:00
checkpoints.cpp Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkpoints.h Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkqueue.h [Refactor] Remove unused fQuit var from checkqueue.h 2018-01-07 20:44:21 +00:00
clientversion.cpp Merge #11966: clientversion: Use full commit hash for commit-based version descriptions 2018-02-13 10:58:41 +01:00
clientversion.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
compat.h net: Minor accumulated cleanups 2018-04-16 13:24:14 -07:00
compressor.cpp Move compressor utility functions out of class 2018-03-21 14:17:18 -07:00
compressor.h Support serializing Span<unsigned char> and use that instead of FLATDATA 2018-04-05 08:20:37 -07:00
core_io.h Drop ParseHashUV in favor of calling ParseHashStr 2018-06-08 10:53:38 -07:00
core_memusage.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_read.cpp Drop ParseHashUV in favor of calling ParseHashStr 2018-06-08 10:53:38 -07:00
core_write.cpp Merge #12885: Reduce implementation code inside CScript 2018-04-23 21:09:17 +02:00
cuckoocache.h Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion 2018-03-27 00:37:20 +02:00
dbwrapper.cpp [logging] Comment all continuing logs. 2018-04-07 12:29:48 -04:00
dbwrapper.h [db] Create separate database for txindex. 2018-04-25 11:25:05 -07:00
fs.cpp scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
fs.h [Trivial] Add BITCOIN_FS_H endif footer in fs.h 2017-05-19 02:01:28 -07:00
hash.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
hash.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
httprpc.cpp Merge #12859: Bugfix: Include <memory> for std::unique_ptr 2018-04-05 09:31:53 +02:00
httprpc.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
httpserver.cpp util: Encapsulate logCategories within BCLog::Logger. 2018-04-27 16:10:02 -07:00
httpserver.h util: Encapsulate logCategories within BCLog::Logger. 2018-04-27 16:10:02 -07:00
indirectmap.h
init.cpp Merge #13503: Document FreeBSD quirk. Fix FreeBSD build: Use std::min<int>(...) to allow for compilation under certain FreeBSD versions. 2018-06-27 04:39:47 -04:00
init.h Make gArgs aware of the arguments 2018-05-09 12:21:05 -04:00
key.cpp scripted-diff: Rename master key to seed 2018-05-19 11:16:00 -04:00
key.h scripted-diff: Rename master key to seed 2018-05-19 11:16:00 -04:00
key_io.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
key_io.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
keystore.cpp Separate HaveKey function that checks whether a key is in a keystore 2018-05-05 00:43:04 -04:00
keystore.h Separate HaveKey function that checks whether a key is in a keystore 2018-05-05 00:43:04 -04:00
limitedmap.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
logging.cpp Merge #13149: Handle unsuccessful fseek(...):s 2018-05-07 13:39:19 +02:00
logging.h logging: remove unused return value from LogPrintStr 2018-05-02 11:25:20 +02:00
Makefile.am Move rpc/util.cpp from libbitcoin-util to libbitcoin-server 2018-06-18 02:55:47 +00:00
Makefile.bench.include Merge #13219: bench: Add block assemble benchmark 2018-06-24 18:49:23 +02:00
Makefile.leveldb.include build: verify that the assembler can handle crc32 functions 2017-07-13 12:49:05 -04:00
Makefile.qt.include crypto: cleanup sha256 build 2018-06-06 17:36:53 -04:00
Makefile.qttest.include crypto: cleanup sha256 build 2018-06-06 17:36:53 -04:00
Makefile.test.include Merge #13312: docs: Add a note about the source code filename naming convention 2018-06-12 08:02:20 -04:00
memusage.h Bugfix: Include <memory> for std::unique_ptr 2018-04-02 18:31:52 +00:00
merkleblock.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
merkleblock.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
miner.cpp cleanup: avoid hidden copies in range-for loops 2018-06-15 13:40:00 -04:00
miner.h Add Clang thread safety analysis annotations 2018-05-05 16:51:22 +02:00
net.cpp Make it clear which functions that are intended to be translation unit local 2018-05-03 21:47:40 +02:00
net.h Merge #12569: net: Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s 2018-04-13 19:25:18 +02:00
net_processing.cpp Merge #13312: docs: Add a note about the source code filename naming convention 2018-06-12 08:02:20 -04:00
net_processing.h tests: Fix lock-order-inversion (potential deadlock) in DoS_tests. Reported by TSAN. 2018-06-12 21:45:46 +02:00
netaddress.cpp net: Minor accumulated cleanups 2018-04-16 13:24:14 -07:00
netaddress.h net: Minor accumulated cleanups 2018-04-16 13:24:14 -07:00
netbase.cpp Log warning message when deprecated network name 'tor' is used (e.g. option onlynet=tor) 2018-06-24 22:09:01 +02:00
netbase.h Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s 2018-03-11 10:49:04 +01:00
netmessagemaker.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.h
pow.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pow.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
prevector.h Use memset() to optimize prevector::resize() 2018-02-27 13:27:51 -08:00
protocol.cpp Add setter for g_initial_block_download_completed 2018-02-17 21:28:50 +11:00
protocol.h Merge #12731: Support serialization as another type without casting 2018-04-10 20:54:33 +02:00
pubkey.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pubkey.h Remove template matching and pseudo opcodes 2018-05-29 14:40:18 -07:00
random.cpp Fix FreeBSD build by including utilstrencodings.h 2018-05-24 09:51:47 +02:00
random.h Merge #12742: Make FastRandomContext support standard C++11 RNG interface 2018-03-22 12:21:46 -04:00
rest.cpp refactor: add a function for determining if a block is pruned or not 2018-05-30 12:23:44 +09:00
reverse_iterator.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
reverselock.h
scheduler.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
scheduler.h scheduler: Add Clang thread safety annotations for variables guarded by m_cs_callbacks_pending 2018-04-30 11:17:06 +02:00
serialize.h Merge #12916: Introduce BigEndian wrapper and use it for netaddress ports 2018-04-11 14:23:58 +02:00
span.h Add Slice: a (pointer, size) array view that acts like a container 2018-04-05 08:20:37 -07:00
streams.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
sync.cpp qa: Initialize lockstack to prevent null pointer deref 2018-05-22 06:31:26 -04:00
sync.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
threadinterrupt.cpp [index] Allow TxIndex sync thread to be interrupted. 2018-04-25 11:25:09 -07:00
threadinterrupt.h [index] Allow TxIndex sync thread to be interrupted. 2018-04-25 11:25:09 -07:00
threadsafety.h
timedata.cpp Merge #13116: Add Clang thread safety annotations for variables guarded by cs_{rpcWarmup,nTimeOffset,warnings} 2018-05-14 08:46:54 -04:00
timedata.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
tinyformat.h Fix typos 2018-03-21 08:34:44 +02:00
torcontrol.cpp Declare TorReply parsing functions in torcontrol_tests 2018-05-21 10:53:18 -07:00
torcontrol.h boost: drop boost threads from torcontrol 2018-02-08 14:35:29 -05:00
txdb.cpp index: Move index DBs into index/ directory. 2018-06-04 19:22:30 -07:00
txdb.h index: Move index DBs into index/ directory. 2018-06-04 19:22:30 -07:00
txmempool.cpp cleanup: avoid hidden copies in range-for loops 2018-06-15 13:40:00 -04:00
txmempool.h doc: Clarify that mempool txiter is const_iterator 2018-06-24 15:49:09 -04:00
ui_interface.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
ui_interface.h wallet: Use shared pointer to retain wallet instance 2018-05-22 16:56:20 +01:00
uint256.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
uint256.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
undo.h Merge #12716: Fix typos and cleanup in various files 2018-03-21 11:17:43 -04:00
util.cpp Add unavailable options to hidden options category 2018-06-12 14:33:35 -07:00
util.h Add unavailable options to hidden options category 2018-06-12 14:33:35 -07:00
utilmoneystr.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilmoneystr.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilstrencodings.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
utilstrencodings.h Generalize ConvertBits 2018-03-06 20:28:08 -08:00
utiltime.cpp Fix for utiltime to compile with msvc. 2018-04-20 08:41:15 +10:00
utiltime.h Avoid std::locale/imbue in DateTimeStrFormat 2018-04-13 01:36:53 -07:00
validation.cpp Merge #13431: validation: count blocks correctly for check level < 3 2018-06-30 22:07:32 -11:00
validation.h Merge #13402: Document validationinterace callback blocking deadlock potential. 2018-06-15 09:58:26 -04:00
validationinterface.cpp scripted-diff: Rename SetBestChain callback ChainStateFlushed 2018-04-27 14:44:22 -04:00
validationinterface.h Merge #13023: Fix some concurrency issues in ActivateBestChain() 2018-05-16 18:30:35 +02:00
version.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
versionbits.cpp scripted-diff: Convert 11 enums into scoped enums (C++11) 2018-03-09 15:03:40 +01:00
versionbits.h Merge #12757: Clarify include guard naming convention 2018-04-01 18:30:21 -04:00
walletinitinterface.h Make gArgs aware of the arguments 2018-05-09 12:21:05 -04:00
warnings.cpp Add Clang thread safety annotations for variables guarded by cs_warnings 2018-04-29 22:29:53 +02:00
warnings.h Remove "rpc" category from GetWarnings 2018-04-27 09:27:52 +02:00