aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-31qt, rpc, refactor: Return early in RPCConsole::on_lineEdit_returnPressedHennadii Stepanov
2021-05-31qt, rpc: Add "Executing…" messageHennadii Stepanov
2021-05-31Merge bitcoin/bitcoin#22109: doc: Fix external links (IRC, ...)MarcoFalke
9999e4c64b219ffec5105442047daf2b46be0700 doc: Fix external links (IRC, ...) (MarcoFalke) Pull request description: The freenode channel was deleted by their staff. Fix that by moving to libera chat. Also includes minor cosmetic fixups :pig: :nail_care: ACKs for top commit: hebasto: re-ACK 9999e4c64b219ffec5105442047daf2b46be0700, agree with the recent changes. kristapsk: re-ACK 9999e4c64b219ffec5105442047daf2b46be0700 theStack: ACK 9999e4c64b219ffec5105442047daf2b46be0700 jarolrod: ACK 9999e4c64b219ffec5105442047daf2b46be0700 Tree-SHA512: 67886783b1239153ac1631f6594fc2f873760da3c63aca400c0a84f852418d0e28de0400310f4d8b8fe213b7d4d243600607acc4a48c1662f9848f254c946cab
2021-05-31test: feature_cltv.py: don't return tx copies in modification functionsSebastian Falbesoner
The functions cltv_modify_tx(), cltv_invalidate() and cltv_validate() all modify the passed transaction in-place, i.e. there is no need to return a copy.
2021-05-31test: drop unused node parameters in feature_cltv.pySebastian Falbesoner
The following functions had a parameter "node" that is unsused and hence can be removed: - cltv_modify_tx() - cltv_invalidate() - cltv_validate()
2021-05-31test: fix typo in feature_cltv.py (s/ctlv/cltv/)Sebastian Falbesoner
2021-05-31Merge bitcoin-core/gui#309: Add access to the Peers tab from the network iconHennadii Stepanov
d29ea72393ac1d9b32a6976062e9c9fb75876295 gui: Add access to the Peers tab from the network icon (Hennadii Stepanov) Pull request description: This PR add a small context menu to the network activity icon that provides an access to the Peers tab: ![gui-network-icon](https://user-images.githubusercontent.com/32963518/116794314-d64b9b80-aad4-11eb-89ca-7f75c7442ba8.gif) Closes #93. ACKs for top commit: Sjors: re-ACK d29ea72393ac1d9b32a6976062e9c9fb75876295 kristapsk: re-ACK d29ea72393ac1d9b32a6976062e9c9fb75876295 promag: Code review ACK d29ea72393ac1d9b32a6976062e9c9fb75876295. Tree-SHA512: dd871415fe514a19c6a22100d58f31954d9e55b80585d5a3f26e17a8d51dadf912441786fc0d23beabd812f1b501658fec1dbe345cd41beae5832a8eda890f77
2021-05-31test: run mempool_reorg.py even with wallet disabledDarius Parvin
- run mempool_reorg.py even when the wallet is not compiled - add `locktime` argument to `create_self_transfer` and `send_self_transfer` - use more logs instead of comments
2021-05-31doc: Fix external links (IRC, ...)MarcoFalke
2021-05-31refactor: Switch serialize to uint8_t (1/n)MarcoFalke
2021-05-31Merge bitcoin/bitcoin#22080: doc: add maxuploadtarget to bitcoin.conf exampleMarcoFalke
947f9734daab4e47c0abdc6ef7d52812102ecb6b doc: add maxuploadtarget to bitcoin.conf example (apitko) Pull request description: picking up #21499, author has stated they [can't squash](https://github.com/bitcoin/bitcoin/pull/21499#issuecomment-849277632). This adds the maxuploadtarget option to the `bitcoin.conf` example file. This is useful for those looking to configure their bandwidth utilization. **Changes from Original PR:** - squash commits - fix typo in commit message + reword commit message to be more appropriate - Implement review suggestions ([1](https://github.com/bitcoin/bitcoin/pull/21499#discussion_r615409982), [2](https://github.com/bitcoin/bitcoin/pull/21499#discussion_r615410337), [3](https://github.com/bitcoin/bitcoin/pull/21499#pullrequestreview-659357756)) - Fix spacing ACKs for top commit: jonatack: ACK 947f9734daab4e47c0abdc6ef7d52812102ecb6b theStack: re-ACK 947f9734daab4e47c0abdc6ef7d52812102ecb6b Tree-SHA512: 658ce6e1f204cd1c1c6f8977fd46ba1631f417d3f492e6d777b0ca49ffecc2ecfa4fbd86ca0e08c0dd5d6df4e32f0b56693e0a71bd7eafafd019e93bbcf9420f
2021-05-31Merge bitcoin/bitcoin#22095: test: Additional BIP32 test vector for hardened ↵MarcoFalke
derivation with leading zeros 91ef8344d4de28b0a659401ef5fefee6c3d9f7ae Additional test vector for hardened derivation with leading zeros (Kristaps Kaupe) Pull request description: See [Inconsistent BIP32 Derivations](https://blog.polychainlabs.com/bitcoin,/bip32,/bip39,/kdf/2021/05/17/inconsistent-bip32-derivations.html) and https://github.com/bitcoin/bips/pull/1030. ACKs for top commit: practicalswift: cr ACK 91ef8344d4de28b0a659401ef5fefee6c3d9f7ae sipa: ACK 91ef8344d4de28b0a659401ef5fefee6c3d9f7ae. Verified that it matches the linked BIP32 update, and that it indeed tests derivation from a private key with leading 0 byte. Tree-SHA512: 0a3ae7aed15e4e08e9bec5db8de53c6c03ed3b3632f390394eea422597755173cbd2228ff0cfa57f5aae3df9d4cdf03a8ef4725cc8bce86ab7d9c82ab9d479ad
2021-05-31Merge bitcoin/bitcoin#21989: test: Use COINBASE_MATURITY in functional testsMarcoFalke
bfa9309ad606102f24c9bd3c33dfe78949f09418 Use COINBASE_MATURITY constant in functional tests. (Kiminuo) 525448df9dc2ab6b7e960ff138956ae3e2efdf60 Move COINBASE_MATURITY from `feature_nulldummy` test to `blocktools`. (Kiminuo) Pull request description: `COINBASE_MATURITY` constant was added to `feature_nulldummy` test in #21373. This PR moves the constant to `blocktools.py` file and uses the constant in more tests as suggested [here](https://github.com/bitcoin/bitcoin/pull/21373#discussion_r605418462). Edit: Goal of this PR is to replace integer constants with `COINBASE_MATURITY` but not necessarily in *all* cases because that would mean to read and fully understand all tests. That's out of my time constraints. Any reports where `COINBASE_MATURITY` should be used are welcome though! ACKs for top commit: theStack: ACK bfa9309ad606102f24c9bd3c33dfe78949f09418 🌇 Tree-SHA512: 01f04645f05a39028681f355cf3d42dd63ea3303f76d93c430e0fdce441934358a2d847a54e6068d61932f1b75e1d406f51859b057b3e4b569f7083915cb317f
2021-05-31scripted-diff: rename GetSystemTimeInSeconds to GetTimeSecondsfanquake
-BEGIN VERIFY SCRIPT- sed -i -e 's/GetSystemTimeInSeconds/GetTimeSeconds/g' $(git grep -l GetSystemTimeInSeconds src) -END VERIFY SCRIPT-
2021-05-31net: cleanup newly added PeerManagerImpl::ProcessNewBlockfanquake
Addresses some post-merge comments.
2021-05-31validation: change ProcessNewBlock() to take a CBlock referencefanquake
Update ProcessNewBlock arguments to newer style.
2021-05-31Use COINBASE_MATURITY constant in functional tests.Kiminuo
2021-05-31Merge bitcoin/bitcoin#22103: test: Fix IPv6 check on BSD systemsMarcoFalke
2be35725069fd4c589497b93e09e1c6db6946372 test: Fix IPv6 check on BSD systems (nthumann) Pull request description: I noticed that `test_ipv6_local()` always returns `False` on macOS or FreeBSD, even though IPv6 is working perfectly fine. This causes `test/functional/rpc_bind.py --ipv6` and `test/functional/feature_proxy.py` to skip their run. Apparently, there's a check if the port number is `0` (see [here](https://github.com/freebsd/freebsd-src/blob/64881da478071431a2d9e62613997a5772c56cdf/sys/netinet6/udp6_usrreq.c#L248) or [here](https://github.com/apple/darwin-xnu/blob/8f02f2a044b9bb1ad951987ef5bab20ec9486310/bsd/netinet6/udp6_usrreq.c#L282)), while Linux has no problem with this. This is fixed by specifying any other port number than `0`, e.g. `1`. Still, because of `SOCK_DGRAM`, no actual connection is made. ACKs for top commit: fanquake: ACK 2be35725069fd4c589497b93e09e1c6db6946372 - nice improvement. I checked that with this change ipv6 related tests in `feature_proxy.py` are being run. theStack: ACK 2be35725069fd4c589497b93e09e1c6db6946372 Tree-SHA512: 8417c2d3cf71050529f3fa409a03872040fe5d249eae4172f276e62156e505a20d375b963712a186c9ad7967d8a497b5900d327c74a9693f68c33063871d4691
2021-05-31Merge bitcoin/bitcoin#22070: build: don't use cf-protection when targeting ↵fanquake
arm-apple-darwin 3caedb4c0351f99d1ef74e8fc9d4e276361ce90a build: don't use cf-protection when targeting arm-apple-darwin (fanquake) Pull request description: After two reports on IRC of issues building depends on an Apple M1 machine, this option (obviously) can't be used when targeting `arm-apple-darwin`. For now, just use it for `x86_64-apple-darwin`. ```bash Apple clang version 12.0.5 (clang-1205.0.22.9) Target: x86_64-apple-darwin20.4.0 error: option 'cf-protection=return' cannot be specified on this target error: option 'cf-protection=branch' cannot be specified on this target 2 errors generated. ``` ACKs for top commit: promag: Tested ACK 3caedb4c0351f99d1ef74e8fc9d4e276361ce90a. Tree-SHA512: 8763a5b94000016b0c2f0438e66002fdfcd2cbafd9d2d2acc1972f0c6f707e820186711dbd9d3f72673c179718da75588acb4732f8d84b85f0c1dfc862b6e944
2021-05-30test: Fix IPv6 check on BSD systemsnthumann
2021-05-30scripted-diff: Rename SelectCoinsMinConf to AttemptSelectionAndrew Chow
SelectCoinsMinConf is a bit of a misnomer now since it really just does all of the coin selection given some parameters. So rename this to something less annoying to say and makes a bit more sense. -BEGIN VERIFY SCRIPT- sed -i 's/SelectCoinsMinConf/AttemptSelection/g' $(git grep -l SelectCoinsMinConf ./src) -END VERIFY SCRIPT-
2021-05-30Move vin filling to before final fee settingAndrew Chow
It's unnecessary to fill in the vin with dummy inputs, calculate the fee, then fill in the vin with the actual inputs. Just fill the vin with the actual inputs the first time.
2021-05-30Set m_subtract_fee_outputs during recipients vector loopAndrew Chow
Instead of setting this afterwards based on the results from the loop, just do it inside of the loop itself. Fixed some styling nearby
2021-05-30Move variable initializations to where they are usedAndrew Chow
- txNew nLockTime setting to txNew init - FeeCalc to the fee estimation fetching - setCoins to prior to SelectCoins - nBytes to CalculateMaximumSignedTxSize call - tx_sizes to CalculateMaximumSignedTxSize call - coin_selection_params.m_avoid_partial_spends to params init
2021-05-30Move recipients vector checks to beginning of CreateTransactionAndrew Chow
Ensuring that the recipients vector is not empty and that the amounts are non-negative can be done in CreateTransaction rather than CreateTransactionInternal. Additionally, these checks should happen as soon as possible, so they are done at the beginning of CreateTransaction.
2021-05-30Rename nSubtractFeeFromAmount in CreateTransactionAndrew Chow
Renamed to outputs_to_subtract_fee_from for clarity.
2021-05-30Rename nValue and nValueToSelectAndrew Chow
nValue is the sum of the intended recipient amounts, so name it that for clarity. nValueToSelect is the coin selection target value, so name it selection_target for clarity.
2021-05-30Remove extraneous scope in CreateTransactionInternalAndrew Chow
These brackets were restricting a scope for no apparent reason. Remove them and dedent.
2021-05-30Move cs_wallet lock in CreateTransactionInternal to top of functionAndrew Chow
It isn't necessary to not lock parts of this function. Just lock the whole thing and get rid of an indent.
2021-05-30Merge bitcoin/bitcoin#21207: MOVEONLY: CWallet transaction code out of ↵Samuel Dobson
wallet.cpp/.h c7bd5842e467c4fc286399379572bbdec6b26a4f MOVEONLY: CWallet transaction code out of wallet.cpp/.h (Russell Yanofsky) Pull request description: This commit just moves function without making any changes. It can be reviewed with `git log -p -n1 --color-moved=dimmed_zebra` Motivation for this change is to make `wallet.cpp/h` less monolithic and start to make wallet transaction state tracking comprehensible so bugs in https://github.com/bitcoin-core/bitcoin-devwiki/wiki/Wallet-Transaction-Conflict-Tracking can be fixed safely without introducing new problems. This moves wallet classes and methods that deal with transactions out of `wallet.cpp/.h` into better organized files: - `transaction.cpp/.h` - CWalletTx and CMerkleTx class definitions - `receive.cpp/.h` - functions checking received transactions and computing balances - `spend.cpp/.h` - functions creating transactions and finding spendable coins After #20773, when loading is separated from syncing it will also be possible to move more `wallet.cpp/.h` functions to: - `sync.cpp/.h` - functions handling chain notifications and rescanning This commit arranges `receive.cpp` and `spend.cpp` functions in dependency order so it's possible to skim `receive.cpp` and get an idea of how computing balances works, and skim `spend.cpp` and get an idea of how transactions are created, without having to jump all over `wallet.cpp` where functions are not in order and there is a lot of unrelated code. Followup commit "refactor: Detach wallet transaction methods" in https://github.com/bitcoin/bitcoin/pull/21206 follows up this PR and tweaks function names and arguments to reflect new locations. The two commits are split into separate PRs because this commit is more work to maintain and less work to review, while the other commit is less work to maintain and more work to review, so hopefully this commit can be merged earlier. ACKs for top commit: Sjors: re-utACK c7bd5842e467c4fc286399379572bbdec6b26a4f fjahr: utACK c7bd5842e467c4fc286399379572bbdec6b26a4f promag: Code review ACK c7bd5842e467c4fc286399379572bbdec6b26a4f, verified move only claim. meshcollider: Dimmed-zebra-check and functional test run ACK c7bd5842e467c4fc286399379572bbdec6b26a4f Tree-SHA512: 4981de6911cb1196774db375494355cc9af59b52456129c002d264a77cd9ed6175f8ecbb6b2f492a59a4d5a0def21a39d96fa79c9f4d99be0992985f553be32f
2021-05-29Merge bitcoin-core/gui#343: Improve the GUI responsiveness when progress ↵Hennadii Stepanov
dialogs are used 4935ac583bbdc289dd31a1caae3d711edef742b6 qt: Improve GUI responsiveness (Hennadii Stepanov) 75850106aeecfed1d2dc16d8a67ec210c5826a47 qt, macos: Fix GUIUtil::PolishProgressDialog bug (Hennadii Stepanov) Pull request description: [`QProgressDialog`](https://doc.qt.io/qt-5/qprogressdialog.html) estimates the time the operation will take (based on time for steps), and only shows itself if that estimate is beyond [`minimumDuration`](https://doc.qt.io/qt-5/qprogressdialog.html#minimumDuration-prop). The default `minimumDuration` value is [4 seconds](https://doc.qt.io/qt-5/qprogressdialog.html#details), and it could make users think that the GUI is frozen. This PR sets `minimumDuration` to zero for all progress dialogs, that affects ones in the `WalletControllerActivity` class. ACKs for top commit: ryanofsky: Code review ACK 4935ac583bbdc289dd31a1caae3d711edef742b6. I'm not very familiar with this API but all the changes and explanations make sense and are very clear, and this seems like it should be an improvement. promag: Code review ACK 4935ac583bbdc289dd31a1caae3d711edef742b6. jarolrod: ACK 4935ac583bbdc289dd31a1caae3d711edef742b6 Tree-SHA512: 2ddd74e7fd87894d341d2439dbaa544d031a350f7f57d4c7e9fbba977dc24080fe60fd7a80a542b1647f1de9091d7fd04a36eab695088d4d75fb836548e99b5f
2021-05-29qt: Drop BitcoinGUI* WalletFrame data memberHennadii Stepanov
This changes removes bitcoingui->walletframe->bitcoingui circular dependency. This commit does not change behavior.
2021-05-29qt: Move CreateWalletActivity connection from WalletFrame to BitcoinGUIHennadii Stepanov
This changes remove some pointers to the BitcoinGUI instance that is required for the next commits. This commit does not change behavior.
2021-05-29qt: Move WalletView connections from WalletFrame to BitcoinGUIHennadii Stepanov
This changes remove some pointers to the BitcoinGUI instance that is required for the next commits. This commit does not change behavior.
2021-05-28test: check anchors.dat when node starts for the first timebruno
2021-05-28doc: add maxuploadtarget to bitcoin.conf exampleapitko
Introduce the maxuploadtarget option to the example bitcoin.conf file. This adds visibility for this option which is useful to those looking to configure bandwidth usage.
2021-05-28p2p: AddrFetch - don't disconnect on self-announcementsMartin Zumsande
Disconnecting an AddrFetch peer only after receiving an addr message of size >1 prevents dropping them before they had a chance to answer the getaddr request.
2021-05-28Merge bitcoin-core/gui#275: Support runtime appearance adjustment on macOSHennadii Stepanov
c231254a65d390a3350fcef456d57e4a6eca0506 qt: Make TransactionView aware of runtime palette change (Hennadii Stepanov) 2b622d4aced1848393989ee906b1f9d2436f1c1a qt: Make CoinControlDialog aware of runtime palette change (Hennadii Stepanov) 97a6b5e06a532a4ee029c8ba59c3438369f8b049 qt: Make OverviewPage aware of runtime palette change (Hennadii Stepanov) d05f1b278d9846de5142a4ac3f53c84145330dd1 qt: Make UnitDisplayStatusBarControl aware of runtime palette change (Hennadii Stepanov) 6b2ce65392dc98250e84941370e975048b8afc54 qt: Replace base class of ClickableLabel with ThemedLabel (Hennadii Stepanov) ff530a2093c294a1093e1b00fb66ab0a98851c04 qt: Use GUIUtil::ThemedLabel class (Hennadii Stepanov) d99ef327a885874fed1c4e35e0f47b10290c6bd9 qt: Add GUIUtil::ThemedLabel class (Hennadii Stepanov) c054720e08b5549913f54b9b4bc4e4002617ff23 qt: Make SignVerifyMessageDialog aware of runtime palette change (Hennadii Stepanov) 0dcc3fac433b341eb6e1d3a2fb4d2de1595e8e88 qt: Make SendCoinsEntry aware of runtime palette change (Hennadii Stepanov) fa18d28e1242c2948814df1082ee12c2fecf5403 qt: Make RPCConsole aware of runtime palette change (Hennadii Stepanov) f1083826e3e68803da86af6efba21c4080769b5c qt: Make BitcoinGUI aware of runtime palette change (Hennadii Stepanov) ce17861dc419b0d1fc1d933000f484dd08bacf5b qt: Make PlatformStyle aware of runtime palette change (Hennadii Stepanov) Pull request description: On macOS switching appearance (Light -> Dark or Dark -> Light) when Bitcoin Core is running makes the GUI pretty unusable. This bug is especially important when a user chose the "Auto" mode to adjust appearance automatically. This PR fixes Bitcoin Core behavior. This is an alternative to #268. ACKs for top commit: Sjors: tACK c231254a65d390a3350fcef456d57e4a6eca0506 on macOS 11.4 goums: ACK c231254a65d390a3350fcef456d57e4a6eca0506 promag: Tested ACK c231254a65d390a3350fcef456d57e4a6eca0506 on macOS Big Sur arm64. jarolrod: tACK c231254a65d390a3350fcef456d57e4a6eca0506 Tree-SHA512: 122dda3e4c9703f68cec60613c536ca59d04c93f2c03398559f2361b8d279ae534800e8e677d94a33e10e769d00be54295a704e98afa2e986a06146b9f164854
2021-05-28addrman: use unordered_map instead of mapVasil Dimov
`CAddrMan` uses `std::map` internally even though it does not require that the map's elements are sorted. `std::map`'s access time is `O(log(map size))`. `std::unordered_map` is more suitable as it has a `O(1)` access time. This patch lowers the execution times of `CAddrMan`'s methods as follows (as per `src/bench/addrman.cpp`): ``` AddrMan::Add(): -3.5% AddrMan::GetAddr(): -76% AddrMan::Good(): -0.38% AddrMan::Select(): -45% ```
2021-05-28Additional test vector for hardened derivation with leading zerosKristaps Kaupe
2021-05-28test: remove BasicTestingSetup from util_threadnames unit testsfanquake
2021-05-28test: remove BasicTestingSetup from uint256 unit testsfanquake
2021-05-28test: remove BasicTestingSetup from torcontrol unit testsfanquake
2021-05-28test: remove BasicTestingSetup from sync unit testsfanquake
2021-05-28test: remove BasicTestingSetup from reverse_lock unit testsfanquake
2021-05-28test: remove BasicTestingSetup from policy_fee unit testsfanquake
2021-05-28test: remove BasicTestingSetup from merkleblock testsfanquake
2021-05-28test: remove BasicTestingSetup from hash unit testsfanquake
2021-05-28test: remove BasicTestingSetup from compilerbug unit testsfanquake
2021-05-28test: remove BasicTestingSetup from bswap unit testsfanquake