Andrew Poelstra
3894f4419c
Merge 3d57015aa2 into merged_master (Bitcoin PR #19491 )
2020-11-26 04:25:00 +00:00
Andrew Poelstra
2468108f7b
Merge b8740d6737 into merged_master (Bitcoin PR #18468 )
2020-11-26 01:09:07 +00:00
Andrew Poelstra
f32fd217a5
Merge ec4d27fa8b into merged_master (Bitcoin PR #18216 )
2020-11-26 01:08:40 +00:00
Andrew Poelstra
fd37b7c5d6
Merge 54f812d9d2 into merged_master (Bitcoin PR #18673 )
2020-11-26 01:08:23 +00:00
Andrew Poelstra
aeae0e2742
Merge 0dc6218c79 into merged_master (Bitcoin PR #18270 )
2020-11-26 01:08:03 +00:00
Andrew Poelstra
5b3e849748
Merge 2e97d80017 into merged_master (Bitcoin PR #18134 )
2020-11-26 01:08:02 +00:00
Andrew Poelstra
cc668250eb
Merge 97aadf98d0 into merged_master (Bitcoin PR #16117 )
2020-11-26 01:07:50 +00:00
Andrew Poelstra
a0d00c7c75
Merge 9027960932 into merged_master (Bitcoin PR #18225 )
2020-11-26 01:07:47 +00:00
Andrew Poelstra
f0e3e31c0d
Merge 03f98b15ad into merged_master (Bitcoin PR #17577 )
2020-11-26 01:07:45 +00:00
Andrew Poelstra
9a8c2b0e3f
Merge 8a56f79d49 into merged_master (Bitcoin PR #17482 )
2020-11-26 01:07:40 +00:00
Andrew Poelstra
2c846f5fa3
Merge da3611a580 into merged_master (Elements PR #808 )
2020-11-26 00:29:43 +00:00
Andrew Poelstra
7c53615bb6
Merge af05bd9e1e into merged_master (Bitcoin PR #17891 )
2020-11-14 16:52:07 +00:00
Andrew Poelstra
077355e651
Merge 6677be64f6 into merged_master (Bitcoin PR #17473 )
2020-11-14 16:52:01 +00:00
Andrew Poelstra
7d5d0e9d6a
Merge 94c6f2bba4 into merged_master (Bitcoin PR #17593 )
2020-11-14 16:52:00 +00:00
Andrew Poelstra
ba2897d87a
Merge 6b51cce65a into merged_master (Bitcoin PR #17753 )
2020-11-14 16:51:59 +00:00
Andrew Poelstra
35020e3a32
Merge a7aec7ad97 into merged_master (Bitcoin PR #15934 )
2020-11-09 23:10:09 +00:00
Andrew Poelstra
54dd52556e
Merge 772673dfbe into merged_master (Bitcoin PR #16978 )
2020-11-09 23:10:08 +00:00
Andrew Poelstra
056b9bb06d
Merge 46fc4d1a24 into merged_master (Bitcoin PR #17384 )
2020-11-09 23:10:08 +00:00
Andrew Poelstra
eace3e1898
Merge 6f4e247357 into merged_master (Bitcoin PR #17390 )
2020-11-09 23:10:08 +00:00
Andrew Poelstra
df7c1ad3d7
Merge 224c19645f into merged_master (Bitcoin PR #17388 )
2020-11-09 23:09:06 +00:00
Andrew Poelstra
bb87204b71
Merge cfec3e01b4 into merged_master (Bitcoin PR #17266 )
2020-11-09 21:20:46 +00:00
Andrew Poelstra
4749945d77
Merge 0ff7cd7d0c into merged_master (Bitcoin PR #16889 )
2020-11-09 21:20:42 +00:00
Andrew Poelstra
c704a02e4e
Merge c34b88620d into merged_master (Bitcoin PR #17095 )
2020-11-09 21:20:40 +00:00
Andrew Poelstra
f3f736f76d
Merge befdef8aee into merged_master (Bitcoin PR #16887 )
2020-11-09 21:20:37 +00:00
Andrew Poelstra
3fd0c0af03
Merge 52b9797119 into merged_master (Bitcoin PR #16670 )
2020-11-09 21:20:17 +00:00
Andrew Poelstra
527d180369
Merge b799ebcc17 into merged_master (Bitcoin PR #16566 )
2020-11-09 21:20:13 +00:00
Andrew Poelstra
9c3480fea9
Merge 3a3d8b8357 into merged_master (Bitcoin PR #16097 )
2020-11-09 21:20:11 +00:00
Andrew Poelstra
9fbf23d6f2
Merge 3dd46d1730 into merged_master (Elements PR #675 )
2020-11-09 21:19:26 +00:00
Andrew Poelstra
9274da2dfc
Merge 7400135b79 into merged_master (Bitcoin PR #16278 )
2020-11-09 03:58:17 +00:00
Andrew Poelstra
f81f984f36
Merge c52776e6ff into merged_master (Bitcoin PR #16252 )
2020-11-09 03:57:55 +00:00
Andrew Poelstra
0267d06c6a
Merge 62efead8a8 into merged_master (Bitcoin PR #16046 )
2020-10-29 23:41:15 +00:00
Andrew Poelstra
24e3d9635c
Merge 6f4ba6492a into merged_master (Bitcoin PR #15988 )
2020-10-29 17:04:58 +00:00
Andrew Poelstra
6674d9e91f
Merge 10ed4dff24 into merged_master (Bitcoin PR #15869 )
2020-10-29 02:06:04 +00:00
Andrew Poelstra
e6343c7258
Merge 0c9de67f34 into merged_master (Bitcoin PR #15352 )
2020-10-28 16:43:51 +00:00
Andrew Poelstra
161bcd2ae8
Merge 78295e97b8 into merged_master (Bitcoin PR #15788 )
2020-10-28 16:43:03 +00:00
Andrew Poelstra
175b8550f8
Merge c3b1cb958f into merged_master (Bitcoin PR #15573 )
2020-10-27 23:27:13 +00:00
Andrew Poelstra
a599a81d3a
Merge 789b0bbf2a into merged_master (Bitcoin PR #15335 )
2020-10-27 21:39:17 +00:00
MarcoFalke
fa53635381
util: Make Assert work with any value
2020-07-11 15:02:07 +02:00
Pieter Wuille
2676aeadfa
Simplify usage of Span in several places
2020-05-12 14:19:40 -07:00
Ben Woosley
df37377e30
test: Fix outstanding -Wsign-compare errors
2020-05-08 11:18:43 -07:00
MarcoFalke
fac5c37300
scripted-diff: Sort test includes
...
-BEGIN VERIFY SCRIPT-
# Mark all lines with #includes
sed -i --regexp-extended -e 's/(#include <.*>)/\1 /g' $(git grep -l '#include' ./src/bench/ ./src/test ./src/wallet/test/)
# Sort all marked lines
git diff -U0 | ./contrib/devtools/clang-format-diff.py -p1 -i -v
-END VERIFY SCRIPT-
2020-04-16 13:32:36 -04:00
MarcoFalke
0dc6218c79
Merge #18270 : util: Fail to parse whitespace-only strings in ParseMoney(...) (instead of parsing as zero)
...
100213c5c2 util: Fail to parse space-only strings in ParseMoney(...) (instead of parsing as zero) (practicalswift)
Pull request description:
Fail to parse whitespace-only strings in `ParseMoney(...)` (instead of parsing as `0`).
This is a follow-up to #18225 ("util: Fail to parse empty string in `ParseMoney`") which made `ParseMoney("")` fail instead of parsing as `0`.
Context: https://github.com/bitcoin/bitcoin/pull/18225#issuecomment-592994765
Current non-test call sites:
```
$ git grep ParseMoney ":(exclude)src/test/"
src/bitcoin-tx.cpp: if (!ParseMoney(strValue, value))
src/init.cpp: if (!ParseMoney(gArgs.GetArg("-incrementalrelayfee", ""), n))
src/init.cpp: if (!ParseMoney(gArgs.GetArg("-minrelaytxfee", ""), n)) {
src/init.cpp: if (!ParseMoney(gArgs.GetArg("-blockmintxfee", ""), n))
src/init.cpp: if (!ParseMoney(gArgs.GetArg("-dustrelayfee", ""), n))
src/miner.cpp: if (gArgs.IsArgSet("-blockmintxfee") && ParseMoney(gArgs.GetArg("-blockmintxfee", ""), n)) {
src/util/moneystr.cpp:bool ParseMoney(const std::string& str, CAmount& nRet)
src/util/moneystr.h:NODISCARD bool ParseMoney(const std::string& str, CAmount& nRet);
src/wallet/wallet.cpp: if (!ParseMoney(gArgs.GetArg("-mintxfee", ""), n) || 0 == n) {
src/wallet/wallet.cpp: if (!ParseMoney(gArgs.GetArg("-fallbackfee", ""), nFeePerK)) {
src/wallet/wallet.cpp: if (!ParseMoney(gArgs.GetArg("-discardfee", ""), nFeePerK)) {
src/wallet/wallet.cpp: if (!ParseMoney(gArgs.GetArg("-paytxfee", ""), nFeePerK)) {
src/wallet/wallet.cpp: if (!ParseMoney(gArgs.GetArg("-maxtxfee", ""), nMaxFee)) {
```
ACKs for top commit:
Empact:
ACK https://github.com/bitcoin/bitcoin/pull/18270/commits/100213c5c29ebd7bd50aa885e54594ae10bf87a4
sipa:
ACK 100213c5c2
theStack:
ACK 100213c5c2
Tree-SHA512: cadfb1ac8276cf54736c3444705f2650e7a08023673aedc729fabe751ae80f6c490fc0945ee38dbfd02c95e4d9853d1e4c84f5d3c310f44eaf3585afec8a4c22
2020-03-26 20:25:55 -04:00
Ben Woosley
d056df033a
Replace std::to_string with locale-independent alternative
2020-03-14 12:23:01 -07:00
practicalswift
100213c5c2
util: Fail to parse space-only strings in ParseMoney(...) (instead of parsing as zero)
2020-03-12 14:15:10 +00:00
fanquake
97aadf98d0
Merge #16117 : util: Replace boost sleep with std sleep
...
fae86c38bc util: Remove unused MilliSleep (MarcoFalke)
fa9af06d91 scripted-diff: Replace MilliSleep with UninterruptibleSleep (MarcoFalke)
fa4620be78 util: Add UnintrruptibleSleep (MarcoFalke)
Pull request description:
We don't use the interruptible feature of boost's sleep anywhere, so replace it with the sleep in `std::thread`
ACKs for top commit:
ajtowns:
ACK fae86c38bc quick code review
practicalswift:
ACK fae86c38bc -- patch looks correct
sipa:
Concept and code review ACK fae86c38bc
fanquake:
ACK fae86c38bc - note that an instance of `DHAVE_WORKING_BOOST_SLEEP_FOR` was missed in the [linter](https://github.com/bitcoin/bitcoin/blob/master/test/lint/extended-lint-cppcheck.sh#L69 ), but that can be cleaned up later.
Tree-SHA512: 7c0f8eb197664b9f7d9fe6c472c77d384f11c797c913afc31de4b532e3b4fd9ea6dd174f92062ff9d1ec39b25e0900ca7c597435add87f0f2477d9557204848c
2020-03-06 15:41:00 +08:00
MarcoFalke
8888461f68
util: Fail to parse empty string in ParseMoney
2020-02-29 00:25:58 +07:00
MarcoFalke
fa9af06d91
scripted-diff: Replace MilliSleep with UninterruptibleSleep
...
This is safe because MilliSleep is never executed in a boost::thread,
the only type of thread that is interruptible.
* The RPC server uses std::thread
* The wallet is either executed in an RPC thread or the main thread
* bitcoin-cli, benchmarks and tests are only one thread (the main thread)
-BEGIN VERIFY SCRIPT-
sed -i --regexp-extended -e 's/MilliSleep\((\S+)\);/UninterruptibleSleep(std::chrono::milliseconds{\1});/g' $(git grep -l MilliSleep)
-END VERIFY SCRIPT-
2020-02-21 10:06:21 -08:00
Jeffrey Czyz
e193a84fb2
Refactor message hashing into a utility function
...
And add unit test for it.
The purpose of using a preamble or "magic" text as part of signing and
verifying a message was not given when the code was repeated in a few
locations. Make a test showing how it is used to prevent inadvertently
signing a transaction.
2020-02-14 10:45:41 +01:00
Vasil Dimov
f8f0d9893d
Deduplicate the message signing code
...
The logic of signing a message was duplicated in 3 places:
src/qt/signverifymessagedialog.cpp
SignVerifyMessageDialog::on_signMessageButton_SM_clicked()
src/rpc/misc.cpp
signmessagewithprivkey()
src/wallet/rpcwallet.cpp
signmessage()
Move the logic into
src/util/message.cpp
MessageSign()
and call it from all the 3 places.
2020-02-14 10:45:40 +01:00
Vasil Dimov
2ce3447eb1
Deduplicate the message verifying code
...
The logic of verifying a message was duplicated in 2 places:
src/qt/signverifymessagedialog.cpp
SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked()
src/rpc/misc.cpp
verifymessage()
with the only difference being the result handling. Move the logic into
a dedicated
src/util/message.cpp
MessageVerify()
which returns a set of result codes, call it from the 2 places and just
handle the results differently in the callers.
2020-02-14 10:45:40 +01:00