aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-07-07Support more than one CScheduler thread for serial clientsMatt Corallo
This will be used by CValidationInterface soon. This requires a bit of work as we need to ensure that most of our callbacks happen in-order (to avoid synchronization issues in wallet) - we keep our own internal queue and push things onto it, scheduling a queue-draining function immediately upon new callbacks.
2017-07-07Add default arg to CScheduler to schedule() a callback nowMatt Corallo
2017-07-07Give CMainSignals a reference to the global schedulerMatt Corallo
...so that it can run some signals in the background later
2017-07-03Make ValidationInterface signals-type-agnosticMatt Corallo
(by hiding boost::signals stuff in the .cpp) This allows us to give it a bit more intelligence as we move forward, including routing some signals through CScheduler. While the introduction of a "internals" pointer in the class is pretty ugly, the fact that we no longer need to include boost/signals directly from validationinterface.h is very much worth the loss.
2017-07-03Use TestingSetup to DRY qt rpcnestedtestsMatt Corallo
2017-07-03Merge #10728: fix typo in help text for removeprunedfundsJonas Schnelli
ecb4fc382 fix typo in help text for removeprunedfunds (Akio Nakamura) Tree-SHA512: 2603851f1ac90bc0b90ced6355b0056e4cb658303cb2cd03ee0827ed0053157ebb87de48076f4d4f556991bfdbdb65d0a68a8dbd275c501cee4c9b5746a9562b
2017-07-03Merge #10683: rpc: Move the `generate` RPC call to rpcwalletWladimir J. van der Laan
2a96283 rpc: Update `generate` for developer notes (Wladimir J. van der Laan) df7e2f0 rpc: Move the `generate` RPC call to rpcwallet (Wladimir J. van der Laan) Tree-SHA512: ec658d6178f8435dc54b9d9c6dd59f873055a8ae0c3f177c02049d77b93107dd5fc17a1ff56d50f051810d52fdf306846eaba2ef4fc8d2a6cfa831f57a1045c4
2017-07-03fix typo in help text for removeprunedfundsAkio Nakamura
2017-06-29Merge #10192: Cache full script execution results in addition to signaturesWladimir J. van der Laan
e3f9c05 Add CheckInputs() unit tests (Suhas Daftuar) a3543af Better document CheckInputs parameter meanings (Matt Corallo) 309ee1a Update -maxsigcachesize doc clarify init logprints for it (Matt Corallo) b014668 Add CheckInputs wrapper CCoinsViewMemPool -> non-consensus-critical (Matt Corallo) eada04e Do not print soft-fork-script warning with -promiscuousmempool (Matt Corallo) b5fea8d Cache full script execution results in addition to signatures (Matt Corallo) 6d22b2b Pull script verify flags calculation out of ConnectBlock (Matt Corallo) Tree-SHA512: 0c6c3c79c64fcb21e17ab60290c5c96d4fac11624c49f841a4201eec21cb480314c52a07d1e3abd4f9c764785cc57bfd178511f495aa0469addb204e96214fe4
2017-06-29Merge #10660: Allow to cancel the txdb upgrade via splashscreen keypress 'q'Wladimir J. van der Laan
542ce6e Report [CANCELLED] instead of [DONE] when shut down during txdb upgrade (Jonas Schnelli) 83fbea3 Report txdb upgrade not more often then every 10% (Jonas Schnelli) 06c5b6e Show txdb upgrade progress in debug log (Jonas Schnelli) 316fcb5 Allow to cancel the txdb upgrade via splashscreen callback (Jonas Schnelli) ae09d45 Allow to shut down during txdb upgrade (Jonas Schnelli) 00cb69b [Qt] allow to execute a callback during splashscreen progress (Jonas Schnelli) Tree-SHA512: 23190f23f441bfd60821e49f8b3698a6bef97eb0e0ee659328e4a7395769ecd1616420eacc38aa1fa0ff62b9de5f13a0098dc798cdec6bff649575cefebc0db2
2017-06-29Report [CANCELLED] instead of [DONE] when shut down during txdb upgradeJonas Schnelli
2017-06-29Report txdb upgrade not more often then every 10%Jonas Schnelli
2017-06-29Show txdb upgrade progress in debug logJonas Schnelli
2017-06-29Allow to cancel the txdb upgrade via splashscreen callbackJonas Schnelli
2017-06-29Allow to shut down during txdb upgradeJonas Schnelli
2017-06-29[Qt] allow to execute a callback during splashscreen progressJonas Schnelli
2017-06-29Merge #10673: [qt] Avoid potential null pointer dereference in ↵Wladimir J. van der Laan
TransactionView::exportClicked() fd9599b [qt] Avoid potential null pointer dereference in TransactionView::exportClicked() (practicalswift) Tree-SHA512: 33cbb65bd86aceb58918eb0a19e1727599a22285e7c89d4e7d3b2639c879dc8939708fd506006c6c092f624050d1131f997cc37f837cb980aa440f8abe5a3c18
2017-06-29rpc: Update `generate` for developer notesWladimir J. van der Laan
Fix nits by John Newbery.
2017-06-29rpc: Move the `generate` RPC call to rpcwalletWladimir J. van der Laan
This makes it possible to mine to any wallet when multi-wallet mode is added. Solves the same problem as #10649, but IMO in a cleaner way. It also gets rid of the circuitous `ScriptForMining` method on `CValidationInterface`, which really doesn't belong there. After this change it's still possible to mine without wallet through `generatetoaddress`.
2017-06-28Merge #10558: Address nits from per-utxo changePieter Wuille
21d4afa12 Comment clarifications in coins.cpp (Alex Morcos) 3c8a9aeff Add belt-and-suspenders in DisconnectBlock (Alex Morcos) Tree-SHA512: d83e12ed71674faaaaebc03ffa1e2276984c35a29db419268ac9e14a45b33ccab716e3606dff8cfe1dcee4bec6e4794d2ca90341f10d5684be80e3fee61addf8
2017-06-28Merge #10685: Clarify CCoinsViewMemPool documentation.Pieter Wuille
381b8fc36 Clarify CCoinsViewMemPool documentation. (Matt Corallo) Tree-SHA512: 0d1520595a03ea4038b4119871d79dfc28a50f42ac7667b30a583805d4fe4b0480a6912b9b4f7660c7223778ef85f2f9d1870551383a35c5e8c88cd2935f59d3
2017-06-28Merge #10148: Use non-atomic flushing with block replayWladimir J. van der Laan
176c021 [qa] Test non-atomic chainstate writes (Suhas Daftuar) d6af06d Dont create pcoinsTip until after ReplayBlocks. (Matt Corallo) eaca1b7 Random db flush crash simulator (Pieter Wuille) 0580ee0 Adapt memory usage estimation for flushing (Pieter Wuille) 013a56a Non-atomic flushing using the blockchain as replay journal (Pieter Wuille) b3a279c [MOVEONLY] Move LastCommonAncestor to chain (Pieter Wuille) Tree-SHA512: 47ccc62303f9075c44d2a914be75bd6969ff881a857a2ff1227f05ec7def6f4c71c46680c5a28cb150c814999526797dc05cf2701fde1369c06169f46eccddee
2017-06-28Merge #10631: Use the override specifier (C++11) where we expect to be ↵Wladimir J. van der Laan
overriding the virtual function of a base class aa95947 Use the override specifier (C++11) where we expect to be overriding the virtual function of a base class (practicalswift) Tree-SHA512: 3835e9b4ceaa4b2db485a25dfa3e5fe50c2e3ecb22ca9d5331aed7728aa496d4378fb84c0a1a3c47b0adecc10a00bca99cc239cbaf94cf2ce5b4cda497db6023
2017-06-28Use the override specifier (C++11) where we expect to be overriding the ↵practicalswift
virtual function of a base class
2017-06-27Comment clarifications in coins.cppAlex Morcos
2017-06-27Add CheckInputs() unit testsSuhas Daftuar
Check that cached script execution results are only valid for the same script flags; that script execution checks are returned for non-cached transactions; and that cached results are only valid for transactions with the same witness hash.
2017-06-27Add belt-and-suspenders in DisconnectBlockAlex Morcos
These extra variables were previously checked before the move to per-txout database.
2017-06-27Clarify CCoinsViewMemPool documentation.Matt Corallo
Thanks to @sdaftuar for correcting my misunderstanding.
2017-06-27Remove no longer used mempool.exists(outpoint)Alex Morcos
2017-06-27Merge #10118: Util: Remove redundant calls to argsGlobal.IsArgSet()Wladimir J. van der Laan
ed866ab Indentation after 'Remove redundant calls to gArgs.IsArgSet()' (Jorge Timón) 506b700 Util: Remove redundant calls to gArgs.IsArgSet() (Jorge Timón) Tree-SHA512: 4f97a0bf2a76c0f351a6343db62898cf057d745c848de00fa09465e870a120f28e0d836cafd6a047f4ec0da7ab671aebee43fa7410c9f0e66382edd1bb2009ba
2017-06-27[qt] Avoid potential null pointer dereference in ↵practicalswift
TransactionView::exportClicked()
2017-06-27Merge #10400: [RPC] Add an uptime command that displays the amount of time ↵Wladimir J. van der Laan
(in seconds) bitcoind has been running c074752 [RPC] Add an uptime command that displays the amount of time that bitcoind has been running (Ricardo Velhote) Tree-SHA512: 8f59d4205042885f23f5b87a0eae0f5d386e9c6134e5324598e7ee304728d4275f383cd154bf1fb25350f5a88cc0ed9f97edb099e9b50c4a0ba72d63ec5ca5b4
2017-06-27Indentation after 'Remove redundant calls to gArgs.IsArgSet()'Jorge Timón
2017-06-27Util: Remove redundant calls to gArgs.IsArgSet()Jorge Timón
Return empty std::vector<std::string> with ArgsManager::GetArgs if nothing is set for that string
2017-06-26Simplify return values of GetCoin/HaveCoin(InCache)Pieter Wuille
This removes the possibility for GetCoin/HaveCoin/HaveCoinInCache to return true while the respective coin is spent. By doing it across all calls, some extra checks can be eliminated. coins_tests is modified to call HaveCoin sometimes before and sometimes after AccessCoin. A further change is needed because the semantics for GetCoin slightly changed, causing a pruned entry in the parent cache to not be pulled into the child in FetchCoin.
2017-06-26[qa] Test non-atomic chainstate writesSuhas Daftuar
Adds new functional test, dbcrash.py, which uses -dbcrashratio to exercise the logic for recovering from a crash during chainstate flush. dbcrash.py is added to the extended tests, as it may take ~10 minutes to run Use _Exit() instead of exit() for crash simulation This eliminates stderr output such as: terminate called without an active exception or Assertion failed: (!pthread_mutex_destroy(&m)), function ~recursive_mutex, file /usr/local/include/boost/thread/pthread/recursive_mutex.hpp, line 104. Eliminating the stderr output on crash simulation allows testing with test_runner.py, which reports a test as failed if stderr is produced.
2017-06-26Dont create pcoinsTip until after ReplayBlocks.Matt Corallo
This requires that we not access pcoinsTip in InitBlockIndex's FlushStateToDisk (so we just skip it until later in AppInitMain) and the LoadChainTip in LoadBlockIndex (which there is already one later in AppinitMain, after ReplayBlocks, so skipping it there is fine). Includes some simplifications by Suhas Daftuar and Pieter Wuille.
2017-06-26Random db flush crash simulatorPieter Wuille
2017-06-26Adapt memory usage estimation for flushingPieter Wuille
2017-06-26Non-atomic flushing using the blockchain as replay journalPieter Wuille
2017-06-26[MOVEONLY] Move LastCommonAncestor to chainPieter Wuille
2017-06-26Merge #10559: Change semantics of HaveCoinInCache to match HaveCoinWladimir J. van der Laan
5257698 Change semantics of HaveCoinInCache to match HaveCoin (Alex Morcos) Tree-SHA512: 397e9ba28646b81fffa53e55064735d4d242aaffdf8484506825f785b0e414f334e4c5cd1e4e1dd9a4b6d1f6954c7ecad15429934a1c4e8d39f596cbd9f5dd80
2017-06-26Merge #10496: Add Binds, WhiteBinds, Whitelistedrange to CConnman::OptionsWladimir J. van der Laan
07b2afe add Binds, WhiteBinds to CConnman::Options (Marko Bencun) ce79f32 add WhitelistedRange to CConnman::Options (Marko Bencun) Tree-SHA512: c23a6f317c955338af531fa3e53e3c42e995f88c6e1939bbc2ad119fa5b786c54b3dad3d2e9b3f830b7292c0c63a02fcff66a89907d0fa8d7c83aefade01af45
2017-06-26Merge #9544: [trivial] Add end of namespace comments. Improve consistency.Wladimir J. van der Laan
5a9b508 [trivial] Add end of namespace comments (practicalswift) Tree-SHA512: 92b0fcae4d1d3f4da9e97569ae84ef2d6e09625a5815cd0e5f0eb6dd2ecba9852fa85c184c5ae9de5117050330ce995e9867b451fa8cd5512169025990541a2b
2017-06-25[RPC] Add an uptime command that displays the amount of time that bitcoind ↵Ricardo Velhote
has been running
2017-06-25Merge #9176: Globals: Pass Consensus::Params through ↵Wladimir J. van der Laan
CBlockTreeDB::LoadBlockIndexGuts() b324b28 Globals: Pass Consensus::Params through CBlockTreeDB::LoadBlockIndexGuts() (Jorge Timón) Tree-SHA512: 9ef561a026960dc69df52603f4d60246c913bdd127465e8238f0954c6bbbc6b8b3b039bab70df38be1cbf5d06788fb631a2236b49c0167633d54366103c7c055
2017-06-24Merge #10412: Improve wallet rescan APIWladimir J. van der Laan
deaf48b Handle TIMESTAMP_WINDOW within CWallet::RescanFromTime (Russell Yanofsky) 5b2be2b Make CWallet::RescanFromTime comment less ambiguous (Russell Yanofsky) 9bb66ab Add RescanFromTime method and use from rpcdump (Russell Yanofsky) ccf84bb Move birthday optimization out of ScanForWalletTransactions (Russell Yanofsky) Tree-SHA512: cd38433b8f5c5e44ecfba830a6a26bd9a9d0f4a22ae42bce17773d1a6fb25e1ee4289484996dad2d7acfa03059917ff062459f25030a761da7083ba5fbc87bc9
2017-06-24Merge #10608: Add a comment explaining the use of MAX_BLOCK_BASE_SIZE.Wladimir J. van der Laan
1887337 Add a comment explaining the use of MAX_BLOCK_BASE_SIZE. (Gregory Maxwell) Tree-SHA512: 4c643a3696241fbf4eac8d58bb26586f319338b28ee86d20394a8ea362911b467853eb40c43487ede753209a3c7bee2e576d2ca80627e9fc924fabefbcaea34b
2017-06-24Merge #10627: fixed listunspent rpc convert parameterWladimir J. van der Laan
e503b2b fixed listunspent rpc convert parameter (tnaka) Tree-SHA512: 6da1cee8fd8459187825fad47678b36bbf6b4582f03f557c8a48c2c4273d9e12405e8bb6ade02a06e6555419eefb1dc298d4d4781ebb3b6b72743ca6108cb18e
2017-06-24Merge #10191: [trivial] Rename unused RPC arguments 'dummy'Wladimir J. van der Laan
0ef7de9 [RPCs] Remove submitblock parameters argument help text (John Newbery) Tree-SHA512: f39ad4bb3006e3d722fa51ae2ab4a48726e740993d6bed5737b355d1e0a99cf475ca9519f97adf8cde1b7187b14a24d5951ce4f34624d01d9ef84b49124c2894