BTCP-Rebase/src
MarcoFalke 4ed818060e
Merge #10600: Make feebumper class stateless
aed1d90ac [wallet] Change feebumper from class to functions (Russell Yanofsky)
37bdcca3c [refactor] Make feebumper namespace (Russell Yanofsky)
7c4f00919 [trivial] Rename feebumper variables according to project code style (Russell Yanofsky)

Pull request description:

  Make feebumper methods static and remove stored state in the class.

  Having the results of feebumper calls persist in an object makes process
  separation between Qt and wallet awkward, because it means the feebumper object
  either has to be serialized back and forth between Qt and wallet processes
  between fee bump calls, or that the feebumper object needs to stay alive in the
  wallet process with an object reference passed back to Qt. It's simpler just to
  have fee bumper calls return their results immediately instead of storing them
  in an object with an extended lifetime.

  In addition to making feebumper methods static, also:

  - Move LOCK calls from Qt code to feebumper
  - Move TransactionCanBeBumped implementation from Qt code to feebumper
  - Rename CFeeBumper class to FeeBumper (every CFeeBumper reference had to be
    updated in this PR anyway so this doesn't increase the size of the diff)

  This change was originally part of https://github.com/bitcoin/bitcoin/pull/10244

Tree-SHA512: bf75e0c741b4e9c8912e66cc1dedf0ff715f77ea65fc33f7020d97d9099b0f6448f5852236dac63eea649de7d6fc03b0b21492e2c5140fb7560a39cf085506fd
2017-11-15 12:50:17 -05:00
..
bench Require a steady clock for bench with at least micro precision 2017-11-09 14:36:11 -05:00
compat Merge #11144: Move local include to before system includes 2017-08-28 17:57:44 +02:00
config
consensus Merge #10749: Use compile-time constants instead of unnamed enumerations (remove "enum hack") 2017-11-11 18:07:28 -05:00
crypto Merge #11143: Fix include path for bitcoin-config.h 2017-09-05 23:15:55 +02:00
leveldb Update LevelDB with latest Bitcoin-specific patches 2017-08-01 12:40:42 -07:00
obj
obj-test
policy Use unique_ptr:s for {fee,short,long}Stats (TxConfirmStats) 2017-11-09 16:52:44 +01:00
primitives Merge #8330: Structure Packing Optimizations in C{,Mutable}Transaction 2017-09-06 20:14:52 +02:00
qt Merge #10600: Make feebumper class stateless 2017-11-15 12:50:17 -05:00
rpc Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main) 2017-11-15 16:25:40 +01:00
script Merge #9572: Skip witness sighash cache for non-segwit transactions 2017-10-05 19:49:42 +02:00
secp256k1 Bump secp256k1 subtree 2017-09-29 16:02:39 +02:00
support Refactor: Modernize disallowed copy constructors/assignment 2017-09-16 13:06:05 +03:00
test tests: Add missing locks to tests 2017-11-10 17:16:07 +01:00
univalue Bump univalue and fix json formatting in tests 2017-09-29 14:35:46 +02:00
wallet Merge #10600: Make feebumper class stateless 2017-11-15 12:50:17 -05:00
zmq Merge #10809: optim: mark a few classes final 2017-08-21 18:25:48 +02:00
.clang-format Merge #10193: scripted-diff: Remove #include <boost/foreach.hpp> 2017-07-04 18:05:18 +02:00
Makefile.am Fix automake warnings when running autogen.sh 2017-10-21 12:05:36 +08:00
Makefile.bench.include build: Make "make clean" remove all files created when running "make check" 2017-10-04 14:54:41 +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 [Build] Add AM_OBJCXXFLAGS and QT_PIE_FLAGS to OBJCXXFLAGS to future-proof darwin targets 2017-10-21 12:13:25 +08:00
Makefile.qttest.include Remove redundant testutil files 2017-09-05 15:02:17 +12:00
Makefile.test.include Merge #11433: qa: Restore bitcoin-util-test py2 compatibility 2017-10-03 21:25:00 +02:00
addrdb.cpp Deduplicate addrdb.cpp and use CHashWriter/Verifier 2017-06-01 16:42:07 -07:00
addrdb.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
addrman.cpp scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
addrman.h addrman: Add missing lock in Clear() (CAddrMan) 2017-10-31 10:34:00 +01:00
amount.h Consensus: Policy: MOVEONLY: Move CFeeRate out of the consensus module 2017-05-03 18:00:13 +02:00
arith_uint256.cpp Fix instantiation and array accesses in class base_uint<BITS> 2017-06-07 17:21:29 +00:00
arith_uint256.h Merge #10749: Use compile-time constants instead of unnamed enumerations (remove "enum hack") 2017-11-11 18:07:28 -05:00
base58.cpp Merge #10961: Improve readability of DecodeBase58Check(...) 2017-10-09 16:41:06 +02:00
base58.h Implement {Encode,Decode}Destination without CBitcoinAddress 2017-09-23 14:45:01 -07:00
bech32.cpp Import Bech32 C++ reference code & tests 2017-09-28 16:02:16 -07:00
bech32.h Import Bech32 C++ reference code & tests 2017-09-28 16:02:16 -07:00
bitcoin-cli-res.rc
bitcoin-cli.cpp rpc: Handle `getinfo` locally in bitcoin-cli w/ `-getinfo` 2017-09-27 21:53:07 -04:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Sanity-check script sizes in bitcoin-tx 2017-10-24 14:11:52 -04:00
bitcoind-res.rc
bitcoind.cpp Init: Remove redundant exit(EXIT_FAILURE) instances and replace with return false 2017-10-16 22:16:36 +01:00
blockencodings.cpp Fix typos 2017-07-15 14:28:40 +02:00
blockencodings.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
bloom.cpp scripted-diff: Remove #include <boost/foreach.hpp> 2017-06-22 03:48:52 +02:00
bloom.h param variables made const 2017-02-13 14:39:48 +09:00
chain.cpp fix typo in comment of chain.cpp 2017-10-09 19:14:47 +02:00
chain.h Merge #10749: Use compile-time constants instead of unnamed enumerations (remove "enum hack") 2017-11-11 18:07:28 -05:00
chainparams.cpp Have SegWit active by default 2017-11-06 19:29:20 -08:00
chainparams.h Implement BIP173 addresses and tests 2017-09-28 16:24:30 -07:00
chainparamsbase.cpp Merge #10825: net: set regtest JSON-RPC port to 18443 to avoid conflict with testnet 18332 2017-09-06 01:18:35 +02:00
chainparamsbase.h Chainparams: Use a regular factory for creating chainparams 2017-05-03 18:15:47 +02:00
chainparamsseeds.h p2p: Hardcoded seeds update pre-0.15 branch 2017-07-30 14:04:51 +02:00
checkpoints.cpp scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
checkpoints.h
checkqueue.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
clientversion.cpp Correct typo in comments 2017-09-29 14:50:30 +08:00
clientversion.h Fix build warning from #error text 2017-04-07 14:37:25 -04:00
coins.cpp Small refactor of CCoinsViewCache::BatchWrite() 2017-09-16 18:47:19 +03:00
coins.h Refactor: Modernize disallowed copy constructors/assignment 2017-09-16 13:06:05 +03:00
compat.h Move CloseSocket out of SetSocketNonBlocking and pass SOCKET by const reference in SetSocket* functions 2017-07-22 09:11:55 +02:00
compressor.cpp Fix subscript[0] in compressor.cpp 2017-07-08 13:33:01 -07:00
compressor.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
core_io.h Pass serialization flags and whether to include hex to TxToUniv 2017-08-17 10:42:51 -07:00
core_memusage.h Avoid dereference-of-casted-pointer 2017-07-07 10:45:31 -07:00
core_read.cpp Fix signed/unsigned comparison warning introduced in c8e29d7ff0. 2017-07-12 14:03:42 -04:00
core_write.cpp Introduce wrappers around CBitcoinAddress 2017-09-06 13:07:45 -07:00
cuckoocache.h Fix header guards using reserved identifiers 2017-08-26 02:56:53 +03:00
dbwrapper.cpp Merge #10701: Remove the virtual specifier for functions with the override specifier 2017-09-04 18:06:44 -07:00
dbwrapper.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
fs.cpp Remove unused Boost includes 2017-06-09 10:25:26 +02:00
fs.h [Trivial] Add BITCOIN_FS_H endif footer in fs.h 2017-05-19 02:01:28 -07:00
hash.cpp Cleanup (safe, it was checked) subscript[0] in MurmurHash3 (and cleanup MurmurHash3 to be more clear). 2017-07-08 13:33:01 -07:00
hash.h Squashed 'src/secp256k1/' changes from 84973d393..0b7024185 2017-09-29 16:00:20 +02:00
httprpc.cpp Use MakeUnique<T>(...) instead of std::unique_ptr<T>(new T(...)) 2017-11-09 16:53:34 +01:00
httprpc.h Remove unnecessary forward class declarations in header files 2017-06-12 20:37:43 +02:00
httpserver.cpp rpc: further constrain the libevent workaround 2017-11-02 14:37:35 -04:00
httpserver.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
indirectmap.h
init.cpp Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main) 2017-11-15 16:25:40 +01:00
init.h init: Factor out AppInitLockDataDirectory 2017-07-17 14:56:52 +02:00
key.cpp scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
key.h Remove some unused functions and methods 2017-09-21 23:40:33 -07:00
keystore.cpp Fix code style in keystore.cpp/crypter.cpp 2017-10-06 20:56:43 -07:00
keystore.h CKeystore: move relevant implementation out of the header 2017-10-04 20:32:04 -07:00
limitedmap.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
memusage.h scripted-diff: Remove #include <boost/foreach.hpp> 2017-06-22 03:48:52 +02:00
merkleblock.cpp Consolidate CMerkleBlock constructor into a single method 2017-09-20 20:35:54 -07:00
merkleblock.h Consolidate CMerkleBlock constructor into a single method 2017-09-20 20:35:54 -07:00
miner.cpp Deprecate confusing blockmaxsize, fix getmininginfo output 2017-09-11 15:51:25 -04:00
miner.h Remove nBlockMaxSize from miner opt struct as it is no longer used. 2017-09-18 23:40:38 +00:00
net.cpp Use MakeUnique<T>(...) instead of std::unique_ptr<T>(new T(...)) 2017-11-09 16:53:34 +01:00
net.h Use unique_ptr for pfilter (CBloomFilter) 2017-11-09 16:53:34 +01:00
net_processing.cpp Explicitly state assumption that state.m_chain_sync.m_work_header != nullptr in ConsiderEviction 2017-11-10 15:37:37 +01:00
net_processing.h Connect to an extra outbound peer if our tip is stale 2017-11-02 12:39:14 -04:00
netaddress.cpp scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
netaddress.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
netbase.cpp Fix a vs. an typo 2017-10-09 10:37:40 +02:00
netbase.h net: remove now-unused functions 2017-09-18 13:47:47 -04:00
netmessagemaker.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
noui.cpp
noui.h
pow.cpp scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
pow.h
prevector.h Fix header guards using reserved identifiers 2017-08-26 02:56:53 +03:00
protocol.cpp Merge #9544: [trivial] Add end of namespace comments. Improve consistency. 2017-06-26 13:40:26 +02:00
protocol.h Merge #10749: Use compile-time constants instead of unnamed enumerations (remove "enum hack") 2017-11-11 18:07:28 -05:00
pubkey.cpp Remove dead store in ecdsa_signature_parse_der_lax. 2017-08-17 14:28:35 +02:00
pubkey.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
random.cpp Merge #10843: Add attribute [[noreturn]] (C++11) to functions that will not return 2017-08-22 09:38:49 +02:00
random.h Merge #10377: Use rdrand as entropy source on supported platforms 2017-06-14 15:22:15 +02:00
rest.cpp Add missing cs_main locks when calling blockToJSON/blockheaderToJSON 2017-11-07 07:17:47 +01:00
reverse_iterator.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
reverselock.h
scheduler.cpp Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
scheduler.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
serialize.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
streams.h Merge #11221: Refactor: simpler read 2017-11-09 13:16:03 +01:00
sync.cpp Add ability to assert a lock is not held in DEBUG_LOCKORDER 2017-10-13 19:29:54 -04:00
sync.h Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main) 2017-11-15 16:25:40 +01:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h
timedata.cpp scripted-diff: stop using the gArgs wrappers 2017-08-14 17:02:10 +02:00
timedata.h Merge #8808: Do not shadow variables (gcc set) 2017-03-03 15:48:53 +01:00
tinyformat.h [Util] Update tinyformat.h 2017-10-29 21:12:12 +08:00
torcontrol.cpp Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
torcontrol.h
txdb.cpp Merge #10770: Drop upgrade-cancel callback registration for a generic "cancelable" 2017-09-07 09:21:04 -07:00
txdb.h Merge #11107: Fix races in AppInitMain and others with lock and atomic bools 2017-10-05 15:03:36 +02:00
txmempool.cpp Merge #11269: [Mempool] CTxMemPoolEntry::UpdateAncestorState: modifySiagOps param type 2017-11-10 15:33:30 -05:00
txmempool.h Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main) 2017-11-15 16:25:40 +01:00
ui_interface.cpp
ui_interface.h Drop upgrade-cancel callback registration for a generic "resumeable" 2017-08-20 20:04:15 -04:00
uint256.cpp Changing &vec[0] to vec.data(), what 9804 missed 2017-09-08 10:36:26 +12:00
uint256.h Merge #10749: Use compile-time constants instead of unnamed enumerations (remove "enum hack") 2017-11-11 18:07:28 -05:00
undo.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
util.cpp Merge #10939: [init] Check non-emptiness of -blocknotify command prior to executing 2017-10-04 14:54:09 +02:00
util.h Add MakeUnique (substitute for C++14 std::make_unique) 2017-11-09 16:53:34 +01:00
utilmoneystr.cpp Refactor: Remove using namespace <xxx> from util* 2017-03-08 08:47:02 -08:00
utilmoneystr.h doc: Add comment to use ValueFromAmount/AmountFromValue for JSON, not utilmoneystr 2017-08-07 17:10:42 +02:00
utilstrencodings.cpp Allow setting nMinimumChainWork on command line 2017-09-05 15:05:28 -04:00
utilstrencodings.h Implement BIP173 addresses and tests 2017-09-28 16:24:30 -07:00
utiltime.cpp scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
utiltime.h [logging] log system time and mock time 2017-05-10 15:49:00 -04:00
validation.cpp Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main) 2017-11-15 16:25:40 +01:00
validation.h Use unique_ptr for pcoinscatcher/pcoinsdbview/pcoinsTip/pblocktree 2017-11-09 16:53:34 +01:00
validationinterface.cpp Give ZMQ consistent order with UpdatedBlockTip on scheduler thread 2017-10-13 19:30:15 -04:00
validationinterface.h Give ZMQ consistent order with UpdatedBlockTip on scheduler thread 2017-10-13 19:30:15 -04:00
version.h Remove unused constant MEMPOOL_GD_VERSION 2017-06-09 01:45:36 +02:00
versionbits.cpp Always-active versionbits support 2017-11-06 19:19:10 -08:00
versionbits.h scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
warnings.cpp scripted-diff: stop using the gArgs wrappers 2017-08-14 17:02:10 +02:00
warnings.h remove some unused functions 2017-07-22 09:55:57 +02:00