Commit graph

31560 commits

Author SHA1 Message Date
Hennadii Stepanov
acb9400ab6
build: Drop non-existent share/pkgconfig directory 2021-10-18 14:43:13 +03:00
MarcoFalke
2e82af46e2
Merge bitcoin/bitcoin#23207: test: Delete generate* calls from TestNode
fac62e6ff5 test: Delete generate* calls from TestNode (MarcoFalke)
fac7f6102f test: Use generate* node RPC, not wallet RPC (MarcoFalke)
faac1cda6e test: Use generate* from TestFramework, not TestNode (MarcoFalke)

Pull request description:

  Deleting the methods is needed for #22567 to pave the way to make it easier to implicitly call the `sync_all` member function.

  Without the methods being deleted, nothing prevents developers from adding calls to it. As history showed, developers *will* add calls to it. For example, see commit eb02dbba3c from today or the first commit in this pull request.

ACKs for top commit:
  stratospher:
    Tested ACK fac62e6.
  brunoerg:
    tACK fac62e6ff5
  promag:
    Code review ACK fac62e6ff5.

Tree-SHA512: 6d4dea8f95ead954acfef2e6a5d98897ce0c2d02265c5b137bb149d0265543bd51d7e8403e1945b9af75df5524ca50064fe1d2a432b25c8abc71bbb28ed6ed53
2021-10-18 13:06:03 +02:00
fanquake
ef596923a8
Merge bitcoin/bitcoin#23080: test: check abandoned tx in listsinceblock
bda620aecd test: check abandoned tx in listsinceblock (brunoerg)

Pull request description:

  This PR tests if the abandoned transaction is correct in listsinceblock return (wallet_abandonconflict.py).

ACKs for top commit:
  jonatack:
    ACK bda620aecd
  theStack:
    ACK bda620aecd
  stratospher:
    Tested ACK bda620a. This PR verifies whether the transaction txAB1 has been abandoned in listsinceblock and is a nice addition to the test!

Tree-SHA512: e4dce344cf621de7a8b5bd8660d252419772a293080fc881f6f448b6df85c6b1c8f0df619e855a40b6393f53c836f0d7fadbd3916c20cccd3a95830b8b502991
2021-10-18 12:02:55 +08:00
Sebastian Falbesoner
130ee48108 test: get and decode tx with a single gettransaction RPC call
Rather than subsequently calling `gettransaction` and
`decoderawtransaction` to get the decoded information  for a specific
tx-id, we can simply use the verbose version of `gettransaction`, which
returns this in a 'decoded' key. I.e.

node.decoderawtransaction(node.gettransaction(txid)['hex'])

can be replaced by:

node.gettransaction(txid=txid, verbose=True)['decoded']
2021-10-17 18:10:36 +02:00
MarcoFalke
3bf40d06a2
Merge bitcoin/bitcoin#23212: lint: enable mypy import checking
a46f71bb70 lint: enable mypy checking for missing imports (josibake)
22e652662b lint mypy 0.910 (fanquake)
6ae9c2ef23 lint: install pyzmq (22.3.0) into linter environment (josibake)
b93e2299da doc: remove pointlessly duplicated linter version / install info (fanquake)

Pull request description:

  This is #22844 with issues addressed, and two additional commits. One to move to the latest mypy version in the CI, and another to remove what is just pointless duplication from the test README. There's no need to relist package versions and install instructions (meaning 2x the work when changing anything), when you can just link to `04_install.sh` which has the versions used and pip invocations to install them.

ACKs for top commit:
  practicalswift:
    cr ACK a46f71bb70

Tree-SHA512: 2900dea3901d03a846dc1ea912f217d152e803845516c7d941745ec1291d145590cd4bf2ddc497f7cf628119ba9905d7b1531836062aa85b384e39cf436f62c6
2021-10-17 10:55:19 +02:00
Kennan Mell
1946af2c45
Add comment to COIN constant.
The COIN constant is critical in understanding Bitcoin's supply, but what it represents isn't clear from the name of the constant. Adding a comment clarifies the meaning of the constant for future readers.
2021-10-16 13:35:57 -07:00
josibake
a46f71bb70
lint: enable mypy checking for missing imports
Achieve this by adding some ignore, and making data/ importable.

Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
2021-10-16 09:14:37 +08:00
fanquake
22e652662b
lint mypy 0.910 2021-10-16 09:14:36 +08:00
josibake
6ae9c2ef23
lint: install pyzmq (22.3.0) into linter environment
mypy stubs were introduced in 21.0.1
2021-10-16 09:14:36 +08:00
fanquake
b93e2299da
doc: remove pointlessly duplicated linter version / install info 2021-10-16 09:14:36 +08:00
fanquake
feedb9c84e
Merge bitcoin/bitcoin#23268: p2p: Use absolute FQDN for DNS seed domains
ca2c313aa2 Use absolute FQDN for DNS seed domains (Prayank)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/23193 by using absolute FQDN for domains used by DNS seeds.

  It improves security and should not break anything based on my research and testing. Few things about absolute FQDN are shared in https://superuser.com/questions/1467958/why-does-putting-a-dot-after-the-url-remove-login-information

  Master branch:

  ```
  DNS seed x9.dnsseed.bitcoin.dashjr.org. responded with IP 127.0.0.1
  ```

  PR branch:

  ```
  DNS seed x9.dnsseed.bitcoin.dashjr.org. responded with IP 159.89.108.149
  ```

  Reviewers can follow the steps mentioned in Issue to test: https://github.com/bitcoin/bitcoin/issues/23193#issuecomment-937717145

ACKs for top commit:
  practicalswift:
    cr ACK ca2c313aa2
  laanwj:
    code review ACK ca2c313aa2
  promag:
    Code review ACK ca2c313aa2.

Tree-SHA512: 9818227332282a78c45b4470c2fc80bf899ed78aed76644ebf014e0fff1b139402ea023acdea162363a478b6f6613dbf1da57e214d2240ea0f04310473f57cca
2021-10-16 08:18:49 +08:00
Andrew Chow
2d2edc1248 tests: Use Descriptor wallets for generic wallet tests
For the generic wallet tests, make DescriptorScriptPubKeyMans. There are
still some wallet tests that test legacy wallet things. Those remain
unchanged.
2021-10-15 17:01:51 -04:00
Andrew Chow
99516285b7 tests: Use legacy change type in subtract fee from outputs test
The subtract fee from outputs assumes that the leftover input amount
will be dropped to fees. However this only happens if that amount is
less than the cost of change. In the event that it is higher than the
cost of change, the leftover amount will actually become a change
output. To avoid this scenario, force a change type which has a high
cost of change.
2021-10-15 17:01:51 -04:00
Andrew Chow
dcd6eeb64a tests: Use descriptors in psbt_wallet_tests 2021-10-15 17:01:51 -04:00
Andrew Chow
4b1588c6bd tests: Use DescriptorScriptPubKeyMan in coinselector_tests 2021-10-15 15:23:35 -04:00
Andrew Chow
811319fea4 tests, gui: Use DescriptorScriptPubKeyMan in GUI tests 2021-10-15 15:23:21 -04:00
Andrew Chow
9bf0243872 bench: Use DescriptorScriptPubKeyMan for wallet things
For wallet related benchmarks that need a ScriptPubKeyMan for operation,
use a DescriptorScriptPubKeyMan
2021-10-15 15:23:07 -04:00
Andrew Chow
5e54aa9b90 bench: remove global testWallet from CoinSelection benchmark 2021-10-15 14:49:45 -04:00
Andrew Chow
a5595b1320 tests: Remove global vCoins and testWallet from coinselector_tests
To avoid issues with test data leaking across tests cases, the global
vCoins and testWallet are removed from coinselector_tests and all of the
relevant functions reworked to not need them.
2021-10-15 14:49:45 -04:00
MarcoFalke
02ccf1086e
Merge bitcoin/bitcoin#23220: ci: Reduce Windows memory for faster scheduling
146831f80a ci: Reduce Windows memory for faster scheduling (MarcoFalke)

Pull request description:

  A rebased fac3ae2333 from #23043.

  The worst scenario (all caches are invalidated) tested in #23217.

ACKs for top commit:
  MarcoFalke:
    cr ACK 146831f80a

Tree-SHA512: 8d5101a7a47139f5358601def3932d199da500ba255740c09a170378a3e6fd9b0ff4ce5a7c0f5f1eb4f26f905f55b47077759b265b67acf9b7b01eec89b7e5da
2021-10-15 18:09:10 +02:00
MarcoFalke
e504e9a8ed
Merge bitcoin/bitcoin#23286: ci, refactor: Disable binaries for Android task explicitly
67bb6b5c43 ci, refactor: Disable binaries for Android task explicitly (Hennadii Stepanov)

Pull request description:

  This PR defines a set of binaries that are compiled in the Android APK task explicitly via `configure` options, that allows to avoid relying on the `test_bitcoin_qt` target from the `src/qt/Makefile`.

  It is ported from https://github.com/bitcoin-core/gui-qml/pull/58.

  No behavior change.

ACKs for top commit:
  MarcoFalke:
    cr ACK 67bb6b5c43

Tree-SHA512: 9aee1083489a69a40e6779291aba423816f59a1fe6a2156be4edafd0c1c5dd14b99215ca4ff0ec32562e0f43f6ed38e4f8ee562020649be589d258156cea86ab
2021-10-15 18:04:36 +02:00
Hennadii Stepanov
67bb6b5c43
ci, refactor: Disable binaries for Android task explicitly
No behavior change.
2021-10-15 15:00:04 +02:00
W. J. van der Laan
4dbba3bac7
Merge bitcoin/bitcoin#22863: policy: document dust threshold for Taproot outputs
d873db7f8f policy: document we intentionally don't lower the dust threshold for Taproot (Antoine Poinsot)

Pull request description:

  Following discussions in #22779 .

ACKs for top commit:
  benthecarman:
    ACK d873db7f8f
  ariard:
    Code Review ACK d873db7
  theStack:
    ACK d873db7f8f

Tree-SHA512: 1f5d20dce767f8a74d57ece47a7f6b881741f508896131b8433600cccf9e4262892603b46521d1bb69d5c83b450f24a16731341072a471c1f2c9adad682af895
2021-10-15 14:52:07 +02:00
MarcoFalke
ce19f4fd37
Merge bitcoin/bitcoin#23284: doc: update release notes for 22539
530735153b doc: update release notes for 22539 (Antoine Poinsot)

Pull request description:

  Following Marcofalke's feedback at https://github.com/bitcoin/bitcoin/pull/22539#discussion_r724971313

ACKs for top commit:
  shaavan:
    ACK 530735153b

Tree-SHA512: 91ea3e6c7fc06a4f40723217735e3d3f12812dc5adafa4f8c505ae4df5bd91345133099a9c158a7f15f01313c3128c8c15455c24256d76cd93033c0b5ce2c64f
2021-10-15 14:21:43 +02:00
Antoine Poinsot
530735153b
doc: update release notes for 22539
Following Marcofalke's feedback at https://github.com/bitcoin/bitcoin/pull/22539#discussion_r724971313
2021-10-15 12:59:09 +02:00
W. J. van der Laan
1884ce2f4c
Merge bitcoin/bitcoin#22937: refactor: Forbid calling unsafe fs::path(std::string) constructor and fs::path::string() method
6544ea5035 refactor: Block unsafe fs::path std::string conversion calls (Russell Yanofsky)
b39a477ec6 refactor: Add fs::PathToString, fs::PathFromString, u8string, u8path functions (Russell Yanofsky)

Pull request description:

  The `fs::path` class has a `std::string` constructor which will implicitly convert from strings. Implicit conversions like this are not great in general because they can hide complexity and inefficiencies in the code, but this case is especially bad, because after the transition from `boost::filesystem` to `std::filesystem` in #20744 the behavior of this constructor on windows will be more complicated and can mangle path strings. The `fs::path` class also has a `.string()` method which is inverse of the constructor and has the same problems.

  Fix this by replacing the unsafe method calls with `PathToString` and `PathFromString` function calls, and by forbidding unsafe method calls in the future.

ACKs for top commit:
  kiminuo:
    ACK 6544ea5035
  laanwj:
    Code review ACK 6544ea5035
  hebasto:
    re-ACK 6544ea5035, only added `fsbridge_stem` test case, updated comment, and rebased since my [previous](https://github.com/bitcoin/bitcoin/pull/22937#pullrequestreview-765503126) review. Verified with the following command:

Tree-SHA512: c36324740eb4ee55151146626166c00d5ccc4b6f3df777e75c112bcb4d1db436c1d9cc8c29a1e7fb96051457d317961ab42e6c380c3be2771d135771b2b49fa0
2021-10-15 10:01:56 +02:00
Cory Fields
17ae2601c7 build: remove build stubs for external leveldb
Presumably these stubs indicate to packagers that external leveldb is meant to
be supported in some way. It is not. Remove the stubs to avoid sending any
mixed messages.
2021-10-15 01:02:45 +00:00
Sebastian Falbesoner
4ac8c89ad9 test: check that bumpfee RPC fails for txs with descendants in mempool
This commit adds missing test coverage for the bumpfee RPC
error "Transaction has descendants in the mempool", which is
thrown if the bumped tx has descendants in the mempool and is
_not_ connected to the bitcoin wallet. To achieve that, the
test framework's MiniWallet is used.
2021-10-15 02:38:18 +02:00
W. J. van der Laan
6419bdfeb1
Merge bitcoin/bitcoin#23093: Add ability to flush keypool and always flush when upgrading non-HD to HD
6531599f42 test: Add check that newkeypool flushes change addresses too (Samuel Dobson)
84fa19c77a Add release notes for keypool flush changes (Samuel Dobson)
f9603ee4e0 Add test for flushing keypool with newkeypool (Samuel Dobson)
6f6f7bb36c Make legacy wallet upgrades from non-HD to HD always flush the keypool (Samuel Dobson)
2434b10781 Fix outdated keypool size default (Samuel Dobson)
22cc797ca5 Add newkeypool RPC to flush the keypool (Samuel Dobson)

Pull request description:

  This PR makes two main changes:
  1) Adds a new RPC `newkeypool` which will entirely flush and refill the keypool.
  2) When upgradewallet is called on old, non-HD wallets upgrading them to HD, we now always flush the keypool and generate a new one, to immediately start using the HD generated keys.

  This PR is motivated by a number of users with old, pre-compressed-key wallets upgrading them and being confused about why they still can't generate p2sh-segwit or bech32 addresses -- this is due to uncompressed keys remaining in the keypool post-upgrade and being illegal in these newer address formats. There is currently no easy way to flush the keypool other than to call `getnewaddress` a hundred/thousand times or an ugly hack of using a `sethdseed` call.

ACKs for top commit:
  laanwj:
    re-ACK 6531599f42
  meshcollider:
    Added new commit 6531599f42 to avoid invalidating previous ACKs.
  instagibbs:
    ACK 6531599f42

Tree-SHA512: 50c79c5d42dd27ab0ecdbfdc4071fdaa1b2dbb2f9195ed325b007106ff19226419ce57fe5b1539c0c24101b12f5e034bbcfb7bbb0451b766cb1071295383d774
2021-10-14 18:05:58 +02:00
fanquake
a845f1ccc6
Merge bitcoin/bitcoin#23269: build: remove redundant warning flags
aa69fd6caf build: Drop -Wno-unused-local-typedef (Hennadii Stepanov)
672e8c5d07 build: remove -Wunused-variable (fanquake)
5239af0574 build: remove -Wswitch (fanquake)
0375906e0a build: use loop-analysis over range-loop-analysis (fanquake)
12712fa2c4 build: remove -Wsign-compare (fanquake)

Pull request description:

  This remove the addition of flags that are already part of other options, such as `-Wall` or `-Wextra`; see each commit message for details. All of the flags being removed here already exist as part of `-Wall` as of GCC 8, or, for Clang, all exist in `-Wmost` (included in `-Wall)`, or as part of `-Wextra` as of Clang 7. Both of which are our minimum required compilers.

  Also cherry-picks one change from #21458.

  To give an example of how GCCs `-Wall` has changed over the last few releases:
  ### 11.x to trunk (12.x)
  Added:
  ```bash
  -Wzero-length-bounds
  -Wmismatched-dealloc
  -Wmismatched-new-delete (only for C/C++)
  ```

  ### 10.x to 11.x
  Added:
  ```bash
  -Warray-parameter=2 (C and Objective-C only)
  -Wrange-loop-construct (only for C++)
  -Wsizeof-array-div
  -Wvla-parameter (C and Objective-C only)
  ```

  Removed:
  ```bash
  -Wenum-conversion in C/ObjC;
  ```

  ### 9.x to 10.x
  Added:
  ```bash
  -Wenum-conversion in C/ObjC;
  -Wformat-overflow
  -Wformat-truncation
  -Wzero-length-bounds
  ```

  ### 8.x to 9.x
  Added:
  ```bash
  -Wpessimizing-move
  ```

  Removed:
  ```bash
  -Wstringop-truncation
  ```

  ### 7.x to 8.x
  Added:
  ```bash
  -Wcatch-value (C++ and Objective-C++ only)
  -Wmissing-attributes
  -Wmultistatement-macros
  -Wrestrict
  -Wsizeof-pointer-div
  -Wstringop-truncation
  ```

  [Clang Warning Options](https://clang.llvm.org/docs/DiagnosticsReference.html)
  [GCC Warning Options](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html)

ACKs for top commit:
  meshcollider:
    utACK aa69fd6caf

Tree-SHA512: 34dde6bd773c864202c151eaa35f902d03fb531c27fe5e1ef659225da03acade2efe5df56df3efb4df5bbded3d395348ce03c25b837fce83be53af3352f0f2bc
2021-10-14 21:38:17 +08:00
MarcoFalke
5a044daea4
Merge bitcoin/bitcoin#23242: qt: Prefix makefile variables with QT_
eb04badcd6 scripted-diff: Prefix makefile variables with QT_ (João Barbosa)

Pull request description:

  Improves consistency and readability if future QML variables are added.

ACKs for top commit:
  hebasto:
    re-ACK eb04badcd6, only suggested changes, and script-diff used.
  shaavan:
    Code Review ACK eb04badcd6

Tree-SHA512: 71e5f835edbb36d6749773e63ef5f4ce040cc576f1c302e371ae8715b874df0810b8a1ca2329e581880168c8ca95375cb84856a7ac5311bc8a059425da113341
2021-10-14 14:49:57 +02:00
Prayank
ca2c313aa2 Use absolute FQDN for DNS seed domains 2021-10-14 17:49:52 +05:30
Samuel Dobson
ec4e43c21c
Merge #23235: Reduce unnecessary default logging
b5950dd59c validation: put coins cache write log into bench debug log (Anthony Towns)
31b2b802b5 blockstorage: use debug log category (Anthony Towns)
da94ebc2fa validation: move header validation error logging to VALIDATION debug category (Anthony Towns)
1d7d835ec3 validation: include block hash when reporting prev block not found errors (Anthony Towns)

Pull request description:

  Moves the following log messages into debug log categories:

   * "AcceptBlockHeader: ..." to validation
   * "Prune: deleted blk/rev" to new blockstorage log category
   * "Leaving block file" moves from validation to blockstorage
   * "write coins cache to disk" to bench

  Also adds the hash of the block to the log message when AcceptBlockHeader is rejecting because of problems with the prev block.

ACKs for top commit:
  practicalswift:
    cr ACK b5950dd59c
  Empact:
    Code review ACK b5950dd59c
  laanwj:
    Code review ACK b5950dd59c
  promag:
    Code review ACK b5950dd59c.
  meshcollider:
    Code review ACK b5950dd59c

Tree-SHA512: a73fdbfe8d36da48a3e89c2d5e0b6a3c5045d280c1a57f61c38d0d21f4f198aece4bd85155be3439e179d5dabdb523bf15fa0395e0e3ceff19c878ba3112c840
2021-10-14 18:40:59 +13:00
Samuel Dobson
6531599f42 test: Add check that newkeypool flushes change addresses too 2021-10-14 16:52:59 +13:00
João Barbosa
eb04badcd6 scripted-diff: Prefix makefile variables with QT_
Improves consistency and readability if future QML variables are added.

-BEGIN VERIFY SCRIPT-
sed -i \
    -e 's/RES_ANIMATION/QT_RES_ANIMATION/g' \
    -e 's/RES_FONTS/QT_RES_FONTS/g' \
    -e 's/RES_ICONS/QT_RES_ICONS/g' \
    -e 's/BITCOIN_RC/BITCOIN_QT_RC/g' \
    src/Makefile.qt.include
-END VERIFY SCRIPT-
2021-10-13 21:09:54 +01:00
W. J. van der Laan
58765a450c qt: Use only Qt translation primitives in GUI code
Use `QObject::tr`, `QT_TR_NOOP`, and `QCoreApplication::translate` as
appropriate instead of using `_()` which doesn't get picked up.
2021-10-13 20:01:43 +02:00
W. J. van der Laan
71a85fbd09
Merge bitcoin/bitcoin#23148: build: Fix guix linker-loader path and add check_ELF_interpreter
1527b7e8a1 symbol-check: Check requested ELF interpreter (Carl Dong)
b96adcbfae guix: Fix powerpc64(le) dynamic linker name (Carl Dong)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/23111

  It would seem that I got the wrong default glibc-dynamic-linker path for PowerPC platforms. This means that for our currently released v22.0 binaries to be run on powerpc platforms, users would have to either:
  1. Move `/lib64/ld64.so.?` to `/lib`, or
  2. Invoke their linker-loader directly to start our binaries, e.g. `/lib64/ld64.so.? bitcoind`

  This is my bad.

  I've fixed the paths in this patchset, and also added a test to `symbol-check.py` so that this does not ever slip past our checks again.

ACKs for top commit:
  laanwj:
    Code review ACK 1527b7e8a1

Tree-SHA512: bc520c35f72a9d4a3804b53d211138724560bd2405bf2f592ef755d19073e72f114fc4b8a3747e0c8724ac46a60b6ca86ea7766d66acb88eed1ebe2abc2678b8
2021-10-13 15:01:34 +02:00
Carl Dong
1527b7e8a1 symbol-check: Check requested ELF interpreter
It is important that binaries request a standard interpreter location
where most distros would place the linker-loader. Otherwise, the user
would be met with a very confusing message:

    bash: <path>/<to>/bitcoind: No such file or directory

When really it's the interpreter that's not found.
2021-10-13 08:39:48 -04:00
Carl Dong
b96adcbfae guix: Fix powerpc64(le) dynamic linker name
I used Guix's values for the powerpc64(le) dynamic linkers, and the
/lib-prefix seems to be a Guix-ism rather than standard. The standard
path for the linker-loaders start with /lib64.

I've taken the new loader values from SYSDEP_KNOWN_INTERPRETER_NAMES in
glibc's sysdeps/unix/sysv/linux/powerpc/ldconfig.h file.

For future reference, loader path values can also be found on glibc's
website: https://sourceware.org/glibc/wiki/ABIList?action=recall&rev=16
2021-10-13 08:38:40 -04:00
W. J. van der Laan
da13c7b18a
Merge bitcoin/bitcoin#22392: scripts: use LIEF for ELF security & symbol checks
ce69e18947 scripts: remove pixie.py (fanquake)
00b85d0b13 scripts: only parse the binary once in security-check.py (fanquake)
cad40a5b16 scripts: use LIEF for ELF checks in security-check.py (fanquake)
8242ae230e scripts: only parse the binary once in symbol-check.py (fanquake)
309eac9019 scripts: use LIEF for ELF checks in symbol-check.py (fanquake)
610a8a8e39 test-*-check: Pass in *FLAGS and compile with them (Carl Dong)

Pull request description:

  This finishes the transition to using LIEF for the ELF symbol and  security checks.

  Note that there's currently a work around used for identifying RISCV binaries (just checking the interpreter). I've sent a PR upstream, https://github.com/lief-project/LIEF/pull/562, and we should be able to drop that when using LIEF 0.12.0 and onwards.

ACKs for top commit:
  dongcarl:
    Code Review ACK ce69e18947
  laanwj:
    Code review ACK ce69e18947

Tree-SHA512: 911ba693cd9777ad1fc1f66dff6c4d3630a907351215380cbde5b14a4bbf5cf7eebf52eafa7e86b27deabd2d93d1b403f34aabd356b5ceaab3cc6e9941a01dd4
2021-10-13 13:53:20 +02:00
W. J. van der Laan
28d5074343
Merge bitcoin/bitcoin#23253: bitcoin-tx: Reject non-integral and out of range int strings
fa6f29de51 bitcoin-tx: Reject non-integral and out of range multisig numbers (MarcoFalke)
fafab8ea5e bitcoin-tx: Reject non-integral and out of range sequence ids (MarcoFalke)
fa53d3d826 test: Check that bitcoin-tx accepts whitespace around sequence id and multisig numbers (MarcoFalke)

Pull request description:

  Seems odd to silently accept arbitrary strings that don't even represent integral values.

  Fix that.

ACKs for top commit:
  practicalswift:
    cr ACK fa6f29de51
  laanwj:
    Code review ACK fa6f29de51
  Empact:
    Code review ACK fa6f29de51
  promag:
    Code review ACK fa6f29de51.

Tree-SHA512: e31f7f21fe55ac069e755557bdbcae8d5d29e20ff82e441ebdfc65153e3a31a4edd46ad3e6dea5190ecbd1b8ea5a8f94daa5d59a3b7558e46e794e30db0e6c79
2021-10-13 13:48:41 +02:00
Hennadii Stepanov
aa69fd6caf
build: Drop -Wno-unused-local-typedef
-Wunused-local-typedef(s) is covered by -Wunused in both gcc and clang.
No new warnings fire when compiling.
2021-10-13 13:59:54 +08:00
fanquake
672e8c5d07
build: remove -Wunused-variable
This is enabled via -Wall in GCC, and is
part of -Wunused, which is included in -Wmost, which is included in
-Wall in Clang.
2021-10-13 13:59:53 +08:00
fanquake
5239af0574
build: remove -Wswitch
This is enabled by -Wall in GCC and Clang.
2021-10-13 13:59:53 +08:00
fanquake
0375906e0a
build: use loop-analysis over range-loop-analysis
To turn on all (future) loop analysis options. Note that
-Wfor-loop-analysis is also part of -Wmost, which is in -Wall.
2021-10-13 13:59:53 +08:00
fanquake
12712fa2c4
build: remove -Wsign-compare
This is part of -Wall in GCC and -Wextra in Clang.
2021-10-13 13:59:49 +08:00
MarcoFalke
a9f6428708
Merge bitcoin/bitcoin#23003: multiprocess: Make interfaces::Chain::isTaprootActive non-const
7e88f61b28 multiprocess: Make interfaces::Chain::isTaprootActive non-const (Russell Yanofsky)

Pull request description:

  `interfaces::Chain` is an abstract class, so declaring the method const would be exposing internal implementation details of subclasses to interface callers. And specifically this doesn't work because the multiprocess implementation of the `interfaces::Chain::isTaprootActive` method can't be const because IPC connection state and request state is not constant during the call.

  ---

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

ACKs for top commit:
  jamesob:
    ACK 7e88f61b28

Tree-SHA512: 1c5ed89870aeb7170b9048c41299ab650dfa3d0978088e08c4c866fa0babb292722710b16f25540f26667220cb4747b1c256c4bd42893c552291eccc155346a3
2021-10-13 07:19:13 +02:00
fanquake
39872f5ed4
Merge bitcoin/bitcoin#23149: build: make --enable-werror just -Werror
38fd709fa5 build: make --enable-werror just -Werror (fanquake)

Pull request description:

  No longer special case a set of warnings, to make up our own -Werror,
  just use -Werror outright. This shouldn't really have any effect on
  existing builders, who were already using `--enable-werror`, and is more
  inline with what they would expect `--enable-werror` to be, which is
  erroring on any/all warnings.

  We keep `-Wno-error=return-type` because we know that is broken when using
  mingw-w64. It should only be applied when cross-compiling for Windows.

  Similar to the change in #20544, but with (hopefully) less work-arounds,
  and other bundled changes. A step towards some configure "cleanups".

ACKs for top commit:
  hebasto:
    ACK 38fd709fa5 (also see https://github.com/bitcoin/bitcoin/pull/23149#issuecomment-940420776), tested:
  MarcoFalke:
    Concept ACK 38fd709fa5

Tree-SHA512: 37f1857d9408442cab63e40f9280427b73e09cdf03146b19c1339d7e44abd78e93df7f270ca1da0e83b79343cd3ea915f7b9e4e347488b5bc5ceaaa7540e5926
2021-10-13 11:33:25 +08:00
brunoerg
b7884dd1b6 test: bip125-replaceable in listsinceblock 2021-10-12 12:10:48 -03:00
MarcoFalke
810ce36d54
Merge bitcoin/bitcoin#23213: rest: Return error when header count is not integral
fa8d492894 rest: Return error when header count is not integral (MarcoFalke)

Pull request description:

  Seems odd to interpret a hash (or any other string) as integer when it contains more than the digits 0 to 9.

ACKs for top commit:
  practicalswift:
    cr ACK fa8d492894
  promag:
    Code review ACK fa8d492894.
  shaavan:
    Code Review ACK fa8d492894

Tree-SHA512: d6335b132ca2010fb8cae311dd936b2dea99a5bd0e6b2556a604f93698b8456df9190c5151345a03344243ede4aad0e2526cedc2aa8b5b1b8e8ce786cb3b6e50
2021-10-12 14:39:24 +02:00