Skip to content

Commit

Permalink
Merge #4: Sync with the main repo
Browse files Browse the repository at this point in the history
7fc1e14 ci: use Ubuntu 20.04 as the default Docker container (fanquake)
e48826a tests: remove ComputeBlockVersion shortcut from versionbits tests (Anthony Towns)
c5f3672 [refactor] Move ComputeBlockVersion into VersionBitsCache (Anthony Towns)
4a69b4d [move-only] Move ComputeBlockVersion from validation to versionbits (Anthony Towns)
0cfd6c6 [refactor] versionbits: make VersionBitsCache a full class (Anthony Towns)
8ee3e0b [refactor] rpc/blockchain.cpp: SoftForkPushBack (Anthony Towns)
92f48f3 deploymentinfo: Add DeploymentName() (Anthony Towns)
ea68b3a [move-only] Rename versionbitsinfo to deploymentinfo (Anthony Towns)
c64b2c6 scripted-diff: rename versionbitscache (Anthony Towns)
de55304 [refactor] Add versionbits deployments to deploymentstatus.h (Anthony Towns)
2b0d291 [refactor] Add deploymentstatus.h (Anthony Towns)
eccd736 versionbits: Use dedicated lock instead of cs_main (Anthony Towns)
36a4ba0 versionbits: correct doxygen comments (Anthony Towns)
c4ddee6 test: Add test for replacement relay fee check (Antoine Riard)
c7f74f1 Translations update (Hennadii Stepanov)
67669ab build: Fix Boost Process compatibility with mingw-w64 compiler (Hennadii Stepanov)
6084d2c wallet: do not spam about non-existent spk managers (S3RK)
b945a31 wallet: erase spkmans rather than setting to nullptr (Andrew Chow)
30450a1 Do not clone qa-assets git repository if not necessary (Kiminuo)
2f23ad2 qt: allow prompt icon to be colorized (Jarol Rodriguez)
9d5bf6b GUI: Always call parent changeEvent handler (Luke Dashjr)
c901d4d GUI: Enable palette change adaptation on all platforms (Luke Dashjr)
1811810 refactor: remove m_internal from DescriptorSPKman (S3RK)
3efaf83 wallet: deactivate descriptor (S3RK)
6737d96 test: wallet importdescriptors update existing (S3RK)
586f1d5 wallet: maintain SPK consistency on internal flag change (S3RK)
f1b7db1 wallet: don't mute exceptions in importdescriptors (S3RK)
bf68ebc wallet: allow to import same descriptor twice (S3RK)
e6cf0ed wallet, rpc: listdescriptors does not need unlocked (Andrew Chow)
3280704 Pass in DescriptorCache to ToNormalizedString (Andrew Chow)
7a26ff1 Change DescriptorImpl::ToStringHelper to use an enum (Andrew Chow)
75530c9 Remove priv option for ToNormalizedString (Andrew Chow)
74fede3 wallet: Upgrade existing descriptor caches (Andrew Chow)
432ba9e wallet: Store last hardened xpub cache (Andrew Chow)
d87b544 descriptors: Cache last hardened xpub (Andrew Chow)
cacc391 Move DescriptorCache writing to WalletBatch (Andrew Chow)
0b4c8ef Refactor Cache merging and writing (Andrew Chow)
976b53b Revert "Cache parent xpub inside of BIP32PubkeyProvider" (Andrew Chow)
057750c ci: Upgrading pip version in macos environment (Tushar Singla)
f9e37f3 doc: IsFinalTx comment about nSequence & OP_CLTV (Yuval Kogman)
05f9770 doc: Clarify developer notes about constant naming (Russell Yanofsky)
fa92e60 refactor: Make httpserver work queue a unique_ptr (MarcoFalke)
8888cf4 Remove unused wallet pointer from NotifyAddressBookChanged (MarcoFalke)
faf3640 Remove unused wallet pointer from NotifyTransactionChanged signal (MarcoFalke)
fa0d921 refactor: Remove chainparams arg from CChainState member functions (MarcoFalke)
fa38947 refactor: Remove ::Params() global from inside CChainState member functions (MarcoFalke)
fa9ebed Reject invalid coin height and output index when loading assumeutxo (MarcoFalke)
dd49f1b doc: doc/README.md IRC updates (Jon Atack)
18c2027 doc: Document minimum required libc++ version (Hennadii Stepanov)
6cf4ea7 Avoid the use of P0083R3 std::set::merge (Pieter Wuille)
8c4129b rpc: reset scantxoutset progress on finish (Pavol Rusnak)
fa485d0 fuzz: Check banman roundtrip (MarcoFalke)
fa34cb8 cli: Avoid truncating -rpcwaittimeout (MarcoFalke)
754f134 wallet: Add error message to GetReservedDestination (Andrew Chow)
87a0e7a Disallow bech32m addresses for legacy wallet things (Andrew Chow)
6dbe4d1 Use BECH32M for tr() desc, WitV1Taproot, and WitUnknown CTxDests (Andrew Chow)
699dfcd Opportunistically use bech32m change addresses if available (Andrew Chow)
0262536 Add OutputType::BECH32M (Andrew Chow)
177c15d Limit LegacyScriptPubKeyMan address types (Andrew Chow)
78cdab1 doc: sort entries in doc/README.md#Miscellaneous alphabetically (Vasil Dimov)
cad487b doc: add basic I2P documentation (Vasil Dimov)
fadddd1 test: Add missing syncwithvalidationinterfacequeue (MarcoFalke)
faa211f test: Misc cleanup (MarcoFalke)
fa1668b test: Run pep-8 (MarcoFalke)
facd97a scripted-diff: Renames (MarcoFalke)
bdb8b9a test: doc: improve doc for `from_hex` helper (mention `to_hex` alternative) (Sebastian Falbesoner)
1914054 scripted-diff: test: rename `FromHex` to `from_hex` (Sebastian Falbesoner)
a79396f test: remove `ToHex` helper, use .serialize().hex() instead (Sebastian Falbesoner)
2ce7b47 test: introduce `tx_from_hex` helper for tx deserialization (Sebastian Falbesoner)
957f358 build: remove check for Boost Process header (fanquake)
df2c933 build: remove workaround for Boost and std::atomic (fanquake)
2bf2116 build: set minimum required Boost to 1.64.0 (fanquake)
6168eb0 [test] Prevent intermittent issue (Amiti Uttarwar)
1d8193e [test] Remove GetAddrStore class (Amiti Uttarwar)
ef2f149 [test] Update GetAddrStore callers to use AddrReceiver (Amiti Uttarwar)
e8c67ea [test] Add functionality to AddrReceiver (Amiti Uttarwar)
09dc073 [test] Allow AddrReceiver to be used more generally (Amiti Uttarwar)
fa4017e refactor: Pass grind args vector as const reference (MarcoFalke)
fa08bc2 Remove gArgs from AppInitUtil (MarcoFalke)
fa751a4 Remove unused OptionsCategory arg from AddCommand (MarcoFalke)
fa3c1ee Remove unused includes from bitcoin-util (MarcoFalke)
fa30492 test: Add bitcoin-util tests (MarcoFalke)
fa831e7 build_msvc: Add bitcoin-util.exe (MarcoFalke)
7ad414f doc: add comment about CCoinsViewDBCursor constructor (James O'Beirne)
0f8a5a4 move-only(ish): don't expose CCoinsViewDBCursor (James O'Beirne)
615c1ad refactor: wrap CCoinsViewCursor in unique_ptr (James O'Beirne)
184d453 script, doc: spelling update (Jon Atack)
d637a9b Taproot descriptor inference (Pieter Wuille)
c7388e5 Report address as solvable based on inferred descriptor (Pieter Wuille)
29e5dd1 consensus refactor: extract ComputeTapleafHash, ComputeTaprootMerkleRoot (Pieter Wuille)
bb719a0 style: remove () from assert in rpc_setban.py (Vasil Dimov)
24b10eb doc: fix grammar in doc/files.md (Vasil Dimov)
dd4e957 test: ensure banlist can be read from disk after restart (Vasil Dimov)
d197977 banman: save the banlist in a JSON format on disk (Vasil Dimov)
fafd916 test: Add missing sync_all to feature_coinstatsindex (MarcoFalke)
fa27baa Revert "test: Add temporary logging to debug #20975" (MarcoFalke)
fadb550 wallet: Add missing BlockUntilSyncedToCurrentChain (MarcoFalke)
fa2d21f add missing atomic include (MarcoFalke)
168b6c3 add dummy file param to fix jupyter (Josiah Baker)
fa09fd1 doc: Final merge of release notes snippets (MarcoFalke)
d6d2ab9 test: MiniWallet: fix fee calculation for P2PK and check tx vsize (Sebastian Falbesoner)
ce024b1 test: MiniWallet: force P2PK signature to have fixed size (71 bytes) (Sebastian Falbesoner)
b9e76f1 rpc: Add test for -rpcwaittimeout (Christian Decker)
f76cb10 rpc: Prefix rpcwaittimeout error with details on its nature (Christian Decker)
c490e17 doc: Add release notes for the `-rpcwaittimeout` cli parameter (Christian Decker)
a7fcc8e rpc: Add a `-rpcwaittimeout` parameter to limit time spent waiting (Christian Decker)
4e353cb http: Release work queue after event base finish (João Barbosa)
30aee2d tests: Add test for compact block HB selection (Pieter Wuille)
6efbcec Protect last outbound HB compact block peer (Suhas Daftuar)
e8cd370 devtools: Integrate ARCH_MIN_GLIBC_VER table into MAX_VERSIONS in symbol-check.py (W. J. van der Laan)
a33381a devtools: Add xkb version to symbol-check (W. J. van der Laan)
19e598b devtools: Fix verneed section parsing in pixie (W. J. van der Laan)
906d791 fuzz: add missing ECCVerifyHandle to base_encode_decode (Andrew Poelstra)
fa7d71f test: Run pep-8 on touched test (MarcoFalke)
fab7e99 test: Use MiniWallet in test_no_inherited_signaling RBF test (MarcoFalke)
fab871f test: Remove unused generate() from test (MarcoFalke)
faff3f3 test: Add txin.sequence option to MiniWallet (MarcoFalke)
b3c712c contrib/signet/miner: remove debug code (Anthony Towns)
297e351 bitcoin-util: use AddCommand / GetCommand (Anthony Towns)
b6d493f contrib/signet/README.md: Update miner description (Anthony Towns)
e665438 contrib/signet/miner: Automatic timestamp for first block (Anthony Towns)
a383ce5 contrib/signet/miner: --grind-cmd is required for calibrate (Anthony Towns)
1a45cd2 contrib/signet: Fix typos (Anthony Towns)
5531119 Added new test for future blocks reacceptance (sanket1729)
511a5af Fixed inconsistencies between code and comments (sanket1729)
451b96f test: kill process group to avoid dangling processes (S3RK)
aa80b57 scripts: check macOS SDK version is set (fanquake)
c972345 scripts: check minimum required Windows version is set (fanquake)
29615ae scripts: check minimum required macOS vesion is set (fanquake)
8732f7b scripts: LIEF 0.11.5 (fanquake)
8f7704d build: improve detection of eBPF support (fanquake)
458a345 Add support for SIGHASH_DEFAULT in RPCs, and make it default (Pieter Wuille)
c0f0c8e tests: check spending of P2TR (Pieter Wuille)
a238012 Basic Taproot signing logic in script/sign.cpp (Pieter Wuille)
49487bc Make GetInputUTXO safer: verify non-witness UTXO match (Pieter Wuille)
fd3f689 Construct and use PrecomputedTransactionData in PSBT signing (Pieter Wuille)
5cb6502 Construct and use PrecomputedTransactionData in SignTransaction (Pieter Wuille)
5d2e224 Don't nuke witness data when signing fails (Pieter Wuille)
ce93531 Permit full precomputation in PrecomputedTransactionData (Pieter Wuille)
e841fb5 Add precomputed txdata support to MutableTransactionSignatureCreator (Pieter Wuille)
a91d532 Add CKey::SignSchnorr function for BIP 340/341 signing (Pieter Wuille)
e77a283 Use HandleMissingData also in CheckSchnorrSignature (Pieter Wuille)
dbb0ce9 Add TaprootSpendData data structure, equivalent to script map for P2[W]SH (Pieter Wuille)
9550dff fuzz: Assert roundtrip equality for `CPubKey` (Sebastian Falbesoner)
f8866e8 Add roundtrip fuzz tests for CAddress serialization (Pieter Wuille)
e2f0548 Use addrv2 serialization in anchors.dat (Pieter Wuille)
8cd8f37 Introduce well-defined CAddress disk serialization (Pieter Wuille)
faf1af5 fuzz: Add Temporary debug assert for oss-fuzz issue (MarcoFalke)
fa483e9 fuzz: Speed up crypto fuzz target (MarcoFalke)
754e802 test: check rejected future block later accepted (Luke Dashjr)
e2c40a4 guix-attest: Error out if SHA256SUMS is unexpected (Carl Dong)
4cc35da Rewrite guix-{attest,verify} for new hier (Carl Dong)
28a9c9b Make SHA256SUMS fragment right after build (Carl Dong)
2f5bdcb gui: misc external signer fixes and translation hints (Sjors Provoost)
d672404 refactor: make ExternalSigner NetworkArg() and m_chain private (Sjors Provoost)
4455145 refactor: reduce #ifdef ENABLE_EXTERNAL_SIGNER usage (Sjors Provoost)
5be90c9 build: enable external signer by default (Sjors Provoost)
7d94530 refactor: clean up external_signer.h includes (Sjors Provoost)
fc0eca3 fuzz: fix fuzz binary linking order (Sjors Provoost)
1111457 build: Disable deprecated-copy warning only when external warnings are enabled (MarcoFalke)
79c02c8 Randomize message processing peer order (Pieter Wuille)
aab7fd0 Switch Appveyor CI to VS2019 stable image (Aaron Clauson)
e4c916a Bugfix: GUI: Use a different shortcut for "1 d&ay" banning, due to conflict with "&Disconnect" (Luke Dashjr)
94e7cdd GUI: Add keyboard shortcuts for other context menus (Luke Dashjr)
02b5263 GUI: Restore keyboard shortcuts for context menu entries (Luke Dashjr)
ae98aec refactor: Make CAddrMan::cs non-recursive (Hennadii Stepanov)
f5d1c7f Add AssertLockHeld to CAddrMan private functions (Hennadii Stepanov)
5ef1d0b Add thread safety annotations to CAddrMan public functions (Hennadii Stepanov)
b138973 refactor: Avoid recursive locking in CAddrMan::Clear (Hennadii Stepanov)
f79a664 refactor: Apply consistent pattern for CAddrMan::Check usage (Hennadii Stepanov)
187b7d2 refactor: Avoid recursive locking in CAddrMan::Check (Hennadii Stepanov)
f77d9c7 refactor: Fix CAddrMan::Check style (Hennadii Stepanov)
0670397 Make CAddrMan::Check private (Hennadii Stepanov)
efc6fac refactor: Avoid recursive locking in CAddrMan::size (Hennadii Stepanov)
2da9554 test: Drop excessive locking in CAddrManTest::SimConnFail (Hennadii Stepanov)
1b1088d test: add combined I2P/onion/localhost eviction protection tests (Jon Atack)
7c2284e test: add tests for inbound eviction protection of I2P peers (Jon Atack)
ce02dd1 p2p: extend inbound eviction protection by network to I2P peers (Jon Atack)
70bbc62 test: add combined onion/localhost eviction protection coverage (Jon Atack)
045cb40 p2p: remove unused m_is_onion member from NodeEvictionCandidate struct (Jon Atack)
310fab4 p2p: remove unused CompareLocalHostTimeConnected() (Jon Atack)
9e889e8 p2p: remove unused CompareOnionTimeConnected() (Jon Atack)
787d46b p2p: update ProtectEvictionCandidatesByRatio() doxygen docs (Jon Atack)
1e15acf p2p: make ProtectEvictionCandidatesByRatio() fully ratio-based (Jon Atack)
3f8105c test: remove combined onion/localhost eviction protection tests (Jon Atack)
38a81a8 p2p: add CompareNodeNetworkTime() comparator struct (Jon Atack)
4ee7aec p2p: add m_network to NodeEvictionCandidate struct (Jon Atack)
7321e6f p2p, refactor: rename vEvictionCandidates to eviction_candidates (Jon Atack)
ec590f1 p2p, refactor: improve constness in ProtectEvictionCandidatesByRatio() (Jon Atack)
4a19f50 test: add ALL_NETWORKS to test utilities (Jon Atack)
519e76b test: speed up and simplify peer_eviction_test (Jon Atack)
1cde800 p2p, refactor: rm redundant erase_size calculation in SelectNodeToEvict() (Jon Atack)
9edd713 build: Fix MSVC linker /SubSystem option for bitcoin-qt.exe (Hennadii Stepanov)
e25ea54 Update msvc and appveyor builds to use Qt5.12.11 binaries. (Aaron Clauson)
faf7623 fuzz: Call const member functions in addrman fuzz test only once (MarcoFalke)
01eedf3 test: doc: improve doc for chain_transaction() helper (Sebastian Falbesoner)
6e63e36 test: refactor: dedup utility function chain_transaction() (Sebastian Falbesoner)
6d7e46c Remove `Warning:` (Prayank)
fbf485c Allow tr() import only when Taproot is active (Andrew Chow)
f507681 qt: Connect WalletView signal to BitcoinGUI slot directly (Hennadii Stepanov)
bd50ff9 qt: Drop redundant OverviewPage::handleOutOfSyncWarningClicks slot (Hennadii Stepanov)
793f195 qt: Drop redundant WalletView::requestedSyncWarningInfo slot (Hennadii Stepanov)
2ad034a doc: update release notes with removal of tor v2 support (Jon Atack)
49938ee doc: update tor.md with removal of tor v2 support (Jon Atack)
fa334b4 refactor: Pass block reference instead of pointer to PeerManagerImpl::BlockRequested (MarcoFalke)
a92485b addrman: use unordered_map instead of map (Vasil Dimov)
f47e802 Rearrange fillPSBT arguments (Russell Yanofsky)
6f99488 validation: Farewell, global Chainstate! (Carl Dong)
972c516 qt/test: Reset chainman in ~ChainstateManager instead (Carl Dong)
6c3b5dc scripted-diff: tree-wide: Remove all review-only assertions (Carl Dong)
3e82abb tree-wide: Remove stray review-only assertion (Carl Dong)
f323248 qt/test: Use existing chainman in ::TestGUI (can be scripted-diff) (Carl Dong)
6c15de1 scripted-diff: wallet/test: Use existing chainman (Carl Dong)
ee0ab1e fuzz: Initialize a TestingSetup for test_one_input (Carl Dong)
0d61634 scripted-diff: test: Use existing chainman in unit tests (Carl Dong)
e197076 test: Pass in CoinsTip to ValidateCheckInputsForAllFlags (Carl Dong)
4d99b61 test/miner_tests: Pass in chain tip to CreateBlockIndex (Carl Dong)
f0dd5e6 test/util: Use existing chainman in ::PrepareBlock (Carl Dong)
464c313 init: Use existing chainman (Carl Dong)
d7f3b1a Fix gui segfault caused by bitcoin/bitcoin#22216 (Russell Yanofsky)
493fb47 Make SetupServerArgs callable without NodeContext (Russell Yanofsky)
ef99d03 test: check anchors.dat when node starts for the first time (bruno)
683d197 Use latest signapple commit (Andrew Chow)
fa72fce test: Use ConnmanTestMsg from test lib in denialofservice_tests (MarcoFalke)
2f4ad6b scripted-diff: rename MarkBlockAs functions (John Newbery)
2c45f83 [net processing] Tidy up MarkBlockAsReceived() (John Newbery)
6299350 [net processing] Add IsBlockRequested() function (John Newbery)
4e90d2d [net processing] Remove QueuedBlock.hash (John Newbery)
156a19e scripted-diff: rename nPeersWithValidatedDownloads (John Newbery)
b03de9c [net processing] Remove CNodeState.nBlocksInFlightValidHeaders (John Newbery)
b4e29f2 [net processing] Remove QueuedBlock.fValidatedHeaders (John Newbery)
85e058b [net processing] Remove unnecessary hash arg from MarkBlockAsInFlight() (John Newbery)
ee862d6 MOVEONLY: context-free package policies (glozow)
5cac95c disallow_mempool_conflicts -> allow_bip125_replacement and check earlier (glozow)
e8ecc62 [refactor] comment/naming improvements (glozow)
7d91442 [rpc] reserve space in txns (glozow)
6c5f19d [package] static_assert max package size >= max tx size (glozow)
3636d9b Update REVIEWERS: I've found that I keep track of PRs in need of review without the need for DrahtBot's automated notification :) (practicalswift)
6780a09 doc: remove obsolete `okSafeMode` RPC guideline from developer notes (Sebastian Falbesoner)
d1d1cc9 build, qt: Fix compiling qt package in depends with GCC 11 (Hennadii Stepanov)
faca40e test: Add temporary coinstats suppressions (MarcoFalke)
3f05a9e zmq: use msg: prefix over errno= in zmqError (fanquake)
9a7cb57 zmq: use std::string in zmqError() (fanquake)
e60cd26 Do not load external signers wallets when unsupported (Andrew Chow)
d44a261 Fix issues when `walletdir` is root directory (unknown)
96c2c95 scripted-diff: Rename SelectCoinsMinConf to AttemptSelection (Andrew Chow)
b583f73 Move vin filling to before final fee setting (Andrew Chow)
d39cac0 Set m_subtract_fee_outputs during recipients vector loop (Andrew Chow)
364e069 Move variable initializations to where they are used (Andrew Chow)
32ab430 Move recipients vector checks to beginning of CreateTransaction (Andrew Chow)
cd1d6d3 Rename nSubtractFeeFromAmount in CreateTransaction (Andrew Chow)
dac21c7 Rename nValue and nValueToSelect (Andrew Chow)
d2aee3b Remove extraneous scope in CreateTransactionInternal (Andrew Chow)
b299596 Move cs_wallet lock in CreateTransactionInternal to top of function (Andrew Chow)
a8bd5ea build, qt: Fix libraries linking order for Linux hosts (Hennadii Stepanov)
1c4b456 gui: send using external signer (Sjors Provoost)
24815c6 gui: wallet creation detects external signer (Sjors Provoost)
3f845ea node: add externalSigners to interface (Sjors Provoost)
62ac119 gui: display address on external signer (Sjors Provoost)
450cb40 wallet: add displayAddress to interface (Sjors Provoost)
eef8d64 gui: create wallet with external signer (Sjors Provoost)
6cdbc83 gui: add external signer path to options dialog (Sjors Provoost)
108a6be guix: Check for disk space availability before building (Carl Dong)
d7dec89 guix: Remove dest if OUTDIR mv fails (Carl Dong)
2eb0eed validation: document lack of inherited signaling in RBF policy (Antoine Riard)
906b6d9 test: Extend feature_rbf.py with no inherited signaling (Antoine Riard)
7a681d6 Add sync_blocks in wallet_orphanedreward.py. (Daniel Kraft)
fa13f34 fuzz: Increase branch coverage of the float fuzz target (MarcoFalke)
fad0c58 fuzz: Remove confusing return keyword from CallOneOf (MarcoFalke)
ecbd911 qt: Handle peer addition/removal in a right way (Hennadii Stepanov)
1b66f6e qt: Drop PeerTablePriv class (Hennadii Stepanov)
efb7e5a qt, refactor: Use default arguments for overridden functions (Hennadii Stepanov)
5c7ee1b libsecp256k1 no longer has --with-bignum= configure option (Pieter Wuille)
bdca9bc Squashed 'src/secp256k1/' changes from 3967d96bf1..efad3506a8 (Pieter Wuille)
cabb566 Disable certain false positive warnings for libsecp256k1 msvc build (Pieter Wuille)
faa9496 test: Add temporary logging to debug #20975 (MarcoFalke)
3737d35 fuzz: Terminate immediately if a fuzzing harness ever tries to perform a DNS lookup (belts and suspenders) (practicalswift)
fa910b4 util: Properly handle -noincludeconf on command line (MarcoFalke)
68ace23 test: convert docs into type annotations in test_framework/test_node.py (fanquake)
8bfcba3 test: convert docs into type annotations in test_framework/wallet.py (fanquake)
b043ca8 test: convert docs into type annotations in test_framework/util.py (fanquake)
c274574 p2p, rpc, fuzz: various tiny follow-ups (Jon Atack)
62cb8d9 qt: Drop BitcoinGUI* WalletFrame data member (Hennadii Stepanov)
f73e5c9 qt: Move CreateWalletActivity connection from WalletFrame to BitcoinGUI (Hennadii Stepanov)
20e2e24 qt: Move WalletView connections from WalletFrame to BitcoinGUI (Hennadii Stepanov)
fb1b1e0 qt: Save/restore column sizes of the tables in the Peers tab (Hennadii Stepanov)
8b419b5 qt: make console buttons look clickable (Jarol Rodriguez)
69b8b5d qt: Align numbers in the "Peer Id" column to the right (Hennadii Stepanov)
fa2b6c6 test: Remove unused node from feature_nulldummy (MarcoFalke)
ca3a770 test: Fix p2p_leak.py intermittent failure by lowering timeout (Martin Zumsande)
fa4245d doc: Various validation doc fixups (MarcoFalke)
e4356f6 Testcase for wallet issue with orphaned rewards. (Daniel Kraft)
3d552b0 [doc] explain why CheckBlock() is called before AcceptBlock() (Sjors Provoost)
2667366 tests: check derivation of P2TR (Pieter Wuille)
7cedafc Add tr() descriptor (derivation only, no signing) (Pieter Wuille)
90fcac3 Add TaprootBuilder class (Pieter Wuille)
5f6cc8d Add XOnlyPubKey::CreateTapTweak (Pieter Wuille)
2fbfb1b Make consensus checking of tweaks in pubkey.* Taproot-specific (Pieter Wuille)
a4bf840 Separate WitnessV1Taproot variant in CTxDestination (Pieter Wuille)
41839bd Avoid dependence on CTxDestination index order (Pieter Wuille)
31df02a Change Solver() output for WITNESS_V1_TAPROOT (Pieter Wuille)
4b1cc08 Make XOnlyPubKey act like byte container (Pieter Wuille)
5d82a57 contrib: remove torv2 seed nodes (Jon Atack)
5f7e086 contrib: update generate-seeds.py to ignore torv2 addresses (Jon Atack)
8be56f0 p2p, refactor: extract OnionToString() from CNetAddr::ToStringIp() (Jon Atack)
5f9d3c0 p2p: remove torv2 from CNetAddr::ToStringIP() (Jon Atack)
3d39042 p2p: remove torv2 in SetIP() and ADDR_TORV2_SIZE constant (Jon Atack)
cff5ec4 p2p: remove pre-addrv2 onions from SerializeV1Array() (Jon Atack)
4192a74 p2p: ignore torv2-in-ipv6 addresses in SetLegacyIPv6() (Jon Atack)
1d631e9 p2p: remove BIP155Network::TORV2 from GetBIP155Network() (Jon Atack)
7d1769b p2p: remove torv2 from SetNetFromBIP155Network() (Jon Atack)
eba9a94 fuzz: rename CNetAddr/CService deserialize targets (Jon Atack)
c56a1c9 p2p: drop onions from IsAddrV1Compatible(), no longer relay torv2 (Jon Atack)
f8e9400 p2p: remove torv2/ADDR_TORV2_SIZE from SetTor() (Jon Atack)
0f1c58a test: update feature_proxy to torv3 (Jon Atack)
f5ba424 wallet: Add IsAddressUsed / SetAddressUsed methods (Russell Yanofsky)
62252c9 interfaces: Stop exposing wallet destdata to gui (Russell Yanofsky)
985430d test: Add gui test for wallet receive requests (Russell Yanofsky)

Pull request description:

  Synced up to bitcoin-core/gui@7a49fdc.

ACKs for top commit:
  jarolrod:
    ACK 7a49fdc

Tree-SHA512: ee4b574f6bea8872d662af13a05346b9839368b803230ed0965c0ac946550a7966b39a06cefafe4c249421ccb4a594ca606c8f0b6ded5ffa79d6d50487bf4399
  • Loading branch information
hebasto committed Jul 6, 2021
2 parents 245b8c2 + 7a49fdc commit 75f5d74
Show file tree
Hide file tree
Showing 403 changed files with 13,685 additions and 8,358 deletions.
6 changes: 3 additions & 3 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ clone_depth: 5
environment:
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
PYTHONUTF8: 1
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/qt51210x64_vs2019_1694/Qt5.12.10_x64_static_vs2019_1694.zip'
QT_DOWNLOAD_HASH: '3035a1307e8302bb3a76eba9bb3102979f945ab4022cc3bc2e1583edd44bdc99'
QT_LOCAL_PATH: 'C:\Qt5.12.10_x64_static_vs2019_1694'
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/qt51211x64_static_vs2019_16101/Qt5.12.11_x64_static_vs2019_16101.zip'
QT_DOWNLOAD_HASH: 'cf1b58107fadbf0d9a957d14dab16cde6b6eb6936a1908472da1f967dda34a3a'
QT_LOCAL_PATH: 'C:\Qt5.12.11_x64_static_vs2019_16101'
VCPKG_TAG: '75522bb1f2e7d863078bcd06322348f053a9e33f'
install:
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
Expand Down
3 changes: 0 additions & 3 deletions REVIEWERS
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@
/src/util/settings.* @ryanofsky

# Fuzzing
/src/test/fuzz/ @practicalswift
/doc/fuzzing.md @practicalswift

# Tests
/src/test/net_peer_eviction_tests.cpp @jonatack
Expand Down Expand Up @@ -117,7 +115,6 @@
/src/dbwrapper.* @jamesob

# Linter
/test/lint/ @practicalswift
/test/lint/lint-shell.sh @hebasto

# Bech32
Expand Down
2 changes: 1 addition & 1 deletion build-aux/m4/bitcoin_qt.m4
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows])
elif test "x$TARGET_OS" = xlinux; then
dnl workaround for https://bugreports.qt.io/browse/QTBUG-74874
AX_CHECK_LINK_FLAG([-lxcb-shm], [QT_LIBS="-lxcb-shm $QT_LIBS"], [AC_MSG_ERROR([could not link against -lxcb-shm])])
AX_CHECK_LINK_FLAG([-lxcb-shm], [QT_LIBS="$QT_LIBS -lxcb-shm"], [AC_MSG_ERROR([could not link against -lxcb-shm])])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb])
AC_DEFINE(QT_QPA_PLATFORM_XCB, 1, [Define this symbol if the qt platform is xcb])
elif test "x$TARGET_OS" = xdarwin; then
Expand Down
1 change: 1 addition & 0 deletions build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
<AdditionalIncludeDirectories>$(QtIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalDependencies>$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/ignore:4206 /LTCG:OFF</AdditionalOptions>
</Link>
Expand Down
37 changes: 37 additions & 0 deletions build_msvc/bitcoin-util/bitcoin-util.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\common.init.vcxproj" />
<PropertyGroup Label="Globals">
<ProjectGuid>{D3022AF6-AD33-4CE3-B358-87CB6A1B29CF}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemGroup>
<ClCompile Include="..\..\src\bitcoin-util.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libbitcoinconsensus\libbitcoinconsensus.vcxproj">
<Project>{2b384fa8-9ee1-4544-93cb-0d733c25e8ce}</Project>
</ProjectReference>
<ProjectReference Include="..\libbitcoin_common\libbitcoin_common.vcxproj">
<Project>{7c87e378-df58-482e-aa2f-1bc129bc19ce}</Project>
</ProjectReference>
<ProjectReference Include="..\libbitcoin_crypto\libbitcoin_crypto.vcxproj">
<Project>{6190199c-6cf4-4dad-bfbd-93fa72a760c1}</Project>
</ProjectReference>
<ProjectReference Include="..\libbitcoin_util\libbitcoin_util.vcxproj">
<Project>{b53a5535-ee9d-4c6f-9a26-f79ee3bc3754}</Project>
</ProjectReference>
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
</ProjectReference>
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="..\common.vcxproj" />
</Project>
2 changes: 2 additions & 0 deletions build_msvc/bitcoin.sln
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bench_bitcoin", "bench_bitc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitcoin-tx", "bitcoin-tx\bitcoin-tx.vcxproj", "{D3022AF6-AD33-4CE3-B358-87CB6A1B29CF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitcoin-util", "bitcoin-util\bitcoin-util.vcxproj", "{D3022AF6-AD33-4CE3-B358-87CB6A1B29CF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitcoin-wallet", "bitcoin-wallet\bitcoin-wallet.vcxproj", "{84DE8790-EDE3-4483-81AC-C32F15E861F4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin_wallet_tool", "libbitcoin_wallet_tool\libbitcoin_wallet_tool.vcxproj", "{F91AC55E-6F5E-4C58-9AC5-B40DB7DEEF93}"
Expand Down
2 changes: 1 addition & 1 deletion build_msvc/common.qt.init.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup Label="QtGlobals">
<QtBaseDir>C:\Qt5.12.10_x64_static_vs2019_1694</QtBaseDir>
<QtBaseDir>C:\Qt5.12.11_x64_static_vs2019_16101</QtBaseDir>
<QtPluginsLibraryDir>$(QtBaseDir)\plugins</QtPluginsLibraryDir>
<QtLibraryDir>$(QtBaseDir)\lib</QtLibraryDir>
<QtIncludeDir>$(QtBaseDir)\include</QtIncludeDir>
Expand Down
9 changes: 5 additions & 4 deletions build_msvc/libsecp256k1/libsecp256k1.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@
<ItemGroup>
<ClCompile Include="..\..\src\secp256k1\src\secp256k1.c" />
</ItemGroup>
<ItemDefinitionGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>ENABLE_MODULE_ECDH;ENABLE_MODULE_RECOVERY;ENABLE_MODULE_EXTRAKEYS;ENABLE_MODULE_SCHNORRSIG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\src\secp256k1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<AdditionalIncludeDirectories>..\..\src\secp256k1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4146;4244;4267;4334</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="..\common.vcxproj" />
</Project>
</Project>
2 changes: 1 addition & 1 deletion ci/test/00_setup_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export RUN_FUZZ_TESTS=${RUN_FUZZ_TESTS:-false}
export EXPECTED_TESTS_DURATION_IN_SECONDS=${EXPECTED_TESTS_DURATION_IN_SECONDS:-1000}

export CONTAINER_NAME=${CONTAINER_NAME:-ci_unnamed}
export DOCKER_NAME_TAG=${DOCKER_NAME_TAG:-ubuntu:18.04}
export DOCKER_NAME_TAG=${DOCKER_NAME_TAG:-ubuntu:20.04}
# Randomize test order.
# See https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/boost_test/utf_reference/rt_param_reference/random.html
export BOOST_TEST_RANDOM=${BOOST_TEST_RANDOM:-1}
Expand Down
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_arm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ export RUN_FUNCTIONAL_TESTS=false
export GOAL="install"
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
# This could be removed once the ABI change warning does not show up by default
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi --enable-external-signer"
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_i686_centos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ export CONTAINER_NAME=ci_i686_centos_8
export DOCKER_NAME_TAG=centos:8
export DOCKER_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache libtool make git python3 python3-zmq which patch lbzip2 dash rsync coreutils bison"
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-reduce-exports --enable-external-signer"
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-reduce-exports"
export CONFIG_SHELL="/bin/dash"
export TEST_RUNNER_ENV="LC_ALL=en_US.UTF-8"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ export XCODE_BUILD_ID=12A7403
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export GOAL="deploy"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --enable-external-signer"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_mac_host.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8
export HOST=x86_64-apple-darwin18
export PIP_PACKAGES="zmq lief"
export GOAL="install"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --enable-external-signer"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports"
export CI_OS_NAME="macos"
export NO_DEPENDS=1
export OSX_SDK=""
Expand Down
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_asan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libevent-
export DOCKER_NAME_TAG=ubuntu:hirsute
export NO_DEPENDS=1
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' --with-sanitizers=address,integer,undefined CC=clang CXX=clang++ --enable-external-signer"
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' --with-sanitizers=address,integer,undefined CC=clang CXX=clang++"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_fuzz.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export RUN_FUZZ_TESTS=true
export GOAL="install"
export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer CC=clang CXX=clang++ --enable-external-signer"
export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer CC=clang CXX=clang++"
export CCACHE_SIZE=200M
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_multiprocess.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export DOCKER_NAME_TAG=ubuntu:20.04
export PACKAGES="cmake python3 python3-pip llvm clang"
export DEP_OPTS="DEBUG=1 MULTIPROCESS=1"
export GOAL="install"
export BITCOIN_CONFIG="--enable-external-signer --enable-debug CC=clang CXX=clang++" # Use clang to avoid OOM
export BITCOIN_CONFIG="--enable-debug CC=clang CXX=clang++" # Use clang to avoid OOM
export TEST_RUNNER_ENV="BITCOIND=bitcoin-node"
export RUN_SECURITY_TESTS="true"
export PIP_PACKAGES="lief"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_nowallet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ export DOCKER_NAME_TAG=ubuntu:18.04 # Use bionic to have one config run the tes
export PACKAGES="python3-zmq clang-5.0 llvm-5.0" # Use clang-5 to test C++17 compatibility, see doc/dependencies.md
export DEP_OPTS="NO_WALLET=1"
export GOAL="install"
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CC=clang-5.0 CXX=clang++-5.0 --enable-external-signer"
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CC=clang-5.0 CXX=clang++-5.0"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_qt5.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ export RUN_UNIT_TESTS="false"
export GOAL="install"
export PREVIOUS_RELEASES_TO_DOWNLOAD="v0.15.2 v0.16.3 v0.17.2 v0.18.1 v0.19.1"
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports
--enable-debug --disable-fuzz-binary CFLAGS=\"-g0 -O2 -funsigned-char\" CXXFLAGS=\"-g0 -O2 -funsigned-char\" --enable-external-signer"
--enable-debug --disable-fuzz-binary CFLAGS=\"-g0 -O2 -funsigned-char\" CXXFLAGS=\"-g0 -O2 -funsigned-char\""
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_tsan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ export DOCKER_NAME_TAG=ubuntu:hirsute
export PACKAGES="clang llvm libc++abi-dev libc++-dev python3-zmq"
export DEP_OPTS="CC=clang CXX='clang++ -stdlib=libc++'"
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq --with-gui=no CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' CXXFLAGS='-g' --with-sanitizers=thread CC=clang CXX='clang++ -stdlib=libc++' --enable-external-signer"
export BITCOIN_CONFIG="--enable-zmq --with-gui=no CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' CXXFLAGS='-g' --with-sanitizers=thread CC=clang CXX='clang++ -stdlib=libc++'"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_s390x.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ export RUN_UNIT_TESTS=true
export TEST_RUNNER_ENV="LC_ALL=C"
export RUN_FUNCTIONAL_TESTS=true
export GOAL="install"
export BITCOIN_CONFIG="--enable-reduce-exports --with-incompatible-bdb --enable-external-signer"
export BITCOIN_CONFIG="--enable-reduce-exports --with-incompatible-bdb"
12 changes: 8 additions & 4 deletions ci/test/04_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ if [[ $QEMU_USER_CMD == qemu-s390* ]]; then
fi

if [ "$CI_OS_NAME" == "macos" ]; then
sudo -H pip3 install --upgrade pip
IN_GETOPT_BIN="/usr/local/opt/gnu-getopt/bin/getopt" ${CI_RETRY_EXE} pip3 install --user $PIP_PACKAGES
fi

Expand Down Expand Up @@ -83,11 +84,14 @@ fi
DOCKER_EXEC echo "Free disk space:"
DOCKER_EXEC df -h

if [ ! -d ${DIR_QA_ASSETS} ]; then
DOCKER_EXEC git clone --depth=1 https://github.com/bitcoin-core/qa-assets ${DIR_QA_ASSETS}
if [ "$RUN_FUZZ_TESTS" = "true" ] || [ "$RUN_UNIT_TESTS" = "true" ] || [ "$RUN_UNIT_TESTS_SEQUENTIAL" = "true" ]; then
if [ ! -d ${DIR_QA_ASSETS} ]; then
DOCKER_EXEC git clone --depth=1 https://github.com/bitcoin-core/qa-assets ${DIR_QA_ASSETS}
fi

export DIR_FUZZ_IN=${DIR_QA_ASSETS}/fuzz_seed_corpus/
export DIR_UNIT_TEST_DATA=${DIR_QA_ASSETS}/unit_test_data/
fi
export DIR_FUZZ_IN=${DIR_QA_ASSETS}/fuzz_seed_corpus/
export DIR_UNIT_TEST_DATA=${DIR_QA_ASSETS}/unit_test_data/

DOCKER_EXEC mkdir -p "${BASE_SCRATCH_DIR}/sanitizer-output/"

Expand Down
48 changes: 19 additions & 29 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -333,9 +333,9 @@ AC_ARG_ENABLE([werror],
[enable_werror=no])

AC_ARG_ENABLE([external-signer],
[AS_HELP_STRING([--enable-external-signer],[compile external signer support (default is no, requires Boost::Process)])],
[AS_HELP_STRING([--enable-external-signer],[compile external signer support (default is yes, requires Boost::Process)])],
[use_external_signer=$enableval],
[use_external_signer=no])
[use_external_signer=yes])

AC_LANG_PUSH([C++])

Expand Down Expand Up @@ -475,7 +475,9 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
AX_CHECK_COMPILE_FLAG([-Wself-assign],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-self-assign"],,[[$CXXFLAG_WERROR]])
AX_CHECK_COMPILE_FLAG([-Wunused-local-typedef],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-unused-local-typedef"],,[[$CXXFLAG_WERROR]])
AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-implicit-fallthrough"],,[[$CXXFLAG_WERROR]])
AX_CHECK_COMPILE_FLAG([-Wdeprecated-copy],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-deprecated-copy"],,[[$CXXFLAG_WERROR]])
if test x$suppress_external_warnings != xyes ; then
AX_CHECK_COMPILE_FLAG([-Wdeprecated-copy],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-deprecated-copy"],,[[$CXXFLAG_WERROR]])
fi
fi

dnl Don't allow extended (non-ASCII) symbols in identifiers. This is easier for code review.
Expand Down Expand Up @@ -1357,13 +1359,15 @@ if test x$enable_wallet != xno; then
fi

if test x$use_ebpf != xno; then
AC_CHECK_HEADER([sys/sdt.h], [have_sdt=yes], [have_sdt=no])
else
have_sdt=no
fi

if test x$have_sdt = xyes; then
AC_DEFINE([ENABLE_TRACING], [1], [Define to 1 to enable eBPF user static defined tracepoints])
AC_MSG_CHECKING([whether eBPF tracepoints are supported])
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM(
[#include <sys/sdt.h>],
[DTRACE_PROBE("context", "event");]
)],
[AC_MSG_RESULT(yes); have_sdt=yes; AC_DEFINE([ENABLE_TRACING], [1], [Define to 1 to enable eBPF user static defined tracepoints])],
[AC_MSG_RESULT(no); have_sdt=no;]
)
fi

dnl Check for libminiupnpc (optional)
Expand Down Expand Up @@ -1411,37 +1415,23 @@ fi
if test x$use_boost = xyes; then

dnl Check for Boost headers
AX_BOOST_BASE([1.58.0],[],[AC_MSG_ERROR([Boost is not available!])])
AX_BOOST_BASE([1.64.0],[],[AC_MSG_ERROR([Boost is not available!])])
if test x$want_boost = xno; then
AC_MSG_ERROR([[only libbitcoinconsensus can be built without boost]])
fi
AX_BOOST_SYSTEM
AX_BOOST_FILESYSTEM

dnl Opt-in to Boost Process if external signer support is requested
if test "x$use_external_signer" != xno; then
AC_MSG_CHECKING(for Boost Process)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <boost/process.hpp>]],
[[ boost::process::child* child = new boost::process::child; delete child; ]])],
[ AC_MSG_RESULT(yes)
AC_DEFINE([ENABLE_EXTERNAL_SIGNER],,[define if external signer support is enabled])
],
[ AC_MSG_ERROR([Boost::Process is required for external signer support, but not available!])]
)
fi

if test x$suppress_external_warnings != xno; then
BOOST_CPPFLAGS=SUPPRESS_WARNINGS($BOOST_CPPFLAGS)
fi

dnl Boost 1.56 through 1.62 allow using std::atomic instead of its own atomic
dnl counter implementations. In 1.63 and later the std::atomic approach is default.
m4_pattern_allow(DBOOST_AC_USE_STD_ATOMIC) dnl otherwise it's treated like a macro
BOOST_CPPFLAGS="-DBOOST_SP_USE_STD_ATOMIC -DBOOST_AC_USE_STD_ATOMIC $BOOST_CPPFLAGS"

BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB"
fi

if test "x$use_external_signer" != xno; then
AC_DEFINE([ENABLE_EXTERNAL_SIGNER],,[define if external signer support is enabled])
fi
AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER], [test "x$use_external_signer" = "xyes"])

dnl Check for reduced exports
Expand Down Expand Up @@ -1916,7 +1906,7 @@ if test x$need_bundled_univalue = xyes; then
AC_CONFIG_SUBDIRS([src/univalue])
fi

ac_configure_args="${ac_configure_args} --disable-shared --with-pic --enable-benchmark=no --with-bignum=no --enable-module-recovery --enable-module-schnorrsig --enable-experimental"
ac_configure_args="${ac_configure_args} --disable-shared --with-pic --enable-benchmark=no --enable-module-recovery --enable-module-schnorrsig --enable-experimental"
AC_CONFIG_SUBDIRS([src/secp256k1])

AC_OUTPUT
Expand Down
2 changes: 1 addition & 1 deletion contrib/devtools/pixie.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ def _parse_verneed(section: Section, strings: bytes, eh: ELFHeader) -> Dict[int,
result = {}
while True:
verneed = Verneed(data, ofs, eh)
aofs = verneed.vn_aux
aofs = ofs + verneed.vn_aux
while True:
vernaux = Vernaux(data, aofs, eh, strings)
result[vernaux.vna_other] = vernaux.name
Expand Down
Loading

0 comments on commit 75f5d74

Please sign in to comment.