aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-10-02Merge #16727: wallet: Explicit feerate for bumpfeeWladimir J. van der Laan
c812aba3949b6ab81030dc708cda7c8821be2f70 test bumpfee fee_rate argument (ezegom) 9f25de3d9eb8d012ca1a98cbcd28021e3e1c85ee rpc bumpfee check fee_rate argument (ezegom) 88e5f997dfab3f03bb1ec3f149eaff8dcc2981fe rpc bumpfee: add fee_rate argument (ezegom) 1a4c791cf49ff15aa9deba4388c0180b8f47f15b rpc bumpfee: move feerate estimation logic into separate method (ezegom) Pull request description: Taking over for https://github.com/bitcoin/bitcoin/pull/16492 which seems to have gone inactive. Only minor commit cleanups, rebase, and some help text fixes on top of previous PR. Renamed `feeRate` to `fee_rate` to reflect updated guidelines. ACKs for top commit: Sjors: Code review ACK c812aba laanwj: ACK c812aba3949b6ab81030dc708cda7c8821be2f70 Tree-SHA512: 5f7f51bd780a573ccef1ccd72b0faf3e5d143f6551060a667560c5163f7d9480e17e73775d1d7bcac0463f3b6b4328f0cff7b27e39483bddc42a530f4583ce30
2019-10-02Merge #16952: gui: make sure to update the UI when deleting a transactionWladimir J. van der Laan
addaf8af8268d918973883a304025d40af5a33c1 make sure to update the UI when deleting a transaction (Jonas Schnelli) Pull request description: `CWallet::ZapSelectTx` removes transactions from the internal model, but leaves the UI in the dark. Adding a `NotifyTransactionChanged()` should avoid having invalid transactions in the GUI. Fixes #16950 ACKs for top commit: fanquake: ACK addaf8af8268d918973883a304025d40af5a33c1 - tested that this fixes #16950 Sjors: tACK addaf8a: tested with an unpruned wallet by calling `removeprunedfunds` on an RBF-replaced transaction. It neatly disappears from the UI. kristapsk: ACK addaf8af8268d918973883a304025d40af5a33c1 (tested both with and without this change) Tree-SHA512: 65e8c690847f7499e82c9fef67b60d9aaa63c853732fe7fa7281da33054fcdcd9d24f5b86de71b0827728c25bac8efb7db445863f990304ebfee6fc450620c47
2019-10-02Merge #16849: Fix block index inconsistency in InvalidateBlock()Wladimir J. van der Laan
2a4e60b48261d3f0ec3d85f97af998ef989134e0 Fix block index inconsistency in InvalidateBlock() (Suhas Daftuar) Pull request description: Previously, we could release `cs_main` while leaving the block index in a state that would fail `CheckBlockIndex()`, because `setBlockIndexCandidates` was not being fully populated before releasing `cs_main`. ACKs for top commit: TheBlueMatt: utACK 2a4e60b48261d3f0ec3d85f97af998ef989134e0. I also discovered another issue in InvalidateBlock while reviewing, see #16856. Sjors: ACK 2a4e60b. Tested on top of #16899. Also tested `invalidateblock` with `-checkblockindex=1`. fjahr: ACK 2a4e60b. Ran tests, reviewed code, inspected behavior while manually testing `invalidateblock`. Tree-SHA512: ced12f9dfff0d413258c709921543fb154789898165590b30d1ee0cdc72863382f189744f7669a7c924d3689a1cc623efdf4e5ae3efc60054572c1e6826de612
2019-10-02Merge #16999: net: 0.19 seeds updateWladimir J. van der Laan
0218171a24cedacaa2fb0745f78968499df5d28c contrib: Remove invalid nodes from seeds list (Wladimir J. van der Laan) 3b09f2b9d95336dd69ab7083c992cf8d1111c9be net: 0.19 hardcoded seeds update (Wladimir J. van der Laan) 801d341f3a4b00633aa135407752d21ba868e37b contrib: makeseeds: More fancy output (Wladimir J. van der Laan) ed76299bea3e067cbc835fe50ce05ea1720d61c1 contrib: makeseeds: Limit per network, instead of total (Wladimir J. van der Laan) c254a9ef692190342aa697e2c778d90091865e95 contrib: makeseeds: dedup by ip,port (Wladimir J. van der Laan) 3314d879666beaa1aa724ff28ad15326167e548f contrib: makeseeds: Factor out ASN lookup (Wladimir J. van der Laan) 301c2b1ab594c483b698fa7c3f1ed8932af0554c contrib: makeseeds: Improve logging and filtering (Wladimir J. van der Laan) Pull request description: - contrib: Improve makeseeds script - net: 0.19 hardcoded seeds update Sources: - http://bitcoin.sipa.be/seeds.txt.gz (Sipa) - https://github.com/bitcoin/bitcoin/files/3671913/dnsseed.dump.tar.gz (Sjors) Output: ``` Initial: IPv4 418690, IPv6 55861, Onion 2747 Skip entries with invalid address: IPv4 418690, IPv6 55861, Onion 2747 After removing duplicates: IPv4 409220, IPv6 54028, Onion 2717 Skip entries from suspicious hosts: IPv4 409219, IPv6 54028, Onion 2717 Enforce minimal number of blocks: IPv4 106719, IPv6 46342, Onion 2621 Require service bit 1: IPv4 106384, IPv6 46241, Onion 2542 Require minimum uptime: IPv4 5300, IPv6 1153, Onion 201 Require a known and recent user agent: IPv4 4642, IPv6 1060, Onion 141 Filter out hosts with multiple bitcoin ports: IPv4 4642, IPv6 1060, Onion 141 Look up ASNs and limit results, both per ASN and globally: IPv4 464, IPv6 48, Onion 141 ``` ACKs for top commit: Sjors: ACK 0218171. I also checked that `chainparamsseeds.h` is generated from `nodes_main.txt`. Sounds like we should look at this script a bit more outside release moments :-) Tree-SHA512: c1f5795fe88d14800c4da918387368d51e85f4319f2ce3c0359851d041767e2883f32b1da371bba22bd5f0b442ac3e5ea7d685c233ad2cc4045c930f973b0aa2
2019-10-02Merge #13266: refactor: privatize SignatureExtractorChecker [moveonly]Wladimir J. van der Laan
73aaf4ecf825a4d18c802ca5dd3856ce9096915e Make SignatureExtractorChecker private to its own file (Ben Woosley) Pull request description: ~If we add a CTxIn constructor to SignatureData, then constructing the SignatureData directly is no more verbose than calling DataFromTransaction, and grants the caller additional flexibiliy in how to provide the CTxIn.~ A simple change to enhance encapsulation. ACKs for top commit: MarcoFalke: utACK 73aaf4ecf825a4d18c802ca5dd3856ce9096915e laanwj: ACK 73aaf4ecf825a4d18c802ca5dd3856ce9096915e Tree-SHA512: f7eafbce22b0e9917a8487e88d1f5a1061f2a0959ae1a097cbd9c8ea0d774edfb807da56813cb5fb26f6ca98499a0604a8ff024c198a7c8dc755164de66d972a
2019-10-02contrib: Remove invalid nodes from seeds listWladimir J. van der Laan
2019-10-02Merge #17002: chainparams: Bump assumed chain paramsfanquake
fa3a7331160d1a460b1c15fca1810e98070d629c chainparams: Bump assumed chain params (MarcoFalke) Pull request description: As every year, reviewers get extra point when their node is running: * `assumevalid=0` * `checkpoints=0` * on non-x86_64 hardware See https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-major-and-minor-release for the process. ACKs for top commit: laanwj: ACK fa3a7331160d1a460b1c15fca1810e98070d629c Sjors: ACK fa3a7331160d1a460b1c15fca1810e98070d629c for mainnet on macOS 10.14.6. jamesob: ACK https://github.com/bitcoin/bitcoin/pull/17002/commits/fa3a7331160d1a460b1c15fca1810e98070d629c fanquake: ACK fa3a7331160d1a460b1c15fca1810e98070d629c - checked the mainnet values. I have notes on reviewing `assumevalid` updates in [core-review](https://github.com/fanquake/core-review/blob/master/update-assumevalid.md). Tree-SHA512: fc545ba0a7056908040b47076b393d028c1c022967c25a2074752f76f0386ef099a64445da6125117a04418bd7eb0655121bfc94e6f60b7bc2666947491b5228
2019-10-01qa: Do not force overwrite of QT_QPA_PLATFORM on windows for gui testsMarcoFalke
2019-10-01doc: Explain QT_QPA_PLATFORM for gui testsMarcoFalke
2019-10-01chainparams: Bump assumed chain paramsMarcoFalke
2019-10-01Merge #16984: util: Make thread names shorterfanquake
386ae0f6916d11d72022cc6f6b62bb2b82594f24 util: Make thread names shorter (Hennadii Stepanov) Pull request description: Thread names at the process level are limited by 15 characters: https://github.com/bitcoin/bitcoin/blob/6b2210f1016c9ed96ce470e588e4cb12fa36a900/src/util/threadnames.cpp#L28-L29 This commit ensures that name `b-httpworker.42` will not be truncated. On master (6b2210f1016c9ed96ce470e588e4cb12fa36a900): ```bash hebasto@redcat:~$ ps -T -p $(cat /home/hebasto/.bitcoin/testnet3/bitcoind.pid) PID SPID TTY TIME CMD 32647 32647 pts/6 00:00:00 bitcoin-main 32647 32648 pts/6 00:00:00 QXcbEventReader 32647 32649 pts/6 00:00:00 bitcoin:disk$0 32647 32650 pts/6 00:00:00 QDBusConnection 32647 32651 pts/6 00:00:00 gmain 32647 32652 pts/6 00:00:00 gdbus 32647 32653 pts/6 00:00:07 bitcoin-qt-init 32647 32656 pts/6 00:00:00 bitcoin-scriptc 32647 32657 pts/6 00:00:00 bitcoin-scriptc 32647 32658 pts/6 00:00:00 bitcoin-scriptc 32647 32659 pts/6 00:00:00 bitcoin-schedul 32647 32660 pts/6 00:00:00 bitcoin-http 32647 32661 pts/6 00:00:00 bitcoin-httpwor 32647 32662 pts/6 00:00:00 bitcoin-httpwor 32647 32663 pts/6 00:00:00 bitcoin-httpwor 32647 32664 pts/6 00:00:00 bitcoin-httpwor 32647 32665 pts/6 00:00:00 bitcoin-qt-init 32647 32668 pts/6 00:00:00 bitcoin-torcont 32647 32669 pts/6 00:00:00 bitcoin-upnp 32647 32670 pts/6 00:00:00 bitcoin-net 32647 32671 pts/6 00:00:00 bitcoin-dnsseed 32647 32672 pts/6 00:00:00 bitcoin-addcon 32647 32673 pts/6 00:00:00 bitcoin-opencon 32647 32674 pts/6 00:00:00 bitcoin-msghand 32647 32675 pts/6 00:00:00 QThread 32647 32676 pts/6 00:00:00 QThread ``` With this PR: ```bash hebasto@redcat:~$ ps -T -p $(cat /home/hebasto/.bitcoin/testnet3/bitcoind.pid) PID SPID TTY TIME CMD 25664 25664 pts/0 00:00:00 b-main 25664 25665 pts/0 00:00:00 QXcbEventReader 25664 25666 pts/0 00:00:00 bitcoin:disk$0 25664 25667 pts/0 00:00:00 QDBusConnection 25664 25668 pts/0 00:00:00 gmain 25664 25669 pts/0 00:00:00 gdbus 25664 25670 pts/0 00:00:07 b-qt-init 25664 25671 pts/0 00:00:00 b-scriptch.0 25664 25672 pts/0 00:00:00 b-scriptch.1 25664 25673 pts/0 00:00:00 b-scriptch.2 25664 25674 pts/0 00:00:00 b-scheduler 25664 25675 pts/0 00:00:00 b-http 25664 25676 pts/0 00:00:00 b-httpworker.0 25664 25677 pts/0 00:00:00 b-httpworker.1 25664 25678 pts/0 00:00:00 b-httpworker.2 25664 25679 pts/0 00:00:00 b-httpworker.3 25664 25680 pts/0 00:00:00 b-qt-init 25664 25682 pts/0 00:00:00 b-torcontrol 25664 25683 pts/0 00:00:00 b-upnp 25664 25684 pts/0 00:00:00 b-net 25664 25685 pts/0 00:00:00 b-dnsseed 25664 25686 pts/0 00:00:00 b-addcon 25664 25687 pts/0 00:00:00 b-opencon 25664 25688 pts/0 00:00:01 b-msghand 25664 25689 pts/0 00:00:00 QThread 25664 25690 pts/0 00:00:00 QThread ``` ACKs for top commit: MarcoFalke: ACK 386ae0f6916d11d72022cc6f6b62bb2b82594f24 (skimmed the diff on GitHub) practicalswift: ACK 386ae0f6916d11d72022cc6f6b62bb2b82594f24 -- diff looks correct fanquake: ACK 386ae0f6916d11d72022cc6f6b62bb2b82594f24 - quickly tested on a Debian system. Tree-SHA512: 8f7f553213a5856943ddba50611814b771e7dc474101a3e1f98259091684c8d0358c541d32011bfe1da7f430225f01a2d6b514a3b7c5aaf671b2ca8fcf155c4a
2019-10-01Merge #17001: doc: Remove mention of renamed mapBlocksUnlinkedWladimir J. van der Laan
fadd6e0d2a6a5104aa215f456987ad7374bcc6ce doc: Remove mention of renamed mapBlocksUnlinked (MarcoFalke) Pull request description: This has been renamed to `m_blocks_unlinked`. Instead of adjusting the internal variable name in the help text, explain the debug flag with more general terms. ACKs for top commit: practicalswift: ACK fadd6e0d2a6a5104aa215f456987ad7374bcc6ce -- diff looks correct promag: ACK fadd6e0d2a6a5104aa215f456987ad7374bcc6ce. laanwj: ACK fadd6e0d2a6a5104aa215f456987ad7374bcc6ce (as argument help is not translated this doesn't have to wait for the split-off) Tree-SHA512: 8ad64965ab5bbba4b92933a5adcb0c9eda5bdb0cc080840a4a97b12c67f41f9b789fd289df4932d748f5a7eebc7305a000f03ceb968a78c9b5d9f34af61f0b15
2019-10-01Merge #16852: gui: When BIP70 is disabled, get PaymentRequest merchant using ↵Wladimir J. van der Laan
string search 85973bcc44f60fe3bbc952557ebf578dd4c475d2 When BIP70 is disabled, get PaymentRequest merchant using string search (Andrew Chow) Pull request description: The merchant name is stored in the X.509 certificate embedded in a PaymentRequest. Use some string searching to locate it so that it can be shown to the user in the transaction details when BIP70 support was not configured. An additional notice is added to the merchant string that indicates the certificate was not verified. When BIP70 is enabled, the certificate would be verified and the merchant name not shown if the certificate was invalid. ACKs for top commit: laanwj: ACK 85973bcc44f60fe3bbc952557ebf578dd4c475d2 Tree-SHA512: 50fdb60d418e2f9eb65a4b52477be16189f00bfc30493adb27d9fb62100fd5bca33b98b8db6caa8485db424838d3b7a1da802c14ff4917943464401f47391616
2019-10-01net: 0.19 hardcoded seeds updateWladimir J. van der Laan
2019-10-01Merge #16969: refactor: Remove Qt function to disable menu icons on macOSfanquake
3eea6a8f2686352a0fd868fee6af42ef1283bdda refactor: Remove Qt function to disable menu icons on macOS (Emil Engler) Pull request description: As menu icons were removed in #16612, this removes an unnecessary function for macOS Could this get into v0.19.0? ACKs for top commit: jonasschnelli: utACK 3eea6a8f2686352a0fd868fee6af42ef1283bdda promag: ACK 3eea6a8f2686352a0fd868fee6af42ef1283bdda. fanquake: ACK 3eea6a8f2686352a0fd868fee6af42ef1283bdda Tree-SHA512: b3f2f5ed1141f546351433160e27d95dad914739e89dd3438d11756ca5aa41501f0f08345f2b50415717d88517894d73c1065b17f1bda38132374cc58c08df54
2019-09-30util: Make thread names shorterHennadii Stepanov
Thread names at the process level are limited by 15 characters. This commit ensures that name 'b-httpworker.42' will not be cropped.
2019-09-30doc: Remove mention of renamed mapBlocksUnlinkedMarcoFalke
2019-09-30When BIP70 is disabled, get PaymentRequest merchant using string searchAndrew Chow
The merchant name is stored in the X.509 certificate embedded in a PaymentRequest. Use some string searching to locate it so that it can be shown to the user in the transaction details when BIP70 support was not configured.
2019-09-30Merge #16988: qt: Periodic translations updateWladimir J. van der Laan
e2ce392aec664c0b729b1890f7fdf1ff2dd23d90 test: Avoid whitespace linting in qt translations (Wladimir J. van der Laan) 977dd23e4023ac2f6cbbe86eb769db079b8018be qt: Periodic translations update (Wladimir J. van der Laan) Pull request description: Pull new translations from Transifex (using bitcoin-core/bitcoin-maintainer-tools#36) and run `make translate`. (maybe the last one before the split-off) Also added a commit to add `src/qt/locale` to the exclusions for the whitespace linter. I don't think automatically generated files should be linted. Top commit has no ACKs. Tree-SHA512: 53aee46d44eceb18f78034febe76ac4d346c643dfc5a16878193433f85db1642977a7028bb2cf99c2c10d972d833c742f7f873991691b5d9f81b2df7b2679bf9
2019-09-30Merge #16397: doc: Clarify includeWatching for fundrawtransactionWladimir J. van der Laan
80031045fc6435ef4eb5dd1aee773d938c57a0fd Clarify includeWatching for fundrawtransaction (Steven Roose) Pull request description: Might be sufficient to solve https://github.com/bitcoin/bitcoin/issues/16396, https://github.com/bitcoin/bitcoin/issues/7879 and https://github.com/bitcoin/bitcoin/issues/14405. ACKs for top commit: Sjors: ACK 8003104. This will always be confusing, but at least it gives a bunch more clues for the user to google. Tree-SHA512: 9b8002c259c50f93d89fc5574105aae6152858d8d45c07b4c3d5b7023adafe73c7a98a290874ff3fbbb7dfad2ac1bdf4acb8769a2a1c14e38484922f44e84e54
2019-09-30Merge #16931: test: add unittests for CheckProofOfWorkWladimir J. van der Laan
0cc7dd74e0af735dddf7e786f4ed136c382a4ad5 test: add unittests for CheckProofOfWork (soroosh-sdi) Pull request description: following situations are covered: - negative target - overflow target - target easier then powLimit - invalid hash (hash > target) Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com> ACKs for top commit: promag: ACK 0cc7dd74e0af735dddf7e786f4ed136c382a4ad5, just read the code. laanwj: ACK 0cc7dd74e0af735dddf7e786f4ed136c382a4ad5 Tree-SHA512: 9f9ee952ebb211202939450aa3d61b3c2fae992dcfcab085e877507d78e02ea39a51ccacfc4852a0555f3cba07504ee132abd5cbfed75489553bee45c760bc7e
2019-09-30Merge #16971: qt: Change default size of intro frameWladimir J. van der Laan
8cf9898b53d74bd474cc5188e07e671e24a3791f qt: Change default size of intro frame (Emil Engler) Pull request description: Because of the new pruning feature in the intro frame, the size of the intro frame is too small. Like you see, some text is not visible completely. ### Before ![Before](https://i.imgur.com/ppZ3Gf9.png) ### After ![After](https://i.imgur.com/wcElqLA.png) Update: I changed it so it adjusts the size dynamically ACKs for top commit: fanquake: ACK 8cf9898b53d74bd474cc5188e07e671e24a3791f - Before and after macOS screens below. Given that most users will only ever see this screen once, I think Qts best effort to dynamically size it is fine. jonasschnelli: utACK 8cf9898b53d74bd474cc5188e07e671e24a3791f Sjors: Tested ACK 8cf9898 on macOS. English already fit, so to reproduce the issue, launch in German with `-resetguisettings -lang=de`. laanwj: ACK 8cf9898b53d74bd474cc5188e07e671e24a3791f Tree-SHA512: 568b0ae0d5feeda603c0ccf67b5bb3857becea8f22fb98695e1901e662cb1e76377589e39ec743258154d7f6c4a5e544bb003fcc73597400dd427db047392638
2019-09-30Merge #16957: 9% less memory: make SaltedOutpointHasher noexceptWladimir J. van der Laan
67d99900b0d770038c9c5708553143137b124a6c make SaltedOutpointHasher noexcept (Martin Ankerl) Pull request description: If the hash is not `noexcept`, `unorderd_map` has to assume that it can throw an exception. Thus when rehashing care needs to be taken. libstdc++ solves this by simply caching the hash value, which increases memory of each node by 8 bytes. Adding `noexcept` prevents this caching. In my experiments with `-reindex-chainstate -stopatheight=594000`, memory usage (maximum resident set size) has decreased by 9.4% while runtime has increased by 1.6% due to additional hashing. Additionally, memusage::DynamicUsage() is now more accurate and does not underestimate. | | runtime h:mm:ss | max RSS kbyte | |---------------------------------------|-----------------|--------------| | master | 4:13:59 | 7696728 | | 2019-09-SaltedOutpointHasher-noexcept | 4:18:11 | 6971412 | | change | +1.65% | -9,42% | Comparison of progress masters vs. 2019-09-SaltedOutpointHasher-noexcept ![out](https://user-images.githubusercontent.com/14386/65541887-69424e00-df0e-11e9-8644-b3a068ed8c3f.png) ACKs for top commit: jamesob: Tested ACK https://github.com/bitcoin/bitcoin/pull/16957/commits/67d99900b0d770038c9c5708553143137b124a6c Tree-SHA512: 9c44e3cca993b5a564dd61ebd2926b9c4a238609ea4d283514c018236f977d935e35a384dd4696486fd3d78781dd2ba190bb72596e20a5e931042fa465872a0b
2019-09-30qt: Periodic translations updateWladimir J. van der Laan
Pull new translations from Transifex and run `make translate`.
2019-09-30Merge #16982: build: Factor out qt translations from build systemWladimir J. van der Laan
4320bfc0c0d88633c84146f8d640f5b6e4596244 build: Factor out qt translations from build system (Wladimir J. van der Laan) Pull request description: Move qt translations to a separate make include file. This makes it easier to auto-generate this list from tooling (see bitcoin-core/bitcoin-maintainer-tools#36). ACKs for top commit: promag: ACK 4320bfc0c0d88633c84146f8d640f5b6e4596244. Tree-SHA512: 7133d0103bcf97672ae5aa40ba35d4b81331a8c179190031bbc887da6a5ccc929428e522938db43d87dbcbf9ad3b121dac1e6faf1daa5ae81d0b5fed7f053b5f
2019-09-30Merge #16953: doc: Improve test READMEsWladimir J. van der Laan
43e7d576f590e90ad7d1ba3d550671a7958f1188 doc: Improve test READMEs (Fabian Jahr) Pull request description: General improvements on READMEs for unit tests and functional tests: - Give unit test readme a headline - Move general information on `src/test` folder to the top - Add information on logging and debugging unit tests - Improve debugging and logging information in functional testing - Include all available log levels in functional tests ACKs for top commit: laanwj: ACK 43e7d576f590e90ad7d1ba3d550671a7958f1188 Tree-SHA512: 22b27644992ba5d99a885cd51b7a474806714396fcea1fd2d6285e41bdf3b28835ad8c81449099e3ee15a63d57b3ab9acb89c425d9855ed1d9b4af21db35ab03
2019-09-29build: Factor out qt translations from build systemWladimir J. van der Laan
Move qt translations to a separate make include file. This makes it easier to auto-generate this list from tooling (see bitcoin-core/bitcoin-maintainer-tools#36).
2019-09-28rpc bumpfee check fee_rate argumentezegom
2019-09-28rpc bumpfee: add fee_rate argumentezegom
2019-09-27Merge #16713: Ignore old versionbit activations to avoid 'unknown softforks' ↵MarcoFalke
warning fdb3e8f8b27e3b0b2f88c32915975c6e4c299b1e Ignore old versionbit activations (Anthony Towns) Pull request description: PR 16060 removed the CSV and Segwit BIP9 softfork definitions and hard-coded ('buried') the activation heights. The versionbits code will warn users if an undefined softfork has been signalled in block header versions, and removing the CSV/Segwit definitions caused those warnings to be triggered. Change the BIP 9 warning code to only check for unknown softforks after the segwit activation height. ACKs for top commit: MarcoFalke: ACK fdb3e8f8b2 ajtowns: ACK fdb3e8f8b27e3b0b2f88c32915975c6e4c299b1e for what it's worth achow101: ACK fdb3e8f8b27e3b0b2f88c32915975c6e4c299b1e Sjors: ACK fdb3e8f8b27e3b0b2f88c32915975c6e4c299b1e. It makes the bit 0 warning go away in mainnet and testnet QT when a new block arrives. I think the code is clear enough. jonatack: ACK fdb3e8f8b27e3b0b2f88c32915975c6e4c299b1e Tree-SHA512: e6fd34e8902f8c7affb28e8951803e47d542710d5f1229000746656a37ee59d754439fc33e36b7eef87544262e5aac374645db91b74cb507e73514003ca7a67f
2019-09-27Merge #16817: rpc: Fix casing in getblockchaininfo to be inline with other ↵Wladimir J. van der Laan
fields 1a02edb3f2803b6f82f06a31acf0b0e5fc19bd1c [RPC] Fix casing in getblockchaininfo to be inline with the rest of the response (Dan Gershony) Pull request description: The response in the RPC result `startTime` is camel cased while the rest of the response seems to be lower cased. If this was intentional please ignore and close this PR. Note: RPC field case changes might break existing callers ACKs for top commit: laanwj: ACK 1a02edb3f2803b6f82f06a31acf0b0e5fc19bd1c Tree-SHA512: 6f0eaf2b4aaf73c9a9bf1fbd4af59af5f95fc012fa88f94e050e6ae273b3ad647f5729df53bfce91e1a925fe4fd7b14818908bb6131a81413a555137d1007d7c
2019-09-27test: add unittests for CheckProofOfWorksoroosh-sdi
following situations are covered: - negative target - overflow target - target easier then powLimit - invalid hash (hash > target) - zero target Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2019-09-26qt: Change default size of intro frameEmil Engler
2019-09-26refactor: Remove Qt function to disable menu icons on macOSEmil Engler
2019-09-26doc: Improve test READMEsFabian Jahr
2019-09-26[RPC] Fix casing in getblockchaininfo to be inline with the rest of the responseDan Gershony
The response in the RPC result `starttime` is camel cased while the rest of the response seems to be lower cased. If this was intentional please ignore this PR. Note: case might break existing callers Reflect the change in the test data Change to snake case
2019-09-26Merge #16577: util: CBufferedFile fixes and unit testWladimir J. van der Laan
efd2474d17098c754367b844ec646ebececc7c74 util: CBufferedFile fixes (Larry Ruane) Pull request description: The `CBufferedFile` object guarantees its user is able to "rewind" the data stream (that's being read from a file) up to a certain number of bytes, as specified by the user in the constructor. This guarantee is not honored due to a bug in the `SetPos` method. Such rewinding is done in `LoadExternalBlockFile()` (currently the only user of this object), which deserializes a series of `CBlock` objects. If that function encounters something unexpected in the data stream, which is coming from a `blocks/blk00???.dat` file, it "rewinds" to an earlier position in the stream to try to get in sync again. The `CBufferedFile` object does not actually rewind its file offset; it simply repositions its internal offset, `nReadPos`, to an earlier position within the object's private buffer; this is why there's a limit to how far the user may rewind. If `LoadExternalBlockFile()` needs to rewind (call `blkdat.SetPos()`), the stream may not be positioned as it should be, causing errors in deserialization. This need to rewind is probably rare, which is likely why this bug hasn't been noticed already. But if this object is used elsewhere in the future, this could be a serious problem, especially as, due to the nature of the bug, the `SetPos()` _sometimes_ works. This PR adds a unit test for `CBufferedFile` that fails due to this bug. (Until now it has had no unit tests.) The unit test provides good documentation and examples for developers trying to understand `LoadExternalBlockFile()` and for future users of this object. This PR also adds code to throw an exception from the constructor if the rewind argument is not less than the buffer size (since that doesn't make any sense). Finally, I discovered that the object is too restrictive in one respect: When the deserialization methods call this object's `read` method, a check ensures that the number of bytes being requested is less than the size of the buffer (adjusting for the rewind size), else it throws an exception. This restriction is unnecessary; the object being deserialized can be larger than the buffer because multiple reads from disk can satisfy the request. ACKs for top commit: laanwj: ACK ~after squash.~ efd2474d17098c754367b844ec646ebececc7c74 mzumsande: I had intended to follow up earlier on my last comment, ACK efd2474d17098c754367b844ec646ebececc7c74. I reviewed the code, ran tests and did a successful reindex on testnet with this branch. Tree-SHA512: 695529e0af38bae2af4e0cc2895dda56a71b9059c3de04d32e09c0165a50f6aacee499f2042156ab5eaa6f0349bab6bcca4ef9f6f9ded4e60d4483beab7e4554
2019-09-26Merge #16956: validation: Make GetWitnessCommitmentIndex publicfanquake
fa607c229295e0f0b89d5177b94d3381ab5e37d8 validation: Make GetWitnessCommitmentIndex public (MarcoFalke) Pull request description: `GenerateCoinbaseCommitment` is public and can be used in unit tests to update the witness commitment after the list of txs in a block has been changed. However, for it to work, the existing commitment (added by default in `CreateNewBlock`) must be removed (and thus its index must be known). Make that possible by exposing the `GetWitnessCommitmentIndex` helper function in the header. ACKs for top commit: jb55: ACK fa607c229295e0f0b89d5177b94d3381ab5e37d8 jamesob: ACK https://github.com/bitcoin/bitcoin/pull/16956/commits/fa607c229295e0f0b89d5177b94d3381ab5e37d8 promag: ACK fa607c229295e0f0b89d5177b94d3381ab5e37d8. fanquake: ACK fa607c229295e0f0b89d5177b94d3381ab5e37d8 - This unblocks work in #15845. Tree-SHA512: d563aa2c201d5fb4874e506a28f468c37e457cc8a20229c377178af08c22d3be44e19ee6e8e524b6de99236cd5f2c9e39b8009d88c26854aa774737912bd5889
2019-09-25make SaltedOutpointHasher noexceptMartin Ankerl
If the hash is not noexcept, unorderd_map has to assume that it can throw an exception. Thus when rehashing care needs to be taken. libstdc++ solves this by simply caching the hash value, which increases memory of each node by 8 bytes. Adding noexcept prevents this caching. In my experiments with -reindex-chainstate -stopatheight=594000, memory usage has decreased by 9.4% while runtime has increased by 1.6% due to additional hashing. Additionally, memusage::DynamicUsage() is now more accurate and does not underestimate.
2019-09-25Merge #16928: gui: Rename address checkbox back to bech32Wladimir J. van der Laan
fa7847d99b7084f1de5dc61506069e32de43a498 gui: Rename address checkbox back to bech32 (MarcoFalke) Pull request description: This is the wording that has been used in the previous release, so translations should still exist for it. Fixes: #16924 ACKs for top commit: promag: ACK fa7847d99b7084f1de5dc61506069e32de43a498. laanwj: ACK fa7847d99b7084f1de5dc61506069e32de43a498 Tree-SHA512: 0ac6c47fe5eb2145b609a30fd3f56052d3e08abe6c67fc74b6d209a55a4df509c52f13eb1c759520a4fa43916ece0e6d4cefef87e061b51114a6582db911944a
2019-09-25Merge #16929: test: follow-up to rpc: default maxfeerate value as BTC/kBWladimir J. van der Laan
6659810e2f38994813aa9d7644d570ae0152fa2c test: use named args for sendrawtransaction calls (Jon Atack) 5c1cd78b7e582660a78d9d9dec673967a6b78936 doc: improve rawtransaction code/test docs (Jon Atack) acc14c50932c7353f94d3d4367d05021606e0ca9 test: fix incorrect value in rpc_rawtransaction.py (Jon Atack) Pull request description: Follow-up to PR #16521. - Fix incorrect value in rpc_rawtransaction test as per https://github.com/bitcoin/bitcoin/pull/16521/files#r325842308 - Improve the code docs - Use named arguments as per https://github.com/bitcoin/bitcoin/pull/16521/files#r310715127 Happy to squash or keep only the first commit if the others are too fixup-y. ACKs for top commit: laanwj: ACK 6659810e2f38994813aa9d7644d570ae0152fa2c Tree-SHA512: bf5258f23802ab3ba3defb8791097e08e63f3e2af21023f832cd270dc88d1fa04349e921d69f9f5fedac5dce5cd3c1cc46b48febbede4bc18dccb8be994565b2
2019-09-24validation: Make GetWitnessCommitmentIndex publicMarcoFalke
2019-09-24make sure to update the UI when deleting a transactionJonas Schnelli
2019-09-23doc: Move doxygen intro to file for USE_MDFILE_AS_MANPAGEJon Layton
doc: Change header to notitle
2019-09-23Merge #15558: Don't query all DNS seeds at oncefanquake
6170ec5d3ac2bc206068b270e5722a7ecd3a8f26 Do not query all DNS seed at once (Pieter Wuille) Pull request description: Before this PR, when we don't have enough connections after 11 seconds, we proceed to query all DNS seeds in a fixed order, loading responses from all of them. Change this to to only query three randomly-selected DNS seed. If 11 seconds later we still don't have enough connections, try again with another one, and so on. This reduces the amount of information DNS seeds can observe about the requesters by spreading the load over all of them. ACKs for top commit: Sjors: ACK 6170ec5d3 sdaftuar: ACK 6170ec5d3ac2bc206068b270e5722a7ecd3a8f26 jonasschnelli: utACK 6170ec5d3ac2bc206068b270e5722a7ecd3a8f26 - I think the risk of a single seeder codebase is orthogonal to this PR. Such risks could also be interpreted differently (diversity could also increase the risk based on the threat model). fanquake: ACK 6170ec5d3ac2bc206068b270e5722a7ecd3a8f26 - Agree with the reasoning behind the change. Did some testing with and without `-forcednsseed` and/or a `peers.dat` and monitored the DNS activity. Tree-SHA512: 33f6be5f924a85d312303ce272aa8f8d5e04cb616b4b492be98832e3ff37558d13d2b16ede68644ad399aff2bf5ff0ad33844e55eb40b7f8e3fddf9ae43add57
2019-09-21doc: improve rawtransaction code/test docsJon Atack
2019-09-21gui: Rename address checkbox back to bech32MarcoFalke
This is the wording that has been used in the previous release
2019-09-20Merge #16900: doc: Fix doxygen comment for SignTransaction in ↵fanquake
rpc/rawtransaction_util fa8d65f07187590ae507c65a6dd63fd47b8d1fb3 doc: Fix doxygen comment for SignTransaction in rpc/rawtransaction_util (MarcoFalke) Pull request description: The param `coins` to `SignTransaction` is final and can thus not be extended (as suggested by the doc). ACKs for top commit: practicalswift: ACK fa8d65f07187590ae507c65a6dd63fd47b8d1fb3 -- const correctness is good and diff looks correct fanquake: ACK fa8d65f07187590ae507c65a6dd63fd47b8d1fb3 Tree-SHA512: 041e159f2c3cf96e296173c31f3e5f35bbc7711cc888aa4bf08aaa8c65c95ee7f7672f65396690a9af45795a618eea0fadde7fb02d29ec85f1b4df5e6d9e0c7a
2019-09-19doc: Fix doxygen comment for SignTransaction in rpc/rawtransaction_utilMarcoFalke
2019-09-19Merge #16743: refactor: move LoadChainTip/RelayBlocks under CChainStateMarcoFalke
3cf36736e540cf06250701f0934a7946836d000d refactoring: move ReplayBlocks under CChainState (James O'Beirne) bcf73d3b84649c8786f0cccc6862dd1bbdb9950b refactoring: move LoadChainTip to CChainState method (James O'Beirne) f5809d5b135c7f9de5217d3cda76638fe7eed58a doc: fix CChainState::ActivateBestChain doc (James O'Beirne) Pull request description: This is part of the [assumeutxo project](https://github.com/bitcoin/bitcoin/projects/11): Parent PR: #15606 Issue: #15605 Specification: https://github.com/jamesob/assumeutxo-docs/tree/master/proposal --- Move more chainstate-related functionality to methods on CChainState. Nothing too interesting here, but needed to work with multiple chainstates. And brief to review. :) Also fixes doc on ActivateBestChain. ACKs for top commit: MarcoFalke: ACK 3cf36736e540cf06250701f0934a7946836d000d ryanofsky: Can confirm. utACK 3cf36736e540cf06250701f0934a7946836d000d. Removes wrapper functions and removes more ::ChainActive() and ::ChainstateActive() calls than it adds, so seems good. Tree-SHA512: 4bf8a1dd454ca9d61c85f6736910fa7354c57acc0002e3a8e5ce494035d8280e4c20e066f03478eeff7d44195e7912c282a486526da9be53854b478b961affaa